stimfit-0.14.11/0000755000175200017520000000000012623045304010341 500000000000000stimfit-0.14.11/ltmain.sh0000644000175200017520000105203012606541734012113 00000000000000 # libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . # GNU libtool home page: . # General help using GNU software: . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.2 Debian-2.4.2-1.11" TIMESTAMP="" package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_dirname may be replaced by extended shell implementation # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_basename may be replaced by extended shell implementation # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # func_dirname_and_basename may be replaced by extended shell implementation # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname may be replaced by extended shell implementation # These SED scripts presuppose an absolute path with a trailing slash. pathcar='s,^/\([^/]*\).*$,\1,' pathcdr='s,^/[^/]*,,' removedotparts=':dotsl s@/\./@/@g t dotsl s,/\.$,/,' collapseslashes='s@/\{1,\}@/@g' finalslash='s,/*$,/,' # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # Sed substitution that converts a w32 file name or path # which contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_tr_sh # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_version # Echo version message to standard output and exit. func_version () { $opt_debug $SED -n '/(C)/!b go :more /\./!{ N s/\n# / / b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $opt_debug $SED -n '/^# Usage:/,/^# *.*--help/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $opt_debug $SED -n '/^# Usage:/,/# Report bugs to/ { :print s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } /^# .* home page:/b print /^# General help using/b print ' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $opt_debug func_error "missing argument for $1." exit_cmd=exit } # func_split_short_opt shortopt # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. func_split_short_opt () { my_sed_short_opt='1s/^\(..\).*$/\1/;q' my_sed_short_rest='1s/^..\(.*\)$/\1/;q' func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` } # func_split_short_opt may be replaced by extended shell implementation # func_split_long_opt longopt # Set func_split_long_opt_name and func_split_long_opt_arg shell # variables after splitting LONGOPT at the `=' sign. func_split_long_opt () { my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` } # func_split_long_opt may be replaced by extended shell implementation exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. nonopt= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "${1}=\$${1}\${2}" } # func_append may be replaced by extended shell implementation # func_append_quoted var value # Quote VALUE and append to the end of shell variable VAR, separated # by a space. func_append_quoted () { func_quote_for_eval "${2}" eval "${1}=\$${1}\\ \$func_quote_for_eval_result" } # func_append_quoted may be replaced by extended shell implementation # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "${@}"` } # func_arith may be replaced by extended shell implementation # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` } # func_len may be replaced by extended shell implementation # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_lo2o may be replaced by extended shell implementation # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_xform may be replaced by extended shell implementation # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Option defaults: opt_debug=: opt_dry_run=false opt_config=false opt_preserve_dup_deps=false opt_features=false opt_finish=false opt_help=false opt_help_all=false opt_silent=: opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false # Parse options once, thoroughly. This comes as soon as possible in the # script to make things like `--version' happen as quickly as we can. { # this just eases exit handling while test $# -gt 0; do opt="$1" shift case $opt in --debug|-x) opt_debug='set -x' func_echo "enabling shell trace mode" $opt_debug ;; --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) opt_config=: func_config ;; --dlopen|-dlopen) optarg="$1" opt_dlopen="${opt_dlopen+$opt_dlopen }$optarg" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) opt_features=: func_features ;; --finish) opt_finish=: set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help_all=: opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_mode="$optarg" case $optarg in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_silent=false func_append preserve_args " $opt" ;; --no-warning|--no-warn) opt_warning=false func_append preserve_args " $opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" ;; --silent|--quiet) opt_silent=: func_append preserve_args " $opt" opt_verbose=false ;; --verbose|-v) opt_verbose=: func_append preserve_args " $opt" opt_silent=false ;; --tag) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_tag="$optarg" func_append preserve_args " $opt $optarg" func_enable_tag "$optarg" shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; # Separate optargs to long options: --*=*) func_split_long_opt "$opt" set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-n*|-v*) func_split_short_opt "$opt" set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) set dummy "$opt" ${1+"$@"}; shift; break ;; esac done # Validate options: # save first non-option argument if test "$#" -gt 0; then nonopt="$opt" shift fi # preserve --debug test "$opt_debug" = : || func_append preserve_args " --debug" case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test "$opt_mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$opt_mode' for more information." } # Bail if the options were screwed $exit_cmd $EXIT_FAILURE } ## ----------- ## ## Main. ## ## ----------- ## # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case "$lt_sysroot:$1" in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result="=$func_stripname_result" ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$lt_sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $opt_debug # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result="" if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result" ; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $opt_debug if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $opt_debug # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $opt_debug if test -z "$2" && test -n "$1" ; then func_error "Could not determine host file name corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result="$1" fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $opt_debug if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " \`$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result="$3" fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $opt_debug case $4 in $1 ) func_to_host_path_result="$3$func_to_host_path_result" ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via `$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $opt_debug $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $opt_debug case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result="$1" } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result="$func_convert_core_msys_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via `$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $opt_debug if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd="func_convert_path_${func_stripname_result}" fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $opt_debug func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result="$1" } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_msys_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_mode_compile arg... func_mode_compile () { $opt_debug # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify \`-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" func_append_quoted lastarg "$arg" done IFS="$save_ifs" func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj="$func_basename_result" } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$opt_mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$opt_mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$opt_mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "\`$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument \`$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and \`=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test "$opt_mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$opt_mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename="" if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname" ; then func_basename "$dlprefile_dlname" dlprefile_dlbasename="$func_basename_result" else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename" ; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $opt_debug sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $opt_debug match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive which possess that section. Heuristic: eliminate # all those which have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $opt_debug if func_cygming_gnu_implib_p "$1" ; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1" ; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result="" fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ which is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options which match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #if defined(LT_DEBUGWRAPPER) static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-flto*|-fwhopr*|-fuse-linker-plugin) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test "$prev" = dlfiles; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps ; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test "$prefer_static_libs" = yes || test "$prefer_static_libs,$installed" = "built,no"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib="$l" done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$lt_sysroot$libdir" absdir="$lt_sysroot$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later func_append notinst_path " $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi case "$host" in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test "$installed" = no; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$opt_mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$opt_mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs="$temp_deplibs" fi func_append newlib_search_path " $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. func_append verstring ":${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" func_append libobjs " $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$opt_mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then # Remove ${wl} instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$opt_mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd1 in $cmds; do IFS="$save_ifs" # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test "$try_normal_branch" = yes \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=${output_objdir}/${output_la}.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " ${wl}-bind_at_load" func_append finalize_command " ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs="$new_libs" func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then func_append oldobjs " $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" func_resolve_sysroot "$deplib" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$opt_mode" = link || test "$opt_mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) func_append RM " $arg"; rmforce=yes ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then odir="$objdir" else odir="$dir/$objdir" fi func_basename "$file" name="$func_basename_result" test "$opt_mode" = uninstall && odir="$dir" # Remember odir for removal later, being careful to avoid duplicates if test "$opt_mode" = clean; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case "$opt_mode" in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$opt_mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 stimfit-0.14.11/autogen.sh0000755000175200017520000013443112277666257012315 00000000000000#!/bin/sh # a u t o g e n . s h # # Copyright (c) 2005-2009 United States Government as represented by # the U.S. Army Research Laboratory. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior written # permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ### # # Script for automatically preparing the sources for compilation by # performing the myriad of necessary steps. The script attempts to # detect proper version support, and outputs warnings about particular # systems that have autotool peculiarities. # # Basically, if everything is set up and installed correctly, the # script will validate that minimum versions of the GNU Build System # tools are installed, account for several common configuration # issues, and then simply run autoreconf for you. # # If autoreconf fails, which can happen for many valid configurations, # this script proceeds to run manual preparation steps effectively # providing a POSIX shell script (mostly complete) reimplementation of # autoreconf. # # The AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER # environment variables and corresponding _OPTIONS variables (e.g. # AUTORECONF_OPTIONS) may be used to override the default automatic # detection behaviors. Similarly the _VERSION variables will override # the minimum required version numbers. # # Examples: # # To obtain help on usage: # ./autogen.sh --help # # To obtain verbose output: # ./autogen.sh --verbose # # To skip autoreconf and prepare manually: # AUTORECONF=false ./autogen.sh # # To verbosely try running with an older (unsupported) autoconf: # AUTOCONF_VERSION=2.50 ./autogen.sh --verbose # # Author: # Christopher Sean Morrison # # Patches: # Sebastian Pipping # ###################################################################### # set to minimum acceptable version of autoconf if [ "x$AUTOCONF_VERSION" = "x" ] ; then AUTOCONF_VERSION=2.52 fi # set to minimum acceptable version of automake if [ "x$AUTOMAKE_VERSION" = "x" ] ; then AUTOMAKE_VERSION=1.11 fi # set to minimum acceptable version of libtool if [ "x$LIBTOOL_VERSION" = "x" ] ; then LIBTOOL_VERSION=1.4.2 fi ################## # ident function # ################## ident ( ) { # extract copyright from header __copyright="`grep Copyright $AUTOGEN_SH | head -${HEAD_N}1 | awk '{print $4}'`" if [ "x$__copyright" = "x" ] ; then __copyright="`date +%Y`" fi # extract version from CVS Id string __id="$Id: autogen.sh 33925 2009-03-01 23:27:06Z brlcad $" __version="`echo $__id | sed 's/.*\([0-9][0-9][0-9][0-9]\)[-\/]\([0-9][0-9]\)[-\/]\([0-9][0-9]\).*/\1\2\3/'`" if [ "x$__version" = "x" ] ; then __version="" fi echo "autogen.sh build preparation script by Christopher Sean Morrison" echo " + config.guess download patch by Sebastian Pipping (2008-12-03)" echo "revised 3-clause BSD-style license, copyright (c) $__copyright" echo "script version $__version, ISO/IEC 9945 POSIX shell script" } ################## # USAGE FUNCTION # ################## usage ( ) { echo "Usage: $AUTOGEN_SH [-h|--help] [-v|--verbose] [-q|--quiet] [-d|--download] [--version]" echo " --help Help on $NAME_OF_AUTOGEN usage" echo " --verbose Verbose progress output" echo " --quiet Quiet suppressed progress output" echo " --download Download the latest config.guess from gnulib" echo " --version Only perform GNU Build System version checks" echo echo "Description: This script will validate that minimum versions of the" echo "GNU Build System tools are installed and then run autoreconf for you." echo "Should autoreconf fail, manual preparation steps will be run" echo "potentially accounting for several common preparation issues. The" echo "AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER," echo "PROJECT, & CONFIGURE environment variables and corresponding _OPTIONS" echo "variables (e.g. AUTORECONF_OPTIONS) may be used to override the" echo "default automatic detection behavior." echo ident return 0 } ########################## # VERSION_ERROR FUNCTION # ########################## version_error ( ) { if [ "x$1" = "x" ] ; then echo "INTERNAL ERROR: version_error was not provided a version" exit 1 fi if [ "x$2" = "x" ] ; then echo "INTERNAL ERROR: version_error was not provided an application name" exit 1 fi $ECHO $ECHO "ERROR: To prepare the ${PROJECT} build system from scratch," $ECHO " at least version $1 of $2 must be installed." $ECHO $ECHO "$NAME_OF_AUTOGEN does not need to be run on the same machine that will" $ECHO "run configure or make. Either the GNU Autotools will need to be installed" $ECHO "or upgraded on this system, or $NAME_OF_AUTOGEN must be run on the source" $ECHO "code on another system and then transferred to here. -- Cheers!" $ECHO } ########################## # VERSION_CHECK FUNCTION # ########################## version_check ( ) { if [ "x$1" = "x" ] ; then echo "INTERNAL ERROR: version_check was not provided a minimum version" exit 1 fi _min="$1" if [ "x$2" = "x" ] ; then echo "INTERNAL ERROR: version check was not provided a comparison version" exit 1 fi _cur="$2" # needed to handle versions like 1.10 and 1.4-p6 _min="`echo ${_min}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`" _cur="`echo ${_cur}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`" _min_major="`echo $_min | cut -d. -f1`" _min_minor="`echo $_min | cut -d. -f2`" _min_patch="`echo $_min | cut -d. -f3`" _cur_major="`echo $_cur | cut -d. -f1`" _cur_minor="`echo $_cur | cut -d. -f2`" _cur_patch="`echo $_cur | cut -d. -f3`" if [ "x$_min_major" = "x" ] ; then _min_major=0 fi if [ "x$_min_minor" = "x" ] ; then _min_minor=0 fi if [ "x$_min_patch" = "x" ] ; then _min_patch=0 fi if [ "x$_cur_minor" = "x" ] ; then _cur_major=0 fi if [ "x$_cur_minor" = "x" ] ; then _cur_minor=0 fi if [ "x$_cur_patch" = "x" ] ; then _cur_patch=0 fi $VERBOSE_ECHO "Checking if ${_cur_major}.${_cur_minor}.${_cur_patch} is greater than ${_min_major}.${_min_minor}.${_min_patch}" if [ $_min_major -lt $_cur_major ] ; then return 0 elif [ $_min_major -eq $_cur_major ] ; then if [ $_min_minor -lt $_cur_minor ] ; then return 0 elif [ $_min_minor -eq $_cur_minor ] ; then if [ $_min_patch -lt $_cur_patch ] ; then return 0 elif [ $_min_patch -eq $_cur_patch ] ; then return 0 fi fi fi return 1 } ###################################### # LOCATE_CONFIGURE_TEMPLATE FUNCTION # ###################################### locate_configure_template ( ) { _pwd="`pwd`" if test -f "./configure.ac" ; then echo "./configure.ac" elif test -f "./configure.in" ; then echo "./configure.in" elif test -f "$_pwd/configure.ac" ; then echo "$_pwd/configure.ac" elif test -f "$_pwd/configure.in" ; then echo "$_pwd/configure.in" elif test -f "$PATH_TO_AUTOGEN/configure.ac" ; then echo "$PATH_TO_AUTOGEN/configure.ac" elif test -f "$PATH_TO_AUTOGEN/configure.in" ; then echo "$PATH_TO_AUTOGEN/configure.in" fi } ################## # argument check # ################## ARGS="$*" PATH_TO_AUTOGEN="`dirname $0`" NAME_OF_AUTOGEN="`basename $0`" AUTOGEN_SH="$PATH_TO_AUTOGEN/$NAME_OF_AUTOGEN" LIBTOOL_M4="${PATH_TO_AUTOGEN}/misc/libtool.m4" if [ "x$HELP" = "x" ] ; then HELP=no fi if [ "x$QUIET" = "x" ] ; then QUIET=no fi if [ "x$VERBOSE" = "x" ] ; then VERBOSE=no fi if [ "x$VERSION_ONLY" = "x" ] ; then VERSION_ONLY=no fi if [ "x$DOWNLOAD" = "x" ] ; then DOWNLOAD=no fi if [ "x$AUTORECONF_OPTIONS" = "x" ] ; then AUTORECONF_OPTIONS="-i -f" fi if [ "x$AUTOCONF_OPTIONS" = "x" ] ; then AUTOCONF_OPTIONS="-f" fi if [ "x$AUTOMAKE_OPTIONS" = "x" ] ; then AUTOMAKE_OPTIONS="-a -c -f" fi ALT_AUTOMAKE_OPTIONS="-a -c" if [ "x$LIBTOOLIZE_OPTIONS" = "x" ] ; then LIBTOOLIZE_OPTIONS="--automake -c -f" fi ALT_LIBTOOLIZE_OPTIONS="--automake --copy --force" if [ "x$ACLOCAL_OPTIONS" = "x" ] ; then ACLOCAL_OPTIONS="" fi if [ "x$AUTOHEADER_OPTIONS" = "x" ] ; then AUTOHEADER_OPTIONS="" fi if [ "x$CONFIG_GUESS_URL" = "x" ] ; then CONFIG_GUESS_URL="http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=build-aux/config.guess;hb=HEAD" fi for arg in $ARGS ; do case "x$arg" in x--help) HELP=yes ;; x-[hH]) HELP=yes ;; x--quiet) QUIET=yes ;; x-[qQ]) QUIET=yes ;; x--verbose) VERBOSE=yes ;; x-[dD]) DOWNLOAD=yes ;; x--download) DOWNLOAD=yes ;; x-[vV]) VERBOSE=yes ;; x--version) VERSION_ONLY=yes ;; *) echo "Unknown option: $arg" echo usage exit 1 ;; esac done ##################### # environment check # ##################### # sanity check before recursions potentially begin if [ ! -f "$AUTOGEN_SH" ] ; then echo "INTERNAL ERROR: $AUTOGEN_SH does not exist" if [ ! "x$0" = "x$AUTOGEN_SH" ] ; then echo "INTERNAL ERROR: dirname/basename inconsistency: $0 != $AUTOGEN_SH" fi exit 1 fi # force locale setting to C so things like date output as expected LC_ALL=C # commands that this script expects for __cmd in echo head tail pwd ; do echo "test" | $__cmd > /dev/null 2>&1 if [ $? != 0 ] ; then echo "INTERNAL ERROR: '${__cmd}' command is required" exit 2 fi done echo "test" | grep "test" > /dev/null 2>&1 if test ! x$? = x0 ; then echo "INTERNAL ERROR: grep command is required" exit 1 fi echo "test" | sed "s/test/test/" > /dev/null 2>&1 if test ! x$? = x0 ; then echo "INTERNAL ERROR: sed command is required" exit 1 fi # determine the behavior of echo case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac # determine the behavior of head case "x`echo 'head' | head -n 1 2>&1`" in *xhead*) HEAD_N="n " ;; *) HEAD_N="" ;; esac # determine the behavior of tail case "x`echo 'tail' | tail -n 1 2>&1`" in *xtail*) TAIL_N="n " ;; *) TAIL_N="" ;; esac VERBOSE_ECHO=: ECHO=: if [ "x$QUIET" = "xyes" ] ; then if [ "x$VERBOSE" = "xyes" ] ; then echo "Verbose output quelled by quiet option. Further output disabled." fi else ECHO=echo if [ "x$VERBOSE" = "xyes" ] ; then echo "Verbose output enabled" VERBOSE_ECHO=echo fi fi # allow a recursive run to disable further recursions if [ "x$RUN_RECURSIVE" = "x" ] ; then RUN_RECURSIVE=yes fi ################################################ # check for help arg and bypass version checks # ################################################ if [ "x`echo $ARGS | sed 's/.*[hH][eE][lL][pP].*/help/'`" = "xhelp" ] ; then HELP=yes fi if [ "x$HELP" = "xyes" ] ; then usage $ECHO "---" $ECHO "Help was requested. No preparation or configuration will be performed." exit 0 fi ####################### # set up signal traps # ####################### untrap_abnormal ( ) { for sig in 1 2 13 15; do trap - $sig done } # do this cleanup whenever we exit. trap ' # start from the root if test -d "$START_PATH" ; then cd "$START_PATH" fi # restore/delete backup files if test "x$PFC_INIT" = "x1" ; then recursive_restore fi ' 0 # trap SIGHUP (1), SIGINT (2), SIGPIPE (13), SIGTERM (15) for sig in 1 2 13 15; do trap ' $ECHO "" $ECHO "Aborting $NAME_OF_AUTOGEN: caught signal '$sig'" # start from the root if test -d "$START_PATH" ; then cd "$START_PATH" fi # clean up on abnormal exit $VERBOSE_ECHO "rm -rf autom4te.cache" rm -rf autom4te.cache if test -f "acinclude.m4.$$.backup" ; then $VERBOSE_ECHO "cat acinclude.m4.$$.backup > acinclude.m4" chmod u+w acinclude.m4 cat acinclude.m4.$$.backup > acinclude.m4 $VERBOSE_ECHO "rm -f acinclude.m4.$$.backup" rm -f acinclude.m4.$$.backup fi { (exit 1); exit 1; } ' $sig done ############################# # look for a configure file # ############################# if [ "x$CONFIGURE" = "x" ] ; then CONFIGURE="`locate_configure_template`" if [ ! "x$CONFIGURE" = "x" ] ; then $VERBOSE_ECHO "Found a configure template: $CONFIGURE" fi else $ECHO "Using CONFIGURE environment variable override: $CONFIGURE" fi if [ "x$CONFIGURE" = "x" ] ; then if [ "x$VERSION_ONLY" = "xyes" ] ; then CONFIGURE=/dev/null else $ECHO $ECHO "A configure.ac or configure.in file could not be located implying" $ECHO "that the GNU Build System is at least not used in this directory. In" $ECHO "any case, there is nothing to do here without one of those files." $ECHO $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`" exit 1 fi fi #################### # get project name # #################### if [ "x$PROJECT" = "x" ] ; then PROJECT="`grep AC_INIT $CONFIGURE | grep -v '.*#.*AC_INIT' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_INIT(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" if [ "x$PROJECT" = "xAC_INIT" ] ; then # projects might be using the older/deprecated arg-less AC_INIT .. look for AM_INIT_AUTOMAKE instead PROJECT="`grep AM_INIT_AUTOMAKE $CONFIGURE | grep -v '.*#.*AM_INIT_AUTOMAKE' | tail -${TAIL_N}1 | sed 's/^[ ]*AM_INIT_AUTOMAKE(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" fi if [ "x$PROJECT" = "xAM_INIT_AUTOMAKE" ] ; then PROJECT="project" fi if [ "x$PROJECT" = "x" ] ; then PROJECT="project" fi else $ECHO "Using PROJECT environment variable override: $PROJECT" fi $ECHO "Preparing the $PROJECT build system...please wait" $ECHO ######################## # check for autoreconf # ######################## HAVE_AUTORECONF=no if [ "x$AUTORECONF" = "x" ] ; then for AUTORECONF in autoreconf ; do $VERBOSE_ECHO "Checking autoreconf version: $AUTORECONF --version" $AUTORECONF --version > /dev/null 2>&1 if [ $? = 0 ] ; then HAVE_AUTORECONF=yes break fi done else HAVE_AUTORECONF=yes $ECHO "Using AUTORECONF environment variable override: $AUTORECONF" fi ########################## # autoconf version check # ########################## _acfound=no if [ "x$AUTOCONF" = "x" ] ; then for AUTOCONF in autoconf ; do $VERBOSE_ECHO "Checking autoconf version: $AUTOCONF --version" $AUTOCONF --version > /dev/null 2>&1 if [ $? = 0 ] ; then _acfound=yes break fi done else _acfound=yes $ECHO "Using AUTOCONF environment variable override: $AUTOCONF" fi _report_error=no if [ ! "x$_acfound" = "xyes" ] ; then $ECHO "ERROR: Unable to locate GNU Autoconf." _report_error=yes else _version="`$AUTOCONF --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`" if [ "x$_version" = "x" ] ; then _version="0.0.0" fi $ECHO "Found GNU Autoconf version $_version" version_check "$AUTOCONF_VERSION" "$_version" if [ $? -ne 0 ] ; then _report_error=yes fi fi if [ "x$_report_error" = "xyes" ] ; then version_error "$AUTOCONF_VERSION" "GNU Autoconf" exit 1 fi ########################## # automake version check # ########################## _amfound=no if [ "x$AUTOMAKE" = "x" ] ; then for AUTOMAKE in automake ; do $VERBOSE_ECHO "Checking automake version: $AUTOMAKE --version" $AUTOMAKE --version > /dev/null 2>&1 if [ $? = 0 ] ; then _amfound=yes break fi done else _amfound=yes $ECHO "Using AUTOMAKE environment variable override: $AUTOMAKE" fi _report_error=no if [ ! "x$_amfound" = "xyes" ] ; then $ECHO $ECHO "ERROR: Unable to locate GNU Automake." _report_error=yes else _version="`$AUTOMAKE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`" if [ "x$_version" = "x" ] ; then _version="0.0.0" fi $ECHO "Found GNU Automake version $_version" version_check "$AUTOMAKE_VERSION" "$_version" if [ $? -ne 0 ] ; then _report_error=yes fi fi if [ "x$_report_error" = "xyes" ] ; then version_error "$AUTOMAKE_VERSION" "GNU Automake" exit 1 fi ######################## # check for libtoolize # ######################## HAVE_LIBTOOLIZE=yes HAVE_ALT_LIBTOOLIZE=no _ltfound=no if [ "x$LIBTOOLIZE" = "x" ] ; then LIBTOOLIZE=libtoolize $VERBOSE_ECHO "Checking libtoolize version: $LIBTOOLIZE --version" $LIBTOOLIZE --version > /dev/null 2>&1 if [ ! $? = 0 ] ; then HAVE_LIBTOOLIZE=no $ECHO if [ "x$HAVE_AUTORECONF" = "xno" ] ; then $ECHO "Warning: libtoolize does not appear to be available." else $ECHO "Warning: libtoolize does not appear to be available. This means that" $ECHO "the automatic build preparation via autoreconf will probably not work." $ECHO "Preparing the build by running each step individually, however, should" $ECHO "work and will be done automatically for you if autoreconf fails." fi # look for some alternates for tool in glibtoolize libtoolize15 libtoolize14 libtoolize13 ; do $VERBOSE_ECHO "Checking libtoolize alternate: $tool --version" _glibtoolize="`$tool --version > /dev/null 2>&1`" if [ $? = 0 ] ; then $VERBOSE_ECHO "Found $tool --version" _glti="`which $tool`" if [ "x$_glti" = "x" ] ; then $VERBOSE_ECHO "Cannot find $tool with which" continue; fi if test ! -f "$_glti" ; then $VERBOSE_ECHO "Cannot use $tool, $_glti is not a file" continue; fi _gltidir="`dirname $_glti`" if [ "x$_gltidir" = "x" ] ; then $VERBOSE_ECHO "Cannot find $tool path with dirname of $_glti" continue; fi if test ! -d "$_gltidir" ; then $VERBOSE_ECHO "Cannot use $tool, $_gltidir is not a directory" continue; fi HAVE_ALT_LIBTOOLIZE=yes LIBTOOLIZE="$tool" $ECHO $ECHO "Fortunately, $tool was found which means that your system may simply" $ECHO "have a non-standard or incomplete GNU Autotools install. If you have" $ECHO "sufficient system access, it may be possible to quell this warning by" $ECHO "running:" $ECHO sudo -V > /dev/null 2>&1 if [ $? = 0 ] ; then $ECHO " sudo ln -s $_glti $_gltidir/libtoolize" $ECHO else $ECHO " ln -s $_glti $_gltidir/libtoolize" $ECHO $ECHO "Run that as root or with proper permissions to the $_gltidir directory" $ECHO fi _ltfound=yes break fi done else _ltfound=yes fi else _ltfound=yes $ECHO "Using LIBTOOLIZE environment variable override: $LIBTOOLIZE" fi ############################ # libtoolize version check # ############################ _report_error=no if [ ! "x$_ltfound" = "xyes" ] ; then $ECHO $ECHO "ERROR: Unable to locate GNU Libtool." _report_error=yes else _version="`$LIBTOOLIZE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`" if [ "x$_version" = "x" ] ; then _version="0.0.0" fi $ECHO "Found GNU Libtool version $_version" version_check "$LIBTOOL_VERSION" "$_version" if [ $? -ne 0 ] ; then _report_error=yes fi fi if [ "x$_report_error" = "xyes" ] ; then version_error "$LIBTOOL_VERSION" "GNU Libtool" exit 1 fi ##################### # check for aclocal # ##################### if [ "x$ACLOCAL" = "x" ] ; then for ACLOCAL in aclocal ; do $VERBOSE_ECHO "Checking aclocal version: $ACLOCAL --version" $ACLOCAL --version > /dev/null 2>&1 if [ $? = 0 ] ; then break fi done else $ECHO "Using ACLOCAL environment variable override: $ACLOCAL" fi ######################## # check for autoheader # ######################## if [ "x$AUTOHEADER" = "x" ] ; then for AUTOHEADER in autoheader ; do $VERBOSE_ECHO "Checking autoheader version: $AUTOHEADER --version" $AUTOHEADER --version > /dev/null 2>&1 if [ $? = 0 ] ; then break fi done else $ECHO "Using AUTOHEADER environment variable override: $AUTOHEADER" fi ######################### # check if version only # ######################### $VERBOSE_ECHO "Checking whether to only output version information" if [ "x$VERSION_ONLY" = "xyes" ] ; then $ECHO ident $ECHO "---" $ECHO "Version requested. No preparation or configuration will be performed." exit 0 fi ################################# # PROTECT_FROM_CLOBBER FUNCTION # ################################# protect_from_clobber ( ) { PFC_INIT=1 # protect COPYING & INSTALL from overwrite by automake. the # automake force option will (inappropriately) ignore the existing # contents of a COPYING and/or INSTALL files (depending on the # version) instead of just forcing *missing* files like it does # for AUTHORS, NEWS, and README. this is broken but extremely # prevalent behavior, so we protect against it by keeping a backup # of the file that can later be restored. for file in COPYING INSTALL ; do if test -f ${file} ; then if test -f ${file}.$$.protect_from_automake.backup ; then $VERBOSE_ECHO "Already backed up ${file} in `pwd`" else $VERBOSE_ECHO "Backing up ${file} in `pwd`" $VERBOSE_ECHO "cp -p ${file} ${file}.$$.protect_from_automake.backup" cp -p ${file} ${file}.$$.protect_from_automake.backup fi fi done } ############################## # RECURSIVE_PROTECT FUNCTION # ############################## recursive_protect ( ) { # for projects using recursive configure, run the build # preparation steps for the subdirectories. this function assumes # START_PATH was set to pwd before recursion begins so that # relative paths work. # git 'r done, protect COPYING and INSTALL from being clobbered protect_from_clobber if test -d autom4te.cache ; then $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it" $VERBOSE_ECHO "rm -rf autom4te.cache" rm -rf autom4te.cache fi # find configure template _configure="`locate_configure_template`" if [ "x$_configure" = "x" ] ; then return fi # $VERBOSE_ECHO "Looking for configure template found `pwd`/$_configure" # look for subdirs # $VERBOSE_ECHO "Looking for subdirs in `pwd`" _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" CHECK_DIRS="" for dir in $_det_config_subdirs ; do if test -d "`pwd`/$dir" ; then CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\"" fi done # process subdirs if [ ! "x$CHECK_DIRS" = "x" ] ; then $VERBOSE_ECHO "Recursively scanning the following directories:" $VERBOSE_ECHO " $CHECK_DIRS" for dir in $CHECK_DIRS ; do $VERBOSE_ECHO "Protecting files from automake in $dir" cd "$START_PATH" eval "cd $dir" # recursively git 'r done recursive_protect done fi } # end of recursive_protect ############################# # RESTORE_CLOBBERED FUNCION # ############################# restore_clobbered ( ) { # The automake (and autoreconf by extension) -f/--force-missing # option may overwrite COPYING and INSTALL even if they do exist. # Here we restore the files if necessary. spacer=no for file in COPYING INSTALL ; do if test -f ${file}.$$.protect_from_automake.backup ; then if test -f ${file} ; then # compare entire content, restore if needed if test "x`cat ${file}`" != "x`cat ${file}.$$.protect_from_automake.backup`" ; then if test "x$spacer" = "xno" ; then $VERBOSE_ECHO spacer=yes fi # restore the backup $VERBOSE_ECHO "Restoring ${file} from backup (automake -f likely clobbered it)" $VERBOSE_ECHO "rm -f ${file}" rm -f ${file} $VERBOSE_ECHO "mv ${file}.$$.protect_from_automake.backup ${file}" mv ${file}.$$.protect_from_automake.backup ${file} fi # check contents elif test -f ${file}.$$.protect_from_automake.backup ; then $VERBOSE_ECHO "mv ${file}.$$.protect_from_automake.backup ${file}" mv ${file}.$$.protect_from_automake.backup ${file} fi # -f ${file} # just in case $VERBOSE_ECHO "rm -f ${file}.$$.protect_from_automake.backup" rm -f ${file}.$$.protect_from_automake.backup fi # -f ${file}.$$.protect_from_automake.backup done CONFIGURE="`locate_configure_template`" if [ "x$CONFIGURE" = "x" ] ; then return fi _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" if test ! -d "$_aux_dir" ; then _aux_dir=. fi for file in config.guess config.sub ltmain.sh ; do if test -f "${_aux_dir}/${file}" ; then $VERBOSE_ECHO "rm -f \"${_aux_dir}/${file}.backup\"" rm -f "${_aux_dir}/${file}.backup" fi done } # end of restore_clobbered ############################## # RECURSIVE_RESTORE FUNCTION # ############################## recursive_restore ( ) { # restore COPYING and INSTALL from backup if they were clobbered # for each directory recursively. # git 'r undone restore_clobbered # find configure template _configure="`locate_configure_template`" if [ "x$_configure" = "x" ] ; then return fi # look for subdirs _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" CHECK_DIRS="" for dir in $_det_config_subdirs ; do if test -d "`pwd`/$dir" ; then CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\"" fi done # process subdirs if [ ! "x$CHECK_DIRS" = "x" ] ; then $VERBOSE_ECHO "Recursively scanning the following directories:" $VERBOSE_ECHO " $CHECK_DIRS" for dir in $CHECK_DIRS ; do $VERBOSE_ECHO "Checking files for automake damage in $dir" cd "$START_PATH" eval "cd $dir" # recursively git 'r undone recursive_restore done fi } # end of recursive_restore ####################### # INITIALIZE FUNCTION # ####################### initialize ( ) { # this routine performs a variety of directory-specific # initializations. some are sanity checks, some are preventive, # and some are necessary setup detection. # # this function sets: # CONFIGURE # SEARCH_DIRS # CONFIG_SUBDIRS ################################## # check for a configure template # ################################## CONFIGURE="`locate_configure_template`" if [ "x$CONFIGURE" = "x" ] ; then $ECHO $ECHO "A configure.ac or configure.in file could not be located implying" $ECHO "that the GNU Build System is at least not used in this directory. In" $ECHO "any case, there is nothing to do here without one of those files." $ECHO $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`" exit 1 fi ##################### # detect an aux dir # ##################### _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" if test ! -d "$_aux_dir" ; then _aux_dir=. else $VERBOSE_ECHO "Detected auxillary directory: $_aux_dir" fi ################################ # detect a recursive configure # ################################ CONFIG_SUBDIRS="" _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $CONFIGURE | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`" for dir in $_det_config_subdirs ; do if test -d "`pwd`/$dir" ; then $VERBOSE_ECHO "Detected recursive configure directory: `pwd`/$dir" CONFIG_SUBDIRS="$CONFIG_SUBDIRS `pwd`/$dir" fi done ########################################################### # make sure certain required files exist for GNU projects # ########################################################### _marker_found="" _marker_found_message_intro='Detected non-GNU marker "' _marker_found_message_mid='" in ' for marker in foreign cygnus ; do _marker_found_message=${_marker_found_message_intro}${marker}${_marker_found_message_mid} _marker_found="`grep 'AM_INIT_AUTOMAKE.*'${marker} $CONFIGURE`" if [ ! "x$_marker_found" = "x" ] ; then $VERBOSE_ECHO "${_marker_found_message}`basename \"$CONFIGURE\"`" break fi if test -f "`dirname \"$CONFIGURE\"/Makefile.am`" ; then _marker_found="`grep 'AUTOMAKE_OPTIONS.*'${marker} Makefile.am`" if [ ! "x$_marker_found" = "x" ] ; then $VERBOSE_ECHO "${_marker_found_message}Makefile.am" break fi fi done if [ "x${_marker_found}" = "x" ] ; then _suggest_foreign=no for file in AUTHORS COPYING ChangeLog INSTALL NEWS README ; do if [ ! -f $file ] ; then $VERBOSE_ECHO "Touching ${file} since it does not exist" _suggest_foreign=yes touch $file fi done if [ "x${_suggest_foreign}" = "xyes" ] ; then $ECHO $ECHO "Warning: Several files expected of projects that conform to the GNU" $ECHO "coding standards were not found. The files were automatically added" $ECHO "for you since you do not have a 'foreign' declaration specified." $ECHO $ECHO "Considered adding 'foreign' to AM_INIT_AUTOMAKE in `basename \"$CONFIGURE\"`" if test -f "`dirname \"$CONFIGURE\"/Makefile.am`" ; then $ECHO "or to AUTOMAKE_OPTIONS in your top-level Makefile.am file." fi $ECHO fi fi ################################################## # make sure certain generated files do not exist # ################################################## for file in config.guess config.sub ltmain.sh ; do if test -f "${_aux_dir}/${file}" ; then $VERBOSE_ECHO "mv -f \"${_aux_dir}/${file}\" \"${_aux_dir}/${file}.backup\"" mv -f "${_aux_dir}/${file}" "${_aux_dir}/${file}.backup" fi done ############################ # search alternate m4 dirs # ############################ SEARCH_DIRS="" for dir in m4 ; do if [ -d $dir ] ; then $VERBOSE_ECHO "Found extra aclocal search directory: $dir" SEARCH_DIRS="$SEARCH_DIRS -I $dir" fi done ###################################### # remove any previous build products # ###################################### if test -d autom4te.cache ; then $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it" $VERBOSE_ECHO "rm -rf autom4te.cache" rm -rf autom4te.cache fi # tcl/tk (and probably others) have a customized aclocal.m4, so can't delete it # if test -f aclocal.m4 ; then # $VERBOSE_ECHO "Found an aclocal.m4 file, deleting it" # $VERBOSE_ECHO "rm -f aclocal.m4" # rm -f aclocal.m4 # fi } # end of initialize() ############## # initialize # ############## # stash path START_PATH="`pwd`" # Before running autoreconf or manual steps, some prep detection work # is necessary or useful. Only needs to occur once per directory, but # does need to traverse the entire subconfigure hierarchy to protect # files from being clobbered even by autoreconf. recursive_protect # start from where we started cd "$START_PATH" # get ready to process initialize ######################################### # DOWNLOAD_GNULIB_CONFIG_GUESS FUNCTION # ######################################### # TODO - should make sure wget/curl exist and/or work before trying to # use them. download_gnulib_config_guess () { # abuse gitweb to download gnulib's latest config.guess via HTTP config_guess_temp="config.guess.$$.download" ret=1 for __cmd in wget curl fetch ; do $VERBOSE_ECHO "Checking for command ${__cmd}" ${__cmd} --version > /dev/null 2>&1 ret=$? if [ ! $ret = 0 ] ; then continue fi __cmd_version=`${__cmd} --version | head -n 1 | sed -e 's/^[^0-9]\+//' -e 's/ .*//'` $VERBOSE_ECHO "Found ${__cmd} ${__cmd_version}" opts="" case ${__cmd} in wget) opts="-O" ;; curl) opts="-o" ;; fetch) opts="-t 5 -f" ;; esac $VERBOSE_ECHO "Running $__cmd \"${CONFIG_GUESS_URL}\" $opts \"${config_guess_temp}\"" eval "$__cmd \"${CONFIG_GUESS_URL}\" $opts \"${config_guess_temp}\"" > /dev/null 2>&1 if [ $? = 0 ] ; then mv -f "${config_guess_temp}" ${_aux_dir}/config.guess ret=0 break fi done if [ ! $ret = 0 ] ; then $ECHO "Warning: config.guess download failed from: $CONFIG_GUESS_URL" rm -f "${config_guess_temp}" fi } ############################## # LIBTOOLIZE_NEEDED FUNCTION # ############################## libtoolize_needed () { ret=1 # means no, don't need libtoolize for feature in AC_PROG_LIBTOOL AM_PROG_LIBTOOL LT_INIT ; do $VERBOSE_ECHO "Searching for $feature in $CONFIGURE" found="`grep \"^$feature.*\" $CONFIGURE`" if [ ! "x$found" = "x" ] ; then ret=0 # means yes, need to run libtoolize break fi done return ${ret} } ############################################ # prepare build via autoreconf or manually # ############################################ reconfigure_manually=no if [ "x$HAVE_AUTORECONF" = "xyes" ] ; then $ECHO $ECHO $ECHO_N "Automatically preparing build ... $ECHO_C" $VERBOSE_ECHO "$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS" autoreconf_output="`$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS 2>&1`" ret=$? $VERBOSE_ECHO "$autoreconf_output" if [ ! $ret = 0 ] ; then if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then if [ ! "x`echo \"$autoreconf_output\" | grep libtoolize | grep \"No such file or directory\"`" = "x" ] ; then $ECHO $ECHO "Warning: autoreconf failed but due to what is usually a common libtool" $ECHO "misconfiguration issue. This problem is encountered on systems that" $ECHO "have installed libtoolize under a different name without providing a" $ECHO "symbolic link or without setting the LIBTOOLIZE environment variable." $ECHO $ECHO "Restarting the preparation steps with LIBTOOLIZE set to $LIBTOOLIZE" export LIBTOOLIZE RUN_RECURSIVE=no export RUN_RECURSIVE untrap_abnormal $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" exit $? fi fi $ECHO "Warning: $AUTORECONF failed" if test -f ltmain.sh ; then $ECHO "libtoolize being run by autoreconf is not creating ltmain.sh in the auxillary directory like it should" fi $ECHO "Attempting to run the preparation steps individually" reconfigure_manually=yes else if [ "x$DOWNLOAD" = "xyes" ] ; then if libtoolize_needed ; then download_gnulib_config_guess fi fi fi else reconfigure_manually=yes fi ############################ # LIBTOOL_FAILURE FUNCTION # ############################ libtool_failure ( ) { # libtool is rather error-prone in comparison to the other # autotools and this routine attempts to compensate for some # common failures. the output after a libtoolize failure is # parsed for an error related to AC_PROG_LIBTOOL and if found, we # attempt to inject a project-provided libtool.m4 file. _autoconf_output="$1" if [ "x$RUN_RECURSIVE" = "xno" ] ; then # we already tried the libtool.m4, don't try again return 1 fi if test -f "$LIBTOOL_M4" ; then found_libtool="`$ECHO $_autoconf_output | grep AC_PROG_LIBTOOL`" if test ! "x$found_libtool" = "x" ; then if test -f acinclude.m4 ; then rm -f acinclude.m4.$$.backup $VERBOSE_ECHO "cat acinclude.m4 > acinclude.m4.$$.backup" cat acinclude.m4 > acinclude.m4.$$.backup fi $VERBOSE_ECHO "cat \"$LIBTOOL_M4\" >> acinclude.m4" chmod u+w acinclude.m4 cat "$LIBTOOL_M4" >> acinclude.m4 # don't keep doing this RUN_RECURSIVE=no export RUN_RECURSIVE untrap_abnormal $ECHO $ECHO "Restarting the preparation steps with libtool macros in acinclude.m4" $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" exit $? fi fi } ########################### # MANUAL_AUTOGEN FUNCTION # ########################### manual_autogen ( ) { ################################################## # Manual preparation steps taken are as follows: # # aclocal [-I m4] # # libtoolize --automake -c -f # # aclocal [-I m4] # # autoconf -f # # autoheader # # automake -a -c -f # ################################################## ########### # aclocal # ########### $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS" aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`" ret=$? $VERBOSE_ECHO "$aclocal_output" if [ ! $ret = 0 ] ; then $ECHO "ERROR: $ACLOCAL failed" && exit 2 ; fi ############## # libtoolize # ############## if libtoolize_needed ; then if [ "x$HAVE_LIBTOOLIZE" = "xyes" ] ; then $VERBOSE_ECHO "$LIBTOOLIZE $LIBTOOLIZE_OPTIONS" libtoolize_output="`$LIBTOOLIZE $LIBTOOLIZE_OPTIONS 2>&1`" ret=$? $VERBOSE_ECHO "$libtoolize_output" if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi else if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then $VERBOSE_ECHO "$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS" libtoolize_output="`$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS 2>&1`" ret=$? $VERBOSE_ECHO "$libtoolize_output" if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi fi fi ########### # aclocal # ########### # re-run again as instructed by libtoolize $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS" aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`" ret=$? $VERBOSE_ECHO "$aclocal_output" # libtoolize might put ltmain.sh in the wrong place if test -f ltmain.sh ; then if test ! -f "${_aux_dir}/ltmain.sh" ; then $ECHO $ECHO "Warning: $LIBTOOLIZE is creating ltmain.sh in the wrong directory" $ECHO $ECHO "Fortunately, the problem can be worked around by simply copying the" $ECHO "file to the appropriate location (${_aux_dir}/). This has been done for you." $ECHO $VERBOSE_ECHO "cp -p ltmain.sh \"${_aux_dir}/ltmain.sh\"" cp -p ltmain.sh "${_aux_dir}/ltmain.sh" $ECHO $ECHO_N "Continuing build preparation ... $ECHO_C" fi fi # ltmain.sh if [ "x$DOWNLOAD" = "xyes" ] ; then download_gnulib_config_guess fi fi # libtoolize_needed ############ # autoconf # ############ $VERBOSE_ECHO $VERBOSE_ECHO "$AUTOCONF $AUTOCONF_OPTIONS" autoconf_output="`$AUTOCONF $AUTOCONF_OPTIONS 2>&1`" ret=$? $VERBOSE_ECHO "$autoconf_output" if [ ! $ret = 0 ] ; then # retry without the -f and check for usage of macros that are too new ac2_59_macros="AC_C_RESTRICT AC_INCLUDES_DEFAULT AC_LANG_ASSERT AC_LANG_WERROR AS_SET_CATFILE" ac2_55_macros="AC_COMPILER_IFELSE AC_FUNC_MBRTOWC AC_HEADER_STDBOOL AC_LANG_CONFTEST AC_LANG_SOURCE AC_LANG_PROGRAM AC_LANG_CALL AC_LANG_FUNC_TRY_LINK AC_MSG_FAILURE AC_PREPROC_IFELSE" ac2_54_macros="AC_C_BACKSLASH_A AC_CONFIG_LIBOBJ_DIR AC_GNU_SOURCE AC_PROG_EGREP AC_PROG_FGREP AC_REPLACE_FNMATCH AC_FUNC_FNMATCH_GNU AC_FUNC_REALLOC AC_TYPE_MBSTATE_T" macros_to_search="" ac_major="`echo ${AUTOCONF_VERSION}. | cut -d. -f1 | sed 's/[^0-9]//g'`" ac_minor="`echo ${AUTOCONF_VERSION}. | cut -d. -f2 | sed 's/[^0-9]//g'`" if [ $ac_major -lt 2 ] ; then macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros" else if [ $ac_minor -lt 54 ] ; then macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros" elif [ $ac_minor -lt 55 ] ; then macros_to_search="$ac2_59_macros $ac2_55_macros" elif [ $ac_minor -lt 59 ] ; then macros_to_search="$ac2_59_macros" fi fi configure_ac_macros=__none__ for feature in $macros_to_search ; do $VERBOSE_ECHO "Searching for $feature in $CONFIGURE" found="`grep \"^$feature.*\" $CONFIGURE`" if [ ! "x$found" = "x" ] ; then if [ "x$configure_ac_macros" = "x__none__" ] ; then configure_ac_macros="$feature" else configure_ac_macros="$feature $configure_ac_macros" fi fi done if [ ! "x$configure_ac_macros" = "x__none__" ] ; then $ECHO $ECHO "Warning: Unsupported macros were found in $CONFIGURE" $ECHO $ECHO "The `basename \"$CONFIGURE\"` file was scanned in order to determine if any" $ECHO "unsupported macros are used that exceed the minimum version" $ECHO "settings specified within this file. As such, the following macros" $ECHO "should be removed from configure.ac or the version numbers in this" $ECHO "file should be increased:" $ECHO $ECHO "$configure_ac_macros" $ECHO $ECHO $ECHO_N "Ignorantly continuing build preparation ... $ECHO_C" fi ################### # autoconf, retry # ################### $VERBOSE_ECHO $VERBOSE_ECHO "$AUTOCONF" autoconf_output="`$AUTOCONF 2>&1`" ret=$? $VERBOSE_ECHO "$autoconf_output" if [ ! $ret = 0 ] ; then # test if libtool is busted libtool_failure "$autoconf_output" # let the user know what went wrong cat <&1 | awk '/gcc version / {print substr($$3,1,1)}' )) # g++-5 changes default ABI, if WX was compiled with an earlier compiler CXXFLAGS += -fabi-version=2 endif ## HDF5 related stuff ## ifneq ($(CROSS),) ## Debian/Wheezy LIBS += -lhdf5_hl -lhdf5 else ifneq ($(wildcard /usr/lib/libhdf5*),) ## Debian/Wheezy LIBS += -lhdf5_hl -lhdf5 else ifneq ($(wildcard $(PREFIX)/lib/libhdf5*),) CXXFLAGS += -I$(PREFIX)/include LDFLAGS += -L$(PREFIX)/lib LIBS += -lhdf5_hl -lhdf5 else PLATFORM = $(shell dpkg-architecture -q DEB_TARGET_MULTIARCH) ifneq ($(wildcard /usr/lib/$(PLATFORM)/libhdf5_serial*),) ## Debian/Jessie CXXFLAGS += -I/usr/include/hdf5/serial LDFLAGS += -L/usr/lib/$(PLATFORM) LIBS += -lhdf5_serial_hl -lhdf5_serial endif endif endif ## BIOSIG related stuff ## ifneq (,$(findstring WITH_BIOSIG2, $(DEFINES))) LIBS += -lbiosig2 else ifneq (,$(findstring WITH_BIOSIG, $(DEFINES))) LIBS += -lbiosig endif endif ifneq (,$(findstring WITH_BIOSIG, $(DEFINES))) SOURCES += ./src/libstfio/biosig/biosiglib.cpp LIBS += $(shell $(CROSS)pkg-config --libs libbiosig) endif LIBS += -lfftw3 ifeq (mingw,$(findstring mingw, $(WXCONF))) LIBS += -lgfortran -lquadmath LIBS += -liberty -liconv endif ############################################################## ### BUILT ############################################################## OBJECTS = $(addsuffix .$(OBJEXT), $(basename $(SOURCES))) $(TARGET): $(OBJECTS) $(CXX) $(OBJECTS) $(CXXFLAGS) $(LDFLAGS) $(LIBS) -o "$@" %.c: %.h %.cpp: %.h %.$(OBJEXT): %.c $(CC) -c $(CFLAGS) -c -o "$@" "$<" %.$(OBJEXT): %.cpp $(CXX) -c $(CXXFLAGS) -c -o "$@" "$<" %.$(OBJEXT): %.cc $(CXX) -c $(CXXFLAGS) -c -o "$@" "$<" %.$(OBJEXT): %.cxx $(CXX) -c $(CXXFLAGS) -c -o "$@" "$<" clean: find src -name "*.$(OBJEXT)" -exec rm {} \; rm -f stimfit install: $(TARGET) install $(TARGET) $(PREFIX)/bin/ uninstall: rm $(PREFIX)/bin/stimfit stimfit-0.14.11/INSTALL0000755000175200017520000001547212277666257011353 00000000000000Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, a file `config.cache' that saves the results of its tests to speed up reconfiguring, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.in' is used to create `configure' by a program called `autoconf'. You only need `configure.in' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Type `make install' to install the programs and any data files and documentation. 4. You can remove the program binaries and object files from the source code directory by typing `make clean'. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. You can give `configure' initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not supports the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' can not figure out automatically, but needs to determine by the type of host the package will run on. Usually `configure' can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields: CPU-COMPANY-SYSTEM See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the host type. If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Operation Controls ================== `configure' recognizes the following options to control how it operates. `--cache-file=FILE' Use and save the results of the tests in FILE instead of `./config.cache'. Set FILE to `/dev/null' to disable caching, for debugging `configure'. `--help' Print a summary of the options to `configure', and exit. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--version' Print the version of Autoconf used to generate the `configure' script, and exit. `configure' also accepts some other, not widely useful, options. stimfit-0.14.11/AUTHORS0000755000175200017520000000000012277666257011347 00000000000000stimfit-0.14.11/doc/0000755000175200017520000000000012623045304011106 500000000000000stimfit-0.14.11/doc/Doxyfile0000644000175200017520000020175712556527764012574 00000000000000# Doxyfile 1.5.8 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = Stimfit # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 0.14.11 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = doxygen # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = YES # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, # Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, # Spanish, Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it parses. # With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this tag. # The format is ext=language, where ext is a file extension, and language is one of # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C EXTENSION_MAPPING = # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = YES # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # doxygen. The layout file controls the global structure of the generated output files # in an output format independent way. The create the layout file that represents # doxygen's defaults, run doxygen with the -l option. You can optionally specify a # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src/stimfit/gui/app.h \ ../src/stimfit/gui/copygrid.h \ ../src/stimfit/gui/copygrid.h \ ../src/stimfit/gui/doc.h \ ../src/stimfit/gui/childframe.h \ ../src/stimfit/gui/parentframe.h \ ../src/stimfit/gui/graph.h \ ../src/stimfit/gui/printout.h \ ../src/stimfit/gui/stfcheckbox.h \ ../src/stimfit/gui/table.h \ ../src/stimfit/gui/view.h \ ../src/stimfit/gui/zoom.h \ ../src/stimfit/gui/dlgs/convertdlg.h \ ../src/stimfit/gui/dlgs/cursorsdlg.h \ ../src/stimfit/gui/dlgs/eventdlg.h \ ../src/stimfit/gui/dlgs/fitseldlg.h \ ../src/stimfit/gui/dlgs/smalldlgs.h \ ../src/stimfit/gui/usrdlg/usrdlg.h \ ../src/libstfnum/fit.h \ ../src/libstfnum/measure.h \ ../src/libstfnum/funclib.h \ ../src/libstfnum/stfnum.h \ ../src/libstfio/channel.h \ ../src/libstfio/recording.h \ ../src/libstfio/section.h \ ../src/libstfio/stfio.h \ ../src/stimfit/stf.h ../src/libstfio/abf/abflib.h \ ../src/libstfio/ascii/asciilib.h \ ../src/libstfio/atf/atflib.h \ ../src/libstfio/axg/axglib.h \ ../src/libstfio/biosig/biosig.h \ ../src/libstfio/cfs/cfslib.h \ ../src/libstfio/heka/heka.h \ ../src/libstfio/hdf5/hdf5lib.h \ ../src/libstfio/igor/igorlib.h \ ../src/libstfio/son/sonlib.h \ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. # For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's # filter section matches. # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to FRAME, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. Other possible values # for this tag are: HIERARCHIES, which will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list; # ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which # disables this behavior completely. For backwards compatibility with previous # releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE # respectively. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. # FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = lmodern \ textcomp \ amsmath # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = _WINDOWS \ __UNIX__ \ WITH_PYTHON # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Options related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES # Enable the USE_MATHJAX option to render $\mbox{\LaTeX}$ formulas using # MathJax (see http://www.mathjax.org) which uses client side Javascript # for the rendering instead of using prerendered bitmaps. Use this if you # do not have LaTeX installed or if you want to formulas look prettier # in the HTML output. USE_MATHJAX = YES # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension # names that should be enabled during MathJax rendering. MATHJAX_EXTENSIONS = teX/AMSmath TeX/AMSsymbols # Use this tag to change the font size of LaTeX formulas included as images # in the HTML documentation. The default is 10. when you change the font # size after a successful doxygen run you need to manually remove any # form_*.png images from the HTML output directory to force them to be # regenerated. FORMULA_FONTISZE = 16 stimfit-0.14.11/config.guess0000755000175200017520000012355012606541740012615 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2014 Free Software Foundation, Inc. timestamp='2014-03-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches with a ChangeLog entry to config-patches@gnu.org. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-${LIBC} exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: stimfit-0.14.11/Makefile.in0000644000175200017520000027000612622700721012333 00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @BUILD_MODULE_FALSE@bin_PROGRAMS = stimfit$(EXEEXT) @BUILD_MODULE_FALSE@check_PROGRAMS = stimfittest$(EXEEXT) @BUILD_MODULE_FALSE@TESTS = $(check_PROGRAMS) @BUILD_MODULE_FALSE@@WITH_BIOSIG2_TRUE@am__append_1 = ./src/libstfio/biosig/biosiglib.h @BUILD_MODULE_FALSE@@WITH_BIOSIG2_FALSE@@WITH_BIOSIG_TRUE@am__append_2 = ./src/libstfio/biosig/biosiglib.h subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/stfconf.h.in \ $(top_srcdir)/dist/macosx/stimfit.plist.in depcomp \ $(am__noinst_HEADERS_DIST) test-driver COPYING TODO compile \ config.guess config.sub install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = stfconf.h CONFIG_CLEAN_FILES = dist/macosx/stimfit.plist CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am__stimfit_SOURCES_DIST = ./src/stimfit/gui/main.cpp @BUILD_MODULE_FALSE@am_stimfit_OBJECTS = stimfit-main.$(OBJEXT) stimfit_OBJECTS = $(am_stimfit_OBJECTS) am__DEPENDENCIES_1 = @BUILD_MODULE_FALSE@stimfit_DEPENDENCIES = $(am__DEPENDENCIES_1) \ @BUILD_MODULE_FALSE@ ./src/stimfit/libstimfit.la \ @BUILD_MODULE_FALSE@ ./src/libstfio/libstfio.la \ @BUILD_MODULE_FALSE@ ./src/libstfnum/libstfnum.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = stimfit_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(stimfit_CXXFLAGS) \ $(CXXFLAGS) $(stimfit_LDFLAGS) $(LDFLAGS) -o $@ am__stimfittest_SOURCES_DIST = ./src/test/section.cpp \ ./src/test/channel.cpp ./src/test/recording.cpp \ ./src/test/fit.cpp ./src/test/measure.cpp \ ./src/test/gtest/src/gtest-all.cc \ ./src/test/gtest/src/gtest_main.cc @BUILD_MODULE_FALSE@am_stimfittest_OBJECTS = \ @BUILD_MODULE_FALSE@ stimfittest-section.$(OBJEXT) \ @BUILD_MODULE_FALSE@ stimfittest-channel.$(OBJEXT) \ @BUILD_MODULE_FALSE@ stimfittest-recording.$(OBJEXT) \ @BUILD_MODULE_FALSE@ stimfittest-fit.$(OBJEXT) \ @BUILD_MODULE_FALSE@ stimfittest-measure.$(OBJEXT) \ @BUILD_MODULE_FALSE@ stimfittest-gtest-all.$(OBJEXT) \ @BUILD_MODULE_FALSE@ stimfittest-gtest_main.$(OBJEXT) stimfittest_OBJECTS = $(am_stimfittest_OBJECTS) @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@am__DEPENDENCIES_2 = ./src/stimfit/py/libpystf.la @BUILD_MODULE_FALSE@stimfittest_DEPENDENCIES = $(am__DEPENDENCIES_1) \ @BUILD_MODULE_FALSE@ $(am__DEPENDENCIES_2) \ @BUILD_MODULE_FALSE@ $(am__DEPENDENCIES_1) \ @BUILD_MODULE_FALSE@ ./src/stimfit/libstimfit.la \ @BUILD_MODULE_FALSE@ ./src/libstfio/libstfio.la \ @BUILD_MODULE_FALSE@ ./src/libstfnum/libstfnum.la stimfittest_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(stimfittest_CXXFLAGS) \ $(CXXFLAGS) $(stimfittest_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(stimfit_SOURCES) $(stimfittest_SOURCES) DIST_SOURCES = $(am__stimfit_SOURCES_DIST) \ $(am__stimfittest_SOURCES_DIST) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__noinst_HEADERS_DIST = ./src/libstfio/channel.h \ ./src/libstfio/section.h ./src/libstfio/recording.h \ ./src/libstfio/stfio.h ./src/libstfio/cfs/cfslib.h \ ./src/libstfio/cfs/cfs.h ./src/libstfio/cfs/machine.h \ ./src/libstfio/hdf5/hdf5lib.h ./src/libstfio/heka/hekalib.h \ ./src/libstfio/abf/abflib.h \ ./src/libstfio/abf/axon/AxAbfFio32/abffiles.h \ ./src/libstfio/abf/axon/AxAbfFio32/csynch.hpp \ ./src/libstfio/abf/axon/AxAbfFio32/filedesc.hpp \ ./src/libstfio/abf/axon/Common/FileReadCache.hpp \ ./src/libstfio/abf/axon/Common/FileIO.hpp \ ./src/libstfio/abf/axon/AxAbfFio32/abfheadr.h \ ./src/libstfio/abf/axon/AxAbfFio32/oldheadr.h \ ./src/libstfio/abf/axon/AxAbfFio32/abfutil.h \ ./src/libstfio/abf/axon/AxAbfFio32/msbincvt.h \ ./src/libstfio/abf/axon/Common/unix.h \ ./src/libstfio/abf/axon/Common/axodefn.h \ ./src/libstfio/abf/axon/Common/axodebug.h \ ./src/libstfio/abf/axon/Common/wincpp.hpp \ ./src/libstfio/abf/axon/AxAbfFio32/AxAbffio32.h \ ./src/libstfio/abf/axon/AxAbfFio32/abfoldnx.h \ ./src/libstfio/abf/axon/Common/resource.h \ ./src/libstfio/abf/axon/AxAtfFio32/axatffio32.h \ ./src/libstfio/abf/axon/AxAtfFio32/atfutil.h \ ./src/libstfio/abf/axon/AxAtfFio32/atfintl.h \ ./src/libstfio/abf/axon/Common/colors.h \ ./src/libstfio/abf/axon/Common/adcdac.h \ ./src/libstfio/abf/axon/Common/ArrayPtr.hpp \ ./src/libstfio/abf/axon2/ProtocolReaderABF2.hpp \ ./src/libstfio/abf/axon2/SimpleStringCache.hpp \ ./src/libstfio/abf/axon2/ProtocolStructs.h \ ./src/libstfio/abf/axon2/abf2headr.h \ ./src/libstfio/atf/atflib.h ./src/libstfio/axg/axglib.h \ ./src/libstfio/axg/AxoGraph_ReadWrite.h \ ./src/libstfio/axg/fileUtils.h \ ./src/libstfio/axg/stringUtils.h ./src/libstfio/axg/byteswap.h \ ./src/libstfio/axg/longdef.h ./src/libstfio/igor/igorlib.h \ ./src/libstfio/igor/CrossPlatformFileIO.h \ ./src/libstfio/igor/IgorBin.h ./src/libstfnum/stfnum.h \ ./src/libstfnum/fit.h ./src/libstfnum/spline.h \ ./src/libstfnum/measure.h ./src/libstfnum/levmar/lm.h \ ./src/libstfnum/levmar/levmar.h ./src/libstfnum/levmar/misc.h \ ./src/libstfnum/levmar/compiler.h ./src/libstfnum/funclib.h \ ./src/stimfit/stf.h ./src/stimfit/gui/app.h \ ./src/stimfit/gui/stfcheckbox.h ./src/stimfit/gui/copygrid.h \ ./src/stimfit/gui/graph.h ./src/stimfit/gui/printout.h \ ./src/stimfit/gui/doc.h ./src/stimfit/gui/parentframe.h \ ./src/stimfit/gui/childframe.h ./src/stimfit/gui/view.h \ ./src/stimfit/gui/table.h ./src/stimfit/gui/zoom.h \ ./src/stimfit/gui/dlgs/convertdlg.h \ ./src/stimfit/gui/dlgs/cursorsdlg.h \ ./src/stimfit/gui/dlgs/eventdlg.h \ ./src/stimfit/gui/dlgs/fitseldlg.h \ ./src/stimfit/gui/dlgs/smalldlgs.h \ ./src/stimfit/gui/usrdlg/usrdlg.h \ ./src/test/gtest/include/gtest/gtest-death-test.h \ ./src/test/gtest/include/gtest/gtest-message.h \ ./src/test/gtest/include/gtest/gtest-param-test.h.pump \ ./src/test/gtest/include/gtest/gtest-printers.h \ ./src/test/gtest/include/gtest/gtest-spi.h \ ./src/test/gtest/include/gtest/gtest-typed-test.h \ ./src/test/gtest/include/gtest/gtest.h \ ./src/test/gtest/include/gtest/gtest-param-test.h \ ./src/test/gtest/include/gtest/gtest_pred_impl.h \ ./src/test/gtest/include/gtest/gtest_prod.h \ ./src/test/gtest/include/gtest/gtest-test-part.h \ ./src/test/gtest/include/gtest/internal/gtest-death-test-internal.h \ ./src/test/gtest/include/gtest/internal/gtest-linked_ptr.h \ ./src/test/gtest/include/gtest/internal/gtest-param-util.h \ ./src/test/gtest/include/gtest/internal/gtest-tuple.h \ ./src/test/gtest/include/gtest/internal/gtest-type-util.h.pump \ ./src/test/gtest/include/gtest/internal/gtest-filepath.h \ ./src/test/gtest/include/gtest/internal/gtest-param-util-generated.h \ ./src/test/gtest/include/gtest/internal/gtest-port.h \ ./src/test/gtest/include/gtest/internal/gtest-tuple.h.pump \ ./src/test/gtest/include/gtest/internal/gtest-internal.h \ ./src/test/gtest/include/gtest/internal/gtest-param-util-generated.h.pump \ ./src/test/gtest/include/gtest/internal/gtest-string.h \ ./src/test/gtest/include/gtest/internal/gtest-type-util.h \ ./src/test/gtest/src/gtest-internal-inl.h \ ./src/libstfio/biosig/biosiglib.h HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope check recheck distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)stfconf.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ GT_CPPFLAGS = @GT_CPPFLAGS@ GT_CXXFLAGS = @GT_CXXFLAGS@ GT_LDFLAGS = @GT_LDFLAGS@ GT_LIBS = @GT_LIBS@ HDF5_CFLAGS = @HDF5_CFLAGS@ HDF5_LIBS = @HDF5_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBBIOSIG_LDFLAGS = @LIBBIOSIG_LDFLAGS@ LIBHDF5_LDFLAGS = @LIBHDF5_LDFLAGS@ LIBLAPACK_LDFLAGS = @LIBLAPACK_LDFLAGS@ LIBNUMPY_INCLUDES = @LIBNUMPY_INCLUDES@ LIBOBJS = @LIBOBJS@ LIBPYTHON_INCLUDES = @LIBPYTHON_INCLUDES@ LIBPYTHON_LDFLAGS = @LIBPYTHON_LDFLAGS@ LIBS = @LIBS@ LIBSTF_LDFLAGS = @LIBSTF_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MACSETFILE = @MACSETFILE@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPT_CXXFLAGS = @OPT_CXXFLAGS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTLINK_COMMAND = @POSTLINK_COMMAND@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_DIST_PKG = @PYTHON_DIST_PKG@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ PYTHON_NUMPY_INCLUDE = @PYTHON_NUMPY_INCLUDE@ PYTHON_PRE_DIST_PKG = @PYTHON_PRE_DIST_PKG@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ PY_AC_VERSION = @PY_AC_VERSION@ RANLIB = @RANLIB@ REZ = @REZ@ SED = @SED@ SETFILE = @SETFILE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STFIO_PYTHON_LIBNAME = @STFIO_PYTHON_LIBNAME@ STF_PYTHON_LIBNAME = @STF_PYTHON_LIBNAME@ STRIP = @STRIP@ SWIG = @SWIG@ SWIG_LIB = @SWIG_LIB@ SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@ SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@ VERSION = @VERSION@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src @BUILD_MODULE_FALSE@stimfit_SOURCES = ./src/stimfit/gui/main.cpp @BUILD_MODULE_FALSE@stimfittest_SOURCES = ./src/test/section.cpp ./src/test/channel.cpp ./src/test/recording.cpp ./src/test/fit.cpp ./src/test/measure.cpp \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-all.cc ./src/test/gtest/src/gtest_main.cc @BUILD_MODULE_FALSE@noinst_HEADERS = ./src/libstfio/channel.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/section.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/recording.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/stfio.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/cfs/cfslib.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/cfs/cfs.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/cfs/machine.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/hdf5/hdf5lib.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/heka/hekalib.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/abflib.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/abffiles.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/csynch.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/filedesc.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/FileReadCache.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/FileIO.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/abfheadr.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/oldheadr.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/abfutil.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/msbincvt.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/unix.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/axodefn.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/axodebug.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/wincpp.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/AxAbffio32.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAbfFio32/abfoldnx.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/resource.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAtfFio32/axatffio32.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAtfFio32/atfutil.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/AxAtfFio32/atfintl.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/colors.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/adcdac.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/ArrayPtr.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon/Common/wincpp.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon2/ProtocolReaderABF2.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon2/SimpleStringCache.hpp \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon2/ProtocolStructs.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/abf/axon2/abf2headr.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/atf/atflib.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/axg/axglib.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/axg/AxoGraph_ReadWrite.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/axg/fileUtils.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/axg/stringUtils.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/axg/byteswap.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/axg/longdef.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/igor/igorlib.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/igor/CrossPlatformFileIO.h \ @BUILD_MODULE_FALSE@ ./src/libstfio/igor/IgorBin.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/stfnum.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/fit.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/spline.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/measure.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/lm.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/levmar.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/misc.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/compiler.h \ @BUILD_MODULE_FALSE@ ./src/libstfnum/funclib.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/stf.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/app.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/stfcheckbox.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/copygrid.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/graph.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/printout.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/doc.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/parentframe.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/childframe.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/view.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/table.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/zoom.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/dlgs/convertdlg.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/dlgs/cursorsdlg.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/dlgs/eventdlg.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/dlgs/fitseldlg.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/dlgs/smalldlgs.h \ @BUILD_MODULE_FALSE@ ./src/stimfit/gui/usrdlg/usrdlg.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-death-test.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-message.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-param-test.h.pump \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-printers.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-spi.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-typed-test.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-param-test.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest_pred_impl.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest_prod.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/gtest-test-part.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-death-test-internal.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-linked_ptr.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-param-util.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-tuple.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-type-util.h.pump \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-filepath.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-param-util-generated.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-port.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-tuple.h.pump \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-internal.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-param-util-generated.h.pump \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-string.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/include/gtest/internal/gtest-type-util.h \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-internal-inl.h \ @BUILD_MODULE_FALSE@ $(am__append_1) $(am__append_2) # EXTRA_DIST+= ./src/pystfio/stfioswig_wrap.cxx # EXTRA_DIST+= ./src/pystfio/stfio.py # EXTRA_DIST+= ./dist/debian/changelog @BUILD_MODULE_FALSE@EXTRA_DIST = ./src/stimfit/res/16-em-down.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/16-em-open.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/accept.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/arrow_down.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/arrow_left.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/arrow_out.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/arrow_right.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/arrow_up.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/camera.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/camera_ps.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/ch1.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/ch2.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/cursor.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/event.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/fit.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/fit_lim.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/latency_lim.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/resultset_first.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/resultset_last.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/resultset_next.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/resultset_previous.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/slope.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/stimfit.png \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/stimfit16x16.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/stimfit32x32.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/sum_new.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/sum_new_aligned.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/table.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/zoom.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/zoom_in.xpm \ @BUILD_MODULE_FALSE@ ./src/stimfit/res/zoom_out.xpm \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/Axb_core.c \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/lmbc_core.c \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/lm_core.c \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/lmlec_core.c \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/misc_core.c \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/LICENSE \ @BUILD_MODULE_FALSE@ ./src/libstfnum/levmar/README.txt \ @BUILD_MODULE_FALSE@ ./doc/Doxyfile ./acsite.m4 ./autogen.sh \ @BUILD_MODULE_FALSE@ ./Makefile.static \ @BUILD_MODULE_FALSE@ ./dist/macosx/scripts/conf_mac_release.sh \ @BUILD_MODULE_FALSE@ ./dist/macosx/scripts/change_deps_release.sh \ @BUILD_MODULE_FALSE@ ./dist/macosx/app.r \ @BUILD_MODULE_FALSE@ ./dist/macosx/stimfit.icns \ @BUILD_MODULE_FALSE@ ./src/pystfio/__init__.py \ @BUILD_MODULE_FALSE@ ./src/pystfio/pystfio.cxx \ @BUILD_MODULE_FALSE@ ./src/pystfio/pystfio.i \ @BUILD_MODULE_FALSE@ ./src/pystfio/stfio_plot.py \ @BUILD_MODULE_FALSE@ ./src/pystfio/stfio_neo.py \ @BUILD_MODULE_FALSE@ ./src/pystfio/unittest_stfio.py \ @BUILD_MODULE_FALSE@ ./src/pystfio/test.h5 \ @BUILD_MODULE_FALSE@ ./src/pystfio/pystfio.h \ @BUILD_MODULE_FALSE@ ./dist/debian/compat ./dist/debian/control \ @BUILD_MODULE_FALSE@ ./dist/debian/copyright ./dist/debian/docs \ @BUILD_MODULE_FALSE@ ./dist/debian/mkdeb.sh \ @BUILD_MODULE_FALSE@ ./dist/debian/python-stfio.files \ @BUILD_MODULE_FALSE@ ./dist/debian/python-stfio.install \ @BUILD_MODULE_FALSE@ ./dist/debian/rules \ @BUILD_MODULE_FALSE@ ./dist/debian/stimfit.1 \ @BUILD_MODULE_FALSE@ ./dist/debian/stimfit.desktop \ @BUILD_MODULE_FALSE@ ./dist/debian/stimfit.files \ @BUILD_MODULE_FALSE@ ./dist/debian/stimfit.install \ @BUILD_MODULE_FALSE@ ./dist/debian/stimfit.menu \ @BUILD_MODULE_FALSE@ ./src/test/gtest/CHANGES \ @BUILD_MODULE_FALSE@ ./src/test/gtest/CONTRIBUTORS \ @BUILD_MODULE_FALSE@ ./src/test/gtest/COPYING \ @BUILD_MODULE_FALSE@ ./src/test/gtest/README \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest.cc \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-death-test.cc \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-filepath.cc \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-port.cc \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-printers.cc \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-test-part.cc \ @BUILD_MODULE_FALSE@ ./src/test/gtest/src/gtest-typed-test.cc @BUILD_MODULE_FALSE@@BUILD_PYTHON_FALSE@PYTHON_ADDINCLUDES = @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@PYTHON_ADDINCLUDES = $(LIBPYTHON_INCLUDES) @BUILD_MODULE_FALSE@@BUILD_PYTHON_FALSE@PYTHON_ADDLDFLAGS = @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@PYTHON_ADDLDFLAGS = $(LIBPYTHON_LDFLAGS) @BUILD_MODULE_FALSE@@BUILD_PYTHON_FALSE@PYTHON_ADDLIBS = @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@PYTHON_ADDLIBS = ./src/stimfit/py/libpystf.la @BUILD_MODULE_FALSE@INCLUDES = $(PYTHON_ADDINCLUDES) @BUILD_MODULE_FALSE@stimfit_CXXFLAGS = $(OPT_CXXFLAGS) $(WX_CXXFLAGS) @BUILD_MODULE_FALSE@stimfit_LDFLAGS = $(LIBLAPACK_LDFLAGS) $(PYTHON_ADDLDFLAGS) $(LIBSTF_LDFLAGS) $(LIBBIOSIG_LDFLAGS) @BUILD_MODULE_FALSE@stimfit_LDADD = $(WX_LIBS) -lfftw3 ./src/stimfit/libstimfit.la ./src/libstfio/libstfio.la ./src/libstfnum/libstfnum.la # $(PYTHON_ADDLIBS) @BUILD_MODULE_FALSE@stimfittest_CXXFLAGS = $(GT_CXXFLAGS) $(WX_CXXFLAGS) @BUILD_MODULE_FALSE@stimfittest_CPPFLAGS = ${CPPFLAGS} $(GT_CPPFLAGS) -DSTF_TEST -I$(top_srcdir)/src/test/gtest -I$(top_srcdir)/src/test/gtest/include @BUILD_MODULE_FALSE@stimfittest_LDFLAGS = $(LIBLAPACK_LDFLAGS) $(PYTHON_ADDLDFLAGS) $(GT_LDFLAGS) @BUILD_MODULE_FALSE@stimfittest_LDADD = $(WX_LIBS) $(PYTHON_ADDLIBS) $(GT_LIBS) -lfftw3 ./src/stimfit/libstimfit.la ./src/libstfio/libstfio.la ./src/libstfnum/libstfnum.la @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@LTTARGET = $(prefix)/lib/stimfit @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@LTTARGET = /usr/lib/stimfit @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@LTTARGET = $(prefix)/lib/stimfit all: stfconf.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .cc .cpp .lo .log .o .obj .test .test$(EXEEXT) .trs am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): stfconf.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/stfconf.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status stfconf.h $(srcdir)/stfconf.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f stfconf.h stamp-h1 dist/macosx/stimfit.plist: $(top_builddir)/config.status $(top_srcdir)/dist/macosx/stimfit.plist.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list stimfit$(EXEEXT): $(stimfit_OBJECTS) $(stimfit_DEPENDENCIES) $(EXTRA_stimfit_DEPENDENCIES) @rm -f stimfit$(EXEEXT) $(AM_V_CXXLD)$(stimfit_LINK) $(stimfit_OBJECTS) $(stimfit_LDADD) $(LIBS) stimfittest$(EXEEXT): $(stimfittest_OBJECTS) $(stimfittest_DEPENDENCIES) $(EXTRA_stimfittest_DEPENDENCIES) @rm -f stimfittest$(EXEEXT) $(AM_V_CXXLD)$(stimfittest_LINK) $(stimfittest_OBJECTS) $(stimfittest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfit-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfittest-channel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfittest-fit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfittest-gtest-all.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfittest-gtest_main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfittest-measure.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfittest-recording.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stimfittest-section.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< stimfit-main.o: ./src/stimfit/gui/main.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stimfit_CXXFLAGS) $(CXXFLAGS) -MT stimfit-main.o -MD -MP -MF $(DEPDIR)/stimfit-main.Tpo -c -o stimfit-main.o `test -f './src/stimfit/gui/main.cpp' || echo '$(srcdir)/'`./src/stimfit/gui/main.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfit-main.Tpo $(DEPDIR)/stimfit-main.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/stimfit/gui/main.cpp' object='stimfit-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stimfit_CXXFLAGS) $(CXXFLAGS) -c -o stimfit-main.o `test -f './src/stimfit/gui/main.cpp' || echo '$(srcdir)/'`./src/stimfit/gui/main.cpp stimfit-main.obj: ./src/stimfit/gui/main.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stimfit_CXXFLAGS) $(CXXFLAGS) -MT stimfit-main.obj -MD -MP -MF $(DEPDIR)/stimfit-main.Tpo -c -o stimfit-main.obj `if test -f './src/stimfit/gui/main.cpp'; then $(CYGPATH_W) './src/stimfit/gui/main.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/stimfit/gui/main.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfit-main.Tpo $(DEPDIR)/stimfit-main.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/stimfit/gui/main.cpp' object='stimfit-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stimfit_CXXFLAGS) $(CXXFLAGS) -c -o stimfit-main.obj `if test -f './src/stimfit/gui/main.cpp'; then $(CYGPATH_W) './src/stimfit/gui/main.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/stimfit/gui/main.cpp'; fi` stimfittest-section.o: ./src/test/section.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-section.o -MD -MP -MF $(DEPDIR)/stimfittest-section.Tpo -c -o stimfittest-section.o `test -f './src/test/section.cpp' || echo '$(srcdir)/'`./src/test/section.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-section.Tpo $(DEPDIR)/stimfittest-section.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/section.cpp' object='stimfittest-section.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-section.o `test -f './src/test/section.cpp' || echo '$(srcdir)/'`./src/test/section.cpp stimfittest-section.obj: ./src/test/section.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-section.obj -MD -MP -MF $(DEPDIR)/stimfittest-section.Tpo -c -o stimfittest-section.obj `if test -f './src/test/section.cpp'; then $(CYGPATH_W) './src/test/section.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/section.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-section.Tpo $(DEPDIR)/stimfittest-section.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/section.cpp' object='stimfittest-section.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-section.obj `if test -f './src/test/section.cpp'; then $(CYGPATH_W) './src/test/section.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/section.cpp'; fi` stimfittest-channel.o: ./src/test/channel.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-channel.o -MD -MP -MF $(DEPDIR)/stimfittest-channel.Tpo -c -o stimfittest-channel.o `test -f './src/test/channel.cpp' || echo '$(srcdir)/'`./src/test/channel.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-channel.Tpo $(DEPDIR)/stimfittest-channel.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/channel.cpp' object='stimfittest-channel.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-channel.o `test -f './src/test/channel.cpp' || echo '$(srcdir)/'`./src/test/channel.cpp stimfittest-channel.obj: ./src/test/channel.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-channel.obj -MD -MP -MF $(DEPDIR)/stimfittest-channel.Tpo -c -o stimfittest-channel.obj `if test -f './src/test/channel.cpp'; then $(CYGPATH_W) './src/test/channel.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/channel.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-channel.Tpo $(DEPDIR)/stimfittest-channel.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/channel.cpp' object='stimfittest-channel.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-channel.obj `if test -f './src/test/channel.cpp'; then $(CYGPATH_W) './src/test/channel.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/channel.cpp'; fi` stimfittest-recording.o: ./src/test/recording.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-recording.o -MD -MP -MF $(DEPDIR)/stimfittest-recording.Tpo -c -o stimfittest-recording.o `test -f './src/test/recording.cpp' || echo '$(srcdir)/'`./src/test/recording.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-recording.Tpo $(DEPDIR)/stimfittest-recording.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/recording.cpp' object='stimfittest-recording.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-recording.o `test -f './src/test/recording.cpp' || echo '$(srcdir)/'`./src/test/recording.cpp stimfittest-recording.obj: ./src/test/recording.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-recording.obj -MD -MP -MF $(DEPDIR)/stimfittest-recording.Tpo -c -o stimfittest-recording.obj `if test -f './src/test/recording.cpp'; then $(CYGPATH_W) './src/test/recording.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/recording.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-recording.Tpo $(DEPDIR)/stimfittest-recording.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/recording.cpp' object='stimfittest-recording.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-recording.obj `if test -f './src/test/recording.cpp'; then $(CYGPATH_W) './src/test/recording.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/recording.cpp'; fi` stimfittest-fit.o: ./src/test/fit.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-fit.o -MD -MP -MF $(DEPDIR)/stimfittest-fit.Tpo -c -o stimfittest-fit.o `test -f './src/test/fit.cpp' || echo '$(srcdir)/'`./src/test/fit.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-fit.Tpo $(DEPDIR)/stimfittest-fit.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/fit.cpp' object='stimfittest-fit.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-fit.o `test -f './src/test/fit.cpp' || echo '$(srcdir)/'`./src/test/fit.cpp stimfittest-fit.obj: ./src/test/fit.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-fit.obj -MD -MP -MF $(DEPDIR)/stimfittest-fit.Tpo -c -o stimfittest-fit.obj `if test -f './src/test/fit.cpp'; then $(CYGPATH_W) './src/test/fit.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/fit.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-fit.Tpo $(DEPDIR)/stimfittest-fit.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/fit.cpp' object='stimfittest-fit.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-fit.obj `if test -f './src/test/fit.cpp'; then $(CYGPATH_W) './src/test/fit.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/fit.cpp'; fi` stimfittest-measure.o: ./src/test/measure.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-measure.o -MD -MP -MF $(DEPDIR)/stimfittest-measure.Tpo -c -o stimfittest-measure.o `test -f './src/test/measure.cpp' || echo '$(srcdir)/'`./src/test/measure.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-measure.Tpo $(DEPDIR)/stimfittest-measure.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/measure.cpp' object='stimfittest-measure.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-measure.o `test -f './src/test/measure.cpp' || echo '$(srcdir)/'`./src/test/measure.cpp stimfittest-measure.obj: ./src/test/measure.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-measure.obj -MD -MP -MF $(DEPDIR)/stimfittest-measure.Tpo -c -o stimfittest-measure.obj `if test -f './src/test/measure.cpp'; then $(CYGPATH_W) './src/test/measure.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/measure.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-measure.Tpo $(DEPDIR)/stimfittest-measure.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/measure.cpp' object='stimfittest-measure.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-measure.obj `if test -f './src/test/measure.cpp'; then $(CYGPATH_W) './src/test/measure.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/test/measure.cpp'; fi` stimfittest-gtest-all.o: ./src/test/gtest/src/gtest-all.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-gtest-all.o -MD -MP -MF $(DEPDIR)/stimfittest-gtest-all.Tpo -c -o stimfittest-gtest-all.o `test -f './src/test/gtest/src/gtest-all.cc' || echo '$(srcdir)/'`./src/test/gtest/src/gtest-all.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-gtest-all.Tpo $(DEPDIR)/stimfittest-gtest-all.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/gtest/src/gtest-all.cc' object='stimfittest-gtest-all.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-gtest-all.o `test -f './src/test/gtest/src/gtest-all.cc' || echo '$(srcdir)/'`./src/test/gtest/src/gtest-all.cc stimfittest-gtest-all.obj: ./src/test/gtest/src/gtest-all.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-gtest-all.obj -MD -MP -MF $(DEPDIR)/stimfittest-gtest-all.Tpo -c -o stimfittest-gtest-all.obj `if test -f './src/test/gtest/src/gtest-all.cc'; then $(CYGPATH_W) './src/test/gtest/src/gtest-all.cc'; else $(CYGPATH_W) '$(srcdir)/./src/test/gtest/src/gtest-all.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-gtest-all.Tpo $(DEPDIR)/stimfittest-gtest-all.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/gtest/src/gtest-all.cc' object='stimfittest-gtest-all.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-gtest-all.obj `if test -f './src/test/gtest/src/gtest-all.cc'; then $(CYGPATH_W) './src/test/gtest/src/gtest-all.cc'; else $(CYGPATH_W) '$(srcdir)/./src/test/gtest/src/gtest-all.cc'; fi` stimfittest-gtest_main.o: ./src/test/gtest/src/gtest_main.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-gtest_main.o -MD -MP -MF $(DEPDIR)/stimfittest-gtest_main.Tpo -c -o stimfittest-gtest_main.o `test -f './src/test/gtest/src/gtest_main.cc' || echo '$(srcdir)/'`./src/test/gtest/src/gtest_main.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-gtest_main.Tpo $(DEPDIR)/stimfittest-gtest_main.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/gtest/src/gtest_main.cc' object='stimfittest-gtest_main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-gtest_main.o `test -f './src/test/gtest/src/gtest_main.cc' || echo '$(srcdir)/'`./src/test/gtest/src/gtest_main.cc stimfittest-gtest_main.obj: ./src/test/gtest/src/gtest_main.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -MT stimfittest-gtest_main.obj -MD -MP -MF $(DEPDIR)/stimfittest-gtest_main.Tpo -c -o stimfittest-gtest_main.obj `if test -f './src/test/gtest/src/gtest_main.cc'; then $(CYGPATH_W) './src/test/gtest/src/gtest_main.cc'; else $(CYGPATH_W) '$(srcdir)/./src/test/gtest/src/gtest_main.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stimfittest-gtest_main.Tpo $(DEPDIR)/stimfittest-gtest_main.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/test/gtest/src/gtest_main.cc' object='stimfittest-gtest_main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stimfittest_CPPFLAGS) $(CPPFLAGS) $(stimfittest_CXXFLAGS) $(CXXFLAGS) -c -o stimfittest-gtest_main.obj `if test -f './src/test/gtest/src/gtest_main.cc'; then $(CYGPATH_W) './src/test/gtest/src/gtest_main.cc'; else $(CYGPATH_W) '$(srcdir)/./src/test/gtest/src/gtest_main.cc'; fi` .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ else \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all $(check_PROGRAMS) @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? stimfittest.log: stimfittest$(EXEEXT) @p='stimfittest$(EXEEXT)'; \ b='stimfittest'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) $(HEADERS) stfconf.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done @BUILD_MODULE_TRUE@install: install-recursive @ISDARWIN_FALSE@install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @BUILD_MODULE_TRUE@install-exec-hook: @ISDARWIN_TRUE@install-exec-hook: @BUILD_MODULE_TRUE@uninstall-hook: @ISDARWIN_TRUE@uninstall-hook: clean: clean-recursive clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: $(am__recursive_targets) all check-am install-am \ install-exec-am install-strip uninstall-am .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-TESTS check-am clean clean-binPROGRAMS \ clean-checkPROGRAMS clean-cscope clean-generic clean-libtool \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ info-am install install-am install-binPROGRAMS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-exec-hook install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am recheck tags tags-am uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-hook @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@install-exec-hook: @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ $(LIBTOOL) --finish $(prefix)/lib/stimfit @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ chrpath -r $(LTTARGET) $(prefix)/bin/stimfit @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libpystf.so @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libstimfit.so @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libstfio.so @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libstfnum.so @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -d $(prefix)/share/pixmaps @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -d $(prefix)/share/applications @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -m 644 $(top_srcdir)/src/stimfit/res/stimfit16x16.xpm $(prefix)/share/pixmaps/stimfit16x16.xpm @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -m 644 $(top_srcdir)/src/stimfit/res/stimfit32x32.xpm $(prefix)/share/pixmaps/stimfit32x32.xpm @BUILD_DEBIAN_TRUE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -m 644 $(top_srcdir)/dist/debian/stimfit.desktop $(prefix)/share/applications/ @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@install-exec-hook: @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ $(LIBTOOL) --finish $(LTTARGET) @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ chrpath -r $(LTTARGET) $(prefix)/bin/stimfit @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -d $(prefix)/share/pixmaps @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -d $(prefix)/share/applications @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -m 644 $(top_srcdir)/src/stimfit/res/stimfit16x16.xpm $(prefix)/share/pixmaps/stimfit16x16.xpm @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -m 644 $(top_srcdir)/src/stimfit/res/stimfit32x32.xpm $(prefix)/share/pixmaps/stimfit32x32.xpm @BUILD_DEBIAN_FALSE@@BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ install -m 644 $(top_srcdir)/dist/debian/stimfit.desktop $(prefix)/share/applications/ @BUILD_MODULE_FALSE@@ISDARWIN_FALSE@uninstall-hook: @BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ rm -f $(prefix)/share/pixmaps/stimfit16x16.xpm @BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ rm -f $(prefix)/share/pixmaps/stimfit32x32.xpm @BUILD_MODULE_FALSE@@ISDARWIN_FALSE@ rm -f $(prefix)/share/applications/stimfit.desktop # wxMac resource fork/unbundled app @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@install: stimfit @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ mkdir -p ${DESTDIR}/stimfit.app/Contents/MacOS @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ mkdir -p ${DESTDIR}/stimfit.app/Contents/Resources @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ mkdir -p ${DESTDIR}/stimfit.app/Contents/Resources/English.lproj @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ mkdir -p ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ mkdir -p ${DESTDIR}/stimfit.app/Contents/lib/stimfit @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ cp -v ./src/stimfit/.libs/libstimfit.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ cp -v ./src/libstfio/.libs/libstfio.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfio.dylib @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ cp -v ./src/libstfnum/.libs/libstfnum.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfnum.dylib @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ cp $(top_srcdir)/dist/macosx/stimfit.plist.in ${DESTDIR}/stimfit.app/Contents/Info.plist @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ echo "APPL????\c" > ${DESTDIR}/stimfit.app/Contents/PkgInfo @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ rm -f ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ cp -p -f .libs/stimfit$(EXEEXT) ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ cp -v ./src/stimfit/py/.libs/libpystf.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ ln -sf ../../lib/stimfit/libpystf.dylib ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/_stf.so @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ cp -v $(top_srcdir)/src/stimfit/py/*.py ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ cp -v $(top_srcdir)/src/pystfio/*.py ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ ${PYTHON} -m compileall -l ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(POSTLINK_COMMAND) ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(srcdir)/dist/macosx/app.r @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(MACSETFILE) -a C ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ cp -f $(top_srcdir)/dist/macosx/stimfit.icns ${DESTDIR}/stimfit.app/Contents/Resources/stimfit.icns @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstimfit.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstimfit.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfio.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfio.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfnum.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfnum.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstimfit.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstimfit.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfio.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfio.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfio.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfio.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfio.dylib @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfnum.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfnum.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfnum.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfnum.dylib \ @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfnum.dylib @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ $(LTTARGET)/libstimfit.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstimfit.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfio.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfio.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ $(LTTARGET)/libstfnum.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libstfnum.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ install_name_tool -change \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ $(LTTARGET)/libpystf.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ @executable_path/../lib/stimfit/libpystf.dylib \ @BUILD_MODULE_FALSE@@BUILD_PYTHON_TRUE@@ISDARWIN_TRUE@ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: stimfit-0.14.11/compile0000755000175200017520000001624512606541740011655 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: stimfit-0.14.11/test-driver0000755000175200017520000001027712606541741012475 00000000000000#! /bin/sh # test-driver - basic testsuite driver script. scriptversion=2013-07-13.22; # UTC # Copyright (C) 2011-2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # Make unconditional expansion of undefined variables an error. This # helps a lot in preventing typo-related bugs. set -u usage_error () { echo "$0: $*" >&2 print_usage >&2 exit 2 } print_usage () { cat <$log_file 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then estatus=1 fi case $estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac # Report outcome to console. echo "${col}${res}${std}: $test_name" # Register the test result, and other relevant metadata. echo ":test-result: $res" > $trs_file echo ":global-test-result: $res" >> $trs_file echo ":recheck: $recheck" >> $trs_file echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: stimfit-0.14.11/Makefile.am0000755000175200017520000003560512521540625012334 00000000000000SUBDIRS = src if !BUILD_MODULE bin_PROGRAMS = stimfit check_PROGRAMS = stimfittest TESTS = ${check_PROGRAMS} stimfit_SOURCES = ./src/stimfit/gui/main.cpp stimfittest_SOURCES = ./src/test/section.cpp ./src/test/channel.cpp ./src/test/recording.cpp ./src/test/fit.cpp ./src/test/measure.cpp \ ./src/test/gtest/src/gtest-all.cc ./src/test/gtest/src/gtest_main.cc noinst_HEADERS = ./src/libstfio/channel.h ./src/libstfio/section.h ./src/libstfio/recording.h ./src/libstfio/stfio.h \ ./src/libstfio/cfs/cfslib.h ./src/libstfio/cfs/cfs.h ./src/libstfio/cfs/machine.h \ ./src/libstfio/hdf5/hdf5lib.h \ ./src/libstfio/heka/hekalib.h \ ./src/libstfio/abf/abflib.h \ ./src/libstfio/abf/axon/AxAbfFio32/abffiles.h \ ./src/libstfio/abf/axon/AxAbfFio32/csynch.hpp \ ./src/libstfio/abf/axon/AxAbfFio32/filedesc.hpp \ ./src/libstfio/abf/axon/Common/FileReadCache.hpp \ ./src/libstfio/abf/axon/Common/FileIO.hpp \ ./src/libstfio/abf/axon/AxAbfFio32/abfheadr.h \ ./src/libstfio/abf/axon/AxAbfFio32/oldheadr.h \ ./src/libstfio/abf/axon/AxAbfFio32/abfutil.h \ ./src/libstfio/abf/axon/AxAbfFio32/msbincvt.h \ ./src/libstfio/abf/axon/Common/unix.h \ ./src/libstfio/abf/axon/Common/axodefn.h \ ./src/libstfio/abf/axon/Common/axodebug.h \ ./src/libstfio/abf/axon/Common/wincpp.hpp \ ./src/libstfio/abf/axon/AxAbfFio32/AxAbffio32.h \ ./src/libstfio/abf/axon/AxAbfFio32/abfoldnx.h \ ./src/libstfio/abf/axon/Common/resource.h \ ./src/libstfio/abf/axon/AxAtfFio32/axatffio32.h \ ./src/libstfio/abf/axon/AxAtfFio32/atfutil.h \ ./src/libstfio/abf/axon/AxAtfFio32/atfintl.h \ ./src/libstfio/abf/axon/Common/colors.h \ ./src/libstfio/abf/axon/Common/adcdac.h \ ./src/libstfio/abf/axon/Common/ArrayPtr.hpp \ ./src/libstfio/abf/axon/Common/wincpp.hpp \ ./src/libstfio/abf/axon2/ProtocolReaderABF2.hpp \ ./src/libstfio/abf/axon2/SimpleStringCache.hpp \ ./src/libstfio/abf/axon2/ProtocolStructs.h \ ./src/libstfio/abf/axon2/abf2headr.h \ ./src/libstfio/atf/atflib.h \ ./src/libstfio/axg/axglib.h \ ./src/libstfio/axg/AxoGraph_ReadWrite.h \ ./src/libstfio/axg/fileUtils.h \ ./src/libstfio/axg/stringUtils.h \ ./src/libstfio/axg/byteswap.h \ ./src/libstfio/axg/longdef.h \ ./src/libstfio/igor/igorlib.h \ ./src/libstfio/igor/CrossPlatformFileIO.h \ ./src/libstfio/igor/IgorBin.h \ ./src/libstfnum/stfnum.h ./src/libstfnum/fit.h ./src/libstfnum/spline.h \ ./src/libstfnum/measure.h \ ./src/libstfnum/levmar/lm.h ./src/libstfnum/levmar/levmar.h \ ./src/libstfnum/levmar/misc.h ./src/libstfnum/levmar/compiler.h \ ./src/libstfnum/funclib.h \ ./src/stimfit/stf.h \ ./src/stimfit/gui/app.h ./src/stimfit/gui/stfcheckbox.h \ ./src/stimfit/gui/copygrid.h ./src/stimfit/gui/graph.h \ ./src/stimfit/gui/printout.h \ ./src/stimfit/gui/doc.h ./src/stimfit/gui/parentframe.h ./src/stimfit/gui/childframe.h ./src/stimfit/gui/view.h \ ./src/stimfit/gui/table.h ./src/stimfit/gui/zoom.h \ ./src/stimfit/gui/dlgs/convertdlg.h \ ./src/stimfit/gui/dlgs/cursorsdlg.h ./src/stimfit/gui/dlgs/eventdlg.h \ ./src/stimfit/gui/dlgs/fitseldlg.h ./src/stimfit/gui/dlgs/smalldlgs.h \ ./src/stimfit/gui/usrdlg/usrdlg.h \ ./src/test/gtest/include/gtest/gtest-death-test.h \ ./src/test/gtest/include/gtest/gtest-message.h \ ./src/test/gtest/include/gtest/gtest-param-test.h.pump \ ./src/test/gtest/include/gtest/gtest-printers.h \ ./src/test/gtest/include/gtest/gtest-spi.h \ ./src/test/gtest/include/gtest/gtest-typed-test.h \ ./src/test/gtest/include/gtest/gtest.h \ ./src/test/gtest/include/gtest/gtest-param-test.h \ ./src/test/gtest/include/gtest/gtest_pred_impl.h \ ./src/test/gtest/include/gtest/gtest_prod.h \ ./src/test/gtest/include/gtest/gtest-test-part.h \ ./src/test/gtest/include/gtest/internal/gtest-death-test-internal.h \ ./src/test/gtest/include/gtest/internal/gtest-linked_ptr.h \ ./src/test/gtest/include/gtest/internal/gtest-param-util.h \ ./src/test/gtest/include/gtest/internal/gtest-tuple.h \ ./src/test/gtest/include/gtest/internal/gtest-type-util.h.pump \ ./src/test/gtest/include/gtest/internal/gtest-filepath.h \ ./src/test/gtest/include/gtest/internal/gtest-param-util-generated.h \ ./src/test/gtest/include/gtest/internal/gtest-port.h \ ./src/test/gtest/include/gtest/internal/gtest-tuple.h.pump \ ./src/test/gtest/include/gtest/internal/gtest-internal.h \ ./src/test/gtest/include/gtest/internal/gtest-param-util-generated.h.pump \ ./src/test/gtest/include/gtest/internal/gtest-string.h \ ./src/test/gtest/include/gtest/internal/gtest-type-util.h \ ./src/test/gtest/src/gtest-internal-inl.h if WITH_BIOSIG2 noinst_HEADERS += ./src/libstfio/biosig/biosiglib.h else if WITH_BIOSIG noinst_HEADERS += ./src/libstfio/biosig/biosiglib.h endif # WITH_BIOSIG endif # WITH_BIOSIG2 EXTRA_DIST = ./src/stimfit/res/16-em-down.xpm EXTRA_DIST+= ./src/stimfit/res/16-em-open.xpm EXTRA_DIST+= ./src/stimfit/res/accept.xpm EXTRA_DIST+= ./src/stimfit/res/arrow_down.xpm EXTRA_DIST+= ./src/stimfit/res/arrow_left.xpm EXTRA_DIST+= ./src/stimfit/res/arrow_out.xpm EXTRA_DIST+= ./src/stimfit/res/arrow_right.xpm EXTRA_DIST+= ./src/stimfit/res/arrow_up.xpm EXTRA_DIST+= ./src/stimfit/res/camera.xpm EXTRA_DIST+= ./src/stimfit/res/camera_ps.xpm EXTRA_DIST+= ./src/stimfit/res/ch1.xpm EXTRA_DIST+= ./src/stimfit/res/ch2.xpm EXTRA_DIST+= ./src/stimfit/res/cursor.xpm EXTRA_DIST+= ./src/stimfit/res/event.xpm EXTRA_DIST+= ./src/stimfit/res/fit.xpm EXTRA_DIST+= ./src/stimfit/res/fit_lim.xpm EXTRA_DIST+= ./src/stimfit/res/latency_lim.xpm EXTRA_DIST+= ./src/stimfit/res/resultset_first.xpm EXTRA_DIST+= ./src/stimfit/res/resultset_last.xpm EXTRA_DIST+= ./src/stimfit/res/resultset_next.xpm EXTRA_DIST+= ./src/stimfit/res/resultset_previous.xpm EXTRA_DIST+= ./src/stimfit/res/slope.xpm EXTRA_DIST+= ./src/stimfit/res/stimfit.png EXTRA_DIST+= ./src/stimfit/res/stimfit16x16.xpm EXTRA_DIST+= ./src/stimfit/res/stimfit32x32.xpm EXTRA_DIST+= ./src/stimfit/res/sum_new.xpm EXTRA_DIST+= ./src/stimfit/res/sum_new_aligned.xpm EXTRA_DIST+= ./src/stimfit/res/table.xpm EXTRA_DIST+= ./src/stimfit/res/zoom.xpm EXTRA_DIST+= ./src/stimfit/res/zoom_in.xpm EXTRA_DIST+= ./src/stimfit/res/zoom_out.xpm EXTRA_DIST+= ./src/libstfnum/levmar/Axb_core.c EXTRA_DIST+= ./src/libstfnum/levmar/lmbc_core.c EXTRA_DIST+= ./src/libstfnum/levmar/lm_core.c EXTRA_DIST+= ./src/libstfnum/levmar/lmlec_core.c EXTRA_DIST+= ./src/libstfnum/levmar/misc_core.c EXTRA_DIST+= ./src/libstfnum/levmar/LICENSE EXTRA_DIST+= ./src/libstfnum/levmar/README.txt EXTRA_DIST+= ./doc/Doxyfile EXTRA_DIST+= ./acsite.m4 EXTRA_DIST+= ./autogen.sh EXTRA_DIST+= ./Makefile.static EXTRA_DIST+= ./dist/macosx/scripts/conf_mac_release.sh EXTRA_DIST+= ./dist/macosx/scripts/change_deps_release.sh EXTRA_DIST+= ./dist/macosx/app.r EXTRA_DIST+= ./dist/macosx/stimfit.icns EXTRA_DIST+= ./src/pystfio/__init__.py # EXTRA_DIST+= ./src/pystfio/stfioswig_wrap.cxx # EXTRA_DIST+= ./src/pystfio/stfio.py EXTRA_DIST+= ./src/pystfio/pystfio.cxx EXTRA_DIST+= ./src/pystfio/pystfio.i EXTRA_DIST+= ./src/pystfio/stfio_plot.py EXTRA_DIST+= ./src/pystfio/stfio_neo.py EXTRA_DIST+= ./src/pystfio/unittest_stfio.py EXTRA_DIST+= ./src/pystfio/test.h5 EXTRA_DIST+= ./src/pystfio/pystfio.h # EXTRA_DIST+= ./dist/debian/changelog EXTRA_DIST+= ./dist/debian/compat EXTRA_DIST+= ./dist/debian/control EXTRA_DIST+= ./dist/debian/copyright EXTRA_DIST+= ./dist/debian/docs EXTRA_DIST+= ./dist/debian/mkdeb.sh EXTRA_DIST+= ./dist/debian/python-stfio.files EXTRA_DIST+= ./dist/debian/python-stfio.install EXTRA_DIST+= ./dist/debian/rules EXTRA_DIST+= ./dist/debian/stimfit.1 EXTRA_DIST+= ./dist/debian/stimfit.desktop EXTRA_DIST+= ./dist/debian/stimfit.files EXTRA_DIST+= ./dist/debian/stimfit.install EXTRA_DIST+= ./dist/debian/stimfit.menu EXTRA_DIST+= ./src/test/gtest/CHANGES EXTRA_DIST+= ./src/test/gtest/CONTRIBUTORS EXTRA_DIST+= ./src/test/gtest/COPYING EXTRA_DIST+= ./src/test/gtest/README EXTRA_DIST+= ./src/test/gtest/src/gtest.cc EXTRA_DIST+= ./src/test/gtest/src/gtest-death-test.cc EXTRA_DIST+= ./src/test/gtest/src/gtest-filepath.cc EXTRA_DIST+= ./src/test/gtest/src/gtest-port.cc EXTRA_DIST+= ./src/test/gtest/src/gtest-printers.cc EXTRA_DIST+= ./src/test/gtest/src/gtest-test-part.cc EXTRA_DIST+= ./src/test/gtest/src/gtest-typed-test.cc if BUILD_PYTHON PYTHON_ADDINCLUDES = $(LIBPYTHON_INCLUDES) PYTHON_ADDLDFLAGS = $(LIBPYTHON_LDFLAGS) PYTHON_ADDLIBS = ./src/stimfit/py/libpystf.la else !BUILD_PYTHON PYTHON_ADDLDFLAGS = PYTHON_ADDLIBS = PYTHON_ADDINCLUDES = endif !BUILD_PYTHON INCLUDES = $(PYTHON_ADDINCLUDES) stimfit_CXXFLAGS = $(OPT_CXXFLAGS) $(WX_CXXFLAGS) stimfit_LDFLAGS = $(LIBLAPACK_LDFLAGS) $(PYTHON_ADDLDFLAGS) $(LIBSTF_LDFLAGS) $(LIBBIOSIG_LDFLAGS) stimfit_LDADD = $(WX_LIBS) -lfftw3 ./src/stimfit/libstimfit.la ./src/libstfio/libstfio.la ./src/libstfnum/libstfnum.la # $(PYTHON_ADDLIBS) stimfittest_CXXFLAGS = $(GT_CXXFLAGS) $(WX_CXXFLAGS) stimfittest_CPPFLAGS = ${CPPFLAGS} $(GT_CPPFLAGS) -DSTF_TEST -I$(top_srcdir)/src/test/gtest -I$(top_srcdir)/src/test/gtest/include stimfittest_LDFLAGS = $(LIBLAPACK_LDFLAGS) $(PYTHON_ADDLDFLAGS) $(GT_LDFLAGS) stimfittest_LDADD = $(WX_LIBS) $(PYTHON_ADDLIBS) $(GT_LIBS) -lfftw3 ./src/stimfit/libstimfit.la ./src/libstfio/libstfio.la ./src/libstfnum/libstfnum.la if !ISDARWIN if BUILD_DEBIAN LTTARGET=/usr/lib/stimfit install-exec-hook: $(LIBTOOL) --finish $(prefix)/lib/stimfit chrpath -r $(LTTARGET) $(prefix)/bin/stimfit chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libpystf.so chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libstimfit.so chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libstfio.so chrpath -r $(LTTARGET) $(prefix)/lib/stimfit/libstfnum.so install -d $(prefix)/share/pixmaps install -d $(prefix)/share/applications install -m 644 $(top_srcdir)/src/stimfit/res/stimfit16x16.xpm $(prefix)/share/pixmaps/stimfit16x16.xpm install -m 644 $(top_srcdir)/src/stimfit/res/stimfit32x32.xpm $(prefix)/share/pixmaps/stimfit32x32.xpm install -m 644 $(top_srcdir)/dist/debian/stimfit.desktop $(prefix)/share/applications/ else !BUILD_DEBIAN LTTARGET=$(prefix)/lib/stimfit install-exec-hook: $(LIBTOOL) --finish $(LTTARGET) chrpath -r $(LTTARGET) $(prefix)/bin/stimfit install -d $(prefix)/share/pixmaps install -d $(prefix)/share/applications install -m 644 $(top_srcdir)/src/stimfit/res/stimfit16x16.xpm $(prefix)/share/pixmaps/stimfit16x16.xpm install -m 644 $(top_srcdir)/src/stimfit/res/stimfit32x32.xpm $(prefix)/share/pixmaps/stimfit32x32.xpm install -m 644 $(top_srcdir)/dist/debian/stimfit.desktop $(prefix)/share/applications/ endif !BUILD_DEBIAN uninstall-hook: rm -f $(prefix)/share/pixmaps/stimfit16x16.xpm rm -f $(prefix)/share/pixmaps/stimfit32x32.xpm rm -f $(prefix)/share/applications/stimfit.desktop else ISDARWIN LTTARGET=$(prefix)/lib/stimfit # wxMac resource fork/unbundled app install: stimfit mkdir -p ${DESTDIR}/stimfit.app/Contents/MacOS mkdir -p ${DESTDIR}/stimfit.app/Contents/Resources mkdir -p ${DESTDIR}/stimfit.app/Contents/Resources/English.lproj mkdir -p ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit mkdir -p ${DESTDIR}/stimfit.app/Contents/lib/stimfit cp -v ./src/stimfit/.libs/libstimfit.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib cp -v ./src/libstfio/.libs/libstfio.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfio.dylib cp -v ./src/libstfnum/.libs/libstfnum.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfnum.dylib cp $(top_srcdir)/dist/macosx/stimfit.plist.in ${DESTDIR}/stimfit.app/Contents/Info.plist echo "APPL????\c" > ${DESTDIR}/stimfit.app/Contents/PkgInfo rm -f ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) cp -p -f .libs/stimfit$(EXEEXT) ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) if BUILD_PYTHON cp -v ./src/stimfit/py/.libs/libpystf.dylib ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib ln -sf ../../lib/stimfit/libpystf.dylib ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/_stf.so cp -v $(top_srcdir)/src/stimfit/py/*.py ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/ cp -v $(top_srcdir)/src/pystfio/*.py ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/ ${PYTHON} -m compileall -l ${DESTDIR}/stimfit.app/Contents/Frameworks/stimfit/ endif BUILD_PYTHON $(POSTLINK_COMMAND) ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) \ $(srcdir)/dist/macosx/app.r $(MACSETFILE) -a C ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit$(EXEEXT) cp -f $(top_srcdir)/dist/macosx/stimfit.icns ${DESTDIR}/stimfit.app/Contents/Resources/stimfit.icns install_name_tool -change \ $(LTTARGET)/libstimfit.dylib \ @executable_path/../lib/stimfit/libstimfit.dylib \ ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit install_name_tool -change \ $(LTTARGET)/libstfio.dylib \ @executable_path/../lib/stimfit/libstfio.dylib \ ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit install_name_tool -change \ $(LTTARGET)/libstfnum.dylib \ @executable_path/../lib/stimfit/libstfnum.dylib \ ${DESTDIR}/stimfit.app/Contents/MacOS/stimfit install_name_tool -change \ $(LTTARGET)/libstimfit.dylib \ @executable_path/../lib/stimfit/libstimfit.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib install_name_tool -change \ $(LTTARGET)/libstfio.dylib \ @executable_path/../lib/stimfit/libstfio.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib install_name_tool -change \ $(LTTARGET)/libstfio.dylib \ @executable_path/../lib/stimfit/libstfio.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfio.dylib install_name_tool -change \ $(LTTARGET)/libstfnum.dylib \ @executable_path/../lib/stimfit/libstfnum.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstimfit.dylib install_name_tool -change \ $(LTTARGET)/libstfnum.dylib \ @executable_path/../lib/stimfit/libstfnum.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libstfnum.dylib if BUILD_PYTHON install_name_tool -change \ $(LTTARGET)/libstimfit.dylib \ @executable_path/../lib/stimfit/libstimfit.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib install_name_tool -change \ $(LTTARGET)/libstfio.dylib \ @executable_path/../lib/stimfit/libstfio.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib install_name_tool -change \ $(LTTARGET)/libstfnum.dylib \ @executable_path/../lib/stimfit/libstfnum.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib install_name_tool -change \ $(LTTARGET)/libpystf.dylib \ @executable_path/../lib/stimfit/libpystf.dylib \ ${DESTDIR}/stimfit.app/Contents/lib/stimfit/libpystf.dylib endif BUILD_PYTHON endif ISDARWIN endif # !BUILD_MODULE stimfit-0.14.11/COPYING0000755000175200017520000004313112277666257011346 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. stimfit-0.14.11/depcomp0000755000175200017520000005601612606541741011655 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: stimfit-0.14.11/NEWS0000755000175200017520000000000012277666257010776 00000000000000stimfit-0.14.11/ChangeLog0000644000175200017520000004143312623045204012037 00000000000000stimfit (0.14.11-1) unstable; urgency=low * Improve usability of stfio_plot.Timeseries -- Christoph Schmidt-Hieber Wed, 18 Nov 2015 09:52:53 +0000 stimfit (0.14.10-1) experimental; urgency=low * Improve batch file conversion usability * Fix Debian dependencies -- Christoph Schmidt-Hieber Mon, 04 May 2015 04:20:24 +0100 stimfit (0.14.9-1) experimental; urgency=low * Fix several bugs during abf2 (pClamp10) file reading * Fix several issues during event detection -- Christoph Schmidt-Hieber Sun, 05 Apr 2015 12:33:50 +0100 stimfit (0.14.5-2) experimental; urgency=low * Fix several bugs during event detection * Fix several bugs during file reading (abf, axograph and hdf5) * Alternatively use wx 2.8 instead of wx 3.0 for Debian packages -- Christoph Schmidt-Hieber Mon, 03 Mar 2015 19:29:58 +0000 stimfit (0.13.19-1) unstable; urgency=low * Update to use wxWidgets 3.0 (Closes: #757289) -- Christoph Schmidt-Hieber Sat, 30 Aug 2014 14:40:04 +0000 stimfit (0.13.18-1) unstable; urgency=low * Support hdf5 1.8.13 new packaging layout (Closes: #756699) * Support dpkg-buildflags with --enable-module * Improved information/error messages -- Christoph Schmidt-Hieber Fri, 01 Aug 2014 10:57:51 +0000 stimfit (0.13.15-1) unstable; urgency=low * Fix half duration limits bug * Use neo's StimfitIO implementation * Address some lintian warnings -- Christoph Schmidt-Hieber Sun, 16 Feb 2014 12:48:51 +0000 stimfit (0.13.13-1) unstable; urgency=low * Import/Export from/to python-neo * Fix potential buffer overflows * Fix some bugs in Python code * Use libhdf5-dev instead of libhdf5-serial-dev dependency (Closes: #735157) * Use dh-autoreconf to fix FTBFS on ppc64el (Closes: #735231) * Distinguish only between Windows and non-Windows builds (implicitly posix) (Closes: #728094) -- Christoph Schmidt-Hieber Sun, 09 Feb 2014 10:56:06 +0000 stimfit (0.13.6-1) unstable; urgency=low * Export stfio recordings to pandas * Improved support for accessing date and time of recordings -- Christoph Schmidt-Hieber Wed, 11 Dec 2013 21:42:13 +0000 stimfit (0.13.5-1) unstable; urgency=low * New upstream release - Don't write test results to disk - Fall back to gcc/Unix for unknown platforms/compilers in axodefn.h (Closes: #728094) * Improved batch analysis * Multi-channel concatenation * Less disruptive warnings and error messages -- Christoph Schmidt-Hieber Sat, 30 Nov 2013 18:23:23 +0000 stimfit (0.13.2-1) unstable; urgency=low * New upstream release - Disambiguate template type in boost's reset (Closes: #720825) * Faster plotting * Add support for inner and outer rise time computations * Add option 'align to half-amplitude' when computing averages * Fix some potential buffer overflows * Improve biosig integration * Improve deconvolution-based event detection * Improve fit initialization for some functions -- Christoph Schmidt-Hieber Tue, 17 Sep 2013 16:47:30 +0000 stimfit (0.12.5-1) UNRELEASED; urgency=low * More robust initialization for nonlinear regression * Faster convergence for most fits * Add support for latest abf2 file format (Clampex 10.4) * Fix potential buffer overflow when computing averages -- Christoph Schmidt-Hieber Mon, 08 Jul 2013 19:55:04 +0000 stimfit (0.12.1-1) experimental; urgency=low * Use biosig as additional file reading backend -- Christoph Schmidt-Hieber Tue, 02 Apr 2013 21:22:06 +0000 stimfit (0.11.9-1) UNRELEASED; urgency=low * Fix latency measurements in manual peak mode * GUI adjustments * Build for Debian proper -- Christoph Schmidt-Hieber Fri, 29 Mar 2013 09:20:13 +0000 stimfit (0.11.8-0lucid1) lucid; urgency=low * Make objects iterable in pystfio * Prettify fit dialog -- Christoph Schmidt-Hieber Sun, 17 Feb 2013 13:02:28 +0000 stimfit (0.11.7-0lucid1) lucid; urgency=low * Add missing library to stfio debian package -- Christoph Schmidt-Hieber Sat, 16 Feb 2013 20:20:24 +0000 stimfit (0.11.6-0lucid1) lucid; urgency=low * Corrected some bugs in cursor dialogs -- Christoph Schmidt-Hieber Sat, 16 Feb 2013 14:30:00 +0000 stimfit (0.11.4-0precise1) precise; urgency=low * Fixed monoexponential fit with delay * Release hdf5 resources after reading / writing a file -- Christoph Schmidt-Hieber Fri, 20 Apr 2012 17:18:43 +0000 stimfit (0.11.1-1oneiric1) oneiric; urgency=low * Added stfio_plot.py to stimfit -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 16:41:23 +0000 stimfit (0.11.1-1natty1) natty; urgency=low * Added stfio_plot.py to stimfit -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 16:40:08 +0000 stimfit (0.11.1-1maverick1) maverick; urgency=low * Added stfio_plot.py to stimfit -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 16:39:02 +0000 stimfit (0.11.1-1lucid1) lucid; urgency=low * Added stfio_plot.py to stimfit -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 16:33:22 +0000 stimfit (0.11.0-1oneiric1) oneiric; urgency=low * libstfio factored out as separate, GUI-independent library -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 15:50:54 +0000 stimfit (0.11.0-1natty1) natty; urgency=low * libstfio factored out as separate, GUI-independent library -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 15:48:41 +0000 stimfit (0.11.0-1maverick1) maverick; urgency=low * libstfio factored out as separate, GUI-independent library -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 15:42:22 +0000 stimfit (0.11.0-1lucid1) lucid; urgency=low * libstfio factored out as separate, GUI-independent library -- Christoph Schmidt-Hieber Sat, 08 Oct 2011 14:49:00 +0000 stimfit (0.10.18-2) UNRELEASED; urgency=low * Acknowledging previous NMU * Adjusted dh_python2 call to - invoke it only whenever it is present - do not carry hardcoded python version in X-Python-Version but rather specify current default using -V cmdline option * Use of DEB_BUILD_OPTIONS - Condition running tests on not having 'nocheck' - Rely on parallel= option to specify number of parallel builds, instead of hardcoded -j4 * Use of dh_numpy (if present) to specify numpy ABI dependency * Added ${python:Depends} to stimfit itself -- Yaroslav Halchenko Sun, 04 Mar 2012 17:03:34 -0500 stimfit (0.10.18-1.1) unstable; urgency=low * Non-maintainer upload. * Use dh_python2 to set proper dependencies for python-stfio. Note: this only happens for Python 2.7, building for all versions needs maintainer work and isn't suitable for NMU. Closes: #631983 -- Jonathan Wiltshire Sun, 04 Mar 2012 13:33:02 +0000 stimfit (0.10.18-1) unstable; urgency=low * Updated copyright notice for numpy.i -- Christoph Schmidt-Hieber Sat, 10 Sep 2011 15:46:33 +0000 stimfit (0.10.17-1oneiric1) oneiric; urgency=low * Do not redirect Python stdio to separate Window (Closes: #639672) * From previous unreleased version: provide gtest source files (Closes: #631825) -- Christoph Schmidt-Hieber Tue, 30 Aug 2011 23:02:16 +0000 stimfit (0.10.17-1natty1) natty; urgency=low * Do not redirect Python stdio to separate Window (Closes: #639672) * From previous unreleased version: provide gtest source files (Closes: #631825) -- Christoph Schmidt-Hieber Tue, 30 Aug 2011 22:55:12 +0000 stimfit (0.10.17-1maverick1) maverick; urgency=low * Do not redirect Python stdio to separate Window (Closes: #639672) * From previous unreleased version: provide gtest source files (Closes: #631825) -- Christoph Schmidt-Hieber Tue, 30 Aug 2011 22:53:32 +0000 stimfit (0.10.17-1lucid2) lucid; urgency=low * Added source package -- Christoph Schmidt-Hieber Tue, 30 Aug 2011 22:47:50 +0000 stimfit (0.10.17-1lucid1) lucid; urgency=low * Do not redirect Python stdio to separate Window (Closes: #639672) * From previous unreleased version: provide gtest source files (Closes: #631825) -- Christoph Schmidt-Hieber Tue, 30 Aug 2011 22:38:59 +0000 stimfit (0.10.17-1) UNRELEASED; urgency=low * Do not redirect Python stdio to separate Window (Closes: #639672) * From previous unreleased version: provide gtest source files (Closes: #631825) -- Christoph Schmidt-Hieber Tue, 30 Aug 2011 18:17:57 +0000 stimfit (0.10.16-1ubuntu3) natty; urgency=low * Provide gtest source files (Closes: #631825) * File series conversion implemented by Jose Guzman -- Christoph Schmidt-Hieber Sun, 24 Jul 2011 19:13:35 +0000 stimfit (0.10.16-1ubuntu2) maverick; urgency=low * Provide gtest source files (Closes: #631825) * File series conversion implemented by Jose Guzman -- Christoph Schmidt-Hieber Sun, 24 Jul 2011 19:10:52 +0000 stimfit (0.10.16-1ubuntu1) lucid; urgency=low * Provide gtest source files (Closes: #631825) * File series conversion implemented by Jose Guzman -- Christoph Schmidt-Hieber Sun, 24 Jul 2011 19:04:50 +0000 stimfit (0.10.16-1) UNRELEASED; urgency=low * Provide gtest source files (Closes: #631825) * File series conversion implemented by Jose Guzman -- Christoph Schmidt-Hieber Sun, 24 Jul 2011 16:59:56 +0000 stimfit (0.10.15-0ubuntu3) lucid; urgency=low * Igor file export -- Christoph Schmidt-Hieber Tue, 24 May 2011 23:42:50 +0000 stimfit (0.10.15-0ubuntu2) maverick; urgency=low * Igor file export -- Christoph Schmidt-Hieber Tue, 24 May 2011 22:36:01 +0000 stimfit (0.10.15-0ubuntu1) natty; urgency=low * Igor file export -- Christoph Schmidt-Hieber Tue, 24 May 2011 22:45:06 +0000 stimfit (0.10.14-0ubuntu1) lucid; urgency=low * Use unified menu on GTK to resolve problems with Unity and gnome-global-menu applet * Started support for viewing all channels -- Christoph Schmidt-Hieber Mon, 11 Apr 2011 14:56:55 +0000 stimfit (0.10.13-1ubuntu5) natty; urgency=low * Added scaling support to levmar * Fixed a bug in HEKA file reading library * Reversioned because of source change -- Christoph Schmidt-Hieber Sat, 02 Apr 2011 14:03:45 +0000 stimfit (0.10.13-1ubuntu4) maverick; urgency=low * Added scaling support to levmar * Fixed a bug in HEKA file reading library * Reversioned because of source change -- Christoph Schmidt-Hieber Sat, 02 Apr 2011 13:57:48 +0000 stimfit (0.10.13-1ubuntu3) natty; urgency=low * Added scaling support to levmar * Fixed a bug in HEKA file reading library -- Christoph Schmidt-Hieber Sat, 02 Apr 2011 13:27:16 +0000 stimfit (0.10.13-1ubuntu2) maverick; urgency=low * Added scaling support to levmar * Fixed a bug in HEKA file reading library -- Christoph Schmidt-Hieber Sat, 02 Apr 2011 13:21:56 +0000 stimfit (0.10.13-1ubuntu1) lucid; urgency=low * Added scaling support to levmar * Fixed a bug in HEKA file reading library -- Christoph Schmidt-Hieber Sat, 02 Apr 2011 12:45:43 +0000 stimfit (0.10.13-1) unstable; urgency=low * Added scaling support to levmar * Fixed a bug in HEKA file reading library -- Christoph Schmidt-Hieber Sat, 02 Apr 2011 12:33:21 +0000 stimfit (0.10.12-3) unstable; urgency=low * Fixed time stamp for Debian. -- Christoph Schmidt-Hieber Sat, 26 Feb 2011 12:27:04 +0000 stimfit (0.10.12-2) unstable; urgency=low * Fixed version number for Debian. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 21:10:56 +0000 stimfit (0.10.12-1) UNRELEASED; urgency=low * Fixed gtest build on sid. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 21:10:56 +0000 stimfit (0.10.12-1ubuntu1) natty; urgency=low * Fixed gtest build on natty. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 15:36:31 +0000 stimfit (0.10.11-1ubuntu5) natty; urgency=low * Resolved some dependency problems in Python module. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 14:55:59 +0000 stimfit (0.10.11-1ubuntu4) maverick; urgency=low * Resolved some dependency problems in Python module. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 14:39:29 +0000 stimfit (0.10.11-1ubuntu3) natty; urgency=low * Resolved some dependency problems in Python module. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 14:08:14 +0000 stimfit (0.10.11-1ubuntu2) maverick; urgency=low * Resolved some dependency problems in Python module. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 14:06:39 +0000 stimfit (0.10.11-1ubuntu1) lucid; urgency=low * Resolved some dependency problems in Python module. -- Christoph Schmidt-Hieber Wed, 23 Feb 2011 13:53:47 +0000 stimfit (0.10.11-1) unstable; urgency=low * Resolved some dependency problems in Python module. -- Christoph Schmidt-Hieber Tue, 22 Feb 2011 20:12:18 +0000 stimfit (0.10.10-1ubuntu1) lucid; urgency=low * Failed upload required yet another reversioning... -- Christoph Schmidt-Hieber Thu, 08 Feb 2011 18:11:03 +0000 stimfit (0.10.9-1ubuntu3) lucid; urgency=low * Failed upload required reversioning -- Christoph Schmidt-Hieber Thu, 08 Feb 2011 17:54:56 +0000 stimfit (0.10.9-1ubuntu2) lucid; urgency=low * Moved Python files from dist-packages to private directory (/usr/lib/stimfit) to comply with debian packaging rules. * Minimal unit testing during build. -- Christoph Schmidt-Hieber Thu, 08 Feb 2011 17:34:09 +0000 stimfit (0.10.9-1ubuntu1) maverick; urgency=low * Moved Python files from dist-packages to private directory (/usr/lib/stimfit) to comply with debian packaging rules. * Minimal unit testing during build. -- Christoph Schmidt-Hieber Thu, 08 Feb 2011 17:31:57 +0000 stimfit (0.10.9-1) unstable; urgency=low * Moved Python files from dist-packages to private directory (/usr/lib/stimfit) to comply with debian packaging rules. * Minimal unit testing during build. * Initial Debian release (Closes: #612375) * Upload sponsored by Yaroslav Halchenko -- Christoph Schmidt-Hieber Thu, 08 Feb 2011 16:23:29 +0000 stimfit (0.10.8-0ubuntu2) lucid; urgency=low * Increased matplotlib compatibility * Started to replace printing and graphics export functions using matplotlib as the backend -- Christoph Schmidt-Hieber Thu, 05 Feb 2011 19:44:35 +0000 stimfit (0.10.8-0ubuntu1) maverick; urgency=low * Increased matplotlib compatibility * Started to replace printing and graphics export functions using matplotlib as the backend -- Christoph Schmidt-Hieber Thu, 05 Feb 2011 19:19:41 +0000 stimfit (0.10.7-0ubuntu2) lucid; urgency=low * Fixed "Apply scaling to all windows" -- Christoph Schmidt-Hieber Mon, 31 Jan 2011 11:00:55 +0000 stimfit (0.10.7-0ubuntu1) maverick; urgency=low * Fixed "Apply scaling to all windows" -- Christoph Schmidt-Hieber Thu, 27 Jan 2011 17:12:21 +0000 stimfit (0.10.6-0ubuntu2) lucid; urgency=low * Fixed a bug when accessing files from the Python shell. -- Christoph Schmidt-Hieber Thu, 27 Jan 2011 17:12:21 +0000 stimfit (0.10.6-0ubuntu1) maverick; urgency=low * Fixed a bug when accessing files from the Python shell. -- Christoph Schmidt-Hieber Thu, 27 Jan 2011 17:12:21 +0000 stimfit (0.10.5-0ubuntu5) lucid; urgency=low * Reversioned for lucid. -- Christoph Schmidt-Hieber Sun, 23 Jan 2011 16:32:52 +0000 stimfit (0.10.5-0ubuntu4) lucid; urgency=low * Initial release for lucid (10.04). -- Christoph Schmidt-Hieber Sun, 23 Jan 2011 16:24:41 +0000 stimfit (0.10.5-0ubuntu4) maverick; urgency=low * Added build-arch to debian rules. -- Christoph Schmidt-Hieber Sun, 23 Jan 2011 15:53:17 +0000 stimfit (0.10.5-0ubuntu3) maverick; urgency=low * Added source to upload. -- Christoph Schmidt-Hieber Sun, 23 Jan 2011 15:04:35 +0000 stimfit (0.10.5-0ubuntu2) maverick; urgency=low * Uploaded to wrong ppa. -- Christoph Schmidt-Hieber Sun, 23 Jan 2011 15:04:35 +0000 stimfit (0.10.5-0ubuntu1) maverick; urgency=low * Initial release. -- Christoph Schmidt-Hieber Sat, 22 Jan 2011 20:06:14 +0000 stimfit-0.14.11/configure.ac0000644000175200017520000002710212622700407012552 00000000000000AC_INIT([stimfit],[0.14.11]) AC_CONFIG_SRCDIR(src/stimfit/gui/main.cpp) AM_INIT_AUTOMAKE([1.11]) AM_SILENT_RULES([yes]) AC_CONFIG_MACRO_DIR([m4]) AC_PROG_CC AC_PROG_INSTALL _LT_SET_OPTION([LT_INIT],[dlopen]) AC_DIAGNOSE([obsolete],[AC_LIBTOOL_DLOPEN: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) LT_INIT AC_PROG_CPP AC_PROG_AWK AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_MKDIR_P AC_PROG_CXX AC_PROG_LIBTOOL # BUILDDATE=`date` # Build a standalone python module AC_ARG_ENABLE([module], AS_HELP_STRING([--enable-module],[build a standalone python module; implies --enable-python]),[]) AM_CONDITIONAL(BUILD_MODULE, test "$enable_module" = "yes") # pbuilder debian package build AC_ARG_ENABLE([debian], AS_HELP_STRING([--enable-debian],[special build for pbuilder]),[]) AM_CONDITIONAL(BUILD_DEBIAN, test "$enable_debian" = "yes") AC_MSG_CHECKING(for kernel) case `uname` in Darwin) AC_MSG_RESULT(darwin) CXXFLAGS="${CXXFLAGS} -fPIC" CFLAGS="${CFLAGS} -fPIC" STFKERNEL="darwin" ;; *) # treat everything else (kfreebsd, hurd) as linux AC_MSG_RESULT(linux or similar) CXXFLAGS="-fPIC" CFLAGS="-fPIC" STFKERNEL="linux" ;; esac AM_CONDITIONAL([ISDARWIN], [test $STFKERNEL = "darwin"]) # Checks for python libraries. AC_ARG_ENABLE([python], AS_HELP_STRING( [--enable-python], [enable python console (default="yes")]),, [enable_python="yes"]) AM_CONDITIONAL(BUILD_PYTHON, test "$enable_python" = "yes") if (test "$enable_python" = "yes") || (test "$enable_module" = "yes"); then AC_PYTHON_DEVEL AC_PROG_SWIG(1.3.17) SWIG_ENABLE_CXX SWIG_PYTHON AC_SUBST(SWIG) CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" LIBPYTHON_LDFLAGS=$PYTHON_LDFLAGS LIBPYTHON_INCLUDES=$PYTHON_CPPFLAGS LIBNUMPY_INCLUDES=$PYTHON_NUMPY_INCLUDE else LIBPYTHON_LDFLAGS= LIBPYTHON_INCLUDES= LIBNUMPY_INCLUDES= fi AC_SUBST(LIBPYTHON_LDFLAGS) AC_SUBST(LIBPYTHON_INCLUDES) AC_SUBST(LIBNUMPY_INCLUDES) AC_MSG_CHECKING(for kernel) case ${STFKERNEL} in darwin) LIBSTF_LDFLAGS="-avoid-version" if test "$enable_module" = "yes" ; then CPPFLAGS="${CPPFLAGS} -DMODULE_ONLY" else CPPFLAGS="${CPPFLAGS}" fi STF_PYTHON_LIBNAME="libpystf.dylib" STFIO_PYTHON_LIBNAME="libpystfio.dylib" ARCH_FLAGS="" CFLAGS="${CFLAGS} ${ARCH_FLAGS}" CXXFLAGS="${CXXFLAGS} ${ARCH_FLAGS}" LDFLAGS="${LDFLAGS} ${ARCH_FLAGS}" OBJCFLAGS="${OBJCFLAGS} ${ARCH_FLAGS}" OBJCXXFLAGS="${OBJCXXFLAGS} ${ARCH_FLAGS}" ;; *) if test "$enable_module" = "yes" ; then LIBSTF_LDFLAGS="-avoid-version" CPPFLAGS="${CPPFLAGS} -DMODULE_ONLY" else if test "$enable_debian" = "yes" ; then LIBSTF_LDFLAGS="-Wl,-rpath,/usr/lib/stimfit -avoid-version" else LIBSTF_LDFLAGS="-Wl,-rpath,${prefix}/lib/stimfit -avoid-version" fi CPPFLAGS="${CPPFLAGS}" fi if test "$enable_debian" = "yes" ; then CPPFLAGS="${CPPFLAGS} `dpkg-buildflags --get CPPFLAGS`" CFLAGS="${CFLAGS} `dpkg-buildflags --get CFLAGS`" CXXFLAGS="${CXXFLAGS} `dpkg-buildflags --get CXXFLAGS`" LDFLAGS="${LDFLAGS} `dpkg-buildflags --get LDFLAGS`" fi STF_PYTHON_LIBNAME="libpystf.so" STFIO_PYTHON_LIBNAME="libpystfio.so" ;; esac AC_SUBST(LIBSTF_LDFLAGS) AC_SUBST(STF_PYTHON_LIBNAME) AC_SUBST(STFIO_PYTHON_LIBNAME) # Checks for python libraries. if test "$enable_python" = "yes" ; then CPPFLAGS="${CPPFLAGS} -DWITH_PYTHON" fi AC_ARG_ENABLE([ipython], AS_HELP_STRING([--enable-ipython],[enable ipython as the default shell (experimental); implies --enable-python]),[]) if test "$enable_ipython" = "yes" ; then CPPFLAGS="${CPPFLAGS} -DIPYTHON" fi # Build the exotic Stimfit flavour with Slope cursors AC_ARG_WITH([pslope], AS_HELP_STRING([--with-pslope],[include slope measure cursors]),[]) if test "$with_pslope" = "yes" ; then CPPFLAGS="${CPPFLAGS} -DWITH_PSLOPE" fi AC_ARG_WITH([biosig], AS_HELP_STRING([--with-biosig],[build with libbiosig support - better tested than --with-biosig2]),[]) AM_CONDITIONAL(WITH_BIOSIG, test "$with_biosig" = "yes") AC_ARG_WITH([biosig2], AS_HELP_STRING([--with-biosig2],[alternative to --with-biosig - eventually, this will provide better ABI compatibility when upgrading libbiosig; currently it's in a testing state; requires libbiosig2 v1.5.6 or higher]),[]) AM_CONDITIONAL(WITH_BIOSIG2, test "$with_biosig2" = "yes") if test "$with_biosig2" = "yes" ; then CPPFLAGS="${CPPFLAGS} -DWITH_BIOSIG2" LIBBIOSIG_LDFLAGS="-lbiosig2 -lcholmod" elif test "$with_biosig" = "yes" ; then CPPFLAGS="${CPPFLAGS} -DWITH_BIOSIG" LIBBIOSIG_LDFLAGS="-lbiosig -lcholmod" fi AC_SUBST(LIBBIOSIG_LDFLAGS) AC_ARG_WITH([lapack-lib], AS_HELP_STRING([--with-lapack-lib=LAPACKLIB],[Provide full path to custom lapack library]), [ if test "$withval" != "yes" -a "$withval" != ""; then LAPACKLIB=$withval LIBLAPACK_LDFLAGS="$LAPACKLIB" CPPFLAGS="${CPPFLAGS} -DHAVE_LAPACK" fi ]) # Checks for libraries. AC_CHECK_LIB([fftw3], [fftw_malloc], HAVE_FFTW3="yes") if test "${HAVE_FFTW3}" != "yes" ; then AC_MSG_ERROR([Couldn't find fftw3.]) fi if test "$LAPACKLIB" = ""; then if test "$STFKERNEL" = "darwin" ; then # System LAPACK LIBLAPACK_LDFLAGS="/usr/lib/liblapack.dylib -framework Accelerate" CPPFLAGS="${CPPFLAGS} -DHAVE_LAPACK -DHAVE_LAPACK_SUFFIX" else AC_CHECK_LIB([lapack], [dgemm_], HAVE_LAPACKX="yes") if test "${HAVE_LAPACKX}" != "yes" ; then AC_CHECK_LIB([lapack3], [dgemm_], HAVE_LAPACK3="yes") if test "${HAVE_LAPACK3}" != "yes" ; then AC_CHECK_LIB([lapack-3], [dgemm_], HAVE_LAPACK_3="yes") if test "${HAVE_LAPACK_3}" != "yes" ; then AC_CHECK_LIB([blas], [dgemm_], HAVE_ATLAS="yes") if test "${HAVE_ATLAS}" != "yes" ; then AC_MSG_ERROR([Couldn't find lapack.]) else LIBLAPACK_LDFLAGS="-llapack -lblas" CPPFLAGS="${CPPFLAGS} -DHAVE_LAPACK " fi else LIBLAPACK_LDFLAGS="-llapack-3" CPPFLAGS="${CPPFLAGS} -DHAVE_LAPACK " fi else LIBLAPACK_LDFLAGS=-llapack3 CPPFLAGS="${CPPFLAGS} -DHAVE_LAPACK " fi else LIBLAPACK_LDFLAGS="-llapack -lblas" CPPFLAGS="${CPPFLAGS} -DHAVE_LAPACK " fi fi fi AC_SUBST(LIBLAPACK_LDFLAGS) # stuff not required for standalone module if test "$enable_module" != "yes"; then # Optionally enables aui for doc/view architecture AC_ARG_ENABLE([aui], AS_HELP_STRING([--enable-aui],[enable AUI for the doc/view architecture (experimental)]),[]) if test "$enable_aui" = "yes" ; then CPPFLAGS="${CPPFLAGS} -DWITH_AUIDOCVIEW" fi WXCONFIG=wx-config AC_ARG_WITH(wx-config, [[ --with-wx-config=FILE Use the given path to wx-config when determining wxWidgets configuration; defaults to "wx-config"]], [ if test "$withval" != "yes" -a "$withval" != ""; then WXCONFIG=$withval fi ]) wxversion=0 AC_DEFUN([WXTEST], [ AC_REQUIRE([AC_PROG_AWK]) AC_MSG_CHECKING([wxWidgets version]) if wxversion=`$WXCONFIG --version`; then AC_MSG_RESULT([$wxversion]) else AC_MSG_RESULT([not found]) AC_MSG_ERROR([wxWidgets is required. Try --with-wx-config.]) fi]) # Call WXTEST func WXTEST # Verify minimus requires AC_MSG_CHECKING(for wxWidgets libraries) vers=`echo $wxversion | $AWK 'BEGIN { FS = "."; } { printf "% d", ($1 * 1000 + $2) * 1000 + $3;}'` if test -n "$vers" && test "$vers" -ge 2008000; then WX_CPPFLAGS="`$WXCONFIG --cppflags`" WX_CXXFLAGS="`$WXCONFIG --cxxflags`" if test "$STFKERNEL" = "darwin" ; then if test "${PY_AC_VERSION:0:1}" -ge 3; then WX_LIBS="`$WXCONFIG --libs base`" else WX_LIBS="`$WXCONFIG --libs propgrid,aui,adv,core,net,base`" fi else WX_LIBS="`$WXCONFIG --libs base,core,adv,aui,net`" fi AC_MSG_RESULT([$WX_LIBS]) else AC_MSG_ERROR([wxWidgets 2.8.0 or newer is required]) fi # CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" # CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS" dnl included in cppflags AC_SUBST(WX_LIBS) AC_SUBST(WX_CPPFLAGS) AC_SUBST(WX_CXXFLAGS) dnl default value is to (silently) do nothing in the makefile POSTLINK_COMMAND="@true" MACSETFILE="@true" AC_MSG_CHECKING(for wxWidgets platform) WX_BASENAME="`$WXCONFIG --basename`" case $WX_BASENAME in *wx_osx*) AC_MSG_RESULT($WX_BASENAME) AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez) POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL -o" AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile) MACSETFILE="\$(SETFILE)" ;; *wx_mac*) AC_MSG_RESULT($WX_BASENAME) AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez) POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL -o" AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile) MACSETFILE="\$(SETFILE)" ;; *) AC_MSG_RESULT(other) ;; esac AC_SUBST(POSTLINK_COMMAND) AC_SUBST(MACSETFILE) fi # Checks for hdf5 libraries. AC_ARG_WITH([hdf5-prefix], AS_HELP_STRING([--with-hdf5-prefix=HDF5_PREFIX],[Provide full path to hdf5 prefix]), [ if test "$withval" != "yes" -a "$withval" != ""; then HDF5_PREFIX=${withval} LDFLAGS="${LDFLAGS} -L${HDF5_PREFIX}/lib" CPPFLAGS="${CPPFLAGS} -I${HDF5_PREFIX}/include" fi ]) if test "${HDF5PREFIX}" = ""; then if test "$STFKERNEL" = "linux" ; then PKG_CHECK_MODULES([HDF5], [hdf5], [ CPPFLAGS="${CPPFLAGS} ${HDF5_CFLAGS} -DH5_USE_16_API" LIBHDF5_LDFLAGS="${HDF5_LIBS} -lhdf5_hl" LDFLAGS="${LDFLAGS} ${LIBHDF5_LDFLAGS}" ], [ HDF5_CFLAGS="" HDF5_LIBS="" ]) fi fi AC_CHECK_HEADER([hdf5.h], [], [AC_MSG_ERROR([Couldn't find hdf5 header])]) AC_CHECK_LIB([hdf5],[H5Fopen],HAVE_HDF5="yes") if test "${HAVE_HDF5}" != "yes" ; then AC_MSG_ERROR([Couldn't find hdf5 libraries.]) else if test "${HDF5_CFLAGS}" = ""; then CPPFLAGS="${CPPFLAGS} -DH5_USE_16_API" LIBHDF5_LDFLAGS="-lhdf5 -lhdf5_hl" fi fi AC_SUBST(LIBHDF5_LDFLAGS) AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug],[build stimfit in debug mode]),[ ]) if test "$enable_debug" = "yes" ; then CPPFLAGS="${CPPFLAGS} -D_STFDEBUG " OPT_CXXFLAGS="-O0 -g3" CFLAGS="${CFLAGS} -O0 -g3" else OPT_CXXFLAGS="-O2 -g" CFLAGS="${CFLAGS} -O2 -g" fi AC_SUBST(OPT_CXXFLAGS) # gtest GT_CPPFLAGS="" GT_CXXFLAGS="" GT_LIBS="-lpthread" GT_LDFLAGS="" AC_SUBST(GT_CPPFLAGS) AC_SUBST(GT_CXXFLAGS) AC_SUBST(GT_LIBS) AC_SUBST(GT_LDFLAGS) # end gtest # CPPFLAGS="${CPPFLAGS} -DSTFDATE='\"${BUILDDATE}\"'" CXXFLAGS="${CXXFLAGS} -Wall" AC_CONFIG_HEADERS([stfconf.h]) AC_CONFIG_FILES([Makefile src/Makefile src/libstfio/Makefile src/libstfnum/Makefile src/pystfio/Makefile src/stimfit/Makefile src/stimfit/py/Makefile dist/macosx/stimfit.plist]) AC_OUTPUT stimfit-0.14.11/dist/0000755000175200017520000000000012623045304011304 500000000000000stimfit-0.14.11/dist/debian/0000755000175200017520000000000012623045304012526 500000000000000stimfit-0.14.11/dist/debian/control0000644000175200017520000000420012606540426014053 00000000000000Source: stimfit Section: science Priority: optional Maintainer: Christoph Schmidt-Hieber Uploaders: Yaroslav Halchenko Build-Depends: debhelper (>= 7), libboost-dev (>= 1.40.0), python-all-dev (>= 2.6.6-3), python-numpy, libhdf5-dev, swig, python-wxgtk3.0 | python-wxgtk2.8 (>= 2.8.9), python-wxgtk3.0-dev | libwxgtk2.8-dev (>= 2.8.9), libwxgtk3.0-dev | libwxgtk2.8-dev (>= 2.8.9), libfftw3-dev, liblapack-dev, chrpath, help2man, libbiosig-dev, libsuitesparse-dev, dh-autoreconf, pkg-config Standards-Version: 3.9.6 Homepage: http://www.stimfit.org Package: stimfit Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, libbiosig-dev, libsuitesparse-dev, python-wxgtk3.0 | python-wxgtk2.8 (>= 2.8.9), python-numpy, python-matplotlib Recommends: python-scipy Description: Program for viewing and analyzing electrophysiological data Stimfit is a free, fast and simple program for viewing and analyzing electrophysiological data. It features an embedded Python shell that allows you to extend the program functionality by using numerical libraries such as NumPy and SciPy. Package: stimfit-dbg Section: debug Priority: extra Architecture: any Depends: ${misc:Depends}, stimfit Recommends: python-matplotlib, python-scipy, python-stfio Description: Debug symbols for stimfit Stimfit is a free, fast and simple program for viewing and analyzing electrophysiological data. It features an embedded Python shell that allows you to extend the program functionality by using numerical libraries such as NumPy and SciPy. This package contains the debug symbols for Stimfit. Package: python-stfio Section: python Architecture: any Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}, libbiosig-dev, libsuitesparse-dev, python-numpy Provides: ${python:Provides} Recommends: python-matplotlib, python-scipy, python-pandas Description: Python module to read common electrophysiology file formats. The stfio module allows you to read common electrophysiology file formats from Python. Axon binaries (abf), Axon text (atf), HEKA (dat), CFS (dat/cfs), Axograph (axgd/axgx) are currently supported. stimfit-0.14.11/dist/debian/python-stfio.files0000644000175200017520000000011512277666257016157 00000000000000usr/lib/python*/*-packages/stfio/_*.so usr/lib/python*/*-packages/stfio/*.py stimfit-0.14.11/dist/debian/stimfit.files0000644000175200017520000000024712277666257015201 00000000000000usr/share/applications/stimfit.desktop usr/share/pixmaps/stimfit16x16.xpm usr/share/pixmaps/stimfit32x32.xpm usr/lib/stimfit/*.py usr/lib/stimfit/*.so usr/bin/stimfit stimfit-0.14.11/dist/debian/docs0000644000175200017520000000002112277666257013337 00000000000000NEWS README TODO stimfit-0.14.11/dist/debian/mkdeb.sh0000755000175200017520000000056612556527764014122 00000000000000#! /bin/bash VERSION=0.14.11 make dist mkdir -p ../deb/ rm -rf ../deb/* cp -v stimfit-${VERSION}.tar.gz ../deb/ cp -v stimfit-${VERSION}.tar.gz ../deb/stimfit_${VERSION}.orig.tar.gz cd ../deb/ tar -xzf stimfit_${VERSION}.orig.tar.gz cd stimfit-${VERSION} cp -rv ../../../dist/debian ./ debuild -S -sa sudo pbuilder build --basetgz /home/csh/pbuilder/unstable.tgz ../*.dsc stimfit-0.14.11/dist/debian/rules0000755000175200017520000000517112366670732013547 00000000000000#!/usr/bin/make -f # Sample debian/rules that uses debhelper. # This file is public domain software, originally written by Joey Hess. # # This version is for packages that are architecture independent. # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 DEBPREFIX=$(CURDIR)/debian/tmp/usr PYVER := $(shell pyversions -vd) ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) MAKEFLAGS += -j$(NUMJOBS) endif ifneq ($(wildcard /usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial/libhdf5.so),) export DEB_CPPFLAGS_MAINT_APPEND := -I/usr/include/hdf5/serial export DEB_LDFLAGS_MAINT_APPEND := -Wl,-L/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial endif build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: dh_testdir clean: dh_testdir dh_testroot rm -f build-stamp # Add here commands to clean up after the build process. rm -rf ./.libs ./_libs ./.deps ./.stimfit rm -rf $(CURDIR)/man find -name '*.o' | xargs -r rm -f find -name '*.lo' | xargs -r rm -f find -name '*.a' | xargs -r rm -f find -name '*.la' | xargs -r rm -f find -name '*.so' | xargs -r rm -f rm -f $(CURDIR)/test.h5 dh_autoreconf_clean dh_clean install: build dh_autoreconf ./configure --enable-python --enable-debian --with-biosig --prefix=$(DEBPREFIX) $(MAKE) ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) $(MAKE) check endif $(MAKE) install ./configure --enable-module --enable-debian --with-biosig --prefix=$(DEBPREFIX) $(MAKE) $(MAKE) install mkdir $(CURDIR)/man && \ cp ./debian/stimfit.1 ./man/stimfit.1 touch build-stamp dh_testroot # dh_prep dh_installdirs # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. binary-arch: build install dh_testdir dh_testroot dh_installchangelogs -X./ChangeLog dh_installdocs dh_installexamples dh_installmenu -pstimfit # dh_installdebconf # dh_installlogrotate # dh_installemacsen # dh_installcatalogs # dh_installpam dh_installmime -pstimfit # dh_installinit # dh_installcron # dh_installinfo # dh_installwm # dh_installudev # dh_lintian # dh_bugfiles # dh_undocumented dh_python2 dh_installman $(CURDIR)/man/stimfit.1 dh_install --sourcedir=$(CURDIR)/debian/tmp dh_link dh_compress dh_strip --dbg-package=stimfit-dbg dh_fixperms dh_icons # dh_perl [ -x /usr/bin/dh_python2 ] && dh_python2 -V$(PYVER) || : [ -x /usr/bin/dh_numpy ] && dh_numpy || : dh_makeshlibs dh_shlibdeps dh_installdeb dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install stimfit-0.14.11/dist/debian/python-stfio.install0000644000175200017520000000011412277666257016522 00000000000000usr/lib/python*/*-packages/stfio/*.so usr/lib/python*/*-packages/stfio/*.py stimfit-0.14.11/dist/debian/copyright0000644000175200017520000000653212510230642014403 00000000000000Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: stimfit Upstream-Contact: Christoph Schmidt-Hieber Source: http://code.google.com/p/stimfit/downloads/list Files: * Copyright: 2011, Christoph Schmidt-Hieber License: GPL-2+ Files: src/libstfio/abf/axon/* Copyright: 1993-2000, Axon Instruments License: axon1 Files: src/libstfio/abf/axon2/* Copyright: 1993-2005, Molecular Devices 1993-2002, Axon Instruments License: axon2 Files: src/libstfnum/levmar/* Copyright: 2004, Manolis Lourakis License: GPL-2+ Files: src/stimfit/py/numpy.i Copyright: 2005-2009, NumPy Developers License: BSD-new Files: src/test/gtest/* Copyright: 2008, Google Inc License: BSD-new License: axon1 Permission is granted to freely to use, modify and copy the code in this file. License: axon2 Permission is granted to freely to use, modify and copy the code in this file. License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. License: BSD-new All rights reserved. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. stimfit-0.14.11/dist/debian/stimfit.desktop0000644000175200017520000000033412277666257015545 00000000000000[Desktop Entry] Version=1.0 Type=Application Name=Stimfit GenericName=Stimfit Comment=View and analyze electrophysiology files TryExec=stimfit Exec=stimfit %F Icon=stimfit MimeType=application/x-foo; Categories=Science; stimfit-0.14.11/dist/debian/stimfit.install0000644000175200017520000000007212277666257015541 00000000000000usr/lib/stimfit/*.py usr/lib/stimfit/*.so usr/bin/stimfit stimfit-0.14.11/dist/debian/stimfit.menu0000644000175200017520000000052112277666257015036 00000000000000?package(stimfit): needs="X11" section="Applications/Programming"\ hints="Documents"\ title="Stimfit" command="/usr/bin/stimfit"\ icon="/usr/share/pixmaps/stimfit32x32.xpm"\ icon16x16="/usr/share/pixmaps/stimfit16x16.xpm"\ icon32x32="/usr/share/pixmaps/stimfit32x32.xpm"\ longtitle="View and analyze electrophysiology files" stimfit-0.14.11/dist/debian/compat0000644000175200017520000000000212277666257013671 000000000000007 stimfit-0.14.11/dist/debian/stimfit.10000644000175200017520000000066612521560401014214 00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.38.2. .TH STIMFIT "1" "February 2011" "stimfit 0.11.1" "User Commands" .SH NAME stimfit \- stimfit .SH SYNOPSIS .B stimfit [\fI-h\fR] [\fI--verbose\fR] [\fI-d \fR] [\fIFile to open\fR] .SH DESCRIPTION .TP \fB\-h\fR, \fB\-\-help\fR show this help message .TP \fB\-\-verbose\fR generate verbose log messages .TP \fB\-d\fR, \fB\-\-dir=\fR Working directory to change to stimfit-0.14.11/dist/macosx/0000755000175200017520000000000012623045304012576 500000000000000stimfit-0.14.11/dist/macosx/stimfit.plist.in0000644000175200017520000000243312556527764015705 00000000000000 CFBundleInfoDictionaryVersion 6.0 CFBundleIdentifier org.stimfit CFBundleDevelopmentRegion English CFBundleLocalizations de en fr it CFBundleExecutable stimfit CFBundleIconFile stimfit.icns CFBundleName stimfit CFBundlePackageType APPL CFBundleSignature ???? CFBundleVersion 0.14.11 CFBundleShortVersionString 0.14.11 CFBundleGetInfoString stimfit version 0.14.11, (c) 2003-2011 C. Schmidt-Hieber CFBundleLongVersionString 0.14.11, (c) 2003-2011 C. Schmidt-Hieber NSHumanReadableCopyright Copyright 2003-2011 C. Schmidt-Hieber LSRequiresCarbon LSRequiresCocoa CSResourcesFileMapped stimfit-0.14.11/dist/macosx/scripts/0000755000175200017520000000000012623045304014265 500000000000000stimfit-0.14.11/dist/macosx/scripts/change_deps_release.sh0000755000175200017520000000651012277666257020533 00000000000000#! /bin/bash WX_CONFIG=/Users/cs/wxbin/bin/wx-config # WXPY_DIR=/Users/cs/wxPython-src-2.9.1.1/wxPython # WXPY_VER=wx-2.9.1-osx_cocoa # WXPY_INSTALL_DIR=/Users/cs/wxPython-2.9/dummy-install/lib/python2.5/site-packages mkdir -p stimfit.app mkdir -p stimfit.app/Contents mkdir -p stimfit.app/Contents/Frameworks mkdir -p stimfit.app/Contents/MacOS mkdir -p stimfit.app/Contents/libs cp -v -r /Users/cs/matplotlib-1.0.1/build/lib.macosx-10.7-intel-2.6/* ./stimfit.app/Contents/Frameworks cp -v -r /Users/cs/wxbin/lib/python2.6/site-packages/wx* ./stimfit.app/Contents/Frameworks chown -R cs:staff stimfit.app make stimfit.app cp -v .libs/stimfit ./stimfit.app/Contents/MacOS/stimfit chmod +x ./stimfit.app/Contents/MacOS/stimfit mkdir -p ./stimfit.app/Contents/Frameworks/stimfit # if test -n "$1"; then # if [ $1 = '1' ]; then # rm -rf ./stimfit.app/Contents/Frameworks/numpy* # cp -R /System/Library/Frameworks/Python.framework//Versions/2.6/Extras/lib/python/numpy* ./stimfit.app/Contents/Frameworks/ # rm -rf ./stimfit.app/Contents/Frameworks/wx* # cp -R ${WXPY_INSTALL_DIR}/wx* ./stimfit.app/Contents/Frameworks/ # mkdir -p ./stimfit.app/Contents/Frameworks/${WXPY_VER} # mkdir -p ./stimfit.app/Contents/Frameworks/${WXPY_VER}/wx # rsync -l ${WXPY_INSTALL_DIR}/${WXPY_VER}/wx/*.so ./stimfit.app/Contents/Frameworks/${WXPY_VER}/wx # find ./stimfit.app -name "*.so" -exec dylibbundler -of -b -x '{}' -d ./stimfit.app/Contents/libs/ \; # find ./stimfit.app -name "*.pyc" -exec rm '{}' \; # fi # fi ## # rsync -rtuvl `${WX_CONFIG} --exec-prefix`/lib/libwx*.dylib ./stimfit.app/Contents/libs/ mkdir -p ./stimfit.app/Contents/lib/stimfit cp -v ./src/stimfit/py/.libs/libpystf.dylib ./stimfit.app/Contents/lib/stimfit/libpystf.dylib cp -v ./src/stimfit/.libs/libstimfit.dylib ./stimfit.app/Contents/lib/stimfit/libstimfit.dylib cp -v ./src/libstfio/.libs/libstfio.dylib ./stimfit.app/Contents/lib/stimfit/libstfio.dylib rm -fv ./stimfit.app/Contents/Frameworks/stimfit/_stf.so rm -fv ./stimfit.app/Contents/libs/libpystf.dylib rm -fv ./stimfit.app/Contents/libs/libstimfit.dylib # cp -v ./src/app/.libs/libstimfit.dylib ./stimfit.app/Contents/libs/libstimfit.dylib dylibbundler -of -b -x ./stimfit.app/Contents/MacOS/stimfit -d ./stimfit.app/Contents/libs/ CURDIR=`pwd` cd stimfit.app/Contents/Frameworks/stimfit ln -sf ../../libs/libpystf.dylib _stf.so cd ${CURDIR} if test -n "$1"; then if [ $1 = '1' ]; then find ./stimfit.app -name "*.dylib" -exec dylibbundler -of -b -x '{}' -d ./stimfit.app/Contents/libs/ \; find ./stimfit.app -name "*.so" -exec dylibbundler -of -b -x '{}' -d ./stimfit.app/Contents/libs/ \; fi fi rm -rfv ./stimfit.app/Contents/lib cp -v ../../src/stimfit/py/*.py ./stimfit.app/Contents/Frameworks/stimfit/ cp -v ../../src/pystfio/*.py ./stimfit.app/Contents/Frameworks/stimfit/ # # rm ./stimfit.app/Contents/libs/libwx* # # rsync -rtuvl `${WX_CONFIG} --exec-prefix`/lib/libwx_baseu_net-* ./stimfit.app/Contents/libs/ # # rsync -rtuvl `${WX_CONFIG} --exec-prefix`/lib/libwx_baseu-* ./stimfit.app/Contents/libs/ # # rsync -rtuvl `${WX_CONFIG} --exec-prefix`/lib/libwx_osx_cocoau_adv* ./stimfit.app/Contents/libs/ # # rsync -rtuvl `${WX_CONFIG} --exec-prefix`/lib/libwx_osx_cocoau_aui* ./stimfit.app/Contents/libs/ # # rsync -rtuvl `${WX_CONFIG} --exec-prefix`/lib/libwx_osx_cocoau_core* ./stimfit.app/Contents/libs/ stimfit-0.14.11/dist/macosx/scripts/conf_mac_release.sh0000755000175200017520000000171112277666257020036 00000000000000#! /bin/bash # arch_flags="-arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5" arch_flags="" # -arch i386 -arch x86_64" # ../../configure --enable-python --with-wx-config=/Users/cs/wxbin/bin/wx-config CXX="/usr/bin/g++-4.0" CC="/usr/bin/gcc-4.0" LD="/usr/bin/g++-4.0" CPPFLAGS="-DH5_USE_16_API" CFLAGS="$arch_flags" CXXFLAGS="$arch_flags -I/Users/cs/wxPython-2.9/include -I/opt/local/include" LDFLAGS="$arch_flags -headerpad_max_install_names -L/Users/cs/wxbin/lib -L/opt/local/lib -L/usr/lib" PYTHON=/usr/bin/python2.5 ../../configure --with-wx-config=/Users/cs/wxbin/bin/wx-config --disable-dependency-tracking --prefix=/Users/cs/stimfit/build/release/stimfit.app/Contents CPPFLAGS="-DH5_USE_16_API" CFLAGS="" CXXFLAGS="-I/Users/cs/wxbin/include/wx-2.9 -I/opt/local/include" LDFLAGS="-headerpad_max_install_names -L/Users/cs/wxbin/lib -L/opt/local/lib -L/usr/lib" PYTHON=/usr/bin/python CC=/usr/bin/llvm-gcc-4.2 CXX=/usr/bin/llvm-g++-4.2 stimfit-0.14.11/dist/macosx/app.r0000644000175200017520000054003212277666257013512 00000000000000data 'icns' (-16455) { $"6963 6E73 0000 FFFB 6838 6D6B 0000 0908" $"0000 0054 AFAD A69F 9891 8B84 7D76 6F69" $"625B 544D 4740 3932 2B17 0000 0001 0100" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0027 BFF9 F5F7 F7F8 F8F9 F9F9 F9FA FAFA" $"FAFA FBFB FAF9 F8F8 F9F5 98B3 D7F5 F4EE" $"E9E2 DBD4 CDC6 BFB9 B2AB A39C 948D 3400" $"009A FAEF DFE3 E4E4 E4E4 E4E4 E4E4 E3E3" $"E3E3 E2E8 F3F3 FDFE FDFE F6F3 F1EA EAEA" $"EBEB ECEC EDF2 F1F0 EFEF EEEE EEEE 9300" $"008D FAF0 DEE1 E2E2 E2E2 E2E1 E1E1 E0E0" $"DFDF DFE4 F3F4 FEFE FDFE F4EF ECE2 E1E1" $"E1E1 E2E1 E1EC EDED EDED EEEE EEEE 8600" $"007C FAF2 DDE0 E0E0 E0E0 E0E0 E0E0 DFDF" $"DFDF DEE4 F3F3 FEFE FDFE F4EF ECE1 E1E1" $"E1E1 E2E1 E1EC EDED EDED EEEE EEEE 7800" $"006A FAF3 DDDF DFDF DFDF DFDF DFDF DFDF" $"DEDE DEE3 F2F3 FEFE FDFE F4EF ECE1 E1E1" $"E1E1 E1E1 E2ED EDED EDED EEEE EEEE 6A00" $"0059 FBF5 DDDE DEDE DEDE DEDE DEDE DEDE" $"DDDD DDE2 F2F3 FDFD FDFD F4EF ECE0 E0E0" $"E0E0 E1E1 E2EC ECEC ECED EDED EDED 5C00" $"0047 FBF6 DEDD DDDE DEDE DEDD DEDE DEDE" $"DEDE DDE2 F2F3 FEFE FDFE F4EF ECE0 E0E1" $"E1E1 E1E1 E2ED EDED EDED EEEE EEEE 4F00" $"0036 FBF7 DFDC DDDD DDDD DDDD DDDD DDDD" $"DDDD DDE1 F2F2 FEFE FDFE F4EF ECDF E0E1" $"E1E1 E1E1 E3ED EDED EDED EEEE EEEE 4100" $"0024 FBF8 DFDC DCDC DDDD DDDC DDDD DDDD" $"DDDD DCE1 F1F2 FEFE FDFE F4EF ECDF E0E0" $"E1E1 E1E1 E3ED EDED EDED EEEE EEEE 3300" $"0013 FBF9 E1DB DCDC DCDC DCDC DCDD DDDD" $"DDDD DCE0 F1F2 FEFE FDFE F4EF EBDF E0E0" $"E1E1 E1E1 E3ED EDED EDED EEEE EEEE 2500" $"0005 F8F9 E2DB DCDC DCDC DCDB DCDC DCDC" $"DDDD DCE0 F1F2 FDFE FDFE F4EF EBDF E0E0" $"E1E1 E1E1 E4ED EDED EDED EEEE EEEE 1600" $"0000 EBF9 E4DB DBDB DBDB DBDB DBDB DBDC" $"DCDC DCE0 F1F2 FDFD FDFD F3EF EBDF DFE0" $"E0E0 E1E1 E4EC ECEC EDED EDED EDEE 0800" $"0000 DBF9 E6DA DBDB DBDC DCDB DCDC DCDC" $"DCDD DCDF F1F2 FDFE FDFE F3EF EBDE E0E0" $"E1E1 E2E1 E5ED EDED EDED EEEE EEE7 0200" $"0000 C9FA E8DB DBDB DBDB DCDB DCDC DCDC" $"DCDD DCDF F1F2 FDFE FDFE F4EF EBDE E0E1" $"E1E1 E2E1 E5ED EDED EDED EEEE EEDC 0000" $"0000 B8FA EADB DBDB DBDB DCDB DCDC DCDC" $"DCDD DCDF F1F2 FDFE FDFE F4F0 EBDE E0E1" $"E1E1 E2E1 E6ED EDED EEED EEEE EECE 0000" $"0000 A7FA ECDB DBDB DBDB DCDB DCDC DCDC" $"DCDD DCDF F1F2 FDFE FDFE F4F0 EBDF E0E1" $"E1E1 E2E1 E6ED EDED EEED EEEE EEC0 0000" $"0000 95FA EEDB DBDB DBDB DCDB DCDC DCDC" $"DDDD DCDE F1F2 FDFE FDFE F4F0 EBDF E0E1" $"E1E2 E2E2 E7ED EDED EEED EEEE EEB2 0000" $"0000 84FA EFDB DADA DBDB DBDB DBDB DBDC" $"DCDD DDDF F1F2 FCFD FDFD F6F3 F1EA EDEE" $"F0F2 F3F4 F5F2 EFEE EDED EDEE EEA4 0000" $"0000 72FB F1DC DBDC DDDE DFE1 E3E5 E7E9" $"EBED EFF1 F2F1 F4F9 FDFE FCFB FAF7 F8F8" $"F8F8 F8F8 F8F8 F8F7 F4F1 EFEE EE96 0000" $"0000 24F5 F9F0 F1F3 F4F5 F6F6 F6F6 F7F7" $"F7F7 F6F7 F6F5 F2F2 F3F8 F9FC FBFA FAFB" $"FBFC FCFD FDFB FAF9 F9F9 F6E0 C64E 0000" $"0000 0081 FCF7 F7F7 F7F7 F7F7 F7F8 F9F9" $"FAFA FBFB F8F7 F9FB FCFD FAFA FDFD FEFD" $"FDFD FCFB FBFC FCFB BC51 0500 0000 0000" $"0000 055F F8FB FBFB FCFD FDFD FEFE FEFE" $"FEFE FDFE FDFB EFFB F9F8 F7F7 F7F8 F7F7" $"F7F7 F7F7 F7FA FAFA FAFA DE8D 3A02 0000" $"0000 4EF7 F9FD FDFD FDFD FDFC FBFB FAF9" $"F9F8 F7F7 FBFB F9F6 F2F1 F1F3 F5F5 F5F5" $"F5F6 F6F6 F6F8 F8F7 F7F6 F5F4 F3D2 0E00" $"0000 45F8 F5F7 F8F7 F6F5 F5F5 F5F5 F5F5" $"F5F5 F5F5 FAFB FCFD FAF3 F0EF F0F2 F2F0" $"EFED EBEA E8EF EEEE EEEE EEEE EEEF 1A00" $"0000 34FA F5F4 F4F4 F4F4 F4F4 F4F4 F4F3" $"F2F1 EFEE F7F7 FAFE FDFD F1F0 EFE6 E4E3" $"E3E3 E3E3 E4ED EEEE EEEE EFEF EFEF 0B00" $"0000 22FB F6F3 F2F1 EFEE ECE9 E8E6 E4E1" $"E0DF DFE0 F2F3 F8FE FDFE F2F0 EFE4 E1E2" $"E2E3 E3E3 E5EE EEEE EEEE EFEF EFE9 0300" $"0000 10FB F7E5 E2E2 E1E1 E0DF DEDD DDDD" $"DEDE DEE0 F2F3 F8FE FDFE F2F0 F0E4 E1E2" $"E3E3 E3E3 E5EE EEEE EEEE EFEF EFDE 0000" $"0000 05F5 F8E1 DCDD DDDD DDDD DDDE DEDE" $"DEDE DEDF F1F3 F8FE FDFE F2F0 F0E4 E1E2" $"E3E3 E4E3 E6EE EEEE EFEE EFEF EFD0 0000" $"0000 00E9 F9E2 DCDC DCDC DDDD DDDD DDDE" $"DEDE DEDF F1F3 F8FD FDFD F2F0 F0E4 E2E2" $"E2E3 E3E3 E6ED EDEE EEEE EEEF EFC2 0000" $"0000 00D8 F9E4 DDDD DDDD DEDD DEDE DEDE" $"DFDF DFE0 F1F3 F8FE FDFE F3F1 F0E4 E2E3" $"E3E4 E4E4 E7EE EEEE EFEE EFEF F0B3 0000" $"0000 00C6 FAE6 DDDD DEDE DEDD DEDE DEDF" $"DFDF DFE0 F1F3 F8FE FDFE F3F1 F0E4 E2E3" $"E3E4 E4E4 E8EE EEEF EFEE EFEF F0A4 0000" $"0000 00B5 FAE8 DDDE DEDE DEDE DEDF DFDF" $"DFDF DFE0 F1F3 F8FE FDFE F2F1 F0E4 E2E3" $"E4E4 E4E4 E8EE EEEF EFEE EFF0 F096 0000" $"0000 00A4 FAEA DEDE DEDE DEDE DFDF DFDF" $"DFE0 DFE0 F0F3 F8FE FDFE F3F1 F0E4 E3E4" $"E4E4 E5E4 E8EE EFEF EFEF EFF0 F087 0000" $"0000 0092 FAEC DEDE DEDE DFDE DFDF DFDF" $"E0E0 E0E0 F0F3 F7FE FDFE F3F1 F0E4 E3E3" $"E3E4 E6E8 EBEE EFEF EFEF F0F0 F078 0000" $"0000 0081 FBED DEDE DFDF DFDE DFDF E0E0" $"E0E0 E0E1 F0F3 F7FE FDFE F3F1 F1E7 E9EC" $"EEF0 F1F1 F1EE EDEE EFEF F0F0 F06A 0000" $"0000 006F FBEF DFDE DEDE DFDF DFDF DFDF" $"DFE0 E0E1 F0F3 F6FD FDFD F8F7 F7F1 F0F1" $"F1F1 F1F1 F1F1 F0ED EFEF EFEF F05C 0000" $"0000 005D FBF1 DFDF DEDE DFDF DFE0 E3E6" $"E9EB EEEF EEF2 F4F8 FDFE F9F8 F7F1 F1F2" $"F2F2 F2F1 F2F2 F3F2 EFEE EFF0 F04D 0000" $"0000 004C FBF2 DFE0 E2E5 E8EB EDEF EFF0" $"F0F0 EFF0 EFEF F3F4 F9FE F9F8 F7F1 F1F2" $"F2F2 F2F2 F2F3 F3F3 F2F1 EEF0 F13F 0000" $"0000 0021 FCF8 EEEE EFEF EFEF F0F0 F0F0" $"F0F0 EFF0 F0EF EFF3 F5FA F9F8 F7F1 F1F2" $"F2F2 F2F2 F3F3 F3F3 F3F3 F3EF EF2F 0000" $"0000 0000 D4FA F0EF EFEF F0EF F0F0 F0F0" $"F0F0 EFF0 F0F1 EFF0 F4F5 AEF9 F8F1 F2F2" $"F2F2 F3F2 F3F3 F3F3 F3F4 E9B8 7D06 0000" $"0000 0000 8AFA F0F0 F0F0 F0EF F0F0 F0F0" $"F0F0 F0F0 F1F1 F1EF F1F5 17AC F8F2 F2F2" $"F2F3 F3F2 F3F0 C894 602C 0200 0000 0000" $"0000 0000 40FB F1EF EFEF EFEF EFEF EFEF" $"F0F0 F0F0 F0F0 F0F0 EFF3 1207 B8F2 F1F2" $"F2D9 A571 3D0C 0000 0000 0000 0000 0000" $"0000 0000 06ED F1F0 F0F0 F0EF F0F0 F0F0" $"F0F1 F0F1 F1F1 F1F1 F1C8 0500 0C92 824D" $"1A00 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 00AA F2F0 F0F0 F0EF F0F0 F0F1" $"F1F1 F1F1 E3B2 814D 1B00 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0061 F3F0 F0F0 F0F0 F0F1 F1EA" $"BF8C 5A26 0200 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0019 F3F0 F0F0 EFCB 9866 3207" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 87A4 713F 0E00 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"4943 4E23 0000 0108 FFFF FFFF DDDD 5555" $"FFFF AAAB F777 5555 FFFF AAAB DFDF 5555" $"FFFF AAAB F777 5555 FFFF AAAB DDDD 5555" $"FFFF AAAB F777 5555 FFFF AAAB DFDF 5555" $"FFFF AAAB F777 5555 8000 FFFF D555 5555" $"A222 FFFF D555 5555 8808 FFFF D555 5555" $"A222 FFFF D555 5555 8000 FFFF D555 5555" $"A222 FFFF D555 5555 8808 FFFF D555 5555" $"A222 FFFF FFFF FFFF 0000 0000 7FFF FFFE" $"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE" $"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE" $"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE" $"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE" $"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE" $"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE" $"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE" $"7FFF FFFE 0000 0000 6968 3332 0000 1780" $"0900 284B 87E4 F1F1 F0F1 F281 F180 F024" $"EEEE EFED EBED EDDC D78E 383F 4147 534C" $"3946 4733 3A41 352D 3835 212C 3225 011A" $"341F 4FE9 FE82 FF00 FE80 FF81 FE22 FFFE" $"FEFC F9F6 EF60 2B29 6662 6055 5457 524D" $"5256 4A50 564E 4E57 5754 2318 1C03 41E1" $"FE82 FF00 FE83 FF13 FEFE FBF1 DFD8 D2CC" $"3F16 1E8B 7269 615C 5754 524B 844A 0849" $"5229 1F15 0037 DBFE 82FF 00FE 83FF 18FE" $"FDF1 E8D7 D2CE C93F 1822 8C73 6C66 615D" $"5B5A 4D4C 4B4B 4A4A 8049 0751 2F16 1700" $"2DD4 FE82 FF00 FE83 FF23 FEFB E9E2 D3CF" $"CBC7 3F18 2287 6E68 635F 5C5A 594C 4C4B" $"4B4A 4A49 4948 5423 131E 0024 CDFE 82FF" $"00FE 83FF 16FE F8E3 DDCF CBC9 C63E 1822" $"806A 6560 5D5B 5958 4C4B 4B4A 8149 0748" $"5122 0D22 001B C48A FE18 FCF2 DED9 CBC8" $"C6C3 3E18 2277 6662 5E5C 5958 574B 4B4A" $"4A49 4980 4807 531E 022E 0013 BBFE 82FF" $"00FE 80FF 16FE FEFA F6ED D9D5 C8C5 C3C2" $"3E18 226F 635F 5C5A 5857 564B 804A 0149" $"4980 4807 5812 0031 000C B1FE 82FF 19FE" $"FFFE FEFB F7F3 F0E8 D5D2 C4C2 C1C0 3D18" $"2268 605D 5B59 5756 5580 4A01 4949 8048" $"0847 560E 0030 0007 A6FC 82FE 1DFD FCFA" $"F7F4 F1EE EBE4 D1CF C1C0 C0BF 3D18 2363" $"5D5B 5958 5756 544A 4A49 4980 480A 4747" $"6002 0030 0004 9AF3 F780 F81B F7F5 F4F2" $"F0ED EBE9 E7E1 CECD BFBF BEBE 3C17 235E" $"5B59 5857 5655 534A 8049 1C48 4847 4746" $"5C00 002F 0302 8EEA EFEF F0F0 EFEE EDEB" $"EAE8 E6E5 E3DF CCCA 81BD 0A3C 1723 5B59" $"5857 5655 5552 8049 0048 8147 0946 5800" $"0028 0801 82E2 E881 E919 E8E7 E6E5 E4E2" $"E1E0 DCC9 C8BC BBBB BC3A 1723 5858 5756" $"5554 5451 8048 8047 0B46 4645 5600 0022" $"0E01 76DC E282 E309 E2E2 E1E0 DFDE DEDA" $"C8C7 80BA 07BB 3A17 2356 5756 5580 5400" $"5080 4880 470C 4646 4A4B 0000 230E 0169" $"D6DE DE82 DF08 DEDE DDDC DCDB D9C5 C480" $"B90F BA39 1623 5456 5554 5453 534F 4848" $"4747 8046 0A45 4848 0000 220D 005E D1DA" $"85DB 80DA 03D9 D7C4 C380 B807 B939 1623" $"5355 5454 8053 014E 4880 470D 4646 4545" $"4B41 0000 2211 0052 CDD7 80D8 81D9 82D8" $"02D6 C2C2 80B7 0DB8 3816 2351 5454 5353" $"5252 4E47 4780 4680 4508 4C3B 0000 1B13" $"0047 C880 D587 D602 D5C1 C180 B60C B737" $"1523 5153 5352 5251 514C 4780 4680 450C" $"444A 3C00 001A 1900 3DC4 D2D3 D381 D483" $"D502 D3C0 C080 B50D B635 121D 4546 4443" $"4140 3E3E 4143 8045 8044 084D 3400 0017" $"1900 33BF 80D0 14CF CECD CBCA C8C6 C5C3" $"C1BF BEBF BDB8 B4B4 2E09 1537 833B 803A" $"023B 3E41 8043 104C 2F00 000C 2502 24A7" $"B8B7 B6B6 B5B5 B6B6 80B7 80B8 10B9 BABD" $"BEBD B82E 0713 3438 3737 3636 3535 8036" $"0633 2F2E 3538 4C2D 8000 0623 141A 9BB1" $"B2B2 85B3 24B2 B2B3 B6B7 B6B4 B3B1 2602" $"0B2A 2B27 221E 1915 100B 0705 2132 4352" $"5630 0700 0002 3E1C 1693 82AB 80AC 10AB" $"A9A5 9F97 8C7F 726B 554E 4107 0303 0404" $"8003 4704 060A 0D13 191E 2437 4B5B 683E" $"0000 0534 030C 7E99 9187 7A6C 5E4F 4033" $"261B 110A 0600 0004 0C15 232A 1B17 1D23" $"292F 353B 3E40 3E40 4245 484B 4E51 5B69" $"0000 032B 0205 1012 0C08 0681 0520 070C" $"1829 3B4C 596B 7C8D 7C2A 1A2B 3C45 4B4E" $"5257 5C60 615A 5957 5553 5150 4E4D 6380" $"0024 3301 060C 1828 3A4B 5E70 8395 A7B6" $"C1CA D1D8 D6DC DDDD DFCF 1C19 2059 8373" $"6D65 5F5B 594F 4F80 4E04 4D4D 4C4B 5C80" $"001E 3000 35A3 BAC3 CAD2 DAE2 E9F1 F7F9" $"F8F4 F0EB D5D1 C8C0 BFBC 2019 1B44 5B5A" $"5A80 5901 574F 804E 054D 4D4C 4C4F 5380" $"000C 2F00 18C7 F8F6 F3EF EBE7 E3DF DC81" $"DB0B DAC8 C7C2 BDBD BB20 181A 445A 8059" $"0658 5856 4E4E 4D4D 804C 024B 4E4F 8000" $"0329 0608 AA80 D601 D7D7 80D8 81D9 0DDA" $"D9C7 C6C1 BBBC BA1F 181A 4459 5981 5800" $"5580 4D80 4C03 4B4B 5143 8000 0629 0804" $"9FD4 D5D5 80D6 80D7 82D8 09C5 C4BF BABA" $"B91F 1719 4480 5880 5701 544D 804C 054B" $"4B4A 4A50 3E80 0004 250B 0293 D380 D480" $"D580 D680 D70B D6C4 C3BE B9B9 B71E 1719" $"4458 8057 0256 5653 804C 064B 4B4A 4A49" $"4F3E 8000 0720 1001 85D1 D2D3 D381 D483" $"D50B C3C1 BDB8 B8B6 1D16 1944 5757 8156" $"0352 4C4B 4B80 4A03 4949 5134 8000 0821" $"1100 78CF D1D1 D2D2 81D3 82D4 09C2 C0BC" $"B6B6 B41C 1618 4480 5680 550A 514B 4B4A" $"4A49 4948 4851 2F80 0006 200F 006C CDD0" $"D081 D182 D20C D3D2 C1BF BBB5 B5B3 1C15" $"1844 5680 5502 5454 5080 4A06 4949 4848" $"474F 2E80 0007 1E12 005F CACE CFCF 81D0" $"83D1 09C0 BEB9 B4B4 B21B 1517 4480 5506" $"5452 504D 4A49 4980 4803 4747 5225 8000" $"0518 1800 53C7 CD81 CE83 CF1C D0CF BFBC" $"B8B2 B2B0 1B14 1641 4E4C 4947 4746 4649" $"4A48 4847 4746 4653 1E80 0004 151C 0048" $"C480 CC81 CD80 CE0C CFCE CDBE BBB8 B1B1" $"AF16 0F10 3782 4680 4508 4649 4847 4646" $"4551 1D80 0007 0E21 003D C0CA CBCB 80CC" $"12CB C9C6 C4C1 BFBD BEBB B9B5 AFAD 150E" $"1037 4646 8145 8144 0647 4746 4545 5514" $"8000 0A05 2600 33BC C8C6 C3C1 BEBC 84BB" $"09BC BDB9 B8B3 AC14 0D0F 3781 4580 4480" $"4306 4244 4645 445A 0881 0005 2E00 25A9" $"B7B7 80B8 81B9 83BA 07BB B6B6 AE13 0D0F" $"3782 4480 4380 4205 4141 4445 5D04 8100" $"0328 0B1C A380 B680 B786 B809 B9B9 B4B1" $"3A0C 0E37 4444 8043 8142 0641 413E 3E40" $"4866 8200 0421 1314 9DB4 80B5 82B6 84B7" $"06B8 B6AF 7417 0E37 8043 8042 0940 3D42" $"4145 534C 3A2C 1282 0005 0E23 0D97 B3B3" $"81B4 88B5 11B6 B091 3715 3642 423E 4041" $"4550 5640 3321 0587 0002 2F0F 9080 B283" $"B382 B40F B3B3 B1A6 A28C 093D 3741 4854" $"4235 280E 8C00 0328 1488 B081 B183 B20E" $"B1A8 9A92 867E 7A65 3900 1019 1F17 0190" $"0002 1722 7D80 AF81 B00A AA9A 9489 7E7C" $"694C 3316 0198 000F 0246 72AD AEAA 9B93" $"897D 7A6E 5139 1F05 9E00 0942 7088 7D7A" $"7558 3D27 079E 0055 0023 372D 2D34 3727" $"2E36 2A2B 3531 2934 3A28 3442 3334 4B4C" $"3342 5154 6B90 A3A6 A38E 8F8F 7C79 7A70" $"6365 634C 4F50 4002 1929 110C 89E9 E9E6" $"E2DE D5CC C4B9 ACA2 9487 7866 574B 4139" $"322C 5264 69D3 F0EF ECEA E8E5 E3E3 7FE2" $"DFE0 E0DD DBDB D9D3 4317 1400 1276 CDD1" $"D3D2 CFC9 C0B6 AB9E 9285 796D 5D49 4031" $"2B26 2029 3348 D8FA F2EA E4DF DCD9 D1D0" $"CECD CDCC CBCB CAC6 461F 1400 1064 B5B8" $"BAB9 B6B1 ABA3 998F 857A 7067 5842 3A2B" $"2723 1E27 3248 D8F6 EEE7 E2DE DBDA CDCC" $"CBCA CAC9 C8C7 C6C0 4716 1700 0D55 A0A2" $"A3A3 A19D 9790 8980 786F 675F 523D 367F" $"2824 211D 2731 48D8 F0E9 E4E0 DCDA D9CC" $"CBCA CAC9 C8C7 C6C5 C036 131E 000B 4A8D" $"8F90 908E 8B86 817A 736C 655E 584D 3832" $"2522 1F1C 2631 48D7 EBE5 E1DD DAD8 D7CB" $"CACA C9C8 C7C7 C5C4 BD2F 0D22 0008 407D" $"7F80 807E 7B77 736E 6862 5D57 5248 342F" $"221F 1E1B 2630 49D6 E6E1 DEDB D9D7 D5CA" $"C9C9 C8C7 C7C5 C4C3 BC26 022E 0006 3970" $"8072 2C70 6E6B 6763 5F5A 5551 4C44 302C" $"1F1E 1C1A 2530 49D5 E2DE DBD9 D7D5 D4C9" $"C8C8 C7C6 C5C4 C3C3 BB16 0031 0004 3465" $"8066 0C65 6361 5E5A 5753 4F4B 4840 2D2A" $"7F1E 1C1B 1A25 2F49 D3DE DBD8 D7D5 D4D2" $"C8C7 C7C6 C5C4 C3C2 C2B8 0F00 3000 032F" $"5B5C 5D5C 5C5A 5856 5350 4D4A 4744 3E2B" $"281C 1B1A 1925 2F49 D1DA D8D6 D5D4 D3D1" $"C7C6 C5C4 C3C3 C2C1 C1B9 0200 3000 022C" $"5255 5554 5453 514F 4D4B 4846 4341 3C29" $"271A 1A19 1824 2E4A CDD7 D6D4 D3D2 D1CF" $"C5C4 C4C3 C2C2 C1C0 C0AC 0000 2F03 0128" $"4B80 4E2C 4D4C 4B4A 4846 4442 403F 3A27" $"2519 1918 1824 2D4A C9D5 D4D2 D2D1 D0CD" $"C4C3 C3C2 C1C1 C0BF BEA4 0000 2808 0125" $"4680 492C 4848 4745 4443 4140 3E3D 3825" $"2419 1818 1723 2D4A C6D3 D2D1 D0CF CFCC" $"C3C2 C2C1 C0C0 BFBE BB9B 0000 220E 0121" $"4180 452C 4444 4342 4140 3E3D 3C3B 3724" $"2318 1817 1723 2C4A C3D1 D0CF CFCE CECA" $"C1C1 C0C0 BFBF BEBD BB8C 0000 230E 011E" $"3E81 410B 4040 3F3E 3D3C 3B3B 3A36 2422" $"8117 0622 2B4A C1CF CECE 80CD 11C8 C0C0" $"BFBF BEBD BDBC B884 0000 220D 001B 3B80" $"3F16 3E3E 3D3D 3C3B 3B3A 3939 3623 2217" $"1716 1721 2A4A BFCD CD81 CC13 C7BF BFBE" $"BEBD BCBC BBB8 7800 0022 1100 1839 3D3D" $"813C 0A3B 3B3A 3939 3838 3523 2117 8016" $"0421 294A BECC 80CB 13CA CBC5 BEBD BDBC" $"BCBB BAB9 B76A 0000 1B13 0015 3781 3B80" $"3A08 3939 3838 3737 3522 2181 1603 2028" $"4ABC 80CA 16C9 C9C8 C3BD BCBC BBBB BAB9" $"B8B5 6500 001A 1900 1236 3A3A 8239 8038" $"3E37 3736 3422 2117 1515 161D 2444 B0BC" $"BAB8 B7B5 B4B4 B6B9 BABA B9B9 B8B7 B556" $"0000 1719 000F 3438 3736 3634 3331 2E2C" $"2A28 2624 2220 211F 1A16 1517 1B3B A2AF" $"80B0 82AF 02B0 B2B4 80B6 0EB2 4B00 000C" $"2502 0720 2220 1F1E 1D1D 861C 081D 2021" $"1F1A 1519 3A9E 80AB 0DAA AAA9 A8A8 A6A2" $"998E 8383 8096 4080 0003 2314 0318 801C" $"811B 2C1A 1A19 1818 1717 1A1B 1917 1615" $"0607 2787 8B7E 7061 5142 3425 190F 293F" $"4B57 5E3A 0800 0002 3E1C 0614 1616 1515" $"8314 0F13 1311 100E 0F15 0B0C 0A04 0304" $"0906 0481 0301 0401 8002 3B03 0F1B 2C3F" $"2B00 0005 3403 030F 1211 0F0D 0C0B 0908" $"0706 0504 0303 0000 0306 0B0E 0E09 0707" $"0809 090A 0A0B 0A06 0708 090A 0B0D 0E1A" $"3E00 0003 2B02 0580 0483 0516 070C 1829" $"3B4C 596B 7C8D 7A22 0D10 100F 0F11 1316" $"191B 1C80 1482 1301 123C 8000 2233 0106" $"0C18 283A 4B5E 7083 95A7 B6C1 CAD1 D8D6" $"DCDD DDDF CE12 0E0F 2C43 302B 2621 1E1C" $"8113 0012 8013 0111 3B80 001D 3000 35A3" $"BAC3 CAD2 DAE2 E9F1 F7F9 F8F4 F0EB D5D1" $"C8C0 BEBC 170D 0E1C 1F1F 801E 011D 1C81" $"1300 1280 1301 1832 8000 0C2F 0018 C7F8" $"F6F3 EFEB E7E3 DFDC 81DB 11DA C8C7 C2BC" $"BDBB 170D 0E1C 1F1F 1E1E 1D1D 1B81 1300" $"1280 1301 1831 8000 0329 0608 AA80 D601" $"D7D7 80D8 81D9 0CDA D9C7 C6C1 BBBB B917" $"0D0E 1B1F 801E 021D 1D1A 8113 0512 1313" $"121C 2880 0006 2908 049F D4D5 D580 D680" $"D782 D80B C5C4 BFBA BAB8 170D 0E1B 1F1E" $"811D 001A 8512 011C 2780 0004 250B 0293" $"D380 D480 D580 D680 D70C D6C4 C3BE B9B9" $"B716 0D0E 1B1E 1E81 1D00 1981 1305 1213" $"1212 1B2A 8000 0720 1001 85D1 D2D3 D381" $"D483 D50A C3C1 BDB7 B8B6 160D 0E1B 1E80" $"1D02 1C1C 1981 1381 1201 1E23 8000 0821" $"1100 78CF D1D1 D2D2 81D3 82D4 0AC2 C0BC" $"B6B6 B415 0D0E 1B1E 801D 021C 1C18 8113" $"8112 011F 2180 0006 200F 006C CDD0 D081" $"D182 D20B D3D2 C1BF BBB5 B5B3 150D 0D1B" $"801D 801C 0018 8113 8112 011E 2380 0007" $"1E12 005F CACE CFCF 81D0 83D1 09C0 BEB9" $"B3B4 B114 0C0D 1B80 1D03 1C1A 1815 8013" $"0612 1112 1211 221D 8000 0518 1800 53C7" $"CD81 CE83 CF1C D0CF BFBC B8B2 B2B0 150C" $"0C18 1715 1210 100F 1012 1312 1211 1212" $"1124 1980 0004 151C 0048 C480 CC81 CD80" $"CE0E CFCE CDBE BBB8 B1B1 AE0D 0304 0E10" $"1083 0F02 1013 1281 1101 241A 8000 070E" $"2100 3DC0 CACB CB80 CC10 CBC9 C6C4 C1BF" $"BDBE BBB9 B5AF AD0C 0303 0E81 1083 0F01" $"1212 8011 012A 1280 000A 0526 0033 BCC8" $"C6C3 C1BE BC84 BB09 BCBD B9B8 B2AB 0B03" $"030E 8010 020F 0F0E 800F 070E 0E10 1211" $"1032 0881 0005 2E00 25A9 B7B7 80B8 81B9" $"83BA 08BB B6B6 AE0B 0203 0E10 810F 020E" $"0F0F 800E 050D 0E11 1238 0481 0003 280B" $"1CA3 80B6 80B7 86B8 07B9 B9B4 B135 0203" $"0E82 0F82 0E05 0D0D 131A 264C 8200 0421" $"1314 9DB4 80B5 82B6 84B7 06B8 B6AF 720F" $"030E 820F 0A0E 0E0F 1A1E 293F 3D30 2811" $"8200 050E 230D 97B3 B381 B488 B511 B6B0" $"9133 0C0E 0F0E 0E17 1D26 3945 342D 2005" $"8700 022F 0F90 80B2 83B3 82B4 0FB3 B3B1" $"A6A2 8C08 321B 202E 4133 2D26 0E8C 0003" $"2814 88B0 81B1 83B2 0EB1 A89A 9286 7E7A" $"6539 000E 141C 1601 9000 0217 227D 80AF" $"81B0 0AAA 9A94 897E 7C69 4C33 1601 9800" $"0F02 4672 ADAE AA9B 9389 7D7A 6E51 391F" $"059E 0009 4270 887D 7A75 583D 2707 9E00" $"0400 2236 241C 7F23 2616 1D25 1819 2520" $"1724 2A17 2333 2324 3C3E 2535 3E32 3630" $"3341 3927 3637 232C 3528 222E 2B18 252C" $"1F01 1929 1106 7CDE DDDC D8D3 C9C0 B7AB" $"9F94 8577 6653 4539 2F26 1F19 1F1F 1C4D" $"4140 3433 3732 2C33 382A 3139 2F30 3A3B" $"391C 1714 000E 67BC C0C2 C1BD B7AF A59A" $"8E81 7569 5D4D 3930 201A 150F 0D10 1578" $"544B 443E 3A37 3486 2E2A 3922 1F14 000D" $"56A5 A8AA A9A6 A19B 9389 7F75 6B61 5749" $"332B 1B17 130E 0F13 1978 574F 4945 413F" $"3E31 3030 2F81 2E2B 2D38 2A16 1700 0B48" $"9093 9493 918D 8781 7971 6860 574F 432E" $"2718 1412 0D0F 1319 7152 4C47 4340 3E3D" $"3130 2F2F 812E 2B2D 3D20 131E 0009 3D7E" $"8081 807E 7B77 716B 645D 564F 493D 2923" $"1512 100C 0F13 1A67 4E49 4541 3F3D 3C30" $"302F 2F80 2E2D 2D2D 391F 0D22 0007 346E" $"7071 706F 6C68 645F 5953 4D48 4339 2520" $"1311 0E0B 0F13 1A5E 4A46 4340 3E3C 3B30" $"2F2F 2E2E 812D 073D 1C02 2E00 052E 6180" $"631E 615F 5C58 5450 4B46 423E 3521 1D11" $"0F0D 0B0F 131A 5647 4441 3F3D 3C3A 302F" $"2F80 2E80 2D26 4311 0031 0004 2856 5758" $"5756 5452 4F4C 4844 403D 3932 1E1B 0F0D" $"0C0A 0F13 1A50 4442 3F3E 3C3B 3980 2F02" $"2E2D 2E80 2D07 410D 0030 0002 254C 804E" $"1F4D 4B4A 4744 413E 3B38 362F 1C19 0D0C" $"0B09 0E13 1A4A 4240 3E3D 3B3B 392F 2F2E" $"2E81 2D28 2C4D 0200 3000 0222 4446 4746" $"4544 4341 3E3C 3A37 3533 2D1A 180C 0B0A" $"080E 131A 4640 3E3D 3C3B 3A38 2F80 2E81" $"2D08 2C4A 0000 2F03 011F 3E80 401B 3F3E" $"3D3B 3A38 3634 3230 2B18 170B 0A09 080E" $"131A 433F 3D3C 3B3A 3A37 812E 802D 092C" $"2B47 0000 2808 011C 3880 3B17 3A39 3837" $"3634 3331 302E 2A17 160A 0908 070E 121A" $"403D 3C3B 803A 0136 2E81 2D80 2C08 2B47" $"0000 220E 011A 3480 374C 3636 3534 3331" $"302F 2E2D 2916 1509 0807 070E 121A 3E3C" $"3B3B 3A39 3936 2E2E 2D2D 2C2D 2C2C 313C" $"0000 230E 0117 3134 3433 3332 3231 302F" $"2E2D 2C2B 2815 1408 0707 060E 121A 3C3B" $"3B3A 3A39 3935 2E80 2D81 2C08 2F3A 0000" $"220D 0015 2E80 3117 3030 2F2F 2E2D 2D2C" $"2B2A 2815 1407 0706 060E 121B 3B3B 3A3A" $"8039 0034 812D 802C 092B 3336 0000 2211" $"0013 2C80 2F80 2E0A 2D2D 2C2B 2B2A 2A27" $"1413 0780 0602 0E12 1B80 3A04 3939 3838" $"3480 2D81 2C09 2B34 3100 001B 1300 102B" $"822D 2A2C 2C2B 2B2A 2A29 2927 1413 0606" $"0506 0E12 1B39 3A39 3838 3737 322D 2D2C" $"2C2B 2C2B 2B32 3300 001A 1900 0E29 822C" $"802B 082A 2A29 2928 2614 1307 8005 0E0B" $"0E15 2D2D 2B29 2826 2525 272A 2C2C 802B" $"212A 372C 0000 1719 000C 282A 2A29 2827" $"2523 211F 1D1B 1917 1513 1311 0A05 0503" $"030B 2086 2102 2224 2780 2A0C 3529 0000" $"0C25 0204 1415 1412 1181 1084 0F19 1012" $"1311 0B05 0209 1D1E 1E1D 1D1C 1C1B 1D1E" $"1E1C 1A1B 2428 3C29 8000 0323 1401 0D83" $"0F2F 0E0D 0C0B 0A09 0809 0D0E 0C09 0705" $"0201 0515 1614 110F 0D0B 0806 0403 1E31" $"5067 5D2E 0700 0002 3E1C 0407 0808 0706" $"0505 8304 8003 0506 0F0B 202A 0684 0316" $"040A 1522 3241 5160 82A4 B1B6 6400 0005" $"3403 0202 0403 0384 0281 0324 0000 0515" $"274C 623E 3747 5868 7989 98A3 A8A7 ABB1" $"B8BE C5CB D1DA BD00 0003 2B02 0504 0304" $"0482 0520 0607 090C 0F11 0F12 1416 1E27" $"355F 92AE BEC5 CDD5 DDE4 E7E0 DDD9 D4CF" $"CAC5 C1BF AD80 0014 3301 0608 0A0C 1013" $"1619 1C1F 2225 282A 2D2F 2729 2680 2414" $"2B30 42AB EEE8 E3DD D6D1 CDC2 C1C1 C0BF" $"BFBE BDBB 9C80 0014 3000 0E23 2729 2C2F" $"3235 4254 534D 4845 423F 2C2A 2580 1F03" $"292F 3491 80CD 80CC 0ACA C0C0 BFBF BEBD" $"BCBC BA92 8000 042F 0007 3769 806B 056A" $"6659 443E 3E80 3D0C 3C29 2924 1F1E 1E28" $"2E33 91CB CC80 CB0B CAC8 BFBE BEBD BDBC" $"BBBA B788 8000 0329 0603 3382 3E01 3D3E" $"823D 043C 3B2A 2824 801E 0327 2D32 9281" $"CA0C C9C9 C6BE BDBC BCBB BAB9 B9B7 7680" $"0003 2908 0230 853D 823C 033B 2A28 2380" $"1E05 262C 3192 C8C9 80C8 0BC7 C4BC BCBB" $"BABA B9B8 B7B5 6C80 0003 250B 012C 823D" $"003C 803D 803C 043B 3B29 2823 801E 0325" $"2B30 9281 C70C C6C6 C2BB BABA B9B8 B7B6" $"B5B3 6480 0004 2010 0128 3C81 3D84 3C0B" $"3B3B 2928 231E 1D1D 242A 2F92 80C5 80C4" $"0AC0 B9B9 B8B7 B7B6 B5B4 B355 8000 0321" $"1100 2487 3C80 3B03 3A29 2823 801D 0323" $"292E 9381 C30C C2C2 BEB8 B7B6 B6B5 B4B3" $"B2B1 4980 0004 200F 0021 3B81 3C84 3B04" $"3A3A 2A27 2280 1D05 2228 2D93 C2C2 81C1" $"0ABC B6B5 B5B4 B3B2 B1B0 AE43 8000 031E" $"1200 1D87 3B80 3A03 3929 2723 801D 1421" $"262C 93C0 C1C0 C0BE BBB8 B5B4 B3B2 B2B1" $"B0AF AE35 8000 0418 1800 1939 813B 013A" $"3B82 3A0F 3939 2927 231D 1C1C 2025 2A90" $"B9B6 B4B2 80B1 09B3 B4B2 B1B0 AFAE ADAC" $"2980 0004 151C 0016 3988 3A04 3938 2A26" $"2380 1C03 1A1E 2386 81B0 0CAF AFAE AEAF" $"B2B0 AEAD ACAB A823 8000 040E 2100 1338" $"833A 1039 3633 302E 2B2A 2B27 2621 1C1C" $"181C 2286 82AE 0BAD ADAC ACAB AEAE ACAA" $"AAA7 1780 000A 0526 0010 3739 3633 302E" $"2B82 2A00 2980 2A07 2625 201B 161B 2086" $"80AD 0DAC ACAB ABAA AAA9 A8A9 ABA9 A8A6" $"0981 0003 2E00 0928 812A 0029 802A 8429" $"072A 2524 1F15 1A1F 8681 AB0C AAAA A9A9" $"A8A7 A6A5 A5A7 A9A3 0481 0003 280B 0625" $"8829 0028 8229 0625 232B 181E 86AA 80A9" $"0BA8 A8A7 A7A6 A5A4 9E90 8988 9582 0003" $"2113 0424 8129 0028 8329 8228 0829 2722" $"3522 1D85 A8A8 80A7 0AA6 A395 8E85 7A79" $"6A4B 3313 8200 030E 2303 2389 2881 2712" $"2829 253E 4023 85A6 A59A 9088 7F7A 7556" $"3D24 0587 0002 2F08 2181 2800 2783 2802" $"2728 2880 270C 2432 420B 506F 7F78 765C" $"422D 0E8C 0002 2810 1F81 2800 2782 280F" $"2727 2529 2D31 3C49 3F2A 0012 2125 1801" $"9000 0417 1C1D 2728 8227 0A26 262E 313A" $"4B43 352A 1401 9800 0F02 361A 2727 2624" $"2D2E 3446 4537 2E1C 059E 0009 2D2A 2E31" $"434B 3A2F 2307 9E00 696C 3332 0000 0B23" $"0213 3D97 80F5 1DF6 F5F6 F5F5 F4F4 F3F2" $"F3E6 A63A 434E 5045 4E3E 4B3B 4439 3C40" $"1821 0B70 FE80 FF00 FE80 FF0D FEFF FDF2" $"E3DB 7017 666F 6158 534E 834A 0438 2001" $"61FD 80FF 00FE 80FF 18FE FFF3 E1D3 CD6C" $"196A 7066 605B 554C 4B4A 4A49 483B 1907" $"53FA 80FF 00FE 80FF 18FE FEEA DACD C96B" $"1965 6A62 5D59 544B 4B4A 4949 4A34 1808" $"47F5 85FE 17F9 E1D4 C8C5 6A18 5C64 5F5B" $"5853 4B4A 4949 484B 2E16 0A3B F080 FF3C" $"FEFF FEFB F6F0 DBCE C4C2 6918 5560 5C59" $"5751 4A49 4948 484B 2915 0B30 E8FC FDFD" $"FCF9 F6F1 EDE9 D5CA C0BF 6818 505C 5957" $"5650 4949 4848 474B 2311 0F25 DB80 F11C" $"F0EE ECE9 E6E4 D1C7 BDBD 6718 4C59 5756" $"554F 4948 4847 474C 1F0C 131B CF81 E71C" $"E6E4 E3E1 DFCE C4BB BB65 1749 5756 5554" $"4E48 4847 4746 4C1A 051C 13C6 DF80 E01D" $"DFDF DEDD DCCB C1B9 B964 1748 5655 5453" $"4D48 4747 4646 4C14 0020 0BBD D9DA 80DB" $"1CDA DAD9 D9C9 BFB7 B863 1646 5454 5353" $"4C47 4746 4645 4E0E 0020 05B3 D5D6 84D7" $"19C7 BEB6 B662 1646 5353 5251 4A46 4645" $"4544 5207 0021 02A7 D2D3 D380 D410 D3D2" $"D1C4 BDB5 B55E 0F37 4241 3F3D 3D40 4380" $"4418 5500 0020 018E BFBE BDBC BBB9 B9B8" $"B8B9 BCBE B95C 082D 3938 3881 370A 3437" $"3A51 0000 1E11 77B0 B084 B11B B2B2 A89D" $"4402 181D 1814 0F0B 060A 2243 5937 0000" $"2708 609D 9488 7A6B 7F5D 4E3E 2F1F 1611" $"1D20 1213 1A20 262C 3136 3D43 4650 6221" $"0020 030A 0D08 070F 2032 4457 6978 8EA3" $"912A 2947 6261 5F5F 5C56 5452 504E 5220" $"0021 0462 8EA7 BFD1 DBE2 E7EB EEE3 DACC" $"C856 193A 625A 5959 544E 4E4D 4D4C 531A" $"001E 018B EDEA E6E3 DFDB DADA DBCD C7BC" $"BD53 1936 5A59 5958 534E 4D4C 4C4B 5214" $"001A 066E D5D5 D6D7 D780 D81C D9CB C4BB" $"BB51 1836 5958 5857 524D 4C4C 4B4A 540C" $"0017 0960 D3D4 D4D5 D580 D607 D7CA C2B9" $"B950 1736 8057 1156 514C 4B4B 4A49 5705" $"0017 0B53 D0D2 D2D3 D381 D41B C8C1 B7B7" $"4F16 3656 5655 554F 4B4A 4A49 4856 0000" $"140B 46CD D0D0 D1D1 81D2 06C6 BFB5 B54D" $"1635 8155 0E4E 4A49 4948 4753 0000 120E" $"39CA CECE 80CF 80D0 26C5 BDB3 B34C 1534" $"504E 4B48 484A 4848 4746 4C00 000E 122E" $"C6CC CCCD CDCE CECC CAC1 BBB3 B048 0F2A" $"8046 8045 0F48 4746 4549 0000 0319 23C1" $"C8C6 C3C1 BE81 BC05 BBB8 B046 0E2A 8045" $"0744 4443 4345 4644 4280 0003 1F17 ADB7" $"80B8 81B9 06BA BAB8 B549 0D2A 8044 0743" $"4342 4241 4143 4180 0006 2210 A6B5 B5B6" $"B683 B70F B8B5 7F11 2943 4342 4240 4142" $"4944 381F 8000 0418 129F B3B3 80B4 82B5" $"0CB4 B599 272D 4041 454A 3E2E 1F08 8300" $"0409 1F97 B1B1 82B2 0AB1 A59B 907E 5F0A" $"252C 230F 8900 0129 8C80 AF07 A59B 8F85" $"644A 2F13 9000 082E 7D8F 8669 4F33 1B02" $"9100 2312 2E26 7573 6B6C 5F63 5356 4745" $"3D37 4131 4E62 95BA B9AA AB9C 9C90 8C84" $"7C7C 321D 041D C87F D5D6 D1C7 B9A9 9785" $"7459 4737 2C2C 3DAF F9EF E7E1 DCD7 D6D5" $"D3D2 CF71 1F01 1BA4 B3B4 B0A7 9C8E 7F70" $"6346 3527 2223 33AE F3E8 E1DC D6CC CBCA" $"C9C7 C46B 1907 1884 9495 928B 8378 6D62" $"583E 2F23 1F22 32AE EBE3 DDD9 D4CB CAC9" $"C7C6 C260 1808 146C 7C7C 7A75 6F67 5F57" $"4F37 2A20 1D22 31AE E4DE DAD7 D1C9 C8C7" $"C6C4 C154 160A 115A 7F69 6967 645F 5A54" $"4E48 3227 1D1B 2130 ADDE DAD7 D5CF C8C7" $"C5C4 C3BF 4815 0B0E 4E5B 5B59 5753 4F4B" $"4743 2F24 1B1A 202F ABD9 D6D4 D3CD C6C4" $"C3C2 C1BE 3D11 0F0B 4450 504F 4D4B 4845" $"423F 2C22 1919 202E A8D5 D3D2 D1CA C4C3" $"C2C1 C0BC 320C 1308 3E48 4847 4644 4240" $"3E3C 2A20 1818 1F2D A5D2 D1D0 CFC8 C2C1" $"C0BF BEBA 2705 1C06 3980 421C 413F 3E3D" $"3B3A 291F 1717 1E2C A3CF CECE CDC6 C0BF" $"BFBE BCB8 1C00 2004 3580 3E1C 3D3C 3B3A" $"3938 281E 1617 1E2B A1CD CCCC CBC4 BEBE" $"BDBC BBB6 1200 2002 3280 3B1C 3A3A 3938" $"3837 281E 1616 1D2A A0CB CACA C9C1 BDBC" $"BBBA B9B5 0800 2101 2E81 397A 3837 3634" $"3326 1F16 1619 2292 B8B6 B4B3 B3B5 B8B9" $"B8B7 B100 0020 0120 2826 2422 211F 1D1C" $"1C1D 1F20 1B16 1B87 ADAC ACAB AAA9 A49B" $"9592 9500 001E 1012 1B1A 1A19 1918 1717" $"1618 1A15 1309 074E 5D4E 3F30 2113 0F26" $"3D4F 3500 0027 080B 1211 0F0E 0D0B 0A08" $"0703 0605 0B0B 0706 0707 0808 0705 0708" $"0914 2718 0020 0380 0513 070F 2032 4457" $"6978 8EA3 8F1F 1017 2220 1E1D 1914 8113" $"4A1C 1700 2104 628E A7BF D1DB E2E7 EBEE" $"E3DA CBC7 500E 1A26 1F1E 1D19 1313 1213" $"131E 1500 1E01 8BED EAE6 E3DF DBDA DADB" $"CDC7 BCBC 4D0E 171F 1E1D 1D18 1313 1213" $"121F 1000 1A06 6ED5 D5D6 D7D7 80D8 1CD9" $"CBC4 BABA 4C0D 171E 1E1D 1D17 1313 1213" $"1221 0B00 1709 60D3 D4D4 D5D5 80D6 08D7" $"CAC2 B9B9 4B0D 171E 801D 0017 8212 0A28" $"0500 170B 53D0 D2D2 D3D3 81D4 0DC8 C1B7" $"B74A 0D17 1E1D 1C1C 1613 1380 120A 2B00" $"0014 0B46 CDD0 D0D1 D181 D20D C6BF B5B5" $"490D 171D 1D1C 1C16 1313 8012 082C 0000" $"120E 39CA CECE 80CF 80D0 0CC5 BDB3 B348" $"0C15 1916 1411 1113 8012 1811 2900 000E" $"122E C6CC CCCD CDCE CECC CAC1 BBB3 B042" $"030B 1010 810F 0F12 1211 1129 0000 0319" $"23C1 C8C6 C3C1 BE81 BC07 BBB8 B040 030B" $"1010 810F 040E 1012 1127 8000 031F 17AD" $"B780 B881 B906 BABA B8B5 4402 0A80 0F81" $"0E03 0D0E 132A 8000 0622 10A6 B5B5 B6B6" $"83B7 04B8 B57D 080A 800F 070E 0E14 1A2A" $"302C 1A80 0004 1812 9FB3 B380 B482 B50C" $"B4B5 9922 1011 1823 3230 261C 0883 0004" $"091F 97B1 B182 B20A B1A5 9B90 7E5F 0A1C" $"221E 0F89 0001 298C 80AF 07A5 9B8F 8564" $"4A2F 1390 0008 2E7D 8F86 694F 331B 0291" $"003A 122D 1B68 665E 6051 5644 4737 342C" $"2632 2236 3231 373A 2F3A 2A39 2834 292E" $"3312 1D04 16B7 C4C5 C0B6 A898 8775 6348" $"3725 1B0D 0F54 5042 3934 2F2B 2B80 2C1C" $"2D2C 1F01 1594 A3A4 9F97 8C7E 6F61 5336" $"2517 120D 1359 544A 443F 3A30 2F7F 2F2E" $"2E2D 3019 0712 7585 8582 7C73 695E 5349" $"2F20 1310 0D13 514E 4641 3E38 302F 2E2E" $"2D2F 2B18 0810 5E6D 6D6B 6660 5850 4840" $"281B 110E 0D13 4848 433F 3D37 2F2F 2E2D" $"2D32 2516 0A0D 4C5A 5A58 5550 4B45 3F39" $"2418 0E0C 0D13 4144 403D 3B36 2F2E 2E2D" $"2D32 2215 0B0B 404C 4C4B 4845 413D 3834" $"2015 0C0A 0C13 3C41 3E3C 3B35 2F2E 802D" $"4533 1E11 0F09 3742 4140 3F3C 3936 3331" $"1E13 0A09 0C13 383F 3D3B 3A34 2E2E 2D2D" $"2C33 1A0C 1307 313A 3A39 3836 3432 302E" $"1C12 0808 0C13 353D 3B3A 3933 2E2D 2D2C" $"2C34 1705 1C05 2D80 3413 3331 302E 2D2C" $"1B10 0707 0B13 343B 3A39 3933 2D2D 802C" $"4535 1300 2003 2931 3030 2F2E 2D2C 2B2A" $"1A10 0706 0B12 333A 3A39 3932 2D2D 2C2C" $"2B37 0E00 2001 272E 2E2D 2D2C 2B2B 2A29" $"1A0F 0606 0B12 323A 3938 3831 2D2C 2C2B" $"2B3D 0700 2101 2480 2C23 2B2A 2928 2625" $"1810 0605 070A 2329 2725 2424 2729 2B2B" $"2A41 0000 2001 161B 1917 1514 1211 800F" $"3612 120C 0603 191F 1F1E 1D1D 1F1F 1E22" $"2742 0000 1E10 090E 0D0C 0B0A 0A09 0807" $"090D 0805 0302 0D0F 0D0B 0806 0309 2761" $"7D42 0000 2708 0204 8503 5C01 0410 3848" $"282D 3E4F 5F70 7F90 A4B1 B9C4 D532 0020" $"0305 0405 0607 0A0E 1114 1716 191A 222E" $"5BA3 D3DA DDDE DCD4 D0CB C5C1 BD31 0021" $"0217 1F25 2A2F 3C45 403E 3E32 2B21 2126" $"3176 D2CE CDCC C7C0 C0BF BDBC BA26 001E" $"0127 5B5C 5C59 4C3E 803D 062F 281F 1F25" $"2F72 80CB 0CCA C5BE BDBC BBBA B71A 001A" $"0621 843D 1A3C 3C2F 281E 1E23 2E72 C9C9" $"C8C8 C2BC BBBA B9B8 B40F 0017 091D 3D3D" $"843C 162F 271E 1E22 2C72 C7C6 C6C5 BFBA" $"B9B8 B7B5 B205 0017 0B19 833C 803B 072F" $"271E 1E21 2A72 C480 C30D BCB8 B7B6 B4B3" $"AA00 0014 0B15 3B3C 823B 083A 3A2F 271D" $"1D20 2871 80C1 0FC0 BAB5 B4B3 B2B0 9E00" $"0012 0E12 3A3B 3B83 3A17 2E27 1D1D 1F27" $"6FBB B9B6 B3B3 B4B2 B1AF AE91 0000 0E12" $"0E39 833A 0938 352D 261F 1C1A 1F65 B080" $"AF11 AEAE B0AE ACAB 8500 0003 190B 3838" $"3532 302D 812A 0528 251E 181C 6580 AD07" $"ACAB AAA9 ABAB A978 8000 021F 0528 8729" $"0F27 241B 1B64 ABAB AAA9 A9A8 A6A5 A4A1" $"6D80 0005 2204 2629 2928 8029 8128 0F29" $"262E 1D64 A8A8 A7A7 A297 8E84 6B4F 2880" $"0002 180B 2485 2880 270B 2836 2F66 9A91" $"8777 583F 2409 8300 0509 1C22 2828 2780" $"2880 2708 2C32 3C38 0B37 402B 1089 0001" $"241F 8027 0726 2B2F 3E39 2F22 1190 0008" $"2027 2D3B 3932 2317 0291 0069 7333 3200" $"0002 F701 1FBF 80FA 0CF9 F9EE B63F 5C4F" $"4845 4236 10AB 81FF 3DF6 D79B 4069 5C50" $"4A49 4010 9AFF FEFE FBE9 CB96 385F 594E" $"4948 3B10 86F7 F6F2 EBDD C493 3359 564C" $"4847 3610 71E3 E4E2 DFD5 BE90 3056 544B" $"4746 3210 60D8 D97F D9D8 D0BA 8D2E 5452" $"4946 452D 104E C9C8 C7C6 C2BB 8A1F 3D3B" $"3B3C 3E29 113C A499 8A7C 6C60 4710 1C1D" $"1E2B 4D2E 101D 536A 849B ADB6 7631 605C" $"5550 4E38 0E40 E0DD DAD9 D3C1 8727 5958" $"504C 4B32 0B32 D2D3 D4D5 CFBD 8426 5756" $"4E4A 492C 0926 CDD0 D0D1 CBB9 8025 524F" $"4B48 4728 041F C7C8 C6C4 C1B8 7C1C 4645" $"4446 4523 001A B0B7 81B8 158C 1C43 4341" $"4340 1800 14A7 B3B3 B4B0 A58B 2134 281B" $"0A80 0006 1592 9371 4C2B 1085 0053 1860" $"A299 866F 543E 3679 D7C7 BBB2 A97C 1057" $"A49D 8970 4F2B 2270 EADD D0CA C794 103B" $"736F 6456 4023 1F6F DED7 CCC7 C487 102B" $"5553 4D46 371E 1D6C D6D2 C8C3 C17A 1021" $"4544 413D 321C 1B68 D0CE C4C0 BE6D 101B" $"3D3C 7F3B 3930 1A1A 66CB CAC0 BCBA 6110" $"1430 2E2C 2924 1D18 55B2 B0AF ACA5 5111" $"0D16 1412 100E 0E0D 192E 2010 112A 1D10" $"1B50 6A84 9BAD B671 1422 1D16 1313 190E" $"40E0 DDDA D9D3 C184 121E 1D15 1312 170B" $"32D2 D3D4 D5CF BD81 121D 1C15 1212 1609" $"26CD D0D0 D1CB B97E 111A 1713 1211 1504" $"1FC7 C8C6 C4C1 B879 0710 0F0F 1111 1400" $"1AB0 B781 B815 8B08 0F0E 1018 1F11 0014" $"A7B3 B3B4 B0A5 8B16 1A19 1509 8000 0615" $"9293 714C 2B10 8500 2118 5493 8A77 5F43" $"2D20 3241 352F 2D2C 2810 4C94 8D79 6040" $"1C0F 344C 4035 2F2E 2E10 327F 6460 5547" $"3115 0D2C 443D 332E 2D2B 1023 4744 3F38" $"2910 0B26 3F3B 322E 2D27 101A 3736 332F" $"240C 0924 3B39 302D 2C24 1015 2F2E 2D2B" $"220B 0922 3A38 2F2C 2B22 100F 2321 1E1C" $"170E 0812 2321 2224 2820 1109 0907 0606" $"050A 2219 2A38 4661 9752 1008 131A 2629" $"2720 2669 D3D5 CEC6 C073 0E14 4C4C 413D" $"3623 2150 CAC9 C0BC B965 0B13 813C 0B35" $"2320 4EC5 C4BB B7B5 5809 1080 3B1D 3A34" $"221E 4CBE BAB5 B2B0 4B04 1139 3734 312D" $"251B 41AE AEAC ADAB 3F00 1328 8129 0B28" $"2540 A9A8 A297 8025 0012 2680 2807 272B" $"3436 6544 250B 8000 0611 2731 2A22 1A0D" $"8500 6974 3332 0000 8B31 0000 0000 8200" $"0A10 5874 7DA2 BFD3 E0E7 EAEB 84EE 00EF" $"81F0 82EF 05F0 F0EF EFEE ED82 EE05 EDEC" $"EAE9 EAEA 80EB 06E9 E7E5 E3E4 E6E7 80E9" $"21E7 DDAB ADAE AFB2 6906 0000 081C 3329" $"2523 2327 2D33 3739 3B31 0405 0607 0808" $"0909 069F 0010 0745 734D 425F 84B8 E4F1" $"F1F0 EFEE EDEB EB82 EC03 EDEC EBEA 80EB" $"13EC EBEC ECEB EAEA EBEB ECEC EDEC EBEB" $"ECED EDEF F082 F180 F286 F337 F0E4 886A" $"627A 635A 5552 5558 5D63 696B 655E 5556" $"6069 737D 807E 7861 4751 5A65 6F73 726E" $"5C34 3C44 4C55 5859 573D 1F25 2B32 383C" $"3F41 300B 8200 0919 724F 3A2F 3F45 62BD" $"EC97 FD83 FC80 FB06 FAFA F9F8 F7F6 F580" $"F380 F24F F1F1 F0EE EEEF EFF0 EDD0 9853" $"3A36 353C 4458 5457 5D63 6870 7572 504F" $"5257 5C61 676A 6351 4C4D 5154 585B 5B57" $"524D 4D52 565A 5F5E 5952 4C4E 545A 6167" $"6766 645C 653E 0100 000C 6738 2B39 3C17" $"095F A6DF B5FE 0CFC D27D 4E45 3845 322D" $"2E43 4A4A 8049 8048 384A 4C4E 5052 5456" $"5247 4A51 555B 5F65 6966 474B 5156 5C60" $"686C 6249 4B51 585F 656E 726D 5852 545C" $"2300 000C 4E2A 3D1B 090B 0C57 A3D5 FEFF" $"FFFE 80FF 0CFE FFFF FEFF FFFE FFFF FEFF" $"FFFE 80FF 0CFE FFFF FEFF FFFE FFFF FEFF" $"FFFE 80FF 05FE FFFF FEFF FF80 FE24 FDFC" $"FBF9 F8F6 F4F3 E9BE 251C 1B1B 1A19 1C31" $"6DC5 7670 6A65 615E 5A58 5553 5150 4E4D" $"4D4C 4B81 4A83 4981 4888 4915 4B54 5457" $"2800 000A 4342 0D0D 0C06 0450 A4D4 FEFF" $"FFFE 80FF 0CFE FFFF FEFF FFFE FFFF FEFF" $"FFFE 80FF 0CFE FFFF FEFF FFFE FFFF FEFF" $"FFFE 80FF 2FFE FFFF FEFE FCF8 F4EC E5E0" $"DCD9 D7D5 D3D1 CCB3 1F14 1313 1212 1831" $"61D9 6E69 6662 5F5C 5957 5553 514F 4E4C" $"4B4A 4948 4881 4781 4880 4980 4A83 4B81" $"4C10 4A5A 582A 0000 0C45 280D 0601 0103" $"479F CCA7 FE2C FCF9 F5F2 EBE1 DEDB D9D6" $"D4D2 D0CF CAB2 2016 1718 1819 2141 70DB" $"7975 716E 6B67 6562 605E 5C5A 5957 5654" $"5452 4B86 4A81 4B84 4A81 4908 4858 5B2F" $"0000 0C41 3280 0008 0102 409C C9FE FFFF" $"FE80 FF0C FEFF FFFE FFFF FEFF FFFE FFFF" $"FE80 FF0C FEFF FFFE FFFF FEFF FFFE FFFF" $"FE80 FF2F FEFF FDF9 F5F1 EEE4 DDDA D8D6" $"D3D2 D0CF CDC9 B221 1718 1819 1A22 4373" $"DA79 7572 6F6C 6967 6563 615F 5E5C 5B5A" $"595A 5B54 804E 014D 4D80 4C81 4B81 4A02" $"494A 4A80 490A 4849 4763 5C32 0000 0E43" $"3F80 0008 0102 3899 C5FC FFFF FE80 FF0C" $"FEFF FFFE FFFF FEFF FFFE FFFF FE80 FF0C" $"FEFF FFFE FFFF FEFF FFFE FFFF FE80 FF32" $"FEFE F7F4 F0ED EAE1 DAD8 D6D4 D2D1 CFCE" $"CCC9 B221 1718 1919 1A23 4473 D678 7471" $"6E6B 6967 6563 6160 5E5D 5C5B 5A5B 5B53" $"4E4D 4D80 4C80 4B02 4A4B 4B81 4A01 494A" $"8149 0B48 4946 6D5C 3700 0011 4F1B 0180" $"0004 0131 95C1 FAA4 FE32 FDF4 F0ED EBE8" $"DFD8 D6D4 D2D1 CFCE CDCB C8B1 2117 1819" $"191A 2344 73D0 7672 6F6D 6A68 6664 6260" $"5F5E 5D5C 5B5A 5B5B 534D 4D4C 4C81 4B82" $"4A84 4981 4814 4651 5D3E 0000 0F53 2306" $"0000 0101 2B91 BEF8 FFFF FE80 FF0C FEFF" $"FFFE FFFF FEFF FFFE FFFF FE80 FF0C FEFF" $"FFFE FFFF FEFF FFFE FFFF FE80 FF31 FEFC" $"F1EE EBE8 E6DD D6D4 D3D1 CFCE CDCC CBC7" $"B121 1718 1819 1A23 4473 CC74 706E 6B69" $"6765 6361 605E 5D5C 5B5A 5A5B 5B52 4D4D" $"814C 804B 014A 4B82 4A80 4908 4849 4948" $"4948 5760 3680 000D 3F2F 0C00 0001 0123" $"8DBB F4FF FFFE 80FF 0CFE FFFF FEFF FFFE" $"FFFF FEFF FFFE 80FF 0CFE FFFF FEFF FFFE" $"FFFF FEFF FFFE 80FF 35FE FBEE EBE9 E6E4" $"DBD5 D3D1 D0CE CDCC CBCA C7B1 2017 1818" $"191A 2344 73C8 726F 6C6A 6765 6462 605F" $"5E5D 5C5B 5A59 5B5A 514D 4D4C 4B4C 4C80" $"4B03 4A4B 4A49 804A 8049 0848 4949 4848" $"4A60 690E 8000 024D 2508 8000 0401 1D89" $"B8F0 A4FE 30F9 EBE9 E6E4 E2DA D3D1 D0CE" $"CDCC CBCA C9C6 B021 1718 1819 1A23 4473" $"C370 6D6B 6866 6463 6160 5E5D 5C5B 5A5A" $"595A 5A51 4C4C 814B 834A 8349 8348 034B" $"696E 1080 000D 5F18 0F00 0001 0118 84B6" $"EDFF FFFE 80FF 0CFE FFFF FEFF FFFE FFFF" $"FEFF FFFE 80FF 0CFE FFFF FEFF FFFE FFFF" $"FEFF FFFE 80FF 2FFE F7E9 E6E4 E2E0 D8D1" $"D0CE CDCC CBCA C9C8 C6B0 2017 1818 191A" $"2444 72BE 6E6B 6967 6563 6260 5F5E 5D5C" $"5B5A 5958 5A5A 5080 4C80 4B02 4A4B 4B80" $"4A00 4980 4A80 4908 4849 4948 4846 5574" $"1280 000D 3918 2300 0001 0113 7FB3 E9FF" $"FFFE 80FF 0CFE FFFF FEFF FFFE FFFF FEFF" $"FFFE 80FF 0CFE FFFF FEFF FFFE FFFF FEFF" $"FFFE 80FF 2FFE F5E7 E4E2 E0DE D6D0 CECD" $"CCCB CAC9 C8C7 C5B0 2017 1818 191A 2444" $"72B5 6C6A 6866 6462 615F 5E5D 5C5B 5A5A" $"5958 5A59 5080 4C80 4B01 4A4B 814A 0249" $"4A4A 8149 0148 4980 4803 4F50 7510 8000" $"0D40 1B34 0000 0101 0F79 B0E4 FFFF FE80" $"FF0C FEFF FFFE FFFF FEFF FFFE FFFF FE80" $"FF3F FEFF FFFE FFFF FEFF FFFE FFFF FEFF" $"FFFE FCF3 E4E2 E0DE DCD5 CECD CCCB CAC9" $"C8C7 C6C4 B020 1718 1819 1A24 4470 AD6A" $"6866 6463 6160 5F5E 5C5C 5B5A 5959 585A" $"594F 804C 804B 014A 4B81 4A0E 494A 4949" $"4849 4948 4948 4748 5952 6081 0002 4E1F" $"0E80 0004 010B 73AE E0A2 FE30 FCFA F1E2" $"E0DE DCDB D3CD CCCA CAC9 C8C7 C6C5 C3AF" $"2017 1818 191A 2444 6FA5 6967 6563 6260" $"5F5E 5D5C 5B5A 5959 5857 5A58 4F81 4B82" $"4A83 4984 4804 4748 6352 6881 000D 4B20" $"1E00 0001 0109 6CAB DBFF FFFE 80FF 0CFE" $"FFFF FEFF FFFE FFFF FEFF FFFE 80FF 3FFE" $"FFFF FEFF FFFE FFFF FEFF FFFE FDFB FAF8" $"EFE0 DEDC DBD9 D2CB CAC9 C8C8 C7C6 C5C4" $"C3AF 2017 1718 1919 2445 6E9D 6766 6462" $"6160 5E5D 5C5B 5A5A 5959 5857 5A58 4E80" $"4B02 4A4B 4B80 4A02 494A 4A81 4902 4849" $"4980 4804 4748 4E52 7081 000D 2B20 3100" $"0001 0107 65A9 D6FF FFFE 80FF 0CFE FFFF" $"FEFF FFFE FFFF FEFF FFFE 80FF 3FFE FFFF" $"FEFF FFFE FFFF FEFF FEFD FBF9 F7F5 EDDE" $"DCDA D9D8 D1CA C9C8 C7C7 C5C4 C4C3 C2AF" $"2017 1718 191A 2445 6D96 6664 6361 605F" $"5E5D 5C5B 5A59 5958 5857 5958 4E80 4B02" $"4A4B 4B80 4A02 494A 4A81 4902 4849 4980" $"4804 4748 5052 7481 0002 3626 1E80 0004" $"0105 5DA6 D29D FE36 FDFC FAF8 F6F5 F3EB" $"DCDA D9D7 D6D0 C9C8 C7C6 C5C4 C4C3 C3C2" $"AE20 1717 1819 1925 456B 9065 6361 605F" $"5E5D 5C5B 5A5A 5958 5857 5759 574D 4B82" $"4A84 4984 4880 4703 4859 544A 8100 0D41" $"2D19 0000 0101 0554 A3CD FDFF FE80 FF0C" $"FEFF FFFE FFFF FEFF FFFE FFFF FE80 FF37" $"FEFF FFFE FFFF FEFF FEFD FBF9 F7F6 F4F3" $"F1E9 DBD8 D7D6 D5CE C8C7 C6C5 C4C3 C3C2" $"C2C1 AE1F 1717 1819 1925 456A 8A63 6260" $"5F5E 5D5C 5B5A 5A59 8058 0457 5759 574D" $"804B 804A 0249 4A4A 8049 0048 8049 8048" $"0747 4848 4748 6454 5181 000D 1332 2D00" $"0001 0104 4CA0 C9FB FFFE 80FF 0CFE FFFF" $"FEFF FFFE FFFF FEFF FFFE 80FF 38FE FFFF" $"FEFF FFFE FDFB FAF8 F6F5 F4F2 F1EF E8D9" $"D7D6 D5D4 CDC6 C5C4 C4C3 C3C2 C2C1 C1AD" $"1F17 1718 1919 2545 6984 6261 5F5E 5D5C" $"5B5B 5A59 5958 8157 0559 574C 4A4B 4B80" $"4A02 494A 4A80 4900 4880 4980 4807 4748" $"4847 4752 545A 8100 0216 3D3D 8000 0501" $"0345 9EC6 F997 FE18 FDFB FAF8 F7F5 F4F3" $"F1F0 EFEE E6D7 D5D4 D3D2 CCC4 C4C3 C3C2" $"C280 C11E C0AD 1F16 1718 1819 2545 677F" $"6160 5E5D 5C5C 5B5A 5959 5858 5757 5656" $"5956 4C81 4A83 4985 4883 4702 5054 6081" $"0002 1A49 1880 0007 0102 3E9A C3F6 FFFE" $"80FF 0CFE FFFF FEFF FFFE FFFF FEFF FFFE" $"80FF 80FE 18FC FBFA F8F7 F6F4 F3F2 F0EF" $"EEED ECE5 D6D4 D3D2 D1CB C3C3 C2C2 81C1" $"17C0 C0AD 1F16 1718 1819 2645 667A 605F" $"5E5D 5C5B 5A5A 5958 5880 5704 5656 5856" $"4C80 4A02 494A 4A83 4902 4849 4981 4807" $"4748 4847 475A 5631 8100 0D13 4A27 0200" $"0001 0136 97C0 F3FF FE80 FF0B FEFF FFFE" $"FFFF FEFF FFFE FFFF 81FE 17FD FCFB F9F8" $"F7F6 F4F3 F2F1 F0EE EDEC EBEB E3D5 D3D2" $"D1D0 CA80 C201 C1C1 80C0 18BF BFAC 1F16" $"1718 1819 2645 6576 5F5E 5D5C 5B5A 5A59" $"5958 5857 8156 0258 554B 804A 0249 4A4A" $"8049 1148 4949 4849 4848 4748 4847 4847" $"4746 6658 3882 0002 4238 0480 0004 012F" $"93BD EE8E FE1B FDFC FBFA F9F9 F7F6 F5F4" $"F3F2 F1F0 EFED ECEB EAEA E9E2 D4D1 D0D0" $"CFC9 80C1 80C0 81BF 13AC 1F16 1718 1819" $"2645 6473 5E5D 5C5B 5A5A 5959 5880 5707" $"5656 5556 5855 4B4A 8449 8448 8447 0446" $"4556 593F 8200 0F52 2304 0000 0101 2890" $"BAE9 FAFB FBFC FC83 FD80 FC1F FBFB FAFA" $"F9F8 F7F6 F6F5 F4F3 F2F1 F0EF EEED ECEB" $"EAE9 E8E8 E1D2 D0CF CFCE C8C1 80C0 81BF" $"15BE BFAC 1F16 1718 1819 2645 636F 5D5C" $"5B5B 5A59 5958 5880 5780 5608 5558 544A" $"494A 4A49 4A81 4902 4849 4981 4802 4748" $"4880 4704 4645 525A 4582 000E 6318 1200" $"0001 0121 8CB8 E4F7 F7F8 F882 F900 FA81" $"F91F F8F8 F7F7 F6F5 F4F4 F3F2 F1F0 EFEE" $"EDED ECEB EAE9 E8E7 E7E6 E0D1 CFCE CECD" $"C8C0 82BF 81BE 12AB 1E16 1717 1819 2645" $"616C 5C5B 5B5A 5959 5858 8057 8056 0755" $"5558 544A 494A 4A80 4904 4849 4948 4982" $"4801 4748 8147 0446 455D 6015 8200 0236" $"1724 8000 0601 1B87 B5E0 F3F4 80F5 85F6" $"21F5 F5F4 F4F3 F3F2 F1F1 F0EF EFEE EDEC" $"EBEB EAE9 E8E7 E7E6 E5E5 DFD0 CECD CDCC" $"C7BF BF82 BE18 BDBD BEAB 1E16 1717 1819" $"2645 6069 5B5B 5A59 5958 5857 5756 5682" $"5502 5753 4A82 4984 4884 4781 4603 4469" $"6516 8200 0C44 1B30 0000 0101 1682 B3DC" $"F1F1 81F2 83F3 81F2 1CF1 F1F0 F0EF EEEE" $"EDEC ECEB EAE9 E9E8 E7E7 E6E5 E5E4 E4DE" $"CFCD CCCC CBC7 81BE 01BD BE81 BD10 AB1E" $"1617 1718 1927 465F 675B 5A59 5958 5880" $"5780 5681 550B 5753 4A49 4A49 4849 4948" $"4949 8048 0047 8048 8047 0746 4747 4643" $"5C6A 1982 000C 531E 0E00 0001 0111 7DB0" $"D8EE EE81 EF85 F080 EF11 EEEE EDED ECEB" $"EBEA EAE9 E8E8 E7E6 E6E5 E4E4 80E3 07DD" $"CFCC CCCB CBC6 BE84 BD0F BCBD AA1E 1617" $"1718 1927 465E 645A 5959 8058 0157 5780" $"5682 5502 5752 4A80 4904 4849 4948 4981" $"4800 4780 4880 4700 4680 4703 494E 6F1C" $"8200 0B48 1E20 0000 0101 0D77 AED4 EB80" $"EC89 ED12 ECEC EBEB EAEA E9E9 E8E8 E7E7" $"E6E5 E5E4 E4E3 E380 E206 DCCE CBCB CACA" $"C581 BD82 BC0D BDAA 1E16 1617 1818 2746" $"5D62 5959 8058 0057 8056 0355 5655 5480" $"5502 5752 4A80 4902 4849 4980 4805 4748" $"4847 4848 8147 0746 4746 4653 4F61 0282" $"0002 2F1F 3280 0006 010A 71AB D1E8 E981" $"EA85 EB80 EA80 E903 E8E8 E7E7 80E6 06E5" $"E4E4 E3E3 E2E2 81E1 06DB CDCA CAC9 C9C5" $"85BC 11BB BCA9 1D15 1617 1818 2746 5C60" $"5958 5857 5780 5680 5582 5402 5751 4985" $"4885 4784 4602 5F50 6683 000D 3B25 1800" $"0001 0108 6AA9 CDE6 E7E7 81E8 05E9 E8E9" $"E9E8 E981 E881 E705 E6E6 E5E5 E4E4 80E3" $"03E2 E2E1 E181 E001 DBCC 80C9 05C8 C4BC" $"BBBC BC82 BB0D BCA8 1D16 1617 1818 2746" $"5B5F 5858 8057 8156 8055 8154 0757 5149" $"4849 4948 4981 4802 4748 4881 4702 4647" $"4781 4602 544F 6F83 0002 442B 1D80 0005" $"0107 62A6 CAE4 81E5 89E6 81E5 80E4 01E3" $"E380 E201 E1E1 80E0 81DF 01DA CC81 C800" $"C487 BB0D A81C 1516 1717 1827 465A 5D58" $"5757 8056 0555 5655 5455 5581 5405 5650" $"4948 4949 8048 0547 4848 4748 4881 4702" $"4647 4781 4602 494F 7783 0002 182F 2F80" $"0005 0106 59A3 C8E1 80E3 8BE4 81E3 80E2" $"80E1 80E0 80DF 81DE 02DA CBC8 80C7 00C3" $"86BA 0DBB A71C 1516 1717 1827 4659 5C57" $"5780 5680 5581 5480 5303 5456 5049 8148" $"8547 8446 8045 0346 5350 5283 0002 1E39" $"3881 0004 0552 A0C5 DF80 E183 E280 E384" $"E281 E180 E081 DF80 DE81 DD01 D9CB 80C7" $"01C6 C386 BA0C BBA7 1C15 1617 1718 2846" $"585B 5781 5681 5580 5400 5380 5402 564F" $"4980 4805 4748 4847 4848 8047 0046 8047" $"8046 0045 8046 025F 5151 8300 0224 441B" $"8100 0603 4A9D C3DD DFDF 81E0 87E1 82E0" $"82DF 80DE 82DD 04DC DCDD D8CA 80C6 06C5" $"C2B9 B9BA BAB9 80BA 0CB9 BAA7 1C15 1617" $"1718 2846 575A 8056 8055 0254 5555 8054" $"0553 5453 5456 4F81 4804 4748 4847 4881" $"4700 4680 4780 4600 4580 4602 5751 5983" $"0002 1443 2B81 0005 0243 9AC0 DADD 80DE" $"8DDF 82DE 81DD 82DC 09DB DBDC D8C9 C5C5" $"C4C4 C186 B90C BAA6 1C15 1616 1718 2846" $"5759 5681 5581 5482 5304 5254 554E 4886" $"4785 4682 4503 4649 5162 8400 0146 3E81" $"0006 013C 97BE D8DC DC83 DD87 DE84 DD82" $"DC84 DB01 D7C9 81C4 05C1 B8B8 B9B9 B882" $"B90C A61C 1515 1617 1828 4656 5856 5681" $"5580 5401 5354 8153 0954 554D 4847 4848" $"4748 4880 4702 4647 4781 4602 4546 4681" $"4502 5553 3F84 0002 561E 0380 0004 0134" $"94BB D681 DB84 DC01 DDDD 89DC 83DB 83DA" $"01D7 C980 C401 C3C1 83B8 0EB9 B9B8 B9A5" $"1C15 1516 1718 2946 5557 8055 0154 5581" $"5480 5309 5253 5354 554D 4847 4848 8347" $"0246 4747 8146 0245 4646 8145 0261 543A" $"8400 025F 1813 8000 0501 2D90 B9D4 D981" $"DA91 DB84 DA81 D902 DAD6 C881 C300 C082" $"B781 B80C B9A5 1C15 1516 1718 2946 5557" $"5582 5482 5381 5202 5455 4C83 4785 4684" $"4580 4402 5C55 4184 0002 3B1A 2480 0005" $"0126 8CB7 D3D8 82D9 91DA 88D9 06D6 C8C2" $"C3C3 C2C0 80B7 01B8 B780 B80E B7B8 A51B" $"1415 1617 1729 4654 5655 5581 5401 5354" $"8153 0652 5352 5454 4C48 8347 0246 4747" $"8046 0045 8046 8045 0644 4545 434B 5649" $"8400 0249 1D28 8000 0601 2088 B4D1 D7D7" $"82D8 93D9 01D8 D982 D802 D9D5 C881 C202" $"C0B7 B682 B713 B8B7 B8A5 1B14 1516 1617" $"2946 5456 5554 5453 5454 8053 0252 5353" $"8052 0353 544B 4880 4705 4647 4746 4747" $"8046 0045 8046 8045 0644 4545 4259 5928" $"8400 0258 1D10 8000 0601 1A84 B2CF D6D6" $"83D7 94D8 82D7 02D8 D5C7 81C1 00BF 84B6" $"0FB7 B7B8 A41B 1415 1616 1729 4653 5554" $"5482 5384 5205 5153 544B 4747 8546 8545" $"8244 0340 6560 1D84 0002 451C 2180 0006" $"0115 7FB0 CDD5 D582 D69B D701 D5C7 81C1" $"00BF 82B6 80B7 0BB6 B7A4 1B14 1516 1617" $"2946 5381 5480 5302 5253 5380 520C 5152" $"5253 534A 4746 4747 4647 4780 4609 4546" $"4645 4645 4544 4545 8044 033E 6F64 2184" $"0002 341E 3380 0005 0110 79AD CBD4 82D5" $"88D6 86D7 0CD6 D7D7 D6D7 D7D6 D7D7 D6D7" $"D4C7 80C1 03C0 BFB5 B584 B60A B7A3 1A14" $"1515 1617 2946 5280 5481 5302 5253 5380" $"520B 5152 5253 534A 4746 4747 4647 8146" $"0245 4646 8145 0244 4545 8044 0343 4D68" $"2584 0002 4223 1380 0005 010D 73AA C9D3" $"82D4 85D5 94D6 06D4 C7C0 C1C1 C0BE 80B5" $"01B6 B581 B60C B7A2 1A14 1515 1617 2A46" $"5254 5480 5382 5201 5151 8050 074F 5050" $"4847 4647 4780 4605 4546 4645 4646 8145" $"0144 4581 4403 4D4E 6818 8400 0245 281E" $"8100 040B 6DA8 C7D2 81D3 84D4 95D5 02D6" $"D3C6 81C0 02BE B4B4 84B5 1AB6 A21A 1414" $"1516 1629 4550 5251 5050 4F4E 4E4D 4C4B" $"4A49 4746 4544 8042 0144 4582 4683 4584" $"4405 4343 4457 5068 8500 021F 2B30 8000" $"0401 0865 A5C5 80D2 83D3 86D4 02D5 D5D4" $"8DD5 0BD3 C6BF C0C0 BFBE B4B4 B5B5 B481" $"B504 B6A1 1912 1280 130C 243B 4546 4443" $"4241 403F 3E3D 3D83 3C07 3B3C 3C3D 3E41" $"4344 8045 0146 4680 4500 4480 4580 4405" $"4344 4460 5170 8500 0227 3333 8000 0501" $"075D A2C3 D182 D201 D3D2 83D3 02D4 D4D3" $"8CD4 80D3 05D2 D2D0 C3C0 C080 BF00 B885" $"B403 B5A1 110A 800B 030C 1A2F 3881 3C0A" $"3B3C 3C3B 3C3C 3B3C 3C3B 3C85 3B04 3D3F" $"4143 4481 4502 4445 4581 4405 4344 4443" $"4E79 8500 022E 3D1C 8100 0406 56A0 C1D0" $"82D1 8BD2 80D1 0ED0 D0CF CFCE CDCC CCCB" $"C9C8 C7C5 C4C1 83BF 05BE BCB7 B4B3 B380" $"B40A B5A0 0F08 090A 0A0C 1A2E 388C 3B87" $"3A05 3B3C 3D40 4243 8344 8143 0344 4E4D" $"6E85 0002 143B 2C80 0006 0104 4E9D BFCF" $"D084 CF14 CECE CDCD CCCC CBCA C9C8 C7C5" $"C4C3 C1C0 BFBE BDBC BB83 BA04 B9BA BBBD" $"BE81 BF03 BEBF BCB7 80B4 0CB3 B4A0 0E08" $"0809 0A0B 1A2E 373A 803B 0C3A 3B3B 3A3B" $"3B3A 3B3B 3A3B 3B3A 803B 873A 053C 3E40" $"4243 4380 4405 4343 4458 4F50 8600 0249" $"2B0F 8000 1502 4595 B8C8 C8C7 C6C5 C4C3" $"C2C0 BFBE BCBB BABA B9B8 B883 B786 B883" $"B903 BABB BDBE 80BF 80BE 0FBD B8B4 B3B4" $"9F0E 0708 0909 0B1A 2E37 3A80 3B88 3A04" $"3939 3838 3980 3A05 393A 3A39 3A3A 8139" $"033A 3C3F 4081 4203 4359 545B 8600 0262" $"1D1E 8100 0237 85A5 81B5 83B4 83B5 85B6" $"84B7 86B8 06B9 B9BA BDBE BFBF 81BE 0EBD" $"B8B5 9F0C 0707 0809 0A1A 2D36 3A3A 8039" $"0338 3837 3780 3681 3580 3402 3536 3884" $"390F 3838 3736 3534 3332 3130 2F2D 3759" $"5665 8600 0333 2316 1180 0004 2E7D 9FB0" $"B283 B383 B482 B501 B6B5 83B6 84B7 02B8" $"B8B7 83B8 02B9 BABC 83BE 0BBD BDA6 1C02" $"0406 0708 1729 3185 3403 3534 3435 8434" $"0133 3282 3112 2F2D 2A27 2421 1E1B 1C2A" $"3C25 373C 394F 4759 4C86 000A 0941 1C22" $"0400 0027 7A9D AF82 B282 B383 B484 B584" $"B600 B780 B601 B7B6 80B7 86B8 01B7 B680" $"B40A 9E08 0101 0002 0516 2830 3380 3482" $"3323 3231 302F 2E2C 2B28 2624 211E 1B17" $"1310 0D0B 1C4D 3133 4A37 4C4E 332E 3232" $"3641 445B 6E11 8700 092C 2F16 1C00 0022" $"779B AE82 B182 B283 B386 B403 B3B3 B2B2" $"80B1 80B0 02AF B1B5 83B7 02B4 B2B2 82B1" $"02B3 9E09 8002 1901 010F 242D 302F 2E2C" $"2A28 2624 211E 1B18 1411 0E0C 0907 0603" $"0280 0181 000F 0F2A 3637 2B33 3F51 5D77" $"9841 4034 1F0B 8800 0A26 4F26 270A 001D" $"7399 ADB0 83B1 82B2 01B1 B180 B001 AFAF" $"85AE 01AF AE82 AF26 B0AF B0B0 B2B6 B7B6" $"B7B6 B1B1 B0AF ADAB A8A5 A278 0403 0302" $"0302 060F 1818 1512 0F0C 0A08 0605 0482" $"030C 0202 0303 0100 0101 0001 0100 0180" $"000B 0F29 4048 4451 5F70 8474 4310 8800" $"0C30 512C 2118 2400 186F 96AB AEAE 80AD" $"80AC 82AB 82AC 01AD AC80 AD02 AEAE AD81" $"AE00 AF81 AE12 ADAC AAA9 A6A6 A5A1 9B90" $"8A83 7B72 695E 5348 1784 0380 048C 031C" $"0203 0301 0001 0100 0101 0204 050A 0C10" $"1719 2E4F 5F5A 4F56 606E 8174 3B86 000C" $"552C 2829 1729 0011 668E A4A8 A882 A981" $"AA83 AB84 AC1E ABAA A8A6 A4A1 9D99 948E" $"8881 7A71 685F 544A 4551 3028 221E 2026" $"2C2C 1808 0495 030F 0408 0909 0E10 181C" $"2229 2B31 3336 3939 813A 0939 405A 6161" $"5A62 6B7A 6985 0003 5328 2A01 8002 070E" $"628C A3A8 A8A9 A880 A982 AA2C A9A8 A7A6" $"A4A1 9E9A 9691 8B85 7F77 7067 5E54 4940" $"372E 251D 170F 0A06 0402 002F 0F10 1112" $"141B 2630 342B 1708 0588 0410 0505 060A" $"0B11 141A 2124 2D30 363A 383A 3B8F 3C06" $"4462 6C63 6673 0D84 0003 512A 1F02 8003" $"230E 5B89 A1A7 A6A5 A4A3 A09E 9B97 938E" $"8983 7C75 6E65 5C53 4A40 372E 261E 1813" $"0E0A 0807 0581 0400 0385 001C 0811 1213" $"1316 1F2A 3236 2C16 0A06 0607 0B0D 1017" $"1921 262C 3335 3A3C 3E83 4002 4141 3E85" $"3D12 3E3E 3F41 4345 474A 4D50 5255 5758" $"566E 637D 1A84 0003 4D23 2102 8004 2305" $"2F6C 8486 807A 736C 645B 5249 4037 2F27" $"2019 140F 0C09 0707 0504 0505 0405 0504" $"0505 0481 0501 0401 8500 1203 0E13 1314" $"1519 232D 3539 3834 3436 393D 3F40 8241" $"8742 1043 4340 4041 4345 474A 4C4F 5254" $"5658 5859 815A 0859 5958 5758 526B 771B" $"8400 0354 1909 0181 040D 0923 312F 2620" $"1914 100C 0A07 0606 9605 1704 0100 0308" $"0B19 202D 414A 635F 2314 1516 171C 2731" $"383D 418A 430D 4445 4648 4B4E 5055 5855" $"5658 595A 805B 005C 805B 0F5A 5958 5655" $"5452 5150 4F4E 4E4B 7071 1B84 0004 481B" $"1D00 0382 0500 068A 0502 0606 0580 064D" $"0506 0605 0606 0506 0605 070E 111B 2A31" $"4854 6377 8092 9AA3 ADAB AEAF B0B0 A85C" $"1815 1617 1920 2A34 3A3F 4344 4445 4648" $"4A4D 4F52 5659 5C5F 6163 6465 666A 6961" $"5F5F 5E5C 5B59 5756 5453 5150 4F4F 824E" $"814D 034C 5674 1C84 000A 351D 2E00 0205" $"0606 0506 058F 0613 0707 0B15 172B 3243" $"5A64 7E87 96A4 A9B3 B6B8 B8B5 80B4 80B5" $"2BB2 B3B5 B8BD C2C8 B243 1617 1819 1B23" $"2E36 3C45 575E 6063 6466 696C 6F72 7576" $"7674 716E 6B6A 6558 5553 5250 5081 4F84" $"4E80 4D00 4C80 4D03 5655 6D0E 8400 0542" $"2121 0001 048A 0615 0709 0A15 1A25 383F" $"5963 798B 94A5 ABB1 B8B8 B9B9 BABA 80BB" $"31BC BCBD BEBC BEC3 C8CE D4DA DADF E4E6" $"E8E9 EAEB E239 1717 1819 1A1E 2632 4DA5" $"AA96 9794 9089 8179 716A 6460 5D5C 5B5A" $"5C5A 5080 4F85 4E84 4D81 4C03 4D61 576A" $"8500 0651 2619 0000 0306 8007 280A 0C12" $"1E22 3640 5167 7089 929F AAAF B5B7 B8B8" $"B9B9 BABA BBBB BCBC BEC0 C4C8 CED4 DAE1" $"E8EF F3F0 EEF0 81F1 1BE7 E6E4 E3E1 DFDD" $"DBD8 6817 1718 191A 1B1C 274A 809F 7268" $"625E 5C5B 5B81 5A06 595A 5959 5C59 5080" $"4F02 4E4F 4F83 4E01 4D4E 824D 814C 0268" $"5773 8500 4A29 242A 0000 0107 2353 7082" $"9399 A7AD B1B6 B6B7 B7B8 B8B9 B9BA BABB" $"BCBE C1C5 CAD0 D6DD E4EA F0F5 F9FC FDFE" $"FEFF FFFE FEF4 ECEA E8E5 E3E0 D3D0 CCCA" $"C7C5 C3C2 C164 1617 1819 1A1A 1B24 4655" $"805B 025A 5B5B 805A 0259 5A5A 8159 085C" $"594F 4E4F 4F4E 4F4F 804E 024D 4E4E 814D" $"024C 4D4D 814C 024D 577C 8500 2029 2B34" $"0000 011E 6493 AFB6 B6B7 B7B8 B9B9 BABB" $"BEC1 C6CB D1D8 DFE6 ECF2 F6FA FCFD 86FE" $"0DFC FAF8 F5F2 EDDD D3D1 CECD CBCA BF84" $"BE0C BF63 1617 1819 191A 1B24 4655 5B82" $"5A85 5904 5859 5B58 4F84 4E84 4D83 4C05" $"4B4B 4C57 576C 8500 1733 3417 0000 0114" $"5582 A6BB C1C6 CCD2 D9E0 E7ED F2F7 FAFC" $"FD80 FE80 FF12 FEFF FFFE FBF9 F6F3 EFEB" $"E7E4 E2E0 DEDD DDDB CE82 C804 C9BE BDBE" $"BD82 BE0C 6216 1718 1819 1A1B 2446 545B" $"5B81 5A02 595A 5A80 5900 5880 5904 5B58" $"4F4E 4F81 4E02 4D4E 4E80 4D00 4C80 4D80" $"4C00 4B80 4C02 6257 5285 0002 1D39 2880" $"000A 0835 73BD EDF6 F9FA FCFC FD81 FE0F" $"FFFF FEFE FCF9 F6F3 EFEB E7E3 E0DE DDDC" $"84DB 80DC 02DA CEC7 82C8 82BD 0EBE BEBD" $"BE62 1617 1718 191A 1B24 4654 805A 0459" $"5A5A 595A 8159 0658 5959 585B 574F 804E" $"044D 4E4E 4D4E 814D 024C 4D4D 814C 064B" $"4C4B 4C62 575A 8500 0202 433A 8000 0503" $"187B D5F5 FD80 FE0B FDFC F8F6 F1EE EAE6" $"E2DE DCDB 80DA 80D9 88DA 80DB 01DA CE83" $"C700 BD81 BC81 BD0B 6216 1618 1819 1A1A" $"2446 545A 8559 8458 035B 574E 4E85 4D84" $"4C83 4B03 4C4F 5863 8500 1203 531B 0100" $"0001 0B77 C1E2 ECE8 E4E0 DDDB DAD9 83D8" $"01D9 D884 D902 DADA D984 DA80 DB01 D9CE" $"83C7 00BD 81BC 0EBD BDBC BD61 1616 1718" $"191A 1A24 4654 805A 8059 0558 5959 5859" $"5981 5807 5A56 4E4D 4E4E 4D4E 814D 024C" $"4D4D 814C 014B 4C82 4B02 5958 4985 000A" $"035B 1C0B 0000 0106 64AA CC82 D601 D7D6" $"80D7 02D8 D8D7 81D8 02D9 D9D8 84D9 01DA" $"D984 DA07 D9CE C6C7 C7C6 C7C7 86BC 0A61" $"1516 1718 1919 1A25 4654 8359 0258 5959" $"8058 0057 8058 055A 554E 4D4E 4E80 4D04" $"4C4D 4D4C 4D82 4C80 4B00 4A80 4B02 6559" $"3A86 0009 3C24 1500 0001 045C A7C9 81D5" $"83D6 84D7 86D8 86D9 02DA D9CD 83C5 00BC" $"84BB 0BBC 6015 1617 1818 191A 2546 5380" $"5985 5881 5703 585A 554E 814D 854C 834B" $"824A 025F 5A41 8600 0A4B 2817 0000 0103" $"53A4 C7D4 80D5 83D6 02D7 D7D6 81D7 02D8" $"D8D7 83D8 02D9 D9D8 84D9 08D8 CDC4 C5C5" $"C4C5 C5BC 85BB 0A60 1516 1718 1819 1A25" $"4653 8059 0258 5959 8058 0257 5858 8157" $"025A 544E 804D 044C 4D4D 4C4D 814C 064B" $"4C4B 4B4A 4B4B 804A 0349 525B 4986 000A" $"5B1A 0F00 0001 024B A1C5 D483 D502 D6D6" $"D580 D602 D7D7 D682 D704 D8D7 D8D8 D783" $"D881 D901 D8CD 83C4 00BB 80BA 82BB 0D60" $"1516 1717 1819 1A25 4653 5859 5980 5805" $"5758 5857 5858 8157 0159 5481 4D02 4C4D" $"4D80 4C02 4B4C 4C81 4B02 4A4B 4B80 4A03" $"475E 5F25 8600 0A46 191F 0000 0102 429D" $"C3D3 80D4 83D5 83D6 80D7 00D6 83D7 02D8" $"D8D7 84D8 08D7 CDC3 C4C4 C3C4 C4BB 85BA" $"0C5F 1516 1617 1819 1A25 4653 5859 8158" $"0257 5858 8057 0056 8057 0759 534D 4C4D" $"4D4C 4D81 4C02 4B4C 4C81 4B80 4A06 494A" $"4A46 6C63 1D86 0002 381B 3280 0005 013B" $"99C1 D3D3 84D4 84D5 86D6 87D7 02D8 D7CD" $"83C3 00BA 84B9 0DBA 5F15 1516 1718 1919" $"2546 5358 5886 5781 5602 5759 5283 4C84" $"4B83 4A80 4904 4A45 6768 2186 000A 461F" $"1000 0001 0133 96BF D280 D383 D484 D586" $"D605 D7D7 D6D7 D7D6 81D7 01D6 CC80 C303" $"C2C3 C3BA 85B9 0A5E 1415 1617 1818 1925" $"4653 8058 0257 5858 8057 0256 5757 8056" $"0357 5952 4D83 4C01 4B4C 814B 024A 4B4B" $"814A 8049 034C 526D 2586 000A 4823 1D00" $"0001 012C 92BC D181 D301 D4D3 83D4 85D5" $"01D6 D588 D605 D7D7 D6CC C2C3 81C2 00BA" $"80B8 82B9 0D5E 1415 1617 1818 1925 4653" $"5758 5883 5701 5657 8156 0257 5851 814C" $"024B 4C4C 804B 024A 4B4B 814A 0249 4A4A" $"8049 0355 5369 0B86 0002 2625 2F80 0004" $"0124 8EBA D081 D284 D385 D48A D580 D601" $"D5CC 80C2 04C1 C2C2 B9B7 84B8 0A5E 1415" $"1616 1718 1926 4653 8257 8456 8055 0356" $"5851 4C85 4B83 4A82 4905 4848 495F 546C" $"8700 0230 2C30 8000 0401 1E89 B7CF 81D2" $"01D3 D283 D302 D4D4 D381 D405 D5D5 D4D5" $"D5D4 86D5 04D6 D5CC C1C2 81C1 03B9 B7B8" $"B782 B80A 5D14 1515 1617 1819 2646 5380" $"5704 5657 5756 5781 5609 5556 5556 5850" $"4C4B 4C4C 804B 024A 4B4B 804A 0049 804A" $"8049 0548 4949 5353 7487 0002 3A34 1B80" $"0007 0118 85B5 CED1 D2D1 83D2 83D3 80D4" $"00D3 84D4 04D5 D4D5 D5D4 81D5 01D4 CC83" $"C100 B985 B70A 5C14 1415 1617 1818 2646" $"5380 5701 5657 8156 0255 5656 8055 0556" $"5750 4C4B 4C81 4B02 4A4B 4B80 4A02 494A" $"4A81 4905 4848 494D 527C 8700 021C 382A" $"8000 0401 137F B2CC 83D1 86D2 87D3 88D4" $"01CB C182 C000 B884 B60B B75B 1314 1516" $"1718 1826 4652 8356 8555 0354 5657 4F80" $"4B84 4A84 4982 4803 4956 5356 8700 020A" $"433F 8100 060E 79AF CBD1 D1D0 81D1 01D2" $"D183 D288 D304 D4D3 D4D4 D381 D401 D3CB" $"83C0 00B8 85B6 0A5B 1314 1516 1717 1826" $"4652 8356 0255 5656 8055 0554 5555 5656" $"4F81 4B01 4A4B 814A 0249 4A4A 8149 8048" $"0547 4849 6254 5787 0003 0C53 1802 8000" $"030B 73AC CA80 D002 D1D1 D083 D185 D204" $"D3D2 D3D3 D288 D300 CB80 C003 BFC0 BFB8" $"80B5 82B6 0A5B 1314 1516 1617 1826 4652" $"8056 0255 5656 8355 0954 5554 5656 4E4B" $"4A4B 4B80 4A02 494A 4A84 4980 4805 4748" $"4859 5460 8700 030A 5421 0980 0003 086B" $"A9C8 80CF 84D0 87D1 8BD2 02D3 D2CA 83BF" $"01B7 B484 B50A 5A13 1414 1516 1718 2646" $"5285 5584 5402 5555 4D82 4A84 4983 4881" $"4703 484E 556A 8800 023E 2C10 8000 0306" $"64A6 C680 CF02 D0D0 CF83 D002 D1D1 D084" $"D105 D2D2 D1D2 D2D1 85D2 00CA 80BF 06BE" $"BFBE B7B4 B5B4 82B5 0A5A 1313 1415 1617" $"1727 4652 8056 8055 0254 5555 8354 0356" $"564D 4B80 4A02 494A 4A80 4902 4849 4981" $"4801 4748 8047 0348 5955 4588 0002 4D22" $"0A80 0006 045C A3C4 CFCF CE81 CF01 D0CF" $"84D0 02D1 D1D0 89D1 81D2 01D1 CA83 BE00" $"B685 B40A 5A13 1314 1516 1617 2746 528B" $"5504 5455 544D 4B80 4A01 494A 8149 0248" $"4949 8148 8047 0546 4747 6656 4188 0002" $"5E19 1080 0003 0354 A0C2 83CE 86CF 8AD0" $"02D1 D1D0 82D1 01CA BE82 BD00 B684 B30B" $"B459 1213 1415 1616 1727 4651 8155 8056" $"0D55 5554 5453 514F 4D4C 4B4C 4C4B 4A81" $"4983 4883 4781 4602 5557 4988 0002 3619" $"2480 0004 024C 9DC0 CD83 CE01 CFCE 84CF" $"02D0 D0CF 8ED0 00C9 83BD 00B5 85B3 0A59" $"1213 1415 1516 1728 4753 8056 0855 5453" $"5250 4E4C 4A48 8047 0646 4748 4B4C 4C4A" $"8049 0148 4981 4801 4748 8247 0546 4645" $"5257 5188 0002 401C 3480 0003 0244 9ABE" $"80CD 02CE CECD 83CE 02CF CFCE 85CF 07D0" $"CFD0 D0CF D0D0 CF82 D000 C980 BD03 BCBD" $"BCB5 80B2 82B3 1058 1313 1415 1617 1727" $"4650 5250 4E4C 4A49 8047 0F46 4747 4647" $"4746 4746 4649 4B4B 4A49 4980 4802 4748" $"4881 4701 4647 8046 0344 5D5B 2188 0002" $"4E20 0E80 0006 013C 96BC CCCD CC81 CD01" $"CECD 85CE 04CF CECF CFCE 8BCF 00C9 83BC" $"00B5 85B2 0058 8013 8114 0E22 3C45 4847" $"4746 4747 4647 4746 4747 8546 0447 4A4B" $"4B49 8048 0147 4882 4780 4605 4546 426B" $"5E26 8800 0248 2120 8000 0401 3592 BACB" $"83CC 86CD 8CCE 81CF 02D0 C9BC 82BB 00B4" $"85B1 0A57 1010 0F0F 1010 111E 3843 8B46" $"8445 0546 484A 4A49 4881 4782 4680 4504" $"4642 5D62 2C88 0002 2B23 3280 0006 012E" $"8FB8 CACC CB83 CC87 CD02 CECE CD83 CE81" $"CF00 D080 CF01 C7BD 82BB 00B6 85B1 0F54" $"0C0D 0E0E 0F10 101F 3842 4647 4746 4784" $"4605 4546 4645 4646 8245 0447 494A 4A48" $"8047 0C46 4746 4645 4646 4545 4950 6731" $"8800 0235 291D 8000 0401 278B B5C9 80CB" $"01CC CB84 CC01 CDCC 83CD 80CE 81CF 0BCE" $"CECD CCCB C9C7 C5C1 BFBC BB81 BA00 B484" $"B00A 540C 0D0D 0E0F 0F10 1F38 4283 4608" $"4546 4645 4646 4546 4681 450B 4445 4544" $"4545 4849 4A48 4747 8146 8245 0351 5368" $"0488 0002 4131 1E81 0005 2086 B3C8 CACA" $"86CB 80CC 80CD 82CE 12CD CCCB CAC8 C6C4" $"C1C0 BEBE BDBE BFBF BEBB B9BA 80B9 00B3" $"83AF 0B53 0C0D 0D0E 0F0F 101F 3842 468B" $"4588 4405 4648 4949 4746 8245 0544 4445" $"5957 7089 0002 0E32 2F80 0004 011A 81B0" $"C780 CA01 CBCA 80CB 80CC 82CD 08CC CCCA" $"C9C7 C5C3 C0BF 81BD 00BC 80BD 06BC BDBD" $"BEBF BDBA 82B9 00B2 82AF 1253 0C0C 0D0E" $"0E0F 101F 3842 4546 4645 4646 4546 8145" $"0344 4545 4480 4580 440B 4344 4443 4444" $"4749 4847 4646 8145 0444 4549 5178 8900" $"0211 3E30 8000 0401 157C ADC6 80CA 01CB" $"CB82 CC08 CBCA C9C8 C6C4 C2BF BE81 BC00" $"BB89 BC1C BDBE BEBC B9B9 B8B9 B8B8 B1AF" $"AFAE AE52 0B0C 0D0D 0E0F 101F 3842 4546" $"4683 4505 4445 4544 4545 8144 0443 4444" $"4344 8243 0D45 4748 4846 4544 4544 4445" $"4B4E 7C89 0003 154A 1702 8000 0311 78AC" $"C680 CB0B CACA C9C8 C6C5 C3C0 BEBC BBBB" $"83BA 8DBB 03BC BEBD BB81 B802 B7B7 B080" $"AE0A 520B 0C0D 0D0E 0F0F 1F38 4282 4589" $"4485 4382 420C 4346 4747 4645 4444 4345" $"554F 5389 0012 0839 2506 0000 010D 72A8" $"C3C7 C5C3 C1BF BDBB BA81 B901 BAB9 85BA" $"04BB BABB BBBA 88BB 04BC BDBD BAB8 81B7" $"0EB6 AFAD AD51 0A0C 0C0D 0E0E 0F1F 3842" $"8045 0544 4545 4445 4583 4400 4380 4483" $"4301 4243 8242 0A44 4747 4645 4443 4461" $"505B 8A00 0240 2010 8000 0509 669D B6BA" $"B983 B802 B9B9 B884 B989 BA80 BB1C BABB" $"BBBA BBBB BCBD BCB9 B7B7 B6B7 B6B5 AEAD" $"510A 0B0C 0D0E 0E0F 1F38 4280 4502 4445" $"4583 4405 4344 4443 4444 8143 0242 4343" $"8042 0E41 4242 4141 4245 4646 4543 444F" $"5166 8A00 0254 1B1E 8000 0305 5A94 B084" $"B786 B88B B987 BA03 BBBC BBB8 82B6 0CB4" $"AD50 0A0B 0C0D 0D0E 0F1F 3841 8544 8743" $"8542 8641 0743 4546 4545 4D54 6F8A 0002" $"3324 1A80 0005 0453 91AF B7B6 83B7 02B8" $"B8B7 84B8 02B9 B9B8 8DB9 07BA B9B9 BABB" $"BBBA B682 B50B B24F 090B 0C0D 0D0E 0F1F" $"3841 8044 0843 4444 4344 4443 4444 8043" $"0042 8043 0142 4381 4202 4142 4280 410B" $"4041 4140 4041 4445 4763 583B 8A00 092A" $"3528 0300 0002 4B8E AD82 B686 B788 B804" $"B9B8 B9B9 B880 B900 B885 B902 BBBB B981" $"B50C B4B3 8313 0A0C 0C0D 0E0E 2038 4180" $"4405 4344 4443 4444 8343 0042 8043 8042" $"0241 4242 8341 8040 083F 3E3C 3734 5160" $"624A 8A00 0908 4B19 1A00 0002 448B AB80" $"B585 B68A B790 B803 BABA B8B5 80B4 0BB2" $"9260 100B 0C0D 0D0E 2038 4187 4386 4285" $"4181 400B 3D39 3238 3C44 4E51 5456 724E" $"8B00 0850 2328 0000 013D 89A9 82B5 86B6" $"80B7 00B6 87B7 01B8 B780 B806 B7B8 B8B7" $"B8B8 B781 B813 BAB9 B7B4 B3B3 B29B 6F36" $"0D0C 0D0D 0E20 3841 4344 8443 0442 4343" $"4243 8242 0241 4242 8041 1140 3E3B 3532" $"4042 4B50 4C43 444A 5564 6966 068B 0002" $"3A30 2980 0004 3685 A8B4 B483 B502 B6B6" $"B585 B604 B7B6 B7B7 B691 B711 B8B9 B8B5" $"B3B3 B1A1 8934 1B0B 0C0D 0E20 3841 8043" $"0842 4343 4243 4342 4343 8042 0041 8042" $"1541 4140 3D38 2F3B 444A 4B54 4744 494F" $"5F79 644D 391D 048D 0009 1743 1914 0000" $"3082 A5B3 81B4 02B5 B5B4 83B5 80B6 00B5" $"8AB6 07B7 B7B6 B7B7 B6B7 B783 B610 B7B8" $"B7B4 B2B1 A39F 491E 370B 0D0E 2037 4080" $"4304 4243 4342 4381 4217 4142 4241 403E" $"3A34 3142 494E 5744 4447 4E5A 6B6F 5F40" $"2B02 9300 0757 1C19 0000 2A7F A381 B387" $"B48F B582 B685 B510 B6B7 B8B6 B3B0 A2A5" $"7635 2532 0C0D 2037 4086 4280 4112 3F3B" $"3534 3E49 4853 5644 464C 5769 735E 4B35" $"0E98 0008 3C25 2600 0023 7BA1 B281 B302" $"B4B4 B383 B480 B500 B49A B510 B7B7 B5B1" $"A3A7 7268 3321 220C 2037 4043 4381 4213" $"4140 3D37 3238 474E 514D 4846 4B54 636F" $"6D51 3F21 9D00 0926 361D 0D00 1D77 9FB1" $"B284 B304 B4B3 B4B4 B387 B405 B5B5 B4B5" $"B5B4 80B5 07B4 B5B5 B4B5 B5B4 B583 B400" $"B580 B620 A4A7 5915 4621 1F1E 1F37 4042" $"4140 3E3A 3239 3C45 4E4B 4B44 4951 5D70" $"6F5B 4721 0CA1 0008 034A 1A17 0018 739D" $"B085 B289 B392 B483 B31E B4B5 BAA8 A85A" $"000D 2429 393B 2D38 3531 4242 4C4F 4B43" $"444A 5364 6560 513A 0EA7 0008 4A24 2300" $"136E 9AAF B186 B202 B3B3 B288 B304 B4B3" $"B4B4 B380 B402 B3B4 B486 B31D B2AE A699" $"8793 A9A9 6000 000F 693F 3A41 3846 5244" $"4348 4F5E 7960 4837 1B02 AB00 0733 3326" $"030F 6A98 AE81 B102 B2B2 B187 B208 B3B3" $"B2B3 B3B2 B3B3 B286 B311 B2B3 B3B2 B2AF" $"A89C 8977 7677 7A8C 9899 A342 8000 0B30" $"4F41 4043 4756 666A 5C3B 28B1 0007 1A4D" $"221B 0B64 95AD 80B0 89B1 91B2 11AF A99E" $"8C7C 7574 7A86 8E81 7B78 7C85 8A64 0281" $"0006 1015 1516 151C 0BB5 0007 0157 1F1D" $"085F 93AC 81B0 02B1 B1B0 88B1 20B2 B1B2" $"B2B1 B2B2 B1B2 B2B1 B1AF AAA0 917E 7676" $"7B81 8887 7D78 787E 8278 5341 1C05 C300" $"0A3F 2829 0758 90AA AFB0 B0AF 83B0 02B1" $"B1B0 80B1 00B0 85B1 14AF ABA3 957F 7876" $"767E 8A88 7E7A 777C 8A77 613F 260D C800" $"0619 3B2A 1051 8DA9 87AF 87B0 14AF ACA4" $"9885 7378 767D 8986 817A 7779 8382 6E49" $"320C CD00 0A07 502A 2D48 8AA7 AEAF AFAE" $"86AF 17B0 AFAF ACA5 9A89 7474 7376 838D" $"817B 7878 808F 7057 3214 02D2 0005 4935" $"3F41 87A6 84AE 17AF AFAE AEAB A69C 8C7A" $"7171 7681 8D7F 7976 777F 8379 623D 23D8" $"0005 3543 593D 83A4 83AD 14AB A79E 8F7C" $"7373 767B 8686 7A76 767A 827D 5845 2009" $"DC00 1B12 5B55 4D7F A2AC ABA7 9F92 7E74" $"7273 7A85 867C 7775 7985 7A66 442D 13E2" $"0016 5159 6A63 8382 706F 7379 8284 7F78" $"7577 7F83 734E 3910 02E6 0011 4164 6B72" $"737B 877D 7674 757D 9173 5C38 1C05 DD00" $"8200 470E 4B55 3731 3939 353C 464D 5759" $"412C 292C 3135 3A3E 3B31 2926 2A2E 3337" $"3A35 2F29 262C 3238 3E40 3A32 2A29 3139" $"424A 4E48 3F35 3340 4D5A 686E 6C67 582B" $"3943 4D5F 4106 0000 091E 3C80 3A09 3B3C" $"3E40 4142 4237 0808 8109 020A 0A06 9F00" $"0906 3E61 3727 2636 2C1B 1D83 1C51 1F24" $"292E 3438 3F41 2C25 2B31 373D 434B 4E2C" $"292E 353B 434A 5151 292A 2F38 3F48 5058" $"592F 292A 3035 3B41 4340 2D28 282E 353C" $"4661 7E83 85A5 979C ADBF D1DD DFE0 E1E0" $"DEDB D8D8 D9DB DDDF DFDE DBC8 A9AB ADAF" $"80B2 14B0 9F73 7577 797B 7C7C 7B62 3F41" $"4345 4849 4A4B 3910 8200 2616 673F 2A20" $"2928 0C17 3282 817E 7A73 6C65 5E59 5550" $"4D4A 4742 3D38 3330 2C2A 2726 2423 2221" $"2120 811F 831E 811D 2821 2529 2D30 3538" $"3920 252D 333D 434D 546E 7572 727A 8CA9" $"C2D7 DFE2 E3E4 E5E5 E2E1 E2E2 E3E4 E5E5" $"E4E2 84E1 01DF DE83 DC21 DBDA D7D5 D4D5" $"D6D6 D7D6 D5D4 D1D1 7602 0000 0C62 2F20" $"2B2A 0700 0B15 45F1 F8FA FBFC 86FE 3BFC" $"F9F6 F4F1 EFEE ECEA E3DB D4CE C9C4 C0B7" $"ADA5 9F98 8F85 7C71 665D 544C 4640 3B36" $"3330 2E2D 2B2A 2928 2725 435E 707B 7480" $"7573 91D4 EBEB EAEA E9E8 E680 E52C E4E4" $"E3E2 E2E0 DDDC DDDD DEDE DFDF DDD8 D8D9" $"D9DA DADB DBD8 D3D3 D4D5 D6D7 D9D9 D8D5" $"D5D4 CC31 0000 0B46 1F31 0E80 0008 101E" $"33BD D4D6 D8DA DC82 DD49 DCDB DAD9 D7D6" $"D4D1 CFCD CBC8 C5C2 BFBC B9B6 B3B0 ADAA" $"A6A3 9E9A 9690 8B85 7F7A 7570 6B66 615C" $"5752 4D48 433E 3A2D 1E58 5A59 5754 5259" $"9DDD FDFB FBFA FAF8 F7F6 F5F3 F1EF EEED" $"ECEB EAEA 80E9 80E8 80E7 81E6 80E5 20E4" $"E3E2 E1E0 DFDD DCDA D9D4 CFC5 3D00 000A" $"3A3B 0400 0001 0115 293C BAD4 D6D8 D9DB" $"81DC 49DB DAD9 D7D5 D2CF CCC8 C4BF BBB7" $"B2AD A8A2 9D98 928D 8882 7D78 736E 6964" $"5D53 4F4B 4845 423F 3934 312E 2C2A 2826" $"2520 1738 3A38 3635 3546 92CD FEFA F7F4" $"F0ED EAE8 E6E3 E2E0 DEDD DBDA D980 D882" $"D782 D601 D5D5 82D4 80D5 80D6 09D7 D4C6" $"C23D 0000 0B3F 1F80 000B 0102 152C 3CAE" $"CDCF D1D2 D4D4 80D5 4ED4 D3D2 D0CF CCC9" $"C6C2 BFBB B7B3 AEAA A5A1 9C97 928D 8984" $"7F7B 7672 6E6A 6658 4D4A 4743 413A 3230" $"2D2B 2927 2624 231E 162E 3234 3537 384E" $"A0D8 FEFE FDFC F9F7 F4F1 EEEB E9E7 E5E4" $"E2E1 DFDF DCD1 CECE 88CD 13CC CCCB CBCA" $"CAC9 C9C8 C7C7 C9BD C03F 0000 0C3C 2D80" $"0064 0102 132B 3AA1 C3C5 C7C9 CACB CBCC" $"CBCB CAC9 C7C5 C3C0 BDBA B7B4 B0AC A8A4" $"A09B 9792 8E8A 8581 7C78 7470 6C69 6458" $"4B47 4441 3E36 2F2D 2B29 2726 2423 221E" $"162B 2F30 3233 354A 9AD4 FEFD F9F5 F2EF" $"ECE9 E7E5 E3E1 DFDE DDDC DBDB DED8 D2D1" $"D1D0 CFCE CDCD CC80 CB80 CA80 C980 C80B" $"C7C7 C6C5 BFBC 4000 000E 423E 8000 0A01" $"0111 2A38 93BA BCBD BFC0 82C1 53C0 BFBD" $"BBBA B7B5 B2AF ACA8 A4A1 9D99 9591 8D88" $"8480 7C78 7470 6C69 6661 5548 4542 3F3C" $"342D 2B2A 2826 2523 2221 1D16 2B2F 3132" $"3335 4B9B D5FE FBF7 F4F1 EEEB E9E7 E5E3" $"E1E0 DEDD DCDB DCDC D4CE CDCD CCCD CCCB" $"CC80 CB04 CAC9 CAC9 C980 C880 C70B C6C6" $"C3C2 BA42 0000 114E 1B01 8000 0901 0F29" $"3687 B1B3 B5B6 B781 B84C B7B7 B6B4 B3B1" $"AFAC AAA7 A4A1 9D9A 9693 8F8B 8783 7F7B" $"7874 706C 6966 635F 5345 4240 3D3B 322C" $"2A28 2725 2423 2120 1D16 2B2F 3032 3335" $"4B9B D5FE F9F5 F2EF ECEA E7E5 E3E2 E0DF" $"DEDC DBDA DCDC D380 CD01 CCCC 80CB 81CA" $"81C9 01C8 C880 C71A C6C6 C5C1 BAB9 4600" $"000F 5323 0600 0001 010D 2835 7CA9 ABAC" $"ADAE AF80 B04E AFAE ADAC ABA9 A7A5 A2A0" $"9D9A 9793 908D 8985 827E 7B77 7370 6C69" $"6663 605C 5143 403E 3B39 312A 2927 2624" $"2322 2120 1D16 2B2F 3032 3335 4C9B D5FE" $"F6F3 F0ED EBE8 E6E4 E2E1 DFDE DDDC DBDA" $"DBDB D2CD CD80 CC81 CB01 CACA 82C9 80C8" $"80C7 05C5 C5C0 BDB8 3B80 000F 3F2F 0C00" $"0001 010B 2734 72A1 A3A4 A5A6 82A7 4EA6" $"A5A4 A3A1 9F9D 9B98 9693 908D 8A87 8380" $"7D79 7673 6F6C 6966 6360 5D5A 4F41 3E3C" $"3A37 2F29 2826 2523 2221 201F 1C16 2A2F" $"3032 3335 4C9C D5FE F4F1 EEEB E9E7 E5E3" $"E1E0 DFDD DCDB DAD9 DBDA D2CD CCCC 80CB" $"80CA 02C9 CACA 80C9 80C8 09C7 C6C7 C6C4" $"C5BE C1BA 1180 0002 4D25 0880 0008 0109" $"2633 689A 9C9D 9E80 9F00 A080 9F4C 9E9C" $"9B9A 9896 9492 8F8D 8A87 8481 7E7B 7875" $"726F 6B68 6562 605D 5A57 4D3F 3C3A 3836" $"2E28 2625 2422 2120 1F1F 1C16 2A2E 3031" $"3334 4D9C D5FD F2EF ECEA E7E5 E3E2 E0DF" $"DEDC DBDB DAD9 DADA D1CC CC80 CB80 CA81" $"C980 C881 C708 C6C6 C5C4 C5BC C6BC 1280" $"000F 5F18 0F00 0001 0108 2532 6093 9596" $"9797 8298 4D97 9695 9493 918F 8D8B 8987" $"8482 7F7C 7976 7370 6E6B 6865 625F 5D5A" $"5855 4B3D 3A38 3634 2D26 2524 2322 2120" $"1F1E 1B16 2A2E 3031 3334 4D9C D5FC EFED" $"EAE8 E6E4 E2E1 DFDE DDDC DBDA D9D8 DAD9" $"D0CC CC80 CB81 CA80 C981 C880 C708 C6C5" $"C5C4 C5B8 C0BD 1380 000E 3918 2300 0001" $"0106 2431 588D 8E8F 9083 914B 9090 8F8E" $"8C8B 8987 8583 817F 7C7A 7774 726F 6C6A" $"6764 625F 5C5A 5856 5349 3B39 3735 332C" $"2524 2322 2120 1F1E 1E1B 162A 2E30 3132" $"344D 9CD5 FBED EBE9 E6E4 E3E1 E0DE DDDC" $"DBDA D9D9 D8DA D9CF 80CB 80CA 82C9 81C8" $"80C7 09C6 C5C5 C4C4 C5BA BEB9 1180 000F" $"401B 3400 0001 0105 2331 5186 8889 8A8A" $"828B 4B8A 8988 8786 8583 8280 7E7C 7A77" $"7572 706E 6B69 6664 615F 5C5A 5855 5351" $"4839 3735 3332 2A24 2322 2120 1F1E 1E1D" $"1B16 2A2E 2F31 3234 4E9C D5FA EBE9 E7E5" $"E3E1 E0DF DDDC DBDA D9D9 D8D7 D9D8 CE80" $"CB80 CA80 C982 C804 C7C7 C6C6 C580 C404" $"C3C5 BCBE 9D81 0002 4E1F 0E80 0009 0104" $"2130 4B80 8283 8384 8185 4F84 8483 8281" $"807F 7E7C 7A78 7775 7270 6E6C 6967 6563" $"605E 5C59 5755 5351 4F46 3735 3432 302A" $"2322 2120 1F1F 1E1D 1D1B 162A 2D2F 3132" $"344E 9DD5 F9E9 E7E5 E3E2 E0DF DDDC DBDA" $"DAD9 D8D7 D7D9 D7CE CBCA CA81 C981 C881" $"C702 C6C6 C580 C405 C3C3 C5BF BE9F 8100" $"0F4B 201E 0000 0101 031F 2F46 7A7C 7D7E" $"7E82 7F4B 7E7E 7D7C 7B7A 7877 7574 7270" $"6E6C 6A68 6664 615F 5D5B 5957 5553 514F" $"4D44 3634 3231 2F29 2221 201F 1F1E 1D1D" $"1C1A 1629 2D2F 3032 334F 9DD5 F8E7 E5E4" $"E2E0 DFDE DDDB DADA D9D8 D7D7 D6D8 D7CD" $"80CA 80C9 04C8 C9C8 C7C8 81C7 02C6 C5C5" $"80C4 05C3 C3C5 B7BD A281 000D 2B20 3100" $"0001 0103 1D2F 4274 7778 8079 017A 7A80" $"794C 7877 7776 7473 7271 6F6D 6C6A 6866" $"6462 605E 5C5A 5856 5452 514F 4D4C 4334" $"3231 302E 2821 201F 1F1E 1D1D 1C1C 1A16" $"292D 2F30 3234 4F9D D5F7 E6E4 E2E0 DFDE" $"DDDC DBDA D9D8 D7D7 D6D6 D8D6 CCCA CA81" $"C980 C809 C7C8 C7C6 C7C6 C5C4 C5C4 80C3" $"04C2 C5B7 BCA0 8100 0236 261E 8000 0701" $"021B 2E3F 6E72 7385 744C 7372 7271 706F" $"6D6C 6B69 6866 6462 615F 5D5B 5957 5654" $"5250 4F4D 4C4A 4233 3130 2E2D 2720 201F" $"1E1D 1D1C 1C1B 1A16 292D 2F30 3233 4F9D" $"D5F6 E4E2 E1DF DEDD DBDB DAD9 D8D7 D7D6" $"D6D5 D8D6 CCC9 C982 C881 C780 C600 C580" $"C480 C305 C2C2 C5B8 BC70 8100 0D41 2D19" $"0000 0101 0219 2D3C 686E 6E85 6F27 6E6E" $"6D6C 6B6A 6968 6765 6462 615F 5D5C 5A58" $"5755 5352 504E 4D4B 4A49 4132 302E 2D2C" $"261F 1F1E 1D1D 801C 1F1B 1916 292D 2E30" $"3133 509D D5F5 E2E1 DFDE DDDC DBDA D9D8" $"D7D7 D6D6 D5D5 D7D5 CB80 C980 C883 C780" $"C580 C480 C305 C2C2 C5BC BB73 8100 0E13" $"322D 0000 0101 0217 2D3A 6369 6A6A 846B" $"266A 6A69 6867 6665 6463 6260 5F5D 5C5A" $"5957 5654 5251 4F4E 4C4B 4A48 473F 312F" $"2D2C 2B25 1F1E 1D1D 801C 191B 1B19 1629" $"2D2E 3031 3350 9DD4 F3E1 DFDE DDDC DBDA" $"D9D8 D7D7 D680 D503 D4D7 D4CA 82C8 81C7" $"06C6 C6C5 C4C5 C4C4 82C3 05C2 C1C5 B5BA" $"7681 0002 163D 3D80 0008 0102 152C 385E" $"6566 6683 6780 6640 6564 6362 6160 5F5E" $"5D5C 5A59 5756 5553 5250 4F4D 4C4B 4948" $"4746 3E30 2D2C 2B2A 251E 1D1D 1C1C 1B1B" $"1A1A 1916 292C 2E2F 3133 519E D4F1 DFDE" $"DDDB DADA D9D8 D7D7 D680 D506 D4D4 D6D4" $"CAC8 C881 C780 C601 C5C5 81C4 80C3 80C2" $"05C1 C1C4 B4B8 7981 0002 1A49 1880 0007" $"0101 132B 3759 6262 8563 2662 6261 6160" $"5F5E 5D5C 5B5A 5857 5655 5352 514F 4E4D" $"4B4A 4948 4646 453D 2F2C 2B2B 2A24 1D1D" $"1C1C 801B 191A 1A19 1628 2C2E 2F31 3251" $"9ED4 EFDE DCDB DADA D9D8 D7D7 D6D5 D580" $"D405 D3D6 D3C9 C8C8 81C7 01C6 C680 C581" $"C480 C380 C205 C1C1 C3B6 B844 8100 0C13" $"4A27 0200 0001 0110 2A36 545E 805F 8160" $"805F 245E 5E5D 5C5C 5B5A 5958 5756 5553" $"5251 504F 4D4C 4B4A 4947 4645 4444 3C2E" $"2B2B 2A29 241D 1C1C 801B 191A 1A19 1915" $"282C 2E2F 3032 519E D2EE DCDB DAD9 D9D8" $"D7D6 D6D5 D580 D404 D3D3 D6D2 C880 C702" $"C6C7 C680 C580 C403 C3C4 C3C3 80C2 80C1" $"04C0 C1BC B747 8200 0242 3804 8000 0601" $"0E29 3550 5B5B 855C 235B 5B5A 5A59 5958" $"5756 5554 5352 5150 4F4E 4D4B 4A49 4847" $"4645 4443 423C 2D2B 2A29 2823 1C80 1B80" $"1A80 191E 1528 2C2D 2F30 3252 9ED1 EDDB" $"DAD9 D8D8 D7D6 D6D5 D5D4 D4D3 D3D2 D3D5" $"D2C8 C780 C601 C5C5 82C4 81C3 80C2 80C1" $"80C0 02B7 B54B 8200 0C52 2304 0000 0101" $"0D28 344C 5858 8559 2358 5857 5756 5655" $"5453 5252 5150 4F4E 4D4C 4B4A 4948 4646" $"4544 4342 413B 2C2A 2928 2822 1C80 1B81" $"1A14 1919 1528 2B2D 2E30 3252 9ED1 EADA" $"D9D8 D7D7 D6D5 D580 D480 D306 D2D2 D5D1" $"C7C6 C681 C580 C483 C380 C280 C105 C0C0" $"BEB6 B54E 8200 0B63 1812 0000 0101 0B27" $"3349 5586 5680 5521 5454 5352 5251 504F" $"4E4E 4D4C 4B4A 4948 4746 4544 4342 4241" $"413A 2B29 2828 2722 1B1B 821A 1619 1918" $"1527 2B2D 2E30 3253 9ECF E8D9 D8D7 D6D6" $"D5D5 D4D4 80D3 81D2 02D4 D0C7 80C5 01C4" $"C581 C480 C381 C280 C181 C003 BBBB B51A" $"8200 0236 1724 8000 0401 0926 3246 8853" $"8052 1E51 5050 4F4F 4E4D 4C4B 4B4A 4948" $"4746 4545 4443 4241 4140 4039 2B28 2827" $"2622 801A 8219 1318 1815 272B 2D2E 2F31" $"539F CEE5 D7D7 D6D5 D5D4 D480 D301 D2D2" $"81D1 02D4 D0C5 82C4 82C3 81C2 80C1 81C0" $"05BF BFB8 C2B6 1A82 000C 441B 3000 0001" $"0107 2532 4350 5084 5181 501F 4F4F 4E4E" $"4D4D 4C4B 4A4A 4948 4747 4645 4443 4342" $"4140 403F 3F39 2A28 2726 2621 801A 8219" $"1218 1815 272B 2C2E 2F31 539F CDE2 D7D6" $"D5D5 D4D4 80D3 80D2 81D1 02D3 CFC5 80C4" $"01C3 C481 C380 C201 C1C2 81C1 08C0 BFC0" $"BFBF B4BF B71C 8200 0A53 1E0E 0000 0101" $"0624 3141 814E 804F 824E 804D 1E4C 4C4B" $"4A4A 4949 4847 4746 4544 4443 4241 4140" $"3F3F 3E3E 382A 2726 2625 211A 8019 0018" $"8019 1018 1815 272A 2C2D 2F31 549E CCDF" $"D6D5 D4D4 80D3 01D2 D282 D103 D0D0 D3CE" $"81C4 80C3 02C2 C3C3 80C2 81C1 80C0 81BF" $"03B5 BAB8 1D82 000A 481E 2000 0001 0105" $"2230 3E82 4C01 4D4D 824C 804B 1D4A 4A49" $"4948 4847 4646 4544 4443 4242 4140 403F" $"3E3E 3D3D 3829 2626 2525 2081 1900 1880" $"1911 1818 1526 2A2C 2D2F 3154 9FCA DDD5" $"D4D4 D3D3 80D2 80D1 82D0 02D2 CDC4 83C3" $"80C2 01C1 C281 C180 C080 BF05 BEBF B7BA" $"A303 8200 022F 1F32 8000 0401 0421 303C" $"814A 804B 824A 8049 0148 4880 470E 4645" $"4544 4443 4242 4141 403F 3F3E 3E80 3D06" $"3729 2625 2524 2086 180E 1715 272A 2C2D" $"2E30 549F C9DB D4D3 D380 D280 D180 D080" $"CF02 D0D2 CC80 C383 C281 C181 C080 BF80" $"BE03 BFBB B9A3 8300 0C3B 2518 0000 0101" $"031F 2F3B 4848 8349 8248 8047 0146 4680" $"450D 4443 4342 4241 4140 403F 3F3E 3D3D" $"803C 0137 2880 2502 2420 1984 180E 1717" $"1626 2A2B 2D2E 3055 9FC8 D9D3 D380 D280" $"D181 D081 CF04 D2CB C3C2 C381 C282 C182" $"C080 BF80 BE03 BFB6 B9A6 8300 0244 2B1D" $"8000 0501 021D 2E39 4687 4781 4601 4545" $"8044 1843 4342 4241 4140 403F 3F3E 3E3D" $"3D3C 3C3B 3C37 2825 2524 2420 8118 0017" $"8018 0C17 1716 2629 2B2C 2E30 559F C7D7" $"80D2 80D1 80D0 84CF 02D1 CBC3 80C2 01C1" $"C281 C180 C003 BFC0 BFBF 80BE 80BD 03BF" $"B1B8 AA83 0002 182F 2F80 0004 0102 1B2D" $"3880 4581 4683 4580 4480 4380 4209 4141" $"4040 3F3F 3E3E 3D3D 803C 803B 0136 2880" $"2401 2320 8717 0A16 2629 2A2C 2E2F 569F" $"C6D5 80D1 80D0 82CF 82CE 02D0 CAC2 83C1" $"82C0 81BF 80BE 80BD 04BC BFB4 B77E 8300" $"021E 3938 8100 0402 182D 3743 8744 8243" $"8042 0141 4180 4001 3F3F 803E 033D 3D3C" $"3C80 3B03 3A3B 3628 8024 0623 1F18 1718" $"1817 8018 0D17 1716 2629 2B2C 2D2F 569F" $"C5D4 D181 D081 CF84 CE02 D0C9 C283 C180" $"C001 BFC0 80BF 81BE 80BD 04BC BFB8 B778" $"8300 0224 441B 8100 0402 162C 3641 8543" $"8342 8041 8040 803F 803E 013D 3D80 3C80" $"3B80 3A0B 3628 2424 2323 1F18 1718 1817" $"8018 0C17 1715 2529 2A2C 2D2F 569F C4D2" $"80D0 80CF 01CE CF81 CE80 CD02 CED0 C881" $"C183 C080 BF81 BE80 BD80 BC03 BFB4 B67B" $"8300 0214 432B 8100 0501 142B 3540 4182" $"4284 4181 4080 3F80 3E80 3D80 3C80 3B06" $"3A3A 3939 3A35 2780 2301 221F 8717 0A15" $"2528 2A2B 2D2F 579F C3D1 80CF 83CE 81CD" $"04CC CCCE CFC7 83C0 82BF 81BE 81BD 07BC" $"BCBB BBBE AEB5 7F84 0001 463E 8100 0401" $"122A 343F 8A40 823F 803E 803D 813C 803B" $"803A 8039 0135 2780 2306 2220 1716 1717" $"1680 170E 1617 1525 2829 2B2C 2E57 9FC3" $"D0CF CF81 CE83 CD80 CC02 CDCF C681 C001" $"BFC0 81BF 80BE 03BD BEBD BD80 BC80 BB03" $"BEB1 B457 8400 0256 1E03 8000 0401 1029" $"343D 8A3F 823E 813D 813C 803B 803A 8239" $"0135 2780 2306 221F 1716 1717 1680 170C" $"1617 1524 2829 2B2C 2E58 9FC2 CF80 CE83" $"CD83 CC05 CDCE C6C0 BFC0 81BF 83BE 81BD" $"80BC 80BB 03BD B6B3 4D84 0002 5F18 1380" $"0004 010E 2933 3C8B 3E82 3D81 3C80 3B81" $"3A80 3980 3802 3935 2781 2200 1F87 160A" $"1524 2729 2A2C 2E58 9FC1 CE82 CD83 CC81" $"CB02 CCCD C581 BF82 BE81 BD81 BC80 BB80" $"BA03 BBB4 B251 8400 023B 1A24 8000 0401" $"0C28 333B 843E 013D 3E84 3D81 3C82 3B81" $"3A80 3901 3839 8038 0B35 2722 2322 211F" $"1716 1717 1680 170B 1617 1524 2729 2A2C" $"2D58 9FC0 81CD 83CC 83CB 06CC CDC4 BFBE" $"BFBF 82BE 81BD 81BC 80BB 81BA 02AD B155" $"8400 0249 1D28 8000 0401 0A27 323A 873D" $"013C 3D84 3C81 3B80 3A01 393A 8139 8238" $"0135 2780 2206 211F 1616 1717 1680 170C" $"1617 1523 2728 2A2B 2D58 9FC0 CD83 CC83" $"CB80 CA03 CCCC C3BF 83BE 80BD 83BC 01BB" $"BB81 BA04 B9B7 B4B0 3084 0002 581D 1080" $"0004 0108 2531 3A8A 3C83 3B82 3A82 3981" $"3880 3703 3835 2722 8021 001F 8716 0A15" $"2326 2829 2B2D 599F BFCC 85CB 83CA 05C9" $"CBCC C2BE BE82 BD82 BC81 BB80 BA81 B903" $"B3BB B222 8400 0245 1C21 8000 0501 0724" $"3139 3B80 3C04 3B3C 3C3B 3C84 3B01 3A3B" $"823A 8039 0238 3939 8038 0137 3880 3708" $"3427 2122 2221 1F16 1580 1680 170B 1617" $"1523 2628 292B 2D59 9FBE 81CB 02CA CBCB" $"83CA 06C9 CAC9 CBCB C1BE 83BD 80BC 01BB" $"BC80 BB81 BA81 B903 AFC1 B224 8400 0234" $"1E33 8000 0401 0623 3038 873B 023A 3B3B" $"843A 8339 8338 8237 0834 2721 2222 211F" $"1615 8216 0D17 1617 1523 2627 292A 2C5A" $"9FBE CA80 CB83 CA01 C9CA 81C9 02CB CBC1" $"81BD 83BC 80BB 81BA 80B9 80B8 03AE B4B2" $"2784 0002 4223 1380 0005 0105 212F 373A" $"803B 043A 3B3B 3A3B 843A 0239 3A3A 8139" $"0138 3981 3801 3738 8337 0B34 2721 2222" $"211F 1615 1616 1581 160A 1715 2225 2729" $"2A2C 5A9F BE81 CA83 C980 C808 C7C6 C6C7" $"C6BE BDBC BD81 BC82 BB81 BA80 B907 B8B8" $"B7B8 B1B4 AD19 8400 0245 281E 8100 0303" $"202F 3787 3A86 3984 3883 3781 3602 3734" $"2881 2100 1F84 1580 1619 1522 2526 2829" $"2B5A 9EBB C7C7 C6C6 C5C4 C4C3 C2C1 C0BE" $"BDBC BBB9 80B8 04BA BBBB BCBC 81BB 81BA" $"81B9 80B8 05B7 B7B8 B4B5 A785 0002 1F2B" $"3080 0005 0103 1E2E 3639 803A 0539 3A3A" $"393A 3A83 3900 3880 3983 3801 3738 8137" $"0036 8137 0134 2880 2106 201F 1615 1616" $"1582 1612 1520 2224 2526 2755 95B0 BBBA" $"B9B7 B6B5 B4B4 B381 B283 B108 B2B4 B6B8" $"B9BA BBBA BB81 BA80 B980 B880 B703 B8B7" $"B4AA 8500 0227 3333 8000 0401 021C 2D36" $"8A39 0538 3939 3839 3981 3883 3780 3601" $"3535 8034 0831 2522 2121 2021 1A16 8015" $"8016 0C15 1614 191B 1C1D 1E1F 4B88 A3B0" $"86B1 05B0 B1B1 B0B1 B184 B003 B2B4 B6B8" $"82B9 81B8 80B7 05B6 B6B8 AAB3 AE85 0002" $"2E3D 1C81 0003 021A 2D35 8D38 8037 1536" $"3635 3534 3433 3231 312F 2F2D 2C2B 2928" $"2624 2122 2280 2102 201E 1984 150A 1417" $"191A 1C1D 1F4B 88A2 AF8D B086 AF04 B0B2" $"B4B6 B781 B801 B7B7 80B6 04B5 B8AD B19E" $"8500 0214 3B2C 8000 0601 0217 2C34 3838" $"8137 1836 3635 3534 3433 3231 3130 2E2D" $"2C2A 2928 2625 2322 2120 1F1E 821D 031C" $"1D1E 2082 2104 2020 1E19 1680 150B 1614" $"1719 1A1B 1D1E 4B87 A2AE 93AF 84AE 03B0" $"B2B4 B582 B605 B5B5 B8AF AE7A 8600 0249" $"2A0F 8000 1501 1327 2E32 3130 2F2E 2C2B" $"2A28 2725 2423 2220 1F1F 1E82 1D0B 1C1D" $"1D1C 1D1D 1C1D 1D1C 1D1D 821C 011D 1F82" $"211D 201F 1E1A 1615 1514 1618 191B 1C1E" $"4B87 A1AE AFAE AFAE AFAF AEAF AFAE AFAF" $"80AE 80AD 84AE 82AD 05AC ADAD AFB1 B380" $"B404 B3B6 AAAA 7E86 0002 621D 1E81 0006" $"0A19 1E20 1F1E 1E85 1D96 1C81 1B03 1C1D" $"1F20 8021 1320 201F 1F1A 1613 1117 191A" $"1C1D 4C87 A1AD AEAD AD80 AC80 AB01 AAAA" $"80A9 82A8 01AA AB81 AD80 AC0F ABA9 A7A4" $"A19D 9994 8F8A 837C 7F9D A583 8600 0333" $"2316 1180 0009 0614 191C 1C1D 1D1C 1D1D" $"931C 031B 1C1C 1B80 1C03 1B1C 1C1B 811C" $"021D 1F20 8021 0D20 201F 1F1B 1E0B 1118" $"1A1C 4A83 9C8C A880 A71A A6A4 A3A0 9E9B" $"9994 8E87 8077 6E64 5A4F 4951 5D4C 595D" $"6081 8897 5E86 000A 0940 1B22 0400 0005" $"1318 1B86 1C06 1B1C 1C1B 1C1C 1B80 1C0B" $"1B1C 1C1B 1C1C 1B1C 1C1B 1C1C 8D1B 101A" $"1A18 1716 1512 0105 0A09 0F18 4881 9AA6" $"82A7 26A6 A5A4 A2A0 9D99 9590 8A83 7C74" $"6B61 574D 4238 2E26 3060 484B 6158 7075" $"625B 5B58 5860 6276 8013 8700 082C 2F16" $"1C00 0004 1218 951B 081A 1A19 1918 1817" $"1616 8015 0214 1619 831A 0117 1583 1422" $"1512 0302 0205 090B 3577 919B 9894 8F89" $"837C 746B 6258 4F44 3A31 281F 1812 0C08" $"0503 0281 000F 0F2D 3E3F 3036 3F4E 5873" $"9844 4436 200B 8800 0926 4F26 270A 0003" $"1217 1A88 1B08 1A1A 1919 1818 1716 1682" $"1506 1415 1514 1515 1480 1509 1415 1516" $"1A1B 1A1B 1A15 8214 8013 000E 8003 2102" $"0306 1435 514F 453C 3229 211A 140E 0B08" $"0504 0303 0202 0303 0100 0101 0001 0100" $"0180 000B 0F26 352F 1E28 354A 6663 3D10" $"8800 1330 512C 2118 2400 0211 1619 1918" $"1817 1716 1615 1581 1402 1515 1480 150B" $"1415 1514 1515 1415 1514 1515 8414 0F13" $"1316 1817 1611 100F 0E0D 0B0A 0807 0584" $"0304 0709 0704 048A 0307 0203 0301 0001" $"0100 8701 0A0E 2936 2E1F 2734 4660 6033" $"8600 0B55 2C28 2917 2900 000B 1113 1487" $"138D 1480 1318 1212 1110 100F 0E0D 0B0A" $"0807 0A20 0504 0505 070A 0B0B 0805 0496" $"0303 0404 0201 8002 8003 8604 0903 0C2C" $"342F 222A 3348 5885 0003 5328 2A01 8002" $"0300 0B11 1380 1405 1314 1413 1414 8613" $"8012 0F11 1010 0F0E 0C0B 0A08 0705 0404" $"0303 0283 000D 2A08 0809 0A0B 0C0E 0F0F" $"0D09 0505 8D04 0905 0506 0707 0808 0A0A" $"068E 0580 0406 0D2F 3526 2B49 0C84 0003" $"512A 1F02 8003 0201 0910 8413 8012 0F11" $"1110 0F0F 0D0C 0B09 0807 0605 0403 0380" $"0281 0381 0400 0385 000C 0408 090A 0B0C" $"0D0F 1010 0E09 0682 0505 0606 0708 0809" $"810A 840B 090C 0B06 0506 0605 0606 0581" $"060F 0708 090A 0B0C 0D0E 0F10 100E 3729" $"5419 8400 034D 2321 0280 040F 0304 0C10" $"100F 0E0D 0C0B 0908 0705 0504 8403 8104" $"0805 0504 0505 0405 0504 8105 0104 0185" $"0007 0108 0A0B 0C0C 0D0E 8010 030F 0C0A" $"0A80 0B89 0C00 0B82 0C80 070A 0808 090B" $"0C0D 0E0F 1011 1181 1209 1313 1213 1312" $"1238 4F1A 8400 0354 1909 0182 0402 0304" $"0484 0381 0495 0513 0401 0003 080B 1920" $"2D41 4A63 5C1B 0B0C 0C0D 0E0F 8011 0210" $"0E0D 880C 800D 0B0E 0F10 1114 1410 1011" $"1112 1280 1382 1483 1382 1202 4249 1A84" $"0004 481B 1D00 0390 0502 0606 0580 0620" $"0506 0605 0606 0506 0605 070E 111B 2A31" $"4854 6377 8092 9AA3 ADAB AEAF B0B0 A757" $"0F80 0D02 0E0F 1080 1101 100E 800D 190E" $"0F10 1112 1315 1617 191A 1B1C 1D21 2119" $"1818 1717 1615 1514 1484 130A 1213 1312" $"1313 1217 204E 1B84 000A 351D 2E00 0205" $"0606 0506 058F 0613 0707 0B15 172B 3243" $"5A64 7E87 96A4 A9B3 B6B8 B8B5 80B4 80B5" $"1DB2 B3B5 B8BD C2C8 B13C 0D0C 0D0E 0E10" $"1112 1213 1618 191A 1C1D 2023 2629 2C80" $"2D07 2B29 2727 2318 1514 8413 0312 1313" $"1280 130A 1213 1312 1313 1224 214C 0E84" $"0005 4221 2100 0104 8A06 1507 090A 151A" $"2538 3F59 6379 8B94 A5AB B1B8 B8B9 B9BA" $"BA80 BB15 BCBC BDBE BCBE C3C8 CED4 DADA" $"DFE3 E6E8 E9EA EBE1 310C 800D 120E 0F10" $"121A 716C 4C4D 4C48 433C 352E 2824 211F" $"801E 0420 1E14 1313 9212 0233 244C 8500" $"0651 2619 0000 0306 8007 280A 0C12 1E22" $"3640 5167 7089 929F AAAF B5B7 B8B8 B9B9" $"BABA BBBB BCBC BEC0 C4C8 CED4 DAE1 E8EF" $"F3F0 EEF0 81F1 18E7 E5E4 E3E1 DFDD DAD8" $"630C 0D0E 0D0E 0F0F 111D 4E6B 3129 2421" $"811F 801E 001D 801E 0220 1D14 8013 0912" $"1313 1213 1312 1313 1280 1309 1213 1312" $"1313 123C 2457 8500 5D29 242A 0000 0107" $"2353 7082 9399 A7AD B1B6 B6B7 B7B8 B8B9" $"B9BA BABB BCBE C1C5 CAD0 D6DD E4EA F0F5" $"F9FC FDFE FEFF FFFE FEF4 ECEA E8E5 E3E0" $"D3CF CCC9 C7C5 C3C1 C05F 0C0D 0E0D 0E0F" $"0E11 1C21 211F 1F1E 1F1F 1E1F 1E1D 1E1E" $"1D1E 1E1D 201D 1480 1309 1213 1312 1313" $"1213 1312 8013 0912 1313 1213 1312 1A24" $"6385 0020 292B 3400 0001 1E64 93AF B6B6" $"B7B7 B8B9 B9BA BBBE C1C6 CBD1 D8DF E6EC" $"F2F6 FAFC FD86 FE10 FCFA F8F5 F2ED DDD3" $"D1CE CDCB CABF BEBE BD82 BE01 5F0C 800D" $"800E 0411 1C21 211F 841E 841D 0320 1C14" $"1393 1202 2825 5685 0017 3334 1700 0001" $"1455 82A6 BBC1 C6CC D2D9 E0E7 EDF2 F7FA" $"FCFD 80FE 80FF 12FE FFFF FEFB F9F6 F3EF" $"EBE7 E4E2 E0DE DDDD DBCE 82C8 00C9 81BD" $"82BE 015E 0C80 0D80 0E08 111C 2120 1F1F" $"1E1F 1F80 1E16 1D1E 1E1D 1E1D 1D20 1C13" $"1213 1312 1313 1213 1312 1313 1280 1309" $"1213 1312 1313 1236 263F 8500 021D 3928" $"8000 0A08 3573 BDED F6F9 FAFC FCFD 81FE" $"0FFF FFFE FEFC F9F6 F3EF EBE7 E3E0 DEDD" $"DC84 DB80 DC02 DACE C782 C885 BD02 BE5E" $"0C80 0D80 0E08 111C 2120 1F1F 1E1F 1F80" $"1E02 1D1E 1E81 1D0F 201C 1312 1313 1213" $"1312 1313 1213 1312 8013 0912 1313 1213" $"1312 3627 4985 0002 0243 3A80 0005 0318" $"7BD5 F5FD 80FE 0BFD FCF8 F6F1 EEEA E6E2" $"DEDC DB80 DA80 D988 DA80 DB01 DACE 83C7" $"00BD 84BC 03BD 5D0C 0C80 0D05 0E0E 111C" $"2120 831E 841D 041C 1D20 1C13 9412 021E" $"2855 8500 1203 531B 0100 0001 0B77 C1E2" $"ECE8 E4E0 DDDB DAD9 83D8 01D9 D884 D902" $"DADA D984 DA80 DB01 D9CE 83C7 00BD 85BC" $"015D 0C80 0D80 0E05 111C 2120 1F1F 801E" $"051D 1E1E 1D1E 1E81 1D0F 1F1B 1312 1313" $"1213 1312 1313 1213 1312 8013 0912 1313" $"1213 1211 2C29 3D85 000A 035B 1C0B 0000" $"0106 64AA CC82 D601 D7D6 80D7 02D8 D8D7" $"81D8 02D9 D9D8 84D9 01DA D984 DA0B D9CE" $"C6C7 C7C6 C7C7 BCBB BCBB 82BC 015D 0C80" $"0D80 0E05 111C 2020 1F1F 801E 041D 1E1E" $"1D1E 821D 0F1F 1B13 1213 1312 1313 1213" $"1312 1313 1280 1302 1213 1380 1203 113B" $"2A30 8600 093C 2415 0000 0104 5CA7 C981" $"D583 D684 D786 D886 D902 DAD9 CD83 C500" $"BC84 BB03 BC5C 0C0C 800D 050E 0E11 1C20" $"2081 1E84 1D80 1C03 1D1F 1A13 9212 0411" $"1032 2C39 8600 0A4B 2817 0000 0103 53A4" $"C7D4 80D5 83D6 02D7 D7D6 81D7 02D8 D8D7" $"83D8 02D9 D9D8 84D9 07D8 CDC4 C5C5 C4C5" $"C580 BB00 BA82 BB01 5C0C 800D 800E 0211" $"1C20 801F 801E 021D 1E1E 801D 001C 801D" $"0F1F 1A13 1213 1312 1313 1213 1312 1313" $"1280 1302 1213 1380 1203 1023 2F43 8600" $"0A5B 1A0F 0000 0102 4BA1 C5D4 83D5 02D6" $"D6D5 80D6 02D7 D7D6 82D7 04D8 D7D8 D8D7" $"83D8 81D9 01D8 CD83 C400 BB82 BA04 BBBA" $"BB5C 0C80 0D80 0E0B 111C 201F 1F1E 1D1E" $"1E1D 1E1E 801D 001C 801D 0F1F 1913 1213" $"1312 1313 1213 1312 1313 1280 1301 1213" $"8112 030F 3234 2186 000A 4619 1F00 0001" $"0242 9DC3 D380 D483 D583 D680 D700 D683" $"D702 D8D8 D784 D80B D7CD C3C4 C4C3 C4C4" $"BBBA BAB9 82BA 015C 0C80 0D80 0E0B 111C" $"201F 1E1E 1D1E 1E1D 1E1E 801D 001C 801D" $"0F1F 1913 1213 1312 1313 1213 1312 1313" $"1280 1309 1213 1211 1212 0E43 3B1A 8600" $"0238 1B32 8000 0501 3B99 C1D3 D384 D484" $"D586 D687 D702 D8D7 CD83 C300 BA85 B900" $"5B80 0C80 0D05 0E12 1C20 1F1E 841D 831C" $"021D 1F18 9012 8111 030F 3C41 2086 000A" $"461F 1000 0001 0133 96BF D280 D383 D484" $"D586 D605 D7D7 D6D7 D7D6 81D7 01D6 CC80" $"C306 C2C3 C3BA B9B9 B882 B901 5B0C 800D" $"800E 0812 1C20 1F1E 1E1D 1E1E 801D 031C" $"1D1D 1C80 1D0F 1F18 1312 1313 1213 1312" $"1313 1213 1312 8013 8012 0611 1212 1920" $"4925 8600 0A48 231D 0000 0101 2C92 BCD1" $"81D3 01D4 D383 D485 D501 D6D5 88D6 05D7" $"D7D6 CCC2 C381 C200 BA80 B880 B903 B8B9" $"5A0C 800D 800E 0812 1C20 1F1E 1E1D 1E1E" $"801D 161C 1D1D 1C1D 1C1D 1F18 1312 1313" $"1213 1312 1313 1213 1312 8013 8012 0611" $"1212 2522 470B 8600 0226 252F 8000 0401" $"248E BAD0 81D2 84D3 85D4 8AD5 80D6 01D5" $"CC80 C203 C1C2 C2B9 80B7 82B8 005A 800C" $"810D 0312 1C1F 1E84 1D84 1C02 1D1E 178E" $"1283 1102 3323 4D87 0002 302C 3080 0004" $"011E 89B7 CF81 D201 D3D2 83D3 02D4 D4D3" $"81D4 05D5 D5D4 D5D5 D486 D504 D6D5 CCC1" $"C281 C100 B981 B705 B8B8 B7B8 5A0C 810D" $"040E 0D11 1C1F 801E 011D 1E81 1D02 1C1D" $"1D80 1C1C 1D1E 1713 1213 1312 1313 1213" $"1312 1313 1213 1212 1112 1211 1212 2523" $"5887 0002 3A34 1B80 0007 0118 85B5 CED1" $"D2D1 83D2 83D3 80D4 00D3 84D4 04D5 D4D5" $"D5D4 81D5 01D4 CC83 C103 B9B7 B7B6 82B7" $"0A59 0C0D 0D0C 0D0E 0D11 1C1F 801E 801D" $"051C 1D1D 1C1D 1D80 1C0F 1D1E 1613 1213" $"1312 1313 1213 1312 1313 8112 0811 1212" $"1112 121C 2163 8700 021C 382A 8000 0401" $"137F B2CC 83D1 86D2 87D3 88D4 01CB C182" $"C000 B885 B600 5881 0C80 0D03 111C 1F1E" $"811D 851C 041B 1B1D 1E16 8C12 8511 0229" $"2340 8700 020A 433F 8100 060E 79AF CBD1" $"D1D0 81D1 01D2 D183 D288 D304 D4D3 D4D4" $"D381 D401 D3CB 83C0 00B8 85B6 0A58 0B0C" $"0D0C 0D0E 0D12 1C1F 801E 801D 021C 1D1D" $"801C 121B 1C1C 1D1E 1613 1213 1312 1313" $"1213 1312 1313 8112 0811 1212 1112 1138" $"2544 8700 030C 5318 0280 0003 0B73 ACCA" $"80D0 02D1 D1D0 83D1 85D2 04D3 D2D3 D3D2" $"88D3 00CB 80C0 03BF C0BF B780 B580 B615" $"B5B6 570B 0C0D 0C0D 0E0D 121C 1F1E 1E1D" $"1C1D 1D1C 1D1D 801C 111B 1C1C 1D1D 1513" $"1213 1312 1313 1213 1312 1382 1208 1112" $"1211 1211 2E26 4F87 0003 0A54 2109 8000" $"0308 6BA9 C880 CF84 D087 D18B D202 D3D2" $"CA83 BF02 B7B4 B483 B501 570B 800C 800D" $"0512 1C1F 1E1D 1D84 1C82 1B02 1D1D 158A" $"1287 1102 2127 5C88 0002 3E2C 1080 0003" $"0664 A6C6 80CF 02D0 D0CF 83D0 02D1 D1D0" $"84D1 05D2 D2D1 D2D2 D185 D200 CA80 BF03" $"BEBF BEB6 81B4 08B5 B5B4 B456 0B0C 0D0C" $"800D 0212 1C1F 801D 061C 1D1D 1C1D 1C1B" $"821C 0C1E 1D15 1312 1313 1213 1312 1313" $"8012 0011 8012 0811 1212 1112 112F 2839" $"8800 024D 220A 8000 0604 5CA3 C4CF CFCE" $"81CF 01D0 CF84 D002 D1D1 D089 D181 D201" $"D1CA 83BE 00B6 85B4 0156 0B80 0C80 0D02" $"121C 1F80 1D00 1C81 1D01 1C1C 811D 031C" $"1D1C 1581 1305 1213 1312 1313 8012 0011" $"8012 0811 1212 1112 103F 2A37 8800 025E" $"1910 8000 0303 54A0 C283 CE86 CF8A D002" $"D1D1 D082 D101 CABE 82BD 00B6 85B3 0255" $"0B0B 800C 040D 0D12 1C1E 811D 011E 1E80" $"1D05 1C1C 1B19 1716 8214 0013 8512 8811" $"0310 2A2B 4188 0002 3619 2480 0004 024C" $"9DC0 CD83 CE01 CFCE 84CF 02D0 D0CF 8ED0" $"00C9 83BD 00B5 85B3 0155 0B80 0C11 0D0D" $"0E13 1D20 1F1E 1E1D 1C1B 1A18 1614 1311" $"8010 100F 1011 1314 1413 1213 1312 1312" $"1112 1211 8012 0811 1212 1111 0F26 2D4B" $"8800 0240 1C34 8000 0302 449A BE80 CD02" $"CECE CD83 CE02 CFCF CE85 CF07 D0CF D0D0" $"CFD0 D0CF 82D0 00C9 80BD 03BC BDBC B580" $"B281 B304 B255 0B0C 0C80 0D0A 0E13 1C1D" $"1B19 1715 1312 1182 1003 0F10 100F 8010" $"0212 1414 8013 8012 0311 1212 1180 1208" $"1112 1211 110E 3433 1E88 0002 4E20 0E80" $"0006 013C 96BC CCCD CC81 CD01 CECD 85CE" $"04CF CECF CFCE 8BCF 00C9 83BC 03B5 B2B2" $"B182 B200 5580 0C06 0B0B 0A09 0C12 1380" $"1183 1006 0F10 100F 1010 0F81 1004 1113" $"1414 1380 1203 1112 1211 8012 0111 1280" $"1103 0D45 3723 8800 0248 2120 8000 0401" $"3592 BACB 83CC 86CD 8CCE 81CF 02D0 C9BC" $"82BB 00B4 85B1 0353 0706 0580 0403 0308" $"0F11 8210 8D0F 0510 1214 1413 1288 1105" $"1010 0F32 3D2A 8800 022B 2332 8000 0601" $"2E8F B8CA CCCB 83CC 87CD 02CE CECD 83CE" $"81CF 00D0 80CF 01C7 BD82 BB03 B6B1 B1B0" $"82B1 0450 0203 0302 8003 0208 0F11 8010" $"0D0F 1010 0F10 100F 1010 0F10 100F 1083" $"0F03 1113 1413 8112 0011 8012 8011 0510" $"1118 2244 3088 0002 3529 1D80 0004 0127" $"8BB5 C980 CB01 CCCB 84CC 01CD CC83 CD80" $"CE81 CF0B CECE CDCC CBC9 C7C5 C1BF BCBB" $"81BA 00B4 84B0 044F 0203 0302 8003 0208" $"0F11 8010 0B0F 1010 0F10 100F 1010 0F10" $"1081 0F06 0E0F 0F0E 0F10 1280 1302 1212" $"1180 1280 1105 1011 2326 4804 8800 0241" $"311E 8100 0520 86B3 C8CA CA86 CB80 CC80" $"CD82 CE12 CDCC CBCA C8C6 C4C1 C0BE BEBD" $"BEBF BFBE BBB9 BA80 B900 B383 AF00 4F82" $"0205 0303 080F 1010 8D0F 850E 010F 1180" $"1300 1282 1181 1002 2E2B 5289 0002 0E32" $"2F80 0004 011A 81B0 C780 CA01 CBCA 80CB" $"80CC 82CD 08CC CCCA C9C7 C5C3 C0BF 81BD" $"00BC 80BD 06BC BDBD BEBF BDBA 82B9 00B2" $"82AF 044F 0202 0302 8003 0108 0F81 1008" $"0F10 100F 1010 0F10 1080 0F00 0E80 0F17" $"0E0F 0F0E 0F0F 0E0F 1012 1313 1212 1111" $"1011 1110 111B 235D 8900 0211 3E30 8000" $"0401 157C ADC6 80CA 01CB CB82 CC08 CBCA" $"C9C8 C6C4 C2BF BE81 BC00 BB89 BC13 BDBE" $"BEBC B9B9 B8B9 B8B8 B1AF AFAE AE4E 0102" $"0302 8003 0108 0F81 1007 0F10 100F 1010" $"0F10 810F 000E 800F 0A0E 0F0F 0E0F 0F0E" $"0F0E 0E11 8013 0912 1110 1111 1011 1E20" $"6389 0003 154A 1702 8000 0311 78AC C680" $"CB0B CACA C9C8 C6C5 C3C0 BEBC BBBB 83BA" $"8DBB 03BC BEBD BB81 B802 B7B7 B080 AE01" $"4E01 8202 0403 080F 1010 880F 8D0E 080D" $"0E0F 1213 1212 1111 8010 022C 223E 8900" $"1208 3925 0600 0001 0D72 A8C3 C7C5 C3C1" $"BFBD BBBA 81B9 01BA B985 BA04 BBBA BBBB" $"BA88 BB04 BCBD BDBA B881 B708 B6AF ADAD" $"4E01 0203 0280 0301 080F 8110 040F 1010" $"0F10 810F 030E 0F0F 0E80 0F04 0E0F 0F0E" $"0F81 0E00 0D80 0E0A 1012 1312 1211 1010" $"3B23 488A 0002 4020 1080 0005 0966 9DB6" $"BAB9 83B8 02B9 B9B8 84B9 89BA 80BB 13BA" $"BBBB BABB BBBC BDBC B9B7 B7B6 B7B6 B5AE" $"AD4D 0180 0280 0301 080F 8110 020F 1010" $"800F 060E 0F0F 0E0F 0F0E 800F 020E 0F0F" $"800E 110D 0E0E 0D0E 0E0D 0E0F 1112 1312" $"1110 2525 558A 0002 541B 1E80 0003 055A" $"94B0 84B7 86B8 8BB9 87BA 03BB BCBB B882" $"B604 B4AD 4D01 0182 0202 080F 1084 0F8E" $"0E87 0D01 0E10 8012 0311 242A 618A 0002" $"3324 1A80 0005 0453 91AF B7B6 83B7 02B8" $"B8B7 84B8 02B9 B9B8 8DB9 07BA B9B9 BABB" $"BBBA B682 B502 B24D 0180 0204 0303 0208" $"0F81 1080 0F09 0E0F 0F0E 0F0F 0E0F 0F0E" $"800F 800E 090D 0E0E 0D0E 0E0D 0E0E 0D81" $"0E06 0F11 1212 3F31 2E8A 0009 2A35 2803" $"0000 024B 8EAD 82B6 86B7 88B8 04B9 B8B9" $"B9B8 80B9 00B8 85B9 02BB BBB9 81B5 0DB4" $"B382 0E01 0202 0303 0208 0F10 1082 0F09" $"0E0F 0F0E 0F0F 0E0F 0F0E 800F 800E 140D" $"0E0E 0D0E 0E0D 0E0E 0D0E 0E0D 0D0C 0B0F" $"333E 3F40 8A00 0908 4B19 1A00 0002 448B" $"AB80 B585 B68A B790 B803 BABA B8B5 80B4" $"03B2 915D 0A82 0204 080F 100F 0F8F 0E89" $"0D0A 0B0A 1821 2C36 3635 3758 4A8B 0008" $"5023 2800 0001 3D89 A982 B586 B680 B700" $"B687 B701 B8B7 80B8 06B7 B8B8 B7B8 B8B7" $"81B8 0FBA B9B7 B4B3 B3B2 9A6C 3206 0203" $"0302 0882 0F27 0E0F 0F0E 0F0F 0E0F 0F0E" $"0F0F 0E0F 0E0E 0D0E 0E0D 0E0E 0D0D 0C0A" $"0F25 2934 372F 252A 3342 555F 6206 8B00" $"023A 3029 8000 0436 85A8 B4B4 83B5 02B6" $"B6B5 85B6 04B7 B6B7 B7B6 91B7 0AB8 B9B8" $"B5B3 B3B1 A188 2F15 8003 0102 0882 0F0B" $"0E0F 0F0E 0F0F 0E0F 0F0E 0F0F 810E 150D" $"0E0D 0D0B 091F 2A32 3238 2928 313C 506F" $"5E4A 381D 048D 0009 1743 1914 0000 3082" $"A5B3 81B4 02B5 B5B4 83B5 80B6 00B5 8AB6" $"07B7 B7B6 B7B7 B6B7 B783 B60E B7B8 B7B4" $"B2B1 A39E 4517 3203 0202 0882 0F20 0E0F" $"0F0E 0F0F 0E0F 0F0E 0F0E 0E0D 0D0C 0B11" $"2832 363D 2527 2E39 4A5F 685B 3E2B 0293" $"0007 571C 1900 002A 7FA3 81B3 87B4 8FB5" $"82B6 85B5 0EB6 B7B8 B6B3 B0A2 A574 301F" $"2D03 0208 800F 890E 110D 0B11 2331 2F3A" $"3A26 2C36 455C 6A5A 4835 0E98 0008 3C25" $"2600 0023 7BA1 B281 B302 B4B4 B383 B480" $"B500 B49A B50C B7B7 B5B1 A3A7 7265 2E1A" $"1C03 0882 0F16 0E0F 0F0E 0E0D 0C0D 1A2F" $"3739 312B 2B33 4054 6668 4E3E 219D 0009" $"2636 1D0D 001D 779F B1B2 84B3 04B4 B3B4" $"B4B3 87B4 05B5 B5B4 B5B5 B480 B507 B4B5" $"B5B4 B5B5 B4B5 83B4 00B5 80B6 08A4 A759" $"1443 1B17 1608 800F 800E 110C 0A1A 202C" $"362F 2E27 303C 4D65 6857 4621 0CA1 0008" $"034A 1A17 0018 739D B085 B289 B392 B483" $"B31E B4B5 BAA8 A85A 000C 1F21 292C 0B0E" $"0B0E 2828 3435 2E25 2A33 4156 5C5B 4F3A" $"0EA7 0008 4A24 2300 136E 9AAF B186 B202" $"B3B3 B288 B304 B4B3 B4B4 B380 B402 B3B4" $"B486 B31D B2AE A699 8793 A9A9 6000 000E" $"642E 232C 212D 3626 2731 3C50 6F5A 4536" $"1B02 AB00 0733 3326 030F 6A98 AE81 B102" $"B2B2 B187 B208 B3B3 B2B3 B3B2 B3B3 B286" $"B311 B2B3 B3B2 B2AF A89C 8977 7677 7A8C" $"9899 A342 8000 0B2F 4630 2D30 3446 5B63" $"5839 28B1 0007 1A4D 221B 0B64 95AD 80B0" $"89B1 91B2 11AF A99E 8C7C 7574 7A86 8E81" $"7B78 7C85 8A64 0281 0006 1014 1415 141B" $"0BB5 0007 0157 1F1D 085F 93AC 81B0 02B1" $"B1B0 88B1 20B2 B1B2 B2B1 B2B2 B1B2 B2B1" $"B1AF AAA0 917E 7676 7B81 8887 7D78 787E" $"8278 5341 1C05 C300 0A3F 2829 0758 90AA" $"AFB0 B0AF 83B0 02B1 B1B0 80B1 00B0 85B1" $"14AF ABA3 957F 7876 767E 8A88 7E7A 777C" $"8A77 613F 260D C800 0619 3B2A 1051 8DA9" $"87AF 87B0 14AF ACA4 9885 7378 767D 8986" $"817A 7779 8382 6E49 320C CD00 0A07 502A" $"2D48 8AA7 AEAF AFAE 86AF 17B0 AFAF ACA5" $"9A89 7474 7376 838D 817B 7878 808F 7057" $"3214 02D2 0005 4935 3F41 87A6 84AE 17AF" $"AFAE AEAB A69C 8C7A 7171 7681 8D7F 7976" $"777F 8379 623D 23D8 0005 3543 593D 83A4" $"83AD 14AB A79E 8F7C 7373 767B 8686 7A76" $"767A 827D 5845 2009 DC00 1B12 5B55 4D7F" $"A2AC ABA7 9F92 7E74 7273 7A85 867C 7775" $"7985 7A66 442D 13E2 0016 5159 6A63 8382" $"706F 7379 8284 7F78 7577 7F83 734E 3910" $"02E6 0011 4164 6B72 737B 877D 7674 757D" $"9173 5C38 1C05 DD00 8200 5B0E 4A53 3126" $"2C2C 262D 373F 4A4C 321A 171B 2025 2A2E" $"2B20 1814 191D 2227 2A25 1E18 151B 2128" $"2E30 2A22 1918 212A 333C 4039 3026 2332" $"404E 5C64 615C 4C20 2F3A 4458 3D05 0000" $"081C 3125 211E 1E23 2930 3437 3930 0304" $"0506 0708 0909 069F 0008 063D 6036 2520" $"2E1E 0982 0A6B 0909 0D13 181D 2328 2F32" $"1A14 1A21 272E 343C 401B 181D 252C 343B" $"4343 1719 1F27 2F39 424B 4C1E 1819 1F25" $"2B31 3430 1C16 171D 242C 3651 6A64 5B71" $"584C 423B 3A3B 4148 5051 4B42 393A 4651" $"5D68 6C69 624B 323E 4955 6065 6460 4E26" $"3039 434C 5051 4F35 181F 262E 3539 3D3F" $"2E09 8200 2616 673F 2A1F 2826 0307 2075" $"7572 6A63 5B54 4E48 4440 3C39 352F 2A24" $"201D 1917 1513 1110 0F0E 0E0D 820C 860B" $"5B0E 1317 1B20 2428 290E 131C 232E 3334" $"2C31 2E29 282F 3447 3D3B 4148 4E56 5D59" $"3130 3339 3F45 4C4F 4731 2C2D 3236 3A3E" $"3E39 342E 2F34 393E 4442 3D35 2E31 383F" $"474E 4F4E 4C43 4E32 0100 000C 622E 1F2B" $"2907 0002 0735 EDF5 F6F8 F9FB FC83 FE37" $"FDFA F7F4 F1EF EDEB E9E4 DCD3 CEC7 C2BD" $"B5AB A29A 938A 7F74 695D 534A 4139 332D" $"2723 201D 1B1A 1817 1615 1513 2E33 3539" $"2B39 251F 1923 2727 8126 3025 2628 2B2D" $"3032 3538 3426 2A32 373F 434A 504C 282D" $"3339 4146 4F55 482B 2D35 3C46 4D57 5C56" $"3D35 3843 2000 000B 451F 310E 8000 3F0A" $"1325 ACC1 C4C6 C8CA CCCD CDCC CCCB CAC9" $"C8C6 C4C3 C1BE BCBA B7B5 B2AF ACA9 A7A4" $"A09D 9995 928D 8A84 7E78 726D 6863 5E59" $"544F 4A45 403B 3630 2B27 1908 100F 0F80" $"0E16 0F1A 52B2 534D 4843 3F3B 3835 3331" $"2F2D 2C2B 2A29 2928 2883 2783 2681 2781" $"2880 2918 2C39 393F 2400 000A 3A3A 0400" $"0001 0110 1E2F A8C2 C4C6 C8CA CA80 CB32" $"CAC9 C7C5 C2C0 BDBA B6B2 AEA9 A5A0 9B96" $"918C 8681 7C76 716C 6762 5D58 544D 423E" $"3B38 3532 2F29 231F 1C19 1816 1413 0E05" $"0B0C 0B80 0A16 0D1C 48CF 4F4B 4743 403D" $"3A38 3634 3230 2F2D 2C2B 2A29 2981 2801" $"2929 802A 012B 2B81 2C80 2D83 2E08 2D42" $"4126 0000 0B3E 1F80 000B 0101 1021 309E" $"BBBE BFC1 C2C3 80C4 31C3 C2C1 BFBD BBB8" $"B5B2 AEAB A7A3 9E9A 9590 8C87 827D 7974" $"6F6B 6662 5E5A 5648 3D3A 3734 312A 211E" $"1C1A 1816 1513 120E 0610 1181 1216 172C" $"57D0 5A56 534F 4C49 4744 4240 3E3C 3A39" $"3836 3534 2E81 2D8C 2E81 2D09 2E2C 4245" $"2B00 000C 3C2D 8000 0A01 010F 212D 91B3" $"B5B6 B8B9 82BA 2FB9 B8B6 B4B2 B0AD AAA7" $"A3A0 9C98 9490 8B87 827E 7A75 716D 6965" $"605D 5955 493B 3835 322F 261F 1D1B 1917" $"1514 1312 0E06 1181 1318 141A 305C CB5C" $"5956 5250 4D4B 4946 4543 4240 3F3E 3D3E" $"3F37 3281 3181 3084 2F80 2E0D 2D2E 2E2D" $"2E2B 4F47 2F00 000E 423E 8000 0B01 010E" $"212B 84AA ACAD AFB0 B080 B130 B0AF AEAD" $"ABA9 A7A4 A29F 9B98 9491 8D89 8581 7D79" $"7470 6C69 6560 5D59 5652 4638 3532 302D" $"241D 1B1A 1816 1513 1312 0D06 1180 131B" $"1414 1A31 5CC5 5B58 5552 4F4D 4B49 4745" $"4442 4140 3F3E 3F40 3732 3131 8030 012F" $"3081 2F02 2E2F 2F81 2E0E 2D2E 2E2D 2D2A" $"5A47 3500 0011 4E1B 0180 0009 010C 202A" $"78A1 A3A5 A6A7 81A8 4EA7 A7A6 A4A3 A19F" $"9C9A 9794 918D 8A86 837F 7B77 7370 6C68" $"6461 5D5A 5653 4F44 3633 302E 2B23 1C1A" $"1817 1514 1312 110D 0611 1212 1313 141A" $"315C C059 5653 504E 4C4A 4846 4443 4241" $"403F 3E3F 3F37 3131 8030 812F 842E 852D" $"172B 3A4A 3C00 000F 5323 0600 0001 010A" $"1F29 6D99 9B9C 9E9F 9F80 A030 9F9E 9D9C" $"9B99 9795 9290 8D8A 8783 807D 7976 726E" $"6B67 6460 5D5A 5653 514D 4234 312E 2C2A" $"211B 1917 1614 1312 1211 0C06 1180 1318" $"1414 1A31 5CBB 5754 524F 4D4B 4947 4544" $"4341 403F 3F3E 3F3F 3680 3180 3015 2F30" $"2F2E 2F2F 2E2F 2F2E 2D2E 2E2D 2E2E 2D2D" $"2E40 4D35 8000 0F3F 2F0C 0000 0101 091E" $"2863 9293 9596 9682 972F 9695 9493 918F" $"8D8B 8986 8380 7D7A 7774 716D 6A66 6360" $"5D59 5653 504E 4B40 322F 2D2A 2820 1918" $"1615 1313 1211 100C 0611 8013 1814 141A" $"315B B555 5350 4E4B 4948 4645 4342 4140" $"3F3E 3D3F 3F36 8031 8030 802F 122E 2F2F" $"2E2F 2E2E 2D2E 2E2D 2E2E 2D2D 314B 570D" $"8000 024D 2508 8000 0A01 081E 275A 8B8C" $"8D8E 8F8F 8090 4D8F 8F8E 8D8B 8A88 8684" $"8280 7D7A 7875 726F 6C68 6562 5F5C 5956" $"5350 4D4B 483E 302D 2B29 271F 1816 1514" $"1312 1110 0F0C 0611 1212 1313 141A 315B" $"AB54 514F 4C4A 4847 4544 4241 403F 3F3E" $"3D3F 3E35 3180 3081 2F84 2E86 2D03 3354" $"5D0F 8000 105F 180F 0000 0101 061D 2751" $"8485 8687 8888 8089 3088 8887 8685 8382" $"807E 7C7A 7775 726F 6D6A 6764 615E 5B58" $"5653 504D 4B49 463C 2E2B 2927 251E 1715" $"1413 1212 1110 0F0C 0611 8013 1E14 141B" $"315A A152 4F4D 4B49 4746 4443 4241 403F" $"3E3E 3D3F 3E35 3031 302F 3030 802F 022E" $"2F2F 812E 042D 2E2E 2D2E 802D 032E 3E64" $"1280 000F 3918 2300 0001 0105 1C26 4A7D" $"7F80 8181 8182 3081 8180 7F7E 7D7B 7A78" $"7674 726F 6D6A 6865 6260 5D5A 5855 5250" $"4D4B 4947 443A 2C2A 2826 241C 1614 1312" $"1211 100F 0E0B 0611 8113 1714 1B31 5998" $"504E 4C4A 4847 4544 4341 403F 3F3E 3D3C" $"3E3E 3480 3002 2F30 3080 2F02 2E2F 2F81" $"2E04 2D2E 2E2D 2E80 2D03 3839 6610 8000" $"1240 1B34 0000 0101 041B 2543 7779 7A7A" $"7B7B 7C7C 807B 2E7A 7978 7775 7472 706E" $"6C6A 6866 6361 5E5C 5957 5452 4F4D 4B48" $"4644 4238 2A28 2624 231B 1513 1312 1110" $"0F0F 0E0B 0611 8013 1814 141B 3158 904F" $"4C4B 4947 4644 4342 4140 3F3E 3E3D 3C3E" $"3D34 8030 012F 3081 2F02 2E2F 2F81 2E02" $"2D2E 2E80 2D04 2C2D 433B 5381 0002 4E1F" $"0E80 000C 0104 1A25 3E71 7374 7475 7576" $"7680 754C 7473 7271 706E 6D6B 6967 6563" $"615F 5D5A 5856 5351 4F4C 4A48 4644 4240" $"3728 2625 2322 1A14 1312 1110 100F 0E0D" $"0B05 1112 1213 1314 1B31 5788 4D4B 4948" $"4645 4342 4140 3F3F 3E3D 3D3C 3E3D 3330" $"3081 2F84 2E86 2D04 2C2D 4F3B 5C81 000F" $"4B20 1E00 0001 0103 1924 396B 6D6E 6F6F" $"8170 306F 6F6E 6E6D 6C6A 6968 6664 6361" $"5F5D 5B59 5754 5250 4E4C 4A48 4644 4240" $"3E35 2725 2322 2019 1312 1211 100F 0E0E" $"0D0A 0511 8113 1714 1B31 5681 4C4A 4847" $"4544 4342 4140 3F3E 3D3D 3C3C 3E3D 3380" $"3080 2F04 2E2F 2F2E 2F82 2E02 2D2E 2E80" $"2D04 2C2D 373B 6581 000D 2B20 3100 0001" $"0102 1724 3565 6869 806A 016B 6B80 6A2E" $"6968 6867 6564 6361 605E 5D5B 5957 5553" $"514F 4D4B 4947 4543 4240 3E3D 3426 2322" $"211F 1912 1211 100F 0E0E 0D0D 0A05 1181" $"1317 141B 3154 7A4A 4947 4644 4342 4140" $"3F3E 3E3D 3D3C 3C3E 3C32 8030 802F 062E" $"2F2F 2E2F 2E2D 802E 022D 2E2E 802D 042C" $"2D39 3B6A 8100 0236 261E 8000 0701 0216" $"2432 5F63 6485 6544 6463 6362 6160 5E5D" $"5C5A 5957 5553 5250 4E4C 4A48 4745 4341" $"403E 3D3B 3324 2221 201E 1812 1110 0F0F" $"0E0D 0D0C 0A05 1112 1213 1314 1B31 5374" $"4947 4645 4342 4140 403F 3E3D 3D80 3C02" $"3E3C 3282 2F84 2E85 2D80 2C03 2D44 3D42" $"8100 0F41 2D19 0000 0101 0214 232F 5A5F" $"5F60 6080 6181 6026 5F5E 5D5C 5B5A 5958" $"5655 5352 504E 4D4B 4948 4644 4341 3F3E" $"3C3B 3A32 2321 201E 1D17 1110 0F0F 0E80" $"0D03 0C0A 0511 8113 1014 1C31 526E 4846" $"4544 4342 4140 3F3E 3E3D 813C 053E 3C31" $"2F30 3080 2F02 2E2F 2F80 2E00 2D80 2E01" $"2D2E 812D 042C 2D51 3D4A 8100 0D13 322D" $"0000 0101 0212 232D 545B 5B85 5C2E 5B5B" $"5A59 5857 5655 5453 5150 4E4D 4B4A 4847" $"4544 4241 3F3E 3C3B 3A38 3122 201F 1E1D" $"1710 0F0F 0E0E 0D0D 0C0C 0A06 1181 1310" $"141C 3251 6847 4544 4342 4140 3F3F 3E3D" $"3D80 3C05 3B3E 3B31 2F30 812F 022E 2F2F" $"802E 002D 802E 0A2D 2E2D 2C2D 2D2C 2C3C" $"3E53 8100 0216 3D3D 8000 0701 0110 222C" $"4F57 5785 582E 5757 5655 5554 5352 504F" $"4E4D 4B4A 4947 4644 4341 403F 3D3C 3A39" $"3837 3021 1F1E 1D1C 160F 0F0E 0E0D 0D0C" $"0C0B 0905 1180 1212 1314 1C32 4F63 4544" $"4342 4140 403F 3E3D 3D3C 3C80 3B02 3D3B" $"3180 2F83 2E86 2D83 2C02 3A3E 5B81 0002" $"1A49 1880 0006 0101 0F21 2A4B 5380 5481" $"5580 542D 5352 5251 504F 4E4D 4C4B 4A49" $"4746 4543 4241 3F3E 3D3B 3A39 3837 362F" $"201E 1D1C 1B16 0F0E 0E0D 0D0C 0C0B 0B09" $"0511 8113 1114 1C32 4E5F 4443 4241 4140" $"3F3E 3E3D 3D3C 3C80 3B02 3D3B 3180 2F02" $"2E2F 2F80 2E03 2D2E 2E2D 802E 802D 072C" $"2D2D 2C2B 4641 2D81 000D 134A 2702 0000" $"0101 0D20 2946 5050 8451 8050 414F 4E4E" $"4D4C 4B4A 4948 4746 4544 4241 403F 3D3C" $"3B3A 3938 3636 352E 1F1D 1C1B 1A15 0E0E" $"0D0D 0C0C 0B0B 0A08 0511 1313 1213 141C" $"324D 5B44 4342 4140 3F3F 3E3D 3D3C 3C81" $"3B02 3D3A 3080 2F02 2E2F 2F80 2E03 2D2E" $"2E2D 802E 802D 072C 2D2D 2C2B 5443 3482" $"0002 4238 0480 0004 010C 2029 4280 4D82" $"4E80 4D21 4C4C 4B4B 4A49 4847 4645 4443" $"4241 403F 3E3D 3C3B 3938 3736 3534 342D" $"1E1C 1B1A 1A14 800D 080C 0C0B 0B0A 0A08" $"0511 8012 1013 131C 324C 5743 4241 403F" $"3F3E 3D3D 3C3C 803B 053A 3B3D 3A30 2F84" $"2E86 2D83 2C03 2A42 443C 8200 0A52 2304" $"0000 0101 0A1F 283F 804A 824B 804A 3F49" $"4948 4847 4646 4544 4342 4140 3F3E 3D3C" $"3B3A 3938 3736 3534 3333 2C1D 1B1A 1A19" $"140D 0D0C 0C0B 0B0A 0A09 0805 1113 1312" $"1314 1C32 4A54 4241 403F 3F3E 3E3D 3D80" $"3C80 3B08 3A3D 392F 2E2F 2F2E 2F81 2E11" $"2D2E 2E2D 2E2D 2D2C 2D2D 2C2D 2D2C 2B3C" $"4743 8200 0C63 1812 0000 0101 091E 273B" $"4747 8448 8047 2546 4645 4544 4342 4241" $"403F 3E3D 3C3B 3A39 3837 3736 3534 3332" $"322C 1D1A 1A19 1813 0D0C 0C0B 0B80 0A14" $"0908 0511 1213 1213 131D 3249 5141 4040" $"3F3E 3E3D 3D80 3C80 3B1F 3A3A 3D39 2F2E" $"2F2F 2E2F 2E2D 2E2E 2D2E 2E2D 2E2D 2D2C" $"2D2D 2C2D 2D2C 2B48 4D13 8200 0236 1724" $"8000 0501 071E 2738 4486 4580 442B 4343" $"4241 4140 3F3F 3E3D 3C3B 3B3A 3938 3736" $"3534 3433 3231 312B 1C1A 1918 1813 0C0C" $"0B0B 0A0A 0909 0808 0510 8012 0E13 131D" $"3248 4E40 403F 3E3E 3D3D 3C3C 803B 813A" $"023D 382F 822E 862D 862C 032B 5653 1582" $"000A 441B 3000 0001 0106 1D26 3680 4282" $"4381 4225 4141 4040 3F3F 3E3D 3D3C 3B3B" $"3A39 3837 3636 3534 3333 3231 3130 2A1C" $"1918 1817 130C 0B0B 0A0A 8009 1208 0805" $"1012 1312 1313 1D32 474C 403F 3F3E 3D3D" $"803C 803B 813A 053C 382F 2E2F 2F80 2E05" $"2D2E 2E2D 2E2E 812D 0A2C 2D2D 2C2D 2C2C" $"2B47 5919 8200 0A53 1E0E 0000 0101 051C" $"2633 8840 803F 143E 3E3D 3D3C 3C3B 3A3A" $"3938 3737 3635 3434 3332 3231 8030 0A2A" $"1B18 1817 1713 0B0B 0A0A 8109 0F08 0705" $"1012 1312 1313 1D32 464A 3F3F 3E80 3D80" $"3C80 3B81 3A04 3C38 2F2E 2F81 2E05 2D2E" $"2E2D 2E2E 812D 0A2C 2D2D 2C2D 2C2C 3237" $"5F1C 8200 0A48 1E20 0000 0101 041B 2531" $"883E 803D 213C 3C3B 3B3A 3A39 3938 3737" $"3635 3534 3333 3231 3130 302F 2F29 1B18" $"1717 1612 0B0A 0A81 0912 0808 0705 1012" $"1312 1313 1D32 4548 3F3E 3E3D 3D80 3C81" $"3B81 3A0F 3C37 2F2E 2F2E 2D2E 2E2D 2E2E" $"2D2E 2D2C 802D 022C 2D2D 812C 033E 3852" $"0282 0002 2F1F 3280 0004 0103 1A25 2F81" $"3C01 3D3D 833C 803B 213A 3A39 3938 3837" $"3736 3535 3434 3332 3231 3030 2F2F 2E2E" $"291A 1717 1616 120A 0A09 0981 0803 0707" $"0510 8012 0B13 131D 3244 463E 3E3D 3D3C" $"3C80 3B80 3A80 3903 3A3C 372F 802E 862D" $"862C 042B 2C4B 3959 8300 0C3B 2518 0000" $"0101 0218 242E 3A3A 833B 823A 8039 1238" $"3837 3736 3635 3534 3433 3232 3131 3030" $"2F2F 802E 0729 1A17 1716 1612 0A80 0981" $"080F 0707 0510 1213 1213 131D 3243 443E" $"3D3D 803C 803B 803A 0039 803A 023C 362F" $"802E 052D 2E2E 2D2E 2E80 2D00 2C80 2D01" $"2C2D 822C 023F 3963 8300 0244 2B1D 8000" $"0501 0217 242D 3886 3981 3880 3701 3636" $"8035 0C34 3433 3332 3131 3030 2F2F 2E2E" $"802D 0128 1A80 1601 1512 8009 8208 0E07" $"0705 1012 1312 1313 1D32 4243 3D3D 813C" $"803B 803A 0539 3A39 3A3C 3681 2E04 2D2E" $"2E2D 2E81 2D00 2C80 2D03 2C2D 2C2B 802C" $"0232 386C 8300 0218 2F2F 8000 0501 0215" $"232B 3784 3882 3780 3680 3503 3434 3333" $"8032 1231 3130 302F 2F2E 2E2D 2D2C 2D28" $"1A16 1615 1511 8108 8207 0206 0510 8112" $"0713 1E32 4142 3D3C 3C80 3B81 3A82 3903" $"3A3C 352E 862D 862C 812B 032C 3E3A 4883" $"0002 1E39 3881 0004 0213 232A 3587 3681" $"3580 3480 3301 3232 8031 0330 302F 2F80" $"2E01 2D2D 802C 0628 1916 1615 1511 8108" $"1007 0807 0706 0605 1012 1312 1313 1E32" $"4041 803C 803B 053A 3B3A 393A 3A80 3909" $"3A3B 352E 2D2E 2E2D 2E2E 802D 032C 2D2D" $"2C80 2D80 2C00 2B80 2C02 4C3B 4983 0002" $"2444 1B81 0004 0112 222A 3486 3582 3480" $"3380 3280 3101 3030 802F 012E 2E80 2D81" $"2C01 2719 8015 0514 1108 0708 0881 0703" $"0606 0510 8012 0513 131E 3240 4080 3C80" $"3B80 3A02 393A 3A80 3909 3A3B 342E 2D2E" $"2E2D 2E2E 802D 032C 2D2D 2C80 2D80 2C00" $"2B80 2C02 433C 5283 0002 1443 2B81 0004" $"0110 2129 3285 3483 3380 3280 3180 3080" $"2F80 2E01 2D2D 802C 802B 0627 1915 1514" $"1411 8207 8206 0105 1081 1204 131E 323F" $"3F80 3B82 3A81 3980 3802 3A3B 3485 2D86" $"2C84 2B02 333C 5B84 0001 463E 8100 0401" $"0E21 2831 8333 8432 8231 8030 802F 802E" $"802D 012C 2C82 2B01 2719 8015 0114 1181" $"0700 0680 0703 0606 0510 8012 0A13 131E" $"323E 3E3C 3B3B 3A3B 813A 8039 0938 3939" $"3A3B 332E 2D2E 2E80 2D13 2C2D 2D2C 2D2D" $"2C2D 2C2C 2B2C 2C2B 2C2C 2B41 3E3A 8400" $"0256 1E03 8000 0401 0D20 2830 8432 8431" $"8130 812F 802E 812D 802C 822B 0627 1914" $"1514 1411 8107 0006 8007 0306 0605 1080" $"1205 1313 1E32 3E3E 803B 803A 0239 3A3A" $"8039 0938 3939 3A3B 332E 2D2E 2E80 2D05" $"2C2D 2D2C 2D2D 812C 092B 2C2C 2B2C 2C2A" $"4E40 3684 0002 5F18 1380 0004 010B 1F27" $"2F85 3184 3081 2F81 2E80 2D80 2C81 2B81" $"2A01 2719 8014 0113 1187 0602 0510 1180" $"1205 131F 323D 3D3B 813A 8239 8238 023A" $"3A32 822D 872C 852B 032A 4941 3E84 0002" $"3B1A 2480 0004 010A 1F27 2E87 3083 2F81" $"2E82 2D81 2C80 2B82 2A01 2719 8014 0613" $"1107 0607 0706 8007 0306 0605 1080 1207" $"1313 1E32 3D3C 3B3B 813A 8039 0938 3939" $"3839 3839 3A32 2E80 2D07 2C2D 2D2C 2D2D" $"2C2D 822C 022B 2C2C 802B 0329 3642 4684" $"0002 491D 2880 0005 0108 1E27 2D2F 8030" $"862F 832E 812D 802C 012B 2C81 2B82 2A01" $"2719 8014 0813 1106 0607 0706 0707 8006" $"0105 1080 120B 1313 1E32 3C3C 3B3A 3A39" $"3A3A 8039 0238 3939 8038 0339 3A31 2E80" $"2D05 2C2D 2D2C 2D2D 802C 002B 802C 022B" $"2C2C 802B 0328 4546 2684 0002 581D 1080" $"0004 0107 1D26 2C81 2F88 2E82 2D81 2C82" $"2B81 2A80 2903 2A27 1914 8013 0011 8606" $"0305 0510 1181 1205 1E32 3C3B 3A3A 8239" $"8438 0537 393A 312D 2D87 2C86 2B05 2A2A" $"2753 4F1C 8400 0245 1C21 8000 0401 061C" $"252C 872E 012D 2E84 2D81 2C83 2B80 2A01" $"292A 8029 0626 1913 1414 1311 8106 0005" $"8006 0C05 0605 1011 1212 1313 1F32 3B3B" $"803A 0739 3A39 3839 3938 3981 380B 3939" $"302D 2C2D 2D2C 2D2D 2C2D 812C 002B 802C" $"802B 062A 2B2B 265D 5320 8400 0234 1E33" $"8000 0501 051B 252B 2D80 2E02 2D2E 2E83" $"2D02 2C2D 2D81 2C01 2B2C 812B 012A 2B81" $"2A82 290B 2619 1314 1413 1106 0506 0605" $"8006 0B05 0605 1011 1212 1313 1F32 3B81" $"3A80 3902 3839 3980 380C 3738 3839 3930" $"2D2C 2D2D 2C2D 2D80 2C03 2B2C 2C2B 802C" $"802B 062A 2B2B 2C36 5825 8400 0242 2313" $"8000 0401 041A 242B 872D 022C 2D2D 842C" $"802B 022A 2B2B 802A 0229 2A2A 8229 0B26" $"1913 1413 1311 0605 0606 0580 060B 0506" $"0510 1112 1213 131F 323B 803A 8039 8238" $"0737 3736 3635 3636 2E81 2D02 2C2D 2D80" $"2C03 2B2C 2C2B 802C 802B 062A 2B2B 3738" $"5918 8400 0245 281E 8100 0303 1924 2A8B" $"2C84 2B83 2A83 2980 2802 2926 1980 1301" $"1211 8805 0210 1111 8012 171F 3139 3837" $"3736 3535 3433 3231 302F 2E2C 2B2A 2928" $"292A 2B83 2C87 2B81 2A03 2B42 3A5B 8500" $"021F 2B30 8000 0401 0218 232A 872C 042B" $"2C2C 2B2C 822B 022A 2B2B 802A 0229 2A2A" $"8029 0028 8129 0126 1A80 1306 1211 0605" $"0606 0580 0603 0506 050E 820F 0B19 282D" $"2D2B 2A28 2726 2524 2480 2384 2205 2325" $"2729 2A2B 812C 0F2B 2C2C 2B2C 2B2B 2A2B" $"2B2A 2B2B 4D3B 6485 0002 2733 3380 0005" $"0102 1623 292B 802C 052B 2C2C 2B2C 2C83" $"2B00 2A80 2B81 2A83 2901 2828 8027 0A26" $"2623 1714 1313 1213 0B06 8505 0004 8305" $"020F 1B21 8A22 0321 2222 2180 2207 2122" $"2224 2628 292A 802B 002C 812B 082A 2B2B" $"2A2B 2B2D 386E 8500 022E 3D1C 8100 0301" $"1422 298A 2B80 2A80 291C 2828 2727 2626" $"2524 2423 2221 201E 1D1C 1A19 1613 1414" $"1313 1212 0F09 0584 0400 0280 0305 0404" $"0F1B 2122 9621 0522 2426 282A 2A82 2B82" $"2A02 3938 6485 0002 143B 2C80 0005 0101" $"1222 282B 812A 1929 2928 2827 2726 2525" $"2423 2221 201E 1D1B 1A19 1716 1514 1312" $"1182 1003 0F10 1112 8213 0312 1210 0A80" $"0503 0405 0402 8003 0704 040E 1B20 2122" $"228E 2106 2021 2120 2121 2080 2108 2325" $"2729 292A 2A2B 2B80 2A02 453A 4786 0002" $"492A 0F80 0014 010F 1D22 2424 2222 201F" $"1E1C 1B19 1817 1615 1413 1280 1183 1008" $"0F10 100F 1010 0F10 1082 0F01 1012 8313" $"0712 110B 0504 0504 0281 0303 040E 1A20" $"8121 0820 2121 2021 2120 2121 8020 801F" $"0820 2021 2120 2121 2021 8220 0521 2326" $"2729 2980 2A02 4741 5386 0002 621D 1E81" $"0006 0610 1213 1312 1281 1189 108D 0F81" $"0E03 0F0F 1012 8113 8012 0511 0C06 0402" $"0280 0303 040E 1A1F 8120 071F 1F1E 1E1D" $"1D1C 1C81 1B80 1A02 1B1D 1F83 2081 1F02" $"1E1E 1D80 1C80 1D03 284A 455F 8600 0333" $"2316 1180 0002 020A 0E87 1006 0F10 100F" $"1010 0F80 1089 0F00 0E80 0F03 0E0F 0F0E" $"810F 0110 1282 1380 1203 0D13 0001 8002" $"020C 161A 841B 071A 1B1B 1A1B 1B1A 1B83" $"1A17 1919 1A1B 1B1A 1918 1614 1211 1011" $"2136 1C2F 3430 4439 4B48 8600 0A09 401B" $"2204 0000 0109 0D0F 8010 050F 1010 0F10" $"108A 0F08 0E0F 0F0E 0F0F 0E0F 0F8C 0E07" $"0D0C 0B0A 0807 0604 8200 0401 0A14 191A" $"801B 831A 2219 1918 1817 1615 1412 110F" $"0D0B 0908 0605 1749 2B2E 462F 4545 2924" $"2929 2E3A 3E55 6A11 8700 082C 2F16 1C00" $"0001 090D 890F 890E 0E0D 0D0C 0B0A 0908" $"0807 0605 0504 060B 830D 040A 0807 0505" $"8204 8102 1900 0007 1317 1918 1717 1615" $"1412 110F 0D0C 0A08 0705 0403 0301 0184" $"000F 0F29 3537 2E3B 4C62 728A A141 4034" $"1F0B 8800 0926 4F26 270A 0001 080D 0E80" $"0F04 0E0F 0F0E 0F80 0E09 0D0D 0C0B 0A09" $"0808 0706 8105 0604 0505 0405 0504 8005" $"0904 0505 080C 0E0D 0E0D 0780 0801 0605" $"8004 1103 0203 0302 0302 0207 0C0C 0A08" $"0706 0404 0383 020D 0302 0203 0301 0001" $"0100 0101 0001 8000 0B0F 2E55 7888 9DAB" $"B6BB 9450 1288 0013 3051 2C21 1824 0000" $"070B 0D0C 0C0B 0A09 0807 0706 8005 0304" $"0505 0480 050E 0405 0504 0505 0405 0504" $"0505 0405 0583 0405 080C 0C0B 0403 8004" $"0003 8001 9703 1C02 0303 0100 0101 0001" $"0104 090C 1920 2B3E 4668 96AB ACA9 ACB2" $"BABD 9A4B 8600 0B55 2C28 2917 2900 0001" $"0304 059A 0481 0380 0280 010E 0001 041B" $"0508 0B11 2540 5A5E 340D 0495 0310 040D" $"1016 242A 3F4B 5B6D 7584 8B92 9A9B 9C81" $"9D08 A0AE B5C0 C5CD D4D9 8B85 000A 5328" $"2A01 0202 0100 0103 0480 0505 0405 0504" $"0505 8704 8103 8002 8001 8200 8001 8300" $"0D2B 181B 1E20 2539 566F 7D65 310C 0588" $"040F 0506 0914 1627 2F3E 545B 747C 8A96" $"979E 8CA1 0AA2 A3A3 A4AB C2D4 DADA C40E" $"8400 0351 2A1F 0280 0302 0101 0285 0481" $"0381 0280 0182 0080 0180 0280 0381 0400" $"0384 001E 010E 1C1F 2224 2C42 5F76 8166" $"3012 0808 0A14 1A23 353C 525E 7082 8896" $"9CA1 A682 A702 A8A8 A684 A513 A6A6 A7AA" $"ADB2 B7BD C3CA D0D6 DDE2 E4E3 D9D2 CA1C" $"8400 034D 2321 0280 0402 0300 0181 0282" $"0181 0080 0103 0202 0303 8104 0805 0504" $"0505 0405 0504 8105 0104 0185 0014 0417" $"2123 2528 334C 677D 888A 8282 8993 9FA2" $"A7A9 A982 AA84 AB10 ACAD ADAB ACAE B2B7" $"BDC2 C9CF D5DA DFE2 E380 E50A E4E3 E2E0" $"DEDC DDCD CDC4 1D84 0003 5419 0901 8104" $"0303 0100 0080 0103 0202 0303 8104 9505" $"1A04 0100 0001 0204 0606 0A0B 0F19 2225" $"2729 2D3A 556F 8393 A1AA ACAC 81AD 81AE" $"26AF AFB0 B2B6 BABF C5CC D4DA DADE E2E4" $"E6E7 E8E7 E7E6 E5E3 E1DE DBD8 D5D1 CDCA" $"C7C4 C2C1 B7CA BE1D 8400 0448 1B1D 0003" $"8205 0004 8A05 0206 0605 8006 1A05 0606" $"0506 0605 0606 0506 0708 0A0C 0E12 1312" $"1516 191B 1C1E 1B1B 801C 341D 2126 282B" $"2D31 425E 7789 99A7 AEB1 B2B4 B8BD C3C9" $"CFD6 DDE3 E8EC EEF0 F2F3 F7F5 ECEA E8E6" $"E3E0 DCD8 D4D0 CDC9 C6C4 C3C1 C0C0 BFBF" $"81BE 03B4 BCBB 1D84 000A 351D 2E00 0205" $"0606 0506 0591 0611 0709 0A0D 0E11 1517" $"1B1D 1F21 2224 2425 2421 831F 2E1C 1C1D" $"1D1E 1F20 2227 2A2C 2E30 364A 667D 8FA7" $"D3E6 EAEE F1F3 F5F7 F8FA FAFB FCFA F8F4" $"EEEC E4D5 CFCC C8C6 C4C3 C2C2 80C1 81C0" $"80BF 80BE 05BD BEB6 BAAE 0F84 0005 4221" $"2100 0104 8A06 8007 0C0A 0A0C 1011 1517" $"1B1E 1F22 2324 8225 8526 0B22 2122 2325" $"2627 2324 2425 2581 261F 272B 2D2F 3133" $"3C52 70AD F1FD FDFE FEFD FAF6 F1EB E5DF" $"D9D5 D2D0 CED0 CEC3 C2C2 82C1 82C0 80BF" $"80BE 80BD 04BC BEBB BAA5 8500 0651 2619" $"0000 0306 8107 0D08 090B 0C0F 1114 1819" $"1E1F 2123 2480 2586 260C 2727 282A 2B2D" $"3032 3437 3830 2D82 2E00 2682 2518 2424" $"2323 2B2D 2E30 3234 3750 9FD7 EFE5 DFDA" $"D5D1 CFCE CECD CE82 CD02 D0CD C283 C182" $"C080 BF81 BE80 BD04 BCBE BCB9 A885 000F" $"2924 2A00 0001 060D 151A 1D1F 2023 2424" $"8125 8526 1C27 2829 2B2C 2E31 3336 383A" $"3C3D 3F40 4041 4243 4135 2F2F 2E2E 2D2D" $"2222 8021 8120 0B21 2B2C 2E30 3133 3549" $"96B7 CC82 CE83 CD06 CCCD CCCC CFCC C280" $"C183 C080 BF81 BE80 BD80 BC03 BEB0 B8AB" $"8500 0929 2B34 0000 0109 1720 2480 2583" $"2620 2728 2A2B 2D30 3234 3739 3B3D 3E3F" $"4041 4244 494D 4F4E 4D4A 4846 4544 4032" $"2B2A 2A80 2903 1F1F 1E1E 821F 0B21 2A2C" $"2E30 3133 3449 96B7 CC83 CD86 CC02 CECB" $"C182 C081 BF82 BE80 BD80 BC05 BBBB BEB3" $"B796 8500 2A33 3417 0000 0105 141D 2327" $"292A 2C2E 3133 3538 3A3C 3D3F 4040 4144" $"4B5F 7381 8E87 7D74 6A60 564C 4541 403F" $"813E 013B 2F80 2902 2829 2980 1F00 1E82" $"1F10 202A 2C2E 2F31 3234 4996 B7CB CDCD" $"CCCD CD83 CC06 CBCC CBCB CECA C180 C083" $"BF80 BE81 BD80 BC06 BBBB BABD B7B6 7785" $"0002 1D39 2880 001B 020E 1B2D 3A3D 3E3F" $"4041 4349 526F 7C95 A3B2 ABAB A59C 806F" $"5345 413F 853E 823D 073B 2F28 2929 2829" $"2980 1F00 1E82 1F0B 202A 2C2D 2F30 3234" $"4996 B7CB 85CC 84CB 04CD C9C0 BFC0 81BF" $"80BE 01BD BE80 BD80 BC01 BBBB 80BA 03BD" $"B5B6 7B85 0002 0243 3A80 0012 0107 2039" $"4E80 93A4 B0B5 ADB4 9C8E 7064 4941 3F81" $"3E8C 3D04 3C3C 3D3B 3083 2800 1F83 1E0E" $"1F1F 2029 2B2D 2E30 3233 4996 B6CA CC86" $"CB82 CA01 CDC8 80BF 82BE 81BD 81BC 80BB" $"80BA 04B9 BDAD B47E 8500 1003 531B 0100" $"0001 0323 384C 6B60 4C41 3F3F 833E 033D" $"3E3E 3D80 3E07 3D3E 3E3D 3E3E 3D3E 813D" $"003C 813D 073B 3028 2929 2829 2980 1F00" $"1E80 1F0D 1E1F 2029 2B2C 2E30 3133 4A96" $"B7C9 85CB 84CA 02CC C7BF 83BE 80BD 82BC" $"01BB BB80 BA80 B903 BCB0 B35F 8500 0A03" $"5B1C 0B00 0001 031F 333C 803E 0C3D 3E3E" $"3D3E 3E3D 3E3E 3D3E 3E3D 803E 053D 3E3E" $"3D3E 3E80 3D03 3C3D 3D3C 813D 073B 3028" $"2929 2829 2880 1F00 1E80 1F11 1E1F 2028" $"2A2C 2E2F 3133 4A96 B6C9 CBCB CACB 84CA" $"81C9 01CC C681 BE82 BD81 BC80 BB80 BA80" $"B904 B8BB B5B2 4C86 0009 3C24 1500 0001" $"021C 323B 973D 863C 023D 3B30 8328 001F" $"851E 0B1F 282A 2C2D 2F31 324B 96B6 C882" $"CA85 C904 C8C9 CBC6 BE81 BD82 BC80 BB81" $"BA80 B980 B803 BAB3 B150 8600 1B4B 2817" $"0000 0101 1A31 3B3D 3E3E 3D3E 3E3D 3E3E" $"3D3E 3E3D 3E3E 3D3E 3E84 3D06 3C3D 3D3C" $"3D3D 3C81 3D04 3B30 2829 2980 2803 1F1E" $"1F1E 801F 0F1E 1E1F 2729 2B2D 2F30 324B" $"96B6 C8CA CA86 C981 C801 CBC5 81BD 82BC" $"81BB 80BA 80B9 80B8 04B7 B8AE B054 8600" $"155B 1A0F 0000 0101 1830 3A3D 3E3E 3D3E" $"3E3D 3E3E 3D3E 3E84 3D14 3C3D 3D3C 3D3D" $"3C3D 3D3C 3D3D 3C3D 3D3C 3C3B 3028 2981" $"2800 1F80 1E80 1F0D 1E1E 1F27 292B 2C2E" $"3031 4B96 B6C7 82C9 02C8 C9C9 84C8 02CA" $"C4BD 82BC 81BB 80BA 81B9 80B8 80B7 03B5" $"B4B0 2D86 000F 4619 1F00 0001 0115 2F3A" $"3D3E 3E3D 3E3E 863D 003C 803D 0B3C 3D3D" $"3C3D 3D3C 3D3D 3C3D 3D82 3C08 3B31 2829" $"2827 2828 1F81 1E11 1F1F 1E1E 1F27 292A" $"2C2E 2F31 4B96 B6C7 C9C9 83C8 01C7 C882" $"C701 C9C3 81BC 80BB 82BA 80B9 80B8 01B7" $"B780 B603 B1BB B022 8600 0238 1B32 8000" $"0301 122E 3986 3D94 3C80 3B04 3C3B 3128" $"2881 2702 1F1D 1D84 1E0A 2628 2A2C 2D2F" $"314C 96B5 C680 C885 C780 C602 C7C9 C181" $"BB82 BA81 B980 B880 B781 B603 ADBB B124" $"8600 1946 1F10 0000 0101 102D 393C 3D3D" $"3C3D 3D3C 3D3D 3C3D 3D3C 3D3D 3C80 3D05" $"3C3D 3D3C 3D3D 833C 003B 813C 013B 3180" $"2806 2728 281F 1E1E 1D83 1E0B 2628 292B" $"2D2F 304C 96B5 C6C8 84C7 08C6 C7C6 C6C5" $"C5C6 C8C1 80BB 81BA 82B9 80B8 01B7 B780" $"B606 B5B5 B6AE B3B2 2786 0019 4823 1D00" $"0001 010E 2C38 3C3D 3D3C 3D3D 3C3D 3D3C" $"3D3D 3C3D 3D3C 803D 023C 3D3D 833C 033B" $"3C3C 3B81 3C01 3B31 8028 0627 2828 1F1E" $"1E1D 831E 0A26 2729 2B2D 2E30 4C96 B5C5" $"82C7 80C6 80C5 80C4 03C6 C7C0 BB80 BA01" $"B9BA 80B9 81B8 80B7 80B6 07B5 B5B4 B5B1" $"B2A9 0B86 0002 2625 2F80 0003 010C 2B37" $"953C 883B 033C 3B31 2882 2700 1F83 1D80" $"1E0A 2527 292A 2C2E 2F4D 96B5 C580 C681" $"C583 C404 C3C5 C7BF BA82 B981 B880 B780" $"B680 B580 B403 B5B4 B2A7 8700 0230 2C30" $"8000 1201 0A2A 373C 3D3D 3C3D 3D3C 3D3D" $"3C3D 3D3C 3D3D 843C 0F3B 3C3C 3B3C 3C3B" $"3C3C 3B3C 3C3B 3B3A 3280 2806 2728 281F" $"1E1E 1D80 1E12 1D1E 1E25 2728 2A2C 2D2F" $"4D96 B4C4 C5C5 C4C5 C583 C480 C302 C4C6" $"BE81 B982 B880 B780 B680 B507 B4B4 B3B3" $"B5AE B1AA 8700 023A 341B 8000 0C01 0828" $"363C 3D3D 3C3D 3D3C 3D3D 873C 0B3B 3C3C" $"3B3C 3C3B 3C3C 3B3C 3C82 3B01 3A32 8028" $"0627 2828 1F1E 1E1D 801E 0D1D 1E1D 2426" $"282A 2B2D 2F4D 96B4 C382 C402 C3C4 C482" $"C304 C2C4 C5BD B982 B881 B780 B681 B508" $"B4B4 B3B3 B2B5 AAB0 AD87 0002 1C38 2A80" $"0004 0107 2735 3B87 3C93 3B05 3A3A 3B3A" $"3228 8227 001F 861D 0924 2627 292B 2D2F" $"4D96 B486 C383 C204 C3C4 BCB8 B882 B780" $"B681 B580 B480 B305 B2B2 B5AC AF80 8700" $"020A 433F 8100 1205 2534 3B3C 3C3B 3C3C" $"3B3C 3C3B 3C3C 3B3C 3C3B 803C 053B 3C3C" $"3B3C 3C83 3B00 3A81 3B01 3A32 8028 8027" $"031F 1D1E 1D80 1E80 1D0A 2325 2729 2A2C" $"2E4E 96B4 C282 C301 C2C3 81C2 06C1 C2C1" $"C2C3 BBB8 82B7 81B6 80B5 80B4 01B3 B380" $"B204 B1B5 B1AF 7C87 0003 0C53 1802 8000" $"1204 2333 3B3C 3C3B 3C3C 3B3C 3C3B 3C3C" $"3B3C 3C3B 803C 043B 3C3C 3B3C 813B 033A" $"3B3B 3A81 3B01 3A32 8028 8027 001F 801D" $"801E 0F1D 1D1C 2325 2728 2A2C 2E4E 96B4" $"C2C3 C383 C283 C102 C2C2 BA80 B781 B680" $"B580 B481 B380 B205 B1B1 B4AC AE80 8700" $"030A 5421 0980 0003 0321 323A 943B 883A" $"033B 3A32 2880 2703 2626 1F1C 841D 0D1C" $"2224 2628 2A2B 2D4F 96B3 C1C2 C284 C182" $"C002 C1C2 B981 B681 B580 B480 B380 B280" $"B105 B0B0 B4A6 AD86 8800 023E 2C10 8000" $"1102 1F32 3A3C 3C3B 3C3C 3B3C 3C3B 3C3C" $"3B3C 3C84 3B0B 3A3B 3B3A 3B3B 3A3B 3B3A" $"3B3B 803A 0732 2828 2726 2727 1F82 1D0F" $"1E1D 1D1C 2224 2627 292B 2D4F 96B3 C1C2" $"84C1 83C0 05C2 C1B9 B6B5 B680 B581 B480" $"B380 B280 B106 B0B0 AFB3 AAAC 5C88 0002" $"4D22 0A80 000D 011D 313A 3C3C 3B3C 3C3B" $"3C3C 3B3C 853B 0B3A 3B3B 3A3B 3B3A 3B3B" $"3A3B 3B83 3A0A 3228 2727 2627 271F 1D1D" $"1C82 1D10 1C21 2425 2729 2A2C 4F96 B3C0" $"C1C1 C0C1 C181 C000 C182 C002 BFB9 B680" $"B580 B481 B380 B280 B101 B0B0 80AF 03B2" $"B0AB 5488 0002 5E19 1080 0003 011A 3039" $"883B 913A 8039 043A 3A32 2827 8126 001F" $"821C 801D 0B1C 2123 2526 282A 2C4F 96B3" $"C084 C10B C0C0 BFBE BCBA B8B7 B6B7 B7B6" $"80B4 80B3 81B2 80B1 01B0 B080 AF05 AEAE" $"B0A8 AA58 8800 0236 1924 8000 1201 182F" $"393B 3B3A 3B3B 3A3B 3B3A 3B3B 3A3B 3B3A" $"803B 053A 3B3B 3A3B 3B83 3A00 3981 3A01" $"3932 8027 0626 2727 1F1D 1D1C 821D 0A1B" $"2023 2426 2829 2C50 97B4 80C1 08C0 BFBE" $"BDBB B9B7 B5B3 80B2 06B1 B1B3 B5B6 B6B4" $"80B3 80B2 80B1 80B0 80AF 81AE 02A7 A85C" $"8800 0240 1C34 8000 1201 152E 383B 3B3A" $"3B3B 3A3B 3B3A 3B3B 3A3B 3B3A 803B 023A" $"3B3B 833A 0339 3A3A 3981 3A01 3933 8027" $"0626 2727 201D 1D1C 801D 121C 1D1B 2022" $"2526 282A 2C51 96B1 BCBB B9B7 B5B4 80B2" $"85B1 05B0 B1B3 B5B5 B480 B280 B181 B001" $"AFAF 80AE 05AD ADAC ACA8 2988 0002 4E20" $"0E80 0014 0113 2D37 3B3B 3A3B 3B3A 3B3B" $"3A3B 3B3A 3B3B 3A3B 3B84 3A06 393A 3A39" $"3A3A 3980 3A02 3939 3380 2706 2627 271F" $"1D1D 1C80 1D0E 1C1D 1B20 2223 2526 2728" $"4B8C A6B2 B287 B184 B001 AFB1 80B4 00B2" $"80B1 80B0 01AF AF80 AE07 ADAD ACAC A8B4" $"A82B 8800 0248 2120 8000 0301 112C 378F" $"3A8D 3903 3A3A 3327 8226 001F 851C 0A19" $"1D1E 1E1F 2021 2348 88A3 8AB0 83AF 08AE" $"AEAF B1B3 B3B2 B0B0 80AF 80AE 09AD ADAC" $"ACAB ACA5 AFA8 2E88 0002 2B23 3280 000A" $"010E 2B36 3A3B 3A3B 3B3A 3B84 3A00 3980" $"3A06 393A 3A39 3A3A 3988 3A03 3228 2727" $"8026 0022 811C 0E1D 1D1C 1C17 191A 1C1E" $"1F21 2348 89A3 86B0 01AF B083 AF83 AE00" $"AF80 B204 B0AF AFAE AE80 AD08 ACAC ABAB" $"ACA7 A9AA 3288 0002 3529 1D80 0003 010C" $"2A35 883A 0339 3A3A 3980 3A00 3981 3A82" $"3B0B 3A3A 3938 3634 3230 2D2B 2827 8026" $"0325 201C 1B82 1C0F 1718 1A1C 1D1F 2022" $"4888 A3AF B0B0 AFB0 84AF 84AE 81AD 06AC" $"ADAF B1B1 B0AE 80AD 01AC AC80 AB05 AAAB" $"A9AA A704 8800 0241 311E 8100 020A 2835" $"8A39 813A 823B 0A3A 3A39 3836 3532 302E" $"2C2B 802A 052B 2C2B 2726 2680 2500 1F80" $"1B80 1C0B 1718 1A1B 1D1E 2022 4888 A2AE" $"81AF 86AE 82AD 82AC 06AB ABAD B0B0 AFAE" $"80AC 08AB ABAA AAA9 ABAB ACA9 8900 020E" $"322F 8000 0901 0827 3439 3A39 3A3A 3982" $"3A82 3B0A 3A3A 3938 3635 3230 2E2C 2B80" $"2A00 2980 2A05 292A 2A2B 2B2A 8026 0325" $"2625 1F82 1C0A 1617 191B 1D1E 2021 4988" $"A286 AE02 ADAE AE80 AD01 ACAD 82AC 80AB" $"11AA AAAB ADAF AFAE ACAB ABAA AAA9 A9AB" $"A2A9 AD89 0002 113E 3080 0004 0107 2633" $"3981 3A83 3B09 3A39 3836 3532 302E 2C2B" $"802A 0629 2A2A 292A 2A29 802A 0029 802A" $"1D2B 2B29 2626 2526 2625 1E1C 1C1B 1C16" $"1719 1A1C 1E1F 2149 88A2 ADAE AEAD AE84" $"AD84 AC80 AB82 AA07 A9A9 ABAD AEAD ABAA" $"80A9 04A8 ABA1 A7AB 8900 0315 4A17 0280" $"0003 0525 343A 803B 0C3A 3A39 3836 3532" $"302E 2C2B 2A2A 9229 042A 2B2B 2826 8125" $"0F24 1E1B 1B1C 1616 181A 1B1D 1F20 4988" $"A283 AD85 AC82 AB82 AA80 A980 A80C A9AB" $"ADAC ABA9 A8A8 A7AA A5A6 7C89 0018 0839" $"2506 0000 0104 2332 3838 3635 3230 2E2C" $"2B2A 2A29 2A2A 2980 2A0C 292A 2A29 2A2A" $"292A 2A29 2A2A 2980 2A0A 292A 2A29 2A2A" $"2B2B 2826 2680 2511 241D 1B1B 1616 1819" $"1B1D 1E20 4987 A1AC ADAD 86AC 83AB 81AA" $"80A9 80A8 81A7 0AA9 ABAB AAA9 A7A7 AAAA" $"A67F 8A00 0240 2010 8000 1102 1C29 2D2C" $"2B2A 2A29 2A2A 292A 2A29 2A2A 2980 2A0C" $"292A 2A29 2A2A 292A 2A29 2A2A 2980 2A83" $"2917 2A2B 2A27 2525 2425 2524 1D1B 1515" $"1719 1A1C 1E20 4A87 A1AB 82AC 85AB 82AA" $"81A9 81A8 80A7 0CA6 A6A5 A6A9 AAAA A8A6" $"AAA0 A685 8A00 0254 1B1E 8100 0215 2228" $"A029 8128 0529 2A2B 2A26 2581 240C 231C" $"1515 1718 1A1C 1D1F 4A88 A185 AB83 AA82" $"A981 A881 A780 A680 A509 A4A4 A6A8 A9A8" $"AB9E A489 8A00 0233 241A 8100 0F13 2128" $"2A29 2A2A 292A 2A29 2A2A 292A 2A8D 2900" $"2880 290C 2829 2928 2929 2829 2A2A 2926" $"2480 2511 2422 1414 1618 191B 1D1F 4A87" $"A0AA ABAB AAAB 84AA 82A9 82A8 80A7 80A6" $"80A5 01A4 A480 A306 A4A6 A7AD A7A4 538A" $"0003 2A35 2803 8000 0211 2127 8E29 0C28" $"2929 2829 2928 2929 2829 2928 8029 0B28" $"2929 2829 2928 2929 2A2A 2981 250C 2423" $"3F1D 1517 191B 1C1E 4B87 A083 AA01 A9AA" $"81A9 01A8 A982 A880 A781 A680 A501 A4A4" $"80A3 08A2 9F98 8B7C 8CA2 A65C 8A00 0308" $"4B19 1A80 0002 1020 27A7 2804 292A 2A28" $"2580 240B 2334 431A 1719 1A1C 1E4B 87A0" $"85A9 83A8 82A7 82A6 80A5 0FA4 A4A3 A19C" $"917E 746E 727A 848F 92A4 558B 0002 5023" $"2880 0010 0E1F 2729 2829 2928 2929 2829" $"2928 2929 2880 290C 2829 2928 2929 2829" $"2928 2929 2880 291C 2829 2928 2929 2829" $"2828 292A 2A27 2524 2423 352E 3618 181A" $"1B1D 4B87 A083 A983 A882 A781 A680 A512" $"A4A3 9F96 8674 7271 7880 827B 7674 767E" $"7C6F 068B 0002 3A30 2980 0010 0C1F 2629" $"2829 2928 2929 2829 2928 2929 2880 290C" $"2829 2928 2929 2829 2928 2929 2880 2902" $"2829 2983 2813 2728 292A 2A27 2423 2235" $"2F2C 2616 191B 1D4C 879F 86A8 82A7 82A6" $"15A5 A4A1 9A8D 7872 7376 7B88 7F78 7573" $"7A8C 6F52 3B1E 048D 0016 1743 1914 0000" $"0A1E 2628 2829 2928 2929 2829 2928 2929" $"2880 290E 2829 2928 2929 2829 2928 2929" $"2829 2984 2819 2728 2827 2828 292A 2926" $"2422 3430 3428 4017 1A1C 4C87 9FA7 A8A8" $"83A7 01A6 A781 A614 A5A3 9D92 816F 7376" $"7A87 807A 7675 787F 7C66 432C 0293 0007" $"571C 1900 0009 1D25 9E28 8927 1028 292A" $"2925 2234 3053 3D30 3C18 1C4C 879E 80A7" $"84A6 14A5 A49F 9686 7672 7576 828A 7C78" $"7678 8182 674F 360E 9800 153C 2526 0000" $"081C 2528 2829 2928 2929 2829 2928 2929" $"2880 2901 2829 8728 0027 8028 1C27 2828" $"2728 2827 2828 2728 2827 2829 2928 2335" $"324B 6E3D 2C2D 1A4C 869E 83A6 13A4 A199" $"8C7A 7175 797F 8281 7A77 777E 8178 5641" $"229D 0007 2636 1D0D 0006 1B24 9428 0627" $"2828 2728 2827 8028 3227 2828 2728 2827" $"2828 2728 2827 2728 2929 2637 3833 154E" $"2C2E 2E4B 869E A6A5 A29C 917E 756F 737C" $"8083 7A78 777B 857C 624A 220C A100 0703" $"4A1A 1700 051B 24AD 271E 2829 2845 3F37" $"000E 2C37 5657 6F8B 8572 7471 7980 837C" $"7674 747C 7568 553C 0EA7 0014 4A24 2300" $"0319 2327 2728 2827 2828 2728 2827 2828" $"2780 280C 2728 2827 2828 2728 2827 2828" $"2780 2807 2728 2827 2828 2728 8127 1D26" $"2624 211E 4249 4843 0000 1074 5D68 6964" $"7487 7E78 7573 798B 6C4E 391B 02AB 0014" $"3333 2603 0219 2327 2728 2827 2828 2728" $"2827 2828 2780 280C 2728 2827 2828 2728" $"2827 2828 2780 2802 2728 2881 270D 2626" $"2422 1F22 3238 3848 4344 5F39 8000 0B33" $"6061 6366 6A74 7C77 633E 28B1 0006 1A4D" $"211B 0117 22A1 2711 2625 221F 222E 323B" $"4546 3236 3D4B 5E6E 5801 8100 0611 1717" $"1817 1D0B B500 1401 571F 1B00 1622 2727" $"2828 2728 2827 2828 2728 2827 8028 0A27" $"2828 2728 2827 2828 2728 8127 1325 2320" $"1F2D 353E 4040 3B35 3B47 5869 684A 3E1B" $"05C3 0013 3F27 2400 1421 2627 2828 2728" $"2827 2828 2728 2827 8028 0527 2828 2728" $"2881 2713 2624 201C 2C36 363E 463D 343A" $"4354 6E65 573A 250D C800 0619 3A20 0A12" $"2026 9227 1326 2421 1D22 3938 4148 3937" $"3941 4E64 6F62 4331 0CCD 0006 0750 1E23" $"1020 268C 2715 2626 2422 1F1E 3234 3743" $"4636 383F 4B5F 7964 5130 1402 D200 0E49" $"2828 0D1E 2526 2727 2627 2726 2727 8026" $"1225 231F 202A 3139 444A 3134 3A48 5C6B" $"6B5A 3A22 D800 8035 020E 1D25 8426 1325" $"2320 1E29 343B 3C43 3D33 3944 5467 6C4E" $"411F 08DC 001B 124C 251E 1C25 2626 2523" $"201C 2833 363D 4640 3439 4151 6866 5B3E" $"2C12 E200 1645 2938 1C1E 1D1F 2C37 3F44" $"3D38 373E 4C60 6E66 4837 1002 E600 113B" $"3B2C 3343 4345 3333 3B48 5A7A 6555 351B" $"05DD 006C 386D 6B00 0004 0800 1DA0 C8C2" $"BBB4 ADA6 A099 928B 847D 766E 2729 4B4E" $"4841 3A33 2C26 1F18 1108 000C F0EC E8E9" $"E9EA EAEA EAEA EAEA F4F6 FBFC FAF6 F1F0" $"F1F1 F2F3 F5F4 F3F2 F1EB 0D08 FAEA E0E1" $"E1E1 E1E1 E0E0 DFDF F0F7 FDFE F7EF E4E1" $"E1E1 E1E5 EDED EDEE EEED 0800 F1EC DEDF" $"E0E0 DFDF DFDF DEDE EFF7 FDFE F7EF E4E1" $"E1E1 E1E5 EDED EDEE EEE7 0000 DFEE DDDE" $"DEDE DEDE DEDE DDDD EEF6 FDFD F7EF E3E0" $"E0E1 E1E5 ECEC EDED EDDA 0000 CEF0 DCDD" $"DDDD DDDD DDDD DDDD EEF6 FDFE F7EF E3E0" $"E1E1 E1E6 EDED EDEE EECC 0000 BDF2 DCDC" $"DCDC DCDD DDDD DCDC EDF6 FDFE F7EF E2E0" $"E1E1 E1E6 EDED EDEE EEBE 0000 ACF3 DCDC" $"DCDC DCDC DCDC DCDC EDF6 FDFE F7EF E2E0" $"E1E1 E1E7 EDED EDEE EEB0 0000 9AF5 DCDB" $"DBDB DBDB DBDC DCDC EDF5 FDFD F7EF E2E0" $"E0E1 E1E7 ECED EDED EDA2 0000 89F6 DCDB" $"DBDB DBDC DCDC DCDC ECF5 FDFE F7EF E1E0" $"E1E1 E1E8 EDED EDEE EE94 0000 78F8 DDDB" $"DBDB DBDC DCDC DCDC ECF5 FDFE F7EF E1E0" $"E1E1 E1E8 EDED EDEE EE87 0000 66F9 DEDB" $"DBDB DBDC DCDC DCDC ECF5 FDFE F7EF E1E0" $"E1E2 E2E9 EDED EDEE EE79 0000 55FA DFDA" $"DBDB DCDC DCDE DFE0 EDF4 FDFD FAF6 F0F1" $"F2F4 F5F5 F2F0 EEED EE6B 0000 28F8 ECEB" $"EDEF F0F2 F4F5 F6F6 F6F3 F3F7 FAFC F9FA" $"FAFB FBFB FAF9 F8F0 D843 0000 0091 F8F7" $"F8F8 F9FA FAFB FBFC FAF8 FCFD FAFA FCFC" $"FBFB FAFA FBF2 9B36 0000 0000 25E5 FDFE" $"FEFD FDFC FBFB FAF9 FBF6 F8F2 F2F5 F6F6" $"F6F6 F6F7 F9F8 F7F6 D665 0000 2BF7 F6F7" $"F6F5 F5F5 F5F5 F5F5 F9FA FDFA F2EF EFED" $"EBE9 E8E9 EEEE EEEE EEAE 0000 19F9 F4F3" $"F1EF EDEB E9E7 E4E2 EEF3 FDFE F6F0 E8E2" $"E2E3 E3E8 EEEE EEEF EFA0 0000 08FA EAE0" $"E0DF DFDE DDDD DEDE ECF3 FDFE F6F0 E8E2" $"E2E3 E3E8 EEEE EEEF EF92 0000 00F1 E9DD" $"DDDD DDDE DEDE DEDE ECF3 FDFE F6F0 E8E2" $"E3E3 E3E9 EEEE EEEF EF83 0000 00E0 EBDD" $"DDDD DDDD DEDE DEDF ECF3 FDFD F6F0 E8E2" $"E3E3 E4E9 EEEE EEEF EF75 0000 00CF EDDD" $"DEDE DEDE DFDF DFDF EBF3 FDFE F6F1 E8E2" $"E3E4 E4EA EEEF EEEF F066 0000 00BE EFDE" $"DEDE DEDF DFDF DFE0 EBF3 FDFE F6F1 E8E3" $"E4E4 E4EA EEEF EFF0 F058 0000 00AC F1DE" $"DEDF DEDF DFE0 E0E0 EBF3 FDFE F6F1 EAE7" $"EAED EFEF EDEE EFF0 F049 0000 009B F3DF" $"DEDF DFDF DFE0 E2E4 ECF3 FBFD FAF7 F3F1" $"F1F1 F1F1 F1EE EFEF F03A 0000 0089 F5DF" $"E0E3 E6E9 ECEF EFF0 EFF1 F4FC FAF8 F3F1" $"F2F2 F2F2 F3F2 F0EF F02C 0000 005D FAEE" $"EFEF EFF0 F0F0 EFF0 F0EF F2F5 F4F8 F3F1" $"F2F2 F2F3 F3F3 F3F3 EC18 0000 0016 F9F0" $"EFF0 EFF0 F0F0 EFF0 F0F1 F0F3 77D6 F4F2" $"F2F2 F2F3 DEAB 7743 1000 0000 0000 C6F0" $"EFEF EFEF EFF0 F0F0 F0F0 F0F0 5B20 DAEA" $"BC88 541F 0000 0000 0000 0000 0000 7DF1" $"F0F0 EFF0 F0F0 F0F1 EBBF 8C5A 0C00 0C05" $"0000 0000 0000 0000 0000 0000 0000 34F2" $"F0F0 F0EF CB98 6633 0700 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 01B3" $"A471 3F0E 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0073 386D 6B00" $"0001 0823 CFD4 CDC6 C0BB B9A3 979E 9792" $"8B83 403E E5E0 E0E0 DFE7 FAFA E9E1 E1E9" $"EDEE 7735 E6DE DEDD DDE5 FAFA E9E0 E1E9" $"EDEE 692D E7DC DCDC DCE5 FAFA E9E0 E1E9" $"EDEE 5B24 E9DB DBDC DCE4 F9FA E8E0 E1EA" $"EDEE 4D1B EBDB DBDC DCE4 F9FA E8E0 E1EA" $"EDEE 400F EFE3 E6E8 EAEE F6FA F6F6 F8F7" $"F4E9 2B09 DBFA FBFB FBFB F8F7 F8F9 F8F9" $"DF81 1911 F7F4 F2F0 EDEF FAF8 EDE7 E6EB" $"EEEE 5302 EFDE DEDE DEE5 F8FA ECE2 E3EB" $"EEEF 4500 E2DD DDDE DFE5 F8FA ECE3 E4EC" $"EEEF 3600 D3DE DEDF DFE5 F8FA EDE6 E9ED" $"EFF0 2800 C3DF E2E5 E8EC F5FB F5F1 F2F2" $"F0F0 1900 99EF EFF0 F0F0 F0D5 EDF2 F2EE" $"C28C 0600 51F0 EFF0 F0EF CB6C 416A 3708" $"0000 0000 0DCE A472 3F0E 0000 0000 0000" $"0000 0074 386D 6B00 0040 0800 0000 0000" $"0000 0000 0006 3136 2F26 2118 140D 0A08" $"0706 0403 0201 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0003 52D7 FDFD FDFD FDFD FEFE FAF4" $"EEE9 E2DD D6D3 CDC7 BFB8 B2AB A59C 978F" $"8982 7B75 6D66 5F5A 524C 453E 3830 2921" $"1D15 1310 0E0B 0906 0402 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 32BA FCFD FCFD FDFD FDFD FDFD FDFD" $"FDFD FDFD FDFD FDFD FDFD FDFD FDFD FDFD" $"FDFD FDFD FDFD FDFD FDFD FDFD FDFD FDFD" $"FDFD F9F4 F0EB E7E2 DEDA D5CF C6C0 B472" $"0600 0000 0000 010F 2848 4D48 403A 322B" $"261F 1C18 1411 0E09 0502 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"1996 F6FD FCFC FBFC FDFD FDFD FDFD FDFD" $"FDFD FDFD FDFD FDFD FDFD FDFD FDFD FDFD" $"FDFD FCFC FCFC FCFC FCFC FCFC FCFC FCFC" $"FCFC FCFC FCFC FBFB FAF9 F8F8 F7F7 F6F7" $"9529 4970 92B8 D8EF FCFD FDFD FDFD FDFD" $"FDFD FAF6 F3F0 EDEA E6E4 DFDA D1CC C3BE" $"B6AF AAA3 9C94 8F87 8279 726D 6660 5852" $"4A44 3C36 3020 0000 0000 0000 0000 0060" $"EAFC FCFB F5F0 EFF2 F3F4 F4F4 F5F5 F5F6" $"F6F6 F7F7 F7F8 F8F8 F8F8 F9F9 F9F9 F9FA" $"FAFA FAFA FAFB FBFB FBFB FBFB FBFB FBFB" $"FAF9 F9F8 F7F6 F6F5 F5F5 F6F7 F9FA FBFD" $"FCFB FEFE FDFE FDFD FDFC FDFD FDFD FDFD" $"FDFD FDFD FDFD FDFD FCFC FCFC FCFC FCFC" $"FCFC FCFC FCFD FDFD FDFC FCFC FBFB FAFA" $"F9F8 F8F7 F7F2 A005 0000 0000 0000 2EF8" $"FBFA FAF9 EFE4 E0E6 E7E7 E8E8 E8E8 E8E9" $"E9E9 E9E9 E9E9 EAEA EAEA EAEA EAEA EAEA" $"EAEA EAEA EAEA EBEB EBEB EBEC ECEC EFF5" $"F5F4 F4F4 F3F3 F8FB FCFD FDFE FEFE FDFE" $"FEFB FAFB FAFB FBFA F8F8 FAF9 F9FA FAFA" $"FAFA FBFB FBFB FBFB FBFB FBFB FBFB FBFA" $"FAF9 F9F8 F7F6 F5F4 F4F3 F2F2 F2F1 F1F1" $"F0F0 F0F0 F0F0 F240 0000 0000 0000 57FC" $"FBFA F9F8 EEE0 DBE1 E3E3 E3E3 E3E3 E3E3" $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3" $"E3E2 E2E2 E2E2 E2E2 E2E2 E1E2 E2E1 E1EC" $"F3F2 F2F2 F2F7 FDFD FDFD FDFD FDFD FDFD" $"FDF4 F3F2 F2F2 F2F0 E8E6 ECE8 E9E9 E9E9" $"E9E9 EAEA EAEB EBEB ECEC EDED EDF1 F1F1" $"F0F0 F0EF EFEF EFEE EEEE EEEE EEEE EEEE" $"EDED EDED EDED EF4F 0000 0000 0000 46FC" $"FBFA F9F9 EFE1 DBE0 E2E2 E2E3 E3E3 E2E3" $"E3E2 E3E3 E2E3 E3E2 E3E2 E2E2 E2E2 E1E2" $"E1E1 E1E1 E0E1 E0E0 E0E0 DFE0 DFDF DFE8" $"F2F2 F3F3 F2F9 FEFD FEFE FDFE FEFE FDFE" $"FDF2 F0F0 F0EF EFEC E2E0 E7E2 E2E2 E2E2" $"E2E2 E2E2 E2E2 E3E3 E3E3 E3E2 E1E9 EDED" $"EDED EDED EDED EDEC EDEE EDEE EEEE EDEE" $"EEED EEEE EDEE F040 0000 0000 0000 36FC" $"FBFA F9F9 F0E1 DBDF E2E2 E2E2 E2E2 E2E2" $"E2E2 E2E2 E2E2 E2E2 E2E2 E1E2 E2E1 E1E1" $"E1E0 E1E1 E0E0 E0DF E0E0 DFDF DFDE DFE8" $"F2F2 F3F3 F2F9 FEFD FEFE FDFE FEFE FDFE" $"FDF2 F0F0 EFEF EFEC E1DF E6E2 E1E1 E1E1" $"E1E1 E1E2 E1E2 E2E1 E2E2 E1E0 DFE7 ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE F033 0000 0000 0000 27FB" $"FBFA F9F9 F1E2 DCDE E1E1 E1E1 E1E1 E1E1" $"E1E1 E1E1 E1E1 E1E1 E1E1 E1E1 E1E1 E0E0" $"E0E0 E0E0 DFDF DFDF DFDF DFDE DEDE DFE7" $"F2F2 F2F2 F2F9 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEF EEEC E1DF E5E1 E0E0 E0E0" $"E0E0 E1E1 E1E1 E1E1 E1E1 E1E0 DFE7 ECEC" $"ECEC ECEC ECEC ECEC ECED EDED EDED EDED" $"EDED EDED EDED EF26 0000 0000 0000 1AF6" $"FBFA FAF9 F2E2 DCDE E1E1 E1E1 E1E1 E1E1" $"E1E1 E1E1 E1E1 E1E1 E1E1 E0E1 E1E1 E0E0" $"E0E0 E0E0 DFE0 E0DF DFDF DEDF DFDE DFE7" $"F2F2 F3F3 F2F9 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEC E1DF E5E1 E1E1 E0E1" $"E1E0 E1E1 E1E2 E2E1 E2E2 E1E0 DFE8 ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE EB1B 0000 0000 0000 0CF1" $"FBFA FAF9 F3E3 DCDD E0E1 E0E1 E1E1 E0E1" $"E1E0 E1E1 E0E1 E1E0 E1E1 E0E1 E0E0 E0E0" $"E0DF E0E0 DFDF DFDE DFDF DEDF DFDE DEE6" $"F2F2 F3F3 F2F9 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEC E1DF E4E1 E1E1 E0E1" $"E1E0 E1E1 E1E2 E2E1 E2E2 E1E0 DFE8 ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE E810 0000 0000 0000 02EB" $"FBFA F9F9 F4E3 DCDD DFE0 E0E0 E0E0 E0E0" $"E0E0 E0E0 E0E0 E0E0 E0E0 E0E0 DFDF DFDF" $"DFDF DFDF DFDE DEDE DEDE DEDE DEDE DEE6" $"F2F2 F2F2 F2F9 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEF EEEC E1DF E4E0 E0E0 E0E0" $"E0E0 E0E0 E1E1 E1E1 E1E1 E1E0 E0E8 ECEC" $"ECEC ECEC ECEC ECEC ECED EDED EDED EDED" $"EDED EDED EDEE E506 0000 0000 0000 00DD" $"FCFA FAF9 F5E4 DDDC E0E0 DFE0 E0E0 DFE0" $"E0E0 E0E0 E0E0 E0DF E0E0 DFE0 E0E0 DFDF" $"DFDF DFDF DEDF DFDE DFDF DEDE DEDD DEE6" $"F2F2 F3F3 F2F8 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEC E1DF E3E1 E1E1 E0E1" $"E1E0 E1E1 E0E1 E2E1 E2E2 E1DF E0E9 ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE DD00 0000 0000 0000 00CA" $"FCFA FAF9 F6E5 DDDC DFDF DFDF E0E0 DFE0" $"E0DF E0E0 DFE0 E0DF E0E0 DFDF DFDF DFDF" $"DFDE DFDF DEDF DFDE DEDE DEDE DEDD DEE5" $"F1F2 F3F3 F2F8 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E1DF E3E1 E1E1 E0E1" $"E1E0 E1E1 E0E1 E2E1 E2E2 E1DF E0E9 ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE CF00 0000 0000 0000 00B9" $"FCFA FAF9 F7E6 DDDB DFDF DEDF DFDF DFDF" $"DFDF DFDF DFDF DFDF DFDF DFDF DFDF DEDF" $"DFDE DFDF DEDE DEDE DEDE DDDE DEDD DEE5" $"F1F2 F2F3 F2F8 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E1DF E3E1 E1E1 E0E1" $"E1E0 E1E1 E0E1 E2E1 E2E2 E1DF E0E9 ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE C200 0000 0000 0000 00A8" $"FCFB FAF9 F7E6 DEDB DEDE DEDE DEDE DEDE" $"DEDE DEDE DEDE DEDE DEDE DEDE DEDE DEDE" $"DEDE DEDE DEDE DDDD DDDD DDDD DDDD DDE5" $"F1F1 F2F2 F2F8 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEE EEEB E0DF E2E0 E0E0 E0E0" $"E0E0 E0E0 E0E0 E1E1 E1E1 E1DF E0EA ECEC" $"ECEC ECEC ECEC ECEC ECED EDED EDED EDED" $"EDED EDED EDEE B400 0000 0000 0000 0096" $"FCFB FAF9 F8E8 DEDB DEDE DEDE DEDF DEDF" $"DFDE DFDF DEDF DFDE DFDF DEDF DFDE DEDE" $"DEDE DEDE DDDE DEDD DEDE DDDE DEDD DDE5" $"F1F1 F2F2 F2F8 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DF E2E1 E1E1 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E0EA ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE A600 0000 0000 0000 0083" $"FCFB FAF9 F8E9 DFDB DDDE DDDE DEDE DEDE" $"DEDE DEDE DEDE DEDE DEDE DEDE DEDE DDDE" $"DEDD DEDE DDDE DEDD DEDE DDDE DEDD DDE4" $"F1F1 F2F2 F2F8 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DF E2E1 E1E1 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E0EA ECED" $"EDEC EDED ECED EDEC EDED EDEE EEEE EDEE" $"EEED EEEE EDEE 9700 0000 0000 0000 0074" $"FCFB FAF9 F8EA DFDB DDDD DDDD DDDD DDDD" $"DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD" $"DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDE4" $"F1F1 F1F2 F2F8 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEE EEEB E0DE E1E0 E0E0 E0E0" $"E0E0 E0E0 E0E0 E1E1 E1E1 E1DF E0EA ECEC" $"ECEC ECEC ECEC ECEC ECED EDED EDED EDED" $"EDED EDED EDEE 8A00 0000 0000 0000 0063" $"FCFB FAF9 F8EB DFDB DDDD DDDE DEDE DDDE" $"DEDD DEDE DDDE DEDD DEDE DDDE DEDE DDDE" $"DEDD DEDE DDDE DEDD DEDE DDDE DEDD DDE4" $"F1F1 F2F2 F2F8 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DE E1E0 E1E1 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E1EB ECED" $"EDEC EDED ECED EDEC EDEE EDEE EEEE EDEE" $"EEED EEEE EDEE 7C00 0000 0000 0000 0050" $"FCFB FAF9 F8ED E0DB DCDD DDDD DDDD DDDE" $"DEDD DEDE DDDE DEDD DEDE DDDE DEDE DDDE" $"DEDD DEDE DDDD DDDD DDDD DDDD DDDD DDE3" $"F1F1 F2F2 F2F7 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DE E1E0 E1E1 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E1EB ECED" $"EDEC EDED ECED EDEC EDEE EDEE EEEE EDEE" $"EEED EEEE EDEF 6D00 0000 0000 0000 003E" $"FCFB FAF9 F8EE E0DB DCDC DCDC DCDC DCDD" $"DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDD" $"DDDD DDDD DCDC DCDC DCDC DCDC DCDC DCE3" $"F0F1 F1F1 F1F7 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEE EEEB E0DE E0DF E0E0 E0E0" $"E0E0 E0E0 E0E0 E1E1 E1E1 E1DF E1EB ECEC" $"ECEC ECEC ECEC ECEC EDED EDED EDED EDED" $"EDED EDED EDEF 5F00 0000 0000 0000 002E" $"FCFB FAFA F9EF E1DB DCDD DCDD DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DCDD DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DCDD DDDD DCE3" $"F1F1 F2F2 F1F7 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DE E0E0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E1EB ECED" $"EDEC EDED ECED EDEC EDEE EDEE EEEE EDEE" $"EEED EEEE EDEF 5200 0000 0000 0000 001E" $"FAFB FAFA F9F0 E1DB DCDD DCDD DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DCDD DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DCDD DDDD DCE2" $"F0F1 F2F2 F1F7 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DE E0E0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E1EC ECED" $"EDEC EDED ECED EDEC EDEE EDEE EEEE EDEE" $"EEED EEEE EDF0 4300 0000 0000 0000 000E" $"F8FB FAF9 F9F1 E2DC DBDC DCDC DCDC DCDC" $"DCDC DCDC DCDC DCDC DCDC DCDC DCDC DCDC" $"DCDC DCDC DCDC DCDC DCDC DCDC DCDC DCE2" $"F0F1 F1F1 F1F7 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEE EEEB E0DE E0DF DFE0 E0E0" $"E0E0 E0E0 E0E0 E1E1 E1E1 E1DE E2EC ECEC" $"ECEC ECEC ECEC ECEC EDED EDED EDED EDED" $"EDED EDED EDF0 3500 0000 0000 0000 0002" $"F5FB FAFA F9F3 E2DC DBDC DBDC DCDC DCDC" $"DCDC DDDD DCDD DDDC DDDD DCDD DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DCDD DDDD DCE2" $"F0F1 F2F2 F1F7 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DE E0E0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DE E2EC ECED" $"EDEC EDED ECED EDEC EDEE EDEE EEEE EDEE" $"EEED EEEE EDEF 2700 0000 0000 0000 0000" $"E4FC FAFA F9F4 E3DC DBDC DBDC DCDC DBDC" $"DCDC DCDC DCDC DDDC DDDD DCDD DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DCDD DDDD DCE2" $"F0F1 F2F2 F1F6 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEB E0DE E0E0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E2EC ECED" $"EDEC EDED ECED EDEC EDEE EDEE EEEE EDEE" $"EEED EEEE EDEE 1B00 0000 0000 0000 0000" $"D2FC FAFA F9F5 E4DC DBDB DBDB DBDB DBDB" $"DBDB DBDB DBDB DCDC DCDC DCDC DCDC DCDC" $"DCDC DCDC DCDC DCDC DCDC DCDC DCDC DCE1" $"F0F1 F1F1 F1F6 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEE EEEA E0DE DFDF DFDF E0E0" $"E0E0 E0E0 E0E0 E1E1 E1E1 E1DF E3EC ECEC" $"ECEC ECEC ECEC ECEC EDED EDED EDED EDED" $"EDED EDED EDEE 0D00 0000 0000 0000 0000" $"C2FC FBFA F9F6 E4DD DBDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DCDB DCDC DBDC DCDC DCDC" $"DDDC DDDD DCDD DDDC DDDD DCDD DDDD DCE1" $"EFF1 F2F2 F1F6 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEA E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E3EC ECED" $"EDEC EDED ECED EDED EEEE EDEE EEEE EDEE" $"EEED EEEE EDEA 0200 0000 0000 0000 0000" $"B0FC FBFA F9F6 E5DD DBDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDC DDDD DCDD DDDC DDDD DCDD DDDD DCE1" $"EFF1 F2F2 F1F6 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEA E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E3EC ECED" $"EDEC EDED ECED EDED EEEE EDEE EEEE EDEE" $"EEED EEEE EDDF 0000 0000 0000 0000 0000" $"9EFC FBFA F9F7 E6DD DBDB DBDC DCDC DBDC" $"DCDB DCDC DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DCDD DDDC DDDD DCDD DDDD DCE1" $"EFF1 F2F2 F1F6 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEA E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E1E1 E2E2 E1DF E4EC ECED" $"EDEC EDED ECED EDED EEEE EDEE EEEE EDEE" $"EEED EEEE EDD2 0000 0000 0000 0000 0000" $"8CFC FBFA F9F8 E7DE DBDB DBDB DBDB DBDB" $"DBDB DBDB DBDB DBDB DBDB DBDB DBDB DBDB" $"DBDB DBDC DCDC DCDC DCDC DCDC DCDC DCE1" $"EFF1 F1F1 F1F6 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEF EEEA E0DE DFDF DFDF E0E0" $"E0E0 E0E0 E0E1 E1E1 E1E1 E1DF E4EC ECEC" $"ECEC ECEC ECEC ECED EDED EDED EDED EDED" $"EDED EDED EEC3 0000 0000 0000 0000 0000" $"7DFC FBFA F9F8 E8DE DBDB DADB DBDB DBDC" $"DCDB DCDC DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DCDC DDDC DDDD DCDD DDDD DCE1" $"EFF1 F2F2 F1F5 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEA E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E2E1 E2E2 E1DF E5EC ECED" $"EDEC EDED ECED EDED EEEE EDEE EEEE EDEE" $"EEED EEEE EEB5 0000 0000 0000 0000 0000" $"6AFC FBFA F9F8 E9DF DBDB DADB DBDB DBDB" $"DCDB DCDC DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DDDC DDDD DCDD DDDD DCE0" $"EFF1 F2F2 F1F5 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEA E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E2E1 E2E2 E1DF E5EC ECED" $"EDEC EDED ECED EDED EEEE EDEE EEEE EDEE" $"EEED EEEE EEA8 0000 0000 0000 0000 0000" $"57FC FBFA F9F8 EADF DBDA DADA DADA DADB" $"DBDB DBDB DBDB DBDB DBDB DBDB DBDB DBDB" $"DBDB DBDB DBDC DCDC DCDC DCDC DCDC DCE0" $"EEF1 F1F1 F1F5 FDFD FDFD FDFD FDFD FDFD" $"FDF1 EFEF EFEF EEEA E0DE DFDF DFE0 E0E0" $"E0E0 E0E0 E0E1 E1E1 E1E1 E1DF E5EC ECEC" $"ECEC ECEC ECEC EDED EDED EDED EDED EDED" $"EDED EDED EE99 0000 0000 0000 0000 0000" $"47FD FBFA F9F9 EBE0 DBDB DADB DBDB DADB" $"DBDB DCDC DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DCDC DDDD DCDD DDDD DCE0" $"EEF1 F2F2 F1F5 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFEA E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E2E1 E2E2 E1DF E6ED ECED" $"EDEC EDED ECED EDED EEEE EDEE EEEE EDEE" $"EEED EEEE EF8A 0000 0000 0000 0000 0000" $"35FD FBFA F9F9 EDE0 DBDB DADB DBDB DADB" $"DBDA DBDC DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DCDC DDDD DCDD DDDD DCE0" $"EEF1 F2F2 F1F5 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFE9 E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E0E1 E2E1 E2E2 E1DF E6ED ECED" $"EDEC EDED ECED EDED EEEE EDEE EEEE EDEE" $"EEED EEEE EF7D 0000 0000 0000 0000 0000" $"24FD FBFA F9F9 EEE0 DBDA DADA DADA DADA" $"DADA DADB DBDB DBDB DBDB DBDB DBDB DBDB" $"DBDB DBDB DBDB DCDC DCDC DCDC DCDC DCE0" $"EEF1 F1F1 F1F5 FDFD FDFD FDFD FDFD FDFD" $"FDF1 F0EF EFEF EEE9 E0DE DFDF DFE0 E0E0" $"E0E0 E0E0 E0E1 E1E1 E1E1 E0DF E6EC ECEC" $"ECEC ECEC ECED EDED EDED EDED EDED EDED" $"EDED EDEE EF6F 0000 0000 0000 0000 0000" $"12FD FCFA F9F9 EFE1 DCDB DADB DBDB DADB" $"DBDA DBDB DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DCDC DDDD DCDD DDDD DCE0" $"EEF1 F2F2 F1F5 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFE9 E0DE DFE0 E0E0 E0E1" $"E1E0 E1E1 E1E2 E2E1 E2E2 E0DF E7ED ECED" $"EDEC EDED ECED EEED EEEE EDEE EEEE EDEE" $"EEED EEEE EF61 0000 0000 0000 0000 0000" $"05F9 FCFB FAF9 F1E1 DCDB DADB DBDB DADB" $"DBDA DBDB DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DCDC DDDD DCDD DDDD DCE0" $"EDF1 F2F2 F1F4 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFE9 E0DE DFE0 E0E1 E0E1" $"E1E0 E1E1 E1E2 E2E1 E2E2 E0DF E7ED ECED" $"EDEC EDED ECED EEED EEEE EDEE EEEE EDEE" $"EEED EEEE F051 0000 0000 0000 0000 0000" $"03E9 FCFA FAF9 F2E2 DCDA DADA DADA DADA" $"DADA DADA DADB DBDB DBDB DBDB DBDB DBDB" $"DBDB DBDB DBDB DCDC DCDC DCDC DCDC DCDF" $"EDF1 F1F1 F1F4 FDFD FDFD FDFD FDFD FDFD" $"FDF1 F0EF EFEF EEE9 E0DE DFDF E0E0 E0E0" $"E0E0 E0E0 E1E1 E1E1 E1E1 E0DF E7EC ECEC" $"ECEC ECEC ECED EDED EDED EDED EDED EDED" $"EDED EEEE F043 0000 0000 0000 0000 0000" $"01D9 FCFB FAF9 F3E3 DCDB DADB DBDB DADB" $"DBDA DBDB DADB DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DDDC DDDD DCDD DDDD DCDF" $"EDF1 F2F2 F1F4 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFE9 E0DE DFE0 E0E1 E0E1" $"E1E0 E1E1 E1E2 E2E1 E2E2 E0E0 E8ED ECED" $"EDEC EDED ECED EEED EEEE EDEE EEEE EDEE" $"EEED EEEF F036 0000 0000 0000 0000 0000" $"00C9 FCFB FAF9 F4E3 DDDB DADB DBDB DADB" $"DBDA DBDB DADB DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DBDC DDDC DDDD DCDD DDDD DCDF" $"EDF1 F2F2 F1F4 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFEF EFE9 E0DE DFE0 E0E1 E0E1" $"E1E0 E1E1 E1E2 E2E1 E2E2 E0E0 E8ED ECED" $"EDEC EDED EDEE EEED EEEE EDEE EEEE EDEE" $"EEED EEEF F127 0000 0000 0000 0000 0000" $"00B8 FCFB FAF9 F5E4 DDDA DADA DADA DADA" $"DADA DADA DADB DBDB DBDB DBDB DBDB DBDB" $"DBDB DBDB DBDC DCDC DCDC DCDC DCDC DCDF" $"EDF1 F1F1 F1F4 FDFD FDFD FDFD FDFD FDFD" $"FDF1 F0EF EFEF EFE9 E0DE DFE0 E0E0 E0E0" $"E0E0 E0E1 E1E1 E1E1 E1E1 E0E0 E9EC ECEC" $"ECEC ECEC EDED EDED EDED EDED EDED EDED" $"EDEE EEEE F219 0000 0000 0000 0000 0000" $"00A7 FCFB FAF9 F6E5 DDDB DADB DBDB DADB" $"DBDA DBDB DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DCDC DDDC DDDD DCDD DDDD DCDF" $"ECF1 F2F2 F1F4 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFF0 EFE9 E0DE DFE0 E1E1 E0E1" $"E1E0 E1E1 E1E2 E2E1 E2E2 E0E0 E9ED ECED" $"EDEC EDED EDEE EEED EEEE EDEE EEEE EDEE" $"EEEE EFEF F20A 0000 0000 0000 0000 0000" $"0095 FCFB FAF9 F6E5 DEDB DADB DBDB DADB" $"DBDA DBDB DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DCDD DDDC DDDD DCDD DDDD DCDF" $"ECF1 F2F2 F1F4 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFF0 EFE9 E0DE DFE0 E1E1 E0E1" $"E1E0 E1E2 E1E2 E2E1 E2E2 E0E0 E9ED ECED" $"EDEC EDED EDEE EEED EEEE EDEE EEEE EDEE" $"EEEE EFEF EB03 0000 0000 0000 0000 0000" $"0085 FCFB FAF9 F7E6 DEDB DADB DBDB DADB" $"DBDA DBDB DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DCDD DDDC DDDD DCDD DDDD DCDF" $"ECF1 F2F2 F1F4 FEFD FEFE FDFE FEFE FDFE" $"FDF1 F0F0 EFF0 EFE9 E0DE DFE0 E0E1 E0E1" $"E1E1 E1E2 E2E2 E3E3 E4E4 E3E4 EBED ECED" $"EDEC EDED EDEE EEED EEEE EDEE EEEE EDEE" $"EEEE EFEF DE02 0000 0000 0000 0000 0000" $"0072 FCFB FAF9 F8E7 DEDB DADA DADA DADA" $"DADA DADB DBDB DBDB DBDB DBDB DBDB DBDB" $"DBDB DBDC DCDC DCDC DCDC DCDC DCDC DCDF" $"EBF1 F1F1 F1F4 FDFD FDFD FDFD FDFD FDFD" $"FDF1 F0F0 F0F0 EFE9 E1DF E1E2 E3E3 E4E5" $"E5E6 E7E8 E9EA ECED EEEF F0F1 F1EF EEED" $"EDEC ECED EDED EDED EDED EDED EDED EDED" $"EEEE EEEE D101 0000 0000 0000 0000 0000" $"0060 FDFB FAFA F8E8 DFDB DADB DBDB DADB" $"DBDA DBDB DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDB DCDC DCDD DDDC DDDD DCDD DDDD DCDF" $"EBF1 F2F2 F1F3 FDFD FEFE FDFE FEFE FDFE" $"FDF3 F2F2 F2F3 F3EF EAEB EDEE F0F1 F2F3" $"F4F5 F6F6 F7F7 F7F7 F7F7 F7F8 F7F6 F4F2" $"F0EF EEED EDED EDED EEEE EDEE EEEE EDEE" $"EEEE EFEF C400 0000 0000 0000 0000 0000" $"004F FDFB FAFA F9EA DFDB DADB DBDB DADB" $"DBDA DBDC DBDC DCDB DCDC DBDC DCDC DBDC" $"DCDC DCDC DCDC DDDD DDDD DEDE DFDF DFE2" $"EEF1 F1F2 F1F2 F9FD FEFE FDFE FEFE FDFE" $"FDF9 F9FA FAFA FAF9 F7F7 F7F8 F8F8 F7F8" $"F8F7 F8F8 F7F8 F8F7 F8F8 F7F8 F8F8 F7F8" $"F7F5 F3F1 EFEE EEED EDEE EDEE EEEE EDEE" $"EFEE EFEF B700 0000 0000 0000 0000 0000" $"003E FDFB FAFA F9EB E0DB DADA DADA DADA" $"DADB DBDB DBDB DCDC DCDC DCDD DDDD DEDE" $"DFDF E0E0 E1E2 E2E3 E4E5 E7E8 E9EB ECEF" $"F2F1 F1F1 F1F2 F3F5 FAFD FDFD FDFD FDFD" $"FDFB FBFB FAFA FAF9 F7F7 F7F7 F7F7 F7F7" $"F7F7 F7F7 F7F7 F7F7 F7F7 F7F7 F7F7 F7F8" $"F8F8 F8F8 F7F5 F2F0 EFEE EEEE EDED EDEE" $"EEEE EEEF A800 0000 0000 0000 0000 0000" $"002C FDFC FAFA F9EC E0DC DBDB DCDC DCDD" $"DDDD DEDF DFE0 E0E1 E2E3 E4E5 E6E7 E9EA" $"EBED EEEF F1F2 F3F4 F4F5 F5F6 F6F6 F6F6" $"F5F3 F2F1 F1F1 F2F2 F3F5 FAFD FEFE FDFE" $"FDFC FCFB FBFB FBF9 F8F8 F7F8 F8F8 F7F8" $"F8F8 F8F8 F8F8 F8F8 F8F8 F8F8 F8F8 F8F8" $"F9F8 F9F9 F8F9 F8F8 F6F4 F2F0 EFEE EEEE" $"EEEE EEEF 9B00 0000 0000 0000 0000 0000" $"000C E7FC FBFA F9F0 E5E1 E1E2 E3E4 E5E7" $"E8E9 EBEC EEEF F0F1 F2F3 F4F5 F5F6 F6F6" $"F6F6 F6F6 F6F6 F7F6 F7F7 F6F7 F7F7 F6F7" $"F7F6 F5F3 F2F1 F1F1 F2F3 F2F4 F9FD FDFE" $"FDFC FCFC FBFC FBFA F8F8 F8F8 F8F8 F8F8" $"F8F8 F9F9 F8F9 F9F9 F9F9 FAFA FAF9 F8F9" $"F9F8 F9F9 F8F9 F9F8 F9F9 F8F7 F5F3 F1F0" $"EFEE EEEF 8400 0000 0000 0000 0000 0000" $"0000 68FD FCFC FCF7 F2F1 F2F3 F4F5 F5F5" $"F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F6" $"F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F6" $"F6F6 F6F6 F5F3 F2F1 F1F2 F2F2 F2F3 F8FD" $"FDFC FBFB FBFB FBFA F8F8 F8F8 F9F9 F9FA" $"FAFB FBFC FCFC FDFD FDFD FDFD FDFD FCFA" $"F9F8 F8F8 F8F8 F8F8 F9F9 F9F9 F9F9 F8F7" $"F5F4 F3E6 3100 0000 0000 0000 0000 0000" $"0000 05C6 FDFD FDFB F8F6 F6F7 F7F7 F6F7" $"F7F6 F7F7 F6F7 F7F6 F7F7 F6F7 F7F7 F6F7" $"F7F6 F7F7 F6F7 F7F6 F7F7 F6F7 F7F7 F6F7" $"F7F6 F7F7 F6F6 F5F3 F2F2 F1F2 F2F3 F3F3" $"F6EA FCFC FCFC FDFC FCFC FDFD FDFD FDFE" $"FEFD FEFE FDFE FEFD FEFE FDFE FEFE FDFE" $"FDFC FAFA F9FA FAFA FAFA FAF9 F5E0 CBB1" $"9A84 681F 0000 0000 0000 0000 0000 0000" $"0000 0037 F8FE FDFB F8F7 F6F7 F7F7 F6F7" $"F7F6 F7F7 F6F7 F7F6 F7F7 F6F7 F7F7 F6F7" $"F7F6 F7F7 F6F7 F7F6 F7F7 F7F7 F7F7 F8F7" $"F7F7 F7F7 F7F8 F8F7 F7F7 F8F9 FAFB FCFD" $"FDFA FBFD FDFE FEFD FEFE FDFE FEFE FDFE" $"FEFD FEFE FDFE FEFD FEFE FDFE FEFE FDFE" $"FEFD FDFD FCE9 9771 5A43 2C15 0300 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 97FD FDFB F8F7 F6F6 F6F6 F6F6" $"F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F7 F7F7" $"F7F7 F8F8 F9FA FAFB FBFC FCFD FDFD FDFD" $"F9F7 F7F7 F7F7 F7FC FDFD FDFD FDFD FDFD" $"FDF8 F8F8 F9FC FDFD FDFD FDFD FDFD FDFD" $"FDFD FDFD FDFD FDFD FDFC FBFB FAFB FBFB" $"FBFB FAFA FBFB ECA8 520F 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 15E7 FDFC F8F7 F6F7 F7F7 F6F7" $"F7F6 F7F7 F7F7 F8F8 F9F9 FAFB FBFC FCFD" $"FDFD FEFE FDFE FEFD FEFE FDFE FEFE FDFE" $"FEFC F8F8 F7F8 F8FD FEFE FDFE FEFE FDFE" $"FCF8 F8F8 F7F8 F9FB FDFE FDFD FDFD FCFC" $"FBFA FAF9 F9F8 F8F8 F8F8 F7F7 F7F9 FAFA" $"FAFA FAFA FAFA FAFA FBEC A853 1000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0063 FDFC F9F8 F8F8 F9F9 FAFB" $"FBFC FCFD FDFD FEFD FEFE FDFE FEFE FDFE" $"FEFD FEFE FDFE FEFD FEFE FDFE FEFE FDFE" $"FEFD FDFB F8F8 F9FD FEFE FDFE FEFE FDFD" $"F8F7 F7F7 F7F7 F7F7 F7F8 F8F7 F7F7 F7F7" $"F7F7 F7F7 F7F7 F7F7 F7F7 F7F7 F7F9 F9FA" $"FAF9 FAFA F9FA FAF9 FAFA FAFB ECA8 540E" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0567 A1B8 FDFD FDFD FDFD FDFD FDFD" $"FDFD FDFD FDFD FDFD FDFD FDFD FDFD FDFD" $"FDFD FDFD FDFD FDFD FDFD FDFD FDFD FDFD" $"FDFD FDFD FDFA E3FB FBFA F8F7 F5F4 F4F4" $"F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F6" $"F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F8 F9F9" $"F9F9 F9F9 F9F9 F9F9 F9F9 F9F9 FAFA FAEE" $"A856 0D00 0000 0000 0000 0000 0000 0000" $"0000 90F9 F8F8 F9FD FEFE FDFE FEFE FDFE" $"FEFD FEFE FDFE FEFD FEFE FDFE FEFE FDFE" $"FEFD FEFE FDFE FEFD FEFD FDFD FCFC FBFB" $"FCFC FCFC FCFC B6F3 F4F4 F3F2 F2F1 F0F1" $"F2F4 F5F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F6" $"F6F6 F6F6 F6F6 F6F6 F6F6 F6F6 F6F8 F9F9" $"F9F9 F9FA F9FA FAF9 FAFA F9FA FAFA F9FA" $"FAFA F1AA 5402 0000 0000 0000 0000 0000" $"0004 DDF8 F7F7 F7FB FEFE FDFE FEFE FDFE" $"FEFD FEFE FDFE FEFD FEFE FDFE FEFE FDFD" $"FDFC FCFB FAFA F9F8 F8F7 F7F6 F6F6 F6F7" $"FAFB FCFC FBFC FCFD F8F4 F3F3 F3F2 F1F0" $"F0F0 F1F4 F5F6 F6F5 F6F6 F5F6 F6F6 F5F6" $"F6F5 F6F6 F5F6 F6F5 F6F6 F5F5 F5F8 F8F9" $"F9F8 F9F9 F8F9 F9F9 F9F8 F8F7 F7F6 F5F4" $"F3F2 F2F2 F494 0000 0000 0000 0000 0000" $"0002 D6F8 F6F6 F7F7 FDFE FDFE FEFE FDFE" $"FEFD FEFE FDFD FCFC FBFA F9F9 F8F7 F7F6" $"F6F5 F6F6 F5F6 F6F5 F6F6 F5F6 F6F6 F5F6" $"FAFB FBFB FBFB FCFD FEFC F6F3 F3F2 F1F1" $"F0EF EFF0 F1F3 F5F5 F5F5 F5F5 F5F5 F5F5" $"F5F5 F5F5 F5F5 F5F5 F6F6 F5F5 F5F8 F8F8" $"F8F7 F6F6 F5F4 F3F3 F2F1 F1F0 F0F0 EFEF" $"EFEF EFEF EFEC 0800 0000 0000 0000 0000" $"0000 C9F9 F6F6 F6F6 F7FB FDFC FCFB FAFA" $"F9F8 F7F7 F6F6 F6F5 F5F5 F5F5 F5F5 F5F5" $"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F6" $"F9FA FAFA FAFA FBFD FDFD FDFA F4F2 F1F1" $"F1F0 EFEF EFEF F1F3 F4F4 F4F4 F4F4 F4F4" $"F4F4 F4F4 F4F4 F4F3 F2F1 F0ED EDF2 F2F1" $"F1F0 F0EF EFEF EEEE EEEE EEEE EEEE EEEE" $"EEEE EEEE EEED 0500 0000 0000 0000 0000" $"0000 B5FB F7F6 F5F5 F6F6 F6F6 F6F6 F5F6" $"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5" $"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5" $"F9FA FBFB FAFB FBFD FEFE FDFE FDF7 F2F2" $"F1F0 F0F0 EFEE EEEF F1F3 F4F4 F4F3 F2F1" $"F0EF EEEC EBEA E9E8 E7E7 E6E3 E4ED EEEE" $"EDED EDEE EDEE EEED EEEE EEEE EEEF EEEF" $"EFEE EFEF EEE4 0000 0000 0000 0000 0000" $"0000 A4FC F8F6 F5F5 F5F5 F5F5 F5F5 F5F5" $"F5F4 F5F5 F4F5 F5F4 F5F5 F4F5 F5F5 F4F5" $"F5F4 F5F5 F4F5 F5F4 F5F5 F4F5 F5F5 F4F5" $"F9FA FBFB FAFB FBFD FEFE FDFE FEFE FBF4" $"F1F0 F1F1 F0EF EEEE EEEE EAEA E9E8 E7E6" $"E5E5 E5E4 E4E4 E4E4 E3E3 E3E0 E2EC EDED" $"EDED EEEE EDEE EEED EEEE EEEF EFEF EEEF" $"EFEE EFEF EED6 0000 0000 0000 0000 0000" $"0000 94FC F9F6 F5F4 F4F4 F4F4 F4F4 F4F4" $"F4F4 F4F4 F4F4 F4F4 F4F4 F4F4 F4F4 F4F4" $"F4F4 F4F4 F4F4 F4F4 F4F4 F4F4 F4F4 F3F4" $"F8FA FAF9 F9F8 F8FD FDFD FDFD FDFD FDFD" $"F4F1 F0F0 F0EF EFEE EDE6 E5E7 E4E4 E4E4" $"E3E3 E3E2 E2E2 E2E2 E2E3 E3E0 E3EC EDED" $"EDED EDED EDED EDED EDEE EEEE EEEE EEEE" $"EEEE EEEE EEC7 0000 0000 0000 0000 0000" $"0000 81FC FAF7 F5F4 F4F4 F4F4 F4F4 F4F4" $"F4F4 F4F4 F3F4 F4F3 F4F4 F3F4 F4F4 F3F4" $"F4F3 F4F4 F3F3 F3F2 F2F1 F0EE EDEB E9E9" $"F1F5 F5F4 F4F4 F4FD FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF EDE3 E1E5 E2E2 E1E2" $"E2E2 E2E3 E2E3 E3E2 E3E4 E3E0 E3ED EDEE" $"EEED EEEE EDEE EEED EEEF EEEF EFEF EEEF" $"EFEE EFEF EFB9 0000 0000 0000 0000 0000" $"0000 70FC FBF9 F5F4 F4F4 F3F4 F4F4 F3F4" $"F4F3 F4F4 F3F4 F4F3 F4F4 F3F3 F3F3 F2F1" $"F0EF EDEC EAE8 E7E6 E4E4 E3E2 E1E1 E0E2" $"EDF3 F3F3 F3F3 F3FD FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF EDE3 DFE1 E2E2 E1E2" $"E2E2 E3E3 E2E3 E3E2 E3E4 E3E0 E3ED EDEE" $"EEED EEEE EDEE EEED EEEF EEEF EFEF EEEF" $"EFEE EFEF EFAA 0000 0000 0000 0000 0000" $"0000 5DFC FBFA F6F4 F3F3 F3F3 F3F3 F3F3" $"F3F3 F3F3 F2F1 F0EF EEEC EBE9 E7E6 E4E4" $"E3E2 E1E1 E0E0 E0DF DFDF DEDE DEDE DDDF" $"ECF2 F2F2 F2F2 F3FD FDFD FDFD FDFD FDFD" $"F8F1 F0F0 F0EF EFEF EDE3 DFE0 E1E1 E1E2" $"E2E2 E2E2 E2E2 E2E3 E3E3 E3E0 E4ED EDED" $"EDED EDED EDED EDEE EEEE EEEE EEEE EEEE" $"EEEE EEEE EF9C 0000 0000 0000 0000 0000" $"0000 4CFC FBFA F8F5 F3F3 F2F1 F1EF EEED" $"EBE9 E8E6 E5E4 E3E2 E1E0 E0E0 E0E1 E2E2" $"E1E0 E0DF DEDE DDDD DDDD DDDE DEDE DEE0" $"ECF2 F3F3 F2F3 F3FD FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF EDE3 E0E1 E2E2 E1E2" $"E3E2 E3E3 E2E3 E3E3 E4E4 E3E1 E4ED EDEE" $"EEED EEEE EDEE EEEE EFEF EEEF EFEF EEEF" $"EFEE EFEF EF8D 0000 0000 0000 0000 0000" $"0000 3AFC FBFA F9F6 F3EC E6E4 E3E2 E1E0" $"E0DF E0E1 E3E5 E6E6 E5E5 E4E2 E1DF DDDD" $"DDDD DDDD DDDE DEDD DEDE DEDE DFDF DEE0" $"ECF2 F3F3 F2F3 F3FD FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF EDE3 E0E1 E2E2 E2E2" $"E3E2 E3E3 E2E3 E3E3 E4E4 E3E1 E4ED EDEE" $"EEED EEEE EDEE EEEE EFEF EEEF EFEF EEEF" $"EFEE EFEF F07F 0000 0000 0000 0000 0000" $"0000 28FC FBFA F9F7 EEE1 DFE2 E4E6 E6E6" $"E6E6 E5E3 E0DE DCDC DCDC DCDC DCDD DDDD" $"DDDD DDDD DDDD DDDD DDDD DEDE DEDE DEE0" $"EBF2 F2F2 F2F2 F3FD FDFD FDFD FDFD FDFD" $"F8F1 F0F0 F0F0 EFEF EDE3 E0E1 E1E1 E2E2" $"E2E2 E2E2 E2E2 E3E3 E3E3 E3E1 E5ED EDED" $"EDED EDED EDED EEEE EEEE EEEE EEEE EEEE" $"EEEE EEEF F070 0000 0000 0000 0000 0000" $"0000 1AFB FBFA F9F8 EADF DDDF DEDC DCDC" $"DCDC DCDD DCDD DDDC DDDD DCDD DDDD DDDE" $"DEDD DEDE DDDE DEDD DEDE DEDF DFDF DEE0" $"EBF2 F3F3 F2F3 F4FD FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF EDE3 E0E1 E2E2 E2E3" $"E3E2 E3E3 E2E3 E4E3 E4E4 E3E1 E5ED EDEE" $"EEED EEEE EDEE EFEE EFEF EEEF EFEF EEEF" $"EFEE EFEF F061 0000 0000 0000 0000 0000" $"0000 11F1 FBFA F9F8 EBE1 DDDC DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DCDD DEDE DDDE" $"DEDD DEDE DDDE DEDD DEDF DEDF DFDF DEE0" $"EBF2 F3F3 F2F3 F4FC FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF EDE3 E0E1 E2E2 E2E3" $"E3E2 E3E3 E2E3 E4E3 E4E4 E3E1 E6ED EDEE" $"EEED EEEE EDEE EFEE EFEF EEEF EFEF EEEF" $"EFEE EFF0 F052 0000 0000 0000 0000 0000" $"0000 09E7 FBFA F9F8 ECE1 DDDC DCDC DCDC" $"DCDC DCDC DCDC DCDC DCDD DDDD DDDD DDDD" $"DDDD DDDD DDDD DDDE DEDE DEDE DEDE DEE0" $"EBF2 F2F2 F2F3 F3FC FDFD FDFD FDFD FDFD" $"F8F1 F1F0 F0F0 EFEF EDE3 E0E1 E2E2 E2E2" $"E2E2 E2E2 E3E3 E3E3 E3E3 E3E1 E6ED EDED" $"EDED EDED EDEE EEEE EEEE EEEE EEEE EEEE" $"EEEF EFEF F143 0000 0000 0000 0000 0000" $"0000 02DE FBFA FAF8 EDE2 DDDD DDDD DCDD" $"DDDC DDDD DCDD DDDC DDDD DDDE DEDE DDDE" $"DEDD DEDE DDDE DEDE DFDF DEDF DFDF DEE0" $"EBF2 F3F3 F2F3 F4FC FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF ECE3 E0E1 E2E3 E2E3" $"E3E2 E3E3 E3E4 E4E3 E4E4 E3E1 E6ED EDEE" $"EEED EEEE EEEF EFEE EFEF EEEF EFEF EEEF" $"EFEF F0F0 F134 0000 0000 0000 0000 0000" $"0000 00CD FCFB FAF9 EEE2 DDDD DDDD DCDD" $"DDDC DDDD DCDD DDDD DDDE DDDE DEDE DDDE" $"DEDD DEDE DDDE DFDE DFDF DEDF DFDF DEE0" $"EAF2 F3F3 F2F3 F4FC FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F0 F0EF ECE3 E0E1 E3E3 E2E3" $"E3E2 E3E3 E3E4 E4E3 E4E4 E3E1 E7EE EDEE" $"EEED EEEE EEEF EFEE EFEF EEEF EFEF EEEF" $"EFEF F0F0 F226 0000 0000 0000 0000 0000" $"0000 00BD FCFB FAF9 F0E3 DDDD DDDD DCDD" $"DDDC DDDD DCDD DDDD DEDE DDDE DEDE DDDE" $"DEDD DEDE DEDF DFDE DFDF DEDF DFDF DEE0" $"EAF2 F3F3 F2F3 F4FC FEFE FDFE FEFE FDFE" $"F8F1 F1F1 F0F1 F0EF ECE3 E0E1 E3E3 E2E3" $"E3E2 E3E3 E3E4 E4E3 E4E4 E3E1 E7EE EDEE" $"EEED EEEE EEEF EFEE EFEF EEEF EFEF EEEF" $"EFEF F0F0 F316 0000 0000 0000 0000 0000" $"0000 00AB FCFB FAF9 F1E3 DDDC DCDC DCDC" $"DCDC DCDD DDDD DDDD DDDD DDDD DDDD DDDD" $"DDDD DDDE DEDE DEDE DEDE DEDE DEDE DEE0" $"EAF2 F2F2 F2F3 F3FC FDFD FDFD FDFD FDFD" $"F8F1 F1F0 F0F0 F0EF ECE3 E0E1 E2E2 E2E2" $"E2E2 E3E3 E3E3 E3E3 E3E4 E3E1 E8ED EDED" $"EDED EEEE EEEE EEEE EEEE EEEE EEEE EEEF" $"EFEF EFEF F109 0000 0000 0000 0000 0000" $"0000 009A FCFB FAF9 F2E4 DEDD DDDD DCDD" $"DDDC DDDD DDDE DEDD DEDE DDDE DEDE DDDE" $"DEDD DEDF DEDF DFDE DFDF DEDF DFDF DFE0" $"EAF2 F3F3 F3F4 F4FC FEFE FDFE FEFE FDFE" $"F8F1 F2F1 F0F1 F0EF ECE3 E0E2 E3E3 E2E3" $"E3E3 E4E4 E3E4 E4E3 E4E4 E3E1 E8EE EDEE" $"EEED EEEF EEEF EFEE EFEF EEEF EFEF EFEF" $"F0EF F0F0 E703 0000 0000 0000 0000 0000" $"0000 0088 FCFB FAF9 F3E4 DEDD DDDD DCDD" $"DDDD DEDE DDDE DEDD DEDE DDDE DEDE DDDE" $"DEDE DFDF DEDF DFDE DFDF DEDF DFDF DFE0" $"EAF2 F3F3 F3F4 F4FC FEFE FDFE FEFE FDFE" $"F8F1 F2F1 F0F1 F0EF ECE3 E0E2 E3E3 E2E3" $"E3E3 E4E4 E3E4 E4E3 E4E5 E3E2 E9EE EDEE" $"EEEE EEEF EEEF EFEE EFEF EEEF EFEF EFF0" $"F0EF F0F0 DA02 0000 0000 0000 0000 0000" $"0000 0076 FCFB FAF9 F4E5 DEDD DCDC DDDD" $"DDDD DDDD DDDD DDDD DDDD DDDD DDDD DDDE" $"DEDE DEDE DEDE DEDE DEDE DEDF DFDF DFE0" $"E9F2 F2F2 F3F3 F3FB FDFD FDFD FDFD FDFD" $"F8F1 F1F1 F0F0 F0EF ECE3 E0E2 E2E2 E2E2" $"E3E3 E3E3 E3E3 E3E3 E4E4 E3E2 E9ED EDED" $"EDEE EEEE EEEE EEEE EEEE EEEE EEEF EFEF" $"EFEF EFEF CD01 0000 0000 0000 0000 0000" $"0000 0065 FCFB FAF9 F5E5 DFDD DDDD DDDE" $"DEDD DEDE DDDE DEDD DEDE DDDE DEDE DEDE" $"DFDE DFDF DEDF DFDE DFDF DFDF E0E0 DFE0" $"E9F2 F3F3 F3F4 F4FC FEFE FDFE FEFE FDFE" $"F8F1 F2F1 F0F1 F1F0 ECE3 E0E2 E3E3 E2E3" $"E4E3 E4E4 E3E4 E4E4 E5E5 E3E2 E9EE EDEE" $"EEEE EFEF EEEF EFEE EFEF EEEF EFEF EFF0" $"F0EF F0F0 C000 0000 0000 0000 0000 0000" $"0000 0053 FCFB FAF9 F6E6 DFDD DEDE DDDE" $"DEDD DEDE DDDE DEDD DEDE DDDE DEDE DEDF" $"DFDE DFDF DEDF DFDE DFDF DFE0 E0E0 DFE0" $"E9F2 F3F3 F3F4 F4FB FEFE FDFE FEFE FDFE" $"F8F1 F2F1 F0F1 F1F0 ECE3 E0E2 E3E3 E3E3" $"E4E3 E4E4 E3E4 E4E4 E5E5 E3E2 EAEE EDEE" $"EEEE EFEF EEEF EFEE EFEF EEEF EFF0 EFF0" $"F0EF F0F0 B100 0000 0000 0000 0000 0000" $"0000 0042 FDFB FAF9 F6E7 E0DD DDDD DDDD" $"DDDD DDDD DDDD DDDD DDDD DDDE DEDE DEDE" $"DEDE DEDE DEDE DEDE DFDF DFDF DFDF DFE0" $"E8F2 F2F2 F3F3 F3FB FDFD FDFD FDFD FDFD" $"F8F1 F1F1 F0F0 F0F0 ECE3 E0E2 E2E2 E3E3" $"E3E3 E3E3 E3E4 E4E4 E4E4 E3E2 EAED EDEE" $"EEEE EEEE EEEE EEEE EEEE EEEF EFEF EFEF" $"EFEF EFF0 A400 0000 0000 0000 0000 0000" $"0000 002F FDFB FAF9 F7E8 E0DE DEDE DDDE" $"DEDD DEDE DDDE DEDD DEDE DEDF DFDF DEDF" $"DFDE DFDF DEDF DFDF DFE0 DFE0 E0E0 DFE0" $"E8F2 F3F3 F3F4 F4FB FEFE FDFE FEFE FDFE" $"F8F1 F2F2 F1F1 F1F0 ECE3 E1E2 E3E3 E3E4" $"E4E3 E4E4 E3E4 E5E4 E5E5 E3E3 EAEE EDEE" $"EFEE EFEF EEEF EFEE EFEF EEEF F0F0 EFF0" $"F0EF F0F0 9400 0000 0000 0000 0000 0000" $"0000 0021 FAFB FBF9 F8E9 E1DE DEDE DDDE" $"DEDD DEDE DDDE DEDD DEDE DEDF DFDF DEDF" $"DFDE DFDF DEDF DFDF E0E0 DFE0 E0E0 DFE0" $"E8F2 F3F3 F3F4 F4FB FEFE FDFE FEFE FDFE" $"F8F2 F2F2 F1F1 F1F0 ECE3 E1E2 E3E3 E3E4" $"E4E3 E4E4 E4E4 E5E4 E5E5 E3E3 EBEE EDEE" $"EFEE EFEF EEEF EFEE EFEF EFEF F0F0 EFF0" $"F0EF F0F0 8500 0000 0000 0000 0000 0000" $"0000 0015 F3FC FAF9 F8EA E1DE DDDD DDDD" $"DDDD DDDD DDDD DEDE DEDE DEDE DEDE DEDE" $"DEDE DEDE DEDF DFDF DFDF DFDF DFDF DFE0" $"E8F2 F2F3 F3F3 F3FB FDFD FDFD FDFD FDFD" $"F8F2 F1F1 F1F0 F0F0 ECE3 E1E2 E3E3 E3E3" $"E3E3 E3E3 E4E4 E4E4 E4E4 E3E3 EBED EEEE" $"EEEE EEEE EEEE EEEE EEEE EFEF EFEF EFEF" $"EFEF EFF0 7600 0000 0000 0000 0000 0000" $"0000 000A ECFC FBFA F9EB E2DE DEDE DDDE" $"DEDD DEDE DEDE DEDE DFDF DEDF DFDF DEDF" $"DFDE DFDF DFE0 E0DF E0E0 DFE0 E0E0 DFE0" $"E8F2 F3F3 F3F4 F4FB FEFE FDFE FEFE FDFE" $"F8F2 F2F2 F1F1 F1F0 ECE3 E1E3 E4E4 E3E4" $"E4E3 E4E4 E4E5 E5E4 E4E4 E2E3 EBEE EEEF" $"EFEE EFEF EEEF EFEE EFEF EFF0 F0F0 EFF0" $"F0EF F0F0 6800 0000 0000 0000 0000 0000" $"0000 0001 E5FC FBFA F9EC E2DE DEDE DDDE" $"DEDD DEDE DEDF DFDE DFDF DEDF DFDF DEDF" $"DFDE DFDF DFE0 E0DF E0E0 DFE0 E0E0 E0E0" $"E8F2 F3F3 F3F4 F4FB FEFE FDFE FEFE FDFE" $"F8F2 F2F2 F1F1 F1F0 ECE3 E1E3 E4E4 E3E4" $"E4E3 E3E4 E4E3 E3E3 E3E4 E3E4 EBED EEEF" $"EFEE EFEF EEEF EFEE EFEF EFF0 F0F0 EFF0" $"F0EF F0F0 5800 0000 0000 0000 0000 0000" $"0000 0000 D6FC FBFA F9ED E2DE DDDD DDDD" $"DEDE DEDE DEDE DEDE DEDE DEDE DEDE DEDE" $"DEDF DFDF DFDF DFDF DFDF DFDF E0E0 E0E0" $"E7F2 F2F3 F3F3 F3FB FDFD FDFD FDFD FDFD" $"F8F2 F1F1 F1F1 F0F0 ECE3 E1E3 E3E3 E3E2" $"E2E3 E3E3 E4E4 E5E7 E9EB ECED ECEC ECEE" $"EEEE EEEE EEEE EEEE EFEF EFEF EFEF EFEF" $"EFEF EFF1 4900 0000 0000 0000 0000 0000" $"0000 0000 C3FC FBFA F9EE E3DE DEDE DEDE" $"DEDE DFDF DEDF DFDE DFDF DEDF DFDF DEDF" $"DFDF E0E0 DFE0 E0DF E0E0 DFE0 E0E1 E0E0" $"E7F2 F3F3 F3F4 F4FB FEFE FDFE FEFE FDFE" $"F8F2 F2F2 F1F1 F0F0 EBE2 E0E1 E2E2 E3E4" $"E5E6 E8EA ECEE EFF1 F1F1 F1F1 F0ED ECEC" $"EEEE EFEF EEEF EFEF EFF0 EFF0 F0F0 EFF0" $"F0EF F0F2 3B00 0000 0000 0000 0000 0000" $"0000 0000 B2FC FBFA F9EF E3DF DEDE DEDF" $"DFDE DFDF DEDF DFDE DFDF DEDF DFDF DFDF" $"E0DF E0E0 DFE0 E0DF E0E0 E0E0 E1E1 E0E0" $"E7F2 F3F3 F3F4 F4FA FEFE FDFE FEFE FDFE" $"F8F2 F1F1 F1F0 F0F0 EBE3 E2E5 E7E9 ECED" $"EFF0 F0F1 F1F1 F2F1 F2F2 F1F2 F2F1 EEEC" $"ECED EEEF EEEF EFEF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F2 2D00 0000 0000 0000 0000 0000" $"0000 0000 A1FC FBFA F9F1 E4DF DEDF DEDF" $"DFDE DFDF DEDF DFDE DFDF DEDF DFDF DFE0" $"E0DF E0E0 DFE0 E0DF E0E0 E0E1 E1E1 E0E0" $"E7F2 F3F3 F3F4 F4FA FEFE FDFE FEFE FDFE" $"F8F2 F2F2 F2F2 F3F3 F1ED EDF0 F0F1 F0F1" $"F1F0 F1F1 F1F2 F2F1 F2F2 F1F2 F2F2 F1F0" $"EDEC ECEE EEEF EFEF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F3 1D00 0000 0000 0000 0000 0000" $"0000 0000 8EFC FBFA F9F2 E4DF DEDE DEDE" $"DEDE DEDE DEDE DEDE DEDE DEDF DFDF DFDF" $"DFDF DFDF DFDF DFDF E0E0 E0E0 E0E0 E0DF" $"E6F2 F3F3 F3F3 F3FA FDFD FDFD FDFD FDFD" $"F9F5 F5F6 F6F7 F7F7 F5F0 EFF0 F0F0 F0F0" $"F1F1 F1F1 F1F1 F1F1 F1F1 F1F1 F1F1 F1F1" $"F1EE ECEC EDEE EFEF EFEF EFEF EFEF EFEF" $"EFEF F0F1 1000 0000 0000 0000 0000 0000" $"0000 0000 7DFD FBFA FAF3 E5DF DFDF DEDF" $"DFDE DFDF DEDF DFDE DFDF DFE0 E0E0 DFE0" $"E0DF E0E0 DFE0 DFDF E0DF DFDF DFDF E0E0" $"E8F1 F3F4 F3F4 F4F8 FEFE FDFE FEFE FDFE" $"FBF8 F8F8 F7F8 F8F7 F5F1 F0F1 F1F1 F1F1" $"F1F1 F2F2 F1F2 F2F1 F2F2 F1F2 F2F2 F1F2" $"F2F1 F0ED ECED EEEF F0F0 EFF0 F0F0 EFF0" $"F0F0 F1E8 0B00 0000 0000 0000 0000 0000" $"0000 0000 6CFD FCFA FAF4 E6E0 DFDF DEDF" $"DFDE DFDF DEDF DFDF DFE0 DFE0 E0E0 DFDF" $"DFDF DFDE DEDE DEDF DFE0 E1E2 E3E5 E7E9" $"EDEE F2F4 F3F4 F4F4 FAFE FDFE FEFE FDFE" $"FBF8 F9F8 F7F8 F8F7 F5F1 F0F1 F1F1 F1F2" $"F2F1 F2F2 F1F2 F2F1 F2F2 F1F2 F2F2 F1F2" $"F2F2 F3F1 EFED EDEE EFF0 EFF0 F0F0 EFF0" $"F0F0 F1DD 0700 0000 0000 0000 0000 0000" $"0000 0000 59FD FCFA FAF5 E6E0 DEDE DEDE" $"DEDE DEDE DEDF DFDF DFDF DFDF DFDE DEDE" $"DEDE DFDF E0E1 E3E4 E7E9 EBED EEEF EFEF" $"EEED EFF2 F3F3 F3F3 F4FA FDFD FDFD FDFD" $"FBF8 F8F8 F7F7 F7F7 F5F1 F0F1 F1F1 F1F1" $"F1F1 F1F1 F1F1 F1F1 F1F1 F1F1 F1F1 F1F2" $"F2F2 F2F2 F2F0 EDEC EDEF EFEF EFEF EFEF" $"F0F0 F0D2 0300 0000 0000 0000 0000 0000" $"0000 0000 47FD FCFB FAF6 E7E0 DFDF DEDF" $"DFDE DFDF DFDF DEDE DEDE DEDE DEDF E0E1" $"E2E4 E6E9 EBED EEEF F0F0 EFF0 F0F0 EFF0" $"EFEE EEEF F3F4 F4F3 F4F4 FBFE FEFE FDFE" $"FBF8 F9F8 F7F8 F8F7 F5F1 F0F1 F2F2 F1F2" $"F2F1 F2F2 F1F2 F2F1 F2F2 F1F2 F2F2 F2F3" $"F3F2 F3F3 F2F3 F1EF EDED EEEF F0F0 EFF0" $"F1F0 F1C6 0000 0000 0000 0000 0000 0000" $"0000 0000 36FD FCFB FAF7 E8E1 DFDE DEDE" $"DEDE DDDD DDDE DEDF E0E1 E2E4 E6E9 EBEC" $"EEEF EFF0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF EEEE F0F3 F4F3 F4F4 F4FB FEFE FDFE" $"FBF8 F9F9 F8F8 F8F7 F5F1 F0F1 F2F2 F1F2" $"F2F1 F2F2 F1F2 F2F1 F2F2 F1F2 F2F3 F2F3" $"F3F2 F3F3 F2F3 F3F2 F0EE EDED EFF0 F0F1" $"F1F0 F1B9 0000 0000 0000 0000 0000 0000" $"0000 0000 27FB FCFB FAF7 E7E0 DDDD DDDD" $"DEDF E0E1 E2E4 E6E8 EAEC EDEE EEEF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFEF EFEF EFEF" $"EFEF EFEE EEF1 F3F3 F3F3 F3F5 FCFD FDFD" $"FBF8 F8F8 F8F7 F7F7 F5F1 F0F1 F1F1 F1F1" $"F1F1 F1F1 F1F1 F1F1 F1F1 F2F2 F2F2 F2F2" $"F2F2 F2F2 F2F2 F2F2 F2F1 EFED EDEE F0F0" $"F0F0 F1AB 0000 0000 0000 0000 0000 0000" $"0000 0000 18F7 FCFB FAF8 E8E1 DFE0 E2E4" $"E6E8 EAEC EDEE EFEE EFEF EEEF EFEF EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0EF EEEE F1F3 F4F4 F4F5 F5FC FDFE" $"FBF8 F9F9 F8F8 F8F7 F5F1 F0F1 F2F2 F1F2" $"F2F1 F2F2 F1F2 F2F1 F2F2 F2F3 F3F3 F2F3" $"F3F2 F3F3 F2F3 F3F2 F3F3 F2F0 EEED EEEF" $"F0F0 F19C 0000 0000 0000 0000 0000 0000" $"0000 0000 03E5 FCFB FBF9 EFEA EAEC EDEE" $"EEEE EFEF EEEF EFEE EFEF EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFEE EFF2 F4F4 F4F5 F5F6 FCFE" $"FBF8 F9F9 F8F8 F8F7 F5F1 F0F1 F2F2 F1F2" $"F2F1 F2F2 F1F2 F2F1 F2F3 F2F3 F3F3 F2F3" $"F3F2 F3F3 F2F3 F3F2 F3F3 F3F3 F2EF EEEE" $"EFF0 F18D 0000 0000 0000 0000 0000 0000" $"0000 0000 009C FDFC FCFB F5F0 EFEE EEEE" $"EEEE EEEE EEEE EFEF EFEF EFEF EFEF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFEF EFEF EFEF" $"EFEF EFEF F0EF EEEF F2F3 F4F4 F4F4 F6FD" $"FBF8 F8F8 F8F8 F7F7 F5F1 F0F1 F1F1 F1F1" $"F1F1 F1F1 F1F1 F2F2 F2F2 F2F2 F2F2 F2F2" $"F2F2 F2F2 F2F2 F2F2 F3F3 F3F3 F3F3 F0EE" $"EDEE F07E 0000 0000 0000 0000 0000 0000" $"0000 0000 0055 FDFC FDFC F5F1 EFEF EEEF" $"EFEE EFEF EFEF F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 F0F0 EEEE EFF3 F4F5 F5F5 F4F7" $"FBF9 F9F9 F8F8 F8F7 F5F1 F1F2 F2F2 F1F2" $"F2F1 F2F2 F1F2 F2F2 F3F3 F2F3 F3F3 F2F3" $"F3F2 F3F3 F2F3 F3F3 F4F4 F3F4 F4F4 F3F2" $"EFEE EF62 0000 0000 0000 0000 0000 0000" $"0000 0000 000F F9FD FDFC F6F1 EFEF EEEF" $"EFEF EFF0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0F0 F0F1 F0F1 F0EE EEF0 F4F5 F5F5 F4F6" $"B9EB F9F9 F8F8 F8F7 F5F1 F1F2 F2F2 F1F2" $"F2F1 F2F2 F2F2 F3F2 F3F3 F2F3 F3F3 F2F3" $"F3F2 F3F3 F2F3 F3F3 F4F4 F3F4 F4F4 F4F4" $"F4F0 B812 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 BEFD FCFC F6F1 EFEF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFEF EFEF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFEF EFEF EFF0" $"F0F0 F0F0 F0F0 F0F0 EEEE F1F4 F4F4 F4F5" $"8545 EFF8 F8F8 F8F7 F5F1 F1F1 F1F1 F1F1" $"F1F1 F1F2 F2F2 F2F2 F2F2 F2F2 F2F2 F2F2" $"F2F2 F2F2 F2F3 F3F3 F3F4 F4F4 F5E6 BF8B" $"5624 0200 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 76FD FDFC F7F1 EFEF EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 F0F1" $"F1F0 F1F1 F0F1 F1F0 F0EE EFF1 F4F5 F4F6" $"8500 54F4 F8F9 F8F7 F5F1 F1F2 F2F2 F1F2" $"F2F1 F2F3 F2F3 F3F2 F3F3 F2F3 F3F3 F2F3" $"F3F2 F3F3 F3F4 F4F5 F0CF 9C66 320D 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 2EFD FDFC F8F2 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 F0F1" $"F1F0 F1F1 F0F1 F1F0 F1EF EEEF F2F4 F4F6" $"8500 0060 F8F9 F8F7 F5F1 F1F2 F2F2 F1F2" $"F2F2 F3F3 F2F3 F3F2 F3F3 F2F3 F3F3 F2F3" $"F3F3 F4F6 DFAC 7942 1302 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 03DC FDFC F8F2 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 F0F0 F1F1 F0F1" $"F1F0 F1F1 F0F1 F1F0 F1F0 EFEF EFF2 F4F6" $"8500 0000 6DF8 F8F7 F5F1 F1F2 F2F2 F1F2" $"F2F2 F3F3 F2F3 F3F2 F3F3 F3F3 F3F4 F3EB" $"BD89 551F 0200 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0094 FDFC F8F2 F0EF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFEF EFEF EFEF" $"EFEF EFEF EFEF EFEF EFF0 F0F0 F0F0 F0F0" $"F0F0 F0F0 F0F0 F0F0 F0F0 F0EF EEF0 F3F5" $"8500 0000 007C F8F7 F5F1 F1F1 F1F1 F1F2" $"F2F2 F2F2 F2F2 F3F3 F3F4 EDCD 9B65 3008" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 004D FDFC F9F2 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0F0 F0F1 F0F1 F1F1 F0F1" $"F1F0 F1F1 F0F1 F1F0 F1F1 F0F0 EFEF F0F5" $"8500 0000 0002 8CF8 F5F1 F1F2 F2F2 F2F3" $"F3F3 F3F3 F4F2 DAAB 7741 1500 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 000F EFFD FAF3 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 EFF0 F0F0 F1F1 F0F1 F1F1 F0F1" $"F1F0 F1F1 F0F1 F1F0 F1F1 F0F1 F0EF EFF2" $"8400 0000 0000 039C F5F1 F1F2 F2F2 F3F4" $"F5E4 BC87 5222 0500 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 B7FD FAF3 F0EF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFEF EFEF EFEF" $"EFEF EFEF F0F0 F0F0 F0F0 F0F0 F0F0 F0F0" $"F0F0 F0F0 F0F0 F0F0 F0F0 F0F0 F0F0 EEF1" $"6100 0000 0000 0004 A7F3 F2F4 F0CC 9963" $"300B 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 6EFD FBF3 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0EF F0F0 F0F1 F1F0 F1F1 F0F1 F1F1 F0F1" $"F1F0 F1F1 F0F1 F1F0 F1F1 F1F1 F2F3 F2B3" $"0D00 0000 0000 0000 0259 6E41 1002 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 25FA FBF4 F0F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 EFF0" $"F0F0 F0F1 F0F1 F1F0 F1F1 F0F1 F1F1 F0F1" $"F1F0 F1F1 F0F1 F1F1 F2F2 EAC3 8F5C 2800" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 02D2 FBF4 F0EF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFEF EFEF EFF0" $"F0F0 F0F0 F0F0 F0F0 F0F0 F0F0 F0F0 F0F0" $"F1F1 F1F2 F3EB CE9C 6834 0C00 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 008E FCF5 F1F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 F0F0" $"F1F0 F1F1 F0F1 F1F0 F1F1 F0F1 F1F1 F2F3" $"EFD7 A874 4015 0100 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0043 FCF5 F1F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 EFF0 F0F0 F0F1" $"F1F0 F1F1 F0F1 F1F1 F1F1 F2F4 DFB4 804D" $"1D05 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 000A EBF6 F1EF EFEF" $"EFEF EFEF EFEF EFEF EFEF EFF0 F0F0 F0F0" $"F0F0 F0F1 F1F2 F3EA C18C 5926 0700 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 AEF7 F2F0 EFF0" $"F0EF F0F0 EFF0 F0EF F0F0 F0F1 F1F1 F1F1" $"F2F3 EFCD 9966 3108 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 64F8 F2F0 EFF0" $"F0EF F0F0 EFF0 F0F0 F0F1 F1F2 F3EE D7A6" $"723E 1000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 1DF6 F3F0 EFEF" $"EFEF EFF0 F0F0 F1F2 F1DE B17E 4A1B 0200" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 00CB F4F0 F0F0" $"F0F1 F2F3 E4BE 8957 2507 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0049 EEF3 F3ED" $"C996 6330 0C00 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 215A 3A10" $"0100 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 0000 0000 0000" $"0000 0000 0000 0000 0000 00" }; stimfit-0.14.11/dist/macosx/stimfit.icns0000644000175200017520000030541512277666257015110 00000000000000icns‹ TOC His32zs8mkil32çl8mkit32*Êt8mk@ic08RAic09¿-is32zŽÿ…ÿÿ ,1…01, ÿÿ00€/0/ 00ÿÿ /00$"‚/ 0/ ÿÿ /0/%/,/ 0/ ÿÿ /0.$35,€/H0/ ÿÿ /0- /6*.0/0/ ÿÿ /3'11-"1/0/ ÿÿ 1%&1/2%210 ÿÿ)(1./1'(', ÿÿ .02/ 1 &ÿÿ11/‚0 2341 ÿÿ ,1…/1, ÿÿ ‡  ÿÿ‹ÿŽÿ+…* +ÿÿ GNLMMLMNG ÿÿQPO€PO PQÿÿOOQ/"PO€N OOÿÿOOQ"2S€NXOOÿÿOPM C CRNNOOÿÿOPHP;OONOOÿÿOV<RS&'SNOOÿÿQ?2RPO;TRPÿÿB5QNNS6CBIÿÿIFS€N OR(9ÿÿRRƒO RPPQÿÿ GQ…ORH ÿÿ … ÿÿ‹ÿŽÿBf…b fBÿÿ®Â½¾¾½¾ ®ÿÿ&ÇÄÂÆÉÄۈ ÄÇ&ÿÿ$ÃÃËpMÅÀÀ ÃÃ%ÿÿ$ÃÃÇM:wÍ€ÀXÃÃ%ÿÿ$ÃŽH¦J¥ÉÀÀÃÃ%ÿÿ$ÃÆ¯?ÆFÄÄÀÃÃ%ÿÿ$ÂÖ‘=ÊÏYZÍÀÃÃ%ÿÿ$˘"xÌÄÀ.ÒÊÅ%ÿÿ) 'ÊÀÀσ*¢Ÿµ&ÿÿ&µ®Ï€À ÂÉ]/0‹+ÿÿ&Êʂà ÄÍÆÇÊ&ÿÿ¯Ç„ÃÄɰÿÿ&…$&ÿÿ‹ÿs8mk]||||||||]3ïÿÿÿÿÿÿÿÿÿÿï3Zÿÿÿÿÿÿÿÿÿÿÿÿ[Yÿÿÿÿÿÿÿÿÿÿÿÿ[YÿÿÿÿÿÿÿÿÿÿÿÿZYÿÿÿÿÿÿÿÿÿÿÿÿZYÿÿÿÿÿÿÿÿÿÿÿÿZYÿÿÿÿÿÿÿÿÿÿÿÿZYÿÿÿÿÿÿÿÿÿÿÿÿZYÿÿÿÿÿÿÿÿÿÿÿÿZYÿÿÿÿÿÿÿÿÿÿÿÿZ\ÿÿÿÿÿÿÿÿÿÿÿÿ\IûÿÿÿÿÿÿÿÿÿÿûIgЇ‡‡‡‡‡‡‡Šg  il32çÞÿ€€ÿÿ(5‘4 5(ÿÿ2“/ 2ÿÿ1“/ 1ÿÿ1ƒ/€0Š/ 1ÿÿ1ƒ/-0‰/ 1ÿÿ1/0).‰/ 1ÿÿ1/1&"5)&0ˆ/ 1ÿÿ1/1$#5:++0‡/ 1ÿÿ1/0"$-:;*.‡/ 1ÿÿ1‚/ $/0=4(0†/ 1ÿÿ1/ .$0.5;(*0…/ 1ÿÿ1€/ 0-$1/.90!-0„/ 1ÿÿ1€/ 1(&1//17"0„/ 1ÿÿ1€/ 3+0//.4.#1ƒ/1ÿÿ1/01% 1/.5+0‚/1ÿÿ11/ ,1‚/1/2‚/1ÿÿ2+53.ƒ/4(2€101ÿÿ3!80.„/0,€(')1ÿÿ13/5.‡/3‚ 3ÿÿ1/2.ˆ/.5/%"#$(2ÿÿ1Œ/.16 31ÿÿ1Ž/. /1ÿÿ2“/ 2ÿÿ&2‘12&ÿÿ€‘€ÿÿ›ÿÿ›žÿÞÿ€  €ÿÿ ?T‘R T? ÿÿR“N RÿÿR“N RÿÿRƒNRROŠN RÿÿR‚NP*!JP‰N RÿÿRNQB OOˆN RÿÿRNR4-RˆN RÿÿRNR+B#AR‡N RÿÿRNR#JEOO†N RÿÿRNPKS10R†N RÿÿR€N ONPONAR…N RÿÿR€N PH RNRAMP„N RÿÿR€N R>+RNNR2 #R„N RÿÿR€N W+9QNNOP!3RƒNRÿÿRNPQ= KO€NQJ FQ‚NRÿÿRPO4R‚NS8S‚NRÿÿRH>R„NRAT€QPRÿÿV("RR…NR=BCB@DRÿÿRJ3PO‡NS!‚ UÿÿROR‰NOP3# !"0SÿÿRŒNORT RRÿÿR“N RÿÿRO‘N ORÿÿ >“R= ÿÿ€  €ÿÿ›ÿÿ›žÿÞÿ€>BAB>€ÿÿ™Ñ‘Í Ñ™ÿÿ:Ì‘À ÂÌ;ÿÿ@É‘À ÂÉ@ÿÿ?É‚ÀÊËĉÀ ÂÉ@ÿÿ?ÉÂÀÅdM¶ÆˆÀ ÂÉ@ÿÿ?É€ÀÇ AÃÇÀ ÂÉ@ÿÿ?É€ÀÌ|Ij͇À ÂÉ@ÿÿ?É€ÀÍf¢Q'ŸÉ†À ÂÉ@ÿÿ?É€ÀÌQ"·¨1FÂÃ…À ÂÉ@ÿÿ?É€ÀÉ>,¼Íw%rÍ…ÀÂÉ@ÿÿ?ÉÂÀÀÂÀ,8ÅÄÀI&žÊ„ÀÂÉ@ÿÿ?ÉÂÀÀıJËÀÉ¡'6½ÅƒÀÂÉ@ÿÿ?ÉÂÀÀÉ— dÍÀÀÍwRË‚ÀÂÉ@ÿÿ?ÉÂÀÂ×eŠËÀÀÂÉK yÍ‚ÀÂÉ@ÿÿ?ÉÂÅÇ’»Ä€Àƶ"«ÇÀÂÉ@ÿÿ?ÉÉÃD{Ì‚ÀφEÏÀÂÉ@ÿÿ?̰.0˜ËƒÀÂÌ3žÑ€ÇÆÉ@ÿÿ?Ö^LËÌ…ÀË“,¡¡Ÿ¨Ê@ÿÿ?˶|ÉćÀÍK‚ ,Ó@ÿÿ?ÉÄ̈ÀÃÅ{OJKMqÍ@ÿÿ?É‹ÀÂÍÑ ÍÇ@ÿÿ@É‘À ÂÉ@ÿÿ:ÌÑ ÃÌ;ÿÿ•Ë‘ÉË–ÿÿ€:@?@:€ÿÿ›ÿÿ›žÿl8mk%nzyyyyyyyyyyyyyyyyyyzn&,âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâ,ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‚ “ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ” —ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜˜ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ™’ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“[ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï[ ,s³¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾³s, +@KLLLLLLLLLLLLLLLLLLK@+  it32*Êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿ‹Í‹‡ÿ‰%)-13Í431.)%‰‡ÿˆ)-6<<Ï:<<6-*ˆ‡ÿ‡*.860.Ï-.068.)‡‡ÿ‡*+51--.Ï/.--15,*‡‡ÿ†$)01.Õ/.10*%†‡ÿ†*+0..Õ/..0+*†‡ÿ†+,..×/..,+†‡ÿ†+,.Ù/-,,†‡ÿ†,-.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.™/-++,.¸/.-,†‡ÿ†--.˜/+!%,·/.-,†‡ÿ†--.–/0,€*¶/.-,†‡ÿ†--.–/ 0)µ/.-,†‡ÿ†--.•/0*€+´/.-,†‡ÿ†--.•/1 €!-³/.-,†‡ÿ†--.•/0#$%%$!!.²/.-,†‡ÿ†--.”/0-"&'))(&"&0±/.-,†‡ÿ†--.”/0*!$'*++,+'#*0°/.-,†‡ÿ†--.”/1&"&',9.-.,(# -°/.-,†‡ÿ†--.”/1!$&'+U<,/0-)#%°/.-,†‡ÿ†--.”/0 $&',AV4.11/)!*0®/.-,†‡ÿ†--.”/0!$'%.1AP.142.' ".0­/.-,†‡ÿ†--.“/0.!%&$.2,MB.453.''®/.-,†‡ÿ†--.“/0-"%&#.1-1U61663-$ +­/.-,†‡ÿ†--.“/0*#&%#00/,=P05862,"#.¬/.-,†‡ÿ†--.“/1'#%%"1€/ ,KD17971(!(¬/.-,†‡ÿ†--.“/1$$%$"1€/ .1T74::5/&!,0ª/.-,†‡ÿ†--.“/1!$%$$2/ ,?O38;94,#$.ª/.-,†‡ÿ†--.“/ 1 $%#%3./ -NB4;;82)!(ª/.-,†‡ÿ†--.“/ 0 #%!'2./ -4T77;;6/$!,©/.-,†‡ÿ†--.”/ #$ (2ƒ/ ,BM4:;93+!$.¨/.-,†‡ÿ†--.’/ 0- ##+2„/ -P@4;:60'(¨/.-,†‡ÿ†--.’/ 0+ ""-1„/ -6S66:93," ,0¦/.-,†‡ÿ†--.’/ 1( !!.0…/ ,EK27950'#.¦/.-,†‡ÿ†--.’/ 1$!!00…/ ..Q=2773,$'¦/.-,†‡ÿ†--.’/1 ! 2‡/ -6S44640( +0¤/.-,†‡ÿ†--.’/ 1 !3.‡/ ,EK0441,$ -¤/.-,†‡ÿ†--.’/ 0#3.‡/ ..S=/32/(!$¤/.-,†‡ÿ†--.‘/ 0.&3‰/ -6U1/00+$(0¢/.-,†‡ÿ†--.‘/ 0+*1Š/ ,CL+./,'",0¡/.-,†‡ÿ†--.‘/ 1&.1‹/ -P?)-,*$ .¡/.-,†‡ÿ†--.‘/ 2 10‹/ -3V1(,+'"$¡/.-,†‡ÿ†--.‘/14/ ,=R((*'$(0Ÿ/.-,†‡ÿ†--.’/6./ ,KE$''$!,0ž/.-,†‡ÿ†--./ 0*&5./ ..T6!%$!.ž/.-,†‡ÿ†--./ 1# -2/ -5V*!#"#ž/.-,†‡ÿ†--./1 €50/ ,@P! !(0œ/.-,†‡ÿ†--./ 0- 9.‘/ +LB-0›/.-,†‡ÿ†--./ 2 '8.‘/ ..U1œ/.-,†‡ÿ†--.Ž/ 0- 62“/ -5V$&0š/.-,†‡ÿ†--./ 0/ @.”/ ,AM-0™/.-,†‡ÿ†--.‹/ .--  /;-•/ +L< 1™/.-,†‡ÿ†--.Š/ +   E0–/ ./T( (0˜/.-,†‡ÿ†--.‰/)€  5A-—/ -8O 00—/.-,†‡ÿ†--.ˆ/ ( Pš/ ,G: %1—/.-,†‡ÿ†--.†/.%  S8-™/ ..P  ˜/.-,†‡ÿ†--.…/. € UD,›/-:F€ $1–/.-,†‡ÿ†--.„/-€ )]G+/ ,J(  /0•/.-,†‡ÿ†--.ƒ/,…-Rc@,ž/ .3G "1•/.-,†‡ÿ†--.‚/+…8fcM2, /,D) /0”/.-,†‡ÿ†--./+… EZ;1,.¡/.2F€   1”/.-,†‡ÿ†--.//0*…QT.-.¤/ -C*  -0“/.-,†‡ÿ†--.//1…YK,.¦/.1F 00//ƒ0Š/.-,†‡ÿ†--.//08ƒ _C+.¨/ -B* -€/.-,†‡ÿ† --.//-JL &_<+ª/.1I€‚€€/.-,†‡ÿ†--.€/ ,MG-`8,¬/-A3‘ 00/.-,†‡ÿ†--.€/.,P@1^5,®/.O•1//.-,†‡ÿ†--./.-OXX2-¯/-8P ” /0/.-,†‡ÿ†--.‚/./I2-±/,DO“ .0/.-,†‡ÿ†--.ƒ/.-.³/,JX ‘ /0/.-,†‡ÿ†--.½/,EcM, ‰€  /0/.-,†‡ÿ†--.¾/,5Pbd]WRQMO‚R€VXP1./.-,†‡ÿ†--.¿/-,1:CILNQOML€JKD€/.-,†‡ÿ†--.Á/.--Ž,-€/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†--.Ù/.-,†‡ÿ†,-.Ù/.-,†‡ÿ†,,-Ù/-,,†‡ÿ†+,.Ù/.,+†‡ÿ†*+-.×/.-+*†‡ÿ†$+,..Õ/..,*$†‡ÿ‡**-..Ó/..-**‡‡ÿˆ++‚-Í.‚-++ˆ‡ÿˆ**+€,Í-€,+**ˆ‡ÿ‰$*+,,Í-,,+*$‰‡ÿ‹Í‹‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿ‹ *Ñ-* ‹‡ÿ‰QN MU? CPœNMIH0†‡ÿ†.IIMN PJ LO’N U-  KO›NMIH0†‡ÿ†.IIMN R1 S“N PS  ,POšNMIH0†‡ÿ†.IIMŽN PK 6S”N QK   =QšNMIH0†‡ÿ†.IIM‹NO + LP”NMU=  LP™NMIH0†‡ÿ†.IIM‰NONLKI1 €&T—N V+ -R™NMIH0†‡ÿ†.IIMˆNONG4+ FQ—NPR €   CQ˜NMIH0†‡ÿ†.IIM‡NOOC€)V˜N MSD !QO—NMIH0†‡ÿ†.IIM†NONA€€QP™NMV,€  ;=?@€DCE€NMIH0†‡ÿ†.IIMÀNMNPSUVW‡VUS€NMIH0†‡ÿ†.IIMÄNŽMNMIH0†‡ÿ†.IIMÙNMIH0†‡ÿ†.IIMÙNMIH0†‡ÿ†.IIMÙNMIH0†‡ÿ†.IIMÙNMIH0†‡ÿ†.IIMÙNMIH0†‡ÿ†.IIMÙNMIH0†‡ÿ†.IIMÙNMIH0†‡ÿ†-HJMÙNMJH/†‡ÿ†-GJLÙNLJG-†‡ÿ†'GHLÙNLHG'†‡ÿ†DFJM×NMJFD†‡ÿ† 9FILMÕNMLIE: †‡ÿ‡EFILMÓNMLIFF‡‡ÿ‡,GFIKLLÏMLLKIFF-‡‡ÿˆ,€FIIJÍIJIIFEE-ˆ‡ÿ‰9DGHHÍIHHGD:‰‡ÿ‹ '--Í.--' ‹‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿ‹8`jjÍkjj`8‹‡ÿ‰ F‘¨±¸¼Í½¼¸±©‘H ‰‡ÿˆ mª®¾ÇÉÇÍÉÇÉǾ®ªnˆ‡ÿ‡mª¯ÄſѼ¿Åįªn ‡‡ÿ‡Dª«ÀÀ½¿¿ÏÀ¿¿½ÀÀ«ªF‡‡ÿ†ª¸¿½ÕÀ½¿¸©†‡ÿ†4¨­»¾×À¾»®©7†‡ÿ†\®±¼¿×À¿¼±­]†‡ÿ†j¯²¼ÙÀ½´¯l†‡ÿ†k±´½ÙÀ½´°q†‡ÿ†l²µ½ÙÀ½µ±r†‡ÿ†l²µ½ÙÀ½µ±q†‡ÿ†l²µ½ÙÀ½µ±q†‡ÿ†l²µ½ÙÀ½µ±q†‡ÿ†l²µ½ÙÀ½µ±q†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½˜ÀÂÃÂÀÃøÀ½µ±p†‡ÿ†l²µ½—À»µ±·½Â¶À½µ±p†‡ÿ†l²µ½—À ´~OC]‘·ÀµÀ½µ±p†‡ÿ†l²µ½–À ĶM \¯Ã´À½µ±p†‡ÿ†l²µ½•À ÂÉ` E®Ã´À½µ±p†‡ÿ†l²µ½•ÀÆ©€E²Ä³À½µ±p†‡ÿ†l²µ½•ÀÌo €!R¼Ã²À½µ±p†‡ÿ†l²µ½”ÀÂÉ@ #€&$!nñÀ½µ±p†‡ÿ†l²µ½”Àĸ%#&)€*&#ŽÆÂ°À½µ±p†‡ÿ†l²µ½”ÀÉŸ!%(*),-,($3®Å°À½µ±p†‡ÿ†l²µ½”À̃"&(,D,..-*$XÂïÀ½µ±p†‡ÿ†l²µ½”ÀÍg#''-ªS(00.*"†Ç®À½µ±p†‡ÿ†l²µ½”ÀÌO %'&3Ä»6-22/*3­Å®À½µ±p†‡ÿ†l²µ½“ÀÂÆ:"&'"BÂÖŽ*143/)ZÂíÀ½µ±p†‡ÿ†l²µ½“Àý,"&'PÊÂÓ`)463.% ‹Ç­À½µ±p†‡ÿ†l²µ½“Àů "&&aÌÀÉ¿ $&:ÃÃÀ ¿Ê²96<;7/E¸Ä¨À½µ±p†‡ÿ†l²µ½’À ÿ. $%GÊ‚À ¿Ó€.9<93*pŧÀ½µ±p†‡ÿ†l²µ½’À ŵ# #$YÌ„À ÃÍQ1;:70#(›Æ§À½µ±p†‡ÿ†l²µ½’À Ǧ ##jÍ„À ¿Ì­66:93-D·Ã¦À½µ±p†‡ÿ†l²µ½’À Ê“ ""~Ì…À ¿Õz-8960(lÄÂ¥À½µ±p†‡ÿ†l²µ½’À Í}"!’ˆÀ ÃÊK.983-!#”Æ¥À½µ±p†‡ÿ†l²µ½’À Íf!¥Ç†À ¿Í©33740*8±Ä¤À½µ±p†‡ÿ†l²µ½’À ÌN (µÄ‡À ¿Öz*453-&\ÀãÀ½µ±p†‡ÿ†l²µ½‘À ÂÇ84ÂÈÀ ÃÍN*33/*ÆÂ¢À½µ±p†‡ÿ†l²µ½‘À ļ&EˈÀ ¿Ì±2.20,&)¡Æ¢À½µ±p†‡ÿ†l²µ½‘À ƨ\ÍŠÀ ¿Õ†&.0.)"A·Ä¡À½µ±p†‡ÿ†l²µ½‘À ËvÍ‹À ÂÓY$..*&bÂàÀ½µ±p†‡ÿ†l²µ½‘À Ío ’Ë‹À ¿ÇÂ9&,*'"…ÆÂŸÀ½µ±p†‡ÿ†l²µ½‘À ÌK ¬ÆŒÀ ¾Ñž&'*(%&¢ÅŸÀ½µ±p†‡ÿ†l²µ½À ÃÂ+ .ÀÃÀ ¿×s('%!?·ÄžÀ½µ±p†‡ÿ†l²µ½À Æ©HÌÀ ÃÑL&%"`ÂÃÀ½µ±p†‡ÿ†l²µ½À Í} mÏÀ ¿Ë½/$"ƒÆÂœÀ½µ±p†‡ÿ†l²µ½À ÂÌI—ËÀ ¾Ó˜""¢ÆœÀ½µ±p†‡ÿ†l²µ½À Å´ "¼Ä‘À ¿Øo >»Ä›À½µ±p†‡ÿ†l²µ½À Ìw  HÏ“À ÄÒF hÆÂšÀ½µ±p†‡ÿ†l²µ½ŽÀ Å»* ƒÏ“À ¿Ë¼)–ÇšÀ½µ±p†‡ÿ†l²µ½‹À ÃÃÂÃf  ¼Ä”À ¾Õ–3»Ä™À½µ±p†‡ÿ†l²µ½‰ÀÂÀ»¹¶v [Ó¿•À ¿ÙejɘÀ½µ±p†‡ÿ†l²µ½ˆÀ­}e> ¯Ç—À ÄÍ6 ¥Ç˜À½µ±p†‡ÿ†l²µ½‡Àæ9 bÕ¿—À ¿Ï§IÆÂ—À½µ±p†‡ÿ†l²µ½†ÀÂÀ*€  *ÊÄ™À ¿×h  ’É—À½µ±p†‡ÿ†l²µ½„À¿ °Í¿šÀ ÅÊ*  8ÃÖÀ½µ±p†‡ÿ†l²µ½ƒÀÂýz€ ¬Õ¾›À ¿Ñ  ‰Ê–À½µ±p†‡ÿ†l²µ½‚À¹f € C¿Õ¿žÀ Ó? 2ÂÕÀ½µ±p†‡ÿ†l²µ½ÀµR„JÜϾžÀ ¿Ì¢ …Ë•À½µ±p†‡ÿ†l²µ½€ÀÂðD…iÒÞÖÿ À ¿ÕG /ÀÄ”À½µ±p†‡ÿ†l²µ½€À«;… „àÊ¿¿¢À ˦ |Ë”À½µ±p†‡ÿ†l²µ½ÀÀÄ©1…ŸÞ¿¦À ÖJ &¸Å“À½µ±p†‡ÿ†l²µ½ÀÂÊA…$·Ù¿¨À Ê© aĀÇÀÀ½µ±p†‡ÿ†l²µ½ÀÀÇ”ƒ6ÊÓ¾©À ¿ÕL~¸¸‰»‚¹€À½µ±p†‡ÿ† l²µ½ÀÀ¿Ù› CÕϾ«Àɲ€>]lpvrom€c`qÀÂÀ½µ±p†‡ÿ†l²µ½€À ¿ÜŒ PÙÊ¿¬À¿Öe€‘"ÂÃÀ½µ±p†‡ÿ†l²µ½À¿Ý|[ÝÇ¿®ÀÄÌ(•$ÃÃÀ½µ±p†‡ÿ†l²µ½ƒÀÒªÓÅ¿¯À¿Í­”¾ÄÀ½µ±p†‡ÿ†l²µ½ƒÀÂÓÿ±À¾ÖŸ“¼ÄÀ½µ±p†‡ÿ†l²µ½„À¿´À¿×²3’½ÄÀ½µ±p†‡ÿ†l²µ½½À¾ÑØ“J" ‡  !¾ÄÀ½µ±p†‡ÿ†l²µ½¾À¿ÅØÞл©™€’‘•œ€¨§®ÂÀÀ½µ±p†‡ÿ†l²µ½¿À¿¿ÂÆÏÓÖׂØ×ÖÓÒÒÓÏ€À½µ±p†‡ÿ†l²µ½ÂÀ‘¿€À½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†l²µ½ÙÀ½µ±p†‡ÿ†k±´½ÙÀ½´°q†‡ÿ†i¯´¼ÙÀ¼´¯l†‡ÿ†X®±»¿×À¿»±®[†‡ÿ†2¨­¸¾×À¾¸­©5†‡ÿ†‹«²¼¿ÕÀ¿»´«†‡ÿ‡@ªªµ»¾¿ÑÀ¿¾»µ«ªA‡‡ÿ‡g­ª²·»Ñ½»¸²ª­j‡‡ÿˆ g««­±´´Íµ´´±­««i ˆ‡ÿ‰@‹©®°±Í²±°­©Œ@‰‡ÿ‹2XkÏljY3‹‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿó‡ÿóÿÿÿÿÿt8mk@     &k¤¼¿¿¿ÀÀ¿ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ¿ÀÀ¿¿¿¼¤l&  èÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿé  "·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿº#  ¸ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿº  ƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†  6åÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç7  wÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿz   "­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯#   &-ÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÆ-%  *4ÊÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌ6* #/;ÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÎGPX_dhkmnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonmkhd_XPG>4)   '08?FLPTWXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYXWTPLF?80(   #*05;>ACDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCA>;50*#  #'+.1345666666666666666666666666666666666666666666666666666666666666666666666666665431.+'#  !"$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$"!     ic08RA‰PNG  IHDR\r¨fiCCPICC Profilex…TßkÓPþÚe°á‹:g >h‘ndStCœ¶kWºÍZê6·!H›¦m\šÆ$í~°Ù‹o:Åwñ>ù Ùƒo{’ Æaø¬ˆ"Lö"³ž›4M'S¹÷»ßùî9'çä^ ùqZÓ/USOÅÂüÄäßò^C+ühM‹†J&G@Ó²yï³óÆltîoß«þcÕš• ð ¾”5Ä"áY i\ÔtàÖ‰ï15ÂÍLsX§ g8ocáŒ#–f45@š ÂÅB:K¸@8˜iàó ØÎä'&©’.‹<«ER/ådE² öðsƒò_°¨”é›­çmšNÑ|ŠÞ9}pŒæÕÁ?_½A¸pX6ã£5~BÍ$®&½çîti˜íeš—Y)%$¼bT®3liæ ‰šæÓíôP’°Ÿ4¿43YóãíP•ë1ÅõöKFôº½×Û‘“ã5>§)Ö@þ½÷õrŠåy’ðë´Õô[’:VÛÛäͦ#ÃÄwQ?HB‚Žd(à‘B ašcĪøL"J¤ÒitTy²8Ö;(“–íGxÉ_¸^õ[²¸öàûžÝ%׎¼…Å·£ØQíµéº²šua¥£ná7¹å›m« QþŠå±H^eÊO‚Q×u6æS—üu Ï2”î%vX º¬ð^ø*l O…—¿ÔÈÎÞ­Ë€q,>«žSÍÆì%ÒLÒëd¸¿ŠõBÆù1CZ¾$MœŠ9òÚP 'w‚ëæâ\/מ»Ì]áú¹­.r#ŽÂõE|!ð¾3¾>_·oˆa§Û¾Ódë£1Zë»Ó‘º¢±z”Û'ö=Žª²±¾±~V+´¢cjJ³tO%mN—ó“ï„ |ˆ®-‰«bWO+ o™ ^— I¯HÙ.°;í¶SÖ]æi_s9ó*péýÃë.7U^ÀÑs. 3uä °|^,ëÛ<ž·€‘;Ûc­=maº‹>V«Ût.[»«ÕŸÏªÕÝçä x£ü©# Ö¡_2 IDATxí}g”dÉUf¤+×®º{ÚN÷LÏôôL•42ŒfF „ F E€ âH Árpç°ûkwÙeq-,,ˆ…#» BHË‘CH´Ò ™q=¦í´7UÕåÓç~ßw3#_gVUf¾2Yu£êe˜/^Ä}ñݸqÃ¥jµš3c0 lL ¤7f±­ÔF£)` ÀêQ`SÀÀþøVt£€1«F Lcøã[ÑƬ60ŒlàoE7 °:`ØÀ0°?¾Ý(` Àê€Q`SÀÀþøVt£€1«F Lcøã[ÑƬ60ŒlàoE7 °:`ØÀ0°?¾Ý(í„©Tª“è+wMgn¥‰aï[v ¬Ù­´:Ùå«#°ì$õ/L"‡þÊ‚½Æ(°(–Z/ãuxM1ŽÕf‹1~Ÿþ€ñû‹~5‹`X Äëdܾ²U ã‡q—ݽ  Ú4Œ«nµùLèÓhÆ1·Q S ´j<œõ/ Ý­ÞÖ×Åâ¶z¾ë°•da!Ûe8®”ÔgÔÖçâ~ W{±ûÏl£@'X œñûêW[ߥ~µ5œ¶ÖÝV÷Âx‰¸W‚hZeXï-fóYÆÑxê§­&¼§af–‹q€†~ºyiÔ{jÇóÔ*<þlü™DüËÉ´í2ª­½Æ í¥¸™®ÆÓwÄýn¶Q I Ä«þÐ^ÈÍzÊû¡]m“A­Óš^›hÝ/ÐL·ÊU+àk|Úz…ñZÝgÚ®ï‰û[ÅѸf–BVÀ‹‡©Ÿ¶^L;tànÖUõÃYߢ!FÆç3=›å`­@ÈŒ2\/Í8A®aÝØL‡ÏѨí}þWÃ'\øs¯[ ,T´N…6Ýí.¦¥÷B·†)‰‰x˜ÞÓçÔß³4P‚…c˜^®þ„nÞý$9c)²é×4àlr«Ÿ¶£@’`½S‚4tgA/ÖQ½G[¥€¸;ôóšðYâ5< ëÚ$ÐŒÇ3Ãp½G[Íxt«?nó>_Ë ŽìÞzèÖìàÎ#)—>àR©m×4é Üð6Ý¿ý’ ˜¦ƒ5k®V›ª¹Ê¹r~â¹ùéS§K…¹ñ(ò@d³Ž+`Uà3ŒLCýpÖMì®ÏÖ#uëHŠÄÈü0L/õ+ÈN·úÕ­þB678¸iÇÑGGFïÿî‘÷¿2;0z{*;4˜ªe] xçŸb?rúû5 ¬͈ýÞ*»Z9_('NÏ_?öOsãýÝÌøS_*— yÄÂÅ:NÀ³Öª §€Ÿ¶Þ§›†~y“ø?|¾shÄX‚+ÕɼáÖÄ!H¿^̆›at‡ÃÈýF‚TF÷<ø-Û¼öÃ[ïxµKe3®Zè‘ 4ôiØ$&§ÌV„?€ rP…]s)B3*]«TóSÇ?uýü'ÞwýÒW?P­ïR×ágLºÃKÏ0õÓMÜ/÷:ÂtG‘o´å},Ph™®`×pú xúµ¯Ä°ÂÈæÝ»¶ßúÆ_Ù²ûå?*¯¢|)ÜJg\65è²ÙA—NåÀÒ°.ŒOš1 ¬~µFàWa—\¹Rpå*z¯¼ˆkâ-ØÌµ/ýùøé¿ýOsÓ—/ãÆ .Ï1<øC7“%øÕ†séL #Lwyi €`V°Óýtkk¯6»!ó›G½p÷ÝïzïÀðÞ\µŒ²À~Öe3Ãn0»Éå²#.›ÎøG>ø'Ä'#0cX- ô¬ä^¨”]L Xžs…Ò,˜Á¼«±>#œ Yiþê“—ýÁÏÍ\?ý<6‚‹À×K¥úü´ÃK¥‹¨‡vG˜î(ò €ežaêV €§Ÿ W{~óŽ;Þ{Ï»ÿ(›Û²¹Ç==à†¶¹¡ÜÌï&—­‚Û‚ßJ!Éqå5ñ\ ÔŒQ`Ù) Ѓ¸FˆäR—T*Ò)êq¹ZpùҴ˧Po `%i¸*¥™K—ŸþßšºöÔg‘Ça\àÒâ«ÍŠg |ÚqÐ7ù;ÂtG‘g vB2d ~µÉè.o½õ¾ý÷þÜ_¤¶íø™Ì Ø.-?ùD epÑ ®*ëKK:ðufŒ«M_¥Â#H©YH¯9tW‰ëByÖÍ&„!¸jQÚ¸jyæòŧÞû£3ã'¿†H% ø•üLTmVy¾ºT7«Â¯õ,x42L/e;Ãô>ݵ¡M;·ß|ÿ/þenxÏýð#ûùCndpTD¨þ\©R„H…_þ˜PôÚ™‘$a?FU¡%WÖS2‚´ËeР!„]¹ÂuW.c0ÒM1åé‹ýÖÌÏ^ƒ—‘ô¼”øá/^âÃèVSg4êb&B¥$åËï D°ÓO[¯ˆdË;nùî_Ê컟Z~‡V? Ñ0·"Ô+¡ÏTŠZ|Ÿ*Ä,IJ|>(|k#Ø\F¥€`?j|•`€]ÖJ^tWYÔiÖmva«Tn£aƒ¾ëèŽCßû+çŸyÿ/¹r‰øPC0+vèfcJ›ÉÓ¦ Ý>¤‹ß$3äËï3¬m†6ßÇ«¼u×nÙóÈQA’—LAlÊAÙGñ¿X©”„í±ï¯É.0 ‰8fŒ«C¸0Ú`T ‚ .×PûY·PÇ %`8©á›w¿üÍÛ®~é#“Wû rÏ>‚œnb‡ñCCi@MOÃ:²5ÑŽBd:ŸS·"5´™y¿º1¦—½ùõïÄx~–ÀO¡¯”q²¸¨à㊔2¿hýãTæ›ÍÖ õP@½e]ffÝ&È ÁsÔ`Tq3£7¿îÓ]M1IÉzb”Wˆ+ºiÔŽ»åæR~ºeaÚa&®VàÓ¯-?íÊÖm·¿dxôè+¡ÅPÍiÊ?ŽùW8釩à§×ŒQ ß(à%VÀu™ušu›uœ#\2‡…LÚv×#[G¿ŒQp)ø•_¼B&o2& Àœ(3I7/-ˆ,=²ó¯M¥Àþp›†ÖT5~’ÔÌz @È|ý®I]g}÷õŸ0ȦFv¼ðu(¯bEí?Êkêï‰L|A&Ì Ó /¦^lnhûðèý£„‚S•atnÀ =+ºÏD~¡‰ýô?L€uÜwÛ¥Þ³î³FFï}8›ÞÒ*VÔVüc m‡þ® ìÅ„À3¦ášyÚ‚òÁM{nÉm¿Íç›\DÀ-’%"M/ù±gk˜¾+Àz® ÀKü)LÜ2´åfàBMe b‡Uf ¸¢M£¶÷uñÛ hõÒ0ctk¦Õ®3 }Îd6³ä[y¶ôø‡`T/µþ]|I{dMS Q§É¢ºŽº/ÎŒd†n:‚xa—YAÇ£1ŒFí¸[n.öÃôb4cLCÝšiµµïOŒ/· (6Göñ—úÕM讚Ã(°(àë¶JºÂ¢£a˜¿?*$±ÃKNÅ’Ú µ»¦ LÂh:Ì/Í( @w½ ÷7Sä+¨JO™1 ¬k D˜Ëc@”€I:3Ìnˆm4‰½=PÇ‚z3L¼S£XÕÌèóLKÃh3Ãaæ}ÁR˜EŇÜF4aðÒ„nb¿FõEVy-Q½¾§Ñ-@Ç 3DàkÿŸx 1ÄÇ‹©hRj+6yoI¦O8Ì”ºø¡HÒhô‹دÓ$þóúœõºÀ•ÐH£Èù‚M­œ(žg¤ˆ¦Öu˜`§&þÂЯŒÛZr¸´/tô˜ð¬0‰N³cñýHÖy­÷jK€bEmbI#«¸þp`xAw7 @ 3ÓÎÍôµ ‘]çƒQ:aþ5i³‘¢ 'N3Ú$ÊHÅ­‚GmÞëÈhB=„Èá ÕM»Õ¥… Í‚i|8Í62b]v?>gÄ ±b‹DÓ0ºiºÂEò$LÆ£P³Œõ.‹®˜Q …6ïÓO£vW@ê–øWû—kB›î°ôk˜>k¶Q`cS@ÔaMí¡â$´A±C›&nûÐ.~›ÞÞÁóšA}DýñŒ…áZ£Ïšm0 x !NÔÒ'Ä”†k˜ú—l÷*´z‘\3ÕÊnõœ…ŒÖ]Á¯ø!mBw"´âK’4Ì M˜QuÓNú}ò2û1 ¬ „X¡[b' 㽸¿]˜¦sƒ„f‚îðÒ i˜úoȈŒ¢Çk‡'%b)Œ§÷:¶;m‘Û½T3¥Ðx¡­nc¶QÀ(ÐLÅQÜf¬eÁO§  9»‹û´ sY ¡‰›mXX#­îÅ1Ö zaí^Ü*“a¦»Æ5·Q`#R [luL«^@»—µx»µKÑqì(nZ…'BŸ¤@˜QÍ|˜Ñð~nn£€Q`q t5Ûo¡d“ÐôÜñLj¸Æ3›£¡  W‚û³ä<‰ü™nÜ<ÚŒQ`e($`Žãà_™RôÍ[|€ž'Ä–ò8#®ŠáâéH<§Æ¤ä(tRÒAß|Öd3ÊÖ`Åp”4H–ë*5lû„O+…IW)M5¾±ì °ó“ãÓ§ÓC.30êÒYžEcŒÀÓaÃÿz11a2H˜ -“È«å‚+節 ð@”AW+ϹJyÚUqdtz` ¿‚À&9¥š¿ä2<(up'~"c-éj=SÀ@Ï$\$€¿†£ K?gB—çϺًŸu…©ãÆE*à!éÜf7°ùÞõR7´ý~0‡"˜ÆE—¾ Ìaغ‹ÙnwGcÝÑméO¡/_ÐyüÓÌù¹ésð§å|89MRÂ9òåq7?Õå¯}Í l½Ým½õ{\nÛ]®4Ùå†v ƒ`fŒIR éaÀ$óÖ÷i±e¯”g\µ’wÇÿÂMžü Dÿ¼Ëä†Ðª€  å×+“•££Ó84¥8ùœê÷Üìó‚^ íJ…1W-ÍÀÍݢ̒£€IÉÑò†”¨ô«VJhõ?âæ/~Z~ž‚ìA,›AË–Ð~[h}¸ m`&‹³«e7}æ£è2\v[¿ L`\6ŒgWÁ$¥–Ù½RÀ@¯l÷‰ÆÛƒŸgÁòÜ=rùt €ój™WKW]þÊWÀ JnÛ‘Ÿ˜p9_[òÛ%QÀjÐ’ÈÔY$*ÿØÿŸ»òh÷ó÷3úÑöS€[lõ È {Àô¿ÄƒM¶8ÙÌ+ŽÃÍœúkÌ Ìc$a‚“ Íz¢€éz"_›‡Ì †ôŠÇDô'àÙú7ÀvÀ§å(8 8r zR:tHCV Tic"ôœ”¿üϘ°Ë í­KcFa:·Õæ´ù ¼8Œ,N£ÎcðÅéÓ®R¼ŽVâ¼¶ö5~º2p“ °)”€|Y œ€WŠÊÀ4lò*S˜ 0÷üG]fhKí|‘ËbV!רÚÎ?“=áO"5:$Môá ןXK-øðÑâ+# K` ðóM @°S$à¯gˆW­ HQÓgq³§>àÒC»Ž4o‚ÍáE›2,4´Ÿ%SÀtK&ÕÒ"ˆÕÒ¬+MŸ(þK»OÀSì§Ÿna°áÖ8žA9Pf €!^ФÀ¡ƒ`îô_LcqÑ$ÒYZþ,–Q ¤€1€I¸Ä*Y™»,ýpžâ>^@ÀÓ»ÎÈ xŸ÷¢+‰@4dP S 2~\™ì«`Æ`þÂ'0ÛpL`éÙLÁ$>áFJÃ@â_;ƒÙ{W]µ8)@àp²åè  ø)ê{f Aè4˜ïˆòñ8P—8,¨LýÿâÅϹFÊåY™0dCƒ‰Ðu )þ¼\àSš>‰|ð†Ò8÷­=ñ^g¸#€÷ ß+þL!` R¤B÷)Ep¤€éðÃU¨À0cþ̇]fÓW¦„0¸ƒ™1 ,‰&,‰LDÂ’ßÙsÐÇPƒA× ùŒiI¸Ç*`ë6綸‘̰´úz×KHAt±¡Dv ø%c-ÍÎ~TºÔ?@SØI†-1€D?>ÖþW ˜pQZi¿Šû´Þ>º0´äxfdô7²åvû×p3 z¯<à„!™)H7º¼0I¨4ö5Wºúј³®@¢ßt}'f ÁïK W0ÿŸ}žÂ">’"ÄË;ýP\¸›€Ürô§00;‚'•E0 >ƒT`ËlAÜŲ"ùU½@Væ¤\þüß» ¤JiÚsyýÚSÀ@{Út~¢:·úªbÛ^¶øœÞ'Ø—Ÿ(]ßQçœþ46Mab϶mw»[ÿ¶Ã’àºï%Q ’1P‘˜¡@&À?t(¤\ Cƒ…sè ±u:ÿ~ð cI~t€’ u>•¨—?iÅ=øÅÙôNöIì x{8ðwÓͯÁŠ¿b¤hhô¼ Qzþrà—™†ˆºåñÇÑø²t¼É>q¹ÍÓD«MäèÑ VæÎC³Ç™{Qkµüâ×0/@ð'¸Á ,ã:Ñý 6 =Œ @·F߀[€ÉŠÉ˜t†°‚ž’eèd®@>0ž"ö¨Ì¡+€Ýˆê¯ì±höøú¤€1€¿+[ûÊi³Ñ%± B¤œ™V0Њ*݆ä•üU/æ?âÞ¶È”ªØè3‹í¿+) ‚÷]Å/^s›Gº›½ÉU*œOÀ;aWÀ3™* à™˜È`8[ :þ&}U·³®@·u}?g ©ï V9€²àvýk¼Ækÿ©è£8 lT¡É§á¨Á$N:s·Üú&·yç ÀUЏƒç¼ø n¯À,Aa‘$ ÊAtdTÀ¹Òtf/‚ L7º$|‰£@Dc U»ÿr °o±}¾­†»©é÷­¹¢»º ’[zoÈ.TfÝu´ÜGî|‡ƒB€©C¤2€ŸïR&À‘ÙYˆ Á,–Ï_ÃTápe(%+˜1h„"›U§€1€:)zu¾Ø©§ EžŽ´L­¸Â¸ q_úçè”EoàŸ #`¬¥ 7ˆÃBn9ôft*t²íˆt1aÔ ü^7&½BåÚW]yâq‘ünÂöÉ[~— hµ!©Ù{•ÂÎú¤æÝ“Õ°¥®Ëõ·à„2×d†vÓ͇~°mŸÃÁ¡' ×ÜÍ¿Ãm½éA0B›Gdd@:¾;@F ³©Äü‚ F$Jç°b] NRÂãfŒu ¨“¢G†âª«(Ü"À ÖÀù–=zOÔÿOqûolëÕèß7òA&p]kÐ >òc8CpFTðr„JlùÙ¥ÂÒ`×ÀK8”À•.~Jºœ_®Óx‰¹64¬&$ôù Ä2Fxø'›Yþ©‘™€ê ì*ÆùshÄnDP†q3 sè Ü ¥ ‡ 壱+)ù.™À GðGàsv`VfrT]«_v•©gÁ0MLÄŒQ€0X=€š.:0¿OÞ·Öþ×÷à9;˜Š¿ìÐv,ãÅ@æxv(Ì#Þ)HÐؼý^Œ6p†Ñ½d_?žá¬a¢À#ž)sš0òXÅæ!&Ä)½1ýÆûîÔàPîËǦ——"Oð†PPEKœÁ KaòŸkc˜ÎUtÆ 1Ü~äDZ`§ûn`~¶ DˆùTêTá æÔfκҕϻfZW  ±7X°1€$>8À&s hk æ­¨ÿÐx³uw˜ì ?XÈx†áÜiŽ l=âöø.W憣Ð5‰¨ñ é"?:ç*Ð Øæ! Q|ýß3Ä7F‹\Fÿ¿*cìͰWLÖ_µØôsPjpÛ’Ÿ!¨gÑ8‡Í?n9ô}n`ó-à%‘(*Áta2"2‚Ÿ]êüvb`v,N¹’tlóÒu£c |yŠò,ÁeKNÐ-nȪhýG]cô‚ûøÌa4àÖÛ+ }k/]0o„ ø9&ÀQù…äÁiµë8½xìÿaóŒ Øæ!~†uß@"ŸŠ8ìÌ ER‹@[>à*û ÿÏI@x°£\0éJÔÝõR·cï«Ðà)Äd+^'àôR€t8I²Ô `š0ÃË>…ÍC. +0UÏzG™±È}Mc‰|>0€âºõ: ðÆD½¢àH wî˜Üž¥éÂT Þ)L>ùý·~‹Ë`SNCæ{„ àWH=$™*Ì‚ðS Ha(R‡a[Š+Í6Šm  ×/¾u }òvºÑ4‹ÔÕ Â9•ÛŒN=@×&0効Qwð¶·¸ Òæ97@Þ#/òRéi€úºy TeAë týúøAc |<™í\ON¤z/ÚódŸ:ê}û/sRXPÅ_3›¨§°¨ƒ¯„ÎÀÉÂU·kÏ+ÝÖ]/ÃZß7Š>ÀçR€ü ð) D úv ÊþÁº‹R|ýE0Ðã7¥ú­ŠI@\ίo€Z™@ãEz03ì7iÜéÜÅ5€×ñþËÓ¿íð[±bʘ2\¡ ¢’¥rò)€Ã‚üà A—Çf¢‡2Óº…þ}Â@¯ßލÂ$  †ÕRµ€œ ÐxZdaøá€ô €ìüÛˆÒ• à~3ûÜÈ^·û–°xˆ‡ ‘ Hw€oõ|¨I ð¨ ġ殀-îê[ôÙCAí³œ¯™ì¦¡AÇ´Úʼhá5[Þ"À{JXÔOê°hé“€4ÝV6?b H®Ü‹ÉA[v¼H6a\™ Œ‡úH  BPÜìˆ:ÐÏ#)ñt¡9ì#†ffýSÀ@ß8…ùüÜ œb79@½áW€ôéTÝ<=”2™lâWõõ˜yœ"þ5l~­Vt·Ýñ6,0ä# FR‡v˜é¨¢Y€Hì ®ã Ñ`±ºE1fU$‰ï³VÓ°¯Ûë—Á¸^yž[û³Z%çîDà¯b¸.‡@Ë\BF~ž‡22‹ÙÜ<¤„Ñ š ×øQ†‘UÕ¥™@Å ×HWàÊ1Akl!’kÝc½~Z´¼~@cܽ)I¢ŸÈ Gx@޳¡àIÚo2æöÞü:·i”›‡@A )€º2•(±øÑ2ƒhh+ÑêÏsKñ³®Ì®žå$d3ëöU{þ¦UœÀÃÓ€nr=Œ·äv€JcÀ$NJÒ°e÷›‡”eóTfB8/€—ïˆHGÒB³@€?v (™`ë°üóÿÇU1åØÏ¬wn’Ì®¥µÊ0ÐË€ÈÌ9\ıô¸‰ÿkË+‹s0 p9ú×ÌÙ̙ҸÜrØí»õ®$óüÁê:U2vC ÐÉA²zL 2ùŒ+\úGì#ˆ¡_°½â_¸ÿýÆzø†lAyö0ßÈ¢Ô }ÿGQœC€™á½˜´³øF Ýd]9è$NsKñ[ÞˆcÆî‘®Óª3Qz‰$bÈ——R„^€‡Ž/|Ú•§žƒÀCvÄX7ßc-?c  —¯­ÐÀ IDATäÔ0üW)Ðã[ßHЗ”¥ á>”~î”å Ž€ZC&p¹2‡Ó…*î0NJ¡ËÁ¾<õõ¹±Wst@1Ÿ.ž+‡ü™aXpN=jËäb‰™·/(`  ‡ÏÄeÀeî²  Q”Žþ%E÷éQw]MÀ±wœT«&Ûÿ—G?Ä)ß{’ûn¹~V –D•'l Ò 0ºèÐúSH„‹$€áA9…˜„fžwù³i§"Cƒ¶XDæ¾·Œôò ɰ”Væý‘ Ið^àCDáàe°(ñe4¾+PжƒÛ‚Ó…ÊÐYÐø¾¿‘Ï"$‘À¸j°ˆaÁÒŽC—‡zåÐ_HÆìgE)`  rc@eþ2Zr.Ž™zs°aèO½ôͰˆsVBšö]YwÃGîüIHP>¢/¯Ã‚”øÇ¼ø‹@Ôú‹47õ`ó(ÏÃÐ º<`d64ûæ}è5ÐËG@Ê8v‹û°õŒVÔÈ*Ð(öçpH…gà¹å6̳ÀÓ…2#ûÜ­Ø;  ð2\‚Ñ}‘ÈrðOÄ*ýà:1}Àò|µåOÕ@·4†Pž¿„F”¢ts[î[û†ø/ÀF ÊíJf€óN@ w8ÅK»ö<ìöx½Œ 0÷œb À'IÒ 4… º/U(?çNCÀydÍ$è0g}µ(`  KÊc]Wœ>Æq¶©ýÚžz¿`Y,Ó­ñ<Àö2C—9ZÚcTîMÔ î,&ö>ü#8bìN”ç o((…yÁÍ<Õlý½,ÀND$Ð(^ûšË_ü4æ˜>@ÈÕ‡?ƺýhF CbRó QH{訶_‚Ãe¹e7´iŸ+g±ï*1™@>‡MLæ0ÓïèÝïqµì²‰éA²RQsë Ãí =ôñ‹2{… ¤J¸æ°XéúS¦è¶­òsƺøEßòܥ槣–“,€-©€Ÿ6ôAüâa < DúÍ>|¥É(·œÀZMÛŽÈ"Ü3 |VyâË!eñ¦ðS!H€•F† 1¥+¡ÜÌ©@rÍô+ý!xŸ1€®ˆ˜‘@eôƒ[¯óÀñL@ØÞ‚%ÀP£e‡÷z«Ovꦠˆ< à<ø8\ä‘hh‹‡Ù Â2bä"ð—L€O{›]òü7{ú¦èª.­îC«_W·üݽcã%hÀKG¼ñýfm9 ½x¿Š5…Ó|·ÞÅ[Z}C_ÂÐ ‡ï¾ó]n`ÓéÒPh‘AJœÅ¨Ye€9—®€Žp#‘Wûš›¿ˆS† µùJ°µokí]û9]K9¬e\iê&aç\"æ£ð'€àFœ NÊïYñ!À² 1o§0ï:8 }ÀÏàÈñt(P ˆŠ&Å“`ßwÒÜY:˜@©` †Š¦hGïµn  ‹¯ÂÙq…©ãÐêa9/@ F€yÔMÛ÷©ÑÿÙãjØ ˜BöZ1”84x<ÕíÜõœ8üý N¥%%^4õ’ÒAF ÌÀK\âÌíѧOý•ÍjõÇ1€¿7ó¨à ½âìi6'<tmQ=à ¶¢ òˆý¬Q èôà—¡=/ÍœCŸ¾A>ÏwŸjH&@l>„U€½œØif—ŸíøyÌlœÀ¶â÷Ýó³Ðì‡"€» ³L`¸”™1Ui÷#ðÓçG`£ ‘Çü€95fú€¥€UŠÙ¨Á«”þ{-€Ø ï†kµ1† Ëåñ/´’97` ké×b£ÈÑ}¢ZtÜûsnË—© ñЃNçÙÏ(Cü‘n@õ³*7yEà'ë£Q1^¿ •fλ)¬®@q7ÛÓP²Ÿ¡€1€%™ýÖ*¦ýÎ]û9ŒÛb…†ÌFºp 2R‚ŽšÛ¾ý®€ññ~3À‘>åá}¿ Ë™¡Ô²V£s ´üaùÈêtƒ Ì]þ²›¿üy0v0bCƒ!ÉVÅm `Q²£¯¡1žÿ7{å ®V¢2l– €O`d°öûî—»Y,›]à©Es±Z˜gÕp~Àý÷þ–3SÀÒáOu,v<“¾ÊÜW{ Lb¡$)9`$ßü+Nc‹œ-Y}Øù±qùÉã.5È–¼¹ªÞ4Û$²ñ$jöÑ·çª>®ÑÏO=ãæÆ¿Žþþ84þSÿ/bÆüÄzŒá·3ìêì70€Ë–îv,¥}݉ïh—\ß…“>¢(Œ¹u÷ÜõN÷µÇûf0DèOf¡<³ŒX¦rΠ´éÁº_t#Uؼëå.5pcW+ˆn΄)°±”|eìä˾>Ç ¯ø 7}õk®Tšo"k.›“1nÞ Ýb/!’™¤]“/[~Ýü½˜6[ØîfæÏ!zð|Ó[úß#úl-~Û£ßyèûÜÅ+Ÿw/}Œóÿú,;QIê ŠÎýx¼Ú$F·AiŠˆ¹Š0ì’ÑÍ™06HÀ³Œ3ñDч%½žü-7~áŸü8­رÁ¿¸Ñv Né÷‚Ô°Iè®/t‡ý+wÛ†oîÀ% å]ÿà½?ï†v¢Ø2(X·µáõ!mdÙðÄ3nöÒ?†ý9c2,O?¹7à²Ý²+¡•b³8wÖì7ÜÌøIùN„þÂF«o<–2Vv 8÷op³û¦þ»†÷Maæßzný•"ßà‡[‹`ÏÃ{ü„¬”Y‚àŽ¤M; j¾/åÜä¹A/ss/0Á(Ž­Ç1DzP`}3ˆü\tRâ^¨…óןpþ¹é‹BÌfð7ª)+o+#Õ¹1X€(þ™,âsJìýGßé¶m¿ß=}Â:–üo œ: ÉêÈ¡7»Ý»^Š¡A.öñ£#lù}ëß q=á ðaƒ•Òä%7}á“øfœaØ"ný!s$EÖ5=©ÔW3€Ÿ'Ô”p„7'™L]þGwþÉßuó³cmr¥5ñÆÛ¾€_o‘ DŒ Ã>,–ùºå;Ü Žü¸;ÌCØ­¿’ƒ6µúW˃y'£D›W]jL³“£À:e%Æ÷KÐP£iÁL¾¿vçŽýw0ƒé&ÊaŸüù@_+]iÍ%¬^QÌA™mJ \)¸oÿ«Ü+^ôïÝe(/¡/¼ÑÀOZ …ðsº4æ¶ŒÞçî¸íMbÅÉÉø ™§ÒÏÓœÏá!ÐYž‡Pž½Š®ÀG¡«áº‹úÐèf'LuÆPjú¹o?ð`+wåÙ÷¹KÇ?€©¼‹mÆ!UÐ-¦`¦¸Ÿážÿ¾W¸W¿ì½.sª|]ªl”RŸjí'GÆGéç ÷Ýñ“nóÖ[…A*ÍhÇM<,…¡×Ù+_ÆÉKÏatÀtqz%í_G €j¸ªWöq˜«ø.<þÛnììg¤Y³ j‰Â'¤Î²šrr‹Wø p=<âÜzËÜ·¾ìw\LçHyY"»Qáï‰F&pK}çs›d– ;")Ez ¨Ÿô H–¢07ŽÉX拾˜Y6 ¬ð£å)CÙÇi¸Å¹sîü7~ÍMa&ßb†o|Ec€†­<ÿÄ-3ÜЙ€.a`uÜó÷Í/ý-lŽ‘vOanÁ4ÆÃ7¢è/ ~ˆe²ÉSØÿïÖƒßåvÝôBtx²ï +%¨c¸½”f®|Û¯=Í4]@@âDýÏH¯é¿ Â@ø†ù~ÝÍN>¿dB53TQ0R¹†«$L ‡ƒÃhõ‡0-xܷ<ò‡îÁ£ïvó4ŽÑZ¹¢? 6áR)¾àè»0±ÇϨ¬U›/£\J¢Ÿ_ß´4?å®cX°ÆåÂ&ÔMÖ¹Ø x²oK:5T”*ÆŒKhmxÍ$Χ¿rü/¡üæ“2vhs2Ð0ÒË8,PÁàÜf· Vßöfw˾os9¼w "ÿ‰êŒ›ÅÇîðm :Hrá/Üõ»yï£îÌÙOÊöè"úó~D¶þ…8iLʚŃóןt#7½ £„àÑÐË ßJ±€€Ëw!~cY‰?óAwéÔ— ìkOZ‚8‡#¼°åÈà·»ùnß~Û¿çUn7føåÒƒ®€é4Ôç«x·õùÛÓ+Kî‹“nE¹uÿkܳ§þF¤ù=Ö[µÿš®JÇÜÈΗ¸´­¾~öVÐR®¦Ý €à—1~ óüܰcüÜg{¤aÖd!È£åàžŸq/F¿[Õ¸€?Ãýø«èÓNÁÏÖÊ€¿4r³¡/AJ:‡U‘÷ÜñVw³üÊ¥¹HµÊ4?Fr\¼…#ËŸÿ°ÂÎJ\>ÌyT3šI†}¦DŸ-JŽçq—žüžÁå?n-Unp«{äÅ¿æ^vô=n éŸ@¥=ð?†ë8Z~ßêsH+”_“ùë9nrÝ€,|ú“jA¦-À\ûî@ƒ5¤ —™½ú Y²íç¬gj­|Ùú‡ Ï_(Ë…IY·ñÉ÷ºë—þ¥'ŠQÙ‡-)ܦуîÕ/ÿ}w÷¡ïqWp*î±Ò¤{}ý 0™2ZɀߩÉ.y´øyì¿pß]ïpC[nbHsbôA¡N Å:讟ý¾ÿ$F|0¡ uÁL2èJüèïW0·¿p^xâ7Üä•Çz¢À úû óíØû {Ý+ßïàìsóWÜÓè^pBO-Aoí}Od–‡)\ƒ†Rõð-߉ Y°Pˆ†->‡#Ãy*HÜâx@ÖM=îf®}£>Í{7è³fwGþ`þÉ ŽÊžóýçúRÞîŠìd…9qÀK1ø!¨ïÄsn 'ËÎMwƒKÚ±çF¢p’Ϧ˜¦¡éÑ?ï^õà¿“ ;aBÏÅêœû&îßH·$Cös˜9yôð@ Øƒæ» òÏ+ÿÌËku*6=Ü­‰f[‡¦O@¸.ë=D;CF@½€èX¥õ’G–ð£ñ°ëyXÂk×@–xô kE·ïžŸw{ö?,}:eÔôçÈF†¶¹G_úëî¥wý´›ÄuO•ÆÝ}œÉgà_þj@*O@¹Zƒpäàwc;6îš„‘t” h.üº6ƒádâù¹I¬ðüSèò˜ñ9Žuç}·óB(pZ8×…ð‚O©8ÑÆæ»£ø‹ÛÆ Å….æÛÍ÷‹é‹yÌ)?8¼Ë½ø¡ßwŸøÂÛÝØå¯Ét]ÎÕ_ÌúØkÆ o»Å½ ‹wnÅI½—°\õúûy|x›Æ»“»/#$uœxsýç碽ãÍÓk›oNsÙgþØí¾ë'±nÓ·¹û²˜l÷6HJßÄ õU[]zhWÄ€KyYê €åN¹iôsØgÿuÿ±Û¶ó‘î… ‡ùþ-;îpßþ蟸ƒ˜—þ<”}Ï`ûo[º»å–鹿ëØ4¥<¸ÓÝ‹ÉAe¬åÈ·ÚâÓV7ñÐ4m¡+pþóîÎn˜Æ¹B3Žj‚eÚé!ìF´³yÀ ÛÀÚ^8ÄÇÕgZÛ’&ŒáVò ]Ò é£5 ‹±Çþ«æ&—š€hw¬pÙÝ?´×½cöÿÂO¸™‰“Ò7Ä–Ÿ7ämý}ȆnÇž¹o{迺mÃû é¿ìžGåc{Ò'œï†rõ{€Jg {¹ë¶tOãÜÅ)nÐ M;à·+óÌøqŒýžÙ†‰\;åd¡Lv‹ŸÏp+8¶Æl@Z×*Zny?ÈîE]v†Ìâÿ0Öì½çg‘69»!k×ô ù(ª_'Àî¾÷`<ùÛÈ>÷v(„(Bæ0|×` ‡yîÞÿrìÖó»nÓÐ÷v :ðó#øW·BR­{Š×i,¸zðîw»Oá!¤]¾„ù¸×0Í¢#¼ÙU€^€×Z1”<È|úáHø¾Â+Î5(ížØb¯~迸-;À°%7þh<ø nßÁW¸×=ò§nóž†Ø¾bšþµÍÇL¼º C‚>Š–µ½‡õÈÈ üø)ú‡â¿>¿Ví4†­ûÅô QÉ.£õx»ÿÜõˆ{ôÁÿè2#›\"äˆýwÛá7¹×>ôßÐïKüWÝ%hŒYаmé—´^óÉï8‹T.bqÐÃü[7´é&0rŠË~O–»ß€¯ßŠeë—ºÖw €D&y/€ Ÿ¿àŽx{Ń¿Šñ}LíÅ”Ó#w¾ûôý&öésî‰â5‘LÓ¯Us­Ù8`´4áF¶q/ÆVâì2gD ðà_k¹]ùé@H|Ï]SPè͸ÌÜewôà]Cò¨LÞýlÕ•wÏÂM?¤ÜÚr³õáráùKîþ;Þæ.Å?ña鯠ÀíWèä˜sVÔFOfM§/)©Là ™@!åî=üC: -í3X04ccük²ÂÅ3ÅE®a‡%nòªýª›š9‹y_•Ÿ…%Ì󈧷ü•â´@ÙÖºéË.€UìIL깊Õf“¸ŽaŒÖÀ¯$Zó¶|CüœÂrá"Æä_ÿðûÜN Ýò‡Ng|®ù®Á ö5 =Y¨:zÀ?VžÚÇr‘ýl¨4û{‹²°åúë^þ>wÓÞ—b(·$+7û­l\øDɦLß3™…à2Þ"ú“ë¢@ýPsÎ#™·W?†!Û ݾ37ï8òý؈´bçb³>ÎNOÉõÏÀ:šG~Û<·§ºµ®¦ÂVæy`è6îÀ7¿ä7ÝÃ/ûu·}ôæsxFÐÝ‚>iýY™úV ¸®‘° §L Rswd·º»8Qh÷#îøórÏcñÐôÔI7˜ÆÎPö¸™×PÑ[6°(Èæh ‡ÆÖ@U±,4S€Ý®ýxŠÁ[±ü¦Ì&÷À‘·»;}¿Çqa.}ÖMMÇuÊ1zPžU°€ k%C¨bJ±7¾”ÆXYI㬂,'›µ1ìû‹Ø²LöXûàg1Œ´ù˜¼º àIÃÏ`dg [´ïÅÜŽ­8hhÙwÓ7aËö9W„âwŠÃYÌ -`‰w { òc`%û À.bébf ‡å»ÜT„+ ÛîWÀ)¾CÃØÔ´Ö¾³™BÕ-‡°¡lû´Ú¼bU‚¬ Ùí¥K¡™atS¹'°ÊnkeÀmØ–@7 ㆱòod˨» [Žs)0›{n#®†-;÷’hojˆÅaØ%*U[šúx±>Y¤ÃdƱr•yoÏ*Úçj%ï4¨µ’oµw–Hˆ ¥P?Ž…`ãå"FÒrXëÖùs‡GžØœãÒ_D΀"ö}´ÉD3U+ ö"Q§”Zxyo ÒÏ Y$¹Å²µ"÷¬™í%½R€`Òá5ùN¡ß? ýA.­¸Üç[<äÙúbÏQÈ‹·ìeH Œ¿˜ñqfŒ³”´{×JÝ7°R”¶÷$F:3 #2 X6\ ±(ÓÄ4Vk;H¦u„C“N¯Ã×wÝ@Gä²Èk•í@×.|­–c¥óµ¸|´Ò9²÷Œ+Fc+Fj{‘Q`íQÀÀÚû&–#£ÀŠQÀÀŠ‘Ú^dX{0°ö¾‰åÈ(°b0°b¤¶ÖŒ¬½ob92 ¬Œ¬©íEFµGckï›XŽŒ+Fc+Fj{‘Q FYÔ˜º»»"Þ5Àl²æŠ|i{‰Q Öh‘+ 2 ¬k tµ^°«‡#cÒ ÀšóÅ(n÷u ´„˲½þʘ#I —JãWǼ}µz:F=óúœ0zîW¾IDATI2’"D7Ý¡¿~¿åÿ&t7BÍeX¿áÑQý7°=‘(iÀÌ´*MXÚz†ÉÔ¨Sm 7Û(°^(P¯ÛZíeߢ„¼YKé-2ýz1Œàý ëÉôÂÚe„áíM [µb &'»¼Å’¨S¨ýãvÇ(Ð×@•¯¤^ßýP`µZàÖ‡ Šz4„i«†%B†^ÀR2 …ѸØ5¹2_#ø¥ðÜŒQê„ÐhfÖ+ ¾eÖ2€*¶1/ÌÁQ¿Ó‚­î1¬Ux‹Ço ê”´{Q</´éNUËó×\§0ÈòƒPÚ$Bä¿1ŸbXÐúím9D@Ô|ÆÀÆ IL6Glø§A§  U˜Y5ñŒ3< Ëç/_¬TfÁ°kÔú{Bx1H0‰@éiö:¡@¨ï¢Ä«R°Ô}ú*s•rþêy7Ädˆ¥D«0½×±¾¬ã‡Û<Ï ý4´SÅùkWËùk—}·¦ Z„ÝuK|û1 ¬; H}'¤‘ó¢? YÎ_ËÏ^.š$-?±£"²†ÑVl-Þor'Í …™¦[î•K…™Ù‰ÇãI.5ìíîÀB&àséš²j£@RÀ·þ¨þÒ×§Íúzú_ÃñgNx…¥„ ªpGc‰}eKhÕ(ÐTŸ¥ŽCòE¯ü¬ÿ•|möÚW¿á…y q£˜ Ë ÷5,î×ðEín€&ÜêŦ" ýꦙ™8ûÜÜÄãOâ´Eg·^  ;ìPB›Ý¨ƒŸYgë/u[%^ÖsßúÏM<õôôøé§ Ö±¢8R[1¤~µ™zצ[ ã’úbÍ íxFÕO;r—‹×ÏâãÕJc ˆãÔ\uQGˆ¨$ФDÑ·šmXƒ`]­ƒŸuX$\íî²õ‡ÆŸàgx¥T»~þãÇ©ƒ…øADÁ‰âEí[a©NǤ]ä7©“˜ ½øJÍlø¦±€3ãÇŸ˜ºø©ÏüŽWÖÊ F&ãª8è-Ýüt'&‘…›>\¸ç‰Ú('Ï…3cXm H;UÏë- leõ† ÀÇÁ¡µ*ÁDÓY7uþ_œ{æx€XäQÆ!àG´ƒ„ën÷fºeÌŒÂ/ž1ͬÚZ Ú!wscÏìCC[ï<<´õŽ›k8þ™†‘Òi>šÁ ÀIE)J7 £ V3á%‚ýV‡‚­ò¬›t³Õ§ª €¨øhñðCñW˜>yqüìG>ˆˆŠ‘Æ„èÖÄiÓh˜÷ùûê^²Ý-à 4Cqw˜1-Dh³¼”ž×¯<û§ÿcß½?÷îÜЮ­u&â¥Ò9‰¶ïñ$÷Æ)u¸Í 3FU¦@£!b5§Í@\¿×øøÿÑСâb(|úò³òç…¹Éq<Àš .!¸P|„Ì€Xcâ´iÔVwè—KýÁÔÜ¥?›j ŽVDR@”ò"CÑkn G¸CäÇ5\#‘{¶Û½ v•J>\‚[Ž .ç§N\†Ôû?ç¦Î=çp)øC;d |‚ŸÀ×K%¦¡Ò`¹€–‚_m•hüz…L@¯ vjpdÛ®íÞð†­û^õÒtQ¨<àSàðàà³H$¸oÆ(°:hø“>¿Ç£ïûøi(ü nêÒ?}eâìG> ±ÿ rªà'Øõ¢‚Ÿ¯àW›àçKÔ¦[ͲK­ÃØàE´Ò¦øÏ+”ôPÃå¹-;î¼gÛͯyÅÈöû§³#Ð’à®üÀ!}0E¿â´£ÀŠS€Šj`P¤úÈ`¡Å¯VæÜüø“'0ìýùéñgŸ@¨Šï z|+ð‡­?ÁOÀëó}xÁ+fE1È–_¯ ¨$ €ÚÊÔ&à=JN7²yÇáÛv

µý¥jyv²8åJq‹ÞüÜ~‚–ñiÔ¸^q ÷ÕVðk˯ €€g˜‚_ó#v£K‚‹˜^”€š´¶þÊ”¤*Ð&°C@¿¶þqð3^x)cá;ô= £[m8ÅÏ05¡[ÃÌ6 tJŸ£[ý´ Fµ”¡Ÿ % jÚÚ‡L€nJá}?Ÿ×4ø´õâ»xÑˆÝ  0“0a˜1O3« %qVŒ6/%4Z-œ¦22Ç´õÝ­À®÷Âw˜Û(´2­ÐÍ:«-µ—6A® Á¯Œq覭1ËiòqAõúOwÇ&I `Tb0³ SàÓ­W¼Õ3®Õ‡৛Ϫ”¡éЦaú4j{ß~¾ÃŒQ º¯'êW;$Ý V˜nÚ úÐVÐÓÖKA¯Ï2½0M¾S/8›Üôwe’`Ì”M3ÈŒÓ0œ E£~µ5ŒÏÑÐVà«2>m^LG™œõôÕMÛŒQ „u4t³®k½UÀ*øÔ!øÕ­ÀW[ã*Ðú¦M·b+‰2I½›„˜‚FÝ´ihëÅBÐ0®GÁO;|Vï«­DlÇ|˜&‚Å0,4qxÏÜF8´>kxè×ú­6ë¬Ö[µC@«›à'àéW7mõÓÖzO[ÓÕ÷hâ6¢ –hwd’øBÍÝÌ4 G7AªŒÎ&£Ï)Ñè§›ùâ3lå© Ô?´ô!#@Ô:cŠ»é7cè†ZOù¬ºiób= Ýô‡WþЭ’€‚_AølôÓèû¼¯‡ß$€¶°š9f–à¤Í0ÞgáBÆe<^Úâ“0tÓÏ4é§­L ´lL€D0“XGÕ¨[ëmh³nkA¬ Û øxx<¾C1¤ïg~B7ý]™^3  çË™I%ïñb «à׌kµ7N8æ/~¾#¼ ü ˆ™e¥€ÖY¾DÝZoi+@µ«­õ™ §;´Cà‡÷ôÚš®¾ AM¸¢ŸFóä}üöÂZ½†! ãfaÔ„qF? ʼÐVâø$’2‚žn¦¯ @Ý’púiÔö>û5 $CÖUš°~+Hµîòž‚7³º• ´ò󞦦¾OóÀ|ôlzeÌL6Í(Ã4£,Ë«Q`Ó¯ÏÐf\Æ#Й7½>d|/Þ£Q¿º%Ð~Œ R@ë´ÖY&­@ÕúK›u˜áZŸÕV€+øãvøL˜Ý4´Õ--ü¾$»WÐê%aé&@Y0Ú,pXºµÐJ$Æ#ÐWÝ´õRÐ+àCÑšï™1 ôJxfzZC›u¸UÖº·Ydžkz ӴିîÄL €™ F¿†³ /í0¼õjA |« @¯6ÓàE?Úš¶Ú¼ºé7cè†aVwhkýÛ¬óí®üñ8Ì£¦¥núy…&îï-Éhõ¢0c¡fž`eaÕO[ïë½PÌg/ÆQ7œõ0ºyO/õkºô›1 $A­S´ihÇÝôkýíà‡ @Ýñ¸š.¢Ô߆1<“`æÂÐ0Œ«†U¿š~«„bZÊÜŒ§nµõYM“áfŒËMÖWÖW­¿¡­õ[ÃZž÷4^<­xºô‡†Ïöl’bÌ3Ô €ñŒ’Œ§€ÖçÔ&!xvtu#¸þ,Ýa8ý4Êâïöwí×(ÐXÇhXŸÂ:ú鎃Xï3\ïÇÃâ~D­¿CÓcXhøL"&IÀ 1cJ,Í PÃi3,¸†ÑæÞ ™nÕÏx4qÛ‡ú_½—ÁÂÄͽî)°PýÑ:Út·ò+Ðûíl4¼×ŠÀš~«{‡%͘fP fH ¦­s—ñõb8Ý/dzOÓW›á4q»0‰l?F%P àâaZ·™œÞÓ°¸­qÂp £ÍúÞÎhÚíîw¾ €™`F[‘÷´€ p†…ñù¯¥?þޏŸi›1 $M8ÕÚ¡›ï§_/õÇm}†áq³Ð½xÜ%û—‹0šáv T€3ãÄm¦>KwÜÏ8jÂ{f¶Q`¹( õ[ÓýtÇýŒ§aílM+´5n–˜{9€fR Ð  zO㪭áú m c ×øq{±ûñøæ7 ,•a=Œ?¿§~µ5¾úÕÖðÐ^è^¯'÷J0Í ¨8õžÚúL7t·º¯a´[Å ï›Û(Ð âõSÓh†…n}¦ÝIÜvi,9|%€f*,àb@ ãÒÍøaØbÏë;Í6 ,'âu2ô/彯_JšKг ÌX«‚‡ æý¸±çÃûæ6 ¬4âuz±:¼Òùkzßj3€¦ÌDžVl/2Šø=ó’¦@¼ž.”~'qJ'ñ{ øÛ-A£€Q`U)ŽÅ¯jFìåF£ÀÊSÀÀÊÓÜÞhX30°f>…eÄ(°òøÿ2½wþ`æ¶èIEND®B`‚ic09¿-‰PNG  IHDRôxÔúiCCPICC Profilex…TßkÓPþÚe°á‹:g >h‘ndStCœ¶kWºÍZê6·!H›¦m\šÆ$í~°Ù‹o:Åwñ>ù Ùƒo{’ Æaø¬ˆ"Lö"³ž›4M'S¹÷»ßùî9'çä^ ùqZÓ/USOÅÂüÄäßò^C+ühM‹†J&G@Ó²yï³óÆltîoß«þcÕš• ð ¾”5Ä"áY i\ÔtàÖ‰ï15ÂÍLsX§ g8ocáŒ#–f45@š ÂÅB:K¸@8˜iàó ØÎä'&©’.‹<«ER/ådE² öðsƒò_°¨”é›­çmšNÑ|ŠÞ9}pŒæÕÁ?_½A¸pX6ã£5~BÍ$®&½çîti˜íeš—Y)%$¼bT®3liæ ‰šæÓíôP’°Ÿ4¿43YóãíP•ë1ÅõöKFôº½×Û‘“ã5>§)Ö@þ½÷õrŠåy’ðë´Õô[’:VÛÛäͦ#ÃÄwQ?HB‚Žd(à‘B ašcĪøL"J¤ÒitTy²8Ö;(“–íGxÉ_¸^õ[²¸öàûžÝ%׎¼…Å·£ØQíµéº²šua¥£ná7¹å›m« QþŠå±H^eÊO‚Q×u6æS—üu Ï2”î%vX º¬ð^ø*l O…—¿ÔÈÎÞ­Ë€q,>«žSÍÆì%ÒLÒëd¸¿ŠõBÆù1CZ¾$MœŠ9òÚP 'w‚ëæâ\/מ»Ì]áú¹­.r#ŽÂõE|!ð¾3¾>_·oˆa§Û¾Ódë£1Zë»Ó‘º¢±z”Û'ö=Žª²±¾±~V+´¢cjJ³tO%mN—ó“ï„ |ˆ®-‰«bWO+ o™ ^— I¯HÙ.°;í¶SÖ]æi_s9ó*péýÃë.7U^ÀÑs. 3uä °|^,ëÛ<ž·€‘;Ûc­=maº‹>V«Ût.[»«ÕŸÏªÕÝçä x£ü©# Ö¡_2 IDATxì½y¼-ÙUVwz÷ÍcOR«_÷{=¨I­–r° ‘$!þ9`1ú—ûgÄäØÄŽã_pâÀ?à8‰ Ì$Ãd‚„„­¡ûõ<½©ß{w0¶šMwAG™îû¯«ûñõ]ïGtvášdŒtöxpT)B@ì_Æýž”Aq“ÏŠ €÷C»ñ¥!„€!0Ê»YFÂeTÁåªæol·Ï?Þ«QiB@fvŠ˜›Þ©;uîæ+Ÿ é4MƸnÍVÊÞJžqÕWå! &qwÓ»v\eO:†•úM›Ðtã+€l"²QY¥ãT£èl¢JRB@ì Òwß(ä 4Oý"G)£ž'§eßlYi¹ž ½±[½ƒÊج|3çTöfÊ®B`Fª£¼ë 3¨ țʤ¿iY[-c£sLDú~6Ò›¸°›ò×eõø ó Ó–––7ª^šGa! „Àn P'ÎAﯺ^Z×zÚ 2Ò<3_]Ÿòºþ°8ËØJÞaåNDÚ~4xÃ6 pS¾º¬¯Ÿ£ž¾Q¼ž£x½¼ô•.„€Øi@–£¾«šôH¶Lc<½ŽTF½4= S7Õ£,ÕfÞÍæVæ®§í'€7h3 6åIei¸^nš6(\σxª›¦’Sg£têÉB@ì6£e“dõw]gÈƵ¦áTiuW?Gš·®[³ìÍä©—11ñ™qn,€«Ú…Í€xC6j=OOÃi™©œaú©©< ×ÓêùêñzÞzºâB@IG`3dY×Mãi8½fÊé#- 7é6é ʓ毇·’§^Ʀâãäì½Þ°Y‚Lõ…Ó›AúHKÃõ8Óè§eÕu›âƒdõrB@ìEš3•áÝYó:)§9Â|ßÒ§Œzô¡O„SÇ<¥ú©NS¸^ß&‰•íÕ€A7qЩþ 0ó2½îJ‡œº›Ñ¡nSþA²4ÃõsS._!°ÝŒJ–MzM2Ö7Mc˜þVt˜—>Ë€ŸÊ…SýAá4ï ›–³`/›!¼TwP˜7„éuéu㥠*;ÍG&?=OSz*ÛŒnšOa! „ÀfØ Ù¢›ê0L?­eu:uãÌx*KÃiþaa–5ȯ—9HoËòq{m`T’Kõ…q˜V÷GIkÊÃ|ƒÒ˜Žzõ°'Žð“æA]*B@±#°ÒKó ÌwYfE©KòTñzË¡œqä£ ùàOËŽƒ›Ê¬½Ë){Éà Ù²TaúÌËxÝGz*c˜rÆéo$gzê# W/#¤ñ›¦¥r……€{-ëŸÆÓ0Ò‡÷!ýzâpÔA˜yS9ÓÓrž:æãû—º©œá4_=ÌsÕåß+oÈ0SAaäGÓé’7é2Oš6(?åM>dp,¯öÄZ:eò…€{&ÂLei×Ãxݯ§!ïN„Oý4Âpȓ껰öƒt8–±òˆS‡iuŸç©Ë'*¾ €úMh0Õa˜>õ‡Ï0Ò߬ŒùXFݯ—WOGdpMº‘¿iz*WX!0i¤ʺ¥²4ŒtÆë>ÓêrÄyðÝÈxªË0tÒtÄ›d8_êêùÓs1ª_¢SϳcñI6ô00¨S÷™òzZ¯‡ÇG=X&ÌӇ.§áH­¦S&_!0‰8Óº¥²4 ƇùiÂõ8ÊÁ»3M‡^ý];HƲáS'õ!äX‡Aé»&ŸT ~Sê¥é Ó§.â<ɘμi< #=>›Ë*igÎþûw9ý–·Í-}`fnñìììûgffoÍfæî€¢-•è^ßsWÈódyB@ýŠ@Ü™ºüœå‚2‚ps”ÇKã CŽqSióE8äpÌ›ú3ản]¾«ñI\  ø¤4aúÐc~fežçIón¨w×›¾çËÝñesó‡¾,›™¿'HÞŠÈI}¦—Ÿ² yV*e”B@L ÕoÚsþÌ€ÞL·0ä½ö3öÊï¶V^üÈ‹Ÿýç¿ÕZ¹Ö6¬ X?!dM†AªK½A²4aøpÈG¿öÄÚOª[K-ZÅl´<ƒ´&Í… ©S÷qÕ唥òTÆ0ò§d?4|û}ïº÷ðéÇÞ;¿pôÝÖº·¾©™;Ù;©[¸ we®ˆ³*•áPÒ¯B`:¨’YÎìȹ;t,Íän¸!`¼Þë\n·n|påÕOàÅÇæ/ 1þ(aä©?•1Nit Ó‡< S/õ7JOuûÂUÌú’7%ØkÙ²îã¢!«Ë)£<%uÈrfö| S'Í[„_óà·¼éÐɇ¾cnþÈ;ÐøƒôÍ'™ÏÌyUŠ8«ÅtÆMË]!§@¾B`Ÿ#P=¯3çÅBñÔ¿{¼g>żaÐí,xùʧÿé ñ~ÂJCÆAøq‚0†O´ »$CbZFh7ÿR¯9ué~5HÒƒ.ŸéuúA'™SÙ¨á&#Àe·{çùcw¼ãý³s‡ÿ£¢µoöƒïÛ)í0p^ö@'¯ ç„ò¤Æ ! ¦ k×Ç‘3lãÿ6j7ZÍ9doi!ƒ1½øxêdžP; ¢l#ÅP?/²’7•!ŒòàèG¬ÿw£ôþ¹d?$õAÍôºý”Ü7Чºƒ½SYG8;tôÖÅ;úÎÿj~ñôûŒø@þ3$þ´¥ï†€eä>›Íg³³sn̘ŽÓ~Å@ Q€3 s¨šœB`/#°1×ñƒgÁí ö0z½ŽÇ»Ýޱ° ÷7¡†€öú•Ÿ|éñŸøÑåWŸ]Α#‰£2iqÊ Ú”9õàÃÕã”5ù59–Õ”6P6mY°î Èx Š;‘çz ׉eÔÓfo»÷ëî=~û—ü˜ñþÃ=!þhí[¶¼¥ìó°fæ³9'óAþnDO‡Øòg—B@L#$´²õo!´ò‹áwÜhg]´ð»­¬m‡ó4Œ×ËõscÁ 3zÝÖ×_þ½÷½ô¹ŸÿLd¨vJôi¤Ì¸+á:é×ãЇ ®î‡´úKªtƒñÚ@m¤äI˜òä˜V÷¡Añ:©C¿.£1@ßuξù¿þúÅ£÷ü#øÃÑê™Ûaäî§Í‰&›3Â_°ÿ¼‹Ù¬éÌ"nés&ƒnÈ¢Câ„sãò…€Ó‚@JfU c/Ç öN7È¿×kg·»kf Ü2–5½ÔñÃp¹ñx¯»º¶ôìß}úOþñϦ \’{“Ø)§.dõ0â8àfœ²&²ºKóÕÓã)f ›î% Ø3.a0L’9ÒFÃCýsoûá÷Ï/žù¶ ~k½ƒôÙš7ßXÛN¢Gkÿ€ÿÜÜoñÀ¡à†€·þQ9;uFŒ:*ŽÕf\¾B`¿#På¾èÍeÖ²ç{„‡Öφ@úmgÝ NwÝÒ€`e˜±C 0lð`ýÕñäGð Qœ€$¿‘Ýô€>\*kЧ2†á79”µ)·Ÿ €aÌÇ´&?•!Ì@’Ü)ƒŸÊN}/,]¸ëÍß÷?Ì-{wÙå?_¶ú}ºûøçæþ‚‘ÿ7‚ìãÔx€ýIÁéÎâö.*‹Gjžä—À°|! „À~F€ïD¼¼ñ¾„¡Òxw²g4Yªéû»ÓÞž0z0¬7 ³fǪ…×-FB¾‡½7À ð½…;í¿üü'ô¿Y]º¸V º1€ R†0QèÃÕýV©S•ˆMƒOD;``œáx. 9b 3>eƒ|ïÓwòìûÌ>ïûŠ ÿ¤Ë­w;flrZÿæ{«aþ`tÿ›cý|BpÏ;f†Õ ë]R&Í`<È(Ç}ÔZN!0­ð]h¾ÿ¹o/nôºÚŸ§ÚÜ*Ð_ìhÝcR zZmkÙz{ÅÞ©ÑSàïV¼wÓ! ÛW¿÷Ü'þÇÿrué³üõL²äóõ?5Ò0Òà6òC«ü¥~)Ú/îå Ç4Þoê1ž¦ƒØá #ÉSñºï¤Ÿë{Úù·ÿÈ?ž[8þ®‚ü­{ß'ðy—n ɘ?’- å?·ˆÑ;+ëÖ7R·é*Füö`úÒG‹d8Þ8·Hs™$òG81ì3ÁŸ~ò£?üCv¼žSâ¡ó@ ž>d©Ü¢…ÂL‡OG⩜éÃ䩎‡SŒú7)Ø-€÷¶©º$u¤Q²¦8d u¸”Ü)§Oò§Èö®7~÷;žxàŸ 'ÿ¹lÑZþóó‡¬ë?&ù¡jø<¾.H߸ÙÇM*ÉžÕö:–?°bå„€ÓŒ€·ä›®ä»oKô  gvÖÞÞ+`qàU>>lÛPÀ(FÀÚ ?ôôÇôg,3 ?õqòÔ0@œF|8Æ‘Ær†áÃ¥>ÑRý–VhŽÓ q…ïr eÄ4œV+žƒ0F:‰½É‡,=œüÏœýòsOÜÿ÷b|­|t-™Z¥å?cþFþ˜á.~Ÿ¤áûŒT´þ- yÜÁxH½Š(Dßt¤W¥°B`hz7º ¯ìò]Šwk4¸¢ÇÕß½xc¾Þ¼önÆ; 5ÌÓÂû<ÞíæçCºþŽØ{yñèÝï¿õÜW?`Å:˜ò·@?*RõMìiä ú×ÒèÒ0e»æOâvÀu€l*g8MKÃé ã Mý¹ÅçOÝù•ÿÄ„cÞdDñ¹_Ñí?çcý s‡ÌÚœ·G cýAôøt–?\P¿Uî@7,m`&%! ¦x§úWÞ§öþDO«ý{ñ.Æ›·k»­Æøè˜·aÚC&·pmûÁÞh™µàÎÊ9xâ5_þcK?öŸ,_‰+FbüB“9èó%NšQ¡È“†™)a0 }bÜn)p)©< C‡qøõ0â¸9©Ï0äõí½;^ÿm}fnñ<a)b†¿©Òj4ßù/Ìa Ëbixð¼Û¡=|¼“îû“eg«8Vµ"ôH9<П&‰B`š¨vk×ß›|Ó"nĤkh¡f±ü]ŒW{×TИ[ðw7ÞÓ£ñ(éñš·o Mæzçn{ý·}×…?ú‘ÿÉÿÀ ¯¤†r€c˜œ.½Æy!Ô1µŠ$¯(3‚ŠO’KAC½§Œaú¬;ÓG~=L™“ÿÉ;ÞöšGî,&ýôcÆþ™Ì[þù"@xÄð°ùX¿…ýNÚÃØÃY·R+ÕF2º±ª‡ÕQN!  úû±Ú@â+Ÿ¯zÏP¼{ñ.ƹhœáílï[ìÇ‚µZbhïx4äð¾6:°^Ÿàm:6ü¯¹ëËÎY1à 爇÷xÌ%ˆµ\ÐÐËßý ë.8qçW|ŸÕ‰A|‚£Î%¨>+’ú3NTVOƒÎ®:\ÜNº€úy7Jc:êŒpý ~®ÜÌ[Îþ‡Ì8ù• vví{î1 f)b¥?·­0Z–xÀàœøM·t¬JHšÜR[!! „€ þ÷iõ}‹÷6c>ÛÞÓ1S Ãö.ŸÉ¿Üò–¿½÷ý]oïy×U˜|nþè—Üvï×?j5"7x2ÊOù…éôqQiñºCú 7,mPž-Ëq!»íÒ f>ÔáÔoº ”AaÞD„ý8vÇ;þ†ÝðYLüƒ(ºþM=,£õ1$¸NÞÚNþ®jùaUâÔrB@!0Nú߯ɻ¶bÄP-ÞÝpx—û;½xßÛ»ßßÓxïÇ;ïÿ£·¼í;LœÂAõ8dLƒ_S®))‘Æð®ø¸˜Iwõd8õÆu¤7¦é¦Íž¾óçŠÖ?ß,@Üx·Q4 ‹Ï¹Å8kV$ºúíohËÕBVV)âúB@ñ#P}×&ïÝÄà$m¼ÃÑÈÃ;ïvôD@Ûæ‹í³À‡¬Æä“:§àd8(gÉŠ¤>ÃHŸH‡ ™—‰ú¤q†Gñyã¨Ë8 ‚¹c·}Ñ×ÚCP´þý49éûÄ?»¯aeÚ'yËßÇ–Ü @­P,]®>L—/„€Û@õ[¾‹ñŽF»ßoÖpC˜óâÝŽ!^£…Ä({f²#gÞòõ–ÅùÂ|òGOæ[öŠQ@]Êßu‡ ÜM×B*k S†º#Œ£éF±€i³ ‡n{'n|ùô·þ1qÄ¢œìñYǾË,˜;Vâ2ÌTùB@!°½Tß½É{ØÞÉø#ùóK-·ïrhä=À ',,žþª…ÅÃø<¾à “KpLKã&ö´ºŸT I}®)½IÖ—q\ÈN¹Í\uá7¬7üT·éƸìöûÞý¶™Ù¯ÅÌÜ?x@ÞùÍÇØ?-D3a6ú¬R€ƒ©tëΛPO£ÜýƒÇïÿb»ûV&£tÈ73 (ðÅa¿ D_}ðLYN! vÆw±½³cßãxçQ#þÂp9–>ûÅv$úyfç¢ F¸4N}h0 ? Gî]üÝ•7s¹¬î£ ÈRày£šü¹ùÅSo/Zû9ÙG«êV˜qo|yß"ÅÓã'Â\¢¥ B@ìx'c¬?Þ×ðá𾦿ÉMYÏÞûàËÓ3Ÿ±® M»eD·?\´ÃI„Q8H|qÊ¡‹0]½r”Ç+Ê·=ì·í§iý4œÊ\i7È|»U–Ä0ÓRŸõ… aøpŒófqÒ†ÇÝþE™JÌþ·ï>Ku-kþ0¸e襕²êUžŠrB@!0 4¿›c2`¼Çà Úà;57šðîÿ\fïø£gÞúÖH¨äø$ø<,X„)£4:ÈàšÒ"e‡~q!“äR`Òz¥ò4ÌB ë>Òço¹Ûo0ñ¶dŸ•;¬DXŒ´ÓJ(,„€{§³§ïÿü}.¹ ¤¹'ï¶«L’eb7¹>Ó@ ¹ Úwáæ¢róI¨ðN¸Q.†:ôQ/†á3Là‡OYÝ÷|s G›7ÞÅ·¬åÀ“$©Œ§®ÊP=9! „€˜Êw4éÁÞÞÙWksÀ‚ L)øºvÌι˴É'Pb˜~žÑËd>\=RIéSÎþ³yùœèÉ ! „ÀÞD ‡Wßé9íyš½ãÞós Gî± K‚ úù&•#òÂpŒÃO]Oéζ‡s$¶ýÒùÑMÝ¢¹K‚a2¦ÉB@½ŠhaKÓÆrͽʹJòLª×_JH˜‡þ ½•£âÛípÁÃ\šž‚C9eôYVSœ7„iŒ3OîG÷nþ@—<4•‡i`%! „À^Fïúä}!‡ÔÈ79r}è Óm*ƒ²Aù˜~Óþ¼é²ÇQ ˜ƒüô&A'û5Önì8ê¦2„€B`O"Ð@}I£óÂlõ@(‘sšÂ©Œz©d§KÃÃdLÛv¿…m?gz‚†Sá¦8åðyPn*¯§!Ý4 ®»Ý†¡^Å…€B`{hâ€Æ3‘CÈ1ô¡Œ4¦3œú©åÁ!>n˜¯ Œº,#œq\ oãá7’>²É ! „€hB ¯J)Ï0S $cê¤ñï–pR—‚•¦QÝTμL§O=ô©?Äo*~ˆº’„€B` 0ôÝOù’|“¦¦Õ e|”t–µí>/hÛO”Ÿ€¿ÑùR=†7òQ&®§~SON! „@3M½Ä½‚KRNIÃMœ„òÉ9u¿éÜÔIó5ém‹ ³›.½øaõ ü¦yyc¦N*ƒ\N! „À(G Ëpê’S'=dpô#¶Ë¿»mÔ/Ÿà@Æ¡—ʦ<%z†©3i×X¿fÅ…€B`òH9„aÔ’aøtM2¤QN=úi^ÊvÜßMrL©íîÜ IDAT iZ ¤ñ .ã©!Pϧ¸B@L›¦;rIê³T†p“£Ó†éQgG}^ÌŽžtÈÉR€RðR9²3~*c˜~=/äæˆ#Q¿B@!0Åô2Û¸:ñh ã¦Ñ'zˆÓ¥aÊvÍŸ$`0”ÃçÀšÂ”Õý]X'B@=‰x<‰0ù’ü‚4†© \“œ:ô©çvㇴçæÅ(Ö!(Êê~=Ó•M}ùB@!0í4Íþ/1!Ÿ ó¡t¸T/$å/u(¡.ã»âï¶0ÊE×CžT–†™Fpëi£œO:B@! È#@‚\’úõt¦Q?O$š“h4F éLÆSŸàÓGšœB@M àsRnIÃʡNšNüan£ôay·”¶À ‹Lå§ñ¦‹£Nª—Ê(§ßT†dB@! š wЧãðy0mŸù©[S¾íþn¼¨Q.zN]Ž8e©ŸÊy^ùB@! FA å:· ?Ó™V/³.¯Çëú;ßM éBG‡:ðFYi< 7G2! „€!@Ž!§¤ñz^êPžê2Ì4øƒdMò4ߨÂ;m4]Ø åðÓÏ4‘Æëá4N}ùB@! †!rGfÊà3Œ´zœúçï¤4 X}”ÉpÝÇùT†B@Là¼êaÜÂ4êÂU–æIÃMùÓô› 擄QE›.t²¦26ª‹Ò…€B@ðHz@Î8韆'–ƒ&É`©#hô‘Æpê×ÈS–æAXN! „À(Gè’:uJó *k<Í;öðvƒ.j+òAy²YýAåH.„€Ó‰@4ɀΠ9‘KÓÓ0ÓwÜßn`Ô JÁHÃMù¥7É›dMeJ&„€B`u>A¼I––QOOÓv=<)À 6o”0¨lÉ…€B@l„@¥²4¼QYiúVó¥eÜTxÒ €úÅ¥€¥áºâ¥7å‘L! „‡Gè‚ óšgT½Qν)I06ºx¦ÓoºÀzãô›òH&„€B`TÀ'¾2h-Û„CM¬à¢ˆ“€z&ûþ¨v# €®ÿôÿKÿD¶f­v:zê7s 7†©‹Äžý­\üÃlíÕ¿ÈNœo¶xòá"õ( „À„# € ¿AªÞpzÝv†™ùt)ù³5Ï4Ägme?Iþ0F9 =ëö¿bFÆõ§>Ģݧ ž€ ,Š!0¡ȘУj†@{½÷¿váƒEËŸ-w$þ(5Ëü†Qàù`þX˜†BË/þnvõ³ÿ¬2$ #`´û&-! v»Tƒ-"€–6—ìÅ„¿/üN1–"¼óV;[ù ò‚ì--úðÛ|P êg¾ÔX»üÉìʧþ©Œ€-ÞCeB`÷°{ØëÌ7‰€“¿KÙ•Ïü”>ŠŒV}P{Ä-̾%­s0€Ýûý~”SyÈÊ‹ÞY[nøb³°òÒM^¡² ! ¶Û‡­JÞf|ƒ;ǵ§~Áæ^÷³±Õ§IƒÀ­õ^Iñ(#v }þl6çå”yŠ2£gÀ€Oÿ¯Õž,\û:!ê¥_! „Àî# `÷ïj°ðÝ?fþ·W_ÎV^ùC/¡$Žñ“¤ÙŠÉ—CÑ+ÛVÀ‰a­|”Ç!ü—)é¿8ƒ øäðJÍÀ:Ø?@N!0iȘ´;¢úŒ„¿Å¿þô¿vý’ü9ÔdZøp$xh0Ý)Ý[ù©0Jà Œ“x/AiXP³Û`øþ +zeô#„€Ø%dìð:íÍ!€ y|3ŸW?cñFÓpìò!³Ãd=7kq'í9håF@øž‡]üy뿽Ei…ó•†@i8À¸úé« ´×.eÞkLrB@ @@ÀÜUasàÛtÿ¯\ú˜m÷kú4’?[ú–jÄ¿hÍiƒ®ƒ²-îi¹Nnx/A!GýPzÂh@œÃH…~”g‚píñŸDR8¬Vˆí‰µZ ‘/„À.# `—o€N¿yº6¹né¹ß-çD¿y_€Ëƒüsr†!Î2í`o€¯àµa>øQæúÅek—þ„§Ì0À×6($ ! ¶Û±Î0&ºmÛ\ŸÿÙ>$z=\´°ƒ„]BÆ_ÞÂw%$@^kõ§¤åE^„ñG|’8ò°WÀ¤¹ÿ<†ÓØr”áúy~ä[¾ð¡rR ÖЦA~‹ô#„ÀÎ! `ç°Ö™n´þ×kKÿ’ˆQ4 à m0ŽœÀÍ #²ÐgžJ>+ÁË3b§ï$nñ(='z+›çG¯NèåÁ÷¿ÐŽ! ›œ™ÍeÀP'úäFÍp¼õ#„ÀÎ `gpÖYÆ€&¶—ŸÏé9¨Å"„ß#˜Ó¬µô]nÉ߉ڤAüE޼ “Ûr3=¾ÔÏKvÐ<ÊOËê·¢èÈ˪ȃå‚WžùTÂ]{íŠ> $ò…€Øvdl;Ä:Á¸ÀÀ¶­§®» ì g¤ÿÚQÕ‹‰€õœ ð2_ššfa–r•ƒ…œôapKaÓ0¢GÞHƒ¶Å!C^ó×l‘ õË/N‹Oå„€;€ €@Yç @«ÔNÂXþ Æ_CëŸA Ð"†>\”gòÜnpÒÇ|/+×ÏãNê8é"?ˆÝ5ŒÔ½,/;7 loÿså8[j¬\ø[Û ®KŸ:|úB`° ë7&þ­_ýó¼ 0t°4è´/R&‹3GNâeMÊ\Q½NúÁð^`dÍIÜ#N æ,?ñ³Q¾ýúP€Mx”B@l'2¶]•=>º¬µdŸÿù_K’§©§;ÙƒtѪGœ:lýo¶b(·(gÉË¥à†ƒŸ”?ç5©®Ÿ›г¸Ó¿ù(»ksVžùå¢Z­µ‹Z%°@C! ¶ÛªÊ;½ÞzÖY~¡(·$r³%¡EÑBsÕ1OîçÉ}zya$ÿ~c"oÁûILËΤn†‡‡ì×ë”§ÙP*Èž€£ÎQκmÔ^z:ªj«j•Àê]SLñ" `¼xª´mB k„ˆ €áJ¯‡^´öÙjω¼4òbjˆxaî@vhþPv`nÑõ©©Qž>  Þ+Âù[Å\ºG:ä¹€DØPa\ƒ§[hå‹sø* (ðP@ñ" `¼xª´mB+åa  Ë’äIÄ8­·¶“îÿ檔&C/ë¹J/¼lav!;28;qàdv|áxvxþH6?;ï:¤î#4ßÐE]Ñ7ù°“ ´ü=¯|LC†”œÛƒ€ €íÁU¥Ž3º¶Qh²Ñ`-±$cÓ‚`€ñ×]ËZúàô£')’æçf¾á{³ù…£ÙRk);4wÐ › åùêç*ã4¢WÀ+é„#`ÎÈÎ |"è!\KÞ`þÊS¿ ¡GI?B@ŒãFTåN{Å¿H ŠåoI¸ÔaoãáW‰-íÔÁf˜·¯^¶ €tÏd÷>ôÝ>T°ÔYΚ‚nrÞr·2Ë¿ u7ÜHÁð€É,̶>âåœËiqOË}ÛÿXCM`K&„ÀM#Ðü&»ébU€½ö’µ‚׋A°tiØeeU?™ÇÇÿóÞ£àè=ÙóÖ塽\ä;súÑìÎóïÍ:Xо 80{ÀˆÚæ ðûAÓd™E¦<9èÞ[÷0¨ëA9' z Œü] è·/þqÖ¶¯ Üé«€ÀA¿B@Ü42nB°Ý¬¿š“ŸÓ!ÎF"G0ûø„Y*\}N@JüH‡¨òƒG^—­÷:Ö °Ré ¸ûì×eÇN¿![3C$(=ý4%–= ÐIÿp?‹ õ‰Åƒ¢µ_.„Ê0Æ@ô¬\ÐW¡~…€2Æ…¤ÊÙð `wí²—ÍÖ1"$÷—qÐ%Ï4àä چÚ|¤ðu[ îë¸a­~ºû^ÿ¾lÖ†–M~ÐV ľè¨Ô‡ÏzÕã¬VC#yäÑ£®¨3ø^—Ã0ÈÍ X{öÃEÑí“B €B`“ÈØ$`RßYÐõßY¿ä„Y=sé6ˆÊ‰Ü¯Ä4ŒüS#À’+F@i˜€u쯕 hÛ`Þ%ùB@l[ENùvëh]{ÒÎìNråɯOø«Ç»Nà$æ¤ß3‚o[¤—-º½ {¦b8à‰ö F3̸ãì×Ú|[2ÈòÍÛ§œ À^„B9DÍà ˆÖ¿×Ú{8€^Hq̼‡×ÃÉ«ʯ|Û`[¬HN!°dl5åÙ1° »ÑyÒ‚Ps£€òÔ¯ç)Ó` øaô¬¥#aqñ–l%ƒ1PuW­ÏÚÄ@º³gß•-<ã+.Ø„@ „‹^<YWš0Ñõ&þû!d¿ÞCÀ.ÿðí×þJò÷¯Z׳õç>’ŸÏ&j( ÀB! 6‡€ €Íá%íFsZ7¸ `œœäj¬™Ô&Wd‘ŒuÕåçÝúð>vì\¶œŒù§yž·.ÿkÞS€Om}€7þm³zÙ’}¡°hóHïRHó"4nþ”ð¶¿|8 b¥ùò8tì2 ë å_ôl©b,,'„€Ø,26‹˜ôwN_ 7ȼNé£VŠd£áÔ8XŒüyË› Ù0È?7z¶mðúsù^è%±­’å„€›A@ÀfÐ’îŽ#бíyûiôiœh„XwÅA’@Òg“°þ>ÈnþP¶jþ6r˜ð¼u»ÓÝ÷àwù§ ÀW öt2 ê#=üÆ€êë‡IкcôO# ÒÃ0©]³÷ضÁ¥ñ¡ûTPN!0*2FEJz;Žºµc@¶ «do4X­º8jÝøa`À#¶ 굤Gq/Ø„ÀÕ\÷˜ ¼îÜ{|>Àj¾u0Ëà0@ó¼Ö‡f ‚üÏêJ#ÕFïâÞ#€O½W“ çlm€_æélBà%3fF»†"“B@L-2¦öÖOþ…ÃèµËÖ6jLÚ¬Ö¾”Ö{@œõVš·Õ‹ïþ±áÏòˆãè˜'ðÙöõ¢˜×Ýù¾J`+_CCì¨÷°µÌeOE¿“<Èm«7ŽòóÀ¼g ðþ»ìÞÒóÙú‹¿u1òok( ¸/ !0ÃñQên"`„Ö]y©Rƒ‚47ãêFZçîàÛm€×†L¬ŸkžH? ¼ÿÁïÈfl«úA¦Jiø7þVhq=lý›Ì»úÑÞÏ7¼¼0 ·ŒÐð\í—þ­­–xɫصów[å>õz+.„€ 2ˆ„ü‰Ckôló¸ Ê*éoÒ¨\ºýqÀu­½>?$©oÆáÓ@.ŒUÏž{¯wÁ¯Ùâ<ø4íz%í÷—îmÿœèí*ó?†r#À¤0 üÏ»ÿ#-˜Y§•­]øWEá­õË (ÐP@AÈ„Œä»Ž€¯°ü’·„ÓÊTÍ€Hq"´`Ù¢NsTÕÖ?’Œ¡½»ª4bìÉNùiàÉPÎá sú3 Ð<\êÓ õã:"ݾȗÆ5†ûÉ|€ÞÒ ¶>ÀD­µc`à _! †" `(|Ès?ÖpÓÀän ÄPÀ“?WÝZ»¨¡€ „€¨#  ŽˆâƒÖÅÁSW§i §-Ê ?éÀ €Ë#¬Päm¤«b(àø©7dë¶“!×`˲4Œ8\ÅÙÛ5{‹ßÂÑc¿ÈçÀ(pÃÀ´º¶qRûÊ'¼<› hÿ€¡œB ý˜H2!Äeeª&@)g¨Ò#@á¿í¤o›îßpH¶Æ$¬˜~p߃ßî ­Ø¬ü…Ù'w¶ý9 AŸÆ }œá²' à @À¬íèýaDûúfHëÏ~¤ ÐŽ·KB!  z &Œ_÷­vƒ£ÿ凄kýâ®Þµ-}ázMã.€ž¸‰ŸúPÀw½ÓG°>@ºmpS‘$øÞÊ·kô¿Ü÷9& S ~c>@n˜.ŒÛ³ õܯ§i¯Æ'‚…@! „€! @ÁÄ"P_`³­ý#úéŸwÄ›1pÐ†ÖÆ´‚^:p·ípðèÙlÍ>eœ÷½lÙa7 ØWÔ4€€€–=¨½0 ÐÒy s sÁþ;çF@ûâŸdkŸõôl.BÇ6 ’B@¤ÈHÑPxbèu­ _ *­ÿ¼`¬õDºðÇáú‡¾Ó×Xêp¯€ÿ/ª†¯í|PzixÌçx—?ˆ>'ýˆ‡Q€Þƒ0f²õ§± °¯´cà8î°Êûûç^î»+i5¬^$ÈÑ8Þ©xðúgÜë$l_Ì<³ažÍ(¤C±mð{|9âu Ø|Ò¾Ÿ?Ž`/¯~¥‰ÿåÄë/¼ L„ Öõ¬õâïFÕ­‡C;næ.JWìdìÿ{¼'¯°k«éÑ9Ñ{„ôè\&oÍ/‹ÊæOo­Œ!¹*Cg¿.;pð–lݺâ1 šQˆ½*©î=0xÜ )%ìôí7 B/ £Ù¬ýÒïWw ´ž9! „ ç`"X¿òIpØXÇÿQ¨w•›ï pûvÜC/Ú0ÝyÛ6_nŒ´ûí/ï .Œ8oí›ä1Ÿ j÷^“üaxotLÛÃ0¢7`ý©_ðòðÓ¶¹ (àP@L52¦úöOîÅ#)Ð\Ýmô `A² [û‡Ö1Üœí0ê6ÀõsnO÷ 8yâìö»¾Æ†:>?œ›/È?7¼8öðáÇøÜB<@õãÏ#~ëþÇ_ À0€1`×i ­?÷á¨.v Ì7Ú¨þJB`# `ßß={uëׯԔ‚‡ãøÿ±ãçì €ñLlªö  »ë컲|q`= ¨_ 8úÌG?è=~Ù?=¹1Csþìõ IDATþ`pÁ ‹·/~L;HùB@82ô LéøÿvU®“ïü7?,[ßÄ6À›­OºWÀüüÁìžþºwùsÛ`”—NLËGkŸ®¤ý²' Œ€ÂÒ÷V?d1`]ÈÍÚŽ­ ?Ïâ²ÖÚ+vÞX¡* „ÀT! `ªn÷¹Xë¦ï,¿PTä×ìɫڕîÿ$ £ÇŽß;¶5’¢+A ¬æd{úÔ›²ã·~¡™oéÏÙª~hów-Ý Z/ïú÷>ƒ0¼›dÏÖ>Òœü‘¹ýz@9Ð]~.k½ô;Q7 Tî‘"B`0w}¯¹g­ó™nÛjY%øjlk»ÿE«›%Œk –×ä§C÷?ð¾lfþp¶ÜYÉÌ0õÍ]´Ý @7?ûã|øAü‰< xñ÷Ê¡€Ö íØt³$S‚€ €)¹Ñ{ê2Íh-¿8´Êœô‡¶î(.ý-nºS§ÞÈà¶ú×m €ç;ñU†î}軽 {,æ;úd@ë–`íØs‘ö ’Aíô sÀ‰R7Ðú7cÀµàçÇŒmP´þÌ/ת (S‡€ €©»å“Á]ìb—¯P'?ÔÞymÄË ‰R_ñž†A©ã•¿`-þt(àè©G²V¯å'A«Cn˜”AÔ" oñ' ޼Nôö‹ €pÑ#€X2Óç¹^Ý1PË;dúS‡€ €©»å“Á­| ûzM½eœÒÙ¥_×í‹cÀŸ./{ôäC”n»ß±Ú>Ý^*Îsïëc(`É{½;߀´®…vR“±ÀGûízÜ0ÈÉÞL—Cñßrt˜ÀXú—Še‚;¶86_’B`º0]÷{O\m7!ɨp´~o¶ò\x.›+6ZÞÆO›ê{µ·ž]Î÷88h ÝyÏ{¼¥ïÛÛ§pÑ€ßpe/F‰C~Þ+P˜a¤=±F@ô¤½ø*F†ˆ„|!0=Șž{½g®´c{ÀÅvYí’þJ™‡j½L-‰“’ªôØùª`‡bOšÓÎ[ù¯}í—[/ÄÃ6`í:ðU{`°‡£¼–èÃá7%wÄÑʇÌÅP×€¼{õÓÅŽ™ »h(hÊ éA@ÀôÜë=q¥ø6½³~ÉImP…›zÈ«“üå„Ü>1´V?ÊXX8’]ÏÇà‡åw†°WÝÙûþs öl™`›8»HqƒÏ>2 Cp>$>‰ßKõ¡‚Ü(0«ƒ/”€W…„À4 `îòºÆžÍRï¬]Zã௠¾&Ųµ©hG§Ž à?v*ÞÑ0†®å‹=üºìŽ{¾ÁL€ž­¸–-Ø2Áéº (¯‹×Î~˜näC\„•˜àýžæ;>÷ëŵk( €B!°ï°ïoñ»@,˜³~­¡Ò$½†¤DT’d"œC€u}ï–Kw <{ö?ν;[µO±OˆšÄa†i¼D«=@ˆÝþHGTOâç^‘–Ë-½}ñO4Pä„À”! `Ênø¤_nÏZƽd+`Ô7¨¿Jv£^‡8ù@¨ÇÝËè®øX€èYû4îüƒßnA h-e¸6@>ÞÑõ¥AÝýG/@ÑòÏ‘3‰‡êÑ+tá­=õÿè«ÞùB`J0%7z/]fk%&Öëœvq×Óêñ.¦ÏÍôÓ&z8±®37l¼½^âöÄ_î®T†n»ëV?Û±ÏÖ'˜Ÿ± ø³:óµ({h€Ä¤—8E·¿Ëî:Þ'ཛྷɌÍIhi(PÉ ©A@ÀÔÜê½q¡íÕ‹yEËm""ìsy+¹OA%­ç$H½…ƒ·0¸«þSÉg¯»ëëmÇÀ[|(`~vÁɜ׌+/Â*)\‰ M$Ñ(ðöä-þhù›6šÿ0 l¹àÖÅ?ÖP@©B`ÿ# `ÿßã=u…í¶\ߦ? K»ÿA†tí§ÜU¿¾c๿ӈ¾k_,Ù„À¯[Ù VÄŸR¾ÓºKHþ!Éå>)ýµ^7 bNÀÚS¿ ¡€b……À>F |îã‹Ô¥íð)ZÔšjÏÉ~1º]Õd¸Z¼æ¼5 íþv ¼ÑíxEN¿?;}Ç_É?Wìfs‡¢O€xôá8àFZ÷NðáÇÁ1+À‘ǘ0˜Ùü 8Œúûûþï­ l/?;°ÂìþN8žŸÊšÃÑMÞíF×ùÁC·gË;¸@sªÒtÇÀ{ÎS6›ïXôäÃAûq=QB.‡ h„Iüæ¤tôˆÄŒ“˜‡¡€öµÏDÑZ ¨z“ûûèfîõKá@ÕëˆV-eNj6^Ýç*cýyjMm û›_8–u& ö•»ƒ ¤;žè»|(`¥Ímƒ1¥µ/M!ö„°šìúO¢¬hýË;ùû/Œ€ˆYÔÄÖõU!•/ö-2öí­ÝƒfäÖ¾~¡Vñ²u b‚C?»»kÊ}3ÿÓñä£Mpüø}ÙZe"]½¤Ý‰×w V'|ÙŒ!¸ùùƒÙk}™ànÆ¡àâ=ÉP{ˆH=uNó>Þ-}ûu .äq'~{%˜Ïá¯](êZ¯@·µœ«°{{øæí·ªc‰ -RŽo“Ôp½ÕÖn•äê­þr‚ åªݹƒ ß3Öâ¯îøHe(×S78@¼œôí*‰iý‚¹O@0 Ÿå@ØìP x۬ö@ÔËU\½€ €½qŸ¦¢–ë×?ï×Y£õ>ò†RÐ+ÍT¨»Ù,_YÏÒÙºû“ìê;ž}ÿP0ð£v­”¥Æ= øåzÀÚS,ú‡s?7`$´^ùXùU€‘{õ×Ó{{ûþí«Ú÷¬µY'-Ð]šF¹¯‰ð™æ„h½E›÷,OàøqMy;^î®{ìàâ™|( —ä ±ÜàÉCŒ‚æ«%ºà†@tÿ{[ß>Œo÷F +†ÉV/” u­wBCUl{{ñ®íÓ:·®?å­Q\^7'êôR½¥j I… FceZÜ©Óo,º×]0Á?OÚj€Õ¡€‡ó¡€˜Ñîx’>|\!¯“F[ùƒ.“éNö¹Á½ñY §ÿ_µOéZk60aë(°nò…€ £á$­mFãÿ][ Î[ëágmLA‹”á tÆ*~ž”ŽWw‹VÿL¶’µ+ê“ÁP@eÇ@ ˜™?”Ý0à Ý1°éË)JnDÐíÔ Oì\ùtÖºü§•- Lêc£z ‘0LRÚv¬Yß^~¡á4Áö)‰õ)å‰lùö¥›½èUÀß©Óo.ZÕMº“&Kw ÄPÀ÷¼W”­¶W3läÿvm0h¯ÂV껨j bnøoìà„@¤¯=ý‹Å^½ÎjK7÷.{{à&MC} ûü-uÛ®»èä®Kkñ"[šöÀª{{É=aÛõ¦CøŒ±esæ|Ì>þ¯0sÊ¡”êËÉ€AøNî˜÷^t­ W> £l ç½ÆøÙÊ( k¯]¶ž›ød±* „Àž@@Àž¸MÓPIëX»Z¹P'$“Ø*‰E¤`ûBRv„÷dÙ‰c÷ÖU&>ŽE‹*C~»ã‚‚ç­?ŸæåÔ_\0$2&ÿíÿ¢å¸ü"¸Å\IZ]8{êzlýGiVž^'o1;v_Ö±ž½îðcúUÀ}}§#·d†ÔâÜ¿¼hûÇp@E~áÑÚ' ˆúáÇoc/€¥Do äê­\ÌVŸùUf_s\Ò§ ÉE@ÀäÞ›©©YϾgŸÉ×¼‹2Š0Éš~?,EǺ‡üüÂëˆÞ€þ’ö–äy#ût( ¾ èZOÀzvÀæ”Îú0·üÑ;=Ô¨b ZG+ßHÞ‚ |ŸhÃ`}pé³ÙúÅ?ÎÚ¯>y|(à —/„À„" `BoÌ4U«k ­Ú>AC ž*!›#É7©„Fñ›«&t×Ën9õ¨ 쟉jõ¡€£§±¯ÖAtÑsõC‚Bc‰ñð[ü²{ß)ŸŸÏ€n?†ŒøÝ0ßä0–ŸøÙb(Ÿb‘ 9! &“{o¦¦fÜT&§øÚu7K©Äa[‡A“"Ê€Î^[×9Èï xýû²ÙùÃÙ2ö °^6Œ „ae¨°7€RŽSÓ9ßÉæ˜sâ‡oiñy ä¦`=0èüÓÀV¹¿åò…€˜ dLÆ}˜êZ¬^þxrý7íIì%¹û‚¦äß­ç$wÜZÈûÍ¥C±WÀꤿb“|¯€¸bâÖýa ¡-ˆ=UT!+¶ Æ\èå½Ì×~õóÙÚË¿_äó]ÍàB`ò0y÷dªjä­ÑÖR횃BHƒ€~©ŠÆ)\ÑêÏÇþa8ÙYþÙšéÍ-¶1ó½µ€_à?éPÀw~EvÌ V¾·Zé±:`ô* e`GÈð[uÈë¤ ï0 ÌG÷¿9W.Ï'Bºú܇+Ÿ¶V^r]ý!0YȘ¬û1uµéY·q{™kàòA!uꇅTÅ^ýšVZn?~_ÞÞ¤µ·e}C¶W¶ ^Æ^³‹NÜfù¥2ŽhAìyâ”墢µ_é@Þ¼†–÷¶tZÙò“ÿŠÙl^€v ,ÀP@L2&èfLcUzö9[{íÊH—¾±Y`dO¥<€hÛfýcüaþhv½WÝqp¤ï% \Ëw9ÄPÀýÿMoù/wVŠ¡€b=€üš`ð¯ù2à 飩Ö>ˆŸs¼—é–è&œí°|¡4´k Q“/&“s/¦³&FXÝÊF2dp‘0E$÷\QPaË–>$pX`¿»t¯€3§ÍNÝööb(Ë!“ìaÕ‘N±)ç¤ÒhíûRCÞõo÷&·¨ æ\Ìd-û4p=™ßÑZ}Å' VKTLÝB@Àn!¯ó:ذ³òÊ4ª45œ¶òbr…’ì¬ gÚ~óë{Üÿ@ ,ñ«#èb&€áŸ †‰¤‰v`± ÷Ø0ˆ„OÜØ €v¿Ûy/zà–/|¨ø403ìµT0‘“/v»¦ºÝõk¶j\º‹\Ùâ mäh4ù‘›eôl€ó·/ÒÓmƒççf<ü=Æì½lÙ†¸@ð"fM¶èëéèîïë°Û™÷دˆéßxü§Š"|©`Û9PNÝG@Àî߃©®ÁÚµÏlxý¤p*’¸ùÔƒR¢›?rƒûÞ¯<–Ý~öY»có-lÈe~fÞ»âÑàɺÞò7c!íˆÖ=¨=h½ž÷0Õ•rÝèÈ:ËÏe«Ïÿ›"[Û†|Ðó#'„Àî"P¾w·:û"€€:¶n|ÕÝ£k® ùzÐÊÅÁ<È=;‹qïp3¶@δ8 À »û-º5[³—°càìÌœ“<ÓKÌ( ²o’£¯Ü½[Ħ^€(gå¹_¯|Ø^½dç×ú%Ú G@ÀÎc®3æàÀŽÍ¯:4!Hœd"œ¦“Ìì‘@à ÷IXÔcò©ÓoÊ–§É]µ=.ç{,`(àÁ7þmÿ ò†íÖÇU}—FðKÿ¢-_¢æd_F-÷(íàç€á#=Œ„Ÿû¿Šù±TpÝø«¬ˆÛŒ€ €mXÅF›µ—_¨€nè*‘Öó,dwú %uòÏâ0°=D¯!ë¾=i“ÿxÝÇläuçßcßõ/füc®E ÛüêiP¥`àž`@4úù) }Þ àóœ÷sò·ÌÈÑ[¿žÝøÜ¿(Šêš!¢­ƒ 8;Ž€ €‡\'$þ@ß„°f"bža>É*J°˜~ÌrïfÇÝŸ­dûsÀa˜`ã£t(àž»ß•[yþ7ŠB´up…B`ǰãë„D g ô´W_f´â×çT-Brê÷C3 á ±Çïß7ÛÇŽþ‹¡€ç“/-±¡€9¬ØÉ7 ÊQ*1cÙa††´ NåFäþg$‡°û z?‚ô#ê‘/×[}ñ·³ö§5ºÿÛ7žn€€íɆ¤šˆ[ݲ­_TÚe}àăµÜÓ…ñóÙöõâ¢ï¸íÙ©[ßž­ç #ÍÍV¿ C ZýnÀ@Hz¼ y⊉›Þô/{¼W ׋¹6°r1»‘ì ù B@À­ÓÔ°îÿõ¥& hCÌE²'Í3^÷ÓtÿÔÍÚ¬ó Gl"œ>9«oôú‡¾Ó†gK¶a¾ s×@âžúÀÚ3è|¬ßì€ÔlK¿à\oÿ[/tq®õËŸÊV_ú=e{B\Òú íG@Àöc¬34 €/ZËÏWRH+ô+‰FœšŠ®l¨ó;óc¶ à´}8.ltÃŒ/¸…¹CÙÃoz¿‘º­h[2«š±DC P¥Y¥¦=+!¡Äî²z/€ Ñ_C;1€ðò³¿¦ùQ¾Øadì0à:] Ði¯Ø&@[]¶n"Ôãq¬z‡në˜8}_ zÖ>×¹^|xòÄÙ]çÞkßG´³–픈ùi—}:ÞÏò*2#q´òcAhÀ@€,ÅvÁùÈ‚^8¬qý Íp0ô#v; ¸Nôlšvm RFŠQI6AòÕ8Û§híçãÕEæÒ(8|ðެ3SÆ •) `•À§ì ºs÷¼;;tôœˆ±õ¯h= öÛ¤ëŸy-1ë¶ ô õò.ư',ÅY?׊ˆË}ØÁv ¼þäÏEj>@…B`[°­ðªð&°ðº}>ȕҬA# Ï/Ô«ÆÂÉ÷íû]‹K1p©»V¬ˆ,oxÓßÉfçd7lá E›€Ézt±Z ›n @Ž˜»Jk?D õê0Å­G€lÿ#ž’µl>ÀŠæäxÈ;ƒ@ù¿|gΧ³ïöí¬Õ—.Ç™ëmu’M]Þ eh‘\0™ðˆ-|#×@ºJà!û4ðõÿMûÇ®‹s‹Þ²GO€»¼õÏ{QÈØ`\NÌy&¾÷䂲 z<‡ c^€müì¯j>Á“/v;²NQEÀ'.=Sæ±’`šéžÒÁ­ÿh’xð@kî`㹦]èŸÚ|º[ϼ5»ýµÿ-l›4Ù0v „åBÂçÎèÌ~AêìˆxÕ :>*ôÄ|€©õª*&¶ Û­ „&®_{¢/¹Je2Éž}…«0Îtˆ);a_Ü0B“kFອð¬-Dwßý-[€uõ/a}ŸØæß„á•ÿâ,Ѫ‡qÃ.KZÿŒSÔÔ €/8p¤­^ù¤æ49!° ÈØPUd3þù˜ ´&ÈQ“äÙÊ„_w0:XØN}vÍÎ'7:õ]1àîóßh†X'[3ãû„aVöTï‰wâWzН"©XÈÆk¼ré\€¨-M€,»ñ̯X¯Ñ…›±×^½dŸ6w @ô+¶Ž€ €­c§œ›D gÊÖ¯?iãºe7sY„µúó.üjo@©uê~ªÕÉ7»9qâÞl͈Kns`×À Ö@wï=ß?õFÛ:xÍ[æ³Y|XÑâý2ÌÞÈ«_ô#GÙÞVG_\{âg5 àÒ¯2Æ¥ ÚŽ­?ß²-€ù‚¯êÇä½hSVSê±AäÂ)Ç{ÙÉc÷g6…­ž]ñx¹»RY*øÑGßŸÍøÖÁ¶k }À…–€9a†[}" žÈb '{ï ã œ/¾>€ö áÎIEŒŽ€ €Ñ±’æM"€ñÿÕW?S)…dž ÙµOc mI¦zi˜:³>[=RnµV+º‘ÛX*8ðè£?èd¿d[Ìר—Lc€÷éé=öÖ~p|™•LÂV?a0õò'³å—~Iî´>‘/¶†€ €­á¦\›DeFÆë×/T!í QÔ¹­Ê”Pê§.ÓØ€ €÷ûÞ×õ ú|€Ó'Êî¹ï›|™à5ÛÆópÏHðå}¥|#w|~ÃAõø yŽ€-i>À(àJGŒ„€ €‘`’ÒÍ"€ï¹9Vw| IDATýX¿ž¼Ü«­Cœƒ­~„H<÷p‚‰œí|Ùß“Çï·/´0±Ûªù•¥‚m>À‰Óoð (s~vÞÇ÷iÐõ|é0ò¸Q?¿ûåNôtÍð¸öy­0*¾ÒÃ0 ¥ ng5[½ú©Úd°áŧÆ5iÀçÁ4øØÄCÇm€å|2`š®ðæÀRÁ×Ì {ó£?`[²ýl>@¾>&ùq¢_j T »gU&ž7öÑà¤O³/ZüÐOå0Ú«¯dמü@QT·u#ëØ!'„Àæ°9¼¤½E`¬\ú¸ç®‚I8æŸMYIe¨Ô£,´91 é·~LK—@Ýtè³­ëY;'p¬ðæ7ÿ°wý/aëàÙØ/ÀÑ,LÃÀƒ¢[ŸÕáýcêó8÷ÞìÔé7ë`Kæ¸Ïå½*›þÕ{£0iøÛååÝ'Ùó!JRü"{ö|½úDu>@gýêö ’…À>@@À>¸‰“z Ìþ_¾ô'QE{GW¾Ô)_n T¥ ê„´ìùºMáÜræ­Ú˜Pm³ß7àÍ?dóùÖÁæ²›`& ß—t÷>Ü'¨â°€xFÊg&í€”Ï ìðªmD×^»’aùi9! šÐŒ‹¤c@ cߎí^}ÜFèã%­½ò…Žôh)"T:Ê@ôüc*âpœh†ñÿk¶îÿ×ÀDjûý¾ùýw¸¡>)ðàìA»3Ö/”’>kÆ´´€iðù€àIö0«OPÃ~é|€–-”iÙ iG@À´?ÛtýhyõlñŸ¥WþÀ[aNÖù{š/uú¨I¡º£$5J6ÁcŒïÿkü¿Þ6ÇëóΜ|8;ÿ·Ä|[ œ›aw(_€¤ª±õ_ J¬~IïÕ‹q£ QóúÓ¿äŸz’}‚IrB@ô#  IÆ€@§uÍKY¾«ÿyÄX»i lÙñĤwÆK³ Ma‹’3Ío±Ö?œv,qÛ‰PÓ|€“ù|tÙÇf¾ÙÍc¯ ê…0Ä #°b ®4ʯB–>?÷l¿€Ëñ¿E6ûŧþ5J!Q@ @ÏÁØÀ'XþÒµµâ׬û?ué Ÿò´'€2úÂÏ…© /üv>ãÿÖ[ÞZY³žeÈß~êóÞbKÏY ¶ÆWó¾MsÞ‡c7°Îñù÷Uµ$~oñÛý¦Cˆ­þÔ@@:æ\{ê穚µÖ4P€¡€È Gaì´×¯x™K¯|´: «|w{ú0â‡Óé÷Ëz6Â\>¯»íK4þïÈîÎO:à€‘ÿ[ßò÷½U¿„Mƒæ‹ùäf€§±÷¦ òºe`Z0òjNQMö¤š7žÿíʧØDHNòíYÊ[F€­°ôò¿«–c-¿t š˜t' $úHJÃÜ蘭ýäÐmúþ?Án§ƒMóî½ï[l‚¦­ÐiÙ|€…húƒäIôæóÏë‹.|û+]ùUH}j D¸$ý<ž÷À(¸ò™Ÿ*– ÆW) (‘UHÈÐ30VØú_»þ„µ¾ží+»i U*_þ$øâg>ºÿÛN·Þòþý¿ÆÿS4w>\Ÿðúóÿ™­ð¦lÝ&âk >ö{šN ƒ¢êÑÑxØÚ‡,5(/  X¿–]}âgŠÒ4P@¡€HúO†¸IºíUûG1מûH2Ã$oµå^z¶æé§/oè“øËÜXlÆ7œ1Ñù×}µÿkõ¿Ý Õç¼Õ– žõù7ü«Ü78i À ú¸> {¦#%&†NùÜô÷¬^úd¶rÑö¢€óU_а~…À”# €)ÆyùíµË^\kõ%{á~2):§oõ$•ÁòEOÉ`D0—oÿ{èàm¾ýï5›|(7Ôç¼í1ÌȲë†_œ[4*¢æ#?%÷ô*в§ó!=æ4X•iæ<|õ‰Cø »m‘!^ô|Õ/DàÝÿÖmüš×|™+_í­ϤÔC o>À©G²ûl>@-pûL“Õ´F@­ßsìh¢ùè(Ÿ—RO‡ýåspÿ4ÐæÐi(€HÈŸfdLóÝÓµ£ëˮ¡õ¿|ñµ’ËWs-Á_î}²¢½Wm’*ࣹ·øÏ½îk²]lDÓ©¥ø."PŸðà½ßûä†âül ÄJ}¤V8â$ñ’æ1>OµXBú,‰e¬¿ú9{6?b3DôU’?­ȘÖ;?¦ëÆŠ }ºæÖúúÍ´»ŸaøE¸fü9æÏqäC6óÿ´} ñÞÉòëóÞöØßËæŽdØ:xaæ@…ÌãþwíÊç…ÏCzU|R§VeÑ«”ÊÒ¡ÿ*ÀŒW9!0­ȘÖ;?†ëFË­½jˬš·rÅÖa¿ø§•—úVN×~ú¢§ å¡Í×Êwû»ÿü7ú).å­Ê­œOy¶ú|€/|ìGŒâ{ÙJÇæÌ´®zîåõCÀ4Ì ¬ºz¼"à ¾öôÚëÙÅ?ÿñ¢ØÖÚE;O<¿…P!0%Ș’=îËÄK³µüb1îò/?ùsNÎ)qÇyÓײ٠¾ýk)ãË9­#_þô‘ÆðüÌ|ÖÉ»ÿ_wû—f«Vmÿ›¢7Yá¦ù÷ß÷_øÎ:æ`}s wMñU€r!!¤†‹ç©|¾(‡´õÏ”C¶W@7_¶:ÕSXL2¦á.ùÑí¿¾ôL…ü¯<ù3­´–¼´-À”2{½š”ÓOÓ!{Íí9;jC—m+`¹ÉF >À7g§Î{åñŸô3ex W]¼ž}'¸¼V€þ(Fö—‡;tø¶ì®ÛÞ¡îGcïüÔç¼ý þ{¯ür{ÅÖ°ùö4¿HdœW™>'ÕOî“§¯¹7zÖ^ýl¶zåϼX¬ €g\NL2¦énp­ {_ÑÏfGwÖ_µþ¯xw¿2e㥩ë´od?ódöš¿¸™†×pÕ…A0 yb¤/rê§2†áãÀºÿÜùï[bîE{qËíêón9ù†ìž{Þí󰮿wð~»Ÿ<0”§WË€T†§ºtýÏ#SlÞÊçºX ¨½vÉò±¢ÔQHìWdì×;;âuyëÞˆ~}ù…líú“6Aꩬµò‚èŶ¾iw?‹ù¿ð§ÿÈôûS³Á·w37J_ÔÔL_ôiúœOþëdó ‡mé߯qu-þCÔöŽß7À&?q>[µ^|Þ9›/Œ+â³>ýWZ’=ÓØí?(Nywýzví™_‰(zºlˆKNL 2¦åN×®3ˆÿj´îèÑ:ªC·ÿ³ôý}“þØÒB—m“ó!$ #À¾ þr­ÙÙY+ÕJ°–ÝkïøÒ ÛÍbòŸÿ!Š{ËOçà^¾åMï÷ Xé¬d1Œ×º2~P¦—ÏT)«†ÒrݵgñÆ ¿cÆï®ˆ^/ìh)'¦Óp—k×è‹÷Ø'|¾zß&»Ð#úÙs¤óN=—=òÈwûRÁkfŒ˜]ôëɧDÏx) ÒßêfAÃI è]µOXé0ì%'¦Óp—“ktò_©~¿Ÿ$7ÑÝÿêó¿‘=ýÑïÍ®<÷ÿú¶®®ˆÁVsƒZü‘ÊßxE÷ÍÐÀ^øhýÓÝ}ö«íÓ¿Û}òŸºÿ‰ÊÞôëóî?û®ìŒoÜòg*†â¹!ñ—W y¤¥²aÆg©×Z³µn¼ø[ž Í‚úñ‘d"0¿?/KWÕ„v@Ã&(McúÔÙ³;ÔçØÌÿ•«ÛD¿"Àžî…Ãû77 ãËÃ…n=äõ/lV6‰Ÿa´Ô°d,VùØú×ä?‡kÏÿ`>ÀóÖâ­uûÃý¥·þƒìÿù ¾kà›ëѵý¸üsOþ<ÚóÃx8“Ïbm€§~1;|ËÛlëâ#Ykýr¶hç—ûûùî&׆Oœš6?á_{þßdK—?aŸD=ä@0HÙCù“bß”=¹6É~8ñGYð^ädX¯' ÎÙ†1ûƒ{øoõÖÛzôí¿C²/~^°qÿã3 ÙQ»×˜ðÖ7ÿ@öïþèïØ¤@ ÈVÍ@¢/w¬ `b¦umU«>˜¶] mŒË'Î8¹/0ÖE&’æ\S²dû&òñ_zâg¬[ÿû²KŸÿ¥ùã¥Y’ÿ@ ¨Ð (ÖtñÊp: y/WçÀ°ܼV‹›7bx(_÷ÿ²mû‹îc¹ýîå“òü×Þú—²;n‡o÷Œ+„H‡§¨|’ ­JRªw‚ϵ‹g’¥~òßxùŠÍ­Ú˜¸É92i± IG@À¤ß¡›¬>å«·üW¯.{îOÿaöÊSÉ:kÃgÿÛÜ» ]e ²Å—,ãÌSúå«{#/þulòcÙ{ã÷zëe=o-F¹ý…ör¸`;Ò}}£oÙ†~¬ 8:%û4­x>wÐEë¿ìˆt–=ÜŸÉ.æŸ…Š‘¿ö Ž–R÷62ööýZ{ÌfÆgM©sòÿäÿœ­_{9›·¿f‡—k¸|Ó=F­­Ößò&ñJ 4>]eÙF@þ^Ç÷à±éO';f߈ßwçWy©/›A Oÿðþò_î®Ø¶Îñ ‡ð8øPÀ\|$_>C%éWM„hýŸÐøŒ¤—^ùOÁ—2ú, Éßo4¾¢÷ÛENÛõ Û ûø">ÉÅ_ùÿËž3òo­-emûì’·aM©èhP©¿Œl…¼´ò# 0LŒ0^Öø lņAü‹ly:µþ‰ÄþôÓOï¼õ‹l(à/çC=_$WçŒÕx‰I}²ŸÍR#B0|¾‰={ÅÜKºúÔ‡ Õöú•"¬€ØOÈØOwÓ®…ßø×ö¹úü¯gÏ}ê'œüyÉÍF@•Ùvÿ—î/c–Ùç÷wä*I&¡!€—ðüܼ/ù Ù#~kvúؽžçYëúWë¿á}%À|€'l~ ÝÛÞôýÙ›½|à ,U:„ç“['hê(t™9/ºc+^½kÀÆÿ+9!°ß°îè oüAþ/>þÓWÚoðuÚ¯Þ×ý_SåK6my)C€´kåÙ¸?–üÅŽ'Nüÿí} °%×Y^¿}™y3òŒ4’e-ÖhÙZ,ÙØØ–7Lll³8©Pœ¤(“KR)ª’ª@9TR¤ е’1!(Û '† L9f‘ÉÚ¥Ñx43’F³¾í¾%ÿwú~}ÿ>÷ô½÷½¹ïö½ó¾3Õï_Ï9Ý_ßéÿïÓ§Oßœ½îÖšÀÌÿ“[X­°}殺¾?ñŒGw½öGl×7Ão_ DÁºå_ŽKì®>—ZeïÐDøÓzTÐÒ‘;òóî;§©— J.“S‰™þñgzqh§ì“§UÁsÒóÜ…3zRPJšwM>ð{8KÝÊ$5òþ,ô‡×¾ðyØ©©=¥¡ÿg×/jæ¿÷2矶ߒ>”›®}ovåÁ{Zo4×¢ÀÝ»ßàK|§ÂÀ_Œ$œ7íµÀsÇòï„Åška$\¥#‰€€‘|}I$H*¦'gløµ¬a °Üxýû³[®{QË¿#^(Å\öøG{æe7þPH(ñᣀü‡ØúíµË!5X¥‚=Ü! é™gò Hã#íè" `DÏ]þöAŸx¦xÍïK?]xùé®GÖžø ©]8; ÿ£õ²{énŸI”v¦”ØR¿ù{Þxî¡Þû_÷…;&þáq•݉€p×-ß›ÍÍÊ›ðFÀØXï—/úR°oÂYJ ì÷ìß.ÖÅÒ‹Ëcë€Ýù;¼\º÷ÿA—+#x\˜ì·ºxÜÞO.ÏLÎßñÿÙlñüó=U¿“vÌÀÏD”|ði&³6ì?n“¶–V—²ýûnÎÞõÆŸc†þñÙX•Ý‹`þËïý‰Èñ( 5 @k;-ýæÚÍe €áÍ“RiþNO?õñ Ö(@  #Ž€€;6©a_óÃZå¾`¦ÿ3õSöšßÖæ%'¶#ø ú~¿Àû‹pÁÛ/oß}7;Þ÷ßwÅáì=oýÕbµ?LÓÐŒäî”ñÝ.tèwg¯´µð ÜÑcÁ(ü¦ü? D™ˆ•îô©t4µ@07¯«çŸË–^~(¨+/ºšb…Àè" `„Î]˜é¿dw÷Ñd§Ÿ| r¦ÿö¯|'äGáK›ÓpÁõÅËñÅ“¸üyç¿°pSöÞ·þZüÑîú4ôïÝÝ<Öà[o²GD“öÅ>|$¨5!0Ç' õÇ¿Åhø?õ(_¤ìVÎýtî‚Ù[7*B`ÔP0"g0µ¦?&ûa¦ÿ‹GÿhÛG‘~Q½ÙÁÙd@¾ Pô]3}ÐÏÍyèil|<››œËƒ¿Ýù/ì¿)û–û½ü±Ü¯¾ö—c¦¿9XêÄFþÝ ¬ pËáï ¼5‚%£Cà·@Bž4(+þ¤’”+F·ü(Àš½y£"F%C~9Ó?^ÓÁÿë6Ù¯ÓLÿ8´Ò:è×\—Äwû>)·E~æíâ ÷•µ•laáÕmÁC½Ïر©ÌYnŽ~Ý}ëG²Ù¹«²Æz#ŒŒoaB oz¹ûçïøÌÑÿ‘W×(€‡Qüˆ" `ˆO\§™þGÿúÇ·4Ù¯ê0ÛŸÿÃÓEtHÑ$|$ÉDÀuâÜ=ÍØk~ S{ë~ËvçÝuïɾý/ÝùcÒÖ‚WUøy!÷Þù£Á ±zd·PÏÿQÙ½Ú&6åü–7@£Ý—}ØP0¤g¨j¦ÿâé/Û}~6[Yìߢ$ÛI[·$y–öÝ3½'¬ð·bCû¸c»÷Κ½íÞ–GðtíœVû+¡"!Fà¼Ýys™àëÝŸ¼òžlccÃ{8eƒºÚ§.n«$#çµ­í5À¦G ¾øÄoæZ4ÑU” á™ãšþ©™þG¿Œ¯ùm}¦·Ãìw€¹³S³v׿`×Õ|÷ù½7dï}çÉ^sÓ‡J»£à_‚CBüÚ÷½¶9 `£J“cS™Ÿíß-ðsø?<hNyih¾ÈìÚúÊùìÜñ?{©Q€.'Kæ¡F@ Àž|¦¿½æÍôï´¦¿¡IîÂðnÿ¾™}Ù¬ÍôÇ$-,ðsä¶dxûoËûrŸü‰„h¯`mNÄ—"o¸þ}ù¿%š½ÎhKÊO½Z»Rq…„×F÷Ùwþîì±§ÈöÛš›˜ËÖÇð Oômí‰Íf„·F‹ ï;h¿á÷ÖÀûÀO#Gö]ûî s&ì-!0J(¨ùlUÌô߉É~[9\&Sá¹>ðÁÒ«¶àJúöú–d½*»õúoÍ_÷»;TÙ†üñ—Vø«„H†-"ð¬Ü5µ?¼Nz›%ž?ö«¶bàZÀÛ,½þ(h5Á¦J£H0aŸåž˜¾¢d— †%5¼ãçývÇâ Öôé™ß­=øsŸ&íŽnjÞÄÍ0´¡Ð [ÌçªCoÌ®ºòõÙu‡ÞžáS­Ý ¾ê§ûtCIö­"€d“Ï„y&O?÷ûÙÒâ©°"À{[ðo‹ñ‘"±øÝ·Xµõ•|.@> p6ŸÚgo"èÉjB©†%5œ.ðÍÁÿÄ£Ô°Gí]bøzj:›±‰}˜Å¿awïGnýpvÇMßÓñ.?n C´XÇK¹ª@à¸%—ƦmàXvç‘ȾðàG³Õu["xb2¬;a‘;,ò¨Û¶Wþœ­`-–on”„"À“39öù(€%õs(À3ì(Uðª þƒxÍo+‡:=Ã࿜-®\ÌÞxßgßðšé9ø#ð?b û|­qVÁ+ÀËwËøïÜòª÷ÙˆÔÕöÀ&Úã*”è] ‡ÜüáàœòЍ\Ìü‡ …s)^à¬M@ìòÜ€E…@Í(à  ü,ž°;Š•R¯ø Ï ^ó+uœpç¿wf¯}­o&[iØÇWl¢ßÛßôÓÙí×[»]…UÚø±j›Š'íÍ~-ðÎ#ßo]ÚâSö½ Œ 0è÷øCö?Å?M._À(@(ü1@EŒJt–¸º_*øúƒ>U‡<™Meó³óᢹÔXÊ6§¦²oyÛǺ| Ïø¿Ô8“=±v>Sà¯BXúBÀ/tËuï£ëö’)GÚîîÃݾ‹à;† ÏÀÏ;Ê6 Þ6h¬œÍN?õÛAƇ»6í!0ì(Àbð÷«ûaŸãýÌÀ¿æWu¸S“SvÑœK©.­.e{nȾãŸÌ­ î´p§×ùô¿Òx9LðÓsþ6¨¤ ~q Ì@Y][µ¯ú©N‰¡þÔ>6GñôáRþÈŸŸÈ>ØÞ IDATwòóþ_£¬­öï[Qw…@ßPÐ7(Ó mØêd¥òÒ¾ü”ï¹NW°_êÛ;½7,ž²ØX̼ӖíýlaþšÒž·aVü§Ã>ÞåWÐ/A$¡f¾nŸ FÁ(À¼½‚Q€){Œ•éîwüxæ¶ÐJëþER5·nÿ×Ïýt¨„u=ø«aF@ Àž|]ÿçíÖ¡5)ˆÁñ¼é‡ ÌMÍeó¶Œ*¾Ò·¸¼”½úÆ÷g°aÿ™Éò¢&OÚͱõ‹ øCpδ Õ¼dókðH åõwýXæËX"¸9 ²f"ð#èûÀº)ÿ*fi`åtew2a@@ À…b]×þòù'2,í;,Á~f>¬ß×ü–W–³×ß÷£Ù;ïýI·Ç6”iÃýþ¸°ªQ@€£7\ý¶ìÊ«î¶úæÌýÖŠ€Åqôø ÿ.ÌÚòrvúéO¯M1Ãu@E +JvàÌT[Ýo‚¿Ÿé¿l3ý7'¦²wÝÿsÙ݇?\BÁ3úüK°Hrü(ÀÝG~(Œ¬4VÊs‡ÕË8|7üÏ9öæk(gý¿lý¬¬­¼¤×ú3Œ(èóYÁ àðE?×n¸ó‚¥}±KñLÿÌûyßýË^}Í;Üg–íýêÚY-Û[BE¨ ÀQ€W¸7;h£(ù§‚m BPŠÖ/žï›5NŠ ÃGöI‚¢œ~æ“9o#âëAá$FÔŒ€€>Ÿ€ñ©…lÌ–%eY<ýålÖõÇþp¦?xÎôÿÎ÷üAÛL,âó¨Ýùk‚REü(À=6 €`ŽÑ.ÿF€ü•Я îÙ¡3&þ°-¿|4;{üÿänö( ±tJór4ôwHP°'âôÓŸÌŽ=ôK;ÐòÖ›ô3ý±¦ÿ[ÞôÑäLÿÇçí«jK[ï@5„À#àç\yÕ랎ÙGƒÆÆ_÷3«Oà\Ì @à‚Õðî˜;Ÿ~æ÷ŠÅ° (&ªaA@ @ŸÏÄ ÿ§ì¹‡~±Ï­n½¹ÔLÿ¿uÿ/¶-ëË™þ¸[R—X–sZP^wû†Q€I?cÏlUwÿUú8øGÍ…þðgÝFÜN~íW  5ì3àú`P‰˜PÐgðÜøw²ùý×…VñQ…™›yï¦÷¹¿Ts[™éÿe[ÙßTW—+Å(ÀÁû²«®º7æø8žà—îø}°GüºÿqðÇŸò¡òz‹/÷½ÙÅÅÅlïüž,³åWvæ}`¼æ7o3ý±¦?Fn½ù;Ú&û4-ë;Ô?íÜ!ÀQ€}ö°þm÷ýTößþða-ŒÙ©Ùlݽ*ùDÀçnqøÏüËÃþéJkYëñÚâ¹ãÙ ,»æŽÂæJ£Øz~×Þ6ïÃ袭ø‰~‡½LÏÚñ*dõósâÁðQ0®H½¨4JúŒ8ž«cr]œ|“-¼ƒ‹>MŠ¡ú~$Å;þþ¶Ô(‚ÿí×[鈰šé_‚DÂ.FÀÜvó‡CpoØ³ê‰ › `…Á¾·Àïl%½¼õƒ‚=óW?•ègÂøL¸Š4z ²ˆ3 ¸}r_¶“Œ¬\k¯ !@ÿÙþexý(< °‘CÜl§ øOOL‡À?nÏ1?pÿo„>|[˜éÿôÚEMöó ˆßÕpsî´àÑ'+[]½Ož]ÇÿÜü_ Rùy›5Vô,Ÿ{ñá ÊüÂ+³é=¯Ì&mþÐäÜUÙôì¡ ŸÙws6Ñ|¬#ò_D\³·.µ¬.Ÿ²v^Èþ®lÖ«ªô%ýòÔ.%O¯_ÈîÛg‹Žäw¼;G€×0 —›ÆZ£T·“€»‹Ù™ÙlÊ>á‹»~Ì3À£_°¦¿–õõˆˆ9OÙÝö릮Kaß}䲿|ðße««áÿÔòÊJÖz¶Oô‹L?û½z•1*°•Ï…OÙMÀÌüÕ½6_é‡ú[é·²¡6,\s¿€>c¬ Ï€úæ°ÀÎ#ö8à ðIÀJã\ö…ÿM†×ð8`Ñþõ’ øÏÍÌ…áÊNÁÿØúRv|}gÞ6ðÇ'^Œ"øÊ%äCö¶Î‡¿'{âÙÿž½üÒ“Ùž¹ùlbj<ÛÀäºÖäýÄ!vüžÿ'Û¶ªas~+Oo»¾* ÍØáß“LÄc¹ûð‡Ãkz˜´‡W`ŸN…Áë˜ã‚½ 7fßñÎO¶Ýùã5?ÿNHÊ&2û?²”ñÿä›îþ$Õ3&èâÿpëÿqŒc>õ¯cæW‘,jE@ ÀàGðøúùROï¼÷'C€×ö¶^ùÜä\å’Á\Ú#Xàgÿ›Â§|ì³Ã¾è†x!PFNl,‡WÚüœënx›ÝõÛƒ9KÔñx­\øËxHº\P0 3‰ÉGо0 ÀH†1¼Ï öKûâeÿÃ!øÏ¸IA|ÍOïø{tŠΜ´wè9 ðv[hz~¯}.{)L®Å£€ün_wüQœuÊOÎ\·—uOJxz SI– æw|€àÇXÚK _ûÊû+ƒ? ! zGu1_ õîú±À¯ØkµÓa…½Ö«}ÁÐü£¡~ÆàxΣ\—OJ|Ž‘åKE…À6xnãbQó›¿ñçã̵™žš¶÷ï'šëúir_’˜Ë%5J¼£ŸJææ÷gkëka,tç‘¿ß¶®?‚?VÄD&! . <>âY(HÆï¿ï'CÐÇ'ƒ1‡I¸*BàrD@ @g5•`QŸ û`PÃ.Ho~ýG³7ß™?—än2øãù¥ŠýA+frBà×¼#$Þ˜ °fIö¬=’‹'çö§Wµ"êE@ Õ‹X­o~r²X2+ú½û­ÿ1[Z>‘½êª·”öNKû–à ú†êg×/_òDâ}â…¿È^|éÑlÿÜ~›—3­­è1@ßßFCËKÏk,f¸uª¢€Nè È<èÀÂá¶àÇO¬×ºþ:'êf÷!€ ºçÜ€ïÛÇ2<’;»t6¼ˆïo¨Ô‡Àêâ‰ú:¿L{V0'wqàw Á_ëú{DÄ AàñÆùâQæà‘’€‹«ö)o›œ«$`gpW«õ   ÜÛzeÀçt8n‹•(ø Q!°³àÿ!>Ä‚GrH&§ç•ÑË%Ct*qñÁǃ˜`Ñ cö\REÁ!pfsÕ¾/Œ^}°´joØ÷40¸ó¡žv%;‡í¶ZæÇƒ³¡H-í»-UI\2H¼ñÆ “€ñéÙðn${g÷êí4:1>1€^vWJ†ð|# À]ˆŠõ!€y9Ã^0 ˜™=˜a€Éq{{Ǿ€µTv‰1%ýFY @¿U{B@\ÄäpPH>øîOe û^a|=pïÌ^{$°G£—ÅYß]¡`wo­[@€äüHÞøà»>‘½æÈ÷e«k«a›œÍæ²Ù©Ù-´.W!P/JêÅ_½ !0䤒ìò}·öþw=Í/Ü-¯-‡å»¦²+æ¯Èf¦ôX`ÈO«vÏP ŸB  UIÀ{$ðíïüíìÞ;$ÛŸÊVÖW²q{V}ÅÌÙÁ=ÃÛZF¸ ¸=šÇ4 G¤zwSÐ;VòB`#À$`y³ý;¯¹éCÙ¿ùÓÙ‘Û>b‰Àd¶l¯nV S ÙU We” \ò/gÌpUé/B´¿xª5! .cüMãlvûä¾âû<ÜéÉùìžÛ¾/»ãðwgGO~6{ìɲ 矶ñ°í›Þ—MÌLd6qpÕV÷Ä×>1bÐXk° Q!0P” nu&„À¨#€·^;“];1Ÿ]71×v8HnyÕûÂvaédvìäŸeOýý"³„`ž¾îÞ›íÛoõÇB›6²€ë¶þúXßX³¯‚6²Æºm#–$LMNeS¶Ùc<˱ ¬.ŠqÃË0ãµK•þ#  ÿ˜ªE! vÇ׳—í³Ý7Mìm àáï»:;òêï ÛêÚbvêô³ÓgÍ^xéÁìÜÙÇmòàE qŽc(ÁYr€û7mAt>ÛôLØ.èöBªo¡ÅãqEËfé°¿¡Y¼.¹Ý2gË0+Ø.zë)茬B@JðH£‡ÆçÂhÀd‡;]Œ \wè­aËnýHhIÁËçÏ.Ú§n/.>owú²3– °œµ$¡Ñh}›zÞMç‰=/n† YX×àÒZjÕžšÜ“íß{K±M©ÃÍ·¼.[¸5[Ùfª–F@ @i…€=#pjc),Ý}õÄlvÍølÖ)ð")¸úÀ=¦Â¶µraéT¶¸ÜŸOä^±p‹8 ÷玭/Ù7·’¼;"  #<2 ! zCÏí NÚWسï«mT`ï®_¿wîP†MEl%ÛENõ„€ àC^ئ±&ÀØtvå¸}*Ø^ïª%:#  3>² ! ú‚Fð•Ï3ë«ö¨ oIÁ¼ L±Ñ¼ö¶×-x3ÊI¾Ÿ°h/4ö£œ³×!Ïoj½„~`éÛPàÑ/„€ H ÎoD+ ö3ñxaÆ^ìGYl®=Ð¶ÔÆè  `tΕöT!P €Ç ØT„ÀvèOú¸ÝÞUO! „€¨%µÀ®N…€B@Ô‹€€zñWïB@! jA@ @-°«S! „€õ"  ^üÕ»B@ZPP ìêT! „@½(¨õ.„€B ”Ô»:B@!P/JêÅ_½ ! „€¨%µÀ®N…€B@Ô‹€€zñWïB@! jA@ @-°«S! „€õ"  ^üÕ»B@ZPP ìêT! „@½(¨õ.„€B ”Ô»:B@!P/JêÅ_½ ! „€¨%µÀ®N…€B@Ô‹€€zñWïB@! jA@ @-°«S! „€õ"  ^üÕ»B@ZPP ìêT! „@½(¨õ.„€u!°¹YWÏCѯ€¡8 Ú ! „€ƒE`'»;óìÏL½ ! „À°!°‹€a;Ú! „€Ø96v®é¼å‘»«T°Ó? µ/„€B`P0„'E»$„€B`§Æ`ä†Qvú$©}! „€ØA:¿ P“ªô;¸£ýmzØ€­±ëþžSµ&„€=#°¥kÿ–œ{Þ…š‡-Ø. ñIñòfÖ9»ÛnŸª'„€B`dÖÀð*p·ç“Lv|vhÕ1H/„€E —Ð1Ъ­³aMºÂ3HÚÍß0г{×öä „€£Š@â¦ÏÇÏ÷ï‡.jp‰§$?›YâGÀ–wæÀÖE…€B`Ȉn(´I¹Ç±L}7ºÝzÝÚÝ–½î ß` ½D›íªôh@»PMûn oUB@F tÍîp3‡›ÀÜ7}íïa7Q‘['÷mwЩÑKµÕôºÿ½€WåÓÔƒpku[ú¡4Õ)]«†8! „€MªÂŽÆÛ&XôÞh\tûê©Néh#íæÓÍÎvvŒKàð|êÀ«ì)}ÐÙɼ7蘶ôƒ  ¿rs~¸(oK…€B`Øh¿VãZn×ôæµ¾ô¸týÏýp³¸±¾|6q\å ;@çõž‡G,絆äïN'Uß/}'‹>ÖWN+9⤇_¸˜¹=èóSª+A! FR€Ç.»k>c@›O–­7Î?ß<@W¡8dêHiˆeêI½Ýó´œîtp)D€<õ<Ú†ìu”© >k«gN"˜#3̳ÃÜ-ÈøËc^µ»M«! „À° кn·B@». .½èãƒñk+§Û1±Ò^þUu¶ªïµÏmù S¦ºÍÕÅ–Í¡©æ†“Mž°™.RêE…€BàòA×ÿâ:ïcA+F4–Oq€ÇÝ2¶‚;uði‚VéØÞPÐA&¨_žjº]|ù«OÙ·3ƒç@ëÖ?Ìy}.ó‡‘v6cºfiýp¨B@ºH_››×r\ÓC €ÜÜÂu{¸€-÷]>ûèSMG8 B\ú­‹Û§œê‡¶K¦ƒL°³©ƒé¦ƒÝoq;´AâÛ ¶Ås_?»¾vñTnnþåÉ6w{ß³©DRÐj.ü Š‰o¶Ô’! „€š×êâÚãu×xˆM¹äcƒm Þ8÷â#à…?¦¡•ÐV«ñ¦XtFyhé €n@døyÞ×£”<ý)·Ù‹Çÿ'}Ó2=l¨š?Ê¥`_úQ°Iva5KvèU„€B .Ò×d\ïýõÛö.Ä^û›a"Ä„¦¯ÙWµy>Žgƒ¤þéC}b}l§ Zåë}úÆ×™œNSåë½L´Ø.žþÒ_•‡yø]6X$Í*á‡ãìÑ^¶ý°"»D! „€ØyÊ×âæå¿üv  ß ¹.hlô·iÏãÆ ÿí‹¶×͆ŠJ8*ô´ÁÏ—XËÞwà| @^ÞË)`èC?/“g½ÍÓ'þâÑõ¥3ù‚@0þ0ƒ:>È›Í\9Ÿ7ÖâË?Z¶¦ÞõB‡G¾a7}ˆ!ÔØõ‹Åm®5^~þ³_j*Ù )‰2(7Ú¶CÙÞvê^R:€n;œƒ “² /ûzäAóÛøµ•õåóO}!d‚áÄãä#+lN ,~È­Zñã`bÀ&Ñu‹oýȸK¢B@!°Ó”¯½­k2‚znëåî×÷|Ã5å³_h,_À·cÐ`§­Óá¹ n¾(b;ÛªÒÓÞw:Œ @|)PbeÐxC{AwîøŸ|ÎNòFx ä¦FàoþòÌrsÀ%¡‰$p÷Ðd^Ê?DjE…€B`'(_s[×âp=—ûü¾/ÜÈaÚîþqG=PolfgO|öOs¥ý ÆÐù˜6€:/ƒúRw@Àb°({ê}É`òž&õçO?öüÊÅc_‰÷Y_iAßš,tÍóŸÿଠ%ÀVE!P Ý‚a¯åÅ ®ïkv-÷wÿ›Ycùä#gO~é;(Ä’fx[bÄ:È(¤1OÙÛ¡x©;ðL0Hi£ Ê ¶n<í%zæØ|&œøñ¹áÿðcÈ3A>ÂÏ$d!è7šdiñøá?>šE…€Bà’h¿¾¶®½ù¯¿úÇ<¿†‡>»æóÚNÿÖÝÿFvöøÆvrK%8Ú=/ôñzò¤ð÷¼¯?~˜€ CpH m¤¬ëOuô ôÜ =»ºøõ¯Ù߆%aÔ\˜¾ýQ@àá‡æXBÓÌÄb¡#„€Û@ }=u×ßp-æ5—Á¡×éÖÄ¿üfÎ’Ìû‚Þ®ýLË/<þòñ?4¯â/ê͆J:vNyO¡ ëÆúZä:€* b},{ `ã=yPâÈúÒ3ŸüT¶±¶ž¯Ðú`X(ÿAXu Ysö)á¼YÈá‡V5`n¡{м¤¸´Š ! „@éë'/ñÍZ‚ñ·yíæ(@~“—‡ˆüÙÿÆÆég÷Ö"ã;©¢è<¶5w¨D¼ë”šüj)u&þ€ )l~”=õ~¬ŸDÈ(…þÂé'O^xéÁÏØ7­“<̳C|$Í £æÿÐTû«$¡àï:ÈžÒ[T!°Ûð×Fò-LâK¾YøÃhm~-—÷¦®¸fÃîò[×tÜùç×z»ÙÃõÝ6[*þOldø(Zµ­ˆM¹JÇ2·P(ƒúB½×ýbû@äÉôRÝ @K˜c=Á7T‡Ž'Ž2ui£nó…'?õGsûoÃÄôþkBh?„±"k« =Ò€±1ƒ ? ÌÁ?¾qÓ›*d¢Æ]¢ ;_Z‡Š¹ŠB@Ät¸6†ëfnϯ¡¸´[)Fh›7l þÍ›µÜŽàoÉ@H ìÚm6["þ¥ŸúøÿB ¶1N€’ç΀ƛ©ÚtÞvßuµÓA'¡ ÓDXÉWQœ(†nÒØu ¿ÖXl¼ðÄoþú5G¾ÿŸoŽM¡#XC°· Ö„Jê',ÆÛ〱 ³™#~ˆpCGì‚% !Ÿq‡×1!@=! „€H"PºQÊ/éåÀo:\íÚ‹ù šqòvAwùHøÜ<’\ì7ë/=ýñ­,[²òFZ¥tÐwÚÌì) ]\Ћç©ÛQÊÀ¹£$ÔêÝ©‡.®C}hÇI‹Oeøß8ÿÒ£ÏÛÌÏOâ~,øaàÇ´aÃCáÓü±¸¬ÑVŠÊmØÓ‡_ø‘¢Yúƒ6»…=µáT„€»Ôõ±y Ïîç£Ùp þ¸¶bD–wýù®üwúxÕÁÞ|x×Ïk»ÉçN~î÷š¯ý5/Ö­ØEá³@c>–y¡çF(t(´Qεe;u;N=: án™  ¼¯ËH=(N"¶üV¼uâüÉ¥OAO=ý?ÿ|zï 7Îí¿ã-6šßlaÒnìíÇdri$ 4o#æ²MŽ˜Ü„0«  à7š—Vž5æGZtB@ìZÊFóëhF¸^6/ªM¾t×ßLpáE²ßØ1øCn%+çŸüë“O|ê³Ö6:aüˆ)mÔcWÀsƒŒB”¥JG;¨÷÷úñu'ÿ8ãå†IDAT€Áßó ÐËžÇIb„õzð<èÆ±‡~å7ÜóÃs3 7ßÛ– È&lÃŽŽçg ?>þÇL úš^­CjZ3!€9ünƒŸþ! „@%ÅÅ×`+AÎùrà7‚?.÷! ÈG Âå7r¦CðßÀ#\»ó_¹øÜÃGÿæ—@‹¶!6TmÞó©#ï©™ƒ:Ò\’¿u')”O àã­âq‘Àž~äcj)að‡~ãøÃÿá·_u×ïž¿öÖ" À~3µÈ\‚ <õg"€Ý¶Ä`“»o"{âïü¡.1ú#„€ØÅà"éJüÍ‚~òù¥=-0m¸Ûµkr‘4ïø!»a{ßÿÙçþåßÌÖ¸þc ×ÿÐ|+n@‡NH«xoÏw*¯GÞš2JL½.8 úÏXyÈåÒ»/ q·š‹"bˆ~Ô"Ì‚rË#k®‡ôÜ $†:ÊÐqÃ?èA¡‹)ý&'§æf®}íü½™½7Ý™c¨ß¶Xõ0áwýMÞ¸± C`»‚"ÈÛa<êà°º•^|ºµ!»B``,¬Þ×<àÃnqÖßý7ùRàGl Áþü˜Óå†ý/>÷5 þÿ¹±r“þü¶a¡lž÷2õô…´jCb”‰B5—à ÿ˜X¶cjS¡þ¶Ê0%8uDBRnÏS†¼ßÈ!{Zü™ÀŸ AžLNM¿êÈG>8Åkß”'ìÖ½¼%îÕ‰vÉèŽ/éÍ5ŽŠB`·!€˜èJ)¸µïö‘䣱Í;~ÄË ³˜Œºø6'"öZ"°|ö±Ÿ{äßÂîüW­7ðÔÆ`OšòA@‡ÞSù˜âàâ ŃåA‚r36Ú(çJ_ŸJ v=’í”Ávðñ†€MøxóÁ?è­‘ýX' hsòÐMßúû¯ý¦dãÓS­;|<€Ùv¯¸û7|ôaÃîCcú"à纠/tÁM„€»òm3È…àÞŒ—!ð!ð7ãd¸ã7><ÈcixíÏâk¸ûÁ¿±n³ýÿwsŸÜ>¸#à#xûÀïùT=øÇv‚“ÊØé|'[´y ¥À‹ç©k!^3   ˆ™-ž:ÐfÔ ~à¹ÑF™ än>¶S.ê.¼ýú«nùš˜Z8P À£æî5ìvðóQ€VB`ûT*Á¿¤‘ „€Ø]„;úÔ!Ç>Ô!ö‚Çp¿ÅONô ¯ †À¿n‹ü\xùÅ'øs/|õsB@fÐÏïyÚAc;ëƒÆðƒ§Œ(Ë :g}RêRÁ¿æV>¾ã§žõ)‡ºS³ sW¾úo¿kïÁ{ßœOb úü±k=$Ø%>÷·].ÝíãòR~D@­§-_¯/„€=’±¬8ŒrPs¾EÀ‡qÔJxÆ9øƒmcsñôW¾pê©ßù£Æòy>ï÷ÁÜë<àŸÀÎz öž2ÈCG>¦ùN·‚ó€JÉ€U/Š¢Ð]–#ˆvÜEÁ{ >Þ ;m ä>°3øCçyúÆ CÑþÞ‡¯9xãß}ßôžë·†ÿ-Ї‘Û5$ öAg‡@Ù:Ëw†CcñáίûÙ†xÛÔ5–N<÷âÓŸøô…Ó·š>@ûN>ðUŸÉo/æ±ÃUÁ;©±… znY k+åd©Í¼%E#ØQDÀÔæƒ?ì©à4i¬Mçƒ~ÔìcêýÈû6¿ïª»n¼âUï}ÇÌÞ,°]CàÇkE`»¿ŸˆC°R$M9×:=¢B@ËØý16ã]¡Ïå<àôúà†UÚò࿺xüèÙ¯ÿ៞9ùŧ¬Å88Sf gàeÏÃß'}¶çƒ¾×aÇ!û eð~3±Á³À§­\  QdrʤÔ!øBÇ`Ê­-H›:Ÿt ø±êSǶJtáà‘Wí»æm÷Íí»íÈØÄÌl1*’|÷‹°«Öb310.”–Q! „ÀîB Ð,æ â%Äf¬4š}øX°±º²tö±GÏŸúüí9ÿQse®¢qߪ\Õ.v”[ø©oDèóƒ+~øøËÁVÆË»oÔö QÑyêAÔQ@){Š L2dê©e'¥r¼±õô¥¾ŠŽONÍNí»ún›ÅÝ·Ûãë'&÷ì-}óŽ¿X(1 $ÀΆŠ»r0kÆ»f‚=Pq ÀÆúâÅÕ Çž[|ù¡Çνð—6VñZ‚iUpöz|èü}¬eïÏöا§à)ã`ÀÇÔT…<ìÜ û}[)cÖfÞ’bØ{n ôž’G@Ï­*@SŸ ìÔvò£-¦¾oð°Íï¿îÀüþ;n˜ÞsíU“3^11µoßäÌÁf3+Åñ%=í¢B@Ëf ÏÐź¦~mõå—×WÏž[[9}fuñù–ÎÄ ;ý@¹hÚÀ£P†íÐ!SÆÉ‚Ž”¼©’…ýÅmBŠD€èi '…˜:OaG¿Q‡“ =¨/ÐùâÛÏþ@Q c°ƒ?õè< “ð~¿(§(t©ïkÊG:! „À Àµ°S¡=E¡óz\3Q@¡'Åõš2xè¹A¦Ž|M%h‡õÙ¦§ì×Sð)ÙÔ¥ã yRêk¡ƒLpÀ½-úzJÀ@qbpÚ¥ž2tð册™|P¸?ì‡*È~cƒà{žžýƒGßä Åïu ÐûËÞ¾›=ö—,„€Ø*¸v*±=%óZÊvX!“‡yPò¸†ÒzRò·»±/¶E™ûœ’i³nþ‘Bß©¤ì)]§6¶m«;àŽó€À¼ zPê=¥'…þÙf0lóû@Š`Ï>)£?ðØÐoL¡Km¦…6à;•nöNueB@ô\ ;ÚAÉß2u¸†RGÞSò>àCG9E·“ M¿aŸ(sÿ:Qs/ŽÓûQ]íeX€N@<<ð1…'6ò± ¶^ ûE ÷”ÁŸÁýRF?àS”ûÁ}‰e«Š·SJ½×‰B@ ¸NúB™”6ÈÜ #OŠë)ø….µ1ÐöD Õ&÷¶xß(›)Øb ûP—aHƒyl^&â/ôÔ‘7U(h6öGÙSÔÅÆ ýxûƒ>)ÚŸ¢Ô™9Ø!ccñ²×ÓZ¥÷>)~»õRmI'„Àå®y[-Uu¨OQè¨Çµ•2ù…Žƒ½—©KQèâ uéËvªtØ?Øâý¤Lj.…t(¤1Œƒþ3è_ˆºÙ€ êxX‚ =í°§2KUÿ°Ã¿[à÷AŸûÚí”ÐnnE‚zî)õ (Uúܪ¿B@á@€×dìM7vú€âzŠB¾ŠÂ6lÏÃF=ƒBö”ûmêâÀ§ |‡¦Ô‘€TòzÏ,ʤÐá$ à¢'…ø^ |Q@±1ÐÇ:èÙ>‚ŠÇqù$€2hj3uI¾,U<í¢B@aB€×TìS'ž×\úQö×YÊäAÉ#`ÙÁ2yúz™ÐÞ‰òÚ›¢¸~CŸ¢Ðqƒƒºçi§²§)Ûð}ƒeSô(ô¡œks=ù¡ Ã–05Ï{°bPaCœL)ãÄ2h[*ðgA»Ü c}Ô…2ÛA=¿¡È15U¡‡-µÁ…6òAéþÀž*Uú”¯tB@~"º£ý”ž:Pòô¥®Šâú [ŠBÇ >¸æÓ7æéׯí°=Rë"ôÙoÐÇvÏSW­+íž$Ô#ˆäq2€©§LŠì¾Ð4æ!³=ò”Ñ'xn”S:nðG¡ ŠB™|P6ÿÐ'e«Òùúâ…€;¯Ÿ¾¯ó<|(ƒÆRúz€hÇI``övÔ¡ÍSèéÇàÊú°±]øøm0è{u õí´‘zê@¹±^ŠBÇ þ(”c>›vò(Ú©¥Ô™t:`‚ÀVE}]‚œd_¨e°$…¯OØꃧ Êv¼Î÷I;ÛƒÍo&Ùï_l‡ ô(¤¹Ô.S/*„€pô…2)m¹y®¥(´‘R ©ç©õ<}:é}?ô§ŽõQ(ƒúB¹ŠzßÚùº€9‚B©×“G] dœ d¡‡6èiç‰dÿ)ʾ=õõÙ(곟˜º-O?öG]ŠB狯ãõâ…€€¿&û}¢>¦ðŽe^£¡'J¿XG[¿(û!e”AQb9׿zÚ©‹)Ûˆõ‘ëN¶rŠЃ],ãD18ÃFžzhÚR”íVQk¶ìl7Ö¡.6ôG…2ù lêS|ìGQ! „À0!à¯ÇØ//§xè¨'Ÿ’¡c¥o¬£”õ:Qß–ç­›Ðû  %–© Æaÿ3 dPŒñ¢-¦ðƒŽõc' zð> €ž:ú™*ø³/øƒ'e¬ëe¯c{ÐùÍÄ6™º…Ží¤J•>å+B`'ð×^ß~JO]LQ:n±L}Šâšëõ^&OJ?/{ÞÛ±´Åû“’©KQè₾j-Ãt !ÐÅõ<€ô…2N xRtPêè xl,ì—>´ƒ¢>ê °.xب÷þ´‘ÂÆBžzÏÓOT!0Jøë4yRyИ÷2®·(Бe=Oc½—=Ï:С¤lÐÓ%–©KQ膲 K0;;Úc P¡cAé‡ ìíðà †)xnƆÂzгxýAÙ>ÚóAŸí£¾÷‡ŒBù lþÅóÔVé½x! „À àµÐ÷çuž‡ePòÔ{yúàÚóÞ<|Pèëí)·{mt“铢Х Ú¬½Œmnöw?ÆÆ.).u«L{L$tÜ,eú#@“õ›<}|ݘ§oÜFì™ÅÛ¼<ýHi÷6¯ë¤ý$ ! vª@ÒM»÷ñ2õÔÅÇÄ`^ÅÇuâÄ ®ûS† ePò¤Ð{ž~¤lô©¤ýŒÙÃ2Py°ˆ`I ·TÚaCŒ“Š …2xN ä¤S"À¾àCží²í*}ÑÇóÔ‘ÂVUzñ©ª+½B`'൰SÛô‰)êx]Ìw’y͆O?6î Û¢LÊ}¡ìiÌCÚ2l €íܼ<)@ï ÚòºX†/ëÃÆ„€<ìLÀCïïþY—6ر¡÷²×§æŸØ‡~ÞG¼B`Tð×aò¤<&ÈÔyë;ɸ†ûºÝ’ôÍö|=ê¼<(Š÷Ï5-嘲N¬¯E¶ Ä(ÞNžÔׇm§Ûî$Ç@”}=¶E›—­‰¢ ð(ô#”Í?q]Ú¨§,*„€p½ô…2)m”AÉÃæeê©KÉÛµù¾Ø®×‘E¡©×‡Äï›0^5Œ PP„}IYÔúBûÂÆþhó:ò1eû^eò(l(¨ÃâùN:ÚD…€Ä®£qñ:ÏÃrLiƒÞÛ<ûÐ×ûPûR&õubd”ØÇë‚Câë$Lõ©†5",=ZôñvÖ‹A‡¾JÇ6|]ð)™:öåýhó:ú‘Ò2‹×y>e§NT!0ŒÄ×Yì£×yžûõ¤¬GÙSÏ{?¯_%§êxyP¶ãy¯ N‰?½ø$ªí¼j˜=€KC }2ü©ƒõ¾}è9¥c}ØPèçy¶áuäAQ|}/£³WÉ©:ôB@ #ñµ·W™~¤86ò ä©÷º˜OùtÒyxöI ½çéÓ^|â:“‡=´ ïCž”u ÇíBO_ßב'E;ðõþ”½Ž~¤±zP”nöÜK…€£®™qñ:ÏÓ:PòÞëéãõ)Ú íÔ¥(t(ô%õºàPñÇûW¸Ô«…ÈTpôèlø‘§uc½·Ã†¾´±ôlÛSøÅ2u)  ê°xºX¦Ÿ¨B`TൔûïeÏÃN9¦lÞ—|ì_¥÷~àQèKêuÁ¡Ã_§ƒ[½¦a[¨½FïWÅ£/ÚbÚ‹m«uxl¬çûˆyúv£¾­n¾² ! ví»¸eR¿ŸÔÅ>^G>Ö{Ùóô'… ÅËU|î™þëë¤=.AÛÏ…€F-l[ zÞ·Š÷mÒ‡”§‰rL{©›òñ:öSöë«ä­úWµ#½B [ rÝü½<©ßêb ŸXG™õ)Ç4¶û¶bž¾U”mWÙ/Y¿Û¸Õ`çý«xžÚcÚ«ÝïÛð:¶ã©÷£>¥£ÍÓ^ý|ñB@~ ÐkÀKù¥tÜ'o#OJPêbJŸXO™vßF'ÞûWñ©¶«|·­WЂn«ÁÏûWñ­Ö[‰}IS>ÐÑNêý¼ú”_JGQ! „À(# ’±.–y¼Ô“Bïù*¿”O\7ö‰e¶¢[ñMÕß’N @®íÌ¸Ž—=ï{òzò¤Þ¼×{>¶Åõb9®Û% ! †­ÈØ×Ëž÷ÇìõäI½x¯÷|l‹ëUÉqU~}Ó+HC¹`×é&ûž½oïýÉ{ßN:ÚHSõhB@ Ý‚cÊžÒùãòö*Þûƒ÷~½Èqý”·™òÙ]?€Qy ° yB¶(Yí£ž—S}ú¶½/xÚ¼ž:¶UÕ‡¯CßÛKùH'„€¨^¯gUû˜ªëbÙ·Ûb¾)o£Šßn½ªöjÕ_N ä Új°d=´Ãº±ÎËÞ|lóºT{°£Ð–KÕá—꣺†,B@zèõZÕɯ“ÍUʯWo§Ÿj¯“ÿHØ.Ç€Àó„õ`Y”u©ÛjðûŒÛc»©¾hÛJ¬#*„€F:]{Ýߪ6¶ªïµ?øUµ½•6†Ö÷rNº?qP¥O7êÛ o§¤þ½ôÕÉ'Õ'ûB@\.ôr­ëæÓ;¬úÙÖVú¸ïnH<¨þÄv ¾¾NïÛŠ}:%Þ×·q©ûãÛ/„€vüõ¯—}ݪ/mÒg'ÛfCGw[àO@|Âû€ã¶}¿â…€»º¯‘u÷?ç7'ñ ¨úAô31ˆûôrUÿÞG¼B@ôŽ€®«°RМ¦©—Р’„î{+! „Àî@ —kóî@b›G©`›ÀEÕúýCTB,Q‘G ß×É‘¤îPP÷H÷¯ÿ(i\¤B@>!0Þ§vÔŒB@!0B(¡“¥]B@!Ð/”ô Iµ#„€B`„ëç—…F踵«B@! v5ØÕ§_/„€»%»õÌ븅€B`W# `WŸ~¼B@ìV”ìÖ3¯ãB@]ÀÿõÓðF›_§UIEND®B`‚icnV Cstimfit-0.14.11/stfconf.h.in0000644000175200017520000000312212622700732012501 00000000000000/* stfconf.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION stimfit-0.14.11/src/0000755000175200017520000000000012623045304011130 500000000000000stimfit-0.14.11/src/test/0000755000175200017520000000000012623045304012107 500000000000000stimfit-0.14.11/src/test/measure.cpp0000644000175200017520000007712312556527764014232 00000000000000#include "../stimfit/stf.h" #include "../libstfnum/measure.h" #include #include #include #if (__cplusplus < 201103) #include #include #endif #define PI 3.14159265f #define N_MAX 1000 /* limit tolerance value to sampling interval since they are related. The higher the sampling interval the lower the tolerance can be, for that reason these values must change accordingly */ const static double dt = 1/100.0; /* sampling interval */ const static double tol = dt; /* 1 sampling interval */ void save_txt(const char *fname, Vector_double &mydata){ std::ofstream output_file; output_file.open(fname); Vector_double::iterator it; for (it = mydata.begin(); it != mydata.end(); ++it){ output_file << *it << std::endl; } output_file.close(); } //========================================================================= // evaluates if the measurement is within the expected value for a given // tolerance level that corresponds to //========================================================================= void pass_test(double measurement, double expected, double tolerance){ EXPECT_NEAR( measurement, expected, fabs(expected*tolerance) ); } //========================================================================= // a sine wave to test basic Stimfit measurements // the sine function has well defined maxima and minima that we use // to test the peak algorithm in both directions. // In addition, because derivative of the sine is known (cosine) // we can test easily the max slope of rise and decay. // The maximal slope of rise correspond to the point where cosine is one // (at 0, 2*PI) and the max slope of decay where the cosine is minus one // (at PI, 3*PI). Finally, the 20-80% rise-time should be 0.7, which // is the result of calculating arcsin(0.8)-arcsin(0.2) and the half-with // is two times the value of arcsin(1)-arcsin(0.5) // // length of the wave in sampling points (e.g long(2*PI)) //========================================================================= std::vector sinwave(long length){ std::vector mydata(length); for(std::vector::size_type x=0; x != mydata.size() ; ++x){ mydata[x] = sin( x*dt ); /* see sampling interval */ } return mydata; } //========================================================================= // sine wave as function of amplitude and lambda //========================================================================= std::vector sinwave(double amp, double lambda, long length){ std::vector mydata(length); for(std::vector::size_type x=0; x != mydata.size() ; ++x){ mydata[x] = amp*sin( 2*PI*x*dt/lambda ); /* see sampling interval */ } return mydata; } //========================================================================= // Exponential function to test the Stimfit threshold measurement // we can easily evalute the value and position of the threshold // because the slope we fix for the threshold is simply the exponential // for example, for a slope of 1.5, we will find that // the obtained threshold obtained is 1.5. The time of the // threshold (thrT) can be evaluated at exp(thrT) and give the slope value // the function starts at x=0 (y=1), therefore, the slope values // to be tested should be greater or equal to ONE!!!. //========================================================================= std::vector expwave(long length){ std::vector mydata(length); for(std::vector::size_type x=0; x != mydata.size() ; ++x){ mydata[x] = exp( x*dt ); /* see sampling interval */ } return mydata; } std::vector expwave(double tau, long length){ std::vector mydata(length); for(std::vector::size_type x=0; x != mydata.size() ; ++x){ mydata[x] = exp( x*dt/tau ); /* see sampling interval */ } return mydata; } //========================================================================= // A vector with random numbers between 0 and 1 //========================================================================= std::vector rand(long size){ /* seed the random number generator */ int seed = time(NULL); srand(seed); std::vector myrand(size); for (int i=0; i uniform(double value, long size){ /* seed the random number generator */ int seed = time(NULL); srand(seed); std::vector myrand(size); for (int i=0; i norm(double mean, double stddev){ #if (__cplusplus < 201103) boost::mt19937 rng; /* seed? */ boost::normal_distribution<> norm(mean, stddev); boost::variate_generator > rand_val(rng, norm); #else std::mt19937 rng; /* seed? */ std::normal_distribution<> norm(mean, stddev); std::variate_generator > rand_val(rng, norm); #endif std::vector myrand(N_MAX); for (int i=0; i mybase(N_MAX); for (int i=0; i myrand = rand(N_MAX); mybase[i] = stfnum::base(stfnum::mean_sd, var, myrand, 0, N_MAX-1); EXPECT_NEAR(mybase[i], 1/2., 0.05); /* expected mean = 1/2 */ EXPECT_NEAR(var, 1/12., (1/12.)*0.1); /* expected var = 1/12 */ } //save_txt("base.out", mybase); } //========================================================================= // test baseline (base) //========================================================================= TEST(measlib_test, baseline_basic) { std::vector data(32768); double var = 0; EXPECT_EQ(stfnum::base(stfnum::mean_sd, var, data, 0, data.size()-1), 0); EXPECT_EQ(var, 0); } //========================================================================= // test baseline out of range //========================================================================= TEST(measlib_test, baseline_out_of_range_exceptions) { std::vector data(32768); double var; /* Out of range: after last point */ EXPECT_TRUE(isnan(stfnum::base(stfnum::mean_sd, var, data, 0, data.size()))); /* Out of range: before first point */ EXPECT_TRUE(isnan(stfnum::base(stfnum::mean_sd, var, data, -1, data.size()-1))); } //========================================================================= // test peak //========================================================================= TEST(measlib_test, peak_basic) { /* 1.- Test with a basic example */ std::vector data(32768); data[16385] = 1.0; double maxT; /* Find positive going peaks */ double peak_up = stfnum::peak(data, 0.0, 0, data.size()-1, \ 1, stfnum::up, maxT); EXPECT_EQ(peak_up, 1.0); /* Find negative going peaks */ double peak_down = stfnum::peak(data, 0.0, 0, data.size()-1, \ 1, stfnum::down, maxT); EXPECT_EQ(peak_down, 0.0); /* Find either positive or negative going peaks */ double peak_both = stfnum::peak(data, 0.0, 0, data.size()-1,\ 1, stfnum::both, maxT); EXPECT_EQ(peak_both, 1.0); /* take larger value */ EXPECT_EQ(maxT, 16385); } //========================================================================= // test peak out of range exceptions //========================================================================= TEST(measlib_test, peak_out_of_range_exceptions) { std::vector data(32768); double maxT; /* Out of range: before first point */ EXPECT_TRUE(isnan(stfnum::peak(data, 0.0, 0, data.size(), 1, stfnum::both, maxT))); /* Out of range: before first point */ EXPECT_TRUE(isnan(stfnum::peak(data, 0.0, -1, data.size()-1, 1, stfnum::both, maxT))); } //========================================================================= // test peak direction //========================================================================= TEST(measlib_test, peak_direction) { /* Sin wave between 0 and 2PI */ std::vector mywave = sinwave( long(2*PI/dt) ); /* positive peak is at one, located at PI/2 */ double maxT; double peak = stfnum::peak(mywave, 0.0, 0, long(2*PI/dt)-1, \ 1, stfnum::up, maxT); double peak_xpted = 1.0; /* peak is at 1.0 */ double maxT_xpted = (PI/2.0)/dt; /* maxT located at PI/2 */ EXPECT_NEAR(peak, peak_xpted, 0.1); EXPECT_NEAR(maxT, maxT_xpted, fabs(maxT_xpted*tol)); /* look for negative peak between zero and 2*PI */ double drop = stfnum::peak(mywave, 0.0, 0, long(2*PI/dt)-1, \ 1, stfnum::down, maxT); peak_xpted = -1.0; /* drop is at -1.0 */ maxT_xpted = (3*PI/2)/dt; /* maxT located at 3*PI/2 */ EXPECT_NEAR(drop, peak_xpted, 0.1); EXPECT_NEAR(maxT, maxT_xpted, fabs(maxT_xpted*tol)); /* Cursors between 0 and PI give only possitive peak values*/ double p1 = stfnum::peak(mywave, 0.0, 0, long(PI/dt)-1, \ 1, stfnum::down, maxT); EXPECT_TRUE(p1 >= 0); /* Cursors between PI and 2*PI give only negative peak values*/ double p2 = stfnum::peak(mywave, 0.0, long(PI/dt), long(2*PI/dt)-1, \ 1, stfnum::down, maxT); EXPECT_TRUE(p2 <= 0); } //========================================================================= // Peak random //========================================================================= TEST(measlib_test, peak_random) { double maxT; std::vector mypeak(N_MAX); std::vector myrand = rand(N_MAX); for (int i=0; i<10; i++){ /* A*sin(2*PI*x/lambda) */ std::vector mywave = sinwave(myrand[i], long(2*PI),long(2*PI/dt) ); mypeak[i] = stfnum::peak(mywave, 0.0, 0, long(2*PI/dt)-1, 1, stfnum::up, maxT); EXPECT_NEAR(mypeak[i], myrand[i], fabs(myrand[i]*tol)); } //save_txt("peaks.out", mypeak); } //========================================================================= // test threshold //========================================================================= TEST(measlib_test, threshold){ /* exp wave between 0 and 1 */ std::vector mywave = expwave(1/dt); double thrT; double slope = 1.2; /* y-units/sample, choose always >= 1 */ int windowLength = 1; /* check threshold value at the given slope */ double threshold = stfnum::threshold(mywave, 1, long(1/dt)-1, slope*dt, thrT, windowLength); /* the threshold should be exactly the slope value */ EXPECT_NEAR(threshold*1, slope, fabs(slope*tol)); /* exp(t) should give the slope value */ EXPECT_NEAR(std::exp(thrT*dt), slope, fabs(slope*tol)); } //========================================================================= // test threshold windowLength exceptions //========================================================================= TEST(measlib_test, threshold_windowLength_exceptions){ std::vector data = expwave(1/dt); double thrT; double slope = 1.2; /* y-units/sample, choose always >= 1 */ int mywindowLength = 10; /* Right peak cursor must be larger than windowLength long myRightPeakCursor = mywindowLength-1; EXPECT_TRUE(isnan(stfnum::threshold(data, 0, myRightPeakCursor, slope*dt, thrT, mywindowLength))); */ /* Left peak cursor must be smaller than data.size()-windowLength */ long myLeftPeakCursor = data.size()-mywindowLength; EXPECT_TRUE(isnan(stfnum::threshold(data, myLeftPeakCursor, data.size()-1, slope*dt, thrT, mywindowLength))); /* Data size itself must be smaller than windowLength */ mywindowLength = data.size()+1; EXPECT_TRUE(isnan(stfnum::threshold(data, 0, data.size()-1, \ slope*dt, thrT, mywindowLength))); } //========================================================================= // test threshold out of range exceptions //========================================================================= TEST(measlib_test, threshold_out_of_range){ std::vector mywave = expwave(1/dt); double thrT; double slope = 0.2; /* y-units/sample, choose always >= 1 */ int windowLength = 1; /* Out of range: after last point*/ EXPECT_TRUE(isnan(stfnum::threshold(mywave, 1, mywave.size(), slope*dt, thrT, windowLength))); EXPECT_TRUE(isnan(thrT)); /* Out of range: before first point*/ EXPECT_TRUE(isnan(stfnum::threshold(mywave, -1, mywave.size()-1, slope*dt, thrT, windowLength))); EXPECT_TRUE(isnan(thrT)); } //========================================================================= // test risetime values //========================================================================= TEST(measlib_test, risetime_values){ /* a sine wave between 0 and PI */ std::vector mywave = sinwave( long(PI/dt) ); std::size_t t20, t80; double t20Real; /* check rise time between 0 and PI/2 */ double risetime = stfnum::risetime(mywave, 0.0, 1.0, 1, long((PI/2)/dt)-1, 0.2, t20, t80, t20Real); /* t20 and t80 correspond to 0.2 and 0.8 respectively */ EXPECT_NEAR( std::sin(t20*dt), 0.2, 0.02 ); /* sin(t20) = 0.2 */ EXPECT_NEAR( std::sin(t80*dt), 0.8, 0.08 ); /* sin(t80) = 0.8 */ /* the risetime is the arcsin(t80)-arcsin(t20) */ double risetime_xpted = std::asin(0.8) - std::asin(0.2); EXPECT_NEAR(risetime*dt, risetime_xpted, \ fabs(risetime_xpted*tol) ); } //========================================================================= // test half_duration //========================================================================= TEST(measlib_test, half_duration){ /* a sine wave between 0 and PI */ std::vector mywave = sinwave( long(PI/dt)+10 ); std::size_t t50LeftId, t50RightId; double t50Real; /* check half duration between 0 and PI */ double half_dur = stfnum::t_half(mywave, 0.0, 1.0, 1, long(PI/dt)-1, long((PI/2)/dt),t50LeftId, t50RightId, t50Real); /* t50Left and t50Right correspond to 0.5 */ EXPECT_NEAR( std::sin(t50LeftId*dt), 0.5, 0.05); /* sin(t50) = 0.5 */ EXPECT_NEAR( std::sin(t50RightId*dt), 0.5, 0.05); /* half-duration is arcsin(0.5)+ arcsin(1) */ double half_dur_xpted = std::asin(0.5)+std::asin(1.0); EXPECT_NEAR(half_dur*dt, half_dur_xpted, fabs(half_dur_xpted*tol) ); } //========================================================================= // test half_duration exceptions //========================================================================= TEST(measlib_test, half_duration_out_of_range_exceptions){ /* a sine wave between 0 and PI */ std::vector mywave = sinwave( long(PI/dt) ); std::size_t t50LeftId, t50RigthId; double t50Real; double center = -1.0; /* index of the peak */ /* Out of range: if center <0 */ EXPECT_TRUE(isnan( stfnum::t_half(mywave, 0.0, 1.0, 1, long(PI/dt)-1, center, t50LeftId, t50RigthId, t50Real))); /* Out of range: if center > recording length */ center = mywave.size(); EXPECT_TRUE(isnan( stfnum::t_half(mywave, 0.0, 1.0, 1, long(PI/dt)-1, center, t50LeftId, t50RigthId, t50Real))); } //========================================================================= // test maximal slope of rise //========================================================================= TEST(measlib_test, maxrise_basic) { std::vector data(32768); data[16385] = 1.0; double maxRiseT, maxRiseY; double maxrise = stfnum::maxRise(data, 1, data.size()-1, \ maxRiseT, maxRiseY, 1); EXPECT_EQ(maxrise, 1.0); EXPECT_EQ(maxRiseT, 16384.5); EXPECT_EQ(maxRiseY, 0.5); } //========================================================================= // test maximal slope of rise out of range exceptions //========================================================================= TEST(measlib_test, maxrise_out_of_range_exceptions) { std::vector data(32768); double maxRiseT, maxRiseY; /* Out of range: peak cursor after last point */ EXPECT_TRUE(isnan(stfnum::maxRise(data, 0, data.size(), \ maxRiseT, maxRiseY, 1))); /* Out of range: peak cursor before first point EXPECT_TRUE(isnan(stfnum::maxRise(data, -1, data.size()-1, \ maxRiseT, maxRiseY, 1)));*/ } //========================================================================= // test maximal slope of rise windowLength exceptions //========================================================================= TEST(measlib_test, maxrise_windowLength_exceptions){ std::vector data(32768); double maxRiseT, maxRiseY; long mywindowLength; /* fixed time interval (in sampling points) */ /* Right peak cursor must be larger than windowLength mywindowLength = 10; long myRightPeakCursor = mywindowLength-1; EXPECT_TRUE(isnan(stfnum::maxRise(data, 0, myRightPeakCursor, \ maxRiseT, maxRiseY, mywindowLength)));*/ /* Left peak cursor must be smaller than data.size()-windowLength long myLeftPeakCursor = data.size()-mywindowLength; EXPECT_TRUE(isnan(stfnum::maxRise(data, myLeftPeakCursor, data.size()-1 , \ maxRiseT, maxRiseY, mywindowLength))); */ /* Data size itself must be smaller than windowLength */ mywindowLength = data.size()+1; EXPECT_TRUE(isnan(stfnum::maxRise(data, 0, data.size()-1, \ maxRiseT, maxRiseY, mywindowLength))); } //========================================================================= // test maximal slope of rise with sine wave //========================================================================= TEST(measlib_test, maxrise_values) { /* sine wave between 0 and 3*PI */ std::vector mywave = sinwave( long(3*PI/dt) ); double maxRiseT, maxRiseY; /* check max rise from peak to peak */ int windowLength = 1; stfnum::maxRise(mywave, long((PI/2)/dt), long((5*PI/2)/dt)-1, maxRiseT, maxRiseY, windowLength); /* Max slope of rise should be in 2*PI and give value 0 */ double maxRiseT_xpkted = 2*PI/dt; EXPECT_NEAR(maxRiseY, 0 , 0.1); EXPECT_NEAR( maxRiseT, maxRiseT_xpkted, fabs(maxRiseT_xpkted*tol) ); } //========================================================================= // test maximal slope of decay //========================================================================= TEST(measlib_test, maxdecay_basic) { std::vector data(32768); data[16385] = 1.0; double maxDecayT, maxDecayY; double maxdecay = stfnum::maxDecay(data, 16385, data.size()-1, \ maxDecayT, maxDecayY, 1); EXPECT_EQ(maxdecay, 1.0); EXPECT_EQ(maxDecayT, 16385.5); EXPECT_EQ(maxDecayY, 0.5); } //========================================================================= // test maximal slope of decay out of range exceptions //========================================================================= TEST(measlib_test, maxdecay_out_of_range_exceptions) { std::vector data(32768); double maxDecayT, maxDecayY; /* Out of range: peak cursor after last point */ EXPECT_TRUE(isnan(stfnum::maxRise(data, 0, data.size(), \ maxDecayT, maxDecayY, 1))); /* Out of range: peak cursor before first point EXPECT_TRUE(isnan(stfnum::maxRise(data, -1, data.size()-1, \ maxDecayT, maxDecayY, 1))); */ } //========================================================================= // test maximal slope of decay windowLength exceptions //========================================================================= TEST(measlib_test, maxdecay_windowLength_exceptions) { std::vector data(32768); double maxDecayT, maxDecayY; long mywindowLength; /* fixed time interval (in sampling points) */ /* Right peak cursor must be larger than windowLength mywindowLength = 10; long myRightPeakCursor = mywindowLength-1; EXPECT_TRUE(isnan(stfnum::maxDecay(data, 0, myRightPeakCursor, \ maxDecayT, maxDecayY, mywindowLength))); */ /* Left peak cursor must be smaller than data.size()-windowLength long myLeftPeakCursor = data.size()-mywindowLength; EXPECT_TRUE(isnan(stfnum::maxRise(data, myLeftPeakCursor, data.size()-1 , \ maxDecayT, maxDecayY, mywindowLength)));*/ /* Data size itself must be smaller than windowLength */ mywindowLength = data.size()+1; EXPECT_TRUE(isnan(stfnum::maxRise(data, 0, data.size()-1, \ maxDecayT, maxDecayY, mywindowLength))); } //========================================================================= // test maximal slope of decay with a sine wave //========================================================================= TEST(measlib_test, maxdecay_values){ /* a sine wave between 0 and 2*PI */ std::vector mywave = sinwave( long(2*PI/dt) ); double maxDecayT, maxDecayY; int windowLength = 1; /* compute max slope of decay between 0 and 3*PI/2 */ long endCursor = (3*PI/2)/dt ; stfnum::maxDecay(mywave, 1, endCursor, \ maxDecayT, maxDecayY, windowLength); /* Max slope of decay should be in PI and give value 0 */ EXPECT_NEAR(maxDecayY, 0 , 0.1); double maxDecayT_xpkted = PI/dt; EXPECT_NEAR(maxDecayT, maxDecayT_xpkted, fabs(maxDecayT_xpkted*tol)); } //========================================================================= // test baseline N_MAX random traces //========================================================================= TEST(measlib_validation, baseline) { double var; double tol = 0.1; /* for this case only, to account for the variance */ /* measurement results for base */ std::vector mybase(N_MAX); /* random values from a normal dist. */ std::vector myrand = norm(0, 1); /* we check the measurement N_MAX times */ for (int i=0; i mytrace = uniform(mean, N_MAX); /* calculate base between start and end */ mybase[i] = stfnum::base(stfnum::mean_sd, var, mytrace, 0, mytrace.size()-1); double mean_xpted = myrand[i]/2.0; /* 1/2*(a+b) */ EXPECT_NEAR(mybase[i], mean_xpted, fabs(mean_xpted*tol)); /* sanity check for variance */ double var_xpted = fabs(myrand[i]*myrand[i]/12.); /* 1/12*(a+b)^2 */ EXPECT_NEAR(var, var_xpted, var_xpted*tol ); } //save_txt("/tmp/base.val", mybase); } //========================================================================= // test peak N_MAX random traces //========================================================================= TEST(measlib_validation, peak) { double maxT; /* measurement results for peak */ std::vector mypeak(N_MAX); /* random values from a normal dist. */ std::vector myrand = norm(10, 1); /* we check the measurement N_MAX times */ for (int i=0; i mytrace = sinwave(peak, 9.5, long(9.5/dt)); /* calculate peak between start and end */ mypeak[i] = stfnum::peak(mytrace, 0.0, 0, mytrace.size()-1, 1, stfnum::up, maxT); EXPECT_NEAR(mypeak[i], myrand[i], fabs(myrand[i]*tol)); } save_txt("/tmp/peak_stf.val", mypeak); save_txt("/tmp/peak_real.val", myrand); } //========================================================================= // test risetime N_MAX random traces //========================================================================= TEST(measlib_validation, risetime) { std::size_t t20, t80; double t20Real; /* measurement results for risetime */ std::vector myrisetime(N_MAX); /* N_MAX random values from a normal dist. */ std::vector myrand = norm(20., 2.); /* we check the measurement N_MAX times */ for (int i=0; i mytrace = sinwave(1.0, lambda, long(lambda/dt)); /* calculate risetime between start and peak (lambda/4) */ myrisetime[i] = stfnum::risetime(mytrace, 0.0, 1.0, 1, long((lambda/4)/dt), 0.2, t20, t80, t20Real); double l = 2*PI/lambda; double risetime_xpted = (std::asin(.8)-std::asin(.2))/l; EXPECT_NEAR(myrisetime[i]*dt, risetime_xpted, fabs(risetime_xpted*tol)); myrisetime[i] *=dt; /* to save real values in a file */ } save_txt("/tmp/risetime.val", myrisetime); } //========================================================================= // test risetime 10-90 N_MAX random traces //========================================================================= TEST(measlib_validation, risetime1090) { std::size_t t10, t90; double t10Real; /* measurement results for risetime */ std::vector myrisetime(N_MAX); /* N_MAX random values from a normal dist. */ std::vector myrand = norm(20., 2.); /* we check the measurement N_MAX times */ for (int i=0; i mytrace = sinwave(1.0, lambda, long(lambda/dt)); /* calculate risetime between start and peak (lambda/4) */ myrisetime[i] = stfnum::risetime(mytrace, 0.0, 1.0, 1, long((lambda/4)/dt), 0.1, t10, t90, t10Real); double l = 2*PI/lambda; double risetime_xpted = (std::asin(.9)-std::asin(.1))/l; EXPECT_NEAR(myrisetime[i]*dt, risetime_xpted, fabs(risetime_xpted*tol)); //myrisetime[i] *=dt; /* to save real values in a file */ } //save_txt("/tmp/risetime.val", myrisetime); } //========================================================================= // test half_t N_MAX random traces //========================================================================= TEST(measlib_validation, half_duration) { std::size_t t50LeftId, t50RightId; double t50Real; /* measurement results for risetime */ std::vector myhalf_width(N_MAX); /* N_MAX random values from a normal dist. */ std::vector myrand = norm(20., 2.); /* we check the measurement N_MAX times */ for (int i=0; i mytrace = sinwave(1.0, lambda, long(lambda/dt)); /* calculate half width starting form start and entering peak (lambda/4) */ myhalf_width[i] = stfnum::t_half(mytrace, 0.0, 1.0, 1, long(lambda/dt)-2, long((lambda/4)/dt), t50LeftId, t50RightId, t50Real); double l = 2*PI/lambda; double half_width_xpted = 2*(std::asin(1.)-std::asin(.5))/l; EXPECT_NEAR(myhalf_width[i]*dt, half_width_xpted, fabs(half_width_xpted*tol)); myhalf_width[i] *=dt; /* to save real values in a file */ } save_txt("/tmp/half_width.val", myhalf_width); } //========================================================================= // test slope_rise N_MAX random traces //========================================================================= TEST(measlib_validation, maxrise) { double maxRiseT, maxRiseY; /* measurement results for maxrise */ std::vector mymaxrise(N_MAX); /* N_MAX random values from a normal dist. */ std::vector myrand = norm(10., 2.); /* we check measurements N_MAX times */ for (int i=0; i mytrace = sinwave(1.0, lambda, long(1.25*lambda/dt)); /* calculate maxrise in the second sine peak */ /* locate the first cursor later that 1st peak at ~(lambda/4) to avoid that this value becomes the max of the rise */ mymaxrise[i] = stfnum::maxRise(mytrace, long(0.75*lambda/dt)+1, mytrace.size()-1, maxRiseT, maxRiseY, 1); double maxRiseT_xpted = lambda; EXPECT_NEAR(maxRiseT*dt, maxRiseT_xpted, fabs(maxRiseT_xpted*tol)); mymaxrise[i] *=dt; /* to save real values in a file */ } save_txt("/tmp/max_rise.val", mymaxrise); } //========================================================================= // test slope_rise N_MAX random traces //========================================================================= TEST(measlib_validation, maxdecay) { double maxDecayT, maxDecayY; /* measurement results for maxrise */ std::vector mymaxdecay(N_MAX); /* N_MAX random values from a normal dist. */ std::vector myrand = norm(10., 2.); /* we check measurements N_MAX times */ for (int i=0; i mytrace = sinwave(1.0, lambda, long(lambda/dt)); mymaxdecay[i] = stfnum::maxDecay(mytrace, 1, long(0.75*lambda/dt), maxDecayT, maxDecayY, 1); double maxDecayT_xpted = lambda/2.0; EXPECT_NEAR(maxDecayT*dt, maxDecayT_xpted, fabs(maxDecayT_xpted*tol)); mymaxdecay[i] *=dt; /* to save real values in a file */ } save_txt("/tmp/max_decay.val", mymaxdecay); } //========================================================================= // test threshold N_MAX random traces //========================================================================= TEST(measlib_validation, threshold) { double thrT; /* measurements results for threshold */ std::vector mythreshold(N_MAX); /* N_MAX random values from a normal dist. */ std::vector myrand = norm(10., 2.); /* fix a slope and to look for it in different traces */ /* this could be any value between 1 and e (2.718281...) */ const double myslope = 2.0; /* we check measurements N_MAX times */ for (int i=0; i mytrace = expwave(tau, 5*long(tau/dt)); /* calculate thresholds */ mythreshold[i] = stfnum::threshold(mytrace, 1, mytrace.size()-1, myslope*dt, thrT, 1); /* Threshold is the slope value times tau */ double thr_xpted = myslope*tau; EXPECT_NEAR(mythreshold[i], thr_xpted, fabs(thr_xpted*tol)); /* sanity check */ /* The differential of the exponential function is e^(x/tau)/tau at x=thrT should give us the slope that we used as threshold */ double slope_xpted = std::exp(thrT*dt/tau)/tau; EXPECT_NEAR(myslope, slope_xpted, fabs(slope_xpted*tol)); } save_txt("/tmp/threshold.val", mythreshold); } stimfit-0.14.11/src/test/channel.cpp0000644000175200017520000000245112475053170014152 00000000000000#include "../libstfio/stfio.h" #include TEST(Channel_test, constructors) { Channel ch0; EXPECT_EQ( ch0.size(), 0 ); Section sec(32768); Channel ch1(sec); EXPECT_EQ( ch1.size(), 1 ); EXPECT_EQ( ch1[0].size(), 32768 ); std::deque

sec_list(16, Section(32768)); Channel ch2(sec_list); EXPECT_EQ( ch2.size(), 16 ); EXPECT_EQ( ch2[ch2.size()-1].size(), 32768 ); Channel ch3(16, 32768); EXPECT_EQ( ch3.size(), 16 ); EXPECT_EQ( ch3[ch3.size()-1].size(), 32768 ); } TEST(Channel_test, data_access) { Channel ch1(Section(32768)); EXPECT_EQ( ch1[0][ch1[0].size()-1], 0 ); EXPECT_THROW( ch1.at( ch1.size() ), std::out_of_range ); EXPECT_THROW( ch1[0].at(ch1[0].size()), std::out_of_range ); std::deque
sec_list(16, Section(32768)); Channel ch2(sec_list); EXPECT_EQ( ch2[ch2.size()-1][ch2[ch2.size()-1].size()-1], 0 ); EXPECT_THROW( ch2.at( ch2.size() ), std::out_of_range ); EXPECT_THROW( ch2[ch2.size()-1].at(ch2[ch2.size()-1].size()), std::out_of_range ); Channel ch3(16, 32768); EXPECT_EQ( ch3[ch3.size()-1][ch3[ch3.size()-1].size()-1], 0 ); EXPECT_THROW( ch3.at( ch3.size() ), std::out_of_range ); EXPECT_THROW( ch3[ch3.size()-1].at(ch3[ch3.size()-1].size()), std::out_of_range ); } stimfit-0.14.11/src/test/gtest/0000755000175200017520000000000012623045304013235 500000000000000stimfit-0.14.11/src/test/gtest/COPYING0000644000175200017520000000270312277666257014237 00000000000000Copyright 2008, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. stimfit-0.14.11/src/test/gtest/CHANGES0000644000175200017520000001476512277666257014212 00000000000000Changes for 1.7.0: * New feature: death tests are supported on OpenBSD and in iOS simulator now. * New feature: Google Test now implements a protocol to allow a test runner to detect that a test program has exited prematurely and report it as a failure (before it would be falsely reported as a success if the exit code is 0). * New feature: Test::RecordProperty() can now be used outside of the lifespan of a test method, in which case it will be attributed to the current test case or the test program in the XML report. * New feature (potentially breaking): --gtest_list_tests now prints the type parameters and value parameters for each test. * Improvement: char pointers and char arrays are now escaped properly in failure messages. * Improvement: failure summary in XML reports now includes file and line information. * Improvement: the XML element now has a timestamp attribute. * Improvement: When --gtest_filter is specified, XML report now doesn't contain information about tests that are filtered out. * Fixed the bug where long --gtest_filter flag values are truncated in death tests. * Potentially breaking change: RUN_ALL_TESTS() is now implemented as a function instead of a macro in order to work better with Clang. * Compatibility fixes with C++ 11 and various platforms. * Bug/warning fixes. Changes for 1.6.0: * New feature: ADD_FAILURE_AT() for reporting a test failure at the given source location -- useful for writing testing utilities. * New feature: the universal value printer is moved from Google Mock to Google Test. * New feature: type parameters and value parameters are reported in the XML report now. * A gtest_disable_pthreads CMake option. * Colored output works in GNU Screen sessions now. * Parameters of value-parameterized tests are now printed in the textual output. * Failures from ad hoc test assertions run before RUN_ALL_TESTS() are now correctly reported. * Arguments of ASSERT_XY and EXPECT_XY no longer need to support << to ostream. * More complete handling of exceptions. * GTEST_ASSERT_XY can be used instead of ASSERT_XY in case the latter name is already used by another library. * --gtest_catch_exceptions is now true by default, allowing a test program to continue after an exception is thrown. * Value-parameterized test fixtures can now derive from Test and WithParamInterface separately, easing conversion of legacy tests. * Death test messages are clearly marked to make them more distinguishable from other messages. * Compatibility fixes for Android, Google Native Client, MinGW, HP UX, PowerPC, Lucid autotools, libCStd, Sun C++, Borland C++ Builder (Code Gear), IBM XL C++ (Visual Age C++), and C++0x. * Bug fixes and implementation clean-ups. * Potentially incompatible changes: disables the harmful 'make install' command in autotools. Changes for 1.5.0: * New feature: assertions can be safely called in multiple threads where the pthreads library is available. * New feature: predicates used inside EXPECT_TRUE() and friends can now generate custom failure messages. * New feature: Google Test can now be compiled as a DLL. * New feature: fused source files are included. * New feature: prints help when encountering unrecognized Google Test flags. * Experimental feature: CMake build script (requires CMake 2.6.4+). * Experimental feature: the Pump script for meta programming. * double values streamed to an assertion are printed with enough precision to differentiate any two different values. * Google Test now works on Solaris and AIX. * Build and test script improvements. * Bug fixes and implementation clean-ups. Potentially breaking changes: * Stopped supporting VC++ 7.1 with exceptions disabled. * Dropped support for 'make install'. Changes for 1.4.0: * New feature: the event listener API * New feature: test shuffling * New feature: the XML report format is closer to junitreport and can be parsed by Hudson now. * New feature: when a test runs under Visual Studio, its failures are integrated in the IDE. * New feature: /MD(d) versions of VC++ projects. * New feature: elapsed time for the tests is printed by default. * New feature: comes with a TR1 tuple implementation such that Boost is no longer needed for Combine(). * New feature: EXPECT_DEATH_IF_SUPPORTED macro and friends. * New feature: the Xcode project can now produce static gtest libraries in addition to a framework. * Compatibility fixes for Solaris, Cygwin, minGW, Windows Mobile, Symbian, gcc, and C++Builder. * Bug fixes and implementation clean-ups. Changes for 1.3.0: * New feature: death tests on Windows, Cygwin, and Mac. * New feature: ability to use Google Test assertions in other testing frameworks. * New feature: ability to run disabled test via --gtest_also_run_disabled_tests. * New feature: the --help flag for printing the usage. * New feature: access to Google Test flag values in user code. * New feature: a script that packs Google Test into one .h and one .cc file for easy deployment. * New feature: support for distributing test functions to multiple machines (requires support from the test runner). * Bug fixes and implementation clean-ups. Changes for 1.2.1: * Compatibility fixes for Linux IA-64 and IBM z/OS. * Added support for using Boost and other TR1 implementations. * Changes to the build scripts to support upcoming release of Google C++ Mocking Framework. * Added Makefile to the distribution package. * Improved build instructions in README. Changes for 1.2.0: * New feature: value-parameterized tests. * New feature: the ASSERT/EXPECT_(NON)FATAL_FAILURE(_ON_ALL_THREADS) macros. * Changed the XML report format to match JUnit/Ant's. * Added tests to the Xcode project. * Added scons/SConscript for building with SCons. * Added src/gtest-all.cc for building Google Test from a single file. * Fixed compatibility with Solaris and z/OS. * Enabled running Python tests on systems with python 2.3 installed, e.g. Mac OS X 10.4. * Bug fixes. Changes for 1.1.0: * New feature: type-parameterized tests. * New feature: exception assertions. * New feature: printing elapsed time of tests. * Improved the robustness of death tests. * Added an Xcode project and samples. * Adjusted the output format on Windows to be understandable by Visual Studio. * Minor bug fixes. Changes for 1.0.1: * Added project files for Visual Studio 7.1. * Fixed issues with compiling on Mac OS X. * Fixed issues with compiling on Cygwin. Changes for 1.0.0: * Initial Open Source release of Google Test stimfit-0.14.11/src/test/gtest/CONTRIBUTORS0000644000175200017520000000251612277666257015066 00000000000000# This file contains a list of people who've made non-trivial # contribution to the Google C++ Testing Framework project. People # who commit code to the project are encouraged to add their names # here. Please keep the list sorted by first names. Ajay Joshi Balázs Dán Bharat Mediratta Chandler Carruth Chris Prince Chris Taylor Dan Egnor Eric Roman Hady Zalek Jeffrey Yasskin Jói Sigurðsson Keir Mierle Keith Ray Kenton Varda Manuel Klimek Markus Heule Mika Raento Miklós Fazekas Pasi Valminen Patrick Hanna Patrick Riley Peter Kaminski Preston Jackson Rainer Klaffenboeck Russ Cox Russ Rufer Sean Mcafee Sigurður Ãsgeirsson Tracy Bialik Vadim Berman Vlad Losev Zhanyong Wan stimfit-0.14.11/src/test/gtest/src/0000755000175200017520000000000012623045304014024 500000000000000stimfit-0.14.11/src/test/gtest/src/gtest-internal-inl.h0000644000175200017520000013260112277666257017665 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Utility functions and classes used by the Google C++ testing framework. // // Author: wan@google.com (Zhanyong Wan) // // This file contains purely Google Test's internal implementation. Please // DO NOT #INCLUDE IT IN A USER PROGRAM. #ifndef GTEST_SRC_GTEST_INTERNAL_INL_H_ #define GTEST_SRC_GTEST_INTERNAL_INL_H_ // GTEST_IMPLEMENTATION_ is defined to 1 iff the current translation unit is // part of Google Test's implementation; otherwise it's undefined. #if !GTEST_IMPLEMENTATION_ // A user is trying to include this from his code - just say no. # error "gtest-internal-inl.h is part of Google Test's internal implementation." # error "It must not be included except by Google Test itself." #endif // GTEST_IMPLEMENTATION_ #ifndef _WIN32_WCE # include #endif // !_WIN32_WCE #include #include // For strtoll/_strtoul64/malloc/free. #include // For memmove. #include #include #include #include "gtest/internal/gtest-port.h" #if GTEST_CAN_STREAM_RESULTS_ # include // NOLINT # include // NOLINT #endif #if GTEST_OS_WINDOWS # include // NOLINT #endif // GTEST_OS_WINDOWS #include "gtest/gtest.h" // NOLINT #include "gtest/gtest-spi.h" namespace testing { // Declares the flags. // // We don't want the users to modify this flag in the code, but want // Google Test's own unit tests to be able to access it. Therefore we // declare it here as opposed to in gtest.h. GTEST_DECLARE_bool_(death_test_use_fork); namespace internal { // The value of GetTestTypeId() as seen from within the Google Test // library. This is solely for testing GetTestTypeId(). GTEST_API_ extern const TypeId kTestTypeIdInGoogleTest; // Names of the flags (needed for parsing Google Test flags). const char kAlsoRunDisabledTestsFlag[] = "also_run_disabled_tests"; const char kBreakOnFailureFlag[] = "break_on_failure"; const char kCatchExceptionsFlag[] = "catch_exceptions"; const char kColorFlag[] = "color"; const char kFilterFlag[] = "filter"; const char kListTestsFlag[] = "list_tests"; const char kOutputFlag[] = "output"; const char kPrintTimeFlag[] = "print_time"; const char kRandomSeedFlag[] = "random_seed"; const char kRepeatFlag[] = "repeat"; const char kShuffleFlag[] = "shuffle"; const char kStackTraceDepthFlag[] = "stack_trace_depth"; const char kStreamResultToFlag[] = "stream_result_to"; const char kThrowOnFailureFlag[] = "throw_on_failure"; // A valid random seed must be in [1, kMaxRandomSeed]. const int kMaxRandomSeed = 99999; // g_help_flag is true iff the --help flag or an equivalent form is // specified on the command line. GTEST_API_ extern bool g_help_flag; // Returns the current time in milliseconds. GTEST_API_ TimeInMillis GetTimeInMillis(); // Returns true iff Google Test should use colors in the output. GTEST_API_ bool ShouldUseColor(bool stdout_is_tty); // Formats the given time in milliseconds as seconds. GTEST_API_ std::string FormatTimeInMillisAsSeconds(TimeInMillis ms); // Converts the given time in milliseconds to a date string in the ISO 8601 // format, without the timezone information. N.B.: due to the use the // non-reentrant localtime() function, this function is not thread safe. Do // not use it in any code that can be called from multiple threads. GTEST_API_ std::string FormatEpochTimeInMillisAsIso8601(TimeInMillis ms); // Parses a string for an Int32 flag, in the form of "--flag=value". // // On success, stores the value of the flag in *value, and returns // true. On failure, returns false without changing *value. GTEST_API_ bool ParseInt32Flag( const char* str, const char* flag, Int32* value); // Returns a random seed in range [1, kMaxRandomSeed] based on the // given --gtest_random_seed flag value. inline int GetRandomSeedFromFlag(Int32 random_seed_flag) { const unsigned int raw_seed = (random_seed_flag == 0) ? static_cast(GetTimeInMillis()) : static_cast(random_seed_flag); // Normalizes the actual seed to range [1, kMaxRandomSeed] such that // it's easy to type. const int normalized_seed = static_cast((raw_seed - 1U) % static_cast(kMaxRandomSeed)) + 1; return normalized_seed; } // Returns the first valid random seed after 'seed'. The behavior is // undefined if 'seed' is invalid. The seed after kMaxRandomSeed is // considered to be 1. inline int GetNextRandomSeed(int seed) { GTEST_CHECK_(1 <= seed && seed <= kMaxRandomSeed) << "Invalid random seed " << seed << " - must be in [1, " << kMaxRandomSeed << "]."; const int next_seed = seed + 1; return (next_seed > kMaxRandomSeed) ? 1 : next_seed; } // This class saves the values of all Google Test flags in its c'tor, and // restores them in its d'tor. class GTestFlagSaver { public: // The c'tor. GTestFlagSaver() { also_run_disabled_tests_ = GTEST_FLAG(also_run_disabled_tests); break_on_failure_ = GTEST_FLAG(break_on_failure); catch_exceptions_ = GTEST_FLAG(catch_exceptions); color_ = GTEST_FLAG(color); death_test_style_ = GTEST_FLAG(death_test_style); death_test_use_fork_ = GTEST_FLAG(death_test_use_fork); filter_ = GTEST_FLAG(filter); internal_run_death_test_ = GTEST_FLAG(internal_run_death_test); list_tests_ = GTEST_FLAG(list_tests); output_ = GTEST_FLAG(output); print_time_ = GTEST_FLAG(print_time); random_seed_ = GTEST_FLAG(random_seed); repeat_ = GTEST_FLAG(repeat); shuffle_ = GTEST_FLAG(shuffle); stack_trace_depth_ = GTEST_FLAG(stack_trace_depth); stream_result_to_ = GTEST_FLAG(stream_result_to); throw_on_failure_ = GTEST_FLAG(throw_on_failure); } // The d'tor is not virtual. DO NOT INHERIT FROM THIS CLASS. ~GTestFlagSaver() { GTEST_FLAG(also_run_disabled_tests) = also_run_disabled_tests_; GTEST_FLAG(break_on_failure) = break_on_failure_; GTEST_FLAG(catch_exceptions) = catch_exceptions_; GTEST_FLAG(color) = color_; GTEST_FLAG(death_test_style) = death_test_style_; GTEST_FLAG(death_test_use_fork) = death_test_use_fork_; GTEST_FLAG(filter) = filter_; GTEST_FLAG(internal_run_death_test) = internal_run_death_test_; GTEST_FLAG(list_tests) = list_tests_; GTEST_FLAG(output) = output_; GTEST_FLAG(print_time) = print_time_; GTEST_FLAG(random_seed) = random_seed_; GTEST_FLAG(repeat) = repeat_; GTEST_FLAG(shuffle) = shuffle_; GTEST_FLAG(stack_trace_depth) = stack_trace_depth_; GTEST_FLAG(stream_result_to) = stream_result_to_; GTEST_FLAG(throw_on_failure) = throw_on_failure_; } private: // Fields for saving the original values of flags. bool also_run_disabled_tests_; bool break_on_failure_; bool catch_exceptions_; std::string color_; std::string death_test_style_; bool death_test_use_fork_; std::string filter_; std::string internal_run_death_test_; bool list_tests_; std::string output_; bool print_time_; internal::Int32 random_seed_; internal::Int32 repeat_; bool shuffle_; internal::Int32 stack_trace_depth_; std::string stream_result_to_; bool throw_on_failure_; } GTEST_ATTRIBUTE_UNUSED_; // Converts a Unicode code point to a narrow string in UTF-8 encoding. // code_point parameter is of type UInt32 because wchar_t may not be // wide enough to contain a code point. // If the code_point is not a valid Unicode code point // (i.e. outside of Unicode range U+0 to U+10FFFF) it will be converted // to "(Invalid Unicode 0xXXXXXXXX)". GTEST_API_ std::string CodePointToUtf8(UInt32 code_point); // Converts a wide string to a narrow string in UTF-8 encoding. // The wide string is assumed to have the following encoding: // UTF-16 if sizeof(wchar_t) == 2 (on Windows, Cygwin, Symbian OS) // UTF-32 if sizeof(wchar_t) == 4 (on Linux) // Parameter str points to a null-terminated wide string. // Parameter num_chars may additionally limit the number // of wchar_t characters processed. -1 is used when the entire string // should be processed. // If the string contains code points that are not valid Unicode code points // (i.e. outside of Unicode range U+0 to U+10FFFF) they will be output // as '(Invalid Unicode 0xXXXXXXXX)'. If the string is in UTF16 encoding // and contains invalid UTF-16 surrogate pairs, values in those pairs // will be encoded as individual Unicode characters from Basic Normal Plane. GTEST_API_ std::string WideStringToUtf8(const wchar_t* str, int num_chars); // Reads the GTEST_SHARD_STATUS_FILE environment variable, and creates the file // if the variable is present. If a file already exists at this location, this // function will write over it. If the variable is present, but the file cannot // be created, prints an error and exits. void WriteToShardStatusFileIfNeeded(); // Checks whether sharding is enabled by examining the relevant // environment variable values. If the variables are present, // but inconsistent (e.g., shard_index >= total_shards), prints // an error and exits. If in_subprocess_for_death_test, sharding is // disabled because it must only be applied to the original test // process. Otherwise, we could filter out death tests we intended to execute. GTEST_API_ bool ShouldShard(const char* total_shards_str, const char* shard_index_str, bool in_subprocess_for_death_test); // Parses the environment variable var as an Int32. If it is unset, // returns default_val. If it is not an Int32, prints an error and // and aborts. GTEST_API_ Int32 Int32FromEnvOrDie(const char* env_var, Int32 default_val); // Given the total number of shards, the shard index, and the test id, // returns true iff the test should be run on this shard. The test id is // some arbitrary but unique non-negative integer assigned to each test // method. Assumes that 0 <= shard_index < total_shards. GTEST_API_ bool ShouldRunTestOnShard( int total_shards, int shard_index, int test_id); // STL container utilities. // Returns the number of elements in the given container that satisfy // the given predicate. template inline int CountIf(const Container& c, Predicate predicate) { // Implemented as an explicit loop since std::count_if() in libCstd on // Solaris has a non-standard signature. int count = 0; for (typename Container::const_iterator it = c.begin(); it != c.end(); ++it) { if (predicate(*it)) ++count; } return count; } // Applies a function/functor to each element in the container. template void ForEach(const Container& c, Functor functor) { std::for_each(c.begin(), c.end(), functor); } // Returns the i-th element of the vector, or default_value if i is not // in range [0, v.size()). template inline E GetElementOr(const std::vector& v, int i, E default_value) { return (i < 0 || i >= static_cast(v.size())) ? default_value : v[i]; } // Performs an in-place shuffle of a range of the vector's elements. // 'begin' and 'end' are element indices as an STL-style range; // i.e. [begin, end) are shuffled, where 'end' == size() means to // shuffle to the end of the vector. template void ShuffleRange(internal::Random* random, int begin, int end, std::vector* v) { const int size = static_cast(v->size()); GTEST_CHECK_(0 <= begin && begin <= size) << "Invalid shuffle range start " << begin << ": must be in range [0, " << size << "]."; GTEST_CHECK_(begin <= end && end <= size) << "Invalid shuffle range finish " << end << ": must be in range [" << begin << ", " << size << "]."; // Fisher-Yates shuffle, from // http://en.wikipedia.org/wiki/Fisher-Yates_shuffle for (int range_width = end - begin; range_width >= 2; range_width--) { const int last_in_range = begin + range_width - 1; const int selected = begin + random->Generate(range_width); std::swap((*v)[selected], (*v)[last_in_range]); } } // Performs an in-place shuffle of the vector's elements. template inline void Shuffle(internal::Random* random, std::vector* v) { ShuffleRange(random, 0, static_cast(v->size()), v); } // A function for deleting an object. Handy for being used as a // functor. template static void Delete(T* x) { delete x; } // A predicate that checks the key of a TestProperty against a known key. // // TestPropertyKeyIs is copyable. class TestPropertyKeyIs { public: // Constructor. // // TestPropertyKeyIs has NO default constructor. explicit TestPropertyKeyIs(const std::string& key) : key_(key) {} // Returns true iff the test name of test property matches on key_. bool operator()(const TestProperty& test_property) const { return test_property.key() == key_; } private: std::string key_; }; // Class UnitTestOptions. // // This class contains functions for processing options the user // specifies when running the tests. It has only static members. // // In most cases, the user can specify an option using either an // environment variable or a command line flag. E.g. you can set the // test filter using either GTEST_FILTER or --gtest_filter. If both // the variable and the flag are present, the latter overrides the // former. class GTEST_API_ UnitTestOptions { public: // Functions for processing the gtest_output flag. // Returns the output format, or "" for normal printed output. static std::string GetOutputFormat(); // Returns the absolute path of the requested output file, or the // default (test_detail.xml in the original working directory) if // none was explicitly specified. static std::string GetAbsolutePathToOutputFile(); // Functions for processing the gtest_filter flag. // Returns true iff the wildcard pattern matches the string. The // first ':' or '\0' character in pattern marks the end of it. // // This recursive algorithm isn't very efficient, but is clear and // works well enough for matching test names, which are short. static bool PatternMatchesString(const char *pattern, const char *str); // Returns true iff the user-specified filter matches the test case // name and the test name. static bool FilterMatchesTest(const std::string &test_case_name, const std::string &test_name); #if GTEST_OS_WINDOWS // Function for supporting the gtest_catch_exception flag. // Returns EXCEPTION_EXECUTE_HANDLER if Google Test should handle the // given SEH exception, or EXCEPTION_CONTINUE_SEARCH otherwise. // This function is useful as an __except condition. static int GTestShouldProcessSEH(DWORD exception_code); #endif // GTEST_OS_WINDOWS // Returns true if "name" matches the ':' separated list of glob-style // filters in "filter". static bool MatchesFilter(const std::string& name, const char* filter); }; // Returns the current application's name, removing directory path if that // is present. Used by UnitTestOptions::GetOutputFile. GTEST_API_ FilePath GetCurrentExecutableName(); // The role interface for getting the OS stack trace as a string. class OsStackTraceGetterInterface { public: OsStackTraceGetterInterface() {} virtual ~OsStackTraceGetterInterface() {} // Returns the current OS stack trace as an std::string. Parameters: // // max_depth - the maximum number of stack frames to be included // in the trace. // skip_count - the number of top frames to be skipped; doesn't count // against max_depth. virtual string CurrentStackTrace(int max_depth, int skip_count) = 0; // UponLeavingGTest() should be called immediately before Google Test calls // user code. It saves some information about the current stack that // CurrentStackTrace() will use to find and hide Google Test stack frames. virtual void UponLeavingGTest() = 0; private: GTEST_DISALLOW_COPY_AND_ASSIGN_(OsStackTraceGetterInterface); }; // A working implementation of the OsStackTraceGetterInterface interface. class OsStackTraceGetter : public OsStackTraceGetterInterface { public: OsStackTraceGetter() : caller_frame_(NULL) {} virtual string CurrentStackTrace(int max_depth, int skip_count) GTEST_LOCK_EXCLUDED_(mutex_); virtual void UponLeavingGTest() GTEST_LOCK_EXCLUDED_(mutex_); // This string is inserted in place of stack frames that are part of // Google Test's implementation. static const char* const kElidedFramesMarker; private: Mutex mutex_; // protects all internal state // We save the stack frame below the frame that calls user code. // We do this because the address of the frame immediately below // the user code changes between the call to UponLeavingGTest() // and any calls to CurrentStackTrace() from within the user code. void* caller_frame_; GTEST_DISALLOW_COPY_AND_ASSIGN_(OsStackTraceGetter); }; // Information about a Google Test trace point. struct TraceInfo { const char* file; int line; std::string message; }; // This is the default global test part result reporter used in UnitTestImpl. // This class should only be used by UnitTestImpl. class DefaultGlobalTestPartResultReporter : public TestPartResultReporterInterface { public: explicit DefaultGlobalTestPartResultReporter(UnitTestImpl* unit_test); // Implements the TestPartResultReporterInterface. Reports the test part // result in the current test. virtual void ReportTestPartResult(const TestPartResult& result); private: UnitTestImpl* const unit_test_; GTEST_DISALLOW_COPY_AND_ASSIGN_(DefaultGlobalTestPartResultReporter); }; // This is the default per thread test part result reporter used in // UnitTestImpl. This class should only be used by UnitTestImpl. class DefaultPerThreadTestPartResultReporter : public TestPartResultReporterInterface { public: explicit DefaultPerThreadTestPartResultReporter(UnitTestImpl* unit_test); // Implements the TestPartResultReporterInterface. The implementation just // delegates to the current global test part result reporter of *unit_test_. virtual void ReportTestPartResult(const TestPartResult& result); private: UnitTestImpl* const unit_test_; GTEST_DISALLOW_COPY_AND_ASSIGN_(DefaultPerThreadTestPartResultReporter); }; // The private implementation of the UnitTest class. We don't protect // the methods under a mutex, as this class is not accessible by a // user and the UnitTest class that delegates work to this class does // proper locking. class GTEST_API_ UnitTestImpl { public: explicit UnitTestImpl(UnitTest* parent); virtual ~UnitTestImpl(); // There are two different ways to register your own TestPartResultReporter. // You can register your own repoter to listen either only for test results // from the current thread or for results from all threads. // By default, each per-thread test result repoter just passes a new // TestPartResult to the global test result reporter, which registers the // test part result for the currently running test. // Returns the global test part result reporter. TestPartResultReporterInterface* GetGlobalTestPartResultReporter(); // Sets the global test part result reporter. void SetGlobalTestPartResultReporter( TestPartResultReporterInterface* reporter); // Returns the test part result reporter for the current thread. TestPartResultReporterInterface* GetTestPartResultReporterForCurrentThread(); // Sets the test part result reporter for the current thread. void SetTestPartResultReporterForCurrentThread( TestPartResultReporterInterface* reporter); // Gets the number of successful test cases. int successful_test_case_count() const; // Gets the number of failed test cases. int failed_test_case_count() const; // Gets the number of all test cases. int total_test_case_count() const; // Gets the number of all test cases that contain at least one test // that should run. int test_case_to_run_count() const; // Gets the number of successful tests. int successful_test_count() const; // Gets the number of failed tests. int failed_test_count() const; // Gets the number of disabled tests that will be reported in the XML report. int reportable_disabled_test_count() const; // Gets the number of disabled tests. int disabled_test_count() const; // Gets the number of tests to be printed in the XML report. int reportable_test_count() const; // Gets the number of all tests. int total_test_count() const; // Gets the number of tests that should run. int test_to_run_count() const; // Gets the time of the test program start, in ms from the start of the // UNIX epoch. TimeInMillis start_timestamp() const { return start_timestamp_; } // Gets the elapsed time, in milliseconds. TimeInMillis elapsed_time() const { return elapsed_time_; } // Returns true iff the unit test passed (i.e. all test cases passed). bool Passed() const { return !Failed(); } // Returns true iff the unit test failed (i.e. some test case failed // or something outside of all tests failed). bool Failed() const { return failed_test_case_count() > 0 || ad_hoc_test_result()->Failed(); } // Gets the i-th test case among all the test cases. i can range from 0 to // total_test_case_count() - 1. If i is not in that range, returns NULL. const TestCase* GetTestCase(int i) const { const int index = GetElementOr(test_case_indices_, i, -1); return index < 0 ? NULL : test_cases_[i]; } // Gets the i-th test case among all the test cases. i can range from 0 to // total_test_case_count() - 1. If i is not in that range, returns NULL. TestCase* GetMutableTestCase(int i) { const int index = GetElementOr(test_case_indices_, i, -1); return index < 0 ? NULL : test_cases_[index]; } // Provides access to the event listener list. TestEventListeners* listeners() { return &listeners_; } // Returns the TestResult for the test that's currently running, or // the TestResult for the ad hoc test if no test is running. TestResult* current_test_result(); // Returns the TestResult for the ad hoc test. const TestResult* ad_hoc_test_result() const { return &ad_hoc_test_result_; } // Sets the OS stack trace getter. // // Does nothing if the input and the current OS stack trace getter // are the same; otherwise, deletes the old getter and makes the // input the current getter. void set_os_stack_trace_getter(OsStackTraceGetterInterface* getter); // Returns the current OS stack trace getter if it is not NULL; // otherwise, creates an OsStackTraceGetter, makes it the current // getter, and returns it. OsStackTraceGetterInterface* os_stack_trace_getter(); // Returns the current OS stack trace as an std::string. // // The maximum number of stack frames to be included is specified by // the gtest_stack_trace_depth flag. The skip_count parameter // specifies the number of top frames to be skipped, which doesn't // count against the number of frames to be included. // // For example, if Foo() calls Bar(), which in turn calls // CurrentOsStackTraceExceptTop(1), Foo() will be included in the // trace but Bar() and CurrentOsStackTraceExceptTop() won't. std::string CurrentOsStackTraceExceptTop(int skip_count) GTEST_NO_INLINE_; // Finds and returns a TestCase with the given name. If one doesn't // exist, creates one and returns it. // // Arguments: // // test_case_name: name of the test case // type_param: the name of the test's type parameter, or NULL if // this is not a typed or a type-parameterized test. // set_up_tc: pointer to the function that sets up the test case // tear_down_tc: pointer to the function that tears down the test case TestCase* GetTestCase(const char* test_case_name, const char* type_param, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc); // Adds a TestInfo to the unit test. // // Arguments: // // set_up_tc: pointer to the function that sets up the test case // tear_down_tc: pointer to the function that tears down the test case // test_info: the TestInfo object void AddTestInfo(Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc, TestInfo* test_info) { // In order to support thread-safe death tests, we need to // remember the original working directory when the test program // was first invoked. We cannot do this in RUN_ALL_TESTS(), as // the user may have changed the current directory before calling // RUN_ALL_TESTS(). Therefore we capture the current directory in // AddTestInfo(), which is called to register a TEST or TEST_F // before main() is reached. if (original_working_dir_.IsEmpty()) { original_working_dir_.Set(FilePath::GetCurrentDir()); GTEST_CHECK_(!original_working_dir_.IsEmpty()) << "Failed to get the current working directory."; } GetTestCase(test_info->test_case_name(), test_info->type_param(), set_up_tc, tear_down_tc)->AddTestInfo(test_info); } #if GTEST_HAS_PARAM_TEST // Returns ParameterizedTestCaseRegistry object used to keep track of // value-parameterized tests and instantiate and register them. internal::ParameterizedTestCaseRegistry& parameterized_test_registry() { return parameterized_test_registry_; } #endif // GTEST_HAS_PARAM_TEST // Sets the TestCase object for the test that's currently running. void set_current_test_case(TestCase* a_current_test_case) { current_test_case_ = a_current_test_case; } // Sets the TestInfo object for the test that's currently running. If // current_test_info is NULL, the assertion results will be stored in // ad_hoc_test_result_. void set_current_test_info(TestInfo* a_current_test_info) { current_test_info_ = a_current_test_info; } // Registers all parameterized tests defined using TEST_P and // INSTANTIATE_TEST_CASE_P, creating regular tests for each test/parameter // combination. This method can be called more then once; it has guards // protecting from registering the tests more then once. If // value-parameterized tests are disabled, RegisterParameterizedTests is // present but does nothing. void RegisterParameterizedTests(); // Runs all tests in this UnitTest object, prints the result, and // returns true if all tests are successful. If any exception is // thrown during a test, this test is considered to be failed, but // the rest of the tests will still be run. bool RunAllTests(); // Clears the results of all tests, except the ad hoc tests. void ClearNonAdHocTestResult() { ForEach(test_cases_, TestCase::ClearTestCaseResult); } // Clears the results of ad-hoc test assertions. void ClearAdHocTestResult() { ad_hoc_test_result_.Clear(); } // Adds a TestProperty to the current TestResult object when invoked in a // context of a test or a test case, or to the global property set. If the // result already contains a property with the same key, the value will be // updated. void RecordProperty(const TestProperty& test_property); enum ReactionToSharding { HONOR_SHARDING_PROTOCOL, IGNORE_SHARDING_PROTOCOL }; // Matches the full name of each test against the user-specified // filter to decide whether the test should run, then records the // result in each TestCase and TestInfo object. // If shard_tests == HONOR_SHARDING_PROTOCOL, further filters tests // based on sharding variables in the environment. // Returns the number of tests that should run. int FilterTests(ReactionToSharding shard_tests); // Prints the names of the tests matching the user-specified filter flag. void ListTestsMatchingFilter(); const TestCase* current_test_case() const { return current_test_case_; } TestInfo* current_test_info() { return current_test_info_; } const TestInfo* current_test_info() const { return current_test_info_; } // Returns the vector of environments that need to be set-up/torn-down // before/after the tests are run. std::vector& environments() { return environments_; } // Getters for the per-thread Google Test trace stack. std::vector& gtest_trace_stack() { return *(gtest_trace_stack_.pointer()); } const std::vector& gtest_trace_stack() const { return gtest_trace_stack_.get(); } #if GTEST_HAS_DEATH_TEST void InitDeathTestSubprocessControlInfo() { internal_run_death_test_flag_.reset(ParseInternalRunDeathTestFlag()); } // Returns a pointer to the parsed --gtest_internal_run_death_test // flag, or NULL if that flag was not specified. // This information is useful only in a death test child process. // Must not be called before a call to InitGoogleTest. const InternalRunDeathTestFlag* internal_run_death_test_flag() const { return internal_run_death_test_flag_.get(); } // Returns a pointer to the current death test factory. internal::DeathTestFactory* death_test_factory() { return death_test_factory_.get(); } void SuppressTestEventsIfInSubprocess(); friend class ReplaceDeathTestFactory; #endif // GTEST_HAS_DEATH_TEST // Initializes the event listener performing XML output as specified by // UnitTestOptions. Must not be called before InitGoogleTest. void ConfigureXmlOutput(); #if GTEST_CAN_STREAM_RESULTS_ // Initializes the event listener for streaming test results to a socket. // Must not be called before InitGoogleTest. void ConfigureStreamingOutput(); #endif // Performs initialization dependent upon flag values obtained in // ParseGoogleTestFlagsOnly. Is called from InitGoogleTest after the call to // ParseGoogleTestFlagsOnly. In case a user neglects to call InitGoogleTest // this function is also called from RunAllTests. Since this function can be // called more than once, it has to be idempotent. void PostFlagParsingInit(); // Gets the random seed used at the start of the current test iteration. int random_seed() const { return random_seed_; } // Gets the random number generator. internal::Random* random() { return &random_; } // Shuffles all test cases, and the tests within each test case, // making sure that death tests are still run first. void ShuffleTests(); // Restores the test cases and tests to their order before the first shuffle. void UnshuffleTests(); // Returns the value of GTEST_FLAG(catch_exceptions) at the moment // UnitTest::Run() starts. bool catch_exceptions() const { return catch_exceptions_; } private: friend class ::testing::UnitTest; // Used by UnitTest::Run() to capture the state of // GTEST_FLAG(catch_exceptions) at the moment it starts. void set_catch_exceptions(bool value) { catch_exceptions_ = value; } // The UnitTest object that owns this implementation object. UnitTest* const parent_; // The working directory when the first TEST() or TEST_F() was // executed. internal::FilePath original_working_dir_; // The default test part result reporters. DefaultGlobalTestPartResultReporter default_global_test_part_result_reporter_; DefaultPerThreadTestPartResultReporter default_per_thread_test_part_result_reporter_; // Points to (but doesn't own) the global test part result reporter. TestPartResultReporterInterface* global_test_part_result_repoter_; // Protects read and write access to global_test_part_result_reporter_. internal::Mutex global_test_part_result_reporter_mutex_; // Points to (but doesn't own) the per-thread test part result reporter. internal::ThreadLocal per_thread_test_part_result_reporter_; // The vector of environments that need to be set-up/torn-down // before/after the tests are run. std::vector environments_; // The vector of TestCases in their original order. It owns the // elements in the vector. std::vector test_cases_; // Provides a level of indirection for the test case list to allow // easy shuffling and restoring the test case order. The i-th // element of this vector is the index of the i-th test case in the // shuffled order. std::vector test_case_indices_; #if GTEST_HAS_PARAM_TEST // ParameterizedTestRegistry object used to register value-parameterized // tests. internal::ParameterizedTestCaseRegistry parameterized_test_registry_; // Indicates whether RegisterParameterizedTests() has been called already. bool parameterized_tests_registered_; #endif // GTEST_HAS_PARAM_TEST // Index of the last death test case registered. Initially -1. int last_death_test_case_; // This points to the TestCase for the currently running test. It // changes as Google Test goes through one test case after another. // When no test is running, this is set to NULL and Google Test // stores assertion results in ad_hoc_test_result_. Initially NULL. TestCase* current_test_case_; // This points to the TestInfo for the currently running test. It // changes as Google Test goes through one test after another. When // no test is running, this is set to NULL and Google Test stores // assertion results in ad_hoc_test_result_. Initially NULL. TestInfo* current_test_info_; // Normally, a user only writes assertions inside a TEST or TEST_F, // or inside a function called by a TEST or TEST_F. Since Google // Test keeps track of which test is current running, it can // associate such an assertion with the test it belongs to. // // If an assertion is encountered when no TEST or TEST_F is running, // Google Test attributes the assertion result to an imaginary "ad hoc" // test, and records the result in ad_hoc_test_result_. TestResult ad_hoc_test_result_; // The list of event listeners that can be used to track events inside // Google Test. TestEventListeners listeners_; // The OS stack trace getter. Will be deleted when the UnitTest // object is destructed. By default, an OsStackTraceGetter is used, // but the user can set this field to use a custom getter if that is // desired. OsStackTraceGetterInterface* os_stack_trace_getter_; // True iff PostFlagParsingInit() has been called. bool post_flag_parse_init_performed_; // The random number seed used at the beginning of the test run. int random_seed_; // Our random number generator. internal::Random random_; // The time of the test program start, in ms from the start of the // UNIX epoch. TimeInMillis start_timestamp_; // How long the test took to run, in milliseconds. TimeInMillis elapsed_time_; #if GTEST_HAS_DEATH_TEST // The decomposed components of the gtest_internal_run_death_test flag, // parsed when RUN_ALL_TESTS is called. internal::scoped_ptr internal_run_death_test_flag_; internal::scoped_ptr death_test_factory_; #endif // GTEST_HAS_DEATH_TEST // A per-thread stack of traces created by the SCOPED_TRACE() macro. internal::ThreadLocal > gtest_trace_stack_; // The value of GTEST_FLAG(catch_exceptions) at the moment RunAllTests() // starts. bool catch_exceptions_; GTEST_DISALLOW_COPY_AND_ASSIGN_(UnitTestImpl); }; // class UnitTestImpl // Convenience function for accessing the global UnitTest // implementation object. inline UnitTestImpl* GetUnitTestImpl() { return UnitTest::GetInstance()->impl(); } #if GTEST_USES_SIMPLE_RE // Internal helper functions for implementing the simple regular // expression matcher. GTEST_API_ bool IsInSet(char ch, const char* str); GTEST_API_ bool IsAsciiDigit(char ch); GTEST_API_ bool IsAsciiPunct(char ch); GTEST_API_ bool IsRepeat(char ch); GTEST_API_ bool IsAsciiWhiteSpace(char ch); GTEST_API_ bool IsAsciiWordChar(char ch); GTEST_API_ bool IsValidEscape(char ch); GTEST_API_ bool AtomMatchesChar(bool escaped, char pattern, char ch); GTEST_API_ bool ValidateRegex(const char* regex); GTEST_API_ bool MatchRegexAtHead(const char* regex, const char* str); GTEST_API_ bool MatchRepetitionAndRegexAtHead( bool escaped, char ch, char repeat, const char* regex, const char* str); GTEST_API_ bool MatchRegexAnywhere(const char* regex, const char* str); #endif // GTEST_USES_SIMPLE_RE // Parses the command line for Google Test flags, without initializing // other parts of Google Test. GTEST_API_ void ParseGoogleTestFlagsOnly(int* argc, char** argv); GTEST_API_ void ParseGoogleTestFlagsOnly(int* argc, wchar_t** argv); #if GTEST_HAS_DEATH_TEST // Returns the message describing the last system error, regardless of the // platform. GTEST_API_ std::string GetLastErrnoDescription(); # if GTEST_OS_WINDOWS // Provides leak-safe Windows kernel handle ownership. class AutoHandle { public: AutoHandle() : handle_(INVALID_HANDLE_VALUE) {} explicit AutoHandle(HANDLE handle) : handle_(handle) {} ~AutoHandle() { Reset(); } HANDLE Get() const { return handle_; } void Reset() { Reset(INVALID_HANDLE_VALUE); } void Reset(HANDLE handle) { if (handle != handle_) { if (handle_ != INVALID_HANDLE_VALUE) ::CloseHandle(handle_); handle_ = handle; } } private: HANDLE handle_; GTEST_DISALLOW_COPY_AND_ASSIGN_(AutoHandle); }; # endif // GTEST_OS_WINDOWS // Attempts to parse a string into a positive integer pointed to by the // number parameter. Returns true if that is possible. // GTEST_HAS_DEATH_TEST implies that we have ::std::string, so we can use // it here. template bool ParseNaturalNumber(const ::std::string& str, Integer* number) { // Fail fast if the given string does not begin with a digit; // this bypasses strtoXXX's "optional leading whitespace and plus // or minus sign" semantics, which are undesirable here. if (str.empty() || !IsDigit(str[0])) { return false; } errno = 0; char* end; // BiggestConvertible is the largest integer type that system-provided // string-to-number conversion routines can return. # if GTEST_OS_WINDOWS && !defined(__GNUC__) // MSVC and C++ Builder define __int64 instead of the standard long long. typedef unsigned __int64 BiggestConvertible; const BiggestConvertible parsed = _strtoui64(str.c_str(), &end, 10); # else typedef unsigned long long BiggestConvertible; // NOLINT const BiggestConvertible parsed = strtoull(str.c_str(), &end, 10); # endif // GTEST_OS_WINDOWS && !defined(__GNUC__) const bool parse_success = *end == '\0' && errno == 0; // TODO(vladl@google.com): Convert this to compile time assertion when it is // available. GTEST_CHECK_(sizeof(Integer) <= sizeof(parsed)); const Integer result = static_cast(parsed); if (parse_success && static_cast(result) == parsed) { *number = result; return true; } return false; } #endif // GTEST_HAS_DEATH_TEST // TestResult contains some private methods that should be hidden from // Google Test user but are required for testing. This class allow our tests // to access them. // // This class is supplied only for the purpose of testing Google Test's own // constructs. Do not use it in user tests, either directly or indirectly. class TestResultAccessor { public: static void RecordProperty(TestResult* test_result, const std::string& xml_element, const TestProperty& property) { test_result->RecordProperty(xml_element, property); } static void ClearTestPartResults(TestResult* test_result) { test_result->ClearTestPartResults(); } static const std::vector& test_part_results( const TestResult& test_result) { return test_result.test_part_results(); } }; #if GTEST_CAN_STREAM_RESULTS_ // Streams test results to the given port on the given host machine. class StreamingListener : public EmptyTestEventListener { public: // Abstract base class for writing strings to a socket. class AbstractSocketWriter { public: virtual ~AbstractSocketWriter() {} // Sends a string to the socket. virtual void Send(const string& message) = 0; // Closes the socket. virtual void CloseConnection() {} // Sends a string and a newline to the socket. void SendLn(const string& message) { Send(message + "\n"); } }; // Concrete class for actually writing strings to a socket. class SocketWriter : public AbstractSocketWriter { public: SocketWriter(const string& host, const string& port) : sockfd_(-1), host_name_(host), port_num_(port) { MakeConnection(); } virtual ~SocketWriter() { if (sockfd_ != -1) CloseConnection(); } // Sends a string to the socket. virtual void Send(const string& message) { GTEST_CHECK_(sockfd_ != -1) << "Send() can be called only when there is a connection."; const int len = static_cast(message.length()); if (write(sockfd_, message.c_str(), len) != len) { GTEST_LOG_(WARNING) << "stream_result_to: failed to stream to " << host_name_ << ":" << port_num_; } } private: // Creates a client socket and connects to the server. void MakeConnection(); // Closes the socket. void CloseConnection() { GTEST_CHECK_(sockfd_ != -1) << "CloseConnection() can be called only when there is a connection."; close(sockfd_); sockfd_ = -1; } int sockfd_; // socket file descriptor const string host_name_; const string port_num_; GTEST_DISALLOW_COPY_AND_ASSIGN_(SocketWriter); }; // class SocketWriter // Escapes '=', '&', '%', and '\n' characters in str as "%xx". static string UrlEncode(const char* str); StreamingListener(const string& host, const string& port) : socket_writer_(new SocketWriter(host, port)) { Start(); } explicit StreamingListener(AbstractSocketWriter* socket_writer) : socket_writer_(socket_writer) { Start(); } void OnTestProgramStart(const UnitTest& /* unit_test */) { SendLn("event=TestProgramStart"); } void OnTestProgramEnd(const UnitTest& unit_test) { // Note that Google Test current only report elapsed time for each // test iteration, not for the entire test program. SendLn("event=TestProgramEnd&passed=" + FormatBool(unit_test.Passed())); // Notify the streaming server to stop. socket_writer_->CloseConnection(); } void OnTestIterationStart(const UnitTest& /* unit_test */, int iteration) { SendLn("event=TestIterationStart&iteration=" + StreamableToString(iteration)); } void OnTestIterationEnd(const UnitTest& unit_test, int /* iteration */) { SendLn("event=TestIterationEnd&passed=" + FormatBool(unit_test.Passed()) + "&elapsed_time=" + StreamableToString(unit_test.elapsed_time()) + "ms"); } void OnTestCaseStart(const TestCase& test_case) { SendLn(std::string("event=TestCaseStart&name=") + test_case.name()); } void OnTestCaseEnd(const TestCase& test_case) { SendLn("event=TestCaseEnd&passed=" + FormatBool(test_case.Passed()) + "&elapsed_time=" + StreamableToString(test_case.elapsed_time()) + "ms"); } void OnTestStart(const TestInfo& test_info) { SendLn(std::string("event=TestStart&name=") + test_info.name()); } void OnTestEnd(const TestInfo& test_info) { SendLn("event=TestEnd&passed=" + FormatBool((test_info.result())->Passed()) + "&elapsed_time=" + StreamableToString((test_info.result())->elapsed_time()) + "ms"); } void OnTestPartResult(const TestPartResult& test_part_result) { const char* file_name = test_part_result.file_name(); if (file_name == NULL) file_name = ""; SendLn("event=TestPartResult&file=" + UrlEncode(file_name) + "&line=" + StreamableToString(test_part_result.line_number()) + "&message=" + UrlEncode(test_part_result.message())); } private: // Sends the given message and a newline to the socket. void SendLn(const string& message) { socket_writer_->SendLn(message); } // Called at the start of streaming to notify the receiver what // protocol we are using. void Start() { SendLn("gtest_streaming_protocol_version=1.0"); } string FormatBool(bool value) { return value ? "1" : "0"; } const scoped_ptr socket_writer_; GTEST_DISALLOW_COPY_AND_ASSIGN_(StreamingListener); }; // class StreamingListener #endif // GTEST_CAN_STREAM_RESULTS_ } // namespace internal } // namespace testing #endif // GTEST_SRC_GTEST_INTERNAL_INL_H_ stimfit-0.14.11/src/test/gtest/src/gtest-all.cc0000644000175200017520000000416112277666257016176 00000000000000// Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: mheule@google.com (Markus Heule) // // Google C++ Testing Framework (Google Test) // // Sometimes it's desirable to build Google Test by compiling a single file. // This file serves this purpose. // This line ensures that gtest.h can be compiled on its own, even // when it's fused. #include "gtest/gtest.h" // The following lines pull in the real gtest *.cc files. #include "src/gtest.cc" #include "src/gtest-death-test.cc" #include "src/gtest-filepath.cc" #include "src/gtest-port.cc" #include "src/gtest-printers.cc" #include "src/gtest-test-part.cc" #include "src/gtest-typed-test.cc" stimfit-0.14.11/src/test/gtest/src/gtest-typed-test.cc0000644000175200017520000000726212277666257017535 00000000000000// Copyright 2008 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) #include "gtest/gtest-typed-test.h" #include "gtest/gtest.h" namespace testing { namespace internal { #if GTEST_HAS_TYPED_TEST_P // Skips to the first non-space char in str. Returns an empty string if str // contains only whitespace characters. static const char* SkipSpaces(const char* str) { while (IsSpace(*str)) str++; return str; } // Verifies that registered_tests match the test names in // defined_test_names_; returns registered_tests if successful, or // aborts the program otherwise. const char* TypedTestCasePState::VerifyRegisteredTestNames( const char* file, int line, const char* registered_tests) { typedef ::std::set::const_iterator DefinedTestIter; registered_ = true; // Skip initial whitespace in registered_tests since some // preprocessors prefix stringizied literals with whitespace. registered_tests = SkipSpaces(registered_tests); Message errors; ::std::set tests; for (const char* names = registered_tests; names != NULL; names = SkipComma(names)) { const std::string name = GetPrefixUntilComma(names); if (tests.count(name) != 0) { errors << "Test " << name << " is listed more than once.\n"; continue; } bool found = false; for (DefinedTestIter it = defined_test_names_.begin(); it != defined_test_names_.end(); ++it) { if (name == *it) { found = true; break; } } if (found) { tests.insert(name); } else { errors << "No test named " << name << " can be found in this test case.\n"; } } for (DefinedTestIter it = defined_test_names_.begin(); it != defined_test_names_.end(); ++it) { if (tests.count(*it) == 0) { errors << "You forgot to list test " << *it << ".\n"; } } const std::string& errors_str = errors.GetString(); if (errors_str != "") { fprintf(stderr, "%s %s", FormatFileLocation(file, line).c_str(), errors_str.c_str()); fflush(stderr); posix::Abort(); } return registered_tests; } #endif // GTEST_HAS_TYPED_TEST_P } // namespace internal } // namespace testing stimfit-0.14.11/src/test/gtest/src/gtest_main.cc0000644000175200017520000000334512277666257016437 00000000000000// Copyright 2006, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include "gtest/gtest.h" GTEST_API_ int main(int argc, char **argv) { printf("Running main() from gtest_main.cc\n"); testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } stimfit-0.14.11/src/test/gtest/src/gtest-death-test.cc0000644000175200017520000014340512277666257017475 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan), vladl@google.com (Vlad Losev) // // This file implements death tests. #include "gtest/gtest-death-test.h" #include "gtest/internal/gtest-port.h" #if GTEST_HAS_DEATH_TEST # if GTEST_OS_MAC # include # endif // GTEST_OS_MAC # include # include # include # if GTEST_OS_LINUX # include # endif // GTEST_OS_LINUX # include # if GTEST_OS_WINDOWS # include # else # include # include # endif // GTEST_OS_WINDOWS # if GTEST_OS_QNX # include # endif // GTEST_OS_QNX #endif // GTEST_HAS_DEATH_TEST #include "gtest/gtest-message.h" #include "gtest/internal/gtest-string.h" // Indicates that this translation unit is part of Google Test's // implementation. It must come before gtest-internal-inl.h is // included, or there will be a compiler error. This trick is to // prevent a user from accidentally including gtest-internal-inl.h in // his code. #define GTEST_IMPLEMENTATION_ 1 #include "src/gtest-internal-inl.h" #undef GTEST_IMPLEMENTATION_ namespace testing { // Constants. // The default death test style. static const char kDefaultDeathTestStyle[] = "fast"; GTEST_DEFINE_string_( death_test_style, internal::StringFromGTestEnv("death_test_style", kDefaultDeathTestStyle), "Indicates how to run a death test in a forked child process: " "\"threadsafe\" (child process re-executes the test binary " "from the beginning, running only the specific death test) or " "\"fast\" (child process runs the death test immediately " "after forking)."); GTEST_DEFINE_bool_( death_test_use_fork, internal::BoolFromGTestEnv("death_test_use_fork", false), "Instructs to use fork()/_exit() instead of clone() in death tests. " "Ignored and always uses fork() on POSIX systems where clone() is not " "implemented. Useful when running under valgrind or similar tools if " "those do not support clone(). Valgrind 3.3.1 will just fail if " "it sees an unsupported combination of clone() flags. " "It is not recommended to use this flag w/o valgrind though it will " "work in 99% of the cases. Once valgrind is fixed, this flag will " "most likely be removed."); namespace internal { GTEST_DEFINE_string_( internal_run_death_test, "", "Indicates the file, line number, temporal index of " "the single death test to run, and a file descriptor to " "which a success code may be sent, all separated by " "the '|' characters. This flag is specified if and only if the current " "process is a sub-process launched for running a thread-safe " "death test. FOR INTERNAL USE ONLY."); } // namespace internal #if GTEST_HAS_DEATH_TEST namespace internal { // Valid only for fast death tests. Indicates the code is running in the // child process of a fast style death test. static bool g_in_fast_death_test_child = false; // Returns a Boolean value indicating whether the caller is currently // executing in the context of the death test child process. Tools such as // Valgrind heap checkers may need this to modify their behavior in death // tests. IMPORTANT: This is an internal utility. Using it may break the // implementation of death tests. User code MUST NOT use it. bool InDeathTestChild() { # if GTEST_OS_WINDOWS // On Windows, death tests are thread-safe regardless of the value of the // death_test_style flag. return !GTEST_FLAG(internal_run_death_test).empty(); # else if (GTEST_FLAG(death_test_style) == "threadsafe") return !GTEST_FLAG(internal_run_death_test).empty(); else return g_in_fast_death_test_child; #endif } } // namespace internal // ExitedWithCode constructor. ExitedWithCode::ExitedWithCode(int exit_code) : exit_code_(exit_code) { } // ExitedWithCode function-call operator. bool ExitedWithCode::operator()(int exit_status) const { # if GTEST_OS_WINDOWS return exit_status == exit_code_; # else return WIFEXITED(exit_status) && WEXITSTATUS(exit_status) == exit_code_; # endif // GTEST_OS_WINDOWS } # if !GTEST_OS_WINDOWS // KilledBySignal constructor. KilledBySignal::KilledBySignal(int signum) : signum_(signum) { } // KilledBySignal function-call operator. bool KilledBySignal::operator()(int exit_status) const { return WIFSIGNALED(exit_status) && WTERMSIG(exit_status) == signum_; } # endif // !GTEST_OS_WINDOWS namespace internal { // Utilities needed for death tests. // Generates a textual description of a given exit code, in the format // specified by wait(2). static std::string ExitSummary(int exit_code) { Message m; # if GTEST_OS_WINDOWS m << "Exited with exit status " << exit_code; # else if (WIFEXITED(exit_code)) { m << "Exited with exit status " << WEXITSTATUS(exit_code); } else if (WIFSIGNALED(exit_code)) { m << "Terminated by signal " << WTERMSIG(exit_code); } # ifdef WCOREDUMP if (WCOREDUMP(exit_code)) { m << " (core dumped)"; } # endif # endif // GTEST_OS_WINDOWS return m.GetString(); } // Returns true if exit_status describes a process that was terminated // by a signal, or exited normally with a nonzero exit code. bool ExitedUnsuccessfully(int exit_status) { return !ExitedWithCode(0)(exit_status); } # if !GTEST_OS_WINDOWS // Generates a textual failure message when a death test finds more than // one thread running, or cannot determine the number of threads, prior // to executing the given statement. It is the responsibility of the // caller not to pass a thread_count of 1. static std::string DeathTestThreadWarning(size_t thread_count) { Message msg; msg << "Death tests use fork(), which is unsafe particularly" << " in a threaded context. For this test, " << GTEST_NAME_ << " "; if (thread_count == 0) msg << "couldn't detect the number of threads."; else msg << "detected " << thread_count << " threads."; return msg.GetString(); } # endif // !GTEST_OS_WINDOWS // Flag characters for reporting a death test that did not die. static const char kDeathTestLived = 'L'; static const char kDeathTestReturned = 'R'; static const char kDeathTestThrew = 'T'; static const char kDeathTestInternalError = 'I'; // An enumeration describing all of the possible ways that a death test can // conclude. DIED means that the process died while executing the test // code; LIVED means that process lived beyond the end of the test code; // RETURNED means that the test statement attempted to execute a return // statement, which is not allowed; THREW means that the test statement // returned control by throwing an exception. IN_PROGRESS means the test // has not yet concluded. // TODO(vladl@google.com): Unify names and possibly values for // AbortReason, DeathTestOutcome, and flag characters above. enum DeathTestOutcome { IN_PROGRESS, DIED, LIVED, RETURNED, THREW }; // Routine for aborting the program which is safe to call from an // exec-style death test child process, in which case the error // message is propagated back to the parent process. Otherwise, the // message is simply printed to stderr. In either case, the program // then exits with status 1. void DeathTestAbort(const std::string& message) { // On a POSIX system, this function may be called from a threadsafe-style // death test child process, which operates on a very small stack. Use // the heap for any additional non-minuscule memory requirements. const InternalRunDeathTestFlag* const flag = GetUnitTestImpl()->internal_run_death_test_flag(); if (flag != NULL) { FILE* parent = posix::FDOpen(flag->write_fd(), "w"); fputc(kDeathTestInternalError, parent); fprintf(parent, "%s", message.c_str()); fflush(parent); _exit(1); } else { fprintf(stderr, "%s", message.c_str()); fflush(stderr); posix::Abort(); } } // A replacement for CHECK that calls DeathTestAbort if the assertion // fails. # define GTEST_DEATH_TEST_CHECK_(expression) \ do { \ if (!::testing::internal::IsTrue(expression)) { \ DeathTestAbort( \ ::std::string("CHECK failed: File ") + __FILE__ + ", line " \ + ::testing::internal::StreamableToString(__LINE__) + ": " \ + #expression); \ } \ } while (::testing::internal::AlwaysFalse()) // This macro is similar to GTEST_DEATH_TEST_CHECK_, but it is meant for // evaluating any system call that fulfills two conditions: it must return // -1 on failure, and set errno to EINTR when it is interrupted and // should be tried again. The macro expands to a loop that repeatedly // evaluates the expression as long as it evaluates to -1 and sets // errno to EINTR. If the expression evaluates to -1 but errno is // something other than EINTR, DeathTestAbort is called. # define GTEST_DEATH_TEST_CHECK_SYSCALL_(expression) \ do { \ int gtest_retval; \ do { \ gtest_retval = (expression); \ } while (gtest_retval == -1 && errno == EINTR); \ if (gtest_retval == -1) { \ DeathTestAbort( \ ::std::string("CHECK failed: File ") + __FILE__ + ", line " \ + ::testing::internal::StreamableToString(__LINE__) + ": " \ + #expression + " != -1"); \ } \ } while (::testing::internal::AlwaysFalse()) // Returns the message describing the last system error in errno. std::string GetLastErrnoDescription() { return errno == 0 ? "" : posix::StrError(errno); } // This is called from a death test parent process to read a failure // message from the death test child process and log it with the FATAL // severity. On Windows, the message is read from a pipe handle. On other // platforms, it is read from a file descriptor. static void FailFromInternalError(int fd) { Message error; char buffer[256]; int num_read; do { while ((num_read = posix::Read(fd, buffer, 255)) > 0) { buffer[num_read] = '\0'; error << buffer; } } while (num_read == -1 && errno == EINTR); if (num_read == 0) { GTEST_LOG_(FATAL) << error.GetString(); } else { const int last_error = errno; GTEST_LOG_(FATAL) << "Error while reading death test internal: " << GetLastErrnoDescription() << " [" << last_error << "]"; } } // Death test constructor. Increments the running death test count // for the current test. DeathTest::DeathTest() { TestInfo* const info = GetUnitTestImpl()->current_test_info(); if (info == NULL) { DeathTestAbort("Cannot run a death test outside of a TEST or " "TEST_F construct"); } } // Creates and returns a death test by dispatching to the current // death test factory. bool DeathTest::Create(const char* statement, const RE* regex, const char* file, int line, DeathTest** test) { return GetUnitTestImpl()->death_test_factory()->Create( statement, regex, file, line, test); } const char* DeathTest::LastMessage() { return last_death_test_message_.c_str(); } void DeathTest::set_last_death_test_message(const std::string& message) { last_death_test_message_ = message; } std::string DeathTest::last_death_test_message_; // Provides cross platform implementation for some death functionality. class DeathTestImpl : public DeathTest { protected: DeathTestImpl(const char* a_statement, const RE* a_regex) : statement_(a_statement), regex_(a_regex), spawned_(false), status_(-1), outcome_(IN_PROGRESS), read_fd_(-1), write_fd_(-1) {} // read_fd_ is expected to be closed and cleared by a derived class. ~DeathTestImpl() { GTEST_DEATH_TEST_CHECK_(read_fd_ == -1); } void Abort(AbortReason reason); virtual bool Passed(bool status_ok); const char* statement() const { return statement_; } const RE* regex() const { return regex_; } bool spawned() const { return spawned_; } void set_spawned(bool is_spawned) { spawned_ = is_spawned; } int status() const { return status_; } void set_status(int a_status) { status_ = a_status; } DeathTestOutcome outcome() const { return outcome_; } void set_outcome(DeathTestOutcome an_outcome) { outcome_ = an_outcome; } int read_fd() const { return read_fd_; } void set_read_fd(int fd) { read_fd_ = fd; } int write_fd() const { return write_fd_; } void set_write_fd(int fd) { write_fd_ = fd; } // Called in the parent process only. Reads the result code of the death // test child process via a pipe, interprets it to set the outcome_ // member, and closes read_fd_. Outputs diagnostics and terminates in // case of unexpected codes. void ReadAndInterpretStatusByte(); private: // The textual content of the code this object is testing. This class // doesn't own this string and should not attempt to delete it. const char* const statement_; // The regular expression which test output must match. DeathTestImpl // doesn't own this object and should not attempt to delete it. const RE* const regex_; // True if the death test child process has been successfully spawned. bool spawned_; // The exit status of the child process. int status_; // How the death test concluded. DeathTestOutcome outcome_; // Descriptor to the read end of the pipe to the child process. It is // always -1 in the child process. The child keeps its write end of the // pipe in write_fd_. int read_fd_; // Descriptor to the child's write end of the pipe to the parent process. // It is always -1 in the parent process. The parent keeps its end of the // pipe in read_fd_. int write_fd_; }; // Called in the parent process only. Reads the result code of the death // test child process via a pipe, interprets it to set the outcome_ // member, and closes read_fd_. Outputs diagnostics and terminates in // case of unexpected codes. void DeathTestImpl::ReadAndInterpretStatusByte() { char flag; int bytes_read; // The read() here blocks until data is available (signifying the // failure of the death test) or until the pipe is closed (signifying // its success), so it's okay to call this in the parent before // the child process has exited. do { bytes_read = posix::Read(read_fd(), &flag, 1); } while (bytes_read == -1 && errno == EINTR); if (bytes_read == 0) { set_outcome(DIED); } else if (bytes_read == 1) { switch (flag) { case kDeathTestReturned: set_outcome(RETURNED); break; case kDeathTestThrew: set_outcome(THREW); break; case kDeathTestLived: set_outcome(LIVED); break; case kDeathTestInternalError: FailFromInternalError(read_fd()); // Does not return. break; default: GTEST_LOG_(FATAL) << "Death test child process reported " << "unexpected status byte (" << static_cast(flag) << ")"; } } else { GTEST_LOG_(FATAL) << "Read from death test child process failed: " << GetLastErrnoDescription(); } GTEST_DEATH_TEST_CHECK_SYSCALL_(posix::Close(read_fd())); set_read_fd(-1); } // Signals that the death test code which should have exited, didn't. // Should be called only in a death test child process. // Writes a status byte to the child's status file descriptor, then // calls _exit(1). void DeathTestImpl::Abort(AbortReason reason) { // The parent process considers the death test to be a failure if // it finds any data in our pipe. So, here we write a single flag byte // to the pipe, then exit. const char status_ch = reason == TEST_DID_NOT_DIE ? kDeathTestLived : reason == TEST_THREW_EXCEPTION ? kDeathTestThrew : kDeathTestReturned; GTEST_DEATH_TEST_CHECK_SYSCALL_(posix::Write(write_fd(), &status_ch, 1)); // We are leaking the descriptor here because on some platforms (i.e., // when built as Windows DLL), destructors of global objects will still // run after calling _exit(). On such systems, write_fd_ will be // indirectly closed from the destructor of UnitTestImpl, causing double // close if it is also closed here. On debug configurations, double close // may assert. As there are no in-process buffers to flush here, we are // relying on the OS to close the descriptor after the process terminates // when the destructors are not run. _exit(1); // Exits w/o any normal exit hooks (we were supposed to crash) } // Returns an indented copy of stderr output for a death test. // This makes distinguishing death test output lines from regular log lines // much easier. static ::std::string FormatDeathTestOutput(const ::std::string& output) { ::std::string ret; for (size_t at = 0; ; ) { const size_t line_end = output.find('\n', at); ret += "[ DEATH ] "; if (line_end == ::std::string::npos) { ret += output.substr(at); break; } ret += output.substr(at, line_end + 1 - at); at = line_end + 1; } return ret; } // Assesses the success or failure of a death test, using both private // members which have previously been set, and one argument: // // Private data members: // outcome: An enumeration describing how the death test // concluded: DIED, LIVED, THREW, or RETURNED. The death test // fails in the latter three cases. // status: The exit status of the child process. On *nix, it is in the // in the format specified by wait(2). On Windows, this is the // value supplied to the ExitProcess() API or a numeric code // of the exception that terminated the program. // regex: A regular expression object to be applied to // the test's captured standard error output; the death test // fails if it does not match. // // Argument: // status_ok: true if exit_status is acceptable in the context of // this particular death test, which fails if it is false // // Returns true iff all of the above conditions are met. Otherwise, the // first failing condition, in the order given above, is the one that is // reported. Also sets the last death test message string. bool DeathTestImpl::Passed(bool status_ok) { if (!spawned()) return false; const std::string error_message = GetCapturedStderr(); bool success = false; Message buffer; buffer << "Death test: " << statement() << "\n"; switch (outcome()) { case LIVED: buffer << " Result: failed to die.\n" << " Error msg:\n" << FormatDeathTestOutput(error_message); break; case THREW: buffer << " Result: threw an exception.\n" << " Error msg:\n" << FormatDeathTestOutput(error_message); break; case RETURNED: buffer << " Result: illegal return in test statement.\n" << " Error msg:\n" << FormatDeathTestOutput(error_message); break; case DIED: if (status_ok) { const bool matched = RE::PartialMatch(error_message.c_str(), *regex()); if (matched) { success = true; } else { buffer << " Result: died but not with expected error.\n" << " Expected: " << regex()->pattern() << "\n" << "Actual msg:\n" << FormatDeathTestOutput(error_message); } } else { buffer << " Result: died but not with expected exit code:\n" << " " << ExitSummary(status()) << "\n" << "Actual msg:\n" << FormatDeathTestOutput(error_message); } break; case IN_PROGRESS: default: GTEST_LOG_(FATAL) << "DeathTest::Passed somehow called before conclusion of test"; } DeathTest::set_last_death_test_message(buffer.GetString()); return success; } # if GTEST_OS_WINDOWS // WindowsDeathTest implements death tests on Windows. Due to the // specifics of starting new processes on Windows, death tests there are // always threadsafe, and Google Test considers the // --gtest_death_test_style=fast setting to be equivalent to // --gtest_death_test_style=threadsafe there. // // A few implementation notes: Like the Linux version, the Windows // implementation uses pipes for child-to-parent communication. But due to // the specifics of pipes on Windows, some extra steps are required: // // 1. The parent creates a communication pipe and stores handles to both // ends of it. // 2. The parent starts the child and provides it with the information // necessary to acquire the handle to the write end of the pipe. // 3. The child acquires the write end of the pipe and signals the parent // using a Windows event. // 4. Now the parent can release the write end of the pipe on its side. If // this is done before step 3, the object's reference count goes down to // 0 and it is destroyed, preventing the child from acquiring it. The // parent now has to release it, or read operations on the read end of // the pipe will not return when the child terminates. // 5. The parent reads child's output through the pipe (outcome code and // any possible error messages) from the pipe, and its stderr and then // determines whether to fail the test. // // Note: to distinguish Win32 API calls from the local method and function // calls, the former are explicitly resolved in the global namespace. // class WindowsDeathTest : public DeathTestImpl { public: WindowsDeathTest(const char* a_statement, const RE* a_regex, const char* file, int line) : DeathTestImpl(a_statement, a_regex), file_(file), line_(line) {} // All of these virtual functions are inherited from DeathTest. virtual int Wait(); virtual TestRole AssumeRole(); private: // The name of the file in which the death test is located. const char* const file_; // The line number on which the death test is located. const int line_; // Handle to the write end of the pipe to the child process. AutoHandle write_handle_; // Child process handle. AutoHandle child_handle_; // Event the child process uses to signal the parent that it has // acquired the handle to the write end of the pipe. After seeing this // event the parent can release its own handles to make sure its // ReadFile() calls return when the child terminates. AutoHandle event_handle_; }; // Waits for the child in a death test to exit, returning its exit // status, or 0 if no child process exists. As a side effect, sets the // outcome data member. int WindowsDeathTest::Wait() { if (!spawned()) return 0; // Wait until the child either signals that it has acquired the write end // of the pipe or it dies. const HANDLE wait_handles[2] = { child_handle_.Get(), event_handle_.Get() }; switch (::WaitForMultipleObjects(2, wait_handles, FALSE, // Waits for any of the handles. INFINITE)) { case WAIT_OBJECT_0: case WAIT_OBJECT_0 + 1: break; default: GTEST_DEATH_TEST_CHECK_(false); // Should not get here. } // The child has acquired the write end of the pipe or exited. // We release the handle on our side and continue. write_handle_.Reset(); event_handle_.Reset(); ReadAndInterpretStatusByte(); // Waits for the child process to exit if it haven't already. This // returns immediately if the child has already exited, regardless of // whether previous calls to WaitForMultipleObjects synchronized on this // handle or not. GTEST_DEATH_TEST_CHECK_( WAIT_OBJECT_0 == ::WaitForSingleObject(child_handle_.Get(), INFINITE)); DWORD status_code; GTEST_DEATH_TEST_CHECK_( ::GetExitCodeProcess(child_handle_.Get(), &status_code) != FALSE); child_handle_.Reset(); set_status(static_cast(status_code)); return status(); } // The AssumeRole process for a Windows death test. It creates a child // process with the same executable as the current process to run the // death test. The child process is given the --gtest_filter and // --gtest_internal_run_death_test flags such that it knows to run the // current death test only. DeathTest::TestRole WindowsDeathTest::AssumeRole() { const UnitTestImpl* const impl = GetUnitTestImpl(); const InternalRunDeathTestFlag* const flag = impl->internal_run_death_test_flag(); const TestInfo* const info = impl->current_test_info(); const int death_test_index = info->result()->death_test_count(); if (flag != NULL) { // ParseInternalRunDeathTestFlag() has performed all the necessary // processing. set_write_fd(flag->write_fd()); return EXECUTE_TEST; } // WindowsDeathTest uses an anonymous pipe to communicate results of // a death test. SECURITY_ATTRIBUTES handles_are_inheritable = { sizeof(SECURITY_ATTRIBUTES), NULL, TRUE }; HANDLE read_handle, write_handle; GTEST_DEATH_TEST_CHECK_( ::CreatePipe(&read_handle, &write_handle, &handles_are_inheritable, 0) // Default buffer size. != FALSE); set_read_fd(::_open_osfhandle(reinterpret_cast(read_handle), O_RDONLY)); write_handle_.Reset(write_handle); event_handle_.Reset(::CreateEvent( &handles_are_inheritable, TRUE, // The event will automatically reset to non-signaled state. FALSE, // The initial state is non-signalled. NULL)); // The even is unnamed. GTEST_DEATH_TEST_CHECK_(event_handle_.Get() != NULL); const std::string filter_flag = std::string("--") + GTEST_FLAG_PREFIX_ + kFilterFlag + "=" + info->test_case_name() + "." + info->name(); const std::string internal_flag = std::string("--") + GTEST_FLAG_PREFIX_ + kInternalRunDeathTestFlag + "=" + file_ + "|" + StreamableToString(line_) + "|" + StreamableToString(death_test_index) + "|" + StreamableToString(static_cast(::GetCurrentProcessId())) + // size_t has the same width as pointers on both 32-bit and 64-bit // Windows platforms. // See http://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx. "|" + StreamableToString(reinterpret_cast(write_handle)) + "|" + StreamableToString(reinterpret_cast(event_handle_.Get())); char executable_path[_MAX_PATH + 1]; // NOLINT GTEST_DEATH_TEST_CHECK_( _MAX_PATH + 1 != ::GetModuleFileNameA(NULL, executable_path, _MAX_PATH)); std::string command_line = std::string(::GetCommandLineA()) + " " + filter_flag + " \"" + internal_flag + "\""; DeathTest::set_last_death_test_message(""); CaptureStderr(); // Flush the log buffers since the log streams are shared with the child. FlushInfoLog(); // The child process will share the standard handles with the parent. STARTUPINFOA startup_info; memset(&startup_info, 0, sizeof(STARTUPINFO)); startup_info.dwFlags = STARTF_USESTDHANDLES; startup_info.hStdInput = ::GetStdHandle(STD_INPUT_HANDLE); startup_info.hStdOutput = ::GetStdHandle(STD_OUTPUT_HANDLE); startup_info.hStdError = ::GetStdHandle(STD_ERROR_HANDLE); PROCESS_INFORMATION process_info; GTEST_DEATH_TEST_CHECK_(::CreateProcessA( executable_path, const_cast(command_line.c_str()), NULL, // Retuned process handle is not inheritable. NULL, // Retuned thread handle is not inheritable. TRUE, // Child inherits all inheritable handles (for write_handle_). 0x0, // Default creation flags. NULL, // Inherit the parent's environment. UnitTest::GetInstance()->original_working_dir(), &startup_info, &process_info) != FALSE); child_handle_.Reset(process_info.hProcess); ::CloseHandle(process_info.hThread); set_spawned(true); return OVERSEE_TEST; } # else // We are not on Windows. // ForkingDeathTest provides implementations for most of the abstract // methods of the DeathTest interface. Only the AssumeRole method is // left undefined. class ForkingDeathTest : public DeathTestImpl { public: ForkingDeathTest(const char* statement, const RE* regex); // All of these virtual functions are inherited from DeathTest. virtual int Wait(); protected: void set_child_pid(pid_t child_pid) { child_pid_ = child_pid; } private: // PID of child process during death test; 0 in the child process itself. pid_t child_pid_; }; // Constructs a ForkingDeathTest. ForkingDeathTest::ForkingDeathTest(const char* a_statement, const RE* a_regex) : DeathTestImpl(a_statement, a_regex), child_pid_(-1) {} // Waits for the child in a death test to exit, returning its exit // status, or 0 if no child process exists. As a side effect, sets the // outcome data member. int ForkingDeathTest::Wait() { if (!spawned()) return 0; ReadAndInterpretStatusByte(); int status_value; GTEST_DEATH_TEST_CHECK_SYSCALL_(waitpid(child_pid_, &status_value, 0)); set_status(status_value); return status_value; } // A concrete death test class that forks, then immediately runs the test // in the child process. class NoExecDeathTest : public ForkingDeathTest { public: NoExecDeathTest(const char* a_statement, const RE* a_regex) : ForkingDeathTest(a_statement, a_regex) { } virtual TestRole AssumeRole(); }; // The AssumeRole process for a fork-and-run death test. It implements a // straightforward fork, with a simple pipe to transmit the status byte. DeathTest::TestRole NoExecDeathTest::AssumeRole() { const size_t thread_count = GetThreadCount(); if (thread_count != 1) { GTEST_LOG_(WARNING) << DeathTestThreadWarning(thread_count); } int pipe_fd[2]; GTEST_DEATH_TEST_CHECK_(pipe(pipe_fd) != -1); DeathTest::set_last_death_test_message(""); CaptureStderr(); // When we fork the process below, the log file buffers are copied, but the // file descriptors are shared. We flush all log files here so that closing // the file descriptors in the child process doesn't throw off the // synchronization between descriptors and buffers in the parent process. // This is as close to the fork as possible to avoid a race condition in case // there are multiple threads running before the death test, and another // thread writes to the log file. FlushInfoLog(); const pid_t child_pid = fork(); GTEST_DEATH_TEST_CHECK_(child_pid != -1); set_child_pid(child_pid); if (child_pid == 0) { GTEST_DEATH_TEST_CHECK_SYSCALL_(close(pipe_fd[0])); set_write_fd(pipe_fd[1]); // Redirects all logging to stderr in the child process to prevent // concurrent writes to the log files. We capture stderr in the parent // process and append the child process' output to a log. LogToStderr(); // Event forwarding to the listeners of event listener API mush be shut // down in death test subprocesses. GetUnitTestImpl()->listeners()->SuppressEventForwarding(); g_in_fast_death_test_child = true; return EXECUTE_TEST; } else { GTEST_DEATH_TEST_CHECK_SYSCALL_(close(pipe_fd[1])); set_read_fd(pipe_fd[0]); set_spawned(true); return OVERSEE_TEST; } } // A concrete death test class that forks and re-executes the main // program from the beginning, with command-line flags set that cause // only this specific death test to be run. class ExecDeathTest : public ForkingDeathTest { public: ExecDeathTest(const char* a_statement, const RE* a_regex, const char* file, int line) : ForkingDeathTest(a_statement, a_regex), file_(file), line_(line) { } virtual TestRole AssumeRole(); private: static ::std::vector GetArgvsForDeathTestChildProcess() { ::std::vector args = GetInjectableArgvs(); return args; } // The name of the file in which the death test is located. const char* const file_; // The line number on which the death test is located. const int line_; }; // Utility class for accumulating command-line arguments. class Arguments { public: Arguments() { args_.push_back(NULL); } ~Arguments() { for (std::vector::iterator i = args_.begin(); i != args_.end(); ++i) { free(*i); } } void AddArgument(const char* argument) { args_.insert(args_.end() - 1, posix::StrDup(argument)); } template void AddArguments(const ::std::vector& arguments) { for (typename ::std::vector::const_iterator i = arguments.begin(); i != arguments.end(); ++i) { args_.insert(args_.end() - 1, posix::StrDup(i->c_str())); } } char* const* Argv() { return &args_[0]; } private: std::vector args_; }; // A struct that encompasses the arguments to the child process of a // threadsafe-style death test process. struct ExecDeathTestArgs { char* const* argv; // Command-line arguments for the child's call to exec int close_fd; // File descriptor to close; the read end of a pipe }; # if GTEST_OS_MAC inline char** GetEnviron() { // When Google Test is built as a framework on MacOS X, the environ variable // is unavailable. Apple's documentation (man environ) recommends using // _NSGetEnviron() instead. return *_NSGetEnviron(); } # else // Some POSIX platforms expect you to declare environ. extern "C" makes // it reside in the global namespace. extern "C" char** environ; inline char** GetEnviron() { return environ; } # endif // GTEST_OS_MAC # if !GTEST_OS_QNX // The main function for a threadsafe-style death test child process. // This function is called in a clone()-ed process and thus must avoid // any potentially unsafe operations like malloc or libc functions. static int ExecDeathTestChildMain(void* child_arg) { ExecDeathTestArgs* const args = static_cast(child_arg); GTEST_DEATH_TEST_CHECK_SYSCALL_(close(args->close_fd)); // We need to execute the test program in the same environment where // it was originally invoked. Therefore we change to the original // working directory first. const char* const original_dir = UnitTest::GetInstance()->original_working_dir(); // We can safely call chdir() as it's a direct system call. if (chdir(original_dir) != 0) { DeathTestAbort(std::string("chdir(\"") + original_dir + "\") failed: " + GetLastErrnoDescription()); return EXIT_FAILURE; } // We can safely call execve() as it's a direct system call. We // cannot use execvp() as it's a libc function and thus potentially // unsafe. Since execve() doesn't search the PATH, the user must // invoke the test program via a valid path that contains at least // one path separator. execve(args->argv[0], args->argv, GetEnviron()); DeathTestAbort(std::string("execve(") + args->argv[0] + ", ...) in " + original_dir + " failed: " + GetLastErrnoDescription()); return EXIT_FAILURE; } # endif // !GTEST_OS_QNX // Two utility routines that together determine the direction the stack // grows. // This could be accomplished more elegantly by a single recursive // function, but we want to guard against the unlikely possibility of // a smart compiler optimizing the recursion away. // // GTEST_NO_INLINE_ is required to prevent GCC 4.6 from inlining // StackLowerThanAddress into StackGrowsDown, which then doesn't give // correct answer. void StackLowerThanAddress(const void* ptr, bool* result) GTEST_NO_INLINE_; void StackLowerThanAddress(const void* ptr, bool* result) { int dummy; *result = (&dummy < ptr); } bool StackGrowsDown() { int dummy; bool result; StackLowerThanAddress(&dummy, &result); return result; } // Spawns a child process with the same executable as the current process in // a thread-safe manner and instructs it to run the death test. The // implementation uses fork(2) + exec. On systems where clone(2) is // available, it is used instead, being slightly more thread-safe. On QNX, // fork supports only single-threaded environments, so this function uses // spawn(2) there instead. The function dies with an error message if // anything goes wrong. static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) { ExecDeathTestArgs args = { argv, close_fd }; pid_t child_pid = -1; # if GTEST_OS_QNX // Obtains the current directory and sets it to be closed in the child // process. const int cwd_fd = open(".", O_RDONLY); GTEST_DEATH_TEST_CHECK_(cwd_fd != -1); GTEST_DEATH_TEST_CHECK_SYSCALL_(fcntl(cwd_fd, F_SETFD, FD_CLOEXEC)); // We need to execute the test program in the same environment where // it was originally invoked. Therefore we change to the original // working directory first. const char* const original_dir = UnitTest::GetInstance()->original_working_dir(); // We can safely call chdir() as it's a direct system call. if (chdir(original_dir) != 0) { DeathTestAbort(std::string("chdir(\"") + original_dir + "\") failed: " + GetLastErrnoDescription()); return EXIT_FAILURE; } int fd_flags; // Set close_fd to be closed after spawn. GTEST_DEATH_TEST_CHECK_SYSCALL_(fd_flags = fcntl(close_fd, F_GETFD)); GTEST_DEATH_TEST_CHECK_SYSCALL_(fcntl(close_fd, F_SETFD, fd_flags | FD_CLOEXEC)); struct inheritance inherit = {0}; // spawn is a system call. child_pid = spawn(args.argv[0], 0, NULL, &inherit, args.argv, GetEnviron()); // Restores the current working directory. GTEST_DEATH_TEST_CHECK_(fchdir(cwd_fd) != -1); GTEST_DEATH_TEST_CHECK_SYSCALL_(close(cwd_fd)); # else // GTEST_OS_QNX # if GTEST_OS_LINUX // When a SIGPROF signal is received while fork() or clone() are executing, // the process may hang. To avoid this, we ignore SIGPROF here and re-enable // it after the call to fork()/clone() is complete. struct sigaction saved_sigprof_action; struct sigaction ignore_sigprof_action; memset(&ignore_sigprof_action, 0, sizeof(ignore_sigprof_action)); sigemptyset(&ignore_sigprof_action.sa_mask); ignore_sigprof_action.sa_handler = SIG_IGN; GTEST_DEATH_TEST_CHECK_SYSCALL_(sigaction( SIGPROF, &ignore_sigprof_action, &saved_sigprof_action)); # endif // GTEST_OS_LINUX # if GTEST_HAS_CLONE const bool use_fork = GTEST_FLAG(death_test_use_fork); if (!use_fork) { static const bool stack_grows_down = StackGrowsDown(); const size_t stack_size = getpagesize(); // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); GTEST_DEATH_TEST_CHECK_(stack != MAP_FAILED); // Maximum stack alignment in bytes: For a downward-growing stack, this // amount is subtracted from size of the stack space to get an address // that is within the stack space and is aligned on all systems we care // about. As far as I know there is no ABI with stack alignment greater // than 64. We assume stack and stack_size already have alignment of // kMaxStackAlignment. const size_t kMaxStackAlignment = 64; void* const stack_top = static_cast(stack) + (stack_grows_down ? stack_size - kMaxStackAlignment : 0); GTEST_DEATH_TEST_CHECK_(stack_size > kMaxStackAlignment && reinterpret_cast(stack_top) % kMaxStackAlignment == 0); child_pid = clone(&ExecDeathTestChildMain, stack_top, SIGCHLD, &args); GTEST_DEATH_TEST_CHECK_(munmap(stack, stack_size) != -1); } # else const bool use_fork = true; # endif // GTEST_HAS_CLONE if (use_fork && (child_pid = fork()) == 0) { ExecDeathTestChildMain(&args); _exit(0); } # endif // GTEST_OS_QNX # if GTEST_OS_LINUX GTEST_DEATH_TEST_CHECK_SYSCALL_( sigaction(SIGPROF, &saved_sigprof_action, NULL)); # endif // GTEST_OS_LINUX GTEST_DEATH_TEST_CHECK_(child_pid != -1); return child_pid; } // The AssumeRole process for a fork-and-exec death test. It re-executes the // main program from the beginning, setting the --gtest_filter // and --gtest_internal_run_death_test flags to cause only the current // death test to be re-run. DeathTest::TestRole ExecDeathTest::AssumeRole() { const UnitTestImpl* const impl = GetUnitTestImpl(); const InternalRunDeathTestFlag* const flag = impl->internal_run_death_test_flag(); const TestInfo* const info = impl->current_test_info(); const int death_test_index = info->result()->death_test_count(); if (flag != NULL) { set_write_fd(flag->write_fd()); return EXECUTE_TEST; } int pipe_fd[2]; GTEST_DEATH_TEST_CHECK_(pipe(pipe_fd) != -1); // Clear the close-on-exec flag on the write end of the pipe, lest // it be closed when the child process does an exec: GTEST_DEATH_TEST_CHECK_(fcntl(pipe_fd[1], F_SETFD, 0) != -1); const std::string filter_flag = std::string("--") + GTEST_FLAG_PREFIX_ + kFilterFlag + "=" + info->test_case_name() + "." + info->name(); const std::string internal_flag = std::string("--") + GTEST_FLAG_PREFIX_ + kInternalRunDeathTestFlag + "=" + file_ + "|" + StreamableToString(line_) + "|" + StreamableToString(death_test_index) + "|" + StreamableToString(pipe_fd[1]); Arguments args; args.AddArguments(GetArgvsForDeathTestChildProcess()); args.AddArgument(filter_flag.c_str()); args.AddArgument(internal_flag.c_str()); DeathTest::set_last_death_test_message(""); CaptureStderr(); // See the comment in NoExecDeathTest::AssumeRole for why the next line // is necessary. FlushInfoLog(); const pid_t child_pid = ExecDeathTestSpawnChild(args.Argv(), pipe_fd[0]); GTEST_DEATH_TEST_CHECK_SYSCALL_(close(pipe_fd[1])); set_child_pid(child_pid); set_read_fd(pipe_fd[0]); set_spawned(true); return OVERSEE_TEST; } # endif // !GTEST_OS_WINDOWS // Creates a concrete DeathTest-derived class that depends on the // --gtest_death_test_style flag, and sets the pointer pointed to // by the "test" argument to its address. If the test should be // skipped, sets that pointer to NULL. Returns true, unless the // flag is set to an invalid value. bool DefaultDeathTestFactory::Create(const char* statement, const RE* regex, const char* file, int line, DeathTest** test) { UnitTestImpl* const impl = GetUnitTestImpl(); const InternalRunDeathTestFlag* const flag = impl->internal_run_death_test_flag(); const int death_test_index = impl->current_test_info() ->increment_death_test_count(); if (flag != NULL) { if (death_test_index > flag->index()) { DeathTest::set_last_death_test_message( "Death test count (" + StreamableToString(death_test_index) + ") somehow exceeded expected maximum (" + StreamableToString(flag->index()) + ")"); return false; } if (!(flag->file() == file && flag->line() == line && flag->index() == death_test_index)) { *test = NULL; return true; } } # if GTEST_OS_WINDOWS if (GTEST_FLAG(death_test_style) == "threadsafe" || GTEST_FLAG(death_test_style) == "fast") { *test = new WindowsDeathTest(statement, regex, file, line); } # else if (GTEST_FLAG(death_test_style) == "threadsafe") { *test = new ExecDeathTest(statement, regex, file, line); } else if (GTEST_FLAG(death_test_style) == "fast") { *test = new NoExecDeathTest(statement, regex); } # endif // GTEST_OS_WINDOWS else { // NOLINT - this is more readable than unbalanced brackets inside #if. DeathTest::set_last_death_test_message( "Unknown death test style \"" + GTEST_FLAG(death_test_style) + "\" encountered"); return false; } return true; } // Splits a given string on a given delimiter, populating a given // vector with the fields. GTEST_HAS_DEATH_TEST implies that we have // ::std::string, so we can use it here. static void SplitString(const ::std::string& str, char delimiter, ::std::vector< ::std::string>* dest) { ::std::vector< ::std::string> parsed; ::std::string::size_type pos = 0; while (::testing::internal::AlwaysTrue()) { const ::std::string::size_type colon = str.find(delimiter, pos); if (colon == ::std::string::npos) { parsed.push_back(str.substr(pos)); break; } else { parsed.push_back(str.substr(pos, colon - pos)); pos = colon + 1; } } dest->swap(parsed); } # if GTEST_OS_WINDOWS // Recreates the pipe and event handles from the provided parameters, // signals the event, and returns a file descriptor wrapped around the pipe // handle. This function is called in the child process only. int GetStatusFileDescriptor(unsigned int parent_process_id, size_t write_handle_as_size_t, size_t event_handle_as_size_t) { AutoHandle parent_process_handle(::OpenProcess(PROCESS_DUP_HANDLE, FALSE, // Non-inheritable. parent_process_id)); if (parent_process_handle.Get() == INVALID_HANDLE_VALUE) { DeathTestAbort("Unable to open parent process " + StreamableToString(parent_process_id)); } // TODO(vladl@google.com): Replace the following check with a // compile-time assertion when available. GTEST_CHECK_(sizeof(HANDLE) <= sizeof(size_t)); const HANDLE write_handle = reinterpret_cast(write_handle_as_size_t); HANDLE dup_write_handle; // The newly initialized handle is accessible only in in the parent // process. To obtain one accessible within the child, we need to use // DuplicateHandle. if (!::DuplicateHandle(parent_process_handle.Get(), write_handle, ::GetCurrentProcess(), &dup_write_handle, 0x0, // Requested privileges ignored since // DUPLICATE_SAME_ACCESS is used. FALSE, // Request non-inheritable handler. DUPLICATE_SAME_ACCESS)) { DeathTestAbort("Unable to duplicate the pipe handle " + StreamableToString(write_handle_as_size_t) + " from the parent process " + StreamableToString(parent_process_id)); } const HANDLE event_handle = reinterpret_cast(event_handle_as_size_t); HANDLE dup_event_handle; if (!::DuplicateHandle(parent_process_handle.Get(), event_handle, ::GetCurrentProcess(), &dup_event_handle, 0x0, FALSE, DUPLICATE_SAME_ACCESS)) { DeathTestAbort("Unable to duplicate the event handle " + StreamableToString(event_handle_as_size_t) + " from the parent process " + StreamableToString(parent_process_id)); } const int write_fd = ::_open_osfhandle(reinterpret_cast(dup_write_handle), O_APPEND); if (write_fd == -1) { DeathTestAbort("Unable to convert pipe handle " + StreamableToString(write_handle_as_size_t) + " to a file descriptor"); } // Signals the parent that the write end of the pipe has been acquired // so the parent can release its own write end. ::SetEvent(dup_event_handle); return write_fd; } # endif // GTEST_OS_WINDOWS // Returns a newly created InternalRunDeathTestFlag object with fields // initialized from the GTEST_FLAG(internal_run_death_test) flag if // the flag is specified; otherwise returns NULL. InternalRunDeathTestFlag* ParseInternalRunDeathTestFlag() { if (GTEST_FLAG(internal_run_death_test) == "") return NULL; // GTEST_HAS_DEATH_TEST implies that we have ::std::string, so we // can use it here. int line = -1; int index = -1; ::std::vector< ::std::string> fields; SplitString(GTEST_FLAG(internal_run_death_test).c_str(), '|', &fields); int write_fd = -1; # if GTEST_OS_WINDOWS unsigned int parent_process_id = 0; size_t write_handle_as_size_t = 0; size_t event_handle_as_size_t = 0; if (fields.size() != 6 || !ParseNaturalNumber(fields[1], &line) || !ParseNaturalNumber(fields[2], &index) || !ParseNaturalNumber(fields[3], &parent_process_id) || !ParseNaturalNumber(fields[4], &write_handle_as_size_t) || !ParseNaturalNumber(fields[5], &event_handle_as_size_t)) { DeathTestAbort("Bad --gtest_internal_run_death_test flag: " + GTEST_FLAG(internal_run_death_test)); } write_fd = GetStatusFileDescriptor(parent_process_id, write_handle_as_size_t, event_handle_as_size_t); # else if (fields.size() != 4 || !ParseNaturalNumber(fields[1], &line) || !ParseNaturalNumber(fields[2], &index) || !ParseNaturalNumber(fields[3], &write_fd)) { DeathTestAbort("Bad --gtest_internal_run_death_test flag: " + GTEST_FLAG(internal_run_death_test)); } # endif // GTEST_OS_WINDOWS return new InternalRunDeathTestFlag(fields[0], line, index, write_fd); } } // namespace internal #endif // GTEST_HAS_DEATH_TEST } // namespace testing stimfit-0.14.11/src/test/gtest/src/gtest-filepath.cc0000644000175200017520000003363612277666257017233 00000000000000// Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: keith.ray@gmail.com (Keith Ray) #include "gtest/gtest-message.h" #include "gtest/internal/gtest-filepath.h" #include "gtest/internal/gtest-port.h" #include #if GTEST_OS_WINDOWS_MOBILE # include #elif GTEST_OS_WINDOWS # include # include #elif GTEST_OS_SYMBIAN // Symbian OpenC has PATH_MAX in sys/syslimits.h # include #else # include # include // Some Linux distributions define PATH_MAX here. #endif // GTEST_OS_WINDOWS_MOBILE #if GTEST_OS_WINDOWS # define GTEST_PATH_MAX_ _MAX_PATH #elif defined(PATH_MAX) # define GTEST_PATH_MAX_ PATH_MAX #elif defined(_XOPEN_PATH_MAX) # define GTEST_PATH_MAX_ _XOPEN_PATH_MAX #else # define GTEST_PATH_MAX_ _POSIX_PATH_MAX #endif // GTEST_OS_WINDOWS #include "gtest/internal/gtest-string.h" namespace testing { namespace internal { #if GTEST_OS_WINDOWS // On Windows, '\\' is the standard path separator, but many tools and the // Windows API also accept '/' as an alternate path separator. Unless otherwise // noted, a file path can contain either kind of path separators, or a mixture // of them. const char kPathSeparator = '\\'; const char kAlternatePathSeparator = '/'; const char kPathSeparatorString[] = "\\"; const char kAlternatePathSeparatorString[] = "/"; # if GTEST_OS_WINDOWS_MOBILE // Windows CE doesn't have a current directory. You should not use // the current directory in tests on Windows CE, but this at least // provides a reasonable fallback. const char kCurrentDirectoryString[] = "\\"; // Windows CE doesn't define INVALID_FILE_ATTRIBUTES const DWORD kInvalidFileAttributes = 0xffffffff; # else const char kCurrentDirectoryString[] = ".\\"; # endif // GTEST_OS_WINDOWS_MOBILE #else const char kPathSeparator = '/'; const char kPathSeparatorString[] = "/"; const char kCurrentDirectoryString[] = "./"; #endif // GTEST_OS_WINDOWS // Returns whether the given character is a valid path separator. static bool IsPathSeparator(char c) { #if GTEST_HAS_ALT_PATH_SEP_ return (c == kPathSeparator) || (c == kAlternatePathSeparator); #else return c == kPathSeparator; #endif } // Returns the current working directory, or "" if unsuccessful. FilePath FilePath::GetCurrentDir() { #if GTEST_OS_WINDOWS_MOBILE // Windows CE doesn't have a current directory, so we just return // something reasonable. return FilePath(kCurrentDirectoryString); #elif GTEST_OS_WINDOWS char cwd[GTEST_PATH_MAX_ + 1] = { '\0' }; return FilePath(_getcwd(cwd, sizeof(cwd)) == NULL ? "" : cwd); #else char cwd[GTEST_PATH_MAX_ + 1] = { '\0' }; return FilePath(getcwd(cwd, sizeof(cwd)) == NULL ? "" : cwd); #endif // GTEST_OS_WINDOWS_MOBILE } // Returns a copy of the FilePath with the case-insensitive extension removed. // Example: FilePath("dir/file.exe").RemoveExtension("EXE") returns // FilePath("dir/file"). If a case-insensitive extension is not // found, returns a copy of the original FilePath. FilePath FilePath::RemoveExtension(const char* extension) const { const std::string dot_extension = std::string(".") + extension; if (String::EndsWithCaseInsensitive(pathname_, dot_extension)) { return FilePath(pathname_.substr( 0, pathname_.length() - dot_extension.length())); } return *this; } // Returns a pointer to the last occurence of a valid path separator in // the FilePath. On Windows, for example, both '/' and '\' are valid path // separators. Returns NULL if no path separator was found. const char* FilePath::FindLastPathSeparator() const { const char* const last_sep = strrchr(c_str(), kPathSeparator); #if GTEST_HAS_ALT_PATH_SEP_ const char* const last_alt_sep = strrchr(c_str(), kAlternatePathSeparator); // Comparing two pointers of which only one is NULL is undefined. if (last_alt_sep != NULL && (last_sep == NULL || last_alt_sep > last_sep)) { return last_alt_sep; } #endif return last_sep; } // Returns a copy of the FilePath with the directory part removed. // Example: FilePath("path/to/file").RemoveDirectoryName() returns // FilePath("file"). If there is no directory part ("just_a_file"), it returns // the FilePath unmodified. If there is no file part ("just_a_dir/") it // returns an empty FilePath (""). // On Windows platform, '\' is the path separator, otherwise it is '/'. FilePath FilePath::RemoveDirectoryName() const { const char* const last_sep = FindLastPathSeparator(); return last_sep ? FilePath(last_sep + 1) : *this; } // RemoveFileName returns the directory path with the filename removed. // Example: FilePath("path/to/file").RemoveFileName() returns "path/to/". // If the FilePath is "a_file" or "/a_file", RemoveFileName returns // FilePath("./") or, on Windows, FilePath(".\\"). If the filepath does // not have a file, like "just/a/dir/", it returns the FilePath unmodified. // On Windows platform, '\' is the path separator, otherwise it is '/'. FilePath FilePath::RemoveFileName() const { const char* const last_sep = FindLastPathSeparator(); std::string dir; if (last_sep) { dir = std::string(c_str(), last_sep + 1 - c_str()); } else { dir = kCurrentDirectoryString; } return FilePath(dir); } // Helper functions for naming files in a directory for xml output. // Given directory = "dir", base_name = "test", number = 0, // extension = "xml", returns "dir/test.xml". If number is greater // than zero (e.g., 12), returns "dir/test_12.xml". // On Windows platform, uses \ as the separator rather than /. FilePath FilePath::MakeFileName(const FilePath& directory, const FilePath& base_name, int number, const char* extension) { std::string file; if (number == 0) { file = base_name.string() + "." + extension; } else { file = base_name.string() + "_" + StreamableToString(number) + "." + extension; } return ConcatPaths(directory, FilePath(file)); } // Given directory = "dir", relative_path = "test.xml", returns "dir/test.xml". // On Windows, uses \ as the separator rather than /. FilePath FilePath::ConcatPaths(const FilePath& directory, const FilePath& relative_path) { if (directory.IsEmpty()) return relative_path; const FilePath dir(directory.RemoveTrailingPathSeparator()); return FilePath(dir.string() + kPathSeparator + relative_path.string()); } // Returns true if pathname describes something findable in the file-system, // either a file, directory, or whatever. bool FilePath::FileOrDirectoryExists() const { #if GTEST_OS_WINDOWS_MOBILE LPCWSTR unicode = String::AnsiToUtf16(pathname_.c_str()); const DWORD attributes = GetFileAttributes(unicode); delete [] unicode; return attributes != kInvalidFileAttributes; #else posix::StatStruct file_stat; return posix::Stat(pathname_.c_str(), &file_stat) == 0; #endif // GTEST_OS_WINDOWS_MOBILE } // Returns true if pathname describes a directory in the file-system // that exists. bool FilePath::DirectoryExists() const { bool result = false; #if GTEST_OS_WINDOWS // Don't strip off trailing separator if path is a root directory on // Windows (like "C:\\"). const FilePath& path(IsRootDirectory() ? *this : RemoveTrailingPathSeparator()); #else const FilePath& path(*this); #endif #if GTEST_OS_WINDOWS_MOBILE LPCWSTR unicode = String::AnsiToUtf16(path.c_str()); const DWORD attributes = GetFileAttributes(unicode); delete [] unicode; if ((attributes != kInvalidFileAttributes) && (attributes & FILE_ATTRIBUTE_DIRECTORY)) { result = true; } #else posix::StatStruct file_stat; result = posix::Stat(path.c_str(), &file_stat) == 0 && posix::IsDir(file_stat); #endif // GTEST_OS_WINDOWS_MOBILE return result; } // Returns true if pathname describes a root directory. (Windows has one // root directory per disk drive.) bool FilePath::IsRootDirectory() const { #if GTEST_OS_WINDOWS // TODO(wan@google.com): on Windows a network share like // \\server\share can be a root directory, although it cannot be the // current directory. Handle this properly. return pathname_.length() == 3 && IsAbsolutePath(); #else return pathname_.length() == 1 && IsPathSeparator(pathname_.c_str()[0]); #endif } // Returns true if pathname describes an absolute path. bool FilePath::IsAbsolutePath() const { const char* const name = pathname_.c_str(); #if GTEST_OS_WINDOWS return pathname_.length() >= 3 && ((name[0] >= 'a' && name[0] <= 'z') || (name[0] >= 'A' && name[0] <= 'Z')) && name[1] == ':' && IsPathSeparator(name[2]); #else return IsPathSeparator(name[0]); #endif } // Returns a pathname for a file that does not currently exist. The pathname // will be directory/base_name.extension or // directory/base_name_.extension if directory/base_name.extension // already exists. The number will be incremented until a pathname is found // that does not already exist. // Examples: 'dir/foo_test.xml' or 'dir/foo_test_1.xml'. // There could be a race condition if two or more processes are calling this // function at the same time -- they could both pick the same filename. FilePath FilePath::GenerateUniqueFileName(const FilePath& directory, const FilePath& base_name, const char* extension) { FilePath full_pathname; int number = 0; do { full_pathname.Set(MakeFileName(directory, base_name, number++, extension)); } while (full_pathname.FileOrDirectoryExists()); return full_pathname; } // Returns true if FilePath ends with a path separator, which indicates that // it is intended to represent a directory. Returns false otherwise. // This does NOT check that a directory (or file) actually exists. bool FilePath::IsDirectory() const { return !pathname_.empty() && IsPathSeparator(pathname_.c_str()[pathname_.length() - 1]); } // Create directories so that path exists. Returns true if successful or if // the directories already exist; returns false if unable to create directories // for any reason. bool FilePath::CreateDirectoriesRecursively() const { if (!this->IsDirectory()) { return false; } if (pathname_.length() == 0 || this->DirectoryExists()) { return true; } const FilePath parent(this->RemoveTrailingPathSeparator().RemoveFileName()); return parent.CreateDirectoriesRecursively() && this->CreateFolder(); } // Create the directory so that path exists. Returns true if successful or // if the directory already exists; returns false if unable to create the // directory for any reason, including if the parent directory does not // exist. Not named "CreateDirectory" because that's a macro on Windows. bool FilePath::CreateFolder() const { #if GTEST_OS_WINDOWS_MOBILE FilePath removed_sep(this->RemoveTrailingPathSeparator()); LPCWSTR unicode = String::AnsiToUtf16(removed_sep.c_str()); int result = CreateDirectory(unicode, NULL) ? 0 : -1; delete [] unicode; #elif GTEST_OS_WINDOWS int result = _mkdir(pathname_.c_str()); #else int result = mkdir(pathname_.c_str(), 0777); #endif // GTEST_OS_WINDOWS_MOBILE if (result == -1) { return this->DirectoryExists(); // An error is OK if the directory exists. } return true; // No error. } // If input name has a trailing separator character, remove it and return the // name, otherwise return the name string unmodified. // On Windows platform, uses \ as the separator, other platforms use /. FilePath FilePath::RemoveTrailingPathSeparator() const { return IsDirectory() ? FilePath(pathname_.substr(0, pathname_.length() - 1)) : *this; } // Removes any redundant separators that might be in the pathname. // For example, "bar///foo" becomes "bar/foo". Does not eliminate other // redundancies that might be in a pathname involving "." or "..". // TODO(wan@google.com): handle Windows network shares (e.g. \\server\share). void FilePath::Normalize() { if (pathname_.c_str() == NULL) { pathname_ = ""; return; } const char* src = pathname_.c_str(); char* const dest = new char[pathname_.length() + 1]; char* dest_ptr = dest; memset(dest_ptr, 0, pathname_.length() + 1); while (*src != '\0') { *dest_ptr = *src; if (!IsPathSeparator(*src)) { src++; } else { #if GTEST_HAS_ALT_PATH_SEP_ if (*dest_ptr == kAlternatePathSeparator) { *dest_ptr = kPathSeparator; } #endif while (IsPathSeparator(*src)) src++; } dest_ptr++; } *dest_ptr = '\0'; pathname_ = dest; delete[] dest; } } // namespace internal } // namespace testing stimfit-0.14.11/src/test/gtest/src/gtest-printers.cc0000644000175200017520000002776312277666257017311 00000000000000// Copyright 2007, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // Google Test - The Google C++ Testing Framework // // This file implements a universal value printer that can print a // value of any type T: // // void ::testing::internal::UniversalPrinter::Print(value, ostream_ptr); // // It uses the << operator when possible, and prints the bytes in the // object otherwise. A user can override its behavior for a class // type Foo by defining either operator<<(::std::ostream&, const Foo&) // or void PrintTo(const Foo&, ::std::ostream*) in the namespace that // defines Foo. #include "gtest/gtest-printers.h" #include #include #include // NOLINT #include #include "gtest/internal/gtest-port.h" namespace testing { namespace { using ::std::ostream; // Prints a segment of bytes in the given object. void PrintByteSegmentInObjectTo(const unsigned char* obj_bytes, size_t start, size_t count, ostream* os) { char text[5] = ""; for (size_t i = 0; i != count; i++) { const size_t j = start + i; if (i != 0) { // Organizes the bytes into groups of 2 for easy parsing by // human. if ((j % 2) == 0) *os << ' '; else *os << '-'; } GTEST_SNPRINTF_(text, sizeof(text), "%02X", obj_bytes[j]); *os << text; } } // Prints the bytes in the given value to the given ostream. void PrintBytesInObjectToImpl(const unsigned char* obj_bytes, size_t count, ostream* os) { // Tells the user how big the object is. *os << count << "-byte object <"; const size_t kThreshold = 132; const size_t kChunkSize = 64; // If the object size is bigger than kThreshold, we'll have to omit // some details by printing only the first and the last kChunkSize // bytes. // TODO(wan): let the user control the threshold using a flag. if (count < kThreshold) { PrintByteSegmentInObjectTo(obj_bytes, 0, count, os); } else { PrintByteSegmentInObjectTo(obj_bytes, 0, kChunkSize, os); *os << " ... "; // Rounds up to 2-byte boundary. const size_t resume_pos = (count - kChunkSize + 1)/2*2; PrintByteSegmentInObjectTo(obj_bytes, resume_pos, count - resume_pos, os); } *os << ">"; } } // namespace namespace internal2 { // Delegates to PrintBytesInObjectToImpl() to print the bytes in the // given object. The delegation simplifies the implementation, which // uses the << operator and thus is easier done outside of the // ::testing::internal namespace, which contains a << operator that // sometimes conflicts with the one in STL. void PrintBytesInObjectTo(const unsigned char* obj_bytes, size_t count, ostream* os) { PrintBytesInObjectToImpl(obj_bytes, count, os); } } // namespace internal2 namespace internal { // Depending on the value of a char (or wchar_t), we print it in one // of three formats: // - as is if it's a printable ASCII (e.g. 'a', '2', ' '), // - as a hexidecimal escape sequence (e.g. '\x7F'), or // - as a special escape sequence (e.g. '\r', '\n'). enum CharFormat { kAsIs, kHexEscape, kSpecialEscape }; // Returns true if c is a printable ASCII character. We test the // value of c directly instead of calling isprint(), which is buggy on // Windows Mobile. inline bool IsPrintableAscii(wchar_t c) { return 0x20 <= c && c <= 0x7E; } // Prints a wide or narrow char c as a character literal without the // quotes, escaping it when necessary; returns how c was formatted. // The template argument UnsignedChar is the unsigned version of Char, // which is the type of c. template static CharFormat PrintAsCharLiteralTo(Char c, ostream* os) { switch (static_cast(c)) { case L'\0': *os << "\\0"; break; case L'\'': *os << "\\'"; break; case L'\\': *os << "\\\\"; break; case L'\a': *os << "\\a"; break; case L'\b': *os << "\\b"; break; case L'\f': *os << "\\f"; break; case L'\n': *os << "\\n"; break; case L'\r': *os << "\\r"; break; case L'\t': *os << "\\t"; break; case L'\v': *os << "\\v"; break; default: if (IsPrintableAscii(c)) { *os << static_cast(c); return kAsIs; } else { *os << "\\x" + String::FormatHexInt(static_cast(c)); return kHexEscape; } } return kSpecialEscape; } // Prints a wchar_t c as if it's part of a string literal, escaping it when // necessary; returns how c was formatted. static CharFormat PrintAsStringLiteralTo(wchar_t c, ostream* os) { switch (c) { case L'\'': *os << "'"; return kAsIs; case L'"': *os << "\\\""; return kSpecialEscape; default: return PrintAsCharLiteralTo(c, os); } } // Prints a char c as if it's part of a string literal, escaping it when // necessary; returns how c was formatted. static CharFormat PrintAsStringLiteralTo(char c, ostream* os) { return PrintAsStringLiteralTo( static_cast(static_cast(c)), os); } // Prints a wide or narrow character c and its code. '\0' is printed // as "'\\0'", other unprintable characters are also properly escaped // using the standard C++ escape sequence. The template argument // UnsignedChar is the unsigned version of Char, which is the type of c. template void PrintCharAndCodeTo(Char c, ostream* os) { // First, print c as a literal in the most readable form we can find. *os << ((sizeof(c) > 1) ? "L'" : "'"); const CharFormat format = PrintAsCharLiteralTo(c, os); *os << "'"; // To aid user debugging, we also print c's code in decimal, unless // it's 0 (in which case c was printed as '\\0', making the code // obvious). if (c == 0) return; *os << " (" << static_cast(c); // For more convenience, we print c's code again in hexidecimal, // unless c was already printed in the form '\x##' or the code is in // [1, 9]. if (format == kHexEscape || (1 <= c && c <= 9)) { // Do nothing. } else { *os << ", 0x" << String::FormatHexInt(static_cast(c)); } *os << ")"; } void PrintTo(unsigned char c, ::std::ostream* os) { PrintCharAndCodeTo(c, os); } void PrintTo(signed char c, ::std::ostream* os) { PrintCharAndCodeTo(c, os); } // Prints a wchar_t as a symbol if it is printable or as its internal // code otherwise and also as its code. L'\0' is printed as "L'\\0'". void PrintTo(wchar_t wc, ostream* os) { PrintCharAndCodeTo(wc, os); } // Prints the given array of characters to the ostream. CharType must be either // char or wchar_t. // The array starts at begin, the length is len, it may include '\0' characters // and may not be NUL-terminated. template static void PrintCharsAsStringTo( const CharType* begin, size_t len, ostream* os) { const char* const kQuoteBegin = sizeof(CharType) == 1 ? "\"" : "L\""; *os << kQuoteBegin; bool is_previous_hex = false; for (size_t index = 0; index < len; ++index) { const CharType cur = begin[index]; if (is_previous_hex && IsXDigit(cur)) { // Previous character is of '\x..' form and this character can be // interpreted as another hexadecimal digit in its number. Break string to // disambiguate. *os << "\" " << kQuoteBegin; } is_previous_hex = PrintAsStringLiteralTo(cur, os) == kHexEscape; } *os << "\""; } // Prints a (const) char/wchar_t array of 'len' elements, starting at address // 'begin'. CharType must be either char or wchar_t. template static void UniversalPrintCharArray( const CharType* begin, size_t len, ostream* os) { // The code // const char kFoo[] = "foo"; // generates an array of 4, not 3, elements, with the last one being '\0'. // // Therefore when printing a char array, we don't print the last element if // it's '\0', such that the output matches the string literal as it's // written in the source code. if (len > 0 && begin[len - 1] == '\0') { PrintCharsAsStringTo(begin, len - 1, os); return; } // If, however, the last element in the array is not '\0', e.g. // const char kFoo[] = { 'f', 'o', 'o' }; // we must print the entire array. We also print a message to indicate // that the array is not NUL-terminated. PrintCharsAsStringTo(begin, len, os); *os << " (no terminating NUL)"; } // Prints a (const) char array of 'len' elements, starting at address 'begin'. void UniversalPrintArray(const char* begin, size_t len, ostream* os) { UniversalPrintCharArray(begin, len, os); } // Prints a (const) wchar_t array of 'len' elements, starting at address // 'begin'. void UniversalPrintArray(const wchar_t* begin, size_t len, ostream* os) { UniversalPrintCharArray(begin, len, os); } // Prints the given C string to the ostream. void PrintTo(const char* s, ostream* os) { if (s == NULL) { *os << "NULL"; } else { *os << ImplicitCast_(s) << " pointing to "; PrintCharsAsStringTo(s, strlen(s), os); } } // MSVC compiler can be configured to define whar_t as a typedef // of unsigned short. Defining an overload for const wchar_t* in that case // would cause pointers to unsigned shorts be printed as wide strings, // possibly accessing more memory than intended and causing invalid // memory accesses. MSVC defines _NATIVE_WCHAR_T_DEFINED symbol when // wchar_t is implemented as a native type. #if !defined(_MSC_VER) || defined(_NATIVE_WCHAR_T_DEFINED) // Prints the given wide C string to the ostream. void PrintTo(const wchar_t* s, ostream* os) { if (s == NULL) { *os << "NULL"; } else { *os << ImplicitCast_(s) << " pointing to "; PrintCharsAsStringTo(s, wcslen(s), os); } } #endif // wchar_t is native // Prints a ::string object. #if GTEST_HAS_GLOBAL_STRING void PrintStringTo(const ::string& s, ostream* os) { PrintCharsAsStringTo(s.data(), s.size(), os); } #endif // GTEST_HAS_GLOBAL_STRING void PrintStringTo(const ::std::string& s, ostream* os) { PrintCharsAsStringTo(s.data(), s.size(), os); } // Prints a ::wstring object. #if GTEST_HAS_GLOBAL_WSTRING void PrintWideStringTo(const ::wstring& s, ostream* os) { PrintCharsAsStringTo(s.data(), s.size(), os); } #endif // GTEST_HAS_GLOBAL_WSTRING #if GTEST_HAS_STD_WSTRING void PrintWideStringTo(const ::std::wstring& s, ostream* os) { PrintCharsAsStringTo(s.data(), s.size(), os); } #endif // GTEST_HAS_STD_WSTRING } // namespace internal } // namespace testing stimfit-0.14.11/src/test/gtest/src/gtest-port.cc0000644000175200017520000006551212277666257016421 00000000000000// Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) #include "gtest/internal/gtest-port.h" #include #include #include #include #if GTEST_OS_WINDOWS_MOBILE # include // For TerminateProcess() #elif GTEST_OS_WINDOWS # include # include #else # include #endif // GTEST_OS_WINDOWS_MOBILE #if GTEST_OS_MAC # include # include # include #endif // GTEST_OS_MAC #if GTEST_OS_QNX # include # include #endif // GTEST_OS_QNX #include "gtest/gtest-spi.h" #include "gtest/gtest-message.h" #include "gtest/internal/gtest-internal.h" #include "gtest/internal/gtest-string.h" // Indicates that this translation unit is part of Google Test's // implementation. It must come before gtest-internal-inl.h is // included, or there will be a compiler error. This trick is to // prevent a user from accidentally including gtest-internal-inl.h in // his code. #define GTEST_IMPLEMENTATION_ 1 #include "src/gtest-internal-inl.h" #undef GTEST_IMPLEMENTATION_ namespace testing { namespace internal { #if defined(_MSC_VER) || defined(__BORLANDC__) // MSVC and C++Builder do not provide a definition of STDERR_FILENO. const int kStdOutFileno = 1; const int kStdErrFileno = 2; #else const int kStdOutFileno = STDOUT_FILENO; const int kStdErrFileno = STDERR_FILENO; #endif // _MSC_VER #if GTEST_OS_MAC // Returns the number of threads running in the process, or 0 to indicate that // we cannot detect it. size_t GetThreadCount() { const task_t task = mach_task_self(); mach_msg_type_number_t thread_count; thread_act_array_t thread_list; const kern_return_t status = task_threads(task, &thread_list, &thread_count); if (status == KERN_SUCCESS) { // task_threads allocates resources in thread_list and we need to free them // to avoid leaks. vm_deallocate(task, reinterpret_cast(thread_list), sizeof(thread_t) * thread_count); return static_cast(thread_count); } else { return 0; } } #elif GTEST_OS_QNX // Returns the number of threads running in the process, or 0 to indicate that // we cannot detect it. size_t GetThreadCount() { const int fd = open("/proc/self/as", O_RDONLY); if (fd < 0) { return 0; } procfs_info process_info; const int status = devctl(fd, DCMD_PROC_INFO, &process_info, sizeof(process_info), NULL); close(fd); if (status == EOK) { return static_cast(process_info.num_threads); } else { return 0; } } #else size_t GetThreadCount() { // There's no portable way to detect the number of threads, so we just // return 0 to indicate that we cannot detect it. return 0; } #endif // GTEST_OS_MAC #if GTEST_USES_POSIX_RE // Implements RE. Currently only needed for death tests. RE::~RE() { if (is_valid_) { // regfree'ing an invalid regex might crash because the content // of the regex is undefined. Since the regex's are essentially // the same, one cannot be valid (or invalid) without the other // being so too. regfree(&partial_regex_); regfree(&full_regex_); } free(const_cast(pattern_)); } // Returns true iff regular expression re matches the entire str. bool RE::FullMatch(const char* str, const RE& re) { if (!re.is_valid_) return false; regmatch_t match; return regexec(&re.full_regex_, str, 1, &match, 0) == 0; } // Returns true iff regular expression re matches a substring of str // (including str itself). bool RE::PartialMatch(const char* str, const RE& re) { if (!re.is_valid_) return false; regmatch_t match; return regexec(&re.partial_regex_, str, 1, &match, 0) == 0; } // Initializes an RE from its string representation. void RE::Init(const char* regex) { pattern_ = posix::StrDup(regex); // Reserves enough bytes to hold the regular expression used for a // full match. const size_t full_regex_len = strlen(regex) + 10; char* const full_pattern = new char[full_regex_len]; snprintf(full_pattern, full_regex_len, "^(%s)$", regex); is_valid_ = regcomp(&full_regex_, full_pattern, REG_EXTENDED) == 0; // We want to call regcomp(&partial_regex_, ...) even if the // previous expression returns false. Otherwise partial_regex_ may // not be properly initialized can may cause trouble when it's // freed. // // Some implementation of POSIX regex (e.g. on at least some // versions of Cygwin) doesn't accept the empty string as a valid // regex. We change it to an equivalent form "()" to be safe. if (is_valid_) { const char* const partial_regex = (*regex == '\0') ? "()" : regex; is_valid_ = regcomp(&partial_regex_, partial_regex, REG_EXTENDED) == 0; } EXPECT_TRUE(is_valid_) << "Regular expression \"" << regex << "\" is not a valid POSIX Extended regular expression."; delete[] full_pattern; } #elif GTEST_USES_SIMPLE_RE // Returns true iff ch appears anywhere in str (excluding the // terminating '\0' character). bool IsInSet(char ch, const char* str) { return ch != '\0' && strchr(str, ch) != NULL; } // Returns true iff ch belongs to the given classification. Unlike // similar functions in , these aren't affected by the // current locale. bool IsAsciiDigit(char ch) { return '0' <= ch && ch <= '9'; } bool IsAsciiPunct(char ch) { return IsInSet(ch, "^-!\"#$%&'()*+,./:;<=>?@[\\]_`{|}~"); } bool IsRepeat(char ch) { return IsInSet(ch, "?*+"); } bool IsAsciiWhiteSpace(char ch) { return IsInSet(ch, " \f\n\r\t\v"); } bool IsAsciiWordChar(char ch) { return ('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z') || ('0' <= ch && ch <= '9') || ch == '_'; } // Returns true iff "\\c" is a supported escape sequence. bool IsValidEscape(char c) { return (IsAsciiPunct(c) || IsInSet(c, "dDfnrsStvwW")); } // Returns true iff the given atom (specified by escaped and pattern) // matches ch. The result is undefined if the atom is invalid. bool AtomMatchesChar(bool escaped, char pattern_char, char ch) { if (escaped) { // "\\p" where p is pattern_char. switch (pattern_char) { case 'd': return IsAsciiDigit(ch); case 'D': return !IsAsciiDigit(ch); case 'f': return ch == '\f'; case 'n': return ch == '\n'; case 'r': return ch == '\r'; case 's': return IsAsciiWhiteSpace(ch); case 'S': return !IsAsciiWhiteSpace(ch); case 't': return ch == '\t'; case 'v': return ch == '\v'; case 'w': return IsAsciiWordChar(ch); case 'W': return !IsAsciiWordChar(ch); } return IsAsciiPunct(pattern_char) && pattern_char == ch; } return (pattern_char == '.' && ch != '\n') || pattern_char == ch; } // Helper function used by ValidateRegex() to format error messages. std::string FormatRegexSyntaxError(const char* regex, int index) { return (Message() << "Syntax error at index " << index << " in simple regular expression \"" << regex << "\": ").GetString(); } // Generates non-fatal failures and returns false if regex is invalid; // otherwise returns true. bool ValidateRegex(const char* regex) { if (regex == NULL) { // TODO(wan@google.com): fix the source file location in the // assertion failures to match where the regex is used in user // code. ADD_FAILURE() << "NULL is not a valid simple regular expression."; return false; } bool is_valid = true; // True iff ?, *, or + can follow the previous atom. bool prev_repeatable = false; for (int i = 0; regex[i]; i++) { if (regex[i] == '\\') { // An escape sequence i++; if (regex[i] == '\0') { ADD_FAILURE() << FormatRegexSyntaxError(regex, i - 1) << "'\\' cannot appear at the end."; return false; } if (!IsValidEscape(regex[i])) { ADD_FAILURE() << FormatRegexSyntaxError(regex, i - 1) << "invalid escape sequence \"\\" << regex[i] << "\"."; is_valid = false; } prev_repeatable = true; } else { // Not an escape sequence. const char ch = regex[i]; if (ch == '^' && i > 0) { ADD_FAILURE() << FormatRegexSyntaxError(regex, i) << "'^' can only appear at the beginning."; is_valid = false; } else if (ch == '$' && regex[i + 1] != '\0') { ADD_FAILURE() << FormatRegexSyntaxError(regex, i) << "'$' can only appear at the end."; is_valid = false; } else if (IsInSet(ch, "()[]{}|")) { ADD_FAILURE() << FormatRegexSyntaxError(regex, i) << "'" << ch << "' is unsupported."; is_valid = false; } else if (IsRepeat(ch) && !prev_repeatable) { ADD_FAILURE() << FormatRegexSyntaxError(regex, i) << "'" << ch << "' can only follow a repeatable token."; is_valid = false; } prev_repeatable = !IsInSet(ch, "^$?*+"); } } return is_valid; } // Matches a repeated regex atom followed by a valid simple regular // expression. The regex atom is defined as c if escaped is false, // or \c otherwise. repeat is the repetition meta character (?, *, // or +). The behavior is undefined if str contains too many // characters to be indexable by size_t, in which case the test will // probably time out anyway. We are fine with this limitation as // std::string has it too. bool MatchRepetitionAndRegexAtHead( bool escaped, char c, char repeat, const char* regex, const char* str) { const size_t min_count = (repeat == '+') ? 1 : 0; const size_t max_count = (repeat == '?') ? 1 : static_cast(-1) - 1; // We cannot call numeric_limits::max() as it conflicts with the // max() macro on Windows. for (size_t i = 0; i <= max_count; ++i) { // We know that the atom matches each of the first i characters in str. if (i >= min_count && MatchRegexAtHead(regex, str + i)) { // We have enough matches at the head, and the tail matches too. // Since we only care about *whether* the pattern matches str // (as opposed to *how* it matches), there is no need to find a // greedy match. return true; } if (str[i] == '\0' || !AtomMatchesChar(escaped, c, str[i])) return false; } return false; } // Returns true iff regex matches a prefix of str. regex must be a // valid simple regular expression and not start with "^", or the // result is undefined. bool MatchRegexAtHead(const char* regex, const char* str) { if (*regex == '\0') // An empty regex matches a prefix of anything. return true; // "$" only matches the end of a string. Note that regex being // valid guarantees that there's nothing after "$" in it. if (*regex == '$') return *str == '\0'; // Is the first thing in regex an escape sequence? const bool escaped = *regex == '\\'; if (escaped) ++regex; if (IsRepeat(regex[1])) { // MatchRepetitionAndRegexAtHead() calls MatchRegexAtHead(), so // here's an indirect recursion. It terminates as the regex gets // shorter in each recursion. return MatchRepetitionAndRegexAtHead( escaped, regex[0], regex[1], regex + 2, str); } else { // regex isn't empty, isn't "$", and doesn't start with a // repetition. We match the first atom of regex with the first // character of str and recurse. return (*str != '\0') && AtomMatchesChar(escaped, *regex, *str) && MatchRegexAtHead(regex + 1, str + 1); } } // Returns true iff regex matches any substring of str. regex must be // a valid simple regular expression, or the result is undefined. // // The algorithm is recursive, but the recursion depth doesn't exceed // the regex length, so we won't need to worry about running out of // stack space normally. In rare cases the time complexity can be // exponential with respect to the regex length + the string length, // but usually it's must faster (often close to linear). bool MatchRegexAnywhere(const char* regex, const char* str) { if (regex == NULL || str == NULL) return false; if (*regex == '^') return MatchRegexAtHead(regex + 1, str); // A successful match can be anywhere in str. do { if (MatchRegexAtHead(regex, str)) return true; } while (*str++ != '\0'); return false; } // Implements the RE class. RE::~RE() { free(const_cast(pattern_)); free(const_cast(full_pattern_)); } // Returns true iff regular expression re matches the entire str. bool RE::FullMatch(const char* str, const RE& re) { return re.is_valid_ && MatchRegexAnywhere(re.full_pattern_, str); } // Returns true iff regular expression re matches a substring of str // (including str itself). bool RE::PartialMatch(const char* str, const RE& re) { return re.is_valid_ && MatchRegexAnywhere(re.pattern_, str); } // Initializes an RE from its string representation. void RE::Init(const char* regex) { pattern_ = full_pattern_ = NULL; if (regex != NULL) { pattern_ = posix::StrDup(regex); } is_valid_ = ValidateRegex(regex); if (!is_valid_) { // No need to calculate the full pattern when the regex is invalid. return; } const size_t len = strlen(regex); // Reserves enough bytes to hold the regular expression used for a // full match: we need space to prepend a '^', append a '$', and // terminate the string with '\0'. char* buffer = static_cast(malloc(len + 3)); full_pattern_ = buffer; if (*regex != '^') *buffer++ = '^'; // Makes sure full_pattern_ starts with '^'. // We don't use snprintf or strncpy, as they trigger a warning when // compiled with VC++ 8.0. memcpy(buffer, regex, len); buffer += len; if (len == 0 || regex[len - 1] != '$') *buffer++ = '$'; // Makes sure full_pattern_ ends with '$'. *buffer = '\0'; } #endif // GTEST_USES_POSIX_RE const char kUnknownFile[] = "unknown file"; // Formats a source file path and a line number as they would appear // in an error message from the compiler used to compile this code. GTEST_API_ ::std::string FormatFileLocation(const char* file, int line) { const std::string file_name(file == NULL ? kUnknownFile : file); if (line < 0) { return file_name + ":"; } #ifdef _MSC_VER return file_name + "(" + StreamableToString(line) + "):"; #else return file_name + ":" + StreamableToString(line) + ":"; #endif // _MSC_VER } // Formats a file location for compiler-independent XML output. // Although this function is not platform dependent, we put it next to // FormatFileLocation in order to contrast the two functions. // Note that FormatCompilerIndependentFileLocation() does NOT append colon // to the file location it produces, unlike FormatFileLocation(). GTEST_API_ ::std::string FormatCompilerIndependentFileLocation( const char* file, int line) { const std::string file_name(file == NULL ? kUnknownFile : file); if (line < 0) return file_name; else return file_name + ":" + StreamableToString(line); } GTestLog::GTestLog(GTestLogSeverity severity, const char* file, int line) : severity_(severity) { const char* const marker = severity == GTEST_INFO ? "[ INFO ]" : severity == GTEST_WARNING ? "[WARNING]" : severity == GTEST_ERROR ? "[ ERROR ]" : "[ FATAL ]"; GetStream() << ::std::endl << marker << " " << FormatFileLocation(file, line).c_str() << ": "; } // Flushes the buffers and, if severity is GTEST_FATAL, aborts the program. GTestLog::~GTestLog() { GetStream() << ::std::endl; if (severity_ == GTEST_FATAL) { fflush(stderr); posix::Abort(); } } // Disable Microsoft deprecation warnings for POSIX functions called from // this class (creat, dup, dup2, and close) #ifdef _MSC_VER # pragma warning(push) # pragma warning(disable: 4996) #endif // _MSC_VER #if GTEST_HAS_STREAM_REDIRECTION // Object that captures an output stream (stdout/stderr). class CapturedStream { public: // The ctor redirects the stream to a temporary file. explicit CapturedStream(int fd) : fd_(fd), uncaptured_fd_(dup(fd)) { # if GTEST_OS_WINDOWS char temp_dir_path[MAX_PATH + 1] = { '\0' }; // NOLINT char temp_file_path[MAX_PATH + 1] = { '\0' }; // NOLINT ::GetTempPathA(sizeof(temp_dir_path), temp_dir_path); const UINT success = ::GetTempFileNameA(temp_dir_path, "gtest_redir", 0, // Generate unique file name. temp_file_path); GTEST_CHECK_(success != 0) << "Unable to create a temporary file in " << temp_dir_path; const int captured_fd = creat(temp_file_path, _S_IREAD | _S_IWRITE); GTEST_CHECK_(captured_fd != -1) << "Unable to open temporary file " << temp_file_path; filename_ = temp_file_path; # else // There's no guarantee that a test has write access to the current // directory, so we create the temporary file in the /tmp directory // instead. We use /tmp on most systems, and /sdcard on Android. // That's because Android doesn't have /tmp. # if GTEST_OS_LINUX_ANDROID // Note: Android applications are expected to call the framework's // Context.getExternalStorageDirectory() method through JNI to get // the location of the world-writable SD Card directory. However, // this requires a Context handle, which cannot be retrieved // globally from native code. Doing so also precludes running the // code as part of a regular standalone executable, which doesn't // run in a Dalvik process (e.g. when running it through 'adb shell'). // // The location /sdcard is directly accessible from native code // and is the only location (unofficially) supported by the Android // team. It's generally a symlink to the real SD Card mount point // which can be /mnt/sdcard, /mnt/sdcard0, /system/media/sdcard, or // other OEM-customized locations. Never rely on these, and always // use /sdcard. char name_template[] = "/sdcard/gtest_captured_stream.XXXXXX"; # else char name_template[] = "/tmp/captured_stream.XXXXXX"; # endif // GTEST_OS_LINUX_ANDROID const int captured_fd = mkstemp(name_template); filename_ = name_template; # endif // GTEST_OS_WINDOWS fflush(NULL); dup2(captured_fd, fd_); close(captured_fd); } ~CapturedStream() { remove(filename_.c_str()); } std::string GetCapturedString() { if (uncaptured_fd_ != -1) { // Restores the original stream. fflush(NULL); dup2(uncaptured_fd_, fd_); close(uncaptured_fd_); uncaptured_fd_ = -1; } FILE* const file = posix::FOpen(filename_.c_str(), "r"); const std::string content = ReadEntireFile(file); posix::FClose(file); return content; } private: // Reads the entire content of a file as an std::string. static std::string ReadEntireFile(FILE* file); // Returns the size (in bytes) of a file. static size_t GetFileSize(FILE* file); const int fd_; // A stream to capture. int uncaptured_fd_; // Name of the temporary file holding the stderr output. ::std::string filename_; GTEST_DISALLOW_COPY_AND_ASSIGN_(CapturedStream); }; // Returns the size (in bytes) of a file. size_t CapturedStream::GetFileSize(FILE* file) { fseek(file, 0, SEEK_END); return static_cast(ftell(file)); } // Reads the entire content of a file as a string. std::string CapturedStream::ReadEntireFile(FILE* file) { const size_t file_size = GetFileSize(file); char* const buffer = new char[file_size]; size_t bytes_last_read = 0; // # of bytes read in the last fread() size_t bytes_read = 0; // # of bytes read so far fseek(file, 0, SEEK_SET); // Keeps reading the file until we cannot read further or the // pre-determined file size is reached. do { bytes_last_read = fread(buffer+bytes_read, 1, file_size-bytes_read, file); bytes_read += bytes_last_read; } while (bytes_last_read > 0 && bytes_read < file_size); const std::string content(buffer, bytes_read); delete[] buffer; return content; } # ifdef _MSC_VER # pragma warning(pop) # endif // _MSC_VER static CapturedStream* g_captured_stderr = NULL; static CapturedStream* g_captured_stdout = NULL; // Starts capturing an output stream (stdout/stderr). void CaptureStream(int fd, const char* stream_name, CapturedStream** stream) { if (*stream != NULL) { GTEST_LOG_(FATAL) << "Only one " << stream_name << " capturer can exist at a time."; } *stream = new CapturedStream(fd); } // Stops capturing the output stream and returns the captured string. std::string GetCapturedStream(CapturedStream** captured_stream) { const std::string content = (*captured_stream)->GetCapturedString(); delete *captured_stream; *captured_stream = NULL; return content; } // Starts capturing stdout. void CaptureStdout() { CaptureStream(kStdOutFileno, "stdout", &g_captured_stdout); } // Starts capturing stderr. void CaptureStderr() { CaptureStream(kStdErrFileno, "stderr", &g_captured_stderr); } // Stops capturing stdout and returns the captured string. std::string GetCapturedStdout() { return GetCapturedStream(&g_captured_stdout); } // Stops capturing stderr and returns the captured string. std::string GetCapturedStderr() { return GetCapturedStream(&g_captured_stderr); } #endif // GTEST_HAS_STREAM_REDIRECTION #if GTEST_HAS_DEATH_TEST // A copy of all command line arguments. Set by InitGoogleTest(). ::std::vector g_argvs; static const ::std::vector* g_injected_test_argvs = NULL; // Owned. void SetInjectableArgvs(const ::std::vector* argvs) { if (g_injected_test_argvs != argvs) delete g_injected_test_argvs; g_injected_test_argvs = argvs; } const ::std::vector& GetInjectableArgvs() { if (g_injected_test_argvs != NULL) { return *g_injected_test_argvs; } return g_argvs; } #endif // GTEST_HAS_DEATH_TEST #if GTEST_OS_WINDOWS_MOBILE namespace posix { void Abort() { DebugBreak(); TerminateProcess(GetCurrentProcess(), 1); } } // namespace posix #endif // GTEST_OS_WINDOWS_MOBILE // Returns the name of the environment variable corresponding to the // given flag. For example, FlagToEnvVar("foo") will return // "GTEST_FOO" in the open-source version. static std::string FlagToEnvVar(const char* flag) { const std::string full_flag = (Message() << GTEST_FLAG_PREFIX_ << flag).GetString(); Message env_var; for (size_t i = 0; i != full_flag.length(); i++) { env_var << ToUpper(full_flag.c_str()[i]); } return env_var.GetString(); } // Parses 'str' for a 32-bit signed integer. If successful, writes // the result to *value and returns true; otherwise leaves *value // unchanged and returns false. bool ParseInt32(const Message& src_text, const char* str, Int32* value) { // Parses the environment variable as a decimal integer. char* end = NULL; const long long_value = strtol(str, &end, 10); // NOLINT // Has strtol() consumed all characters in the string? if (*end != '\0') { // No - an invalid character was encountered. Message msg; msg << "WARNING: " << src_text << " is expected to be a 32-bit integer, but actually" << " has value \"" << str << "\".\n"; printf("%s", msg.GetString().c_str()); fflush(stdout); return false; } // Is the parsed value in the range of an Int32? const Int32 result = static_cast(long_value); if (long_value == LONG_MAX || long_value == LONG_MIN || // The parsed value overflows as a long. (strtol() returns // LONG_MAX or LONG_MIN when the input overflows.) result != long_value // The parsed value overflows as an Int32. ) { Message msg; msg << "WARNING: " << src_text << " is expected to be a 32-bit integer, but actually" << " has value " << str << ", which overflows.\n"; printf("%s", msg.GetString().c_str()); fflush(stdout); return false; } *value = result; return true; } // Reads and returns the Boolean environment variable corresponding to // the given flag; if it's not set, returns default_value. // // The value is considered true iff it's not "0". bool BoolFromGTestEnv(const char* flag, bool default_value) { const std::string env_var = FlagToEnvVar(flag); const char* const string_value = posix::GetEnv(env_var.c_str()); return string_value == NULL ? default_value : strcmp(string_value, "0") != 0; } // Reads and returns a 32-bit integer stored in the environment // variable corresponding to the given flag; if it isn't set or // doesn't represent a valid 32-bit integer, returns default_value. Int32 Int32FromGTestEnv(const char* flag, Int32 default_value) { const std::string env_var = FlagToEnvVar(flag); const char* const string_value = posix::GetEnv(env_var.c_str()); if (string_value == NULL) { // The environment variable is not set. return default_value; } Int32 result = default_value; if (!ParseInt32(Message() << "Environment variable " << env_var, string_value, &result)) { printf("The default value %s is used.\n", (Message() << default_value).GetString().c_str()); fflush(stdout); return default_value; } return result; } // Reads and returns the string environment variable corresponding to // the given flag; if it's not set, returns default_value. const char* StringFromGTestEnv(const char* flag, const char* default_value) { const std::string env_var = FlagToEnvVar(flag); const char* const value = posix::GetEnv(env_var.c_str()); return value == NULL ? default_value : value; } } // namespace internal } // namespace testing stimfit-0.14.11/src/test/gtest/src/gtest.cc0000644000175200017520000054751612277666257015450 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // // The Google C++ Testing Framework (Google Test) #include "gtest/gtest.h" #include "gtest/gtest-spi.h" #include #include #include #include #include #include #include #include #include #include #include #include // NOLINT #include #include #if GTEST_OS_LINUX // TODO(kenton@google.com): Use autoconf to detect availability of // gettimeofday(). # define GTEST_HAS_GETTIMEOFDAY_ 1 # include // NOLINT # include // NOLINT # include // NOLINT // Declares vsnprintf(). This header is not available on Windows. # include // NOLINT # include // NOLINT # include // NOLINT # include // NOLINT # include #elif GTEST_OS_SYMBIAN # define GTEST_HAS_GETTIMEOFDAY_ 1 # include // NOLINT #elif GTEST_OS_ZOS # define GTEST_HAS_GETTIMEOFDAY_ 1 # include // NOLINT // On z/OS we additionally need strings.h for strcasecmp. # include // NOLINT #elif GTEST_OS_WINDOWS_MOBILE // We are on Windows CE. # include // NOLINT #elif GTEST_OS_WINDOWS // We are on Windows proper. # include // NOLINT # include // NOLINT # include // NOLINT # include // NOLINT # if GTEST_OS_WINDOWS_MINGW // MinGW has gettimeofday() but not _ftime64(). // TODO(kenton@google.com): Use autoconf to detect availability of // gettimeofday(). // TODO(kenton@google.com): There are other ways to get the time on // Windows, like GetTickCount() or GetSystemTimeAsFileTime(). MinGW // supports these. consider using them instead. # define GTEST_HAS_GETTIMEOFDAY_ 1 # include // NOLINT # endif // GTEST_OS_WINDOWS_MINGW // cpplint thinks that the header is already included, so we want to // silence it. # include // NOLINT #else // Assume other platforms have gettimeofday(). // TODO(kenton@google.com): Use autoconf to detect availability of // gettimeofday(). # define GTEST_HAS_GETTIMEOFDAY_ 1 // cpplint thinks that the header is already included, so we want to // silence it. # include // NOLINT # include // NOLINT #endif // GTEST_OS_LINUX #if GTEST_HAS_EXCEPTIONS # include #endif #if GTEST_CAN_STREAM_RESULTS_ # include // NOLINT # include // NOLINT #endif // Indicates that this translation unit is part of Google Test's // implementation. It must come before gtest-internal-inl.h is // included, or there will be a compiler error. This trick is to // prevent a user from accidentally including gtest-internal-inl.h in // his code. #define GTEST_IMPLEMENTATION_ 1 #include "src/gtest-internal-inl.h" #undef GTEST_IMPLEMENTATION_ #if GTEST_OS_WINDOWS # define vsnprintf _vsnprintf #endif // GTEST_OS_WINDOWS namespace testing { using internal::CountIf; using internal::ForEach; using internal::GetElementOr; using internal::Shuffle; // Constants. // A test whose test case name or test name matches this filter is // disabled and not run. static const char kDisableTestFilter[] = "DISABLED_*:*/DISABLED_*"; // A test case whose name matches this filter is considered a death // test case and will be run before test cases whose name doesn't // match this filter. static const char kDeathTestCaseFilter[] = "*DeathTest:*DeathTest/*"; // A test filter that matches everything. static const char kUniversalFilter[] = "*"; // The default output file for XML output. static const char kDefaultOutputFile[] = "test_detail.xml"; // The environment variable name for the test shard index. static const char kTestShardIndex[] = "GTEST_SHARD_INDEX"; // The environment variable name for the total number of test shards. static const char kTestTotalShards[] = "GTEST_TOTAL_SHARDS"; // The environment variable name for the test shard status file. static const char kTestShardStatusFile[] = "GTEST_SHARD_STATUS_FILE"; namespace internal { // The text used in failure messages to indicate the start of the // stack trace. const char kStackTraceMarker[] = "\nStack trace:\n"; // g_help_flag is true iff the --help flag or an equivalent form is // specified on the command line. bool g_help_flag = false; } // namespace internal static const char* GetDefaultFilter() { return kUniversalFilter; } GTEST_DEFINE_bool_( also_run_disabled_tests, internal::BoolFromGTestEnv("also_run_disabled_tests", false), "Run disabled tests too, in addition to the tests normally being run."); GTEST_DEFINE_bool_( break_on_failure, internal::BoolFromGTestEnv("break_on_failure", false), "True iff a failed assertion should be a debugger break-point."); GTEST_DEFINE_bool_( catch_exceptions, internal::BoolFromGTestEnv("catch_exceptions", true), "True iff " GTEST_NAME_ " should catch exceptions and treat them as test failures."); GTEST_DEFINE_string_( color, internal::StringFromGTestEnv("color", "auto"), "Whether to use colors in the output. Valid values: yes, no, " "and auto. 'auto' means to use colors if the output is " "being sent to a terminal and the TERM environment variable " "is set to a terminal type that supports colors."); GTEST_DEFINE_string_( filter, internal::StringFromGTestEnv("filter", GetDefaultFilter()), "A colon-separated list of glob (not regex) patterns " "for filtering the tests to run, optionally followed by a " "'-' and a : separated list of negative patterns (tests to " "exclude). A test is run if it matches one of the positive " "patterns and does not match any of the negative patterns."); GTEST_DEFINE_bool_(list_tests, false, "List all tests without running them."); GTEST_DEFINE_string_( output, internal::StringFromGTestEnv("output", ""), "A format (currently must be \"xml\"), optionally followed " "by a colon and an output file name or directory. A directory " "is indicated by a trailing pathname separator. " "Examples: \"xml:filename.xml\", \"xml::directoryname/\". " "If a directory is specified, output files will be created " "within that directory, with file-names based on the test " "executable's name and, if necessary, made unique by adding " "digits."); GTEST_DEFINE_bool_( print_time, internal::BoolFromGTestEnv("print_time", true), "True iff " GTEST_NAME_ " should display elapsed time in text output."); GTEST_DEFINE_int32_( random_seed, internal::Int32FromGTestEnv("random_seed", 0), "Random number seed to use when shuffling test orders. Must be in range " "[1, 99999], or 0 to use a seed based on the current time."); GTEST_DEFINE_int32_( repeat, internal::Int32FromGTestEnv("repeat", 1), "How many times to repeat each test. Specify a negative number " "for repeating forever. Useful for shaking out flaky tests."); GTEST_DEFINE_bool_( show_internal_stack_frames, false, "True iff " GTEST_NAME_ " should include internal stack frames when " "printing test failure stack traces."); GTEST_DEFINE_bool_( shuffle, internal::BoolFromGTestEnv("shuffle", false), "True iff " GTEST_NAME_ " should randomize tests' order on every run."); GTEST_DEFINE_int32_( stack_trace_depth, internal::Int32FromGTestEnv("stack_trace_depth", kMaxStackTraceDepth), "The maximum number of stack frames to print when an " "assertion fails. The valid range is 0 through 100, inclusive."); GTEST_DEFINE_string_( stream_result_to, internal::StringFromGTestEnv("stream_result_to", ""), "This flag specifies the host name and the port number on which to stream " "test results. Example: \"localhost:555\". The flag is effective only on " "Linux."); GTEST_DEFINE_bool_( throw_on_failure, internal::BoolFromGTestEnv("throw_on_failure", false), "When this flag is specified, a failed assertion will throw an exception " "if exceptions are enabled or exit the program with a non-zero code " "otherwise."); namespace internal { // Generates a random number from [0, range), using a Linear // Congruential Generator (LCG). Crashes if 'range' is 0 or greater // than kMaxRange. UInt32 Random::Generate(UInt32 range) { // These constants are the same as are used in glibc's rand(3). state_ = (1103515245U*state_ + 12345U) % kMaxRange; GTEST_CHECK_(range > 0) << "Cannot generate a number in the range [0, 0)."; GTEST_CHECK_(range <= kMaxRange) << "Generation of a number in [0, " << range << ") was requested, " << "but this can only generate numbers in [0, " << kMaxRange << ")."; // Converting via modulus introduces a bit of downward bias, but // it's simple, and a linear congruential generator isn't too good // to begin with. return state_ % range; } // GTestIsInitialized() returns true iff the user has initialized // Google Test. Useful for catching the user mistake of not initializing // Google Test before calling RUN_ALL_TESTS(). // // A user must call testing::InitGoogleTest() to initialize Google // Test. g_init_gtest_count is set to the number of times // InitGoogleTest() has been called. We don't protect this variable // under a mutex as it is only accessed in the main thread. GTEST_API_ int g_init_gtest_count = 0; static bool GTestIsInitialized() { return g_init_gtest_count != 0; } // Iterates over a vector of TestCases, keeping a running sum of the // results of calling a given int-returning method on each. // Returns the sum. static int SumOverTestCaseList(const std::vector& case_list, int (TestCase::*method)() const) { int sum = 0; for (size_t i = 0; i < case_list.size(); i++) { sum += (case_list[i]->*method)(); } return sum; } // Returns true iff the test case passed. static bool TestCasePassed(const TestCase* test_case) { return test_case->should_run() && test_case->Passed(); } // Returns true iff the test case failed. static bool TestCaseFailed(const TestCase* test_case) { return test_case->should_run() && test_case->Failed(); } // Returns true iff test_case contains at least one test that should // run. static bool ShouldRunTestCase(const TestCase* test_case) { return test_case->should_run(); } // AssertHelper constructor. AssertHelper::AssertHelper(TestPartResult::Type type, const char* file, int line, const char* message) : data_(new AssertHelperData(type, file, line, message)) { } AssertHelper::~AssertHelper() { delete data_; } // Message assignment, for assertion streaming support. void AssertHelper::operator=(const Message& message) const { UnitTest::GetInstance()-> AddTestPartResult(data_->type, data_->file, data_->line, AppendUserMessage(data_->message, message), UnitTest::GetInstance()->impl() ->CurrentOsStackTraceExceptTop(1) // Skips the stack frame for this function itself. ); // NOLINT } // Mutex for linked pointers. GTEST_API_ GTEST_DEFINE_STATIC_MUTEX_(g_linked_ptr_mutex); // Application pathname gotten in InitGoogleTest. std::string g_executable_path; // Returns the current application's name, removing directory path if that // is present. FilePath GetCurrentExecutableName() { FilePath result; #if GTEST_OS_WINDOWS result.Set(FilePath(g_executable_path).RemoveExtension("exe")); #else result.Set(FilePath(g_executable_path)); #endif // GTEST_OS_WINDOWS return result.RemoveDirectoryName(); } // Functions for processing the gtest_output flag. // Returns the output format, or "" for normal printed output. std::string UnitTestOptions::GetOutputFormat() { const char* const gtest_output_flag = GTEST_FLAG(output).c_str(); if (gtest_output_flag == NULL) return std::string(""); const char* const colon = strchr(gtest_output_flag, ':'); return (colon == NULL) ? std::string(gtest_output_flag) : std::string(gtest_output_flag, colon - gtest_output_flag); } // Returns the name of the requested output file, or the default if none // was explicitly specified. std::string UnitTestOptions::GetAbsolutePathToOutputFile() { const char* const gtest_output_flag = GTEST_FLAG(output).c_str(); if (gtest_output_flag == NULL) return ""; const char* const colon = strchr(gtest_output_flag, ':'); if (colon == NULL) return internal::FilePath::ConcatPaths( internal::FilePath( UnitTest::GetInstance()->original_working_dir()), internal::FilePath(kDefaultOutputFile)).string(); internal::FilePath output_name(colon + 1); if (!output_name.IsAbsolutePath()) // TODO(wan@google.com): on Windows \some\path is not an absolute // path (as its meaning depends on the current drive), yet the // following logic for turning it into an absolute path is wrong. // Fix it. output_name = internal::FilePath::ConcatPaths( internal::FilePath(UnitTest::GetInstance()->original_working_dir()), internal::FilePath(colon + 1)); if (!output_name.IsDirectory()) return output_name.string(); internal::FilePath result(internal::FilePath::GenerateUniqueFileName( output_name, internal::GetCurrentExecutableName(), GetOutputFormat().c_str())); return result.string(); } // Returns true iff the wildcard pattern matches the string. The // first ':' or '\0' character in pattern marks the end of it. // // This recursive algorithm isn't very efficient, but is clear and // works well enough for matching test names, which are short. bool UnitTestOptions::PatternMatchesString(const char *pattern, const char *str) { switch (*pattern) { case '\0': case ':': // Either ':' or '\0' marks the end of the pattern. return *str == '\0'; case '?': // Matches any single character. return *str != '\0' && PatternMatchesString(pattern + 1, str + 1); case '*': // Matches any string (possibly empty) of characters. return (*str != '\0' && PatternMatchesString(pattern, str + 1)) || PatternMatchesString(pattern + 1, str); default: // Non-special character. Matches itself. return *pattern == *str && PatternMatchesString(pattern + 1, str + 1); } } bool UnitTestOptions::MatchesFilter( const std::string& name, const char* filter) { const char *cur_pattern = filter; for (;;) { if (PatternMatchesString(cur_pattern, name.c_str())) { return true; } // Finds the next pattern in the filter. cur_pattern = strchr(cur_pattern, ':'); // Returns if no more pattern can be found. if (cur_pattern == NULL) { return false; } // Skips the pattern separater (the ':' character). cur_pattern++; } } // Returns true iff the user-specified filter matches the test case // name and the test name. bool UnitTestOptions::FilterMatchesTest(const std::string &test_case_name, const std::string &test_name) { const std::string& full_name = test_case_name + "." + test_name.c_str(); // Split --gtest_filter at '-', if there is one, to separate into // positive filter and negative filter portions const char* const p = GTEST_FLAG(filter).c_str(); const char* const dash = strchr(p, '-'); std::string positive; std::string negative; if (dash == NULL) { positive = GTEST_FLAG(filter).c_str(); // Whole string is a positive filter negative = ""; } else { positive = std::string(p, dash); // Everything up to the dash negative = std::string(dash + 1); // Everything after the dash if (positive.empty()) { // Treat '-test1' as the same as '*-test1' positive = kUniversalFilter; } } // A filter is a colon-separated list of patterns. It matches a // test if any pattern in it matches the test. return (MatchesFilter(full_name, positive.c_str()) && !MatchesFilter(full_name, negative.c_str())); } #if GTEST_HAS_SEH // Returns EXCEPTION_EXECUTE_HANDLER if Google Test should handle the // given SEH exception, or EXCEPTION_CONTINUE_SEARCH otherwise. // This function is useful as an __except condition. int UnitTestOptions::GTestShouldProcessSEH(DWORD exception_code) { // Google Test should handle a SEH exception if: // 1. the user wants it to, AND // 2. this is not a breakpoint exception, AND // 3. this is not a C++ exception (VC++ implements them via SEH, // apparently). // // SEH exception code for C++ exceptions. // (see http://support.microsoft.com/kb/185294 for more information). const DWORD kCxxExceptionCode = 0xe06d7363; bool should_handle = true; if (!GTEST_FLAG(catch_exceptions)) should_handle = false; else if (exception_code == EXCEPTION_BREAKPOINT) should_handle = false; else if (exception_code == kCxxExceptionCode) should_handle = false; return should_handle ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH; } #endif // GTEST_HAS_SEH } // namespace internal // The c'tor sets this object as the test part result reporter used by // Google Test. The 'result' parameter specifies where to report the // results. Intercepts only failures from the current thread. ScopedFakeTestPartResultReporter::ScopedFakeTestPartResultReporter( TestPartResultArray* result) : intercept_mode_(INTERCEPT_ONLY_CURRENT_THREAD), result_(result) { Init(); } // The c'tor sets this object as the test part result reporter used by // Google Test. The 'result' parameter specifies where to report the // results. ScopedFakeTestPartResultReporter::ScopedFakeTestPartResultReporter( InterceptMode intercept_mode, TestPartResultArray* result) : intercept_mode_(intercept_mode), result_(result) { Init(); } void ScopedFakeTestPartResultReporter::Init() { internal::UnitTestImpl* const impl = internal::GetUnitTestImpl(); if (intercept_mode_ == INTERCEPT_ALL_THREADS) { old_reporter_ = impl->GetGlobalTestPartResultReporter(); impl->SetGlobalTestPartResultReporter(this); } else { old_reporter_ = impl->GetTestPartResultReporterForCurrentThread(); impl->SetTestPartResultReporterForCurrentThread(this); } } // The d'tor restores the test part result reporter used by Google Test // before. ScopedFakeTestPartResultReporter::~ScopedFakeTestPartResultReporter() { internal::UnitTestImpl* const impl = internal::GetUnitTestImpl(); if (intercept_mode_ == INTERCEPT_ALL_THREADS) { impl->SetGlobalTestPartResultReporter(old_reporter_); } else { impl->SetTestPartResultReporterForCurrentThread(old_reporter_); } } // Increments the test part result count and remembers the result. // This method is from the TestPartResultReporterInterface interface. void ScopedFakeTestPartResultReporter::ReportTestPartResult( const TestPartResult& result) { result_->Append(result); } namespace internal { // Returns the type ID of ::testing::Test. We should always call this // instead of GetTypeId< ::testing::Test>() to get the type ID of // testing::Test. This is to work around a suspected linker bug when // using Google Test as a framework on Mac OS X. The bug causes // GetTypeId< ::testing::Test>() to return different values depending // on whether the call is from the Google Test framework itself or // from user test code. GetTestTypeId() is guaranteed to always // return the same value, as it always calls GetTypeId<>() from the // gtest.cc, which is within the Google Test framework. TypeId GetTestTypeId() { return GetTypeId(); } // The value of GetTestTypeId() as seen from within the Google Test // library. This is solely for testing GetTestTypeId(). extern const TypeId kTestTypeIdInGoogleTest = GetTestTypeId(); // This predicate-formatter checks that 'results' contains a test part // failure of the given type and that the failure message contains the // given substring. AssertionResult HasOneFailure(const char* /* results_expr */, const char* /* type_expr */, const char* /* substr_expr */, const TestPartResultArray& results, TestPartResult::Type type, const string& substr) { const std::string expected(type == TestPartResult::kFatalFailure ? "1 fatal failure" : "1 non-fatal failure"); Message msg; if (results.size() != 1) { msg << "Expected: " << expected << "\n" << " Actual: " << results.size() << " failures"; for (int i = 0; i < results.size(); i++) { msg << "\n" << results.GetTestPartResult(i); } return AssertionFailure() << msg; } const TestPartResult& r = results.GetTestPartResult(0); if (r.type() != type) { return AssertionFailure() << "Expected: " << expected << "\n" << " Actual:\n" << r; } if (strstr(r.message(), substr.c_str()) == NULL) { return AssertionFailure() << "Expected: " << expected << " containing \"" << substr << "\"\n" << " Actual:\n" << r; } return AssertionSuccess(); } // The constructor of SingleFailureChecker remembers where to look up // test part results, what type of failure we expect, and what // substring the failure message should contain. SingleFailureChecker:: SingleFailureChecker( const TestPartResultArray* results, TestPartResult::Type type, const string& substr) : results_(results), type_(type), substr_(substr) {} // The destructor of SingleFailureChecker verifies that the given // TestPartResultArray contains exactly one failure that has the given // type and contains the given substring. If that's not the case, a // non-fatal failure will be generated. SingleFailureChecker::~SingleFailureChecker() { EXPECT_PRED_FORMAT3(HasOneFailure, *results_, type_, substr_); } DefaultGlobalTestPartResultReporter::DefaultGlobalTestPartResultReporter( UnitTestImpl* unit_test) : unit_test_(unit_test) {} void DefaultGlobalTestPartResultReporter::ReportTestPartResult( const TestPartResult& result) { unit_test_->current_test_result()->AddTestPartResult(result); unit_test_->listeners()->repeater()->OnTestPartResult(result); } DefaultPerThreadTestPartResultReporter::DefaultPerThreadTestPartResultReporter( UnitTestImpl* unit_test) : unit_test_(unit_test) {} void DefaultPerThreadTestPartResultReporter::ReportTestPartResult( const TestPartResult& result) { unit_test_->GetGlobalTestPartResultReporter()->ReportTestPartResult(result); } // Returns the global test part result reporter. TestPartResultReporterInterface* UnitTestImpl::GetGlobalTestPartResultReporter() { internal::MutexLock lock(&global_test_part_result_reporter_mutex_); return global_test_part_result_repoter_; } // Sets the global test part result reporter. void UnitTestImpl::SetGlobalTestPartResultReporter( TestPartResultReporterInterface* reporter) { internal::MutexLock lock(&global_test_part_result_reporter_mutex_); global_test_part_result_repoter_ = reporter; } // Returns the test part result reporter for the current thread. TestPartResultReporterInterface* UnitTestImpl::GetTestPartResultReporterForCurrentThread() { return per_thread_test_part_result_reporter_.get(); } // Sets the test part result reporter for the current thread. void UnitTestImpl::SetTestPartResultReporterForCurrentThread( TestPartResultReporterInterface* reporter) { per_thread_test_part_result_reporter_.set(reporter); } // Gets the number of successful test cases. int UnitTestImpl::successful_test_case_count() const { return CountIf(test_cases_, TestCasePassed); } // Gets the number of failed test cases. int UnitTestImpl::failed_test_case_count() const { return CountIf(test_cases_, TestCaseFailed); } // Gets the number of all test cases. int UnitTestImpl::total_test_case_count() const { return static_cast(test_cases_.size()); } // Gets the number of all test cases that contain at least one test // that should run. int UnitTestImpl::test_case_to_run_count() const { return CountIf(test_cases_, ShouldRunTestCase); } // Gets the number of successful tests. int UnitTestImpl::successful_test_count() const { return SumOverTestCaseList(test_cases_, &TestCase::successful_test_count); } // Gets the number of failed tests. int UnitTestImpl::failed_test_count() const { return SumOverTestCaseList(test_cases_, &TestCase::failed_test_count); } // Gets the number of disabled tests that will be reported in the XML report. int UnitTestImpl::reportable_disabled_test_count() const { return SumOverTestCaseList(test_cases_, &TestCase::reportable_disabled_test_count); } // Gets the number of disabled tests. int UnitTestImpl::disabled_test_count() const { return SumOverTestCaseList(test_cases_, &TestCase::disabled_test_count); } // Gets the number of tests to be printed in the XML report. int UnitTestImpl::reportable_test_count() const { return SumOverTestCaseList(test_cases_, &TestCase::reportable_test_count); } // Gets the number of all tests. int UnitTestImpl::total_test_count() const { return SumOverTestCaseList(test_cases_, &TestCase::total_test_count); } // Gets the number of tests that should run. int UnitTestImpl::test_to_run_count() const { return SumOverTestCaseList(test_cases_, &TestCase::test_to_run_count); } // Returns the current OS stack trace as an std::string. // // The maximum number of stack frames to be included is specified by // the gtest_stack_trace_depth flag. The skip_count parameter // specifies the number of top frames to be skipped, which doesn't // count against the number of frames to be included. // // For example, if Foo() calls Bar(), which in turn calls // CurrentOsStackTraceExceptTop(1), Foo() will be included in the // trace but Bar() and CurrentOsStackTraceExceptTop() won't. std::string UnitTestImpl::CurrentOsStackTraceExceptTop(int skip_count) { (void)skip_count; return ""; } // Returns the current time in milliseconds. TimeInMillis GetTimeInMillis() { #if GTEST_OS_WINDOWS_MOBILE || defined(__BORLANDC__) // Difference between 1970-01-01 and 1601-01-01 in milliseconds. // http://analogous.blogspot.com/2005/04/epoch.html const TimeInMillis kJavaEpochToWinFileTimeDelta = static_cast(116444736UL) * 100000UL; const DWORD kTenthMicrosInMilliSecond = 10000; SYSTEMTIME now_systime; FILETIME now_filetime; ULARGE_INTEGER now_int64; // TODO(kenton@google.com): Shouldn't this just use // GetSystemTimeAsFileTime()? GetSystemTime(&now_systime); if (SystemTimeToFileTime(&now_systime, &now_filetime)) { now_int64.LowPart = now_filetime.dwLowDateTime; now_int64.HighPart = now_filetime.dwHighDateTime; now_int64.QuadPart = (now_int64.QuadPart / kTenthMicrosInMilliSecond) - kJavaEpochToWinFileTimeDelta; return now_int64.QuadPart; } return 0; #elif GTEST_OS_WINDOWS && !GTEST_HAS_GETTIMEOFDAY_ __timeb64 now; # ifdef _MSC_VER // MSVC 8 deprecates _ftime64(), so we want to suppress warning 4996 // (deprecated function) there. // TODO(kenton@google.com): Use GetTickCount()? Or use // SystemTimeToFileTime() # pragma warning(push) // Saves the current warning state. # pragma warning(disable:4996) // Temporarily disables warning 4996. _ftime64(&now); # pragma warning(pop) // Restores the warning state. # else _ftime64(&now); # endif // _MSC_VER return static_cast(now.time) * 1000 + now.millitm; #elif GTEST_HAS_GETTIMEOFDAY_ struct timeval now; gettimeofday(&now, NULL); return static_cast(now.tv_sec) * 1000 + now.tv_usec / 1000; #else # error "Don't know how to get the current time on your system." #endif } // Utilities // class String. #if GTEST_OS_WINDOWS_MOBILE // Creates a UTF-16 wide string from the given ANSI string, allocating // memory using new. The caller is responsible for deleting the return // value using delete[]. Returns the wide string, or NULL if the // input is NULL. LPCWSTR String::AnsiToUtf16(const char* ansi) { if (!ansi) return NULL; const int length = strlen(ansi); const int unicode_length = MultiByteToWideChar(CP_ACP, 0, ansi, length, NULL, 0); WCHAR* unicode = new WCHAR[unicode_length + 1]; MultiByteToWideChar(CP_ACP, 0, ansi, length, unicode, unicode_length); unicode[unicode_length] = 0; return unicode; } // Creates an ANSI string from the given wide string, allocating // memory using new. The caller is responsible for deleting the return // value using delete[]. Returns the ANSI string, or NULL if the // input is NULL. const char* String::Utf16ToAnsi(LPCWSTR utf16_str) { if (!utf16_str) return NULL; const int ansi_length = WideCharToMultiByte(CP_ACP, 0, utf16_str, -1, NULL, 0, NULL, NULL); char* ansi = new char[ansi_length + 1]; WideCharToMultiByte(CP_ACP, 0, utf16_str, -1, ansi, ansi_length, NULL, NULL); ansi[ansi_length] = 0; return ansi; } #endif // GTEST_OS_WINDOWS_MOBILE // Compares two C strings. Returns true iff they have the same content. // // Unlike strcmp(), this function can handle NULL argument(s). A NULL // C string is considered different to any non-NULL C string, // including the empty string. bool String::CStringEquals(const char * lhs, const char * rhs) { if ( lhs == NULL ) return rhs == NULL; if ( rhs == NULL ) return false; return strcmp(lhs, rhs) == 0; } #if GTEST_HAS_STD_WSTRING || GTEST_HAS_GLOBAL_WSTRING // Converts an array of wide chars to a narrow string using the UTF-8 // encoding, and streams the result to the given Message object. static void StreamWideCharsToMessage(const wchar_t* wstr, size_t length, Message* msg) { for (size_t i = 0; i != length; ) { // NOLINT if (wstr[i] != L'\0') { *msg << WideStringToUtf8(wstr + i, static_cast(length - i)); while (i != length && wstr[i] != L'\0') i++; } else { *msg << '\0'; i++; } } } #endif // GTEST_HAS_STD_WSTRING || GTEST_HAS_GLOBAL_WSTRING } // namespace internal // Constructs an empty Message. // We allocate the stringstream separately because otherwise each use of // ASSERT/EXPECT in a procedure adds over 200 bytes to the procedure's // stack frame leading to huge stack frames in some cases; gcc does not reuse // the stack space. Message::Message() : ss_(new ::std::stringstream) { // By default, we want there to be enough precision when printing // a double to a Message. *ss_ << std::setprecision(std::numeric_limits::digits10 + 2); } // These two overloads allow streaming a wide C string to a Message // using the UTF-8 encoding. Message& Message::operator <<(const wchar_t* wide_c_str) { return *this << internal::String::ShowWideCString(wide_c_str); } Message& Message::operator <<(wchar_t* wide_c_str) { return *this << internal::String::ShowWideCString(wide_c_str); } #if GTEST_HAS_STD_WSTRING // Converts the given wide string to a narrow string using the UTF-8 // encoding, and streams the result to this Message object. Message& Message::operator <<(const ::std::wstring& wstr) { internal::StreamWideCharsToMessage(wstr.c_str(), wstr.length(), this); return *this; } #endif // GTEST_HAS_STD_WSTRING #if GTEST_HAS_GLOBAL_WSTRING // Converts the given wide string to a narrow string using the UTF-8 // encoding, and streams the result to this Message object. Message& Message::operator <<(const ::wstring& wstr) { internal::StreamWideCharsToMessage(wstr.c_str(), wstr.length(), this); return *this; } #endif // GTEST_HAS_GLOBAL_WSTRING // Gets the text streamed to this object so far as an std::string. // Each '\0' character in the buffer is replaced with "\\0". std::string Message::GetString() const { return internal::StringStreamToString(ss_.get()); } // AssertionResult constructors. // Used in EXPECT_TRUE/FALSE(assertion_result). AssertionResult::AssertionResult(const AssertionResult& other) : success_(other.success_), message_(other.message_.get() != NULL ? new ::std::string(*other.message_) : static_cast< ::std::string*>(NULL)) { } // Returns the assertion's negation. Used with EXPECT/ASSERT_FALSE. AssertionResult AssertionResult::operator!() const { AssertionResult negation(!success_); if (message_.get() != NULL) negation << *message_; return negation; } // Makes a successful assertion result. AssertionResult AssertionSuccess() { return AssertionResult(true); } // Makes a failed assertion result. AssertionResult AssertionFailure() { return AssertionResult(false); } // Makes a failed assertion result with the given failure message. // Deprecated; use AssertionFailure() << message. AssertionResult AssertionFailure(const Message& message) { return AssertionFailure() << message; } namespace internal { // Constructs and returns the message for an equality assertion // (e.g. ASSERT_EQ, EXPECT_STREQ, etc) failure. // // The first four parameters are the expressions used in the assertion // and their values, as strings. For example, for ASSERT_EQ(foo, bar) // where foo is 5 and bar is 6, we have: // // expected_expression: "foo" // actual_expression: "bar" // expected_value: "5" // actual_value: "6" // // The ignoring_case parameter is true iff the assertion is a // *_STRCASEEQ*. When it's true, the string " (ignoring case)" will // be inserted into the message. AssertionResult EqFailure(const char* expected_expression, const char* actual_expression, const std::string& expected_value, const std::string& actual_value, bool ignoring_case) { Message msg; msg << "Value of: " << actual_expression; if (actual_value != actual_expression) { msg << "\n Actual: " << actual_value; } msg << "\nExpected: " << expected_expression; if (ignoring_case) { msg << " (ignoring case)"; } if (expected_value != expected_expression) { msg << "\nWhich is: " << expected_value; } return AssertionFailure() << msg; } // Constructs a failure message for Boolean assertions such as EXPECT_TRUE. std::string GetBoolAssertionFailureMessage( const AssertionResult& assertion_result, const char* expression_text, const char* actual_predicate_value, const char* expected_predicate_value) { const char* actual_message = assertion_result.message(); Message msg; msg << "Value of: " << expression_text << "\n Actual: " << actual_predicate_value; if (actual_message[0] != '\0') msg << " (" << actual_message << ")"; msg << "\nExpected: " << expected_predicate_value; return msg.GetString(); } // Helper function for implementing ASSERT_NEAR. AssertionResult DoubleNearPredFormat(const char* expr1, const char* expr2, const char* abs_error_expr, double val1, double val2, double abs_error) { const double diff = fabs(val1 - val2); if (diff <= abs_error) return AssertionSuccess(); // TODO(wan): do not print the value of an expression if it's // already a literal. return AssertionFailure() << "The difference between " << expr1 << " and " << expr2 << " is " << diff << ", which exceeds " << abs_error_expr << ", where\n" << expr1 << " evaluates to " << val1 << ",\n" << expr2 << " evaluates to " << val2 << ", and\n" << abs_error_expr << " evaluates to " << abs_error << "."; } // Helper template for implementing FloatLE() and DoubleLE(). template AssertionResult FloatingPointLE(const char* expr1, const char* expr2, RawType val1, RawType val2) { // Returns success if val1 is less than val2, if (val1 < val2) { return AssertionSuccess(); } // or if val1 is almost equal to val2. const FloatingPoint lhs(val1), rhs(val2); if (lhs.AlmostEquals(rhs)) { return AssertionSuccess(); } // Note that the above two checks will both fail if either val1 or // val2 is NaN, as the IEEE floating-point standard requires that // any predicate involving a NaN must return false. ::std::stringstream val1_ss; val1_ss << std::setprecision(std::numeric_limits::digits10 + 2) << val1; ::std::stringstream val2_ss; val2_ss << std::setprecision(std::numeric_limits::digits10 + 2) << val2; return AssertionFailure() << "Expected: (" << expr1 << ") <= (" << expr2 << ")\n" << " Actual: " << StringStreamToString(&val1_ss) << " vs " << StringStreamToString(&val2_ss); } } // namespace internal // Asserts that val1 is less than, or almost equal to, val2. Fails // otherwise. In particular, it fails if either val1 or val2 is NaN. AssertionResult FloatLE(const char* expr1, const char* expr2, float val1, float val2) { return internal::FloatingPointLE(expr1, expr2, val1, val2); } // Asserts that val1 is less than, or almost equal to, val2. Fails // otherwise. In particular, it fails if either val1 or val2 is NaN. AssertionResult DoubleLE(const char* expr1, const char* expr2, double val1, double val2) { return internal::FloatingPointLE(expr1, expr2, val1, val2); } namespace internal { // The helper function for {ASSERT|EXPECT}_EQ with int or enum // arguments. AssertionResult CmpHelperEQ(const char* expected_expression, const char* actual_expression, BiggestInt expected, BiggestInt actual) { if (expected == actual) { return AssertionSuccess(); } return EqFailure(expected_expression, actual_expression, FormatForComparisonFailureMessage(expected, actual), FormatForComparisonFailureMessage(actual, expected), false); } // A macro for implementing the helper functions needed to implement // ASSERT_?? and EXPECT_?? with integer or enum arguments. It is here // just to avoid copy-and-paste of similar code. #define GTEST_IMPL_CMP_HELPER_(op_name, op)\ AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \ BiggestInt val1, BiggestInt val2) {\ if (val1 op val2) {\ return AssertionSuccess();\ } else {\ return AssertionFailure() \ << "Expected: (" << expr1 << ") " #op " (" << expr2\ << "), actual: " << FormatForComparisonFailureMessage(val1, val2)\ << " vs " << FormatForComparisonFailureMessage(val2, val1);\ }\ } // Implements the helper function for {ASSERT|EXPECT}_NE with int or // enum arguments. GTEST_IMPL_CMP_HELPER_(NE, !=) // Implements the helper function for {ASSERT|EXPECT}_LE with int or // enum arguments. GTEST_IMPL_CMP_HELPER_(LE, <=) // Implements the helper function for {ASSERT|EXPECT}_LT with int or // enum arguments. GTEST_IMPL_CMP_HELPER_(LT, < ) // Implements the helper function for {ASSERT|EXPECT}_GE with int or // enum arguments. GTEST_IMPL_CMP_HELPER_(GE, >=) // Implements the helper function for {ASSERT|EXPECT}_GT with int or // enum arguments. GTEST_IMPL_CMP_HELPER_(GT, > ) #undef GTEST_IMPL_CMP_HELPER_ // The helper function for {ASSERT|EXPECT}_STREQ. AssertionResult CmpHelperSTREQ(const char* expected_expression, const char* actual_expression, const char* expected, const char* actual) { if (String::CStringEquals(expected, actual)) { return AssertionSuccess(); } return EqFailure(expected_expression, actual_expression, PrintToString(expected), PrintToString(actual), false); } // The helper function for {ASSERT|EXPECT}_STRCASEEQ. AssertionResult CmpHelperSTRCASEEQ(const char* expected_expression, const char* actual_expression, const char* expected, const char* actual) { if (String::CaseInsensitiveCStringEquals(expected, actual)) { return AssertionSuccess(); } return EqFailure(expected_expression, actual_expression, PrintToString(expected), PrintToString(actual), true); } // The helper function for {ASSERT|EXPECT}_STRNE. AssertionResult CmpHelperSTRNE(const char* s1_expression, const char* s2_expression, const char* s1, const char* s2) { if (!String::CStringEquals(s1, s2)) { return AssertionSuccess(); } else { return AssertionFailure() << "Expected: (" << s1_expression << ") != (" << s2_expression << "), actual: \"" << s1 << "\" vs \"" << s2 << "\""; } } // The helper function for {ASSERT|EXPECT}_STRCASENE. AssertionResult CmpHelperSTRCASENE(const char* s1_expression, const char* s2_expression, const char* s1, const char* s2) { if (!String::CaseInsensitiveCStringEquals(s1, s2)) { return AssertionSuccess(); } else { return AssertionFailure() << "Expected: (" << s1_expression << ") != (" << s2_expression << ") (ignoring case), actual: \"" << s1 << "\" vs \"" << s2 << "\""; } } } // namespace internal namespace { // Helper functions for implementing IsSubString() and IsNotSubstring(). // This group of overloaded functions return true iff needle is a // substring of haystack. NULL is considered a substring of itself // only. bool IsSubstringPred(const char* needle, const char* haystack) { if (needle == NULL || haystack == NULL) return needle == haystack; return strstr(haystack, needle) != NULL; } bool IsSubstringPred(const wchar_t* needle, const wchar_t* haystack) { if (needle == NULL || haystack == NULL) return needle == haystack; return wcsstr(haystack, needle) != NULL; } // StringType here can be either ::std::string or ::std::wstring. template bool IsSubstringPred(const StringType& needle, const StringType& haystack) { return haystack.find(needle) != StringType::npos; } // This function implements either IsSubstring() or IsNotSubstring(), // depending on the value of the expected_to_be_substring parameter. // StringType here can be const char*, const wchar_t*, ::std::string, // or ::std::wstring. template AssertionResult IsSubstringImpl( bool expected_to_be_substring, const char* needle_expr, const char* haystack_expr, const StringType& needle, const StringType& haystack) { if (IsSubstringPred(needle, haystack) == expected_to_be_substring) return AssertionSuccess(); const bool is_wide_string = sizeof(needle[0]) > 1; const char* const begin_string_quote = is_wide_string ? "L\"" : "\""; return AssertionFailure() << "Value of: " << needle_expr << "\n" << " Actual: " << begin_string_quote << needle << "\"\n" << "Expected: " << (expected_to_be_substring ? "" : "not ") << "a substring of " << haystack_expr << "\n" << "Which is: " << begin_string_quote << haystack << "\""; } } // namespace // IsSubstring() and IsNotSubstring() check whether needle is a // substring of haystack (NULL is considered a substring of itself // only), and return an appropriate error message when they fail. AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const char* needle, const char* haystack) { return IsSubstringImpl(true, needle_expr, haystack_expr, needle, haystack); } AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const wchar_t* needle, const wchar_t* haystack) { return IsSubstringImpl(true, needle_expr, haystack_expr, needle, haystack); } AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const char* needle, const char* haystack) { return IsSubstringImpl(false, needle_expr, haystack_expr, needle, haystack); } AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const wchar_t* needle, const wchar_t* haystack) { return IsSubstringImpl(false, needle_expr, haystack_expr, needle, haystack); } AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const ::std::string& needle, const ::std::string& haystack) { return IsSubstringImpl(true, needle_expr, haystack_expr, needle, haystack); } AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const ::std::string& needle, const ::std::string& haystack) { return IsSubstringImpl(false, needle_expr, haystack_expr, needle, haystack); } #if GTEST_HAS_STD_WSTRING AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const ::std::wstring& needle, const ::std::wstring& haystack) { return IsSubstringImpl(true, needle_expr, haystack_expr, needle, haystack); } AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const ::std::wstring& needle, const ::std::wstring& haystack) { return IsSubstringImpl(false, needle_expr, haystack_expr, needle, haystack); } #endif // GTEST_HAS_STD_WSTRING namespace internal { #if GTEST_OS_WINDOWS namespace { // Helper function for IsHRESULT{SuccessFailure} predicates AssertionResult HRESULTFailureHelper(const char* expr, const char* expected, long hr) { // NOLINT # if GTEST_OS_WINDOWS_MOBILE // Windows CE doesn't support FormatMessage. const char error_text[] = ""; # else // Looks up the human-readable system message for the HRESULT code // and since we're not passing any params to FormatMessage, we don't // want inserts expanded. const DWORD kFlags = FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS; const DWORD kBufSize = 4096; // Gets the system's human readable message string for this HRESULT. char error_text[kBufSize] = { '\0' }; DWORD message_length = ::FormatMessageA(kFlags, 0, // no source, we're asking system hr, // the error 0, // no line width restrictions error_text, // output buffer kBufSize, // buf size NULL); // no arguments for inserts // Trims tailing white space (FormatMessage leaves a trailing CR-LF) for (; message_length && IsSpace(error_text[message_length - 1]); --message_length) { error_text[message_length - 1] = '\0'; } # endif // GTEST_OS_WINDOWS_MOBILE const std::string error_hex("0x" + String::FormatHexInt(hr)); return ::testing::AssertionFailure() << "Expected: " << expr << " " << expected << ".\n" << " Actual: " << error_hex << " " << error_text << "\n"; } } // namespace AssertionResult IsHRESULTSuccess(const char* expr, long hr) { // NOLINT if (SUCCEEDED(hr)) { return AssertionSuccess(); } return HRESULTFailureHelper(expr, "succeeds", hr); } AssertionResult IsHRESULTFailure(const char* expr, long hr) { // NOLINT if (FAILED(hr)) { return AssertionSuccess(); } return HRESULTFailureHelper(expr, "fails", hr); } #endif // GTEST_OS_WINDOWS // Utility functions for encoding Unicode text (wide strings) in // UTF-8. // A Unicode code-point can have upto 21 bits, and is encoded in UTF-8 // like this: // // Code-point length Encoding // 0 - 7 bits 0xxxxxxx // 8 - 11 bits 110xxxxx 10xxxxxx // 12 - 16 bits 1110xxxx 10xxxxxx 10xxxxxx // 17 - 21 bits 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx // The maximum code-point a one-byte UTF-8 sequence can represent. const UInt32 kMaxCodePoint1 = (static_cast(1) << 7) - 1; // The maximum code-point a two-byte UTF-8 sequence can represent. const UInt32 kMaxCodePoint2 = (static_cast(1) << (5 + 6)) - 1; // The maximum code-point a three-byte UTF-8 sequence can represent. const UInt32 kMaxCodePoint3 = (static_cast(1) << (4 + 2*6)) - 1; // The maximum code-point a four-byte UTF-8 sequence can represent. const UInt32 kMaxCodePoint4 = (static_cast(1) << (3 + 3*6)) - 1; // Chops off the n lowest bits from a bit pattern. Returns the n // lowest bits. As a side effect, the original bit pattern will be // shifted to the right by n bits. inline UInt32 ChopLowBits(UInt32* bits, int n) { const UInt32 low_bits = *bits & ((static_cast(1) << n) - 1); *bits >>= n; return low_bits; } // Converts a Unicode code point to a narrow string in UTF-8 encoding. // code_point parameter is of type UInt32 because wchar_t may not be // wide enough to contain a code point. // If the code_point is not a valid Unicode code point // (i.e. outside of Unicode range U+0 to U+10FFFF) it will be converted // to "(Invalid Unicode 0xXXXXXXXX)". std::string CodePointToUtf8(UInt32 code_point) { if (code_point > kMaxCodePoint4) { return "(Invalid Unicode 0x" + String::FormatHexInt(code_point) + ")"; } char str[5]; // Big enough for the largest valid code point. if (code_point <= kMaxCodePoint1) { str[1] = '\0'; str[0] = static_cast(code_point); // 0xxxxxxx } else if (code_point <= kMaxCodePoint2) { str[2] = '\0'; str[1] = static_cast(0x80 | ChopLowBits(&code_point, 6)); // 10xxxxxx str[0] = static_cast(0xC0 | code_point); // 110xxxxx } else if (code_point <= kMaxCodePoint3) { str[3] = '\0'; str[2] = static_cast(0x80 | ChopLowBits(&code_point, 6)); // 10xxxxxx str[1] = static_cast(0x80 | ChopLowBits(&code_point, 6)); // 10xxxxxx str[0] = static_cast(0xE0 | code_point); // 1110xxxx } else { // code_point <= kMaxCodePoint4 str[4] = '\0'; str[3] = static_cast(0x80 | ChopLowBits(&code_point, 6)); // 10xxxxxx str[2] = static_cast(0x80 | ChopLowBits(&code_point, 6)); // 10xxxxxx str[1] = static_cast(0x80 | ChopLowBits(&code_point, 6)); // 10xxxxxx str[0] = static_cast(0xF0 | code_point); // 11110xxx } return str; } // The following two functions only make sense if the the system // uses UTF-16 for wide string encoding. All supported systems // with 16 bit wchar_t (Windows, Cygwin, Symbian OS) do use UTF-16. // Determines if the arguments constitute UTF-16 surrogate pair // and thus should be combined into a single Unicode code point // using CreateCodePointFromUtf16SurrogatePair. inline bool IsUtf16SurrogatePair(wchar_t first, wchar_t second) { return sizeof(wchar_t) == 2 && (first & 0xFC00) == 0xD800 && (second & 0xFC00) == 0xDC00; } // Creates a Unicode code point from UTF16 surrogate pair. inline UInt32 CreateCodePointFromUtf16SurrogatePair(wchar_t first, wchar_t second) { const UInt32 mask = (1 << 10) - 1; return (sizeof(wchar_t) == 2) ? (((first & mask) << 10) | (second & mask)) + 0x10000 : // This function should not be called when the condition is // false, but we provide a sensible default in case it is. static_cast(first); } // Converts a wide string to a narrow string in UTF-8 encoding. // The wide string is assumed to have the following encoding: // UTF-16 if sizeof(wchar_t) == 2 (on Windows, Cygwin, Symbian OS) // UTF-32 if sizeof(wchar_t) == 4 (on Linux) // Parameter str points to a null-terminated wide string. // Parameter num_chars may additionally limit the number // of wchar_t characters processed. -1 is used when the entire string // should be processed. // If the string contains code points that are not valid Unicode code points // (i.e. outside of Unicode range U+0 to U+10FFFF) they will be output // as '(Invalid Unicode 0xXXXXXXXX)'. If the string is in UTF16 encoding // and contains invalid UTF-16 surrogate pairs, values in those pairs // will be encoded as individual Unicode characters from Basic Normal Plane. std::string WideStringToUtf8(const wchar_t* str, int num_chars) { if (num_chars == -1) num_chars = static_cast(wcslen(str)); ::std::stringstream stream; for (int i = 0; i < num_chars; ++i) { UInt32 unicode_code_point; if (str[i] == L'\0') { break; } else if (i + 1 < num_chars && IsUtf16SurrogatePair(str[i], str[i + 1])) { unicode_code_point = CreateCodePointFromUtf16SurrogatePair(str[i], str[i + 1]); i++; } else { unicode_code_point = static_cast(str[i]); } stream << CodePointToUtf8(unicode_code_point); } return StringStreamToString(&stream); } // Converts a wide C string to an std::string using the UTF-8 encoding. // NULL will be converted to "(null)". std::string String::ShowWideCString(const wchar_t * wide_c_str) { if (wide_c_str == NULL) return "(null)"; return internal::WideStringToUtf8(wide_c_str, -1); } // Compares two wide C strings. Returns true iff they have the same // content. // // Unlike wcscmp(), this function can handle NULL argument(s). A NULL // C string is considered different to any non-NULL C string, // including the empty string. bool String::WideCStringEquals(const wchar_t * lhs, const wchar_t * rhs) { if (lhs == NULL) return rhs == NULL; if (rhs == NULL) return false; return wcscmp(lhs, rhs) == 0; } // Helper function for *_STREQ on wide strings. AssertionResult CmpHelperSTREQ(const char* expected_expression, const char* actual_expression, const wchar_t* expected, const wchar_t* actual) { if (String::WideCStringEquals(expected, actual)) { return AssertionSuccess(); } return EqFailure(expected_expression, actual_expression, PrintToString(expected), PrintToString(actual), false); } // Helper function for *_STRNE on wide strings. AssertionResult CmpHelperSTRNE(const char* s1_expression, const char* s2_expression, const wchar_t* s1, const wchar_t* s2) { if (!String::WideCStringEquals(s1, s2)) { return AssertionSuccess(); } return AssertionFailure() << "Expected: (" << s1_expression << ") != (" << s2_expression << "), actual: " << PrintToString(s1) << " vs " << PrintToString(s2); } // Compares two C strings, ignoring case. Returns true iff they have // the same content. // // Unlike strcasecmp(), this function can handle NULL argument(s). A // NULL C string is considered different to any non-NULL C string, // including the empty string. bool String::CaseInsensitiveCStringEquals(const char * lhs, const char * rhs) { if (lhs == NULL) return rhs == NULL; if (rhs == NULL) return false; return posix::StrCaseCmp(lhs, rhs) == 0; } // Compares two wide C strings, ignoring case. Returns true iff they // have the same content. // // Unlike wcscasecmp(), this function can handle NULL argument(s). // A NULL C string is considered different to any non-NULL wide C string, // including the empty string. // NB: The implementations on different platforms slightly differ. // On windows, this method uses _wcsicmp which compares according to LC_CTYPE // environment variable. On GNU platform this method uses wcscasecmp // which compares according to LC_CTYPE category of the current locale. // On MacOS X, it uses towlower, which also uses LC_CTYPE category of the // current locale. bool String::CaseInsensitiveWideCStringEquals(const wchar_t* lhs, const wchar_t* rhs) { if (lhs == NULL) return rhs == NULL; if (rhs == NULL) return false; #if GTEST_OS_WINDOWS return _wcsicmp(lhs, rhs) == 0; #elif GTEST_OS_LINUX && !GTEST_OS_LINUX_ANDROID return wcscasecmp(lhs, rhs) == 0; #else // Android, Mac OS X and Cygwin don't define wcscasecmp. // Other unknown OSes may not define it either. wint_t left, right; do { left = towlower(*lhs++); right = towlower(*rhs++); } while (left && left == right); return left == right; #endif // OS selector } // Returns true iff str ends with the given suffix, ignoring case. // Any string is considered to end with an empty suffix. bool String::EndsWithCaseInsensitive( const std::string& str, const std::string& suffix) { const size_t str_len = str.length(); const size_t suffix_len = suffix.length(); return (str_len >= suffix_len) && CaseInsensitiveCStringEquals(str.c_str() + str_len - suffix_len, suffix.c_str()); } // Formats an int value as "%02d". std::string String::FormatIntWidth2(int value) { std::stringstream ss; ss << std::setfill('0') << std::setw(2) << value; return ss.str(); } // Formats an int value as "%X". std::string String::FormatHexInt(int value) { std::stringstream ss; ss << std::hex << std::uppercase << value; return ss.str(); } // Formats a byte as "%02X". std::string String::FormatByte(unsigned char value) { std::stringstream ss; ss << std::setfill('0') << std::setw(2) << std::hex << std::uppercase << static_cast(value); return ss.str(); } // Converts the buffer in a stringstream to an std::string, converting NUL // bytes to "\\0" along the way. std::string StringStreamToString(::std::stringstream* ss) { const ::std::string& str = ss->str(); const char* const start = str.c_str(); const char* const end = start + str.length(); std::string result; result.reserve(2 * (end - start)); for (const char* ch = start; ch != end; ++ch) { if (*ch == '\0') { result += "\\0"; // Replaces NUL with "\\0"; } else { result += *ch; } } return result; } // Appends the user-supplied message to the Google-Test-generated message. std::string AppendUserMessage(const std::string& gtest_msg, const Message& user_msg) { // Appends the user message if it's non-empty. const std::string user_msg_string = user_msg.GetString(); if (user_msg_string.empty()) { return gtest_msg; } return gtest_msg + "\n" + user_msg_string; } } // namespace internal // class TestResult // Creates an empty TestResult. TestResult::TestResult() : death_test_count_(0), elapsed_time_(0) { } // D'tor. TestResult::~TestResult() { } // Returns the i-th test part result among all the results. i can // range from 0 to total_part_count() - 1. If i is not in that range, // aborts the program. const TestPartResult& TestResult::GetTestPartResult(int i) const { if (i < 0 || i >= total_part_count()) internal::posix::Abort(); return test_part_results_.at(i); } // Returns the i-th test property. i can range from 0 to // test_property_count() - 1. If i is not in that range, aborts the // program. const TestProperty& TestResult::GetTestProperty(int i) const { if (i < 0 || i >= test_property_count()) internal::posix::Abort(); return test_properties_.at(i); } // Clears the test part results. void TestResult::ClearTestPartResults() { test_part_results_.clear(); } // Adds a test part result to the list. void TestResult::AddTestPartResult(const TestPartResult& test_part_result) { test_part_results_.push_back(test_part_result); } // Adds a test property to the list. If a property with the same key as the // supplied property is already represented, the value of this test_property // replaces the old value for that key. void TestResult::RecordProperty(const std::string& xml_element, const TestProperty& test_property) { if (!ValidateTestProperty(xml_element, test_property)) { return; } internal::MutexLock lock(&test_properites_mutex_); const std::vector::iterator property_with_matching_key = std::find_if(test_properties_.begin(), test_properties_.end(), internal::TestPropertyKeyIs(test_property.key())); if (property_with_matching_key == test_properties_.end()) { test_properties_.push_back(test_property); return; } property_with_matching_key->SetValue(test_property.value()); } // The list of reserved attributes used in the element of XML // output. static const char* const kReservedTestSuitesAttributes[] = { "disabled", "errors", "failures", "name", "random_seed", "tests", "time", "timestamp" }; // The list of reserved attributes used in the element of XML // output. static const char* const kReservedTestSuiteAttributes[] = { "disabled", "errors", "failures", "name", "tests", "time" }; // The list of reserved attributes used in the element of XML output. static const char* const kReservedTestCaseAttributes[] = { "classname", "name", "status", "time", "type_param", "value_param" }; template std::vector ArrayAsVector(const char* const (&array)[kSize]) { return std::vector(array, array + kSize); } static std::vector GetReservedAttributesForElement( const std::string& xml_element) { if (xml_element == "testsuites") { return ArrayAsVector(kReservedTestSuitesAttributes); } else if (xml_element == "testsuite") { return ArrayAsVector(kReservedTestSuiteAttributes); } else if (xml_element == "testcase") { return ArrayAsVector(kReservedTestCaseAttributes); } else { GTEST_CHECK_(false) << "Unrecognized xml_element provided: " << xml_element; } // This code is unreachable but some compilers may not realizes that. return std::vector(); } static std::string FormatWordList(const std::vector& words) { Message word_list; for (size_t i = 0; i < words.size(); ++i) { if (i > 0 && words.size() > 2) { word_list << ", "; } if (i == words.size() - 1) { word_list << "and "; } word_list << "'" << words[i] << "'"; } return word_list.GetString(); } bool ValidateTestPropertyName(const std::string& property_name, const std::vector& reserved_names) { if (std::find(reserved_names.begin(), reserved_names.end(), property_name) != reserved_names.end()) { ADD_FAILURE() << "Reserved key used in RecordProperty(): " << property_name << " (" << FormatWordList(reserved_names) << " are reserved by " << GTEST_NAME_ << ")"; return false; } return true; } // Adds a failure if the key is a reserved attribute of the element named // xml_element. Returns true if the property is valid. bool TestResult::ValidateTestProperty(const std::string& xml_element, const TestProperty& test_property) { return ValidateTestPropertyName(test_property.key(), GetReservedAttributesForElement(xml_element)); } // Clears the object. void TestResult::Clear() { test_part_results_.clear(); test_properties_.clear(); death_test_count_ = 0; elapsed_time_ = 0; } // Returns true iff the test failed. bool TestResult::Failed() const { for (int i = 0; i < total_part_count(); ++i) { if (GetTestPartResult(i).failed()) return true; } return false; } // Returns true iff the test part fatally failed. static bool TestPartFatallyFailed(const TestPartResult& result) { return result.fatally_failed(); } // Returns true iff the test fatally failed. bool TestResult::HasFatalFailure() const { return CountIf(test_part_results_, TestPartFatallyFailed) > 0; } // Returns true iff the test part non-fatally failed. static bool TestPartNonfatallyFailed(const TestPartResult& result) { return result.nonfatally_failed(); } // Returns true iff the test has a non-fatal failure. bool TestResult::HasNonfatalFailure() const { return CountIf(test_part_results_, TestPartNonfatallyFailed) > 0; } // Gets the number of all test parts. This is the sum of the number // of successful test parts and the number of failed test parts. int TestResult::total_part_count() const { return static_cast(test_part_results_.size()); } // Returns the number of the test properties. int TestResult::test_property_count() const { return static_cast(test_properties_.size()); } // class Test // Creates a Test object. // The c'tor saves the values of all Google Test flags. Test::Test() : gtest_flag_saver_(new internal::GTestFlagSaver) { } // The d'tor restores the values of all Google Test flags. Test::~Test() { delete gtest_flag_saver_; } // Sets up the test fixture. // // A sub-class may override this. void Test::SetUp() { } // Tears down the test fixture. // // A sub-class may override this. void Test::TearDown() { } // Allows user supplied key value pairs to be recorded for later output. void Test::RecordProperty(const std::string& key, const std::string& value) { UnitTest::GetInstance()->RecordProperty(key, value); } // Allows user supplied key value pairs to be recorded for later output. void Test::RecordProperty(const std::string& key, int value) { Message value_message; value_message << value; RecordProperty(key, value_message.GetString().c_str()); } namespace internal { void ReportFailureInUnknownLocation(TestPartResult::Type result_type, const std::string& message) { // This function is a friend of UnitTest and as such has access to // AddTestPartResult. UnitTest::GetInstance()->AddTestPartResult( result_type, NULL, // No info about the source file where the exception occurred. -1, // We have no info on which line caused the exception. message, ""); // No stack trace, either. } } // namespace internal // Google Test requires all tests in the same test case to use the same test // fixture class. This function checks if the current test has the // same fixture class as the first test in the current test case. If // yes, it returns true; otherwise it generates a Google Test failure and // returns false. bool Test::HasSameFixtureClass() { internal::UnitTestImpl* const impl = internal::GetUnitTestImpl(); const TestCase* const test_case = impl->current_test_case(); // Info about the first test in the current test case. const TestInfo* const first_test_info = test_case->test_info_list()[0]; const internal::TypeId first_fixture_id = first_test_info->fixture_class_id_; const char* const first_test_name = first_test_info->name(); // Info about the current test. const TestInfo* const this_test_info = impl->current_test_info(); const internal::TypeId this_fixture_id = this_test_info->fixture_class_id_; const char* const this_test_name = this_test_info->name(); if (this_fixture_id != first_fixture_id) { // Is the first test defined using TEST? const bool first_is_TEST = first_fixture_id == internal::GetTestTypeId(); // Is this test defined using TEST? const bool this_is_TEST = this_fixture_id == internal::GetTestTypeId(); if (first_is_TEST || this_is_TEST) { // The user mixed TEST and TEST_F in this test case - we'll tell // him/her how to fix it. // Gets the name of the TEST and the name of the TEST_F. Note // that first_is_TEST and this_is_TEST cannot both be true, as // the fixture IDs are different for the two tests. const char* const TEST_name = first_is_TEST ? first_test_name : this_test_name; const char* const TEST_F_name = first_is_TEST ? this_test_name : first_test_name; ADD_FAILURE() << "All tests in the same test case must use the same test fixture\n" << "class, so mixing TEST_F and TEST in the same test case is\n" << "illegal. In test case " << this_test_info->test_case_name() << ",\n" << "test " << TEST_F_name << " is defined using TEST_F but\n" << "test " << TEST_name << " is defined using TEST. You probably\n" << "want to change the TEST to TEST_F or move it to another test\n" << "case."; } else { // The user defined two fixture classes with the same name in // two namespaces - we'll tell him/her how to fix it. ADD_FAILURE() << "All tests in the same test case must use the same test fixture\n" << "class. However, in test case " << this_test_info->test_case_name() << ",\n" << "you defined test " << first_test_name << " and test " << this_test_name << "\n" << "using two different test fixture classes. This can happen if\n" << "the two classes are from different namespaces or translation\n" << "units and have the same name. You should probably rename one\n" << "of the classes to put the tests into different test cases."; } return false; } return true; } #if GTEST_HAS_SEH // Adds an "exception thrown" fatal failure to the current test. This // function returns its result via an output parameter pointer because VC++ // prohibits creation of objects with destructors on stack in functions // using __try (see error C2712). static std::string* FormatSehExceptionMessage(DWORD exception_code, const char* location) { Message message; message << "SEH exception with code 0x" << std::setbase(16) << exception_code << std::setbase(10) << " thrown in " << location << "."; return new std::string(message.GetString()); } #endif // GTEST_HAS_SEH namespace internal { #if GTEST_HAS_EXCEPTIONS // Adds an "exception thrown" fatal failure to the current test. static std::string FormatCxxExceptionMessage(const char* description, const char* location) { Message message; if (description != NULL) { message << "C++ exception with description \"" << description << "\""; } else { message << "Unknown C++ exception"; } message << " thrown in " << location << "."; return message.GetString(); } static std::string PrintTestPartResultToString( const TestPartResult& test_part_result); GoogleTestFailureException::GoogleTestFailureException( const TestPartResult& failure) : ::std::runtime_error(PrintTestPartResultToString(failure).c_str()) {} #endif // GTEST_HAS_EXCEPTIONS // We put these helper functions in the internal namespace as IBM's xlC // compiler rejects the code if they were declared static. // Runs the given method and handles SEH exceptions it throws, when // SEH is supported; returns the 0-value for type Result in case of an // SEH exception. (Microsoft compilers cannot handle SEH and C++ // exceptions in the same function. Therefore, we provide a separate // wrapper function for handling SEH exceptions.) template Result HandleSehExceptionsInMethodIfSupported( T* object, Result (T::*method)(), const char* location) { #if GTEST_HAS_SEH __try { return (object->*method)(); } __except (internal::UnitTestOptions::GTestShouldProcessSEH( // NOLINT GetExceptionCode())) { // We create the exception message on the heap because VC++ prohibits // creation of objects with destructors on stack in functions using __try // (see error C2712). std::string* exception_message = FormatSehExceptionMessage( GetExceptionCode(), location); internal::ReportFailureInUnknownLocation(TestPartResult::kFatalFailure, *exception_message); delete exception_message; return static_cast(0); } #else (void)location; return (object->*method)(); #endif // GTEST_HAS_SEH } // Runs the given method and catches and reports C++ and/or SEH-style // exceptions, if they are supported; returns the 0-value for type // Result in case of an SEH exception. template Result HandleExceptionsInMethodIfSupported( T* object, Result (T::*method)(), const char* location) { // NOTE: The user code can affect the way in which Google Test handles // exceptions by setting GTEST_FLAG(catch_exceptions), but only before // RUN_ALL_TESTS() starts. It is technically possible to check the flag // after the exception is caught and either report or re-throw the // exception based on the flag's value: // // try { // // Perform the test method. // } catch (...) { // if (GTEST_FLAG(catch_exceptions)) // // Report the exception as failure. // else // throw; // Re-throws the original exception. // } // // However, the purpose of this flag is to allow the program to drop into // the debugger when the exception is thrown. On most platforms, once the // control enters the catch block, the exception origin information is // lost and the debugger will stop the program at the point of the // re-throw in this function -- instead of at the point of the original // throw statement in the code under test. For this reason, we perform // the check early, sacrificing the ability to affect Google Test's // exception handling in the method where the exception is thrown. if (internal::GetUnitTestImpl()->catch_exceptions()) { #if GTEST_HAS_EXCEPTIONS try { return HandleSehExceptionsInMethodIfSupported(object, method, location); } catch (const internal::GoogleTestFailureException&) { // NOLINT // This exception type can only be thrown by a failed Google // Test assertion with the intention of letting another testing // framework catch it. Therefore we just re-throw it. throw; } catch (const std::exception& e) { // NOLINT internal::ReportFailureInUnknownLocation( TestPartResult::kFatalFailure, FormatCxxExceptionMessage(e.what(), location)); } catch (...) { // NOLINT internal::ReportFailureInUnknownLocation( TestPartResult::kFatalFailure, FormatCxxExceptionMessage(NULL, location)); } return static_cast(0); #else return HandleSehExceptionsInMethodIfSupported(object, method, location); #endif // GTEST_HAS_EXCEPTIONS } else { return (object->*method)(); } } } // namespace internal // Runs the test and updates the test result. void Test::Run() { if (!HasSameFixtureClass()) return; internal::UnitTestImpl* const impl = internal::GetUnitTestImpl(); impl->os_stack_trace_getter()->UponLeavingGTest(); internal::HandleExceptionsInMethodIfSupported(this, &Test::SetUp, "SetUp()"); // We will run the test only if SetUp() was successful. if (!HasFatalFailure()) { impl->os_stack_trace_getter()->UponLeavingGTest(); internal::HandleExceptionsInMethodIfSupported( this, &Test::TestBody, "the test body"); } // However, we want to clean up as much as possible. Hence we will // always call TearDown(), even if SetUp() or the test body has // failed. impl->os_stack_trace_getter()->UponLeavingGTest(); internal::HandleExceptionsInMethodIfSupported( this, &Test::TearDown, "TearDown()"); } // Returns true iff the current test has a fatal failure. bool Test::HasFatalFailure() { return internal::GetUnitTestImpl()->current_test_result()->HasFatalFailure(); } // Returns true iff the current test has a non-fatal failure. bool Test::HasNonfatalFailure() { return internal::GetUnitTestImpl()->current_test_result()-> HasNonfatalFailure(); } // class TestInfo // Constructs a TestInfo object. It assumes ownership of the test factory // object. TestInfo::TestInfo(const std::string& a_test_case_name, const std::string& a_name, const char* a_type_param, const char* a_value_param, internal::TypeId fixture_class_id, internal::TestFactoryBase* factory) : test_case_name_(a_test_case_name), name_(a_name), type_param_(a_type_param ? new std::string(a_type_param) : NULL), value_param_(a_value_param ? new std::string(a_value_param) : NULL), fixture_class_id_(fixture_class_id), should_run_(false), is_disabled_(false), matches_filter_(false), factory_(factory), result_() {} // Destructs a TestInfo object. TestInfo::~TestInfo() { delete factory_; } namespace internal { // Creates a new TestInfo object and registers it with Google Test; // returns the created object. // // Arguments: // // test_case_name: name of the test case // name: name of the test // type_param: the name of the test's type parameter, or NULL if // this is not a typed or a type-parameterized test. // value_param: text representation of the test's value parameter, // or NULL if this is not a value-parameterized test. // fixture_class_id: ID of the test fixture class // set_up_tc: pointer to the function that sets up the test case // tear_down_tc: pointer to the function that tears down the test case // factory: pointer to the factory that creates a test object. // The newly created TestInfo instance will assume // ownership of the factory object. TestInfo* MakeAndRegisterTestInfo( const char* test_case_name, const char* name, const char* type_param, const char* value_param, TypeId fixture_class_id, SetUpTestCaseFunc set_up_tc, TearDownTestCaseFunc tear_down_tc, TestFactoryBase* factory) { TestInfo* const test_info = new TestInfo(test_case_name, name, type_param, value_param, fixture_class_id, factory); GetUnitTestImpl()->AddTestInfo(set_up_tc, tear_down_tc, test_info); return test_info; } #if GTEST_HAS_PARAM_TEST void ReportInvalidTestCaseType(const char* test_case_name, const char* file, int line) { Message errors; errors << "Attempted redefinition of test case " << test_case_name << ".\n" << "All tests in the same test case must use the same test fixture\n" << "class. However, in test case " << test_case_name << ", you tried\n" << "to define a test using a fixture class different from the one\n" << "used earlier. This can happen if the two fixture classes are\n" << "from different namespaces and have the same name. You should\n" << "probably rename one of the classes to put the tests into different\n" << "test cases."; fprintf(stderr, "%s %s", FormatFileLocation(file, line).c_str(), errors.GetString().c_str()); } #endif // GTEST_HAS_PARAM_TEST } // namespace internal namespace { // A predicate that checks the test name of a TestInfo against a known // value. // // This is used for implementation of the TestCase class only. We put // it in the anonymous namespace to prevent polluting the outer // namespace. // // TestNameIs is copyable. class TestNameIs { public: // Constructor. // // TestNameIs has NO default constructor. explicit TestNameIs(const char* name) : name_(name) {} // Returns true iff the test name of test_info matches name_. bool operator()(const TestInfo * test_info) const { return test_info && test_info->name() == name_; } private: std::string name_; }; } // namespace namespace internal { // This method expands all parameterized tests registered with macros TEST_P // and INSTANTIATE_TEST_CASE_P into regular tests and registers those. // This will be done just once during the program runtime. void UnitTestImpl::RegisterParameterizedTests() { #if GTEST_HAS_PARAM_TEST if (!parameterized_tests_registered_) { parameterized_test_registry_.RegisterTests(); parameterized_tests_registered_ = true; } #endif } } // namespace internal // Creates the test object, runs it, records its result, and then // deletes it. void TestInfo::Run() { if (!should_run_) return; // Tells UnitTest where to store test result. internal::UnitTestImpl* const impl = internal::GetUnitTestImpl(); impl->set_current_test_info(this); TestEventListener* repeater = UnitTest::GetInstance()->listeners().repeater(); // Notifies the unit test event listeners that a test is about to start. repeater->OnTestStart(*this); const TimeInMillis start = internal::GetTimeInMillis(); impl->os_stack_trace_getter()->UponLeavingGTest(); // Creates the test object. Test* const test = internal::HandleExceptionsInMethodIfSupported( factory_, &internal::TestFactoryBase::CreateTest, "the test fixture's constructor"); // Runs the test only if the test object was created and its // constructor didn't generate a fatal failure. if ((test != NULL) && !Test::HasFatalFailure()) { // This doesn't throw as all user code that can throw are wrapped into // exception handling code. test->Run(); } // Deletes the test object. impl->os_stack_trace_getter()->UponLeavingGTest(); internal::HandleExceptionsInMethodIfSupported( test, &Test::DeleteSelf_, "the test fixture's destructor"); result_.set_elapsed_time(internal::GetTimeInMillis() - start); // Notifies the unit test event listener that a test has just finished. repeater->OnTestEnd(*this); // Tells UnitTest to stop associating assertion results to this // test. impl->set_current_test_info(NULL); } // class TestCase // Gets the number of successful tests in this test case. int TestCase::successful_test_count() const { return CountIf(test_info_list_, TestPassed); } // Gets the number of failed tests in this test case. int TestCase::failed_test_count() const { return CountIf(test_info_list_, TestFailed); } // Gets the number of disabled tests that will be reported in the XML report. int TestCase::reportable_disabled_test_count() const { return CountIf(test_info_list_, TestReportableDisabled); } // Gets the number of disabled tests in this test case. int TestCase::disabled_test_count() const { return CountIf(test_info_list_, TestDisabled); } // Gets the number of tests to be printed in the XML report. int TestCase::reportable_test_count() const { return CountIf(test_info_list_, TestReportable); } // Get the number of tests in this test case that should run. int TestCase::test_to_run_count() const { return CountIf(test_info_list_, ShouldRunTest); } // Gets the number of all tests. int TestCase::total_test_count() const { return static_cast(test_info_list_.size()); } // Creates a TestCase with the given name. // // Arguments: // // name: name of the test case // a_type_param: the name of the test case's type parameter, or NULL if // this is not a typed or a type-parameterized test case. // set_up_tc: pointer to the function that sets up the test case // tear_down_tc: pointer to the function that tears down the test case TestCase::TestCase(const char* a_name, const char* a_type_param, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc) : name_(a_name), type_param_(a_type_param ? new std::string(a_type_param) : NULL), set_up_tc_(set_up_tc), tear_down_tc_(tear_down_tc), should_run_(false), elapsed_time_(0) { } // Destructor of TestCase. TestCase::~TestCase() { // Deletes every Test in the collection. ForEach(test_info_list_, internal::Delete); } // Returns the i-th test among all the tests. i can range from 0 to // total_test_count() - 1. If i is not in that range, returns NULL. const TestInfo* TestCase::GetTestInfo(int i) const { const int index = GetElementOr(test_indices_, i, -1); return index < 0 ? NULL : test_info_list_[index]; } // Returns the i-th test among all the tests. i can range from 0 to // total_test_count() - 1. If i is not in that range, returns NULL. TestInfo* TestCase::GetMutableTestInfo(int i) { const int index = GetElementOr(test_indices_, i, -1); return index < 0 ? NULL : test_info_list_[index]; } // Adds a test to this test case. Will delete the test upon // destruction of the TestCase object. void TestCase::AddTestInfo(TestInfo * test_info) { test_info_list_.push_back(test_info); test_indices_.push_back(static_cast(test_indices_.size())); } // Runs every test in this TestCase. void TestCase::Run() { if (!should_run_) return; internal::UnitTestImpl* const impl = internal::GetUnitTestImpl(); impl->set_current_test_case(this); TestEventListener* repeater = UnitTest::GetInstance()->listeners().repeater(); repeater->OnTestCaseStart(*this); impl->os_stack_trace_getter()->UponLeavingGTest(); internal::HandleExceptionsInMethodIfSupported( this, &TestCase::RunSetUpTestCase, "SetUpTestCase()"); const internal::TimeInMillis start = internal::GetTimeInMillis(); for (int i = 0; i < total_test_count(); i++) { GetMutableTestInfo(i)->Run(); } elapsed_time_ = internal::GetTimeInMillis() - start; impl->os_stack_trace_getter()->UponLeavingGTest(); internal::HandleExceptionsInMethodIfSupported( this, &TestCase::RunTearDownTestCase, "TearDownTestCase()"); repeater->OnTestCaseEnd(*this); impl->set_current_test_case(NULL); } // Clears the results of all tests in this test case. void TestCase::ClearResult() { ad_hoc_test_result_.Clear(); ForEach(test_info_list_, TestInfo::ClearTestResult); } // Shuffles the tests in this test case. void TestCase::ShuffleTests(internal::Random* random) { Shuffle(random, &test_indices_); } // Restores the test order to before the first shuffle. void TestCase::UnshuffleTests() { for (size_t i = 0; i < test_indices_.size(); i++) { test_indices_[i] = static_cast(i); } } // Formats a countable noun. Depending on its quantity, either the // singular form or the plural form is used. e.g. // // FormatCountableNoun(1, "formula", "formuli") returns "1 formula". // FormatCountableNoun(5, "book", "books") returns "5 books". static std::string FormatCountableNoun(int count, const char * singular_form, const char * plural_form) { return internal::StreamableToString(count) + " " + (count == 1 ? singular_form : plural_form); } // Formats the count of tests. static std::string FormatTestCount(int test_count) { return FormatCountableNoun(test_count, "test", "tests"); } // Formats the count of test cases. static std::string FormatTestCaseCount(int test_case_count) { return FormatCountableNoun(test_case_count, "test case", "test cases"); } // Converts a TestPartResult::Type enum to human-friendly string // representation. Both kNonFatalFailure and kFatalFailure are translated // to "Failure", as the user usually doesn't care about the difference // between the two when viewing the test result. static const char * TestPartResultTypeToString(TestPartResult::Type type) { switch (type) { case TestPartResult::kSuccess: return "Success"; case TestPartResult::kNonFatalFailure: case TestPartResult::kFatalFailure: #ifdef _MSC_VER return "error: "; #else return "Failure\n"; #endif default: return "Unknown result type"; } } namespace internal { // Prints a TestPartResult to an std::string. static std::string PrintTestPartResultToString( const TestPartResult& test_part_result) { return (Message() << internal::FormatFileLocation(test_part_result.file_name(), test_part_result.line_number()) << " " << TestPartResultTypeToString(test_part_result.type()) << test_part_result.message()).GetString(); } // Prints a TestPartResult. static void PrintTestPartResult(const TestPartResult& test_part_result) { const std::string& result = PrintTestPartResultToString(test_part_result); printf("%s\n", result.c_str()); fflush(stdout); // If the test program runs in Visual Studio or a debugger, the // following statements add the test part result message to the Output // window such that the user can double-click on it to jump to the // corresponding source code location; otherwise they do nothing. #if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE // We don't call OutputDebugString*() on Windows Mobile, as printing // to stdout is done by OutputDebugString() there already - we don't // want the same message printed twice. ::OutputDebugStringA(result.c_str()); ::OutputDebugStringA("\n"); #endif } // class PrettyUnitTestResultPrinter enum GTestColor { COLOR_DEFAULT, COLOR_RED, COLOR_GREEN, COLOR_YELLOW }; #if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE // Returns the character attribute for the given color. WORD GetColorAttribute(GTestColor color) { switch (color) { case COLOR_RED: return FOREGROUND_RED; case COLOR_GREEN: return FOREGROUND_GREEN; case COLOR_YELLOW: return FOREGROUND_RED | FOREGROUND_GREEN; default: return 0; } } #else // Returns the ANSI color code for the given color. COLOR_DEFAULT is // an invalid input. const char* GetAnsiColorCode(GTestColor color) { switch (color) { case COLOR_RED: return "1"; case COLOR_GREEN: return "2"; case COLOR_YELLOW: return "3"; default: return NULL; }; } #endif // GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE // Returns true iff Google Test should use colors in the output. bool ShouldUseColor(bool stdout_is_tty) { const char* const gtest_color = GTEST_FLAG(color).c_str(); if (String::CaseInsensitiveCStringEquals(gtest_color, "auto")) { #if GTEST_OS_WINDOWS // On Windows the TERM variable is usually not set, but the // console there does support colors. return stdout_is_tty; #else // On non-Windows platforms, we rely on the TERM variable. const char* const term = posix::GetEnv("TERM"); const bool term_supports_color = String::CStringEquals(term, "xterm") || String::CStringEquals(term, "xterm-color") || String::CStringEquals(term, "xterm-256color") || String::CStringEquals(term, "screen") || String::CStringEquals(term, "screen-256color") || String::CStringEquals(term, "linux") || String::CStringEquals(term, "cygwin"); return stdout_is_tty && term_supports_color; #endif // GTEST_OS_WINDOWS } return String::CaseInsensitiveCStringEquals(gtest_color, "yes") || String::CaseInsensitiveCStringEquals(gtest_color, "true") || String::CaseInsensitiveCStringEquals(gtest_color, "t") || String::CStringEquals(gtest_color, "1"); // We take "yes", "true", "t", and "1" as meaning "yes". If the // value is neither one of these nor "auto", we treat it as "no" to // be conservative. } // Helpers for printing colored strings to stdout. Note that on Windows, we // cannot simply emit special characters and have the terminal change colors. // This routine must actually emit the characters rather than return a string // that would be colored when printed, as can be done on Linux. void ColoredPrintf(GTestColor color, const char* fmt, ...) { va_list args; va_start(args, fmt); #if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_SYMBIAN || GTEST_OS_ZOS || GTEST_OS_IOS const bool use_color = false; #else static const bool in_color_mode = ShouldUseColor(posix::IsATTY(posix::FileNo(stdout)) != 0); const bool use_color = in_color_mode && (color != COLOR_DEFAULT); #endif // GTEST_OS_WINDOWS_MOBILE || GTEST_OS_SYMBIAN || GTEST_OS_ZOS // The '!= 0' comparison is necessary to satisfy MSVC 7.1. if (!use_color) { vprintf(fmt, args); va_end(args); return; } #if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE const HANDLE stdout_handle = GetStdHandle(STD_OUTPUT_HANDLE); // Gets the current text color. CONSOLE_SCREEN_BUFFER_INFO buffer_info; GetConsoleScreenBufferInfo(stdout_handle, &buffer_info); const WORD old_color_attrs = buffer_info.wAttributes; // We need to flush the stream buffers into the console before each // SetConsoleTextAttribute call lest it affect the text that is already // printed but has not yet reached the console. fflush(stdout); SetConsoleTextAttribute(stdout_handle, GetColorAttribute(color) | FOREGROUND_INTENSITY); vprintf(fmt, args); fflush(stdout); // Restores the text color. SetConsoleTextAttribute(stdout_handle, old_color_attrs); #else printf("\033[0;3%sm", GetAnsiColorCode(color)); vprintf(fmt, args); printf("\033[m"); // Resets the terminal to default. #endif // GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE va_end(args); } // Text printed in Google Test's text output and --gunit_list_tests // output to label the type parameter and value parameter for a test. static const char kTypeParamLabel[] = "TypeParam"; static const char kValueParamLabel[] = "GetParam()"; void PrintFullTestCommentIfPresent(const TestInfo& test_info) { const char* const type_param = test_info.type_param(); const char* const value_param = test_info.value_param(); if (type_param != NULL || value_param != NULL) { printf(", where "); if (type_param != NULL) { printf("%s = %s", kTypeParamLabel, type_param); if (value_param != NULL) printf(" and "); } if (value_param != NULL) { printf("%s = %s", kValueParamLabel, value_param); } } } // This class implements the TestEventListener interface. // // Class PrettyUnitTestResultPrinter is copyable. class PrettyUnitTestResultPrinter : public TestEventListener { public: PrettyUnitTestResultPrinter() {} static void PrintTestName(const char * test_case, const char * test) { printf("%s.%s", test_case, test); } // The following methods override what's in the TestEventListener class. virtual void OnTestProgramStart(const UnitTest& /*unit_test*/) {} virtual void OnTestIterationStart(const UnitTest& unit_test, int iteration); virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test); virtual void OnEnvironmentsSetUpEnd(const UnitTest& /*unit_test*/) {} virtual void OnTestCaseStart(const TestCase& test_case); virtual void OnTestStart(const TestInfo& test_info); virtual void OnTestPartResult(const TestPartResult& result); virtual void OnTestEnd(const TestInfo& test_info); virtual void OnTestCaseEnd(const TestCase& test_case); virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test); virtual void OnEnvironmentsTearDownEnd(const UnitTest& /*unit_test*/) {} virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration); virtual void OnTestProgramEnd(const UnitTest& /*unit_test*/) {} private: static void PrintFailedTests(const UnitTest& unit_test); }; // Fired before each iteration of tests starts. void PrettyUnitTestResultPrinter::OnTestIterationStart( const UnitTest& unit_test, int iteration) { if (GTEST_FLAG(repeat) != 1) printf("\nRepeating all tests (iteration %d) . . .\n\n", iteration + 1); const char* const filter = GTEST_FLAG(filter).c_str(); // Prints the filter if it's not *. This reminds the user that some // tests may be skipped. if (!String::CStringEquals(filter, kUniversalFilter)) { ColoredPrintf(COLOR_YELLOW, "Note: %s filter = %s\n", GTEST_NAME_, filter); } if (internal::ShouldShard(kTestTotalShards, kTestShardIndex, false)) { const Int32 shard_index = Int32FromEnvOrDie(kTestShardIndex, -1); ColoredPrintf(COLOR_YELLOW, "Note: This is test shard %d of %s.\n", static_cast(shard_index) + 1, internal::posix::GetEnv(kTestTotalShards)); } if (GTEST_FLAG(shuffle)) { ColoredPrintf(COLOR_YELLOW, "Note: Randomizing tests' orders with a seed of %d .\n", unit_test.random_seed()); } ColoredPrintf(COLOR_GREEN, "[==========] "); printf("Running %s from %s.\n", FormatTestCount(unit_test.test_to_run_count()).c_str(), FormatTestCaseCount(unit_test.test_case_to_run_count()).c_str()); fflush(stdout); } void PrettyUnitTestResultPrinter::OnEnvironmentsSetUpStart( const UnitTest& /*unit_test*/) { ColoredPrintf(COLOR_GREEN, "[----------] "); printf("Global test environment set-up.\n"); fflush(stdout); } void PrettyUnitTestResultPrinter::OnTestCaseStart(const TestCase& test_case) { const std::string counts = FormatCountableNoun(test_case.test_to_run_count(), "test", "tests"); ColoredPrintf(COLOR_GREEN, "[----------] "); printf("%s from %s", counts.c_str(), test_case.name()); if (test_case.type_param() == NULL) { printf("\n"); } else { printf(", where %s = %s\n", kTypeParamLabel, test_case.type_param()); } fflush(stdout); } void PrettyUnitTestResultPrinter::OnTestStart(const TestInfo& test_info) { ColoredPrintf(COLOR_GREEN, "[ RUN ] "); PrintTestName(test_info.test_case_name(), test_info.name()); printf("\n"); fflush(stdout); } // Called after an assertion failure. void PrettyUnitTestResultPrinter::OnTestPartResult( const TestPartResult& result) { // If the test part succeeded, we don't need to do anything. if (result.type() == TestPartResult::kSuccess) return; // Print failure message from the assertion (e.g. expected this and got that). PrintTestPartResult(result); fflush(stdout); } void PrettyUnitTestResultPrinter::OnTestEnd(const TestInfo& test_info) { if (test_info.result()->Passed()) { ColoredPrintf(COLOR_GREEN, "[ OK ] "); } else { ColoredPrintf(COLOR_RED, "[ FAILED ] "); } PrintTestName(test_info.test_case_name(), test_info.name()); if (test_info.result()->Failed()) PrintFullTestCommentIfPresent(test_info); if (GTEST_FLAG(print_time)) { printf(" (%s ms)\n", internal::StreamableToString( test_info.result()->elapsed_time()).c_str()); } else { printf("\n"); } fflush(stdout); } void PrettyUnitTestResultPrinter::OnTestCaseEnd(const TestCase& test_case) { if (!GTEST_FLAG(print_time)) return; const std::string counts = FormatCountableNoun(test_case.test_to_run_count(), "test", "tests"); ColoredPrintf(COLOR_GREEN, "[----------] "); printf("%s from %s (%s ms total)\n\n", counts.c_str(), test_case.name(), internal::StreamableToString(test_case.elapsed_time()).c_str()); fflush(stdout); } void PrettyUnitTestResultPrinter::OnEnvironmentsTearDownStart( const UnitTest& /*unit_test*/) { ColoredPrintf(COLOR_GREEN, "[----------] "); printf("Global test environment tear-down\n"); fflush(stdout); } // Internal helper for printing the list of failed tests. void PrettyUnitTestResultPrinter::PrintFailedTests(const UnitTest& unit_test) { const int failed_test_count = unit_test.failed_test_count(); if (failed_test_count == 0) { return; } for (int i = 0; i < unit_test.total_test_case_count(); ++i) { const TestCase& test_case = *unit_test.GetTestCase(i); if (!test_case.should_run() || (test_case.failed_test_count() == 0)) { continue; } for (int j = 0; j < test_case.total_test_count(); ++j) { const TestInfo& test_info = *test_case.GetTestInfo(j); if (!test_info.should_run() || test_info.result()->Passed()) { continue; } ColoredPrintf(COLOR_RED, "[ FAILED ] "); printf("%s.%s", test_case.name(), test_info.name()); PrintFullTestCommentIfPresent(test_info); printf("\n"); } } } void PrettyUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test, int /*iteration*/) { ColoredPrintf(COLOR_GREEN, "[==========] "); printf("%s from %s ran.", FormatTestCount(unit_test.test_to_run_count()).c_str(), FormatTestCaseCount(unit_test.test_case_to_run_count()).c_str()); if (GTEST_FLAG(print_time)) { printf(" (%s ms total)", internal::StreamableToString(unit_test.elapsed_time()).c_str()); } printf("\n"); ColoredPrintf(COLOR_GREEN, "[ PASSED ] "); printf("%s.\n", FormatTestCount(unit_test.successful_test_count()).c_str()); int num_failures = unit_test.failed_test_count(); if (!unit_test.Passed()) { const int failed_test_count = unit_test.failed_test_count(); ColoredPrintf(COLOR_RED, "[ FAILED ] "); printf("%s, listed below:\n", FormatTestCount(failed_test_count).c_str()); PrintFailedTests(unit_test); printf("\n%2d FAILED %s\n", num_failures, num_failures == 1 ? "TEST" : "TESTS"); } int num_disabled = unit_test.reportable_disabled_test_count(); if (num_disabled && !GTEST_FLAG(also_run_disabled_tests)) { if (!num_failures) { printf("\n"); // Add a spacer if no FAILURE banner is displayed. } ColoredPrintf(COLOR_YELLOW, " YOU HAVE %d DISABLED %s\n\n", num_disabled, num_disabled == 1 ? "TEST" : "TESTS"); } // Ensure that Google Test output is printed before, e.g., heapchecker output. fflush(stdout); } // End PrettyUnitTestResultPrinter // class TestEventRepeater // // This class forwards events to other event listeners. class TestEventRepeater : public TestEventListener { public: TestEventRepeater() : forwarding_enabled_(true) {} virtual ~TestEventRepeater(); void Append(TestEventListener *listener); TestEventListener* Release(TestEventListener* listener); // Controls whether events will be forwarded to listeners_. Set to false // in death test child processes. bool forwarding_enabled() const { return forwarding_enabled_; } void set_forwarding_enabled(bool enable) { forwarding_enabled_ = enable; } virtual void OnTestProgramStart(const UnitTest& unit_test); virtual void OnTestIterationStart(const UnitTest& unit_test, int iteration); virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test); virtual void OnEnvironmentsSetUpEnd(const UnitTest& unit_test); virtual void OnTestCaseStart(const TestCase& test_case); virtual void OnTestStart(const TestInfo& test_info); virtual void OnTestPartResult(const TestPartResult& result); virtual void OnTestEnd(const TestInfo& test_info); virtual void OnTestCaseEnd(const TestCase& test_case); virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test); virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test); virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration); virtual void OnTestProgramEnd(const UnitTest& unit_test); private: // Controls whether events will be forwarded to listeners_. Set to false // in death test child processes. bool forwarding_enabled_; // The list of listeners that receive events. std::vector listeners_; GTEST_DISALLOW_COPY_AND_ASSIGN_(TestEventRepeater); }; TestEventRepeater::~TestEventRepeater() { ForEach(listeners_, Delete); } void TestEventRepeater::Append(TestEventListener *listener) { listeners_.push_back(listener); } // TODO(vladl@google.com): Factor the search functionality into Vector::Find. TestEventListener* TestEventRepeater::Release(TestEventListener *listener) { for (size_t i = 0; i < listeners_.size(); ++i) { if (listeners_[i] == listener) { listeners_.erase(listeners_.begin() + i); return listener; } } return NULL; } // Since most methods are very similar, use macros to reduce boilerplate. // This defines a member that forwards the call to all listeners. #define GTEST_REPEATER_METHOD_(Name, Type) \ void TestEventRepeater::Name(const Type& parameter) { \ if (forwarding_enabled_) { \ for (size_t i = 0; i < listeners_.size(); i++) { \ listeners_[i]->Name(parameter); \ } \ } \ } // This defines a member that forwards the call to all listeners in reverse // order. #define GTEST_REVERSE_REPEATER_METHOD_(Name, Type) \ void TestEventRepeater::Name(const Type& parameter) { \ if (forwarding_enabled_) { \ for (int i = static_cast(listeners_.size()) - 1; i >= 0; i--) { \ listeners_[i]->Name(parameter); \ } \ } \ } GTEST_REPEATER_METHOD_(OnTestProgramStart, UnitTest) GTEST_REPEATER_METHOD_(OnEnvironmentsSetUpStart, UnitTest) GTEST_REPEATER_METHOD_(OnTestCaseStart, TestCase) GTEST_REPEATER_METHOD_(OnTestStart, TestInfo) GTEST_REPEATER_METHOD_(OnTestPartResult, TestPartResult) GTEST_REPEATER_METHOD_(OnEnvironmentsTearDownStart, UnitTest) GTEST_REVERSE_REPEATER_METHOD_(OnEnvironmentsSetUpEnd, UnitTest) GTEST_REVERSE_REPEATER_METHOD_(OnEnvironmentsTearDownEnd, UnitTest) GTEST_REVERSE_REPEATER_METHOD_(OnTestEnd, TestInfo) GTEST_REVERSE_REPEATER_METHOD_(OnTestCaseEnd, TestCase) GTEST_REVERSE_REPEATER_METHOD_(OnTestProgramEnd, UnitTest) #undef GTEST_REPEATER_METHOD_ #undef GTEST_REVERSE_REPEATER_METHOD_ void TestEventRepeater::OnTestIterationStart(const UnitTest& unit_test, int iteration) { if (forwarding_enabled_) { for (size_t i = 0; i < listeners_.size(); i++) { listeners_[i]->OnTestIterationStart(unit_test, iteration); } } } void TestEventRepeater::OnTestIterationEnd(const UnitTest& unit_test, int iteration) { if (forwarding_enabled_) { for (int i = static_cast(listeners_.size()) - 1; i >= 0; i--) { listeners_[i]->OnTestIterationEnd(unit_test, iteration); } } } // End TestEventRepeater // This class generates an XML output file. class XmlUnitTestResultPrinter : public EmptyTestEventListener { public: explicit XmlUnitTestResultPrinter(const char* output_file); virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration); private: // Is c a whitespace character that is normalized to a space character // when it appears in an XML attribute value? static bool IsNormalizableWhitespace(char c) { return c == 0x9 || c == 0xA || c == 0xD; } // May c appear in a well-formed XML document? static bool IsValidXmlCharacter(char c) { return IsNormalizableWhitespace(c) || c >= 0x20; } // Returns an XML-escaped copy of the input string str. If // is_attribute is true, the text is meant to appear as an attribute // value, and normalizable whitespace is preserved by replacing it // with character references. static std::string EscapeXml(const std::string& str, bool is_attribute); // Returns the given string with all characters invalid in XML removed. static std::string RemoveInvalidXmlCharacters(const std::string& str); // Convenience wrapper around EscapeXml when str is an attribute value. static std::string EscapeXmlAttribute(const std::string& str) { return EscapeXml(str, true); } // Convenience wrapper around EscapeXml when str is not an attribute value. static std::string EscapeXmlText(const char* str) { return EscapeXml(str, false); } // Verifies that the given attribute belongs to the given element and // streams the attribute as XML. static void OutputXmlAttribute(std::ostream* stream, const std::string& element_name, const std::string& name, const std::string& value); // Streams an XML CDATA section, escaping invalid CDATA sequences as needed. static void OutputXmlCDataSection(::std::ostream* stream, const char* data); // Streams an XML representation of a TestInfo object. static void OutputXmlTestInfo(::std::ostream* stream, const char* test_case_name, const TestInfo& test_info); // Prints an XML representation of a TestCase object static void PrintXmlTestCase(::std::ostream* stream, const TestCase& test_case); // Prints an XML summary of unit_test to output stream out. static void PrintXmlUnitTest(::std::ostream* stream, const UnitTest& unit_test); // Produces a string representing the test properties in a result as space // delimited XML attributes based on the property key="value" pairs. // When the std::string is not empty, it includes a space at the beginning, // to delimit this attribute from prior attributes. static std::string TestPropertiesAsXmlAttributes(const TestResult& result); // The output file. const std::string output_file_; GTEST_DISALLOW_COPY_AND_ASSIGN_(XmlUnitTestResultPrinter); }; // Creates a new XmlUnitTestResultPrinter. XmlUnitTestResultPrinter::XmlUnitTestResultPrinter(const char* output_file) : output_file_(output_file) { if (output_file_.c_str() == NULL || output_file_.empty()) { fprintf(stderr, "XML output file may not be null\n"); fflush(stderr); exit(EXIT_FAILURE); } } // Called after the unit test ends. void XmlUnitTestResultPrinter::OnTestIterationEnd(const UnitTest& unit_test, int /*iteration*/) { FILE* xmlout = NULL; FilePath output_file(output_file_); FilePath output_dir(output_file.RemoveFileName()); if (output_dir.CreateDirectoriesRecursively()) { xmlout = posix::FOpen(output_file_.c_str(), "w"); } if (xmlout == NULL) { // TODO(wan): report the reason of the failure. // // We don't do it for now as: // // 1. There is no urgent need for it. // 2. It's a bit involved to make the errno variable thread-safe on // all three operating systems (Linux, Windows, and Mac OS). // 3. To interpret the meaning of errno in a thread-safe way, // we need the strerror_r() function, which is not available on // Windows. fprintf(stderr, "Unable to open file \"%s\"\n", output_file_.c_str()); fflush(stderr); exit(EXIT_FAILURE); } std::stringstream stream; PrintXmlUnitTest(&stream, unit_test); fprintf(xmlout, "%s", StringStreamToString(&stream).c_str()); fclose(xmlout); } // Returns an XML-escaped copy of the input string str. If is_attribute // is true, the text is meant to appear as an attribute value, and // normalizable whitespace is preserved by replacing it with character // references. // // Invalid XML characters in str, if any, are stripped from the output. // It is expected that most, if not all, of the text processed by this // module will consist of ordinary English text. // If this module is ever modified to produce version 1.1 XML output, // most invalid characters can be retained using character references. // TODO(wan): It might be nice to have a minimally invasive, human-readable // escaping scheme for invalid characters, rather than dropping them. std::string XmlUnitTestResultPrinter::EscapeXml( const std::string& str, bool is_attribute) { Message m; for (size_t i = 0; i < str.size(); ++i) { const char ch = str[i]; switch (ch) { case '<': m << "<"; break; case '>': m << ">"; break; case '&': m << "&"; break; case '\'': if (is_attribute) m << "'"; else m << '\''; break; case '"': if (is_attribute) m << """; else m << '"'; break; default: if (IsValidXmlCharacter(ch)) { if (is_attribute && IsNormalizableWhitespace(ch)) m << "&#x" << String::FormatByte(static_cast(ch)) << ";"; else m << ch; } break; } } return m.GetString(); } // Returns the given string with all characters invalid in XML removed. // Currently invalid characters are dropped from the string. An // alternative is to replace them with certain characters such as . or ?. std::string XmlUnitTestResultPrinter::RemoveInvalidXmlCharacters( const std::string& str) { std::string output; output.reserve(str.size()); for (std::string::const_iterator it = str.begin(); it != str.end(); ++it) if (IsValidXmlCharacter(*it)) output.push_back(*it); return output; } // The following routines generate an XML representation of a UnitTest // object. // // This is how Google Test concepts map to the DTD: // // <-- corresponds to a UnitTest object // <-- corresponds to a TestCase object // <-- corresponds to a TestInfo object // ... // ... // ... // <-- individual assertion failures // // // // Formats the given time in milliseconds as seconds. std::string FormatTimeInMillisAsSeconds(TimeInMillis ms) { ::std::stringstream ss; ss << ms/1000.0; return ss.str(); } // Converts the given epoch time in milliseconds to a date string in the ISO // 8601 format, without the timezone information. std::string FormatEpochTimeInMillisAsIso8601(TimeInMillis ms) { // Using non-reentrant version as localtime_r is not portable. time_t seconds = static_cast(ms / 1000); #ifdef _MSC_VER # pragma warning(push) // Saves the current warning state. # pragma warning(disable:4996) // Temporarily disables warning 4996 // (function or variable may be unsafe). const struct tm* const time_struct = localtime(&seconds); // NOLINT # pragma warning(pop) // Restores the warning state again. #else const struct tm* const time_struct = localtime(&seconds); // NOLINT #endif if (time_struct == NULL) return ""; // Invalid ms value // YYYY-MM-DDThh:mm:ss return StreamableToString(time_struct->tm_year + 1900) + "-" + String::FormatIntWidth2(time_struct->tm_mon + 1) + "-" + String::FormatIntWidth2(time_struct->tm_mday) + "T" + String::FormatIntWidth2(time_struct->tm_hour) + ":" + String::FormatIntWidth2(time_struct->tm_min) + ":" + String::FormatIntWidth2(time_struct->tm_sec); } // Streams an XML CDATA section, escaping invalid CDATA sequences as needed. void XmlUnitTestResultPrinter::OutputXmlCDataSection(::std::ostream* stream, const char* data) { const char* segment = data; *stream << ""); if (next_segment != NULL) { stream->write( segment, static_cast(next_segment - segment)); *stream << "]]>]]>"); } else { *stream << segment; break; } } *stream << "]]>"; } void XmlUnitTestResultPrinter::OutputXmlAttribute( std::ostream* stream, const std::string& element_name, const std::string& name, const std::string& value) { const std::vector& allowed_names = GetReservedAttributesForElement(element_name); GTEST_CHECK_(std::find(allowed_names.begin(), allowed_names.end(), name) != allowed_names.end()) << "Attribute " << name << " is not allowed for element <" << element_name << ">."; *stream << " " << name << "=\"" << EscapeXmlAttribute(value) << "\""; } // Prints an XML representation of a TestInfo object. // TODO(wan): There is also value in printing properties with the plain printer. void XmlUnitTestResultPrinter::OutputXmlTestInfo(::std::ostream* stream, const char* test_case_name, const TestInfo& test_info) { const TestResult& result = *test_info.result(); const std::string kTestcase = "testcase"; *stream << " \n"; } const string location = internal::FormatCompilerIndependentFileLocation( part.file_name(), part.line_number()); const string summary = location + "\n" + part.summary(); *stream << " "; const string detail = location + "\n" + part.message(); OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str()); *stream << "\n"; } } if (failures == 0) *stream << " />\n"; else *stream << " \n"; } // Prints an XML representation of a TestCase object void XmlUnitTestResultPrinter::PrintXmlTestCase(std::ostream* stream, const TestCase& test_case) { const std::string kTestsuite = "testsuite"; *stream << " <" << kTestsuite; OutputXmlAttribute(stream, kTestsuite, "name", test_case.name()); OutputXmlAttribute(stream, kTestsuite, "tests", StreamableToString(test_case.reportable_test_count())); OutputXmlAttribute(stream, kTestsuite, "failures", StreamableToString(test_case.failed_test_count())); OutputXmlAttribute( stream, kTestsuite, "disabled", StreamableToString(test_case.reportable_disabled_test_count())); OutputXmlAttribute(stream, kTestsuite, "errors", "0"); OutputXmlAttribute(stream, kTestsuite, "time", FormatTimeInMillisAsSeconds(test_case.elapsed_time())); *stream << TestPropertiesAsXmlAttributes(test_case.ad_hoc_test_result()) << ">\n"; for (int i = 0; i < test_case.total_test_count(); ++i) { if (test_case.GetTestInfo(i)->is_reportable()) OutputXmlTestInfo(stream, test_case.name(), *test_case.GetTestInfo(i)); } *stream << " \n"; } // Prints an XML summary of unit_test to output stream out. void XmlUnitTestResultPrinter::PrintXmlUnitTest(std::ostream* stream, const UnitTest& unit_test) { const std::string kTestsuites = "testsuites"; *stream << "\n"; *stream << "<" << kTestsuites; OutputXmlAttribute(stream, kTestsuites, "tests", StreamableToString(unit_test.reportable_test_count())); OutputXmlAttribute(stream, kTestsuites, "failures", StreamableToString(unit_test.failed_test_count())); OutputXmlAttribute( stream, kTestsuites, "disabled", StreamableToString(unit_test.reportable_disabled_test_count())); OutputXmlAttribute(stream, kTestsuites, "errors", "0"); OutputXmlAttribute( stream, kTestsuites, "timestamp", FormatEpochTimeInMillisAsIso8601(unit_test.start_timestamp())); OutputXmlAttribute(stream, kTestsuites, "time", FormatTimeInMillisAsSeconds(unit_test.elapsed_time())); if (GTEST_FLAG(shuffle)) { OutputXmlAttribute(stream, kTestsuites, "random_seed", StreamableToString(unit_test.random_seed())); } *stream << TestPropertiesAsXmlAttributes(unit_test.ad_hoc_test_result()); OutputXmlAttribute(stream, kTestsuites, "name", "AllTests"); *stream << ">\n"; for (int i = 0; i < unit_test.total_test_case_count(); ++i) { if (unit_test.GetTestCase(i)->reportable_test_count() > 0) PrintXmlTestCase(stream, *unit_test.GetTestCase(i)); } *stream << "\n"; } // Produces a string representing the test properties in a result as space // delimited XML attributes based on the property key="value" pairs. std::string XmlUnitTestResultPrinter::TestPropertiesAsXmlAttributes( const TestResult& result) { Message attributes; for (int i = 0; i < result.test_property_count(); ++i) { const TestProperty& property = result.GetTestProperty(i); attributes << " " << property.key() << "=" << "\"" << EscapeXmlAttribute(property.value()) << "\""; } return attributes.GetString(); } // End XmlUnitTestResultPrinter #if GTEST_CAN_STREAM_RESULTS_ // Checks if str contains '=', '&', '%' or '\n' characters. If yes, // replaces them by "%xx" where xx is their hexadecimal value. For // example, replaces "=" with "%3D". This algorithm is O(strlen(str)) // in both time and space -- important as the input str may contain an // arbitrarily long test failure message and stack trace. string StreamingListener::UrlEncode(const char* str) { string result; result.reserve(strlen(str) + 1); for (char ch = *str; ch != '\0'; ch = *++str) { switch (ch) { case '%': case '=': case '&': case '\n': result.append("%" + String::FormatByte(static_cast(ch))); break; default: result.push_back(ch); break; } } return result; } void StreamingListener::SocketWriter::MakeConnection() { GTEST_CHECK_(sockfd_ == -1) << "MakeConnection() can't be called when there is already a connection."; addrinfo hints; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; // To allow both IPv4 and IPv6 addresses. hints.ai_socktype = SOCK_STREAM; addrinfo* servinfo = NULL; // Use the getaddrinfo() to get a linked list of IP addresses for // the given host name. const int error_num = getaddrinfo( host_name_.c_str(), port_num_.c_str(), &hints, &servinfo); if (error_num != 0) { GTEST_LOG_(WARNING) << "stream_result_to: getaddrinfo() failed: " << gai_strerror(error_num); } // Loop through all the results and connect to the first we can. for (addrinfo* cur_addr = servinfo; sockfd_ == -1 && cur_addr != NULL; cur_addr = cur_addr->ai_next) { sockfd_ = socket( cur_addr->ai_family, cur_addr->ai_socktype, cur_addr->ai_protocol); if (sockfd_ != -1) { // Connect the client socket to the server socket. if (connect(sockfd_, cur_addr->ai_addr, cur_addr->ai_addrlen) == -1) { close(sockfd_); sockfd_ = -1; } } } freeaddrinfo(servinfo); // all done with this structure if (sockfd_ == -1) { GTEST_LOG_(WARNING) << "stream_result_to: failed to connect to " << host_name_ << ":" << port_num_; } } // End of class Streaming Listener #endif // GTEST_CAN_STREAM_RESULTS__ // Class ScopedTrace // Pushes the given source file location and message onto a per-thread // trace stack maintained by Google Test. ScopedTrace::ScopedTrace(const char* file, int line, const Message& message) GTEST_LOCK_EXCLUDED_(&UnitTest::mutex_) { TraceInfo trace; trace.file = file; trace.line = line; trace.message = message.GetString(); UnitTest::GetInstance()->PushGTestTrace(trace); } // Pops the info pushed by the c'tor. ScopedTrace::~ScopedTrace() GTEST_LOCK_EXCLUDED_(&UnitTest::mutex_) { UnitTest::GetInstance()->PopGTestTrace(); } // class OsStackTraceGetter // Returns the current OS stack trace as an std::string. Parameters: // // max_depth - the maximum number of stack frames to be included // in the trace. // skip_count - the number of top frames to be skipped; doesn't count // against max_depth. // string OsStackTraceGetter::CurrentStackTrace(int /* max_depth */, int /* skip_count */) GTEST_LOCK_EXCLUDED_(mutex_) { return ""; } void OsStackTraceGetter::UponLeavingGTest() GTEST_LOCK_EXCLUDED_(mutex_) { } const char* const OsStackTraceGetter::kElidedFramesMarker = "... " GTEST_NAME_ " internal frames ..."; // A helper class that creates the premature-exit file in its // constructor and deletes the file in its destructor. class ScopedPrematureExitFile { public: explicit ScopedPrematureExitFile(const char* premature_exit_filepath) : premature_exit_filepath_(premature_exit_filepath) { // If a path to the premature-exit file is specified... if (premature_exit_filepath != NULL && *premature_exit_filepath != '\0') { // create the file with a single "0" character in it. I/O // errors are ignored as there's nothing better we can do and we // don't want to fail the test because of this. FILE* pfile = posix::FOpen(premature_exit_filepath, "w"); fwrite("0", 1, 1, pfile); fclose(pfile); } } ~ScopedPrematureExitFile() { if (premature_exit_filepath_ != NULL && *premature_exit_filepath_ != '\0') { remove(premature_exit_filepath_); } } private: const char* const premature_exit_filepath_; GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedPrematureExitFile); }; } // namespace internal // class TestEventListeners TestEventListeners::TestEventListeners() : repeater_(new internal::TestEventRepeater()), default_result_printer_(NULL), default_xml_generator_(NULL) { } TestEventListeners::~TestEventListeners() { delete repeater_; } // Returns the standard listener responsible for the default console // output. Can be removed from the listeners list to shut down default // console output. Note that removing this object from the listener list // with Release transfers its ownership to the user. void TestEventListeners::Append(TestEventListener* listener) { repeater_->Append(listener); } // Removes the given event listener from the list and returns it. It then // becomes the caller's responsibility to delete the listener. Returns // NULL if the listener is not found in the list. TestEventListener* TestEventListeners::Release(TestEventListener* listener) { if (listener == default_result_printer_) default_result_printer_ = NULL; else if (listener == default_xml_generator_) default_xml_generator_ = NULL; return repeater_->Release(listener); } // Returns repeater that broadcasts the TestEventListener events to all // subscribers. TestEventListener* TestEventListeners::repeater() { return repeater_; } // Sets the default_result_printer attribute to the provided listener. // The listener is also added to the listener list and previous // default_result_printer is removed from it and deleted. The listener can // also be NULL in which case it will not be added to the list. Does // nothing if the previous and the current listener objects are the same. void TestEventListeners::SetDefaultResultPrinter(TestEventListener* listener) { if (default_result_printer_ != listener) { // It is an error to pass this method a listener that is already in the // list. delete Release(default_result_printer_); default_result_printer_ = listener; if (listener != NULL) Append(listener); } } // Sets the default_xml_generator attribute to the provided listener. The // listener is also added to the listener list and previous // default_xml_generator is removed from it and deleted. The listener can // also be NULL in which case it will not be added to the list. Does // nothing if the previous and the current listener objects are the same. void TestEventListeners::SetDefaultXmlGenerator(TestEventListener* listener) { if (default_xml_generator_ != listener) { // It is an error to pass this method a listener that is already in the // list. delete Release(default_xml_generator_); default_xml_generator_ = listener; if (listener != NULL) Append(listener); } } // Controls whether events will be forwarded by the repeater to the // listeners in the list. bool TestEventListeners::EventForwardingEnabled() const { return repeater_->forwarding_enabled(); } void TestEventListeners::SuppressEventForwarding() { repeater_->set_forwarding_enabled(false); } // class UnitTest // Gets the singleton UnitTest object. The first time this method is // called, a UnitTest object is constructed and returned. Consecutive // calls will return the same object. // // We don't protect this under mutex_ as a user is not supposed to // call this before main() starts, from which point on the return // value will never change. UnitTest* UnitTest::GetInstance() { // When compiled with MSVC 7.1 in optimized mode, destroying the // UnitTest object upon exiting the program messes up the exit code, // causing successful tests to appear failed. We have to use a // different implementation in this case to bypass the compiler bug. // This implementation makes the compiler happy, at the cost of // leaking the UnitTest object. // CodeGear C++Builder insists on a public destructor for the // default implementation. Use this implementation to keep good OO // design with private destructor. #if (_MSC_VER == 1310 && !defined(_DEBUG)) || defined(__BORLANDC__) static UnitTest* const instance = new UnitTest; return instance; #else static UnitTest instance; return &instance; #endif // (_MSC_VER == 1310 && !defined(_DEBUG)) || defined(__BORLANDC__) } // Gets the number of successful test cases. int UnitTest::successful_test_case_count() const { return impl()->successful_test_case_count(); } // Gets the number of failed test cases. int UnitTest::failed_test_case_count() const { return impl()->failed_test_case_count(); } // Gets the number of all test cases. int UnitTest::total_test_case_count() const { return impl()->total_test_case_count(); } // Gets the number of all test cases that contain at least one test // that should run. int UnitTest::test_case_to_run_count() const { return impl()->test_case_to_run_count(); } // Gets the number of successful tests. int UnitTest::successful_test_count() const { return impl()->successful_test_count(); } // Gets the number of failed tests. int UnitTest::failed_test_count() const { return impl()->failed_test_count(); } // Gets the number of disabled tests that will be reported in the XML report. int UnitTest::reportable_disabled_test_count() const { return impl()->reportable_disabled_test_count(); } // Gets the number of disabled tests. int UnitTest::disabled_test_count() const { return impl()->disabled_test_count(); } // Gets the number of tests to be printed in the XML report. int UnitTest::reportable_test_count() const { return impl()->reportable_test_count(); } // Gets the number of all tests. int UnitTest::total_test_count() const { return impl()->total_test_count(); } // Gets the number of tests that should run. int UnitTest::test_to_run_count() const { return impl()->test_to_run_count(); } // Gets the time of the test program start, in ms from the start of the // UNIX epoch. internal::TimeInMillis UnitTest::start_timestamp() const { return impl()->start_timestamp(); } // Gets the elapsed time, in milliseconds. internal::TimeInMillis UnitTest::elapsed_time() const { return impl()->elapsed_time(); } // Returns true iff the unit test passed (i.e. all test cases passed). bool UnitTest::Passed() const { return impl()->Passed(); } // Returns true iff the unit test failed (i.e. some test case failed // or something outside of all tests failed). bool UnitTest::Failed() const { return impl()->Failed(); } // Gets the i-th test case among all the test cases. i can range from 0 to // total_test_case_count() - 1. If i is not in that range, returns NULL. const TestCase* UnitTest::GetTestCase(int i) const { return impl()->GetTestCase(i); } // Returns the TestResult containing information on test failures and // properties logged outside of individual test cases. const TestResult& UnitTest::ad_hoc_test_result() const { return *impl()->ad_hoc_test_result(); } // Gets the i-th test case among all the test cases. i can range from 0 to // total_test_case_count() - 1. If i is not in that range, returns NULL. TestCase* UnitTest::GetMutableTestCase(int i) { return impl()->GetMutableTestCase(i); } // Returns the list of event listeners that can be used to track events // inside Google Test. TestEventListeners& UnitTest::listeners() { return *impl()->listeners(); } // Registers and returns a global test environment. When a test // program is run, all global test environments will be set-up in the // order they were registered. After all tests in the program have // finished, all global test environments will be torn-down in the // *reverse* order they were registered. // // The UnitTest object takes ownership of the given environment. // // We don't protect this under mutex_, as we only support calling it // from the main thread. Environment* UnitTest::AddEnvironment(Environment* env) { if (env == NULL) { return NULL; } impl_->environments().push_back(env); return env; } // Adds a TestPartResult to the current TestResult object. All Google Test // assertion macros (e.g. ASSERT_TRUE, EXPECT_EQ, etc) eventually call // this to report their results. The user code should use the // assertion macros instead of calling this directly. void UnitTest::AddTestPartResult( TestPartResult::Type result_type, const char* file_name, int line_number, const std::string& message, const std::string& os_stack_trace) GTEST_LOCK_EXCLUDED_(mutex_) { Message msg; msg << message; internal::MutexLock lock(&mutex_); if (impl_->gtest_trace_stack().size() > 0) { msg << "\n" << GTEST_NAME_ << " trace:"; for (int i = static_cast(impl_->gtest_trace_stack().size()); i > 0; --i) { const internal::TraceInfo& trace = impl_->gtest_trace_stack()[i - 1]; msg << "\n" << internal::FormatFileLocation(trace.file, trace.line) << " " << trace.message; } } if (os_stack_trace.c_str() != NULL && !os_stack_trace.empty()) { msg << internal::kStackTraceMarker << os_stack_trace; } const TestPartResult result = TestPartResult(result_type, file_name, line_number, msg.GetString().c_str()); impl_->GetTestPartResultReporterForCurrentThread()-> ReportTestPartResult(result); if (result_type != TestPartResult::kSuccess) { // gtest_break_on_failure takes precedence over // gtest_throw_on_failure. This allows a user to set the latter // in the code (perhaps in order to use Google Test assertions // with another testing framework) and specify the former on the // command line for debugging. if (GTEST_FLAG(break_on_failure)) { #if GTEST_OS_WINDOWS // Using DebugBreak on Windows allows gtest to still break into a debugger // when a failure happens and both the --gtest_break_on_failure and // the --gtest_catch_exceptions flags are specified. DebugBreak(); #else // Dereference NULL through a volatile pointer to prevent the compiler // from removing. We use this rather than abort() or __builtin_trap() for // portability: Symbian doesn't implement abort() well, and some debuggers // don't correctly trap abort(). *static_cast(NULL) = 1; #endif // GTEST_OS_WINDOWS } else if (GTEST_FLAG(throw_on_failure)) { #if GTEST_HAS_EXCEPTIONS throw internal::GoogleTestFailureException(result); #else // We cannot call abort() as it generates a pop-up in debug mode // that cannot be suppressed in VC 7.1 or below. exit(1); #endif } } } // Adds a TestProperty to the current TestResult object when invoked from // inside a test, to current TestCase's ad_hoc_test_result_ when invoked // from SetUpTestCase or TearDownTestCase, or to the global property set // when invoked elsewhere. If the result already contains a property with // the same key, the value will be updated. void UnitTest::RecordProperty(const std::string& key, const std::string& value) { impl_->RecordProperty(TestProperty(key, value)); } // Runs all tests in this UnitTest object and prints the result. // Returns 0 if successful, or 1 otherwise. // // We don't protect this under mutex_, as we only support calling it // from the main thread. int UnitTest::Run() { const bool in_death_test_child_process = internal::GTEST_FLAG(internal_run_death_test).length() > 0; // Google Test implements this protocol for catching that a test // program exits before returning control to Google Test: // // 1. Upon start, Google Test creates a file whose absolute path // is specified by the environment variable // TEST_PREMATURE_EXIT_FILE. // 2. When Google Test has finished its work, it deletes the file. // // This allows a test runner to set TEST_PREMATURE_EXIT_FILE before // running a Google-Test-based test program and check the existence // of the file at the end of the test execution to see if it has // exited prematurely. // If we are in the child process of a death test, don't // create/delete the premature exit file, as doing so is unnecessary // and will confuse the parent process. Otherwise, create/delete // the file upon entering/leaving this function. If the program // somehow exits before this function has a chance to return, the // premature-exit file will be left undeleted, causing a test runner // that understands the premature-exit-file protocol to report the // test as having failed. const internal::ScopedPrematureExitFile premature_exit_file( in_death_test_child_process ? NULL : internal::posix::GetEnv("TEST_PREMATURE_EXIT_FILE")); // Captures the value of GTEST_FLAG(catch_exceptions). This value will be // used for the duration of the program. impl()->set_catch_exceptions(GTEST_FLAG(catch_exceptions)); #if GTEST_HAS_SEH // Either the user wants Google Test to catch exceptions thrown by the // tests or this is executing in the context of death test child // process. In either case the user does not want to see pop-up dialogs // about crashes - they are expected. if (impl()->catch_exceptions() || in_death_test_child_process) { # if !GTEST_OS_WINDOWS_MOBILE // SetErrorMode doesn't exist on CE. SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX); # endif // !GTEST_OS_WINDOWS_MOBILE # if (defined(_MSC_VER) || GTEST_OS_WINDOWS_MINGW) && !GTEST_OS_WINDOWS_MOBILE // Death test children can be terminated with _abort(). On Windows, // _abort() can show a dialog with a warning message. This forces the // abort message to go to stderr instead. _set_error_mode(_OUT_TO_STDERR); # endif # if _MSC_VER >= 1400 && !GTEST_OS_WINDOWS_MOBILE // In the debug version, Visual Studio pops up a separate dialog // offering a choice to debug the aborted program. We need to suppress // this dialog or it will pop up for every EXPECT/ASSERT_DEATH statement // executed. Google Test will notify the user of any unexpected // failure via stderr. // // VC++ doesn't define _set_abort_behavior() prior to the version 8.0. // Users of prior VC versions shall suffer the agony and pain of // clicking through the countless debug dialogs. // TODO(vladl@google.com): find a way to suppress the abort dialog() in the // debug mode when compiled with VC 7.1 or lower. if (!GTEST_FLAG(break_on_failure)) _set_abort_behavior( 0x0, // Clear the following flags: _WRITE_ABORT_MSG | _CALL_REPORTFAULT); // pop-up window, core dump. # endif } #endif // GTEST_HAS_SEH return internal::HandleExceptionsInMethodIfSupported( impl(), &internal::UnitTestImpl::RunAllTests, "auxiliary test code (environments or event listeners)") ? 0 : 1; } // Returns the working directory when the first TEST() or TEST_F() was // executed. const char* UnitTest::original_working_dir() const { return impl_->original_working_dir_.c_str(); } // Returns the TestCase object for the test that's currently running, // or NULL if no test is running. const TestCase* UnitTest::current_test_case() const GTEST_LOCK_EXCLUDED_(mutex_) { internal::MutexLock lock(&mutex_); return impl_->current_test_case(); } // Returns the TestInfo object for the test that's currently running, // or NULL if no test is running. const TestInfo* UnitTest::current_test_info() const GTEST_LOCK_EXCLUDED_(mutex_) { internal::MutexLock lock(&mutex_); return impl_->current_test_info(); } // Returns the random seed used at the start of the current test run. int UnitTest::random_seed() const { return impl_->random_seed(); } #if GTEST_HAS_PARAM_TEST // Returns ParameterizedTestCaseRegistry object used to keep track of // value-parameterized tests and instantiate and register them. internal::ParameterizedTestCaseRegistry& UnitTest::parameterized_test_registry() GTEST_LOCK_EXCLUDED_(mutex_) { return impl_->parameterized_test_registry(); } #endif // GTEST_HAS_PARAM_TEST // Creates an empty UnitTest. UnitTest::UnitTest() { impl_ = new internal::UnitTestImpl(this); } // Destructor of UnitTest. UnitTest::~UnitTest() { delete impl_; } // Pushes a trace defined by SCOPED_TRACE() on to the per-thread // Google Test trace stack. void UnitTest::PushGTestTrace(const internal::TraceInfo& trace) GTEST_LOCK_EXCLUDED_(mutex_) { internal::MutexLock lock(&mutex_); impl_->gtest_trace_stack().push_back(trace); } // Pops a trace from the per-thread Google Test trace stack. void UnitTest::PopGTestTrace() GTEST_LOCK_EXCLUDED_(mutex_) { internal::MutexLock lock(&mutex_); impl_->gtest_trace_stack().pop_back(); } namespace internal { UnitTestImpl::UnitTestImpl(UnitTest* parent) : parent_(parent), #ifdef _MSC_VER # pragma warning(push) // Saves the current warning state. # pragma warning(disable:4355) // Temporarily disables warning 4355 // (using this in initializer). default_global_test_part_result_reporter_(this), default_per_thread_test_part_result_reporter_(this), # pragma warning(pop) // Restores the warning state again. #else default_global_test_part_result_reporter_(this), default_per_thread_test_part_result_reporter_(this), #endif // _MSC_VER global_test_part_result_repoter_( &default_global_test_part_result_reporter_), per_thread_test_part_result_reporter_( &default_per_thread_test_part_result_reporter_), #if GTEST_HAS_PARAM_TEST parameterized_test_registry_(), parameterized_tests_registered_(false), #endif // GTEST_HAS_PARAM_TEST last_death_test_case_(-1), current_test_case_(NULL), current_test_info_(NULL), ad_hoc_test_result_(), os_stack_trace_getter_(NULL), post_flag_parse_init_performed_(false), random_seed_(0), // Will be overridden by the flag before first use. random_(0), // Will be reseeded before first use. start_timestamp_(0), elapsed_time_(0), #if GTEST_HAS_DEATH_TEST death_test_factory_(new DefaultDeathTestFactory), #endif // Will be overridden by the flag before first use. catch_exceptions_(false) { listeners()->SetDefaultResultPrinter(new PrettyUnitTestResultPrinter); } UnitTestImpl::~UnitTestImpl() { // Deletes every TestCase. ForEach(test_cases_, internal::Delete); // Deletes every Environment. ForEach(environments_, internal::Delete); delete os_stack_trace_getter_; } // Adds a TestProperty to the current TestResult object when invoked in a // context of a test, to current test case's ad_hoc_test_result when invoke // from SetUpTestCase/TearDownTestCase, or to the global property set // otherwise. If the result already contains a property with the same key, // the value will be updated. void UnitTestImpl::RecordProperty(const TestProperty& test_property) { std::string xml_element; TestResult* test_result; // TestResult appropriate for property recording. if (current_test_info_ != NULL) { xml_element = "testcase"; test_result = &(current_test_info_->result_); } else if (current_test_case_ != NULL) { xml_element = "testsuite"; test_result = &(current_test_case_->ad_hoc_test_result_); } else { xml_element = "testsuites"; test_result = &ad_hoc_test_result_; } test_result->RecordProperty(xml_element, test_property); } #if GTEST_HAS_DEATH_TEST // Disables event forwarding if the control is currently in a death test // subprocess. Must not be called before InitGoogleTest. void UnitTestImpl::SuppressTestEventsIfInSubprocess() { if (internal_run_death_test_flag_.get() != NULL) listeners()->SuppressEventForwarding(); } #endif // GTEST_HAS_DEATH_TEST // Initializes event listeners performing XML output as specified by // UnitTestOptions. Must not be called before InitGoogleTest. void UnitTestImpl::ConfigureXmlOutput() { const std::string& output_format = UnitTestOptions::GetOutputFormat(); if (output_format == "xml") { listeners()->SetDefaultXmlGenerator(new XmlUnitTestResultPrinter( UnitTestOptions::GetAbsolutePathToOutputFile().c_str())); } else if (output_format != "") { printf("WARNING: unrecognized output format \"%s\" ignored.\n", output_format.c_str()); fflush(stdout); } } #if GTEST_CAN_STREAM_RESULTS_ // Initializes event listeners for streaming test results in string form. // Must not be called before InitGoogleTest. void UnitTestImpl::ConfigureStreamingOutput() { const std::string& target = GTEST_FLAG(stream_result_to); if (!target.empty()) { const size_t pos = target.find(':'); if (pos != std::string::npos) { listeners()->Append(new StreamingListener(target.substr(0, pos), target.substr(pos+1))); } else { printf("WARNING: unrecognized streaming target \"%s\" ignored.\n", target.c_str()); fflush(stdout); } } } #endif // GTEST_CAN_STREAM_RESULTS_ // Performs initialization dependent upon flag values obtained in // ParseGoogleTestFlagsOnly. Is called from InitGoogleTest after the call to // ParseGoogleTestFlagsOnly. In case a user neglects to call InitGoogleTest // this function is also called from RunAllTests. Since this function can be // called more than once, it has to be idempotent. void UnitTestImpl::PostFlagParsingInit() { // Ensures that this function does not execute more than once. if (!post_flag_parse_init_performed_) { post_flag_parse_init_performed_ = true; #if GTEST_HAS_DEATH_TEST InitDeathTestSubprocessControlInfo(); SuppressTestEventsIfInSubprocess(); #endif // GTEST_HAS_DEATH_TEST // Registers parameterized tests. This makes parameterized tests // available to the UnitTest reflection API without running // RUN_ALL_TESTS. RegisterParameterizedTests(); // Configures listeners for XML output. This makes it possible for users // to shut down the default XML output before invoking RUN_ALL_TESTS. ConfigureXmlOutput(); #if GTEST_CAN_STREAM_RESULTS_ // Configures listeners for streaming test results to the specified server. ConfigureStreamingOutput(); #endif // GTEST_CAN_STREAM_RESULTS_ } } // A predicate that checks the name of a TestCase against a known // value. // // This is used for implementation of the UnitTest class only. We put // it in the anonymous namespace to prevent polluting the outer // namespace. // // TestCaseNameIs is copyable. class TestCaseNameIs { public: // Constructor. explicit TestCaseNameIs(const std::string& name) : name_(name) {} // Returns true iff the name of test_case matches name_. bool operator()(const TestCase* test_case) const { return test_case != NULL && strcmp(test_case->name(), name_.c_str()) == 0; } private: std::string name_; }; // Finds and returns a TestCase with the given name. If one doesn't // exist, creates one and returns it. It's the CALLER'S // RESPONSIBILITY to ensure that this function is only called WHEN THE // TESTS ARE NOT SHUFFLED. // // Arguments: // // test_case_name: name of the test case // type_param: the name of the test case's type parameter, or NULL if // this is not a typed or a type-parameterized test case. // set_up_tc: pointer to the function that sets up the test case // tear_down_tc: pointer to the function that tears down the test case TestCase* UnitTestImpl::GetTestCase(const char* test_case_name, const char* type_param, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc) { // Can we find a TestCase with the given name? const std::vector::const_iterator test_case = std::find_if(test_cases_.begin(), test_cases_.end(), TestCaseNameIs(test_case_name)); if (test_case != test_cases_.end()) return *test_case; // No. Let's create one. TestCase* const new_test_case = new TestCase(test_case_name, type_param, set_up_tc, tear_down_tc); // Is this a death test case? if (internal::UnitTestOptions::MatchesFilter(test_case_name, kDeathTestCaseFilter)) { // Yes. Inserts the test case after the last death test case // defined so far. This only works when the test cases haven't // been shuffled. Otherwise we may end up running a death test // after a non-death test. ++last_death_test_case_; test_cases_.insert(test_cases_.begin() + last_death_test_case_, new_test_case); } else { // No. Appends to the end of the list. test_cases_.push_back(new_test_case); } test_case_indices_.push_back(static_cast(test_case_indices_.size())); return new_test_case; } // Helpers for setting up / tearing down the given environment. They // are for use in the ForEach() function. static void SetUpEnvironment(Environment* env) { env->SetUp(); } static void TearDownEnvironment(Environment* env) { env->TearDown(); } // Runs all tests in this UnitTest object, prints the result, and // returns true if all tests are successful. If any exception is // thrown during a test, the test is considered to be failed, but the // rest of the tests will still be run. // // When parameterized tests are enabled, it expands and registers // parameterized tests first in RegisterParameterizedTests(). // All other functions called from RunAllTests() may safely assume that // parameterized tests are ready to be counted and run. bool UnitTestImpl::RunAllTests() { // Makes sure InitGoogleTest() was called. if (!GTestIsInitialized()) { printf("%s", "\nThis test program did NOT call ::testing::InitGoogleTest " "before calling RUN_ALL_TESTS(). Please fix it.\n"); return false; } // Do not run any test if the --help flag was specified. if (g_help_flag) return true; // Repeats the call to the post-flag parsing initialization in case the // user didn't call InitGoogleTest. PostFlagParsingInit(); // Even if sharding is not on, test runners may want to use the // GTEST_SHARD_STATUS_FILE to query whether the test supports the sharding // protocol. internal::WriteToShardStatusFileIfNeeded(); // True iff we are in a subprocess for running a thread-safe-style // death test. bool in_subprocess_for_death_test = false; #if GTEST_HAS_DEATH_TEST in_subprocess_for_death_test = (internal_run_death_test_flag_.get() != NULL); #endif // GTEST_HAS_DEATH_TEST const bool should_shard = ShouldShard(kTestTotalShards, kTestShardIndex, in_subprocess_for_death_test); // Compares the full test names with the filter to decide which // tests to run. const bool has_tests_to_run = FilterTests(should_shard ? HONOR_SHARDING_PROTOCOL : IGNORE_SHARDING_PROTOCOL) > 0; // Lists the tests and exits if the --gtest_list_tests flag was specified. if (GTEST_FLAG(list_tests)) { // This must be called *after* FilterTests() has been called. ListTestsMatchingFilter(); return true; } random_seed_ = GTEST_FLAG(shuffle) ? GetRandomSeedFromFlag(GTEST_FLAG(random_seed)) : 0; // True iff at least one test has failed. bool failed = false; TestEventListener* repeater = listeners()->repeater(); start_timestamp_ = GetTimeInMillis(); repeater->OnTestProgramStart(*parent_); // How many times to repeat the tests? We don't want to repeat them // when we are inside the subprocess of a death test. const int repeat = in_subprocess_for_death_test ? 1 : GTEST_FLAG(repeat); // Repeats forever if the repeat count is negative. const bool forever = repeat < 0; for (int i = 0; forever || i != repeat; i++) { // We want to preserve failures generated by ad-hoc test // assertions executed before RUN_ALL_TESTS(). ClearNonAdHocTestResult(); const TimeInMillis start = GetTimeInMillis(); // Shuffles test cases and tests if requested. if (has_tests_to_run && GTEST_FLAG(shuffle)) { random()->Reseed(random_seed_); // This should be done before calling OnTestIterationStart(), // such that a test event listener can see the actual test order // in the event. ShuffleTests(); } // Tells the unit test event listeners that the tests are about to start. repeater->OnTestIterationStart(*parent_, i); // Runs each test case if there is at least one test to run. if (has_tests_to_run) { // Sets up all environments beforehand. repeater->OnEnvironmentsSetUpStart(*parent_); ForEach(environments_, SetUpEnvironment); repeater->OnEnvironmentsSetUpEnd(*parent_); // Runs the tests only if there was no fatal failure during global // set-up. if (!Test::HasFatalFailure()) { for (int test_index = 0; test_index < total_test_case_count(); test_index++) { GetMutableTestCase(test_index)->Run(); } } // Tears down all environments in reverse order afterwards. repeater->OnEnvironmentsTearDownStart(*parent_); std::for_each(environments_.rbegin(), environments_.rend(), TearDownEnvironment); repeater->OnEnvironmentsTearDownEnd(*parent_); } elapsed_time_ = GetTimeInMillis() - start; // Tells the unit test event listener that the tests have just finished. repeater->OnTestIterationEnd(*parent_, i); // Gets the result and clears it. if (!Passed()) { failed = true; } // Restores the original test order after the iteration. This // allows the user to quickly repro a failure that happens in the // N-th iteration without repeating the first (N - 1) iterations. // This is not enclosed in "if (GTEST_FLAG(shuffle)) { ... }", in // case the user somehow changes the value of the flag somewhere // (it's always safe to unshuffle the tests). UnshuffleTests(); if (GTEST_FLAG(shuffle)) { // Picks a new random seed for each iteration. random_seed_ = GetNextRandomSeed(random_seed_); } } repeater->OnTestProgramEnd(*parent_); return !failed; } // Reads the GTEST_SHARD_STATUS_FILE environment variable, and creates the file // if the variable is present. If a file already exists at this location, this // function will write over it. If the variable is present, but the file cannot // be created, prints an error and exits. void WriteToShardStatusFileIfNeeded() { const char* const test_shard_file = posix::GetEnv(kTestShardStatusFile); if (test_shard_file != NULL) { FILE* const file = posix::FOpen(test_shard_file, "w"); if (file == NULL) { ColoredPrintf(COLOR_RED, "Could not write to the test shard status file \"%s\" " "specified by the %s environment variable.\n", test_shard_file, kTestShardStatusFile); fflush(stdout); exit(EXIT_FAILURE); } fclose(file); } } // Checks whether sharding is enabled by examining the relevant // environment variable values. If the variables are present, // but inconsistent (i.e., shard_index >= total_shards), prints // an error and exits. If in_subprocess_for_death_test, sharding is // disabled because it must only be applied to the original test // process. Otherwise, we could filter out death tests we intended to execute. bool ShouldShard(const char* total_shards_env, const char* shard_index_env, bool in_subprocess_for_death_test) { if (in_subprocess_for_death_test) { return false; } const Int32 total_shards = Int32FromEnvOrDie(total_shards_env, -1); const Int32 shard_index = Int32FromEnvOrDie(shard_index_env, -1); if (total_shards == -1 && shard_index == -1) { return false; } else if (total_shards == -1 && shard_index != -1) { const Message msg = Message() << "Invalid environment variables: you have " << kTestShardIndex << " = " << shard_index << ", but have left " << kTestTotalShards << " unset.\n"; ColoredPrintf(COLOR_RED, msg.GetString().c_str()); fflush(stdout); exit(EXIT_FAILURE); } else if (total_shards != -1 && shard_index == -1) { const Message msg = Message() << "Invalid environment variables: you have " << kTestTotalShards << " = " << total_shards << ", but have left " << kTestShardIndex << " unset.\n"; ColoredPrintf(COLOR_RED, msg.GetString().c_str()); fflush(stdout); exit(EXIT_FAILURE); } else if (shard_index < 0 || shard_index >= total_shards) { const Message msg = Message() << "Invalid environment variables: we require 0 <= " << kTestShardIndex << " < " << kTestTotalShards << ", but you have " << kTestShardIndex << "=" << shard_index << ", " << kTestTotalShards << "=" << total_shards << ".\n"; ColoredPrintf(COLOR_RED, msg.GetString().c_str()); fflush(stdout); exit(EXIT_FAILURE); } return total_shards > 1; } // Parses the environment variable var as an Int32. If it is unset, // returns default_val. If it is not an Int32, prints an error // and aborts. Int32 Int32FromEnvOrDie(const char* var, Int32 default_val) { const char* str_val = posix::GetEnv(var); if (str_val == NULL) { return default_val; } Int32 result; if (!ParseInt32(Message() << "The value of environment variable " << var, str_val, &result)) { exit(EXIT_FAILURE); } return result; } // Given the total number of shards, the shard index, and the test id, // returns true iff the test should be run on this shard. The test id is // some arbitrary but unique non-negative integer assigned to each test // method. Assumes that 0 <= shard_index < total_shards. bool ShouldRunTestOnShard(int total_shards, int shard_index, int test_id) { return (test_id % total_shards) == shard_index; } // Compares the name of each test with the user-specified filter to // decide whether the test should be run, then records the result in // each TestCase and TestInfo object. // If shard_tests == true, further filters tests based on sharding // variables in the environment - see // http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide. // Returns the number of tests that should run. int UnitTestImpl::FilterTests(ReactionToSharding shard_tests) { const Int32 total_shards = shard_tests == HONOR_SHARDING_PROTOCOL ? Int32FromEnvOrDie(kTestTotalShards, -1) : -1; const Int32 shard_index = shard_tests == HONOR_SHARDING_PROTOCOL ? Int32FromEnvOrDie(kTestShardIndex, -1) : -1; // num_runnable_tests are the number of tests that will // run across all shards (i.e., match filter and are not disabled). // num_selected_tests are the number of tests to be run on // this shard. int num_runnable_tests = 0; int num_selected_tests = 0; for (size_t i = 0; i < test_cases_.size(); i++) { TestCase* const test_case = test_cases_[i]; const std::string &test_case_name = test_case->name(); test_case->set_should_run(false); for (size_t j = 0; j < test_case->test_info_list().size(); j++) { TestInfo* const test_info = test_case->test_info_list()[j]; const std::string test_name(test_info->name()); // A test is disabled if test case name or test name matches // kDisableTestFilter. const bool is_disabled = internal::UnitTestOptions::MatchesFilter(test_case_name, kDisableTestFilter) || internal::UnitTestOptions::MatchesFilter(test_name, kDisableTestFilter); test_info->is_disabled_ = is_disabled; const bool matches_filter = internal::UnitTestOptions::FilterMatchesTest(test_case_name, test_name); test_info->matches_filter_ = matches_filter; const bool is_runnable = (GTEST_FLAG(also_run_disabled_tests) || !is_disabled) && matches_filter; const bool is_selected = is_runnable && (shard_tests == IGNORE_SHARDING_PROTOCOL || ShouldRunTestOnShard(total_shards, shard_index, num_runnable_tests)); num_runnable_tests += is_runnable; num_selected_tests += is_selected; test_info->should_run_ = is_selected; test_case->set_should_run(test_case->should_run() || is_selected); } } return num_selected_tests; } // Prints the given C-string on a single line by replacing all '\n' // characters with string "\\n". If the output takes more than // max_length characters, only prints the first max_length characters // and "...". static void PrintOnOneLine(const char* str, int max_length) { if (str != NULL) { for (int i = 0; *str != '\0'; ++str) { if (i >= max_length) { printf("..."); break; } if (*str == '\n') { printf("\\n"); i += 2; } else { printf("%c", *str); ++i; } } } } // Prints the names of the tests matching the user-specified filter flag. void UnitTestImpl::ListTestsMatchingFilter() { // Print at most this many characters for each type/value parameter. const int kMaxParamLength = 250; for (size_t i = 0; i < test_cases_.size(); i++) { const TestCase* const test_case = test_cases_[i]; bool printed_test_case_name = false; for (size_t j = 0; j < test_case->test_info_list().size(); j++) { const TestInfo* const test_info = test_case->test_info_list()[j]; if (test_info->matches_filter_) { if (!printed_test_case_name) { printed_test_case_name = true; printf("%s.", test_case->name()); if (test_case->type_param() != NULL) { printf(" # %s = ", kTypeParamLabel); // We print the type parameter on a single line to make // the output easy to parse by a program. PrintOnOneLine(test_case->type_param(), kMaxParamLength); } printf("\n"); } printf(" %s", test_info->name()); if (test_info->value_param() != NULL) { printf(" # %s = ", kValueParamLabel); // We print the value parameter on a single line to make the // output easy to parse by a program. PrintOnOneLine(test_info->value_param(), kMaxParamLength); } printf("\n"); } } } fflush(stdout); } // Sets the OS stack trace getter. // // Does nothing if the input and the current OS stack trace getter are // the same; otherwise, deletes the old getter and makes the input the // current getter. void UnitTestImpl::set_os_stack_trace_getter( OsStackTraceGetterInterface* getter) { if (os_stack_trace_getter_ != getter) { delete os_stack_trace_getter_; os_stack_trace_getter_ = getter; } } // Returns the current OS stack trace getter if it is not NULL; // otherwise, creates an OsStackTraceGetter, makes it the current // getter, and returns it. OsStackTraceGetterInterface* UnitTestImpl::os_stack_trace_getter() { if (os_stack_trace_getter_ == NULL) { os_stack_trace_getter_ = new OsStackTraceGetter; } return os_stack_trace_getter_; } // Returns the TestResult for the test that's currently running, or // the TestResult for the ad hoc test if no test is running. TestResult* UnitTestImpl::current_test_result() { return current_test_info_ ? &(current_test_info_->result_) : &ad_hoc_test_result_; } // Shuffles all test cases, and the tests within each test case, // making sure that death tests are still run first. void UnitTestImpl::ShuffleTests() { // Shuffles the death test cases. ShuffleRange(random(), 0, last_death_test_case_ + 1, &test_case_indices_); // Shuffles the non-death test cases. ShuffleRange(random(), last_death_test_case_ + 1, static_cast(test_cases_.size()), &test_case_indices_); // Shuffles the tests inside each test case. for (size_t i = 0; i < test_cases_.size(); i++) { test_cases_[i]->ShuffleTests(random()); } } // Restores the test cases and tests to their order before the first shuffle. void UnitTestImpl::UnshuffleTests() { for (size_t i = 0; i < test_cases_.size(); i++) { // Unshuffles the tests in each test case. test_cases_[i]->UnshuffleTests(); // Resets the index of each test case. test_case_indices_[i] = static_cast(i); } } // Returns the current OS stack trace as an std::string. // // The maximum number of stack frames to be included is specified by // the gtest_stack_trace_depth flag. The skip_count parameter // specifies the number of top frames to be skipped, which doesn't // count against the number of frames to be included. // // For example, if Foo() calls Bar(), which in turn calls // GetCurrentOsStackTraceExceptTop(..., 1), Foo() will be included in // the trace but Bar() and GetCurrentOsStackTraceExceptTop() won't. std::string GetCurrentOsStackTraceExceptTop(UnitTest* /*unit_test*/, int skip_count) { // We pass skip_count + 1 to skip this wrapper function in addition // to what the user really wants to skip. return GetUnitTestImpl()->CurrentOsStackTraceExceptTop(skip_count + 1); } // Used by the GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_ macro to // suppress unreachable code warnings. namespace { class ClassUniqueToAlwaysTrue {}; } bool IsTrue(bool condition) { return condition; } bool AlwaysTrue() { #if GTEST_HAS_EXCEPTIONS // This condition is always false so AlwaysTrue() never actually throws, // but it makes the compiler think that it may throw. if (IsTrue(false)) throw ClassUniqueToAlwaysTrue(); #endif // GTEST_HAS_EXCEPTIONS return true; } // If *pstr starts with the given prefix, modifies *pstr to be right // past the prefix and returns true; otherwise leaves *pstr unchanged // and returns false. None of pstr, *pstr, and prefix can be NULL. bool SkipPrefix(const char* prefix, const char** pstr) { const size_t prefix_len = strlen(prefix); if (strncmp(*pstr, prefix, prefix_len) == 0) { *pstr += prefix_len; return true; } return false; } // Parses a string as a command line flag. The string should have // the format "--flag=value". When def_optional is true, the "=value" // part can be omitted. // // Returns the value of the flag, or NULL if the parsing failed. const char* ParseFlagValue(const char* str, const char* flag, bool def_optional) { // str and flag must not be NULL. if (str == NULL || flag == NULL) return NULL; // The flag must start with "--" followed by GTEST_FLAG_PREFIX_. const std::string flag_str = std::string("--") + GTEST_FLAG_PREFIX_ + flag; const size_t flag_len = flag_str.length(); if (strncmp(str, flag_str.c_str(), flag_len) != 0) return NULL; // Skips the flag name. const char* flag_end = str + flag_len; // When def_optional is true, it's OK to not have a "=value" part. if (def_optional && (flag_end[0] == '\0')) { return flag_end; } // If def_optional is true and there are more characters after the // flag name, or if def_optional is false, there must be a '=' after // the flag name. if (flag_end[0] != '=') return NULL; // Returns the string after "=". return flag_end + 1; } // Parses a string for a bool flag, in the form of either // "--flag=value" or "--flag". // // In the former case, the value is taken as true as long as it does // not start with '0', 'f', or 'F'. // // In the latter case, the value is taken as true. // // On success, stores the value of the flag in *value, and returns // true. On failure, returns false without changing *value. bool ParseBoolFlag(const char* str, const char* flag, bool* value) { // Gets the value of the flag as a string. const char* const value_str = ParseFlagValue(str, flag, true); // Aborts if the parsing failed. if (value_str == NULL) return false; // Converts the string value to a bool. *value = !(*value_str == '0' || *value_str == 'f' || *value_str == 'F'); return true; } // Parses a string for an Int32 flag, in the form of // "--flag=value". // // On success, stores the value of the flag in *value, and returns // true. On failure, returns false without changing *value. bool ParseInt32Flag(const char* str, const char* flag, Int32* value) { // Gets the value of the flag as a string. const char* const value_str = ParseFlagValue(str, flag, false); // Aborts if the parsing failed. if (value_str == NULL) return false; // Sets *value to the value of the flag. return ParseInt32(Message() << "The value of flag --" << flag, value_str, value); } // Parses a string for a string flag, in the form of // "--flag=value". // // On success, stores the value of the flag in *value, and returns // true. On failure, returns false without changing *value. bool ParseStringFlag(const char* str, const char* flag, std::string* value) { // Gets the value of the flag as a string. const char* const value_str = ParseFlagValue(str, flag, false); // Aborts if the parsing failed. if (value_str == NULL) return false; // Sets *value to the value of the flag. *value = value_str; return true; } // Determines whether a string has a prefix that Google Test uses for its // flags, i.e., starts with GTEST_FLAG_PREFIX_ or GTEST_FLAG_PREFIX_DASH_. // If Google Test detects that a command line flag has its prefix but is not // recognized, it will print its help message. Flags starting with // GTEST_INTERNAL_PREFIX_ followed by "internal_" are considered Google Test // internal flags and do not trigger the help message. static bool HasGoogleTestFlagPrefix(const char* str) { return (SkipPrefix("--", &str) || SkipPrefix("-", &str) || SkipPrefix("/", &str)) && !SkipPrefix(GTEST_FLAG_PREFIX_ "internal_", &str) && (SkipPrefix(GTEST_FLAG_PREFIX_, &str) || SkipPrefix(GTEST_FLAG_PREFIX_DASH_, &str)); } // Prints a string containing code-encoded text. The following escape // sequences can be used in the string to control the text color: // // @@ prints a single '@' character. // @R changes the color to red. // @G changes the color to green. // @Y changes the color to yellow. // @D changes to the default terminal text color. // // TODO(wan@google.com): Write tests for this once we add stdout // capturing to Google Test. static void PrintColorEncoded(const char* str) { GTestColor color = COLOR_DEFAULT; // The current color. // Conceptually, we split the string into segments divided by escape // sequences. Then we print one segment at a time. At the end of // each iteration, the str pointer advances to the beginning of the // next segment. for (;;) { const char* p = strchr(str, '@'); if (p == NULL) { ColoredPrintf(color, "%s", str); return; } ColoredPrintf(color, "%s", std::string(str, p).c_str()); const char ch = p[1]; str = p + 2; if (ch == '@') { ColoredPrintf(color, "@"); } else if (ch == 'D') { color = COLOR_DEFAULT; } else if (ch == 'R') { color = COLOR_RED; } else if (ch == 'G') { color = COLOR_GREEN; } else if (ch == 'Y') { color = COLOR_YELLOW; } else { --str; } } } static const char kColorEncodedHelpMessage[] = "This program contains tests written using " GTEST_NAME_ ". You can use the\n" "following command line flags to control its behavior:\n" "\n" "Test Selection:\n" " @G--" GTEST_FLAG_PREFIX_ "list_tests@D\n" " List the names of all tests instead of running them. The name of\n" " TEST(Foo, Bar) is \"Foo.Bar\".\n" " @G--" GTEST_FLAG_PREFIX_ "filter=@YPOSTIVE_PATTERNS" "[@G-@YNEGATIVE_PATTERNS]@D\n" " Run only the tests whose name matches one of the positive patterns but\n" " none of the negative patterns. '?' matches any single character; '*'\n" " matches any substring; ':' separates two patterns.\n" " @G--" GTEST_FLAG_PREFIX_ "also_run_disabled_tests@D\n" " Run all disabled tests too.\n" "\n" "Test Execution:\n" " @G--" GTEST_FLAG_PREFIX_ "repeat=@Y[COUNT]@D\n" " Run the tests repeatedly; use a negative count to repeat forever.\n" " @G--" GTEST_FLAG_PREFIX_ "shuffle@D\n" " Randomize tests' orders on every iteration.\n" " @G--" GTEST_FLAG_PREFIX_ "random_seed=@Y[NUMBER]@D\n" " Random number seed to use for shuffling test orders (between 1 and\n" " 99999, or 0 to use a seed based on the current time).\n" "\n" "Test Output:\n" " @G--" GTEST_FLAG_PREFIX_ "color=@Y(@Gyes@Y|@Gno@Y|@Gauto@Y)@D\n" " Enable/disable colored output. The default is @Gauto@D.\n" " -@G-" GTEST_FLAG_PREFIX_ "print_time=0@D\n" " Don't print the elapsed time of each test.\n" " @G--" GTEST_FLAG_PREFIX_ "output=xml@Y[@G:@YDIRECTORY_PATH@G" GTEST_PATH_SEP_ "@Y|@G:@YFILE_PATH]@D\n" " Generate an XML report in the given directory or with the given file\n" " name. @YFILE_PATH@D defaults to @Gtest_details.xml@D.\n" #if GTEST_CAN_STREAM_RESULTS_ " @G--" GTEST_FLAG_PREFIX_ "stream_result_to=@YHOST@G:@YPORT@D\n" " Stream test results to the given server.\n" #endif // GTEST_CAN_STREAM_RESULTS_ "\n" "Assertion Behavior:\n" #if GTEST_HAS_DEATH_TEST && !GTEST_OS_WINDOWS " @G--" GTEST_FLAG_PREFIX_ "death_test_style=@Y(@Gfast@Y|@Gthreadsafe@Y)@D\n" " Set the default death test style.\n" #endif // GTEST_HAS_DEATH_TEST && !GTEST_OS_WINDOWS " @G--" GTEST_FLAG_PREFIX_ "break_on_failure@D\n" " Turn assertion failures into debugger break-points.\n" " @G--" GTEST_FLAG_PREFIX_ "throw_on_failure@D\n" " Turn assertion failures into C++ exceptions.\n" " @G--" GTEST_FLAG_PREFIX_ "catch_exceptions=0@D\n" " Do not report exceptions as test failures. Instead, allow them\n" " to crash the program or throw a pop-up (on Windows).\n" "\n" "Except for @G--" GTEST_FLAG_PREFIX_ "list_tests@D, you can alternatively set " "the corresponding\n" "environment variable of a flag (all letters in upper-case). For example, to\n" "disable colored text output, you can either specify @G--" GTEST_FLAG_PREFIX_ "color=no@D or set\n" "the @G" GTEST_FLAG_PREFIX_UPPER_ "COLOR@D environment variable to @Gno@D.\n" "\n" "For more information, please read the " GTEST_NAME_ " documentation at\n" "@G" GTEST_PROJECT_URL_ "@D. If you find a bug in " GTEST_NAME_ "\n" "(not one in your own code or tests), please report it to\n" "@G<" GTEST_DEV_EMAIL_ ">@D.\n"; // Parses the command line for Google Test flags, without initializing // other parts of Google Test. The type parameter CharType can be // instantiated to either char or wchar_t. template void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) { for (int i = 1; i < *argc; i++) { const std::string arg_string = StreamableToString(argv[i]); const char* const arg = arg_string.c_str(); using internal::ParseBoolFlag; using internal::ParseInt32Flag; using internal::ParseStringFlag; // Do we see a Google Test flag? if (ParseBoolFlag(arg, kAlsoRunDisabledTestsFlag, >EST_FLAG(also_run_disabled_tests)) || ParseBoolFlag(arg, kBreakOnFailureFlag, >EST_FLAG(break_on_failure)) || ParseBoolFlag(arg, kCatchExceptionsFlag, >EST_FLAG(catch_exceptions)) || ParseStringFlag(arg, kColorFlag, >EST_FLAG(color)) || ParseStringFlag(arg, kDeathTestStyleFlag, >EST_FLAG(death_test_style)) || ParseBoolFlag(arg, kDeathTestUseFork, >EST_FLAG(death_test_use_fork)) || ParseStringFlag(arg, kFilterFlag, >EST_FLAG(filter)) || ParseStringFlag(arg, kInternalRunDeathTestFlag, >EST_FLAG(internal_run_death_test)) || ParseBoolFlag(arg, kListTestsFlag, >EST_FLAG(list_tests)) || ParseStringFlag(arg, kOutputFlag, >EST_FLAG(output)) || ParseBoolFlag(arg, kPrintTimeFlag, >EST_FLAG(print_time)) || ParseInt32Flag(arg, kRandomSeedFlag, >EST_FLAG(random_seed)) || ParseInt32Flag(arg, kRepeatFlag, >EST_FLAG(repeat)) || ParseBoolFlag(arg, kShuffleFlag, >EST_FLAG(shuffle)) || ParseInt32Flag(arg, kStackTraceDepthFlag, >EST_FLAG(stack_trace_depth)) || ParseStringFlag(arg, kStreamResultToFlag, >EST_FLAG(stream_result_to)) || ParseBoolFlag(arg, kThrowOnFailureFlag, >EST_FLAG(throw_on_failure)) ) { // Yes. Shift the remainder of the argv list left by one. Note // that argv has (*argc + 1) elements, the last one always being // NULL. The following loop moves the trailing NULL element as // well. for (int j = i; j != *argc; j++) { argv[j] = argv[j + 1]; } // Decrements the argument count. (*argc)--; // We also need to decrement the iterator as we just removed // an element. i--; } else if (arg_string == "--help" || arg_string == "-h" || arg_string == "-?" || arg_string == "/?" || HasGoogleTestFlagPrefix(arg)) { // Both help flag and unrecognized Google Test flags (excluding // internal ones) trigger help display. g_help_flag = true; } } if (g_help_flag) { // We print the help here instead of in RUN_ALL_TESTS(), as the // latter may not be called at all if the user is using Google // Test with another testing framework. PrintColorEncoded(kColorEncodedHelpMessage); } } // Parses the command line for Google Test flags, without initializing // other parts of Google Test. void ParseGoogleTestFlagsOnly(int* argc, char** argv) { ParseGoogleTestFlagsOnlyImpl(argc, argv); } void ParseGoogleTestFlagsOnly(int* argc, wchar_t** argv) { ParseGoogleTestFlagsOnlyImpl(argc, argv); } // The internal implementation of InitGoogleTest(). // // The type parameter CharType can be instantiated to either char or // wchar_t. template void InitGoogleTestImpl(int* argc, CharType** argv) { g_init_gtest_count++; // We don't want to run the initialization code twice. if (g_init_gtest_count != 1) return; if (*argc <= 0) return; internal::g_executable_path = internal::StreamableToString(argv[0]); #if GTEST_HAS_DEATH_TEST g_argvs.clear(); for (int i = 0; i != *argc; i++) { g_argvs.push_back(StreamableToString(argv[i])); } #endif // GTEST_HAS_DEATH_TEST ParseGoogleTestFlagsOnly(argc, argv); GetUnitTestImpl()->PostFlagParsingInit(); } } // namespace internal // Initializes Google Test. This must be called before calling // RUN_ALL_TESTS(). In particular, it parses a command line for the // flags that Google Test recognizes. Whenever a Google Test flag is // seen, it is removed from argv, and *argc is decremented. // // No value is returned. Instead, the Google Test flag variables are // updated. // // Calling the function for the second time has no user-visible effect. void InitGoogleTest(int* argc, char** argv) { internal::InitGoogleTestImpl(argc, argv); } // This overloaded version can be used in Windows programs compiled in // UNICODE mode. void InitGoogleTest(int* argc, wchar_t** argv) { internal::InitGoogleTestImpl(argc, argv); } } // namespace testing stimfit-0.14.11/src/test/gtest/src/gtest-test-part.cc0000644000175200017520000001007712277666257017354 00000000000000// Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: mheule@google.com (Markus Heule) // // The Google C++ Testing Framework (Google Test) #include "gtest/gtest-test-part.h" // Indicates that this translation unit is part of Google Test's // implementation. It must come before gtest-internal-inl.h is // included, or there will be a compiler error. This trick is to // prevent a user from accidentally including gtest-internal-inl.h in // his code. #define GTEST_IMPLEMENTATION_ 1 #include "src/gtest-internal-inl.h" #undef GTEST_IMPLEMENTATION_ namespace testing { using internal::GetUnitTestImpl; // Gets the summary of the failure message by omitting the stack trace // in it. std::string TestPartResult::ExtractSummary(const char* message) { const char* const stack_trace = strstr(message, internal::kStackTraceMarker); return stack_trace == NULL ? message : std::string(message, stack_trace); } // Prints a TestPartResult object. std::ostream& operator<<(std::ostream& os, const TestPartResult& result) { return os << result.file_name() << ":" << result.line_number() << ": " << (result.type() == TestPartResult::kSuccess ? "Success" : result.type() == TestPartResult::kFatalFailure ? "Fatal failure" : "Non-fatal failure") << ":\n" << result.message() << std::endl; } // Appends a TestPartResult to the array. void TestPartResultArray::Append(const TestPartResult& result) { array_.push_back(result); } // Returns the TestPartResult at the given index (0-based). const TestPartResult& TestPartResultArray::GetTestPartResult(int index) const { if (index < 0 || index >= size()) { printf("\nInvalid index (%d) into TestPartResultArray.\n", index); internal::posix::Abort(); } return array_[index]; } // Returns the number of TestPartResult objects in the array. int TestPartResultArray::size() const { return static_cast(array_.size()); } namespace internal { HasNewFatalFailureHelper::HasNewFatalFailureHelper() : has_new_fatal_failure_(false), original_reporter_(GetUnitTestImpl()-> GetTestPartResultReporterForCurrentThread()) { GetUnitTestImpl()->SetTestPartResultReporterForCurrentThread(this); } HasNewFatalFailureHelper::~HasNewFatalFailureHelper() { GetUnitTestImpl()->SetTestPartResultReporterForCurrentThread( original_reporter_); } void HasNewFatalFailureHelper::ReportTestPartResult( const TestPartResult& result) { if (result.fatally_failed()) has_new_fatal_failure_ = true; original_reporter_->ReportTestPartResult(result); } } // namespace internal } // namespace testing stimfit-0.14.11/src/test/gtest/README0000644000175200017520000003733212277666257014072 00000000000000Google C++ Testing Framework ============================ http://code.google.com/p/googletest/ Overview -------- Google's framework for writing C++ tests on a variety of platforms (Linux, Mac OS X, Windows, Windows CE, Symbian, etc). Based on the xUnit architecture. Supports automatic test discovery, a rich set of assertions, user-defined assertions, death tests, fatal and non-fatal failures, various options for running the tests, and XML test report generation. Please see the project page above for more information as well as the mailing list for questions, discussions, and development. There is also an IRC channel on OFTC (irc.oftc.net) #gtest available. Please join us! Requirements for End Users -------------------------- Google Test is designed to have fairly minimal requirements to build and use with your projects, but there are some. Currently, we support Linux, Windows, Mac OS X, and Cygwin. We will also make our best effort to support other platforms (e.g. Solaris, AIX, and z/OS). However, since core members of the Google Test project have no access to these platforms, Google Test may have outstanding issues there. If you notice any problems on your platform, please notify googletestframework@googlegroups.com. Patches for fixing them are even more welcome! ### Linux Requirements ### These are the base requirements to build and use Google Test from a source package (as described below): * GNU-compatible Make or gmake * POSIX-standard shell * POSIX(-2) Regular Expressions (regex.h) * A C++98-standard-compliant compiler ### Windows Requirements ### * Microsoft Visual C++ 7.1 or newer ### Cygwin Requirements ### * Cygwin 1.5.25-14 or newer ### Mac OS X Requirements ### * Mac OS X 10.4 Tiger or newer * Developer Tools Installed Also, you'll need CMake 2.6.4 or higher if you want to build the samples using the provided CMake script, regardless of the platform. Requirements for Contributors ----------------------------- We welcome patches. If you plan to contribute a patch, you need to build Google Test and its own tests from an SVN checkout (described below), which has further requirements: * Python version 2.3 or newer (for running some of the tests and re-generating certain source files from templates) * CMake 2.6.4 or newer Getting the Source ------------------ There are two primary ways of getting Google Test's source code: you can download a stable source release in your preferred archive format, or directly check out the source from our Subversion (SVN) repositary. The SVN checkout requires a few extra steps and some extra software packages on your system, but lets you track the latest development and make patches much more easily, so we highly encourage it. ### Source Package ### Google Test is released in versioned source packages which can be downloaded from the download page [1]. Several different archive formats are provided, but the only difference is the tools used to manipulate them, and the size of the resulting file. Download whichever you are most comfortable with. [1] http://code.google.com/p/googletest/downloads/list Once the package is downloaded, expand it using whichever tools you prefer for that type. This will result in a new directory with the name "gtest-X.Y.Z" which contains all of the source code. Here are some examples on Linux: tar -xvzf gtest-X.Y.Z.tar.gz tar -xvjf gtest-X.Y.Z.tar.bz2 unzip gtest-X.Y.Z.zip ### SVN Checkout ### To check out the main branch (also known as the "trunk") of Google Test, run the following Subversion command: svn checkout http://googletest.googlecode.com/svn/trunk/ gtest-svn Setting up the Build -------------------- To build Google Test and your tests that use it, you need to tell your build system where to find its headers and source files. The exact way to do it depends on which build system you use, and is usually straightforward. ### Generic Build Instructions ### Suppose you put Google Test in directory ${GTEST_DIR}. To build it, create a library build target (or a project as called by Visual Studio and Xcode) to compile ${GTEST_DIR}/src/gtest-all.cc with ${GTEST_DIR}/include in the system header search path and ${GTEST_DIR} in the normal header search path. Assuming a Linux-like system and gcc, something like the following will do: g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \ -pthread -c ${GTEST_DIR}/src/gtest-all.cc ar -rv libgtest.a gtest-all.o (We need -pthread as Google Test uses threads.) Next, you should compile your test source file with ${GTEST_DIR}/include in the system header search path, and link it with gtest and any other necessary libraries: g++ -isystem ${GTEST_DIR}/include -pthread path/to/your_test.cc libgtest.a \ -o your_test As an example, the make/ directory contains a Makefile that you can use to build Google Test on systems where GNU make is available (e.g. Linux, Mac OS X, and Cygwin). It doesn't try to build Google Test's own tests. Instead, it just builds the Google Test library and a sample test. You can use it as a starting point for your own build script. If the default settings are correct for your environment, the following commands should succeed: cd ${GTEST_DIR}/make make ./sample1_unittest If you see errors, try to tweak the contents of make/Makefile to make them go away. There are instructions in make/Makefile on how to do it. ### Using CMake ### Google Test comes with a CMake build script (CMakeLists.txt) that can be used on a wide range of platforms ("C" stands for cross-platofrm.). If you don't have CMake installed already, you can download it for free from http://www.cmake.org/. CMake works by generating native makefiles or build projects that can be used in the compiler environment of your choice. The typical workflow starts with: mkdir mybuild # Create a directory to hold the build output. cd mybuild cmake ${GTEST_DIR} # Generate native build scripts. If you want to build Google Test's samples, you should replace the last command with cmake -Dgtest_build_samples=ON ${GTEST_DIR} If you are on a *nix system, you should now see a Makefile in the current directory. Just type 'make' to build gtest. If you use Windows and have Vistual Studio installed, a gtest.sln file and several .vcproj files will be created. You can then build them using Visual Studio. On Mac OS X with Xcode installed, a .xcodeproj file will be generated. ### Legacy Build Scripts ### Before settling on CMake, we have been providing hand-maintained build projects/scripts for Visual Studio, Xcode, and Autotools. While we continue to provide them for convenience, they are not actively maintained any more. We highly recommend that you follow the instructions in the previous two sections to integrate Google Test with your existing build system. If you still need to use the legacy build scripts, here's how: The msvc\ folder contains two solutions with Visual C++ projects. Open the gtest.sln or gtest-md.sln file using Visual Studio, and you are ready to build Google Test the same way you build any Visual Studio project. Files that have names ending with -md use DLL versions of Microsoft runtime libraries (the /MD or the /MDd compiler option). Files without that suffix use static versions of the runtime libraries (the /MT or the /MTd option). Please note that one must use the same option to compile both gtest and the test code. If you use Visual Studio 2005 or above, we recommend the -md version as /MD is the default for new projects in these versions of Visual Studio. On Mac OS X, open the gtest.xcodeproj in the xcode/ folder using Xcode. Build the "gtest" target. The universal binary framework will end up in your selected build directory (selected in the Xcode "Preferences..." -> "Building" pane and defaults to xcode/build). Alternatively, at the command line, enter: xcodebuild This will build the "Release" configuration of gtest.framework in your default build location. See the "xcodebuild" man page for more information about building different configurations and building in different locations. If you wish to use the Google Test Xcode project with Xcode 4.x and above, you need to either: * update the SDK configuration options in xcode/Config/General.xconfig. Comment options SDKROOT, MACOS_DEPLOYMENT_TARGET, and GCC_VERSION. If you choose this route you lose the ability to target earlier versions of MacOS X. * Install an SDK for an earlier version. This doesn't appear to be supported by Apple, but has been reported to work (http://stackoverflow.com/questions/5378518). Tweaking Google Test -------------------- Google Test can be used in diverse environments. The default configuration may not work (or may not work well) out of the box in some environments. However, you can easily tweak Google Test by defining control macros on the compiler command line. Generally, these macros are named like GTEST_XYZ and you define them to either 1 or 0 to enable or disable a certain feature. We list the most frequently used macros below. For a complete list, see file include/gtest/internal/gtest-port.h. ### Choosing a TR1 Tuple Library ### Some Google Test features require the C++ Technical Report 1 (TR1) tuple library, which is not yet available with all compilers. The good news is that Google Test implements a subset of TR1 tuple that's enough for its own need, and will automatically use this when the compiler doesn't provide TR1 tuple. Usually you don't need to care about which tuple library Google Test uses. However, if your project already uses TR1 tuple, you need to tell Google Test to use the same TR1 tuple library the rest of your project uses, or the two tuple implementations will clash. To do that, add -DGTEST_USE_OWN_TR1_TUPLE=0 to the compiler flags while compiling Google Test and your tests. If you want to force Google Test to use its own tuple library, just add -DGTEST_USE_OWN_TR1_TUPLE=1 to the compiler flags instead. If you don't want Google Test to use tuple at all, add -DGTEST_HAS_TR1_TUPLE=0 and all features using tuple will be disabled. ### Multi-threaded Tests ### Google Test is thread-safe where the pthread library is available. After #include "gtest/gtest.h", you can check the GTEST_IS_THREADSAFE macro to see whether this is the case (yes if the macro is #defined to 1, no if it's undefined.). If Google Test doesn't correctly detect whether pthread is available in your environment, you can force it with -DGTEST_HAS_PTHREAD=1 or -DGTEST_HAS_PTHREAD=0 When Google Test uses pthread, you may need to add flags to your compiler and/or linker to select the pthread library, or you'll get link errors. If you use the CMake script or the deprecated Autotools script, this is taken care of for you. If you use your own build script, you'll need to read your compiler and linker's manual to figure out what flags to add. ### As a Shared Library (DLL) ### Google Test is compact, so most users can build and link it as a static library for the simplicity. You can choose to use Google Test as a shared library (known as a DLL on Windows) if you prefer. To compile *gtest* as a shared library, add -DGTEST_CREATE_SHARED_LIBRARY=1 to the compiler flags. You'll also need to tell the linker to produce a shared library instead - consult your linker's manual for how to do it. To compile your *tests* that use the gtest shared library, add -DGTEST_LINKED_AS_SHARED_LIBRARY=1 to the compiler flags. Note: while the above steps aren't technically necessary today when using some compilers (e.g. GCC), they may become necessary in the future, if we decide to improve the speed of loading the library (see http://gcc.gnu.org/wiki/Visibility for details). Therefore you are recommended to always add the above flags when using Google Test as a shared library. Otherwise a future release of Google Test may break your build script. ### Avoiding Macro Name Clashes ### In C++, macros don't obey namespaces. Therefore two libraries that both define a macro of the same name will clash if you #include both definitions. In case a Google Test macro clashes with another library, you can force Google Test to rename its macro to avoid the conflict. Specifically, if both Google Test and some other code define macro FOO, you can add -DGTEST_DONT_DEFINE_FOO=1 to the compiler flags to tell Google Test to change the macro's name from FOO to GTEST_FOO. Currently FOO can be FAIL, SUCCEED, or TEST. For example, with -DGTEST_DONT_DEFINE_TEST=1, you'll need to write GTEST_TEST(SomeTest, DoesThis) { ... } instead of TEST(SomeTest, DoesThis) { ... } in order to define a test. Upgrating from an Earlier Version --------------------------------- We strive to keep Google Test releases backward compatible. Sometimes, though, we have to make some breaking changes for the users' long-term benefits. This section describes what you'll need to do if you are upgrading from an earlier version of Google Test. ### Upgrading from 1.3.0 or Earlier ### You may need to explicitly enable or disable Google Test's own TR1 tuple library. See the instructions in section "Choosing a TR1 Tuple Library". ### Upgrading from 1.4.0 or Earlier ### The Autotools build script (configure + make) is no longer officially supportted. You are encouraged to migrate to your own build system or use CMake. If you still need to use Autotools, you can find instructions in the README file from Google Test 1.4.0. On platforms where the pthread library is available, Google Test uses it in order to be thread-safe. See the "Multi-threaded Tests" section for what this means to your build script. If you use Microsoft Visual C++ 7.1 with exceptions disabled, Google Test will no longer compile. This should affect very few people, as a large portion of STL (including ) doesn't compile in this mode anyway. We decided to stop supporting it in order to greatly simplify Google Test's implementation. Developing Google Test ---------------------- This section discusses how to make your own changes to Google Test. ### Testing Google Test Itself ### To make sure your changes work as intended and don't break existing functionality, you'll want to compile and run Google Test's own tests. For that you can use CMake: mkdir mybuild cd mybuild cmake -Dgtest_build_tests=ON ${GTEST_DIR} Make sure you have Python installed, as some of Google Test's tests are written in Python. If the cmake command complains about not being able to find Python ("Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)"), try telling it explicitly where your Python executable can be found: cmake -DPYTHON_EXECUTABLE=path/to/python -Dgtest_build_tests=ON ${GTEST_DIR} Next, you can build Google Test and all of its own tests. On *nix, this is usually done by 'make'. To run the tests, do make test All tests should pass. ### Regenerating Source Files ### Some of Google Test's source files are generated from templates (not in the C++ sense) using a script. A template file is named FOO.pump, where FOO is the name of the file it will generate. For example, the file include/gtest/internal/gtest-type-util.h.pump is used to generate gtest-type-util.h in the same directory. Normally you don't need to worry about regenerating the source files, unless you need to modify them. In that case, you should modify the corresponding .pump files instead and run the pump.py Python script to regenerate them. You can find pump.py in the scripts/ directory. Read the Pump manual [2] for how to use it. [2] http://code.google.com/p/googletest/wiki/PumpManual ### Contributing a Patch ### We welcome patches. Please read the Google Test developer's guide [3] for how you can contribute. In particular, make sure you have signed the Contributor License Agreement, or we won't be able to accept the patch. [3] http://code.google.com/p/googletest/wiki/GoogleTestDevGuide Happy testing! stimfit-0.14.11/src/test/gtest/include/0000755000175200017520000000000012623045304014660 500000000000000stimfit-0.14.11/src/test/gtest/include/gtest/0000755000175200017520000000000012623045304016006 500000000000000stimfit-0.14.11/src/test/gtest/include/gtest/gtest.h0000644000175200017520000025456212277666257017270 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // // The Google C++ Testing Framework (Google Test) // // This header file defines the public API for Google Test. It should be // included by any test program that uses Google Test. // // IMPORTANT NOTE: Due to limitation of the C++ language, we have to // leave some internal implementation details in this header file. // They are clearly marked by comments like this: // // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. // // Such code is NOT meant to be used by a user directly, and is subject // to CHANGE WITHOUT NOTICE. Therefore DO NOT DEPEND ON IT in a user // program! // // Acknowledgment: Google Test borrowed the idea of automatic test // registration from Barthelemy Dagenais' (barthelemy@prologique.com) // easyUnit framework. #ifndef GTEST_INCLUDE_GTEST_GTEST_H_ #define GTEST_INCLUDE_GTEST_GTEST_H_ #include #include #include #include "gtest/internal/gtest-internal.h" #include "gtest/internal/gtest-string.h" #include "gtest/gtest-death-test.h" #include "gtest/gtest-message.h" #include "gtest/gtest-param-test.h" #include "gtest/gtest-printers.h" #include "gtest/gtest_prod.h" #include "gtest/gtest-test-part.h" #include "gtest/gtest-typed-test.h" // Depending on the platform, different string classes are available. // On Linux, in addition to ::std::string, Google also makes use of // class ::string, which has the same interface as ::std::string, but // has a different implementation. // // The user can define GTEST_HAS_GLOBAL_STRING to 1 to indicate that // ::string is available AND is a distinct type to ::std::string, or // define it to 0 to indicate otherwise. // // If the user's ::std::string and ::string are the same class due to // aliasing, he should define GTEST_HAS_GLOBAL_STRING to 0. // // If the user doesn't define GTEST_HAS_GLOBAL_STRING, it is defined // heuristically. namespace testing { // Declares the flags. // This flag temporary enables the disabled tests. GTEST_DECLARE_bool_(also_run_disabled_tests); // This flag brings the debugger on an assertion failure. GTEST_DECLARE_bool_(break_on_failure); // This flag controls whether Google Test catches all test-thrown exceptions // and logs them as failures. GTEST_DECLARE_bool_(catch_exceptions); // This flag enables using colors in terminal output. Available values are // "yes" to enable colors, "no" (disable colors), or "auto" (the default) // to let Google Test decide. GTEST_DECLARE_string_(color); // This flag sets up the filter to select by name using a glob pattern // the tests to run. If the filter is not given all tests are executed. GTEST_DECLARE_string_(filter); // This flag causes the Google Test to list tests. None of the tests listed // are actually run if the flag is provided. GTEST_DECLARE_bool_(list_tests); // This flag controls whether Google Test emits a detailed XML report to a file // in addition to its normal textual output. GTEST_DECLARE_string_(output); // This flags control whether Google Test prints the elapsed time for each // test. GTEST_DECLARE_bool_(print_time); // This flag specifies the random number seed. GTEST_DECLARE_int32_(random_seed); // This flag sets how many times the tests are repeated. The default value // is 1. If the value is -1 the tests are repeating forever. GTEST_DECLARE_int32_(repeat); // This flag controls whether Google Test includes Google Test internal // stack frames in failure stack traces. GTEST_DECLARE_bool_(show_internal_stack_frames); // When this flag is specified, tests' order is randomized on every iteration. GTEST_DECLARE_bool_(shuffle); // This flag specifies the maximum number of stack frames to be // printed in a failure message. GTEST_DECLARE_int32_(stack_trace_depth); // When this flag is specified, a failed assertion will throw an // exception if exceptions are enabled, or exit the program with a // non-zero code otherwise. GTEST_DECLARE_bool_(throw_on_failure); // When this flag is set with a "host:port" string, on supported // platforms test results are streamed to the specified port on // the specified host machine. GTEST_DECLARE_string_(stream_result_to); // The upper limit for valid stack trace depths. const int kMaxStackTraceDepth = 100; namespace internal { class AssertHelper; class DefaultGlobalTestPartResultReporter; class ExecDeathTest; class NoExecDeathTest; class FinalSuccessChecker; class GTestFlagSaver; class StreamingListenerTest; class TestResultAccessor; class TestEventListenersAccessor; class TestEventRepeater; class UnitTestRecordPropertyTestHelper; class WindowsDeathTest; class UnitTestImpl* GetUnitTestImpl(); void ReportFailureInUnknownLocation(TestPartResult::Type result_type, const std::string& message); } // namespace internal // The friend relationship of some of these classes is cyclic. // If we don't forward declare them the compiler might confuse the classes // in friendship clauses with same named classes on the scope. class Test; class TestCase; class TestInfo; class UnitTest; // A class for indicating whether an assertion was successful. When // the assertion wasn't successful, the AssertionResult object // remembers a non-empty message that describes how it failed. // // To create an instance of this class, use one of the factory functions // (AssertionSuccess() and AssertionFailure()). // // This class is useful for two purposes: // 1. Defining predicate functions to be used with Boolean test assertions // EXPECT_TRUE/EXPECT_FALSE and their ASSERT_ counterparts // 2. Defining predicate-format functions to be // used with predicate assertions (ASSERT_PRED_FORMAT*, etc). // // For example, if you define IsEven predicate: // // testing::AssertionResult IsEven(int n) { // if ((n % 2) == 0) // return testing::AssertionSuccess(); // else // return testing::AssertionFailure() << n << " is odd"; // } // // Then the failed expectation EXPECT_TRUE(IsEven(Fib(5))) // will print the message // // Value of: IsEven(Fib(5)) // Actual: false (5 is odd) // Expected: true // // instead of a more opaque // // Value of: IsEven(Fib(5)) // Actual: false // Expected: true // // in case IsEven is a simple Boolean predicate. // // If you expect your predicate to be reused and want to support informative // messages in EXPECT_FALSE and ASSERT_FALSE (negative assertions show up // about half as often as positive ones in our tests), supply messages for // both success and failure cases: // // testing::AssertionResult IsEven(int n) { // if ((n % 2) == 0) // return testing::AssertionSuccess() << n << " is even"; // else // return testing::AssertionFailure() << n << " is odd"; // } // // Then a statement EXPECT_FALSE(IsEven(Fib(6))) will print // // Value of: IsEven(Fib(6)) // Actual: true (8 is even) // Expected: false // // NB: Predicates that support negative Boolean assertions have reduced // performance in positive ones so be careful not to use them in tests // that have lots (tens of thousands) of positive Boolean assertions. // // To use this class with EXPECT_PRED_FORMAT assertions such as: // // // Verifies that Foo() returns an even number. // EXPECT_PRED_FORMAT1(IsEven, Foo()); // // you need to define: // // testing::AssertionResult IsEven(const char* expr, int n) { // if ((n % 2) == 0) // return testing::AssertionSuccess(); // else // return testing::AssertionFailure() // << "Expected: " << expr << " is even\n Actual: it's " << n; // } // // If Foo() returns 5, you will see the following message: // // Expected: Foo() is even // Actual: it's 5 // class GTEST_API_ AssertionResult { public: // Copy constructor. // Used in EXPECT_TRUE/FALSE(assertion_result). AssertionResult(const AssertionResult& other); // Used in the EXPECT_TRUE/FALSE(bool_expression). explicit AssertionResult(bool success) : success_(success) {} // Returns true iff the assertion succeeded. operator bool() const { return success_; } // NOLINT // Returns the assertion's negation. Used with EXPECT/ASSERT_FALSE. AssertionResult operator!() const; // Returns the text streamed into this AssertionResult. Test assertions // use it when they fail (i.e., the predicate's outcome doesn't match the // assertion's expectation). When nothing has been streamed into the // object, returns an empty string. const char* message() const { return message_.get() != NULL ? message_->c_str() : ""; } // TODO(vladl@google.com): Remove this after making sure no clients use it. // Deprecated; please use message() instead. const char* failure_message() const { return message(); } // Streams a custom failure message into this object. template AssertionResult& operator<<(const T& value) { AppendMessage(Message() << value); return *this; } // Allows streaming basic output manipulators such as endl or flush into // this object. AssertionResult& operator<<( ::std::ostream& (*basic_manipulator)(::std::ostream& stream)) { AppendMessage(Message() << basic_manipulator); return *this; } private: // Appends the contents of message to message_. void AppendMessage(const Message& a_message) { if (message_.get() == NULL) message_.reset(new ::std::string); message_->append(a_message.GetString().c_str()); } // Stores result of the assertion predicate. bool success_; // Stores the message describing the condition in case the expectation // construct is not satisfied with the predicate's outcome. // Referenced via a pointer to avoid taking too much stack frame space // with test assertions. internal::scoped_ptr< ::std::string> message_; GTEST_DISALLOW_ASSIGN_(AssertionResult); }; // Makes a successful assertion result. GTEST_API_ AssertionResult AssertionSuccess(); // Makes a failed assertion result. GTEST_API_ AssertionResult AssertionFailure(); // Makes a failed assertion result with the given failure message. // Deprecated; use AssertionFailure() << msg. GTEST_API_ AssertionResult AssertionFailure(const Message& msg); // The abstract class that all tests inherit from. // // In Google Test, a unit test program contains one or many TestCases, and // each TestCase contains one or many Tests. // // When you define a test using the TEST macro, you don't need to // explicitly derive from Test - the TEST macro automatically does // this for you. // // The only time you derive from Test is when defining a test fixture // to be used a TEST_F. For example: // // class FooTest : public testing::Test { // protected: // virtual void SetUp() { ... } // virtual void TearDown() { ... } // ... // }; // // TEST_F(FooTest, Bar) { ... } // TEST_F(FooTest, Baz) { ... } // // Test is not copyable. class GTEST_API_ Test { public: friend class TestInfo; // Defines types for pointers to functions that set up and tear down // a test case. typedef internal::SetUpTestCaseFunc SetUpTestCaseFunc; typedef internal::TearDownTestCaseFunc TearDownTestCaseFunc; // The d'tor is virtual as we intend to inherit from Test. virtual ~Test(); // Sets up the stuff shared by all tests in this test case. // // Google Test will call Foo::SetUpTestCase() before running the first // test in test case Foo. Hence a sub-class can define its own // SetUpTestCase() method to shadow the one defined in the super // class. static void SetUpTestCase() {} // Tears down the stuff shared by all tests in this test case. // // Google Test will call Foo::TearDownTestCase() after running the last // test in test case Foo. Hence a sub-class can define its own // TearDownTestCase() method to shadow the one defined in the super // class. static void TearDownTestCase() {} // Returns true iff the current test has a fatal failure. static bool HasFatalFailure(); // Returns true iff the current test has a non-fatal failure. static bool HasNonfatalFailure(); // Returns true iff the current test has a (either fatal or // non-fatal) failure. static bool HasFailure() { return HasFatalFailure() || HasNonfatalFailure(); } // Logs a property for the current test, test case, or for the entire // invocation of the test program when used outside of the context of a // test case. Only the last value for a given key is remembered. These // are public static so they can be called from utility functions that are // not members of the test fixture. Calls to RecordProperty made during // lifespan of the test (from the moment its constructor starts to the // moment its destructor finishes) will be output in XML as attributes of // the element. Properties recorded from fixture's // SetUpTestCase or TearDownTestCase are logged as attributes of the // corresponding element. Calls to RecordProperty made in the // global context (before or after invocation of RUN_ALL_TESTS and from // SetUp/TearDown method of Environment objects registered with Google // Test) will be output as attributes of the element. static void RecordProperty(const std::string& key, const std::string& value); static void RecordProperty(const std::string& key, int value); protected: // Creates a Test object. Test(); // Sets up the test fixture. virtual void SetUp(); // Tears down the test fixture. virtual void TearDown(); private: // Returns true iff the current test has the same fixture class as // the first test in the current test case. static bool HasSameFixtureClass(); // Runs the test after the test fixture has been set up. // // A sub-class must implement this to define the test logic. // // DO NOT OVERRIDE THIS FUNCTION DIRECTLY IN A USER PROGRAM. // Instead, use the TEST or TEST_F macro. virtual void TestBody() = 0; // Sets up, executes, and tears down the test. void Run(); // Deletes self. We deliberately pick an unusual name for this // internal method to avoid clashing with names used in user TESTs. void DeleteSelf_() { delete this; } // Uses a GTestFlagSaver to save and restore all Google Test flags. const internal::GTestFlagSaver* const gtest_flag_saver_; // Often a user mis-spells SetUp() as Setup() and spends a long time // wondering why it is never called by Google Test. The declaration of // the following method is solely for catching such an error at // compile time: // // - The return type is deliberately chosen to be not void, so it // will be a conflict if a user declares void Setup() in his test // fixture. // // - This method is private, so it will be another compiler error // if a user calls it from his test fixture. // // DO NOT OVERRIDE THIS FUNCTION. // // If you see an error about overriding the following function or // about it being private, you have mis-spelled SetUp() as Setup(). struct Setup_should_be_spelled_SetUp {}; virtual Setup_should_be_spelled_SetUp* Setup() { return NULL; } // We disallow copying Tests. GTEST_DISALLOW_COPY_AND_ASSIGN_(Test); }; typedef internal::TimeInMillis TimeInMillis; // A copyable object representing a user specified test property which can be // output as a key/value string pair. // // Don't inherit from TestProperty as its destructor is not virtual. class TestProperty { public: // C'tor. TestProperty does NOT have a default constructor. // Always use this constructor (with parameters) to create a // TestProperty object. TestProperty(const std::string& a_key, const std::string& a_value) : key_(a_key), value_(a_value) { } // Gets the user supplied key. const char* key() const { return key_.c_str(); } // Gets the user supplied value. const char* value() const { return value_.c_str(); } // Sets a new value, overriding the one supplied in the constructor. void SetValue(const std::string& new_value) { value_ = new_value; } private: // The key supplied by the user. std::string key_; // The value supplied by the user. std::string value_; }; // The result of a single Test. This includes a list of // TestPartResults, a list of TestProperties, a count of how many // death tests there are in the Test, and how much time it took to run // the Test. // // TestResult is not copyable. class GTEST_API_ TestResult { public: // Creates an empty TestResult. TestResult(); // D'tor. Do not inherit from TestResult. ~TestResult(); // Gets the number of all test parts. This is the sum of the number // of successful test parts and the number of failed test parts. int total_part_count() const; // Returns the number of the test properties. int test_property_count() const; // Returns true iff the test passed (i.e. no test part failed). bool Passed() const { return !Failed(); } // Returns true iff the test failed. bool Failed() const; // Returns true iff the test fatally failed. bool HasFatalFailure() const; // Returns true iff the test has a non-fatal failure. bool HasNonfatalFailure() const; // Returns the elapsed time, in milliseconds. TimeInMillis elapsed_time() const { return elapsed_time_; } // Returns the i-th test part result among all the results. i can range // from 0 to test_property_count() - 1. If i is not in that range, aborts // the program. const TestPartResult& GetTestPartResult(int i) const; // Returns the i-th test property. i can range from 0 to // test_property_count() - 1. If i is not in that range, aborts the // program. const TestProperty& GetTestProperty(int i) const; private: friend class TestInfo; friend class TestCase; friend class UnitTest; friend class internal::DefaultGlobalTestPartResultReporter; friend class internal::ExecDeathTest; friend class internal::TestResultAccessor; friend class internal::UnitTestImpl; friend class internal::WindowsDeathTest; // Gets the vector of TestPartResults. const std::vector& test_part_results() const { return test_part_results_; } // Gets the vector of TestProperties. const std::vector& test_properties() const { return test_properties_; } // Sets the elapsed time. void set_elapsed_time(TimeInMillis elapsed) { elapsed_time_ = elapsed; } // Adds a test property to the list. The property is validated and may add // a non-fatal failure if invalid (e.g., if it conflicts with reserved // key names). If a property is already recorded for the same key, the // value will be updated, rather than storing multiple values for the same // key. xml_element specifies the element for which the property is being // recorded and is used for validation. void RecordProperty(const std::string& xml_element, const TestProperty& test_property); // Adds a failure if the key is a reserved attribute of Google Test // testcase tags. Returns true if the property is valid. // TODO(russr): Validate attribute names are legal and human readable. static bool ValidateTestProperty(const std::string& xml_element, const TestProperty& test_property); // Adds a test part result to the list. void AddTestPartResult(const TestPartResult& test_part_result); // Returns the death test count. int death_test_count() const { return death_test_count_; } // Increments the death test count, returning the new count. int increment_death_test_count() { return ++death_test_count_; } // Clears the test part results. void ClearTestPartResults(); // Clears the object. void Clear(); // Protects mutable state of the property vector and of owned // properties, whose values may be updated. internal::Mutex test_properites_mutex_; // The vector of TestPartResults std::vector test_part_results_; // The vector of TestProperties std::vector test_properties_; // Running count of death tests. int death_test_count_; // The elapsed time, in milliseconds. TimeInMillis elapsed_time_; // We disallow copying TestResult. GTEST_DISALLOW_COPY_AND_ASSIGN_(TestResult); }; // class TestResult // A TestInfo object stores the following information about a test: // // Test case name // Test name // Whether the test should be run // A function pointer that creates the test object when invoked // Test result // // The constructor of TestInfo registers itself with the UnitTest // singleton such that the RUN_ALL_TESTS() macro knows which tests to // run. class GTEST_API_ TestInfo { public: // Destructs a TestInfo object. This function is not virtual, so // don't inherit from TestInfo. ~TestInfo(); // Returns the test case name. const char* test_case_name() const { return test_case_name_.c_str(); } // Returns the test name. const char* name() const { return name_.c_str(); } // Returns the name of the parameter type, or NULL if this is not a typed // or a type-parameterized test. const char* type_param() const { if (type_param_.get() != NULL) return type_param_->c_str(); return NULL; } // Returns the text representation of the value parameter, or NULL if this // is not a value-parameterized test. const char* value_param() const { if (value_param_.get() != NULL) return value_param_->c_str(); return NULL; } // Returns true if this test should run, that is if the test is not // disabled (or it is disabled but the also_run_disabled_tests flag has // been specified) and its full name matches the user-specified filter. // // Google Test allows the user to filter the tests by their full names. // The full name of a test Bar in test case Foo is defined as // "Foo.Bar". Only the tests that match the filter will run. // // A filter is a colon-separated list of glob (not regex) patterns, // optionally followed by a '-' and a colon-separated list of // negative patterns (tests to exclude). A test is run if it // matches one of the positive patterns and does not match any of // the negative patterns. // // For example, *A*:Foo.* is a filter that matches any string that // contains the character 'A' or starts with "Foo.". bool should_run() const { return should_run_; } // Returns true iff this test will appear in the XML report. bool is_reportable() const { // For now, the XML report includes all tests matching the filter. // In the future, we may trim tests that are excluded because of // sharding. return matches_filter_; } // Returns the result of the test. const TestResult* result() const { return &result_; } private: #if GTEST_HAS_DEATH_TEST friend class internal::DefaultDeathTestFactory; #endif // GTEST_HAS_DEATH_TEST friend class Test; friend class TestCase; friend class internal::UnitTestImpl; friend class internal::StreamingListenerTest; friend TestInfo* internal::MakeAndRegisterTestInfo( const char* test_case_name, const char* name, const char* type_param, const char* value_param, internal::TypeId fixture_class_id, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc, internal::TestFactoryBase* factory); // Constructs a TestInfo object. The newly constructed instance assumes // ownership of the factory object. TestInfo(const std::string& test_case_name, const std::string& name, const char* a_type_param, // NULL if not a type-parameterized test const char* a_value_param, // NULL if not a value-parameterized test internal::TypeId fixture_class_id, internal::TestFactoryBase* factory); // Increments the number of death tests encountered in this test so // far. int increment_death_test_count() { return result_.increment_death_test_count(); } // Creates the test object, runs it, records its result, and then // deletes it. void Run(); static void ClearTestResult(TestInfo* test_info) { test_info->result_.Clear(); } // These fields are immutable properties of the test. const std::string test_case_name_; // Test case name const std::string name_; // Test name // Name of the parameter type, or NULL if this is not a typed or a // type-parameterized test. const internal::scoped_ptr type_param_; // Text representation of the value parameter, or NULL if this is not a // value-parameterized test. const internal::scoped_ptr value_param_; const internal::TypeId fixture_class_id_; // ID of the test fixture class bool should_run_; // True iff this test should run bool is_disabled_; // True iff this test is disabled bool matches_filter_; // True if this test matches the // user-specified filter. internal::TestFactoryBase* const factory_; // The factory that creates // the test object // This field is mutable and needs to be reset before running the // test for the second time. TestResult result_; GTEST_DISALLOW_COPY_AND_ASSIGN_(TestInfo); }; // A test case, which consists of a vector of TestInfos. // // TestCase is not copyable. class GTEST_API_ TestCase { public: // Creates a TestCase with the given name. // // TestCase does NOT have a default constructor. Always use this // constructor to create a TestCase object. // // Arguments: // // name: name of the test case // a_type_param: the name of the test's type parameter, or NULL if // this is not a type-parameterized test. // set_up_tc: pointer to the function that sets up the test case // tear_down_tc: pointer to the function that tears down the test case TestCase(const char* name, const char* a_type_param, Test::SetUpTestCaseFunc set_up_tc, Test::TearDownTestCaseFunc tear_down_tc); // Destructor of TestCase. virtual ~TestCase(); // Gets the name of the TestCase. const char* name() const { return name_.c_str(); } // Returns the name of the parameter type, or NULL if this is not a // type-parameterized test case. const char* type_param() const { if (type_param_.get() != NULL) return type_param_->c_str(); return NULL; } // Returns true if any test in this test case should run. bool should_run() const { return should_run_; } // Gets the number of successful tests in this test case. int successful_test_count() const; // Gets the number of failed tests in this test case. int failed_test_count() const; // Gets the number of disabled tests that will be reported in the XML report. int reportable_disabled_test_count() const; // Gets the number of disabled tests in this test case. int disabled_test_count() const; // Gets the number of tests to be printed in the XML report. int reportable_test_count() const; // Get the number of tests in this test case that should run. int test_to_run_count() const; // Gets the number of all tests in this test case. int total_test_count() const; // Returns true iff the test case passed. bool Passed() const { return !Failed(); } // Returns true iff the test case failed. bool Failed() const { return failed_test_count() > 0; } // Returns the elapsed time, in milliseconds. TimeInMillis elapsed_time() const { return elapsed_time_; } // Returns the i-th test among all the tests. i can range from 0 to // total_test_count() - 1. If i is not in that range, returns NULL. const TestInfo* GetTestInfo(int i) const; // Returns the TestResult that holds test properties recorded during // execution of SetUpTestCase and TearDownTestCase. const TestResult& ad_hoc_test_result() const { return ad_hoc_test_result_; } private: friend class Test; friend class internal::UnitTestImpl; // Gets the (mutable) vector of TestInfos in this TestCase. std::vector& test_info_list() { return test_info_list_; } // Gets the (immutable) vector of TestInfos in this TestCase. const std::vector& test_info_list() const { return test_info_list_; } // Returns the i-th test among all the tests. i can range from 0 to // total_test_count() - 1. If i is not in that range, returns NULL. TestInfo* GetMutableTestInfo(int i); // Sets the should_run member. void set_should_run(bool should) { should_run_ = should; } // Adds a TestInfo to this test case. Will delete the TestInfo upon // destruction of the TestCase object. void AddTestInfo(TestInfo * test_info); // Clears the results of all tests in this test case. void ClearResult(); // Clears the results of all tests in the given test case. static void ClearTestCaseResult(TestCase* test_case) { test_case->ClearResult(); } // Runs every test in this TestCase. void Run(); // Runs SetUpTestCase() for this TestCase. This wrapper is needed // for catching exceptions thrown from SetUpTestCase(). void RunSetUpTestCase() { (*set_up_tc_)(); } // Runs TearDownTestCase() for this TestCase. This wrapper is // needed for catching exceptions thrown from TearDownTestCase(). void RunTearDownTestCase() { (*tear_down_tc_)(); } // Returns true iff test passed. static bool TestPassed(const TestInfo* test_info) { return test_info->should_run() && test_info->result()->Passed(); } // Returns true iff test failed. static bool TestFailed(const TestInfo* test_info) { return test_info->should_run() && test_info->result()->Failed(); } // Returns true iff the test is disabled and will be reported in the XML // report. static bool TestReportableDisabled(const TestInfo* test_info) { return test_info->is_reportable() && test_info->is_disabled_; } // Returns true iff test is disabled. static bool TestDisabled(const TestInfo* test_info) { return test_info->is_disabled_; } // Returns true iff this test will appear in the XML report. static bool TestReportable(const TestInfo* test_info) { return test_info->is_reportable(); } // Returns true if the given test should run. static bool ShouldRunTest(const TestInfo* test_info) { return test_info->should_run(); } // Shuffles the tests in this test case. void ShuffleTests(internal::Random* random); // Restores the test order to before the first shuffle. void UnshuffleTests(); // Name of the test case. std::string name_; // Name of the parameter type, or NULL if this is not a typed or a // type-parameterized test. const internal::scoped_ptr type_param_; // The vector of TestInfos in their original order. It owns the // elements in the vector. std::vector test_info_list_; // Provides a level of indirection for the test list to allow easy // shuffling and restoring the test order. The i-th element in this // vector is the index of the i-th test in the shuffled test list. std::vector test_indices_; // Pointer to the function that sets up the test case. Test::SetUpTestCaseFunc set_up_tc_; // Pointer to the function that tears down the test case. Test::TearDownTestCaseFunc tear_down_tc_; // True iff any test in this test case should run. bool should_run_; // Elapsed time, in milliseconds. TimeInMillis elapsed_time_; // Holds test properties recorded during execution of SetUpTestCase and // TearDownTestCase. TestResult ad_hoc_test_result_; // We disallow copying TestCases. GTEST_DISALLOW_COPY_AND_ASSIGN_(TestCase); }; // An Environment object is capable of setting up and tearing down an // environment. The user should subclass this to define his own // environment(s). // // An Environment object does the set-up and tear-down in virtual // methods SetUp() and TearDown() instead of the constructor and the // destructor, as: // // 1. You cannot safely throw from a destructor. This is a problem // as in some cases Google Test is used where exceptions are enabled, and // we may want to implement ASSERT_* using exceptions where they are // available. // 2. You cannot use ASSERT_* directly in a constructor or // destructor. class Environment { public: // The d'tor is virtual as we need to subclass Environment. virtual ~Environment() {} // Override this to define how to set up the environment. virtual void SetUp() {} // Override this to define how to tear down the environment. virtual void TearDown() {} private: // If you see an error about overriding the following function or // about it being private, you have mis-spelled SetUp() as Setup(). struct Setup_should_be_spelled_SetUp {}; virtual Setup_should_be_spelled_SetUp* Setup() { return NULL; } }; // The interface for tracing execution of tests. The methods are organized in // the order the corresponding events are fired. class TestEventListener { public: virtual ~TestEventListener() {} // Fired before any test activity starts. virtual void OnTestProgramStart(const UnitTest& unit_test) = 0; // Fired before each iteration of tests starts. There may be more than // one iteration if GTEST_FLAG(repeat) is set. iteration is the iteration // index, starting from 0. virtual void OnTestIterationStart(const UnitTest& unit_test, int iteration) = 0; // Fired before environment set-up for each iteration of tests starts. virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test) = 0; // Fired after environment set-up for each iteration of tests ends. virtual void OnEnvironmentsSetUpEnd(const UnitTest& unit_test) = 0; // Fired before the test case starts. virtual void OnTestCaseStart(const TestCase& test_case) = 0; // Fired before the test starts. virtual void OnTestStart(const TestInfo& test_info) = 0; // Fired after a failed assertion or a SUCCEED() invocation. virtual void OnTestPartResult(const TestPartResult& test_part_result) = 0; // Fired after the test ends. virtual void OnTestEnd(const TestInfo& test_info) = 0; // Fired after the test case ends. virtual void OnTestCaseEnd(const TestCase& test_case) = 0; // Fired before environment tear-down for each iteration of tests starts. virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test) = 0; // Fired after environment tear-down for each iteration of tests ends. virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) = 0; // Fired after each iteration of tests finishes. virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration) = 0; // Fired after all test activities have ended. virtual void OnTestProgramEnd(const UnitTest& unit_test) = 0; }; // The convenience class for users who need to override just one or two // methods and are not concerned that a possible change to a signature of // the methods they override will not be caught during the build. For // comments about each method please see the definition of TestEventListener // above. class EmptyTestEventListener : public TestEventListener { public: virtual void OnTestProgramStart(const UnitTest& /*unit_test*/) {} virtual void OnTestIterationStart(const UnitTest& /*unit_test*/, int /*iteration*/) {} virtual void OnEnvironmentsSetUpStart(const UnitTest& /*unit_test*/) {} virtual void OnEnvironmentsSetUpEnd(const UnitTest& /*unit_test*/) {} virtual void OnTestCaseStart(const TestCase& /*test_case*/) {} virtual void OnTestStart(const TestInfo& /*test_info*/) {} virtual void OnTestPartResult(const TestPartResult& /*test_part_result*/) {} virtual void OnTestEnd(const TestInfo& /*test_info*/) {} virtual void OnTestCaseEnd(const TestCase& /*test_case*/) {} virtual void OnEnvironmentsTearDownStart(const UnitTest& /*unit_test*/) {} virtual void OnEnvironmentsTearDownEnd(const UnitTest& /*unit_test*/) {} virtual void OnTestIterationEnd(const UnitTest& /*unit_test*/, int /*iteration*/) {} virtual void OnTestProgramEnd(const UnitTest& /*unit_test*/) {} }; // TestEventListeners lets users add listeners to track events in Google Test. class GTEST_API_ TestEventListeners { public: TestEventListeners(); ~TestEventListeners(); // Appends an event listener to the end of the list. Google Test assumes // the ownership of the listener (i.e. it will delete the listener when // the test program finishes). void Append(TestEventListener* listener); // Removes the given event listener from the list and returns it. It then // becomes the caller's responsibility to delete the listener. Returns // NULL if the listener is not found in the list. TestEventListener* Release(TestEventListener* listener); // Returns the standard listener responsible for the default console // output. Can be removed from the listeners list to shut down default // console output. Note that removing this object from the listener list // with Release transfers its ownership to the caller and makes this // function return NULL the next time. TestEventListener* default_result_printer() const { return default_result_printer_; } // Returns the standard listener responsible for the default XML output // controlled by the --gtest_output=xml flag. Can be removed from the // listeners list by users who want to shut down the default XML output // controlled by this flag and substitute it with custom one. Note that // removing this object from the listener list with Release transfers its // ownership to the caller and makes this function return NULL the next // time. TestEventListener* default_xml_generator() const { return default_xml_generator_; } private: friend class TestCase; friend class TestInfo; friend class internal::DefaultGlobalTestPartResultReporter; friend class internal::NoExecDeathTest; friend class internal::TestEventListenersAccessor; friend class internal::UnitTestImpl; // Returns repeater that broadcasts the TestEventListener events to all // subscribers. TestEventListener* repeater(); // Sets the default_result_printer attribute to the provided listener. // The listener is also added to the listener list and previous // default_result_printer is removed from it and deleted. The listener can // also be NULL in which case it will not be added to the list. Does // nothing if the previous and the current listener objects are the same. void SetDefaultResultPrinter(TestEventListener* listener); // Sets the default_xml_generator attribute to the provided listener. The // listener is also added to the listener list and previous // default_xml_generator is removed from it and deleted. The listener can // also be NULL in which case it will not be added to the list. Does // nothing if the previous and the current listener objects are the same. void SetDefaultXmlGenerator(TestEventListener* listener); // Controls whether events will be forwarded by the repeater to the // listeners in the list. bool EventForwardingEnabled() const; void SuppressEventForwarding(); // The actual list of listeners. internal::TestEventRepeater* repeater_; // Listener responsible for the standard result output. TestEventListener* default_result_printer_; // Listener responsible for the creation of the XML output file. TestEventListener* default_xml_generator_; // We disallow copying TestEventListeners. GTEST_DISALLOW_COPY_AND_ASSIGN_(TestEventListeners); }; // A UnitTest consists of a vector of TestCases. // // This is a singleton class. The only instance of UnitTest is // created when UnitTest::GetInstance() is first called. This // instance is never deleted. // // UnitTest is not copyable. // // This class is thread-safe as long as the methods are called // according to their specification. class GTEST_API_ UnitTest { public: // Gets the singleton UnitTest object. The first time this method // is called, a UnitTest object is constructed and returned. // Consecutive calls will return the same object. static UnitTest* GetInstance(); // Runs all tests in this UnitTest object and prints the result. // Returns 0 if successful, or 1 otherwise. // // This method can only be called from the main thread. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. int Run() GTEST_MUST_USE_RESULT_; // Returns the working directory when the first TEST() or TEST_F() // was executed. The UnitTest object owns the string. const char* original_working_dir() const; // Returns the TestCase object for the test that's currently running, // or NULL if no test is running. const TestCase* current_test_case() const GTEST_LOCK_EXCLUDED_(mutex_); // Returns the TestInfo object for the test that's currently running, // or NULL if no test is running. const TestInfo* current_test_info() const GTEST_LOCK_EXCLUDED_(mutex_); // Returns the random seed used at the start of the current test run. int random_seed() const; #if GTEST_HAS_PARAM_TEST // Returns the ParameterizedTestCaseRegistry object used to keep track of // value-parameterized tests and instantiate and register them. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. internal::ParameterizedTestCaseRegistry& parameterized_test_registry() GTEST_LOCK_EXCLUDED_(mutex_); #endif // GTEST_HAS_PARAM_TEST // Gets the number of successful test cases. int successful_test_case_count() const; // Gets the number of failed test cases. int failed_test_case_count() const; // Gets the number of all test cases. int total_test_case_count() const; // Gets the number of all test cases that contain at least one test // that should run. int test_case_to_run_count() const; // Gets the number of successful tests. int successful_test_count() const; // Gets the number of failed tests. int failed_test_count() const; // Gets the number of disabled tests that will be reported in the XML report. int reportable_disabled_test_count() const; // Gets the number of disabled tests. int disabled_test_count() const; // Gets the number of tests to be printed in the XML report. int reportable_test_count() const; // Gets the number of all tests. int total_test_count() const; // Gets the number of tests that should run. int test_to_run_count() const; // Gets the time of the test program start, in ms from the start of the // UNIX epoch. TimeInMillis start_timestamp() const; // Gets the elapsed time, in milliseconds. TimeInMillis elapsed_time() const; // Returns true iff the unit test passed (i.e. all test cases passed). bool Passed() const; // Returns true iff the unit test failed (i.e. some test case failed // or something outside of all tests failed). bool Failed() const; // Gets the i-th test case among all the test cases. i can range from 0 to // total_test_case_count() - 1. If i is not in that range, returns NULL. const TestCase* GetTestCase(int i) const; // Returns the TestResult containing information on test failures and // properties logged outside of individual test cases. const TestResult& ad_hoc_test_result() const; // Returns the list of event listeners that can be used to track events // inside Google Test. TestEventListeners& listeners(); private: // Registers and returns a global test environment. When a test // program is run, all global test environments will be set-up in // the order they were registered. After all tests in the program // have finished, all global test environments will be torn-down in // the *reverse* order they were registered. // // The UnitTest object takes ownership of the given environment. // // This method can only be called from the main thread. Environment* AddEnvironment(Environment* env); // Adds a TestPartResult to the current TestResult object. All // Google Test assertion macros (e.g. ASSERT_TRUE, EXPECT_EQ, etc) // eventually call this to report their results. The user code // should use the assertion macros instead of calling this directly. void AddTestPartResult(TestPartResult::Type result_type, const char* file_name, int line_number, const std::string& message, const std::string& os_stack_trace) GTEST_LOCK_EXCLUDED_(mutex_); // Adds a TestProperty to the current TestResult object when invoked from // inside a test, to current TestCase's ad_hoc_test_result_ when invoked // from SetUpTestCase or TearDownTestCase, or to the global property set // when invoked elsewhere. If the result already contains a property with // the same key, the value will be updated. void RecordProperty(const std::string& key, const std::string& value); // Gets the i-th test case among all the test cases. i can range from 0 to // total_test_case_count() - 1. If i is not in that range, returns NULL. TestCase* GetMutableTestCase(int i); // Accessors for the implementation object. internal::UnitTestImpl* impl() { return impl_; } const internal::UnitTestImpl* impl() const { return impl_; } // These classes and funcions are friends as they need to access private // members of UnitTest. friend class Test; friend class internal::AssertHelper; friend class internal::ScopedTrace; friend class internal::StreamingListenerTest; friend class internal::UnitTestRecordPropertyTestHelper; friend Environment* AddGlobalTestEnvironment(Environment* env); friend internal::UnitTestImpl* internal::GetUnitTestImpl(); friend void internal::ReportFailureInUnknownLocation( TestPartResult::Type result_type, const std::string& message); // Creates an empty UnitTest. UnitTest(); // D'tor virtual ~UnitTest(); // Pushes a trace defined by SCOPED_TRACE() on to the per-thread // Google Test trace stack. void PushGTestTrace(const internal::TraceInfo& trace) GTEST_LOCK_EXCLUDED_(mutex_); // Pops a trace from the per-thread Google Test trace stack. void PopGTestTrace() GTEST_LOCK_EXCLUDED_(mutex_); // Protects mutable state in *impl_. This is mutable as some const // methods need to lock it too. mutable internal::Mutex mutex_; // Opaque implementation object. This field is never changed once // the object is constructed. We don't mark it as const here, as // doing so will cause a warning in the constructor of UnitTest. // Mutable state in *impl_ is protected by mutex_. internal::UnitTestImpl* impl_; // We disallow copying UnitTest. GTEST_DISALLOW_COPY_AND_ASSIGN_(UnitTest); }; // A convenient wrapper for adding an environment for the test // program. // // You should call this before RUN_ALL_TESTS() is called, probably in // main(). If you use gtest_main, you need to call this before main() // starts for it to take effect. For example, you can define a global // variable like this: // // testing::Environment* const foo_env = // testing::AddGlobalTestEnvironment(new FooEnvironment); // // However, we strongly recommend you to write your own main() and // call AddGlobalTestEnvironment() there, as relying on initialization // of global variables makes the code harder to read and may cause // problems when you register multiple environments from different // translation units and the environments have dependencies among them // (remember that the compiler doesn't guarantee the order in which // global variables from different translation units are initialized). inline Environment* AddGlobalTestEnvironment(Environment* env) { return UnitTest::GetInstance()->AddEnvironment(env); } // Initializes Google Test. This must be called before calling // RUN_ALL_TESTS(). In particular, it parses a command line for the // flags that Google Test recognizes. Whenever a Google Test flag is // seen, it is removed from argv, and *argc is decremented. // // No value is returned. Instead, the Google Test flag variables are // updated. // // Calling the function for the second time has no user-visible effect. GTEST_API_ void InitGoogleTest(int* argc, char** argv); // This overloaded version can be used in Windows programs compiled in // UNICODE mode. GTEST_API_ void InitGoogleTest(int* argc, wchar_t** argv); namespace internal { // FormatForComparison::Format(value) formats a // value of type ToPrint that is an operand of a comparison assertion // (e.g. ASSERT_EQ). OtherOperand is the type of the other operand in // the comparison, and is used to help determine the best way to // format the value. In particular, when the value is a C string // (char pointer) and the other operand is an STL string object, we // want to format the C string as a string, since we know it is // compared by value with the string object. If the value is a char // pointer but the other operand is not an STL string object, we don't // know whether the pointer is supposed to point to a NUL-terminated // string, and thus want to print it as a pointer to be safe. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. // The default case. template class FormatForComparison { public: static ::std::string Format(const ToPrint& value) { return ::testing::PrintToString(value); } }; // Array. template class FormatForComparison { public: static ::std::string Format(const ToPrint* value) { return FormatForComparison::Format(value); } }; // By default, print C string as pointers to be safe, as we don't know // whether they actually point to a NUL-terminated string. #define GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(CharType) \ template \ class FormatForComparison { \ public: \ static ::std::string Format(CharType* value) { \ return ::testing::PrintToString(static_cast(value)); \ } \ } GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(char); GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(const char); GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(wchar_t); GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(const wchar_t); #undef GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_ // If a C string is compared with an STL string object, we know it's meant // to point to a NUL-terminated string, and thus can print it as a string. #define GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(CharType, OtherStringType) \ template <> \ class FormatForComparison { \ public: \ static ::std::string Format(CharType* value) { \ return ::testing::PrintToString(value); \ } \ } GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(char, ::std::string); GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(const char, ::std::string); #if GTEST_HAS_GLOBAL_STRING GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(char, ::string); GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(const char, ::string); #endif #if GTEST_HAS_GLOBAL_WSTRING GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(wchar_t, ::wstring); GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(const wchar_t, ::wstring); #endif #if GTEST_HAS_STD_WSTRING GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(wchar_t, ::std::wstring); GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(const wchar_t, ::std::wstring); #endif #undef GTEST_IMPL_FORMAT_C_STRING_AS_STRING_ // Formats a comparison assertion (e.g. ASSERT_EQ, EXPECT_LT, and etc) // operand to be used in a failure message. The type (but not value) // of the other operand may affect the format. This allows us to // print a char* as a raw pointer when it is compared against another // char* or void*, and print it as a C string when it is compared // against an std::string object, for example. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. template std::string FormatForComparisonFailureMessage( const T1& value, const T2& /* other_operand */) { return FormatForComparison::Format(value); } // The helper function for {ASSERT|EXPECT}_EQ. template AssertionResult CmpHelperEQ(const char* expected_expression, const char* actual_expression, const T1& expected, const T2& actual) { #ifdef _MSC_VER # pragma warning(push) // Saves the current warning state. # pragma warning(disable:4389) // Temporarily disables warning on // signed/unsigned mismatch. #endif if (expected == actual) { return AssertionSuccess(); } #ifdef _MSC_VER # pragma warning(pop) // Restores the warning state. #endif return EqFailure(expected_expression, actual_expression, FormatForComparisonFailureMessage(expected, actual), FormatForComparisonFailureMessage(actual, expected), false); } // With this overloaded version, we allow anonymous enums to be used // in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous enums // can be implicitly cast to BiggestInt. GTEST_API_ AssertionResult CmpHelperEQ(const char* expected_expression, const char* actual_expression, BiggestInt expected, BiggestInt actual); // The helper class for {ASSERT|EXPECT}_EQ. The template argument // lhs_is_null_literal is true iff the first argument to ASSERT_EQ() // is a null pointer literal. The following default implementation is // for lhs_is_null_literal being false. template class EqHelper { public: // This templatized version is for the general case. template static AssertionResult Compare(const char* expected_expression, const char* actual_expression, const T1& expected, const T2& actual) { return CmpHelperEQ(expected_expression, actual_expression, expected, actual); } // With this overloaded version, we allow anonymous enums to be used // in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous // enums can be implicitly cast to BiggestInt. // // Even though its body looks the same as the above version, we // cannot merge the two, as it will make anonymous enums unhappy. static AssertionResult Compare(const char* expected_expression, const char* actual_expression, BiggestInt expected, BiggestInt actual) { return CmpHelperEQ(expected_expression, actual_expression, expected, actual); } }; // This specialization is used when the first argument to ASSERT_EQ() // is a null pointer literal, like NULL, false, or 0. template <> class EqHelper { public: // We define two overloaded versions of Compare(). The first // version will be picked when the second argument to ASSERT_EQ() is // NOT a pointer, e.g. ASSERT_EQ(0, AnIntFunction()) or // EXPECT_EQ(false, a_bool). template static AssertionResult Compare( const char* expected_expression, const char* actual_expression, const T1& expected, const T2& actual, // The following line prevents this overload from being considered if T2 // is not a pointer type. We need this because ASSERT_EQ(NULL, my_ptr) // expands to Compare("", "", NULL, my_ptr), which requires a conversion // to match the Secret* in the other overload, which would otherwise make // this template match better. typename EnableIf::value>::type* = 0) { return CmpHelperEQ(expected_expression, actual_expression, expected, actual); } // This version will be picked when the second argument to ASSERT_EQ() is a // pointer, e.g. ASSERT_EQ(NULL, a_pointer). template static AssertionResult Compare( const char* expected_expression, const char* actual_expression, // We used to have a second template parameter instead of Secret*. That // template parameter would deduce to 'long', making this a better match // than the first overload even without the first overload's EnableIf. // Unfortunately, gcc with -Wconversion-null warns when "passing NULL to // non-pointer argument" (even a deduced integral argument), so the old // implementation caused warnings in user code. Secret* /* expected (NULL) */, T* actual) { // We already know that 'expected' is a null pointer. return CmpHelperEQ(expected_expression, actual_expression, static_cast(NULL), actual); } }; // A macro for implementing the helper functions needed to implement // ASSERT_?? and EXPECT_??. It is here just to avoid copy-and-paste // of similar code. // // For each templatized helper function, we also define an overloaded // version for BiggestInt in order to reduce code bloat and allow // anonymous enums to be used with {ASSERT|EXPECT}_?? when compiled // with gcc 4. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. #define GTEST_IMPL_CMP_HELPER_(op_name, op)\ template \ AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \ const T1& val1, const T2& val2) {\ if (val1 op val2) {\ return AssertionSuccess();\ } else {\ return AssertionFailure() \ << "Expected: (" << expr1 << ") " #op " (" << expr2\ << "), actual: " << FormatForComparisonFailureMessage(val1, val2)\ << " vs " << FormatForComparisonFailureMessage(val2, val1);\ }\ }\ GTEST_API_ AssertionResult CmpHelper##op_name(\ const char* expr1, const char* expr2, BiggestInt val1, BiggestInt val2) // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. // Implements the helper function for {ASSERT|EXPECT}_NE GTEST_IMPL_CMP_HELPER_(NE, !=); // Implements the helper function for {ASSERT|EXPECT}_LE GTEST_IMPL_CMP_HELPER_(LE, <=); // Implements the helper function for {ASSERT|EXPECT}_LT GTEST_IMPL_CMP_HELPER_(LT, <); // Implements the helper function for {ASSERT|EXPECT}_GE GTEST_IMPL_CMP_HELPER_(GE, >=); // Implements the helper function for {ASSERT|EXPECT}_GT GTEST_IMPL_CMP_HELPER_(GT, >); #undef GTEST_IMPL_CMP_HELPER_ // The helper function for {ASSERT|EXPECT}_STREQ. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. GTEST_API_ AssertionResult CmpHelperSTREQ(const char* expected_expression, const char* actual_expression, const char* expected, const char* actual); // The helper function for {ASSERT|EXPECT}_STRCASEEQ. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. GTEST_API_ AssertionResult CmpHelperSTRCASEEQ(const char* expected_expression, const char* actual_expression, const char* expected, const char* actual); // The helper function for {ASSERT|EXPECT}_STRNE. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression, const char* s2_expression, const char* s1, const char* s2); // The helper function for {ASSERT|EXPECT}_STRCASENE. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. GTEST_API_ AssertionResult CmpHelperSTRCASENE(const char* s1_expression, const char* s2_expression, const char* s1, const char* s2); // Helper function for *_STREQ on wide strings. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. GTEST_API_ AssertionResult CmpHelperSTREQ(const char* expected_expression, const char* actual_expression, const wchar_t* expected, const wchar_t* actual); // Helper function for *_STRNE on wide strings. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression, const char* s2_expression, const wchar_t* s1, const wchar_t* s2); } // namespace internal // IsSubstring() and IsNotSubstring() are intended to be used as the // first argument to {EXPECT,ASSERT}_PRED_FORMAT2(), not by // themselves. They check whether needle is a substring of haystack // (NULL is considered a substring of itself only), and return an // appropriate error message when they fail. // // The {needle,haystack}_expr arguments are the stringified // expressions that generated the two real arguments. GTEST_API_ AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const char* needle, const char* haystack); GTEST_API_ AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const wchar_t* needle, const wchar_t* haystack); GTEST_API_ AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const char* needle, const char* haystack); GTEST_API_ AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const wchar_t* needle, const wchar_t* haystack); GTEST_API_ AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const ::std::string& needle, const ::std::string& haystack); GTEST_API_ AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const ::std::string& needle, const ::std::string& haystack); #if GTEST_HAS_STD_WSTRING GTEST_API_ AssertionResult IsSubstring( const char* needle_expr, const char* haystack_expr, const ::std::wstring& needle, const ::std::wstring& haystack); GTEST_API_ AssertionResult IsNotSubstring( const char* needle_expr, const char* haystack_expr, const ::std::wstring& needle, const ::std::wstring& haystack); #endif // GTEST_HAS_STD_WSTRING namespace internal { // Helper template function for comparing floating-points. // // Template parameter: // // RawType: the raw floating-point type (either float or double) // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. template AssertionResult CmpHelperFloatingPointEQ(const char* expected_expression, const char* actual_expression, RawType expected, RawType actual) { const FloatingPoint lhs(expected), rhs(actual); if (lhs.AlmostEquals(rhs)) { return AssertionSuccess(); } ::std::stringstream expected_ss; expected_ss << std::setprecision(std::numeric_limits::digits10 + 2) << expected; ::std::stringstream actual_ss; actual_ss << std::setprecision(std::numeric_limits::digits10 + 2) << actual; return EqFailure(expected_expression, actual_expression, StringStreamToString(&expected_ss), StringStreamToString(&actual_ss), false); } // Helper function for implementing ASSERT_NEAR. // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. GTEST_API_ AssertionResult DoubleNearPredFormat(const char* expr1, const char* expr2, const char* abs_error_expr, double val1, double val2, double abs_error); // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // A class that enables one to stream messages to assertion macros class GTEST_API_ AssertHelper { public: // Constructor. AssertHelper(TestPartResult::Type type, const char* file, int line, const char* message); ~AssertHelper(); // Message assignment is a semantic trick to enable assertion // streaming; see the GTEST_MESSAGE_ macro below. void operator=(const Message& message) const; private: // We put our data in a struct so that the size of the AssertHelper class can // be as small as possible. This is important because gcc is incapable of // re-using stack space even for temporary variables, so every EXPECT_EQ // reserves stack space for another AssertHelper. struct AssertHelperData { AssertHelperData(TestPartResult::Type t, const char* srcfile, int line_num, const char* msg) : type(t), file(srcfile), line(line_num), message(msg) { } TestPartResult::Type const type; const char* const file; int const line; std::string const message; private: GTEST_DISALLOW_COPY_AND_ASSIGN_(AssertHelperData); }; AssertHelperData* const data_; GTEST_DISALLOW_COPY_AND_ASSIGN_(AssertHelper); }; } // namespace internal #if GTEST_HAS_PARAM_TEST // The pure interface class that all value-parameterized tests inherit from. // A value-parameterized class must inherit from both ::testing::Test and // ::testing::WithParamInterface. In most cases that just means inheriting // from ::testing::TestWithParam, but more complicated test hierarchies // may need to inherit from Test and WithParamInterface at different levels. // // This interface has support for accessing the test parameter value via // the GetParam() method. // // Use it with one of the parameter generator defining functions, like Range(), // Values(), ValuesIn(), Bool(), and Combine(). // // class FooTest : public ::testing::TestWithParam { // protected: // FooTest() { // // Can use GetParam() here. // } // virtual ~FooTest() { // // Can use GetParam() here. // } // virtual void SetUp() { // // Can use GetParam() here. // } // virtual void TearDown { // // Can use GetParam() here. // } // }; // TEST_P(FooTest, DoesBar) { // // Can use GetParam() method here. // Foo foo; // ASSERT_TRUE(foo.DoesBar(GetParam())); // } // INSTANTIATE_TEST_CASE_P(OneToTenRange, FooTest, ::testing::Range(1, 10)); template class WithParamInterface { public: typedef T ParamType; virtual ~WithParamInterface() {} // The current parameter value. Is also available in the test fixture's // constructor. This member function is non-static, even though it only // references static data, to reduce the opportunity for incorrect uses // like writing 'WithParamInterface::GetParam()' for a test that // uses a fixture whose parameter type is int. const ParamType& GetParam() const { GTEST_CHECK_(parameter_ != NULL) << "GetParam() can only be called inside a value-parameterized test " << "-- did you intend to write TEST_P instead of TEST_F?"; return *parameter_; } private: // Sets parameter value. The caller is responsible for making sure the value // remains alive and unchanged throughout the current test. static void SetParam(const ParamType* parameter) { parameter_ = parameter; } // Static value used for accessing parameter during a test lifetime. static const ParamType* parameter_; // TestClass must be a subclass of WithParamInterface and Test. template friend class internal::ParameterizedTestFactory; }; template const T* WithParamInterface::parameter_ = NULL; // Most value-parameterized classes can ignore the existence of // WithParamInterface, and can just inherit from ::testing::TestWithParam. template class TestWithParam : public Test, public WithParamInterface { }; #endif // GTEST_HAS_PARAM_TEST // Macros for indicating success/failure in test code. // ADD_FAILURE unconditionally adds a failure to the current test. // SUCCEED generates a success - it doesn't automatically make the // current test successful, as a test is only successful when it has // no failure. // // EXPECT_* verifies that a certain condition is satisfied. If not, // it behaves like ADD_FAILURE. In particular: // // EXPECT_TRUE verifies that a Boolean condition is true. // EXPECT_FALSE verifies that a Boolean condition is false. // // FAIL and ASSERT_* are similar to ADD_FAILURE and EXPECT_*, except // that they will also abort the current function on failure. People // usually want the fail-fast behavior of FAIL and ASSERT_*, but those // writing data-driven tests often find themselves using ADD_FAILURE // and EXPECT_* more. // Generates a nonfatal failure with a generic message. #define ADD_FAILURE() GTEST_NONFATAL_FAILURE_("Failed") // Generates a nonfatal failure at the given source file location with // a generic message. #define ADD_FAILURE_AT(file, line) \ GTEST_MESSAGE_AT_(file, line, "Failed", \ ::testing::TestPartResult::kNonFatalFailure) // Generates a fatal failure with a generic message. #define GTEST_FAIL() GTEST_FATAL_FAILURE_("Failed") // Define this macro to 1 to omit the definition of FAIL(), which is a // generic name and clashes with some other libraries. #if !GTEST_DONT_DEFINE_FAIL # define FAIL() GTEST_FAIL() #endif // Generates a success with a generic message. #define GTEST_SUCCEED() GTEST_SUCCESS_("Succeeded") // Define this macro to 1 to omit the definition of SUCCEED(), which // is a generic name and clashes with some other libraries. #if !GTEST_DONT_DEFINE_SUCCEED # define SUCCEED() GTEST_SUCCEED() #endif // Macros for testing exceptions. // // * {ASSERT|EXPECT}_THROW(statement, expected_exception): // Tests that the statement throws the expected exception. // * {ASSERT|EXPECT}_NO_THROW(statement): // Tests that the statement doesn't throw any exception. // * {ASSERT|EXPECT}_ANY_THROW(statement): // Tests that the statement throws an exception. #define EXPECT_THROW(statement, expected_exception) \ GTEST_TEST_THROW_(statement, expected_exception, GTEST_NONFATAL_FAILURE_) #define EXPECT_NO_THROW(statement) \ GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_) #define EXPECT_ANY_THROW(statement) \ GTEST_TEST_ANY_THROW_(statement, GTEST_NONFATAL_FAILURE_) #define ASSERT_THROW(statement, expected_exception) \ GTEST_TEST_THROW_(statement, expected_exception, GTEST_FATAL_FAILURE_) #define ASSERT_NO_THROW(statement) \ GTEST_TEST_NO_THROW_(statement, GTEST_FATAL_FAILURE_) #define ASSERT_ANY_THROW(statement) \ GTEST_TEST_ANY_THROW_(statement, GTEST_FATAL_FAILURE_) // Boolean assertions. Condition can be either a Boolean expression or an // AssertionResult. For more information on how to use AssertionResult with // these macros see comments on that class. #define EXPECT_TRUE(condition) \ GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \ GTEST_NONFATAL_FAILURE_) #define EXPECT_FALSE(condition) \ GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \ GTEST_NONFATAL_FAILURE_) #define ASSERT_TRUE(condition) \ GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \ GTEST_FATAL_FAILURE_) #define ASSERT_FALSE(condition) \ GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \ GTEST_FATAL_FAILURE_) // Includes the auto-generated header that implements a family of // generic predicate assertion macros. #include "gtest/gtest_pred_impl.h" // Macros for testing equalities and inequalities. // // * {ASSERT|EXPECT}_EQ(expected, actual): Tests that expected == actual // * {ASSERT|EXPECT}_NE(v1, v2): Tests that v1 != v2 // * {ASSERT|EXPECT}_LT(v1, v2): Tests that v1 < v2 // * {ASSERT|EXPECT}_LE(v1, v2): Tests that v1 <= v2 // * {ASSERT|EXPECT}_GT(v1, v2): Tests that v1 > v2 // * {ASSERT|EXPECT}_GE(v1, v2): Tests that v1 >= v2 // // When they are not, Google Test prints both the tested expressions and // their actual values. The values must be compatible built-in types, // or you will get a compiler error. By "compatible" we mean that the // values can be compared by the respective operator. // // Note: // // 1. It is possible to make a user-defined type work with // {ASSERT|EXPECT}_??(), but that requires overloading the // comparison operators and is thus discouraged by the Google C++ // Usage Guide. Therefore, you are advised to use the // {ASSERT|EXPECT}_TRUE() macro to assert that two objects are // equal. // // 2. The {ASSERT|EXPECT}_??() macros do pointer comparisons on // pointers (in particular, C strings). Therefore, if you use it // with two C strings, you are testing how their locations in memory // are related, not how their content is related. To compare two C // strings by content, use {ASSERT|EXPECT}_STR*(). // // 3. {ASSERT|EXPECT}_EQ(expected, actual) is preferred to // {ASSERT|EXPECT}_TRUE(expected == actual), as the former tells you // what the actual value is when it fails, and similarly for the // other comparisons. // // 4. Do not depend on the order in which {ASSERT|EXPECT}_??() // evaluate their arguments, which is undefined. // // 5. These macros evaluate their arguments exactly once. // // Examples: // // EXPECT_NE(5, Foo()); // EXPECT_EQ(NULL, a_pointer); // ASSERT_LT(i, array_size); // ASSERT_GT(records.size(), 0) << "There is no record left."; #define EXPECT_EQ(expected, actual) \ EXPECT_PRED_FORMAT2(::testing::internal:: \ EqHelper::Compare, \ expected, actual) #define EXPECT_NE(expected, actual) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, expected, actual) #define EXPECT_LE(val1, val2) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2) #define EXPECT_LT(val1, val2) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2) #define EXPECT_GE(val1, val2) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2) #define EXPECT_GT(val1, val2) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2) #define GTEST_ASSERT_EQ(expected, actual) \ ASSERT_PRED_FORMAT2(::testing::internal:: \ EqHelper::Compare, \ expected, actual) #define GTEST_ASSERT_NE(val1, val2) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2) #define GTEST_ASSERT_LE(val1, val2) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2) #define GTEST_ASSERT_LT(val1, val2) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2) #define GTEST_ASSERT_GE(val1, val2) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2) #define GTEST_ASSERT_GT(val1, val2) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2) // Define macro GTEST_DONT_DEFINE_ASSERT_XY to 1 to omit the definition of // ASSERT_XY(), which clashes with some users' own code. #if !GTEST_DONT_DEFINE_ASSERT_EQ # define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2) #endif #if !GTEST_DONT_DEFINE_ASSERT_NE # define ASSERT_NE(val1, val2) GTEST_ASSERT_NE(val1, val2) #endif #if !GTEST_DONT_DEFINE_ASSERT_LE # define ASSERT_LE(val1, val2) GTEST_ASSERT_LE(val1, val2) #endif #if !GTEST_DONT_DEFINE_ASSERT_LT # define ASSERT_LT(val1, val2) GTEST_ASSERT_LT(val1, val2) #endif #if !GTEST_DONT_DEFINE_ASSERT_GE # define ASSERT_GE(val1, val2) GTEST_ASSERT_GE(val1, val2) #endif #if !GTEST_DONT_DEFINE_ASSERT_GT # define ASSERT_GT(val1, val2) GTEST_ASSERT_GT(val1, val2) #endif // C-string Comparisons. All tests treat NULL and any non-NULL string // as different. Two NULLs are equal. // // * {ASSERT|EXPECT}_STREQ(s1, s2): Tests that s1 == s2 // * {ASSERT|EXPECT}_STRNE(s1, s2): Tests that s1 != s2 // * {ASSERT|EXPECT}_STRCASEEQ(s1, s2): Tests that s1 == s2, ignoring case // * {ASSERT|EXPECT}_STRCASENE(s1, s2): Tests that s1 != s2, ignoring case // // For wide or narrow string objects, you can use the // {ASSERT|EXPECT}_??() macros. // // Don't depend on the order in which the arguments are evaluated, // which is undefined. // // These macros evaluate their arguments exactly once. #define EXPECT_STREQ(expected, actual) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, expected, actual) #define EXPECT_STRNE(s1, s2) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2) #define EXPECT_STRCASEEQ(expected, actual) \ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, expected, actual) #define EXPECT_STRCASENE(s1, s2)\ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2) #define ASSERT_STREQ(expected, actual) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, expected, actual) #define ASSERT_STRNE(s1, s2) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2) #define ASSERT_STRCASEEQ(expected, actual) \ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, expected, actual) #define ASSERT_STRCASENE(s1, s2)\ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2) // Macros for comparing floating-point numbers. // // * {ASSERT|EXPECT}_FLOAT_EQ(expected, actual): // Tests that two float values are almost equal. // * {ASSERT|EXPECT}_DOUBLE_EQ(expected, actual): // Tests that two double values are almost equal. // * {ASSERT|EXPECT}_NEAR(v1, v2, abs_error): // Tests that v1 and v2 are within the given distance to each other. // // Google Test uses ULP-based comparison to automatically pick a default // error bound that is appropriate for the operands. See the // FloatingPoint template class in gtest-internal.h if you are // interested in the implementation details. #define EXPECT_FLOAT_EQ(expected, actual)\ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ expected, actual) #define EXPECT_DOUBLE_EQ(expected, actual)\ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ expected, actual) #define ASSERT_FLOAT_EQ(expected, actual)\ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ expected, actual) #define ASSERT_DOUBLE_EQ(expected, actual)\ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ expected, actual) #define EXPECT_NEAR(val1, val2, abs_error)\ EXPECT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \ val1, val2, abs_error) #define ASSERT_NEAR(val1, val2, abs_error)\ ASSERT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \ val1, val2, abs_error) // These predicate format functions work on floating-point values, and // can be used in {ASSERT|EXPECT}_PRED_FORMAT2*(), e.g. // // EXPECT_PRED_FORMAT2(testing::DoubleLE, Foo(), 5.0); // Asserts that val1 is less than, or almost equal to, val2. Fails // otherwise. In particular, it fails if either val1 or val2 is NaN. GTEST_API_ AssertionResult FloatLE(const char* expr1, const char* expr2, float val1, float val2); GTEST_API_ AssertionResult DoubleLE(const char* expr1, const char* expr2, double val1, double val2); #if GTEST_OS_WINDOWS // Macros that test for HRESULT failure and success, these are only useful // on Windows, and rely on Windows SDK macros and APIs to compile. // // * {ASSERT|EXPECT}_HRESULT_{SUCCEEDED|FAILED}(expr) // // When expr unexpectedly fails or succeeds, Google Test prints the // expected result and the actual result with both a human-readable // string representation of the error, if available, as well as the // hex result code. # define EXPECT_HRESULT_SUCCEEDED(expr) \ EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr)) # define ASSERT_HRESULT_SUCCEEDED(expr) \ ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr)) # define EXPECT_HRESULT_FAILED(expr) \ EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr)) # define ASSERT_HRESULT_FAILED(expr) \ ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr)) #endif // GTEST_OS_WINDOWS // Macros that execute statement and check that it doesn't generate new fatal // failures in the current thread. // // * {ASSERT|EXPECT}_NO_FATAL_FAILURE(statement); // // Examples: // // EXPECT_NO_FATAL_FAILURE(Process()); // ASSERT_NO_FATAL_FAILURE(Process()) << "Process() failed"; // #define ASSERT_NO_FATAL_FAILURE(statement) \ GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_FATAL_FAILURE_) #define EXPECT_NO_FATAL_FAILURE(statement) \ GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_NONFATAL_FAILURE_) // Causes a trace (including the source file path, the current line // number, and the given message) to be included in every test failure // message generated by code in the current scope. The effect is // undone when the control leaves the current scope. // // The message argument can be anything streamable to std::ostream. // // In the implementation, we include the current line number as part // of the dummy variable name, thus allowing multiple SCOPED_TRACE()s // to appear in the same block - as long as they are on different // lines. #define SCOPED_TRACE(message) \ ::testing::internal::ScopedTrace GTEST_CONCAT_TOKEN_(gtest_trace_, __LINE__)(\ __FILE__, __LINE__, ::testing::Message() << (message)) // Compile-time assertion for type equality. // StaticAssertTypeEq() compiles iff type1 and type2 are // the same type. The value it returns is not interesting. // // Instead of making StaticAssertTypeEq a class template, we make it a // function template that invokes a helper class template. This // prevents a user from misusing StaticAssertTypeEq by // defining objects of that type. // // CAVEAT: // // When used inside a method of a class template, // StaticAssertTypeEq() is effective ONLY IF the method is // instantiated. For example, given: // // template class Foo { // public: // void Bar() { testing::StaticAssertTypeEq(); } // }; // // the code: // // void Test1() { Foo foo; } // // will NOT generate a compiler error, as Foo::Bar() is never // actually instantiated. Instead, you need: // // void Test2() { Foo foo; foo.Bar(); } // // to cause a compiler error. template bool StaticAssertTypeEq() { (void)internal::StaticAssertTypeEqHelper(); return true; } // Defines a test. // // The first parameter is the name of the test case, and the second // parameter is the name of the test within the test case. // // The convention is to end the test case name with "Test". For // example, a test case for the Foo class can be named FooTest. // // The user should put his test code between braces after using this // macro. Example: // // TEST(FooTest, InitializesCorrectly) { // Foo foo; // EXPECT_TRUE(foo.StatusIsOK()); // } // Note that we call GetTestTypeId() instead of GetTypeId< // ::testing::Test>() here to get the type ID of testing::Test. This // is to work around a suspected linker bug when using Google Test as // a framework on Mac OS X. The bug causes GetTypeId< // ::testing::Test>() to return different values depending on whether // the call is from the Google Test framework itself or from user test // code. GetTestTypeId() is guaranteed to always return the same // value, as it always calls GetTypeId<>() from the Google Test // framework. #define GTEST_TEST(test_case_name, test_name)\ GTEST_TEST_(test_case_name, test_name, \ ::testing::Test, ::testing::internal::GetTestTypeId()) // Define this macro to 1 to omit the definition of TEST(), which // is a generic name and clashes with some other libraries. #if !GTEST_DONT_DEFINE_TEST # define TEST(test_case_name, test_name) GTEST_TEST(test_case_name, test_name) #endif // Defines a test that uses a test fixture. // // The first parameter is the name of the test fixture class, which // also doubles as the test case name. The second parameter is the // name of the test within the test case. // // A test fixture class must be declared earlier. The user should put // his test code between braces after using this macro. Example: // // class FooTest : public testing::Test { // protected: // virtual void SetUp() { b_.AddElement(3); } // // Foo a_; // Foo b_; // }; // // TEST_F(FooTest, InitializesCorrectly) { // EXPECT_TRUE(a_.StatusIsOK()); // } // // TEST_F(FooTest, ReturnsElementCountCorrectly) { // EXPECT_EQ(0, a_.size()); // EXPECT_EQ(1, b_.size()); // } #define TEST_F(test_fixture, test_name)\ GTEST_TEST_(test_fixture, test_name, test_fixture, \ ::testing::internal::GetTypeId()) } // namespace testing // Use this function in main() to run all tests. It returns 0 if all // tests are successful, or 1 otherwise. // // RUN_ALL_TESTS() should be invoked after the command line has been // parsed by InitGoogleTest(). // // This function was formerly a macro; thus, it is in the global // namespace and has an all-caps name. int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_; inline int RUN_ALL_TESTS() { return ::testing::UnitTest::GetInstance()->Run(); } #endif // GTEST_INCLUDE_GTEST_GTEST_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-test-part.h0000644000175200017520000001455512277666257021205 00000000000000// Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: mheule@google.com (Markus Heule) // #ifndef GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_ #define GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_ #include #include #include "gtest/internal/gtest-internal.h" #include "gtest/internal/gtest-string.h" namespace testing { // A copyable object representing the result of a test part (i.e. an // assertion or an explicit FAIL(), ADD_FAILURE(), or SUCCESS()). // // Don't inherit from TestPartResult as its destructor is not virtual. class GTEST_API_ TestPartResult { public: // The possible outcomes of a test part (i.e. an assertion or an // explicit SUCCEED(), FAIL(), or ADD_FAILURE()). enum Type { kSuccess, // Succeeded. kNonFatalFailure, // Failed but the test can continue. kFatalFailure // Failed and the test should be terminated. }; // C'tor. TestPartResult does NOT have a default constructor. // Always use this constructor (with parameters) to create a // TestPartResult object. TestPartResult(Type a_type, const char* a_file_name, int a_line_number, const char* a_message) : type_(a_type), file_name_(a_file_name == NULL ? "" : a_file_name), line_number_(a_line_number), summary_(ExtractSummary(a_message)), message_(a_message) { } // Gets the outcome of the test part. Type type() const { return type_; } // Gets the name of the source file where the test part took place, or // NULL if it's unknown. const char* file_name() const { return file_name_.empty() ? NULL : file_name_.c_str(); } // Gets the line in the source file where the test part took place, // or -1 if it's unknown. int line_number() const { return line_number_; } // Gets the summary of the failure message. const char* summary() const { return summary_.c_str(); } // Gets the message associated with the test part. const char* message() const { return message_.c_str(); } // Returns true iff the test part passed. bool passed() const { return type_ == kSuccess; } // Returns true iff the test part failed. bool failed() const { return type_ != kSuccess; } // Returns true iff the test part non-fatally failed. bool nonfatally_failed() const { return type_ == kNonFatalFailure; } // Returns true iff the test part fatally failed. bool fatally_failed() const { return type_ == kFatalFailure; } private: Type type_; // Gets the summary of the failure message by omitting the stack // trace in it. static std::string ExtractSummary(const char* message); // The name of the source file where the test part took place, or // "" if the source file is unknown. std::string file_name_; // The line in the source file where the test part took place, or -1 // if the line number is unknown. int line_number_; std::string summary_; // The test failure summary. std::string message_; // The test failure message. }; // Prints a TestPartResult object. std::ostream& operator<<(std::ostream& os, const TestPartResult& result); // An array of TestPartResult objects. // // Don't inherit from TestPartResultArray as its destructor is not // virtual. class GTEST_API_ TestPartResultArray { public: TestPartResultArray() {} // Appends the given TestPartResult to the array. void Append(const TestPartResult& result); // Returns the TestPartResult at the given index (0-based). const TestPartResult& GetTestPartResult(int index) const; // Returns the number of TestPartResult objects in the array. int size() const; private: std::vector array_; GTEST_DISALLOW_COPY_AND_ASSIGN_(TestPartResultArray); }; // This interface knows how to report a test part result. class TestPartResultReporterInterface { public: virtual ~TestPartResultReporterInterface() {} virtual void ReportTestPartResult(const TestPartResult& result) = 0; }; namespace internal { // This helper class is used by {ASSERT|EXPECT}_NO_FATAL_FAILURE to check if a // statement generates new fatal failures. To do so it registers itself as the // current test part result reporter. Besides checking if fatal failures were // reported, it only delegates the reporting to the former result reporter. // The original result reporter is restored in the destructor. // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. class GTEST_API_ HasNewFatalFailureHelper : public TestPartResultReporterInterface { public: HasNewFatalFailureHelper(); virtual ~HasNewFatalFailureHelper(); virtual void ReportTestPartResult(const TestPartResult& result); bool has_new_fatal_failure() const { return has_new_fatal_failure_; } private: bool has_new_fatal_failure_; TestPartResultReporterInterface* original_reporter_; GTEST_DISALLOW_COPY_AND_ASSIGN_(HasNewFatalFailureHelper); }; } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-printers.h0000644000175200017520000007557112277666257021135 00000000000000// Copyright 2007, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // Google Test - The Google C++ Testing Framework // // This file implements a universal value printer that can print a // value of any type T: // // void ::testing::internal::UniversalPrinter::Print(value, ostream_ptr); // // A user can teach this function how to print a class type T by // defining either operator<<() or PrintTo() in the namespace that // defines T. More specifically, the FIRST defined function in the // following list will be used (assuming T is defined in namespace // foo): // // 1. foo::PrintTo(const T&, ostream*) // 2. operator<<(ostream&, const T&) defined in either foo or the // global namespace. // // If none of the above is defined, it will print the debug string of // the value if it is a protocol buffer, or print the raw bytes in the // value otherwise. // // To aid debugging: when T is a reference type, the address of the // value is also printed; when T is a (const) char pointer, both the // pointer value and the NUL-terminated string it points to are // printed. // // We also provide some convenient wrappers: // // // Prints a value to a string. For a (const or not) char // // pointer, the NUL-terminated string (but not the pointer) is // // printed. // std::string ::testing::PrintToString(const T& value); // // // Prints a value tersely: for a reference type, the referenced // // value (but not the address) is printed; for a (const or not) char // // pointer, the NUL-terminated string (but not the pointer) is // // printed. // void ::testing::internal::UniversalTersePrint(const T& value, ostream*); // // // Prints value using the type inferred by the compiler. The difference // // from UniversalTersePrint() is that this function prints both the // // pointer and the NUL-terminated string for a (const or not) char pointer. // void ::testing::internal::UniversalPrint(const T& value, ostream*); // // // Prints the fields of a tuple tersely to a string vector, one // // element for each field. Tuple support must be enabled in // // gtest-port.h. // std::vector UniversalTersePrintTupleFieldsToStrings( // const Tuple& value); // // Known limitation: // // The print primitives print the elements of an STL-style container // using the compiler-inferred type of *iter where iter is a // const_iterator of the container. When const_iterator is an input // iterator but not a forward iterator, this inferred type may not // match value_type, and the print output may be incorrect. In // practice, this is rarely a problem as for most containers // const_iterator is a forward iterator. We'll fix this if there's an // actual need for it. Note that this fix cannot rely on value_type // being defined as many user-defined container types don't have // value_type. #ifndef GTEST_INCLUDE_GTEST_GTEST_PRINTERS_H_ #define GTEST_INCLUDE_GTEST_GTEST_PRINTERS_H_ #include // NOLINT #include #include #include #include #include "gtest/internal/gtest-port.h" #include "gtest/internal/gtest-internal.h" namespace testing { // Definitions in the 'internal' and 'internal2' name spaces are // subject to change without notice. DO NOT USE THEM IN USER CODE! namespace internal2 { // Prints the given number of bytes in the given object to the given // ostream. GTEST_API_ void PrintBytesInObjectTo(const unsigned char* obj_bytes, size_t count, ::std::ostream* os); // For selecting which printer to use when a given type has neither << // nor PrintTo(). enum TypeKind { kProtobuf, // a protobuf type kConvertibleToInteger, // a type implicitly convertible to BiggestInt // (e.g. a named or unnamed enum type) kOtherType // anything else }; // TypeWithoutFormatter::PrintValue(value, os) is called // by the universal printer to print a value of type T when neither // operator<< nor PrintTo() is defined for T, where kTypeKind is the // "kind" of T as defined by enum TypeKind. template class TypeWithoutFormatter { public: // This default version is called when kTypeKind is kOtherType. static void PrintValue(const T& value, ::std::ostream* os) { PrintBytesInObjectTo(reinterpret_cast(&value), sizeof(value), os); } }; // We print a protobuf using its ShortDebugString() when the string // doesn't exceed this many characters; otherwise we print it using // DebugString() for better readability. const size_t kProtobufOneLinerMaxLength = 50; template class TypeWithoutFormatter { public: static void PrintValue(const T& value, ::std::ostream* os) { const ::testing::internal::string short_str = value.ShortDebugString(); const ::testing::internal::string pretty_str = short_str.length() <= kProtobufOneLinerMaxLength ? short_str : ("\n" + value.DebugString()); *os << ("<" + pretty_str + ">"); } }; template class TypeWithoutFormatter { public: // Since T has no << operator or PrintTo() but can be implicitly // converted to BiggestInt, we print it as a BiggestInt. // // Most likely T is an enum type (either named or unnamed), in which // case printing it as an integer is the desired behavior. In case // T is not an enum, printing it as an integer is the best we can do // given that it has no user-defined printer. static void PrintValue(const T& value, ::std::ostream* os) { const internal::BiggestInt kBigInt = value; *os << kBigInt; } }; // Prints the given value to the given ostream. If the value is a // protocol message, its debug string is printed; if it's an enum or // of a type implicitly convertible to BiggestInt, it's printed as an // integer; otherwise the bytes in the value are printed. This is // what UniversalPrinter::Print() does when it knows nothing about // type T and T has neither << operator nor PrintTo(). // // A user can override this behavior for a class type Foo by defining // a << operator in the namespace where Foo is defined. // // We put this operator in namespace 'internal2' instead of 'internal' // to simplify the implementation, as much code in 'internal' needs to // use << in STL, which would conflict with our own << were it defined // in 'internal'. // // Note that this operator<< takes a generic std::basic_ostream type instead of the more restricted std::ostream. If // we define it to take an std::ostream instead, we'll get an // "ambiguous overloads" compiler error when trying to print a type // Foo that supports streaming to std::basic_ostream, as the compiler cannot tell whether // operator<<(std::ostream&, const T&) or // operator<<(std::basic_stream, const Foo&) is more // specific. template ::std::basic_ostream& operator<<( ::std::basic_ostream& os, const T& x) { TypeWithoutFormatter::value ? kProtobuf : internal::ImplicitlyConvertible::value ? kConvertibleToInteger : kOtherType)>::PrintValue(x, &os); return os; } } // namespace internal2 } // namespace testing // This namespace MUST NOT BE NESTED IN ::testing, or the name look-up // magic needed for implementing UniversalPrinter won't work. namespace testing_internal { // Used to print a value that is not an STL-style container when the // user doesn't define PrintTo() for it. template void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) { // With the following statement, during unqualified name lookup, // testing::internal2::operator<< appears as if it was declared in // the nearest enclosing namespace that contains both // ::testing_internal and ::testing::internal2, i.e. the global // namespace. For more details, refer to the C++ Standard section // 7.3.4-1 [namespace.udir]. This allows us to fall back onto // testing::internal2::operator<< in case T doesn't come with a << // operator. // // We cannot write 'using ::testing::internal2::operator<<;', which // gcc 3.3 fails to compile due to a compiler bug. using namespace ::testing::internal2; // NOLINT // Assuming T is defined in namespace foo, in the next statement, // the compiler will consider all of: // // 1. foo::operator<< (thanks to Koenig look-up), // 2. ::operator<< (as the current namespace is enclosed in ::), // 3. testing::internal2::operator<< (thanks to the using statement above). // // The operator<< whose type matches T best will be picked. // // We deliberately allow #2 to be a candidate, as sometimes it's // impossible to define #1 (e.g. when foo is ::std, defining // anything in it is undefined behavior unless you are a compiler // vendor.). *os << value; } } // namespace testing_internal namespace testing { namespace internal { // UniversalPrinter::Print(value, ostream_ptr) prints the given // value to the given ostream. The caller must ensure that // 'ostream_ptr' is not NULL, or the behavior is undefined. // // We define UniversalPrinter as a class template (as opposed to a // function template), as we need to partially specialize it for // reference types, which cannot be done with function templates. template class UniversalPrinter; template void UniversalPrint(const T& value, ::std::ostream* os); // Used to print an STL-style container when the user doesn't define // a PrintTo() for it. template void DefaultPrintTo(IsContainer /* dummy */, false_type /* is not a pointer */, const C& container, ::std::ostream* os) { const size_t kMaxCount = 32; // The maximum number of elements to print. *os << '{'; size_t count = 0; for (typename C::const_iterator it = container.begin(); it != container.end(); ++it, ++count) { if (count > 0) { *os << ','; if (count == kMaxCount) { // Enough has been printed. *os << " ..."; break; } } *os << ' '; // We cannot call PrintTo(*it, os) here as PrintTo() doesn't // handle *it being a native array. internal::UniversalPrint(*it, os); } if (count > 0) { *os << ' '; } *os << '}'; } // Used to print a pointer that is neither a char pointer nor a member // pointer, when the user doesn't define PrintTo() for it. (A member // variable pointer or member function pointer doesn't really point to // a location in the address space. Their representation is // implementation-defined. Therefore they will be printed as raw // bytes.) template void DefaultPrintTo(IsNotContainer /* dummy */, true_type /* is a pointer */, T* p, ::std::ostream* os) { if (p == NULL) { *os << "NULL"; } else { // C++ doesn't allow casting from a function pointer to any object // pointer. // // IsTrue() silences warnings: "Condition is always true", // "unreachable code". if (IsTrue(ImplicitlyConvertible::value)) { // T is not a function type. We just call << to print p, // relying on ADL to pick up user-defined << for their pointer // types, if any. *os << p; } else { // T is a function type, so '*os << p' doesn't do what we want // (it just prints p as bool). We want to print p as a const // void*. However, we cannot cast it to const void* directly, // even using reinterpret_cast, as earlier versions of gcc // (e.g. 3.4.5) cannot compile the cast when p is a function // pointer. Casting to UInt64 first solves the problem. *os << reinterpret_cast( reinterpret_cast(p)); } } } // Used to print a non-container, non-pointer value when the user // doesn't define PrintTo() for it. template void DefaultPrintTo(IsNotContainer /* dummy */, false_type /* is not a pointer */, const T& value, ::std::ostream* os) { ::testing_internal::DefaultPrintNonContainerTo(value, os); } // Prints the given value using the << operator if it has one; // otherwise prints the bytes in it. This is what // UniversalPrinter::Print() does when PrintTo() is not specialized // or overloaded for type T. // // A user can override this behavior for a class type Foo by defining // an overload of PrintTo() in the namespace where Foo is defined. We // give the user this option as sometimes defining a << operator for // Foo is not desirable (e.g. the coding style may prevent doing it, // or there is already a << operator but it doesn't do what the user // wants). template void PrintTo(const T& value, ::std::ostream* os) { // DefaultPrintTo() is overloaded. The type of its first two // arguments determine which version will be picked. If T is an // STL-style container, the version for container will be called; if // T is a pointer, the pointer version will be called; otherwise the // generic version will be called. // // Note that we check for container types here, prior to we check // for protocol message types in our operator<<. The rationale is: // // For protocol messages, we want to give people a chance to // override Google Mock's format by defining a PrintTo() or // operator<<. For STL containers, other formats can be // incompatible with Google Mock's format for the container // elements; therefore we check for container types here to ensure // that our format is used. // // The second argument of DefaultPrintTo() is needed to bypass a bug // in Symbian's C++ compiler that prevents it from picking the right // overload between: // // PrintTo(const T& x, ...); // PrintTo(T* x, ...); DefaultPrintTo(IsContainerTest(0), is_pointer(), value, os); } // The following list of PrintTo() overloads tells // UniversalPrinter::Print() how to print standard types (built-in // types, strings, plain arrays, and pointers). // Overloads for various char types. GTEST_API_ void PrintTo(unsigned char c, ::std::ostream* os); GTEST_API_ void PrintTo(signed char c, ::std::ostream* os); inline void PrintTo(char c, ::std::ostream* os) { // When printing a plain char, we always treat it as unsigned. This // way, the output won't be affected by whether the compiler thinks // char is signed or not. PrintTo(static_cast(c), os); } // Overloads for other simple built-in types. inline void PrintTo(bool x, ::std::ostream* os) { *os << (x ? "true" : "false"); } // Overload for wchar_t type. // Prints a wchar_t as a symbol if it is printable or as its internal // code otherwise and also as its decimal code (except for L'\0'). // The L'\0' char is printed as "L'\\0'". The decimal code is printed // as signed integer when wchar_t is implemented by the compiler // as a signed type and is printed as an unsigned integer when wchar_t // is implemented as an unsigned type. GTEST_API_ void PrintTo(wchar_t wc, ::std::ostream* os); // Overloads for C strings. GTEST_API_ void PrintTo(const char* s, ::std::ostream* os); inline void PrintTo(char* s, ::std::ostream* os) { PrintTo(ImplicitCast_(s), os); } // signed/unsigned char is often used for representing binary data, so // we print pointers to it as void* to be safe. inline void PrintTo(const signed char* s, ::std::ostream* os) { PrintTo(ImplicitCast_(s), os); } inline void PrintTo(signed char* s, ::std::ostream* os) { PrintTo(ImplicitCast_(s), os); } inline void PrintTo(const unsigned char* s, ::std::ostream* os) { PrintTo(ImplicitCast_(s), os); } inline void PrintTo(unsigned char* s, ::std::ostream* os) { PrintTo(ImplicitCast_(s), os); } // MSVC can be configured to define wchar_t as a typedef of unsigned // short. It defines _NATIVE_WCHAR_T_DEFINED when wchar_t is a native // type. When wchar_t is a typedef, defining an overload for const // wchar_t* would cause unsigned short* be printed as a wide string, // possibly causing invalid memory accesses. #if !defined(_MSC_VER) || defined(_NATIVE_WCHAR_T_DEFINED) // Overloads for wide C strings GTEST_API_ void PrintTo(const wchar_t* s, ::std::ostream* os); inline void PrintTo(wchar_t* s, ::std::ostream* os) { PrintTo(ImplicitCast_(s), os); } #endif // Overload for C arrays. Multi-dimensional arrays are printed // properly. // Prints the given number of elements in an array, without printing // the curly braces. template void PrintRawArrayTo(const T a[], size_t count, ::std::ostream* os) { UniversalPrint(a[0], os); for (size_t i = 1; i != count; i++) { *os << ", "; UniversalPrint(a[i], os); } } // Overloads for ::string and ::std::string. #if GTEST_HAS_GLOBAL_STRING GTEST_API_ void PrintStringTo(const ::string&s, ::std::ostream* os); inline void PrintTo(const ::string& s, ::std::ostream* os) { PrintStringTo(s, os); } #endif // GTEST_HAS_GLOBAL_STRING GTEST_API_ void PrintStringTo(const ::std::string&s, ::std::ostream* os); inline void PrintTo(const ::std::string& s, ::std::ostream* os) { PrintStringTo(s, os); } // Overloads for ::wstring and ::std::wstring. #if GTEST_HAS_GLOBAL_WSTRING GTEST_API_ void PrintWideStringTo(const ::wstring&s, ::std::ostream* os); inline void PrintTo(const ::wstring& s, ::std::ostream* os) { PrintWideStringTo(s, os); } #endif // GTEST_HAS_GLOBAL_WSTRING #if GTEST_HAS_STD_WSTRING GTEST_API_ void PrintWideStringTo(const ::std::wstring&s, ::std::ostream* os); inline void PrintTo(const ::std::wstring& s, ::std::ostream* os) { PrintWideStringTo(s, os); } #endif // GTEST_HAS_STD_WSTRING #if GTEST_HAS_TR1_TUPLE // Overload for ::std::tr1::tuple. Needed for printing function arguments, // which are packed as tuples. // Helper function for printing a tuple. T must be instantiated with // a tuple type. template void PrintTupleTo(const T& t, ::std::ostream* os); // Overloaded PrintTo() for tuples of various arities. We support // tuples of up-to 10 fields. The following implementation works // regardless of whether tr1::tuple is implemented using the // non-standard variadic template feature or not. inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo(const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } template void PrintTo( const ::std::tr1::tuple& t, ::std::ostream* os) { PrintTupleTo(t, os); } #endif // GTEST_HAS_TR1_TUPLE // Overload for std::pair. template void PrintTo(const ::std::pair& value, ::std::ostream* os) { *os << '('; // We cannot use UniversalPrint(value.first, os) here, as T1 may be // a reference type. The same for printing value.second. UniversalPrinter::Print(value.first, os); *os << ", "; UniversalPrinter::Print(value.second, os); *os << ')'; } // Implements printing a non-reference type T by letting the compiler // pick the right overload of PrintTo() for T. template class UniversalPrinter { public: // MSVC warns about adding const to a function type, so we want to // disable the warning. #ifdef _MSC_VER # pragma warning(push) // Saves the current warning state. # pragma warning(disable:4180) // Temporarily disables warning 4180. #endif // _MSC_VER // Note: we deliberately don't call this PrintTo(), as that name // conflicts with ::testing::internal::PrintTo in the body of the // function. static void Print(const T& value, ::std::ostream* os) { // By default, ::testing::internal::PrintTo() is used for printing // the value. // // Thanks to Koenig look-up, if T is a class and has its own // PrintTo() function defined in its namespace, that function will // be visible here. Since it is more specific than the generic ones // in ::testing::internal, it will be picked by the compiler in the // following statement - exactly what we want. PrintTo(value, os); } #ifdef _MSC_VER # pragma warning(pop) // Restores the warning state. #endif // _MSC_VER }; // UniversalPrintArray(begin, len, os) prints an array of 'len' // elements, starting at address 'begin'. template void UniversalPrintArray(const T* begin, size_t len, ::std::ostream* os) { if (len == 0) { *os << "{}"; } else { *os << "{ "; const size_t kThreshold = 18; const size_t kChunkSize = 8; // If the array has more than kThreshold elements, we'll have to // omit some details by printing only the first and the last // kChunkSize elements. // TODO(wan@google.com): let the user control the threshold using a flag. if (len <= kThreshold) { PrintRawArrayTo(begin, len, os); } else { PrintRawArrayTo(begin, kChunkSize, os); *os << ", ..., "; PrintRawArrayTo(begin + len - kChunkSize, kChunkSize, os); } *os << " }"; } } // This overload prints a (const) char array compactly. GTEST_API_ void UniversalPrintArray( const char* begin, size_t len, ::std::ostream* os); // This overload prints a (const) wchar_t array compactly. GTEST_API_ void UniversalPrintArray( const wchar_t* begin, size_t len, ::std::ostream* os); // Implements printing an array type T[N]. template class UniversalPrinter { public: // Prints the given array, omitting some elements when there are too // many. static void Print(const T (&a)[N], ::std::ostream* os) { UniversalPrintArray(a, N, os); } }; // Implements printing a reference type T&. template class UniversalPrinter { public: // MSVC warns about adding const to a function type, so we want to // disable the warning. #ifdef _MSC_VER # pragma warning(push) // Saves the current warning state. # pragma warning(disable:4180) // Temporarily disables warning 4180. #endif // _MSC_VER static void Print(const T& value, ::std::ostream* os) { // Prints the address of the value. We use reinterpret_cast here // as static_cast doesn't compile when T is a function type. *os << "@" << reinterpret_cast(&value) << " "; // Then prints the value itself. UniversalPrint(value, os); } #ifdef _MSC_VER # pragma warning(pop) // Restores the warning state. #endif // _MSC_VER }; // Prints a value tersely: for a reference type, the referenced value // (but not the address) is printed; for a (const) char pointer, the // NUL-terminated string (but not the pointer) is printed. template class UniversalTersePrinter { public: static void Print(const T& value, ::std::ostream* os) { UniversalPrint(value, os); } }; template class UniversalTersePrinter { public: static void Print(const T& value, ::std::ostream* os) { UniversalPrint(value, os); } }; template class UniversalTersePrinter { public: static void Print(const T (&value)[N], ::std::ostream* os) { UniversalPrinter::Print(value, os); } }; template <> class UniversalTersePrinter { public: static void Print(const char* str, ::std::ostream* os) { if (str == NULL) { *os << "NULL"; } else { UniversalPrint(string(str), os); } } }; template <> class UniversalTersePrinter { public: static void Print(char* str, ::std::ostream* os) { UniversalTersePrinter::Print(str, os); } }; #if GTEST_HAS_STD_WSTRING template <> class UniversalTersePrinter { public: static void Print(const wchar_t* str, ::std::ostream* os) { if (str == NULL) { *os << "NULL"; } else { UniversalPrint(::std::wstring(str), os); } } }; #endif template <> class UniversalTersePrinter { public: static void Print(wchar_t* str, ::std::ostream* os) { UniversalTersePrinter::Print(str, os); } }; template void UniversalTersePrint(const T& value, ::std::ostream* os) { UniversalTersePrinter::Print(value, os); } // Prints a value using the type inferred by the compiler. The // difference between this and UniversalTersePrint() is that for a // (const) char pointer, this prints both the pointer and the // NUL-terminated string. template void UniversalPrint(const T& value, ::std::ostream* os) { // A workarond for the bug in VC++ 7.1 that prevents us from instantiating // UniversalPrinter with T directly. typedef T T1; UniversalPrinter::Print(value, os); } #if GTEST_HAS_TR1_TUPLE typedef ::std::vector Strings; // This helper template allows PrintTo() for tuples and // UniversalTersePrintTupleFieldsToStrings() to be defined by // induction on the number of tuple fields. The idea is that // TuplePrefixPrinter::PrintPrefixTo(t, os) prints the first N // fields in tuple t, and can be defined in terms of // TuplePrefixPrinter. // The inductive case. template struct TuplePrefixPrinter { // Prints the first N fields of a tuple. template static void PrintPrefixTo(const Tuple& t, ::std::ostream* os) { TuplePrefixPrinter::PrintPrefixTo(t, os); *os << ", "; UniversalPrinter::type> ::Print(::std::tr1::get(t), os); } // Tersely prints the first N fields of a tuple to a string vector, // one element for each field. template static void TersePrintPrefixToStrings(const Tuple& t, Strings* strings) { TuplePrefixPrinter::TersePrintPrefixToStrings(t, strings); ::std::stringstream ss; UniversalTersePrint(::std::tr1::get(t), &ss); strings->push_back(ss.str()); } }; // Base cases. template <> struct TuplePrefixPrinter<0> { template static void PrintPrefixTo(const Tuple&, ::std::ostream*) {} template static void TersePrintPrefixToStrings(const Tuple&, Strings*) {} }; // We have to specialize the entire TuplePrefixPrinter<> class // template here, even though the definition of // TersePrintPrefixToStrings() is the same as the generic version, as // Embarcadero (formerly CodeGear, formerly Borland) C++ doesn't // support specializing a method template of a class template. template <> struct TuplePrefixPrinter<1> { template static void PrintPrefixTo(const Tuple& t, ::std::ostream* os) { UniversalPrinter::type>:: Print(::std::tr1::get<0>(t), os); } template static void TersePrintPrefixToStrings(const Tuple& t, Strings* strings) { ::std::stringstream ss; UniversalTersePrint(::std::tr1::get<0>(t), &ss); strings->push_back(ss.str()); } }; // Helper function for printing a tuple. T must be instantiated with // a tuple type. template void PrintTupleTo(const T& t, ::std::ostream* os) { *os << "("; TuplePrefixPrinter< ::std::tr1::tuple_size::value>:: PrintPrefixTo(t, os); *os << ")"; } // Prints the fields of a tuple tersely to a string vector, one // element for each field. See the comment before // UniversalTersePrint() for how we define "tersely". template Strings UniversalTersePrintTupleFieldsToStrings(const Tuple& value) { Strings result; TuplePrefixPrinter< ::std::tr1::tuple_size::value>:: TersePrintPrefixToStrings(value, &result); return result; } #endif // GTEST_HAS_TR1_TUPLE } // namespace internal template ::std::string PrintToString(const T& value) { ::std::stringstream ss; internal::UniversalTersePrinter::Print(value, &ss); return ss.str(); } } // namespace testing #endif // GTEST_INCLUDE_GTEST_GTEST_PRINTERS_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-death-test.h0000644000175200017520000002640312277666257021317 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // // The Google C++ Testing Framework (Google Test) // // This header file defines the public API for death tests. It is // #included by gtest.h so a user doesn't need to include this // directly. #ifndef GTEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ #define GTEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ #include "gtest/internal/gtest-death-test-internal.h" namespace testing { // This flag controls the style of death tests. Valid values are "threadsafe", // meaning that the death test child process will re-execute the test binary // from the start, running only a single death test, or "fast", // meaning that the child process will execute the test logic immediately // after forking. GTEST_DECLARE_string_(death_test_style); #if GTEST_HAS_DEATH_TEST namespace internal { // Returns a Boolean value indicating whether the caller is currently // executing in the context of the death test child process. Tools such as // Valgrind heap checkers may need this to modify their behavior in death // tests. IMPORTANT: This is an internal utility. Using it may break the // implementation of death tests. User code MUST NOT use it. GTEST_API_ bool InDeathTestChild(); } // namespace internal // The following macros are useful for writing death tests. // Here's what happens when an ASSERT_DEATH* or EXPECT_DEATH* is // executed: // // 1. It generates a warning if there is more than one active // thread. This is because it's safe to fork() or clone() only // when there is a single thread. // // 2. The parent process clone()s a sub-process and runs the death // test in it; the sub-process exits with code 0 at the end of the // death test, if it hasn't exited already. // // 3. The parent process waits for the sub-process to terminate. // // 4. The parent process checks the exit code and error message of // the sub-process. // // Examples: // // ASSERT_DEATH(server.SendMessage(56, "Hello"), "Invalid port number"); // for (int i = 0; i < 5; i++) { // EXPECT_DEATH(server.ProcessRequest(i), // "Invalid request .* in ProcessRequest()") // << "Failed to die on request " << i; // } // // ASSERT_EXIT(server.ExitNow(), ::testing::ExitedWithCode(0), "Exiting"); // // bool KilledBySIGHUP(int exit_code) { // return WIFSIGNALED(exit_code) && WTERMSIG(exit_code) == SIGHUP; // } // // ASSERT_EXIT(client.HangUpServer(), KilledBySIGHUP, "Hanging up!"); // // On the regular expressions used in death tests: // // On POSIX-compliant systems (*nix), we use the library, // which uses the POSIX extended regex syntax. // // On other platforms (e.g. Windows), we only support a simple regex // syntax implemented as part of Google Test. This limited // implementation should be enough most of the time when writing // death tests; though it lacks many features you can find in PCRE // or POSIX extended regex syntax. For example, we don't support // union ("x|y"), grouping ("(xy)"), brackets ("[xy]"), and // repetition count ("x{5,7}"), among others. // // Below is the syntax that we do support. We chose it to be a // subset of both PCRE and POSIX extended regex, so it's easy to // learn wherever you come from. In the following: 'A' denotes a // literal character, period (.), or a single \\ escape sequence; // 'x' and 'y' denote regular expressions; 'm' and 'n' are for // natural numbers. // // c matches any literal character c // \\d matches any decimal digit // \\D matches any character that's not a decimal digit // \\f matches \f // \\n matches \n // \\r matches \r // \\s matches any ASCII whitespace, including \n // \\S matches any character that's not a whitespace // \\t matches \t // \\v matches \v // \\w matches any letter, _, or decimal digit // \\W matches any character that \\w doesn't match // \\c matches any literal character c, which must be a punctuation // . matches any single character except \n // A? matches 0 or 1 occurrences of A // A* matches 0 or many occurrences of A // A+ matches 1 or many occurrences of A // ^ matches the beginning of a string (not that of each line) // $ matches the end of a string (not that of each line) // xy matches x followed by y // // If you accidentally use PCRE or POSIX extended regex features // not implemented by us, you will get a run-time failure. In that // case, please try to rewrite your regular expression within the // above syntax. // // This implementation is *not* meant to be as highly tuned or robust // as a compiled regex library, but should perform well enough for a // death test, which already incurs significant overhead by launching // a child process. // // Known caveats: // // A "threadsafe" style death test obtains the path to the test // program from argv[0] and re-executes it in the sub-process. For // simplicity, the current implementation doesn't search the PATH // when launching the sub-process. This means that the user must // invoke the test program via a path that contains at least one // path separator (e.g. path/to/foo_test and // /absolute/path/to/bar_test are fine, but foo_test is not). This // is rarely a problem as people usually don't put the test binary // directory in PATH. // // TODO(wan@google.com): make thread-safe death tests search the PATH. // Asserts that a given statement causes the program to exit, with an // integer exit status that satisfies predicate, and emitting error output // that matches regex. # define ASSERT_EXIT(statement, predicate, regex) \ GTEST_DEATH_TEST_(statement, predicate, regex, GTEST_FATAL_FAILURE_) // Like ASSERT_EXIT, but continues on to successive tests in the // test case, if any: # define EXPECT_EXIT(statement, predicate, regex) \ GTEST_DEATH_TEST_(statement, predicate, regex, GTEST_NONFATAL_FAILURE_) // Asserts that a given statement causes the program to exit, either by // explicitly exiting with a nonzero exit code or being killed by a // signal, and emitting error output that matches regex. # define ASSERT_DEATH(statement, regex) \ ASSERT_EXIT(statement, ::testing::internal::ExitedUnsuccessfully, regex) // Like ASSERT_DEATH, but continues on to successive tests in the // test case, if any: # define EXPECT_DEATH(statement, regex) \ EXPECT_EXIT(statement, ::testing::internal::ExitedUnsuccessfully, regex) // Two predicate classes that can be used in {ASSERT,EXPECT}_EXIT*: // Tests that an exit code describes a normal exit with a given exit code. class GTEST_API_ ExitedWithCode { public: explicit ExitedWithCode(int exit_code); bool operator()(int exit_status) const; private: // No implementation - assignment is unsupported. void operator=(const ExitedWithCode& other); const int exit_code_; }; # if !GTEST_OS_WINDOWS // Tests that an exit code describes an exit due to termination by a // given signal. class GTEST_API_ KilledBySignal { public: explicit KilledBySignal(int signum); bool operator()(int exit_status) const; private: const int signum_; }; # endif // !GTEST_OS_WINDOWS // EXPECT_DEBUG_DEATH asserts that the given statements die in debug mode. // The death testing framework causes this to have interesting semantics, // since the sideeffects of the call are only visible in opt mode, and not // in debug mode. // // In practice, this can be used to test functions that utilize the // LOG(DFATAL) macro using the following style: // // int DieInDebugOr12(int* sideeffect) { // if (sideeffect) { // *sideeffect = 12; // } // LOG(DFATAL) << "death"; // return 12; // } // // TEST(TestCase, TestDieOr12WorksInDgbAndOpt) { // int sideeffect = 0; // // Only asserts in dbg. // EXPECT_DEBUG_DEATH(DieInDebugOr12(&sideeffect), "death"); // // #ifdef NDEBUG // // opt-mode has sideeffect visible. // EXPECT_EQ(12, sideeffect); // #else // // dbg-mode no visible sideeffect. // EXPECT_EQ(0, sideeffect); // #endif // } // // This will assert that DieInDebugReturn12InOpt() crashes in debug // mode, usually due to a DCHECK or LOG(DFATAL), but returns the // appropriate fallback value (12 in this case) in opt mode. If you // need to test that a function has appropriate side-effects in opt // mode, include assertions against the side-effects. A general // pattern for this is: // // EXPECT_DEBUG_DEATH({ // // Side-effects here will have an effect after this statement in // // opt mode, but none in debug mode. // EXPECT_EQ(12, DieInDebugOr12(&sideeffect)); // }, "death"); // # ifdef NDEBUG # define EXPECT_DEBUG_DEATH(statement, regex) \ GTEST_EXECUTE_STATEMENT_(statement, regex) # define ASSERT_DEBUG_DEATH(statement, regex) \ GTEST_EXECUTE_STATEMENT_(statement, regex) # else # define EXPECT_DEBUG_DEATH(statement, regex) \ EXPECT_DEATH(statement, regex) # define ASSERT_DEBUG_DEATH(statement, regex) \ ASSERT_DEATH(statement, regex) # endif // NDEBUG for EXPECT_DEBUG_DEATH #endif // GTEST_HAS_DEATH_TEST // EXPECT_DEATH_IF_SUPPORTED(statement, regex) and // ASSERT_DEATH_IF_SUPPORTED(statement, regex) expand to real death tests if // death tests are supported; otherwise they just issue a warning. This is // useful when you are combining death test assertions with normal test // assertions in one test. #if GTEST_HAS_DEATH_TEST # define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \ EXPECT_DEATH(statement, regex) # define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \ ASSERT_DEATH(statement, regex) #else # define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \ GTEST_UNSUPPORTED_DEATH_TEST_(statement, regex, ) # define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \ GTEST_UNSUPPORTED_DEATH_TEST_(statement, regex, return) #endif } // namespace testing #endif // GTEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-param-test.h0000644000175200017520000022413012277666257021327 00000000000000// This file was GENERATED by command: // pump.py gtest-param-test.h.pump // DO NOT EDIT BY HAND!!! // Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: vladl@google.com (Vlad Losev) // // Macros and functions for implementing parameterized tests // in Google C++ Testing Framework (Google Test) // // This file is generated by a SCRIPT. DO NOT EDIT BY HAND! // #ifndef GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ #define GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ // Value-parameterized tests allow you to test your code with different // parameters without writing multiple copies of the same test. // // Here is how you use value-parameterized tests: #if 0 // To write value-parameterized tests, first you should define a fixture // class. It is usually derived from testing::TestWithParam (see below for // another inheritance scheme that's sometimes useful in more complicated // class hierarchies), where the type of your parameter values. // TestWithParam is itself derived from testing::Test. T can be any // copyable type. If it's a raw pointer, you are responsible for managing the // lifespan of the pointed values. class FooTest : public ::testing::TestWithParam { // You can implement all the usual class fixture members here. }; // Then, use the TEST_P macro to define as many parameterized tests // for this fixture as you want. The _P suffix is for "parameterized" // or "pattern", whichever you prefer to think. TEST_P(FooTest, DoesBlah) { // Inside a test, access the test parameter with the GetParam() method // of the TestWithParam class: EXPECT_TRUE(foo.Blah(GetParam())); ... } TEST_P(FooTest, HasBlahBlah) { ... } // Finally, you can use INSTANTIATE_TEST_CASE_P to instantiate the test // case with any set of parameters you want. Google Test defines a number // of functions for generating test parameters. They return what we call // (surprise!) parameter generators. Here is a summary of them, which // are all in the testing namespace: // // // Range(begin, end [, step]) - Yields values {begin, begin+step, // begin+step+step, ...}. The values do not // include end. step defaults to 1. // Values(v1, v2, ..., vN) - Yields values {v1, v2, ..., vN}. // ValuesIn(container) - Yields values from a C-style array, an STL // ValuesIn(begin,end) container, or an iterator range [begin, end). // Bool() - Yields sequence {false, true}. // Combine(g1, g2, ..., gN) - Yields all combinations (the Cartesian product // for the math savvy) of the values generated // by the N generators. // // For more details, see comments at the definitions of these functions below // in this file. // // The following statement will instantiate tests from the FooTest test case // each with parameter values "meeny", "miny", and "moe". INSTANTIATE_TEST_CASE_P(InstantiationName, FooTest, Values("meeny", "miny", "moe")); // To distinguish different instances of the pattern, (yes, you // can instantiate it more then once) the first argument to the // INSTANTIATE_TEST_CASE_P macro is a prefix that will be added to the // actual test case name. Remember to pick unique prefixes for different // instantiations. The tests from the instantiation above will have // these names: // // * InstantiationName/FooTest.DoesBlah/0 for "meeny" // * InstantiationName/FooTest.DoesBlah/1 for "miny" // * InstantiationName/FooTest.DoesBlah/2 for "moe" // * InstantiationName/FooTest.HasBlahBlah/0 for "meeny" // * InstantiationName/FooTest.HasBlahBlah/1 for "miny" // * InstantiationName/FooTest.HasBlahBlah/2 for "moe" // // You can use these names in --gtest_filter. // // This statement will instantiate all tests from FooTest again, each // with parameter values "cat" and "dog": const char* pets[] = {"cat", "dog"}; INSTANTIATE_TEST_CASE_P(AnotherInstantiationName, FooTest, ValuesIn(pets)); // The tests from the instantiation above will have these names: // // * AnotherInstantiationName/FooTest.DoesBlah/0 for "cat" // * AnotherInstantiationName/FooTest.DoesBlah/1 for "dog" // * AnotherInstantiationName/FooTest.HasBlahBlah/0 for "cat" // * AnotherInstantiationName/FooTest.HasBlahBlah/1 for "dog" // // Please note that INSTANTIATE_TEST_CASE_P will instantiate all tests // in the given test case, whether their definitions come before or // AFTER the INSTANTIATE_TEST_CASE_P statement. // // Please also note that generator expressions (including parameters to the // generators) are evaluated in InitGoogleTest(), after main() has started. // This allows the user on one hand, to adjust generator parameters in order // to dynamically determine a set of tests to run and on the other hand, // give the user a chance to inspect the generated tests with Google Test // reflection API before RUN_ALL_TESTS() is executed. // // You can see samples/sample7_unittest.cc and samples/sample8_unittest.cc // for more examples. // // In the future, we plan to publish the API for defining new parameter // generators. But for now this interface remains part of the internal // implementation and is subject to change. // // // A parameterized test fixture must be derived from testing::Test and from // testing::WithParamInterface, where T is the type of the parameter // values. Inheriting from TestWithParam satisfies that requirement because // TestWithParam inherits from both Test and WithParamInterface. In more // complicated hierarchies, however, it is occasionally useful to inherit // separately from Test and WithParamInterface. For example: class BaseTest : public ::testing::Test { // You can inherit all the usual members for a non-parameterized test // fixture here. }; class DerivedTest : public BaseTest, public ::testing::WithParamInterface { // The usual test fixture members go here too. }; TEST_F(BaseTest, HasFoo) { // This is an ordinary non-parameterized test. } TEST_P(DerivedTest, DoesBlah) { // GetParam works just the same here as if you inherit from TestWithParam. EXPECT_TRUE(foo.Blah(GetParam())); } #endif // 0 #include "gtest/internal/gtest-port.h" #if !GTEST_OS_SYMBIAN # include #endif // scripts/fuse_gtest.py depends on gtest's own header being #included // *unconditionally*. Therefore these #includes cannot be moved // inside #if GTEST_HAS_PARAM_TEST. #include "gtest/internal/gtest-internal.h" #include "gtest/internal/gtest-param-util.h" #include "gtest/internal/gtest-param-util-generated.h" #if GTEST_HAS_PARAM_TEST namespace testing { // Functions producing parameter generators. // // Google Test uses these generators to produce parameters for value- // parameterized tests. When a parameterized test case is instantiated // with a particular generator, Google Test creates and runs tests // for each element in the sequence produced by the generator. // // In the following sample, tests from test case FooTest are instantiated // each three times with parameter values 3, 5, and 8: // // class FooTest : public TestWithParam { ... }; // // TEST_P(FooTest, TestThis) { // } // TEST_P(FooTest, TestThat) { // } // INSTANTIATE_TEST_CASE_P(TestSequence, FooTest, Values(3, 5, 8)); // // Range() returns generators providing sequences of values in a range. // // Synopsis: // Range(start, end) // - returns a generator producing a sequence of values {start, start+1, // start+2, ..., }. // Range(start, end, step) // - returns a generator producing a sequence of values {start, start+step, // start+step+step, ..., }. // Notes: // * The generated sequences never include end. For example, Range(1, 5) // returns a generator producing a sequence {1, 2, 3, 4}. Range(1, 9, 2) // returns a generator producing {1, 3, 5, 7}. // * start and end must have the same type. That type may be any integral or // floating-point type or a user defined type satisfying these conditions: // * It must be assignable (have operator=() defined). // * It must have operator+() (operator+(int-compatible type) for // two-operand version). // * It must have operator<() defined. // Elements in the resulting sequences will also have that type. // * Condition start < end must be satisfied in order for resulting sequences // to contain any elements. // template internal::ParamGenerator Range(T start, T end, IncrementT step) { return internal::ParamGenerator( new internal::RangeGenerator(start, end, step)); } template internal::ParamGenerator Range(T start, T end) { return Range(start, end, 1); } // ValuesIn() function allows generation of tests with parameters coming from // a container. // // Synopsis: // ValuesIn(const T (&array)[N]) // - returns a generator producing sequences with elements from // a C-style array. // ValuesIn(const Container& container) // - returns a generator producing sequences with elements from // an STL-style container. // ValuesIn(Iterator begin, Iterator end) // - returns a generator producing sequences with elements from // a range [begin, end) defined by a pair of STL-style iterators. These // iterators can also be plain C pointers. // // Please note that ValuesIn copies the values from the containers // passed in and keeps them to generate tests in RUN_ALL_TESTS(). // // Examples: // // This instantiates tests from test case StringTest // each with C-string values of "foo", "bar", and "baz": // // const char* strings[] = {"foo", "bar", "baz"}; // INSTANTIATE_TEST_CASE_P(StringSequence, SrtingTest, ValuesIn(strings)); // // This instantiates tests from test case StlStringTest // each with STL strings with values "a" and "b": // // ::std::vector< ::std::string> GetParameterStrings() { // ::std::vector< ::std::string> v; // v.push_back("a"); // v.push_back("b"); // return v; // } // // INSTANTIATE_TEST_CASE_P(CharSequence, // StlStringTest, // ValuesIn(GetParameterStrings())); // // // This will also instantiate tests from CharTest // each with parameter values 'a' and 'b': // // ::std::list GetParameterChars() { // ::std::list list; // list.push_back('a'); // list.push_back('b'); // return list; // } // ::std::list l = GetParameterChars(); // INSTANTIATE_TEST_CASE_P(CharSequence2, // CharTest, // ValuesIn(l.begin(), l.end())); // template internal::ParamGenerator< typename ::testing::internal::IteratorTraits::value_type> ValuesIn(ForwardIterator begin, ForwardIterator end) { typedef typename ::testing::internal::IteratorTraits ::value_type ParamType; return internal::ParamGenerator( new internal::ValuesInIteratorRangeGenerator(begin, end)); } template internal::ParamGenerator ValuesIn(const T (&array)[N]) { return ValuesIn(array, array + N); } template internal::ParamGenerator ValuesIn( const Container& container) { return ValuesIn(container.begin(), container.end()); } // Values() allows generating tests from explicitly specified list of // parameters. // // Synopsis: // Values(T v1, T v2, ..., T vN) // - returns a generator producing sequences with elements v1, v2, ..., vN. // // For example, this instantiates tests from test case BarTest each // with values "one", "two", and "three": // // INSTANTIATE_TEST_CASE_P(NumSequence, BarTest, Values("one", "two", "three")); // // This instantiates tests from test case BazTest each with values 1, 2, 3.5. // The exact type of values will depend on the type of parameter in BazTest. // // INSTANTIATE_TEST_CASE_P(FloatingNumbers, BazTest, Values(1, 2, 3.5)); // // Currently, Values() supports from 1 to 50 parameters. // template internal::ValueArray1 Values(T1 v1) { return internal::ValueArray1(v1); } template internal::ValueArray2 Values(T1 v1, T2 v2) { return internal::ValueArray2(v1, v2); } template internal::ValueArray3 Values(T1 v1, T2 v2, T3 v3) { return internal::ValueArray3(v1, v2, v3); } template internal::ValueArray4 Values(T1 v1, T2 v2, T3 v3, T4 v4) { return internal::ValueArray4(v1, v2, v3, v4); } template internal::ValueArray5 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) { return internal::ValueArray5(v1, v2, v3, v4, v5); } template internal::ValueArray6 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) { return internal::ValueArray6(v1, v2, v3, v4, v5, v6); } template internal::ValueArray7 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) { return internal::ValueArray7(v1, v2, v3, v4, v5, v6, v7); } template internal::ValueArray8 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) { return internal::ValueArray8(v1, v2, v3, v4, v5, v6, v7, v8); } template internal::ValueArray9 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) { return internal::ValueArray9(v1, v2, v3, v4, v5, v6, v7, v8, v9); } template internal::ValueArray10 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10) { return internal::ValueArray10(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10); } template internal::ValueArray11 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11) { return internal::ValueArray11(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11); } template internal::ValueArray12 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12) { return internal::ValueArray12(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12); } template internal::ValueArray13 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13) { return internal::ValueArray13(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13); } template internal::ValueArray14 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14) { return internal::ValueArray14(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14); } template internal::ValueArray15 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15) { return internal::ValueArray15(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15); } template internal::ValueArray16 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16) { return internal::ValueArray16(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16); } template internal::ValueArray17 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17) { return internal::ValueArray17(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17); } template internal::ValueArray18 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18) { return internal::ValueArray18(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18); } template internal::ValueArray19 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19) { return internal::ValueArray19(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19); } template internal::ValueArray20 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20) { return internal::ValueArray20(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20); } template internal::ValueArray21 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21) { return internal::ValueArray21(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21); } template internal::ValueArray22 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22) { return internal::ValueArray22(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22); } template internal::ValueArray23 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23) { return internal::ValueArray23(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23); } template internal::ValueArray24 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24) { return internal::ValueArray24(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24); } template internal::ValueArray25 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25) { return internal::ValueArray25(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25); } template internal::ValueArray26 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26) { return internal::ValueArray26(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26); } template internal::ValueArray27 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27) { return internal::ValueArray27(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27); } template internal::ValueArray28 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28) { return internal::ValueArray28(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28); } template internal::ValueArray29 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29) { return internal::ValueArray29(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29); } template internal::ValueArray30 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30) { return internal::ValueArray30(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30); } template internal::ValueArray31 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31) { return internal::ValueArray31(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31); } template internal::ValueArray32 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32) { return internal::ValueArray32(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32); } template internal::ValueArray33 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33) { return internal::ValueArray33(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33); } template internal::ValueArray34 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34) { return internal::ValueArray34(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34); } template internal::ValueArray35 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35) { return internal::ValueArray35(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35); } template internal::ValueArray36 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36) { return internal::ValueArray36(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36); } template internal::ValueArray37 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37) { return internal::ValueArray37(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37); } template internal::ValueArray38 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38) { return internal::ValueArray38(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38); } template internal::ValueArray39 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39) { return internal::ValueArray39(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39); } template internal::ValueArray40 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40) { return internal::ValueArray40(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40); } template internal::ValueArray41 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41) { return internal::ValueArray41(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41); } template internal::ValueArray42 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42) { return internal::ValueArray42(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42); } template internal::ValueArray43 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43) { return internal::ValueArray43(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43); } template internal::ValueArray44 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44) { return internal::ValueArray44(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44); } template internal::ValueArray45 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45) { return internal::ValueArray45(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45); } template internal::ValueArray46 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46) { return internal::ValueArray46(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46); } template internal::ValueArray47 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47) { return internal::ValueArray47(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47); } template internal::ValueArray48 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48) { return internal::ValueArray48(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48); } template internal::ValueArray49 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48, T49 v49) { return internal::ValueArray49(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49); } template internal::ValueArray50 Values(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48, T49 v49, T50 v50) { return internal::ValueArray50(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50); } // Bool() allows generating tests with parameters in a set of (false, true). // // Synopsis: // Bool() // - returns a generator producing sequences with elements {false, true}. // // It is useful when testing code that depends on Boolean flags. Combinations // of multiple flags can be tested when several Bool()'s are combined using // Combine() function. // // In the following example all tests in the test case FlagDependentTest // will be instantiated twice with parameters false and true. // // class FlagDependentTest : public testing::TestWithParam { // virtual void SetUp() { // external_flag = GetParam(); // } // } // INSTANTIATE_TEST_CASE_P(BoolSequence, FlagDependentTest, Bool()); // inline internal::ParamGenerator Bool() { return Values(false, true); } # if GTEST_HAS_COMBINE // Combine() allows the user to combine two or more sequences to produce // values of a Cartesian product of those sequences' elements. // // Synopsis: // Combine(gen1, gen2, ..., genN) // - returns a generator producing sequences with elements coming from // the Cartesian product of elements from the sequences generated by // gen1, gen2, ..., genN. The sequence elements will have a type of // tuple where T1, T2, ..., TN are the types // of elements from sequences produces by gen1, gen2, ..., genN. // // Combine can have up to 10 arguments. This number is currently limited // by the maximum number of elements in the tuple implementation used by Google // Test. // // Example: // // This will instantiate tests in test case AnimalTest each one with // the parameter values tuple("cat", BLACK), tuple("cat", WHITE), // tuple("dog", BLACK), and tuple("dog", WHITE): // // enum Color { BLACK, GRAY, WHITE }; // class AnimalTest // : public testing::TestWithParam > {...}; // // TEST_P(AnimalTest, AnimalLooksNice) {...} // // INSTANTIATE_TEST_CASE_P(AnimalVariations, AnimalTest, // Combine(Values("cat", "dog"), // Values(BLACK, WHITE))); // // This will instantiate tests in FlagDependentTest with all variations of two // Boolean flags: // // class FlagDependentTest // : public testing::TestWithParam > { // virtual void SetUp() { // // Assigns external_flag_1 and external_flag_2 values from the tuple. // tie(external_flag_1, external_flag_2) = GetParam(); // } // }; // // TEST_P(FlagDependentTest, TestFeature1) { // // Test your code using external_flag_1 and external_flag_2 here. // } // INSTANTIATE_TEST_CASE_P(TwoBoolSequence, FlagDependentTest, // Combine(Bool(), Bool())); // template internal::CartesianProductHolder2 Combine( const Generator1& g1, const Generator2& g2) { return internal::CartesianProductHolder2( g1, g2); } template internal::CartesianProductHolder3 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3) { return internal::CartesianProductHolder3( g1, g2, g3); } template internal::CartesianProductHolder4 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4) { return internal::CartesianProductHolder4( g1, g2, g3, g4); } template internal::CartesianProductHolder5 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5) { return internal::CartesianProductHolder5( g1, g2, g3, g4, g5); } template internal::CartesianProductHolder6 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6) { return internal::CartesianProductHolder6( g1, g2, g3, g4, g5, g6); } template internal::CartesianProductHolder7 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7) { return internal::CartesianProductHolder7( g1, g2, g3, g4, g5, g6, g7); } template internal::CartesianProductHolder8 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7, const Generator8& g8) { return internal::CartesianProductHolder8( g1, g2, g3, g4, g5, g6, g7, g8); } template internal::CartesianProductHolder9 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7, const Generator8& g8, const Generator9& g9) { return internal::CartesianProductHolder9( g1, g2, g3, g4, g5, g6, g7, g8, g9); } template internal::CartesianProductHolder10 Combine( const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7, const Generator8& g8, const Generator9& g9, const Generator10& g10) { return internal::CartesianProductHolder10( g1, g2, g3, g4, g5, g6, g7, g8, g9, g10); } # endif // GTEST_HAS_COMBINE # define TEST_P(test_case_name, test_name) \ class GTEST_TEST_CLASS_NAME_(test_case_name, test_name) \ : public test_case_name { \ public: \ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {} \ virtual void TestBody(); \ private: \ static int AddToRegistry() { \ ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \ GetTestCasePatternHolder(\ #test_case_name, __FILE__, __LINE__)->AddTestPattern(\ #test_case_name, \ #test_name, \ new ::testing::internal::TestMetaFactory< \ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>()); \ return 0; \ } \ static int gtest_registering_dummy_; \ GTEST_DISALLOW_COPY_AND_ASSIGN_(\ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)); \ }; \ int GTEST_TEST_CLASS_NAME_(test_case_name, \ test_name)::gtest_registering_dummy_ = \ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::AddToRegistry(); \ void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody() # define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator) \ ::testing::internal::ParamGenerator \ gtest_##prefix##test_case_name##_EvalGenerator_() { return generator; } \ int gtest_##prefix##test_case_name##_dummy_ = \ ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \ GetTestCasePatternHolder(\ #test_case_name, __FILE__, __LINE__)->AddTestCaseInstantiation(\ #prefix, \ >est_##prefix##test_case_name##_EvalGenerator_, \ __FILE__, __LINE__) } // namespace testing #endif // GTEST_HAS_PARAM_TEST #endif // GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-param-test.h.pump0000644000175200017520000004455412277666257022321 00000000000000$$ -*- mode: c++; -*- $var n = 50 $$ Maximum length of Values arguments we want to support. $var maxtuple = 10 $$ Maximum number of Combine arguments we want to support. // Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: vladl@google.com (Vlad Losev) // // Macros and functions for implementing parameterized tests // in Google C++ Testing Framework (Google Test) // // This file is generated by a SCRIPT. DO NOT EDIT BY HAND! // #ifndef GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ #define GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ // Value-parameterized tests allow you to test your code with different // parameters without writing multiple copies of the same test. // // Here is how you use value-parameterized tests: #if 0 // To write value-parameterized tests, first you should define a fixture // class. It is usually derived from testing::TestWithParam (see below for // another inheritance scheme that's sometimes useful in more complicated // class hierarchies), where the type of your parameter values. // TestWithParam is itself derived from testing::Test. T can be any // copyable type. If it's a raw pointer, you are responsible for managing the // lifespan of the pointed values. class FooTest : public ::testing::TestWithParam { // You can implement all the usual class fixture members here. }; // Then, use the TEST_P macro to define as many parameterized tests // for this fixture as you want. The _P suffix is for "parameterized" // or "pattern", whichever you prefer to think. TEST_P(FooTest, DoesBlah) { // Inside a test, access the test parameter with the GetParam() method // of the TestWithParam class: EXPECT_TRUE(foo.Blah(GetParam())); ... } TEST_P(FooTest, HasBlahBlah) { ... } // Finally, you can use INSTANTIATE_TEST_CASE_P to instantiate the test // case with any set of parameters you want. Google Test defines a number // of functions for generating test parameters. They return what we call // (surprise!) parameter generators. Here is a summary of them, which // are all in the testing namespace: // // // Range(begin, end [, step]) - Yields values {begin, begin+step, // begin+step+step, ...}. The values do not // include end. step defaults to 1. // Values(v1, v2, ..., vN) - Yields values {v1, v2, ..., vN}. // ValuesIn(container) - Yields values from a C-style array, an STL // ValuesIn(begin,end) container, or an iterator range [begin, end). // Bool() - Yields sequence {false, true}. // Combine(g1, g2, ..., gN) - Yields all combinations (the Cartesian product // for the math savvy) of the values generated // by the N generators. // // For more details, see comments at the definitions of these functions below // in this file. // // The following statement will instantiate tests from the FooTest test case // each with parameter values "meeny", "miny", and "moe". INSTANTIATE_TEST_CASE_P(InstantiationName, FooTest, Values("meeny", "miny", "moe")); // To distinguish different instances of the pattern, (yes, you // can instantiate it more then once) the first argument to the // INSTANTIATE_TEST_CASE_P macro is a prefix that will be added to the // actual test case name. Remember to pick unique prefixes for different // instantiations. The tests from the instantiation above will have // these names: // // * InstantiationName/FooTest.DoesBlah/0 for "meeny" // * InstantiationName/FooTest.DoesBlah/1 for "miny" // * InstantiationName/FooTest.DoesBlah/2 for "moe" // * InstantiationName/FooTest.HasBlahBlah/0 for "meeny" // * InstantiationName/FooTest.HasBlahBlah/1 for "miny" // * InstantiationName/FooTest.HasBlahBlah/2 for "moe" // // You can use these names in --gtest_filter. // // This statement will instantiate all tests from FooTest again, each // with parameter values "cat" and "dog": const char* pets[] = {"cat", "dog"}; INSTANTIATE_TEST_CASE_P(AnotherInstantiationName, FooTest, ValuesIn(pets)); // The tests from the instantiation above will have these names: // // * AnotherInstantiationName/FooTest.DoesBlah/0 for "cat" // * AnotherInstantiationName/FooTest.DoesBlah/1 for "dog" // * AnotherInstantiationName/FooTest.HasBlahBlah/0 for "cat" // * AnotherInstantiationName/FooTest.HasBlahBlah/1 for "dog" // // Please note that INSTANTIATE_TEST_CASE_P will instantiate all tests // in the given test case, whether their definitions come before or // AFTER the INSTANTIATE_TEST_CASE_P statement. // // Please also note that generator expressions (including parameters to the // generators) are evaluated in InitGoogleTest(), after main() has started. // This allows the user on one hand, to adjust generator parameters in order // to dynamically determine a set of tests to run and on the other hand, // give the user a chance to inspect the generated tests with Google Test // reflection API before RUN_ALL_TESTS() is executed. // // You can see samples/sample7_unittest.cc and samples/sample8_unittest.cc // for more examples. // // In the future, we plan to publish the API for defining new parameter // generators. But for now this interface remains part of the internal // implementation and is subject to change. // // // A parameterized test fixture must be derived from testing::Test and from // testing::WithParamInterface, where T is the type of the parameter // values. Inheriting from TestWithParam satisfies that requirement because // TestWithParam inherits from both Test and WithParamInterface. In more // complicated hierarchies, however, it is occasionally useful to inherit // separately from Test and WithParamInterface. For example: class BaseTest : public ::testing::Test { // You can inherit all the usual members for a non-parameterized test // fixture here. }; class DerivedTest : public BaseTest, public ::testing::WithParamInterface { // The usual test fixture members go here too. }; TEST_F(BaseTest, HasFoo) { // This is an ordinary non-parameterized test. } TEST_P(DerivedTest, DoesBlah) { // GetParam works just the same here as if you inherit from TestWithParam. EXPECT_TRUE(foo.Blah(GetParam())); } #endif // 0 #include "gtest/internal/gtest-port.h" #if !GTEST_OS_SYMBIAN # include #endif // scripts/fuse_gtest.py depends on gtest's own header being #included // *unconditionally*. Therefore these #includes cannot be moved // inside #if GTEST_HAS_PARAM_TEST. #include "gtest/internal/gtest-internal.h" #include "gtest/internal/gtest-param-util.h" #include "gtest/internal/gtest-param-util-generated.h" #if GTEST_HAS_PARAM_TEST namespace testing { // Functions producing parameter generators. // // Google Test uses these generators to produce parameters for value- // parameterized tests. When a parameterized test case is instantiated // with a particular generator, Google Test creates and runs tests // for each element in the sequence produced by the generator. // // In the following sample, tests from test case FooTest are instantiated // each three times with parameter values 3, 5, and 8: // // class FooTest : public TestWithParam { ... }; // // TEST_P(FooTest, TestThis) { // } // TEST_P(FooTest, TestThat) { // } // INSTANTIATE_TEST_CASE_P(TestSequence, FooTest, Values(3, 5, 8)); // // Range() returns generators providing sequences of values in a range. // // Synopsis: // Range(start, end) // - returns a generator producing a sequence of values {start, start+1, // start+2, ..., }. // Range(start, end, step) // - returns a generator producing a sequence of values {start, start+step, // start+step+step, ..., }. // Notes: // * The generated sequences never include end. For example, Range(1, 5) // returns a generator producing a sequence {1, 2, 3, 4}. Range(1, 9, 2) // returns a generator producing {1, 3, 5, 7}. // * start and end must have the same type. That type may be any integral or // floating-point type or a user defined type satisfying these conditions: // * It must be assignable (have operator=() defined). // * It must have operator+() (operator+(int-compatible type) for // two-operand version). // * It must have operator<() defined. // Elements in the resulting sequences will also have that type. // * Condition start < end must be satisfied in order for resulting sequences // to contain any elements. // template internal::ParamGenerator Range(T start, T end, IncrementT step) { return internal::ParamGenerator( new internal::RangeGenerator(start, end, step)); } template internal::ParamGenerator Range(T start, T end) { return Range(start, end, 1); } // ValuesIn() function allows generation of tests with parameters coming from // a container. // // Synopsis: // ValuesIn(const T (&array)[N]) // - returns a generator producing sequences with elements from // a C-style array. // ValuesIn(const Container& container) // - returns a generator producing sequences with elements from // an STL-style container. // ValuesIn(Iterator begin, Iterator end) // - returns a generator producing sequences with elements from // a range [begin, end) defined by a pair of STL-style iterators. These // iterators can also be plain C pointers. // // Please note that ValuesIn copies the values from the containers // passed in and keeps them to generate tests in RUN_ALL_TESTS(). // // Examples: // // This instantiates tests from test case StringTest // each with C-string values of "foo", "bar", and "baz": // // const char* strings[] = {"foo", "bar", "baz"}; // INSTANTIATE_TEST_CASE_P(StringSequence, SrtingTest, ValuesIn(strings)); // // This instantiates tests from test case StlStringTest // each with STL strings with values "a" and "b": // // ::std::vector< ::std::string> GetParameterStrings() { // ::std::vector< ::std::string> v; // v.push_back("a"); // v.push_back("b"); // return v; // } // // INSTANTIATE_TEST_CASE_P(CharSequence, // StlStringTest, // ValuesIn(GetParameterStrings())); // // // This will also instantiate tests from CharTest // each with parameter values 'a' and 'b': // // ::std::list GetParameterChars() { // ::std::list list; // list.push_back('a'); // list.push_back('b'); // return list; // } // ::std::list l = GetParameterChars(); // INSTANTIATE_TEST_CASE_P(CharSequence2, // CharTest, // ValuesIn(l.begin(), l.end())); // template internal::ParamGenerator< typename ::testing::internal::IteratorTraits::value_type> ValuesIn(ForwardIterator begin, ForwardIterator end) { typedef typename ::testing::internal::IteratorTraits ::value_type ParamType; return internal::ParamGenerator( new internal::ValuesInIteratorRangeGenerator(begin, end)); } template internal::ParamGenerator ValuesIn(const T (&array)[N]) { return ValuesIn(array, array + N); } template internal::ParamGenerator ValuesIn( const Container& container) { return ValuesIn(container.begin(), container.end()); } // Values() allows generating tests from explicitly specified list of // parameters. // // Synopsis: // Values(T v1, T v2, ..., T vN) // - returns a generator producing sequences with elements v1, v2, ..., vN. // // For example, this instantiates tests from test case BarTest each // with values "one", "two", and "three": // // INSTANTIATE_TEST_CASE_P(NumSequence, BarTest, Values("one", "two", "three")); // // This instantiates tests from test case BazTest each with values 1, 2, 3.5. // The exact type of values will depend on the type of parameter in BazTest. // // INSTANTIATE_TEST_CASE_P(FloatingNumbers, BazTest, Values(1, 2, 3.5)); // // Currently, Values() supports from 1 to $n parameters. // $range i 1..n $for i [[ $range j 1..i template <$for j, [[typename T$j]]> internal::ValueArray$i<$for j, [[T$j]]> Values($for j, [[T$j v$j]]) { return internal::ValueArray$i<$for j, [[T$j]]>($for j, [[v$j]]); } ]] // Bool() allows generating tests with parameters in a set of (false, true). // // Synopsis: // Bool() // - returns a generator producing sequences with elements {false, true}. // // It is useful when testing code that depends on Boolean flags. Combinations // of multiple flags can be tested when several Bool()'s are combined using // Combine() function. // // In the following example all tests in the test case FlagDependentTest // will be instantiated twice with parameters false and true. // // class FlagDependentTest : public testing::TestWithParam { // virtual void SetUp() { // external_flag = GetParam(); // } // } // INSTANTIATE_TEST_CASE_P(BoolSequence, FlagDependentTest, Bool()); // inline internal::ParamGenerator Bool() { return Values(false, true); } # if GTEST_HAS_COMBINE // Combine() allows the user to combine two or more sequences to produce // values of a Cartesian product of those sequences' elements. // // Synopsis: // Combine(gen1, gen2, ..., genN) // - returns a generator producing sequences with elements coming from // the Cartesian product of elements from the sequences generated by // gen1, gen2, ..., genN. The sequence elements will have a type of // tuple where T1, T2, ..., TN are the types // of elements from sequences produces by gen1, gen2, ..., genN. // // Combine can have up to $maxtuple arguments. This number is currently limited // by the maximum number of elements in the tuple implementation used by Google // Test. // // Example: // // This will instantiate tests in test case AnimalTest each one with // the parameter values tuple("cat", BLACK), tuple("cat", WHITE), // tuple("dog", BLACK), and tuple("dog", WHITE): // // enum Color { BLACK, GRAY, WHITE }; // class AnimalTest // : public testing::TestWithParam > {...}; // // TEST_P(AnimalTest, AnimalLooksNice) {...} // // INSTANTIATE_TEST_CASE_P(AnimalVariations, AnimalTest, // Combine(Values("cat", "dog"), // Values(BLACK, WHITE))); // // This will instantiate tests in FlagDependentTest with all variations of two // Boolean flags: // // class FlagDependentTest // : public testing::TestWithParam > { // virtual void SetUp() { // // Assigns external_flag_1 and external_flag_2 values from the tuple. // tie(external_flag_1, external_flag_2) = GetParam(); // } // }; // // TEST_P(FlagDependentTest, TestFeature1) { // // Test your code using external_flag_1 and external_flag_2 here. // } // INSTANTIATE_TEST_CASE_P(TwoBoolSequence, FlagDependentTest, // Combine(Bool(), Bool())); // $range i 2..maxtuple $for i [[ $range j 1..i template <$for j, [[typename Generator$j]]> internal::CartesianProductHolder$i<$for j, [[Generator$j]]> Combine( $for j, [[const Generator$j& g$j]]) { return internal::CartesianProductHolder$i<$for j, [[Generator$j]]>( $for j, [[g$j]]); } ]] # endif // GTEST_HAS_COMBINE # define TEST_P(test_case_name, test_name) \ class GTEST_TEST_CLASS_NAME_(test_case_name, test_name) \ : public test_case_name { \ public: \ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {} \ virtual void TestBody(); \ private: \ static int AddToRegistry() { \ ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \ GetTestCasePatternHolder(\ #test_case_name, __FILE__, __LINE__)->AddTestPattern(\ #test_case_name, \ #test_name, \ new ::testing::internal::TestMetaFactory< \ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>()); \ return 0; \ } \ static int gtest_registering_dummy_; \ GTEST_DISALLOW_COPY_AND_ASSIGN_(\ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)); \ }; \ int GTEST_TEST_CLASS_NAME_(test_case_name, \ test_name)::gtest_registering_dummy_ = \ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::AddToRegistry(); \ void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody() # define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator) \ ::testing::internal::ParamGenerator \ gtest_##prefix##test_case_name##_EvalGenerator_() { return generator; } \ int gtest_##prefix##test_case_name##_dummy_ = \ ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \ GetTestCasePatternHolder(\ #test_case_name, __FILE__, __LINE__)->AddTestCaseInstantiation(\ #prefix, \ >est_##prefix##test_case_name##_EvalGenerator_, \ __FILE__, __LINE__) } // namespace testing #endif // GTEST_HAS_PARAM_TEST #endif // GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-message.h0000644000175200017520000002174212277666257020702 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // // The Google C++ Testing Framework (Google Test) // // This header file defines the Message class. // // IMPORTANT NOTE: Due to limitation of the C++ language, we have to // leave some internal implementation details in this header file. // They are clearly marked by comments like this: // // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. // // Such code is NOT meant to be used by a user directly, and is subject // to CHANGE WITHOUT NOTICE. Therefore DO NOT DEPEND ON IT in a user // program! #ifndef GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ #define GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ #include #include "gtest/internal/gtest-port.h" // Ensures that there is at least one operator<< in the global namespace. // See Message& operator<<(...) below for why. void operator<<(const testing::internal::Secret&, int); namespace testing { // The Message class works like an ostream repeater. // // Typical usage: // // 1. You stream a bunch of values to a Message object. // It will remember the text in a stringstream. // 2. Then you stream the Message object to an ostream. // This causes the text in the Message to be streamed // to the ostream. // // For example; // // testing::Message foo; // foo << 1 << " != " << 2; // std::cout << foo; // // will print "1 != 2". // // Message is not intended to be inherited from. In particular, its // destructor is not virtual. // // Note that stringstream behaves differently in gcc and in MSVC. You // can stream a NULL char pointer to it in the former, but not in the // latter (it causes an access violation if you do). The Message // class hides this difference by treating a NULL char pointer as // "(null)". class GTEST_API_ Message { private: // The type of basic IO manipulators (endl, ends, and flush) for // narrow streams. typedef std::ostream& (*BasicNarrowIoManip)(std::ostream&); public: // Constructs an empty Message. Message(); // Copy constructor. Message(const Message& msg) : ss_(new ::std::stringstream) { // NOLINT *ss_ << msg.GetString(); } // Constructs a Message from a C-string. explicit Message(const char* str) : ss_(new ::std::stringstream) { *ss_ << str; } #if GTEST_OS_SYMBIAN // Streams a value (either a pointer or not) to this object. template inline Message& operator <<(const T& value) { StreamHelper(typename internal::is_pointer::type(), value); return *this; } #else // Streams a non-pointer value to this object. template inline Message& operator <<(const T& val) { // Some libraries overload << for STL containers. These // overloads are defined in the global namespace instead of ::std. // // C++'s symbol lookup rule (i.e. Koenig lookup) says that these // overloads are visible in either the std namespace or the global // namespace, but not other namespaces, including the testing // namespace which Google Test's Message class is in. // // To allow STL containers (and other types that has a << operator // defined in the global namespace) to be used in Google Test // assertions, testing::Message must access the custom << operator // from the global namespace. With this using declaration, // overloads of << defined in the global namespace and those // visible via Koenig lookup are both exposed in this function. using ::operator <<; *ss_ << val; return *this; } // Streams a pointer value to this object. // // This function is an overload of the previous one. When you // stream a pointer to a Message, this definition will be used as it // is more specialized. (The C++ Standard, section // [temp.func.order].) If you stream a non-pointer, then the // previous definition will be used. // // The reason for this overload is that streaming a NULL pointer to // ostream is undefined behavior. Depending on the compiler, you // may get "0", "(nil)", "(null)", or an access violation. To // ensure consistent result across compilers, we always treat NULL // as "(null)". template inline Message& operator <<(T* const& pointer) { // NOLINT if (pointer == NULL) { *ss_ << "(null)"; } else { *ss_ << pointer; } return *this; } #endif // GTEST_OS_SYMBIAN // Since the basic IO manipulators are overloaded for both narrow // and wide streams, we have to provide this specialized definition // of operator <<, even though its body is the same as the // templatized version above. Without this definition, streaming // endl or other basic IO manipulators to Message will confuse the // compiler. Message& operator <<(BasicNarrowIoManip val) { *ss_ << val; return *this; } // Instead of 1/0, we want to see true/false for bool values. Message& operator <<(bool b) { return *this << (b ? "true" : "false"); } // These two overloads allow streaming a wide C string to a Message // using the UTF-8 encoding. Message& operator <<(const wchar_t* wide_c_str); Message& operator <<(wchar_t* wide_c_str); #if GTEST_HAS_STD_WSTRING // Converts the given wide string to a narrow string using the UTF-8 // encoding, and streams the result to this Message object. Message& operator <<(const ::std::wstring& wstr); #endif // GTEST_HAS_STD_WSTRING #if GTEST_HAS_GLOBAL_WSTRING // Converts the given wide string to a narrow string using the UTF-8 // encoding, and streams the result to this Message object. Message& operator <<(const ::wstring& wstr); #endif // GTEST_HAS_GLOBAL_WSTRING // Gets the text streamed to this object so far as an std::string. // Each '\0' character in the buffer is replaced with "\\0". // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. std::string GetString() const; private: #if GTEST_OS_SYMBIAN // These are needed as the Nokia Symbian Compiler cannot decide between // const T& and const T* in a function template. The Nokia compiler _can_ // decide between class template specializations for T and T*, so a // tr1::type_traits-like is_pointer works, and we can overload on that. template inline void StreamHelper(internal::true_type /*is_pointer*/, T* pointer) { if (pointer == NULL) { *ss_ << "(null)"; } else { *ss_ << pointer; } } template inline void StreamHelper(internal::false_type /*is_pointer*/, const T& value) { // See the comments in Message& operator <<(const T&) above for why // we need this using statement. using ::operator <<; *ss_ << value; } #endif // GTEST_OS_SYMBIAN // We'll hold the text streamed to this object here. const internal::scoped_ptr< ::std::stringstream> ss_; // We declare (but don't implement) this to prevent the compiler // from implementing the assignment operator. void operator=(const Message&); }; // Streams a Message to an ostream. inline std::ostream& operator <<(std::ostream& os, const Message& sb) { return os << sb.GetString(); } namespace internal { // Converts a streamable value to an std::string. A NULL pointer is // converted to "(null)". When the input value is a ::string, // ::std::string, ::wstring, or ::std::wstring object, each NUL // character in it is replaced with "\\0". template std::string StreamableToString(const T& streamable) { return (Message() << streamable).GetString(); } } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest_prod.h0000644000175200017520000000442412277666257020302 00000000000000// Copyright 2006, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // // Google C++ Testing Framework definitions useful in production code. #ifndef GTEST_INCLUDE_GTEST_GTEST_PROD_H_ #define GTEST_INCLUDE_GTEST_GTEST_PROD_H_ // When you need to test the private or protected members of a class, // use the FRIEND_TEST macro to declare your tests as friends of the // class. For example: // // class MyClass { // private: // void MyMethod(); // FRIEND_TEST(MyClassTest, MyMethod); // }; // // class MyClassTest : public testing::Test { // // ... // }; // // TEST_F(MyClassTest, MyMethod) { // // Can call MyClass::MyMethod() here. // } #define FRIEND_TEST(test_case_name, test_name)\ friend class test_case_name##_##test_name##_Test #endif // GTEST_INCLUDE_GTEST_GTEST_PROD_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/0000755000175200017520000000000012623045304017622 500000000000000stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-internal.h0000644000175200017520000012616112277666257022707 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: wan@google.com (Zhanyong Wan), eefacm@gmail.com (Sean Mcafee) // // The Google C++ Testing Framework (Google Test) // // This header file declares functions and macros used internally by // Google Test. They are subject to change without notice. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ #include "gtest/internal/gtest-port.h" #if GTEST_OS_LINUX # include # include # include # include #endif // GTEST_OS_LINUX #if GTEST_HAS_EXCEPTIONS # include #endif #include #include #include #include #include #include #include "gtest/gtest-message.h" #include "gtest/internal/gtest-string.h" #include "gtest/internal/gtest-filepath.h" #include "gtest/internal/gtest-type-util.h" // Due to C++ preprocessor weirdness, we need double indirection to // concatenate two tokens when one of them is __LINE__. Writing // // foo ## __LINE__ // // will result in the token foo__LINE__, instead of foo followed by // the current line number. For more details, see // http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.6 #define GTEST_CONCAT_TOKEN_(foo, bar) GTEST_CONCAT_TOKEN_IMPL_(foo, bar) #define GTEST_CONCAT_TOKEN_IMPL_(foo, bar) foo ## bar class ProtocolMessage; namespace proto2 { class Message; } namespace testing { // Forward declarations. class AssertionResult; // Result of an assertion. class Message; // Represents a failure message. class Test; // Represents a test. class TestInfo; // Information about a test. class TestPartResult; // Result of a test part. class UnitTest; // A collection of test cases. template ::std::string PrintToString(const T& value); namespace internal { struct TraceInfo; // Information about a trace point. class ScopedTrace; // Implements scoped trace. class TestInfoImpl; // Opaque implementation of TestInfo class UnitTestImpl; // Opaque implementation of UnitTest // How many times InitGoogleTest() has been called. GTEST_API_ extern int g_init_gtest_count; // The text used in failure messages to indicate the start of the // stack trace. GTEST_API_ extern const char kStackTraceMarker[]; // Two overloaded helpers for checking at compile time whether an // expression is a null pointer literal (i.e. NULL or any 0-valued // compile-time integral constant). Their return values have // different sizes, so we can use sizeof() to test which version is // picked by the compiler. These helpers have no implementations, as // we only need their signatures. // // Given IsNullLiteralHelper(x), the compiler will pick the first // version if x can be implicitly converted to Secret*, and pick the // second version otherwise. Since Secret is a secret and incomplete // type, the only expression a user can write that has type Secret* is // a null pointer literal. Therefore, we know that x is a null // pointer literal if and only if the first version is picked by the // compiler. char IsNullLiteralHelper(Secret* p); char (&IsNullLiteralHelper(...))[2]; // NOLINT // A compile-time bool constant that is true if and only if x is a // null pointer literal (i.e. NULL or any 0-valued compile-time // integral constant). #ifdef GTEST_ELLIPSIS_NEEDS_POD_ // We lose support for NULL detection where the compiler doesn't like // passing non-POD classes through ellipsis (...). # define GTEST_IS_NULL_LITERAL_(x) false #else # define GTEST_IS_NULL_LITERAL_(x) \ (sizeof(::testing::internal::IsNullLiteralHelper(x)) == 1) #endif // GTEST_ELLIPSIS_NEEDS_POD_ // Appends the user-supplied message to the Google-Test-generated message. GTEST_API_ std::string AppendUserMessage( const std::string& gtest_msg, const Message& user_msg); #if GTEST_HAS_EXCEPTIONS // This exception is thrown by (and only by) a failed Google Test // assertion when GTEST_FLAG(throw_on_failure) is true (if exceptions // are enabled). We derive it from std::runtime_error, which is for // errors presumably detectable only at run time. Since // std::runtime_error inherits from std::exception, many testing // frameworks know how to extract and print the message inside it. class GTEST_API_ GoogleTestFailureException : public ::std::runtime_error { public: explicit GoogleTestFailureException(const TestPartResult& failure); }; #endif // GTEST_HAS_EXCEPTIONS // A helper class for creating scoped traces in user programs. class GTEST_API_ ScopedTrace { public: // The c'tor pushes the given source file location and message onto // a trace stack maintained by Google Test. ScopedTrace(const char* file, int line, const Message& message); // The d'tor pops the info pushed by the c'tor. // // Note that the d'tor is not virtual in order to be efficient. // Don't inherit from ScopedTrace! ~ScopedTrace(); private: GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedTrace); } GTEST_ATTRIBUTE_UNUSED_; // A ScopedTrace object does its job in its // c'tor and d'tor. Therefore it doesn't // need to be used otherwise. // Constructs and returns the message for an equality assertion // (e.g. ASSERT_EQ, EXPECT_STREQ, etc) failure. // // The first four parameters are the expressions used in the assertion // and their values, as strings. For example, for ASSERT_EQ(foo, bar) // where foo is 5 and bar is 6, we have: // // expected_expression: "foo" // actual_expression: "bar" // expected_value: "5" // actual_value: "6" // // The ignoring_case parameter is true iff the assertion is a // *_STRCASEEQ*. When it's true, the string " (ignoring case)" will // be inserted into the message. GTEST_API_ AssertionResult EqFailure(const char* expected_expression, const char* actual_expression, const std::string& expected_value, const std::string& actual_value, bool ignoring_case); // Constructs a failure message for Boolean assertions such as EXPECT_TRUE. GTEST_API_ std::string GetBoolAssertionFailureMessage( const AssertionResult& assertion_result, const char* expression_text, const char* actual_predicate_value, const char* expected_predicate_value); // This template class represents an IEEE floating-point number // (either single-precision or double-precision, depending on the // template parameters). // // The purpose of this class is to do more sophisticated number // comparison. (Due to round-off error, etc, it's very unlikely that // two floating-points will be equal exactly. Hence a naive // comparison by the == operation often doesn't work.) // // Format of IEEE floating-point: // // The most-significant bit being the leftmost, an IEEE // floating-point looks like // // sign_bit exponent_bits fraction_bits // // Here, sign_bit is a single bit that designates the sign of the // number. // // For float, there are 8 exponent bits and 23 fraction bits. // // For double, there are 11 exponent bits and 52 fraction bits. // // More details can be found at // http://en.wikipedia.org/wiki/IEEE_floating-point_standard. // // Template parameter: // // RawType: the raw floating-point type (either float or double) template class FloatingPoint { public: // Defines the unsigned integer type that has the same size as the // floating point number. typedef typename TypeWithSize::UInt Bits; // Constants. // # of bits in a number. static const size_t kBitCount = 8*sizeof(RawType); // # of fraction bits in a number. static const size_t kFractionBitCount = std::numeric_limits::digits - 1; // # of exponent bits in a number. static const size_t kExponentBitCount = kBitCount - 1 - kFractionBitCount; // The mask for the sign bit. static const Bits kSignBitMask = static_cast(1) << (kBitCount - 1); // The mask for the fraction bits. static const Bits kFractionBitMask = ~static_cast(0) >> (kExponentBitCount + 1); // The mask for the exponent bits. static const Bits kExponentBitMask = ~(kSignBitMask | kFractionBitMask); // How many ULP's (Units in the Last Place) we want to tolerate when // comparing two numbers. The larger the value, the more error we // allow. A 0 value means that two numbers must be exactly the same // to be considered equal. // // The maximum error of a single floating-point operation is 0.5 // units in the last place. On Intel CPU's, all floating-point // calculations are done with 80-bit precision, while double has 64 // bits. Therefore, 4 should be enough for ordinary use. // // See the following article for more details on ULP: // http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ static const size_t kMaxUlps = 4; // Constructs a FloatingPoint from a raw floating-point number. // // On an Intel CPU, passing a non-normalized NAN (Not a Number) // around may change its bits, although the new value is guaranteed // to be also a NAN. Therefore, don't expect this constructor to // preserve the bits in x when x is a NAN. explicit FloatingPoint(const RawType& x) { u_.value_ = x; } // Static methods // Reinterprets a bit pattern as a floating-point number. // // This function is needed to test the AlmostEquals() method. static RawType ReinterpretBits(const Bits bits) { FloatingPoint fp(0); fp.u_.bits_ = bits; return fp.u_.value_; } // Returns the floating-point number that represent positive infinity. static RawType Infinity() { return ReinterpretBits(kExponentBitMask); } // Returns the maximum representable finite floating-point number. static RawType Max(); // Non-static methods // Returns the bits that represents this number. const Bits &bits() const { return u_.bits_; } // Returns the exponent bits of this number. Bits exponent_bits() const { return kExponentBitMask & u_.bits_; } // Returns the fraction bits of this number. Bits fraction_bits() const { return kFractionBitMask & u_.bits_; } // Returns the sign bit of this number. Bits sign_bit() const { return kSignBitMask & u_.bits_; } // Returns true iff this is NAN (not a number). bool is_nan() const { // It's a NAN if the exponent bits are all ones and the fraction // bits are not entirely zeros. return (exponent_bits() == kExponentBitMask) && (fraction_bits() != 0); } // Returns true iff this number is at most kMaxUlps ULP's away from // rhs. In particular, this function: // // - returns false if either number is (or both are) NAN. // - treats really large numbers as almost equal to infinity. // - thinks +0.0 and -0.0 are 0 DLP's apart. bool AlmostEquals(const FloatingPoint& rhs) const { // The IEEE standard says that any comparison operation involving // a NAN must return false. if (is_nan() || rhs.is_nan()) return false; return DistanceBetweenSignAndMagnitudeNumbers(u_.bits_, rhs.u_.bits_) <= kMaxUlps; } private: // The data type used to store the actual floating-point number. union FloatingPointUnion { RawType value_; // The raw floating-point number. Bits bits_; // The bits that represent the number. }; // Converts an integer from the sign-and-magnitude representation to // the biased representation. More precisely, let N be 2 to the // power of (kBitCount - 1), an integer x is represented by the // unsigned number x + N. // // For instance, // // -N + 1 (the most negative number representable using // sign-and-magnitude) is represented by 1; // 0 is represented by N; and // N - 1 (the biggest number representable using // sign-and-magnitude) is represented by 2N - 1. // // Read http://en.wikipedia.org/wiki/Signed_number_representations // for more details on signed number representations. static Bits SignAndMagnitudeToBiased(const Bits &sam) { if (kSignBitMask & sam) { // sam represents a negative number. return ~sam + 1; } else { // sam represents a positive number. return kSignBitMask | sam; } } // Given two numbers in the sign-and-magnitude representation, // returns the distance between them as an unsigned number. static Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits &sam1, const Bits &sam2) { const Bits biased1 = SignAndMagnitudeToBiased(sam1); const Bits biased2 = SignAndMagnitudeToBiased(sam2); return (biased1 >= biased2) ? (biased1 - biased2) : (biased2 - biased1); } FloatingPointUnion u_; }; // We cannot use std::numeric_limits::max() as it clashes with the max() // macro defined by . template <> inline float FloatingPoint::Max() { return FLT_MAX; } template <> inline double FloatingPoint::Max() { return DBL_MAX; } // Typedefs the instances of the FloatingPoint template class that we // care to use. typedef FloatingPoint Float; typedef FloatingPoint Double; // In order to catch the mistake of putting tests that use different // test fixture classes in the same test case, we need to assign // unique IDs to fixture classes and compare them. The TypeId type is // used to hold such IDs. The user should treat TypeId as an opaque // type: the only operation allowed on TypeId values is to compare // them for equality using the == operator. typedef const void* TypeId; template class TypeIdHelper { public: // dummy_ must not have a const type. Otherwise an overly eager // compiler (e.g. MSVC 7.1 & 8.0) may try to merge // TypeIdHelper::dummy_ for different Ts as an "optimization". static bool dummy_; }; template bool TypeIdHelper::dummy_ = false; // GetTypeId() returns the ID of type T. Different values will be // returned for different types. Calling the function twice with the // same type argument is guaranteed to return the same ID. template TypeId GetTypeId() { // The compiler is required to allocate a different // TypeIdHelper::dummy_ variable for each T used to instantiate // the template. Therefore, the address of dummy_ is guaranteed to // be unique. return &(TypeIdHelper::dummy_); } // Returns the type ID of ::testing::Test. Always call this instead // of GetTypeId< ::testing::Test>() to get the type ID of // ::testing::Test, as the latter may give the wrong result due to a // suspected linker bug when compiling Google Test as a Mac OS X // framework. GTEST_API_ TypeId GetTestTypeId(); // Defines the abstract factory interface that creates instances // of a Test object. class TestFactoryBase { public: virtual ~TestFactoryBase() {} // Creates a test instance to run. The instance is both created and destroyed // within TestInfoImpl::Run() virtual Test* CreateTest() = 0; protected: TestFactoryBase() {} private: GTEST_DISALLOW_COPY_AND_ASSIGN_(TestFactoryBase); }; // This class provides implementation of TeastFactoryBase interface. // It is used in TEST and TEST_F macros. template class TestFactoryImpl : public TestFactoryBase { public: virtual Test* CreateTest() { return new TestClass; } }; #if GTEST_OS_WINDOWS // Predicate-formatters for implementing the HRESULT checking macros // {ASSERT|EXPECT}_HRESULT_{SUCCEEDED|FAILED} // We pass a long instead of HRESULT to avoid causing an // include dependency for the HRESULT type. GTEST_API_ AssertionResult IsHRESULTSuccess(const char* expr, long hr); // NOLINT GTEST_API_ AssertionResult IsHRESULTFailure(const char* expr, long hr); // NOLINT #endif // GTEST_OS_WINDOWS // Types of SetUpTestCase() and TearDownTestCase() functions. typedef void (*SetUpTestCaseFunc)(); typedef void (*TearDownTestCaseFunc)(); // Creates a new TestInfo object and registers it with Google Test; // returns the created object. // // Arguments: // // test_case_name: name of the test case // name: name of the test // type_param the name of the test's type parameter, or NULL if // this is not a typed or a type-parameterized test. // value_param text representation of the test's value parameter, // or NULL if this is not a type-parameterized test. // fixture_class_id: ID of the test fixture class // set_up_tc: pointer to the function that sets up the test case // tear_down_tc: pointer to the function that tears down the test case // factory: pointer to the factory that creates a test object. // The newly created TestInfo instance will assume // ownership of the factory object. GTEST_API_ TestInfo* MakeAndRegisterTestInfo( const char* test_case_name, const char* name, const char* type_param, const char* value_param, TypeId fixture_class_id, SetUpTestCaseFunc set_up_tc, TearDownTestCaseFunc tear_down_tc, TestFactoryBase* factory); // If *pstr starts with the given prefix, modifies *pstr to be right // past the prefix and returns true; otherwise leaves *pstr unchanged // and returns false. None of pstr, *pstr, and prefix can be NULL. GTEST_API_ bool SkipPrefix(const char* prefix, const char** pstr); #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P // State of the definition of a type-parameterized test case. class GTEST_API_ TypedTestCasePState { public: TypedTestCasePState() : registered_(false) {} // Adds the given test name to defined_test_names_ and return true // if the test case hasn't been registered; otherwise aborts the // program. bool AddTestName(const char* file, int line, const char* case_name, const char* test_name) { if (registered_) { fprintf(stderr, "%s Test %s must be defined before " "REGISTER_TYPED_TEST_CASE_P(%s, ...).\n", FormatFileLocation(file, line).c_str(), test_name, case_name); fflush(stderr); posix::Abort(); } defined_test_names_.insert(test_name); return true; } // Verifies that registered_tests match the test names in // defined_test_names_; returns registered_tests if successful, or // aborts the program otherwise. const char* VerifyRegisteredTestNames( const char* file, int line, const char* registered_tests); private: bool registered_; ::std::set defined_test_names_; }; // Skips to the first non-space char after the first comma in 'str'; // returns NULL if no comma is found in 'str'. inline const char* SkipComma(const char* str) { const char* comma = strchr(str, ','); if (comma == NULL) { return NULL; } while (IsSpace(*(++comma))) {} return comma; } // Returns the prefix of 'str' before the first comma in it; returns // the entire string if it contains no comma. inline std::string GetPrefixUntilComma(const char* str) { const char* comma = strchr(str, ','); return comma == NULL ? str : std::string(str, comma); } // TypeParameterizedTest::Register() // registers a list of type-parameterized tests with Google Test. The // return value is insignificant - we just need to return something // such that we can call this function in a namespace scope. // // Implementation note: The GTEST_TEMPLATE_ macro declares a template // template parameter. It's defined in gtest-type-util.h. template class TypeParameterizedTest { public: // 'index' is the index of the test in the type list 'Types' // specified in INSTANTIATE_TYPED_TEST_CASE_P(Prefix, TestCase, // Types). Valid values for 'index' are [0, N - 1] where N is the // length of Types. static bool Register(const char* prefix, const char* case_name, const char* test_names, int index) { typedef typename Types::Head Type; typedef Fixture FixtureClass; typedef typename GTEST_BIND_(TestSel, Type) TestClass; // First, registers the first type-parameterized test in the type // list. MakeAndRegisterTestInfo( (std::string(prefix) + (prefix[0] == '\0' ? "" : "/") + case_name + "/" + StreamableToString(index)).c_str(), GetPrefixUntilComma(test_names).c_str(), GetTypeName().c_str(), NULL, // No value parameter. GetTypeId(), TestClass::SetUpTestCase, TestClass::TearDownTestCase, new TestFactoryImpl); // Next, recurses (at compile time) with the tail of the type list. return TypeParameterizedTest ::Register(prefix, case_name, test_names, index + 1); } }; // The base case for the compile time recursion. template class TypeParameterizedTest { public: static bool Register(const char* /*prefix*/, const char* /*case_name*/, const char* /*test_names*/, int /*index*/) { return true; } }; // TypeParameterizedTestCase::Register() // registers *all combinations* of 'Tests' and 'Types' with Google // Test. The return value is insignificant - we just need to return // something such that we can call this function in a namespace scope. template class TypeParameterizedTestCase { public: static bool Register(const char* prefix, const char* case_name, const char* test_names) { typedef typename Tests::Head Head; // First, register the first test in 'Test' for each type in 'Types'. TypeParameterizedTest::Register( prefix, case_name, test_names, 0); // Next, recurses (at compile time) with the tail of the test list. return TypeParameterizedTestCase ::Register(prefix, case_name, SkipComma(test_names)); } }; // The base case for the compile time recursion. template class TypeParameterizedTestCase { public: static bool Register(const char* /*prefix*/, const char* /*case_name*/, const char* /*test_names*/) { return true; } }; #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P // Returns the current OS stack trace as an std::string. // // The maximum number of stack frames to be included is specified by // the gtest_stack_trace_depth flag. The skip_count parameter // specifies the number of top frames to be skipped, which doesn't // count against the number of frames to be included. // // For example, if Foo() calls Bar(), which in turn calls // GetCurrentOsStackTraceExceptTop(..., 1), Foo() will be included in // the trace but Bar() and GetCurrentOsStackTraceExceptTop() won't. GTEST_API_ std::string GetCurrentOsStackTraceExceptTop( UnitTest* unit_test, int skip_count); // Helpers for suppressing warnings on unreachable code or constant // condition. // Always returns true. GTEST_API_ bool AlwaysTrue(); // Always returns false. inline bool AlwaysFalse() { return !AlwaysTrue(); } // Helper for suppressing false warning from Clang on a const char* // variable declared in a conditional expression always being NULL in // the else branch. struct GTEST_API_ ConstCharPtr { ConstCharPtr(const char* str) : value(str) {} operator bool() const { return true; } const char* value; }; // A simple Linear Congruential Generator for generating random // numbers with a uniform distribution. Unlike rand() and srand(), it // doesn't use global state (and therefore can't interfere with user // code). Unlike rand_r(), it's portable. An LCG isn't very random, // but it's good enough for our purposes. class GTEST_API_ Random { public: static const UInt32 kMaxRange = 1u << 31; explicit Random(UInt32 seed) : state_(seed) {} void Reseed(UInt32 seed) { state_ = seed; } // Generates a random number from [0, range). Crashes if 'range' is // 0 or greater than kMaxRange. UInt32 Generate(UInt32 range); private: UInt32 state_; GTEST_DISALLOW_COPY_AND_ASSIGN_(Random); }; // Defining a variable of type CompileAssertTypesEqual will cause a // compiler error iff T1 and T2 are different types. template struct CompileAssertTypesEqual; template struct CompileAssertTypesEqual { }; // Removes the reference from a type if it is a reference type, // otherwise leaves it unchanged. This is the same as // tr1::remove_reference, which is not widely available yet. template struct RemoveReference { typedef T type; }; // NOLINT template struct RemoveReference { typedef T type; }; // NOLINT // A handy wrapper around RemoveReference that works when the argument // T depends on template parameters. #define GTEST_REMOVE_REFERENCE_(T) \ typename ::testing::internal::RemoveReference::type // Removes const from a type if it is a const type, otherwise leaves // it unchanged. This is the same as tr1::remove_const, which is not // widely available yet. template struct RemoveConst { typedef T type; }; // NOLINT template struct RemoveConst { typedef T type; }; // NOLINT // MSVC 8.0, Sun C++, and IBM XL C++ have a bug which causes the above // definition to fail to remove the const in 'const int[3]' and 'const // char[3][4]'. The following specialization works around the bug. template struct RemoveConst { typedef typename RemoveConst::type type[N]; }; #if defined(_MSC_VER) && _MSC_VER < 1400 // This is the only specialization that allows VC++ 7.1 to remove const in // 'const int[3] and 'const int[3][4]'. However, it causes trouble with GCC // and thus needs to be conditionally compiled. template struct RemoveConst { typedef typename RemoveConst::type type[N]; }; #endif // A handy wrapper around RemoveConst that works when the argument // T depends on template parameters. #define GTEST_REMOVE_CONST_(T) \ typename ::testing::internal::RemoveConst::type // Turns const U&, U&, const U, and U all into U. #define GTEST_REMOVE_REFERENCE_AND_CONST_(T) \ GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(T)) // Adds reference to a type if it is not a reference type, // otherwise leaves it unchanged. This is the same as // tr1::add_reference, which is not widely available yet. template struct AddReference { typedef T& type; }; // NOLINT template struct AddReference { typedef T& type; }; // NOLINT // A handy wrapper around AddReference that works when the argument T // depends on template parameters. #define GTEST_ADD_REFERENCE_(T) \ typename ::testing::internal::AddReference::type // Adds a reference to const on top of T as necessary. For example, // it transforms // // char ==> const char& // const char ==> const char& // char& ==> const char& // const char& ==> const char& // // The argument T must depend on some template parameters. #define GTEST_REFERENCE_TO_CONST_(T) \ GTEST_ADD_REFERENCE_(const GTEST_REMOVE_REFERENCE_(T)) // ImplicitlyConvertible::value is a compile-time bool // constant that's true iff type From can be implicitly converted to // type To. template class ImplicitlyConvertible { private: // We need the following helper functions only for their types. // They have no implementations. // MakeFrom() is an expression whose type is From. We cannot simply // use From(), as the type From may not have a public default // constructor. static From MakeFrom(); // These two functions are overloaded. Given an expression // Helper(x), the compiler will pick the first version if x can be // implicitly converted to type To; otherwise it will pick the // second version. // // The first version returns a value of size 1, and the second // version returns a value of size 2. Therefore, by checking the // size of Helper(x), which can be done at compile time, we can tell // which version of Helper() is used, and hence whether x can be // implicitly converted to type To. static char Helper(To); static char (&Helper(...))[2]; // NOLINT // We have to put the 'public' section after the 'private' section, // or MSVC refuses to compile the code. public: // MSVC warns about implicitly converting from double to int for // possible loss of data, so we need to temporarily disable the // warning. #ifdef _MSC_VER # pragma warning(push) // Saves the current warning state. # pragma warning(disable:4244) // Temporarily disables warning 4244. static const bool value = sizeof(Helper(ImplicitlyConvertible::MakeFrom())) == 1; # pragma warning(pop) // Restores the warning state. #elif defined(__BORLANDC__) // C++Builder cannot use member overload resolution during template // instantiation. The simplest workaround is to use its C++0x type traits // functions (C++Builder 2009 and above only). static const bool value = __is_convertible(From, To); #else static const bool value = sizeof(Helper(ImplicitlyConvertible::MakeFrom())) == 1; #endif // _MSV_VER }; template const bool ImplicitlyConvertible::value; // IsAProtocolMessage::value is a compile-time bool constant that's // true iff T is type ProtocolMessage, proto2::Message, or a subclass // of those. template struct IsAProtocolMessage : public bool_constant< ImplicitlyConvertible::value || ImplicitlyConvertible::value> { }; // When the compiler sees expression IsContainerTest(0), if C is an // STL-style container class, the first overload of IsContainerTest // will be viable (since both C::iterator* and C::const_iterator* are // valid types and NULL can be implicitly converted to them). It will // be picked over the second overload as 'int' is a perfect match for // the type of argument 0. If C::iterator or C::const_iterator is not // a valid type, the first overload is not viable, and the second // overload will be picked. Therefore, we can determine whether C is // a container class by checking the type of IsContainerTest(0). // The value of the expression is insignificant. // // Note that we look for both C::iterator and C::const_iterator. The // reason is that C++ injects the name of a class as a member of the // class itself (e.g. you can refer to class iterator as either // 'iterator' or 'iterator::iterator'). If we look for C::iterator // only, for example, we would mistakenly think that a class named // iterator is an STL container. // // Also note that the simpler approach of overloading // IsContainerTest(typename C::const_iterator*) and // IsContainerTest(...) doesn't work with Visual Age C++ and Sun C++. typedef int IsContainer; template IsContainer IsContainerTest(int /* dummy */, typename C::iterator* /* it */ = NULL, typename C::const_iterator* /* const_it */ = NULL) { return 0; } typedef char IsNotContainer; template IsNotContainer IsContainerTest(long /* dummy */) { return '\0'; } // EnableIf::type is void when 'Cond' is true, and // undefined when 'Cond' is false. To use SFINAE to make a function // overload only apply when a particular expression is true, add // "typename EnableIf::type* = 0" as the last parameter. template struct EnableIf; template<> struct EnableIf { typedef void type; }; // NOLINT // Utilities for native arrays. // ArrayEq() compares two k-dimensional native arrays using the // elements' operator==, where k can be any integer >= 0. When k is // 0, ArrayEq() degenerates into comparing a single pair of values. template bool ArrayEq(const T* lhs, size_t size, const U* rhs); // This generic version is used when k is 0. template inline bool ArrayEq(const T& lhs, const U& rhs) { return lhs == rhs; } // This overload is used when k >= 1. template inline bool ArrayEq(const T(&lhs)[N], const U(&rhs)[N]) { return internal::ArrayEq(lhs, N, rhs); } // This helper reduces code bloat. If we instead put its logic inside // the previous ArrayEq() function, arrays with different sizes would // lead to different copies of the template code. template bool ArrayEq(const T* lhs, size_t size, const U* rhs) { for (size_t i = 0; i != size; i++) { if (!internal::ArrayEq(lhs[i], rhs[i])) return false; } return true; } // Finds the first element in the iterator range [begin, end) that // equals elem. Element may be a native array type itself. template Iter ArrayAwareFind(Iter begin, Iter end, const Element& elem) { for (Iter it = begin; it != end; ++it) { if (internal::ArrayEq(*it, elem)) return it; } return end; } // CopyArray() copies a k-dimensional native array using the elements' // operator=, where k can be any integer >= 0. When k is 0, // CopyArray() degenerates into copying a single value. template void CopyArray(const T* from, size_t size, U* to); // This generic version is used when k is 0. template inline void CopyArray(const T& from, U* to) { *to = from; } // This overload is used when k >= 1. template inline void CopyArray(const T(&from)[N], U(*to)[N]) { internal::CopyArray(from, N, *to); } // This helper reduces code bloat. If we instead put its logic inside // the previous CopyArray() function, arrays with different sizes // would lead to different copies of the template code. template void CopyArray(const T* from, size_t size, U* to) { for (size_t i = 0; i != size; i++) { internal::CopyArray(from[i], to + i); } } // The relation between an NativeArray object (see below) and the // native array it represents. enum RelationToSource { kReference, // The NativeArray references the native array. kCopy // The NativeArray makes a copy of the native array and // owns the copy. }; // Adapts a native array to a read-only STL-style container. Instead // of the complete STL container concept, this adaptor only implements // members useful for Google Mock's container matchers. New members // should be added as needed. To simplify the implementation, we only // support Element being a raw type (i.e. having no top-level const or // reference modifier). It's the client's responsibility to satisfy // this requirement. Element can be an array type itself (hence // multi-dimensional arrays are supported). template class NativeArray { public: // STL-style container typedefs. typedef Element value_type; typedef Element* iterator; typedef const Element* const_iterator; // Constructs from a native array. NativeArray(const Element* array, size_t count, RelationToSource relation) { Init(array, count, relation); } // Copy constructor. NativeArray(const NativeArray& rhs) { Init(rhs.array_, rhs.size_, rhs.relation_to_source_); } ~NativeArray() { // Ensures that the user doesn't instantiate NativeArray with a // const or reference type. static_cast(StaticAssertTypeEqHelper()); if (relation_to_source_ == kCopy) delete[] array_; } // STL-style container methods. size_t size() const { return size_; } const_iterator begin() const { return array_; } const_iterator end() const { return array_ + size_; } bool operator==(const NativeArray& rhs) const { return size() == rhs.size() && ArrayEq(begin(), size(), rhs.begin()); } private: // Initializes this object; makes a copy of the input array if // 'relation' is kCopy. void Init(const Element* array, size_t a_size, RelationToSource relation) { if (relation == kReference) { array_ = array; } else { Element* const copy = new Element[a_size]; CopyArray(array, a_size, copy); array_ = copy; } size_ = a_size; relation_to_source_ = relation; } const Element* array_; size_t size_; RelationToSource relation_to_source_; GTEST_DISALLOW_ASSIGN_(NativeArray); }; } // namespace internal } // namespace testing #define GTEST_MESSAGE_AT_(file, line, message, result_type) \ ::testing::internal::AssertHelper(result_type, file, line, message) \ = ::testing::Message() #define GTEST_MESSAGE_(message, result_type) \ GTEST_MESSAGE_AT_(__FILE__, __LINE__, message, result_type) #define GTEST_FATAL_FAILURE_(message) \ return GTEST_MESSAGE_(message, ::testing::TestPartResult::kFatalFailure) #define GTEST_NONFATAL_FAILURE_(message) \ GTEST_MESSAGE_(message, ::testing::TestPartResult::kNonFatalFailure) #define GTEST_SUCCESS_(message) \ GTEST_MESSAGE_(message, ::testing::TestPartResult::kSuccess) // Suppresses MSVC warnings 4072 (unreachable code) for the code following // statement if it returns or throws (or doesn't return or throw in some // situations). #define GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement) \ if (::testing::internal::AlwaysTrue()) { statement; } #define GTEST_TEST_THROW_(statement, expected_exception, fail) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::ConstCharPtr gtest_msg = "") { \ bool gtest_caught_expected = false; \ try { \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ } \ catch (expected_exception const&) { \ gtest_caught_expected = true; \ } \ catch (...) { \ gtest_msg.value = \ "Expected: " #statement " throws an exception of type " \ #expected_exception ".\n Actual: it throws a different type."; \ goto GTEST_CONCAT_TOKEN_(gtest_label_testthrow_, __LINE__); \ } \ if (!gtest_caught_expected) { \ gtest_msg.value = \ "Expected: " #statement " throws an exception of type " \ #expected_exception ".\n Actual: it throws nothing."; \ goto GTEST_CONCAT_TOKEN_(gtest_label_testthrow_, __LINE__); \ } \ } else \ GTEST_CONCAT_TOKEN_(gtest_label_testthrow_, __LINE__): \ fail(gtest_msg.value) #define GTEST_TEST_NO_THROW_(statement, fail) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ try { \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ } \ catch (...) { \ goto GTEST_CONCAT_TOKEN_(gtest_label_testnothrow_, __LINE__); \ } \ } else \ GTEST_CONCAT_TOKEN_(gtest_label_testnothrow_, __LINE__): \ fail("Expected: " #statement " doesn't throw an exception.\n" \ " Actual: it throws.") #define GTEST_TEST_ANY_THROW_(statement, fail) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ bool gtest_caught_any = false; \ try { \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ } \ catch (...) { \ gtest_caught_any = true; \ } \ if (!gtest_caught_any) { \ goto GTEST_CONCAT_TOKEN_(gtest_label_testanythrow_, __LINE__); \ } \ } else \ GTEST_CONCAT_TOKEN_(gtest_label_testanythrow_, __LINE__): \ fail("Expected: " #statement " throws an exception.\n" \ " Actual: it doesn't.") // Implements Boolean test assertions such as EXPECT_TRUE. expression can be // either a boolean expression or an AssertionResult. text is a textual // represenation of expression as it was passed into the EXPECT_TRUE. #define GTEST_TEST_BOOLEAN_(expression, text, actual, expected, fail) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (const ::testing::AssertionResult gtest_ar_ = \ ::testing::AssertionResult(expression)) \ ; \ else \ fail(::testing::internal::GetBoolAssertionFailureMessage(\ gtest_ar_, text, #actual, #expected).c_str()) #define GTEST_TEST_NO_FATAL_FAILURE_(statement, fail) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ ::testing::internal::HasNewFatalFailureHelper gtest_fatal_failure_checker; \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ if (gtest_fatal_failure_checker.has_new_fatal_failure()) { \ goto GTEST_CONCAT_TOKEN_(gtest_label_testnofatal_, __LINE__); \ } \ } else \ GTEST_CONCAT_TOKEN_(gtest_label_testnofatal_, __LINE__): \ fail("Expected: " #statement " doesn't generate new fatal " \ "failures in the current thread.\n" \ " Actual: it does.") // Expands to the name of the class that implements the given test. #define GTEST_TEST_CLASS_NAME_(test_case_name, test_name) \ test_case_name##_##test_name##_Test // Helper macro for defining tests. #define GTEST_TEST_(test_case_name, test_name, parent_class, parent_id)\ class GTEST_TEST_CLASS_NAME_(test_case_name, test_name) : public parent_class {\ public:\ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {}\ private:\ virtual void TestBody();\ static ::testing::TestInfo* const test_info_ GTEST_ATTRIBUTE_UNUSED_;\ GTEST_DISALLOW_COPY_AND_ASSIGN_(\ GTEST_TEST_CLASS_NAME_(test_case_name, test_name));\ };\ \ ::testing::TestInfo* const GTEST_TEST_CLASS_NAME_(test_case_name, test_name)\ ::test_info_ =\ ::testing::internal::MakeAndRegisterTestInfo(\ #test_case_name, #test_name, NULL, NULL, \ (parent_id), \ parent_class::SetUpTestCase, \ parent_class::TearDownTestCase, \ new ::testing::internal::TestFactoryImpl<\ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>);\ void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody() #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-filepath.h0000644000175200017520000002260312277666257022663 00000000000000// Copyright 2008, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: keith.ray@gmail.com (Keith Ray) // // Google Test filepath utilities // // This header file declares classes and functions used internally by // Google Test. They are subject to change without notice. // // This file is #included in . // Do not include this header file separately! #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ #include "gtest/internal/gtest-string.h" namespace testing { namespace internal { // FilePath - a class for file and directory pathname manipulation which // handles platform-specific conventions (like the pathname separator). // Used for helper functions for naming files in a directory for xml output. // Except for Set methods, all methods are const or static, which provides an // "immutable value object" -- useful for peace of mind. // A FilePath with a value ending in a path separator ("like/this/") represents // a directory, otherwise it is assumed to represent a file. In either case, // it may or may not represent an actual file or directory in the file system. // Names are NOT checked for syntax correctness -- no checking for illegal // characters, malformed paths, etc. class GTEST_API_ FilePath { public: FilePath() : pathname_("") { } FilePath(const FilePath& rhs) : pathname_(rhs.pathname_) { } explicit FilePath(const std::string& pathname) : pathname_(pathname) { Normalize(); } FilePath& operator=(const FilePath& rhs) { Set(rhs); return *this; } void Set(const FilePath& rhs) { pathname_ = rhs.pathname_; } const std::string& string() const { return pathname_; } const char* c_str() const { return pathname_.c_str(); } // Returns the current working directory, or "" if unsuccessful. static FilePath GetCurrentDir(); // Given directory = "dir", base_name = "test", number = 0, // extension = "xml", returns "dir/test.xml". If number is greater // than zero (e.g., 12), returns "dir/test_12.xml". // On Windows platform, uses \ as the separator rather than /. static FilePath MakeFileName(const FilePath& directory, const FilePath& base_name, int number, const char* extension); // Given directory = "dir", relative_path = "test.xml", // returns "dir/test.xml". // On Windows, uses \ as the separator rather than /. static FilePath ConcatPaths(const FilePath& directory, const FilePath& relative_path); // Returns a pathname for a file that does not currently exist. The pathname // will be directory/base_name.extension or // directory/base_name_.extension if directory/base_name.extension // already exists. The number will be incremented until a pathname is found // that does not already exist. // Examples: 'dir/foo_test.xml' or 'dir/foo_test_1.xml'. // There could be a race condition if two or more processes are calling this // function at the same time -- they could both pick the same filename. static FilePath GenerateUniqueFileName(const FilePath& directory, const FilePath& base_name, const char* extension); // Returns true iff the path is "". bool IsEmpty() const { return pathname_.empty(); } // If input name has a trailing separator character, removes it and returns // the name, otherwise return the name string unmodified. // On Windows platform, uses \ as the separator, other platforms use /. FilePath RemoveTrailingPathSeparator() const; // Returns a copy of the FilePath with the directory part removed. // Example: FilePath("path/to/file").RemoveDirectoryName() returns // FilePath("file"). If there is no directory part ("just_a_file"), it returns // the FilePath unmodified. If there is no file part ("just_a_dir/") it // returns an empty FilePath (""). // On Windows platform, '\' is the path separator, otherwise it is '/'. FilePath RemoveDirectoryName() const; // RemoveFileName returns the directory path with the filename removed. // Example: FilePath("path/to/file").RemoveFileName() returns "path/to/". // If the FilePath is "a_file" or "/a_file", RemoveFileName returns // FilePath("./") or, on Windows, FilePath(".\\"). If the filepath does // not have a file, like "just/a/dir/", it returns the FilePath unmodified. // On Windows platform, '\' is the path separator, otherwise it is '/'. FilePath RemoveFileName() const; // Returns a copy of the FilePath with the case-insensitive extension removed. // Example: FilePath("dir/file.exe").RemoveExtension("EXE") returns // FilePath("dir/file"). If a case-insensitive extension is not // found, returns a copy of the original FilePath. FilePath RemoveExtension(const char* extension) const; // Creates directories so that path exists. Returns true if successful or if // the directories already exist; returns false if unable to create // directories for any reason. Will also return false if the FilePath does // not represent a directory (that is, it doesn't end with a path separator). bool CreateDirectoriesRecursively() const; // Create the directory so that path exists. Returns true if successful or // if the directory already exists; returns false if unable to create the // directory for any reason, including if the parent directory does not // exist. Not named "CreateDirectory" because that's a macro on Windows. bool CreateFolder() const; // Returns true if FilePath describes something in the file-system, // either a file, directory, or whatever, and that something exists. bool FileOrDirectoryExists() const; // Returns true if pathname describes a directory in the file-system // that exists. bool DirectoryExists() const; // Returns true if FilePath ends with a path separator, which indicates that // it is intended to represent a directory. Returns false otherwise. // This does NOT check that a directory (or file) actually exists. bool IsDirectory() const; // Returns true if pathname describes a root directory. (Windows has one // root directory per disk drive.) bool IsRootDirectory() const; // Returns true if pathname describes an absolute path. bool IsAbsolutePath() const; private: // Replaces multiple consecutive separators with a single separator. // For example, "bar///foo" becomes "bar/foo". Does not eliminate other // redundancies that might be in a pathname involving "." or "..". // // A pathname with multiple consecutive separators may occur either through // user error or as a result of some scripts or APIs that generate a pathname // with a trailing separator. On other platforms the same API or script // may NOT generate a pathname with a trailing "/". Then elsewhere that // pathname may have another "/" and pathname components added to it, // without checking for the separator already being there. // The script language and operating system may allow paths like "foo//bar" // but some of the functions in FilePath will not handle that correctly. In // particular, RemoveTrailingPathSeparator() only removes one separator, and // it is called in CreateDirectoriesRecursively() assuming that it will change // a pathname from directory syntax (trailing separator) to filename syntax. // // On Windows this method also replaces the alternate path separator '/' with // the primary path separator '\\', so that for example "bar\\/\\foo" becomes // "bar\\foo". void Normalize(); // Returns a pointer to the last occurence of a valid path separator in // the FilePath. On Windows, for example, both '/' and '\' are valid path // separators. Returns NULL if no path separator was found. const char* FindLastPathSeparator() const; std::string pathname_; }; // class FilePath } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-tuple.h0000644000175200017520000006707712277666257022236 00000000000000// This file was GENERATED by command: // pump.py gtest-tuple.h.pump // DO NOT EDIT BY HAND!!! // Copyright 2009 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // Implements a subset of TR1 tuple needed by Google Test and Google Mock. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ #include // For ::std::pair. // The compiler used in Symbian has a bug that prevents us from declaring the // tuple template as a friend (it complains that tuple is redefined). This // hack bypasses the bug by declaring the members that should otherwise be // private as public. // Sun Studio versions < 12 also have the above bug. #if defined(__SYMBIAN32__) || (defined(__SUNPRO_CC) && __SUNPRO_CC < 0x590) # define GTEST_DECLARE_TUPLE_AS_FRIEND_ public: #else # define GTEST_DECLARE_TUPLE_AS_FRIEND_ \ template friend class tuple; \ private: #endif // GTEST_n_TUPLE_(T) is the type of an n-tuple. #define GTEST_0_TUPLE_(T) tuple<> #define GTEST_1_TUPLE_(T) tuple #define GTEST_2_TUPLE_(T) tuple #define GTEST_3_TUPLE_(T) tuple #define GTEST_4_TUPLE_(T) tuple #define GTEST_5_TUPLE_(T) tuple #define GTEST_6_TUPLE_(T) tuple #define GTEST_7_TUPLE_(T) tuple #define GTEST_8_TUPLE_(T) tuple #define GTEST_9_TUPLE_(T) tuple #define GTEST_10_TUPLE_(T) tuple // GTEST_n_TYPENAMES_(T) declares a list of n typenames. #define GTEST_0_TYPENAMES_(T) #define GTEST_1_TYPENAMES_(T) typename T##0 #define GTEST_2_TYPENAMES_(T) typename T##0, typename T##1 #define GTEST_3_TYPENAMES_(T) typename T##0, typename T##1, typename T##2 #define GTEST_4_TYPENAMES_(T) typename T##0, typename T##1, typename T##2, \ typename T##3 #define GTEST_5_TYPENAMES_(T) typename T##0, typename T##1, typename T##2, \ typename T##3, typename T##4 #define GTEST_6_TYPENAMES_(T) typename T##0, typename T##1, typename T##2, \ typename T##3, typename T##4, typename T##5 #define GTEST_7_TYPENAMES_(T) typename T##0, typename T##1, typename T##2, \ typename T##3, typename T##4, typename T##5, typename T##6 #define GTEST_8_TYPENAMES_(T) typename T##0, typename T##1, typename T##2, \ typename T##3, typename T##4, typename T##5, typename T##6, typename T##7 #define GTEST_9_TYPENAMES_(T) typename T##0, typename T##1, typename T##2, \ typename T##3, typename T##4, typename T##5, typename T##6, \ typename T##7, typename T##8 #define GTEST_10_TYPENAMES_(T) typename T##0, typename T##1, typename T##2, \ typename T##3, typename T##4, typename T##5, typename T##6, \ typename T##7, typename T##8, typename T##9 // In theory, defining stuff in the ::std namespace is undefined // behavior. We can do this as we are playing the role of a standard // library vendor. namespace std { namespace tr1 { template class tuple; // Anything in namespace gtest_internal is Google Test's INTERNAL // IMPLEMENTATION DETAIL and MUST NOT BE USED DIRECTLY in user code. namespace gtest_internal { // ByRef::type is T if T is a reference; otherwise it's const T&. template struct ByRef { typedef const T& type; }; // NOLINT template struct ByRef { typedef T& type; }; // NOLINT // A handy wrapper for ByRef. #define GTEST_BY_REF_(T) typename ::std::tr1::gtest_internal::ByRef::type // AddRef::type is T if T is a reference; otherwise it's T&. This // is the same as tr1::add_reference::type. template struct AddRef { typedef T& type; }; // NOLINT template struct AddRef { typedef T& type; }; // NOLINT // A handy wrapper for AddRef. #define GTEST_ADD_REF_(T) typename ::std::tr1::gtest_internal::AddRef::type // A helper for implementing get(). template class Get; // A helper for implementing tuple_element. kIndexValid is true // iff k < the number of fields in tuple type T. template struct TupleElement; template struct TupleElement { typedef T0 type; }; template struct TupleElement { typedef T1 type; }; template struct TupleElement { typedef T2 type; }; template struct TupleElement { typedef T3 type; }; template struct TupleElement { typedef T4 type; }; template struct TupleElement { typedef T5 type; }; template struct TupleElement { typedef T6 type; }; template struct TupleElement { typedef T7 type; }; template struct TupleElement { typedef T8 type; }; template struct TupleElement { typedef T9 type; }; } // namespace gtest_internal template <> class tuple<> { public: tuple() {} tuple(const tuple& /* t */) {} tuple& operator=(const tuple& /* t */) { return *this; } }; template class GTEST_1_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_() {} explicit tuple(GTEST_BY_REF_(T0) f0) : f0_(f0) {} tuple(const tuple& t) : f0_(t.f0_) {} template tuple(const GTEST_1_TUPLE_(U)& t) : f0_(t.f0_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_1_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_1_TUPLE_(U)& t) { f0_ = t.f0_; return *this; } T0 f0_; }; template class GTEST_2_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1) : f0_(f0), f1_(f1) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_) {} template tuple(const GTEST_2_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_) {} template tuple(const ::std::pair& p) : f0_(p.first), f1_(p.second) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_2_TUPLE_(U)& t) { return CopyFrom(t); } template tuple& operator=(const ::std::pair& p) { f0_ = p.first; f1_ = p.second; return *this; } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_2_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; return *this; } T0 f0_; T1 f1_; }; template class GTEST_3_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2) : f0_(f0), f1_(f1), f2_(f2) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_) {} template tuple(const GTEST_3_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_3_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_3_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; return *this; } T0 f0_; T1 f1_; T2 f2_; }; template class GTEST_4_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_(), f3_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3) : f0_(f0), f1_(f1), f2_(f2), f3_(f3) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_) {} template tuple(const GTEST_4_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_4_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_4_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; f3_ = t.f3_; return *this; } T0 f0_; T1 f1_; T2 f2_; T3 f3_; }; template class GTEST_5_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_(), f3_(), f4_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4) : f0_(f0), f1_(f1), f2_(f2), f3_(f3), f4_(f4) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_) {} template tuple(const GTEST_5_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_5_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_5_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; f3_ = t.f3_; f4_ = t.f4_; return *this; } T0 f0_; T1 f1_; T2 f2_; T3 f3_; T4 f4_; }; template class GTEST_6_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4, GTEST_BY_REF_(T5) f5) : f0_(f0), f1_(f1), f2_(f2), f3_(f3), f4_(f4), f5_(f5) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_) {} template tuple(const GTEST_6_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_6_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_6_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; f3_ = t.f3_; f4_ = t.f4_; f5_ = t.f5_; return *this; } T0 f0_; T1 f1_; T2 f2_; T3 f3_; T4 f4_; T5 f5_; }; template class GTEST_7_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4, GTEST_BY_REF_(T5) f5, GTEST_BY_REF_(T6) f6) : f0_(f0), f1_(f1), f2_(f2), f3_(f3), f4_(f4), f5_(f5), f6_(f6) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_) {} template tuple(const GTEST_7_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_7_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_7_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; f3_ = t.f3_; f4_ = t.f4_; f5_ = t.f5_; f6_ = t.f6_; return *this; } T0 f0_; T1 f1_; T2 f2_; T3 f3_; T4 f4_; T5 f5_; T6 f6_; }; template class GTEST_8_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_(), f7_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4, GTEST_BY_REF_(T5) f5, GTEST_BY_REF_(T6) f6, GTEST_BY_REF_(T7) f7) : f0_(f0), f1_(f1), f2_(f2), f3_(f3), f4_(f4), f5_(f5), f6_(f6), f7_(f7) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_), f7_(t.f7_) {} template tuple(const GTEST_8_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_), f7_(t.f7_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_8_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_8_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; f3_ = t.f3_; f4_ = t.f4_; f5_ = t.f5_; f6_ = t.f6_; f7_ = t.f7_; return *this; } T0 f0_; T1 f1_; T2 f2_; T3 f3_; T4 f4_; T5 f5_; T6 f6_; T7 f7_; }; template class GTEST_9_TUPLE_(T) { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_(), f7_(), f8_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4, GTEST_BY_REF_(T5) f5, GTEST_BY_REF_(T6) f6, GTEST_BY_REF_(T7) f7, GTEST_BY_REF_(T8) f8) : f0_(f0), f1_(f1), f2_(f2), f3_(f3), f4_(f4), f5_(f5), f6_(f6), f7_(f7), f8_(f8) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_), f7_(t.f7_), f8_(t.f8_) {} template tuple(const GTEST_9_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_), f7_(t.f7_), f8_(t.f8_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_9_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_9_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; f3_ = t.f3_; f4_ = t.f4_; f5_ = t.f5_; f6_ = t.f6_; f7_ = t.f7_; f8_ = t.f8_; return *this; } T0 f0_; T1 f1_; T2 f2_; T3 f3_; T4 f4_; T5 f5_; T6 f6_; T7 f7_; T8 f8_; }; template class tuple { public: template friend class gtest_internal::Get; tuple() : f0_(), f1_(), f2_(), f3_(), f4_(), f5_(), f6_(), f7_(), f8_(), f9_() {} explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1, GTEST_BY_REF_(T2) f2, GTEST_BY_REF_(T3) f3, GTEST_BY_REF_(T4) f4, GTEST_BY_REF_(T5) f5, GTEST_BY_REF_(T6) f6, GTEST_BY_REF_(T7) f7, GTEST_BY_REF_(T8) f8, GTEST_BY_REF_(T9) f9) : f0_(f0), f1_(f1), f2_(f2), f3_(f3), f4_(f4), f5_(f5), f6_(f6), f7_(f7), f8_(f8), f9_(f9) {} tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_), f7_(t.f7_), f8_(t.f8_), f9_(t.f9_) {} template tuple(const GTEST_10_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_), f4_(t.f4_), f5_(t.f5_), f6_(t.f6_), f7_(t.f7_), f8_(t.f8_), f9_(t.f9_) {} tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_10_TUPLE_(U)& t) { return CopyFrom(t); } GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_10_TUPLE_(U)& t) { f0_ = t.f0_; f1_ = t.f1_; f2_ = t.f2_; f3_ = t.f3_; f4_ = t.f4_; f5_ = t.f5_; f6_ = t.f6_; f7_ = t.f7_; f8_ = t.f8_; f9_ = t.f9_; return *this; } T0 f0_; T1 f1_; T2 f2_; T3 f3_; T4 f4_; T5 f5_; T6 f6_; T7 f7_; T8 f8_; T9 f9_; }; // 6.1.3.2 Tuple creation functions. // Known limitations: we don't support passing an // std::tr1::reference_wrapper to make_tuple(). And we don't // implement tie(). inline tuple<> make_tuple() { return tuple<>(); } template inline GTEST_1_TUPLE_(T) make_tuple(const T0& f0) { return GTEST_1_TUPLE_(T)(f0); } template inline GTEST_2_TUPLE_(T) make_tuple(const T0& f0, const T1& f1) { return GTEST_2_TUPLE_(T)(f0, f1); } template inline GTEST_3_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2) { return GTEST_3_TUPLE_(T)(f0, f1, f2); } template inline GTEST_4_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2, const T3& f3) { return GTEST_4_TUPLE_(T)(f0, f1, f2, f3); } template inline GTEST_5_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2, const T3& f3, const T4& f4) { return GTEST_5_TUPLE_(T)(f0, f1, f2, f3, f4); } template inline GTEST_6_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2, const T3& f3, const T4& f4, const T5& f5) { return GTEST_6_TUPLE_(T)(f0, f1, f2, f3, f4, f5); } template inline GTEST_7_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2, const T3& f3, const T4& f4, const T5& f5, const T6& f6) { return GTEST_7_TUPLE_(T)(f0, f1, f2, f3, f4, f5, f6); } template inline GTEST_8_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2, const T3& f3, const T4& f4, const T5& f5, const T6& f6, const T7& f7) { return GTEST_8_TUPLE_(T)(f0, f1, f2, f3, f4, f5, f6, f7); } template inline GTEST_9_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2, const T3& f3, const T4& f4, const T5& f5, const T6& f6, const T7& f7, const T8& f8) { return GTEST_9_TUPLE_(T)(f0, f1, f2, f3, f4, f5, f6, f7, f8); } template inline GTEST_10_TUPLE_(T) make_tuple(const T0& f0, const T1& f1, const T2& f2, const T3& f3, const T4& f4, const T5& f5, const T6& f6, const T7& f7, const T8& f8, const T9& f9) { return GTEST_10_TUPLE_(T)(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9); } // 6.1.3.3 Tuple helper classes. template struct tuple_size; template struct tuple_size { static const int value = 0; }; template struct tuple_size { static const int value = 1; }; template struct tuple_size { static const int value = 2; }; template struct tuple_size { static const int value = 3; }; template struct tuple_size { static const int value = 4; }; template struct tuple_size { static const int value = 5; }; template struct tuple_size { static const int value = 6; }; template struct tuple_size { static const int value = 7; }; template struct tuple_size { static const int value = 8; }; template struct tuple_size { static const int value = 9; }; template struct tuple_size { static const int value = 10; }; template struct tuple_element { typedef typename gtest_internal::TupleElement< k < (tuple_size::value), k, Tuple>::type type; }; #define GTEST_TUPLE_ELEMENT_(k, Tuple) typename tuple_element::type // 6.1.3.4 Element access. namespace gtest_internal { template <> class Get<0> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(0, Tuple)) Field(Tuple& t) { return t.f0_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(0, Tuple)) ConstField(const Tuple& t) { return t.f0_; } }; template <> class Get<1> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(1, Tuple)) Field(Tuple& t) { return t.f1_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(1, Tuple)) ConstField(const Tuple& t) { return t.f1_; } }; template <> class Get<2> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(2, Tuple)) Field(Tuple& t) { return t.f2_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(2, Tuple)) ConstField(const Tuple& t) { return t.f2_; } }; template <> class Get<3> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(3, Tuple)) Field(Tuple& t) { return t.f3_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(3, Tuple)) ConstField(const Tuple& t) { return t.f3_; } }; template <> class Get<4> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(4, Tuple)) Field(Tuple& t) { return t.f4_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(4, Tuple)) ConstField(const Tuple& t) { return t.f4_; } }; template <> class Get<5> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(5, Tuple)) Field(Tuple& t) { return t.f5_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(5, Tuple)) ConstField(const Tuple& t) { return t.f5_; } }; template <> class Get<6> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(6, Tuple)) Field(Tuple& t) { return t.f6_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(6, Tuple)) ConstField(const Tuple& t) { return t.f6_; } }; template <> class Get<7> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(7, Tuple)) Field(Tuple& t) { return t.f7_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(7, Tuple)) ConstField(const Tuple& t) { return t.f7_; } }; template <> class Get<8> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(8, Tuple)) Field(Tuple& t) { return t.f8_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(8, Tuple)) ConstField(const Tuple& t) { return t.f8_; } }; template <> class Get<9> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(9, Tuple)) Field(Tuple& t) { return t.f9_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(9, Tuple)) ConstField(const Tuple& t) { return t.f9_; } }; } // namespace gtest_internal template GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(k, GTEST_10_TUPLE_(T))) get(GTEST_10_TUPLE_(T)& t) { return gtest_internal::Get::Field(t); } template GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(k, GTEST_10_TUPLE_(T))) get(const GTEST_10_TUPLE_(T)& t) { return gtest_internal::Get::ConstField(t); } // 6.1.3.5 Relational operators // We only implement == and !=, as we don't have a need for the rest yet. namespace gtest_internal { // SameSizeTuplePrefixComparator::Eq(t1, t2) returns true if the // first k fields of t1 equals the first k fields of t2. // SameSizeTuplePrefixComparator(k1, k2) would be a compiler error if // k1 != k2. template struct SameSizeTuplePrefixComparator; template <> struct SameSizeTuplePrefixComparator<0, 0> { template static bool Eq(const Tuple1& /* t1 */, const Tuple2& /* t2 */) { return true; } }; template struct SameSizeTuplePrefixComparator { template static bool Eq(const Tuple1& t1, const Tuple2& t2) { return SameSizeTuplePrefixComparator::Eq(t1, t2) && ::std::tr1::get(t1) == ::std::tr1::get(t2); } }; } // namespace gtest_internal template inline bool operator==(const GTEST_10_TUPLE_(T)& t, const GTEST_10_TUPLE_(U)& u) { return gtest_internal::SameSizeTuplePrefixComparator< tuple_size::value, tuple_size::value>::Eq(t, u); } template inline bool operator!=(const GTEST_10_TUPLE_(T)& t, const GTEST_10_TUPLE_(U)& u) { return !(t == u); } // 6.1.4 Pairs. // Unimplemented. } // namespace tr1 } // namespace std #undef GTEST_0_TUPLE_ #undef GTEST_1_TUPLE_ #undef GTEST_2_TUPLE_ #undef GTEST_3_TUPLE_ #undef GTEST_4_TUPLE_ #undef GTEST_5_TUPLE_ #undef GTEST_6_TUPLE_ #undef GTEST_7_TUPLE_ #undef GTEST_8_TUPLE_ #undef GTEST_9_TUPLE_ #undef GTEST_10_TUPLE_ #undef GTEST_0_TYPENAMES_ #undef GTEST_1_TYPENAMES_ #undef GTEST_2_TYPENAMES_ #undef GTEST_3_TYPENAMES_ #undef GTEST_4_TYPENAMES_ #undef GTEST_5_TYPENAMES_ #undef GTEST_6_TYPENAMES_ #undef GTEST_7_TYPENAMES_ #undef GTEST_8_TYPENAMES_ #undef GTEST_9_TYPENAMES_ #undef GTEST_10_TYPENAMES_ #undef GTEST_DECLARE_TUPLE_AS_FRIEND_ #undef GTEST_BY_REF_ #undef GTEST_ADD_REF_ #undef GTEST_TUPLE_ELEMENT_ #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-string.h0000644000175200017520000001547012277666257022401 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: wan@google.com (Zhanyong Wan), eefacm@gmail.com (Sean Mcafee) // // The Google C++ Testing Framework (Google Test) // // This header file declares the String class and functions used internally by // Google Test. They are subject to change without notice. They should not used // by code external to Google Test. // // This header file is #included by . // It should not be #included by other files. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_ #ifdef __BORLANDC__ // string.h is not guaranteed to provide strcpy on C++ Builder. # include #endif #include #include #include "gtest/internal/gtest-port.h" namespace testing { namespace internal { // String - an abstract class holding static string utilities. class GTEST_API_ String { public: // Static utility methods // Clones a 0-terminated C string, allocating memory using new. The // caller is responsible for deleting the return value using // delete[]. Returns the cloned string, or NULL if the input is // NULL. // // This is different from strdup() in string.h, which allocates // memory using malloc(). static const char* CloneCString(const char* c_str); #if GTEST_OS_WINDOWS_MOBILE // Windows CE does not have the 'ANSI' versions of Win32 APIs. To be // able to pass strings to Win32 APIs on CE we need to convert them // to 'Unicode', UTF-16. // Creates a UTF-16 wide string from the given ANSI string, allocating // memory using new. The caller is responsible for deleting the return // value using delete[]. Returns the wide string, or NULL if the // input is NULL. // // The wide string is created using the ANSI codepage (CP_ACP) to // match the behaviour of the ANSI versions of Win32 calls and the // C runtime. static LPCWSTR AnsiToUtf16(const char* c_str); // Creates an ANSI string from the given wide string, allocating // memory using new. The caller is responsible for deleting the return // value using delete[]. Returns the ANSI string, or NULL if the // input is NULL. // // The returned string is created using the ANSI codepage (CP_ACP) to // match the behaviour of the ANSI versions of Win32 calls and the // C runtime. static const char* Utf16ToAnsi(LPCWSTR utf16_str); #endif // Compares two C strings. Returns true iff they have the same content. // // Unlike strcmp(), this function can handle NULL argument(s). A // NULL C string is considered different to any non-NULL C string, // including the empty string. static bool CStringEquals(const char* lhs, const char* rhs); // Converts a wide C string to a String using the UTF-8 encoding. // NULL will be converted to "(null)". If an error occurred during // the conversion, "(failed to convert from wide string)" is // returned. static std::string ShowWideCString(const wchar_t* wide_c_str); // Compares two wide C strings. Returns true iff they have the same // content. // // Unlike wcscmp(), this function can handle NULL argument(s). A // NULL C string is considered different to any non-NULL C string, // including the empty string. static bool WideCStringEquals(const wchar_t* lhs, const wchar_t* rhs); // Compares two C strings, ignoring case. Returns true iff they // have the same content. // // Unlike strcasecmp(), this function can handle NULL argument(s). // A NULL C string is considered different to any non-NULL C string, // including the empty string. static bool CaseInsensitiveCStringEquals(const char* lhs, const char* rhs); // Compares two wide C strings, ignoring case. Returns true iff they // have the same content. // // Unlike wcscasecmp(), this function can handle NULL argument(s). // A NULL C string is considered different to any non-NULL wide C string, // including the empty string. // NB: The implementations on different platforms slightly differ. // On windows, this method uses _wcsicmp which compares according to LC_CTYPE // environment variable. On GNU platform this method uses wcscasecmp // which compares according to LC_CTYPE category of the current locale. // On MacOS X, it uses towlower, which also uses LC_CTYPE category of the // current locale. static bool CaseInsensitiveWideCStringEquals(const wchar_t* lhs, const wchar_t* rhs); // Returns true iff the given string ends with the given suffix, ignoring // case. Any string is considered to end with an empty suffix. static bool EndsWithCaseInsensitive( const std::string& str, const std::string& suffix); // Formats an int value as "%02d". static std::string FormatIntWidth2(int value); // "%02d" for width == 2 // Formats an int value as "%X". static std::string FormatHexInt(int value); // Formats a byte as "%02X". static std::string FormatByte(unsigned char value); private: String(); // Not meant to be instantiated. }; // class String // Gets the content of the stringstream's buffer as an std::string. Each '\0' // character in the buffer is replaced with "\\0". GTEST_API_ std::string StringStreamToString(::std::stringstream* stream); } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-param-util.h0000644000175200017520000005717712277666257023160 00000000000000// Copyright 2008 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: vladl@google.com (Vlad Losev) // Type and function utilities for implementing parameterized tests. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ #include #include #include // scripts/fuse_gtest.py depends on gtest's own header being #included // *unconditionally*. Therefore these #includes cannot be moved // inside #if GTEST_HAS_PARAM_TEST. #include "gtest/internal/gtest-internal.h" #include "gtest/internal/gtest-linked_ptr.h" #include "gtest/internal/gtest-port.h" #include "gtest/gtest-printers.h" #if GTEST_HAS_PARAM_TEST namespace testing { namespace internal { // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Outputs a message explaining invalid registration of different // fixture class for the same test case. This may happen when // TEST_P macro is used to define two tests with the same name // but in different namespaces. GTEST_API_ void ReportInvalidTestCaseType(const char* test_case_name, const char* file, int line); template class ParamGeneratorInterface; template class ParamGenerator; // Interface for iterating over elements provided by an implementation // of ParamGeneratorInterface. template class ParamIteratorInterface { public: virtual ~ParamIteratorInterface() {} // A pointer to the base generator instance. // Used only for the purposes of iterator comparison // to make sure that two iterators belong to the same generator. virtual const ParamGeneratorInterface* BaseGenerator() const = 0; // Advances iterator to point to the next element // provided by the generator. The caller is responsible // for not calling Advance() on an iterator equal to // BaseGenerator()->End(). virtual void Advance() = 0; // Clones the iterator object. Used for implementing copy semantics // of ParamIterator. virtual ParamIteratorInterface* Clone() const = 0; // Dereferences the current iterator and provides (read-only) access // to the pointed value. It is the caller's responsibility not to call // Current() on an iterator equal to BaseGenerator()->End(). // Used for implementing ParamGenerator::operator*(). virtual const T* Current() const = 0; // Determines whether the given iterator and other point to the same // element in the sequence generated by the generator. // Used for implementing ParamGenerator::operator==(). virtual bool Equals(const ParamIteratorInterface& other) const = 0; }; // Class iterating over elements provided by an implementation of // ParamGeneratorInterface. It wraps ParamIteratorInterface // and implements the const forward iterator concept. template class ParamIterator { public: typedef T value_type; typedef const T& reference; typedef ptrdiff_t difference_type; // ParamIterator assumes ownership of the impl_ pointer. ParamIterator(const ParamIterator& other) : impl_(other.impl_->Clone()) {} ParamIterator& operator=(const ParamIterator& other) { if (this != &other) impl_.reset(other.impl_->Clone()); return *this; } const T& operator*() const { return *impl_->Current(); } const T* operator->() const { return impl_->Current(); } // Prefix version of operator++. ParamIterator& operator++() { impl_->Advance(); return *this; } // Postfix version of operator++. ParamIterator operator++(int /*unused*/) { ParamIteratorInterface* clone = impl_->Clone(); impl_->Advance(); return ParamIterator(clone); } bool operator==(const ParamIterator& other) const { return impl_.get() == other.impl_.get() || impl_->Equals(*other.impl_); } bool operator!=(const ParamIterator& other) const { return !(*this == other); } private: friend class ParamGenerator; explicit ParamIterator(ParamIteratorInterface* impl) : impl_(impl) {} scoped_ptr > impl_; }; // ParamGeneratorInterface is the binary interface to access generators // defined in other translation units. template class ParamGeneratorInterface { public: typedef T ParamType; virtual ~ParamGeneratorInterface() {} // Generator interface definition virtual ParamIteratorInterface* Begin() const = 0; virtual ParamIteratorInterface* End() const = 0; }; // Wraps ParamGeneratorInterface and provides general generator syntax // compatible with the STL Container concept. // This class implements copy initialization semantics and the contained // ParamGeneratorInterface instance is shared among all copies // of the original object. This is possible because that instance is immutable. template class ParamGenerator { public: typedef ParamIterator iterator; explicit ParamGenerator(ParamGeneratorInterface* impl) : impl_(impl) {} ParamGenerator(const ParamGenerator& other) : impl_(other.impl_) {} ParamGenerator& operator=(const ParamGenerator& other) { impl_ = other.impl_; return *this; } iterator begin() const { return iterator(impl_->Begin()); } iterator end() const { return iterator(impl_->End()); } private: linked_ptr > impl_; }; // Generates values from a range of two comparable values. Can be used to // generate sequences of user-defined types that implement operator+() and // operator<(). // This class is used in the Range() function. template class RangeGenerator : public ParamGeneratorInterface { public: RangeGenerator(T begin, T end, IncrementT step) : begin_(begin), end_(end), step_(step), end_index_(CalculateEndIndex(begin, end, step)) {} virtual ~RangeGenerator() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, begin_, 0, step_); } virtual ParamIteratorInterface* End() const { return new Iterator(this, end_, end_index_, step_); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, T value, int index, IncrementT step) : base_(base), value_(value), index_(index), step_(step) {} virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } virtual void Advance() { value_ = value_ + step_; index_++; } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const T* Current() const { return &value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const int other_index = CheckedDowncastToActualType(&other)->index_; return index_ == other_index; } private: Iterator(const Iterator& other) : ParamIteratorInterface(), base_(other.base_), value_(other.value_), index_(other.index_), step_(other.step_) {} // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; T value_; int index_; const IncrementT step_; }; // class RangeGenerator::Iterator static int CalculateEndIndex(const T& begin, const T& end, const IncrementT& step) { int end_index = 0; for (T i = begin; i < end; i = i + step) end_index++; return end_index; } // No implementation - assignment is unsupported. void operator=(const RangeGenerator& other); const T begin_; const T end_; const IncrementT step_; // The index for the end() iterator. All the elements in the generated // sequence are indexed (0-based) to aid iterator comparison. const int end_index_; }; // class RangeGenerator // Generates values from a pair of STL-style iterators. Used in the // ValuesIn() function. The elements are copied from the source range // since the source can be located on the stack, and the generator // is likely to persist beyond that stack frame. template class ValuesInIteratorRangeGenerator : public ParamGeneratorInterface { public: template ValuesInIteratorRangeGenerator(ForwardIterator begin, ForwardIterator end) : container_(begin, end) {} virtual ~ValuesInIteratorRangeGenerator() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, container_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, container_.end()); } private: typedef typename ::std::vector ContainerType; class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, typename ContainerType::const_iterator iterator) : base_(base), iterator_(iterator) {} virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } virtual void Advance() { ++iterator_; value_.reset(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } // We need to use cached value referenced by iterator_ because *iterator_ // can return a temporary object (and of type other then T), so just // having "return &*iterator_;" doesn't work. // value_ is updated here and not in Advance() because Advance() // can advance iterator_ beyond the end of the range, and we cannot // detect that fact. The client code, on the other hand, is // responsible for not calling Current() on an out-of-range iterator. virtual const T* Current() const { if (value_.get() == NULL) value_.reset(new T(*iterator_)); return value_.get(); } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; return iterator_ == CheckedDowncastToActualType(&other)->iterator_; } private: Iterator(const Iterator& other) // The explicit constructor call suppresses a false warning // emitted by gcc when supplied with the -Wextra option. : ParamIteratorInterface(), base_(other.base_), iterator_(other.iterator_) {} const ParamGeneratorInterface* const base_; typename ContainerType::const_iterator iterator_; // A cached value of *iterator_. We keep it here to allow access by // pointer in the wrapping iterator's operator->(). // value_ needs to be mutable to be accessed in Current(). // Use of scoped_ptr helps manage cached value's lifetime, // which is bound by the lifespan of the iterator itself. mutable scoped_ptr value_; }; // class ValuesInIteratorRangeGenerator::Iterator // No implementation - assignment is unsupported. void operator=(const ValuesInIteratorRangeGenerator& other); const ContainerType container_; }; // class ValuesInIteratorRangeGenerator // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Stores a parameter value and later creates tests parameterized with that // value. template class ParameterizedTestFactory : public TestFactoryBase { public: typedef typename TestClass::ParamType ParamType; explicit ParameterizedTestFactory(ParamType parameter) : parameter_(parameter) {} virtual Test* CreateTest() { TestClass::SetParam(¶meter_); return new TestClass(); } private: const ParamType parameter_; GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestFactory); }; // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // TestMetaFactoryBase is a base class for meta-factories that create // test factories for passing into MakeAndRegisterTestInfo function. template class TestMetaFactoryBase { public: virtual ~TestMetaFactoryBase() {} virtual TestFactoryBase* CreateTestFactory(ParamType parameter) = 0; }; // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // TestMetaFactory creates test factories for passing into // MakeAndRegisterTestInfo function. Since MakeAndRegisterTestInfo receives // ownership of test factory pointer, same factory object cannot be passed // into that method twice. But ParameterizedTestCaseInfo is going to call // it for each Test/Parameter value combination. Thus it needs meta factory // creator class. template class TestMetaFactory : public TestMetaFactoryBase { public: typedef typename TestCase::ParamType ParamType; TestMetaFactory() {} virtual TestFactoryBase* CreateTestFactory(ParamType parameter) { return new ParameterizedTestFactory(parameter); } private: GTEST_DISALLOW_COPY_AND_ASSIGN_(TestMetaFactory); }; // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // ParameterizedTestCaseInfoBase is a generic interface // to ParameterizedTestCaseInfo classes. ParameterizedTestCaseInfoBase // accumulates test information provided by TEST_P macro invocations // and generators provided by INSTANTIATE_TEST_CASE_P macro invocations // and uses that information to register all resulting test instances // in RegisterTests method. The ParameterizeTestCaseRegistry class holds // a collection of pointers to the ParameterizedTestCaseInfo objects // and calls RegisterTests() on each of them when asked. class ParameterizedTestCaseInfoBase { public: virtual ~ParameterizedTestCaseInfoBase() {} // Base part of test case name for display purposes. virtual const string& GetTestCaseName() const = 0; // Test case id to verify identity. virtual TypeId GetTestCaseTypeId() const = 0; // UnitTest class invokes this method to register tests in this // test case right before running them in RUN_ALL_TESTS macro. // This method should not be called more then once on any single // instance of a ParameterizedTestCaseInfoBase derived class. virtual void RegisterTests() = 0; protected: ParameterizedTestCaseInfoBase() {} private: GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestCaseInfoBase); }; // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // ParameterizedTestCaseInfo accumulates tests obtained from TEST_P // macro invocations for a particular test case and generators // obtained from INSTANTIATE_TEST_CASE_P macro invocations for that // test case. It registers tests with all values generated by all // generators when asked. template class ParameterizedTestCaseInfo : public ParameterizedTestCaseInfoBase { public: // ParamType and GeneratorCreationFunc are private types but are required // for declarations of public methods AddTestPattern() and // AddTestCaseInstantiation(). typedef typename TestCase::ParamType ParamType; // A function that returns an instance of appropriate generator type. typedef ParamGenerator(GeneratorCreationFunc)(); explicit ParameterizedTestCaseInfo(const char* name) : test_case_name_(name) {} // Test case base name for display purposes. virtual const string& GetTestCaseName() const { return test_case_name_; } // Test case id to verify identity. virtual TypeId GetTestCaseTypeId() const { return GetTypeId(); } // TEST_P macro uses AddTestPattern() to record information // about a single test in a LocalTestInfo structure. // test_case_name is the base name of the test case (without invocation // prefix). test_base_name is the name of an individual test without // parameter index. For the test SequenceA/FooTest.DoBar/1 FooTest is // test case base name and DoBar is test base name. void AddTestPattern(const char* test_case_name, const char* test_base_name, TestMetaFactoryBase* meta_factory) { tests_.push_back(linked_ptr(new TestInfo(test_case_name, test_base_name, meta_factory))); } // INSTANTIATE_TEST_CASE_P macro uses AddGenerator() to record information // about a generator. int AddTestCaseInstantiation(const string& instantiation_name, GeneratorCreationFunc* func, const char* /* file */, int /* line */) { instantiations_.push_back(::std::make_pair(instantiation_name, func)); return 0; // Return value used only to run this method in namespace scope. } // UnitTest class invokes this method to register tests in this test case // test cases right before running tests in RUN_ALL_TESTS macro. // This method should not be called more then once on any single // instance of a ParameterizedTestCaseInfoBase derived class. // UnitTest has a guard to prevent from calling this method more then once. virtual void RegisterTests() { for (typename TestInfoContainer::iterator test_it = tests_.begin(); test_it != tests_.end(); ++test_it) { linked_ptr test_info = *test_it; for (typename InstantiationContainer::iterator gen_it = instantiations_.begin(); gen_it != instantiations_.end(); ++gen_it) { const string& instantiation_name = gen_it->first; ParamGenerator generator((*gen_it->second)()); string test_case_name; if ( !instantiation_name.empty() ) test_case_name = instantiation_name + "/"; test_case_name += test_info->test_case_base_name; int i = 0; for (typename ParamGenerator::iterator param_it = generator.begin(); param_it != generator.end(); ++param_it, ++i) { Message test_name_stream; test_name_stream << test_info->test_base_name << "/" << i; MakeAndRegisterTestInfo( test_case_name.c_str(), test_name_stream.GetString().c_str(), NULL, // No type parameter. PrintToString(*param_it).c_str(), GetTestCaseTypeId(), TestCase::SetUpTestCase, TestCase::TearDownTestCase, test_info->test_meta_factory->CreateTestFactory(*param_it)); } // for param_it } // for gen_it } // for test_it } // RegisterTests private: // LocalTestInfo structure keeps information about a single test registered // with TEST_P macro. struct TestInfo { TestInfo(const char* a_test_case_base_name, const char* a_test_base_name, TestMetaFactoryBase* a_test_meta_factory) : test_case_base_name(a_test_case_base_name), test_base_name(a_test_base_name), test_meta_factory(a_test_meta_factory) {} const string test_case_base_name; const string test_base_name; const scoped_ptr > test_meta_factory; }; typedef ::std::vector > TestInfoContainer; // Keeps pairs of // received from INSTANTIATE_TEST_CASE_P macros. typedef ::std::vector > InstantiationContainer; const string test_case_name_; TestInfoContainer tests_; InstantiationContainer instantiations_; GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestCaseInfo); }; // class ParameterizedTestCaseInfo // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // ParameterizedTestCaseRegistry contains a map of ParameterizedTestCaseInfoBase // classes accessed by test case names. TEST_P and INSTANTIATE_TEST_CASE_P // macros use it to locate their corresponding ParameterizedTestCaseInfo // descriptors. class ParameterizedTestCaseRegistry { public: ParameterizedTestCaseRegistry() {} ~ParameterizedTestCaseRegistry() { for (TestCaseInfoContainer::iterator it = test_case_infos_.begin(); it != test_case_infos_.end(); ++it) { delete *it; } } // Looks up or creates and returns a structure containing information about // tests and instantiations of a particular test case. template ParameterizedTestCaseInfo* GetTestCasePatternHolder( const char* test_case_name, const char* file, int line) { ParameterizedTestCaseInfo* typed_test_info = NULL; for (TestCaseInfoContainer::iterator it = test_case_infos_.begin(); it != test_case_infos_.end(); ++it) { if ((*it)->GetTestCaseName() == test_case_name) { if ((*it)->GetTestCaseTypeId() != GetTypeId()) { // Complain about incorrect usage of Google Test facilities // and terminate the program since we cannot guaranty correct // test case setup and tear-down in this case. ReportInvalidTestCaseType(test_case_name, file, line); posix::Abort(); } else { // At this point we are sure that the object we found is of the same // type we are looking for, so we downcast it to that type // without further checks. typed_test_info = CheckedDowncastToActualType< ParameterizedTestCaseInfo >(*it); } break; } } if (typed_test_info == NULL) { typed_test_info = new ParameterizedTestCaseInfo(test_case_name); test_case_infos_.push_back(typed_test_info); } return typed_test_info; } void RegisterTests() { for (TestCaseInfoContainer::iterator it = test_case_infos_.begin(); it != test_case_infos_.end(); ++it) { (*it)->RegisterTests(); } } private: typedef ::std::vector TestCaseInfoContainer; TestCaseInfoContainer test_case_infos_; GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestCaseRegistry); }; } // namespace internal } // namespace testing #endif // GTEST_HAS_PARAM_TEST #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-tuple.h.pump0000644000175200017520000002201212277666257023172 00000000000000$$ -*- mode: c++; -*- $var n = 10 $$ Maximum number of tuple fields we want to support. $$ This meta comment fixes auto-indentation in Emacs. }} // Copyright 2009 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // Implements a subset of TR1 tuple needed by Google Test and Google Mock. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ #include // For ::std::pair. // The compiler used in Symbian has a bug that prevents us from declaring the // tuple template as a friend (it complains that tuple is redefined). This // hack bypasses the bug by declaring the members that should otherwise be // private as public. // Sun Studio versions < 12 also have the above bug. #if defined(__SYMBIAN32__) || (defined(__SUNPRO_CC) && __SUNPRO_CC < 0x590) # define GTEST_DECLARE_TUPLE_AS_FRIEND_ public: #else # define GTEST_DECLARE_TUPLE_AS_FRIEND_ \ template friend class tuple; \ private: #endif $range i 0..n-1 $range j 0..n $range k 1..n // GTEST_n_TUPLE_(T) is the type of an n-tuple. #define GTEST_0_TUPLE_(T) tuple<> $for k [[ $range m 0..k-1 $range m2 k..n-1 #define GTEST_$(k)_TUPLE_(T) tuple<$for m, [[T##$m]]$for m2 [[, void]]> ]] // GTEST_n_TYPENAMES_(T) declares a list of n typenames. $for j [[ $range m 0..j-1 #define GTEST_$(j)_TYPENAMES_(T) $for m, [[typename T##$m]] ]] // In theory, defining stuff in the ::std namespace is undefined // behavior. We can do this as we are playing the role of a standard // library vendor. namespace std { namespace tr1 { template <$for i, [[typename T$i = void]]> class tuple; // Anything in namespace gtest_internal is Google Test's INTERNAL // IMPLEMENTATION DETAIL and MUST NOT BE USED DIRECTLY in user code. namespace gtest_internal { // ByRef::type is T if T is a reference; otherwise it's const T&. template struct ByRef { typedef const T& type; }; // NOLINT template struct ByRef { typedef T& type; }; // NOLINT // A handy wrapper for ByRef. #define GTEST_BY_REF_(T) typename ::std::tr1::gtest_internal::ByRef::type // AddRef::type is T if T is a reference; otherwise it's T&. This // is the same as tr1::add_reference::type. template struct AddRef { typedef T& type; }; // NOLINT template struct AddRef { typedef T& type; }; // NOLINT // A handy wrapper for AddRef. #define GTEST_ADD_REF_(T) typename ::std::tr1::gtest_internal::AddRef::type // A helper for implementing get(). template class Get; // A helper for implementing tuple_element. kIndexValid is true // iff k < the number of fields in tuple type T. template struct TupleElement; $for i [[ template struct TupleElement { typedef T$i type; }; ]] } // namespace gtest_internal template <> class tuple<> { public: tuple() {} tuple(const tuple& /* t */) {} tuple& operator=(const tuple& /* t */) { return *this; } }; $for k [[ $range m 0..k-1 template class $if k < n [[GTEST_$(k)_TUPLE_(T)]] $else [[tuple]] { public: template friend class gtest_internal::Get; tuple() : $for m, [[f$(m)_()]] {} explicit tuple($for m, [[GTEST_BY_REF_(T$m) f$m]]) : [[]] $for m, [[f$(m)_(f$m)]] {} tuple(const tuple& t) : $for m, [[f$(m)_(t.f$(m)_)]] {} template tuple(const GTEST_$(k)_TUPLE_(U)& t) : $for m, [[f$(m)_(t.f$(m)_)]] {} $if k == 2 [[ template tuple(const ::std::pair& p) : f0_(p.first), f1_(p.second) {} ]] tuple& operator=(const tuple& t) { return CopyFrom(t); } template tuple& operator=(const GTEST_$(k)_TUPLE_(U)& t) { return CopyFrom(t); } $if k == 2 [[ template tuple& operator=(const ::std::pair& p) { f0_ = p.first; f1_ = p.second; return *this; } ]] GTEST_DECLARE_TUPLE_AS_FRIEND_ template tuple& CopyFrom(const GTEST_$(k)_TUPLE_(U)& t) { $for m [[ f$(m)_ = t.f$(m)_; ]] return *this; } $for m [[ T$m f$(m)_; ]] }; ]] // 6.1.3.2 Tuple creation functions. // Known limitations: we don't support passing an // std::tr1::reference_wrapper to make_tuple(). And we don't // implement tie(). inline tuple<> make_tuple() { return tuple<>(); } $for k [[ $range m 0..k-1 template inline GTEST_$(k)_TUPLE_(T) make_tuple($for m, [[const T$m& f$m]]) { return GTEST_$(k)_TUPLE_(T)($for m, [[f$m]]); } ]] // 6.1.3.3 Tuple helper classes. template struct tuple_size; $for j [[ template struct tuple_size { static const int value = $j; }; ]] template struct tuple_element { typedef typename gtest_internal::TupleElement< k < (tuple_size::value), k, Tuple>::type type; }; #define GTEST_TUPLE_ELEMENT_(k, Tuple) typename tuple_element::type // 6.1.3.4 Element access. namespace gtest_internal { $for i [[ template <> class Get<$i> { public: template static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_($i, Tuple)) Field(Tuple& t) { return t.f$(i)_; } // NOLINT template static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_($i, Tuple)) ConstField(const Tuple& t) { return t.f$(i)_; } }; ]] } // namespace gtest_internal template GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(k, GTEST_$(n)_TUPLE_(T))) get(GTEST_$(n)_TUPLE_(T)& t) { return gtest_internal::Get::Field(t); } template GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(k, GTEST_$(n)_TUPLE_(T))) get(const GTEST_$(n)_TUPLE_(T)& t) { return gtest_internal::Get::ConstField(t); } // 6.1.3.5 Relational operators // We only implement == and !=, as we don't have a need for the rest yet. namespace gtest_internal { // SameSizeTuplePrefixComparator::Eq(t1, t2) returns true if the // first k fields of t1 equals the first k fields of t2. // SameSizeTuplePrefixComparator(k1, k2) would be a compiler error if // k1 != k2. template struct SameSizeTuplePrefixComparator; template <> struct SameSizeTuplePrefixComparator<0, 0> { template static bool Eq(const Tuple1& /* t1 */, const Tuple2& /* t2 */) { return true; } }; template struct SameSizeTuplePrefixComparator { template static bool Eq(const Tuple1& t1, const Tuple2& t2) { return SameSizeTuplePrefixComparator::Eq(t1, t2) && ::std::tr1::get(t1) == ::std::tr1::get(t2); } }; } // namespace gtest_internal template inline bool operator==(const GTEST_$(n)_TUPLE_(T)& t, const GTEST_$(n)_TUPLE_(U)& u) { return gtest_internal::SameSizeTuplePrefixComparator< tuple_size::value, tuple_size::value>::Eq(t, u); } template inline bool operator!=(const GTEST_$(n)_TUPLE_(T)& t, const GTEST_$(n)_TUPLE_(U)& u) { return !(t == u); } // 6.1.4 Pairs. // Unimplemented. } // namespace tr1 } // namespace std $for j [[ #undef GTEST_$(j)_TUPLE_ ]] $for j [[ #undef GTEST_$(j)_TYPENAMES_ ]] #undef GTEST_DECLARE_TUPLE_AS_FRIEND_ #undef GTEST_BY_REF_ #undef GTEST_ADD_REF_ #undef GTEST_TUPLE_ELEMENT_ #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-type-util.h0000644000175200017520000055250212277666257023031 00000000000000// This file was GENERATED by command: // pump.py gtest-type-util.h.pump // DO NOT EDIT BY HAND!!! // Copyright 2008 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // Type utilities needed for implementing typed and type-parameterized // tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND! // // Currently we support at most 50 types in a list, and at most 50 // type-parameterized tests in one type-parameterized test case. // Please contact googletestframework@googlegroups.com if you need // more. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ #include "gtest/internal/gtest-port.h" // #ifdef __GNUC__ is too general here. It is possible to use gcc without using // libstdc++ (which is where cxxabi.h comes from). # if GTEST_HAS_CXXABI_H_ # include # elif defined(__HP_aCC) # include # endif // GTEST_HASH_CXXABI_H_ namespace testing { namespace internal { // GetTypeName() returns a human-readable name of type T. // NB: This function is also used in Google Mock, so don't move it inside of // the typed-test-only section below. template std::string GetTypeName() { # if GTEST_HAS_RTTI const char* const name = typeid(T).name(); # if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC) int status = 0; // gcc's implementation of typeid(T).name() mangles the type name, // so we have to demangle it. # if GTEST_HAS_CXXABI_H_ using abi::__cxa_demangle; # endif // GTEST_HAS_CXXABI_H_ char* const readable_name = __cxa_demangle(name, 0, 0, &status); const std::string name_str(status == 0 ? readable_name : name); free(readable_name); return name_str; # else return name; # endif // GTEST_HAS_CXXABI_H_ || __HP_aCC # else return ""; # endif // GTEST_HAS_RTTI } #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P // AssertyTypeEq::type is defined iff T1 and T2 are the same // type. This can be used as a compile-time assertion to ensure that // two types are equal. template struct AssertTypeEq; template struct AssertTypeEq { typedef bool type; }; // A unique type used as the default value for the arguments of class // template Types. This allows us to simulate variadic templates // (e.g. Types, Type, and etc), which C++ doesn't // support directly. struct None {}; // The following family of struct and struct templates are used to // represent type lists. In particular, TypesN // represents a type list with N types (T1, T2, ..., and TN) in it. // Except for Types0, every struct in the family has two member types: // Head for the first type in the list, and Tail for the rest of the // list. // The empty type list. struct Types0 {}; // Type lists of length 1, 2, 3, and so on. template struct Types1 { typedef T1 Head; typedef Types0 Tail; }; template struct Types2 { typedef T1 Head; typedef Types1 Tail; }; template struct Types3 { typedef T1 Head; typedef Types2 Tail; }; template struct Types4 { typedef T1 Head; typedef Types3 Tail; }; template struct Types5 { typedef T1 Head; typedef Types4 Tail; }; template struct Types6 { typedef T1 Head; typedef Types5 Tail; }; template struct Types7 { typedef T1 Head; typedef Types6 Tail; }; template struct Types8 { typedef T1 Head; typedef Types7 Tail; }; template struct Types9 { typedef T1 Head; typedef Types8 Tail; }; template struct Types10 { typedef T1 Head; typedef Types9 Tail; }; template struct Types11 { typedef T1 Head; typedef Types10 Tail; }; template struct Types12 { typedef T1 Head; typedef Types11 Tail; }; template struct Types13 { typedef T1 Head; typedef Types12 Tail; }; template struct Types14 { typedef T1 Head; typedef Types13 Tail; }; template struct Types15 { typedef T1 Head; typedef Types14 Tail; }; template struct Types16 { typedef T1 Head; typedef Types15 Tail; }; template struct Types17 { typedef T1 Head; typedef Types16 Tail; }; template struct Types18 { typedef T1 Head; typedef Types17 Tail; }; template struct Types19 { typedef T1 Head; typedef Types18 Tail; }; template struct Types20 { typedef T1 Head; typedef Types19 Tail; }; template struct Types21 { typedef T1 Head; typedef Types20 Tail; }; template struct Types22 { typedef T1 Head; typedef Types21 Tail; }; template struct Types23 { typedef T1 Head; typedef Types22 Tail; }; template struct Types24 { typedef T1 Head; typedef Types23 Tail; }; template struct Types25 { typedef T1 Head; typedef Types24 Tail; }; template struct Types26 { typedef T1 Head; typedef Types25 Tail; }; template struct Types27 { typedef T1 Head; typedef Types26 Tail; }; template struct Types28 { typedef T1 Head; typedef Types27 Tail; }; template struct Types29 { typedef T1 Head; typedef Types28 Tail; }; template struct Types30 { typedef T1 Head; typedef Types29 Tail; }; template struct Types31 { typedef T1 Head; typedef Types30 Tail; }; template struct Types32 { typedef T1 Head; typedef Types31 Tail; }; template struct Types33 { typedef T1 Head; typedef Types32 Tail; }; template struct Types34 { typedef T1 Head; typedef Types33 Tail; }; template struct Types35 { typedef T1 Head; typedef Types34 Tail; }; template struct Types36 { typedef T1 Head; typedef Types35 Tail; }; template struct Types37 { typedef T1 Head; typedef Types36 Tail; }; template struct Types38 { typedef T1 Head; typedef Types37 Tail; }; template struct Types39 { typedef T1 Head; typedef Types38 Tail; }; template struct Types40 { typedef T1 Head; typedef Types39 Tail; }; template struct Types41 { typedef T1 Head; typedef Types40 Tail; }; template struct Types42 { typedef T1 Head; typedef Types41 Tail; }; template struct Types43 { typedef T1 Head; typedef Types42 Tail; }; template struct Types44 { typedef T1 Head; typedef Types43 Tail; }; template struct Types45 { typedef T1 Head; typedef Types44 Tail; }; template struct Types46 { typedef T1 Head; typedef Types45 Tail; }; template struct Types47 { typedef T1 Head; typedef Types46 Tail; }; template struct Types48 { typedef T1 Head; typedef Types47 Tail; }; template struct Types49 { typedef T1 Head; typedef Types48 Tail; }; template struct Types50 { typedef T1 Head; typedef Types49 Tail; }; } // namespace internal // We don't want to require the users to write TypesN<...> directly, // as that would require them to count the length. Types<...> is much // easier to write, but generates horrible messages when there is a // compiler error, as gcc insists on printing out each template // argument, even if it has the default value (this means Types // will appear as Types in the compiler // errors). // // Our solution is to combine the best part of the two approaches: a // user would write Types, and Google Test will translate // that to TypesN internally to make error messages // readable. The translation is done by the 'type' member of the // Types template. template struct Types { typedef internal::Types50 type; }; template <> struct Types { typedef internal::Types0 type; }; template struct Types { typedef internal::Types1 type; }; template struct Types { typedef internal::Types2 type; }; template struct Types { typedef internal::Types3 type; }; template struct Types { typedef internal::Types4 type; }; template struct Types { typedef internal::Types5 type; }; template struct Types { typedef internal::Types6 type; }; template struct Types { typedef internal::Types7 type; }; template struct Types { typedef internal::Types8 type; }; template struct Types { typedef internal::Types9 type; }; template struct Types { typedef internal::Types10 type; }; template struct Types { typedef internal::Types11 type; }; template struct Types { typedef internal::Types12 type; }; template struct Types { typedef internal::Types13 type; }; template struct Types { typedef internal::Types14 type; }; template struct Types { typedef internal::Types15 type; }; template struct Types { typedef internal::Types16 type; }; template struct Types { typedef internal::Types17 type; }; template struct Types { typedef internal::Types18 type; }; template struct Types { typedef internal::Types19 type; }; template struct Types { typedef internal::Types20 type; }; template struct Types { typedef internal::Types21 type; }; template struct Types { typedef internal::Types22 type; }; template struct Types { typedef internal::Types23 type; }; template struct Types { typedef internal::Types24 type; }; template struct Types { typedef internal::Types25 type; }; template struct Types { typedef internal::Types26 type; }; template struct Types { typedef internal::Types27 type; }; template struct Types { typedef internal::Types28 type; }; template struct Types { typedef internal::Types29 type; }; template struct Types { typedef internal::Types30 type; }; template struct Types { typedef internal::Types31 type; }; template struct Types { typedef internal::Types32 type; }; template struct Types { typedef internal::Types33 type; }; template struct Types { typedef internal::Types34 type; }; template struct Types { typedef internal::Types35 type; }; template struct Types { typedef internal::Types36 type; }; template struct Types { typedef internal::Types37 type; }; template struct Types { typedef internal::Types38 type; }; template struct Types { typedef internal::Types39 type; }; template struct Types { typedef internal::Types40 type; }; template struct Types { typedef internal::Types41 type; }; template struct Types { typedef internal::Types42 type; }; template struct Types { typedef internal::Types43 type; }; template struct Types { typedef internal::Types44 type; }; template struct Types { typedef internal::Types45 type; }; template struct Types { typedef internal::Types46 type; }; template struct Types { typedef internal::Types47 type; }; template struct Types { typedef internal::Types48 type; }; template struct Types { typedef internal::Types49 type; }; namespace internal { # define GTEST_TEMPLATE_ template class // The template "selector" struct TemplateSel is used to // represent Tmpl, which must be a class template with one type // parameter, as a type. TemplateSel::Bind::type is defined // as the type Tmpl. This allows us to actually instantiate the // template "selected" by TemplateSel. // // This trick is necessary for simulating typedef for class templates, // which C++ doesn't support directly. template struct TemplateSel { template struct Bind { typedef Tmpl type; }; }; # define GTEST_BIND_(TmplSel, T) \ TmplSel::template Bind::type // A unique struct template used as the default value for the // arguments of class template Templates. This allows us to simulate // variadic templates (e.g. Templates, Templates, // and etc), which C++ doesn't support directly. template struct NoneT {}; // The following family of struct and struct templates are used to // represent template lists. In particular, TemplatesN represents a list of N templates (T1, T2, ..., and TN). Except // for Templates0, every struct in the family has two member types: // Head for the selector of the first template in the list, and Tail // for the rest of the list. // The empty template list. struct Templates0 {}; // Template lists of length 1, 2, 3, and so on. template struct Templates1 { typedef TemplateSel Head; typedef Templates0 Tail; }; template struct Templates2 { typedef TemplateSel Head; typedef Templates1 Tail; }; template struct Templates3 { typedef TemplateSel Head; typedef Templates2 Tail; }; template struct Templates4 { typedef TemplateSel Head; typedef Templates3 Tail; }; template struct Templates5 { typedef TemplateSel Head; typedef Templates4 Tail; }; template struct Templates6 { typedef TemplateSel Head; typedef Templates5 Tail; }; template struct Templates7 { typedef TemplateSel Head; typedef Templates6 Tail; }; template struct Templates8 { typedef TemplateSel Head; typedef Templates7 Tail; }; template struct Templates9 { typedef TemplateSel Head; typedef Templates8 Tail; }; template struct Templates10 { typedef TemplateSel Head; typedef Templates9 Tail; }; template struct Templates11 { typedef TemplateSel Head; typedef Templates10 Tail; }; template struct Templates12 { typedef TemplateSel Head; typedef Templates11 Tail; }; template struct Templates13 { typedef TemplateSel Head; typedef Templates12 Tail; }; template struct Templates14 { typedef TemplateSel Head; typedef Templates13 Tail; }; template struct Templates15 { typedef TemplateSel Head; typedef Templates14 Tail; }; template struct Templates16 { typedef TemplateSel Head; typedef Templates15 Tail; }; template struct Templates17 { typedef TemplateSel Head; typedef Templates16 Tail; }; template struct Templates18 { typedef TemplateSel Head; typedef Templates17 Tail; }; template struct Templates19 { typedef TemplateSel Head; typedef Templates18 Tail; }; template struct Templates20 { typedef TemplateSel Head; typedef Templates19 Tail; }; template struct Templates21 { typedef TemplateSel Head; typedef Templates20 Tail; }; template struct Templates22 { typedef TemplateSel Head; typedef Templates21 Tail; }; template struct Templates23 { typedef TemplateSel Head; typedef Templates22 Tail; }; template struct Templates24 { typedef TemplateSel Head; typedef Templates23 Tail; }; template struct Templates25 { typedef TemplateSel Head; typedef Templates24 Tail; }; template struct Templates26 { typedef TemplateSel Head; typedef Templates25 Tail; }; template struct Templates27 { typedef TemplateSel Head; typedef Templates26 Tail; }; template struct Templates28 { typedef TemplateSel Head; typedef Templates27 Tail; }; template struct Templates29 { typedef TemplateSel Head; typedef Templates28 Tail; }; template struct Templates30 { typedef TemplateSel Head; typedef Templates29 Tail; }; template struct Templates31 { typedef TemplateSel Head; typedef Templates30 Tail; }; template struct Templates32 { typedef TemplateSel Head; typedef Templates31 Tail; }; template struct Templates33 { typedef TemplateSel Head; typedef Templates32 Tail; }; template struct Templates34 { typedef TemplateSel Head; typedef Templates33 Tail; }; template struct Templates35 { typedef TemplateSel Head; typedef Templates34 Tail; }; template struct Templates36 { typedef TemplateSel Head; typedef Templates35 Tail; }; template struct Templates37 { typedef TemplateSel Head; typedef Templates36 Tail; }; template struct Templates38 { typedef TemplateSel Head; typedef Templates37 Tail; }; template struct Templates39 { typedef TemplateSel Head; typedef Templates38 Tail; }; template struct Templates40 { typedef TemplateSel Head; typedef Templates39 Tail; }; template struct Templates41 { typedef TemplateSel Head; typedef Templates40 Tail; }; template struct Templates42 { typedef TemplateSel Head; typedef Templates41 Tail; }; template struct Templates43 { typedef TemplateSel Head; typedef Templates42 Tail; }; template struct Templates44 { typedef TemplateSel Head; typedef Templates43 Tail; }; template struct Templates45 { typedef TemplateSel Head; typedef Templates44 Tail; }; template struct Templates46 { typedef TemplateSel Head; typedef Templates45 Tail; }; template struct Templates47 { typedef TemplateSel Head; typedef Templates46 Tail; }; template struct Templates48 { typedef TemplateSel Head; typedef Templates47 Tail; }; template struct Templates49 { typedef TemplateSel Head; typedef Templates48 Tail; }; template struct Templates50 { typedef TemplateSel Head; typedef Templates49 Tail; }; // We don't want to require the users to write TemplatesN<...> directly, // as that would require them to count the length. Templates<...> is much // easier to write, but generates horrible messages when there is a // compiler error, as gcc insists on printing out each template // argument, even if it has the default value (this means Templates // will appear as Templates in the compiler // errors). // // Our solution is to combine the best part of the two approaches: a // user would write Templates, and Google Test will translate // that to TemplatesN internally to make error messages // readable. The translation is done by the 'type' member of the // Templates template. template struct Templates { typedef Templates50 type; }; template <> struct Templates { typedef Templates0 type; }; template struct Templates { typedef Templates1 type; }; template struct Templates { typedef Templates2 type; }; template struct Templates { typedef Templates3 type; }; template struct Templates { typedef Templates4 type; }; template struct Templates { typedef Templates5 type; }; template struct Templates { typedef Templates6 type; }; template struct Templates { typedef Templates7 type; }; template struct Templates { typedef Templates8 type; }; template struct Templates { typedef Templates9 type; }; template struct Templates { typedef Templates10 type; }; template struct Templates { typedef Templates11 type; }; template struct Templates { typedef Templates12 type; }; template struct Templates { typedef Templates13 type; }; template struct Templates { typedef Templates14 type; }; template struct Templates { typedef Templates15 type; }; template struct Templates { typedef Templates16 type; }; template struct Templates { typedef Templates17 type; }; template struct Templates { typedef Templates18 type; }; template struct Templates { typedef Templates19 type; }; template struct Templates { typedef Templates20 type; }; template struct Templates { typedef Templates21 type; }; template struct Templates { typedef Templates22 type; }; template struct Templates { typedef Templates23 type; }; template struct Templates { typedef Templates24 type; }; template struct Templates { typedef Templates25 type; }; template struct Templates { typedef Templates26 type; }; template struct Templates { typedef Templates27 type; }; template struct Templates { typedef Templates28 type; }; template struct Templates { typedef Templates29 type; }; template struct Templates { typedef Templates30 type; }; template struct Templates { typedef Templates31 type; }; template struct Templates { typedef Templates32 type; }; template struct Templates { typedef Templates33 type; }; template struct Templates { typedef Templates34 type; }; template struct Templates { typedef Templates35 type; }; template struct Templates { typedef Templates36 type; }; template struct Templates { typedef Templates37 type; }; template struct Templates { typedef Templates38 type; }; template struct Templates { typedef Templates39 type; }; template struct Templates { typedef Templates40 type; }; template struct Templates { typedef Templates41 type; }; template struct Templates { typedef Templates42 type; }; template struct Templates { typedef Templates43 type; }; template struct Templates { typedef Templates44 type; }; template struct Templates { typedef Templates45 type; }; template struct Templates { typedef Templates46 type; }; template struct Templates { typedef Templates47 type; }; template struct Templates { typedef Templates48 type; }; template struct Templates { typedef Templates49 type; }; // The TypeList template makes it possible to use either a single type // or a Types<...> list in TYPED_TEST_CASE() and // INSTANTIATE_TYPED_TEST_CASE_P(). template struct TypeList { typedef Types1 type; }; template struct TypeList > { typedef typename Types::type type; }; #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-param-util-generated.h0000644000175200017520000056726012277666257025113 00000000000000// This file was GENERATED by command: // pump.py gtest-param-util-generated.h.pump // DO NOT EDIT BY HAND!!! // Copyright 2008 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: vladl@google.com (Vlad Losev) // Type and function utilities for implementing parameterized tests. // This file is generated by a SCRIPT. DO NOT EDIT BY HAND! // // Currently Google Test supports at most 50 arguments in Values, // and at most 10 arguments in Combine. Please contact // googletestframework@googlegroups.com if you need more. // Please note that the number of arguments to Combine is limited // by the maximum arity of the implementation of tr1::tuple which is // currently set at 10. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ // scripts/fuse_gtest.py depends on gtest's own header being #included // *unconditionally*. Therefore these #includes cannot be moved // inside #if GTEST_HAS_PARAM_TEST. #include "gtest/internal/gtest-param-util.h" #include "gtest/internal/gtest-port.h" #if GTEST_HAS_PARAM_TEST namespace testing { // Forward declarations of ValuesIn(), which is implemented in // include/gtest/gtest-param-test.h. template internal::ParamGenerator< typename ::testing::internal::IteratorTraits::value_type> ValuesIn(ForwardIterator begin, ForwardIterator end); template internal::ParamGenerator ValuesIn(const T (&array)[N]); template internal::ParamGenerator ValuesIn( const Container& container); namespace internal { // Used in the Values() function to provide polymorphic capabilities. template class ValueArray1 { public: explicit ValueArray1(T1 v1) : v1_(v1) {} template operator ParamGenerator() const { return ValuesIn(&v1_, &v1_ + 1); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray1& other); const T1 v1_; }; template class ValueArray2 { public: ValueArray2(T1 v1, T2 v2) : v1_(v1), v2_(v2) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray2& other); const T1 v1_; const T2 v2_; }; template class ValueArray3 { public: ValueArray3(T1 v1, T2 v2, T3 v3) : v1_(v1), v2_(v2), v3_(v3) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray3& other); const T1 v1_; const T2 v2_; const T3 v3_; }; template class ValueArray4 { public: ValueArray4(T1 v1, T2 v2, T3 v3, T4 v4) : v1_(v1), v2_(v2), v3_(v3), v4_(v4) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray4& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; }; template class ValueArray5 { public: ValueArray5(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray5& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; }; template class ValueArray6 { public: ValueArray6(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray6& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; }; template class ValueArray7 { public: ValueArray7(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray7& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; }; template class ValueArray8 { public: ValueArray8(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray8& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; }; template class ValueArray9 { public: ValueArray9(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray9& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; }; template class ValueArray10 { public: ValueArray10(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray10& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; }; template class ValueArray11 { public: ValueArray11(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray11& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; }; template class ValueArray12 { public: ValueArray12(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray12& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; }; template class ValueArray13 { public: ValueArray13(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray13& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; }; template class ValueArray14 { public: ValueArray14(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray14& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; }; template class ValueArray15 { public: ValueArray15(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray15& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; }; template class ValueArray16 { public: ValueArray16(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray16& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; }; template class ValueArray17 { public: ValueArray17(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray17& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; }; template class ValueArray18 { public: ValueArray18(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray18& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; }; template class ValueArray19 { public: ValueArray19(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray19& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; }; template class ValueArray20 { public: ValueArray20(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray20& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; }; template class ValueArray21 { public: ValueArray21(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray21& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; }; template class ValueArray22 { public: ValueArray22(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray22& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; }; template class ValueArray23 { public: ValueArray23(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray23& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; }; template class ValueArray24 { public: ValueArray24(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray24& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; }; template class ValueArray25 { public: ValueArray25(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray25& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; }; template class ValueArray26 { public: ValueArray26(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray26& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; }; template class ValueArray27 { public: ValueArray27(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray27& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; }; template class ValueArray28 { public: ValueArray28(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray28& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; }; template class ValueArray29 { public: ValueArray29(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray29& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; }; template class ValueArray30 { public: ValueArray30(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray30& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; }; template class ValueArray31 { public: ValueArray31(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray31& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; }; template class ValueArray32 { public: ValueArray32(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray32& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; }; template class ValueArray33 { public: ValueArray33(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray33& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; }; template class ValueArray34 { public: ValueArray34(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray34& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; }; template class ValueArray35 { public: ValueArray35(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray35& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; }; template class ValueArray36 { public: ValueArray36(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray36& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; }; template class ValueArray37 { public: ValueArray37(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray37& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; }; template class ValueArray38 { public: ValueArray38(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray38& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; }; template class ValueArray39 { public: ValueArray39(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray39& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; }; template class ValueArray40 { public: ValueArray40(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray40& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; }; template class ValueArray41 { public: ValueArray41(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray41& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; }; template class ValueArray42 { public: ValueArray42(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray42& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; }; template class ValueArray43 { public: ValueArray43(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray43& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; }; template class ValueArray44 { public: ValueArray44(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_), static_cast(v44_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray44& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; const T44 v44_; }; template class ValueArray45 { public: ValueArray45(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_), static_cast(v44_), static_cast(v45_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray45& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; const T44 v44_; const T45 v45_; }; template class ValueArray46 { public: ValueArray46(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_), static_cast(v44_), static_cast(v45_), static_cast(v46_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray46& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; const T44 v44_; const T45 v45_; const T46 v46_; }; template class ValueArray47 { public: ValueArray47(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46), v47_(v47) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_), static_cast(v44_), static_cast(v45_), static_cast(v46_), static_cast(v47_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray47& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; const T44 v44_; const T45 v45_; const T46 v46_; const T47 v47_; }; template class ValueArray48 { public: ValueArray48(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46), v47_(v47), v48_(v48) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_), static_cast(v44_), static_cast(v45_), static_cast(v46_), static_cast(v47_), static_cast(v48_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray48& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; const T44 v44_; const T45 v45_; const T46 v46_; const T47 v47_; const T48 v48_; }; template class ValueArray49 { public: ValueArray49(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48, T49 v49) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46), v47_(v47), v48_(v48), v49_(v49) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_), static_cast(v44_), static_cast(v45_), static_cast(v46_), static_cast(v47_), static_cast(v48_), static_cast(v49_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray49& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; const T44 v44_; const T45 v45_; const T46 v46_; const T47 v47_; const T48 v48_; const T49 v49_; }; template class ValueArray50 { public: ValueArray50(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48, T49 v49, T50 v50) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46), v47_(v47), v48_(v48), v49_(v49), v50_(v50) {} template operator ParamGenerator() const { const T array[] = {static_cast(v1_), static_cast(v2_), static_cast(v3_), static_cast(v4_), static_cast(v5_), static_cast(v6_), static_cast(v7_), static_cast(v8_), static_cast(v9_), static_cast(v10_), static_cast(v11_), static_cast(v12_), static_cast(v13_), static_cast(v14_), static_cast(v15_), static_cast(v16_), static_cast(v17_), static_cast(v18_), static_cast(v19_), static_cast(v20_), static_cast(v21_), static_cast(v22_), static_cast(v23_), static_cast(v24_), static_cast(v25_), static_cast(v26_), static_cast(v27_), static_cast(v28_), static_cast(v29_), static_cast(v30_), static_cast(v31_), static_cast(v32_), static_cast(v33_), static_cast(v34_), static_cast(v35_), static_cast(v36_), static_cast(v37_), static_cast(v38_), static_cast(v39_), static_cast(v40_), static_cast(v41_), static_cast(v42_), static_cast(v43_), static_cast(v44_), static_cast(v45_), static_cast(v46_), static_cast(v47_), static_cast(v48_), static_cast(v49_), static_cast(v50_)}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray50& other); const T1 v1_; const T2 v2_; const T3 v3_; const T4 v4_; const T5 v5_; const T6 v6_; const T7 v7_; const T8 v8_; const T9 v9_; const T10 v10_; const T11 v11_; const T12 v12_; const T13 v13_; const T14 v14_; const T15 v15_; const T16 v16_; const T17 v17_; const T18 v18_; const T19 v19_; const T20 v20_; const T21 v21_; const T22 v22_; const T23 v23_; const T24 v24_; const T25 v25_; const T26 v26_; const T27 v27_; const T28 v28_; const T29 v29_; const T30 v30_; const T31 v31_; const T32 v32_; const T33 v33_; const T34 v34_; const T35 v35_; const T36 v36_; const T37 v37_; const T38 v38_; const T39 v39_; const T40 v40_; const T41 v41_; const T42 v42_; const T43 v43_; const T44 v44_; const T45 v45_; const T46 v46_; const T47 v47_; const T48 v48_; const T49 v49_; const T50 v50_; }; # if GTEST_HAS_COMBINE // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Generates values from the Cartesian product of values produced // by the argument generators. // template class CartesianProductGenerator2 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator2(const ParamGenerator& g1, const ParamGenerator& g2) : g1_(g1), g2_(g2) {} virtual ~CartesianProductGenerator2() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current2_; if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; ParamType current_value_; }; // class CartesianProductGenerator2::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator2& other); const ParamGenerator g1_; const ParamGenerator g2_; }; // class CartesianProductGenerator2 template class CartesianProductGenerator3 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator3(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3) : g1_(g1), g2_(g2), g3_(g3) {} virtual ~CartesianProductGenerator3() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current3_; if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; ParamType current_value_; }; // class CartesianProductGenerator3::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator3& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; }; // class CartesianProductGenerator3 template class CartesianProductGenerator4 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator4(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3, const ParamGenerator& g4) : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {} virtual ~CartesianProductGenerator4() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin(), g4_, g4_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), g4_, g4_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3, const ParamGenerator& g4, const typename ParamGenerator::iterator& current4) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3), begin4_(g4.begin()), end4_(g4.end()), current4_(current4) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current4_; if (current4_ == end4_) { current4_ = begin4_; ++current3_; } if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_ && current4_ == typed_other->current4_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_), begin4_(other.begin4_), end4_(other.end4_), current4_(other.current4_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_, *current4_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_ || current4_ == end4_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; const typename ParamGenerator::iterator begin4_; const typename ParamGenerator::iterator end4_; typename ParamGenerator::iterator current4_; ParamType current_value_; }; // class CartesianProductGenerator4::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator4& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; const ParamGenerator g4_; }; // class CartesianProductGenerator4 template class CartesianProductGenerator5 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator5(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3, const ParamGenerator& g4, const ParamGenerator& g5) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {} virtual ~CartesianProductGenerator5() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), g4_, g4_.end(), g5_, g5_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3, const ParamGenerator& g4, const typename ParamGenerator::iterator& current4, const ParamGenerator& g5, const typename ParamGenerator::iterator& current5) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3), begin4_(g4.begin()), end4_(g4.end()), current4_(current4), begin5_(g5.begin()), end5_(g5.end()), current5_(current5) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current5_; if (current5_ == end5_) { current5_ = begin5_; ++current4_; } if (current4_ == end4_) { current4_ = begin4_; ++current3_; } if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_ && current4_ == typed_other->current4_ && current5_ == typed_other->current5_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_), begin4_(other.begin4_), end4_(other.end4_), current4_(other.current4_), begin5_(other.begin5_), end5_(other.end5_), current5_(other.current5_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_, *current4_, *current5_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_ || current4_ == end4_ || current5_ == end5_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; const typename ParamGenerator::iterator begin4_; const typename ParamGenerator::iterator end4_; typename ParamGenerator::iterator current4_; const typename ParamGenerator::iterator begin5_; const typename ParamGenerator::iterator end5_; typename ParamGenerator::iterator current5_; ParamType current_value_; }; // class CartesianProductGenerator5::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator5& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; const ParamGenerator g4_; const ParamGenerator g5_; }; // class CartesianProductGenerator5 template class CartesianProductGenerator6 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator6(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3, const ParamGenerator& g4, const ParamGenerator& g5, const ParamGenerator& g6) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {} virtual ~CartesianProductGenerator6() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3, const ParamGenerator& g4, const typename ParamGenerator::iterator& current4, const ParamGenerator& g5, const typename ParamGenerator::iterator& current5, const ParamGenerator& g6, const typename ParamGenerator::iterator& current6) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3), begin4_(g4.begin()), end4_(g4.end()), current4_(current4), begin5_(g5.begin()), end5_(g5.end()), current5_(current5), begin6_(g6.begin()), end6_(g6.end()), current6_(current6) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current6_; if (current6_ == end6_) { current6_ = begin6_; ++current5_; } if (current5_ == end5_) { current5_ = begin5_; ++current4_; } if (current4_ == end4_) { current4_ = begin4_; ++current3_; } if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_ && current4_ == typed_other->current4_ && current5_ == typed_other->current5_ && current6_ == typed_other->current6_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_), begin4_(other.begin4_), end4_(other.end4_), current4_(other.current4_), begin5_(other.begin5_), end5_(other.end5_), current5_(other.current5_), begin6_(other.begin6_), end6_(other.end6_), current6_(other.current6_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_, *current4_, *current5_, *current6_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_ || current4_ == end4_ || current5_ == end5_ || current6_ == end6_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; const typename ParamGenerator::iterator begin4_; const typename ParamGenerator::iterator end4_; typename ParamGenerator::iterator current4_; const typename ParamGenerator::iterator begin5_; const typename ParamGenerator::iterator end5_; typename ParamGenerator::iterator current5_; const typename ParamGenerator::iterator begin6_; const typename ParamGenerator::iterator end6_; typename ParamGenerator::iterator current6_; ParamType current_value_; }; // class CartesianProductGenerator6::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator6& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; const ParamGenerator g4_; const ParamGenerator g5_; const ParamGenerator g6_; }; // class CartesianProductGenerator6 template class CartesianProductGenerator7 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator7(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3, const ParamGenerator& g4, const ParamGenerator& g5, const ParamGenerator& g6, const ParamGenerator& g7) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {} virtual ~CartesianProductGenerator7() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, g7_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3, const ParamGenerator& g4, const typename ParamGenerator::iterator& current4, const ParamGenerator& g5, const typename ParamGenerator::iterator& current5, const ParamGenerator& g6, const typename ParamGenerator::iterator& current6, const ParamGenerator& g7, const typename ParamGenerator::iterator& current7) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3), begin4_(g4.begin()), end4_(g4.end()), current4_(current4), begin5_(g5.begin()), end5_(g5.end()), current5_(current5), begin6_(g6.begin()), end6_(g6.end()), current6_(current6), begin7_(g7.begin()), end7_(g7.end()), current7_(current7) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current7_; if (current7_ == end7_) { current7_ = begin7_; ++current6_; } if (current6_ == end6_) { current6_ = begin6_; ++current5_; } if (current5_ == end5_) { current5_ = begin5_; ++current4_; } if (current4_ == end4_) { current4_ = begin4_; ++current3_; } if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_ && current4_ == typed_other->current4_ && current5_ == typed_other->current5_ && current6_ == typed_other->current6_ && current7_ == typed_other->current7_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_), begin4_(other.begin4_), end4_(other.end4_), current4_(other.current4_), begin5_(other.begin5_), end5_(other.end5_), current5_(other.current5_), begin6_(other.begin6_), end6_(other.end6_), current6_(other.current6_), begin7_(other.begin7_), end7_(other.end7_), current7_(other.current7_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_, *current4_, *current5_, *current6_, *current7_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_ || current4_ == end4_ || current5_ == end5_ || current6_ == end6_ || current7_ == end7_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; const typename ParamGenerator::iterator begin4_; const typename ParamGenerator::iterator end4_; typename ParamGenerator::iterator current4_; const typename ParamGenerator::iterator begin5_; const typename ParamGenerator::iterator end5_; typename ParamGenerator::iterator current5_; const typename ParamGenerator::iterator begin6_; const typename ParamGenerator::iterator end6_; typename ParamGenerator::iterator current6_; const typename ParamGenerator::iterator begin7_; const typename ParamGenerator::iterator end7_; typename ParamGenerator::iterator current7_; ParamType current_value_; }; // class CartesianProductGenerator7::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator7& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; const ParamGenerator g4_; const ParamGenerator g5_; const ParamGenerator g6_; const ParamGenerator g7_; }; // class CartesianProductGenerator7 template class CartesianProductGenerator8 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator8(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3, const ParamGenerator& g4, const ParamGenerator& g5, const ParamGenerator& g6, const ParamGenerator& g7, const ParamGenerator& g8) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8) {} virtual ~CartesianProductGenerator8() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, g7_.begin(), g8_, g8_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_, g8_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3, const ParamGenerator& g4, const typename ParamGenerator::iterator& current4, const ParamGenerator& g5, const typename ParamGenerator::iterator& current5, const ParamGenerator& g6, const typename ParamGenerator::iterator& current6, const ParamGenerator& g7, const typename ParamGenerator::iterator& current7, const ParamGenerator& g8, const typename ParamGenerator::iterator& current8) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3), begin4_(g4.begin()), end4_(g4.end()), current4_(current4), begin5_(g5.begin()), end5_(g5.end()), current5_(current5), begin6_(g6.begin()), end6_(g6.end()), current6_(current6), begin7_(g7.begin()), end7_(g7.end()), current7_(current7), begin8_(g8.begin()), end8_(g8.end()), current8_(current8) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current8_; if (current8_ == end8_) { current8_ = begin8_; ++current7_; } if (current7_ == end7_) { current7_ = begin7_; ++current6_; } if (current6_ == end6_) { current6_ = begin6_; ++current5_; } if (current5_ == end5_) { current5_ = begin5_; ++current4_; } if (current4_ == end4_) { current4_ = begin4_; ++current3_; } if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_ && current4_ == typed_other->current4_ && current5_ == typed_other->current5_ && current6_ == typed_other->current6_ && current7_ == typed_other->current7_ && current8_ == typed_other->current8_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_), begin4_(other.begin4_), end4_(other.end4_), current4_(other.current4_), begin5_(other.begin5_), end5_(other.end5_), current5_(other.current5_), begin6_(other.begin6_), end6_(other.end6_), current6_(other.current6_), begin7_(other.begin7_), end7_(other.end7_), current7_(other.current7_), begin8_(other.begin8_), end8_(other.end8_), current8_(other.current8_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_, *current4_, *current5_, *current6_, *current7_, *current8_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_ || current4_ == end4_ || current5_ == end5_ || current6_ == end6_ || current7_ == end7_ || current8_ == end8_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; const typename ParamGenerator::iterator begin4_; const typename ParamGenerator::iterator end4_; typename ParamGenerator::iterator current4_; const typename ParamGenerator::iterator begin5_; const typename ParamGenerator::iterator end5_; typename ParamGenerator::iterator current5_; const typename ParamGenerator::iterator begin6_; const typename ParamGenerator::iterator end6_; typename ParamGenerator::iterator current6_; const typename ParamGenerator::iterator begin7_; const typename ParamGenerator::iterator end7_; typename ParamGenerator::iterator current7_; const typename ParamGenerator::iterator begin8_; const typename ParamGenerator::iterator end8_; typename ParamGenerator::iterator current8_; ParamType current_value_; }; // class CartesianProductGenerator8::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator8& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; const ParamGenerator g4_; const ParamGenerator g5_; const ParamGenerator g6_; const ParamGenerator g7_; const ParamGenerator g8_; }; // class CartesianProductGenerator8 template class CartesianProductGenerator9 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator9(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3, const ParamGenerator& g4, const ParamGenerator& g5, const ParamGenerator& g6, const ParamGenerator& g7, const ParamGenerator& g8, const ParamGenerator& g9) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), g9_(g9) {} virtual ~CartesianProductGenerator9() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, g7_.begin(), g8_, g8_.begin(), g9_, g9_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_, g8_.end(), g9_, g9_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3, const ParamGenerator& g4, const typename ParamGenerator::iterator& current4, const ParamGenerator& g5, const typename ParamGenerator::iterator& current5, const ParamGenerator& g6, const typename ParamGenerator::iterator& current6, const ParamGenerator& g7, const typename ParamGenerator::iterator& current7, const ParamGenerator& g8, const typename ParamGenerator::iterator& current8, const ParamGenerator& g9, const typename ParamGenerator::iterator& current9) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3), begin4_(g4.begin()), end4_(g4.end()), current4_(current4), begin5_(g5.begin()), end5_(g5.end()), current5_(current5), begin6_(g6.begin()), end6_(g6.end()), current6_(current6), begin7_(g7.begin()), end7_(g7.end()), current7_(current7), begin8_(g8.begin()), end8_(g8.end()), current8_(current8), begin9_(g9.begin()), end9_(g9.end()), current9_(current9) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current9_; if (current9_ == end9_) { current9_ = begin9_; ++current8_; } if (current8_ == end8_) { current8_ = begin8_; ++current7_; } if (current7_ == end7_) { current7_ = begin7_; ++current6_; } if (current6_ == end6_) { current6_ = begin6_; ++current5_; } if (current5_ == end5_) { current5_ = begin5_; ++current4_; } if (current4_ == end4_) { current4_ = begin4_; ++current3_; } if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_ && current4_ == typed_other->current4_ && current5_ == typed_other->current5_ && current6_ == typed_other->current6_ && current7_ == typed_other->current7_ && current8_ == typed_other->current8_ && current9_ == typed_other->current9_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_), begin4_(other.begin4_), end4_(other.end4_), current4_(other.current4_), begin5_(other.begin5_), end5_(other.end5_), current5_(other.current5_), begin6_(other.begin6_), end6_(other.end6_), current6_(other.current6_), begin7_(other.begin7_), end7_(other.end7_), current7_(other.current7_), begin8_(other.begin8_), end8_(other.end8_), current8_(other.current8_), begin9_(other.begin9_), end9_(other.end9_), current9_(other.current9_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_, *current4_, *current5_, *current6_, *current7_, *current8_, *current9_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_ || current4_ == end4_ || current5_ == end5_ || current6_ == end6_ || current7_ == end7_ || current8_ == end8_ || current9_ == end9_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; const typename ParamGenerator::iterator begin4_; const typename ParamGenerator::iterator end4_; typename ParamGenerator::iterator current4_; const typename ParamGenerator::iterator begin5_; const typename ParamGenerator::iterator end5_; typename ParamGenerator::iterator current5_; const typename ParamGenerator::iterator begin6_; const typename ParamGenerator::iterator end6_; typename ParamGenerator::iterator current6_; const typename ParamGenerator::iterator begin7_; const typename ParamGenerator::iterator end7_; typename ParamGenerator::iterator current7_; const typename ParamGenerator::iterator begin8_; const typename ParamGenerator::iterator end8_; typename ParamGenerator::iterator current8_; const typename ParamGenerator::iterator begin9_; const typename ParamGenerator::iterator end9_; typename ParamGenerator::iterator current9_; ParamType current_value_; }; // class CartesianProductGenerator9::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator9& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; const ParamGenerator g4_; const ParamGenerator g5_; const ParamGenerator g6_; const ParamGenerator g7_; const ParamGenerator g8_; const ParamGenerator g9_; }; // class CartesianProductGenerator9 template class CartesianProductGenerator10 : public ParamGeneratorInterface< ::std::tr1::tuple > { public: typedef ::std::tr1::tuple ParamType; CartesianProductGenerator10(const ParamGenerator& g1, const ParamGenerator& g2, const ParamGenerator& g3, const ParamGenerator& g4, const ParamGenerator& g5, const ParamGenerator& g6, const ParamGenerator& g7, const ParamGenerator& g8, const ParamGenerator& g9, const ParamGenerator& g10) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), g9_(g9), g10_(g10) {} virtual ~CartesianProductGenerator10() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, g7_.begin(), g8_, g8_.begin(), g9_, g9_.begin(), g10_, g10_.begin()); } virtual ParamIteratorInterface* End() const { return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_, g8_.end(), g9_, g9_.end(), g10_, g10_.end()); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, const ParamGenerator& g1, const typename ParamGenerator::iterator& current1, const ParamGenerator& g2, const typename ParamGenerator::iterator& current2, const ParamGenerator& g3, const typename ParamGenerator::iterator& current3, const ParamGenerator& g4, const typename ParamGenerator::iterator& current4, const ParamGenerator& g5, const typename ParamGenerator::iterator& current5, const ParamGenerator& g6, const typename ParamGenerator::iterator& current6, const ParamGenerator& g7, const typename ParamGenerator::iterator& current7, const ParamGenerator& g8, const typename ParamGenerator::iterator& current8, const ParamGenerator& g9, const typename ParamGenerator::iterator& current9, const ParamGenerator& g10, const typename ParamGenerator::iterator& current10) : base_(base), begin1_(g1.begin()), end1_(g1.end()), current1_(current1), begin2_(g2.begin()), end2_(g2.end()), current2_(current2), begin3_(g3.begin()), end3_(g3.end()), current3_(current3), begin4_(g4.begin()), end4_(g4.end()), current4_(current4), begin5_(g5.begin()), end5_(g5.end()), current5_(current5), begin6_(g6.begin()), end6_(g6.end()), current6_(current6), begin7_(g7.begin()), end7_(g7.end()), current7_(current7), begin8_(g8.begin()), end8_(g8.end()), current8_(current8), begin9_(g9.begin()), end9_(g9.end()), current9_(current9), begin10_(g10.begin()), end10_(g10.end()), current10_(current10) { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current10_; if (current10_ == end10_) { current10_ = begin10_; ++current9_; } if (current9_ == end9_) { current9_ = begin9_; ++current8_; } if (current8_ == end8_) { current8_ = begin8_; ++current7_; } if (current7_ == end7_) { current7_ = begin7_; ++current6_; } if (current6_ == end6_) { current6_ = begin6_; ++current5_; } if (current5_ == end5_) { current5_ = begin5_; ++current4_; } if (current4_ == end4_) { current4_ = begin4_; ++current3_; } if (current3_ == end3_) { current3_ = begin3_; ++current2_; } if (current2_ == end2_) { current2_ = begin2_; ++current1_; } ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ( current1_ == typed_other->current1_ && current2_ == typed_other->current2_ && current3_ == typed_other->current3_ && current4_ == typed_other->current4_ && current5_ == typed_other->current5_ && current6_ == typed_other->current6_ && current7_ == typed_other->current7_ && current8_ == typed_other->current8_ && current9_ == typed_other->current9_ && current10_ == typed_other->current10_); } private: Iterator(const Iterator& other) : base_(other.base_), begin1_(other.begin1_), end1_(other.end1_), current1_(other.current1_), begin2_(other.begin2_), end2_(other.end2_), current2_(other.current2_), begin3_(other.begin3_), end3_(other.end3_), current3_(other.current3_), begin4_(other.begin4_), end4_(other.end4_), current4_(other.current4_), begin5_(other.begin5_), end5_(other.end5_), current5_(other.current5_), begin6_(other.begin6_), end6_(other.end6_), current6_(other.current6_), begin7_(other.begin7_), end7_(other.end7_), current7_(other.current7_), begin8_(other.begin8_), end8_(other.end8_), current8_(other.current8_), begin9_(other.begin9_), end9_(other.end9_), current9_(other.current9_), begin10_(other.begin10_), end10_(other.end10_), current10_(other.current10_) { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType(*current1_, *current2_, *current3_, *current4_, *current5_, *current6_, *current7_, *current8_, *current9_, *current10_); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return current1_ == end1_ || current2_ == end2_ || current3_ == end3_ || current4_ == end4_ || current5_ == end5_ || current6_ == end6_ || current7_ == end7_ || current8_ == end8_ || current9_ == end9_ || current10_ == end10_; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. const typename ParamGenerator::iterator begin1_; const typename ParamGenerator::iterator end1_; typename ParamGenerator::iterator current1_; const typename ParamGenerator::iterator begin2_; const typename ParamGenerator::iterator end2_; typename ParamGenerator::iterator current2_; const typename ParamGenerator::iterator begin3_; const typename ParamGenerator::iterator end3_; typename ParamGenerator::iterator current3_; const typename ParamGenerator::iterator begin4_; const typename ParamGenerator::iterator end4_; typename ParamGenerator::iterator current4_; const typename ParamGenerator::iterator begin5_; const typename ParamGenerator::iterator end5_; typename ParamGenerator::iterator current5_; const typename ParamGenerator::iterator begin6_; const typename ParamGenerator::iterator end6_; typename ParamGenerator::iterator current6_; const typename ParamGenerator::iterator begin7_; const typename ParamGenerator::iterator end7_; typename ParamGenerator::iterator current7_; const typename ParamGenerator::iterator begin8_; const typename ParamGenerator::iterator end8_; typename ParamGenerator::iterator current8_; const typename ParamGenerator::iterator begin9_; const typename ParamGenerator::iterator end9_; typename ParamGenerator::iterator current9_; const typename ParamGenerator::iterator begin10_; const typename ParamGenerator::iterator end10_; typename ParamGenerator::iterator current10_; ParamType current_value_; }; // class CartesianProductGenerator10::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator10& other); const ParamGenerator g1_; const ParamGenerator g2_; const ParamGenerator g3_; const ParamGenerator g4_; const ParamGenerator g5_; const ParamGenerator g6_; const ParamGenerator g7_; const ParamGenerator g8_; const ParamGenerator g9_; const ParamGenerator g10_; }; // class CartesianProductGenerator10 // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Helper classes providing Combine() with polymorphic features. They allow // casting CartesianProductGeneratorN to ParamGenerator if T is // convertible to U. // template class CartesianProductHolder2 { public: CartesianProductHolder2(const Generator1& g1, const Generator2& g2) : g1_(g1), g2_(g2) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator2( static_cast >(g1_), static_cast >(g2_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder2& other); const Generator1 g1_; const Generator2 g2_; }; // class CartesianProductHolder2 template class CartesianProductHolder3 { public: CartesianProductHolder3(const Generator1& g1, const Generator2& g2, const Generator3& g3) : g1_(g1), g2_(g2), g3_(g3) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator3( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder3& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; }; // class CartesianProductHolder3 template class CartesianProductHolder4 { public: CartesianProductHolder4(const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4) : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator4( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_), static_cast >(g4_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder4& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; const Generator4 g4_; }; // class CartesianProductHolder4 template class CartesianProductHolder5 { public: CartesianProductHolder5(const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator5( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_), static_cast >(g4_), static_cast >(g5_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder5& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; const Generator4 g4_; const Generator5 g5_; }; // class CartesianProductHolder5 template class CartesianProductHolder6 { public: CartesianProductHolder6(const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator6( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_), static_cast >(g4_), static_cast >(g5_), static_cast >(g6_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder6& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; const Generator4 g4_; const Generator5 g5_; const Generator6 g6_; }; // class CartesianProductHolder6 template class CartesianProductHolder7 { public: CartesianProductHolder7(const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator7( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_), static_cast >(g4_), static_cast >(g5_), static_cast >(g6_), static_cast >(g7_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder7& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; const Generator4 g4_; const Generator5 g5_; const Generator6 g6_; const Generator7 g7_; }; // class CartesianProductHolder7 template class CartesianProductHolder8 { public: CartesianProductHolder8(const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7, const Generator8& g8) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator8( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_), static_cast >(g4_), static_cast >(g5_), static_cast >(g6_), static_cast >(g7_), static_cast >(g8_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder8& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; const Generator4 g4_; const Generator5 g5_; const Generator6 g6_; const Generator7 g7_; const Generator8 g8_; }; // class CartesianProductHolder8 template class CartesianProductHolder9 { public: CartesianProductHolder9(const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7, const Generator8& g8, const Generator9& g9) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), g9_(g9) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator9( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_), static_cast >(g4_), static_cast >(g5_), static_cast >(g6_), static_cast >(g7_), static_cast >(g8_), static_cast >(g9_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder9& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; const Generator4 g4_; const Generator5 g5_; const Generator6 g6_; const Generator7 g7_; const Generator8 g8_; const Generator9 g9_; }; // class CartesianProductHolder9 template class CartesianProductHolder10 { public: CartesianProductHolder10(const Generator1& g1, const Generator2& g2, const Generator3& g3, const Generator4& g4, const Generator5& g5, const Generator6& g6, const Generator7& g7, const Generator8& g8, const Generator9& g9, const Generator10& g10) : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), g9_(g9), g10_(g10) {} template operator ParamGenerator< ::std::tr1::tuple >() const { return ParamGenerator< ::std::tr1::tuple >( new CartesianProductGenerator10( static_cast >(g1_), static_cast >(g2_), static_cast >(g3_), static_cast >(g4_), static_cast >(g5_), static_cast >(g6_), static_cast >(g7_), static_cast >(g8_), static_cast >(g9_), static_cast >(g10_))); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder10& other); const Generator1 g1_; const Generator2 g2_; const Generator3 g3_; const Generator4 g4_; const Generator5 g5_; const Generator6 g6_; const Generator7 g7_; const Generator8 g8_; const Generator9 g9_; const Generator10 g10_; }; // class CartesianProductHolder10 # endif // GTEST_HAS_COMBINE } // namespace internal } // namespace testing #endif // GTEST_HAS_PARAM_TEST #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-port.h0000644000175200017520000020627412277666257022063 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: wan@google.com (Zhanyong Wan) // // Low-level types and utilities for porting Google Test to various // platforms. They are subject to change without notice. DO NOT USE // THEM IN USER CODE. // // This file is fundamental to Google Test. All other Google Test source // files are expected to #include this. Therefore, it cannot #include // any other Google Test header. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_ // The user can define the following macros in the build script to // control Google Test's behavior. If the user doesn't define a macro // in this list, Google Test will define it. // // GTEST_HAS_CLONE - Define it to 1/0 to indicate that clone(2) // is/isn't available. // GTEST_HAS_EXCEPTIONS - Define it to 1/0 to indicate that exceptions // are enabled. // GTEST_HAS_GLOBAL_STRING - Define it to 1/0 to indicate that ::string // is/isn't available (some systems define // ::string, which is different to std::string). // GTEST_HAS_GLOBAL_WSTRING - Define it to 1/0 to indicate that ::string // is/isn't available (some systems define // ::wstring, which is different to std::wstring). // GTEST_HAS_POSIX_RE - Define it to 1/0 to indicate that POSIX regular // expressions are/aren't available. // GTEST_HAS_PTHREAD - Define it to 1/0 to indicate that // is/isn't available. // GTEST_HAS_RTTI - Define it to 1/0 to indicate that RTTI is/isn't // enabled. // GTEST_HAS_STD_WSTRING - Define it to 1/0 to indicate that // std::wstring does/doesn't work (Google Test can // be used where std::wstring is unavailable). // GTEST_HAS_TR1_TUPLE - Define it to 1/0 to indicate tr1::tuple // is/isn't available. // GTEST_HAS_SEH - Define it to 1/0 to indicate whether the // compiler supports Microsoft's "Structured // Exception Handling". // GTEST_HAS_STREAM_REDIRECTION // - Define it to 1/0 to indicate whether the // platform supports I/O stream redirection using // dup() and dup2(). // GTEST_USE_OWN_TR1_TUPLE - Define it to 1/0 to indicate whether Google // Test's own tr1 tuple implementation should be // used. Unused when the user sets // GTEST_HAS_TR1_TUPLE to 0. // GTEST_LANG_CXX11 - Define it to 1/0 to indicate that Google Test // is building in C++11/C++98 mode. // GTEST_LINKED_AS_SHARED_LIBRARY // - Define to 1 when compiling tests that use // Google Test as a shared library (known as // DLL on Windows). // GTEST_CREATE_SHARED_LIBRARY // - Define to 1 when compiling Google Test itself // as a shared library. // This header defines the following utilities: // // Macros indicating the current platform (defined to 1 if compiled on // the given platform; otherwise undefined): // GTEST_OS_AIX - IBM AIX // GTEST_OS_CYGWIN - Cygwin // GTEST_OS_HPUX - HP-UX // GTEST_OS_LINUX - Linux // GTEST_OS_LINUX_ANDROID - Google Android // GTEST_OS_MAC - Mac OS X // GTEST_OS_IOS - iOS // GTEST_OS_IOS_SIMULATOR - iOS simulator // GTEST_OS_NACL - Google Native Client (NaCl) // GTEST_OS_OPENBSD - OpenBSD // GTEST_OS_QNX - QNX // GTEST_OS_SOLARIS - Sun Solaris // GTEST_OS_SYMBIAN - Symbian // GTEST_OS_WINDOWS - Windows (Desktop, MinGW, or Mobile) // GTEST_OS_WINDOWS_DESKTOP - Windows Desktop // GTEST_OS_WINDOWS_MINGW - MinGW // GTEST_OS_WINDOWS_MOBILE - Windows Mobile // GTEST_OS_ZOS - z/OS // // Among the platforms, Cygwin, Linux, Max OS X, and Windows have the // most stable support. Since core members of the Google Test project // don't have access to other platforms, support for them may be less // stable. If you notice any problems on your platform, please notify // googletestframework@googlegroups.com (patches for fixing them are // even more welcome!). // // Note that it is possible that none of the GTEST_OS_* macros are defined. // // Macros indicating available Google Test features (defined to 1 if // the corresponding feature is supported; otherwise undefined): // GTEST_HAS_COMBINE - the Combine() function (for value-parameterized // tests) // GTEST_HAS_DEATH_TEST - death tests // GTEST_HAS_PARAM_TEST - value-parameterized tests // GTEST_HAS_TYPED_TEST - typed tests // GTEST_HAS_TYPED_TEST_P - type-parameterized tests // GTEST_USES_POSIX_RE - enhanced POSIX regex is used. Do not confuse with // GTEST_HAS_POSIX_RE (see above) which users can // define themselves. // GTEST_USES_SIMPLE_RE - our own simple regex is used; // the above two are mutually exclusive. // GTEST_CAN_COMPARE_NULL - accepts untyped NULL in EXPECT_EQ(). // // Macros for basic C++ coding: // GTEST_AMBIGUOUS_ELSE_BLOCKER_ - for disabling a gcc warning. // GTEST_ATTRIBUTE_UNUSED_ - declares that a class' instances or a // variable don't have to be used. // GTEST_DISALLOW_ASSIGN_ - disables operator=. // GTEST_DISALLOW_COPY_AND_ASSIGN_ - disables copy ctor and operator=. // GTEST_MUST_USE_RESULT_ - declares that a function's result must be used. // // Synchronization: // Mutex, MutexLock, ThreadLocal, GetThreadCount() // - synchronization primitives. // GTEST_IS_THREADSAFE - defined to 1 to indicate that the above // synchronization primitives have real implementations // and Google Test is thread-safe; or 0 otherwise. // // Template meta programming: // is_pointer - as in TR1; needed on Symbian and IBM XL C/C++ only. // IteratorTraits - partial implementation of std::iterator_traits, which // is not available in libCstd when compiled with Sun C++. // // Smart pointers: // scoped_ptr - as in TR2. // // Regular expressions: // RE - a simple regular expression class using the POSIX // Extended Regular Expression syntax on UNIX-like // platforms, or a reduced regular exception syntax on // other platforms, including Windows. // // Logging: // GTEST_LOG_() - logs messages at the specified severity level. // LogToStderr() - directs all log messages to stderr. // FlushInfoLog() - flushes informational log messages. // // Stdout and stderr capturing: // CaptureStdout() - starts capturing stdout. // GetCapturedStdout() - stops capturing stdout and returns the captured // string. // CaptureStderr() - starts capturing stderr. // GetCapturedStderr() - stops capturing stderr and returns the captured // string. // // Integer types: // TypeWithSize - maps an integer to a int type. // Int32, UInt32, Int64, UInt64, TimeInMillis // - integers of known sizes. // BiggestInt - the biggest signed integer type. // // Command-line utilities: // GTEST_FLAG() - references a flag. // GTEST_DECLARE_*() - declares a flag. // GTEST_DEFINE_*() - defines a flag. // GetInjectableArgvs() - returns the command line as a vector of strings. // // Environment variable utilities: // GetEnv() - gets the value of an environment variable. // BoolFromGTestEnv() - parses a bool environment variable. // Int32FromGTestEnv() - parses an Int32 environment variable. // StringFromGTestEnv() - parses a string environment variable. #include // for isspace, etc #include // for ptrdiff_t #include #include #include #ifndef _WIN32_WCE # include # include #endif // !_WIN32_WCE #if defined __APPLE__ # include # include #endif #include // NOLINT #include // NOLINT #include // NOLINT #define GTEST_DEV_EMAIL_ "googletestframework@@googlegroups.com" #define GTEST_FLAG_PREFIX_ "gtest_" #define GTEST_FLAG_PREFIX_DASH_ "gtest-" #define GTEST_FLAG_PREFIX_UPPER_ "GTEST_" #define GTEST_NAME_ "Google Test" #define GTEST_PROJECT_URL_ "http://code.google.com/p/googletest/" // Determines the version of gcc that is used to compile this. #ifdef __GNUC__ // 40302 means version 4.3.2. # define GTEST_GCC_VER_ \ (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__) #endif // __GNUC__ // Determines the platform on which Google Test is compiled. #ifdef __CYGWIN__ # define GTEST_OS_CYGWIN 1 #elif defined __SYMBIAN32__ # define GTEST_OS_SYMBIAN 1 #elif defined _WIN32 # define GTEST_OS_WINDOWS 1 # ifdef _WIN32_WCE # define GTEST_OS_WINDOWS_MOBILE 1 # elif defined(__MINGW__) || defined(__MINGW32__) # define GTEST_OS_WINDOWS_MINGW 1 # else # define GTEST_OS_WINDOWS_DESKTOP 1 # endif // _WIN32_WCE #elif defined __APPLE__ # define GTEST_OS_MAC 1 # if TARGET_OS_IPHONE # define GTEST_OS_IOS 1 # if TARGET_IPHONE_SIMULATOR # define GTEST_OS_IOS_SIMULATOR 1 # endif # endif #elif defined __linux__ # define GTEST_OS_LINUX 1 # if defined __ANDROID__ # define GTEST_OS_LINUX_ANDROID 1 # endif #elif defined __MVS__ # define GTEST_OS_ZOS 1 #elif defined(__sun) && defined(__SVR4) # define GTEST_OS_SOLARIS 1 #elif defined(_AIX) # define GTEST_OS_AIX 1 #elif defined(__hpux) # define GTEST_OS_HPUX 1 #elif defined __native_client__ # define GTEST_OS_NACL 1 #elif defined __OpenBSD__ # define GTEST_OS_OPENBSD 1 #elif defined __QNX__ # define GTEST_OS_QNX 1 #endif // __CYGWIN__ #ifndef GTEST_LANG_CXX11 // gcc and clang define __GXX_EXPERIMENTAL_CXX0X__ when // -std={c,gnu}++{0x,11} is passed. The C++11 standard specifies a // value for __cplusplus, and recent versions of clang, gcc, and // probably other compilers set that too in C++11 mode. # if __GXX_EXPERIMENTAL_CXX0X__ || __cplusplus >= 201103L // Compiling in at least C++11 mode. # define GTEST_LANG_CXX11 1 # else # define GTEST_LANG_CXX11 0 # endif #endif // Brings in definitions for functions used in the testing::internal::posix // namespace (read, write, close, chdir, isatty, stat). We do not currently // use them on Windows Mobile. #if !GTEST_OS_WINDOWS // This assumes that non-Windows OSes provide unistd.h. For OSes where this // is not the case, we need to include headers that provide the functions // mentioned above. # include # include #elif !GTEST_OS_WINDOWS_MOBILE # include # include #endif #if GTEST_OS_LINUX_ANDROID // Used to define __ANDROID_API__ matching the target NDK API level. # include // NOLINT #endif // Defines this to true iff Google Test can use POSIX regular expressions. #ifndef GTEST_HAS_POSIX_RE # if GTEST_OS_LINUX_ANDROID // On Android, is only available starting with Gingerbread. # define GTEST_HAS_POSIX_RE (__ANDROID_API__ >= 9) # else # define GTEST_HAS_POSIX_RE (!GTEST_OS_WINDOWS) # endif #endif #if GTEST_HAS_POSIX_RE // On some platforms, needs someone to define size_t, and // won't compile otherwise. We can #include it here as we already // included , which is guaranteed to define size_t through // . # include // NOLINT # define GTEST_USES_POSIX_RE 1 #elif GTEST_OS_WINDOWS // is not available on Windows. Use our own simple regex // implementation instead. # define GTEST_USES_SIMPLE_RE 1 #else // may not be available on this platform. Use our own // simple regex implementation instead. # define GTEST_USES_SIMPLE_RE 1 #endif // GTEST_HAS_POSIX_RE #ifndef GTEST_HAS_EXCEPTIONS // The user didn't tell us whether exceptions are enabled, so we need // to figure it out. # if defined(_MSC_VER) || defined(__BORLANDC__) // MSVC's and C++Builder's implementations of the STL use the _HAS_EXCEPTIONS // macro to enable exceptions, so we'll do the same. // Assumes that exceptions are enabled by default. # ifndef _HAS_EXCEPTIONS # define _HAS_EXCEPTIONS 1 # endif // _HAS_EXCEPTIONS # define GTEST_HAS_EXCEPTIONS _HAS_EXCEPTIONS # elif defined(__GNUC__) && __EXCEPTIONS // gcc defines __EXCEPTIONS to 1 iff exceptions are enabled. # define GTEST_HAS_EXCEPTIONS 1 # elif defined(__SUNPRO_CC) // Sun Pro CC supports exceptions. However, there is no compile-time way of // detecting whether they are enabled or not. Therefore, we assume that // they are enabled unless the user tells us otherwise. # define GTEST_HAS_EXCEPTIONS 1 # elif defined(__IBMCPP__) && __EXCEPTIONS // xlC defines __EXCEPTIONS to 1 iff exceptions are enabled. # define GTEST_HAS_EXCEPTIONS 1 # elif defined(__HP_aCC) // Exception handling is in effect by default in HP aCC compiler. It has to // be turned of by +noeh compiler option if desired. # define GTEST_HAS_EXCEPTIONS 1 # else // For other compilers, we assume exceptions are disabled to be // conservative. # define GTEST_HAS_EXCEPTIONS 0 # endif // defined(_MSC_VER) || defined(__BORLANDC__) #endif // GTEST_HAS_EXCEPTIONS #if !defined(GTEST_HAS_STD_STRING) // Even though we don't use this macro any longer, we keep it in case // some clients still depend on it. # define GTEST_HAS_STD_STRING 1 #elif !GTEST_HAS_STD_STRING // The user told us that ::std::string isn't available. # error "Google Test cannot be used where ::std::string isn't available." #endif // !defined(GTEST_HAS_STD_STRING) #ifndef GTEST_HAS_GLOBAL_STRING // The user didn't tell us whether ::string is available, so we need // to figure it out. # define GTEST_HAS_GLOBAL_STRING 0 #endif // GTEST_HAS_GLOBAL_STRING #ifndef GTEST_HAS_STD_WSTRING // The user didn't tell us whether ::std::wstring is available, so we need // to figure it out. // TODO(wan@google.com): uses autoconf to detect whether ::std::wstring // is available. // Cygwin 1.7 and below doesn't support ::std::wstring. // Solaris' libc++ doesn't support it either. Android has // no support for it at least as recent as Froyo (2.2). # define GTEST_HAS_STD_WSTRING \ (!(GTEST_OS_LINUX_ANDROID || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS)) #endif // GTEST_HAS_STD_WSTRING #ifndef GTEST_HAS_GLOBAL_WSTRING // The user didn't tell us whether ::wstring is available, so we need // to figure it out. # define GTEST_HAS_GLOBAL_WSTRING \ (GTEST_HAS_STD_WSTRING && GTEST_HAS_GLOBAL_STRING) #endif // GTEST_HAS_GLOBAL_WSTRING // Determines whether RTTI is available. #ifndef GTEST_HAS_RTTI // The user didn't tell us whether RTTI is enabled, so we need to // figure it out. # ifdef _MSC_VER # ifdef _CPPRTTI // MSVC defines this macro iff RTTI is enabled. # define GTEST_HAS_RTTI 1 # else # define GTEST_HAS_RTTI 0 # endif // Starting with version 4.3.2, gcc defines __GXX_RTTI iff RTTI is enabled. # elif defined(__GNUC__) && (GTEST_GCC_VER_ >= 40302) # ifdef __GXX_RTTI // When building against STLport with the Android NDK and with // -frtti -fno-exceptions, the build fails at link time with undefined // references to __cxa_bad_typeid. Note sure if STL or toolchain bug, // so disable RTTI when detected. # if GTEST_OS_LINUX_ANDROID && defined(_STLPORT_MAJOR) && \ !defined(__EXCEPTIONS) # define GTEST_HAS_RTTI 0 # else # define GTEST_HAS_RTTI 1 # endif // GTEST_OS_LINUX_ANDROID && __STLPORT_MAJOR && !__EXCEPTIONS # else # define GTEST_HAS_RTTI 0 # endif // __GXX_RTTI // Clang defines __GXX_RTTI starting with version 3.0, but its manual recommends // using has_feature instead. has_feature(cxx_rtti) is supported since 2.7, the // first version with C++ support. # elif defined(__clang__) # define GTEST_HAS_RTTI __has_feature(cxx_rtti) // Starting with version 9.0 IBM Visual Age defines __RTTI_ALL__ to 1 if // both the typeid and dynamic_cast features are present. # elif defined(__IBMCPP__) && (__IBMCPP__ >= 900) # ifdef __RTTI_ALL__ # define GTEST_HAS_RTTI 1 # else # define GTEST_HAS_RTTI 0 # endif # else // For all other compilers, we assume RTTI is enabled. # define GTEST_HAS_RTTI 1 # endif // _MSC_VER #endif // GTEST_HAS_RTTI // It's this header's responsibility to #include when RTTI // is enabled. #if GTEST_HAS_RTTI # include #endif // Determines whether Google Test can use the pthreads library. #ifndef GTEST_HAS_PTHREAD // The user didn't tell us explicitly, so we assume pthreads support is // available on Linux and Mac. // // To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0 // to your compiler flags. # define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX \ || GTEST_OS_QNX) #endif // GTEST_HAS_PTHREAD #if GTEST_HAS_PTHREAD // gtest-port.h guarantees to #include when GTEST_HAS_PTHREAD is // true. # include // NOLINT // For timespec and nanosleep, used below. # include // NOLINT #endif // Determines whether Google Test can use tr1/tuple. You can define // this macro to 0 to prevent Google Test from using tuple (any // feature depending on tuple with be disabled in this mode). #ifndef GTEST_HAS_TR1_TUPLE # if GTEST_OS_LINUX_ANDROID && defined(_STLPORT_MAJOR) // STLport, provided with the Android NDK, has neither or . # define GTEST_HAS_TR1_TUPLE 0 # else // The user didn't tell us not to do it, so we assume it's OK. # define GTEST_HAS_TR1_TUPLE 1 # endif #endif // GTEST_HAS_TR1_TUPLE // Determines whether Google Test's own tr1 tuple implementation // should be used. #ifndef GTEST_USE_OWN_TR1_TUPLE // The user didn't tell us, so we need to figure it out. // We use our own TR1 tuple if we aren't sure the user has an // implementation of it already. At this time, libstdc++ 4.0.0+ and // MSVC 2010 are the only mainstream standard libraries that come // with a TR1 tuple implementation. NVIDIA's CUDA NVCC compiler // pretends to be GCC by defining __GNUC__ and friends, but cannot // compile GCC's tuple implementation. MSVC 2008 (9.0) provides TR1 // tuple in a 323 MB Feature Pack download, which we cannot assume the // user has. QNX's QCC compiler is a modified GCC but it doesn't // support TR1 tuple. libc++ only provides std::tuple, in C++11 mode, // and it can be used with some compilers that define __GNUC__. # if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000) \ && !GTEST_OS_QNX && !defined(_LIBCPP_VERSION)) || _MSC_VER >= 1600 # define GTEST_ENV_HAS_TR1_TUPLE_ 1 # endif // C++11 specifies that provides std::tuple. Use that if gtest is used // in C++11 mode and libstdc++ isn't very old (binaries targeting OS X 10.6 // can build with clang but need to use gcc4.2's libstdc++). # if GTEST_LANG_CXX11 && (!defined(__GLIBCXX__) || __GLIBCXX__ > 20110325) # define GTEST_ENV_HAS_STD_TUPLE_ 1 # endif # if GTEST_ENV_HAS_TR1_TUPLE_ || GTEST_ENV_HAS_STD_TUPLE_ # define GTEST_USE_OWN_TR1_TUPLE 0 # else # define GTEST_USE_OWN_TR1_TUPLE 1 # endif #endif // GTEST_USE_OWN_TR1_TUPLE // To avoid conditional compilation everywhere, we make it // gtest-port.h's responsibility to #include the header implementing // tr1/tuple. #if GTEST_HAS_TR1_TUPLE # if GTEST_USE_OWN_TR1_TUPLE # include "gtest/internal/gtest-tuple.h" # elif GTEST_ENV_HAS_STD_TUPLE_ # include // C++11 puts its tuple into the ::std namespace rather than // ::std::tr1. gtest expects tuple to live in ::std::tr1, so put it there. // This causes undefined behavior, but supported compilers react in // the way we intend. namespace std { namespace tr1 { using ::std::get; using ::std::make_tuple; using ::std::tuple; using ::std::tuple_element; using ::std::tuple_size; } } # elif GTEST_OS_SYMBIAN // On Symbian, BOOST_HAS_TR1_TUPLE causes Boost's TR1 tuple library to // use STLport's tuple implementation, which unfortunately doesn't // work as the copy of STLport distributed with Symbian is incomplete. // By making sure BOOST_HAS_TR1_TUPLE is undefined, we force Boost to // use its own tuple implementation. # ifdef BOOST_HAS_TR1_TUPLE # undef BOOST_HAS_TR1_TUPLE # endif // BOOST_HAS_TR1_TUPLE // This prevents , which defines // BOOST_HAS_TR1_TUPLE, from being #included by Boost's . # define BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED # include # elif defined(__GNUC__) && (GTEST_GCC_VER_ >= 40000) // GCC 4.0+ implements tr1/tuple in the header. This does // not conform to the TR1 spec, which requires the header to be . # if !GTEST_HAS_RTTI && GTEST_GCC_VER_ < 40302 // Until version 4.3.2, gcc has a bug that causes , // which is #included by , to not compile when RTTI is // disabled. _TR1_FUNCTIONAL is the header guard for // . Hence the following #define is a hack to prevent // from being included. # define _TR1_FUNCTIONAL 1 # include # undef _TR1_FUNCTIONAL // Allows the user to #include // if he chooses to. # else # include // NOLINT # endif // !GTEST_HAS_RTTI && GTEST_GCC_VER_ < 40302 # else // If the compiler is not GCC 4.0+, we assume the user is using a // spec-conforming TR1 implementation. # include // NOLINT # endif // GTEST_USE_OWN_TR1_TUPLE #endif // GTEST_HAS_TR1_TUPLE // Determines whether clone(2) is supported. // Usually it will only be available on Linux, excluding // Linux on the Itanium architecture. // Also see http://linux.die.net/man/2/clone. #ifndef GTEST_HAS_CLONE // The user didn't tell us, so we need to figure it out. # if GTEST_OS_LINUX && !defined(__ia64__) # if GTEST_OS_LINUX_ANDROID // On Android, clone() is only available on ARM starting with Gingerbread. # if defined(__arm__) && __ANDROID_API__ >= 9 # define GTEST_HAS_CLONE 1 # else # define GTEST_HAS_CLONE 0 # endif # else # define GTEST_HAS_CLONE 1 # endif # else # define GTEST_HAS_CLONE 0 # endif // GTEST_OS_LINUX && !defined(__ia64__) #endif // GTEST_HAS_CLONE // Determines whether to support stream redirection. This is used to test // output correctness and to implement death tests. #ifndef GTEST_HAS_STREAM_REDIRECTION // By default, we assume that stream redirection is supported on all // platforms except known mobile ones. # if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_SYMBIAN # define GTEST_HAS_STREAM_REDIRECTION 0 # else # define GTEST_HAS_STREAM_REDIRECTION 1 # endif // !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_SYMBIAN #endif // GTEST_HAS_STREAM_REDIRECTION // Determines whether to support death tests. // Google Test does not support death tests for VC 7.1 and earlier as // abort() in a VC 7.1 application compiled as GUI in debug config // pops up a dialog window that cannot be suppressed programmatically. #if (GTEST_OS_LINUX || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \ (GTEST_OS_MAC && !GTEST_OS_IOS) || GTEST_OS_IOS_SIMULATOR || \ (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || \ GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \ GTEST_OS_OPENBSD || GTEST_OS_QNX) # define GTEST_HAS_DEATH_TEST 1 # include // NOLINT #endif // We don't support MSVC 7.1 with exceptions disabled now. Therefore // all the compilers we care about are adequate for supporting // value-parameterized tests. #define GTEST_HAS_PARAM_TEST 1 // Determines whether to support type-driven tests. // Typed tests need and variadic macros, which GCC, VC++ 8.0, // Sun Pro CC, IBM Visual Age, and HP aCC support. #if defined(__GNUC__) || (_MSC_VER >= 1400) || defined(__SUNPRO_CC) || \ defined(__IBMCPP__) || defined(__HP_aCC) # define GTEST_HAS_TYPED_TEST 1 # define GTEST_HAS_TYPED_TEST_P 1 #endif // Determines whether to support Combine(). This only makes sense when // value-parameterized tests are enabled. The implementation doesn't // work on Sun Studio since it doesn't understand templated conversion // operators. #if GTEST_HAS_PARAM_TEST && GTEST_HAS_TR1_TUPLE && !defined(__SUNPRO_CC) # define GTEST_HAS_COMBINE 1 #endif // Determines whether the system compiler uses UTF-16 for encoding wide strings. #define GTEST_WIDE_STRING_USES_UTF16_ \ (GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_SYMBIAN || GTEST_OS_AIX) // Determines whether test results can be streamed to a socket. #if GTEST_OS_LINUX # define GTEST_CAN_STREAM_RESULTS_ 1 #endif // Defines some utility macros. // The GNU compiler emits a warning if nested "if" statements are followed by // an "else" statement and braces are not used to explicitly disambiguate the // "else" binding. This leads to problems with code like: // // if (gate) // ASSERT_*(condition) << "Some message"; // // The "switch (0) case 0:" idiom is used to suppress this. #ifdef __INTEL_COMPILER # define GTEST_AMBIGUOUS_ELSE_BLOCKER_ #else # define GTEST_AMBIGUOUS_ELSE_BLOCKER_ switch (0) case 0: default: // NOLINT #endif // Use this annotation at the end of a struct/class definition to // prevent the compiler from optimizing away instances that are never // used. This is useful when all interesting logic happens inside the // c'tor and / or d'tor. Example: // // struct Foo { // Foo() { ... } // } GTEST_ATTRIBUTE_UNUSED_; // // Also use it after a variable or parameter declaration to tell the // compiler the variable/parameter does not have to be used. #if defined(__GNUC__) && !defined(COMPILER_ICC) # define GTEST_ATTRIBUTE_UNUSED_ __attribute__ ((unused)) #else # define GTEST_ATTRIBUTE_UNUSED_ #endif // A macro to disallow operator= // This should be used in the private: declarations for a class. #define GTEST_DISALLOW_ASSIGN_(type)\ void operator=(type const &) // A macro to disallow copy constructor and operator= // This should be used in the private: declarations for a class. #define GTEST_DISALLOW_COPY_AND_ASSIGN_(type)\ type(type const &);\ GTEST_DISALLOW_ASSIGN_(type) // Tell the compiler to warn about unused return values for functions declared // with this macro. The macro should be used on function declarations // following the argument list: // // Sprocket* AllocateSprocket() GTEST_MUST_USE_RESULT_; #if defined(__GNUC__) && (GTEST_GCC_VER_ >= 30400) && !defined(COMPILER_ICC) # define GTEST_MUST_USE_RESULT_ __attribute__ ((warn_unused_result)) #else # define GTEST_MUST_USE_RESULT_ #endif // __GNUC__ && (GTEST_GCC_VER_ >= 30400) && !COMPILER_ICC // Determine whether the compiler supports Microsoft's Structured Exception // Handling. This is supported by several Windows compilers but generally // does not exist on any other system. #ifndef GTEST_HAS_SEH // The user didn't tell us, so we need to figure it out. # if defined(_MSC_VER) || defined(__BORLANDC__) // These two compilers are known to support SEH. # define GTEST_HAS_SEH 1 # else // Assume no SEH. # define GTEST_HAS_SEH 0 # endif #endif // GTEST_HAS_SEH #ifdef _MSC_VER # if GTEST_LINKED_AS_SHARED_LIBRARY # define GTEST_API_ __declspec(dllimport) # elif GTEST_CREATE_SHARED_LIBRARY # define GTEST_API_ __declspec(dllexport) # endif #endif // _MSC_VER #ifndef GTEST_API_ # define GTEST_API_ #endif #ifdef __GNUC__ // Ask the compiler to never inline a given function. # define GTEST_NO_INLINE_ __attribute__((noinline)) #else # define GTEST_NO_INLINE_ #endif // _LIBCPP_VERSION is defined by the libc++ library from the LLVM project. #if defined(__GLIBCXX__) || defined(_LIBCPP_VERSION) # define GTEST_HAS_CXXABI_H_ 1 #else # define GTEST_HAS_CXXABI_H_ 0 #endif namespace testing { class Message; namespace internal { // A secret type that Google Test users don't know about. It has no // definition on purpose. Therefore it's impossible to create a // Secret object, which is what we want. class Secret; // The GTEST_COMPILE_ASSERT_ macro can be used to verify that a compile time // expression is true. For example, you could use it to verify the // size of a static array: // // GTEST_COMPILE_ASSERT_(ARRAYSIZE(content_type_names) == CONTENT_NUM_TYPES, // content_type_names_incorrect_size); // // or to make sure a struct is smaller than a certain size: // // GTEST_COMPILE_ASSERT_(sizeof(foo) < 128, foo_too_large); // // The second argument to the macro is the name of the variable. If // the expression is false, most compilers will issue a warning/error // containing the name of the variable. template struct CompileAssert { }; #define GTEST_COMPILE_ASSERT_(expr, msg) \ typedef ::testing::internal::CompileAssert<(static_cast(expr))> \ msg[static_cast(expr) ? 1 : -1] GTEST_ATTRIBUTE_UNUSED_ // Implementation details of GTEST_COMPILE_ASSERT_: // // - GTEST_COMPILE_ASSERT_ works by defining an array type that has -1 // elements (and thus is invalid) when the expression is false. // // - The simpler definition // // #define GTEST_COMPILE_ASSERT_(expr, msg) typedef char msg[(expr) ? 1 : -1] // // does not work, as gcc supports variable-length arrays whose sizes // are determined at run-time (this is gcc's extension and not part // of the C++ standard). As a result, gcc fails to reject the // following code with the simple definition: // // int foo; // GTEST_COMPILE_ASSERT_(foo, msg); // not supposed to compile as foo is // // not a compile-time constant. // // - By using the type CompileAssert<(bool(expr))>, we ensures that // expr is a compile-time constant. (Template arguments must be // determined at compile-time.) // // - The outter parentheses in CompileAssert<(bool(expr))> are necessary // to work around a bug in gcc 3.4.4 and 4.0.1. If we had written // // CompileAssert // // instead, these compilers will refuse to compile // // GTEST_COMPILE_ASSERT_(5 > 0, some_message); // // (They seem to think the ">" in "5 > 0" marks the end of the // template argument list.) // // - The array size is (bool(expr) ? 1 : -1), instead of simply // // ((expr) ? 1 : -1). // // This is to avoid running into a bug in MS VC 7.1, which // causes ((0.0) ? 1 : -1) to incorrectly evaluate to 1. // StaticAssertTypeEqHelper is used by StaticAssertTypeEq defined in gtest.h. // // This template is declared, but intentionally undefined. template struct StaticAssertTypeEqHelper; template struct StaticAssertTypeEqHelper {}; #if GTEST_HAS_GLOBAL_STRING typedef ::string string; #else typedef ::std::string string; #endif // GTEST_HAS_GLOBAL_STRING #if GTEST_HAS_GLOBAL_WSTRING typedef ::wstring wstring; #elif GTEST_HAS_STD_WSTRING typedef ::std::wstring wstring; #endif // GTEST_HAS_GLOBAL_WSTRING // A helper for suppressing warnings on constant condition. It just // returns 'condition'. GTEST_API_ bool IsTrue(bool condition); // Defines scoped_ptr. // This implementation of scoped_ptr is PARTIAL - it only contains // enough stuff to satisfy Google Test's need. template class scoped_ptr { public: typedef T element_type; explicit scoped_ptr(T* p = NULL) : ptr_(p) {} ~scoped_ptr() { reset(); } T& operator*() const { return *ptr_; } T* operator->() const { return ptr_; } T* get() const { return ptr_; } T* release() { T* const ptr = ptr_; ptr_ = NULL; return ptr; } void reset(T* p = NULL) { if (p != ptr_) { if (IsTrue(sizeof(T) > 0)) { // Makes sure T is a complete type. delete ptr_; } ptr_ = p; } } private: T* ptr_; GTEST_DISALLOW_COPY_AND_ASSIGN_(scoped_ptr); }; // Defines RE. // A simple C++ wrapper for . It uses the POSIX Extended // Regular Expression syntax. class GTEST_API_ RE { public: // A copy constructor is required by the Standard to initialize object // references from r-values. RE(const RE& other) { Init(other.pattern()); } // Constructs an RE from a string. RE(const ::std::string& regex) { Init(regex.c_str()); } // NOLINT #if GTEST_HAS_GLOBAL_STRING RE(const ::string& regex) { Init(regex.c_str()); } // NOLINT #endif // GTEST_HAS_GLOBAL_STRING RE(const char* regex) { Init(regex); } // NOLINT ~RE(); // Returns the string representation of the regex. const char* pattern() const { return pattern_; } // FullMatch(str, re) returns true iff regular expression re matches // the entire str. // PartialMatch(str, re) returns true iff regular expression re // matches a substring of str (including str itself). // // TODO(wan@google.com): make FullMatch() and PartialMatch() work // when str contains NUL characters. static bool FullMatch(const ::std::string& str, const RE& re) { return FullMatch(str.c_str(), re); } static bool PartialMatch(const ::std::string& str, const RE& re) { return PartialMatch(str.c_str(), re); } #if GTEST_HAS_GLOBAL_STRING static bool FullMatch(const ::string& str, const RE& re) { return FullMatch(str.c_str(), re); } static bool PartialMatch(const ::string& str, const RE& re) { return PartialMatch(str.c_str(), re); } #endif // GTEST_HAS_GLOBAL_STRING static bool FullMatch(const char* str, const RE& re); static bool PartialMatch(const char* str, const RE& re); private: void Init(const char* regex); // We use a const char* instead of an std::string, as Google Test used to be // used where std::string is not available. TODO(wan@google.com): change to // std::string. const char* pattern_; bool is_valid_; #if GTEST_USES_POSIX_RE regex_t full_regex_; // For FullMatch(). regex_t partial_regex_; // For PartialMatch(). #else // GTEST_USES_SIMPLE_RE const char* full_pattern_; // For FullMatch(); #endif GTEST_DISALLOW_ASSIGN_(RE); }; // Formats a source file path and a line number as they would appear // in an error message from the compiler used to compile this code. GTEST_API_ ::std::string FormatFileLocation(const char* file, int line); // Formats a file location for compiler-independent XML output. // Although this function is not platform dependent, we put it next to // FormatFileLocation in order to contrast the two functions. GTEST_API_ ::std::string FormatCompilerIndependentFileLocation(const char* file, int line); // Defines logging utilities: // GTEST_LOG_(severity) - logs messages at the specified severity level. The // message itself is streamed into the macro. // LogToStderr() - directs all log messages to stderr. // FlushInfoLog() - flushes informational log messages. enum GTestLogSeverity { GTEST_INFO, GTEST_WARNING, GTEST_ERROR, GTEST_FATAL }; // Formats log entry severity, provides a stream object for streaming the // log message, and terminates the message with a newline when going out of // scope. class GTEST_API_ GTestLog { public: GTestLog(GTestLogSeverity severity, const char* file, int line); // Flushes the buffers and, if severity is GTEST_FATAL, aborts the program. ~GTestLog(); ::std::ostream& GetStream() { return ::std::cerr; } private: const GTestLogSeverity severity_; GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestLog); }; #define GTEST_LOG_(severity) \ ::testing::internal::GTestLog(::testing::internal::GTEST_##severity, \ __FILE__, __LINE__).GetStream() inline void LogToStderr() {} inline void FlushInfoLog() { fflush(NULL); } // INTERNAL IMPLEMENTATION - DO NOT USE. // // GTEST_CHECK_ is an all-mode assert. It aborts the program if the condition // is not satisfied. // Synopsys: // GTEST_CHECK_(boolean_condition); // or // GTEST_CHECK_(boolean_condition) << "Additional message"; // // This checks the condition and if the condition is not satisfied // it prints message about the condition violation, including the // condition itself, plus additional message streamed into it, if any, // and then it aborts the program. It aborts the program irrespective of // whether it is built in the debug mode or not. #define GTEST_CHECK_(condition) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::IsTrue(condition)) \ ; \ else \ GTEST_LOG_(FATAL) << "Condition " #condition " failed. " // An all-mode assert to verify that the given POSIX-style function // call returns 0 (indicating success). Known limitation: this // doesn't expand to a balanced 'if' statement, so enclose the macro // in {} if you need to use it as the only statement in an 'if' // branch. #define GTEST_CHECK_POSIX_SUCCESS_(posix_call) \ if (const int gtest_error = (posix_call)) \ GTEST_LOG_(FATAL) << #posix_call << "failed with error " \ << gtest_error // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Use ImplicitCast_ as a safe version of static_cast for upcasting in // the type hierarchy (e.g. casting a Foo* to a SuperclassOfFoo* or a // const Foo*). When you use ImplicitCast_, the compiler checks that // the cast is safe. Such explicit ImplicitCast_s are necessary in // surprisingly many situations where C++ demands an exact type match // instead of an argument type convertable to a target type. // // The syntax for using ImplicitCast_ is the same as for static_cast: // // ImplicitCast_(expr) // // ImplicitCast_ would have been part of the C++ standard library, // but the proposal was submitted too late. It will probably make // its way into the language in the future. // // This relatively ugly name is intentional. It prevents clashes with // similar functions users may have (e.g., implicit_cast). The internal // namespace alone is not enough because the function can be found by ADL. template inline To ImplicitCast_(To x) { return x; } // When you upcast (that is, cast a pointer from type Foo to type // SuperclassOfFoo), it's fine to use ImplicitCast_<>, since upcasts // always succeed. When you downcast (that is, cast a pointer from // type Foo to type SubclassOfFoo), static_cast<> isn't safe, because // how do you know the pointer is really of type SubclassOfFoo? It // could be a bare Foo, or of type DifferentSubclassOfFoo. Thus, // when you downcast, you should use this macro. In debug mode, we // use dynamic_cast<> to double-check the downcast is legal (we die // if it's not). In normal mode, we do the efficient static_cast<> // instead. Thus, it's important to test in debug mode to make sure // the cast is legal! // This is the only place in the code we should use dynamic_cast<>. // In particular, you SHOULDN'T be using dynamic_cast<> in order to // do RTTI (eg code like this: // if (dynamic_cast(foo)) HandleASubclass1Object(foo); // if (dynamic_cast(foo)) HandleASubclass2Object(foo); // You should design the code some other way not to need this. // // This relatively ugly name is intentional. It prevents clashes with // similar functions users may have (e.g., down_cast). The internal // namespace alone is not enough because the function can be found by ADL. template // use like this: DownCast_(foo); inline To DownCast_(From* f) { // so we only accept pointers // Ensures that To is a sub-type of From *. This test is here only // for compile-time type checking, and has no overhead in an // optimized build at run-time, as it will be optimized away // completely. if (false) { const To to = NULL; ::testing::internal::ImplicitCast_(to); } #if GTEST_HAS_RTTI // RTTI: debug mode only! GTEST_CHECK_(f == NULL || dynamic_cast(f) != NULL); #endif return static_cast(f); } // Downcasts the pointer of type Base to Derived. // Derived must be a subclass of Base. The parameter MUST // point to a class of type Derived, not any subclass of it. // When RTTI is available, the function performs a runtime // check to enforce this. template Derived* CheckedDowncastToActualType(Base* base) { #if GTEST_HAS_RTTI GTEST_CHECK_(typeid(*base) == typeid(Derived)); return dynamic_cast(base); // NOLINT #else return static_cast(base); // Poor man's downcast. #endif } #if GTEST_HAS_STREAM_REDIRECTION // Defines the stderr capturer: // CaptureStdout - starts capturing stdout. // GetCapturedStdout - stops capturing stdout and returns the captured string. // CaptureStderr - starts capturing stderr. // GetCapturedStderr - stops capturing stderr and returns the captured string. // GTEST_API_ void CaptureStdout(); GTEST_API_ std::string GetCapturedStdout(); GTEST_API_ void CaptureStderr(); GTEST_API_ std::string GetCapturedStderr(); #endif // GTEST_HAS_STREAM_REDIRECTION #if GTEST_HAS_DEATH_TEST const ::std::vector& GetInjectableArgvs(); void SetInjectableArgvs(const ::std::vector* new_argvs); // A copy of all command line arguments. Set by InitGoogleTest(). extern ::std::vector g_argvs; #endif // GTEST_HAS_DEATH_TEST // Defines synchronization primitives. #if GTEST_HAS_PTHREAD // Sleeps for (roughly) n milli-seconds. This function is only for // testing Google Test's own constructs. Don't use it in user tests, // either directly or indirectly. inline void SleepMilliseconds(int n) { const timespec time = { 0, // 0 seconds. n * 1000L * 1000L, // And n ms. }; nanosleep(&time, NULL); } // Allows a controller thread to pause execution of newly created // threads until notified. Instances of this class must be created // and destroyed in the controller thread. // // This class is only for testing Google Test's own constructs. Do not // use it in user tests, either directly or indirectly. class Notification { public: Notification() : notified_(false) { GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_init(&mutex_, NULL)); } ~Notification() { pthread_mutex_destroy(&mutex_); } // Notifies all threads created with this notification to start. Must // be called from the controller thread. void Notify() { pthread_mutex_lock(&mutex_); notified_ = true; pthread_mutex_unlock(&mutex_); } // Blocks until the controller thread notifies. Must be called from a test // thread. void WaitForNotification() { for (;;) { pthread_mutex_lock(&mutex_); const bool notified = notified_; pthread_mutex_unlock(&mutex_); if (notified) break; SleepMilliseconds(10); } } private: pthread_mutex_t mutex_; bool notified_; GTEST_DISALLOW_COPY_AND_ASSIGN_(Notification); }; // As a C-function, ThreadFuncWithCLinkage cannot be templated itself. // Consequently, it cannot select a correct instantiation of ThreadWithParam // in order to call its Run(). Introducing ThreadWithParamBase as a // non-templated base class for ThreadWithParam allows us to bypass this // problem. class ThreadWithParamBase { public: virtual ~ThreadWithParamBase() {} virtual void Run() = 0; }; // pthread_create() accepts a pointer to a function type with the C linkage. // According to the Standard (7.5/1), function types with different linkages // are different even if they are otherwise identical. Some compilers (for // example, SunStudio) treat them as different types. Since class methods // cannot be defined with C-linkage we need to define a free C-function to // pass into pthread_create(). extern "C" inline void* ThreadFuncWithCLinkage(void* thread) { static_cast(thread)->Run(); return NULL; } // Helper class for testing Google Test's multi-threading constructs. // To use it, write: // // void ThreadFunc(int param) { /* Do things with param */ } // Notification thread_can_start; // ... // // The thread_can_start parameter is optional; you can supply NULL. // ThreadWithParam thread(&ThreadFunc, 5, &thread_can_start); // thread_can_start.Notify(); // // These classes are only for testing Google Test's own constructs. Do // not use them in user tests, either directly or indirectly. template class ThreadWithParam : public ThreadWithParamBase { public: typedef void (*UserThreadFunc)(T); ThreadWithParam( UserThreadFunc func, T param, Notification* thread_can_start) : func_(func), param_(param), thread_can_start_(thread_can_start), finished_(false) { ThreadWithParamBase* const base = this; // The thread can be created only after all fields except thread_ // have been initialized. GTEST_CHECK_POSIX_SUCCESS_( pthread_create(&thread_, 0, &ThreadFuncWithCLinkage, base)); } ~ThreadWithParam() { Join(); } void Join() { if (!finished_) { GTEST_CHECK_POSIX_SUCCESS_(pthread_join(thread_, 0)); finished_ = true; } } virtual void Run() { if (thread_can_start_ != NULL) thread_can_start_->WaitForNotification(); func_(param_); } private: const UserThreadFunc func_; // User-supplied thread function. const T param_; // User-supplied parameter to the thread function. // When non-NULL, used to block execution until the controller thread // notifies. Notification* const thread_can_start_; bool finished_; // true iff we know that the thread function has finished. pthread_t thread_; // The native thread object. GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadWithParam); }; // MutexBase and Mutex implement mutex on pthreads-based platforms. They // are used in conjunction with class MutexLock: // // Mutex mutex; // ... // MutexLock lock(&mutex); // Acquires the mutex and releases it at the end // // of the current scope. // // MutexBase implements behavior for both statically and dynamically // allocated mutexes. Do not use MutexBase directly. Instead, write // the following to define a static mutex: // // GTEST_DEFINE_STATIC_MUTEX_(g_some_mutex); // // You can forward declare a static mutex like this: // // GTEST_DECLARE_STATIC_MUTEX_(g_some_mutex); // // To create a dynamic mutex, just define an object of type Mutex. class MutexBase { public: // Acquires this mutex. void Lock() { GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_lock(&mutex_)); owner_ = pthread_self(); has_owner_ = true; } // Releases this mutex. void Unlock() { // Since the lock is being released the owner_ field should no longer be // considered valid. We don't protect writing to has_owner_ here, as it's // the caller's responsibility to ensure that the current thread holds the // mutex when this is called. has_owner_ = false; GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_unlock(&mutex_)); } // Does nothing if the current thread holds the mutex. Otherwise, crashes // with high probability. void AssertHeld() const { GTEST_CHECK_(has_owner_ && pthread_equal(owner_, pthread_self())) << "The current thread is not holding the mutex @" << this; } // A static mutex may be used before main() is entered. It may even // be used before the dynamic initialization stage. Therefore we // must be able to initialize a static mutex object at link time. // This means MutexBase has to be a POD and its member variables // have to be public. public: pthread_mutex_t mutex_; // The underlying pthread mutex. // has_owner_ indicates whether the owner_ field below contains a valid thread // ID and is therefore safe to inspect (e.g., to use in pthread_equal()). All // accesses to the owner_ field should be protected by a check of this field. // An alternative might be to memset() owner_ to all zeros, but there's no // guarantee that a zero'd pthread_t is necessarily invalid or even different // from pthread_self(). bool has_owner_; pthread_t owner_; // The thread holding the mutex. }; // Forward-declares a static mutex. # define GTEST_DECLARE_STATIC_MUTEX_(mutex) \ extern ::testing::internal::MutexBase mutex // Defines and statically (i.e. at link time) initializes a static mutex. // The initialization list here does not explicitly initialize each field, // instead relying on default initialization for the unspecified fields. In // particular, the owner_ field (a pthread_t) is not explicitly initialized. // This allows initialization to work whether pthread_t is a scalar or struct. // The flag -Wmissing-field-initializers must not be specified for this to work. # define GTEST_DEFINE_STATIC_MUTEX_(mutex) \ ::testing::internal::MutexBase mutex = { PTHREAD_MUTEX_INITIALIZER, false } // The Mutex class can only be used for mutexes created at runtime. It // shares its API with MutexBase otherwise. class Mutex : public MutexBase { public: Mutex() { GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_init(&mutex_, NULL)); has_owner_ = false; } ~Mutex() { GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_destroy(&mutex_)); } private: GTEST_DISALLOW_COPY_AND_ASSIGN_(Mutex); }; // We cannot name this class MutexLock as the ctor declaration would // conflict with a macro named MutexLock, which is defined on some // platforms. Hence the typedef trick below. class GTestMutexLock { public: explicit GTestMutexLock(MutexBase* mutex) : mutex_(mutex) { mutex_->Lock(); } ~GTestMutexLock() { mutex_->Unlock(); } private: MutexBase* const mutex_; GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestMutexLock); }; typedef GTestMutexLock MutexLock; // Helpers for ThreadLocal. // pthread_key_create() requires DeleteThreadLocalValue() to have // C-linkage. Therefore it cannot be templatized to access // ThreadLocal. Hence the need for class // ThreadLocalValueHolderBase. class ThreadLocalValueHolderBase { public: virtual ~ThreadLocalValueHolderBase() {} }; // Called by pthread to delete thread-local data stored by // pthread_setspecific(). extern "C" inline void DeleteThreadLocalValue(void* value_holder) { delete static_cast(value_holder); } // Implements thread-local storage on pthreads-based systems. // // // Thread 1 // ThreadLocal tl(100); // 100 is the default value for each thread. // // // Thread 2 // tl.set(150); // Changes the value for thread 2 only. // EXPECT_EQ(150, tl.get()); // // // Thread 1 // EXPECT_EQ(100, tl.get()); // In thread 1, tl has the original value. // tl.set(200); // EXPECT_EQ(200, tl.get()); // // The template type argument T must have a public copy constructor. // In addition, the default ThreadLocal constructor requires T to have // a public default constructor. // // An object managed for a thread by a ThreadLocal instance is deleted // when the thread exits. Or, if the ThreadLocal instance dies in // that thread, when the ThreadLocal dies. It's the user's // responsibility to ensure that all other threads using a ThreadLocal // have exited when it dies, or the per-thread objects for those // threads will not be deleted. // // Google Test only uses global ThreadLocal objects. That means they // will die after main() has returned. Therefore, no per-thread // object managed by Google Test will be leaked as long as all threads // using Google Test have exited when main() returns. template class ThreadLocal { public: ThreadLocal() : key_(CreateKey()), default_() {} explicit ThreadLocal(const T& value) : key_(CreateKey()), default_(value) {} ~ThreadLocal() { // Destroys the managed object for the current thread, if any. DeleteThreadLocalValue(pthread_getspecific(key_)); // Releases resources associated with the key. This will *not* // delete managed objects for other threads. GTEST_CHECK_POSIX_SUCCESS_(pthread_key_delete(key_)); } T* pointer() { return GetOrCreateValue(); } const T* pointer() const { return GetOrCreateValue(); } const T& get() const { return *pointer(); } void set(const T& value) { *pointer() = value; } private: // Holds a value of type T. class ValueHolder : public ThreadLocalValueHolderBase { public: explicit ValueHolder(const T& value) : value_(value) {} T* pointer() { return &value_; } private: T value_; GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolder); }; static pthread_key_t CreateKey() { pthread_key_t key; // When a thread exits, DeleteThreadLocalValue() will be called on // the object managed for that thread. GTEST_CHECK_POSIX_SUCCESS_( pthread_key_create(&key, &DeleteThreadLocalValue)); return key; } T* GetOrCreateValue() const { ThreadLocalValueHolderBase* const holder = static_cast(pthread_getspecific(key_)); if (holder != NULL) { return CheckedDowncastToActualType(holder)->pointer(); } ValueHolder* const new_holder = new ValueHolder(default_); ThreadLocalValueHolderBase* const holder_base = new_holder; GTEST_CHECK_POSIX_SUCCESS_(pthread_setspecific(key_, holder_base)); return new_holder->pointer(); } // A key pthreads uses for looking up per-thread values. const pthread_key_t key_; const T default_; // The default value for each thread. GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal); }; # define GTEST_IS_THREADSAFE 1 #else // GTEST_HAS_PTHREAD // A dummy implementation of synchronization primitives (mutex, lock, // and thread-local variable). Necessary for compiling Google Test where // mutex is not supported - using Google Test in multiple threads is not // supported on such platforms. class Mutex { public: Mutex() {} void Lock() {} void Unlock() {} void AssertHeld() const {} }; # define GTEST_DECLARE_STATIC_MUTEX_(mutex) \ extern ::testing::internal::Mutex mutex # define GTEST_DEFINE_STATIC_MUTEX_(mutex) ::testing::internal::Mutex mutex class GTestMutexLock { public: explicit GTestMutexLock(Mutex*) {} // NOLINT }; typedef GTestMutexLock MutexLock; template class ThreadLocal { public: ThreadLocal() : value_() {} explicit ThreadLocal(const T& value) : value_(value) {} T* pointer() { return &value_; } const T* pointer() const { return &value_; } const T& get() const { return value_; } void set(const T& value) { value_ = value; } private: T value_; }; // The above synchronization primitives have dummy implementations. // Therefore Google Test is not thread-safe. # define GTEST_IS_THREADSAFE 0 #endif // GTEST_HAS_PTHREAD // Returns the number of threads running in the process, or 0 to indicate that // we cannot detect it. GTEST_API_ size_t GetThreadCount(); // Passing non-POD classes through ellipsis (...) crashes the ARM // compiler and generates a warning in Sun Studio. The Nokia Symbian // and the IBM XL C/C++ compiler try to instantiate a copy constructor // for objects passed through ellipsis (...), failing for uncopyable // objects. We define this to ensure that only POD is passed through // ellipsis on these systems. #if defined(__SYMBIAN32__) || defined(__IBMCPP__) || defined(__SUNPRO_CC) // We lose support for NULL detection where the compiler doesn't like // passing non-POD classes through ellipsis (...). # define GTEST_ELLIPSIS_NEEDS_POD_ 1 #else # define GTEST_CAN_COMPARE_NULL 1 #endif // The Nokia Symbian and IBM XL C/C++ compilers cannot decide between // const T& and const T* in a function template. These compilers // _can_ decide between class template specializations for T and T*, // so a tr1::type_traits-like is_pointer works. #if defined(__SYMBIAN32__) || defined(__IBMCPP__) # define GTEST_NEEDS_IS_POINTER_ 1 #endif template struct bool_constant { typedef bool_constant type; static const bool value = bool_value; }; template const bool bool_constant::value; typedef bool_constant false_type; typedef bool_constant true_type; template struct is_pointer : public false_type {}; template struct is_pointer : public true_type {}; template struct IteratorTraits { typedef typename Iterator::value_type value_type; }; template struct IteratorTraits { typedef T value_type; }; template struct IteratorTraits { typedef T value_type; }; #if GTEST_OS_WINDOWS # define GTEST_PATH_SEP_ "\\" # define GTEST_HAS_ALT_PATH_SEP_ 1 // The biggest signed integer type the compiler supports. typedef __int64 BiggestInt; #else # define GTEST_PATH_SEP_ "/" # define GTEST_HAS_ALT_PATH_SEP_ 0 typedef long long BiggestInt; // NOLINT #endif // GTEST_OS_WINDOWS // Utilities for char. // isspace(int ch) and friends accept an unsigned char or EOF. char // may be signed, depending on the compiler (or compiler flags). // Therefore we need to cast a char to unsigned char before calling // isspace(), etc. inline bool IsAlpha(char ch) { return isalpha(static_cast(ch)) != 0; } inline bool IsAlNum(char ch) { return isalnum(static_cast(ch)) != 0; } inline bool IsDigit(char ch) { return isdigit(static_cast(ch)) != 0; } inline bool IsLower(char ch) { return islower(static_cast(ch)) != 0; } inline bool IsSpace(char ch) { return isspace(static_cast(ch)) != 0; } inline bool IsUpper(char ch) { return isupper(static_cast(ch)) != 0; } inline bool IsXDigit(char ch) { return isxdigit(static_cast(ch)) != 0; } inline bool IsXDigit(wchar_t ch) { const unsigned char low_byte = static_cast(ch); return ch == low_byte && isxdigit(low_byte) != 0; } inline char ToLower(char ch) { return static_cast(tolower(static_cast(ch))); } inline char ToUpper(char ch) { return static_cast(toupper(static_cast(ch))); } // The testing::internal::posix namespace holds wrappers for common // POSIX functions. These wrappers hide the differences between // Windows/MSVC and POSIX systems. Since some compilers define these // standard functions as macros, the wrapper cannot have the same name // as the wrapped function. namespace posix { // Functions with a different name on Windows. #if GTEST_OS_WINDOWS typedef struct _stat StatStruct; # ifdef __BORLANDC__ inline int IsATTY(int fd) { return isatty(fd); } inline int StrCaseCmp(const char* s1, const char* s2) { return stricmp(s1, s2); } inline char* StrDup(const char* src) { return strdup(src); } # else // !__BORLANDC__ # if GTEST_OS_WINDOWS_MOBILE inline int IsATTY(int /* fd */) { return 0; } # else inline int IsATTY(int fd) { return _isatty(fd); } # endif // GTEST_OS_WINDOWS_MOBILE inline int StrCaseCmp(const char* s1, const char* s2) { return _stricmp(s1, s2); } inline char* StrDup(const char* src) { return _strdup(src); } # endif // __BORLANDC__ # if GTEST_OS_WINDOWS_MOBILE inline int FileNo(FILE* file) { return reinterpret_cast(_fileno(file)); } // Stat(), RmDir(), and IsDir() are not needed on Windows CE at this // time and thus not defined there. # else inline int FileNo(FILE* file) { return _fileno(file); } inline int Stat(const char* path, StatStruct* buf) { return _stat(path, buf); } inline int RmDir(const char* dir) { return _rmdir(dir); } inline bool IsDir(const StatStruct& st) { return (_S_IFDIR & st.st_mode) != 0; } # endif // GTEST_OS_WINDOWS_MOBILE #else typedef struct stat StatStruct; inline int FileNo(FILE* file) { return fileno(file); } inline int IsATTY(int fd) { return isatty(fd); } inline int Stat(const char* path, StatStruct* buf) { return stat(path, buf); } inline int StrCaseCmp(const char* s1, const char* s2) { return strcasecmp(s1, s2); } inline char* StrDup(const char* src) { return strdup(src); } inline int RmDir(const char* dir) { return rmdir(dir); } inline bool IsDir(const StatStruct& st) { return S_ISDIR(st.st_mode); } #endif // GTEST_OS_WINDOWS // Functions deprecated by MSVC 8.0. #ifdef _MSC_VER // Temporarily disable warning 4996 (deprecated function). # pragma warning(push) # pragma warning(disable:4996) #endif inline const char* StrNCpy(char* dest, const char* src, size_t n) { return strncpy(dest, src, n); } // ChDir(), FReopen(), FDOpen(), Read(), Write(), Close(), and // StrError() aren't needed on Windows CE at this time and thus not // defined there. #if !GTEST_OS_WINDOWS_MOBILE inline int ChDir(const char* dir) { return chdir(dir); } #endif inline FILE* FOpen(const char* path, const char* mode) { return fopen(path, mode); } #if !GTEST_OS_WINDOWS_MOBILE inline FILE *FReopen(const char* path, const char* mode, FILE* stream) { return freopen(path, mode, stream); } inline FILE* FDOpen(int fd, const char* mode) { return fdopen(fd, mode); } #endif inline int FClose(FILE* fp) { return fclose(fp); } #if !GTEST_OS_WINDOWS_MOBILE inline int Read(int fd, void* buf, unsigned int count) { return static_cast(read(fd, buf, count)); } inline int Write(int fd, const void* buf, unsigned int count) { return static_cast(write(fd, buf, count)); } inline int Close(int fd) { return close(fd); } inline const char* StrError(int errnum) { return strerror(errnum); } #endif inline const char* GetEnv(const char* name) { #if GTEST_OS_WINDOWS_MOBILE // We are on Windows CE, which has no environment variables. return NULL; #elif defined(__BORLANDC__) || defined(__SunOS_5_8) || defined(__SunOS_5_9) // Environment variables which we programmatically clear will be set to the // empty string rather than unset (NULL). Handle that case. const char* const env = getenv(name); return (env != NULL && env[0] != '\0') ? env : NULL; #else return getenv(name); #endif } #ifdef _MSC_VER # pragma warning(pop) // Restores the warning state. #endif #if GTEST_OS_WINDOWS_MOBILE // Windows CE has no C library. The abort() function is used in // several places in Google Test. This implementation provides a reasonable // imitation of standard behaviour. void Abort(); #else inline void Abort() { abort(); } #endif // GTEST_OS_WINDOWS_MOBILE } // namespace posix // MSVC "deprecates" snprintf and issues warnings wherever it is used. In // order to avoid these warnings, we need to use _snprintf or _snprintf_s on // MSVC-based platforms. We map the GTEST_SNPRINTF_ macro to the appropriate // function in order to achieve that. We use macro definition here because // snprintf is a variadic function. #if _MSC_VER >= 1400 && !GTEST_OS_WINDOWS_MOBILE // MSVC 2005 and above support variadic macros. # define GTEST_SNPRINTF_(buffer, size, format, ...) \ _snprintf_s(buffer, size, size, format, __VA_ARGS__) #elif defined(_MSC_VER) // Windows CE does not define _snprintf_s and MSVC prior to 2005 doesn't // complain about _snprintf. # define GTEST_SNPRINTF_ _snprintf #else # define GTEST_SNPRINTF_ snprintf #endif // The maximum number a BiggestInt can represent. This definition // works no matter BiggestInt is represented in one's complement or // two's complement. // // We cannot rely on numeric_limits in STL, as __int64 and long long // are not part of standard C++ and numeric_limits doesn't need to be // defined for them. const BiggestInt kMaxBiggestInt = ~(static_cast(1) << (8*sizeof(BiggestInt) - 1)); // This template class serves as a compile-time function from size to // type. It maps a size in bytes to a primitive type with that // size. e.g. // // TypeWithSize<4>::UInt // // is typedef-ed to be unsigned int (unsigned integer made up of 4 // bytes). // // Such functionality should belong to STL, but I cannot find it // there. // // Google Test uses this class in the implementation of floating-point // comparison. // // For now it only handles UInt (unsigned int) as that's all Google Test // needs. Other types can be easily added in the future if need // arises. template class TypeWithSize { public: // This prevents the user from using TypeWithSize with incorrect // values of N. typedef void UInt; }; // The specialization for size 4. template <> class TypeWithSize<4> { public: // unsigned int has size 4 in both gcc and MSVC. // // As base/basictypes.h doesn't compile on Windows, we cannot use // uint32, uint64, and etc here. typedef int Int; typedef unsigned int UInt; }; // The specialization for size 8. template <> class TypeWithSize<8> { public: #if GTEST_OS_WINDOWS typedef __int64 Int; typedef unsigned __int64 UInt; #else typedef long long Int; // NOLINT typedef unsigned long long UInt; // NOLINT #endif // GTEST_OS_WINDOWS }; // Integer types of known sizes. typedef TypeWithSize<4>::Int Int32; typedef TypeWithSize<4>::UInt UInt32; typedef TypeWithSize<8>::Int Int64; typedef TypeWithSize<8>::UInt UInt64; typedef TypeWithSize<8>::Int TimeInMillis; // Represents time in milliseconds. // Utilities for command line flags and environment variables. // Macro for referencing flags. #define GTEST_FLAG(name) FLAGS_gtest_##name // Macros for declaring flags. #define GTEST_DECLARE_bool_(name) GTEST_API_ extern bool GTEST_FLAG(name) #define GTEST_DECLARE_int32_(name) \ GTEST_API_ extern ::testing::internal::Int32 GTEST_FLAG(name) #define GTEST_DECLARE_string_(name) \ GTEST_API_ extern ::std::string GTEST_FLAG(name) // Macros for defining flags. #define GTEST_DEFINE_bool_(name, default_val, doc) \ GTEST_API_ bool GTEST_FLAG(name) = (default_val) #define GTEST_DEFINE_int32_(name, default_val, doc) \ GTEST_API_ ::testing::internal::Int32 GTEST_FLAG(name) = (default_val) #define GTEST_DEFINE_string_(name, default_val, doc) \ GTEST_API_ ::std::string GTEST_FLAG(name) = (default_val) // Thread annotations #define GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks) #define GTEST_LOCK_EXCLUDED_(locks) // Parses 'str' for a 32-bit signed integer. If successful, writes the result // to *value and returns true; otherwise leaves *value unchanged and returns // false. // TODO(chandlerc): Find a better way to refactor flag and environment parsing // out of both gtest-port.cc and gtest.cc to avoid exporting this utility // function. bool ParseInt32(const Message& src_text, const char* str, Int32* value); // Parses a bool/Int32/string from the environment variable // corresponding to the given Google Test flag. bool BoolFromGTestEnv(const char* flag, bool default_val); GTEST_API_ Int32 Int32FromGTestEnv(const char* flag, Int32 default_val); const char* StringFromGTestEnv(const char* flag, const char* default_val); } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-type-util.h.pump0000644000175200017520000002214512277666257024004 00000000000000$$ -*- mode: c++; -*- $var n = 50 $$ Maximum length of type lists we want to support. // Copyright 2008 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // Type utilities needed for implementing typed and type-parameterized // tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND! // // Currently we support at most $n types in a list, and at most $n // type-parameterized tests in one type-parameterized test case. // Please contact googletestframework@googlegroups.com if you need // more. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ #include "gtest/internal/gtest-port.h" // #ifdef __GNUC__ is too general here. It is possible to use gcc without using // libstdc++ (which is where cxxabi.h comes from). # if GTEST_HAS_CXXABI_H_ # include # elif defined(__HP_aCC) # include # endif // GTEST_HASH_CXXABI_H_ namespace testing { namespace internal { // GetTypeName() returns a human-readable name of type T. // NB: This function is also used in Google Mock, so don't move it inside of // the typed-test-only section below. template std::string GetTypeName() { # if GTEST_HAS_RTTI const char* const name = typeid(T).name(); # if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC) int status = 0; // gcc's implementation of typeid(T).name() mangles the type name, // so we have to demangle it. # if GTEST_HAS_CXXABI_H_ using abi::__cxa_demangle; # endif // GTEST_HAS_CXXABI_H_ char* const readable_name = __cxa_demangle(name, 0, 0, &status); const std::string name_str(status == 0 ? readable_name : name); free(readable_name); return name_str; # else return name; # endif // GTEST_HAS_CXXABI_H_ || __HP_aCC # else return ""; # endif // GTEST_HAS_RTTI } #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P // AssertyTypeEq::type is defined iff T1 and T2 are the same // type. This can be used as a compile-time assertion to ensure that // two types are equal. template struct AssertTypeEq; template struct AssertTypeEq { typedef bool type; }; // A unique type used as the default value for the arguments of class // template Types. This allows us to simulate variadic templates // (e.g. Types, Type, and etc), which C++ doesn't // support directly. struct None {}; // The following family of struct and struct templates are used to // represent type lists. In particular, TypesN // represents a type list with N types (T1, T2, ..., and TN) in it. // Except for Types0, every struct in the family has two member types: // Head for the first type in the list, and Tail for the rest of the // list. // The empty type list. struct Types0 {}; // Type lists of length 1, 2, 3, and so on. template struct Types1 { typedef T1 Head; typedef Types0 Tail; }; $range i 2..n $for i [[ $range j 1..i $range k 2..i template <$for j, [[typename T$j]]> struct Types$i { typedef T1 Head; typedef Types$(i-1)<$for k, [[T$k]]> Tail; }; ]] } // namespace internal // We don't want to require the users to write TypesN<...> directly, // as that would require them to count the length. Types<...> is much // easier to write, but generates horrible messages when there is a // compiler error, as gcc insists on printing out each template // argument, even if it has the default value (this means Types // will appear as Types in the compiler // errors). // // Our solution is to combine the best part of the two approaches: a // user would write Types, and Google Test will translate // that to TypesN internally to make error messages // readable. The translation is done by the 'type' member of the // Types template. $range i 1..n template <$for i, [[typename T$i = internal::None]]> struct Types { typedef internal::Types$n<$for i, [[T$i]]> type; }; template <> struct Types<$for i, [[internal::None]]> { typedef internal::Types0 type; }; $range i 1..n-1 $for i [[ $range j 1..i $range k i+1..n template <$for j, [[typename T$j]]> struct Types<$for j, [[T$j]]$for k[[, internal::None]]> { typedef internal::Types$i<$for j, [[T$j]]> type; }; ]] namespace internal { # define GTEST_TEMPLATE_ template class // The template "selector" struct TemplateSel is used to // represent Tmpl, which must be a class template with one type // parameter, as a type. TemplateSel::Bind::type is defined // as the type Tmpl. This allows us to actually instantiate the // template "selected" by TemplateSel. // // This trick is necessary for simulating typedef for class templates, // which C++ doesn't support directly. template struct TemplateSel { template struct Bind { typedef Tmpl type; }; }; # define GTEST_BIND_(TmplSel, T) \ TmplSel::template Bind::type // A unique struct template used as the default value for the // arguments of class template Templates. This allows us to simulate // variadic templates (e.g. Templates, Templates, // and etc), which C++ doesn't support directly. template struct NoneT {}; // The following family of struct and struct templates are used to // represent template lists. In particular, TemplatesN represents a list of N templates (T1, T2, ..., and TN). Except // for Templates0, every struct in the family has two member types: // Head for the selector of the first template in the list, and Tail // for the rest of the list. // The empty template list. struct Templates0 {}; // Template lists of length 1, 2, 3, and so on. template struct Templates1 { typedef TemplateSel Head; typedef Templates0 Tail; }; $range i 2..n $for i [[ $range j 1..i $range k 2..i template <$for j, [[GTEST_TEMPLATE_ T$j]]> struct Templates$i { typedef TemplateSel Head; typedef Templates$(i-1)<$for k, [[T$k]]> Tail; }; ]] // We don't want to require the users to write TemplatesN<...> directly, // as that would require them to count the length. Templates<...> is much // easier to write, but generates horrible messages when there is a // compiler error, as gcc insists on printing out each template // argument, even if it has the default value (this means Templates // will appear as Templates in the compiler // errors). // // Our solution is to combine the best part of the two approaches: a // user would write Templates, and Google Test will translate // that to TemplatesN internally to make error messages // readable. The translation is done by the 'type' member of the // Templates template. $range i 1..n template <$for i, [[GTEST_TEMPLATE_ T$i = NoneT]]> struct Templates { typedef Templates$n<$for i, [[T$i]]> type; }; template <> struct Templates<$for i, [[NoneT]]> { typedef Templates0 type; }; $range i 1..n-1 $for i [[ $range j 1..i $range k i+1..n template <$for j, [[GTEST_TEMPLATE_ T$j]]> struct Templates<$for j, [[T$j]]$for k[[, NoneT]]> { typedef Templates$i<$for j, [[T$j]]> type; }; ]] // The TypeList template makes it possible to use either a single type // or a Types<...> list in TYPED_TEST_CASE() and // INSTANTIATE_TYPED_TEST_CASE_P(). template struct TypeList { typedef Types1 type; }; $range i 1..n template <$for i, [[typename T$i]]> struct TypeList > { typedef typename Types<$for i, [[T$i]]>::type type; }; #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-linked_ptr.h0000644000175200017520000001764512277666257023234 00000000000000// Copyright 2003 Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: Dan Egnor (egnor@google.com) // // A "smart" pointer type with reference tracking. Every pointer to a // particular object is kept on a circular linked list. When the last pointer // to an object is destroyed or reassigned, the object is deleted. // // Used properly, this deletes the object when the last reference goes away. // There are several caveats: // - Like all reference counting schemes, cycles lead to leaks. // - Each smart pointer is actually two pointers (8 bytes instead of 4). // - Every time a pointer is assigned, the entire list of pointers to that // object is traversed. This class is therefore NOT SUITABLE when there // will often be more than two or three pointers to a particular object. // - References are only tracked as long as linked_ptr<> objects are copied. // If a linked_ptr<> is converted to a raw pointer and back, BAD THINGS // will happen (double deletion). // // A good use of this class is storing object references in STL containers. // You can safely put linked_ptr<> in a vector<>. // Other uses may not be as good. // // Note: If you use an incomplete type with linked_ptr<>, the class // *containing* linked_ptr<> must have a constructor and destructor (even // if they do nothing!). // // Bill Gibbons suggested we use something like this. // // Thread Safety: // Unlike other linked_ptr implementations, in this implementation // a linked_ptr object is thread-safe in the sense that: // - it's safe to copy linked_ptr objects concurrently, // - it's safe to copy *from* a linked_ptr and read its underlying // raw pointer (e.g. via get()) concurrently, and // - it's safe to write to two linked_ptrs that point to the same // shared object concurrently. // TODO(wan@google.com): rename this to safe_linked_ptr to avoid // confusion with normal linked_ptr. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_LINKED_PTR_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_LINKED_PTR_H_ #include #include #include "gtest/internal/gtest-port.h" namespace testing { namespace internal { // Protects copying of all linked_ptr objects. GTEST_API_ GTEST_DECLARE_STATIC_MUTEX_(g_linked_ptr_mutex); // This is used internally by all instances of linked_ptr<>. It needs to be // a non-template class because different types of linked_ptr<> can refer to // the same object (linked_ptr(obj) vs linked_ptr(obj)). // So, it needs to be possible for different types of linked_ptr to participate // in the same circular linked list, so we need a single class type here. // // DO NOT USE THIS CLASS DIRECTLY YOURSELF. Use linked_ptr. class linked_ptr_internal { public: // Create a new circle that includes only this instance. void join_new() { next_ = this; } // Many linked_ptr operations may change p.link_ for some linked_ptr // variable p in the same circle as this object. Therefore we need // to prevent two such operations from occurring concurrently. // // Note that different types of linked_ptr objects can coexist in a // circle (e.g. linked_ptr, linked_ptr, and // linked_ptr). Therefore we must use a single mutex to // protect all linked_ptr objects. This can create serious // contention in production code, but is acceptable in a testing // framework. // Join an existing circle. void join(linked_ptr_internal const* ptr) GTEST_LOCK_EXCLUDED_(g_linked_ptr_mutex) { MutexLock lock(&g_linked_ptr_mutex); linked_ptr_internal const* p = ptr; while (p->next_ != ptr) p = p->next_; p->next_ = this; next_ = ptr; } // Leave whatever circle we're part of. Returns true if we were the // last member of the circle. Once this is done, you can join() another. bool depart() GTEST_LOCK_EXCLUDED_(g_linked_ptr_mutex) { MutexLock lock(&g_linked_ptr_mutex); if (next_ == this) return true; linked_ptr_internal const* p = next_; while (p->next_ != this) p = p->next_; p->next_ = next_; return false; } private: mutable linked_ptr_internal const* next_; }; template class linked_ptr { public: typedef T element_type; // Take over ownership of a raw pointer. This should happen as soon as // possible after the object is created. explicit linked_ptr(T* ptr = NULL) { capture(ptr); } ~linked_ptr() { depart(); } // Copy an existing linked_ptr<>, adding ourselves to the list of references. template linked_ptr(linked_ptr const& ptr) { copy(&ptr); } linked_ptr(linked_ptr const& ptr) { // NOLINT assert(&ptr != this); copy(&ptr); } // Assignment releases the old value and acquires the new. template linked_ptr& operator=(linked_ptr const& ptr) { depart(); copy(&ptr); return *this; } linked_ptr& operator=(linked_ptr const& ptr) { if (&ptr != this) { depart(); copy(&ptr); } return *this; } // Smart pointer members. void reset(T* ptr = NULL) { depart(); capture(ptr); } T* get() const { return value_; } T* operator->() const { return value_; } T& operator*() const { return *value_; } bool operator==(T* p) const { return value_ == p; } bool operator!=(T* p) const { return value_ != p; } template bool operator==(linked_ptr const& ptr) const { return value_ == ptr.get(); } template bool operator!=(linked_ptr const& ptr) const { return value_ != ptr.get(); } private: template friend class linked_ptr; T* value_; linked_ptr_internal link_; void depart() { if (link_.depart()) delete value_; } void capture(T* ptr) { value_ = ptr; link_.join_new(); } template void copy(linked_ptr const* ptr) { value_ = ptr->get(); if (value_) link_.join(&ptr->link_); else link_.join_new(); } }; template inline bool operator==(T* ptr, const linked_ptr& x) { return ptr == x.get(); } template inline bool operator!=(T* ptr, const linked_ptr& x) { return ptr != x.get(); } // A function to convert T* into linked_ptr // Doing e.g. make_linked_ptr(new FooBarBaz(arg)) is a shorter notation // for linked_ptr >(new FooBarBaz(arg)) template linked_ptr make_linked_ptr(T* ptr) { return linked_ptr(ptr); } } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_LINKED_PTR_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-param-util-generated.h.pump0000644000175200017520000002231012277666257026051 00000000000000$$ -*- mode: c++; -*- $var n = 50 $$ Maximum length of Values arguments we want to support. $var maxtuple = 10 $$ Maximum number of Combine arguments we want to support. // Copyright 2008 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: vladl@google.com (Vlad Losev) // Type and function utilities for implementing parameterized tests. // This file is generated by a SCRIPT. DO NOT EDIT BY HAND! // // Currently Google Test supports at most $n arguments in Values, // and at most $maxtuple arguments in Combine. Please contact // googletestframework@googlegroups.com if you need more. // Please note that the number of arguments to Combine is limited // by the maximum arity of the implementation of tr1::tuple which is // currently set at $maxtuple. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ // scripts/fuse_gtest.py depends on gtest's own header being #included // *unconditionally*. Therefore these #includes cannot be moved // inside #if GTEST_HAS_PARAM_TEST. #include "gtest/internal/gtest-param-util.h" #include "gtest/internal/gtest-port.h" #if GTEST_HAS_PARAM_TEST namespace testing { // Forward declarations of ValuesIn(), which is implemented in // include/gtest/gtest-param-test.h. template internal::ParamGenerator< typename ::testing::internal::IteratorTraits::value_type> ValuesIn(ForwardIterator begin, ForwardIterator end); template internal::ParamGenerator ValuesIn(const T (&array)[N]); template internal::ParamGenerator ValuesIn( const Container& container); namespace internal { // Used in the Values() function to provide polymorphic capabilities. template class ValueArray1 { public: explicit ValueArray1(T1 v1) : v1_(v1) {} template operator ParamGenerator() const { return ValuesIn(&v1_, &v1_ + 1); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray1& other); const T1 v1_; }; $range i 2..n $for i [[ $range j 1..i template <$for j, [[typename T$j]]> class ValueArray$i { public: ValueArray$i($for j, [[T$j v$j]]) : $for j, [[v$(j)_(v$j)]] {} template operator ParamGenerator() const { const T array[] = {$for j, [[static_cast(v$(j)_)]]}; return ValuesIn(array); } private: // No implementation - assignment is unsupported. void operator=(const ValueArray$i& other); $for j [[ const T$j v$(j)_; ]] }; ]] # if GTEST_HAS_COMBINE // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Generates values from the Cartesian product of values produced // by the argument generators. // $range i 2..maxtuple $for i [[ $range j 1..i $range k 2..i template <$for j, [[typename T$j]]> class CartesianProductGenerator$i : public ParamGeneratorInterface< ::std::tr1::tuple<$for j, [[T$j]]> > { public: typedef ::std::tr1::tuple<$for j, [[T$j]]> ParamType; CartesianProductGenerator$i($for j, [[const ParamGenerator& g$j]]) : $for j, [[g$(j)_(g$j)]] {} virtual ~CartesianProductGenerator$i() {} virtual ParamIteratorInterface* Begin() const { return new Iterator(this, $for j, [[g$(j)_, g$(j)_.begin()]]); } virtual ParamIteratorInterface* End() const { return new Iterator(this, $for j, [[g$(j)_, g$(j)_.end()]]); } private: class Iterator : public ParamIteratorInterface { public: Iterator(const ParamGeneratorInterface* base, $for j, [[ const ParamGenerator& g$j, const typename ParamGenerator::iterator& current$(j)]]) : base_(base), $for j, [[ begin$(j)_(g$j.begin()), end$(j)_(g$j.end()), current$(j)_(current$j) ]] { ComputeCurrentValue(); } virtual ~Iterator() {} virtual const ParamGeneratorInterface* BaseGenerator() const { return base_; } // Advance should not be called on beyond-of-range iterators // so no component iterators must be beyond end of range, either. virtual void Advance() { assert(!AtEnd()); ++current$(i)_; $for k [[ if (current$(i+2-k)_ == end$(i+2-k)_) { current$(i+2-k)_ = begin$(i+2-k)_; ++current$(i+2-k-1)_; } ]] ComputeCurrentValue(); } virtual ParamIteratorInterface* Clone() const { return new Iterator(*this); } virtual const ParamType* Current() const { return ¤t_value_; } virtual bool Equals(const ParamIteratorInterface& other) const { // Having the same base generator guarantees that the other // iterator is of the same type and we can downcast. GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) << "The program attempted to compare iterators " << "from different generators." << std::endl; const Iterator* typed_other = CheckedDowncastToActualType(&other); // We must report iterators equal if they both point beyond their // respective ranges. That can happen in a variety of fashions, // so we have to consult AtEnd(). return (AtEnd() && typed_other->AtEnd()) || ($for j && [[ current$(j)_ == typed_other->current$(j)_ ]]); } private: Iterator(const Iterator& other) : base_(other.base_), $for j, [[ begin$(j)_(other.begin$(j)_), end$(j)_(other.end$(j)_), current$(j)_(other.current$(j)_) ]] { ComputeCurrentValue(); } void ComputeCurrentValue() { if (!AtEnd()) current_value_ = ParamType($for j, [[*current$(j)_]]); } bool AtEnd() const { // We must report iterator past the end of the range when either of the // component iterators has reached the end of its range. return $for j || [[ current$(j)_ == end$(j)_ ]]; } // No implementation - assignment is unsupported. void operator=(const Iterator& other); const ParamGeneratorInterface* const base_; // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. // current[i]_ is the actual traversing iterator. $for j [[ const typename ParamGenerator::iterator begin$(j)_; const typename ParamGenerator::iterator end$(j)_; typename ParamGenerator::iterator current$(j)_; ]] ParamType current_value_; }; // class CartesianProductGenerator$i::Iterator // No implementation - assignment is unsupported. void operator=(const CartesianProductGenerator$i& other); $for j [[ const ParamGenerator g$(j)_; ]] }; // class CartesianProductGenerator$i ]] // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Helper classes providing Combine() with polymorphic features. They allow // casting CartesianProductGeneratorN to ParamGenerator if T is // convertible to U. // $range i 2..maxtuple $for i [[ $range j 1..i template <$for j, [[class Generator$j]]> class CartesianProductHolder$i { public: CartesianProductHolder$i($for j, [[const Generator$j& g$j]]) : $for j, [[g$(j)_(g$j)]] {} template <$for j, [[typename T$j]]> operator ParamGenerator< ::std::tr1::tuple<$for j, [[T$j]]> >() const { return ParamGenerator< ::std::tr1::tuple<$for j, [[T$j]]> >( new CartesianProductGenerator$i<$for j, [[T$j]]>( $for j,[[ static_cast >(g$(j)_) ]])); } private: // No implementation - assignment is unsupported. void operator=(const CartesianProductHolder$i& other); $for j [[ const Generator$j g$(j)_; ]] }; // class CartesianProductHolder$i ]] # endif // GTEST_HAS_COMBINE } // namespace internal } // namespace testing #endif // GTEST_HAS_PARAM_TEST #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ stimfit-0.14.11/src/test/gtest/include/gtest/internal/gtest-death-test-internal.h0000644000175200017520000003216512277666257024747 00000000000000// Copyright 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Authors: wan@google.com (Zhanyong Wan), eefacm@gmail.com (Sean Mcafee) // // The Google C++ Testing Framework (Google Test) // // This header file defines internal utilities needed for implementing // death tests. They are subject to change without notice. #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_DEATH_TEST_INTERNAL_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_DEATH_TEST_INTERNAL_H_ #include "gtest/internal/gtest-internal.h" #include namespace testing { namespace internal { GTEST_DECLARE_string_(internal_run_death_test); // Names of the flags (needed for parsing Google Test flags). const char kDeathTestStyleFlag[] = "death_test_style"; const char kDeathTestUseFork[] = "death_test_use_fork"; const char kInternalRunDeathTestFlag[] = "internal_run_death_test"; #if GTEST_HAS_DEATH_TEST // DeathTest is a class that hides much of the complexity of the // GTEST_DEATH_TEST_ macro. It is abstract; its static Create method // returns a concrete class that depends on the prevailing death test // style, as defined by the --gtest_death_test_style and/or // --gtest_internal_run_death_test flags. // In describing the results of death tests, these terms are used with // the corresponding definitions: // // exit status: The integer exit information in the format specified // by wait(2) // exit code: The integer code passed to exit(3), _exit(2), or // returned from main() class GTEST_API_ DeathTest { public: // Create returns false if there was an error determining the // appropriate action to take for the current death test; for example, // if the gtest_death_test_style flag is set to an invalid value. // The LastMessage method will return a more detailed message in that // case. Otherwise, the DeathTest pointer pointed to by the "test" // argument is set. If the death test should be skipped, the pointer // is set to NULL; otherwise, it is set to the address of a new concrete // DeathTest object that controls the execution of the current test. static bool Create(const char* statement, const RE* regex, const char* file, int line, DeathTest** test); DeathTest(); virtual ~DeathTest() { } // A helper class that aborts a death test when it's deleted. class ReturnSentinel { public: explicit ReturnSentinel(DeathTest* test) : test_(test) { } ~ReturnSentinel() { test_->Abort(TEST_ENCOUNTERED_RETURN_STATEMENT); } private: DeathTest* const test_; GTEST_DISALLOW_COPY_AND_ASSIGN_(ReturnSentinel); } GTEST_ATTRIBUTE_UNUSED_; // An enumeration of possible roles that may be taken when a death // test is encountered. EXECUTE means that the death test logic should // be executed immediately. OVERSEE means that the program should prepare // the appropriate environment for a child process to execute the death // test, then wait for it to complete. enum TestRole { OVERSEE_TEST, EXECUTE_TEST }; // An enumeration of the three reasons that a test might be aborted. enum AbortReason { TEST_ENCOUNTERED_RETURN_STATEMENT, TEST_THREW_EXCEPTION, TEST_DID_NOT_DIE }; // Assumes one of the above roles. virtual TestRole AssumeRole() = 0; // Waits for the death test to finish and returns its status. virtual int Wait() = 0; // Returns true if the death test passed; that is, the test process // exited during the test, its exit status matches a user-supplied // predicate, and its stderr output matches a user-supplied regular // expression. // The user-supplied predicate may be a macro expression rather // than a function pointer or functor, or else Wait and Passed could // be combined. virtual bool Passed(bool exit_status_ok) = 0; // Signals that the death test did not die as expected. virtual void Abort(AbortReason reason) = 0; // Returns a human-readable outcome message regarding the outcome of // the last death test. static const char* LastMessage(); static void set_last_death_test_message(const std::string& message); private: // A string containing a description of the outcome of the last death test. static std::string last_death_test_message_; GTEST_DISALLOW_COPY_AND_ASSIGN_(DeathTest); }; // Factory interface for death tests. May be mocked out for testing. class DeathTestFactory { public: virtual ~DeathTestFactory() { } virtual bool Create(const char* statement, const RE* regex, const char* file, int line, DeathTest** test) = 0; }; // A concrete DeathTestFactory implementation for normal use. class DefaultDeathTestFactory : public DeathTestFactory { public: virtual bool Create(const char* statement, const RE* regex, const char* file, int line, DeathTest** test); }; // Returns true if exit_status describes a process that was terminated // by a signal, or exited normally with a nonzero exit code. GTEST_API_ bool ExitedUnsuccessfully(int exit_status); // Traps C++ exceptions escaping statement and reports them as test // failures. Note that trapping SEH exceptions is not implemented here. # if GTEST_HAS_EXCEPTIONS # define GTEST_EXECUTE_DEATH_TEST_STATEMENT_(statement, death_test) \ try { \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ } catch (const ::std::exception& gtest_exception) { \ fprintf(\ stderr, \ "\n%s: Caught std::exception-derived exception escaping the " \ "death test statement. Exception message: %s\n", \ ::testing::internal::FormatFileLocation(__FILE__, __LINE__).c_str(), \ gtest_exception.what()); \ fflush(stderr); \ death_test->Abort(::testing::internal::DeathTest::TEST_THREW_EXCEPTION); \ } catch (...) { \ death_test->Abort(::testing::internal::DeathTest::TEST_THREW_EXCEPTION); \ } # else # define GTEST_EXECUTE_DEATH_TEST_STATEMENT_(statement, death_test) \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement) # endif // This macro is for implementing ASSERT_DEATH*, EXPECT_DEATH*, // ASSERT_EXIT*, and EXPECT_EXIT*. # define GTEST_DEATH_TEST_(statement, predicate, regex, fail) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ const ::testing::internal::RE& gtest_regex = (regex); \ ::testing::internal::DeathTest* gtest_dt; \ if (!::testing::internal::DeathTest::Create(#statement, >est_regex, \ __FILE__, __LINE__, >est_dt)) { \ goto GTEST_CONCAT_TOKEN_(gtest_label_, __LINE__); \ } \ if (gtest_dt != NULL) { \ ::testing::internal::scoped_ptr< ::testing::internal::DeathTest> \ gtest_dt_ptr(gtest_dt); \ switch (gtest_dt->AssumeRole()) { \ case ::testing::internal::DeathTest::OVERSEE_TEST: \ if (!gtest_dt->Passed(predicate(gtest_dt->Wait()))) { \ goto GTEST_CONCAT_TOKEN_(gtest_label_, __LINE__); \ } \ break; \ case ::testing::internal::DeathTest::EXECUTE_TEST: { \ ::testing::internal::DeathTest::ReturnSentinel \ gtest_sentinel(gtest_dt); \ GTEST_EXECUTE_DEATH_TEST_STATEMENT_(statement, gtest_dt); \ gtest_dt->Abort(::testing::internal::DeathTest::TEST_DID_NOT_DIE); \ break; \ } \ default: \ break; \ } \ } \ } else \ GTEST_CONCAT_TOKEN_(gtest_label_, __LINE__): \ fail(::testing::internal::DeathTest::LastMessage()) // The symbol "fail" here expands to something into which a message // can be streamed. // This macro is for implementing ASSERT/EXPECT_DEBUG_DEATH when compiled in // NDEBUG mode. In this case we need the statements to be executed, the regex is // ignored, and the macro must accept a streamed message even though the message // is never printed. # define GTEST_EXECUTE_STATEMENT_(statement, regex) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ } else \ ::testing::Message() // A class representing the parsed contents of the // --gtest_internal_run_death_test flag, as it existed when // RUN_ALL_TESTS was called. class InternalRunDeathTestFlag { public: InternalRunDeathTestFlag(const std::string& a_file, int a_line, int an_index, int a_write_fd) : file_(a_file), line_(a_line), index_(an_index), write_fd_(a_write_fd) {} ~InternalRunDeathTestFlag() { if (write_fd_ >= 0) posix::Close(write_fd_); } const std::string& file() const { return file_; } int line() const { return line_; } int index() const { return index_; } int write_fd() const { return write_fd_; } private: std::string file_; int line_; int index_; int write_fd_; GTEST_DISALLOW_COPY_AND_ASSIGN_(InternalRunDeathTestFlag); }; // Returns a newly created InternalRunDeathTestFlag object with fields // initialized from the GTEST_FLAG(internal_run_death_test) flag if // the flag is specified; otherwise returns NULL. InternalRunDeathTestFlag* ParseInternalRunDeathTestFlag(); #else // GTEST_HAS_DEATH_TEST // This macro is used for implementing macros such as // EXPECT_DEATH_IF_SUPPORTED and ASSERT_DEATH_IF_SUPPORTED on systems where // death tests are not supported. Those macros must compile on such systems // iff EXPECT_DEATH and ASSERT_DEATH compile with the same parameters on // systems that support death tests. This allows one to write such a macro // on a system that does not support death tests and be sure that it will // compile on a death-test supporting system. // // Parameters: // statement - A statement that a macro such as EXPECT_DEATH would test // for program termination. This macro has to make sure this // statement is compiled but not executed, to ensure that // EXPECT_DEATH_IF_SUPPORTED compiles with a certain // parameter iff EXPECT_DEATH compiles with it. // regex - A regex that a macro such as EXPECT_DEATH would use to test // the output of statement. This parameter has to be // compiled but not evaluated by this macro, to ensure that // this macro only accepts expressions that a macro such as // EXPECT_DEATH would accept. // terminator - Must be an empty statement for EXPECT_DEATH_IF_SUPPORTED // and a return statement for ASSERT_DEATH_IF_SUPPORTED. // This ensures that ASSERT_DEATH_IF_SUPPORTED will not // compile inside functions where ASSERT_DEATH doesn't // compile. // // The branch that has an always false condition is used to ensure that // statement and regex are compiled (and thus syntactically correct) but // never executed. The unreachable code macro protects the terminator // statement from generating an 'unreachable code' warning in case // statement unconditionally returns or throws. The Message constructor at // the end allows the syntax of streaming additional messages into the // macro, for compilational compatibility with EXPECT_DEATH/ASSERT_DEATH. # define GTEST_UNSUPPORTED_DEATH_TEST_(statement, regex, terminator) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (::testing::internal::AlwaysTrue()) { \ GTEST_LOG_(WARNING) \ << "Death tests are not supported on this platform.\n" \ << "Statement '" #statement "' cannot be verified."; \ } else if (::testing::internal::AlwaysFalse()) { \ ::testing::internal::RE::PartialMatch(".*", (regex)); \ GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ terminator; \ } else \ ::testing::Message() #endif // GTEST_HAS_DEATH_TEST } // namespace internal } // namespace testing #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_DEATH_TEST_INTERNAL_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest_pred_impl.h0000644000175200017520000003545112277666257021315 00000000000000// Copyright 2006, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // This file is AUTOMATICALLY GENERATED on 10/31/2011 by command // 'gen_gtest_pred_impl.py 5'. DO NOT EDIT BY HAND! // // Implements a family of generic predicate assertion macros. #ifndef GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ #define GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ // Makes sure this header is not included before gtest.h. #ifndef GTEST_INCLUDE_GTEST_GTEST_H_ # error Do not include gtest_pred_impl.h directly. Include gtest.h instead. #endif // GTEST_INCLUDE_GTEST_GTEST_H_ // This header implements a family of generic predicate assertion // macros: // // ASSERT_PRED_FORMAT1(pred_format, v1) // ASSERT_PRED_FORMAT2(pred_format, v1, v2) // ... // // where pred_format is a function or functor that takes n (in the // case of ASSERT_PRED_FORMATn) values and their source expression // text, and returns a testing::AssertionResult. See the definition // of ASSERT_EQ in gtest.h for an example. // // If you don't care about formatting, you can use the more // restrictive version: // // ASSERT_PRED1(pred, v1) // ASSERT_PRED2(pred, v1, v2) // ... // // where pred is an n-ary function or functor that returns bool, // and the values v1, v2, ..., must support the << operator for // streaming to std::ostream. // // We also define the EXPECT_* variations. // // For now we only support predicates whose arity is at most 5. // Please email googletestframework@googlegroups.com if you need // support for higher arities. // GTEST_ASSERT_ is the basic statement to which all of the assertions // in this file reduce. Don't use this in your code. #define GTEST_ASSERT_(expression, on_failure) \ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ if (const ::testing::AssertionResult gtest_ar = (expression)) \ ; \ else \ on_failure(gtest_ar.failure_message()) // Helper function for implementing {EXPECT|ASSERT}_PRED1. Don't use // this in your code. template AssertionResult AssertPred1Helper(const char* pred_text, const char* e1, Pred pred, const T1& v1) { if (pred(v1)) return AssertionSuccess(); return AssertionFailure() << pred_text << "(" << e1 << ") evaluates to false, where" << "\n" << e1 << " evaluates to " << v1; } // Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT1. // Don't use this in your code. #define GTEST_PRED_FORMAT1_(pred_format, v1, on_failure)\ GTEST_ASSERT_(pred_format(#v1, v1), \ on_failure) // Internal macro for implementing {EXPECT|ASSERT}_PRED1. Don't use // this in your code. #define GTEST_PRED1_(pred, v1, on_failure)\ GTEST_ASSERT_(::testing::AssertPred1Helper(#pred, \ #v1, \ pred, \ v1), on_failure) // Unary predicate assertion macros. #define EXPECT_PRED_FORMAT1(pred_format, v1) \ GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_NONFATAL_FAILURE_) #define EXPECT_PRED1(pred, v1) \ GTEST_PRED1_(pred, v1, GTEST_NONFATAL_FAILURE_) #define ASSERT_PRED_FORMAT1(pred_format, v1) \ GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_FATAL_FAILURE_) #define ASSERT_PRED1(pred, v1) \ GTEST_PRED1_(pred, v1, GTEST_FATAL_FAILURE_) // Helper function for implementing {EXPECT|ASSERT}_PRED2. Don't use // this in your code. template AssertionResult AssertPred2Helper(const char* pred_text, const char* e1, const char* e2, Pred pred, const T1& v1, const T2& v2) { if (pred(v1, v2)) return AssertionSuccess(); return AssertionFailure() << pred_text << "(" << e1 << ", " << e2 << ") evaluates to false, where" << "\n" << e1 << " evaluates to " << v1 << "\n" << e2 << " evaluates to " << v2; } // Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT2. // Don't use this in your code. #define GTEST_PRED_FORMAT2_(pred_format, v1, v2, on_failure)\ GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \ on_failure) // Internal macro for implementing {EXPECT|ASSERT}_PRED2. Don't use // this in your code. #define GTEST_PRED2_(pred, v1, v2, on_failure)\ GTEST_ASSERT_(::testing::AssertPred2Helper(#pred, \ #v1, \ #v2, \ pred, \ v1, \ v2), on_failure) // Binary predicate assertion macros. #define EXPECT_PRED_FORMAT2(pred_format, v1, v2) \ GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_) #define EXPECT_PRED2(pred, v1, v2) \ GTEST_PRED2_(pred, v1, v2, GTEST_NONFATAL_FAILURE_) #define ASSERT_PRED_FORMAT2(pred_format, v1, v2) \ GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_) #define ASSERT_PRED2(pred, v1, v2) \ GTEST_PRED2_(pred, v1, v2, GTEST_FATAL_FAILURE_) // Helper function for implementing {EXPECT|ASSERT}_PRED3. Don't use // this in your code. template AssertionResult AssertPred3Helper(const char* pred_text, const char* e1, const char* e2, const char* e3, Pred pred, const T1& v1, const T2& v2, const T3& v3) { if (pred(v1, v2, v3)) return AssertionSuccess(); return AssertionFailure() << pred_text << "(" << e1 << ", " << e2 << ", " << e3 << ") evaluates to false, where" << "\n" << e1 << " evaluates to " << v1 << "\n" << e2 << " evaluates to " << v2 << "\n" << e3 << " evaluates to " << v3; } // Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT3. // Don't use this in your code. #define GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, on_failure)\ GTEST_ASSERT_(pred_format(#v1, #v2, #v3, v1, v2, v3), \ on_failure) // Internal macro for implementing {EXPECT|ASSERT}_PRED3. Don't use // this in your code. #define GTEST_PRED3_(pred, v1, v2, v3, on_failure)\ GTEST_ASSERT_(::testing::AssertPred3Helper(#pred, \ #v1, \ #v2, \ #v3, \ pred, \ v1, \ v2, \ v3), on_failure) // Ternary predicate assertion macros. #define EXPECT_PRED_FORMAT3(pred_format, v1, v2, v3) \ GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_NONFATAL_FAILURE_) #define EXPECT_PRED3(pred, v1, v2, v3) \ GTEST_PRED3_(pred, v1, v2, v3, GTEST_NONFATAL_FAILURE_) #define ASSERT_PRED_FORMAT3(pred_format, v1, v2, v3) \ GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_FATAL_FAILURE_) #define ASSERT_PRED3(pred, v1, v2, v3) \ GTEST_PRED3_(pred, v1, v2, v3, GTEST_FATAL_FAILURE_) // Helper function for implementing {EXPECT|ASSERT}_PRED4. Don't use // this in your code. template AssertionResult AssertPred4Helper(const char* pred_text, const char* e1, const char* e2, const char* e3, const char* e4, Pred pred, const T1& v1, const T2& v2, const T3& v3, const T4& v4) { if (pred(v1, v2, v3, v4)) return AssertionSuccess(); return AssertionFailure() << pred_text << "(" << e1 << ", " << e2 << ", " << e3 << ", " << e4 << ") evaluates to false, where" << "\n" << e1 << " evaluates to " << v1 << "\n" << e2 << " evaluates to " << v2 << "\n" << e3 << " evaluates to " << v3 << "\n" << e4 << " evaluates to " << v4; } // Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT4. // Don't use this in your code. #define GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, on_failure)\ GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, v1, v2, v3, v4), \ on_failure) // Internal macro for implementing {EXPECT|ASSERT}_PRED4. Don't use // this in your code. #define GTEST_PRED4_(pred, v1, v2, v3, v4, on_failure)\ GTEST_ASSERT_(::testing::AssertPred4Helper(#pred, \ #v1, \ #v2, \ #v3, \ #v4, \ pred, \ v1, \ v2, \ v3, \ v4), on_failure) // 4-ary predicate assertion macros. #define EXPECT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) #define EXPECT_PRED4(pred, v1, v2, v3, v4) \ GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) #define ASSERT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) #define ASSERT_PRED4(pred, v1, v2, v3, v4) \ GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) // Helper function for implementing {EXPECT|ASSERT}_PRED5. Don't use // this in your code. template AssertionResult AssertPred5Helper(const char* pred_text, const char* e1, const char* e2, const char* e3, const char* e4, const char* e5, Pred pred, const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5) { if (pred(v1, v2, v3, v4, v5)) return AssertionSuccess(); return AssertionFailure() << pred_text << "(" << e1 << ", " << e2 << ", " << e3 << ", " << e4 << ", " << e5 << ") evaluates to false, where" << "\n" << e1 << " evaluates to " << v1 << "\n" << e2 << " evaluates to " << v2 << "\n" << e3 << " evaluates to " << v3 << "\n" << e4 << " evaluates to " << v4 << "\n" << e5 << " evaluates to " << v5; } // Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT5. // Don't use this in your code. #define GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, on_failure)\ GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, #v5, v1, v2, v3, v4, v5), \ on_failure) // Internal macro for implementing {EXPECT|ASSERT}_PRED5. Don't use // this in your code. #define GTEST_PRED5_(pred, v1, v2, v3, v4, v5, on_failure)\ GTEST_ASSERT_(::testing::AssertPred5Helper(#pred, \ #v1, \ #v2, \ #v3, \ #v4, \ #v5, \ pred, \ v1, \ v2, \ v3, \ v4, \ v5), on_failure) // 5-ary predicate assertion macros. #define EXPECT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) #define EXPECT_PRED5(pred, v1, v2, v3, v4, v5) \ GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) #define ASSERT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) #define ASSERT_PRED5(pred, v1, v2, v3, v4, v5) \ GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) #endif // GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-spi.h0000644000175200017520000002334012277666257020045 00000000000000// Copyright 2007, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) // // Utilities for testing Google Test itself and code that uses Google Test // (e.g. frameworks built on top of Google Test). #ifndef GTEST_INCLUDE_GTEST_GTEST_SPI_H_ #define GTEST_INCLUDE_GTEST_GTEST_SPI_H_ #include "gtest/gtest.h" namespace testing { // This helper class can be used to mock out Google Test failure reporting // so that we can test Google Test or code that builds on Google Test. // // An object of this class appends a TestPartResult object to the // TestPartResultArray object given in the constructor whenever a Google Test // failure is reported. It can either intercept only failures that are // generated in the same thread that created this object or it can intercept // all generated failures. The scope of this mock object can be controlled with // the second argument to the two arguments constructor. class GTEST_API_ ScopedFakeTestPartResultReporter : public TestPartResultReporterInterface { public: // The two possible mocking modes of this object. enum InterceptMode { INTERCEPT_ONLY_CURRENT_THREAD, // Intercepts only thread local failures. INTERCEPT_ALL_THREADS // Intercepts all failures. }; // The c'tor sets this object as the test part result reporter used // by Google Test. The 'result' parameter specifies where to report the // results. This reporter will only catch failures generated in the current // thread. DEPRECATED explicit ScopedFakeTestPartResultReporter(TestPartResultArray* result); // Same as above, but you can choose the interception scope of this object. ScopedFakeTestPartResultReporter(InterceptMode intercept_mode, TestPartResultArray* result); // The d'tor restores the previous test part result reporter. virtual ~ScopedFakeTestPartResultReporter(); // Appends the TestPartResult object to the TestPartResultArray // received in the constructor. // // This method is from the TestPartResultReporterInterface // interface. virtual void ReportTestPartResult(const TestPartResult& result); private: void Init(); const InterceptMode intercept_mode_; TestPartResultReporterInterface* old_reporter_; TestPartResultArray* const result_; GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedFakeTestPartResultReporter); }; namespace internal { // A helper class for implementing EXPECT_FATAL_FAILURE() and // EXPECT_NONFATAL_FAILURE(). Its destructor verifies that the given // TestPartResultArray contains exactly one failure that has the given // type and contains the given substring. If that's not the case, a // non-fatal failure will be generated. class GTEST_API_ SingleFailureChecker { public: // The constructor remembers the arguments. SingleFailureChecker(const TestPartResultArray* results, TestPartResult::Type type, const string& substr); ~SingleFailureChecker(); private: const TestPartResultArray* const results_; const TestPartResult::Type type_; const string substr_; GTEST_DISALLOW_COPY_AND_ASSIGN_(SingleFailureChecker); }; } // namespace internal } // namespace testing // A set of macros for testing Google Test assertions or code that's expected // to generate Google Test fatal failures. It verifies that the given // statement will cause exactly one fatal Google Test failure with 'substr' // being part of the failure message. // // There are two different versions of this macro. EXPECT_FATAL_FAILURE only // affects and considers failures generated in the current thread and // EXPECT_FATAL_FAILURE_ON_ALL_THREADS does the same but for all threads. // // The verification of the assertion is done correctly even when the statement // throws an exception or aborts the current function. // // Known restrictions: // - 'statement' cannot reference local non-static variables or // non-static members of the current object. // - 'statement' cannot return a value. // - You cannot stream a failure message to this macro. // // Note that even though the implementations of the following two // macros are much alike, we cannot refactor them to use a common // helper macro, due to some peculiarity in how the preprocessor // works. The AcceptsMacroThatExpandsToUnprotectedComma test in // gtest_unittest.cc will fail to compile if we do that. #define EXPECT_FATAL_FAILURE(statement, substr) \ do { \ class GTestExpectFatalFailureHelper {\ public:\ static void Execute() { statement; }\ };\ ::testing::TestPartResultArray gtest_failures;\ ::testing::internal::SingleFailureChecker gtest_checker(\ >est_failures, ::testing::TestPartResult::kFatalFailure, (substr));\ {\ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ ::testing::ScopedFakeTestPartResultReporter:: \ INTERCEPT_ONLY_CURRENT_THREAD, >est_failures);\ GTestExpectFatalFailureHelper::Execute();\ }\ } while (::testing::internal::AlwaysFalse()) #define EXPECT_FATAL_FAILURE_ON_ALL_THREADS(statement, substr) \ do { \ class GTestExpectFatalFailureHelper {\ public:\ static void Execute() { statement; }\ };\ ::testing::TestPartResultArray gtest_failures;\ ::testing::internal::SingleFailureChecker gtest_checker(\ >est_failures, ::testing::TestPartResult::kFatalFailure, (substr));\ {\ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ ::testing::ScopedFakeTestPartResultReporter:: \ INTERCEPT_ALL_THREADS, >est_failures);\ GTestExpectFatalFailureHelper::Execute();\ }\ } while (::testing::internal::AlwaysFalse()) // A macro for testing Google Test assertions or code that's expected to // generate Google Test non-fatal failures. It asserts that the given // statement will cause exactly one non-fatal Google Test failure with 'substr' // being part of the failure message. // // There are two different versions of this macro. EXPECT_NONFATAL_FAILURE only // affects and considers failures generated in the current thread and // EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS does the same but for all threads. // // 'statement' is allowed to reference local variables and members of // the current object. // // The verification of the assertion is done correctly even when the statement // throws an exception or aborts the current function. // // Known restrictions: // - You cannot stream a failure message to this macro. // // Note that even though the implementations of the following two // macros are much alike, we cannot refactor them to use a common // helper macro, due to some peculiarity in how the preprocessor // works. If we do that, the code won't compile when the user gives // EXPECT_NONFATAL_FAILURE() a statement that contains a macro that // expands to code containing an unprotected comma. The // AcceptsMacroThatExpandsToUnprotectedComma test in gtest_unittest.cc // catches that. // // For the same reason, we have to write // if (::testing::internal::AlwaysTrue()) { statement; } // instead of // GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement) // to avoid an MSVC warning on unreachable code. #define EXPECT_NONFATAL_FAILURE(statement, substr) \ do {\ ::testing::TestPartResultArray gtest_failures;\ ::testing::internal::SingleFailureChecker gtest_checker(\ >est_failures, ::testing::TestPartResult::kNonFatalFailure, \ (substr));\ {\ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ ::testing::ScopedFakeTestPartResultReporter:: \ INTERCEPT_ONLY_CURRENT_THREAD, >est_failures);\ if (::testing::internal::AlwaysTrue()) { statement; }\ }\ } while (::testing::internal::AlwaysFalse()) #define EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS(statement, substr) \ do {\ ::testing::TestPartResultArray gtest_failures;\ ::testing::internal::SingleFailureChecker gtest_checker(\ >est_failures, ::testing::TestPartResult::kNonFatalFailure, \ (substr));\ {\ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ ::testing::ScopedFakeTestPartResultReporter::INTERCEPT_ALL_THREADS, \ >est_failures);\ if (::testing::internal::AlwaysTrue()) { statement; }\ }\ } while (::testing::internal::AlwaysFalse()) #endif // GTEST_INCLUDE_GTEST_GTEST_SPI_H_ stimfit-0.14.11/src/test/gtest/include/gtest/gtest-typed-test.h0000644000175200017520000002400212277666257021350 00000000000000// Copyright 2008 Google Inc. // All Rights Reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: wan@google.com (Zhanyong Wan) #ifndef GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_ #define GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_ // This header implements typed tests and type-parameterized tests. // Typed (aka type-driven) tests repeat the same test for types in a // list. You must know which types you want to test with when writing // typed tests. Here's how you do it: #if 0 // First, define a fixture class template. It should be parameterized // by a type. Remember to derive it from testing::Test. template class FooTest : public testing::Test { public: ... typedef std::list List; static T shared_; T value_; }; // Next, associate a list of types with the test case, which will be // repeated for each type in the list. The typedef is necessary for // the macro to parse correctly. typedef testing::Types MyTypes; TYPED_TEST_CASE(FooTest, MyTypes); // If the type list contains only one type, you can write that type // directly without Types<...>: // TYPED_TEST_CASE(FooTest, int); // Then, use TYPED_TEST() instead of TEST_F() to define as many typed // tests for this test case as you want. TYPED_TEST(FooTest, DoesBlah) { // Inside a test, refer to TypeParam to get the type parameter. // Since we are inside a derived class template, C++ requires use to // visit the members of FooTest via 'this'. TypeParam n = this->value_; // To visit static members of the fixture, add the TestFixture:: // prefix. n += TestFixture::shared_; // To refer to typedefs in the fixture, add the "typename // TestFixture::" prefix. typename TestFixture::List values; values.push_back(n); ... } TYPED_TEST(FooTest, HasPropertyA) { ... } #endif // 0 // Type-parameterized tests are abstract test patterns parameterized // by a type. Compared with typed tests, type-parameterized tests // allow you to define the test pattern without knowing what the type // parameters are. The defined pattern can be instantiated with // different types any number of times, in any number of translation // units. // // If you are designing an interface or concept, you can define a // suite of type-parameterized tests to verify properties that any // valid implementation of the interface/concept should have. Then, // each implementation can easily instantiate the test suite to verify // that it conforms to the requirements, without having to write // similar tests repeatedly. Here's an example: #if 0 // First, define a fixture class template. It should be parameterized // by a type. Remember to derive it from testing::Test. template class FooTest : public testing::Test { ... }; // Next, declare that you will define a type-parameterized test case // (the _P suffix is for "parameterized" or "pattern", whichever you // prefer): TYPED_TEST_CASE_P(FooTest); // Then, use TYPED_TEST_P() to define as many type-parameterized tests // for this type-parameterized test case as you want. TYPED_TEST_P(FooTest, DoesBlah) { // Inside a test, refer to TypeParam to get the type parameter. TypeParam n = 0; ... } TYPED_TEST_P(FooTest, HasPropertyA) { ... } // Now the tricky part: you need to register all test patterns before // you can instantiate them. The first argument of the macro is the // test case name; the rest are the names of the tests in this test // case. REGISTER_TYPED_TEST_CASE_P(FooTest, DoesBlah, HasPropertyA); // Finally, you are free to instantiate the pattern with the types you // want. If you put the above code in a header file, you can #include // it in multiple C++ source files and instantiate it multiple times. // // To distinguish different instances of the pattern, the first // argument to the INSTANTIATE_* macro is a prefix that will be added // to the actual test case name. Remember to pick unique prefixes for // different instances. typedef testing::Types MyTypes; INSTANTIATE_TYPED_TEST_CASE_P(My, FooTest, MyTypes); // If the type list contains only one type, you can write that type // directly without Types<...>: // INSTANTIATE_TYPED_TEST_CASE_P(My, FooTest, int); #endif // 0 #include "gtest/internal/gtest-port.h" #include "gtest/internal/gtest-type-util.h" // Implements typed tests. #if GTEST_HAS_TYPED_TEST // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Expands to the name of the typedef for the type parameters of the // given test case. # define GTEST_TYPE_PARAMS_(TestCaseName) gtest_type_params_##TestCaseName##_ // The 'Types' template argument below must have spaces around it // since some compilers may choke on '>>' when passing a template // instance (e.g. Types) # define TYPED_TEST_CASE(CaseName, Types) \ typedef ::testing::internal::TypeList< Types >::type \ GTEST_TYPE_PARAMS_(CaseName) # define TYPED_TEST(CaseName, TestName) \ template \ class GTEST_TEST_CLASS_NAME_(CaseName, TestName) \ : public CaseName { \ private: \ typedef CaseName TestFixture; \ typedef gtest_TypeParam_ TypeParam; \ virtual void TestBody(); \ }; \ bool gtest_##CaseName##_##TestName##_registered_ GTEST_ATTRIBUTE_UNUSED_ = \ ::testing::internal::TypeParameterizedTest< \ CaseName, \ ::testing::internal::TemplateSel< \ GTEST_TEST_CLASS_NAME_(CaseName, TestName)>, \ GTEST_TYPE_PARAMS_(CaseName)>::Register(\ "", #CaseName, #TestName, 0); \ template \ void GTEST_TEST_CLASS_NAME_(CaseName, TestName)::TestBody() #endif // GTEST_HAS_TYPED_TEST // Implements type-parameterized tests. #if GTEST_HAS_TYPED_TEST_P // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Expands to the namespace name that the type-parameterized tests for // the given type-parameterized test case are defined in. The exact // name of the namespace is subject to change without notice. # define GTEST_CASE_NAMESPACE_(TestCaseName) \ gtest_case_##TestCaseName##_ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. // // Expands to the name of the variable used to remember the names of // the defined tests in the given test case. # define GTEST_TYPED_TEST_CASE_P_STATE_(TestCaseName) \ gtest_typed_test_case_p_state_##TestCaseName##_ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE DIRECTLY. // // Expands to the name of the variable used to remember the names of // the registered tests in the given test case. # define GTEST_REGISTERED_TEST_NAMES_(TestCaseName) \ gtest_registered_test_names_##TestCaseName##_ // The variables defined in the type-parameterized test macros are // static as typically these macros are used in a .h file that can be // #included in multiple translation units linked together. # define TYPED_TEST_CASE_P(CaseName) \ static ::testing::internal::TypedTestCasePState \ GTEST_TYPED_TEST_CASE_P_STATE_(CaseName) # define TYPED_TEST_P(CaseName, TestName) \ namespace GTEST_CASE_NAMESPACE_(CaseName) { \ template \ class TestName : public CaseName { \ private: \ typedef CaseName TestFixture; \ typedef gtest_TypeParam_ TypeParam; \ virtual void TestBody(); \ }; \ static bool gtest_##TestName##_defined_ GTEST_ATTRIBUTE_UNUSED_ = \ GTEST_TYPED_TEST_CASE_P_STATE_(CaseName).AddTestName(\ __FILE__, __LINE__, #CaseName, #TestName); \ } \ template \ void GTEST_CASE_NAMESPACE_(CaseName)::TestName::TestBody() # define REGISTER_TYPED_TEST_CASE_P(CaseName, ...) \ namespace GTEST_CASE_NAMESPACE_(CaseName) { \ typedef ::testing::internal::Templates<__VA_ARGS__>::type gtest_AllTests_; \ } \ static const char* const GTEST_REGISTERED_TEST_NAMES_(CaseName) = \ GTEST_TYPED_TEST_CASE_P_STATE_(CaseName).VerifyRegisteredTestNames(\ __FILE__, __LINE__, #__VA_ARGS__) // The 'Types' template argument below must have spaces around it // since some compilers may choke on '>>' when passing a template // instance (e.g. Types) # define INSTANTIATE_TYPED_TEST_CASE_P(Prefix, CaseName, Types) \ bool gtest_##Prefix##_##CaseName GTEST_ATTRIBUTE_UNUSED_ = \ ::testing::internal::TypeParameterizedTestCase::type>::Register(\ #Prefix, #CaseName, GTEST_REGISTERED_TEST_NAMES_(CaseName)) #endif // GTEST_HAS_TYPED_TEST_P #endif // GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_ stimfit-0.14.11/src/test/section.cpp0000644000175200017520000000123412277666257014224 00000000000000#include "../libstfio/stfio.h" #include TEST(Section_test, constructors) { Section sec0; EXPECT_EQ( sec0.size(), 0 ); Section sec1(Vector_double(32768, 0), "Test section"); EXPECT_EQ( sec1.size(), 32768 ); Section sec2(32768, "Test section"); EXPECT_EQ( sec2.size(), 32768 ); } TEST(Section_test, data_access) { Section sec1(Vector_double(32768, 0), "Test section"); EXPECT_EQ( sec1[sec1.size()-1], 0 ); EXPECT_THROW( sec1.at( sec1.size() ), std::out_of_range ); Section sec2(32768, "Test section"); EXPECT_EQ( sec2[sec2.size()-1], 0 ); EXPECT_THROW( sec2.at( sec2.size() ), std::out_of_range ); } stimfit-0.14.11/src/test/recording.cpp0000644000175200017520000000420112475053170014511 00000000000000#include "../libstfio/stfio.h" #include TEST(Recording_test, constructors) { Recording rec0; EXPECT_EQ( rec0.size(), 0 ); std::deque
sec_list(16, Section(32768)); Channel ch(sec_list); Recording rec1(ch); EXPECT_EQ( rec1.size(), 1 ); EXPECT_EQ( rec1[0].size(), 16 ); EXPECT_EQ( rec1[0][0].size(), 32768 ); std::deque ch_list(4, Channel(16, 32768)); Recording rec2(ch_list); EXPECT_EQ( rec2.size(), 4 ); EXPECT_EQ( rec2[rec2.size()-1].size(), 16 ); EXPECT_EQ( rec2[rec2.size()-1][rec2[rec2.size()-1].size()-1].size(), 32768 ); Recording rec3(4, 16, 32768); EXPECT_EQ( rec3.size(), 4 ); EXPECT_EQ( rec3[rec3.size()-1].size(), 16 ); EXPECT_EQ( rec3[rec3.size()-1][rec3[rec3.size()-1].size()-1].size(), 32768 ); } TEST(Recording_test, data_access) { std::deque
sec_list(16, Section(32768)); Channel ch(sec_list); Recording rec1(ch); int chsize = rec1[0].size(); int secsize = rec1[0][rec1[0].size()-1].size(); EXPECT_EQ( rec1[0][chsize-1][secsize-1], 0 ); EXPECT_THROW( rec1.at(1), std::out_of_range ); EXPECT_THROW( rec1[0].at(chsize), std::out_of_range ); EXPECT_THROW( rec1[0][chsize-1].at(secsize), std::out_of_range ); std::deque ch_list(4, Channel(16, 32768)); Recording rec2(ch_list); int recsize = rec2.size(); chsize = rec2[recsize-1].size(); secsize = rec2[recsize-1][rec2[recsize-1].size()-1].size(); EXPECT_EQ( rec2[recsize-1][chsize-1][secsize-1], 0 ); EXPECT_THROW( rec2.at(recsize), std::out_of_range ); EXPECT_THROW( rec2[recsize-1].at(chsize), std::out_of_range ); EXPECT_THROW( rec2[recsize-1][chsize-1].at(secsize), std::out_of_range ); Recording rec3(4, 16, 32768); recsize = rec3.size(); chsize = rec3[recsize-1].size(); secsize = rec3[recsize-1][rec3[recsize-1].size()-1].size(); EXPECT_EQ( rec3[recsize-1][chsize-1][secsize-1], 0 ); EXPECT_THROW( rec3.at(recsize), std::out_of_range ); EXPECT_THROW( rec3[recsize-1].at(chsize), std::out_of_range ); EXPECT_THROW( rec3[recsize-1][chsize-1].at(secsize), std::out_of_range ); } stimfit-0.14.11/src/test/fit.cpp0000644000175200017520000007011112475053170013322 00000000000000#include "../stimfit/stf.h" #include "../libstfnum/fit.h" #include "../libstfnum/funclib.h" #include #include #include /* global variables to define our data */ const static int tmax = 100; /* length of data in ms */ const static float dt = 1/100.0; /* sampling interval of data in ms */ //const static double tol = 0.001; /* param-relative tolerance value */ const static float tol = dt; /* 1 sampling interval */ /* list of available fitting functions, see /src/stimfit/math/funclib.cpp */ const static std::vector< stfnum::storedFunc > funcLib = stfnum::GetFuncLib(); /* Fitting options for the LM algorithm, see /src/stimfit/math/fit.h */ const Vector_double opts = stfnum::LM_default_opts(); //========================================================================= // Simple monoexponential function // available for fitting to function 0, and 1 of Stimfit // param is an array of parameters, where // param[0] is the amplitude (peak-offset), // param[1] is the time constant, // param[2] is the end (offset) //========================================================================= Vector_double fexp_simple(const Vector_double ¶m){ Vector_double mydata (int (tmax/dt)); double amp = param[0]; double tau = param[1]; double end = param[2]; for (std::vector::size_type n=0; n != mydata.size() ; ++n){ mydata[n] = amp*exp(-(n*dt)/tau) + end; } return mydata; } //========================================================================= // Monoexponential function with delay, start fixed to baseline // available for fitting to function 2 of Stimfit // param is an array of parameters, where // param[0] is the baseline, // param[1] is the delay, // param[2] is the time constant, // param[3] is the amplitude //========================================================================= Vector_double fexpde(const Vector_double ¶m){ Vector_double mydata (int (tmax/dt)); for (std::vector::size_type n=0; n != mydata.size(); ++n){ mydata[n] = stfnum::fexpde(n*dt, param); } return mydata; } //========================================================================= // Monoexponential function with delay, start fixed to baseline // available for fitting to function 3, 4, 6, 7 and 8 of Stimfit // param is an array of parameters, where // event terms (e.g param[0]) are the amplitudes, // odd terms (e.g param[1]) are the time constants, // param[last] is the offset //========================================================================= Vector_double fexp(const Vector_double ¶m){ Vector_double mydata (int (tmax/dt)); for (std::vector::size_type n=0; n != mydata.size(); ++n){ mydata[n] = stfnum::fexp(n*dt, param); } return mydata; } //========================================================================= // Biexponential function with offset to baseline // corresponding to fitting function 5 of Stimfit // param is an array of parameters, where // param[0] is the baseline, // param[1] is the delay, // param[2] is the slow time constant (e.g tau_h, tau_2) // param[3] is the factor, // param[4] is the fast time constant (e.g tau_m, tau_1) //========================================================================= Vector_double fexpbde(const Vector_double ¶m){ Vector_double mydata (int(tmax/dt)); for (std::vector::size_type n=0; n != mydata.size(); ++n){ mydata[n] = stfnum::fexpbde(n*dt, param); } return mydata; } //========================================================================= // Alpha function with offset to baseline // corresponding to fitting function 9 of Stimfit // param is an array of parameters, where // param[0] is the amplitude, // param[1] is the rate, // param[2] is the offset //========================================================================= Vector_double falpha(const Vector_double ¶m){ Vector_double mydata (int(tmax/dt)); for (std::vector::size_type n=0; n != mydata.size(); ++n){ mydata[n] = stfnum::falpha(n*dt, param); } return mydata; } //========================================================================= // Hodkin-Huxley-like sodium conductance function of the form: // f(v;Na_bar, m, h, base) = Na_bar*m(v)^3*h(v) + base // corresponding to fitting function 10 of Stimfit // param is an array of parameters, where // param[0] is the peak sodium conductance // param[1] is the activation time constant (tau_m) // param[2] is the inactivation time constant (tau_h) // param[3] is the offset //========================================================================= Vector_double fHH(const Vector_double ¶m){ Vector_double mydata (int(tmax/dt)); for (std::vector::size_type n=0; n != mydata.size(); ++n){ mydata[n] = stfnum::fHH(n*dt, param); } return mydata; } //========================================================================= // Hodkin-Huxley-like sodium conductance function of the form: // f(v;Na_bar, m, h, base) = Na_bar*m(v)*h(v) + base // corresponding to fitting function 11 of Stimfit // param is an array of parameters, where // param[0] is the peak sodium conductance // param[1] is the activation time constant (tau_m) // param[2] is the inactivation time constant (tau_h) // param[3] is the offset //========================================================================= Vector_double fgnabiexp(const Vector_double ¶m){ Vector_double mydata (int(tmax/dt)); for (std::vector::size_type n=0; n != mydata.size(); ++n){ mydata[n] = stfnum::fgnabiexp(n*dt, param); } return mydata; } //========================================================================= // A gaussian function of the form // f(x, a, b, c) = a*exp((x-b)^2/2*c^2) // corresponding to the fitting function 12 of Stimfit // param in an array of parameters, where // param[0] is the heigth of the Gaussian function (a) // param[1] is the position of the peak (b) // param[2] is the width of the gaussian (c) //========================================================================= Vector_double fgauss(const Vector_double ¶m){ Vector_double mydata (int(tmax/dt)); for (std::vector::size_type n=0; n != mydata.size(); ++n){ mydata[n] = stfnum::fgauss(n*dt, param); } return mydata; } #if 0 void savetxt(const char *fname, Vector_double &mydata){ std::ofstream output_file; output_file.open(fname); Vector_double::iterator it; for (it = mydata.begin(); it != mydata.end(); ++it){ output_file << *it << std::endl; } output_file.close(); } void debug_stdout(double chisqr, const std::string& info, int warning, const Vector_double &pars){ int fd = open("debug.log", O_WRONLY|O_CREAT|O_TRUNC, 0660); assert(fd >= 0); int ret = dup2(fd, 1); assert(ret >= 0); std::cout << "chisqr = " << chisqr << std::endl; std::cout << "info = " << info << std::endl; std::cout << "warning = " << warning << std::endl; for (std::vector::size_type n = 0; n != pars.size(); ++n) { std::cout << "Pars[" << n << "] = " << pars[n] << std::endl; } close(fd); } #endif void par_test(double value, double expected, double tolerance) { EXPECT_NEAR(value, expected, fabs(expected*tolerance) ); } // Tests fiting to a monoexponential function TEST(fitlib_test, monoexponential) { double tau = 3000.0; Vector_double data(32768); for (int n = 0; n < data.size(); ++n) { data[n] = 1.0-exp(-n/tau); } // Respectively the scale factor for initial \mu, // stopping thresholds for ||J^T e||_inf, ||Dp||_2 and ||e||_2, // maxIter, maxPass Vector_double opts = stfnum::LM_default_opts(); /* Initial parameter guesses */ Vector_double pars(3); pars[0] = -0.1; pars[1] = 3050.0; pars[2] = 1.1; std::string info; int warning; double chisqr = stfnum::lmFit(data, 1.0, funcLib[0], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], -1.0, tol); /* Amplitude */ par_test(pars[1], tau, tol); /* Time constant */ par_test(pars[2], 1.0, tol); /* Baseline */ #if 0 int fd = open("debug.log", O_WRONLY|O_CREAT|O_TRUNC, 0660); assert(fd >= 0); int ret = dup2(fd, 1); assert(ret >= 0); std::cout << "chisqr = " << chisqr << std::endl; std::cout << "info = " << info << std::endl; std::cout << "warning = " << warning << std::endl; for (int n = 0; n < pars.size(); ++n) { std::cout << "Pars[" << n << "] = " << pars[n] << std::endl; } close(fd); #endif } //========================================================================= // Tests fitting to a monoexponential function // Stimfit function with ID = 0 //========================================================================= TEST(fitlib_test, id_00_monoexponential){ /* choose function parameters */ Vector_double mypars(3); mypars[0] = 50.0; /* amplitude */ mypars[1] = 17.0; /* time constant */ mypars[2] = -20.0; /* end */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexp_simple(mypars); /* Initial parameters guesses */ Vector_double pars(3); pars[0] = 0.0; /* Offset */ pars[1] = 5.0; /* Tau_0 */ pars[2] = -35.0; /* Amp_0 */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[0], opts, true, /* use_scaling */ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* Amp_0 */ par_test(pars[1], mypars[1], tol); /* Tau_0 */ par_test(pars[2], mypars[2], tol); /* Offset */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a monoexponential function, offset fixed to baseline // Stimfit function with ID = 1 //========================================================================= TEST(fitlib_test, id_01_monoexponential_offsetfixed){ /* choose function parameters */ Vector_double mypars(3); mypars[0] = 80.0; /* amplitude */ mypars[1] = 34.0; /* time constant */ mypars[2] = -5.52; /* offset */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexp_simple(mypars); #if 0 savetxt("/tmp/monoexp1.out", data); #endif /* Initial parameters guesses */ Vector_double pars(3); pars[0] = 35.5232; /* Amp_0 */ pars[1] = 14.6059; /* Tau_0 */ pars[2] = mypars[2]; /* Offset fixed to baseline */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[1], opts, true, /* use_scaling */ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* Amp_0 */ par_test(pars[1], mypars[1], tol); /* Tau_0 */ EXPECT_EQ(pars[2], mypars[2]); /* Offset to baseline */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a monoexponential function with delay, start to base // Stimfit function with ID = 2 //========================================================================= TEST(fitlib_test, id_02_monoexponential_with_delay){ /* choose function parameters */ Vector_double mypars(4); mypars[0] = 10.0; /* baseline */ mypars[1] = 15.0; /* delay */ mypars[2] = 17.0; /* time constant */ mypars[3] = 90.0; /* amplitude */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexpde(mypars); #if 0 savetxt(data); #endif /* Initial parameter guesses */ Vector_double pars(4); pars[0] = mypars[0]; pars[1] = 5.0; pars[2] = 50.0; pars[3] = 21.0; std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[2], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* baseline */ par_test(pars[1], mypars[1], tol); /* delay */ par_test(pars[2], mypars[2], tol); /* time constant */ par_test(pars[3], mypars[3], tol); /* amplitude */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a biexponential // Stimfit function with ID = 3 //========================================================================= TEST(fitlib_test, id_03_biexponential){ /* choose function parameters */ Vector_double mypars(5); mypars[0] = 9.0; /* first amplitude */ mypars[1] = 2.0; /* first time constant */ mypars[2] = 1.0; /* second amplitude */ mypars[3] = 15.0; /* second time constant */ mypars[4] = 4.0; /* baseline */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexp(mypars); #if 0 savetxt("/tmp/mybiexp3.out", data); #endif /* Initial parameter guesses */ Vector_double pars(5); pars[0] = 4.86764; /* Amp_0 */ pars[1] = 2.44482; /* Tau_0 */ pars[2] = 4.86764; /* Amp_1 */ pars[3] = 19.5586; /* Tau_1 */ pars[4] = 4.26472; /* Offset */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[3], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* Amp_0 */ par_test(pars[1], mypars[1], tol); /* Tau_0 */ par_test(pars[2], mypars[2], tol); /* Amp_1 */ par_test(pars[3], mypars[3], tol); /* Tau_1 */ par_test(pars[4], mypars[4], tol); /* Offset */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a biexponential offset fixed to baseline // Stimfit function with ID = 4 //========================================================================= TEST(fitlib_test, id_04_biexponential_offsetfixed){ /* choose function parameters */ Vector_double mypars(5); mypars[0] = 16.0; /* first amplitude */ mypars[1] = 2.6; /* first time constant */ mypars[2] = 12.0; /* second amplitude */ mypars[3] = 15.0; /* second time constant */ mypars[4] = 4.0; /* baseline */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexp(mypars); #if 0 savetxt("/tmp/mybiexp3.out", data); #endif /* Initial parameter guesses */ Vector_double pars(5); pars[0] = 4.86764; /* Amp_0 */ pars[1] = 2.44482; /* Tau_0 */ pars[2] = 4.86764; /* Amp_1 */ pars[3] = 19.5586; /* Tau_1 */ pars[4] = 4.0; /* Offset */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[4], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* Amp_0 */ par_test(pars[1], mypars[1], tol); /* Tau_0 */ par_test(pars[2], mypars[2], tol); /* Amp_1 */ par_test(pars[3], mypars[3], tol); /* Tau_1 */ EXPECT_EQ(pars[4], mypars[4]); /* Offset */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a biexponential with delay, offset fixed to baseline // Stimfit function with ID = 5 //========================================================================= TEST(fitlib_test, id_05_biexponential_with_delay_offsetfixed){ /* choose function parameters */ Vector_double mypars(5); mypars[0] = 0.0; /* baseline */ mypars[1] = 25.0; /* Delay */ mypars[2] = 10.0; /* fast time constant */ mypars[3] = 25.0; /* Factor */ mypars[4] = 50.0; /* slow time constant */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexpbde(mypars); /* Initial parameter guesses */ Vector_double pars(5); pars[0] = mypars[0]; /* offset fixed to baseline! */ pars[1] = 0.1; /* Delay */ pars[2] = 19.925; /* tau1 */ pars[3] = 20.0; /* Factor */ pars[4] = 24.9875; /* tau2 */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[5], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); EXPECT_EQ(pars[0], mypars[0]); /* Offset fixed to baseline */ par_test(pars[1], mypars[1], tol); /* delay */ par_test(pars[2], mypars[2], tol); /* short time constant */ par_test(pars[3], mypars[3], tol); /* Factor != amplitude */ par_test(pars[4], mypars[4], tol); /* long time constant */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a triexponential // Stimfit function with ID = 6 //========================================================================= TEST(fitlib_test, id_06_triexponential){ /* choose function parameters */ Vector_double mypars(7); mypars[0] = 5.76; /* first amplitude */ mypars[1] = 3.37; /* first time constant */ mypars[2] = 5.76; /* second amplitude */ mypars[3] = 26.9; /* second time constant */ mypars[4] = 5.76; /* third amplitude */ mypars[5] = 91.0; /* third time constant */ mypars[6] = 5.07; /* baseline */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexp(mypars); #if 0 savetxt("/tmp/mytriexp6.out", data); #endif /* Initial parameter guesses */ Vector_double pars(7); pars[0] = 4.86764; /* Amp_0 */ pars[1] = 6.44482; /* Tau_0 */ pars[2] = 4.86764; /* Amp_1 */ pars[3] = 49.5586; /* Tau_1 */ pars[4] = 4.86764; /* Amp_2 */ pars[5] = 165.5586; /* Tau_2 */ pars[6] = 6.55319; /* Offset */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[6], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* Amp_0 */ par_test(pars[1], mypars[1], tol); /* Tau_0 */ par_test(pars[2], mypars[2], tol); /* Amp_1 */ par_test(pars[3], mypars[3], tol); /* Tau_1 */ par_test(pars[4], mypars[4], tol); /* Amp_2 */ par_test(pars[5], mypars[5], tol); /* Tau_2 */ par_test(pars[6], mypars[6], tol); /* Offset */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a triexponential free // Stimfit function with ID = 7 //========================================================================= TEST(fitlib_test, id_07_triexponential_free){ /* choose function parameters */ Vector_double mypars(7); mypars[0] = 15.76; /* first amplitude */ mypars[1] = 3.7; /* first time constant */ mypars[2] = 19.76; /* second amplitude */ mypars[3] = 21.9; /* second time constant */ mypars[4] = 2.76; /* third amplitude */ mypars[5] = 42.2; /* third time constant */ mypars[6] = -45.22; /* baseline */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexp(mypars); #if 0 savetxt("/tmp/mytriexp7.out", data); #endif /* Initial parameter guesses */ Vector_double pars(7); pars[0] = 4.86764; /* Amp_0 */ pars[1] = 6.44482; /* Tau_0 */ pars[2] = 4.86764; /* Amp_1 */ pars[3] = 49.5586; /* Tau_1 */ pars[4] = 4.86764; /* Amp_2 */ pars[5] = 65.5586; /* Tau_2 */ pars[6] = -34.242; /* Offset fixed to baseline */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[7], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* Amp_0 */ par_test(pars[1], mypars[1], tol); /* Tau_0 */ par_test(pars[2], mypars[2], tol); /* Amp_1 */ par_test(pars[3], mypars[3], tol); /* Tau_1 */ par_test(pars[4], mypars[4], tol); /* Amp_2 */ par_test(pars[5], mypars[5], tol); /* Tau_2 */ par_test(pars[6], mypars[6], tol); /* Offset */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a triexponential with offset fixed to baseline // Stimfit function with ID = 8 //========================================================================= TEST(fitlib_test, id_08_triexponential_offsetfixed){ /* choose function parameters */ Vector_double mypars(7); mypars[0] = 5.76; /* first amplitude */ mypars[1] = 3.37; /* first time constant */ mypars[2] = 9.76; /* second amplitude */ mypars[3] = 21.9; /* second time constant */ mypars[4] = 5.76; /* third amplitude */ mypars[5] = 41.0; /* third time constant */ mypars[6] = -5.12; /* baseline */ /* create a 100 ms trace with mypars */ Vector_double data; data = fexp(mypars); #if 0 savetxt("/tmp/mytriexp8.out", data); #endif /* Initial parameter guesses */ Vector_double pars(7); pars[0] = 4.86764; /* Amp_0 */ pars[1] = 6.44482; /* Tau_0 */ pars[2] = 4.86764; /* Amp_1 */ pars[3] = 49.5586; /* Tau_1 */ pars[4] = 4.86764; /* Amp_2 */ pars[5] = 165.5586; /* Tau_2 */ pars[6] = mypars[6]; /* Offset fixed to baseline */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[8], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* Amp_0 */ par_test(pars[1], mypars[1], tol); /* Tau_0 */ par_test(pars[2], mypars[2], tol); /* Amp_1 */ par_test(pars[3], mypars[3], tol); /* Tau_1 */ par_test(pars[4], mypars[4], tol); /* Amp_2 */ par_test(pars[5], mypars[5], tol); /* Tau_2 */ EXPECT_EQ(pars[6], mypars[6]); /* Offset */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to an alpha function, // Stimfit function with ID = 9 //========================================================================= TEST(fitlib_test, id_09_alpha){ /* choose function parameters */ Vector_double mypars(3); mypars[0] = 300.0; /* amplitude */ mypars[1] = 5.7; /* rate */ mypars[2] = 50.0; /* offset */ /* create a 100 ms trace with mypars */ Vector_double data; data = falpha(mypars); #if 0 savetxt(data); #endif /* Initial parameter guesses */ Vector_double pars(3); pars[0] = 350.0; /* amplitude */ pars[1] = 3.7; /* rate */ pars[2] = 0.0; /* Offset */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[9], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* amplitude */ par_test(pars[1], mypars[1], tol); /* rate */ par_test(pars[2], mypars[2], tol); /* offset */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a HH-type sodium conductance, offset fixed to baseline // Stimfit function with ID =10 //========================================================================= TEST(fitlib_test, id_10_HH_gNa_offsetfixed){ /* choose function parameters */ Vector_double mypars(4); mypars[0] = 120.0; /* maximal sodium conductance */ mypars[1] = 130e-3; /* activation time constat (tau_m_) in us */ mypars[2] = 728e-3; /* inactivation time constant in us */ mypars[3] = 0.0; /* offset */ /* create a 100 ms trace with mypars */ /* here the x-units and x-axis values are not relevant */ Vector_double data; data = fHH(mypars); #if 0 savetxt("/tmp/gnabar.out", data); #endif /* Initial parameter guesses */ Vector_double pars(4); pars[0] = 1000.72; /* gprime_na */ pars[1] = 0.2001; /* tau_m */ pars[2] = 8.0; /* tau_h */ pars[3] = mypars[3]; /* offset fixed to baseline */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[10], opts, true, /* use_scaling */ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* gprime_na */ par_test(pars[1], mypars[1], tol); /* tau_m */ par_test(pars[2], mypars[2], tol); /* tau_h */ EXPECT_EQ(pars[3], mypars[3]); /* offset fixed to baseline */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a HH-type SINGLE sodium conductance, offset fixed to // baseline, Stimfit function with ID =11 //========================================================================= TEST(fitlib_test, id_11_HH_gNa_biexpoffsetfixed){ /* choose function parameters */ Vector_double mypars(4); mypars[0] = 120.0; /* maximal sodium conductance */ mypars[1] = 1.3; /* activation time constat (tau_m_) in us */ mypars[2] = 5.2; /* inactivation time constant in us */ mypars[3] = 10.0; /* offset */ /* create a 100 ms trace with mypars */ Vector_double data; data = fgnabiexp(mypars); #if 0 savetxt("/tmp/gnabar_single.out", data); #endif /* Initial parameter guesses */ Vector_double pars(4); pars[0] = 123.284; /* gprime_na */ pars[1] = 2.625; /* tau_m */ pars[2] = 15.75; /* tau_h */ pars[3] = mypars[3]; /* offset fixed to baseline */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[11], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* gprime_na */ par_test(pars[1], mypars[1], tol); /* tau_m */ par_test(pars[2], mypars[2], tol); /* tau_h */ EXPECT_EQ(pars[3], mypars[3]); /* offset fixed to baseline */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif data.clear(); } //========================================================================= // Tests fitting to a gaussian distribution // Stimfit function with ID =12 //========================================================================= TEST(fitlib_test, id_12_fgaussian){ /* choose function parameters */ Vector_double mypars(3); mypars[0] = 1.5; /* height */ mypars[1] = 5.0; /* peak */ mypars[2] = 4.5; /* width */ /* create a trace with mypars */ Vector_double data; data = fgauss(mypars); #if 0 savetxt("/tmp/mygaussian.out", data); #endif /* Initial parameter guesses */ Vector_double pars(3); pars[0] = 1.72; /* amplitude */ pars[1] = 5.5; /* mean */ pars[2] = 2.0; /* width */ std::string info; int warning; double chisqr = stfnum::lmFit(data, dt, funcLib[12], opts, true, /*use_scaling*/ pars, info, warning ); EXPECT_EQ(warning, 0); par_test(pars[0], mypars[0], tol); /* amplitude */ par_test(pars[1], mypars[1], tol); /* peak */ par_test(pars[2], mypars[2], tol); /* witdth */ #if 0 debug_stdout(chisqr, info, warning, pars); #endif //data.clear(); } stimfit-0.14.11/src/pystfio/0000755000175200017520000000000012623045305012626 500000000000000stimfit-0.14.11/src/pystfio/pystfio.cxx0000755000175200017520000001236312475053163015005 00000000000000#include #include #if 0 //def _WINDOWS #ifdef _DEBUG #undef _DEBUG #define _UNDEBUG #endif #endif #ifdef _POSIX_C_SOURCE #define _POSIX_C_SOURCE_WAS_DEF #undef _POSIX_C_SOURCE #endif #ifdef _XOPEN_SOURCE #define _XOPEN_SOURCE_WAS_DEF #undef _XOPEN_SOURCE #endif #include #ifdef _POSIX_C_SOURCE_WAS_DEF #ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE #endif #endif #ifdef _XOPEN_SOURCE_WAS_DEF #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE #endif #endif #include #include #if 0//def _WINDOWS #ifdef _UNDEBUG #define _DEBUG #endif #endif #include "./../libstfnum/fit.h" #include "pystfio.h" #if PY_MAJOR_VERSION >= 3 int wrap_array() { import_array(); return 0; } #else void wrap_array() { import_array(); } #endif stfio::filetype gettype(const std::string& ftype) { stfio::filetype stftype = stfio::none; if (ftype == "cfs") { stftype = stfio::cfs; } else if (ftype == "hdf5") { stftype = stfio::hdf5; } else if (ftype == "abf") { stftype = stfio::abf; } else if (ftype == "atf") { stftype = stfio::atf; } else if (ftype == "axg") { stftype = stfio::axg; } else if (ftype == "biosig") { stftype = stfio::biosig; } else if (ftype == "gdf") { stftype = stfio::biosig; } else if (ftype == "heka") { stftype = stfio::heka; } else if (ftype == "igor") { stftype = stfio::igor; } else { stftype = stfio::none; } return stftype; } bool _read(const std::string& filename, const std::string& ftype, bool verbose, Recording& Data) { #ifndef TEST_MINIMAL stfio::filetype stftype = gettype(ftype); #else const stfio::filetype stftype = stfio::none; #endif // TEST_MINIMAL stfio::txtImportSettings tis; stfio::StdoutProgressInfo progDlg("File import", "Starting file import", 100, verbose); try { if (!stfio::importFile(filename, stftype, Data, tis, progDlg)) { std::cerr << "Error importing file\n"; return false; } } catch (const std::exception& e) { std::cerr << "Error importing file:\n" << e.what() << std::endl; return false; } return true; } PyObject* detect_events(double* data, int size_data, double* templ, int size_templ, double dt, const std::string& mode, bool norm, double lowpass, double highpass) { wrap_array(); Vector_double vtempl(templ, &templ[size_templ]); if (norm) { double fmin = *std::min_element(vtempl.begin(), vtempl.end()); double fmax = *std::max_element(vtempl.begin(), vtempl.end()); double basel = 0; double normval = 1.0; if (fabs(fmin) > fabs(fmax)) { basel = fmax; } else { basel = fmin; } vtempl = stfio::vec_scal_minus(vtempl, basel); fmin = *std::min_element(vtempl.begin(), vtempl.end()); fmax = *std::max_element(vtempl.begin(), vtempl.end()); if (fabs(fmin) > fabs(fmax)) { normval = fabs(fmin); } else { normval = fabs(fmax); } vtempl = stfio::vec_scal_div(vtempl, normval); } Vector_double trace(data, &data[size_data]); Vector_double detect(size_data); if (mode=="criterion") { stfio::StdoutProgressInfo progDlg("Computing detection criterion...", "Computing detection criterion...", 100, true); detect = stfnum::detectionCriterion(trace, vtempl, progDlg); } else if (mode=="correlation") { stfio::StdoutProgressInfo progDlg("Computing linear correlation...", "Computing linear correlation...", 100, true); detect = stfnum::linCorr(trace, vtempl, progDlg); } else if (mode=="deconvolution") { stfio::StdoutProgressInfo progDlg("Computing detection criterion...", "Computing detection criterion...", 100, true); try { detect = stfnum::deconvolve(trace, vtempl, 1.0/dt, highpass, lowpass, progDlg); } catch (const std::runtime_error& e) { std::cerr << e.what() << std::endl; return Py_BuildValue(""); } } npy_intp dims[1] = {(int)detect.size()}; PyObject* np_array = PyArray_SimpleNew(1, dims, NPY_DOUBLE); double* gDataP = (double*)array_data(np_array); /* fill */ std::copy(detect.begin(), detect.end(), gDataP); return np_array; } PyObject* peak_detection(double* invec, int size, double threshold, int min_distance) { wrap_array(); Vector_double data(invec, &invec[size]); std::vector peak_idcs = stfnum::peakIndices(data, threshold, min_distance); npy_intp dims[1] = {(int)peak_idcs.size()}; PyObject* np_array = PyArray_SimpleNew(1, dims, NPY_INT); if (sizeof(int) == 4) { int* gDataP = (int*)array_data(np_array); /* fill */ std::copy(peak_idcs.begin(), peak_idcs.end(), gDataP); return np_array; } else if (sizeof(short) == 4) { short* gDataP = (short*)array_data(np_array); /* fill */ std::copy(peak_idcs.begin(), peak_idcs.end(), gDataP); return np_array; } else { std::cerr << "Couldn't find 4-byte integer type\n"; return NULL; } } stimfit-0.14.11/src/pystfio/unittest_stfio.py0000644000175200017520000000715412277666257016236 00000000000000""" unittest_stfio.py Tue, 20 Jul 2010 09:38:19 +0200 The unittest for stfio module created by Christoph, the stfio module is a Stimfit-independent python module to read/write electrophysiological data from/to different file formats. Note that to execute this test you need the following files: test.h5 test.abf test.dat These files correspond to the same recording with different file extensions; the recording contains the following properties: Number of channels = 4 Number of traces = 3 Sampling interval = 0.05 """ import numpy as np import unittest import stfio rec = stfio.read('test.h5') class DataListTest(unittest.TestCase): def testReadH5(self): """ testReadH5() Read HDF5 file system """ try: rec = stfio.read('test.h5') except SyntaxError: rec = None # test if Recording object was created self.assertTrue(True, isinstance(rec, stfio.Recording)) # def testReadCFS(self): # """ testReadCFS() Read CED filling system files""" # try: # rec = stfio.read('test.dat') # except SyntaxError: # rec = None # # test if Recording object was created # self.assertTrue(True, isinstance(rec, stfio.Recording)) # def testReadATF(self): # """ testReadATF() Read ABF files""" # try: # rec = stfio.read('test.atf') # except SyntaxError: # rec = None # # test if Recording object was created # self.assertTrue(True, isinstance(rec, stfio.Recording)) def testReadStfException(self): """ Raises a StfException if file format to read is not supported""" # should raise an StfIOException if filetype is not supported self.assertRaises(stfio.StfIOException, stfio.read, 'test.txt') def testWrite(self): """ testWrite() Returns False if file format to write is not supported""" # should raise an StfException if filetype is not supported rec = stfio.read('test.h5') res = rec.write('new.abf', 'abf') self.assertEquals(False, res) def testNumberofChannels(self): """ testNumberofChannels() returns the number of channels """ self.assertEquals(4,len(rec)) def testNumberofSections(self): """ testNumberofSections() returns the number of channels """ self.assertEquals(3,len(rec[0])) def testNumberofDataPoints(self): """ testNumberofDataPoints() returns the number of sampling points """ self.assertEquals(40000,len(rec[0][0])) def testunits(self): """ testunits() returns the units in the X/Y axis """ self.assertEquals('mV',rec[0].yunits) self.assertEquals('pA',rec[1].yunits) self.assertEquals('ms',rec.xunits) def testArrayCreation(self): """ testArrayCreation() creation of a numpy array""" self.assertTrue(type(rec[0][0].asarray()), type(np.empty(0))) def testChannelName(self): """ testChannelName() returns the names of the channels """ names = [rec[i].name for i in range(len(rec))] mynames = ['Amp1', 'Amp2', 'Amp3', 'Amp4'] self.assertEquals(names, mynames) def testSamplingRate(self): """ testSamplingRate() returns the sampling rate """ self.assertAlmostEqual(0.05, rec.dt, 3) def testDate(self): """ testDate() returns the creation date """ self.assertEquals(rec.date, '19/07/10') def testTime(self): """ testTime() returns the creation time """ self.assertEquals(rec.time, '23:24:42') if __name__ == '__main__': # test all cases unittest.main() stimfit-0.14.11/src/pystfio/Makefile.in0000644000175200017520000011516112622700721014617 00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/pystfio DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/depcomp $(noinst_HEADERS) \ $(top_srcdir)/test-driver ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/stfconf.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkglibdir)" LTLIBRARIES = $(pkglib_LTLIBRARIES) am__DEPENDENCIES_1 = libpystfio_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ ./../libstfio/libstfio.la ./../libstfnum/libstfnum.la am_libpystfio_la_OBJECTS = libpystfio_la-pystfio.lo nodist_libpystfio_la_OBJECTS = libpystfio_la-pystfio_wrap.lo libpystfio_la_OBJECTS = $(am_libpystfio_la_OBJECTS) \ $(nodist_libpystfio_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libpystfio_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(libpystfio_la_CXXFLAGS) $(CXXFLAGS) $(libpystfio_la_LDFLAGS) \ $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libpystfio_la_SOURCES) $(nodist_libpystfio_la_SOURCES) DIST_SOURCES = $(libpystfio_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = ${PYTHON_TARGET_DIR}/stfio ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ GT_CPPFLAGS = @GT_CPPFLAGS@ GT_CXXFLAGS = @GT_CXXFLAGS@ GT_LDFLAGS = @GT_LDFLAGS@ GT_LIBS = @GT_LIBS@ HDF5_CFLAGS = @HDF5_CFLAGS@ HDF5_LIBS = @HDF5_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBBIOSIG_LDFLAGS = @LIBBIOSIG_LDFLAGS@ LIBHDF5_LDFLAGS = @LIBHDF5_LDFLAGS@ LIBLAPACK_LDFLAGS = @LIBLAPACK_LDFLAGS@ LIBNUMPY_INCLUDES = @LIBNUMPY_INCLUDES@ LIBOBJS = @LIBOBJS@ LIBPYTHON_INCLUDES = @LIBPYTHON_INCLUDES@ LIBPYTHON_LDFLAGS = @LIBPYTHON_LDFLAGS@ LIBS = @LIBS@ LIBSTF_LDFLAGS = @LIBSTF_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MACSETFILE = @MACSETFILE@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPT_CXXFLAGS = @OPT_CXXFLAGS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTLINK_COMMAND = @POSTLINK_COMMAND@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_DIST_PKG = @PYTHON_DIST_PKG@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ PYTHON_NUMPY_INCLUDE = @PYTHON_NUMPY_INCLUDE@ PYTHON_PRE_DIST_PKG = @PYTHON_PRE_DIST_PKG@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ PY_AC_VERSION = @PY_AC_VERSION@ RANLIB = @RANLIB@ REZ = @REZ@ SED = @SED@ SETFILE = @SETFILE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STFIO_PYTHON_LIBNAME = @STFIO_PYTHON_LIBNAME@ STF_PYTHON_LIBNAME = @STF_PYTHON_LIBNAME@ STRIP = @STRIP@ SWIG = @SWIG@ SWIG_LIB = @SWIG_LIB@ SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@ SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@ VERSION = @VERSION@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @ISDARWIN_FALSE@PYTHON_TARGET_DIR = ${PYTHON_PRE_DIST_PKG} @ISDARWIN_TRUE@PYTHON_TARGET_DIR = ${PYTHON_DIST_PKG} # PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} PYTHON_DEST_DIR = ${DESTDIR}${PYTHON_TARGET_DIR} pkglib_LTLIBRARIES = libpystfio.la TESTS_ENVIRONMENT = cp ./test.h5 ./ && \ cp .libs/libpystfio.so ./_stfio.so && \ $(PYTHON) TESTS = ./unittest_stfio.py PYTHON_ADDINCLUDES = $(LIBPYTHON_INCLUDES) PYTHON_ADDLDFLAGS = $(LIBPYTHON_LDFLAGS) PYTHON_ADDLIBS = nodist_libpystfio_la_SOURCES = $(top_srcdir)/src/pystfio/pystfio_wrap.cxx libpystfio_la_SOURCES = $(top_srcdir)/src/pystfio/pystfio.cxx noinst_HEADERS = $(top_srcdir)/src/pystfio/pystfio.h INCLUDES = $(LIBNUMPY_INCLUDES) $(PYTHON_ADDINCLUDES) EXTRA_DIST = ./pystfio.i ./unittest_stfio.py ./test.h5 libpystfio_la_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -I$(top_srcdir)/src libpystfio_la_CXXFLAGS = $(OPT_CXXFLAGS) libpystfio_la_LDFLAGS = $(PYTHON_ADDLDFLAGS) $(LIBSTF_LDFLAGS) libpystfio_la_LIBADD = $(PYTHON_ADDLIBS) ./../libstfio/libstfio.la ./../libstfnum/libstfnum.la # LTTARGET=${PYTHON_DIST_PKG}/stfio LTTARGET = ${PYTHON_DEST_DIR}/stfio all: all-am .SUFFIXES: .SUFFIXES: .cxx .lo .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/pystfio/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/pystfio/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ } uninstall-pkglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ done clean-pkglibLTLIBRARIES: -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) @list='$(pkglib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libpystfio.la: $(libpystfio_la_OBJECTS) $(libpystfio_la_DEPENDENCIES) $(EXTRA_libpystfio_la_DEPENDENCIES) $(AM_V_CXXLD)$(libpystfio_la_LINK) -rpath $(pkglibdir) $(libpystfio_la_OBJECTS) $(libpystfio_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpystfio_la-pystfio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpystfio_la-pystfio_wrap.Plo@am__quote@ .cxx.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cxx.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cxx.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< libpystfio_la-pystfio.lo: $(top_srcdir)/src/pystfio/pystfio.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystfio_la_CPPFLAGS) $(CPPFLAGS) $(libpystfio_la_CXXFLAGS) $(CXXFLAGS) -MT libpystfio_la-pystfio.lo -MD -MP -MF $(DEPDIR)/libpystfio_la-pystfio.Tpo -c -o libpystfio_la-pystfio.lo `test -f '$(top_srcdir)/src/pystfio/pystfio.cxx' || echo '$(srcdir)/'`$(top_srcdir)/src/pystfio/pystfio.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpystfio_la-pystfio.Tpo $(DEPDIR)/libpystfio_la-pystfio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/pystfio/pystfio.cxx' object='libpystfio_la-pystfio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystfio_la_CPPFLAGS) $(CPPFLAGS) $(libpystfio_la_CXXFLAGS) $(CXXFLAGS) -c -o libpystfio_la-pystfio.lo `test -f '$(top_srcdir)/src/pystfio/pystfio.cxx' || echo '$(srcdir)/'`$(top_srcdir)/src/pystfio/pystfio.cxx libpystfio_la-pystfio_wrap.lo: $(top_srcdir)/src/pystfio/pystfio_wrap.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystfio_la_CPPFLAGS) $(CPPFLAGS) $(libpystfio_la_CXXFLAGS) $(CXXFLAGS) -MT libpystfio_la-pystfio_wrap.lo -MD -MP -MF $(DEPDIR)/libpystfio_la-pystfio_wrap.Tpo -c -o libpystfio_la-pystfio_wrap.lo `test -f '$(top_srcdir)/src/pystfio/pystfio_wrap.cxx' || echo '$(srcdir)/'`$(top_srcdir)/src/pystfio/pystfio_wrap.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpystfio_la-pystfio_wrap.Tpo $(DEPDIR)/libpystfio_la-pystfio_wrap.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/pystfio/pystfio_wrap.cxx' object='libpystfio_la-pystfio_wrap.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystfio_la_CPPFLAGS) $(CPPFLAGS) $(libpystfio_la_CXXFLAGS) $(CXXFLAGS) -c -o libpystfio_la-pystfio_wrap.lo `test -f '$(top_srcdir)/src/pystfio/pystfio_wrap.cxx' || echo '$(srcdir)/'`$(top_srcdir)/src/pystfio/pystfio_wrap.cxx mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ else \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? ./unittest_stfio.py.log: ./unittest_stfio.py @p='./unittest_stfio.py'; \ b='./unittest_stfio.py'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(pkglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-local \ clean-pkglibLTLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-pkglibLTLIBRARIES @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-pkglibLTLIBRARIES @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: check-am install-am install-exec-am install-strip uninstall-am .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ clean-generic clean-libtool clean-local \ clean-pkglibLTLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-exec-hook \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am \ install-pkglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am recheck tags tags-am uninstall \ uninstall-am uninstall-hook uninstall-pkglibLTLIBRARIES $(top_srcdir)/src/pystfio/pystfio_wrap.cxx $(top_srcdir)/src/pystfio/stfio.py: $(top_srcdir)/src/pystfio/pystfio.i $(SWIG) $(SWIG_PYTHON_OPT) -o $@ $< cat $(top_srcdir)/src/stimfit/py/gccwarn $(top_srcdir)/src/pystfio/pystfio_wrap.cxx > $(top_srcdir)/src/pystfio/pystfio_wrap_tmp.cxx mv $(top_srcdir)/src/pystfio/pystfio_wrap_tmp.cxx $(top_srcdir)/src/pystfio/pystfio_wrap.cxx install-exec-hook: mv ${PYTHON_DEST_DIR}/stfio/${STFIO_PYTHON_LIBNAME} ${PYTHON_DEST_DIR}/stfio/_stfio.so @BUILD_DEBIAN_TRUE@ chrpath -r ${PYTHON_DIST_PKG}/stfio ${PYTHON_DEST_DIR}/stfio/_stfio.so rm -f ${PYTHON_DEST_DIR}/stfio/*.la rm -f ${PYTHON_DEST_DIR}/stfio/*.a cp -p $(top_srcdir)/src/pystfio/__init__.py ${PYTHON_DEST_DIR}/stfio cp -p $(top_srcdir)/src/pystfio/stfio_plot.py ${PYTHON_DEST_DIR}/stfio cp -p $(top_srcdir)/src/pystfio/stfio_neo.py ${PYTHON_DEST_DIR}/stfio cp -p $(top_srcdir)/src/pystfio/stfio.py ${PYTHON_DEST_DIR}/stfio ${PYTHON} -m compileall -l ${PYTHON_DEST_DIR}/stfio chmod -x ${PYTHON_DEST_DIR}/stfio/* uninstall-hook: rm -f ${PYTHON_DEST_DIR}/stfio/*.so rm -f ${PYTHON_DEST_DIR}/stfio.pth rm -r ${PYTHON_DEST_DIR}/stfio clean-local: rm -f $(top_srcdir)/src/pystfio/pystfio_wrap.cxx $(top_srcdir)/src/pystfio/stfio.py rm -f test.h5 rm -f _stfio.so # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: stimfit-0.14.11/src/pystfio/Makefile.am0000644000175200017520000000455412472345762014626 00000000000000if ISDARWIN PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} else PYTHON_TARGET_DIR=${PYTHON_PRE_DIST_PKG} # PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} endif PYTHON_DEST_DIR=${DESTDIR}${PYTHON_TARGET_DIR} pkglibdir = ${PYTHON_TARGET_DIR}/stfio pkglib_LTLIBRARIES = libpystfio.la TESTS_ENVIRONMENT = cp ./test.h5 ./ && \ cp .libs/libpystfio.so ./_stfio.so && \ $(PYTHON) TESTS = ./unittest_stfio.py PYTHON_ADDINCLUDES = $(LIBPYTHON_INCLUDES) PYTHON_ADDLDFLAGS = $(LIBPYTHON_LDFLAGS) PYTHON_ADDLIBS = $(top_srcdir)/src/pystfio/pystfio_wrap.cxx $(top_srcdir)/src/pystfio/stfio.py: $(top_srcdir)/src/pystfio/pystfio.i $(SWIG) $(SWIG_PYTHON_OPT) -o $@ $< cat $(top_srcdir)/src/stimfit/py/gccwarn $(top_srcdir)/src/pystfio/pystfio_wrap.cxx > $(top_srcdir)/src/pystfio/pystfio_wrap_tmp.cxx mv $(top_srcdir)/src/pystfio/pystfio_wrap_tmp.cxx $(top_srcdir)/src/pystfio/pystfio_wrap.cxx nodist_libpystfio_la_SOURCES = $(top_srcdir)/src/pystfio/pystfio_wrap.cxx libpystfio_la_SOURCES = $(top_srcdir)/src/pystfio/pystfio.cxx noinst_HEADERS = $(top_srcdir)/src/pystfio/pystfio.h INCLUDES = $(LIBNUMPY_INCLUDES) $(PYTHON_ADDINCLUDES) EXTRA_DIST = ./pystfio.i ./unittest_stfio.py ./test.h5 libpystfio_la_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -I$(top_srcdir)/src libpystfio_la_CXXFLAGS = $(OPT_CXXFLAGS) libpystfio_la_LDFLAGS = $(PYTHON_ADDLDFLAGS) $(LIBSTF_LDFLAGS) libpystfio_la_LIBADD = $(PYTHON_ADDLIBS) ./../libstfio/libstfio.la ./../libstfnum/libstfnum.la # LTTARGET=${PYTHON_DIST_PKG}/stfio LTTARGET=${PYTHON_DEST_DIR}/stfio install-exec-hook: mv ${PYTHON_DEST_DIR}/stfio/${STFIO_PYTHON_LIBNAME} ${PYTHON_DEST_DIR}/stfio/_stfio.so if BUILD_DEBIAN chrpath -r ${PYTHON_DIST_PKG}/stfio ${PYTHON_DEST_DIR}/stfio/_stfio.so endif rm -f ${PYTHON_DEST_DIR}/stfio/*.la rm -f ${PYTHON_DEST_DIR}/stfio/*.a cp -p $(top_srcdir)/src/pystfio/__init__.py ${PYTHON_DEST_DIR}/stfio cp -p $(top_srcdir)/src/pystfio/stfio_plot.py ${PYTHON_DEST_DIR}/stfio cp -p $(top_srcdir)/src/pystfio/stfio_neo.py ${PYTHON_DEST_DIR}/stfio cp -p $(top_srcdir)/src/pystfio/stfio.py ${PYTHON_DEST_DIR}/stfio ${PYTHON} -m compileall -l ${PYTHON_DEST_DIR}/stfio chmod -x ${PYTHON_DEST_DIR}/stfio/* uninstall-hook: rm -f ${PYTHON_DEST_DIR}/stfio/*.so rm -f ${PYTHON_DEST_DIR}/stfio.pth rm -r ${PYTHON_DEST_DIR}/stfio clean-local: rm -f $(top_srcdir)/src/pystfio/pystfio_wrap.cxx $(top_srcdir)/src/pystfio/stfio.py rm -f test.h5 rm -f _stfio.so stimfit-0.14.11/src/pystfio/test.h50000644000175200017520000750063012300131335013765 00000000000000‰HDF  ÿÿÿÿÿÿÿÿ˜ÿÿÿÿÿÿÿÿ`ˆ¨ˆ¨TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@HEAP°PØê (VERSION3.0 ¨channels datetime„àpˆ ·—NMSNOD0 8X¾@Ü Hè xP TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( ¸ 19/07/10ØJ 8é‡ >9Ía *¸à"8é‡ Lç: ŒcP 8/¿¿ €À",u·ÌJ øóÛX/¿¿jýœ [ 23:24:429ÍôßÛÀóÛü0¿¿x/¿¿3_Íh™9/>9Íô¯=ü0¿¿¨/¿¿È{ ¸/¿¿?q„W] È{ ô¯=ÀóÛü0¿¿È/¿¿ôßÛÀóÛ8é‡ Ø/¿¿3_Íÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of test4.h5 8 FIELD_0_NAME channels 0 FIELD_1_NAMEdate 0 FIELD_2_NAMEtimex˜TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ HEAPX ¸descriptioncomment8!·—NM˜SNODh ! ·—NM˜) HEAPX(Àch0ch1ch2ch30Amp1x-D HEAPXHd descriptionsection_0section_1section_2Amp2No descriptionNo commentš™™™™™©?msô¯=8é‡ mV¿F:”‰6 š™™™™™©?msô¯=8é‡ mV¿F:”‰6 š™™™™™©?msô¯=8é‡ mV¿F:”‰6 š™™™™™©?msô¯=8é‡ pA¿F:”‰6 ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec1 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsAmp3Amp4TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0,  ·—NMSNOD +H½ÀU çTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨08 Hn_sections ÿÿÿÿÿÿÿÿð1 ·—NM (CLASSTABLE :¸SNOD˜/Ø:(¨»8x<TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(¼  (VERSION3.0 @TITLEDescription of channel 0 8 FIELD_0_NAME n_sections; =TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨>HEAPX @=datadescription8  @œð?q·—NM€SNOD˜=ð°ÀXÂÀqÂxÂÀXÂÀ?Â@3Â@3€9Â@3ÂÀ?€RÂ@eÂ@LÂ@3Â-ÂÀ?ÂÀXÂ@LÂ@LÂ@3Â@LÂÀ?Â@L€RÂ@LÂ_ÂÀq€k€RÂÀ?ÂÀ?ÂÀX€RÂ_Â_ÂÀXÂF€9Â@3Â-ÂFÂ@LÂFÂ-€9ÂÀ?Â@3ÂFÂFÂÀXÂ@e€kÂ_Â@eÂ@e€RÂÀXÂ@LÂ_ÂÀXÂF€RÂ@LÂ@3Â@eÂ_ÂÀXÂ@L€RÂ_ÂÀqÂÀqÂxÂÀqÂ@e‘Â@—‘ÂxÂ@~Â@~€„‘€„‘‘ÂÀŠ€„Â@~ÂÀŠÂÀŠÂ@~ÂxÂ@eÂ@e€„€kÂ@e€kÂÀqÂx€„‘‘‘€ÂÀ£Â@°ªÂÀ£Â@—Â@—€ÂÀ£Â@—€ÂÀ£ÂÀ¼Â@°ÂÀ£€¶Â@ÉÂÃÂÀÏÂÀÕÂ@âÂ@âÂÀÕÂÀÕÂÜÂ@âÂÀÕÂ@ÉÂÃÂ@ÉÂÀ¼Â@ÉÂÃÂÀÕÂÀÕÂ@ÉÂ@ÉÂÀÕÂÀÕÂ@°ÂÃÂÃÂÀ¼ÂÀÕÂ@ÉÂÀ¼Â@°Â@°ªªª€¶Â@É€ÏÂ@âÂÀî€èÂ@âÂÀÕÂ@ÉÂÃÂÜÂÀÕÂ@ÉÂÜÂ@âÂ@ÉÂÀÕÂÀîÂ@ÉÂ@ÉÂÀÕÂÀÕÂ@É€ÏÂÀÕÂÀî€èÂ@â€èÂ@âÂ@ûÂ@âÂÀîÂ@ÉÂÀÕÂÀîÂÜ€ÏÂÜÂ@û€Âà€Â@âÂÀÕÂ@ÉÂ@âÂõÂà€Âà€Âà€Â@ûÂÀ€Âà€Â@ûÂÀîÂ@âÂ@ûÂõÂÀîÂ@ûÂÀîÂÀ€ÂÀîÂ@ûÂ@âÂõÂ@âÂÀîÂ@ûÂ@ûÂÀ€Â@û €Âà€Â@ûÂÀîÂÜÂ@âÂÀî€Âà€Â@â€ÏÂ@âÂÀî€èÂÀî€èÂÜÂÀÕÂ@ÉÂÀîÂ@ûÂ@ûÂÀîÂÀÕÂÀÕÂ@âÂ@âÂÀîÂ@ûÂõÂÀîÂÀîÂ@âÂõÂ@ûÂ@âÂ@âÂÀÕÂ@ÉÂÀ¶ÂÀ£Â@°Â@°€€ªÂÀ£ÂxÂ@eÂÀqÂ@eÂÀXÂÀqÂx€kÂÀXÂÀqÂ@~Â@~Â@~ÂÀŠÂÀqÂ@~ÂÀqÂx€kÂÀXÂ@e€kÂxÂxÂ@~€kÂÀ?Â@3ÂÀ?Â@3Â@3ÂÀ?€RÂFÂÀ?ÂÀ?Â-ÂÀ?€RÂFÂÀ?Â@LÂÀ?Â-Â@3ÂÀ?ÂÀ?ÂÀ?Â@LÂ@LÂ_Â@LÂ@LÂ_ÂÀXÂÀ?ÂFÂ@Â@ÂÂÀ&Â-€ €9€9ÂÀ?Â-Â@3€ Â@€ € Â@Â@Â-ÂÀ&ÂÀ&ÂÀ&€9ÂÀ?ÂÀ&ÂÀ&Â@ÂÂ@ÂÀ €ÂÂ@Â@ÂÀô~Â@Â@ÂÀô~€Â@ÂÀô~Â@ÂÀ Â@Â@ÂÀÛ~ÂÀÛ~€î~€€Â@Â@Â@Â@€€ÂÀ ÂÀ ÂÀ ÂÂû~Â@ÂÀô~€Õ~ÂÀô~Â@è~ÂÀô~Âû~Â@Âû~Â@ÂÀô~ÂÀô~Â@è~Âû~€Âû~Â@Âû~Â@è~ÂÀô~Â@è~€Õ~ÂÀÛ~€Õ~ÂÀÛ~Â@Ï~ÂÀÛ~€Õ~ÂÀÂ~ÂÀÛ~ÂÀô~Âû~Â@Â@è~Â@è~€î~ÂÀô~€ÂÂ@Â@è~Âû~Âû~Ââ~ÂÀô~Â@è~€î~Â@è~ÂÀô~Ââ~Â@Ï~€¼~ÂÀÂ~ÂÀÛ~€Õ~ÂÀÂ~€¼~ÂÉ~Â@¶~ÂÉ~ÂÀô~ÂÀô~ÂÀô~Âû~Âû~Âû~€Õ~ÂÀÛ~Â@Ï~Â@Ï~Â@Ï~Â@Â@ÂÀ Âû~Â@è~Ââ~ÂÀÛ~€Õ~ÂÀÛ~Â@è~Ââ~€î~€î~ÂÀô~ÂÀô~Ââ~€î~ÂÀ Âû~ÂÀô~€î~ÂÀÛ~Â@Ââ~Â@è~Âû~ÂÀô~ÂÀ Â@è~€Õ~Ââ~€î~Â@è~ÂÀô~€î~ÂÀô~ÂÀô~€Â@Â@ÂÂ@Â@Âû~Âû~ÂÀ Âû~€ÂÂ@Â@ÂÀ ÂÀ ÂÀ ÂÀ ÂÂÀ ÂÂÂû~€î~€€Â@Â@ÂÂ@€ ÂÀ&ÂÀ&Â@3ÂÀ&ÂÀ Âû~ÂÂ@Â@ÂÀ ÂÀ €ÂÀ ÂÂ@ÂÀô~Â@Â@ÂÀ Â@Â@Â@€ Â-Â-ÂÀ&ÂÀ&Â@3ÂÀ&Â@3ÂÀ&€9ÂÀ?Â@3€ Â@3Â@3Â@3€ Â@Â@3€9ÂFÂÀ?ÂÀ?Â@3Â@ÂÀ&ÂÂÀ&Â-Â@L€9ÂÀ?ÂFÂFÂÀ?ÂÀ?Â@3Â@3Â@3ÂÀ&ÂÀ&Â@3ÂÀ?ÂF€9Â@LÂFÂ@eÂÀXÂÀXÂ_€RÂF€RÂ@eÂÀXÂ@eÂ_€RÂ@eÂ_Â@e€RÂÀ?ÂFÂ_ÂÀXÂ_ÂÀq€kÂÀXÂ@eÂ_€RÂ@L€R€9ÂF€RÂ@L€kÂ@eÂ_Â@eÂ@e€k€„€„ÂxÂ_Â_€9Â@3ÂÀ?ÂÀ?Â@LÂ@LÂFÂÀ?ÂFÂÀXÂ@LÂ@3Â-Â@3Â@3Â@3Â@3Â@LÂFÂ@3Â@Â@€9€9Â@3Â@LÂF€9ÂFÂÀXÂ@3ÂÀ?Â@3ÂÀ?Â@3ÂÀ?ÂÀ?ÂFÂ@3€R€9€RÂ@LÂ@LÂFÂ@eÂÀXÂÀ?ÂFÂÀ?ÂÀ?€9ÂÀ&Â-€ € ÂÀ&ÂÀ&Â-€ Â@3Â@3ÂÀ&ÂÂÀ&ÂÀ&ÂÀ ÂÂ@Â@3ÂÀ&ÂÀ&ÂÀ&ÂÀ&€ € Â@3Â@3€9Â@Â-ÂÀ&Â-Â-Â@3Â-Â@3ÂÀ&Â@Â@€ € Â-ÂÀ?Â-Â-ÂÀ&Â@3€9Â@LÂ@LÂÀ?Â@3Â-Â-Â-ÂÀ&Â@LÂ@3Â@3Â-Â@ÂÀ&ÂÀ&ÂÀ&ÂÀ&Â@3ÂÀ?ÂÀ?ÂF€RÂÀXÂÀX€RÂ@L€RÂ@LÂ@LÂÀXÂÀ?ÂÀ&ÂÀ?Â@LÂÀXÂ@LÂFÂ@3ÂÀ&ÂÀ&Â@€9ÂÀ?Â@3Â@3€9Â-Â@ÂÀ&ÂÀ&Â-Â@Â-Â@ÂÀ&Â@ÂÀ&Â@3ÂÀ?ÂFÂÀ?€9Â@3ÂÀ?ÂÀ?ÂÀ?Â@ÂÀ Â@ÂÀ&€9ÂÀXÂ_€kÂ@eÂÀXÂ@eÂxÂÀXÂÀ?ÂÀ?Â@eÂ@eÂ@eÂ@LÂÀqÂÀXÂ@LÂF€9ÂFÂF€RÂ@LÂFÂÀXÂ@eÂÀŠÂ@~ÂxÂÀqÂ@LÂ@eÂÀqÂ@~ÂÀŠÂÀqÂxÂÀqÂxÂ@eÂxÂ@~ÂÀŠ€kÂ@~ÂÀŠ‘Â@~ÂÀq€kÂ@~ÂÀŠÂ@—ÂÀŠÂ@—‘ÂÀŠÂ@~ÂÀqÂx€kÂ@~‘ÂÀ£ÂÀ£€ÂÀ£ÂÀ£Â@—Â@—Â@—‘‘ÂÀŠÂ@—ÂÀŠÂ@~Â@~ÂÀqÂxÂÀqÂ@~‘ªªÂ@ÉÂÃÂÀ¼€ÏÂ@âÂÜÂ@ÉÂÀ¼ÂÀÕÂ@ÉÂ@â€ÏÂÃÂÀ£Â@°ÂÀ¼Â@°Â@°Â@ÉÂÃÂÀÕÂ@âÂÀÕÂ@°Â@°€¶Â@É€ÏÂÀÕ€ÏÂÀÕÂÀÕ€ÏÂ@°€¶€¶ÂÀÕÂÀÕÂ@âÂÜ€ÏÂÀÕÂ@ÉÂÀÕÂÀÕÂÀÕ€èÂÀÕÂÀÕÂ@ÉÂÜÂÀÕÂÀÕÂÀ¼ÂÀÕÂ@âÂÀ€Â €Âà€Âà€ÂõÂ@ûÂ@û€èÂÀÕÂ@ÉÂ@É€ÏÂ܀πÏÂÀÕÂ@âÂÜÂÀÕÂ@ÉÂ@°Â@ÉÂ@ÉÂÃÂÀÕÂ@âÂÀîÂÜÂ@ÉÂÜÂ@ûÂà€Â €Â@ûÂõ€èÂõÂÀÕÂÜÂÀîÂ@ûÂà€Â`€Â`€Â €Âà€Â@ €Â€Â €ÂÀ€Â@ûÂÀîÂõÂ@âÂ@ûÂ@ûÂÀîÂÀîÂõÂ@ûÂ@ûÂ@ûÂõÂõÂà€Âà€Âà€ÂÀîÂ@ûÂ@ €Â@ €Âà€Âà€Âà€Âà€Â€Â €Â`€ÂÀ€Âà€Â €Â €Â@ €Â €Â €Â@ûÂ@ûÂõÂ@ûÂà€ÂÀ€Â@ûÂõÂ@ûÂà€Âà€Â@ûÂÀîÂÜÂ@âÂ@âÂõÂ`€Âà€Âà€Â@û €Â €Â€€Â`€Â@ €Â`€Â@û €Â`€Â €Â €Â€€Â€€Â€€Â@ €Âà€Â€€Â €ÂÀ€Â@ €Âà€Â €Â`€Âà€Â €Â €Â`)€Â #€Â€€Â€€Â`€Â €Â €Â€€Â@ €Â€Â@ €Â€€Â €Â`€Â €Â`€Â`€Â €Â`)€Â #€Âà€Â €Â €Â€,€Â #€ÂÀ€Â€€Âà€ÂÀ€Âà€ÂÀ€Â@&€Âà€Â #€Âà€Â €Â €Â #€ÂÀ2€Â€,€Â #€Â€,€Â€,€Â@&€Â €Â €Â #€Â /€Â€,€Â@&€Â #€ÂÀ€Â`€Â #€Â €Â`)€Â@&€Â@&€Â #€Â€,€Â€,€Â@&€Âà€Â €Â #€Â€,€Â€,€Âà5€Âà5€Âà5€ÂÀ2€Âà5€Âà5€Âà5€ÂÀ2€Âà5€Â H€Â <€Â€,€ÂÀ2€Â /€ÂÀ2€Â /€Â <€Â`B€Âà5€Â€,€Â /€Âà5€ÂÀ2€Â9€ÂÀ2€Âà5€Â /€Â /€Â€,€Â /€Â /€ÂÀ2€Â€,€Â`)€ÂÀ2€Âà5€Â9€Â <€Â <€Â9€Âà5€Âà5€Â H€ÂàN€ÂàN€ÂR€Â U€Â@X€ÂÀK€Â H€Â U€ÂàN€ÂàN€Â€E€Â@?€Â H€ÂàN€Â H€Â H€Â U€Â H€Â H€Â H€ÂÀK€Âà5€Â€E€Â€E€Â€E€ÂàN€Â@?€Â <€Â <€Â9€Â`B€Â@?€Â`B€Â`B€Â€E€ÂR€Â€E€ÂàN€Â U€ÂàN€Â@X€Â€^€Â`[€Â a€Â€^€ÂàN€Â H€Â H€Â€E€Â`[€ÂÀK€Â H€Â U€Â U€Â€E€Â <€Â`B€Â H€Â U€Â U€Â U€Â U€Â€^€Â a€Â@X€Â U€Â@X€ÂR€Â@X€Â U€Â a€Â U€Â€^€Â a€Âàg€Âk€ÂÀd€Â a€ÂÀd€Â n€Âk€Â€^€Â`[€Â`[€ÂR€ÂÀK€Â@X€Â`[€Â€^€Âàg€ÂÀd€Â U€Â`[€ÂÀd€Â@X€Â@X€ÂÀd€ÂÀd€Â€^€Â U€Â@X€Â a€Â a€Â`[€Â a€Â`[€Â€^€Â a€Â a€Â a€Â a€Â a€Â a€Â U€Â@X€Â a€Â a€Â@X€Â€^€ÂÀd€Âk€ÂÀd€Â n€Â@q€Âk€Â n€Âk€ÂÀd€ÂÀd€Âàg€ÂÀd€Â€^€ÂÀd€Âàg€Â`t€Â z€Â n€Â n€Â@q€Â€w€Â n€Â`t€ÂÀ}€Â@q€Â a€Â@X€Â`[€Â`[€Â`[€Âàg€Â`t€Â z€ÂÀ}€ÂÀ}€Âà€€Â z€Â n€Â@q€Â`t€Â`t€Â`t€Â z€Â`t€Âà€€Â ‡€Â ‡€Â@Š€Â ‡€Âà€€Â z€Â€w€Â`t€Âà€€Â z€Â€w€Â`t€Âàg€Â a€Â€^€Â a€ÂÀd€Âk€Â n€Âk€Â n€Â€^€Â`t€Â€w€ÂÀ}€ÂÀ}€Â z€Â`t€Â z€Â`t€Â`t€Â`t€Â`t€Â@q€Â n€Âàg€Â€w€Â n€Âàg€Âàg€Âk€Âk€Â n€Âk€Â n€Â a€Âàg€Â`[€Â a€Â€^€Â n€Â n€Â`t€Â n€Â z€Â z€Â€w€Â n€Âàg€Â n€Â n€Â n€Â`t€Â n€Â€w€Â z€Â z€Â n€Âàg€Â`t€Â`t€Âàg€Â n€Â a€Âàg€ÂÀd€ÂÀd€Âàg€Â n€Â@q€Â`t€Â@q€Â@q€Âàg€Â n€Â@q€Â a€Â€^€Â a€ÂÀd€Âk€Â`t€Â n€Â n€Â n€Â`t€Â z€Â„€Â ‡€Â`t€Â z€Â€w€Â€w€Â`t€ÂÀ}€Â€w€ÂÀ}€Â z€ÂÀ}€Â„€Â@Š€Â ‡€Âà€€Âà€€Â„€Â z€ÂÀ}€Â€w€ÂÀ}€Â€w€ÂÀ}€Â`t€Â€w€Âà€€ÂÀ}€Â z€ÂÀ}€Âà€€Â„€ÂÀ}€ÂÀ}€Â z€Â ‡€Â ‡€ÂÀ}€Âà€€ÂÀ}€Â€w€Â€w€Âà€€Â ‡€Â@Š€Â “€Â  €Âà™€Â`€ÂÀ–€Â€Â “€Â “€Â€€Â`€ÂÀ–€ÂÀ–€Âà™€Â€Â€€Â@Š€Â “€Âà™€Â`¦€Â€©€Â ¬€ÂಀÂ`¦€Âà™€ÂÀ–€Â@Š€Â ‡€Â ‡€Â z€Â ‡€Âà€€ÂÀ–€Âà™€Âà™€Â€Â@£€Â  €Â  €Â  €Â€©€Â  €Â ¬€Â€©€Â€©€Â€©€Â`¦€Â  €Â`¦€ÂÀ¯€Â ¹€ÂÀ¯€Â ¬€Â`¦€Â`¦€Â€©€Â`¦€Â ¬€Âಀ ¬€Â  €Â€Â  €Â`¦€Â@£€Â  €Âà™€Â  €Â@£€Â`¦€Âà™€Â  €ÂÀ¯€Â€©€Âಀ ¹€Â¶€ÂÀ¯€Â€©€Â  €Â`¦€Âಀ¶€Â@¼€Â ¹€Â ¹€ÂಀÂಀÂಀÂ@£€Â€Âಀ ¹€Â`¿€Â`¿€Â ¬€Â€©€Â`¿€Â`¿€Â Å€Â¶€Âಀ¶€ÂÀ¯€Â ¬€Â  €Â  €Â€©€Â€©€Â¶€Â ¹€Â ¹€Â¶€Â`¿€Â€Â€Â@¼€ÂಀÂಀ ¬€Â¶€ÂಀÂ@¼€Â Å€Â Å€Â@¼€Â€Â€Â Å€ÂÀÈ€Â@¼€Â¶€ÂÀ¯€Â@¼€Â`¿€Â ¹€Â ¹€Â`¿€Â€Â€Â ¹€Â ¬€Â ¹€Â Å€Â Å€Â€Â€Âàˀ ŀÂàˀ ŀÂàˀ Ҁ Ҁ ŀÂàˀ Ҁ ҀÂ`؀€ۀÂ`Ø€ÂÀÈ€Âàˀ€ۀÂ@Õ€Â@Õ€Â`؀ ҀÂÏ€Â@Õ€Â`؀ ހ€ۀÂ@Հ€ۀÂ@Õ€Âπ€ۀÂ@Հ ҀÂàË€ÂÏ€Â`؀ Ҁ ހÂÏ€ÂàË€ÂàË€Âπ Ҁ ŀÂàˀ ŀÂ@Õ€Â@Հ ŀ ŀÂ@¼€Â ¹€Â€Â€Â Å€Â Å€Â`¿€Â`¿€Â Å€ÂàË€Âàˀ Ҁ ҀÂÏ€Âàˀ€€€€¶€Â ¬€ÂಀÂಀÂÀ¯€Â€©€Â`¦€Â ¬€Â ¬€Â ¬€Â€©€Â ¬€Â ¬€Â  €Â ¬€ÂಀÂ@¼€Â ¹€Â`¦€Â€©€ÂÀ¯€ÂಀÂÀ¯€Â ¬€Â`¦€Â ¬€ÂಀÂಀÂಀÂÀ¯€Â ¬€Â ¬€ÂಀÂ@¼€Â`¿€ÂÀ¯€Â€©€Â€©€ÂಀÂಀ ¬€Â ¬€Â ¬€Âಀ¶€Â ¹€Âಀ ¬€Â ¬€Â  €Â€Â€©€Â ¬€Â ¬€ÂÀ¯€Âಀ ¬€Â ¬€Â ¹€Â ¹€Â@¼€ÂಀÂÀ¯€Â ¬€Â ¬€Â`¦€ÂÀ¯€Â ¬€Â€©€ÂÀ¯€Â`¦€Âಀ ¬€Â¶€Â ¬€Â@¼€Â@¼€Â ¹€Â€©€Â  €Â€©€Â€©€Â ¹€Â@¼€Â ¬€Â@£€Â  €Â`¦€Â€©€Â€©€Â ¬€Â`¦€Â “€Âà™€Â “€Â  €Â€©€Â`¦€Â`¦€ÂÀ¯€Âಀ ¹€Â ¹€Â¶€ÂÀ¯€Âಀ ¹€ÂÀ¯€ÂÀ¯€Â ¬€Â@£€Â€©€Â¶€Â ¬€Â ¬€ÂÀ¯€ÂÀ¯€Âಀ ¬€Â¶€Â ¬€Â ¬€Â  €Â  €Â€©€ÂÀ¯€Âಀ¶€Â ¹€Â ¬€Â ¬€Â ¬€Â ¬€Â ¬€Â`¿€Â`¿€Â`¿€Â Å€Â ¹€ÂಀÂಀ€©€ÂÀ¯€ÂÀ¯€Â€Â€Â€Â€Â Å€Â Å€Â Å€Â ¹€ÂಀÂ@¼€Âಀ ¬€Â ¬€Â ¬€Â¶€Âಀ ¹€Â@¼€Â¶€ÂಀÂÀ¯€Â€©€Â`¦€Â ¬€Â ¬€Â ¹€Â¶€Â ¹€ÂಀÂಀÂಀ¶€Âಀ¶€Â ¹€Â Å€Â`¿€Â¶€Âಀ ¹€Â€Â€Âಀ ¬€Â`¦€Â ¬€Â€©€Â ¬€Â ¬€Â ¬€Â ¬€Â€©€Â ¬€Â`¦€Â  €Â@£€Â€©€Â€©€Â€Â€©€Â¶€Â ¹€Â€Â€Â Ò€ÂàË€Â@¼€Â ¹€Â ¹€Â¶€Â¶€Âಀ¶€ÂಀÂಀÂ`¿€Â@¼€Â@¼€Â@¼€Â ¹€Â ¹€Â`¿€Âಀ ¬€Â ¬€ÂಀÂÀ¯€Â ¬€Â¶€ÂಀÂಀ¶€Â Å€Â Å€Âπ ŀ€€ÂàË€Â`؀ ҀÂàˀ ŀÂàˀ ŀÂÀÈ€Âàˀ ŀÂ`¿€Â Å€Â€Â€ÂÀȀ ҀÂàˀ€€ ҀÂ@Õ€Âàˀ ŀ ŀ€€ÂÀȀ ŀ€€ÂÀÈ€Âàˀ€€Â`¿€Â Å€Â€Â€Âಀ ¹€Â€Â€Â ¹€Â¶€Â ¬€Â Å€Â Å€Â Ò€Âàˀ ŀ ¹€Â ¹€ÂಀÂಀÂಀÂ`¿€Â€Â€ÂàË€Âàˀ ҀÂÀȀ€ۀÂàˀ€€€€ ŀ ŀ ¹€Â¶€Â ¹€Â Å€Â@¼€Â`¿€Â€Â€Â`¿€Â Å€Â€Â€Âàˀ ŀ ŀÂàË€Âàˀ ŀ ҀÂÀȀ€€Âàˀ ŀ€€Â@¼€Â ¹€Â`¿€Â`¿€ÂÏ€ÂàË€Âπ ҀÂÀÈ€ÂÀȀ ŀ ŀÂàË€Â@Õ€Âπ ҀÂàË€Âàˀ ŀÂ`¿€Â@¼€Â Å€ÂàË€ÂàË€Âàˀ ŀ ŀÂ`¿€Â@¼€Â Å€Â Ò€ÂÀÈ€Â`¿€Â`¿€Â€Â€Â`¿€Â€Â€Âàˀ ҀÂàˀ ¹€Â ¹€Â€Â€Â Å€Â`¿€Â`¿€Â€Â€Â ¹€Â ¹€ÂÀ¯€Â ¬€Âಀ¶€Â¶€ÂÀ¯€Â ¬€Â€©€Â ¬€ÂಀÂಀ¶€ÂಀÂಀÂÀ¯€Â€©€Â`¦€Â€Â`¦€Â`¦€Â  €Â€©€Â€©€ÂÀ¯€Â€©€Â€©€Â€Â “€Â “€ÂÀ–€ÂÀ–€Âà™€Â  €ÂÀ¯€Â ¬€ÂಀÂಀÂ@¼€ÂÀ¯€Â ¬€Â€Â “€Â`€Â€€Â`€Âà€€Â„€Â€€Â “€Â “€Â€€Âà™€Âà™€Âà™€Âà™€Â  €Â`¦€Â ¬€Â`¦€Â ¬€Â€©€Â€€ÂÀ–€Â ‡€Â`€Â€Â`¦€Â@£€Â@£€Â€Â`¦€Â`¦€Â€Â ¬€Â ¹€Â ¬€Â ¬€Âಀ ¬€Â`¦€Â@£€Â  €Â ¬€Â ¬€Â`¦€Â ¬€Â€Â€©€Â ¬€Â€©€Â`¦€Â`¦€Â ¬€Â  €Â€©€Â  €Â€Âà™€Âà™€Âà™€ÂÀ–€ÂÀ–€ÂÀ–€Â€€Â`€Â`€Â„€Â`€Â€€Â ‡€ÂÀ–€Âà™€Â@£€Â@£€Â@£€Â@£€Â`¦€Â€©€Â€©€Â€©€Â@£€Â@£€Â€©€ÂÀ¯€Â ¬€ÂÀ¯€Â`¦€Âಀ¶€Â ¬€ÂಀÂ`¦€Â  €Â  €Â€Â  €Âà™€Â€Â€Â@£€Â ¹€Â@¼€ÂÀ¯€ÂÀ¯€ÂÀ¯€Âಀ ¬€Â@£€Â  €Âà™€Â  €Â€©€Â  €Â`¦€ÂÀ¯€Âಀ ¬€Â`¦€Â@£€Â`¦€Â@£€Âà™€Âà™€ÂÀ–€Âà™€Âà™€Â “€ÂÀ–€Âà™€Â`¦€Â€©€ÂಀÂಀÂಀÂಀÂÀ¯€Â`¦€Â€©€Â ¬€Â ¬€Â ¬€Â€©€Â  €Â`€Â`€Â`€Â “€Â “€Â “€Â “€Â “€Â ‡€Â “€Â  €Â€Â€Âà™€Âà™€Âà™€Âà™€Â  €Â`¦€Â  €Â€Â  €Â@£€Â€Âà™€ÂÀ–€ÂÀ–€Âà™€Âà™€Â “€Â€€ÂÀ–€Âà™€Â  €Â`¦€Âಀ ¬€Â ¬€Â€©€Â`¦€Â€©€Â€©€Â€Â  €Â  €Â€©€ÂÀ¯€Â`¦€Â`¦€Â  €Â  €Â “€Âà™€Âà™€Â@£€Â  €Â@£€Â`¦€Â€©€Â@£€Â`¦€Â€©€Âà™€ÂÀ–€Â`€Â “€Âà™€Âà™€Âà™€Âà™€Â “€Â`¦€Â@£€Âà™€ÂÀ–€Â€Âà™€Âà™€Â  €Â  €Â  €Â ¬€Â`¦€Â@£€Âà™€Âà™€ÂÀ–€Âà™€Âà™€Â  €Â ¬€Â ¬€Â€©€Âà™€Â “€Â “€ÂÀ–€Âà™€Âà™€ÂÀ–€Â€€Âà™€Â€Âà™€Â@£€Âà™€Âà™€Â`€Â€€Â “€Â  €Â  €Â`¦€Â€©€Â ¬€Â ¬€Â@£€Â ¬€Â ¬€Â€Â  €Âà™€Â€Âà™€Â@£€Â`¦€Â@£€Â`¦€Â  €Â@£€Âà™€Â “€Â “€ÂÀ–€Â€Â€Â`¦€Â  €Âà™€Â “€Âà™€Â€€Âà™€Â€©€Â`¦€Âà™€Âà™€Âà™€Âà™€Âà™€Âà™€Âà™€Â  €Â`¦€Â@£€Â€©€Â€©€Â`¦€Â “€Â  €Â@£€Â`¦€Â  €Âà™€Â`¦€Â`¦€ÂÀ¯€Â€©€Â`¦€Â€Â`¦€Â@£€Â@£€Âà™€Â  €Â ¬€Â  €Â`¦€Â`¦€Â€©€Â@£€Â  €Â ¬€Â¶€Â`¿€Â ¹€Âಀ  €Â€Âà™€Â@£€Âà™€ÂÀ–€Âà™€Â “€ÂÀ–€Â  €Â€©€Â@£€Âà™€Â@£€Â€©€Â ¬€Â€©€Â ¬€Â€©€Â€©€Âಀ ¬€Â ¬€Â ¬€Â ¬€Â@£€Â  €Â ¬€Â¶€Â`¿€Â€Â€Â€Â€Â@¼€Â ¹€Â€Â€Â ¹€Â€Â€Â€Â€Âಀ¶€Â€Â€ÂಀÂ`¿€Â¶€ÂಀÂಀÂÀ¯€Â ¹€Â ¬€Â ¬€ÂಀÂಀÂ@¼€Â ¹€Â€Â€Â€Â€Â`¿€Â Å€Âπ Ҁ ҀÂÀȀ€€ ¹€Â ¹€ÂಀÂÀ¯€Âಀ ¬€Â ¬€Â ¹€Â ¬€Â`¦€Â ¬€Â`¿€Â ¹€Âಀ ¹€Â@¼€Â¶€Â`¿€ÂಀÂಀ ¹€Â ¹€Â@¼€Â ¹€Â Å€Â Å€Â Ҁ ŀÂ`¿€Âಀ ¹€Â@¼€Â@¼€Â@¼€Â€Â€Â€Â€Â@¼€Â@¼€Â€Â€Â ¹€Â Å€Â€Â€ÂÀȀ€€Â@¼€Â€Â€ÂàË€ÂàË€ÂÀȀ Ҁ ҀÂÏ€ÂÀÈ€Â`¿€Â€Â€Â€Â€Â Å€ÂàË€ÂàË€Âπ ҀÂÏ€Â@Հ Ҁ€ۀÂ@Õ€ÂÏ€ÂÀÈ€Â@¼€Â@¼€Â ¹€Â`¿€Â`¿€Â€Â€ÂàË€ÂÀȀ¶€Â`¿€Â`¿€Âπ Ҁ Ҁ ҀÂ@Հ ҀÂπ€ۀ ހ€ۀÂ`Ø€Âàä€Âàä€Âàä€Â Þ€Â€Û€Â`؀ ހÂÀá€Â Þ€Â Þ€Â`Ø€Â`Ø€Â`؀ ŀÂ@¼€Â€Â€ÂàË€Â`؀ ހ ހÂè€Âè€Â`ñ€Â ë€Âàä€Â`ñ€Â ÷€Â ë€Â`ñ€Â€ô€Â`ñ€Âè€Âàä€Â Þ€ÂÀá€Â€Û€Â ë€Âàä€Â Þ€Â`؀ ހ ހ ހÂ@Õ€Â`؀ ހ€ۀÂ@Õ€Â`Ø€Â@Հ ހ ހ€ۀ€ۀ ހÂè€Â ë€Â@î€Â`ñ€Â€ô€Â@î€Âàä€Âàä€Âàä€Âè€Âè€Âàä€Âè€Â ë€Â`ñ€Âàä€Â`Ø€Â@Հ Ҁ ҀÂ`Ø€Âàä€Â`ñ€ÂÀú€Â ÷€Â`ñ€Â`ñ€Â€ô€Â`ñ€Â@î€Â ë€Âè€Âàä€Âàä€Âàä€ÂÀá€Âàä€Â Þ€Â ë€Âàä€Â Þ€Â ë€ÂÀá€Â`ñ€Â@î€Âàä€Âàä€Âàä€Â Þ€Â`Ø€ÂÀá€Âàä€Âàä€Â€Û€Â Ò€Â`؀ ހ ހÂàä€Â ë€Âè€ÂÀá€Â Þ€ÂÀá€Âè€Âè€Âàä€Â`ñ€Â€ô€ÂÀú€Âàý€ÂÂè€ÂÀá€Â`ñ€ÂÀú€Â@Âàý€Â ÷€ÂÀú€Âàý€Â ë€Âàä€Âàä€Â`ñ€Â ÷€ÂÀú€Â ÷€Â€ô€Â ÷€ÂÀá€Â Þ€Âàä€Âàä€Â@î€Âè€Âè€Â Þ€Âè€Â€Û€Âàä€Â ë€Â€ô€Â ë€Â ë€Âàý€Â` Âàý€Â ÷€Â ÷€ÂÀú€Âàý€Âàý€Â`ñ€Â ÷€Âàý€ÂÀú€Â ÷€Â ë€Â ë€Â ë€Â€ô€ÂÀú€Â ÷€Â ÷€Â`ñ€Â ÷€Âàý€ÂÀú€Â`ñ€Âè€Â`؀ ހ ހ ހÂè€Â`ñ€Â@î€Â`ñ€Â@î€Â ë€ÂÀá€Â Þ€Âàä€ÂÀá€Âè€Â`ñ€Â€ô€ÂÀú€Â ÷€Âàý€Âàý€ÂÀú€Â€ô€ÂÀú€Âàý€Â Âàý€Âàý€ÂÀú€Â€ô€Â ÷€Â€ô€ÂÀú€Â ÷€Â ë€Â ë€Âàý€Â  € Â` Âàý€ÂÀú€ÂÀú€Âàý€ÂÀú€ÂÀú€ÂÀú€Â  Â`  ÂÀú€ÂÂàý€ÂÂÀú€Â €  Â` Âàý€Âàý€Â  Â` Âàý€Â ÂÀÂàÂÀÂ`  Â  € € Â@Â`   ÷€Âàý€Â@Â` Â` Â` € ÂàÂàÂÂ`#€&Â`#€& )Â`#ÂàÂà Â`# )Â@ Â@ Âà    €  Â` ÂàÂàý€Â€ô€Â ÷€Âàý€Â ÷€Âàý€Â Â@Â`  €  € Âà€  €  € Â@ÂÂ` €     Âàý€ÂÀú€Â€ô€Â ë€Â ÷€Â ë€Âè€Âàý€Â ÷€Â ë€ÂÀá€Âàä€Âàä€ÂÀá€Âàä€Â`ñ€Â ÷€Âàý€ÂÀú€Â€ô€Â€ô€Â ë€Â ë€Âàä€Âàä€Âè€Â`ñ€Â€ô€Â€ô€Âè€Â`ñ€Â ÷€Âè€Â Þ€Â Þ€Â@Հ ހ€ۀ ހÂÀá€Â@î€Â`ñ€Â ë€Âè€Â Þ€Â@Հ€ۀÂàä€Â Þ€Â@Õ€ÂÏ€Â@Õ€Â`؀ ހ ހÂ`Ø€ÂàË€Âàˀ Ҁ ҀÂπ ҀÂÏ€Âàˀ ŀÂ`¿€Â€Â€Âàˀ ŀÂ`¿€Â ¹€Â¶€Âಀ¶€Â ¹€Â@¼€Â Å€ÂÀȀ€€ÂÀȀ€€Â@¼€Â`¿€Â¶€Â¶€Â ¹€ÂಀÂಀÂ@¼€Â`¿€Â¶€Â¶€Â€©€Â  €Â`¦€Â@£€Â  €Â`¦€ÂÀ¯€Â`¦€Â ¬€Â ¬€Â ¬€Â`¦€Â@£€Â@£€Âà™€Â “€ÂÀ–€Â  €ÂÀ–€Â “€Â€Â€©€Â€©€Â`¦€Â ¬€Â  €Âà™€Â€€Â “€Â “€Â`€Â`€Â ‡€Â@Š€Â„€Â„€Â„€ÂÀ}€ÂÀ}€ÂÀ}€Â z€Â z€Â€w€Â@q€Â`t€Â`t€Â z€Âà€€Âà€€Â`t€Â@q€Â n€Â n€Â`t€Â n€Â a€Â a€Âàg€Âàg€Â n€Â n€Â@q€Â n€Âàg€Â a€Â@X€Â`[€Â`[€Â€^€Â`[€Â a€Â`[€Â€^€Â`[€Â@X€Â U€ÂÀK€Â U€Â@X€ÂàN€Â H€Â H€ÂàN€Â U€Â€E€Â H€Â`B€ÂàN€ÂR€ÂR€ÂàN€Â H€Â H€ÂÀK€ÂR€Â U€ÂàN€Â H€Â`B€Â`B€Â`B€ÂàN€Â€E€ÂàN€Â`B€Â H€ÂàN€ÂàN€Â H€Â@?€Âà5€Â@?€Â€E€Â€E€Â`B€Â@?€ÂÀ2€Â <€ÂÀK€Â€E€Â H€Â€E€ÂàN€Â`B€Â /€Â /€Â€,€Â /€Âà5€Âà5€Âà5€Â /€Â`)€Â #€Â #€Â /€Â /€Âà€Â €Â €Â`)€Â /€ÂÀ2€Âà5€Â9€ÂÀ2€Â /€Â`)€Â /€Â9€Â9€Â <€ÂÀ2€Â`)€Â €Â €Âà€Â #€Â €Â €Â €Â€€Â #€Â €ÂÀ€ÂÀ€Â €Â€€Â€€Â`€Â`€Â€€ÂÀ€Â@ €Â`€Â €Âà€Â €Â`€Â €Âà€Â@ €Â €Â@ €Â €ÂÀ€ÂõÂÀ€Â €Â@ €Âà€Â@ €Â`€Â €Â €Â €Â`€Â`€Â €Â`€Âà€Âà€Â€Â@ûÂà€Â€ÂÀ€Â@ûÂ@ûÂõ€€€Âà€ÂõÂà€Â@ûÂÀîÂ@âÂÀÕÂ@ÉÂÀÕÂ@âÂõÂ@ûÂõÂ@â€èÂ@âÂÀîÂÀî€ÏÂ@ÉÂÀ¼€ÏÂ@âÂ@ÉÂÜÂÜÂÀÕÂ@âÂÜÂÀÕÂ@ÉÂ@°ÂÀ¼Â@°ÂÀ¼ÂÃÂÀ¼Â@âÂÜÂÜÂ@ÉÂÜ€ÏÂÀ¼ÂÀ¼Â@°Â@É€¶ÂÀ¼ÂÃÂ@°ÂÃÂ@°ÂÃÂ@ÉÂÀ¼€ÏÂ@ÉÂ@ÉÂ@ÉÂ@ÉÂÀÕÂÀÕÂÀÏÂÀ¼Â@É€ÏÂÃÂÜÂ@°€ÏÂÜ€¶ªÂÀ£Â@—Â@—Â@—Â@°Â@°ÂÃÂÀ¼€¶ÂÀ¼ÂÀ¼Â@ÉÂÀÕ€èÂ@âÂ@ÉÂÃÂ@°Â@°€¶Â@ɀπÏÂ@ÉÂ@âÂÃÂÜÂÃÂÀ£ÂÀ£Â@—ÂÀ£ÂÀ£€Â@°Â@°Â@°Â@°ÂÃÂ@°Â@—ªÂ@°ÂÀ¶Â@°ÂÀ£ÂÀ£€¶Â@°Â@°ÂÀ£Â@—Â@°ÂÀ¼ÂÀ¼ÂÀ£ÂÀ£€¶Â@ÉÂÃÂ@ÉÂÃÂÃÂ@É€ÏÂÀ¼Â@°Â@°ªÂÀ£Â@ÉÂÀ¼ÂÀ¼Â@ÉÂÃÂÀ¼Â@ÉÂ@°ª€¶€¶Â@°ª€ÂÀ£ÂÀ£ªÂÀ£€Â@—‘‘ÂÀ£ÂÀ£Â@°ÂÀ£ªª€Â@—Â@—€¶Â@°ÂÀ£Â@°ÂÀ£ÂÀ£€¶ÂÀ¼€¶Â@°Â@°Â@—ÂÀ£ÂÀ£€¶ªÂÀ£€€„Â@°ÂÀ£Â@—Â@—ÂÀ£€¶Â@°ÂÀ£€¶€ÂÀŠ€„Â@—ÂÀŠÂ@—ÂxÂÀqÂÀq‘ÂÀ£‘Â@—ÂÀ£ÂÀ£ªÂÀ£ÂÀ£ÂÀ¼ÂÀ£Â@—€Â@ÉÂÜÂ@°ÂÀ£€„ÂÀŠÂÀŠÂ@~ÂÀqÂ@—‘Â@~ÂxÂ@~Â@~‘ÂÀŠÂÀ£Â@°Â@°ªÂ@°ÂÀ£ÂÀŠ‘Â@—Â@°Â@°€ÂxÂ@~ÂÀqÂ@~Â@eÂÀXÂÀXÂ@e€kÂ@~€„ÂÀŠÂ@~Âx€kÂ@eÂ_ÂÀqÂÀq€kÂxÂÀqÂ@~ÂÀŠÂ@~ÂÀqÂ@~Â@eÂÀXÂ@e€kÂxÂxÂ@~Â@eÂ_Â_Â_€kÂ@~€„Âx€k€RÂÀXÂ_ÂxÂ_ÂÀX€RÂ@eÂÀXÂ@LÂ@LÂFÂ@LÂ@LÂ@eÂ_Â@LÂ@3Â-ÂÀ&Â@3ÂÀ&ÂFÂ@LÂ@LÂFÂ@3Â@3Â@L€9Â@3ÂFÂÀ?€RÂ@3Â-€9Â@3€9ÂÀ?ÂÀ?Â@L€RÂ@LÂ@L€RÂ@3ÂÀ&Â@3Â@3Â@3€9Â@3Â@3Â@Â@3Â@3Â@3ÂFÂÀ?ÂÀ?ÂÀ?ÂÀ?Â@3Â@3Â@ÂÀ&€9Â@3€ ÂÀ&ÂÀ Â-ÂÀ?Â@LÂÀXÂ@eÂÀXÂÀXÂÀ?ÂÀ?Â@LÂ@LÂÀXÂFÂÀ?ÂFÂÀXÂ@3ÂÀ&Â@3ÂFÂFÂ@LÂ_Â@LÂ@LÂÀ?ÂFÂ@L€9ÂFÂÀ?Â@LÂÀ?Â@L€9Â@3ÂFÂ@LÂÀX€RÂ@LÂÀXÂÀ?€RÂ@LÂÀX€kÂ@LÂÀ?Â@LÂÀXÂFÂÀ?Â@3ÂÀ?ÂÀ?ÂÀ?Â_ÂÀqÂÀŠÂ@~ÂÀqÂ@—Â@—Â@~ÂÀqÂ@e€kÂ@eÂÀqÂ_€kÂ@eÂÀqÂ_Â_Â@eÂ@eÂ_ÂÀqÂ@~Â@~ÂxÂxÂÀqÂ@~Â@~Â@~€„ÂÀŠÂÀqÂÀq‘ÂÀqÂ@~€kÂ@eÂ@eÂ@eÂÀXÂÀXÂ@eÂ@eÂxÂ@eÂ_€kÂ@~€kÂÀŠ‘Â@—€Â@~Â@~€kÂ@~ÂÀŠÂ@—€„€kÂÀŠÂ@~ÂÀŠÂÀ£Â@~Âx€kÂ@eÂÀqÂxÂxÂ@~Â_Â@LÂ@LÂFÂ@3ÂÀ?Â@LÂ@LÂ@LÂ@LÂ_ÂÀqÂÀq€RÂÀXÂ_ÂÀqÂ@eÂ@~€„ÂÀŠÂÀŠÂ@~ÂÀqÂ@eÂ_Â@eÂxÂ@~ÂÀqÂ@eÂ@eÂ_Â@LÂ_Â_ÂÀX€R€kÂÀq€„ÂÀŠÂÀ£€ÂÀ£ÂÀ£ªÂÀ£‘ÂÀq€kÂ@eÂxÂxÂ@~€k€„Â@—ÂÀŠÂ@~Â@~ÂÀŠÂ@~ÂÀq€k€kÂ@eÂÀŠÂ@—€kÂ@~ÂxÂ@eÂx€kÂÀq€„‘ÂÀŠÂ@~Â@—Â@—Â@—Â_Â@eÂ@eÂxÂ@~ÂÀqÂ@eÂÀXÂÀqÂx‘€ÂÀŠÂ@—ÂÀŠÂx€kÂ@eÂxÂ_Â@eÂ_ÂxÂÀq€„ÂxÂ@~Â@~Â@~Â@eÂ@e€RÂÀ?Â@LÂÀXÂ@eÂx€„Â@—ÂÀŠÂ@~ÂxÂÀqÂÀqÂÀqÂÀqÂx€kÂ@eÂ@eÂÀXÂ_€k€RÂ@LÂÀXÂÀXÂ@eÂ@eÂ@eÂÀXÂ_Â@L€9€9Â@3€9Â@LÂÀXÂÀXÂ_Â_Â@LÂF€R€kÂ@~ÂÀŠÂ@~ÂÀqÂ@eÂ@eÂÀqÂ_ÂÀqÂxÂ@LÂ@3Â@3Â@L€R€RÂFÂFÂxÂÀŠÂ@eÂ_Â@~€RÂÀXÂ_ÂFÂÀ?Â_Â@LÂÀ?ÂFÂFÂÀ?ÂÀXÂ@3ÂF€R€RÂ@3Â-ÂÀ?Â@eÂ@eÂ_ÂF€RÂÀ?Â@LÂ@LÂ_Â@e€kÂ@eÂ@eÂ@eÂÀXÂFÂÀ?Â@3Â-ÂFÂ@eÂ_ÂÀqÂxÂÀqÂ_Â@eÂÀqÂÀqÂÀqÂÀqÂ@~ÂÀqÂ@eÂ_Â_ÂFÂ_Â_Â@e€RÂ@eÂ_Â@eÂ@eÂÀqÂÀqÂ@~Â@~ÂÀqÂÀqÂ@eÂ@eÂÀq€kÂxÂÀŠ‘€„ÂÀŠÂ@—€„€k€RÂ_€RÂ@LÂÀ?Â@3Â@LÂFÂÀXÂ_ÂÀqÂ@~ÂÀqÂÀŠÂ@—€„Â@~ÂxÂÀŠÂxÂ@eÂ@~ÂxÂ@eÂ@eÂÀq€kÂÀXÂ@eÂ@~ÂÀŠÂÀq€„Â@~Â@—Â@—€€ÂÀ£ªÂ@—€„€„Â@~Â@~ÂÀŠÂ@~€„Â@—‘ÂÀqÂÀqÂx‘€‘‘‘‘‘€„ÂÀŠÂ@—Â@—‘Â@—€¶€¶ÂÀ¼Â@°ÂÀ£€ÂÀ£ÂÀ£Â@°‘ÂÀ£ÂÀ£Â@—Â@~Â@~€ÂÀ£Â@°ª€¶Â@°Â@°ÂÀ£ÂÀ£ÂÀ£Â@—‘Â@~Â@—Â@—ÂÀŠÂ@~Â@—Â@°Â@—Â@°ÂÃÂ@ÉÂ@ÉÂÀÕÂ@ÉÂÀ¼ÂÃÂ@—Â@—€Â@—Â@°Â@°ÂÃÂ@°ÂÃÂÀ¼Â@°Â@É€¶Â@°Â@°€¶ªÂ@°ÂÀ£ªÂÀ£ÂÀ£€ÂÀ£Â@°Â@°Â@°Â@°Â@°ÂÀπÏÂÀÏÂÜ€ÏÂÀÕ€¶ÂÀ£Â@°ÂÀ¼Â@ÉÂÀÕÂõÂ@âÂÜÂÜÂ@ÉÂÀ¼Â@°Â@°ÂÃÂÃÂ@ÉÂÜÂ@ÉÂÃÂÀÕÂÀ¼€ÏÂ@â€è€ÏÂ@°Â@âÂÀîÂÀîÂÀîÂõÂ@â€ÏÂÃÂÃÂÜÂ@âÂÜÂ@âÂ@ÉÂ@ÉÂ@ÉÂ@â€ÏÂÀÕÂÜÂ@ÉÂÀîÂ@ûÂÀ€Â@ûÂ@ûÂ`€Â@ûÂ@û€èÂÀÕÂõ €Â €Â€€Â@ûÂ@ûÂõÂõÂõÂà€Â@ûÂ@ûÂÀîÂ@âÂ@âÂ@ûÂà€Â€Â €Â@ûÂ@ûÂÀ€ÂÀ€Â`€Â €Â@ûÂõÂÀ€Âà€Â@û€Â@â€èÂ@âÂ@â€èÂÜ€èÂÀÕÂ@É€¶€€„€kÂÀXÂF€ ÂÀ ÂÀÛ~Â@Ï~ÂÀÛ~ÂÀÛ~ÂÀÂ~Â@¶~Â@~ÂÀ~Â@„~Â@R~ÂÀE~ÂL~ÂÀ^~€q~ÂÀE~€?~Â@9~ÂÀ,~ÂÀ,~ÂÀú}ÂÀú}Â~Â@ ~Â@ ~ÂÀ~Â@ ~Â@ ~ÂÀ~ÂÀ~Â~Â~€ô}€ô}ÂÏ}Â@î}Â@Õ}ÂÏ}€Â}€Â}€Â}€Â}Â@£}Â@Š}ÂÀ–}ÂÀ–}Â@£}Â@£}Â@£}Â@£}Â}ÂÀ–}ÂÀ}}€^}ÂÀK}Â@X}Â@X}ÂR}ÂÀd}Â@X}€E}Â9}ÂÀ2}Â@&}ÂÀ}ÂÀ}Â}ÂÀ}Â}Â}Â}€ú|Â}Â}€}Â@ }Â@ }Â@ }Â}Â}Â}Â@ }Â}€ú|€ú|Â@Û|Â@Û|€ú|ÂÀç|€á|Â@Û|Â@Û|ÂÕ|Â@Û|ÂÀç|ÂÀç|ÂÀç|Â@Û|ÂÕ|Â@Û|¼|ÂÀµ|£|Â@w|Âq|Â@w|Š|€–|Â@|Š|Š|€}|Â@w|Âq|Â@w|ÂÀƒ|Âq|ÂX|ÂÀj|Â@^|€d|Â@^|ÂÀQ|ÂÀ8|Â@,|Â@E|Â?|Â@,|Â@,|ÂÀ8|Â?|Â@,|€2|Â@,|Â&|ÂÀ|Â@ú{ÂÀ|Âô{Â@á{ÂÛ{ÂÛ{ÂÀí{ÂÀÔ{ÂÀÔ{ÂÂ{Â@È{©{©{€œ{Â{Â@–{Â{Â@}{Âw{ÂÀ‰{Â{Â{€œ{ÂÀ‰{ÂÀ‰{Â@–{Â{Âw{Â@}{Â@d{Â^{Â@d{€Q{Â@d{€j{Âw{€j{Â@d{ÂÀW{Â@d{Â@K{ÂÀW{Â^{ÂÀp{€j{Â^{€Q{ÂE{€Q{ÂE{Â,{Â,{Â@2{Â@2{ÂÀ%{€8{€8{ÂÀ%{Â@{ÂÀ {ÂúzÂÀóz€{Â@{€{Â@{Â{ÂÀ%{Â@{Â,{€{€{Â@{Â@{ÂÀ {ÂÀ {Â{€{Â{Â@{Â@{ÂúzÂúzÂÀózÂ@çzÂÀÚzÂÀÁzÂázÂ@ÎzÂ@ÎzÂÀÚzÂÈzÂ@ÎzÂÀÁzÂÈzÂÈzÂ@ÎzÂ@ÎzÂáz€ízÂÀÚzÂÀÚzÂ@ÎzÂÀÁzÂ@µz–zÂÀzÂ@œz€¢zÂ@œzÂÀ¨z€¢z€¢z€¢zÂ@œzÂ@µzÂ@µz€ÔzÂ@ÎzÂÈzÂÀÚz¯z¯zÂ@œz–z–zÂ@jzÂ@ƒzÂÀzÂÀzÂ@œzÂÀ¨z€¢zÂÀ¨zÂÀzÂÀzÂ}zÂ@ƒz€‰zÂÀzÂ@ƒzÂ@ƒzÂ@ƒzÂÀvzÂÀzÂ@œzÂÀz–zÂÀzÂdzÂ@jz€pz€pzÂdzÂdz€pzÂÀvzÂdz€pzÂÀvzÂ}zÂ@jzÂ@jzÂÀvz€pz€pzÂÀvzÂdzÂdz€WzÂ@zÂ@z€%zÂÀDzÂÀ+zÂÀ+zÂ@8z€>zÂ@8zÂÀDzÂ2zÂÀ+zÂÀ+zÂ2zÂ@zÂ2zÂÀ+zÂ2zÂKzÂ@8z€%zÂÀzÂ@zÂ@zÂzÂÀ+zÂ@8zÂ@zÂzÂÀzÂzÂ@zÂz€ zÂÀzÂÀzÂzÂÀz€ zÂ@zÂÀ+zÂ@z€>z€%zÂ@z€%zÂ@8zÂÀ+zÂzÂzÂ@z€ zÂ@8zÂ@8zÂ@8zÂÀ+zÂ@z€%zÂzÂ@zÂz€óyÂzÂÀz€%zÂ@zÂ@zÂÀzÂ@zÂÀùy€óyÂ@íyÂ@íy€óyÂ@íyÂçyÂ@íyÂçyÂçyÂÀàyÂ@íy€óy€óyÂ@zÂ@íyÂzÂ@ÔyÂ@»yÂÀày€ÚyÂ@íyÂÀàyÂ@»yµyÂ@»yµyÂ@»yÂ@Ôy€óyÂçyÂçyÂçyÂÀàyÂÎyÂ@»yµyµyÂ@ÔyÂÀÇyÂÎyÂÀ®yÂ@¢yµy€ÚyÂÎyÂÀ®yÂÎyÂÀàyÂÀÇyÂÎy€Úy€ÚyÂ@ÔyÂÀàyÂ@ÔyÂ@ÔyÂ@Ôy€ÁyÂ@»yµyÂÀÇyµyµyÂ@»yÂÀày€ÚyÂÎyµyµyÂÀÇyµyµyÂ@»yµyÂ@»y€ÁyµyÂ@»y€¨yÂ@¢y€yÂÀ®yÂÀ®yµyÂÀ®yÂÀ®y€Áy€¨yÂ@¢yœyœyÂ@¢yÂ@»yÂÀ®yÂÀÇyÂÀÇyÂ@»yÂÎyÂÀÇyÂ@»yµyÂ@¢yÂÀ®yÂ@¢yÂ@»yµy€ÁyÂÀ®yµyµyÂ@¢yœy€ÁyÂÎyÂÀÇyµyµyÂ@»yÂÎyÂÎyÂ@»yÂ@»yÂÀ®yÂÀÇyÂ@»yÂÀ®y€¨yÂ@¢yÂÀ®yÂÎyÂÎyÂÎyÂÎyµyµyÂÀ®yÂÀÇyÂ@ÔyÂ@ÔyÂÀàyÂçyÂÀàyÂÀÇyµyÂ@»yÂ@ÔyÂÀÇyÂÀÇyÂÀÇyÂÀÇyÂ@»yÂÀ®y€ÁyÂ@ÔyÂ@ÔyÂÀÇyÂÀÇyÂÎyÂ@ÔyÂçyÂÀùy€ zÂ@íyÂçyÂzÂ@íyÂÀùyÂzÂz€óyÂzÂçyÂÀàyÂ@íyÂÀùyÂ@ÔyÂÀÇy€ÁyÂ@ÔyÂÀÇyÂçyÂ@Ôy€ÚyÂÀàyÂÀày€ÚyÂÀàyÂ@íy€ÚyÂÎyÂÀÇyÂ@ÔyÂÀàyÂÀàyÂÀùyÂÀùy€óyÂÀùyÂ@íyÂ@íyÂÀày€ÚyÂÀàyÂ@zÂzÂÀùyÂ@zÂÀzÂÀ+z€%zÂ@zÂ@zÂzÂ@íy€Úy€Úy€óyÂzÂ@zÂ@zÂ@zÂ@íy€óy€óyÂ@zÂzÂ@zÂ@zÂ@zÂÀ+zÂz€%z€ zÂÀùyÂÀùyÂÀùyÂÀzÂ@zÂ@zÂzÂz€óyÂz€ z€ zÂz€ zÂ@zÂ@8zÂ@8zÂÀDzÂ@8zÂ@zÂÀzÂ@zÂzÂÀzÂÀzÂzÂÀzÂ@z€ zÂzÂ@z€ zÂ@z€ zÂÀ+zÂ@zÂÀ+zÂ2zÂ2z€%z€ zÂ@íyÂÀùyÂÀz€ zÂ@zÂzÂzÂzÂÀzÂÀzÂzÂÀ+zÂ2zÂ2zÂ@8z€>zÂ2zÂzÂzÂÀ+zÂ@zÂ@zÂ@z€%zÂ@zÂ@zÂ@z€%zÂÀ+zÂÀ+zÂÀ+zÂ@zÂÀ+zÂÀ+zÂ2zÂzÂzÂzÂ@íyÂzÂ@zÂzÂÀ+zÂ2zÂ@8zÂKzÂ@8zÂÀ+z€%z€%zÂ@8zÂÀ+zÂzÂÀ+zÂ@8zÂ2zÂ@8zÂ@z€%zÂÀ+zÂÀ+zÂ@8zÂ@QzÂ@8zÂ@8zÂ@QzÂKzÂÀDzÂ@8zÂÀDzÂKzÂ@QzÂKz€>zÂ@QzÂKzÂ@8z€>zÂÀDzÂ@QzÂdzÂ@jzÂÀ]zÂ@jzÂ@jzÂ@jz€WzÂ@8z€>zÂ@8zÂÀ+zÂÀDzÂ@QzÂKz€>z€>zÂ@QzÂÀ]zÂdzÂdzÂÀ]zÂ@jz€pzÂ}z€pzÂÀvzÂ@jz€WzÂ@QzÂÀvzÂ@jzÂ@jzÂÀ]zÂ@QzÂÀȀ =ŸÂÀ‘·ÂÀ·Â :¬ÂàÙŸÂÔ”Â`–‹Â€eƒÂÀ¬qÂÀF€y¡Á¤5A€ÖBVBB’jB~B v‡B@¥ˆB€S†BeB€ŽuB€îeB€×TBÀþBB 1ByB@³BRýAWßAÍÃA€uªA€“Aw{ATSAp-A A,É@{@€»?x‚¿daÀŽÁÀ Áq1ÁßYÁÁ€v•ÁªÁ¹¾Á€`ÓÁ€LçÁÈúÁ«ÂCÂÀ>˜ÂÀN%ÂÀu+€Î0ÂY5ÂÀS9ÂÅ<ÂÀÅ?ÂÀOBÂ@›DÂÀ›FÂ@jH€J€wKÂ@ÏLÂÀN€-O€'PÂ@ÐPÂ@˜QÂ@.RÂðRÂ@sS€öSÂ@mT€×TÂÀZUÂ@ËUÂ)VÂÀTV€™VÂ@ÞVÂÀWÂÀNWÂnW‡WÂ@¦WÂ@¿WÂÀýWÂÀXÂ@#XÂ@UXÂÀzXÂ@‡XÂÀ“X€tXÂ@nX€tXÂÀzXÂXÂÀ“X€XÂ@‡XÂÀ“XÂÀ“XÂ@‡XÂ@‡XÂ@ XÂ@ XÂ@ XšXÂÀ“XÂ@ X³X³X³XÂ@ X€¦XÂÀ¬XÂ@¹XÂÀÅXÂÌX€¿XÂ@ÒXÂ@ëXÂÌXÂ@¹XÂ@ XÂ@ XÂ@‡XÂXÂÀ“XÂÀ“XÂÀ“XÂXÂ@nXÂÀ/XÂOXÂ@UXÂhXÂ@yÂÀcyÂÀ|yÂ@pyÂ@pyÂ@pyÂÀ|yÂÀ|yÂ@‰yÂÀ|yƒyƒyÂÀ•yÂÀ•yÂÀ•y€¨yÂ@¢yÂÀ®yÂÀÇy€ÁyµyµyÂÎyÂÀàyÂÀàyÂÀÇy€óyÂ@z€ zÂzÂ@zÂzÂÀ+zÂ2zÂ2z€>zÂ@zÂzÂÀzÂzÂÀ+zÂ@z€%zÂ@8zÂ@8zÂ2zÂÀ+z€%zÂÀ+zÂKzÂÀ]z€WzÂÀ]zÂ@jzÂ@jzÂÀ]zÂdz€pzÂ}z€‰zÂ@µzÂÈzÂ@µz€»z€»z€»z€ÔzÂÀÁzÂÀÁzÂÀÁzÂÀÚzÂÀÚzÂázÂÀÚzÂáz€{ÂÀ%{Â@{ÂÀ%{Â@2{€8{ÂÀ%{ÂÀ%{ÂÀ%{ÂÀ%{Â@{Â@{€{Â@{Â@{Â{Â@{Â{ÂÀ%{ÂE{Â@K{€Q{Â@d{Â@d{Â@d{Âw{Â@}{Â^{Â@d{ÂÀ‰{Â@–{ÂÀ¢{€œ{Â@–{Â@–{ÂÀ‰{Â@¯{Â@¯{Â@¯{ÂÂ{ÂÀÔ{ÂÀÔ{ÂÂ{ÂÛ{Âô{€|ÂÀí{€ç{ÂÀÔ{€ç{Â@ú{€|Â@á{ÂÀÔ{Â@ú{ÂÀ|ÂÀí{Â@ú{ÂÀ| |ÂÀ|€2|Â?|ÂÀQ|Â@,|Â@,|ÂÀQ|ÂÀQ|Â@^|€}|€d|ÂÀj|Â@|Â@|Â@|ÂÀœ|ÂÀƒ|ÂÀƒ|€}|Â@w|Â@w|€}|ÂÀƒ|€–|Â@|ÂÀœ|ÂÀœ|Â@©|ÂÀœ|ÂÀµ|Â@©|€¯|ÂÀµ|Â@Â|€È|Â@Û|ÂÀç|ÂÀ}Â@ }Â@ }ÂÀ}Â@ }€} } }ÂÀ}Â@&} }Â@&}Â9}Â@?}€,}Â@&}€}ÂÀ2}Â@?}Â@?}Â@?}ÂÀK}ÂR}ÂÀd}ÂÀd}Â@X}ÂÀd}Â@X}ÂR}Â@?}ÂR}ÂR}ÂÀd}ÂÀd}ÂÀ}}ÂÀ–}ÂÀ–}Â@£}ÂÀ¯}ÂÀÈ}ÂÏ}Â@¼}Â@¼}ÂÀÈ}ÂÀÈ}Â@Õ}ÂÀÈ}€Â}ÂÏ}Â@Õ}Â@Õ}ÂÀá}Âè}Â~Â~ÂÀ~Â@~Â@~Â~Â~ÂÀ~Â@~€ ~€ ~€&~Â@ ~Â3~Â@9~ÂÀE~ÂÀE~ÂÀE~Â@R~Âe~Âe~ÂÀw~Â~~Â@k~ÂÀ~ÂÀ©~Â@¶~Â@~ÂÀ~—~Â@~—~€Š~Â@„~€Š~ÂÀ~Â@~Â@~Â@~Â@¶~°~°~Â@~Â@~ÂÀ©~Â@¶~ÂÀÛ~ÂÀÛ~Â@è~Â@è~ÂÀô~Â@Â@ÂÂÀ Âû~Â@Â@Â@Â@ÂÀô~ÂÀ € Â-Â@3ÂÀ?ÂÀ?ÂÀ?ÂÀ?ÂÀ?€R€k€kÂ@eÂ_Â_Â@e€k€kÂÀqÂÀqÂ@eÂÀX€kÂ@~‘‘ÂÀ£ªÂÀ£ªÂÀ£Â@°ÂÀ¼€¶ÂÀÕ€ÏÂ@âÂÀîÂÀÕÂÜ€èÂà€Âà€Âà€Â@ €Â €Â €Âà€Â@&€Â #€Â €Â`)€Â #€Â €Â@&€ÂÀ2€Â /€Â /€ÂÀ2€Â /€Â@?€Â <€Âà5€Âà5€Â <€Â€E€Â H€Â€E€Â H€ÂàN€Â H€Â H€Â@?€Â`B€Â€E€Â H€Â U€ÂàN€Â U€ÂÀd€Âàg€ÂÀd€Â n€Âk€Â`t€Â n€ÂÀd€Â n€Â`[€Â U€Â a€Âàg€Â€w€Â n€Â`t€Â ‡€Â “€Â “€ÂÀ–€Âà™€Â “€Â@Š€Â`€Â`€Â€€Âà™€Â@£€Â€©€Â@£€Â  €Â@£€Â`¦€Â€©€Â€©€Â`¦€ÂÀ¯€Â`¦€Âಀ  €Â ¹€Â ¹€Â¶€Â€Â€Â€Â€Â Å€Â€Â€Â Ò€ÂÀÈ€Â`؀ ހ ހÂàä€Â`؀€ۀÂÀÈ€Â@Հ ހÂàä€Â Þ€Âè€Â@î€Âàý€ÂÂ@Â@ Âàý€ÂÀú€Âàý€Âàý€ÂÀú€Â ÷€Âàý€Â ÷€Â Â@ Âà€   ÂàÂàÂ` Â`  Â`# )Â`#Â@  )€& Â`#Âà/ 6 6€?ÂàHÂÀEÂ`<Âà/Â`<€?ÂÀEÂ`UÂ`UÂLÂÀE BÂLÂ`UÂ@RÂ@R BÂÀEÂàH€XÂ`UÂ`U O€X [Â`U [€XÂe€qÂ~€qÂÀw tÂ@k hÂ`n€qÂ`n t tÂàzÂàz t€qÂàz€q hÂàa€qÂàzÂÀwÂàzÂ~ Â@„Âà“Â` Âà¬Â` Âà“Â`‡Â   Â~Â@„€ŠÂÀÂà“Â` Â ¦Â ¦Â@Âà¬Â` Â ¦ÂÀ©Âà¬Â ¦Â€£Âà¬Â@¶Â ³Âà¬Â ¿ÂàÅ ¿ÂàÅÂ`¹Â ¿Â ¿Â€¼Â€¼Â@¶Â ¿Â ¿Â`¹Â ³Â ¿Â Ì ØÂÀÛÂÀÛÂÀÛ€ÕÂàÞÂàÞ€ÕÂâÂ@èÂà÷€î ñÂû þÂ@‚ÂÀôÂà÷ ñ ñÂÀôÂ@èÂâ€î€î€î þÂ`‚Âà÷Âà÷ÂûÂ`‚€‚Â`‚ þ  ‚ ‚€ ‚€ ‚Â`‚ÂÀ&‚Âà)‚ #‚Â`‚€ ‚ ‚€ ‚Â`‚ ‚Â@‚ 0‚Â`6‚ <‚Â`6‚Â@3‚Â@3‚ 0‚Â@3‚€9‚Â`6‚Â`6‚€9‚Â`6‚Â`6‚ <‚€9‚ÂÀ?‚ <‚ÂàB‚ÂàB‚Â`6‚ I‚ I‚ÂàB‚ <‚€9‚ I‚ÂàB‚ÂàB‚ÂàB‚ÂÀX‚Â@e‚€k‚Âàt‚ n‚Â@e‚Â_‚ n‚ n‚Âàt‚€k‚Â`h‚ b‚€k‚Â`h‚ n‚Âx‚Â@~‚Â@~‚ {‚Âx‚ {‚Âx‚Â`‚Â`‚Âx‚Âx‚Â@~‚Â@~‚Â`‚‘‚Âà‚ÂÀŠ‚ÂÀŠ‚Â‘‚Â`š‚  ‚ ­‚Â`³‚Âং€‚Âং ¹‚€¶‚ ¹‚ ­‚Â@°‚ª‚ ­‚ ¹‚Â@°‚ ¹‚€¶‚€¶‚ ¹‚Â`³‚ ­‚Â`³‚ ¹‚ ¹‚€¶‚Âà¿‚Â Æ‚Â`̂ ҂Â`å‚ ߂ ҂ÂÂÂÀ¼‚Â@°‚  ‚ ”‚ ‡‚ {‚Âàt‚ b‚Âà[‚ U‚ÂF‚ÂF‚ <‚Â`6‚Âà)‚€ ‚ ‚Â`‚  ‚  ‚  ‚  ‚ þÂû þÂà÷Âà÷€î€îÂà÷€î€î€îÂâ ØÂÀÛ€ÕÂàÞ ØÂâ åÂàÞ€ÕÂÀ ¿Â€¼Â`¹Â`¹Â ³Â€¼ÂÀ ³Â ³Â€¼Â€¼Â ³Â@¶ÂÉÂàÅÂàÅÂà۰€£Â` Â€£Â—Âà“ÂÀÂà“ šÂ@Â@ šÂ€ŠÂ@„Âàz Â`‡Â`‡Â     €ŠÂ€ŠÂ@„Â@„   Â`‡Âàz tÂàzÂàz t h€qÂ@k [ÂàaÂeÂàaÂe hÂ`n€q€qÂÀwÂ@kÂ@kÂ`nÂàaÂÀ^ OÂàa€XÂ`U OÂÀEÂLÂÀEÂ`U OÂ@RÂàHÂÀE OÂ`UÂÀ^ÂàaÂàa€XÂ`UÂ`UÂ`U€X [ÂÀ^€XÂ`U OÂàH O O€XÂ`U [€X [ [ O OÂàHÂLÂÀEÂ@RÂeÂÀ^ÂÀ^€XÂ`U€XÂÀ^ [€XÂ`UÂ@RÂ`U€XÂ`U€XÂÀ^ÂÀ^ÂÀ^ÂÀ^ÂeÂÀû„ K£Â€s»ÂàÿºÂà(°Â€ê£Â ý˜Âò pˆÂàÂ@&dÂõÿÁÀ¨ÀeAœùAÀ¶5BÔ_BÀ%{BÀâ„B€‡B`ˆ…B`#B‚uB€fB@ÑTB€ÆBBÂ0B€SBÀ¦B€ÛýA€¨àA]ÅA¬A€]•A€AŽZA…6AvAXã@ÄŸ@Ð6@0?H¼¿`jÀ¬¼ÀÜÁ”'Á_MÁsÁ€HŒÁüžÁ€á±Á€oÄÁ€²ÖÁ€‘èÁ€¨ùÁÀ⇠ÂÀ¡Â3 Ân%€C*Â@».ÂÏ2Â@@6Â@`9Â/<Â@>Â@³@ÂÀBÂ@7DÂÀ¡EÂ@óF€>HÂ@dIÂqJÂkKÂ@9LÂÀ MÂÜMÂÀ„NÂ@'OžO€'PÂ@žPÂQÂ@QÂ@ÊQÂ@.RÂŒRÂ@ÝR€.SÂ@ZS†S¸SÂÀãSÂ@"T€ZTÂÀyTÂÀ«TÂÀÝTÂýTÂÀ(UÂ@5UÂ@NUÂÀZUÂÀsU€†U€ŸUÂÀ¾UÂÅUÂÀðUÂV€VÂV€V€VÂ@V€V€VÂ@/VÂ)VÂ@/VÂ@/VÂ@/V€gVÂVÂ@¬VÂØVÂÀêV W€WÂÀWÂÀW WÂÀWÂÀWÂ@BWÂÀgWÂ@BWÂUWÂÀgW‡W‡W€zWÂÀ€WÂ@W€“WÂ@¦W€¬WÂ@¿WÂÀ²WÂÀËW€ÞW€ÞWÂëWÂëWÂÀXÂXÂ@#XÂÀ/XÂ@UXÂÀaX€tXÂÀ“XÂ@¹XÂÌXÂÀÅXÂ@ÒXÂÌXÂ@ëXÂþXÂÀ)YÂ@YÂ0YÂ@6YÂÀBYÂIYÂÀBYÂ@6YÂIYÂ@OYÂ@hYÂ@hYÂ{YÂ@YÂ@Y€ Y€ Y€¹Y€ÒYÂßYÂ@åYÂøY€ZÂ@ZÂÀ#ZÂ@0ZÂÀUZÂuZÂ@”ZÂ@”ZÂÀ¹Z€ÌZ€åZ€þZ [ÂÀ[Â$[ÂÀ[Â@C[Â@\[Â@u[ÂÀ[Â@Ž[Â@§[Â@À[Â@À[ÂÀÌ[Âì[Â\Â@ \Â@ \ÂÀ\ÂÀ\Â7\ÂÀI\ÂP\Â@o\€Ž\€À\Â@º\ÂÀÆ\Âæ\Â@]ÂÀø\Â@]Â@]Â@]Â@7]ÂJ]ÂÀC]ÂÀC]Â@P]ÂÀu]Â@´]Â@Í]Â@Í]Â@Í]ÂÀò]ÂÀ ^Â@ÿ]ÂÀ$^ÂÀ=^ÂÀ=^ÂÀ=^Â@J^€i^Â@|^ÂÀ¡^€Í^Â@à^€ÿ^ _Â@ù^Â@_ÂÀ_Â@+_€1_€J_ÂÀP_ÂÀ‚_Â@v_ÂÀ›_ÂÀ´_ÂÀ´_ÂÔ_ÂÀæ_Â@ `Â@ `ÂÀ`Â@%`Â8`ÂQ`ÂÀc`ÂÀ|`ÂÀ•`ÂÀ•`Â@¢`€¨`Â@¢`Â@»`Â@Ô`Â@í`Â@í`ÂÀù`ÂaÂaÂÀ+a€>aÂÀ]aÂ@jaÂÀvaÂÀvaÂ@ƒaÂ@ƒa¯aÂáaÂ@çaÂÀ bÂ@bÂ@2bÂ@KbÂ^b€ƒbÂÀ¢bÂ@¯bÂÂbÂÀÔbÂ@úbÂ@úbÂ@c€c€cÂ?cÂ@^cÂ@^cÂ@^cÂqcÂ@wcÂÀƒcŠcÂÀœcÂ@©cÂ@Ûc€ácÂ@ôcÂÀdÂÀd€,dÂÀKd€EdÂRd€^dÂ@qd„dÂd€ÂdÂ@¼dÂÀÈdÂ@¼dÂÀÈdÂ@ÕdÂ@îdÂÀúdÂÀe€&e€&eÂÀ,eÂÀEeÂeeÂÀweÂÀeÂ@eÂÀ©eÂ@¶eÂÀÛeÂ@èeÂûeÂ@fÂÀ&fÂ@LfÂ_fÂ@ef€kfÂÀqfÂ@—fÂÀ£fÂÀ¼fÂ@ÉfÂ@âf€gÂ@gÂÀgÂõfÂÀg€3gÂ@-gÂÀRg€egÂ@xgÂ@xg¤g½gÂ@ÃgÂÀègÂ@õgÂ!hÂ@@hÂ@@h€FhÂ@@hÂ@rh€‘hÂÀ—hÂ@‹hÂÀ—h·hÂ@ÖhÂéhÂÀûhÂ@iÂ@iÂiÂÀ-i€YiÂfiÂÀxiÂiÂ@…i€riÂ@…iÂiÂÀ‘iÂÀ‘i€½iÂ@éiÂ@éiÂãi€ïiÂÀõiÂÀõiÂÀõiÂÀjÂ@jÂÀ'j€:jÂ@fj€…jÂ@˜jÂ@±j€·jÂÀ½jÂ@ãjÂ@üjÂ@üjÂ@üjÂk€kÂ@GkÂAkÂAkÂÀ:kÂ@GkÂ@`k€kÂ@«kÂÀ·kÂ@Ýk l lÂÀlÂ"l€GlÂ@AlÂÀMlÂ@(lÂ@(l€GlÂ@AlÂÀfl€yl€ylÂÀ˜lŸl¸lÂ@¾lÂêlÂ@ðlÂÀülÂÀülÂ@ mÂm€AmÂ@TmÂgmÂNmÂÀym™m™m€¥mÂÀ«mÂÀ«m€¥m²mÂËmÂÀÝmÂ@êm€ nÂÀömÂ@nÂ@nÂÀ(nÂ/nÂ@5nÂ@NnÂan€mnÂ@gn€mnÂÀsnÂÀsnÂ@€n“n¬nÂ@ËnÂÅnÂ@²nÂÅn€ÑnÂÀ×n€ênÂÀ×nÂÀ×nÂÀ×n€ÑnÂÀ×nÂÅnÂÅn€ÑnÂÀðnÂÀ×nÂÀ×nÂ@än€ÑnÂÞnÂÞnÂ÷nÂÀ oÂÀ oÂ@oÂÀ"oÂ)o€5oÂÀ;o€NoÂ@HoÂÀToÂBoÂ)oÂ@HoÂÀToÂ@aoÂo€€oÂ@“o€™oÂÀŸoÂ@¬oÂÀŸoÂo¦oÂÀŸoÂÀ¸o¿oÂÀÑoÂ@÷oÂ@÷oÂ@÷oÂño p pÂÀpÂÀpÂÀpÂ@pÂÀp€/pÂyÂÀJyÂ@WyÂÀcyÂ@pyÂÀcyÂQy€]y€vyÂ@pyÂ@py€vyÂ@pyƒyÂ@¢yµyÂÀÇyµyÂÀ®yÂ@»yÂ@ÔyÂÀùyÂ@zÂ@íyÂ@íy€óyÂÀzÂ@zÂ2zÂKzÂÀDz€WzÂÀ]z€WzÂ@jzÂdzÂ@jz€‰z€‰zÂ@ƒzÂ@ƒz–zÂ@µz€»zÂ@ÎzÂáz€íz€ÔzÂÀÁzÂÈzÂÀÚz€ÔzÂázÂÀózÂ@{ÂÀ {ÂÀ%{€8{Â@2{Â@K{ÂÀW{€j{ÂÀp{Â@d{ÂÀ‰{Â{Â@}{ÂÀ‰{ÂÀ¢{Â{Â@–{Â@¯{€µ{€µ{Â@È{ÂÀ»{€µ{ÂÀ»{ÂÀ»{Â@È{ÂÀ»{Â@È{Â@á{€ç{Â@ú{€|ÂÀ|ÂÀ|Â@,|Â@E|€K|ÂÀQ|ÂÀQ|ÂX|€d|Â@^|€d|Âq|ÂÀƒ|€}|€–|Â@|Â@©|ÂÀœ|€¯|Â@Â|ÂÀÎ|ÂÀÎ|Â@Û|ÂÀç|ÂÀ}Â}€}Â@ }ÂÀ}ÂÀ}€} } }ÂÀ2}€E}€^}Â@q}ÂÀ}}Â@Š}Â@Š}ÂÀ}}Â@Š}ÂÀ–}Â@Š}Â}€}Â@£}¶}Â@¼}ÂÀá}ÂÏ}ÂÏ}ÂÏ}ÂÀá}Âè}Â~Â@~Â@~Â~Â~ÂÀ~Â@ ~€?~Â@9~ÂÀ,~€?~€X~Â@k~Â@R~ÂÀ^~Â@k~ÂÀw~Â@„~Â~~€Š~Â~~Â@„~Â@„~€Š~—~€£~Â@Ï~ÂÀÛ~Â@è~Âû~Âû~ÂÀ ÂÀ&Â@€ ÂÀ&€ Â@3Â@3Â@LÂFÂ@LÂ@eÂÀqÂ@~ÂxÂÀqÂ@eÂxªÂÀ£Â@°€¶€Ï€¶ÂÀ¼ÂÃÂÜÂÜÂÜÂÀîÂ@ûÂ@ûÂ@ûÂà€Â €Â`€Â`€ÂÀ€Â`)€Â #€Â`)€Â`)€Â€,€Â`)€Â /€Â <€Â`B€Â€E€ÂàN€Â U€ÂàN€ÂR€ÂR€ÂR€Â a€Âàg€Âk€ÂÀ}€Â z€Âà€€Â€w€Âà€€Â€€Â “€Â “€Âà™€Â  €Âà™€Â€©€Â`¦€Â€©€Â ¬€Âಀ ¬€Â@¼€Â@¼€Â Å€ÂàË€Âπ€€€€Â`¿€ÂàË€Âàˀ ҀÂ`؀€ۀ ë€Â ë€Âè€Â`ñ€Â ë€Â`ñ€Âàý€Â`  Â@ Âà €& )Â`#€&Â`# )Âà/Âà/€&€& ) 6Âà/€?ÂÀE [ [ÂÀ^ [€X [ h€qÂÀwÂ~Â@„Â`‡Â`‡Â`‡Â`‡Â`‡Â Âà“Â` Â ¦Â ¦Â` Â ¦Â€£Â ¦Â°Â ³Âà¬Â`¹Â ¿ÂàÅÂàÅÂ@Ï ÌÂàÅ ¿Â ¿Â ÌÂ`Ò ØÂ å€î ñ ñ€îÂÀôÂ@‚€‚Â@‚Âà‚  ‚ þ‚€ ‚ #‚ #‚Âà)‚ #‚ #‚ ‚Â`‚ 0‚Â@3‚ÂÀ&‚ 0‚Â@3‚Â`6‚ÂàB‚ <‚ÂàB‚ÂàB‚Â@L‚ U‚ U‚ÂÀX‚Â@e‚Â`h‚Âx‚ {‚Âàt‚ n‚€k‚Âx‚Â@~‚€„‚Âàt‚Â`‚Â@~‚ ‡‚ ‡‚ ”‚Âà‚‘‚ ”‚€‚Âং  ‚Â`š‚  ‚  ‚ª‚ ­‚Â@°‚Âং ¹‚Â`³‚ ¹‚ÂÀ¼‚ ƂÂ࿂€ςÂ`Ì‚ÂÀÕ‚ÂÀՂ ߂ ߂ÂàØ‚Â@â‚ ߂Â`å‚Âàñ‚Âàñ‚Âàñ‚Â`þ‚Âàñ‚Âàñ‚Âàñ‚€è‚Âàñ‚Â@û‚ ƒÂà ƒÂ ƒÂ`ƒÂ€ƒÂ ƒÂà#ƒÂ 6ƒÂ@-ƒÂ`0ƒÂ 6ƒÂ 6ƒÂ`0ƒÂ *ƒÂ`0ƒÂ *ƒÂ *ƒÂÀ9ƒÂà<ƒÂ CƒÂ€LƒÂ`IƒÂ€LƒÂ€LƒÂ OƒÂ \ƒÂàUƒÂ OƒÂàUƒÂÀkƒÂ@xƒÂ uƒÂ hƒÂ hƒÂànƒÂÀkƒÂ€~ƒÂà‡ƒÂ‹ƒÂà‡ƒÂà‡ƒÂÀ„ƒÂà‡ƒÂ ŽƒÂ`”ƒÂ€—ƒÂà‡ƒÂ€—ƒÂ §ƒÂࠃ §ƒÂ §ƒÂ@ªƒÂ §ƒÂà ƒÂࠃ¤ƒÂà ƒÂ`­ƒÂ ³ƒÂ€°ƒÂ½ƒÂ½ƒÂàÒƒÂ@܃ ك كÂàÒƒÂÀσ ̃ كÂ@܃ åƒÂàëƒÂÀèƒÂ@܃€âƒÂÀèƒÂ åƒÂàëƒÂàëƒÂàëƒÂ òƒÂïƒÂïƒÂ þƒÂ@õƒÂ þƒÂÀ„€ûƒÂà„Â`„„ „Âà„Âà„Â`„ÂÀ„€„€„Â!„Â@'„Â`*„ $„Â`*„Â@'„ 0„€-„Â`*„ $„Â`*„ =„ =„ =„ 0„Â`C„Â`C„Â`C„Â:„ =„ =„Â@@„Â@@„Â`C„€_„ÂÀe„€_„ÂÀe„€_„Âàh„ b„Â@r„€x„Â`u„Â`u„Â`u„ o„Â@r„€x„Â@r„Â@r„€x„Âà„ ”„Â`Ž„Â`Ž„Â ”„ ¡„Âàš„Âàš„Âž„Â`§„ ¡„€ª„ ¡„Â`§„ÂೄÂೄ ¡„Â`§„ÂೄÂ`À„Â`À„Â@½„Â`À„Â`À„Â@½„Â@½„Â`À„ÂàÌ„Â@½„Â`À„ Ƅ ӄÂ`Ù„Â@Ö„Â`ل€܄ ߄Âé„Â`ل ߄Âàå„ ì„Â`ò„ ø„ ì„Âé„ ø„Âàþ„Âàþ„Â…Âàþ„Â…€…€…Âà…Âà… … …€'… …Â…Â…ÂÀ…ÂÀ…Â…Â`$… *… *…Âà0… 7… C…ÂàI…Â`V… P… C…Â@:… 7…Âà0…Â4… 7… C…ÂàI…Â`V…€Y…Â`V… \…Âf… i… i… i…Â@l…Âf…Â`o… u…Â`o…ÂÀ_… i… i…Â`o… u…Â…Â…ÂÀx… u…ÂÀx…ÂÀx…Âà{…Â… ‚…Â@……Â…Â`ˆ…Â Ž…Â Ž…Â`ˆ…€‹…Â Ž…ÂÀ‘…ÂÀ‘…ÂÀ‘…ÂÀ‘…Â@ž…Â`¡…±…Âà­…Â ´… À… À…Â@·… ´…±…Â`º…Â@·…Â`º… À…ÂàÆ…Â À…Â@·…ÂàÆ…Â`º…Â`º…Â`º…Âʅ€օ مÂàß…Â æ…Âà߅€ï… æ…Âàß…Âã…ÂÀ܅ م مÂÀÜ…Âàß…Âàß…Â@é…Â`ì… æ… æ…Â`ì… ò… ò…€†ÂÀ†Â@†Â@†Â ÿ… ÿ…Â@†Â  †Âà†Â@†Â  †Â  †Âà†Âà†Âà†Â $†Â †Â€!†Â $†Â.†Âà*†Â@4†Â`7†Â@4†Â@4†Â 1†Â`7†Â`7†Â 1†Â 1†Â`7†ÂÀ@†Â =†Â`7†Â€:†Â€:†Â $†Â€!†Âà†ÂÀ†Â†Âà†Â†Â †Â@†Â†Â  †Â€†Â@†Â`†Â@†Â@†ÂÀ†Â€†Â€†Â€†Â`†Â ÿ… ÿ… ÿ…Â@†ÂÀ†Âà†Â@†Âà†ÂÀ†Â  †Â†Â€†Â€†Â€†Â€†Â@†Â  †Â€†ÂÀ†Â`†Âü…Â@†Â@†Â ÿ…Â`†Â  †Â  †Â  †Â@†Â@†Â€†Â  †Â€†Â€†Â€†Â€†Â  †Âà†Âà†ÂÀ†Âà†Â†Â †Â€!†Â@†Â@†Âà†ÂÀ†Â †Â`†ÂÀ'†Â€!†Â †Âà*†Â 1†Â.†Â $†Â`†Â`†ÂÀ'†Â@†Â`†Â †Â †Â`†Â †Â †Â †Â†Â $†Âà*†Â 1†Â€:†Â@4†Â`7†Â`7†Â@4†Â`7†Â 1†Â`7†Â@4†Â`7†Â 1†Â`7†ÂÀ@†Â =†Â =†ÂàC†Â =†Â.†Â@4†Â@4†Âà*†Â 1†Â€:†ÂG†Â J†ÂG†Â€:†Â`7†ÂàC†ÂG†ÂG†ÂàC†Â`P†Â c†ÂÀY†Â V†Â V†Â@M†Â J†Â€S†Â V†Â€S†Âà\†ÂÀY†Â@f†Â`†Âà\†Âà\†Â`†Â V†Âà\†Âà\†Âà\†Â V†Â V†ÂÀY†Â`P†Â`†Â V†ÂÀY†Âà\†Â c†Â`i†Â€l†Âàu†Âàu†Â@†Â`‚†Â`‚†Â |†Â |†Â€…†Â ˆ†ÂÀ‹†ÂÀ‹†ÂàŽ†Â •†Â€ž†Â€ž†Â@˜†Â€ž†Â`›†Â€ž†Â ¡†Â •†ÂàŽ†Â@˜†Â€ž†Â`›†Â৆«†Â ®†Â«†Â«†Â ®†Â৆ÂÀ¤†Â ¡†Â`´†Â@±†ÂÀ¤†Â ®†Â€·†Â dž dž džÂ@ʆÂÀ½†ÂÀ½†Â€·†Â ®†Â ®†ÂÀ½†Â€·†ÂàÀ†Â€Ð†Âàن à†Â`æ†Â€é†Â@ã†Â`æ†Â ì†ÂÀï†Âö†ÂÀï†Âàò†Âàò†ÂÀï†Â ù†Â@ü†Âö†Â@ü†Âö†Âö†Âàò†Â`ÿ†Â€‡Âà ‡Âà ‡Â ‡Â‡ÂÀ‡Â ‡Â€‡Âà ‡Â€‡Â€‡Â ‡Â ‡Âà ‡Âà ‡Â`‡Â ‡Â +‡Â€4‡ÂÀ:‡Â 7‡Â€4‡Â +‡Â€‡ÂÀ!‡Â +‡Â(‡ÂÀ!‡Â ‡Âà$‡Â`1‡Â€4‡Â€4‡Â D‡Â D‡ÂA‡Â D‡Â D‡Â P‡Â`J‡Â P‡Â P‡Â D‡ÂA‡Â D‡Â`J‡ÂZ‡ÂàV‡ÂàV‡Â P‡Â`J‡Â P‡Â ]‡Â`c‡Â i‡Â`c‡Âào‡Â v‡Â`|‡Â v‡Â v‡Âs‡Â`|‡Â€‡ÂÀ…‡Âàˆ‡Â`|‡Â ‚‡Â€‡Â ‚‡Â`|‡Â ‚‡Â ‚‡Â`|‡Â@y‡Â`|‡ÂŒ‡ÂŒ‡Â`•‡Â ‡Â ‡Â`•‡Â ‡Â ›‡Â ›‡ÂÀž‡Â`•‡Â`•‡Âàˆ‡Â ‚‡Âàˆ‡ÂÀž‡ÂÀž‡ÂÀž‡ÂࡇÂࡇÂÀž‡Â€˜‡Â ›‡Â ¨‡Â ¨‡Â€±‡Â€±‡Â ´‡Â ´‡Â`®‡Â@«‡Â`®‡Â¥‡ÂࡇÂ`®‡Â ¨‡Â¥‡ÂÀž‡Â ¨‡Â€±‡Â€±‡Â ´‡Â@ć Á‡Â Á‡Â`LJÂ@ćÂÀ·‡Â`LJ€ʇ ͇€ʇ¾‡Â¾‡Â Á‡Â`LJ Á‡Â Á‡Â ڇ ڇ ڇÂàÓ‡Â@݇Â`à‡Âàì‡Â æ‡Âàì‡Â ó‡Â`à‡Â€ã‡Â æ‡Â€ã‡Â€ã‡Âð‡Â€ã‡Â€ã‡Âàì‡Âð‡Â ó‡Â æ‡Âð‡Â@ö‡ÂàˆÂàˆÂàˆÂ ˆÂ ˆÂàˆÂ ˆÂàˆÂàˆÂÀˆÂÀˆÂ"ˆÂ"ˆÂÀˆÂ€ˆÂ ˆÂ€.ˆÂ 1ˆÂ@(ˆÂ@(ˆÂàˆÂàˆÂàˆÂ 1ˆÂ`+ˆÂ€.ˆÂ€.ˆÂÀ4ˆÂà7ˆÂÀê‹Â`¤ªÂ ½Â ÂÂàþ¶Âà—ªÂ ¡ŸÂ`Ÿ–ÂàXÂN‰Â€ù-€µÁÄÁ„@“ŠAÀ!BÀz?B€_hB@î€B€4‡BàiˆBã…B€BsB@¯bB@éPB€¬>Bv,B€ÕB@5 B7õAšØA<¾A€[¦AìAçyA/UA 2A\AÆÙ@œ•@( @¯>Èá¿zÀòÁÀ½Áå&ÁôIÁËmÁ‰Á€k›Á¢­Á€¦¿Á€lÑÁ€ÎâÁ€þóÁF€ð ÂÀ0ÂÀÔÂÀû€†#ÂÀn(Â@à,Âô0‘4Â@·7€y:Â÷<ÂÀý>Â@Ì@ˆBÂ@ìC€7EÂ@vFƒGÂ@œHÂIÂqJ€EKÂÀúK°LÂÀqMÂNÂ@‘NÂÀOÂlO·OÂ@!P€¤PÂQÂÀrQ€ÐQÂ@üQÂÀ!R€fRÂÀ·RÂÀSÂ@ASÂmSÂ@¥SÂÑSÂTÂÀ.TÂÀyTÂ@ŸTÂËTÂäTÂýT€ UÂUÂ@5UÂÀZU€mU€†UÂ@²UÂ@²UÂ@²UÂÞUÂ@VÂÀ;VÂ[VÂÀmV€€VÂ@“V€™V€ËV€ËVÂ@ÞV€ËVÂ@ÞVÂ@ÞVÂñVÂÀWÂ@W€/WÂ@)WÂÀ5W€/WÂ@[WÂ@tWÂÀgWÂ@tW€“WÂ@¦WÂ@¿WÂ@¿WÂ@¿WÂÀËWÂ@ØWÂÀXÂ@ XÂXÂ@#XÂ@UXÂ@nXÂÀzX€XÂÀ“XÂÀ¬X€¿XÂ@¹XÂÀÞXÂ@YÂ@YÂ@YÂ0YÂIYÂÀ[YÂ@hYÂ@hYÂ@YÂ@YÂÀYÂÀYÂÀ¦YÂ@³YÂÀ¿Y€ÒYÂÆYÂÀØYÂÀñYÂ@ZÂ@ZÂ@0ZÂÀUZÂÀnZÂÀ‡Z€šZÂ@­Z§ZÂÀ ZÂÀZÂòZÂ@øZÂ@*[Â@C[€b[ÂÀh[ÂÀ[ÂÀ[Â@§[ÂÀš[Â@§[Â@Ù[Â\Â\Â@$\Â7\€C\€C\ÂP\€\\ÂÀ”\ÂÀ­\ÂÍ\Âæ\€ò\Âÿ\Â]Â@]ÂÀC]Â@i]€o]ÂÀŽ]ÂÀ§]ÂÀÀ]€º]ÂÀÙ]Â@ÿ]ÂÀ ^Â+^ÂD^ÂÀV^€i^Âv^ÂÀˆ^Â@•^¨^€Í^ÂÀì^ÂÀ_ÂÀ_ÂÀ_Â@+_€_Â@+_Â@]_Â@v_Â@_€•_Â@Á_Â@Á_ÂÀÍ_Â@ó_Â`ÂÀ1`ÂÀ1`ÂÀJ`Â@W`ÂÀ|`€`ÂÀ•`Â@¢`ÂÀÇ`€Ú`Â@Ô`ÂaÂÀaÂÀ+aÂ@8aÂÀDaÂÀ]aÂ}aÂ@œaÂ@µaÂ@ÎaÂ@Îa€ÔaÂ@çaÂ@bÂEbÂ^bÂ@db€ƒb€œbÂ@¯b€µbÂÀÔbÂÀíb€cÂ@úb c€2cÂ@EcÂ@EcÂ@wcÂ@wcÂ@ÂcÂ@ÂcÂ@ôcÂÀd€,d€,dÂ@Xd€^dÂ@qdÂ@qdÂÀddÂÀdd€d¶dÂÏdÂe€&e€?eÂ3eÂLe€XeÂ@ReÂeeÂ@„eÂ@¶eÂÀÛeÂÀôeÂÀ fÂ@3fÂÀ?fÂ@LfÂ@efÂÀŠfÂ@—fÂÀ£fÂÀ¼fÂÜf€g€g€gÂ@-gÂ@gÂ@_gÂÀkgÂ@‘g¤g€—g€—gÂ@ÃgÂÀÏgÂÀègÂÀhÂÀhÂ@h€-h€FhÂÀ~hÂ@¤h·h€ÃhÂÀÉhÂÀâhÂÀûhÂÀi€'iÂ@!iÂÀFi€riÂiÂ@žiÂÀªiÂ@·iÂÀÃiÂãiÂÀõiÂ@j€!jÂ@4jÂÀ@jÂ@MjÂ@fj€…jÂÀ‹jÂÀ½j€ÐjÂ@ãjÂÀïjÂÀkÂÀkÂÀ!kÂZkÂskÂskÂ@’k€±kÂ@ÄkÂÀÐkÂ@ÝkÂðkÂ@ökÂ@ökÂÀlÂ"l lÂ@(l€.lÂ@AlÂÀMl€`lÂ@Œl€«lÂÀÊlÂ@×lÂêlÂÀmÂ5m€Am€AmÂ@TmÂÀymÂÀymÂ@mm€mÂ@Ÿm€×mÂÀÝmÂäm€ðmÂ@nÂ@nÂ@nÂÀ(nÂ@NnÂ@gn“n€Ÿn€¸nÂÀ¾n€¸nÂÀ¾nÂÀ×nÂ@ýn€oÂoÂ@oÂÀ;o€No€go€€o¦oÂÀ¸oÂ@¬o€ËoÂØo€äoÂ@p p€p€pÂ@)pÂÀ5pÂÀgpÂ@tpÂÀ™pÂ@¿p€ÅpÂÀËp€ÞpÂëp€÷pÂ@ñp€÷pÂÀqÂÀq€)q€BqÂ@Uq€tqÂÀ“qšqÂ@¹q³q³qÂÌqÂ@ëqÂ@ëqÂ@r€#rÂ@6rÂ@OrÂ@hr€‡rÂÀrÂ@šrÂÀ¦r”r”r€¹rÂ@ÌrÂÀØrÂ@þrÂørÂsÂ@0sÂ*sÂ@0sÂ@Is€OsÂÀUsÂ@bsÂus€šsÂÀÒsÂÀÒsÂÙs€åsÂòsÂ@øsÂÀësÂÀtÂÀtÂ@\t€{tÂÀtÂÀšt€­tÂ@§t€­tÂ@ÀtÂ@òtÂuÂuÂuÂÀ0uÂ@=uÂÀIuÂÀ0uÂPuÂ@VuÂ@VuÂ@ou‚u›u€ÀuÂÀßuÂ@ìuÂ@ìu€òuÂÀvÂ@vÂ@vÂ@7vÂ@PvÂ@PvÂ@ivÂ@‚v€ˆvÂ@›vÂÀ§v€ºv€ÓvÂ@ævÂ@ÿv€wÂ@1wÂ@1w€7wÂ@JwÂ]wÂ@cwÂ@cwÂ]wÂ@cwÂÀˆwÂÁwÂÀÓwÂÀìw€æw€ÿw€1xÂ@Dx€JxÂ@]xÂÀPxÂ@]xÂpx€cxÂpxÂ@x¢xÂ@ÁxÂÀÍxÂÀÍxÂíxÂÀæxÂ@ yÂyÂ@>yÂÀJyÂ@WyÂÀcyÂ@pyÂ@pyÂÀ|yƒyÂ@‰yµy€ÚyÂ@Ôy€Úy€ÚyÂÀày€óyÂÀùyÂÀùyÂÀzÂÀ+zÂ@8zÂÀ]zÂ@jzÂ}zÂÀz€¢zÂÀÁz€»zÂ@µzÂ@Îz€ÔzÂázÂáz€íz€{Â@{ÂÀ%{Â,{€Q{Â@d{ÂÀW{Â@d{Â@}{Â@}{Â@–{©{ÂÀ»{ÂÀ»{Â@È{Â@á{Â@á{ÂÀí{Â@ú{ÂÀ|ÂÀ|Â@,|Â@,|ÂÀQ|ÂÀQ|Â@E|Â@^|Âq|Â@w|Â@|£|£|Â@©|ÂÀµ|€¯|Â@Â|ÂÀÎ|ÂÕ|€á|Â@ô|ÂÀ}ÂÀ}ÂÀK}ÂR}ÂÀd}Â@q}Â@q}Â@q}ÂÀ}}Â@q}ÂÀ–}Â@£}ÂÀÈ}Â@¼}ÂÏ}Âè}ÂÀá}ÂÀú}Â@~Â@9~ÂÀE~ÂÀ^~Âe~ÂÀw~€q~ÂÀw~Â@„~Â@~ÂÀ~ÂÀ©~°~ÂÀ©~ÂÀÂ~Â@è~Âû~€Â@ÂÂ@3Â@3Â-Â-ÂÀ&Â@3Â@3€RÂxÂ@~ÂÀŠ‘Â@°Â@°ÂÀ£ÂÀ£Â@°Â@É€¶€¶Â@ÉÂÃÂÀÕÂÀîÂ@ûÂ`€Â €ÂÀ€Âà€Â #€Â@&€Â@&€Â /€Â@&€Â /€Âà5€Â <€ÂÀ2€Â /€Âà5€Â9€Â <€Âà5€ÂÀ2€ÂÀ2€Âà5€Âà5€Â9€Âà5€Â /€Â@?€Â`B€Âà5€Â /€Â /€Â #€Â €Â`)€Âà5€Â H€ÂàN€Â@X€Â@X€Â U€Â`[€Â a€Âàg€Âk€Â@q€Âk€Âk€ÂÀd€Â`t€Â z€ÂÀ}€Â z€Â@q€Â`t€Â`t€Â€w€Âà€€Â z€Âà€€Â„€Â ‡€Â ‡€Â@Š€Â`€Â€€Âà™€Â€©€Â`¦€Â ¬€Â¶€Â Å€ÂàË€ÂÀÈ€ÂÀȀ ŀÂ@Õ€Â`؀ ހÂ@Õ€Âπ ހÂ`Ø€ÂÀá€ÂÀá€Â Þ€Â Ò€ÂÀá€Â€ô€Â ÷€Â€ô€Â€ô€Âàý€Â Â@€ ÂÀÂ@    Â`#Â`#Âà/ 6Â`<Â`< B BÂÀE OÂÀ^Âàa hÂàaÂÀ^Âàa hÂÀ^Âe hÂeÂ`nÂ`nÂ~Â@„Â~  šÂ€£Â` Â šÂ——€£ÂÀ©Âà¬Â°Â`¹ÂàÅ€ÕÂ`Ò ÌÂ`ÒÂ`Ò€ÕÂÉ Ì ØÂàÞÂàÞ€î ñ ñÂû  ‚  ‚Âà)‚ #‚€ ‚Â`‚ ‚€ ‚ 0‚Â`6‚Â-‚Â-‚ #‚Âà)‚Â-‚€9‚ <‚ÂÀ?‚€R‚Âà[‚Âà[‚ b‚ b‚Â`h‚Â`h‚€k‚ÂÀq‚ {‚ ‡‚Â`‚Âà‚ ”‚Âà‚Âà‚ ‡‚Â`‚ ‡‚ ”‚Â`š‚ª‚ ­‚Âং ­‚Â`³‚Â`³‚Â࿂ ҂€ς ҂ÂàØ‚Â@â‚Â@â‚ ߂Â`å‚Âàñ‚ ë‚Âõ‚Âõ‚ ø‚€ƒÂ`þ‚Â`þ‚€ƒÂ ƒÂ ƒÂ€ƒÂ ƒÂ'ƒÂ'ƒÂ *ƒÂ€3ƒÂ 6ƒÂ 6ƒÂà<ƒÂ@FƒÂ@ƒÂ@ƒÂ`IƒÂ@ƒÂ OƒÂàUƒÂ@_ƒÂ hƒÂànƒÂànƒÂànƒÂ€eƒÂ hƒÂ uƒÂ@xƒÂ€~ƒÂ€~ƒÂ@‘ƒÂ šƒÂ`”ƒÂ šƒÂ šƒÂࠃ §ƒÂÀ¶ƒÂ€°ƒÂ ³ƒÂ ÀƒÂ ÀƒÂ@ýƒÂ`ƃÂ@àÀƒÂ½ƒÂ½ƒÂ@ÀɃÂÀσÂÖƒÂ@܃ÂÀèƒÂ åƒÂ@õƒÂàëƒÂïƒÂ`øƒÂ þƒÂ „€„€„ „Âà„ $„ 0„ÂÀ3„ =„Â@@„€F„Â@@„ I„Â`C„€F„ I„ÂS„€_„ÂÀe„Âàh„Â@r„Â@r„ o„ o„Â`u„Âàh„ o„ {„Â…„Â`Ž„Â`Ž„Â`Ž„Âàš„Â`Ž„ÂÀ—„Âàš„Â`§„ ­„Âೄ º„Â`À„ÂÀɄ ӄÂЄÂ@ք Ƅ º„ÂÀ°„·„ۀÂЄ ߄ ߄ ߄ ø„Â`ò„ ø„ ì„Â`ò„Âàþ„€… … …Â` …Â` … …Âà…Âà… …Â…Â@!…Â`$…Â@!…Â`$… *…Â4… C… C…ÂàI…ÂàI…ÂM…Â`V… \…ÂÀ_… i… i… i… i… u…Â`o… u…Â… ‚…Âà{…ÂÀx… ‚…Â@……Â Ž…Âà”…Â@ž…€¤…Âà­…Âà­…Â@·…Â`º…Â@·…Â୅ §…Âà­…Âà­…Âà­…Â୅€½…Â@Ѕ م مÂàß…Âà߅€ï…Â`ì… æ…Â`ì… م æ… æ…Â`ì…ÂÀõ…Â@†Âà†Â€†Â`†Âà†Â`†Â $†Â $†Âà*†Â.†Âà*†ÂÀ'†Â 1†ÂÀ@†Â J†ÂG†Â J†Â€S†Â`P†Â c†Â`P†Â@M†Â€S†Â J†Â€S†Â`P†Â@M†Â€S†Âà\†Â`†Â@f†Â`i†Â€l†ÂÀr†Â€…†Â ˆ†Â ˆ†Â`‚†Â ˆ†ÂàŽ†ÂàŽ†Â’†ÂÀ‹†ÂàŽ†Â’†Â •†Â •†Â •†Â@˜†Â`›†Â৆Â৆Â`´†Â º†ÂÀ½†ÂàÀ†Â º†Â džÂƀІ€ІÂàÙ†ÂàÙ†Â݆ÂÀï†Â`æ†Â ì†Â€é†ÂàÙ†ÂàÙ†ÂàÙ†Â`æ†Â à†Â`æ†Âàò†Â€é†Âàò†Âàò†Âàò†Â ù†Â`ÿ†Â ‡Â@ü†Â€‡Â€‡Â ‡ÂÀ!‡Â€4‡Â`1‡ÂÀ:‡Â€4‡Â@.‡Â€4‡Âà$‡Â`1‡ÂÀ:‡Âà=‡Â 7‡Â@G‡ÂZ‡ÂÀS‡ÂÀS‡Â€M‡Â€M‡Â D‡Â P‡Â€M‡Â€M‡Â P‡ÂàV‡ÂàV‡ÂZ‡Âào‡Â i‡Â i‡Â i‡Â`c‡Â@`‡ÂÀl‡Â v‡Â`|‡Â v‡Â@y‡Â€‡Âàˆ‡Â ‡Â ›‡Â ‡Âàˆ‡ÂÀ…‡Â ‡Â ‡Â ‡ÂÀž‡ÂÀž‡Â ¨‡Â ›‡Â€˜‡Â`•‡ÂࡇÂ`®‡Â ¨‡Â¥‡Â@«‡Â ´‡ÂÀ·‡Â ´‡Â@«‡Â@«‡Â@«‡Â@«‡Â ´‡Â Á‡ÂÀЇ ͇ Á‡Â Á‡Â`LJÂÀЇÂàӇ ڇ ڇ€ã‡Â€ã‡Â€ã‡Âàì‡Âàì‡ÂÀé‡Âàì‡Âàì‡Â ó‡Â`ù‡ÂÀˆÂ@ˆÂÀˆÂð‡Â ó‡Â€ü‡Â ÿ‡ÂÀˆÂ ˆÂ ˆÂàˆÂ@ˆÂ`ˆÂ ˆÂ ˆÂ ˆÂàˆÂàˆÂ@(ˆÂ %ˆÂ€.ˆÂà7ˆÂ`+ˆÂ€.ˆÂàˆÂàˆÂàˆÂ€.ˆÂ€.ˆÂ`+ˆÂÀ4ˆÂà7ˆÂ€.ˆÂ@(ˆÂ;ˆÂà7ˆÂ >ˆÂ@AˆÂ@AˆÂ€GˆÂ JˆÂ`DˆÂ€GˆÂ`DˆÂ JˆÂÀMˆÂÀMˆÂ JˆÂÀMˆÂ@ZˆÂ cˆÂ pˆÂmˆÂ |ˆÂà‚ˆÂ€yˆÂà‚ˆÂ |ˆÂ`vˆÂ pˆÂ pˆÂ`vˆÂ |ˆÂ pˆÂ pˆÂ`vˆÂÀˆÂ |ˆÂ€yˆÂ |ˆÂà‚ˆÂ†ˆÂ`ˆÂ†ˆÂ€yˆÂà‚ˆÂ ‰ˆÂ@ŒˆÂ€’ˆÂ ¢ˆÂà›ˆÂŸˆÂ ¢ˆÂà›ˆÂ@¥ˆÂ ¢ˆÂ€«ˆÂ ¢ˆÂ ¢ˆÂഈ »ˆÂ@¾ˆÂ¸ˆÂà´ˆÂഈ¸ˆÂ@¾ˆÂà´ˆÂഈ Lj LjÂ@׈Âà͈Âà͈Âà͈€݈Â@׈€݈€݈ àˆÂÀãˆÂêˆÂ íˆÂ íˆÂ íˆÂàÿˆÂ‰Â ‰ÂàÿˆÂ€öˆÂ@ðˆÂ€öˆÂ ‰Â ‰ÂàÿˆÂÀüˆÂ` ‰Â€‰Â ‰Âà‰Â€‰Â@ ‰Â ‰ÂÀ‰Â‰Â‰Â ‰ÂÀ‰Â ‰Â@"‰Â€(‰Â`%‰Â +‰Â`%‰Â`%‰Âà‰Â€(‰Âà1‰ÂÀ.‰Â +‰Â5‰Â5‰Âà1‰Â +‰Â€(‰Â€(‰Â`%‰Â`%‰Â +‰Â 8‰Âà1‰Â@;‰Â D‰Â Q‰Â`W‰Â Q‰Â ]‰Â€Z‰Âàc‰Â ]‰Â`W‰Â@T‰Â€Z‰ÂÀ`‰Âg‰Âàc‰Â v‰Â`p‰Âàc‰Â`p‰ÂÀy‰Â€s‰Â`p‰Â€s‰Â`p‰Â v‰ÂÀy‰Â v‰Â v‰Â€‰Â ƒ‰Â€Œ‰Â ‰Â™‰Â œ‰Âà•‰Â œ‰Âà•‰Âà•‰Â`¢‰Â`¢‰Âà•‰ÂÀ’‰Â`¢‰ÂÀ«‰ÂஉÂÀ«‰Â ¨‰Â²‰Â²‰Â²‰Â²‰Â µ‰Â µ‰Â@¸‰Â`»‰Â`»‰Â@¸‰Â µ‰Â€¾‰Â`»‰Â€¾‰Âàlj ډ ډÂ`Ô‰ÂàljÂÀ݉Âä‰Â ç‰Âä‰Âä‰Âàà‰Âàà‰Âä‰Â€×‰Âàà‰Â@ê‰Â ç‰Âàà‰Â`í‰Â ó‰Â`í‰Â ç‰Âä‰Â@ê‰Â ç‰Â ç‰Â`í‰ÂÀö‰Â`ŠÂ  ŠÂ  ŠÂ ŠÂ ŠÂ ŠÂàù‰ÂÀö‰Âý‰Âàù‰Â€ ŠÂ  ŠÂ€ ŠÂ  ŠÂ  ŠÂ  ŠÂ ŠÂ`ŠÂ %ŠÂ`ŠÂ`ŠÂ %ŠÂ 2ŠÂÀ(ŠÂ %ŠÂ 2ŠÂ`8ŠÂ 2ŠÂà+ŠÂà+ŠÂÀ(ŠÂ 2ŠÂà+ŠÂà+ŠÂ`8ŠÂ€;ŠÂÀAŠÂHŠÂàDŠÂ >ŠÂ`8ŠÂà+ŠÂ %ŠÂ@5ŠÂ >ŠÂ€;ŠÂàDŠÂ KŠÂ WŠÂà]ŠÂ`QŠÂ`QŠÂ WŠÂ WŠÂ@NŠÂÀZŠÂ dŠÂaŠÂà]ŠÂaŠÂaŠÂ`jŠÂàvŠÂ€mŠÂ pŠÂ@€ŠÂàvŠÂÀsŠÂ }ŠÂÀsŠÂàvŠÂÀsŠÂ dŠÂ dŠÂ pŠÂ€mŠÂÀsŠÂàvŠÂ`ƒŠÂ ‰ŠÂ ‰ŠÂÀŒŠÂ ‰ŠÂ }ŠÂ }ŠÂ`ƒŠÂ`ƒŠÂ ‰ŠÂ ‰ŠÂ –ŠÂ€†ŠÂ }ŠÂzŠÂ@€ŠÂ€†ŠÂ –ŠÂ –ŠÂ@™ŠÂ`œŠÂ`œŠÂ€ŸŠÂàŠÂÀŒŠÂ –ŠÂ€ŸŠÂ`œŠÂ`œŠÂ ¢ŠÂ ¯ŠÂਊ ¯ŠÂ ¢ŠÂ ¯ŠÂ@²ŠÂ`µŠÂ ¯ŠÂ ¯ŠÂÀ¥ŠÂ ¢ŠÂÀ¥ŠÂ ¯ŠÂ`µŠÂ`µŠÂ¬ŠÂ ¢ŠÂਊÂਊÂÀ¥ŠÂ`µŠÂ ¯ŠÂ`µŠÂ`µŠÂ`µŠÂ »ŠÂ »ŠÂ »ŠÂÀ¾ŠÂàÁŠÂ€¸ŠÂ€¸ŠÂ »ŠÂ ÈŠÂÀ¾ŠÂÅŠÂŊ ԊÂàڊ€êŠÂ€êŠÂ áŠÂ áŠÂ@äŠÂ áŠÂ@äŠÂ`çŠÂ`çŠÂ@äŠÂ ÔŠÂ ÈŠÂ@ËŠÂ@ˊ Ԋ€ъ Ȋ ԊÂÞŠÂÞŠÂ áŠÂ ÔŠÂ ÔŠÂàڊ€êŠÂ`çŠÂ áŠÂ€êŠÂ€êŠÂ€êŠÂ@äŠÂàڊ€ъÂàÚŠÂÀ׊ÂÞŠÂ`çŠÂÀ׊ÂàÚŠÂàÚŠÂÀ׊ áŠÂ áŠÂ áŠÂÀðŠÂ íŠÂ`çŠÂ íŠÂ`çŠÂ`‹Â úŠÂ€‹Â÷ŠÂ ‹Â`‹ÂÀðŠÂ€êŠÂÀðŠÂ úŠÂ@ýŠÂ ‹Â€‹Â@ýŠÂ ‹Â€‹ÂÀ ‹Â€‹Â ‹Âà ‹Â ‹Â ‹Âà ‹Â‹Âà ‹Â@‹Â€‹Â`‹Â€‹ÂÀ"‹Â ‹Â€‹Â€‹Â ‹Â@‹Â@‹Â€‹Âà ‹Â`‹Â ‹Â ‹Â@‹Â`‹Â‹Â`‹Â`‹Â`‹Âà%‹Âà%‹ÂÀ"‹Â 8‹Â`2‹Âà%‹Âà%‹Â 8‹Â 8‹Â ,‹Âà>‹ÂB‹Âà>‹Â`2‹Â`2‹Â€5‹Â 8‹Â 8‹ÂÀ;‹Â E‹Â€N‹Â`K‹ÂÀ;‹Âà>‹Â`2‹Â E‹Â€N‹Â`K‹Â E‹Â Q‹Âà>‹Â`K‹ÂB‹Âà>‹Â@H‹Â@H‹Â`K‹Â€N‹Â`d‹Â ^‹Â ^‹Â@a‹ÂàW‹Â ^‹ÂàW‹Â ^‹Â ^‹Â`d‹ÂÀm‹Ât‹Â€g‹Â€g‹Â@a‹Â€g‹Â€g‹Â`d‹Â ^‹ÂàW‹Â[‹Â ^‹Â€g‹Â j‹Â@a‹ÂàW‹Â ^‹Â j‹Âàp‹Â j‹Ât‹Â w‹Â w‹Âàp‹Â w‹Ât‹Ât‹Â w‹Â@z‹Â@z‹Â w‹Â w‹Â w‹ÂÀ†‹Â€€‹Â‹Â ‹Â ‹Âà‰‹Âà‰‹ÂÀ†‹Â ƒ‹Âà‰‹Â ‹Â`–‹Â`–‹Â@“‹Âà‰‹Âà‰‹Âà‰‹Â‹Â œ‹ÂÀŸ‹Â œ‹ÂÀŸ‹Â œ‹Â œ‹Â œ‹ÂÀ†‹Â`–‹Â`–‹Â@“‹Â ‹Â`–‹Â`–‹Âà‰‹Â ƒ‹Â ‹Â€™‹Â`–‹Â@“‹Â œ‹Â€™‹ÂÀŸ‹Â ©‹Â`¯‹Â@¬‹Â ©‹ÂÀŸ‹Â€™‹Âࢋ¦‹Â¦‹Â`¯‹Â`¯‹Â€²‹Â€²‹Â ©‹Â@¬‹Â ©‹Â`¯‹Â`¯‹Â€²‹Â µ‹Â µ‹ÂÀ¸‹Â໋Â໋ ‹ ‹ µ‹Â µ‹Â µ‹Â µ‹Â µ‹Â໋ ‹Â໋ µ‹Â€²‹Â€²‹Â µ‹ÂÀ¸‹Â µ‹Â µ‹Â໋Â໋Â໋Â໋ÂÀ¸‹Â¿‹Â ‹€ˋÂ໋€²‹Â µ‹Â໋Â໋ µ‹ÂÀ¸‹Â ‹ ‹Â@ŋ ‹Â`ȋ ۋÂ`á‹Â€ä‹Â Û‹ÂÀÑ‹Â Û‹ÂØ‹Â Î‹Âàԋ ΋Â`ȋ ‹ ΋ xÂÀ1®Â€JÆÂà¤Å ®ºÂ `®Â`ƒ£Â šÂàY“ wÂS„ÂÀ;=ÂçÁ€8—Áø'ÁÐ?5‰ATB@”AB’jBûB ˆB€öˆB†BÀ–€BÀ¦rBÀ bB€@PBÀê=BÀÙ+BeB€ð B´õA­ÙA€#ÀA$©AW”A3A+^A5;AîA€í@ˆ©@èK@€‰?Є¿ FÀ ¥À:èÀ–Á¥9ÁJ]ÁR€Á€ò‘Á€¸£Á@µÁ¢ÆÁ ×ÁïçÁÁ÷Á@_Âa Â@òÂÀ Â@‘Â@¾!€t&€Ù*Â@».ÂÀ2ÂÀ5Â@Ð7ÂÀf:ÂÀ¥< >€n@€B´C€7E€|FÂ@‰GÂ@ƒHÂÀWIÂ?JÂîJ„KÂ3LÂÉLÂÀXMÂ@âMÂÀ„NÂ@OÂ@‹OÂ@PÂPÂÀÃPÂÀõPÂÀ@Q€…QÂÄQÂ@üQÂ@R€4RÂ@yRÂ¥RÂÀÐRÂðR SÂ@(SÂ@ZSÂÀ˜SÂ@¾SÂ@×SÂÀãSÂÀüSÂÀTÂÀTÂÀTÂÀ.TÂ5TÂ@;TÂÀGTÂÀGTÂ@mT€sTÂ@ŸT€¥TÂÀÄTÂ@ÑTÂ@ÑTÂäTÂýTÂ@UÂ@UÂÀ(U€;UÂ@5UÂ@NUÂÀZUÂÀsUÂ@™UÂÀ¥U¬UÂÀ¥U¬UÂÀ¥UÂÀ¾UÂ@ËUÂ@ËU€êUÂ@ýUÂVÂVÂ@/VÂ@/VÂÀTVÂ@aVÂÀmVÂÀmV€€V¦VÂ@ÅV€äVÂÀWÂÀWÂ@)WÂÀ5WÂ@[WÂÀgWÂnWÂÀ€W‡WÂ@W WÂ@¿WÂÀ²W€ÅW€ÞWÂ@ XÂÀXÂXÂÀ/XÂOX€BXÂ@UXÂ@UXÂ@nXÂÀ“X³XÂ@ÒXÂ@ëXÂ@YÂ@YÂÀ)YÂIYÂbYÂ@Y”Y€ YÂ@³YÂÆY€ÒYÂÀñYÂÀñYÂÀ ZÂÀbÂ@KbÂ@KbÂ^bÂÀWbÂÀWbÂÀ‰bÂÂb€ÎbÂÀÔbÂôb€cÂÀ8cÂ@,cÂ@Ec€}cÂÀƒc€–c€¯cÂÀÎc€ácÂ@ôcÂ@ dÂ@?dÂÀKdÂ@XdÂÀ}dÂdÂÀ¯d¶dÂ@Õd€ôdÂ@îdÂÀeÂ@9eÂÀ^eÂ@„e—eÂ@¶eÂÀ©eÂÀ©eÂÀÛeÂâeÂ@èeÂ@fÂfÂ@3f€9fÂFfÂ@ef‘fÂÀ£fÂÃfÂÜfÂÜfÂ@âfÂ@ûfÂ'gÂ@-gÂ@gÂYg€egÂrg‹g‹gÂÀg½gÂ@ÜgÂïg€ûgÂhÂÀ3hÂÀLhÂ@Yh€_hÂÀ~hžhÂÀ°hÂÀâhÂ@iÂÀiÂ@!iÂ4iÂÀFi€YiÂ@liÂ@…iÂ@žiÂÀÃi€ÖiÂÀÜiÂ@éiÂÀõiÂÀjÂ@jÂjÂ@4jÂ`jÂ@fjÂ@j«jÂÀ½jÂÀÖjÂÝjÂÀïjÂÀïjÂ@kÂ@.k€MkÂsk€kÂŒkÂŒkÂ@’kÂ@«k€Êk€ÊkÂÀÐkÂÀlÂ"lÂ@AlÂÀ4lÂ@AlÂ@ZlÂ@Zl€`lÂ@sl†lÂÀ˜lÂÀÊlÂêlÂ@ mÂÀmÂ@;mÂÀ.m€AmÂgm€mÂÀymÂÀ’mÂ@Ÿm€¾mÂ@ÑmÂ@êmÂ@êmÂÀömÂ@nÂým€ nÂ/nÂ@NnÂanÂÀZn€mnÂ@€nÂ@™nÂÀ¥nÂ@²nÂ@ËnÂÀ×n€ênÂÀ oÂ@oÂ)oÂÀ;oÂ@HoÂ@HoÂÀToÂ@aoÂ@“oÂÀ¸oÂÀÑoÂÀÑo€ýo€pÂ#pÂxÂ@Dx€cxÂ@vxÂÀ‚xÂ@x€•xÂ@¨x»x»xÂÀ´x€ÇxÂÀæxÂ@óxÂ@ yÂ@%yÂÀ1yÂÀJyÂÀcyÂÀ|yœyÂÀ®yÂÀ®yµy€ÁyÂÀàyÂÀùyÂ@íy€ zÂzÂÀ+z€>zÂÀDzÂ@QzÂ@QzÂdzÂÀvzÂÀvzÂ@ƒz–z€¢z€»zÂ@çzÂ@{Â@{Â@{€{ÂÀ>{Â@K{€Q{Â@d{Â@}{Â{€œ{Â@–{ÂÂ{Â@È{Â@È{ÂÂ{€Î{Â@á{Â@ú{ |Â@|€|Â@|Â&|Â?|Â@^|ÂÀj|£|¼|ÂÀµ|€¯|Â@Â|ÂÀµ|ÂÀÎ|ÂÀç|Â@ô|Â@ô|Â@ }ÂÀ}€E}Â@?}ÂR}€w}Â@Š}€w}„}ÂÀ¯}ÂÏ}ÂÀá}ÂÀú}Â~ÂÀ~Â@ ~ÂÀ,~Â3~Â3~Â3~Â@9~Â@9~Â@R~Âe~Â@k~Â@k~€Š~ÂÀÂ~ÂÀÛ~ÂÀô~Â@è~Â@ÂÀ Â@Â-ÂÀ&ÂÀ&Â@3Â@3€R€k€kÂ@~ÂÀ£€¶ÂÃÂÀ¼Â@ÉÂÀÕÂÀîÂÀîÂõÂ@ûÂõÂà€Â`€Â €Â€,€ÂÀ2€Âà5€Â@?€Â€E€ÂàN€Â`[€Â€^€ÂÀd€Â a€Â a€Âàg€Âk€Â`t€ÂÀ}€Âà€€Â€€Â€Â`¦€Â¶€Â@¼€Â€Â€Â@¼€Â@¼€Â Å€Â€Û€Â Þ€Â`ñ€Â ë€Âàä€Â ë€Â`ñ€Â€ô€Âàý€Âàý€Â Âà )Âà/Â3Â@9 BÂLÂàHÂ`UÂ@RÂ`U [ [Âe€qÂ`nÂÀwÂ~€ŠÂÀ— šÂà“ÂÀ šÂ ¦ÂÀ©Âà¬Â@¶Â ¿ÂàÅÂàÅÂ@Ï ÌÂ`Ò ØÂàÞÂàÞÂ`ë ñÂ`‚€‚ÂÀ ‚Â@‚€ ‚Â`‚Âà)‚Â-‚€9‚Â`6‚Â@3‚ <‚ÂÀ?‚ÂàB‚ÂF‚ U‚ÂÀX‚€k‚ n‚Âàt‚€„‚Â`‚Â`‚Â@—‚€‚  ‚  ‚€‚  ‚ª‚Â`³‚Â`³‚ ¹‚Â@É‚Â`̂ ҂ÂÀÕ‚ÂàØ‚Â܂ ߂ ߂€è‚Âàñ‚Âõ‚Âàñ‚Âàñ‚Â`þ‚€ƒÂ ƒÂ@ƒÂà#ƒÂÀ ƒÂà#ƒÂ 6ƒÂ@ƒÂà<ƒÂ 6ƒÂ€LƒÂ OƒÂ€LƒÂ OƒÂ OƒÂ OƒÂÀRƒÂ \ƒÂànƒÂ uƒÂÀ„ƒÂ ƒÂ ŽƒÂÀ„ƒÂÀ„ƒÂÀ„ƒÂ ƒÂ@‘ƒÂ¤ƒÂ¤ƒÂ §ƒÂ ³ƒÂ ÀƒÂใ ÀƒÂใ½ƒÂ@ÃÂàÒƒÂÖƒÂ`߃€âƒÂ åƒÂ åƒÂÀèƒÂ åƒÂ åƒÂ@õƒÂ`øƒÂà„Â@„„ „ „ „ 0„ 0„Â@'„Â:„Â@@„Âà6„ 0„ 0„ÂÀ3„Âà6„Â@@„€F„ÂàO„ b„ÂÀe„ b„Âl„ {„ ˆ„Âà„Âà„Âà„Â@‹„€‘„ ”„Âàš„Â€‘„ÂÀ—„ž„ ¡„Â@¤„Â`§„ ¡„Âೄ Ƅ€ÄÂà̄ ӄÂ`ل ߄Â@ï„Âé„Âàå„ ߄ ߄Âé„ ì„Âé„ ø„Â…ÂÀû„Â…Â…Âà… … …Â@!…ÂÀ-…Â4… *… 7…Â4…Â`=… C… P… P…Â`V…€Y…Âàb…Âf…Âàb…Â`V…Â`V…Âf… u…Âà{…Âà{…ÂÀx… u… ‚… ‚…ÂÀx… ‚…Â`ˆ…ÂÀ‘…Âà”…Â˜… ›…Â`¡…ÂÀª…Âà­…Â ´…ÂÀÃ…Â Í…Â Í…Â@Ð…Â Í…Âà߅ مÂÀÜ…Âàß…ÂÀÜ…Â@Ð…Â æ…Âàø…Â ÿ…Âü…Âü…Â`†Â@†Â ÿ…Â`†Âà†Âà†Â  †Â€†ÂÀ†Â †Â€!†Âà*†Â.†ÂÀ'†Âà*†Â`7†ÂÀ@†ÂG†ÂàC†ÂÀ@†Â@M†Â V†Â`†Âà\†Â V†Â c†Â c†Â c†Â€l†ÂÀr†Â@f†Â`i†Â o†Â`‚†Â |†Â |†Â ˆ†Â’†Â`›†Â€ž†Â`›†Â€ž†Â€ž†Â ®†Â৆Â@±†ÂÀ¤†Â৆Â`´†Â º†Â º†Â dž dž€І€І ӆ ӆ ӆ ӆÂàÙ†Â`æ†Â ì†Â ‡Âà ‡Âà ‡Âà ‡ÂÀ‡Âà ‡Âà ‡Â‡Â`‡Â ‡Â€‡Âà$‡Â ‡Â@‡Â`‡Âà$‡Â@.‡Â`1‡Â@.‡Â`1‡Â D‡Âà=‡Âà=‡Â`J‡Â D‡Â P‡Â`J‡ÂàV‡Â ]‡Â€f‡Â i‡Â i‡Â`c‡Â@`‡Â`c‡Â`c‡Â i‡Â@y‡Â ‚‡Â`|‡Â`|‡Â€‡ÂŒ‡Â ‡Âàˆ‡ÂÀ…‡ÂŒ‡Â ›‡Â¥‡Â€˜‡Â`•‡Â`•‡ÂÀž‡Â ›‡Â`•‡Â ‡Â`•‡Â€˜‡Â ‡Â€˜‡Â@«‡ÂÀ·‡Â@«‡Â`®‡Â ¨‡Â@«‡Â Á‡Âງ Á‡Â Á‡Â Á‡Â@ć Á‡ÂÀ·‡Â Á‡ÂÀЇ ͇ ͇ÂàӇ ڇÂÀé‡Â ó‡Â@ö‡Â€ü‡Â@ö‡Â`ù‡ÂÀˆÂàˆÂ ÿ‡ÂàˆÂ ÿ‡ÂàˆÂ ˆÂ ÿ‡Â@ˆÂ ˆÂÀˆÂ"ˆÂ`+ˆÂ 1ˆÂ 1ˆÂ;ˆÂÀ4ˆÂà7ˆÂ >ˆÂ@AˆÂ >ˆÂ`DˆÂ€GˆÂ€GˆÂ@AˆÂ@AˆÂ€GˆÂ€GˆÂ JˆÂàPˆÂ JˆÂ`]ˆÂ`]ˆÂ`]ˆÂÀfˆÂmˆÂ pˆÂ`vˆÂmˆÂàiˆÂ`vˆÂ |ˆÂÀˆÂ |ˆÂ@ŒˆÂ€’ˆÂ •ˆÂ •ˆÂ •ˆÂ€’ˆÂ •ˆÂ ¢ˆÂà›ˆÂ€«ˆÂ@¥ˆÂà›ˆÂà›ˆÂ •ˆÂ€’ˆÂ ¢ˆÂ ®ˆÂÀ±ˆÂÀ±ˆÂ »ˆÂ ÇˆÂш€݈€݈ÂÀãˆÂÀãˆÂÀãˆÂ àˆÂàæˆÂÀãˆÂ€öˆÂ íˆÂ@ðˆÂ@ðˆÂ`óˆÂ`óˆÂ ùˆÂ ùˆÂàÿˆÂÀüˆÂ ùˆÂ`óˆÂ` ‰ÂÀüˆÂ íˆÂ@ðˆÂ€öˆÂ ‰Â ‰ÂÀ‰ÂÀ‰Âà‰Âà‰Â‰Â‰Â‰Â ‰Â€(‰Â ‰Â +‰ÂÀ.‰Âà1‰Â 8‰Â +‰Âà1‰Â +‰ÂÀ.‰Â@;‰Â€A‰ÂÀG‰Â D‰ÂàJ‰Â€A‰ÂN‰Â@T‰Â Q‰Â@T‰Â ]‰Â ]‰Âàc‰Â ]‰ÂÀ`‰Â j‰ÂÀ`‰ÂÀ`‰Â j‰Âà|‰Â ƒ‰Â@†‰Â@†‰Â€‰Â ƒ‰ÂÀy‰Â`p‰Â v‰Â€s‰Â€‰Â ƒ‰Â ƒ‰Âà|‰Âà|‰Â€s‰Â€s‰Â v‰ÂÀy‰Âà•‰Âà•‰Â€¥‰ÂÀ«‰Âஉ²‰Â µ‰Â ¨‰ÂÀ«‰Â ¨‰Âஉ µ‰ÂஉÂÀ«‰Â ¨‰Â`»‰Â@¸‰Â µ‰ÂÀĉÂàlj ΉÂˉÂ@щÂˉ ç‰Â ç‰Â Ú‰Âàà‰Â@ê‰Â ŠÂ@ŠÂ`ŠÂ@ŠÂ ŠÂ ŠÂ€ð‰Â`ŠÂàù‰Â€ð‰Â ç‰Â ç‰Â€ð‰ÂÀö‰Â ŠÂ  ŠÂàŠÂ ŠÂ€"ŠÂ %ŠÂ ŠÂàŠÂ€"ŠÂ 2ŠÂ %ŠÂ€"ŠÂ`ŠÂ€"ŠÂà+ŠÂ@5ŠÂ`8ŠÂ€;ŠÂàDŠÂ >ŠÂ KŠÂ@NŠÂHŠÂ >ŠÂàDŠÂàDŠÂHŠÂ`QŠÂ@NŠÂ€TŠÂ`QŠÂÀZŠÂÀZŠÂà]ŠÂà]ŠÂ dŠÂ`jŠÂ dŠÂ dŠÂ dŠÂà]ŠÂaŠÂà]ŠÂ@gŠÂàvŠÂ@€ŠÂ`ƒŠÂ`ƒŠÂ`ƒŠÂ`ƒŠÂ`ƒŠÂ`ƒŠÂ€†ŠÂ“ŠÂ –ŠÂàŠÂ –ŠÂàŠÂ€ŸŠÂ ¯ŠÂਊÂÀ¥ŠÂਊ ¢ŠÂਊ ¢ŠÂ¬ŠÂÀ¥ŠÂ ¢ŠÂ¬ŠÂ¬ŠÂ ¯ŠÂ@²ŠÂ@²ŠÂ ¯ŠÂ@²ŠÂÀ¾ŠÂ€¸ŠÂ »ŠÂ€¸ŠÂ »ŠÂŊ »ŠÂ€¸ŠÂ ÈŠÂàÁŠÂ`Ί€ъÂÀ׊€ъÂ`Ί Ȋ ȊÂ@ËŠÂÀ׊ áŠÂ áŠÂàÚŠÂàÚŠÂÀ׊ áŠÂÀðŠÂÀðŠÂ€êŠÂÀðŠÂ úŠÂ÷ŠÂ íŠÂ€êŠÂފ€êŠÂ`çŠÂÀðŠÂ÷ŠÂàóŠÂ úŠÂÀ ‹Â ‹Â ‹Â`‹Â‹Âà ‹Â`‹Â`‹Â@‹Âà ‹Â ‹Â ‹Â@‹Â ‹Â€‹Â`‹ÂÀ"‹Âà%‹Â ,‹Âà%‹Â ‹ÂÀ"‹ÂÀ"‹Â)‹Â ,‹Â€5‹Â 8‹Â 8‹ÂB‹Â`K‹ÂàW‹Â€N‹Â@H‹Â`K‹Â E‹Â E‹ÂÀT‹Â ^‹Â`d‹ÂàW‹Â ^‹ÂàW‹ÂàW‹ÂÀT‹Â ^‹Â€N‹Â`K‹Â`K‹ÂÀT‹Â Q‹Â`K‹Â ^‹Â`d‹Â j‹Â w‹Â`}‹Â ƒ‹Â ƒ‹Â w‹Â ƒ‹Âà‰‹Â‹Â‹Â`–‹Â`–‹Â‹Âà‰‹Â ƒ‹ÂÀ†‹Â ƒ‹Âà‰‹Â ƒ‹Â@“‹Â`–‹Â ‹Â€™‹Â€™‹Â`–‹Â¦‹Â@¬‹Â ©‹Â¦‹ÂÀŸ‹Â¦‹Â ©‹Â ©‹Â ©‹Â@¬‹Â໋ ‹Â@Å‹Â@ŋ¿‹Â໋ÂÀ¸‹Â µ‹Â ‹Â໋Â໋Â໋ ‹ ‹Â`È‹ÂÀÑ‹ÂÀÑ‹ÂÀы€ˋÂàÔ‹ÂØ‹Â€Ë‹Â`È‹Â Â‹Â Î‹Â Û‹ÂØ‹Âàԋ ۋ€ä‹Â@Þ‹Â`á‹Âàí‹Â@÷‹Â ô‹Â ç‹Â`á‹Â@Þ‹Â Û‹ÂØ‹ÂàÔ‹ÂØ‹Â`á‹ÂÀê‹Âñ‹Âàí‹Â ç‹Â ô‹Â@÷‹Â€ý‹Â€ý‹Â ŒÂ ŒÂ ŒÂ@ŒÂ ŒÂ`ŒÂàŒÂ`ú‹Â@÷‹Â ŒÂ ŒÂ ŒÂ ŒÂ ŒÂ ŒÂ@ŒÂàŒÂ ŒÂÀŒÂ &ŒÂ &ŒÂ &ŒÂ@)ŒÂ`,ŒÂ`,ŒÂ@)ŒÂ€/ŒÂ &ŒÂ#ŒÂ@)ŒÂàŒÂ &ŒÂ &ŒÂ 2ŒÂ 2ŒÂ ?ŒÂ@BŒÂ€HŒÂ@BŒÂà8ŒÂ KŒÂà8ŒÂ<ŒÂ`EŒÂÀNŒÂ KŒÂ ?ŒÂ ?ŒÂ 2ŒÂ 2ŒÂ ?ŒÂ KŒÂ KŒÂ KŒÂ KŒÂàQŒÂ ?ŒÂ`EŒÂ@BŒÂ€HŒÂ KŒÂ KŒÂÀNŒÂUŒÂ€aŒÂ€aŒÂàjŒÂ qŒÂ qŒÂnŒÂ dŒÂàjŒÂ qŒÂàjŒÂ XŒÂ XŒÂ XŒÂÀNŒÂ XŒÂ XŒÂ@[ŒÂ XŒÂ@[ŒÂ`^ŒÂ€aŒÂ€aŒÂ dŒÂnŒÂnŒÂàjŒÂ dŒÂ`^ŒÂnŒÂ@tŒÂ`wŒÂÀgŒÂÀgŒÂÀgŒÂnŒÂàjŒÂ@tŒÂ qŒÂnŒÂàjŒÂ qŒÂ qŒÂ qŒÂ qŒÂnŒÂàjŒÂàjŒÂÀgŒÂàjŒÂàjŒÂ@tŒÂ qŒÂ`wŒÂ`wŒÂàjŒÂnŒÂ }ŒÂÀ€ŒÂ ŠŒÂ€zŒÂ }ŒÂàƒŒÂ`ŒÂ`ŒÂ`ŒÂ@ŒÂ ŠŒÂ }ŒÂ ŠŒÂ€“ŒÂ –ŒÂ€“ŒÂ –ŒÂàœŒÂ ŒÂ ŒÂ ŒÂ€“ŒÂÀ™ŒÂ –ŒÂ€“ŒÂ€“ŒÂàœŒÂ £ŒÂ`©ŒÂ€¬ŒÂ€¬ŒÂ€¬ŒÂ`©ŒÂ £ŒÂ £ŒÂ ¯ŒÂ ¯ŒÂàœŒÂ ŒÂàœŒÂ £ŒÂ £ŒÂàœŒÂ £ŒÂ`©ŒÂൌ ¯ŒÂ ¯ŒÂÀ²ŒÂ ¯ŒÂൌ€¬ŒÂൌ€¬ŒÂ £ŒÂ £ŒÂ ŒÂ –ŒÂ€“ŒÂ€“ŒÂàœŒÂ€¬ŒÂ`©ŒÂ€¬ŒÂ€¬ŒÂൌÂൌ ¼ŒÂൌÂÀ²ŒÂ€¬ŒÂ@¿ŒÂ ¼ŒÂ@¿ŒÂ`ÂŒÂ@¿ŒÂ ÈŒÂàΌ ՌÂÀËŒÂ@، áŒÂ`ی Ռ Ռ Ȍ€ŌÂ`ÂŒÂÒŒÂ`ÂŒÂ@¿ŒÂ`Œ€ŌÂൌÂൌÂÀËŒÂÒŒÂÒŒÂ`ی áŒÂ€ÞŒÂÀäŒÂ úŒÂ îŒÂëŒÂàçŒÂëŒÂÀäŒÂ€ÞŒÂ Ռ ՌÂҌ Ȍ Ռ€ތ áŒÂ`ÛŒÂàçŒÂ áŒÂàçŒÂ áŒÂ áŒÂ€ÞŒÂ áŒÂàçŒÂ îŒÂ úŒÂ úŒÂ úŒÂ úŒÂ úŒÂ@ñŒÂ€÷ŒÂ îŒÂëŒÂëŒÂ îŒÂ úŒÂ€÷ŒÂ`ôŒÂà úŒÂ@ñŒÂ úŒÂ úŒÂàÂà úŒÂÀýŒÂ úŒÂ úŒÂàÂÀýŒÂÂÀýŒÂ € ÂÀÂ@ Â@  Â Âà  úŒÂÂ@ ÂÀÂà€ Âà€€ ÂÀÂàÂ@#ÂàÂÂ@#Â`& €)Â@#Â`&€) , 9Âà2Â@# €)Â@#Â`& €Â` Âà  Â`&  Â@#€) ,Â6 ,Â`& ,Â6Â6Âà2Âà2 9 9€BÂÀHÂ`?Âà2Âà2 9€BÂ6Âà2 9Â6 EÂ@<Â@< 9€B 9Â6 9Âà2Â6Â@<ÂàKÂàK€B EÂ`? EÂ`?Â`?€B€BÂ@<Â`?ÂàK EÂOÂàK RÂàKÂ@UÂÀH EÂÀHÂàKÂàKÂÀHÂÀH EÂàKÂà‘ ¾¯ÂÎÇ ÇÂÀ(¼Âá¯Â`ú¤ÂÀœÂàé”Â@€:†ÂÀ{CÂ@&Âh¿Á€ä‹Á5 Áô—@ó¬AÀB€LNBÀØrB„B@sˆB`ˆB`C„B€d|B@;mB@=\B€2JBÀõ7B€)&B€DBÀ_BgíA¥ÒA€.ºAÅ£A*A>xA5TA2AºA ß@:@6@H?h¦¿XÀ2¯ÀbòÀFÁñ=Á2aÁ-‚Á€i“Á¦¤Á¶Á€ÇÁ€¬×Á€ûçÁ€´÷Á€3ÂÀA ÂÀþÂ@ÂÖÂ"ÂÀÅ&ÂÀ+ÂÎ.ÂÀK2Â@x5Â@48€«:€Ñ<ÂÀ²>Â@h@ÂÀëAÂPCÂ@´D€æEÂÀÿFÂÀùGÂ@IÂÛI£JÂ@XKÂ@L°LÂÀ?MÂ@ÉMÂÀRN½NÂÀ3OÂ@‹OÂ@ïOÂ@:PÂ@…PÂ@·P€QÂÀYQÂ’QÂ@±QÂÀïQÂÀ!RÂARÂsR€˜RÂÀÐRÂðRÂÀSÂÀ4SÂ;SÂ@sSÂ@¥SÂ@¾S€ÝSÂÀüSÂ@;TÂ@TT€T™TÂÀÄTÂËTÂËTÂ@êTÂ@UÂ@5U€TUÂÀZUÂÀZUÂaUÂ@™UÂÀ¾UÂ@ËU€ÑUÂ@äU€êUÂÀ VÂÀ VÂ@V€NVÂ@aVÂ@zVÂÀ†V€™VÂÀ¸V€ËVÂÀÑVÂ@ÞVÂ@ÞVÂ@÷VÂ@)W€HWÂUWÂUWÂÀgW€zWÂ@WÂÀ€W€“W€ÅWÂ@ØWÂÀýWÂ@ XÂÀ/XÂOXÂ@nXÂXÂ@ XÂÀ¬X€ØXÂ@ëXÂ@YÂYÂ@6YÂÀBYÂÀ[YÂ@hYÂ@YÂÀ¦Y­YÂÀ¦Y€ÒYÂ@þY€ZÂ*ZÂCZÂ@bZÂ@{ZÂÀ ZÂÀ¹Z§ZÂ@ÆZÂ@ÆZÂ@ßZÂÀëZÂ@[Â=[ÂÀO[Â@u[ÂÀ[º[Â@À[Â@ò[Â@ò[Â\ÂÀ\Â7\ÂÀI\€\\Â@o\ÂÀ”\€§\Â@º\€ò\€ò\Â1]Â@7]Â@7]ÂÀ\]€o]•]ÂÀ§]€Ó]Â@ÿ]Â@^Â@1^ÂÀV^ÂÀo^Â@|^Â@|^Â@•^Â@Ç^€æ^€ÿ^€1_€J_Â@]_‰_€®_ÂÀ›_ÂÀ´_ÂÀÍ_Â@Ú_Â@ó_Â@ `Â`€D`Âj`ƒ`Â@‰`ÂÀ®`Â@»`ÂÎ`Â@í`Â@aÂ@aÂ@8aÂKaÂ@ja€‰a€¢aÂÈaÂ@ça€íaÂúaÂ@b€bÂ@KbÂ^bÂwbÂ@–bÂÀ»bÂ@ÈbÂÀíb cÂ&c€Kc€dcÂÀƒc£c¼c€ácÂ@ôcÂÀd€d dÂÀ2dÂÀKdÂkd„dÂ@£dÂ@£dÂÀÈdÂÀúdÂ@9eÂÀEeÂLe€qeÂÀ©eÂ@¶eÂÀÂeÂÉeÂâeÂÀÛeÂ@f€ fÂÀ?fÂ_fÂ@efÂÀqfÂxfÂÀ£fÂÀÕfÂõfÂ@ûfÂgÂ@gÂÀ g€3gÂ@_gÂÀkgÂÀgÂ@ªgÂ@ÃgÂïgÂÀh€-hÂ@'hÂShÂlhÂÀ~hžh€ÃhÂÐhÂ@ÖhÂ@ÖhÂÀûhÂÀiÂÀ-iÂ@SiÂfiÂi€‹iÂ@·iÂÀÜiÂ@j€jÂ@jÂ@4j€:jÂ`jÂÀrjÂ@˜j«jÂ@ÊjÂ@ãj€kÂk€4kÂÀlkÂÀ…k€˜kÂÀ·kÂÀÐkÂÀékÂ@ökÂÀlÂÀlÂ@l€lÂ@(lÂ@AlÂmlÂÀ˜lÂÑlÂ@×lÂÀãl€ölÂ@ mÂÀmÂmÂ@;mÂ@TmÂ@mmÂÀ’m€¥mÂÀÄmÂ@êmÂ@êmÂ@êmÂ@n€;nÂ@NnÂÀsnÂ@€n¬n€¸nÂ@ËnÂÀ×n€o€oÂÀ o€oÂÀ oÂ@/oÂ@HoÂ@aoÂÀmoÂÀ†o€²o€ËoÂÀÑoÂÀÑo€äoÂ@÷oÂÀpÂy€DyÂQyÂjyÂ@pyÂ@‰yµyÂ@»yµyÂ@ÔyÂ@íyÂÀùy€óy€ zÂÀ+zÂ2zÂ@8zÂ@8z€>zÂKzÂKzÂ@QzÂÀ]zÂÀvzÂ@ƒzÂÀzÂÀ¨z¯zÂ@ÎzÂÈz€ÔzÂÀóz€ízÂÀ {€{Â@2{Â@K{Â^{Â^{ÂÀp{Âw{ÂÀ‰{€œ{Â@–{ÂÀ¢{ÂÀ¢{Â@¯{Â@¯{ÂÀ»{ÂÀí{Â@ú{ÂÀ|ÂÀ|ÂÀ8|€K|ÂÀQ|ÂX|ÂÀƒ|ÂÀƒ|ÂÀƒ|ÂÀœ|Â@Â|ÂÕ|€á|€á|ÂÀç|Â} }ÂÀ}ÂÀ2}Â@X}Âk}Â@X}ÂÀd}Âk}€w}Â@Š}Â}Â@£}€©}€©}¶}Â@Õ}Â@î}ÂÀ~Â@~€&~ÂÀE~ÂL~Â@k~Â~~ÂÀ~Â@„~Â@„~€Š~Â@~€¼~€Õ~ÂÀÛ~Ââ~Âû~Ââ~Â@ÂÂÀ&€9Â@eÂ@eÂ@eÂ@~Â@~ÂÀŠÂ@—ÂÀ¼Â@ÉÂÃÂÀÕÂ@âÂÀÕÂÜÂÜÂà€Â €Â€€Â €Âà€Â €Â #€Â /€ÂÀ2€Â`B€Â€E€Â€E€ÂR€ÂR€ÂR€Â a€Â€w€Â z€Â€w€Â„€Â “€Â€Â@£€Â`¦€Â ¬€Â ¹€Â¶€Â ¹€Â ¹€Â@¼€Â Å€Â@Հ ҀÂ`؀ ހÂ@î€Â ë€Âàý€Â €  ÂÀ  Â@  ) B B€? O€XÂ`U€XÂe t Â`‡Â Â Â Â Â€ŠÂ Â` Â` Âà¬Â ¿Â@ÏÂ@Ï ØÂ ØÂ@è€îÂà÷ÂûÂ`‚ ‚ ‚€ ‚ ‚ #‚ #‚Âà)‚Â`6‚ <‚ <‚ I‚ U‚Âà[‚Âà[‚Âà[‚ b‚ n‚Â`h‚€k‚ {‚Âx‚€„‚‘‚Â`š‚Âংª‚ ­‚ ­‚Â@°‚Âà¿‚ÂÂÂ@ɂ€ς€ς ҂€è‚ ë‚ ø‚Âàñ‚ ø‚Â`þ‚€ƒÂ`þ‚ƒ ƒÂ`ƒÂ€ƒÂ ƒÂÀ ƒÂ ƒÂ'ƒÂ€3ƒÂ@ƒÂ@ƒÂ@FƒÂ€LƒÂ@_ƒÂ \ƒÂ€eƒÂÀkƒÂ hƒÂ@_ƒÂ hƒÂ \ƒÂ \ƒÂ hƒÂ@xƒÂ uƒÂ€eƒÂ hƒÂànƒÂ uƒÂ`{ƒÂ`{ƒÂ`{ƒÂ ƒÂà‡ƒÂÀ„ƒÂ ŽƒÂ@‘ƒÂ€—ƒÂ`”ƒÂ šƒÂ šƒÂ §ƒÂ€°ƒÂ`­ƒÂ€°ƒÂ ³ƒÂ ÀƒÂ ÀƒÂ½ƒÂใÂ@ÃÂใ½ƒÂ`ƃÂ`ƃÂàÒƒÂÀσ ̃ ̃ÂàÒƒÂ`߃ åƒÂàëƒÂ€ûƒÂ€ûƒÂ€ûƒÂ`øƒÂ þƒÂ þƒÂ€ûƒÂà„ÂÀ„„Â@„€„€„ $„ 0„Â@'„ 0„€-„€-„ $„Â!„Â`*„ 0„ =„€F„ÂÀL„ b„€_„ÂÀe„ÂÀe„Âàh„ b„Âl„€x„ {„ ˆ„Âàš„Â€‘„ ”„ ”„Â@¤„€ª„ º„ º„ÂÀ°„ ­„Â`À„ۀÂà̄ Ƅ Ƅ ӄÂ`ل€܄ ߄ÂÀâ„Â@ï„Âé„Â@ï„Â`ò„Â`ò„ ø„ ø„Âàþ„Âàþ„Â…€…Âà…Âà… … …Â@!… …Â`$… *…€'…ÂÀ-… 7… 7…€@…ÂÀF… P… \…Âàb…Â@l…Âf…€r…Â`ˆ…Â`ˆ…Â`ˆ…Â…Â`ˆ…€‹…Â@……Â`ˆ…Â Ž…Âà”…Â ›… ›…€¤… ›…Âà­…Â ´… ´…ÂÀª… ´…Â@·…Â`º… ´… À…ÂÊ…ÂÊ…Âʅ ͅ م م€օ€օ æ…Âã…Â`ì…Âã…Âã…Â@é… ò…Â@†Â`†Â ÿ…Âàø…Â ÿ…Â`†Â€†Â€†Âà†Â †Âà*†Â 1†ÂÀ'†Â`7†Âà*†Â@4†Â`7†Â`7†Â =†Â J†Â€S†Â`P†ÂàC†Â J†Â V†Â@f†Â o†Â€l†Â@f†Â o†ÂÀr†Â o†Â o†Â€l†Â o†ÂÀr†Â |†Â@†Â€…†Â’†Â€ž†Â ¡†ÂÀ¤†Â ®†Â«†Â ®†Â ®†Â@±†ÂàÀ†Â dž džÂàÀ†Â dž ӆ ӆ ӆÂÀֆ à†Â ì†Â ì†Âàò†Â ù†Â@ü†Âö†Âàò†Â ù†Â€‡Â ‡Â ‡Â ‡Âà ‡Â@‡Â`‡Âà ‡Â@‡Â`‡Â(‡Â(‡Â +‡Âà$‡Âà$‡Â +‡Â€4‡Â +‡Â +‡Â 7‡Â€4‡Â€4‡Â`1‡Âà=‡Â D‡Â`J‡ÂÀS‡ÂZ‡Â ]‡Â€f‡Â i‡Â i‡Â€f‡Â`c‡Â`c‡Â i‡Â i‡ÂÀl‡Âào‡Âào‡Â@y‡Â€‡Â€‡Â ‚‡ÂÀ…‡Â€‡Â€‡ÂŒ‡ÂŒ‡ÂŒ‡Â ‡Â ›‡ÂࡇÂࡇ¥‡Â`®‡Â¥‡Â€±‡Â`®‡ÂງÂ@ćÂ`LJ ͇Â`LJÂׇÂ@݇ÂàÓ‡Â@݇€ã‡Â ڇ æ‡Â€ã‡Â`à‡ÂÀЇÂ@݇ æ‡ÂÀé‡ÂÀé‡Âàì‡ÂÀé‡Â ó‡Âàì‡Â ó‡Â€ã‡Â æ‡Â ó‡ÂÀˆÂ ˆÂ`ˆÂ@(ˆÂ %ˆÂ"ˆÂàˆÂ`+ˆÂ %ˆÂ %ˆÂ@(ˆÂ@(ˆÂ 1ˆÂà7ˆÂà7ˆÂ 1ˆÂÀ4ˆÂÀ4ˆÂ 1ˆÂ 1ˆÂà7ˆÂ JˆÂàPˆÂTˆÂ@ZˆÂ cˆÂàiˆÂ pˆÂmˆÂÀfˆÂÀfˆÂmˆÂàiˆÂ pˆÂàiˆÂàiˆÂ cˆÂàiˆÂàiˆÂàiˆÂ |ˆÂ ‰ˆÂ@ŒˆÂ ‰ˆÂà‚ˆÂ ‰ˆÂŸˆÂ ¢ˆÂŸˆÂ`¨ˆÂ€«ˆÂ`¨ˆÂ ®ˆÂ@¥ˆÂ@¥ˆÂ€«ˆÂ€«ˆÂ ®ˆÂ€«ˆÂ€«ˆÂ ®ˆÂà´ˆÂà´ˆÂà´ˆÂÀ±ˆÂ »ˆÂ€ÄˆÂ€ÄˆÂà͈Âà͈Â@׈ ԈÂ`ڈ€݈ àˆÂêˆÂ íˆÂ íˆÂêˆÂ àˆÂ àˆÂ àˆÂ`óˆÂ`óˆÂ`óˆÂêˆÂ`óˆÂÀüˆÂ ‰Â ‰Â ‰Â@ ‰Â ‰Â€‰Â` ‰Â@ ‰Â‰Â ‰Â@ ‰Â` ‰Â‰Â ‰ÂÀ‰ÂÀ‰ÂÀ‰Â ‰Â` ‰Â ‰Â@"‰Â€(‰Â ‰Â‰Â‰Âà1‰Â@;‰Â`>‰Â D‰Â D‰ÂàJ‰Â D‰ÂÀG‰ÂN‰ÂàJ‰ÂàJ‰ÂÀG‰ÂàJ‰Â5‰Â D‰Â€A‰Â5‰Â5‰Â@;‰Â`>‰Â 8‰Â@;‰Â€A‰ÂN‰Â Q‰Â@T‰ÂàJ‰Â D‰Â D‰Â€A‰Â@;‰Â D‰Â Q‰Â`W‰Â ]‰ÂN‰Â Q‰ÂàJ‰ÂÀG‰ÂàJ‰Â Q‰Â ]‰Â ]‰Â ]‰Â ]‰Â j‰Â j‰Â j‰Â j‰Â j‰Â@T‰Â€Z‰Â ]‰Â j‰Âg‰Âg‰Â@m‰Â€s‰Âàc‰Âà|‰Âà|‰ÂÀy‰Â v‰Â€‰Â@m‰Â j‰Â@m‰Â€s‰Â€‰Â ƒ‰Â`‰‰Âà•‰ÂÀ’‰Âà•‰Â œ‰Â€¥‰Â²‰Â ¨‰Â`¢‰Â ¨‰Â²‰Â µ‰Â µ‰Â µ‰ÂஉÂÀ«‰Â µ‰Â@¸‰Âàlj Á‰ÂàljÂˉ ΉÂ`ԉ ΉÂ@щÂàà‰Â ç‰Â ç‰Â ç‰Âä‰Âä‰Â`í‰Âàà‰Â ç‰Âä‰Â Ú‰Â Ú‰ÂÀ݉ ç‰Â€ð‰Â ó‰Âàù‰Âàù‰Â`ŠÂ ŠÂ ŠÂàù‰Â`ŠÂ`ŠÂ€ ŠÂàŠÂàŠÂŠÂàŠÂ@ŠÂ ŠÂ  ŠÂàŠÂàŠÂ`ŠÂÀŠÂàŠÂ %ŠÂà+ŠÂ`8ŠÂ@5ŠÂÀ(ŠÂÀ(ŠÂ@5ŠÂÀAŠÂ >ŠÂ KŠÂ KŠÂ WŠÂ€TŠÂHŠÂ KŠÂ`QŠÂà]ŠÂ€TŠÂHŠÂ`8ŠÂHŠÂàDŠÂHŠÂàDŠÂà]ŠÂ dŠÂ€mŠÂÀsŠÂ@gŠÂ pŠÂàvŠÂàvŠÂ }ŠÂ }ŠÂ`ƒŠÂ`ƒŠÂ ‰ŠÂÀŒŠÂ@€ŠÂàŠÂàŠÂÀŒŠÂ`ƒŠÂ ‰ŠÂàŠÂ“ŠÂ€†ŠÂ`ƒŠÂ€†ŠÂÀŒŠÂÀŒŠÂ –ŠÂ@™ŠÂ ¯ŠÂ¬ŠÂ ¯ŠÂ€¸ŠÂ@²ŠÂÀ¥ŠÂ ¢ŠÂÀ¥ŠÂ ¯ŠÂ¬ŠÂਊÂ@²ŠÂ¬ŠÂ¬ŠÂ`µŠÂÀ¾ŠÂàÁŠÂ ÈŠÂŊ€ъÂ`ΊÂàÁŠÂàÁŠÂ Ȋ ԊÂ`Ί ȊÂ`ΊÂÀ׊ áŠÂ÷ŠÂà ‹Â ‹Â ,‹Â ‹Â@‹Â€‹ÂàóŠÂàóŠÂàóŠÂ€êŠÂ÷ŠÂàóŠÂàóŠÂÀðŠÂàóŠÂ íŠÂ€êŠÂ íŠÂ`çŠÂ íŠÂ€êŠÂ€êŠÂàóŠÂ`‹Â`‹Â@ýŠÂ€‹Â ‹Â@‹Â ‹Â ‹Â`‹ÂÀ"‹Â ,‹Âà%‹ÂÀ"‹Â ,‹Â`2‹Â ,‹Âà%‹Âà%‹Â ‹Âà%‹Âà%‹Â ,‹Â 8‹ÂB‹Â E‹Â E‹Â€N‹Â E‹Â@H‹Â Q‹Â Q‹Â Q‹Â E‹Â Q‹Â€N‹ÂÀT‹ÂÀT‹Â ^‹Â ^‹Â ^‹Â ^‹Â`d‹ÂÀm‹Â w‹Âàp‹Â€g‹Â€g‹Â@z‹Â ƒ‹Â€€‹Â`}‹Â w‹Â`}‹Â€€‹Â w‹Â€g‹Âàp‹Â w‹Â`}‹ÂÀ†‹Â€€‹Â w‹Â`}‹Â w‹Â w‹Ât‹Â€g‹ÂÀm‹Â w‹Â€€‹Â ‹Â ‹Â ‹ÂÀ†‹Â€€‹Â€€‹Â`–‹Â€™‹Âࢋ ©‹Â¦‹Â@¬‹Â µ‹ÂÀ¸‹Â໋ÂÀ¸‹Â`¯‹ÂÀ¸‹Â€²‹Â`¯‹Â ©‹Â@¬‹Â€²‹Â`¯‹Â µ‹Â µ‹Â¿‹Â ‹ ‹Â໋Â໋Â`ȋ€ˋÂ@Å‹Â@Å‹Â Â‹ÂØ‹Â؋ ۋÂ@Þ‹Âàԋ ΋Â@Þ‹Â`á‹Â ç‹ÂÀê‹Â@ދ€ä‹Â`ú‹Â€ý‹Â ô‹Â ç‹Â ç‹Â`á‹Â ç‹Â ç‹Âñ‹Â ô‹Â`ú‹Â`ú‹Â€ý‹Â ŒÂ`ú‹Âàí‹Â ç‹Â`ú‹Â ô‹Âàí‹Âñ‹Â ô‹Â€ý‹Â`ú‹ÂÀŒÂ ŒÂ ŒÂ ŒÂàŒÂ`ú‹Â ŒÂ ŒÂ ŒÂ`ŒÂ@ŒÂ@ŒÂ@ŒÂ€ŒÂ ŒÂÀŒÂ#ŒÂ€/ŒÂ`,ŒÂ@)ŒÂ€/ŒÂ#ŒÂ ŒÂàŒÂ &ŒÂ€ŒÂÀŒÂÀŒÂàŒÂ &ŒÂ€/ŒÂ`,ŒÂ€/ŒÂÀŒÂ#ŒÂ &ŒÂ &ŒÂàŒÂ#ŒÂ€/ŒÂà8ŒÂÀ5ŒÂà8ŒÂà8ŒÂ€HŒÂ ?ŒÂÀ5ŒÂ ?ŒÂ@BŒÂ ?ŒÂ@BŒÂ KŒÂ€HŒÂ€HŒÂÀNŒÂ€HŒÂÀNŒÂUŒÂ XŒÂ dŒÂÀgŒÂnŒÂ€aŒÂ dŒÂ dŒÂ dŒÂ@[ŒÂ@[ŒÂ€aŒÂ`^ŒÂ`^ŒÂàQŒÂàQŒÂ KŒÂàQŒÂUŒÂàQŒÂ XŒÂ XŒÂ@[ŒÂ`^ŒÂ`^ŒÂ XŒÂ dŒÂ qŒÂ@tŒÂ@tŒÂnŒÂnŒÂ`wŒÂ€zŒÂ }ŒÂ`wŒÂ }ŒÂ qŒÂ@tŒÂ qŒÂ qŒÂ }ŒÂ€zŒÂÀ€ŒÂ`wŒÂ€zŒÂ qŒÂ qŒÂ`wŒÂnŒÂ`wŒÂ }ŒÂ }ŒÂÀ€ŒÂÀ€ŒÂ }ŒÂ€zŒÂ }ŒÂ€zŒÂ }ŒÂ }ŒÂ }ŒÂ }ŒÂàƒŒÂàƒŒÂ qŒÂ@tŒÂ }ŒÂ }ŒÂ@ŒÂÀ™ŒÂ@ŒÂ€“ŒÂ ŠŒÂ€“ŒÂ`ŒÂ ŒÂ ŒÂ ŒÂ £ŒÂÀ™ŒÂ –ŒÂ –ŒÂàœŒÂ ŒÂ ŒÂÀ™ŒÂÀ™ŒÂ`©ŒÂ £ŒÂ £ŒÂ £ŒÂ@¦ŒÂ`©ŒÂ ¯ŒÂൌÂ@¿ŒÂ`ÂŒÂൌ ¼ŒÂ€ÅŒÂ ¼ŒÂ¹ŒÂ¹ŒÂ ¼ŒÂ€ÅŒÂ`Œ€ŌÂ`ÂŒÂൌÂÀ²ŒÂÀ²ŒÂ ¼ŒÂ ÈŒÂ ÈŒÂ`Œ€Ō€Ō Ȍ ȌÂÒŒÂ`ی áŒÂ€ÞŒÂ@ØŒÂҌ ՌÂàΌ€ތ áŒÂ€ÞŒÂ`ÛŒÂ`ÛŒÂ@ñŒÂ@ñŒÂ`ôŒÂ îŒÂàçŒÂ îŒÂàçŒÂ áŒÂàçŒÂàçŒÂ îŒÂ`ôŒÂÂÂ@   úŒÂÀýŒÂ úŒÂ ÂàÂ@     Â` ÂÂ`  Â`    ÂÂà Â`& ,   ,Âà2Â6Âà2Âà2€BÂ6Âà2Âà2ÂÀ/Â`& , ,Âà2Â@#Â@#€)€) ,Â6Â`& ,Â`&ÂÀ/ 9Â@< E€B EÂàKÂOÂÀHÂàKÂàK€BÂ6 9Â`?ÂÀHÂàKÂ@UÂ`X RÂ`XÂ`X ^€[ ^ ^ R RÂ`X ^ÂÀaÂh ^€[ k k ^Â`XÂ@UÂ`XÂ@UÂàdÂhÂàd ^€[Âàd kÂàd€[Â@U R€[ ^ÂÀaÂ`XÂhÂ@n wÂ`q kÂàd k k kÂàdÂh ^ ^ ^ÂàdÂh kÂÀz wÂà}Â@‡Â „Â`ŠÂÀz€t€tÂ@n€t „ÂÀ“Âà–Â`ŠÂ w „ ÂÀ“ÂÀ“€Â`ŠÂ „ € Â@‡Â „Â@‡Â Â „Âà}ÂÀzÂÀzÂà}Âà}Âà} „ „Âà}Âà} „€Â`ŠÂ`ŠÂ Â š  €ÂÀ“€šÂ`£Â`£Â`£Â  _‘ÂE°ÂÀ+È TÇ€T¼Â`°Â ¥Â œÂ€ù”Âà&Â`P†ÂÀßC€9€%ÈÁ€©™Á~3Á0r?ŸˆA€ÊB€ @BiB@Õ€B@˜†B€f‡B`u„B~B€ËoB€J_B€ÏMB€"”ÀbÙÀ=Á-4ÁUWÁzÁ0ŽÁ€lŸÁ€j°ÁßÀÁ.ÑÁ€WáÁñÁ€èÿÁÀ!ÂÀÅ ÂÀÂ@ÕÂ@fÂÀm$Â@)Â%-€Î0€4ÂÀû6ÂÀž9Â@<ÂÀ>Â@ë?€šAÂCÂ|DÂ@ÇEÂíFÂHÂ@çHÂÀÔIÂ@JÂ@XKÂ@îK€ŠLÂ@3MÂÀ¼MÂ'NÂÀ„NÂ@õNÂ@@OÂ@‹O€ÜOÂ@!PÂÀxP€ÖPÂÀ'QÂ@fQÂ@˜QÂ@ÊQ€éQÂÀRÂÀ!RÂARÂÀ…RÂÀ·RÂÀSÂÀMSÂ@ŒS¸SÂÑSÂ@×SÂêSÂ@ TÂ@"TÂNT€T€¥T€¾TÂÀöTÂÀUÂÀ(UÂ/UÂ@NUÂÀZUÂ@gUÂÀsUÂÀŒU“UÂÀ¾UÂÅUÂ@äUÂÀ"VÂBVÂ@HVÂ[VÂVÂÀŸVÂ@¬VÂ@ÅVÂÀÑV€äVÂ@WÂ#WÂÀ5W€/WÂÀgWÂ@tWÂ@¦WÂ@¿WÂÀËWÂÀýW€÷WÂëWÂ@ XÂ@#XÂ@UXÂ@nXÂÀzXÂ@ XÂÀÅX€ØXÂ@ëXÂÀ÷X€ YÂÀ)YÂIY€nY”Y­YÂ@³YÂÀØYÂ@åYÂøYÂZÂÀ#ZÂ@0ZÂ@IZÂ\ZÂ@{Z€šZ§ZÂÀ¹ZÂ@ßZ€þZÂ$[Â@*[Â=[Â@C[ÂV[ÂÀh[€”[Â@§[Â@ò[Â@$\ÂÀI\Â@V\Âi\ÂÀ”\´\Â@Ó\ÂÀß\ÂÀß\€ò\€ ]Â@]€=]€V]€o]Â@›]Â@Í]Â@æ]€^Â+^Â+^ÂD^ÂÀV^ÂÀˆ^ÂÀ¡^Â@Ç^€Í^Â@à^Â@ù^Â@ù^Â%_ÂÀ7_ÂÀi_ÂÀ‚_¢_»_»_Â@Á_Âí_ÂÀ`ÂÀ1`Â@W`ƒ`ÂÀ•`Â@¢`ÂÀÇ`ÂÀà`Â@í`ÂaÂÀa€%aÂÀ+aÂKa€WaÂÀaÂÀ¨aÂ@µaÂáaÂúaÂ@bÂ,bÂEbÂÀWbÂÀWbÂwb©bÂ@ÈbÂÛbÂôb€cÂ@EcÂ@^cÂÀjcÂ@cÂÀœcÂ@ÂcÂÀd€dÂÀ2dÂÀKdÂ@XdÂkdÂ@Šd€©d€ÂdÂÀádÂe€&eÂÀ,eÂ@9e€?eÂ@keÂÀwe—eÂ@ÏeÂ@fÂ@fÂ-fÂÀXfÂ_fÂ@efÂ@efÂ@~fÂÀŠfÂÀ£fÂ@ÉfÂ@ûfÂ@gÂ@-gÂ@FgÂÀRgÂÀRg€egÂ@‘gÂÀgÂÖgÂÀègÂïgÂhÂ!hÂ@@hÂÀehÂÀ~hžhÂ@½h€ÃhÂéhÂÀûhÂÀiÂ@!iÂMiÂ@liÂ@…iÂ@žiÂÀÃi€ïiÂÀõiÂüiÂ@jÂ@4jÂGjÂ@Mj€:jÂ@fjÂyj«jÂÄjÂ@üjÂ@üjÂöj€kÂAkÂÀSkÂ@ykÂ@’kÂ@«kÂÀ·kÂ@Ýk€ükÂ@lÂ@(lÂÀ4lÂ@AlÂÀMlÂÀflÂÀlÂÀÊlÂ@ðlÂmÂ@ m€(mÂÀ.mÂ5mÂÀ`m€m™mÂËmÂämÂýmÂÀömÂ@nÂ@nÂÀAnÂanÂznÂÀ¥nÂÀ¾nÂ@Ën€ênÂ÷nÂÀðn€oÂ)oÂÀ;oÂ[oÂ@zo€™oÂ@¬oÂØoÂ@÷o pÂ@pÂ@)pÂ@BpÂ@[pÂ@[pÂ@[pÂ@[p€HpÂ@tpÂÀ™p pÂ@¿p€ÅpÂ@ØpÂ@ñpÂ@ qÂ@ qÂÀýpÂÀ/qÂ@UqÂÀaqÂ@nq€tqÂÀ¬qÂ@ÒqÂ@ëq€ñqÂÀ÷qÂ@rÂ@rÂrÂÀ)r€#rÂÀ)r€ˆÂ;ˆÂ 1ˆÂ >ˆÂ >ˆÂ >ˆÂà7ˆÂ >ˆÂTˆÂàPˆÂ WˆÂÀMˆÂTˆÂ€`ˆÂ WˆÂÀfˆÂÀfˆÂàiˆÂmˆÂmˆÂ pˆÂ |ˆÂà‚ˆÂ ‰ˆÂ •ˆÂŸˆÂ@¥ˆÂ ¢ˆÂ`¨ˆÂ ®ˆÂ@¥ˆÂÀ±ˆÂ »ˆÂ »ˆÂ ®ˆÂ€«ˆÂ`¨ˆÂÀ±ˆÂ¸ˆÂ@¾ˆÂà͈Â`ڈ àˆÂêˆÂ`óˆÂ€öˆÂêˆÂ íˆÂ ùˆÂ ùˆÂàÿˆÂ ‰Â€‰Â` ‰ÂÀ‰Â ‰Â€‰Âà‰Â ‰Â€(‰Â`%‰ÂÀ‰Â`%‰Â5‰Â 8‰Â +‰Â 8‰Â`>‰Â@;‰Â 8‰Â€A‰ÂàJ‰ÂN‰ÂàJ‰Â Q‰Â ]‰ÂÀ`‰Â ]‰ÂÀ`‰Â ]‰Âàc‰ÂÀ`‰ÂÀ`‰Â ]‰ÂÀ`‰Â j‰Â ]‰Â ]‰Â@m‰Â`p‰Â v‰Âà|‰Â ƒ‰Â@†‰Âà•‰Âà•‰Â€¥‰Â€¥‰Â™‰Â œ‰Â œ‰Â œ‰Â@Ÿ‰Â`¢‰Â ¨‰Â µ‰Â€¾‰Â²‰Â`»‰Â µ‰Â Á‰Â`»‰Â Á‰ÂˉÂ@щÂ@щÂˉÂˉÂˉÂ@щ€׉ ډÂ`í‰Â ç‰Â ç‰Â`í‰Âàà‰Â ç‰Â€ð‰Â@ê‰Â`í‰Â€ð‰Âàù‰Â€ ŠÂ  ŠÂ  ŠÂÀŠÂŠÂ`ŠÂ€"ŠÂà+ŠÂà+ŠÂ %ŠÂ€"ŠÂ %ŠÂà+ŠÂ/ŠÂ€;ŠÂ@5ŠÂ/ŠÂ 2ŠÂà+ŠÂ >ŠÂ >ŠÂàDŠÂ >ŠÂàDŠÂàDŠÂ KŠÂ >ŠÂàDŠÂ WŠÂ WŠÂ WŠÂà]ŠÂ€TŠÂÀZŠÂ dŠÂ dŠÂ dŠÂà]ŠÂàvŠÂ }ŠÂÀsŠÂàvŠÂzŠÂ }ŠÂ }ŠÂ }ŠÂ`ƒŠÂ€†ŠÂ`ƒŠÂ`ƒŠÂ@€ŠÂ@€ŠÂ€†ŠÂ –ŠÂ“ŠÂ@™ŠÂ@™ŠÂ€ŸŠÂ ¯ŠÂ@²ŠÂਊÂ`œŠÂ€ŸŠÂ€ŸŠÂਊÂ@²ŠÂ`µŠÂ€¸ŠÂ Ȋ€ъ€ъ Ȋ Ԋ áŠÂ áŠÂ ÔŠÂàÚŠÂ`ΊÂÀ׊ÂàÚŠÂÞŠÂ áŠÂ áŠÂàÚŠÂàÚŠÂ`çŠÂ íŠÂàóŠÂ@ýŠÂ÷ŠÂ úŠÂ÷ŠÂ€‹ÂÀ ‹Â ‹Â€‹Â@ýŠÂ úŠÂÀðŠÂ ‹ÂÀ ‹Âà ‹Â ‹Â@‹Â ‹Â`‹Â`‹Â‹Â€‹Âà%‹Â)‹Â@/‹Â€5‹Â`2‹Â`2‹Â€5‹Â 8‹Âà>‹ÂB‹Â€5‹Â`2‹Â E‹Â`K‹Â`K‹Â E‹Âà>‹Âà>‹Â E‹Â@H‹Â E‹Âà>‹Â E‹Â`K‹Â€N‹Â`K‹ÂÀT‹Â j‹Âàp‹ÂÀm‹Â j‹ÂÀT‹Â`d‹Ât‹Â w‹Â@z‹Âàp‹Â€g‹Â€g‹Â€g‹Âàp‹Â`}‹Âàp‹Â w‹Ât‹Â w‹Â€€‹Â€€‹Â€€‹Â€€‹Â ƒ‹Âà‰‹Â ƒ‹Â‹Â@“‹Â@“‹Â`–‹ÂࢋÂ`–‹Â`–‹Â¦‹Â@¬‹Â@¬‹Â€²‹Â`¯‹Â ©‹Â`¯‹Â µ‹ÂÀ¸‹ÂÀ¸‹Â໋¿‹ÂÀ¸‹Â µ‹Â ‹Â@ŋ€ˋÂÀы ΋Â@Å‹Â`ȋ¿‹Â¿‹Â`ȋ ΋€ˋ µ‹Â¿‹Â໋€²‹Â@¬‹Â`¯‹ÂÀŸ‹Â ‹Â‹Â€€‹Â`}‹ÂÀm‹Ât‹Ât‹Â j‹ÂàW‹Â€N‹Â€N‹Â€5‹Âà>‹ÂB‹Â 8‹Â`2‹Â 8‹Â 8‹Âà%‹Â)‹Â ‹Â@‹Â ‹Â€‹Â€‹Â@‹Âà ‹Â‹ÂÀ ‹ÂÀ ‹Â ‹Â ‹ÂÀ ‹Â ‹Â ‹Â ‹Â ‹Â ‹ÂÀ ‹Â ‹Â‹Â ‹Âà ‹ÂÀ ‹Â ‹Âà ‹Â ‹Âà ‹Âà ‹Â ‹Âà ‹Â@ýŠÂ@ýŠÂ€‹Â`‹Â€‹Âà ‹ÂàóŠÂÀðŠÂàóŠÂ`‹Â`‹Â ‹ÂÀ ‹Â€‹Â€‹Â`‹Â€‹Âà ‹Âà ‹ÂÀ ‹ÂÀ ‹Â ‹ÂÀ ‹Â‹Â ‹Â€‹Â ‹Â`‹Â€‹Â ‹Â@‹Â ‹Âà ‹Â ‹Â ‹Â ‹Â ‹Â ‹Â ‹Âà ‹Â ‹Âà ‹Âà ‹Â‹Â‹Â‹Â ‹Â ‹Â€‹Â ‹Â@‹ÂÀ"‹Âà%‹Âà%‹Â ‹Â ,‹Âà%‹Â ,‹Â`2‹Â ,‹Â ,‹Â)‹Âà%‹ÂÀ"‹Âà%‹Â@/‹Â ,‹Â ,‹Â)‹Â@/‹Â ,‹Â€5‹Â 8‹Â@H‹ÂB‹ÂÀ;‹Â€5‹Â`2‹Â`2‹Â 8‹Â 8‹Â ,‹ÂÀ"‹ÂÀ"‹Â ,‹Â 8‹Â E‹Â€N‹Â@H‹Â E‹ÂÀ;‹ÂÀ;‹Âà>‹ÂB‹ÂÀ;‹Â`2‹Â`2‹Â€5‹Â 8‹Â 8‹Â`2‹Â`2‹ÂB‹Â 8‹Â E‹Â Q‹ÂàW‹Â`K‹Â E‹Â E‹Â E‹Â@H‹ÂÀT‹ÂB‹Â Q‹Â`K‹Â E‹Â Q‹Â Q‹ÂÀT‹Â ^‹Â€g‹Â`d‹Â`d‹ÂàW‹Â@H‹ÂàW‹Â ^‹ÂàW‹Â Q‹Â`K‹ÂÀT‹Â Q‹ÂÀT‹ÂàW‹Â Q‹Â`d‹Â€g‹Â ^‹Â ^‹Ât‹Â@a‹Â j‹Â€g‹Â ^‹Â@a‹ÂÀT‹Â`d‹Â[‹Â[‹Â`d‹Â ^‹Â ^‹Â€g‹Â@z‹Â j‹Â j‹ÂÀm‹Â j‹ÂÀm‹Â j‹Â w‹Â j‹Â j‹ÂÀm‹Ât‹Â j‹Â w‹Â w‹Âàp‹Â w‹Ât‹Ât‹ÂÀm‹Â w‹Â`}‹Â ƒ‹Â w‹Â`}‹Â€€‹Â ƒ‹Â`}‹Â ƒ‹Âàp‹Â w‹Â w‹Â€€‹Â w‹Â`}‹Â ‹Â ‹Â`–‹Â`–‹Â œ‹Âࢋ ‹Â ƒ‹Â ƒ‹Âà‰‹Â ‹Â‹Â ‹Â`–‹Â ‹Â ‹Â€™‹Â€™‹ÂÀŸ‹Â¦‹Â¦‹Â ©‹Â œ‹Â œ‹Â œ‹Â@¬‹Â œ‹Â€™‹ÂÀŸ‹Â œ‹Â`¯‹Â€²‹Â ©‹Â`¯‹Â`¯‹Â`¯‹Â œ‹ÂࢋÂࢋÂࢋÂÀŸ‹Â ‹Â@“‹ÂÀŸ‹Â ©‹Â ©‹Â@¬‹Â€²‹Â໋ µ‹Â µ‹ÂÀ¸‹Â໋Â`ȋ ‹€ˋÂàԋ€ˋÂ@Å‹Â`È‹Â@ŋ¿‹Â@ŋ€ˋ ‹Â@ŋ ‹Â@Å‹Â໋Â໋ÂÀ¸‹Â`¯‹ÂÀ¸‹Â€²‹ÂÀ¸‹Â¿‹Â¿‹Â Î‹ÂÀы€ˋ ΋€ˋ€ˋÂ`ȋ ‹¿‹Â`ȋ ۋ ۋ ۋ ۋÂ`á‹Â Û‹ÂØ‹Â€ä‹Â€ä‹Â؋ ΋ ΋Â`ȋ ΋ ۋÂ`á‹Â`á‹Â Û‹ÂàÔ‹ÂàÔ‹Â`á‹Â€ä‹Â`á‹Â@Þ‹Â`á‹Â€ä‹Â`á‹Â ç‹Â`á‹Âàí‹Â€ý‹Â`ú‹Â€ý‹Â`ú‹Â ŒÂàŒÂ ŒÂ ô‹Âàí‹Â€ý‹Â€ý‹ÂÀŒÂàŒÂ ŒÂ ŒÂ@ŒÂ`ŒÂàŒÂàŒÂ€ý‹Â ŒÂÀŒÂÀŒÂ ŒÂ ŒÂ ŒÂ€ŒÂàŒÂ€ŒÂ ŒÂ &ŒÂÀŒÂ ŒÂ`ŒÂ`ŒÂ ŒÂ ŒÂ@ŒÂ€ŒÂ &ŒÂ€/ŒÂ@)ŒÂ€/ŒÂ`,ŒÂ€/ŒÂàŒÂÀŒÂ &ŒÂà8ŒÂà8ŒÂ`,ŒÂ`,ŒÂ@)ŒÂ &ŒÂ@)ŒÂ`,ŒÂ &ŒÂàŒÂàŒÂÀ5ŒÂà8ŒÂÀ5ŒÂ€/ŒÂ 2ŒÂ<ŒÂ<ŒÂ`EŒÂ@BŒÂ ?ŒÂ@BŒÂ ?ŒÂÀ5ŒÂà8ŒÂ€HŒÂ KŒÂàQŒÂàQŒÂ XŒÂ@[ŒÂ€aŒÂUŒÂ@[ŒÂ dŒÂàQŒÂ ?ŒÂ ?ŒÂàQŒÂ XŒÂ`^ŒÂ dŒÂàjŒÂ dŒÂ`^ŒÂàjŒÂàjŒÂàjŒÂ dŒÂàjŒÂ`wŒÂ€zŒÂ‡ŒÂÀ€ŒÂÀ€ŒÂnŒÂnŒÂ€zŒÂ }ŒÂ€zŒÂ }ŒÂ }ŒÂ`wŒÂ }ŒÂàƒŒÂ }ŒÂàƒŒÂ }ŒÂ }ŒÂàƒŒÂ ŠŒÂàƒŒÂ ŠŒÂ`ŒÂÀ™ŒÂ –ŒÂ`ŒÂ@ŒÂ`ŒÂ ŠŒÂ@ŒÂ ŠŒÂàœŒÂàœŒÂ ŒÂ@¦ŒÂàœŒÂ £ŒÂ@¦ŒÂ@¦ŒÂ`ŒÂ –ŒÂ ŒÂ`©ŒÂ`©ŒÂ £ŒÂ ŒÂ`©ŒÂÀ²ŒÂൌ ¯ŒÂÀ²ŒÂ ¯ŒÂൌÂൌÂ`©ŒÂ@¦ŒÂ £ŒÂ`©ŒÂ@¦ŒÂ ¯ŒÂ`©ŒÂÀ²ŒÂൌ¹ŒÂ ¼ŒÂ`ÂŒÂ`Œ Ȍ Ȍ ȌÂ`Œ ȌÂ@¿ŒÂ ÈŒÂ ÕŒÂÒŒÂàÎŒÂàÎŒÂ`Œ ȌÂÒŒÂÀˌ ȌÂÀËŒÂ`ی€ތÂ@، ՌÂ@، Ռ ՌÂ`ÛŒÂ`ی áŒÂëŒÂ úŒÂ`ôŒÂ€÷ŒÂ`ôŒÂ  Â`ôŒÂëŒÂ îŒÂÀýŒÂ`ôŒÂ úŒÂ îŒÂ€÷ŒÂÀýŒÂ úŒÂàÂÂ` Â` Â@ €€Â` Â@ €Â` € ÂàÂà€Â` ÂÂàÂ`  Â` ÂÀÂà   Âà    €   Â`&€)€)Â`&Âà2 9ÂÀ/ 9 9 , ,€)ÂÀ/ 9 9 ,Â`&Â@#     ÂÂ`&€)ÂÀ/Âà‘ ²¯ÂjÇ ¥ÆÂ µ»Âd¯Â ƒ¤Â ”›Â`y”ÂÀ¦ŽÂ€½…€­B€XþÁ€†¼Á€×‰ÁTÁ Œ@‡¥A€iBçGB†lBàB@Ð…B@·…B <‚B€®xB€ÖiB€ñXB€GB5BÀs#B€ìBrB€lêA4ÐA€¸AÑ¡A³AæuA×RAŠ1A7AÂâ@¬£@DE@(‡?ðk¿<>À¢ÀèäÀÁÁ½5ÁÂ@@ BÂPCÂ|DÂ@•E»FµGÂ@ƒH€8IÂÀíI€}JÂÀKÂKÂ@ LÂÀLÂMÂÀqMÂ@ÉMÂ@FN€°NÂ@OÂÀeO€ÃOÂÀûO€@P€rPÂ@·P€QÂ@4QÂ@QÂ@±Q€RÂ@.RÂÀlRÂÀ…RÂ¥RÂ@ÄRÂ@ÝRÂ@öRÂ@(SÂ@sS¸SÂÀãSÂ@ TÂ@"TÂ@"TÂNTÂgTÂÀ’TÂ@ŸTÂ@ÑTÂÀÝTÂÀUÂ/U€TUÂ@gUÂÀŒU¬U€ÑUÂ@ËUÂÞUÂÀ VÂ)VÂ@HV€gVÂVÂV€™VÂ@“VÂÀ¸VÂØVÂñVÂ@WÂÀW€/W€aW€zWÂ@tWÂÀ€WÂÀ²WÂÀäWÂ@ñWÂÀýWÂXÂXÂÀXÂ@`ÂQ`Â@p`€v`Â@‰`€¨`Â@í`ÂaÂ@a€%aÂÀ+aÂÀ+aÂ@QaÂ@ƒaÂÀva€¢aÂ@µaÂÈaÂáaÂ@ça€bÂEbÂÀWbÂ@}b€jbÂÀ‰bÂÀ¢b€çbÂ@cÂ@,cÂXcÂ@wc£cÂÀµc€ÈcÂ@ÂcÂÕcÂ@Ûc€úc€,dÂ@?dÂkdÂ@ŠdÂ@£dÂÏd€ôdÂeÂÀ,eÂ@Re€XeÂee—e°eÂ@ÏeÂ@fÂÀ fÂÀ&fÂFfÂ@efÂ@ef€fÂ@ÉfÂÀîfÂõf€gÂ@gÂÀ9gÂÀRgÂYgÂÀgÂ@ªgÂ@ÃgÂ@ÜgÂÀègÂ@õgÂ@õgÂÀ3hÂlhÂ@rhÂÀ—hÂ@¤hÂÐhÂéhÂ@!iÂi€@iÂÀ_i€riÂÀxiÂÀ‘iÂÀÃiÂ@ÐiÂãiÂüi€!j€:jÂGjÂ@MjÂ@MjÂ@fjÂÀ¤jÂ@Êj€éjÂkÂ@.k€4kÂZkÂÀ…kÂÀ·kÂ×k€ãkÂÀlÂÀlÂÀl€.l€GlÂ@ZlÂÀlÂ@¥lÂÀÊl€ÝlÂ@ mÂ5m€ZmÂgm€mÂÀym€ŒmÂ@¸mÂ@Ñm€×mÂÀömÂ@n€"n€;nÂ@NnÂ@gnÂÀŒnÂÀ¥nÂÅn€ÑnÂ@änÂÀðn€oÂ)oÂÀ;oÂ@HoÂ@ao€€oÂ@¬oÂ@ÅoÂÀêo€äoÂ@÷o€pÂÀ5p€HpÂnpÂÀ€p€zpÂ@¦pÂ@¿pÂ@¿p€Åp€÷pÂqÂÀqÂ@#qÂÀaqÂ@nqÂ@‡qÂ@ q³q€¿qÂÌq€ñqÂÀ)rÂ@6rÂ@Or€nrÂ{r€nr€‡rÂÀ¦rÂÀØrÂÀñr€sÂsÂ@0s€OsÂÀ‡s§sÂÀ¹sÂ@ÆsÂ@ßs€åsÂ@øsÂÀtÂÀtÂ$t€0t€It€btÂ@ut¡tÂÀ³t€ÆtÂ@ÙtÂ@òtÂÀþtÂÀuÂ7uÂ@$uÂÀ0uÂÀIuÂÀ{u€ŽuÂÀ­uÂÍuÂ@ìu€òuÂÿuÂÿuÂvÂÀ*vÂ1v€=v€VvÂ@‚vÂ|vÂ@›vÂÀ§vÂÀÀvÂÀÀvÂùvÂ@wÂ+wÂDwÂ@JwÂ@cw€‚wÂÀˆwÂ@®wÂ@ÇwÂÀìwÂÀxÂ%xÂ@+xÂWxÂWx€|x€•xÂ@¨x»x»xÂ@ÁxÂíxÂy€y€+yÂ8yÂ@WyÂjyÂ@‰yœy€¨yÂ@»yÂÀàyÂÀùyÂzÂ@zÂÀzÂÀzÂÀ+zÂ@8zÂ@QzÂÀzÂ@µzÂázÂ@çzÂÀóz€{ÂÀ%{ÂÀ%{€8{ÂÀ>{Â@K{Â^{Â@}{ÂÀ‰{€œ{©{ÂÀ»{Â@È{Â@á{ÂÀí{ÂÀ|Â@,|€2|ÂÀ8|ÂÀQ|ÂÀj|ÂÀƒ|Â@©|¼|ÂÀÎ|ÂÀÎ|ÂÀç|Â}ÂÀ}ÂÀ}ÂÀ2}ÂÀK}Âk}€}ÂÀ–}Â@Š}ÂÀ–}€Â}Â@î}Â~Â@~€&~Â@9~ÂÀE~ÂL~ÂÀw~Â@„~€q~ÂÀw~—~Â@¶~€¼~ÂÉ~Âû~ÂÀô~Â@€9ÂÀXÂ@eÂx‘ÂÀŠ€ÂÀ¼€ÏÂ@âÂ@âÂõÂ`€Âà€Â €Â #€Â /€Â <€ÂÀK€Âk€Âàg€Â a€Âàg€Âàg€Â n€Âk€Â z€Â z€Â@Š€Â€Â ¬€Âಀ¶€Â@¼€ÂàË€Âàä€Â`ñ€Â€ô€ÂÀú€Â   Âà Âà/Âà/€?ÂÀEÂàHÂàHÂ`U [ÂÀ^ h€qÂÀw Âà“ ¦Â ¦Â°Â`¹Â ¿ÂàÅ Ì ØÂ ØÂ`ë€î ñ ñ ñÂû  ‚  ‚ ‚ #‚Âà)‚Â`6‚ <‚ÂÀX‚ÂÀX‚Â_‚Â@e‚ÂÀq‚ {‚Âx‚ n‚ {‚€„‚ ‡‚ ‡‚ ”‚Âং ­‚Â@É‚ÂàØ‚ÂÜ‚ÂÜ‚ÂàØ‚Â`å‚ÂÀî‚Â@û‚€ƒÂ ƒÂ€ƒÂ 6ƒÂ`0ƒÂ@-ƒÂ`0ƒÂÀ9ƒÂ CƒÂ CƒÂÀRƒÂÀRƒÂ hƒÂ uƒÂànƒÂ hƒÂ€eƒÂ@xƒÂ€~ƒÂ ŽƒÂ šƒÂ §ƒÂ §ƒÂ€°ƒÂ ³ƒÂ ³ƒÂใ½ƒÂ€ÉƒÂÀσ ̃Â@܃ åƒÂ€ûƒÂ þƒÂïƒÂ òƒÂÀ„ „ÂÀ„ $„ 0„Â:„Â@@„ÂàO„Â@Y„Â`\„€_„Âl„Âàh„ o„ o„Â@r„Â`u„Â@‹„ ¡„Âàš„Â ¡„€ª„Â`§„ÂÀ°„€Ä ӄÂ@ք ߄Â`Ù„Â@ք€܄Âàå„ÂÀû„Â` … …Âà… … *…Â4… C…Â@S… P… P… \…€Y…Âf… i…Â@l…€r… u…Âà{…ÂÀx…ÂÀx…Âà{…Â… ‚…Âà”…Â@ž… ›… §… §… §…ÂÀª…Â`º…€½…€½…ÂàÆ…ÂÊ…Â@Ð…Âàß…Âàß…Â æ…Â`ì… ò… ÿ…€†Âà†ÂÀ†Âà†Â@†Â†Â@†Â`†ÂÀ'†Âà*†ÂÀ'†Â@4†Â =†ÂàC†Â J†Â J†Â V†Â V†Â`†Â`†ÂÀY†Âà\†Â`†Â@f†Â o†Ây†Âàu†Â ˆ†Â`‚†Â ˆ†Â ˆ†ÂàŽ†ÂÀ‹†ÂÀ‹†Â •†Â€ž†ÂÀ¤†Â৆Â`´†Â º†ÂàÀ†ÂĆ dž ӆ ӆÂ݆ à†Â ì†Â ù†Â@ü†Âö†Â@ü†Â@ü†Â@ü†Â ‡Âà ‡Â`ÿ†Â`ÿ†Â ‡Â‡Â€‡Â ‡Â +‡Â€4‡Â 7‡Â`1‡Âà=‡Â 7‡Â D‡Â@G‡ÂZ‡Â`c‡Â i‡Â`c‡Â ]‡Â`c‡Â`c‡ÂÀl‡Âs‡ÂÀ…‡ÂÀ…‡Â@’‡Â ‡Â ›‡Â ¨‡Â¥‡Â ¨‡Âࡇ ¨‡ÂࡇÂ@«‡Â ´‡Â@ć Á‡Â`LJ€ʇÂ@݇ÂÀé‡Â@݇Â`à‡Âàì‡Âàì‡Âàì‡Âð‡Âð‡Â ó‡Â ÿ‡ÂàˆÂ ˆÂ ˆÂ€ˆÂ %ˆÂ`+ˆÂ`+ˆÂ %ˆÂà7ˆÂ WˆÂ`]ˆÂ cˆÂÀfˆÂàiˆÂÀfˆÂ€`ˆÂ cˆÂ pˆÂ |ˆÂ`vˆÂ |ˆÂ†ˆÂ†ˆÂ |ˆÂ`ˆÂ •ˆÂ •ˆÂà›ˆÂ ¢ˆÂ ¢ˆÂ ¢ˆÂ ®ˆÂ¸ˆÂà͈Âà͈Âà͈ Ԉ€݈€݈Â@׈Â`ÚˆÂêˆÂàæˆÂ àˆÂàæˆÂêˆÂÀãˆÂàæˆÂ`óˆÂ ùˆÂàÿˆÂ ‰ÂÀ‰Â‰Â@"‰Â`%‰Â€(‰ÂÀ.‰ÂÀ.‰Â5‰Âà1‰Â +‰Â +‰Â +‰Â€(‰ÂÀ.‰Â +‰Â€A‰Â Q‰ÂÀ`‰Â j‰Â v‰Â v‰Âà|‰Â j‰Â€s‰Â ƒ‰Â`‰‰Â€Œ‰ÂÀ’‰Â ‰ÂÀ’‰Âà•‰Â ‰Â@Ÿ‰Â€¥‰ÂÀ«‰Â ¨‰Â@Ÿ‰Â ¨‰Â`»‰Â`»‰Â€¾‰ÂàljÂ@щ ډ ډÂàà‰Â ΉÂ@щÂä‰Â@ê‰Â@ê‰Â`í‰Â ç‰Âä‰Â ç‰Â ŠÂàù‰Â€ ŠÂ`ŠÂ€ ŠÂ  ŠÂÀŠÂàŠÂÀŠÂ ŠÂ ŠÂ 2ŠÂ€;ŠÂÀAŠÂÀAŠÂHŠÂ >ŠÂ >ŠÂÀAŠÂàDŠÂÀAŠÂ`QŠÂ KŠÂ WŠÂ`jŠÂ dŠÂ dŠÂÀZŠÂ dŠÂ@gŠÂ@gŠÂ`jŠÂàvŠÂ@€ŠÂàŠÂ –ŠÂ`œŠÂÀ¥ŠÂÀ¥ŠÂ¬ŠÂÀ¥ŠÂਊ€ŸŠÂ ¯ŠÂ ¯ŠÂ`µŠÂ€¸ŠÂàÁŠÂÀ¾ŠÂ€¸ŠÂ@²ŠÂ »ŠÂ »ŠÂ ÈŠÂ ÈŠÂ ÈŠÂ@ˊ ԊÂÞŠÂàڊ ԊÂàÚŠÂàÚŠÂ áŠÂ€êŠÂÀðŠÂ€‹Â€‹Âà ‹Â`‹Â@ýŠÂ ‹Â`‹Â€‹ÂÀ ‹Â`‹Â`‹Â ‹Â ‹Âà ‹Âà ‹Â ‹Â`‹ÂÀ"‹Â ‹Â@/‹Â 8‹Â E‹ÂB‹Âà>‹ÂB‹Â@H‹Â€N‹ÂàW‹Â[‹Â ^‹Â j‹Â€g‹Â`d‹Â`d‹Â j‹Ât‹Âàp‹Â j‹Â@z‹Â€€‹Âà‰‹ÂÀ†‹Âà‰‹Â ƒ‹Â€€‹Â ƒ‹Â`–‹Â`–‹Â œ‹Â ©‹Â@¬‹Â`¯‹Â€²‹Â໋Â໋Â@ŋ€ˋÂ`È‹Â໋Â`¯‹Â µ‹Â µ‹ÂÀ¸‹Â ‹ ‹ÂÀÑ‹ÂÀê‹Â ç‹Â`á‹Â`á‹Â ç‹Â ô‹Â ô‹Â€ý‹Â`ú‹Â ŒÂ ŒÂÀŒÂ€ý‹Â ŒÂàŒÂÀŒÂ ŒÂ@ŒÂÀŒÂ`ŒÂ ŒÂ@ŒÂàŒÂ ŒÂ#ŒÂ`,ŒÂ@)ŒÂ@)ŒÂ@)ŒÂ 2ŒÂ 2ŒÂ 2ŒÂ ŒÂ ŒÂàŒÂ€/ŒÂ<ŒÂ@BŒÂ€HŒÂàQŒÂUŒÂàQŒÂ`EŒÂ`EŒÂ KŒÂ XŒÂ€aŒÂ`^ŒÂ@[ŒÂàjŒÂ qŒÂ@tŒÂÀ€ŒÂ }ŒÂ€zŒÂ€zŒÂ }ŒÂ€zŒÂ qŒÂ`wŒÂ`wŒÂ€“ŒÂ€“ŒÂ`ŒÂàƒŒÂ‡ŒÂ –ŒÂàœŒÂÀ™ŒÂ –ŒÂàœŒÂ –ŒÂ ŠŒÂ ŒÂ £ŒÂ`©ŒÂ ¯ŒÂ £ŒÂ ¯ŒÂ¹ŒÂÀ²ŒÂ ¯ŒÂ`Œ€ŌÂ`ÂŒÂÀˌ ՌÂ`Œ€Ō€Ō€Ō€Ō ՌÂ@،€ތ áŒÂ áŒÂ áŒÂ áŒÂ áŒÂÀäŒÂÀäŒÂëŒÂ áŒÂàçŒÂÀäŒÂ áŒÂëŒÂÀäŒÂ îŒÂ îŒÂà Â` Â`  €Â`  ÂÀÂ`&   Â   ÂÀ/Âà2Â6Â6Â@< 9 9 ,Â`&€) , ,Â`&Â6Â@< 9 EÂ`?Â`? 9 E 9Â6 9€BÂÀH RÂàd€[Â@U EÂàKÂàK RÂàKÂÀHÂàKÂÀH RÂàKÂàK€[ ^ÂÀa k ^ÂÀaÂàd ^Â`XÂ`XÂÀa kÂÀaÂh w€t wÂ@n wÂÀzÂ@‡ÂÂ@‡Â@‡ÂšÂà–Âà–Âà–€Â@ Â`£Â ©Â ©Âà¯Â³ÂÀ¬Âà¯Â€¦Â€¦Â€¦Â`£Âà¯ÂÀ¬Â ©Â ©ÂÀ¬Â ¶Â`¼Â Â€¿ÂÀÅÂ`Õ Ï ÏÂÌÂàÈÂàÈÂÌÂ@ÒÂ`ÕÂ@ÒÂÌÂ̠Ϡ۠ϠπØÂ€ØÂå è èÂåÂàá€ØÂ ÛÂåÂ@ë ô è ôÂþÂàúÂàúÂàúÂàú ŽÂ ôÂþ ŽÂ  ŽÂàŽÂ` ŽÂàŽÂÀŽÂàŽÂŽÂ@ŽÂ@ŽÂŽÂ &ŽÂŽÂŽÂ@ŽÂ€#ŽÂ€#ŽÂ€#ŽÂ ŽÂ€#ŽÂ 3ŽÂ@6ŽÂ ?ŽÂ ?ŽÂàEŽÂ LŽÂ LŽÂ ?ŽÂ ?ŽÂàEŽÂ@OŽÂ€UŽÂ XŽÂ LŽÂàEŽÂ@OŽÂ ?ŽÂ ?ŽÂ LŽÂ@OŽÂà^ŽÂà^ŽÂbŽÂbŽÂ@hŽÂ eŽÂ XŽÂÀ[ŽÂà^ŽÂà^ŽÂ eŽÂ`kŽÂ`kŽÂ qŽÂàwŽÂ@ŽÂ`„ŽÂ`„ŽÂ€‡ŽÂàwŽÂ ~ŽÂ ~ŽÂ ~ŽÂ@ŽÂàwŽÂ ~ŽÂ{ŽÂ€nŽÂ qŽÂ€nŽÂ€nŽÂ qŽÂ{ŽÂ@ŽÂ@ŽÂ`„ŽÂ`„ŽÂàŽÂÀŽÂ £ŽÂ`ŽÂ@šŽÂ —ŽÂ —ŽÂ —ŽÂ —ŽÂàŽÂ —ŽÂ £ŽÂ€ ŽÂ £ŽÂ੎€ ŽÂ £ŽÂ`ŽÂÀ¦ŽÂ £ŽÂ€ ŽÂ€ ŽÂ £ŽÂ­ŽÂ °ŽÂ £ŽÂ”ŽÂ —ŽÂ`ŽÂ £ŽÂ੎ £ŽÂ­ŽÂ€¹ŽÂ °ŽÂ ¼ŽÂ ¼ŽÂÀ¿ŽÂàŽ ¼ŽÂ­ŽÂ੎ °ŽÂ­ŽÂ °ŽÂ °ŽÂ °ŽÂ °ŽÂ °ŽÂ`¶ŽÂ`¶ŽÂàÂŽÂ ÉŽÂ`¶ŽÂ °ŽÂ °ŽÂ@³ŽÂ °ŽÂ °ŽÂ€¹ŽÂàŽ Ɏ ¼ŽÂ ¼ŽÂàÂŽÂàÂŽÂÀ¿ŽÂàÂŽÂàÂŽÂ ÉŽÂàÂŽÂ@ÌŽÂàÛŽÂ âŽÂ ÕŽÂ ÕŽÂÀ؎ ՎÂÀØŽÂ`ÏŽÂ`ÏŽÂ ÉŽÂߎÂߎ âŽÂ âŽÂ âŽÂ âŽÂàÛŽÂ âŽÂ âŽÂ@åŽÂ`èŽÂ`èŽÂàôŽÂ ûŽÂ` ûŽÂàôŽÂ ûŽÂøŽÂ ûŽÂ îŽÂ ûŽÂ` ûŽÂ ûŽÂ ûŽÂà €Â@þŽÂ ûŽÂ`ÂøŽÂøŽÂ` ûŽÂøŽÂ îŽÂ ûŽÂ ûŽÂøŽÂ ûŽÂàôŽÂøŽÂ ûŽÂ`  ûŽÂ@þŽÂ€Âà Â@  ûŽÂøŽÂ îŽÂ âŽÂ@åŽÂ@åŽÂ îŽÂ`èŽÂàôŽÂøŽÂ@þŽÂ ûŽÂàôŽÂàôŽÂøŽÂ`ÂÀñŽÂÀñŽÂ ûŽÂ ûŽÂ ûŽÂ îŽÂ@åŽÂàôŽÂ ûŽÂ ûŽÂ@þŽÂ ûŽÂ ûŽÂ€   ÂÀ Âà Â`ÂÂà Âà Â@þŽÂ ûŽÂ îŽÂ€ëŽÂàôŽÂÀñŽÂøŽÂ@þŽÂ€Âà Âà  ÂÀ   Â`€  Â`Â` €Âà   Â@ÂÀ#  €Â`  Â@0ÂÀ#ÂÀ#Âà&€6 -Âà&Â*Â*Â*Â`3 9€6 9Âà?ÂÀ< -ÂÀ# -€  €€€ -Â`3Â`3 - -Â*Â@0 9€6Â`3ÂÀ<Âà? F 9Â`3Â`3Â`3ÂÀ<Âà? 9ÂÀ<ÂÀ<ÂÀ< 9ÂÀ< F FÂà?ÂÀ<Âà?ÂCÂÀ<Âà? F F FÂÀ<Âà?ÂCÂ@I R RÂ`LÂCÂ@I _ _Â\Â@bÂàX€OÂ\ RÂ@I FÂ`L F€O€O R€O R RÂÀUÂ\ _Â\ _ k€h€hÂ\ÂÀU RÂ`L _ kÂàq kÂ`eÂàq xÂu x kÂ@bÂ\ÂÀUÂàX€h kÂÀn€hÂàqÂÀn€hÂ`e kÂu xÂàqÂàqÂuÂu x€€ÂàŠÂ „Â@{ xÂàqÂàqÂÀnÂ@{Â`~Â`~ „ x x xÂàqÂÀn€h xÂ`~ „ ‘ÂÀ‡Â „Â`~Â@{ „ÂÀ‡ÂŽÂŽÂ`—Â`—Â`—Ž „ „ „ÂàŠÂàŠÂàŠÂ „Â`—Â`— ‘Â@” Â`—   ŽÂ`— Â@”Â@”Â`—€šÂ Â Â€šÂ`—€šÂ€šÂ ‘Â@”Â`—Â`—Â@”Â`—Â`—Âà£ÂÀ Â@” ‘ÂŽÂ@”€šÂ€šÂ Âà£Â§Â`°Â€³Â ¶Â ¶Â€³Â€³Â ªÂ ªÂà£Â€šÂ Âà£Â@­Â€³Â`°Â@­Â ªÂ`°Â ¶Â`°Â ªÂ@­Â`°Â ¶Â€³Âà£Âà£Â€šÂ Â ªÂÀ Â ªÂ ¶Â ¶Â€³ÂÀÂà¼ÂÀ ¶Â ¶ÂÀ¹ÂÀ¹Â ¶Â ¶Â`°Â@­Â€³Â@­ÂÀ¹ÂÀÂÀ¹Âà¼Â à¶Âà¼Â`É ¶Âà¼Âà¼ÂÀ€Ì Ã Ã€ÌÂàÕ€ÌÂà¼ÂÀ¹Âà¼Âà¼Â ÃÂà¼Â ÃÂ`ÉÂà¼Â`ÉÂ`É€ÌÂà¼Â ¶Â ÃÂ@ÆÂ€ÌÂÀÒ Ü Ï ÏÂ`É€ÌÂÀÒÂÀÒ ÃÂÀ ÃÂÀ Ï Ï ÏÂàÕÂ`ÉÂ`É€ÌÂ`ÉÂÀÒÂÀÒ Ü ÜÂàÕ ÜÂàÕÂÀÒÂàY“£±Â ¸ÉÂ`5É K¾Âà²Â€ §Â` žÂ ä– !‘Â`¨ˆÂÀK€ €˜ëÁ€¯ÊÁ€ŠšÁ5"Á K@ÊžAæB€óGB€ŒmB@èBÀ½†BÀ½†B€3ƒB@ƒzBÀ·kBÀ[BEIB47B€z%B€•BéBíA ÓA€s»AÒ¥A´‘A¶}A\ZAö8AôAÞî@®@ÀZ@¯?0¿ô0ÀF›ÀÝÀÀÁ£1ÁTSÁuÁ€‹Á€R›Á€¡«ÁË»Á€ôËÁˆÛÁÄêÁ€vùÁ@ª€" Â=Â@íÂ@LÂ@. ¿$ÂÀë(€´,Â,0Â@R3Â!6€ž8ÂÀü:ÂÀð<ÂÀ²>ÂÀ[@€åAÂ@VC€¡DÂÁEÂÀÍFÂÀÇG¯H€œIÂÀQJÂ@ôJÂ@£KÂÀ,LÂ@¶LÂ@3MÂ@ÉMÂÀ9NÂ@ªNÂÀOÂ@rOÂÀâO€@P€¤P€QÂ@fQ€žQÂ@ãQÂÀ!RÂ@`RÂ@’RÂÀ·RÂÀÐRÂ@öRÂ"SÂ@ASÂÀS€«SÂÀüSÂÀ.TÂ@;TÂÀyTÂ@†TÂÀ’T€¾TÂ@ÑT€ðTÂ/UÂHUÂ@gU“U“U¬UÂ@ËUÂ@äUÂÀ VÂ@VÂ@/V€gVÂÀmVÂV¦VÂ@ÅVÂ@ÞVÂ@÷VÂ#WÂÀ5WÂUWÂ@tWÂÀ™WÂ@¦WÂ@¿WÂÀäWÂ@ñWÂX€)XÂOXÂ@nXÂXÂÀ¬X€ØXÂ@ÒXÂÀ÷XÂÀY€#YÂÀ)YÂÀBYÂÀ[Y”YÂ@šYÂÀ¦YÂ@³YÂÀØYÂ@þYÂ@IZÂ@bZÂÀ‡Z€šZÂ@­ZÂÀZÂÀëZÂÀëZÂ@ßZÂÀëZÂÀ[Â$[Â@*[€I[Âo[€{[¡[ÂÀÌ[Â@Ù[Âì[€ø[ÂÀ\Â7\Â@V\ÂÀ{\›\ÂÀ­\ÂÀÆ\€Ù\Â@ì\Â@ì\ÂÀ]Â@7]€V]Â@i]Â@›]€º]ÂÇ]€ì]Â@ÿ]Â@1^Â@1^ÂÀV^ÂÀo^ÂÀ¡^ÂÀº^Â@à^Â@ù^Â@_€1_ÂÀP_ÂÀi_Â@_ÂÀ´_ÂÔ_Âí_ÂÀ`€D`Âj`ƒ`€`ÂÀ®`Âç`ÂÀaÂÀ+aÂÀ+aÂKaÂ@QaÂ}aÂ@œaÂ@µaÂ@ÎaÂÀÚaÂÀ bÂ@2bÂ^bÂ@}b€ƒb€œb€µbÂÀÔbÂÀíbÂ@úbÂÀcÂ@EcÂXcÂ@cÂ@c¼c€ÈcÂ@ÛcÂîcÂÀdÂd€EdÂÀKdÂÀddÂd€ÂdÂÀádÂÀád€ eÂ3eÂ@ReÂeeÂÀweÂ@„eÂÀe€£eÂâeÂûe€ fÂÀ?fÂ@~f‘fÂ@°f€Ïf€èfÂ@ûf€gÂ@-g€LgÂ@_gÂ@‘g½gÂÀÏgÂÀÏgÂÀÏg€âgÂ@õgÂ@hÂ:hÂ@YhÂÀehÂÀ~hÂ@¤h€ÜhÂ@ïhÂÀûhÂ@iÂ@:iÂ@SiÂfiÂÀ‘i€¤i±i€ÖiÂÀõiÂjÂ@4jÂyjÂÀ‹jÂ@±jÂÀ¤jÂÀ½jÂÝjÂ@üjÂkÂAkÂ@`kÂskÂÀ…kÂ¥kÂ@ÄkÂ@ÝkÂ@ökÂ"lÂ"lÂ;lÂÀMlÂ@slÂÀ˜lÂ@¥lÂÀ±lÂÑlÂm€mÂ@"mÂÀGmÂÀ`mÂÀ`mÂ@†mÂ@ŸmÂÀÄmÂ@ÑmÂ@êmÂÀömÂ@nÂ@5nÂanÂznÂ@€nÂÀ¥nÂ@²nÂÅnÂÀ×nÂ@ýn€oÂÀ;oÂBoÂBoÂÀToÂÀmoÂÀmoÂ@zoÂtoÂ@¬o€²oÂÀ¸o€äoÂÀp pÂÀ5pÂUp€zp€zpÂ@pÂÀ™p¹pÂ@ØpÂq€)qÂ6qÂÀHq€[qÂ@nqšqÂ@ q³qÂÀÅqÂ@ëqÂ@rÂÀrÂIr€UrÂbrÂ{r”r€¹rÂÀ¿rÂßr€sÂ@s€6sÂ@IsÂÀUsÂ@bs€hsÂÀ‡sÂÀ s§sÂÀ sÂ@ÆsÂÀt€tÂ$tÂÀOtÂÀhtÂ@ut€”t€­tºtÂ@ÙtÂÀþt€øtÂuÂuÂuÂÀ0uÂ7uÂÀIuÂ@ouÂ@ˆu€ÀuÂÀßuÂ@ìuÂÀøuÂÿuÂÀv€ vÂ@7vÂcvÂ|vÂÀ§v€ºvÂ@ÍvÂàvÂÀÙvÂùvÂÀ wÂwÂ@1wÂ@JwÂ@cwÂvwÂÀ¡wÂÀºwÂÚwÂÀxÂÀ7xÂ@DxÂÀ7xÂWxÂ@]xÂ@vxÂ@vx€®xÂÀÍxÂíxÂÀyÂÀ1yÂ@>yÂÀ1yÂÀJyÂjyÂ@pyƒyœy€ÁyÂÀÇy€Úy€óyÂ@zÂÀùyÂzÂ2zÂKzÂ@jz€‰zÂÀ¨z€»zÂÈzÂ@ÎzÂáz€{ÂÀ%{ÂÀ%{Â@2{ÂÀ>{Â@d{Â@}{Â{ÂÀ¢{Â@È{Â@ú{€ç{ÂÀí{ÂÀí{Â@ú{Â@|Â@|Â@,|ÂÀQ|Â@^|ÂÀƒ|€–|ÂÀµ|Â@Â|€È|ÂÕ|€á|ÂÀ}Â@ }Â@?}€E}ÂÀK}Â@?}Â@X}€w}Â@q}€}Â}ÂÀÈ}ÂÏ}ÂÀú}ÂÀ~Â@ ~ÂÀ,~€?~ÂÀE~Â@R~€X~Â@k~ÂÀw~ÂÀ~—~€¼~ÂÉ~ÂÀÛ~€î~Â@Â@Â@3€ ÂÂÀXÂÀqÂÀŠ€Â@°Â@É€ÏÂ@âÂ@ûÂ@ €Â €Â €Â #€Â #€ÂÀ2€Â`B€Â@?€Â <€Â`B€Â@X€Â a€Â a€Âàg€Â@q€Â ‡€Â “€Â  €Â “€Â@£€Â¶€Â`¿€ÂàË€ÂàË€ÂÏ€Â`Ø€ÂÀá€Â`ñ€Â ÷€ÂÀú€Â€ ÂàÂ`#Â@  ) 6ÂàHÂ@RÂàH O€X [Â@kÂÀw —Â@ ¦Â ¦Â ³Â€¼Â ¿Â@Ï ØÂ ØÂ åÂÀôÂûÂ`‚  ‚Âà‚Âà‚ ‚ #‚ #‚ <‚Â`O‚€R‚€R‚ U‚Â_‚ n‚Âàt‚ {‚ {‚Âàt‚ {‚ ‡‚Â@—‚Â@—‚ÂংÂÀ¼‚€ς€ςÂÜ‚Â`å‚Â@û‚Â`þ‚Â`þ‚€ƒÂƒÂ ƒÂ€ƒÂÀ ƒÂ€ƒÂ€ƒÂ€ƒÂà#ƒÂ€3ƒÂ 6ƒÂ CƒÂ€LƒÂàUƒÂ \ƒÂ@_ƒÂÀkƒÂrƒÂ uƒÂà‡ƒÂ šƒÂà ƒÂÀƒÂà ƒÂࠃ §ƒÂ ÀƒÂ ÀƒÂ ÀƒÂÀσ€ɃÂ`߃ÂïƒÂàëƒÂàëƒÂïƒÂ þƒÂ þƒÂ`øƒÂ„Â`„Â@„Â!„ $„Âà6„ I„ÂàO„€F„ÂS„ÂàO„ÂÀL„ÂàO„€_„ o„ ˆ„ ”„Â@‹„ ”„ ¡„ ¡„ º„ º„Â@½„ÂÀÉ„ÂЄÂÀâ„Âé„Âàå„Â`ò„Â`ò„€õ„ ø„ … … …Â… *… 7…ÂÀF… C…Â`=…Â`=…ÂàI…Â`V…ÂàI…Â`V…Âàb… u…ÂÀx…Âà{…Â…Â@…… ‚…Âà”…Â ›… ´…Â@·… À…Â@·… À… À…Â@·…Â`º…ÂÊ…Â`Ó…Âã… æ…ÂÀÜ…Â æ…Âà߅€ï…Âü…Â`†Â  †Â†Â $†Â $†Âà*†Â`7†Â`7†Â`7†Â€:†Â 1†Â@4†ÂG†ÂG†Â J†Â V†Âà\†Âà\†Â€l†Â |†Â€…†Â ˆ†Â ˆ†Â ¡†Â`´†Â@±†Â@±†ÂĆÂÀÖ†ÂĆ º†Â`´†ÂĆÂàÙ†ÂàÙ†Â݆ ӆ€é†Â`æ†Â ù†Â`ÿ†Â ù†Âà ‡Â‡Â ‡Âà ‡Â`‡Â(‡Â +‡Â`1‡Â ‡Â@.‡Â`1‡Â€4‡Âà=‡ÂA‡Â D‡Â P‡ÂZ‡Â`c‡Â v‡Â`|‡Â v‡Â ‚‡Â`|‡Âàˆ‡Â@’‡Â€˜‡Â ›‡Â@’‡Â`•‡Â€˜‡Â¥‡Â`®‡Â ¨‡Â€±‡Â@«‡Â`®‡Â`®‡Â Á‡ÂàÓ‡Â`LJÂàÓ‡ÂàÓ‡ÂàÓ‡Â@݇€ü‡Â ÿ‡ÂÀˆÂÀˆÂ ÿ‡ÂàˆÂàˆÂ€ˆÂ ˆÂ ˆÂ@ˆÂ@(ˆÂ`+ˆÂ`+ˆÂ`+ˆÂ`+ˆÂÀ4ˆÂ@AˆÂ JˆÂ`]ˆÂ WˆÂ€`ˆÂ`]ˆÂ cˆÂmˆÂàiˆÂ cˆÂÀfˆÂÀfˆÂ@sˆÂ pˆÂà‚ˆÂà‚ˆÂ@ŒˆÂ†ˆÂ`ˆÂ`ˆÂ`ˆÂ@ŒˆÂà›ˆÂà›ˆÂà›ˆÂ`¨ˆÂà´ˆÂ@¾ˆÂÀʈÂ@׈Â`ڈ àˆÂ€ÝˆÂ Ԉ€݈ íˆÂêˆÂ àˆÂÀãˆÂ íˆÂàÿˆÂ‰ÂàÿˆÂÀüˆÂ` ‰Â€‰Â ‰Âà‰Â ‰Â ‰Â`%‰Â5‰Â@;‰Â€A‰Â`>‰Â D‰Â D‰ÂàJ‰ÂàJ‰ÂàJ‰ÂÀG‰Â ]‰Â ]‰Âg‰Âg‰Âg‰Â`p‰Âà|‰Â€‰Â v‰Â v‰Â ƒ‰Â@†‰Â€Œ‰Â ‰Âà•‰ÂÀ’‰Â™‰Â œ‰Â`¢‰Â€¥‰Âஉ²‰Â²‰Â µ‰Â µ‰Â µ‰Â€¾‰ÂàljÂàljÂˉ ΉÂ`Ô‰ÂÀ݉€׉ ډÂ`í‰Â€ð‰Â`í‰Âàù‰ÂÀö‰ÂÀö‰Â ŠÂ@ŠÂ ŠÂ ŠÂ %ŠÂÀ(ŠÂÀ(ŠÂ %ŠÂ %ŠÂ€"ŠÂ`ŠÂà+ŠÂ 2ŠÂÀAŠÂ >ŠÂàDŠÂàDŠÂ`QŠÂ€TŠÂ@NŠÂ KŠÂ KŠÂ@NŠÂ WŠÂà]ŠÂÀsŠÂ }ŠÂ`ƒŠÂ`ƒŠÂ`ƒŠÂ“ŠÂ`œŠÂ –ŠÂ –ŠÂ€ŸŠÂ ¢ŠÂ@²ŠÂ ¯ŠÂÀ¾ŠÂÀ¾ŠÂàÁŠÂÀ¾ŠÂÀ¾ŠÂàÁŠÂÀ¾ŠÂ@ËŠÂ ÈŠÂàÁŠÂ€ÑŠÂ ÈŠÂ@ËŠÂàÚŠÂ`çŠÂ€êŠÂÀðŠÂàóŠÂ@ýŠÂ úŠÂ@ýŠÂ`‹Â ‹Â ‹Â‹Â ‹ÂÀ ‹Â ‹ÂÀ"‹Â`‹Â`‹Â`‹Âà%‹Âà%‹Âà%‹Â ,‹Âà>‹Â E‹Â E‹ÂB‹ÂÀ;‹Â E‹Â Q‹Â E‹Â€N‹Â Q‹Â€N‹Â€N‹Â[‹Â@a‹ÂÀm‹Â`d‹Â`d‹Â w‹Â€€‹Â`}‹Â w‹Ât‹Â`}‹Â ‹Â€™‹Â‹Â`–‹Â œ‹Â ‹ÂÀŸ‹ÂÀŸ‹Â¦‹Â@¬‹Â µ‹Â`¯‹Â ©‹Â`¯‹ÂÀ¸‹Â¿‹ÂÀ¸‹Â µ‹ÂÀ¸‹Â ‹Â໋ ΋ ΋ ΋ ۋ€ä‹Âñ‹Â ô‹Â ç‹Â@÷‹Â ô‹Âàí‹Â€ý‹ÂÀŒÂ ŒÂ ŒÂ ŒÂ ŒÂÀŒÂ ŒÂàŒÂ`ŒÂ`ŒÂ`ŒÂàŒÂ`,ŒÂ`,ŒÂ€/ŒÂ`,ŒÂà8ŒÂ ?ŒÂ€HŒÂ KŒÂ€HŒÂ@BŒÂ ?ŒÂ<ŒÂ ?ŒÂ KŒÂàQŒÂ XŒÂ€aŒÂ`^ŒÂ`^ŒÂ dŒÂ€aŒÂ€aŒÂàjŒÂÀ€ŒÂ }ŒÂÀ€ŒÂàƒŒÂ@tŒÂÀ€ŒÂ‡ŒÂ@ŒÂ‡ŒÂ‡ŒÂ€“ŒÂ`ŒÂ€“ŒÂ`ŒÂ ŒÂàœŒÂàœŒÂ £ŒÂÀ²ŒÂ ¯ŒÂ ¯ŒÂ@¦ŒÂ ¯ŒÂ¹ŒÂ ¯ŒÂ`©ŒÂ`©ŒÂൌ ¼ŒÂ ÈŒÂ€ÅŒÂ€ÅŒÂ ÈŒÂ Ռ€ތ ՌÂàΌ€ŌÂàΌ ՌÂàçŒÂ áŒÂ áŒÂ@ñŒÂ`ôŒÂ îŒÂÀäŒÂ@ñŒÂ ÂÀýŒÂàÂàÂà Âà  Âà  ÂÀ €Â@ ÂàÂàÂÂ`&ÂÂà Â`&€) 9 9Â@< EÂàK E 9 E RÂO R€[€[ÂO RÂ`XÂÀa ^ k€tÂà} kÂàdÂÀaÂh ^ ^ÂÀa kÂh w wÂ`q€tÂÀzÂÂà} „ÂÀ“ šš Â@ Â Â€ÂÀ“ÂÀ“šÂ@ Â ©Â³Â ©Â ©Â ©Âà¯Â ¶Â ¶Â`¼Â³Â ¶Â ÂÂàÈÂÌ ÏÂ@Ò Ï ÛÂàá èÂàáÂÀÞ Û ÛÂ`ÕÂåÂ@ëÂÀ÷€ñ ôÂå è èÂ`î€ñÂ`î ôÂþÂ`ŽÂ  ŽÂ@ŽÂ`ŽÂ`ŽÂ€ ŽÂ€ ŽÂÀŽÂÀŽÂ  ŽÂ@ŽÂàŽÂ@ŽÂ€ ŽÂ€ ŽÂ ŽÂÀ)ŽÂà,ŽÂ &ŽÂà,ŽÂ &ŽÂà,ŽÂ &ŽÂ` ŽÂ &ŽÂ`9ŽÂ 3ŽÂ0ŽÂà,ŽÂ 3ŽÂ0ŽÂ ?ŽÂ€<ŽÂ 3ŽÂ ?ŽÂ ?ŽÂ@OŽÂ LŽÂ`RŽÂàEŽÂ€UŽÂÀ[ŽÂà^ŽÂ XŽÂ XŽÂà^ŽÂ`kŽÂ€nŽÂ€nŽÂ qŽÂ@hŽÂ`kŽÂ€nŽÂàwŽÂ qŽÂ`kŽÂ€nŽÂàwŽÂ`„ŽÂ ~ŽÂ ~ŽÂ ~ŽÂ`„ŽÂ€‡ŽÂ ŠŽÂ ŠŽÂ —ŽÂ —ŽÂ”ŽÂ`ŽÂ —ŽÂ £ŽÂ€ ŽÂ £ŽÂ £ŽÂ€ ŽÂ £ŽÂ`¶ŽÂ`¶ŽÂ °ŽÂ€¹ŽÂ€¹ŽÂ@³ŽÂÀ¦ŽÂ £ŽÂ £ŽÂ £ŽÂ੎­ŽÂ੎Â`¶ŽÂ ¼ŽÂ ÉŽÂàÂŽÂ ÉŽÂ@ÌŽÂ`ÏŽÂ`ÏŽÂÀØŽÂ`ÏŽÂ@ÌŽÂÆŽÂ ¼ŽÂÀ¿ŽÂ`ÏŽÂ`ÏŽÂ`ÏŽÂ@ÌŽÂÀØŽÂ@åŽÂ@åŽÂ€ëŽÂ€ëŽÂ`èŽÂ@åŽÂ âŽÂߎÂߎÂÀñŽÂ@þŽÂøŽÂøŽÂàôŽÂøŽÂøŽÂ ûŽÂ`Â`Â@þŽÂ€ Âà €Âà Âà  Âà Â@€€€€Â`Â`Âà&  €ÂÀ# - 9ÂÀ<ÂC FÂ`LÂÀ<Âà? F F F€O€OÂ`LÂ`LÂàXÂàXÂàXÂ\ _€h€h kÂ@b _ _Â@b€hÂ@b kÂàqÂu€h kÂ`e€h kÂ`~ÂÀ‡Â x x€Â`~€ „Â@”Â@{Â`~ÂÀ‡Â€Â „ÂàŠÂ ‘ÂàŠÂÀ‡ÂàŠÂ ‘Ž „ „ „ „ ‘ ‘ÂÀ‡Â`~ „ „Â`—€šÂÀ Â§Âà£Â§Â ªÂ ªÂ`°Â€³Â`°Â ªÂÀ Â ªÂ ¶Âà¼Â€³Â ¶Âà¼Â€³Â ÃÂà¼Âà¼Â ÃÂà¼Â€³Â§Â ¶ÂÀ¹Â€³ÂÀ ÏÂÀҀ̠̀ÀÌÂÀÂÀ¹Âà¼Â ¶Â`ÉÂ`ɀ̠ÜÂ@ß Ü Ï ÏÂÙ è€åÂàî€å ÜÂ@ß èÂ`â èÂ`âÂàՠ܀åÂ`â è€å è èÂ`âÂ@øÂ€þ€þÂ`ûÂ@øÂ`û õÂ`ûÂò õ Â`ûÂ`û õ€þ õÂòÂàîÂòÂ`ûÂ`û Âà Â@ ÂÀ  €ÂÀ€Â` ÂàÂàÂ` ÂàÂÀÂ@€€ Âà Âà  ' ' ' 'Â$Â$Â$ 'Âà9 3Âà9Â=Âà9Âà9 3 '€0 @Âà9ÂÀ6 @Â@*Â`-Â@*Âà9Â`-Â`-€0Â`-Âà9 @Â@C @Â`FÂ`F LÂ@C @Â= @Âà9Â= @ LÂ`F @Â`F L LÂàR LÂVÂàRÂ@\ÂàR L LÂ`F€IÂÀOÂàRÂÀO LÂàR€I€IÂàR L LÂàR Y€bÂ`_Â`_ÂàkÂoÂÀh r r rÂàkÂo r ~Â@ŽÂ ~ ~Â`xÂ`xÂ`x rÂ`xÂ@u€{ ~ÂÀ ~ ~Âà„ ‹Â ~Â`xÂ`xÂ@uˆˆ ~ ~ rÂo eÂÀhÂàkÂ@uÂà„ˆÂ@ŽÂà„€” — —ÂÀšÂà ¤Âà —Â`‘Âà„ˆ ‹Âà„Âà„ˆÂ`‘ —€”€”Â`‘ ‹Â€” ‹Â€” — ‹Â@ŽÂ`‘ÂÀšÂ —Âà —Â@§Â¡ÂàÂÀšÂ —¡Â@§Â@§Âà ¤ÂÀšÂ ‹Â ‹Â ‹Â@ŽÂ`‘ÂÀšÂ€” —€”ÂÀšÂ —¡Âà¶Âà¶Âà¶Â °Â °ÂºÂ °ÂºÂ °Â`ªÂ ¤Â@§Â ½Â ½Â ½ÂºÂ@À€ÆÂ€ÆÂ ÉÂÀÌÂ`àɀÆÂ@À ½Âà¶Â@À ½Â É ÉÂàÏÂÓÂÓÂÀÌ É É ÉÂ@À ½Â ½Â ½Â€ÆÂ É€ÆÂàϠɠɀÆÂӠ֠րߠրßÂàèÂì â€ß âÂ`Ü âÂ`Ü ÉÂàÏÂӀߠâÂàèÂÀå ï û ïÂìÂàèÂàèÂ@ـߠâÂ@ÙÂàèÂàèÂàèÂìÂ`õ ïÂì ï ‘ ‘ ûÂÀþ ûÂÀþ€øÂ€øÂ€øÂ û€øÂ‘ÂÀþ ûÂ`õÂ@òÂÀåÂì€øÂ`õÂ@ò€øÂà‘Âà‘€øÂàè â â€øÂ û û û€øÂÀþ û ‘€‘ ‘Â`‘ ‘ ‘ ‘ ‘€‘ÂÀ‘Â`‘Â@ ‘ ‘ ‘€‘€‘ ‘‘ ‘Â`‘ ‘ ‘Âà‘Âà‘Â`'‘Â`'‘ !‘Â`'‘€*‘ !‘‘‘ !‘ !‘€*‘ -‘Â`'‘€*‘Â`'‘ !‘Âà‘ !‘‘Â`'‘ !‘‘ !‘Â`'‘ÂÀ0‘ -‘€*‘Âà3‘€C‘ :‘Â@=‘Âà3‘ÂÀ0‘Â7‘Âà3‘ÂÀ0‘ -‘ -‘Â@$‘Â`'‘ ¾”Â`<³Â UË€¯ÊÂ`¼¿Âe³Â€h¨ÂÀrŸÂàT˜Â€¡’ 2ŠÂYN®€ýÁäÁ€«ºÁÿuÁ¬nÀØ=AžèA€d1B@à^B€ç{B€r…BÀl‡BàI…BR€BÀ¦rB€jbBÀÜPB€÷>BÀ-BÜB€² BµùA€PÞA]ÅA€®AR™A˜…AxfAiCA²"A-AìÂ@L@Èú?@¾DÀòÀBÖÀå Á}/ÁãPÁrÁ€¾‰Á€ šÁPªÁ€.ºÁ€ÎÉÁ€ ÙÁ€-èÁ€ÓöÁÀqÂêÂ@þÂ@ÚÂÀ,Â@M€ê#ÂÀ#(Â@ÿ+Â@j/€w2Â@F5ÂÀÃ7ÂÀ:ÂÀ<ÂÀ>š?Â@AÂ@uBÂÀÆCÂ@æDÂ@ùEÂ@ GÂ@ÔGÂÀÁHÂIÂÀQJ€K€ÂKÂ@kLÂûLÂ@~MÂ@âMÂ@_NÂÀ¶NÂ@OÂ@rOÂÀÉOÂÀP€rP±PÂÀõP€!QÂ@fQÂÀ¤QÂÀÖQÂöQÂÀ!RÂÀSR€RÂ@«RÂ@ÄRÂ@öR SÂÀ4S€`SÂ@sSÂ@¥SÂÀãS€öSÂTÂ5TÂÀGT€sTÂ@ŸTÂ@¸TÂäTÂ@UÂ@5UÂaU€†UÂÀŒU¬UÂ@ËUÂ@ËUÂÞUÂ÷UÂVÂÀ VÂ@/VÂÀ;V€NVÂÀTVÂÀmVÂ@zVÂÀŸVÂ@ÅVÂØVÂ@ÞVÂ@÷VÂ@)WÂ@BWÂÀNWÂÀNWÂÀgWÂÀ™WÂ@¦WÂÒWÂëWÂÀXÂÀ/XÂ@bÂÀWbÂÀpb©b€çbÂÀc€cÂÀ8cÂ@^cÂ@c€–c¼c€ácÂÀd€dÂ@&dÂÀKdÂÀ}dÂdÂÀ¯dÂÀÈd€ÛdÂe€&eÂÀ,eÂLeÂ@„eÂ@¶eÂÉe€Õe€îeÂÀ fÂ@3fÂ@LfÂÀXfÂxfÂÀ£fÂ@°fÂÀÕfÂõfÂÀ gÂ@FgÂ@xgÂ@ªg½gÂÀÏg€ÉgÂ@ÜgÂ@õgÂhÂÀhÂ@@hÂ@rhÂ@¤hÂ@½hÂÀâhÂ@ïhÂiÂ@iÂ@!iÂÀFiÂfiÂ@…iÂ@žiÂÀÃiÂ@éiÂ@jÂjÂ@4jÂ@fjÂ@jÂ@˜jÂ@±j€ÐjÂÀÖjÂ@ãjÂ@üjÂÀkÂ@.kÂ@GkÂÀlkÂ@ykÂÀžkÂ@«kÂ@Ýk€ük€l€.lÂ@AlÂ@sl€’lÂÀ±lÂÀÊlÂÀÊlÂÀãlÂmÂ@ mÂ@"mÂ@;mÂ@TmÂgm€¥m€¾m€×mÂýmÂn€"nÂ/n€TnÂÀsnÂ@™nÂÀ¥nÂ@²n€ÑnÂÀðnÂoÂ)oÂÀ;oÂÀToÂoÂ@“o¦o¿oÂ@ÞoÂñoÂÀpÂ#pÂÀNpÂ@tpÂ@pÂ@¦pÂ@ØpÂÀäpÂ@ñp€qÂÀ/qÂOqÂhqÂÀzq€¦qÂÀÅqÂ@ÒqÂ@ëqÂÀ÷qÂÀrÂ@rÂ@6r€UrÂ{rÂ@šrÂÀ¿rÂ@³r€ÒrÂørÂ@0s€6sÂ@IsÂCsÂ\sÂÀ‡s€sÂ@”sÂ@­sÂÀÒs tÂÀtÂÀ6tÂÀOtÂ@\tÂotˆt¡tÂ@Àt€ßt€øtÂ@ uÂ@=u€CuÂPuÂ@ouÂÀ{uÂ@ˆuÂÀ”uÂÀ­uÂ@ºu€ÙuÂ@vÂ@vÂ@7v€VvÂÀ\vÂÀuvÂ@‚vÂ@´v€ºvÂ@ÍvÂàvÂÀòvÂÀòvÂ@wÂ+wÂ@1wÂDwÂÀVwÂ@cwÂwÂÀ¡w€´w€´wÂ@àwÂówÂ%x€JxÂWxÂÀixÂÀixÂ@xÂÀ›xÂÀ´xÂÔxÂ@óxÂyÂ@%yÂ8yÂÀ1yÂ@>yÂ@Wy€vy€yœyÂ@»y€ÚyÂÀùyÂ@zÂÀ+z€>zÂ@jz–z€¢zÂÀzÂ@œz¯zÂ@ÎzÂ@çz€{Â@2{€j{Â^{ÂÀp{ÂÀp{Â@}{Â@}{€œ{€œ{Â@¯{Â@È{€Î{ÂÛ{Â@ú{€|ÂÀ|Â&|Â@^|Â@w|Â@|ÂÀœ|€¯|Â@Û|ÂÕ|Âî|Â@ô|€}Â@ }ÂÀ}Â@?}€^}Âk}Â@Š}Â@Š}Â@£}€Â}ÂÀÈ}Â@Õ}Â@î}ÂÀú}€ô}Â~Â@~€&~€&~Â@9~ÂÀ^~Â@k~Â~~€Š~°~Â@¶~ÂÉ~ÂÀÛ~ÂÀô~ÂÀ&Â@3ÂFÂFÂÀXÂ_Âx€„ÂÀŠÂ@—Â@°ÂÀ¼ÂÀ¼ÂÜÂ@ûÂ@ €Âà€Â €Â@&€Â /€Âà5€Â€E€Â`[€ÂÀd€Â`[€Â€^€Â n€Â n€Â z€Â„€Â “€Â  €ÂÀ¯€Â ¹€Â@¼€Â Å€Â@Հ€ۀ ë€Â`ñ€Â@î€ÂÀú€Â Â` Â@ÂàÂ@ €& )€&Âà/Â`<ÂàH OÂ`UÂ`n tÂàzÂàz  šÂ šÂ€£Â€¼Â ¿ÂÀÂÂàÅÂ`ÒÂÀÛÂ`ÒÂ`Ò ØÂâ€îÂû þÂ`‚ÂÀ ‚€ ‚Âà)‚Â`6‚€9‚ÂàB‚ÂF‚ U‚Â`h‚ n‚Â@~‚ ‡‚ ”‚€‚ÂÀ£‚ ­‚Â@°‚ ¹‚€ςÂ`̂ ҂ÂÀÕ‚ÂàØ‚Â ß‚Âõ‚ ø‚Âõ‚€ƒÂƒÂ ƒÂ ƒÂÀ ƒÂ *ƒÂ 6ƒÂ CƒÂ`IƒÂ OƒÂàUƒÂÀkƒÂànƒÂrƒÂ uƒÂ`{ƒÂà‡ƒÂ€—ƒÂ ŽƒÂ`”ƒÂࠃ€°ƒÂใ€°ƒÂ½ƒÂ ÀƒÂ€ÉƒÂ ÌƒÂ€ÉƒÂÀσÂÖƒÂ`߃ þƒÂà„Âà„Â`„ÂÀ„Âà„Â@'„€-„Âà6„Âà6„ 0„Âà6„Â:„ =„€F„€_„ b„Âàh„ {„ {„Âà„Â`Ž„ÂÀ—„Âàš„Âàš„Â`§„ ­„Â@½„ۀÂЄ ߄Â@ï„ÂÀû„ ø„Â… … … …€'…€'…€'… *… *… C… C… C… P… P…Â`V… \…Âf…€r… ‚…Â`ˆ… ‚…€‹…˜…Â`¡…Â@ž… §… ´…Â`º…ÂÀÃ…ÂàÆ…ÂàÆ…ÂÊ…Â`Ӆ م م مÂàß…Â æ…Âàø…Â`†ÂÀ†Âà†Â †Â`†Â $†Âà*†Âà*†ÂÀ'†Â 1†ÂàC†Â@M†Â€S†Âà\†Â`i†Â |†Â |†Â o†Âàu†Âàu†Â@†ÂÀ‹†Â’†Â •†Â€ž†ÂÀ¤†Â৆Â`´†ÂÀ½†ÂĆÂ@ʆÂÀֆ à†Â@ã†Â à†Â à†Âàن ӆÂ݆Âàò†Â ì†Â@ü†Â ‡Â ‡Âà ‡Â ‡Âà$‡Âà=‡ÂA‡ÂA‡Â D‡Â€M‡Â`J‡Â@G‡ÂZ‡Â ]‡Â€f‡Â ]‡Â i‡Â@y‡Â€‡Â€‡Â ‚‡Â ›‡Â¥‡Â@«‡Âງ¾‡Â Ú‡ÂàӇ ͇ ͇€ʇÂ@݇Âàì‡Â`ù‡Â ó‡Â€ü‡Â@ö‡Â æ‡Âàì‡Â€ü‡Â ˆÂ`ˆÂ@ˆÂ ˆÂ %ˆÂ€.ˆÂ;ˆÂÀ4ˆÂ 1ˆÂà7ˆÂ 1ˆÂ >ˆÂàPˆÂ`]ˆÂ WˆÂ cˆÂÀfˆÂ@sˆÂ@sˆÂà‚ˆÂ`vˆÂ pˆÂÀˆÂ†ˆÂ`ˆÂ ‰ˆÂ`ˆÂ ‰ˆÂ€’ˆÂÀ˜ˆÂ€«ˆÂ ®ˆÂ ®ˆÂ ®ˆÂ ®ˆÂ@¾ˆÂ ÇˆÂÀʈÂà͈ Ԉ€݈€݈€݈ÂÀãˆÂ@ðˆÂ@ðˆÂ ùˆÂ€‰Â ‰Â@"‰Â +‰Â€(‰Â@"‰Â@"‰Âà1‰Â@;‰Â`>‰Â`>‰Â`>‰Â@;‰Â`>‰Â€A‰ÂN‰ÂÀG‰ÂÀG‰Â Q‰ÂÀG‰Â Q‰Â@T‰Â Q‰Âàc‰Â@m‰Â@†‰Â ‰Âà•‰Â œ‰Â@Ÿ‰Â™‰Â@Ÿ‰Â™‰Â ‰Â€Œ‰Â™‰Â œ‰Â`¢‰Â€¥‰ÂÀ«‰ÂÀ«‰Â€¾‰Â Á‰Âàlj ΉÂÀ݉ÂÀ݉Â@ê‰Â`í‰Âàù‰Âàù‰ÂÀö‰Â ó‰Â ó‰Â@ŠÂàù‰Â@ê‰Â ó‰Âàù‰Â`ŠÂ€ ŠÂàŠÂ`ŠÂ@ŠÂ€"ŠÂ€"ŠÂ 2ŠÂ >ŠÂ KŠÂ KŠÂ`QŠÂà]ŠÂà]ŠÂ dŠÂ dŠÂ dŠÂÀsŠÂ`jŠÂ`jŠÂ }ŠÂ@€ŠÂzŠÂ }ŠÂàvŠÂ@€ŠÂ ‰ŠÂ€†ŠÂ@™ŠÂਊ ¯ŠÂ ¯ŠÂ ¯ŠÂ »ŠÂ`µŠÂ¬ŠÂ@²ŠÂ@²ŠÂ@²ŠÂ€¸ŠÂ ÈŠÂ`ΊÂÀ׊ÂÞŠÂàÚŠÂàÚŠÂ áŠÂ€êŠÂ íŠÂàóŠÂÀðŠÂàóŠÂÀðŠÂàóŠÂ`‹Â ‹Â€‹Â@‹Â€‹Âà%‹Â)‹Âà%‹Â)‹Â@/‹Â@/‹Â€5‹ÂB‹Â`K‹Â E‹Â€5‹Âà>‹Âà>‹Â`K‹ÂÀT‹Â ^‹Â€g‹Â j‹Ât‹Âàp‹Â j‹Âàp‹Ât‹Â ƒ‹Âà‰‹Â œ‹Âࢋ ©‹Â¦‹Â`¯‹ÂÀŸ‹Â ©‹Â¦‹Â ©‹Â@¬‹Â`¯‹Â`¯‹Â µ‹Â ‹ ‹€ˋÂÀÑ‹ÂàÔ‹Âàԋ€ˋÂ@Å‹Â`ȋ ۋÂ`á‹Âñ‹Âàí‹Â ç‹Â@÷‹Â€ý‹ÂÀŒÂ€ý‹Â ŒÂ ŒÂ`ŒÂ@ŒÂàŒÂ &ŒÂ`,ŒÂ`,ŒÂ€/ŒÂ &ŒÂ`,ŒÂ@)ŒÂ 2ŒÂ 2ŒÂ 2ŒÂ ?ŒÂàQŒÂàQŒÂ XŒÂ`^ŒÂ dŒÂ dŒÂ dŒÂàjŒÂ€aŒÂ`^ŒÂ qŒÂ@tŒÂ@tŒÂnŒÂ@tŒÂ@tŒÂ@tŒÂ€zŒÂ qŒÂ@tŒÂÀ€ŒÂàƒŒÂ ŠŒÂ`ŒÂ@¦ŒÂ £ŒÂ`©ŒÂൌ¹ŒÂ`©ŒÂ £ŒÂ £ŒÂ€¬ŒÂൌ ¼ŒÂ¹ŒÂÀ²ŒÂ ¼ŒÂÀËŒÂàΌ ՌÂÒŒÂÒŒÂ`ÛŒÂ`ÛŒÂ`ÛŒÂÀäŒÂ`ôŒÂÀäŒÂ áŒÂ îŒÂ`ôŒÂ€÷ŒÂ@ñŒÂëŒÂ@ñŒÂ€÷ŒÂ úŒÂ    Â@ Â` Â`& Âà   Â`&Â@#Â`&€)Â6Â6 ,Â6€BÂÀH E E EÂ`?Âà2ÂOÂ@U RÂ`XÂÀaÂàdÂh€[ kÂàdÂhÂ`q w wÂà}Â`ŠÂÀ“  Â`ŠÂ „ „Âà}Âà}Âà} „€Â@‡Â`ŠÂ Â Âà– Â`£Â`£Â ©Â ©Â ¶Â Â ÂÂÀÅ ÂÂÌÂ`Õ€ØÂÌÂ@ÒÂÀÞÂ@ëÂàá ÛÂàáÂ@ë èÂÀÞ èÂàáÂåÂ`îÂàúÂàú ôÂþÂ`ŽÂ ŽÂ ŽÂ ô ôÂ@ë è€ñ ôÂ`ŽÂ ŽÂ`ŽÂ@ŽÂ`ŽÂ`ŽÂ  ŽÂ`ŽÂÀŽÂÀŽÂàŽÂàŽÂŽÂ ŽÂ@ŽÂ &ŽÂÀ)ŽÂ &ŽÂ &ŽÂ@6ŽÂ 3ŽÂ 3ŽÂ 3ŽÂ ?ŽÂ`9ŽÂ ?ŽÂ 3ŽÂ€<ŽÂàEŽÂàEŽÂ ?ŽÂÀBŽÂ€<ŽÂ`9ŽÂ`9ŽÂÀBŽÂàEŽÂ@OŽÂ€UŽÂ€UŽÂ`RŽÂ XŽÂ€UŽÂÀ[ŽÂ eŽÂ@hŽÂ`kŽÂ qŽÂ qŽÂ qŽÂ ~ŽÂ{ŽÂ ~ŽÂÀtŽÂ ~ŽÂÀtŽÂ qŽÂàwŽÂ{ŽÂ`kŽÂ qŽÂ qŽÂ ~ŽÂ@ŽÂ ~ŽÂ ~ŽÂàŽÂ —ŽÂ”ŽÂàŽÂ@šŽÂ”ŽÂÀŽÂ ŠŽÂ —ŽÂ@šŽÂ@šŽÂ £ŽÂ £ŽÂ £ŽÂ £ŽÂ °ŽÂ °ŽÂ੎Â`¶ŽÂ€¹ŽÂ`¶ŽÂàÂŽÂÆŽÂÀ¿ŽÂàÂŽÂ`ώ€Ҏ€Ҏ Ɏ€ҎÂÀØŽÂàێ Ɏ€Ҏ âŽÂ âŽÂ€ëŽÂ âŽÂ âŽÂÀ؎€Ҏ ɎÂÀØŽÂ`èŽÂ âŽÂ âŽÂ îŽÂ îŽÂ ûŽÂàôŽÂ ûŽÂÀñŽÂ îŽÂøŽÂ ûŽÂ€Â` ûŽÂÀ  ûŽÂ ÂÀ  Âà  Â@Â`ÂÀ#Â*    Âà    Â`  Â* 9€6Â@0 -€6ÂÀ< 9 F R€O RÂ`L FÂ@IÂà?Â@I€O€OÂ`LÂ\ _Â\Â\ÂàX _ÂÀn xÂuÂÀnÂàq x xÂàq xÂu „Â`~Â`~€Â`~Â@{Â`~ „ÂàŠÂàŠÂàŠÂàŠÂ ‘€šÂ€šÂà£Â Â€šÂ@”Ž€šÂà£Â@­Â ªÂ ªÂ§Â ªÂà£Â`°Â@­Â ¶Â€³Â`°Â ¶Â ¶Â€³ÂÀÂÀ¹Âà¼ÂÀ ÃÂ`ɀ̀̀ÌÂ`É ÏÂàÕ ÏÂ`É€ÌÂàÕ€åÂàîÂÀë èÂ`âÂ`âÂ`âÂ@ßÂ@ßÂ@ßÂ@ß èÂàîÂÀëÂàî€å€åÂàîÂàî èÂ@ß èÂàî õÂàîÂàîÂò õ õ€þÂàÂàÂÀÂ@Â` Âà Â@Â` 'Â`-Â$Âà  'Â@*Â$Âà  Â@*Â`-Â`-Â$Â`-Â@*Â@*Â@*Â`- Â`-Â`-Âà9Âà9 3 3Âà9 @€I @ @ @€I€IÂ`F @€I LÂV L LÂÀOÂÀO€IÂàRÂÀO @Â@CÂ`F€I LÂV€I€IÂÀOÂàRÂàR YÂVÂàRÂV YÂVÂVÂ@\€b€b eÂàk rÂoÂ`_ eÂÀh€b€b eÂo e Y Y Y€b€b e€bÂ`_Â@\ÂÀhÂàk e€b€b e€b e e r ~€{Â`x r€{ rÂà„€{ rÂ@u r r rÂ@uÂ@uÂo€{ ~ÂÀ ~ˆ ‹Â ‹Â ‹ÂˆÂÀÂà„Âà„Âà„ ~ ~ ‹Âà„ ‹Â@ŽÂ`‘€”Â@ŽÂà„Â@u ~ÂÀ ~ÂÀ ‹Â —Âà€­Â`ªÂ@§Â ¤Â¡Â@§Â€­Â¡Â¡Â@§Â ¤Â@§Â ¤Âà¡ ¤ÂàÂàÂ@§Â@§Â`ªÂ ¤Â€­ÂÀ³Â@ÀÂ`ú °Â °ÂºÂ ½Â@À °Â€ÆÂ€ÆÂ`à½Âà¶Â ½Â@À °Âà¶Â ½Â ÉÂÓ ÖÂàÏÂàÏÂ`ÃÂÀÌÂÓÂÓ ÉÂ`à½Â É€ÆÂ`ÀÆÂàÏÂÓ€ÆÂ€ÆÂ Ö âÂ`ÜÂÓÂàÏ ÖÂ@ÙÂ`Ü âÂ`ÜÂàè â âÂ`Ü€ßÂàèÂàèÂ@ò û‘ û ûÂà‘ ûÂ`õ ïÂÀå ïÂ`õÂ`õ ûÂà‘ û ïÂ`õÂ`õÂÀþÂ@ ‘Â`‘Âà‘Âà‘ ‘ÂÀþÂà‘‘ ‘ ‘Â`‘ ‘Â`‘ ‘ ‘ ‘Â`‘Â`‘Â`‘ ‘Â`‘ÂÀ‘ ‘Â@ ‘ ‘ ‘ ‘ !‘Âà‘‘ !‘ !‘Âà‘ ‘Â@ ‘Âà‘ !‘Âà‘ ‘‘Â@$‘Â@$‘‘Âà‘Âà‘‘ÂÀ0‘Âà3‘ÂÀ0‘ -‘Â7‘Â`@‘Âà3‘ :‘€C‘ F‘ F‘€C‘€C‘Â`@‘€C‘ÂàL‘ F‘€C‘ F‘ÂàL‘ÂàL‘ F‘ F‘ F‘ÂÀI‘ÂP‘ÂP‘ F‘ÂÀI‘ÂÀI‘Â@V‘ _‘ÂÀb‘Âàe‘ l‘ÂÀb‘ÂÀb‘ _‘Â`Y‘Â@V‘€\‘ _‘Â@o‘ l‘Âi‘Âàe‘€\‘ _‘ l‘Â`r‘Âi‘Âàe‘Âàe‘ l‘ x‘€u‘ x‘ l‘Âàe‘Âi‘ l‘ l‘Â@o‘ x‘ÂÀ{‘€u‘ x‘ x‘Âà~‘ÂÀ{‘ x‘ x‘ x‘ x‘ÂÀ{‘Âà~‘ x‘ …‘ …‘ …‘Â@ˆ‘Â€Ž‘Âà—‘Â›‘Â€Ž‘Â …‘ …‘ ‘‘Â€Ž‘Â ‘‘Âà—‘Â€Ž‘Â`‹‘Âà—‘Â›‘Âà—‘Â ž‘›‘ ž‘ ž‘›‘ ‘‘Â`‹‘ ‘‘ÂÀ”‘ ‘‘ ‘‘Â@ˆ‘Âà—‘Â`¤‘ÂÀ­‘Âà—‘Â ‘‘Â@¡‘ ž‘ ‘‘Âà—‘Â ž‘Â`¤‘Â@¡‘Â`¤‘ ž‘Â఑ ª‘Â`¤‘ÂÀ­‘Â`¤‘Â@¡‘Â@¡‘Â@¡‘ ž‘ ª‘Â@¡‘ÂÀ­‘ ª‘ÂÀ­‘ÂÀ­‘Âà°‘Â ·‘ ·‘´‘Â@º‘€À‘Â@º‘€À‘ÂàÉ‘Âàɑ Ñ€À‘ Ñ€À‘ ÑÂ`½‘ÂÀƑ Ñ ÑÂ`½‘Âàɑ БÂÍ‘Â@Ó‘ÂÀÆ‘ÂÍ‘ÂÍ‘Â@ӑ Ñ ÑÂàÉ‘ÂÍ‘Â`Ö‘Â@Ó‘Â@Ó‘Â@ӑ ܑ€ّÂ`֑ ܑ ܑ ܑÂàɑ БÂ@ӑ БÂ`Ö‘ÂÀß‘Â`Ö‘Â`֑ ܑÂ@ì‘Â`ï‘Â`ï‘ é‘€ò‘Â`ï‘Âàû‘Âÿ‘ ’ õ‘ é‘œ• #´Â BÌ€ËÂàÀÂà)´Â 3©Â 7 Â ™Â€P“ÂàÚŠÂ@¤OÂ@ÁÂ@É€zðÁ€ËÁ€u‘ÁºôÀÆÙ@‡¾A€žBöQB@ÆsBÀRƒB à†B Ù…BÀB1vBxfB/UB€\CB€–1B@y BVB€ B°åAÌA€¶´A’ŸA€ý‹A*sAMPAœ.AÒ A6Ø@––@ì)@à?h¿¿„dÀâ³ÀöÀõÁ[=Á+^Á~~Á€ÌÁ€ Á€Q°Á€nÀÁ€ÃÏÁ ßÁ€¾íÁ€2üÁ@ÂÀŸ €òÂÀ¢Â@ÜŸ!ÂÀý%ÂÀå)Âp-ÂÀ»0Â@3ÂÀL6«8ÂÀã:€ê<€Å>Â{@ÂÀBÂÀ{C€ìDÂ%FÂ@%GÂÀHÂáHÂ@–IÂ@,J€áJÂÀ}KÂ@LÂ@„LÂûLÂ@eMÂÀÕMÂYN½NÂÀOÂ@‹OÂÀÉOÂPÂfPÂÊPÂQÂ@4QÂ@fQÂ@±QÂ@ÊQÂÀ!RÂ@`RÂÀ…RÂ@’RÂ@ÝR SÂÀSÂ@ASÂ@sSÂ@¥SÂÑSÂÀTÂ5TÂÀGT€ZT€ŒTÂ@ŸTÂ@¸TÂäTÂÀUÂ@NUÂaUÂ@€U¬UÂ@ËU€êUÂÀ VÂÀ"VÂÀ;VÂ[VÂ@zVÂV€²V€²V€ËVÂñVÂ@WÂ@)W€HW€zWÂ@W¹WÂ@ØWÂÀäW€XÂXÂOXÂ@UXÂXÂ@ XÂÌXÂ@ëXÂ@YÂÀ)YÂ@hYÂÀtY”YÂÀ¦Y­YÂ@³YÂÆY€ëY€ZÂCZÂÀUZÂ@{ZÂ@”ZÂŽZ€šZÂ@­ZÂÀÒZ€þZÂ@[ÂÀ6[Â@\[Âo[Â@§[º[Â@Ù[Â@ \ÂÀ\ÂÀ0\€C\Â@V\Â@ˆ\Â@¡\ÂÀÆ\ÂÍ\Â@ì\Â@]Â@]Â@7]Âc]Â@‚]€¡]€Ó]ÂÀò]€^Â@ÿ]Â+^Â]^Â^ÂÀ¡^Â@®^Â@Ç^ÂÚ^ÂÀ_€1_ÂÀ7_€J_ÂÀ‚_ÂÀ›_»_Â@Ú_Â@ó_Â`ÂÀ1`Â@W`ÂÀ|`œ`Â@¢`ÂÀÇ`Â@í`ÂaÂÀaÂ@8aÂ@jaÂ@œaÂ@ÎaÂÀóaÂ@bÂÀ>b€QbÂ@dbÂ@}b€µbÂÛbÂÀíb cÂÀ8cÂ?cÂ@^cÂ@wcÂÀœc¼cÂÀÎcÂ@ d€,dÂRd„d€©d¶dÂÏdÂ@îdÂeÂÀúd€&eÂ@9eÂ@ReÂÀweÂ@eÂ@¶eÂÀÛeÂÀôeÂ@fÂ-fÂÀ?f€kf‘fÂÀ¼f€Ïf€èf€gÂ'g€3gÂ@_g‹gÂÀ¶gÂ@ÜgÂ@õgÂ@hÂÀhÂSh€‘hÂ@¤h€Ãh€ÜhÂ@ÖhÂ@ÖhÂÀâhÂ@ïhÂ@iÂÀ-iÂÀFiÂi€‹iÂ@·iÂÀÜiÂÀõiÂÀjÂ@MjÂÀrjÂ@j€…jÂÀ¤jÂ@ÊjÂÀïjÂÀkÂÀ!kÂÀSkÂÀlkÂŒkÂÀžkÂ¥kÂ×kÂ@ök lÂ"lÂÀ4lÂ@ZlÂ@sl€’lÂ@¥lÂÑlÂ@×lÂÀülÂ@;mÂ@TmÂgm€Œm€Œm²m€×m€×mÂ@n€;n€mnÂ@€nÂÀŒn€ŸnÂÀ¥nÂÅnÂ÷n€oÂ@/o€No€goÂÀ†o€™o€²o€ËoÂÀêo€ýoÂ@pÂÀ5pÂÀ5pÂÀgp‡pÂ@p pÂ@¦pÂ@Øp€÷pÂÀqÂ@yƒyÂ@‰yÂ@‰yœyÂÀ®y€ÁyÂÀÇyÂÀàyÂ@zÂzÂ@zÂÀ]zÂdzÂ@jzÂ@ƒz€¢zÂ@ÎzÂÀÚz€íz€{Â@{€8{Â@K{Â@K{Â@d{ÂÀp{Â@–{ÂÀ¢{Â@È{€ç{ÂÀí{€|Â@E|ÂX|€d|Â@w|Â@|Â@|Â@©|ÂÀµ|€¯|€È|Â@Û|ÂÀ} }Â9}ÂR}Â@X}Âk}ÂÀ–}€©}ÂÀ¯}ÂÀÈ}ÂÀá}Â~ÂÀú}ÂÀú}Â@î}Â@~Â3~ÂÀE~Â@k~Â~~Â@¶~€Õ~Ââ~ÂÀô~Â@ÂÀ Â-Â@LÂ_ÂÀŠ‘Â@°€ÏÂÀÕÂ@â€èÂà€Â €Â@&€Â€,€Â /€ÂÀ2€Â@?€Âà5€Â€E€ÂR€ÂR€Â€^€Â n€Â€w€Â ‡€ÂÀ–€Âà™€Â`€Â “€Â€©€Â`¿€Âàˀ Ҁ ë€Â ÷€Â  ÂÂ@ Â`#€&ÂÀ,Â`< BÂL [ÂÀ^Âàa t€ŠÂ Â šÂ šÂ šÂ ¦Â@¶Â€¼ÂàÅÂàÅÂâÂâ å å ñ ñ þÂ@‚  ‚ #‚ 0‚Â-‚€9‚ÂàB‚€R‚ b‚Â`h‚Âàt‚Â`‚€„‚Âà‚ ”‚€‚Â@°‚€¶‚ÂÀ¼‚Â@ɂ ҂ ߂ÂÀî‚ ë‚Âàñ‚Â`þ‚Â@û‚Â@û‚ ƒÂà#ƒÂ 6ƒÂ`0ƒÂ`0ƒÂ@ƒÂà<ƒÂ CƒÂ OƒÂ@_ƒÂ`{ƒÂÀ„ƒÂ ƒÂà‡ƒÂ`”ƒÂ šƒÂ¤ƒÂ`­ƒÂÀ¶ƒÂ ³ƒÂ@à̃Âփ كÂ@܃ÂàëƒÂ@õƒÂ„€„€-„Â@'„€-„ 0„ 0„Âà6„ I„ I„Â`\„Â`u„ {„Âà„Â`Ž„Â…„Â@‹„Âàš„Âàš„Â€ª„€ª„ÂÀ°„Â`À„ÂÀÉ„ÂÀɄ ӄ ߄ÂÀâ„€õ„ ø„Â@…Âà… …Âà…Âà0…ÂÀ-… 7…€@…ÂàI… P… \… i…Â@l… i…Â`o…Âà{…Â@……Â Ž…Â@ž…ÂÀª…€¤… ›…ÂÀ‘… §…Â`º… À… ͅÂ`Ӆ مÂ`ì…€ï…Âü… ÿ…€ï…Â@é…ÂÀõ… ÿ…Âà†Â`†ÂÀ'†Âà*†ÂÀ@†Â J†Â J†ÂÀY†Âà\†Â V†Â c†Â`i†Â o†Â@†Â ˆ†Â •†Â •†Â`›†Â ¡†Â৆Â৆ ®†ÂÀ½†ÂÀ½†Â@ʆ ӆÂ݆ à†Â ì†Â ‡Â`ÿ†Â ù†Â€‡Â ‡Â ‡ÂÀ!‡Â(‡Â(‡Â 7‡Âà=‡Â€M‡Â P‡ÂZ‡ÂZ‡Â@`‡Â ]‡Â`c‡Â i‡Âào‡Â v‡Â ‚‡ÂÀ…‡Âàˆ‡Â`•‡Â€˜‡ÂÀž‡Â¥‡Â€±‡Âງ¾‡Â€Ê‡ÂàӇ ڇ ڇÂÀé‡Â ó‡Â@ö‡Â ÿ‡Â ˆÂ`ˆÂ`ˆÂ ˆÂ€.ˆÂ`+ˆÂ 1ˆÂ 1ˆÂ 1ˆÂÀ4ˆÂ@AˆÂ JˆÂàPˆÂTˆÂ@ZˆÂàiˆÂàiˆÂ`vˆÂà‚ˆÂ`ˆÂÀ˜ˆÂà›ˆÂ€’ˆÂà‚ˆÂà‚ˆÂ`ˆÂ`ˆÂ ¢ˆÂ@¥ˆÂ€«ˆÂഈ »ˆÂ`ÁˆÂ »ˆÂ ÇˆÂ€ÄˆÂ ÇˆÂ ÔˆÂÀãˆÂ€öˆÂàÿˆÂ ùˆÂàÿˆÂàÿˆÂÀüˆÂ ‰ÂÀ‰Â ‰Â`%‰Âà1‰ÂÀ.‰Âà1‰Âà1‰Â@;‰Â D‰ÂàJ‰Â D‰Â€A‰Â Q‰Â@T‰Â ]‰Â j‰Âg‰Âg‰Âg‰Â j‰ÂÀy‰Â ƒ‰Â ƒ‰Â€Œ‰Â ‰Â€Œ‰Â@†‰Â ƒ‰Â ‰Â€¥‰Â€¥‰Â`¢‰Â ¨‰ÂஉÂஉ µ‰Âàlj Ή€׉ Ή ډ€׉ ډÂàà‰Âàà‰Â€×‰Âàà‰Â ç‰Â ç‰ÂÀö‰Â@ŠÂ  ŠÂàŠÂŠÂ€"ŠÂ`ŠÂ ŠÂÀ(ŠÂ >ŠÂÀAŠÂHŠÂ KŠÂ€TŠÂ€TŠÂ WŠÂÀZŠÂ dŠÂ€mŠÂzŠÂ }ŠÂàvŠÂ }ŠÂ@€ŠÂ ‰ŠÂ ‰ŠÂàŠÂ ‰ŠÂ –ŠÂ –ŠÂ€ŸŠÂ¬ŠÂ¬ŠÂਊ¬ŠÂ€¸ŠÂ »ŠÂ »ŠÂ »ŠÂ€¸ŠÂ »ŠÂ ÈŠÂ@ËŠÂ@ËŠÂÀ׊ áŠÂ`çŠÂàóŠÂàóŠÂàóŠÂ÷ŠÂ€‹Â ‹Âà ‹Â‹Â ‹Â‹Â@‹Â`‹ÂÀ"‹Âà%‹Â ‹Â€‹Â ‹Â ,‹Â`2‹ÂÀ;‹Â`K‹ÂàW‹Â`d‹Â€g‹Â€g‹ÂÀm‹Â j‹Â j‹ÂÀm‹Â w‹Â w‹Â w‹Â€€‹ÂÀ†‹Â ƒ‹Âà‰‹Â@“‹Âà‰‹Â`}‹Â ƒ‹Â€™‹Â¦‹Â¦‹Â໋ µ‹Â€²‹Â µ‹ÂÀ¸‹Â ‹ ‹€ˋ ΋Â`È‹Â@Å‹ÂÀы ۋ ΋€ˋ€ˋÂÀы ç‹Â€ä‹Â ç‹Â€ä‹Â€ä‹Â ç‹Â€ä‹Â ç‹Â@÷‹Â ŒÂàŒÂ &ŒÂ@)ŒÂ &ŒÂà8ŒÂ 2ŒÂ<ŒÂÀ5ŒÂ 2ŒÂ 2ŒÂ€/ŒÂÀ5ŒÂ ?ŒÂ KŒÂ XŒÂ dŒÂ€aŒÂ`^ŒÂÀNŒÂ XŒÂ`^ŒÂ dŒÂàjŒÂ`wŒÂ€zŒÂ }ŒÂ`wŒÂ`wŒÂ`ŒÂ@ŒÂ‡ŒÂ –ŒÂàœŒÂàœŒÂ@¦ŒÂàœŒÂàœŒÂ`©ŒÂ@¦ŒÂ ŒÂ`©ŒÂ ¯ŒÂ€¬ŒÂ ¯ŒÂ ¼ŒÂÀËŒÂÀˌ ȌÂàÎŒÂàΌ ȌÂ`ÛŒÂÒŒÂàÎŒÂ`ی ՌÂ`ی áŒÂ áŒÂÀäŒÂÀäŒÂÀäŒÂ îŒÂ úŒÂàÂàÂÂ@ ÂÀ€Â` Â` Âà  ,€)Âà2Â6 EÂ@U€B€B E RÂàK€BÂàKÂàKÂàK RÂ`XÂ`XÂhÂ@nÂ@nÂ`q wÂà}Â`ŠÂ „Â@‡Â „Â`ŠÂÀ“    €¦ÂÀ¬Â€¦ÂÀ¬Â`£ÂÀ¬Â³Â ©ÂÀ¬Â ©Â ©ÂÀ¬Â ¶Â€¿Â ÂÂàÈÂÌÂàÈÂ@Ò Û ÛÂÀÞ ÛÂåÂÀ÷ ôÂ`î èÂåÂ@ëÂ`îÂàúÂÀ÷ÂàúÂàúÂ@ŽÂ€ ŽÂ  ŽÂ  ŽÂ  ŽÂàŽÂàŽÂ  ŽÂ  ŽÂ€ ŽÂ` ŽÂ` ŽÂ &ŽÂ &ŽÂà,ŽÂ 3ŽÂ€<ŽÂ`9ŽÂ`9ŽÂ 3ŽÂ ?ŽÂ€<ŽÂÀBŽÂ ?ŽÂ`9ŽÂ ?ŽÂ@OŽÂ`RŽÂ`RŽÂ@OŽÂà^ŽÂ eŽÂbŽÂà^ŽÂbŽÂbŽÂbŽÂ eŽÂ`kŽÂ@hŽÂ qŽÂ`kŽÂàwŽÂ{ŽÂ@ŽÂ@ŽÂÀtŽÂàwŽÂ`„ŽÂ@ŽÂ ŠŽÂ`ŽÂ€ ŽÂ —ŽÂ £ŽÂ`ŽÂ £ŽÂ £ŽÂÀ¦ŽÂ ¼ŽÂ`¶ŽÂÀ¦ŽÂ £ŽÂÀ¦ŽÂ੎ °ŽÂ £ŽÂ °ŽÂ­ŽÂ °ŽÂ€¹ŽÂ`¶ŽÂ ¼ŽÂ ¼ŽÂ ¼ŽÂ€¹ŽÂ ÉŽÂàÂŽÂàÂŽÂÆŽÂÆŽÂ ÉŽÂÆŽÂ€ÒŽÂ€ÒŽÂ ÕŽÂ`ώ€ҎÂߎ âŽÂ îŽÂÀñŽÂ ûŽÂ`Â` Â Âà  Â` ÂÂ@ÂÀ  ûŽÂøŽÂ@þŽÂ`ÂàôŽÂ@þŽÂ€Â* -Â`3 -Â@0Â*Â*Âà&€6Âà? F 9Â`3€6€6ÂÀ<€6Âà? F€OÂÀUÂ`L RÂÀU RÂàXÂ\Â`eÂ\ÂàqÂàq kÂàq xÂàqÂàqÂ@{Â@{€Â`~Â@{Â@{Â@{ xÂàq xÂ@{ÂàŠÂ „ „ÂŽÂ ‘Â@”Â`—Â`—Â@” ‘Â`—Â@”Â`— Â`—€šÂ Â@­Â ªÂà£Â ªÂ@­Â€³Â`°Â€³Â ÃÂà¼Âà¼Â ¶ÂÀ¹Âà¼Â@ÆÂ`ɀ̀̀̀ÌÂ`ÉÂàÕ ÏÂÙÂÙÂàÕÂÀÒÂàÕÂ`âÂàî õ õ õÂ`û€þ€þÂ`ûÂàîÂ@øÂ`û  ÂàÂ@Â@  €Â@Â`ÂÀÂ$Â@* 'Â`-Â`-Âà9Âà9€0 ' 'Â`-Â@*Âà9Âà9Âà9 @Â@CÂà9Âà9Â@C LÂàR L LÂ`F @ 3ÂÀ6Âà9€0 3 3Â@CÂ`F€I LÂ`FÂ`FÂ`FÂÀOÂàRÂàRÂV€b eÂàkÂÀhÂo e e r rÂàk eÂàRÂ@\Âàk eÂàkÂ@uÂ`x ~ ~ ~ ~ˆÂ`‘Âà„ˆˆˆÂà„€{ÂÀˆ —€” —ÂÀšÂ€” ¤ÂÀšÂ — —ÂࠤºÂà¶Â ½Â@§Â@§Â¡Âà ¤Â`ªÂ`ªÂ@§Â °Â€­Â`ªÂÀ³Â€­ÂºÂ`ÃÂàÏ ÖÂ`Ü âÂÀå€ßÂ@ÙÂàÏÂ`ÜÂÀÌ€ÆÂ ÉÂӠր߀߀ßÂàèÂìÂ`õÂ@ò€øÂ ïÂ`õÂà‘ û û û ûÂà‘‘ÂÀþ ï ïÂ@ò€øÂ û ûÂÀþÂ@ ‘ ‘Âà‘ÂÀþÂà‘Âà‘Â`‘ ‘€‘€‘ ‘ ‘Âà‘ ‘€‘Âà‘ ‘ÂÀ‘ÂÀ‘ ‘ ‘Âà‘ ‘Â`'‘ !‘ -‘ -‘Â`'‘Â`'‘Â`'‘Âà‘€*‘ :‘€C‘Â`@‘Â`@‘ :‘Â`@‘€C‘Â@=‘Â`@‘Â`@‘ÂàL‘ÂÀI‘ÂÀI‘ F‘€C‘Â`@‘€C‘ÂÀI‘ÂÀI‘ÂP‘Â@V‘Â@V‘ S‘Â`Y‘ S‘ÂP‘ÂP‘ F‘ÂÀI‘ÂàL‘ S‘ÂàL‘Â@V‘€\‘ _‘Âi‘Âi‘Âàe‘ÂÀb‘Âi‘ l‘ÂÀb‘ _‘Âàe‘Âi‘€u‘ÂÀ{‘Â@o‘ÂÀ{‘‚‘€u‘ÂÀ{‘Â@o‘ l‘Â@o‘ x‘ x‘ x‘ x‘Â`r‘ x‘ x‘ l‘Âàe‘Âi‘ x‘ x‘ÂÀ{‘€u‘€u‘ x‘ x‘ …‘Â@ˆ‘Â`‹‘Â@ˆ‘ …‘Â`‹‘ ‘‘Âà—‘Â ‘‘ …‘ÂÀ{‘‚‘Â€Ž‘Âà—‘Â ‘‘Â€Ž‘Â›‘Âà—‘Â€§‘Â`¤‘ ž‘ ž‘Âà—‘Â@¡‘ ž‘Âà—‘Âà—‘Â ž‘€§‘ ª‘ ª‘Â@¡‘ ª‘ÂÀ­‘´‘Â఑€§‘Â఑€§‘ ª‘´‘ÂÀ­‘´‘€§‘Â`¤‘€§‘´‘Âà°‘Âà°‘Â`½‘€À‘€À‘ÂÀÆ‘ÂàÉ‘ÂÍ‘Â͑ ÑÂ@º‘Â`½‘Â`½‘Â`½‘´‘´‘ ·‘Â`½‘ ·‘ ·‘Â`½‘ Ñ€ّÂÍ‘Â@Ó‘Â͑ Б Ñ БÂÀÆ‘ÂàÉ‘Â͑ Ñ Ñ Ñ ÑÂÀÆ‘ÂàÉ‘Â`֑ ܑÂàâ‘ é‘ é‘ é‘€ò‘ é‘Âæ‘Â@ì‘Âæ‘€ّ ܑÂàâ‘Âæ‘Â`ï‘Â`ï‘Âæ‘ é‘Âæ‘Âæ‘€ّ ܑÂàâ‘€ò‘ é‘Â`ï‘ é‘Â`ï‘ õ‘Â`ï‘ õ‘€ò‘ õ‘ ’Âàû‘ ’Âàû‘ ’ õ‘ õ‘€ò‘ÂÀø‘Â@ì‘Â`ï‘ é‘Âæ‘Âæ‘Â`ï‘ õ‘€ò‘Âæ‘Âæ‘ é‘ÂÀß‘Âàâ‘Â@ì‘€ò‘Âàû‘Âàû‘ õ‘ õ‘Âàû‘ ’Â`’ ’Â`’Âàû‘ õ‘ ’Â@’Âàû‘ õ‘€ò‘€ò‘Âàû‘Âÿ‘Â`ï‘€ò‘ÂÀø‘Âàû‘Âàû‘Âàû‘Âÿ‘€ ’ ’Â`’€ ’Â`’ÂÀ’Â’Â’€ ’Â`’Âà’ ’ ’ ’ ’ ’ ’ ’Âà’ÂÀ’ ’ ’Âà’Â@’Â’Â@’Â`!’€$’Â`!’€$’Â`!’Â`!’ '’ '’Â`!’Â`!’Â`!’Â’Â@’€$’Â’Â@’ ’ÂÀ*’ '’ '’Â@’Â’Â`!’ '’Âà-’€$’Â`!’€$’Â`!’Â@’€$’ÂÀ*’ÂÀ*’€$’ '’ÂÀ*’Â1’Â`!’Â@’€$’€$’ '’Â@’Â`!’ '’€$’ÂÀ*’Âà-’ '’ '’Â1’Âà-’Âà-’Â1’Â@7’ 4’€=’ @’Â`:’ 4’Â`:’Â`:’Â`:’Â1’ 4’Âà-’Â@7’ÂJ’ @’ @’ @’ÂÀC’ @’€=’ÂàF’Â`S’ Y’ Y’Âà_’Âc’ Y’ Y’€V’Â`S’Â`S’ Y’Â@P’ M’Â`S’ M’ÂJ’ÂàF’ÂJ’ÂàF’Â`S’Â@P’€V’€V’ f’ f’Âc’ f’€o’Â`l’Âc’ Y’ Y’Â@i’ f’ f’Âà_’Â`S’Â`S’Â`S’ M’ M’Â`S’Âc’ f’Â@i’Âc’ Y’ f’Â@i’€o’ f’ f’ Y’Â`S’Â`S’ÂJ’ Y’Âc’Âà_’ f’Â`l’Â`l’ f’ f’ f’Â`l’ r’ f’Âàx’€o’€o’ÂÀu’ÂÀu’ ’ÂÀu’ r’€o’Â|’ÂÀu’Â|’ r’€o’€o’Â`l’ f’Â`l’ f’Â`l’Â`l’Â`l’ r’ÂÀu’ r’ f’ f’Â`l’€o’Âàx’€o’ r’Âàx’ r’ÂÀu’ ’Â|’ÂÀu’Â`l’Â`l’ÂÀu’Âàx’Âàx’ r’Â|’Â`…’ÂÀu’Â`l’€o’Â`l’ r’€o’Âà_’ f’€o’ r’ÂÀu’Â@‚’Âàx’ ’ ’Âàx’Âàx’ÂÀu’ r’Âàx’Âàx’ÂÀu’Âàx’ ’Â|’ ‹’Â@‚’Âàx’Â@i’Â`l’€o’Âàx’ÂÀu’ r’ r’ ’Âàx’Âàx’ r’ f’ f’ f’Â`l’Â@i’Â`l’Â`l’Â@i’Â`l’Â`l’Â@i’ r’ ’ ’ÂÀu’€o’€o’€o’€o’ ’Â@‚’Â@‚’ ’ r’ f’ r’Â`l’Âc’ÂÀu’Â|’ ’Â|’Âàx’ ’Â|’ÂÀu’ r’ f’ÂÀu’Â|’ ’ ’Âàx’ÂÀu’Â@‚’Â@‚’•’Â`…’Â@‚’ ’Â|’ r’ÂÀu’Â|’Â@i’ r’Â@i’ f’Âc’Âc’ r’ r’ÂÀu’Âàx’ ’ ’Â`…’Â@‚’Âàx’Â@‚’Â@‚’€ˆ’Âà‘’Âà‘’Â ˜’Âà‘’ÂÀŽ’Â`…’Â`…’Â|’Â@‚’ ’€ˆ’ ’Â`…’Âà‘’ÂÀŽ’Âà‘’ÂÀŽ’Â@‚’Âà‘’Â ‹’ ‹’Â`…’ ˜’ ˜’•’ ˜’ ‹’ ’Â`…’ ‹’ ‹’ÂÀŽ’Â ˜’Â`ž’ ˜’Âà‘’Â ‹’ ’€ˆ’Âà‘’ÂÀŽ’Â ‹’€ˆ’ÂÀŽ’Â€ˆ’Âà‘’Âà‘’Â ‹’Âà‘’Â ˜’Â`ž’Â@›’ ¤’ ¤’ ¤’Â`ž’ ˜’ÂÀŽ’Âà‘’Â•’ ˜’ ˜’ ‹’Â@›’ ˜’Âà‘’Âà‘’ÂÀŽ’ÂÀŽ’Âà‘’Â ‹’ ‹’Âà‘’ÂÀŽ’Â€¡’ ¤’ ¤’ ±’€º’ ±’ ½’Â@´’ ¤’Â@›’Â@›’Â`ž’Â`ž’®’Â઒ ¤’ÂÀ§’Â઒Â઒€¡’Â઒®’ ±’ ±’Â઒®’ ±’Â@´’®’ ±’Â`·’Â઒ ±’Â઒ ±’ÂÀ§’€¡’ ¤’Â`ž’€¡’ ¤’ ¤’ÂÀ§’ ¤’®’ ¤’®’Â઒ÂÀ§’ÂÀ§’®’ ±’Â઒ ±’ ½’Â`·’ÂÀÀ’ÂàÃ’ÂàÃ’Â Ê’ÂÇ’ÂÀÀ’Â`·’€º’€º’€º’Â`·’Â`·’Â`·’ ±’®’Â઒®’ ±’Â`·’€º’ÂÇ’ÂàÃ’Â ±’Â`·’ ½’€º’Â`·’Â`·’ÂÀÀ’Â@´’€º’ÂàÃ’Â`Ð’Â Ê’Â Ê’ÂÀÀ’ÂàÃ’ÂàÃ’Â@͒ ֒Â`Ð’Â@͒€ӒÂ`Ð’Â Ê’ÂàÒ ʒ ֒ ֒Â`Ð’Â Ê’Â@͒ ֒Â`Ð’Â Ê’Â Ê’Â Ê’ÂàÃ’ÂÀÀ’Â@͒ ֒ÂÀْ ֒Âàܒ€ӒÂ@Í’ÂàÃ’Â Ê’Â@Í’Â@͒ ֒€Ӓ ʒ€º’Â`·’ ½’ÂÇ’Â@Í’Â Ê’Â`Ð’Â@Í’Â`В ֒€ӒÂǒ ʒ ֒€ӒÂàܒ ֒Âà’ ã’ ã’ÂÀْ€Ӓ ֒Â`Ð’Â`В ֒€ӒÂ@Í’Â Ê’ÂÀْ ֒ÂÀْ€ì’ ã’Âàܒ ֒Â@æ’ ã’ÂàÜ’ÂàÜ’ÂàÜ’ÂÀÙ’Âàܒ ֒Â`В ֒Â@Í’Â`Ð’ÂÇ’Â Ê’Â@Í’Â`Ð’ÂàÜ’ÂÀÙ’ÂàÜ’Â ã’ÂÀÙ’ÂàÜ’Âà’ ã’ÂàÜ’Â ã’ ã’ ã’Â@æ’Â`é’ ï’ÂÀò’Â@æ’Â`é’Âàõ’Âàõ’Âàõ’ ï’ÂÀò’€ì’€ì’€ì’€ì’ ü’ ï’ ã’ ï’€ì’Âàõ’Âù’Âàõ’ÂÀò’Âàõ’ ï’Âàõ’Â`é’Â`é’Âàõ’Âù’Âàõ’Âàõ’ ã’ÂàÜ’Â`钠쒀쒀ì’Âàõ’ ü’ ü’Â@ÿ’Â`“ ü’ÂÀò’€ì’€ì’ ü’Â@ÿ’Âàõ’Âù’Â@ÿ’€“Â@ÿ’ ü’€“Â@ÿ’Âù’Âù’ “€“€“€“ÂÀ “ “Â`“ “Â@ÿ’Â@ÿ’Â@ÿ’Â`“€“ ü’Âù’ ï’Âàõ’ÂÀò’ ï’Âàõ’Âù’Âàõ’ÂÀò’ÂÀò’ ï’ÂÀò’Â@ÿ’ÂÀ “Âà“ ü’ ü’ ü’ ü’ ü’ ü’Â`“Âàõ’ÂÀò’ ï’Â`é’€ì’Âàõ’Âù’Âàõ’ ï’ ã’ ï’Â@æ’€Ӓ ֒ÂÀÙ’Â ã’ ã’ ï’Âàõ’Âàõ’ ï’Â`é’ÂÀò’€“Âàõ’Âàõ’€ì’€ì’Âàõ’Â`é’Â@æ’ÂàÜ’Â ã’ÂàÜ’Â@撠㒠㒠㒀쒠㒠֒ ֒Â@æ’Â@æ’ ã’ÂàÜ’ÂàÜ’Âàܒ€ì’ ã’Âà’Â@æ’ ã’Âà’Âà’ ֒€ӒÂ@æ’ ã’ ã’ÂÀْ ֒Â@Í’Â Ê’Â Ê’Â`Ð’Â@͒€ӒÂàܒ ֒Âàܒ ֒ ֒ ʒ€ӒÂàܒ ֒Â`Ð’ÂÀْ ֒Â`Ð’Âǒ€Ӓ€ӒÂ`Ð’ÂàÃ’ÂÀÀ’Â@Í’ÂÇ’Â`Ð’ÂàÃ’ÂàÃ’Â`·’ÂàÃ’ÂÀÙ’Âà’ÂÀÙ’Âàܒ ֒Â`Ð’ÂÀÙ’Â`Ð’Â`Ð’Â Ê’Â Ê’ÂàÃ’ÂàÃ’ÂàÃ’ÂÇ’ÂÇ’Â`Ð’ÂÇ’Â Ê’Â@Í’Â@Í’Âǒ ½’ÂàÃ’Â`·’ ½’ÂÇ’ÂàÃ’Â Ê’Â`·’ÂàÃ’Â Ê’Â`Ð’Â`Ð’Â@͒ ½’€º’ÂàÃ’ÂàÒ ʒ€Ӓ ʒÂÇ’Â Ê’Â@͒ ½’ÂÇ’Â@͒ ʒ€ӒÂ`В€ӒÂàÜ’Â ã’ ã’ÂàÜ’Âà’Â@æ’ ֒ ֒€ӒÂ`В€ӒÂ`В ʒ€ӒÂ@͒€ӒÂàܒ€ӒÂàÜ’ÂÀÙ’Âà’ÂàÜ’ÂàÜ’Âà’ÂàÜ’ÂÀْ ֒ ֒€Ӓ€Ӓ ʒÂ`Ð’Â@͒ ֒Â`Ð’Â`Ð’Â Ê’ÂÀÙ’ÂÀÙ’Â@æ’ÂàÜ’ÂàÜ’ÂÀْ ֒Â@Í’Â`В ֒Âàܒ ֒ÂàÜ’ÂàÜ’Â ã’Âà’ÂÀÙ’ÂÀÙ’ÂÀْ€Ӓ€Ӓ ֒€ӒÂàܒ ֒ ֒ÂàÜ’Âàܒ€Ӓ€ӒÂ`Ð’Âà’ÂàÜ’ÂÀْ ֒Âàܒ ֒ ã’Â`é’Â`é’ÂÀÙ’ÂàÜ’Â ã’ ã’ ã’ÂÀْ ֒Â`В ʒ ʒ€ӒÂ@͒€Ӓ€ӒÂ@Í’Â@͒ ֒Âà’ÂàÜ’ÂÀْ ֒ÂÀÙ’Â@æ’Â@æ’ ã’ ã’ ã’ ã’ÂàÜ’ÂàÜ’Â ã’Â`é’ÂàÜ’Â`В ֒€ӒÂ`Ð’ÂÀÙ’ÂàÜ’Â ã’ ã’€ì’ÂÀò’ÂÀò’€ì’Âà’Âà’Âà’€ӒÂàܒ€ì’ ï’Âà’ ֒Â@͒ ֒€ӒÂà’ ã’Âà’Â`Ð’Â Ê’Â@Í’Â`В ֒€Ӓ ֒ÂÀÙ’Âàܒ ֒ ʒ ֒Â`В ֒ ʒÂÇ’Â@Í’Â`В ֒€ӒÂ`Ð’Â@Í’Â`·’ÂÀÀ’ÂàÃ’ÂàҀº’ÂàÒ ½’ÂÀÀ’ÂÀÀ’ ½’ ½’ ½’ ʒÂàÃ’ÂÀÀ’Âǒ ½’ÂÀÀ’€º’Â`·’ ±’®’Â઒ ±’Â઒ ¤’€¡’ ±’®’ ±’ÂÀ§’ÂÀ§’Â઒®’ÂÀ§’€¡’®’ ¤’ ±’ ±’ÂàÃ’ÂÀÀ’ ±’ ½’Â`·’Â@´’ ±’Â`·’€º’Â@´’ ±’Â`·’®’Â@´’ÂàÃ’Â`·’€º’ ±’ ¤’Â`ž’ ˜’ ¤’®’Â`ž’Â@›’•’ ˜’ÂÀŽ’Â ‹’ ‹’Â`ž’Â`ž’ ¤’ ±’Â઒®’€º’Â`·’ÂÀ§’ ¤’Â઒ ±’Â`·’ ±’€¡’Â@´’ ±’®’ ±’ ±’ ±’®’Â`·’ÂÀ§’Â઒ ¤’ÂÀ§’ ±’ ±’ ±’ÂÀ§’Â@›’ ˜’Â`ž’€¡’ ¤’®’ÂÀ§’®’Â઒ ¤’Â઒ÂÀ§’Â઒ ¤’ÂÀ§’Â@´’Â`·’Â઒ ±’ ±’€º’Â`·’ ±’Â઒Â઒Â઒€¡’ ¤’ ˜’ ˜’ ¤’€¡’€¡’ ¤’ ¤’€¡’®’ÂÀ§’ ±’Â઒ ±’Â઒®’ ±’€¡’ ¤’ ˜’Â`ž’ÂÀŽ’Â€¡’€¡’€¡’ ˜’ ‹’ÂÀŽ’Â ‹’€ˆ’Â@‚’Â@‚’ ’€ˆ’Â@‚’ ’ÂÀu’ r’ r’ÂÀu’Â`l’Â`l’ f’Â@i’ f’Âc’Âà_’Â`S’ M’Â@P’ Y’Âc’Â`S’ÂJ’ÂÀC’ÂJ’ M’Â`S’ @’€=’ 4’Â1’Âà-’Â1’Â1’Â1’€=’ @’Â1’Âà-’ÂÀ*’ÂÀ*’ ’ ’ ’Â`!’€$’ 4’ 4’ÂÀ*’€$’ '’Â’Â’ ’Âàû‘ÂÀø‘Âàû‘Âÿ‘Âàû‘ õ‘€ò‘ÂÀø‘ ’ ’Âàû‘ õ‘ õ‘Âàû‘Âÿ‘Â`’ ’€ ’€ ’ÂÀø‘Â@ì‘€ò‘ õ‘Â@ì‘Âàâ‘ é‘€ò‘Â`ï‘Âàû‘Âÿ‘Â`ï‘€ò‘Â`ï‘Âàû‘€ò‘ é‘Â`Ö‘Â`Ö‘ÂàÉ‘Âàɑ Б€ّ ܑ ܑÂàâ‘ é‘ÂÀߑ БÂàÉ‘Â@Ó‘Â@Ó‘Â@Ó‘ÂÀÆ‘ÂÍ‘ÂÍ‘Â@Ó‘Â@Ó‘ÂÍ‘ÂÀƑ Ñ БÂ`֑ ܑ ܑÂ@ӑ€ّÂ`֑ Б ÑÂÍ‘Â`Ö‘Â`Ö‘ÂÍ‘ÂÍ‘Â`Ö‘ÂàÉ‘Â@Ó‘Â`֑ БÂÍ‘Âàɑ БÂÀƑ ÑÂàÉ‘Â`½‘ ÑÂàÉ‘ÂÀƑ ÑÂàÉ‘ÂÍ‘ÂÍ‘ÂÀÆ‘ÂÀƑ ÑÂÀÆ‘ÂÀƑ ÑÂÍ‘Â͑ ÑÂÀÆ‘ÂÀÆ‘ÂÀÆ‘ÂàÉ‘Âàɑ Б€ّ Б БÂ͑ БÂÍ‘Âàɑ Ñ Ñ ÑÂ`½‘´‘´‘Â@º‘€À‘€À‘€À‘Â`½‘Â`½‘ БÂ`Ö‘ÂÀƑ ÑÂ`½‘Â`½‘ Ñ Ñ Ñ ÑÂàɑ Б БÂ@Ó‘Âàɑ€À‘Â`½‘ ÑÂÀÆ‘Âàɑ€À‘ Ñ€À‘€À‘€À‘ ·‘´‘Â`½‘Â@º‘´‘ ·‘Â`½‘ ·‘Âà°‘ÂÀ­‘´‘ ·‘€À‘Â@º‘ ÑÂÀÆ‘Â`½‘ ·‘ ·‘ÂÀƑ ÑÂ`½‘ ÑÂ@º‘ ·‘Â`½‘Â@º‘Â`½‘Â@º‘ ÑÂ`½‘€À‘Â`½‘Â`½‘€À‘Â`½‘ ÑÂ@º‘ ÑÂ`½‘´‘Âà°‘Â ·‘Â`½‘€À‘Â@º‘€À‘€À‘´‘ ·‘Â@º‘€À‘ ·‘Â఑´‘ ·‘Â@º‘ ·‘€À‘€À‘ ÑÂ`½‘ÂÀÆ‘Â`Ö‘ÂÍ‘Â`½‘Â@º‘Âà°‘Â ·‘´‘ÂÀ­‘ÂÀ­‘Â@º‘ ·‘ ª‘ÂÀ­‘ÂÀ­‘€§‘Âà°‘ÂÀ­‘ÂÀ­‘´‘Âà°‘Â`½‘ Ñ ÑÂÀƑ Ñ Ñ ÑÂ`½‘ÂàÉ‘Â`½‘€À‘Â`½‘ Ñ БÂÀÆ‘ÂÍ‘ÂÍ‘ÂàÉ‘Â͑ ·‘ ·‘ ·‘Â఑´‘Â`½‘ÂÀ­‘Âà°‘Â@º‘ ·‘Â@º‘Â@º‘Â`½‘ Ñ€À‘€À‘ Ñ Ñ ÑÂàɑ ÑÂ@º‘ Ñ ·‘ÂÀ­‘€§‘Â఑€À‘ Б БÂàÉ‘ÂÀÆ‘ÂÀƑ Ñ ·‘´‘ ·‘€À‘Â@º‘Â`½‘ÂÀÆ‘ÂàÉ‘ÂÀÆ‘Âàɑ БÂÍ‘Â`½‘ÂÀÆ‘ÂÍ‘ÂÍ‘ÂÍ‘Â@ӑ€ّ€ّ€ّÂÍ‘ÂàÉ‘ÂÀÆ‘Â͑€À‘Â@ӑ ܑÂàâ‘ÂÀߑ€ّ БÂàÉ‘ÂÍ‘Â`֑€ّ Б Б€ّÂ@Ó‘Â`Ö‘Â Ð‘Â€Ù‘Âæ‘ é‘ÂÀߑ ܑÂàÉ‘Â`Ö‘Âàɑ Ñ ÑÂàɑ БÂàâ‘Â`ï‘ é‘Âæ‘ é‘Â@ì‘€ò‘Â`ï‘Âæ‘Â`ï‘Â@ì‘Â`ï‘ é‘€ّÂ`֑€ّÂàâ‘Â`֑€ّ€ّÂàâ‘ ܑ€ّÂÀߑ€ّ é‘ÂÀø‘ õ‘Â@ì‘ õ‘ é‘Âæ‘Â`ï‘Â`ï‘ é‘Âæ‘Â`֑ ܑÂ@ì‘Â@ì‘Â@ì‘Â`ï‘Âæ‘Âàâ‘€ّÂ@Ó‘ÂàÉ‘Â@Ó‘ÂÍ‘Â`Ö‘Â͑ Ñ Ñ ÑÂ`½‘ ÑÂ@º‘ ª‘Â@¡‘Â@¡‘ ž‘ ‘‘Â@ˆ‘Âà~‘Âà~‘‚‘Â`‹‘ …‘€u‘Â`‹‘Â@ˆ‘‚‘Â`r‘Â`r‘ l‘ _‘Âàe‘ _‘ S‘ÂÀI‘€C‘€C‘Â`@‘€C‘Â@=‘ÂàL‘ S‘ÂP‘€C‘ÂàL‘ F‘Â@=‘ÂÀ0‘Âà3‘€*‘Â@$‘ !‘Âà‘Â`'‘Âà3‘ -‘€*‘Â`'‘Â@$‘ -‘Âà3‘ÂÀ0‘ÂÀ0‘€*‘ -‘ !‘ÂÀ‘ !‘ !‘ !‘Â`'‘ !‘Â`'‘Â`'‘ -‘ !‘Â`'‘ ‘Âà‘Âà‘ !‘Âà‘ ‘Â@ ‘€‘ ‘Âà‘€‘‘ !‘Âà‘ !‘ !‘Â`‘ ‘Â`‘Âà‘Âà‘‘ ‘ ‘Â@ ‘ ‘Â`‘ÂÀ‘Â`‘Â`‘Âà‘Âà‘ ‘ÂÀþÂÀþÂ@ ‘‘‘ ‘€‘Âà‘Âà‘Âà‘ÂÀþ‘‘ ûÂ`‘ !‘ !‘€‘Â@$‘ !‘Â`'‘Âà‘ ‘€‘ ‘ ‘ ‘ ûÂà‘ ûÂà‘ÂÀþÂÀþ û ‘‘ ‘‘‘Â`‘ ‘Âà‘ÂÀþ ûÂ`õ ûÂ`õ€øÂ û€øÂ û ‘Âà‘‘Âà‘Âà‘ÂÀþÂÀþ€øÂ`õ âÂì€øÂ û€øÂ`õ€øÂ ûÂà‘Âà‘ û û€øÂ€øÂ û ûÂÀþÂà‘€øÂÀåÂÀåÂàè ï ïÂìÂàè ï ûÂÀþÂ`õÂìÂ@ò ï ïÂ@ò€øÂ ïÂ@òÂ@ò€øÂ`õÂà‘Âà‘ÂÀþ û û ûÂ`õÂ`õ ïÂ`õÂìÂàèÂàèÂ`õÂì ïÂìÂ`Ü â€ß ÖÂ@ÙÂÓÂÀåÂàèÂàèÂÀå â ï ï ï€øÂ ûÂà‘Â@òÂ@ò ïÂìÂ`õ€øÂ€øÂ ï ïÂìÂÀå€ßÂ`ÜÂÀåÂàèÂìÂàèÂÀåÂÀåÂ@ÙÂàÏ Ö ÖÂ@Ù€ßÂ`ÜÂ@ÙÂ@ÙÂ`ÜÂìÂàè ïÂ`õ ï ïÂ@òÂàè ï ï€ßÂ`ÜÂàèÂìÂ@ò ï ïÂàè€ß€ßÂÓÂ`Ü ÖÂ`Ü ÖÂ`܀ߠâÂàè€ßÂ`ÜÂ`ÜÂàè â€ßÂ`Ü Ö âÂàè â âÂÀå€ßÂ@Ù Ö Ö€ßÂÀå âÂÀå ïÂ`õÂìÂÀå âÂàèÂìÂ`õÂ`õÂ@ò€øÂ€øÂ@òÂ@ò ïÂ`õ€øÂ€øÂ`õÂ`õÂ@òÂìÂÀåÂì â â â ïÂ@òÂ@òÂ`õÂàèÂ@ò ûÂàèÂìÂ@ò ï ïÂàèÂàèÂÀåÂÀå â€øÂÀþ ‘Âà‘ ûÂ`õ ï€øÂ€øÂ ï û û‘‘€øÂ‘ ‘Âà‘ ûÂÀþ€øÂ€øÂ ïÂìÂ`õ ïÂ`õÂ@ò€øÂ û û ûÂà‘ÂÀþÂÀþÂà‘ ‘€‘‘‘Â@ ‘‘Âà‘Âà‘Â@òÂ@òÂà‘‘‘ ‘Â@ ‘‘Âà‘‘‘ ‘ ‘ÂÀ‘Â`‘Âà‘Âà‘ !‘ -‘ -‘Âà3‘Â@$‘Âà‘ !‘ !‘‘ !‘Â@$‘Â`'‘‘ ‘ÂÀ‘Â`'‘Â@$‘Âà3‘ -‘ -‘€*‘ !‘Â`'‘Âà‘‘Âà‘Â`‘ !‘ÂÀ0‘Â`'‘ !‘ !‘ ‘ ‘ !‘€*‘€*‘ !‘Â@$‘Âà‘‘Â@$‘Âà‘Âà‘‘Âà‘Â@$‘ -‘ -‘Â`'‘€*‘€*‘Â`'‘Â`'‘ÂÀ0‘€*‘Â`'‘Â@$‘Â@$‘‘Â@$‘Â@$‘ -‘ !‘Â`'‘Â7‘ :‘Âà3‘Â`'‘ :‘ -‘ -‘ -‘Â`@‘ :‘Â@=‘Â@=‘Âà3‘€*‘ -‘Â`'‘Â`'‘€*‘ !‘Â`'‘€*‘Âà3‘ -‘ -‘Â7‘ÂÀ0‘€*‘‘€*‘Âà3‘ÂÀ0‘Âà3‘Â@=‘Â`@‘Â`@‘Â@=‘Âà3‘‘Âà‘‘ ‘€*‘Â7‘ -‘ :‘ :‘€C‘Â@=‘Â@=‘Â@=‘ :‘Âà3‘Â`@‘ F‘€C‘ :‘Âà3‘Âà3‘€*‘Â`'‘Â7‘Â@=‘ :‘Â@=‘ :‘Â@=‘Â7‘ÂÀ0‘ -‘ -‘Âà3‘ :‘Â7‘Â7‘Â@=‘Â@=‘Â@=‘Â@=‘ :‘ :‘ :‘ F‘€C‘Â7‘Â7‘ :‘ F‘ :‘ :‘Â`@‘ F‘ F‘ F‘ÂàL‘ÂP‘ÂàL‘ÂàL‘Â`Y‘ÂàL‘Â@V‘Â@V‘Â@V‘Â`Y‘ÂàL‘ F‘ S‘ S‘€C‘ F‘Â`@‘€C‘ :‘Â`@‘ F‘Â@=‘ :‘ :‘Âà3‘ :‘Â@=‘ :‘Â7‘Â`@‘Â@=‘Â7‘Â@=‘ F‘Â@V‘ S‘ S‘€\‘ S‘ S‘ÂàL‘ÂP‘ F‘Â@=‘ÂÀI‘ S‘ S‘Â@V‘Â`Y‘ _‘ S‘Â`Y‘ÂP‘ÂàL‘ F‘Â@=‘ F‘€C‘ F‘ÂàL‘ÂàL‘ S‘ S‘€\‘ÂÀb‘ÂÀb‘Âàe‘Â@V‘Â@V‘ÂP‘ S‘ÂÀI‘ÂàL‘€C‘ S‘ S‘ÂP‘ S‘ÂP‘ÂàL‘ÂàL‘ S‘ÂàL‘ÂàL‘€\‘€\‘Â@V‘ _‘€\‘Â`Y‘€\‘ _‘ S‘Â@V‘ F‘€C‘ÂÀI‘Â`Y‘ S‘ÂP‘ S‘ S‘ S‘ÂP‘ S‘ S‘Â@V‘ S‘ÂP‘Â@=‘Âà3‘Â7‘Â`@‘Â`@‘ F‘Â@V‘Â`Y‘ S‘ F‘ÂàL‘Â@V‘Â`Y‘ _‘Â`Y‘€\‘ _‘Â`Y‘ÂP‘ÂÀI‘Â`@‘ F‘€C‘ F‘ÂÀI‘ÂÀI‘ÂP‘ÂàL‘ÂàL‘ÂÀI‘ S‘ÂP‘ S‘ S‘Â`Y‘ÂP‘Â@V‘ÂP‘ÂP‘ÂÀI‘ F‘€C‘ÂÀI‘ F‘€C‘Â7‘Âà3‘€C‘ S‘Â@V‘ S‘ÂàL‘ F‘ÂÀI‘ÂP‘ÂÀb‘ S‘ S‘Â`Y‘ S‘Â@V‘Â`Y‘ S‘€\‘Âi‘Âàe‘€\‘Âàe‘Âàe‘Âi‘ _‘ l‘ S‘Â@V‘Â@V‘ÂÀI‘ÂàL‘ F‘ F‘ F‘Â`Y‘ _‘€\‘ _‘Âàe‘ l‘Â`Y‘ÂP‘ÂP‘€C‘Â`Y‘Â`Y‘€\‘Â@V‘Â`Y‘ S‘Â@V‘ÂP‘ÂàL‘ S‘Â`Y‘€\‘Â@V‘ÂP‘ÂàL‘ F‘€C‘ÂÀI‘€\‘ _‘Âàe‘Âàe‘ _‘Âàe‘ _‘Â@V‘ÂP‘ÂP‘ S‘Â@V‘ S‘€\‘€\‘ S‘Âàe‘ _‘ÂÀb‘ _‘ _‘Âàe‘ _‘ _‘Âàe‘Âàe‘Âi‘ l‘Â@o‘Â`r‘Âi‘Â@o‘ l‘Âi‘Âi‘Âàe‘Â@o‘ _‘ÂÀb‘ l‘€u‘ l‘Âàe‘Âi‘ _‘Âàe‘ l‘Âàe‘ l‘Âi‘ _‘Âàe‘Â@o‘ x‘€u‘ x‘ x‘ x‘Âi‘Â`r‘ÂÀ{‘‚‘ÂÀ{‘ÂÀ{‘€u‘ x‘€u‘Âà~‘ÂÀ{‘ x‘‚‘ÂÀ{‘ÂÀ{‘ x‘€u‘€u‘ l‘Â@o‘ l‘Â`r‘Â`r‘ …‘ …‘ …‘ …‘ …‘ ‘‘ ž‘›‘ ‘‘Â@ˆ‘ …‘ …‘€u‘ l‘Â`r‘‚‘Âà~‘ ‘‘Â@ˆ‘ÂÀ{‘ x‘ x‘€u‘Â`‹‘Â€Ž‘Â x‘Âà~‘Â`‹‘Â`‹‘ …‘‚‘€u‘‚‘ …‘Â€Ž‘Â`‹‘Â`‹‘ ‘‘ …‘ …‘Âà~‘ …‘Â€Ž‘Â`‹‘ÂÀ”‘Âà—‘Âà—‘Â›‘Â`¤‘€§‘Â@¡‘ ž‘Â@¡‘Â`¤‘ÂÀ”‘Âà—‘ÂÀ”‘Â€Ž‘Â`‹‘ ‘‘ ž‘ ª‘Â`¤‘ ª‘ ª‘Â@¡‘Â`¤‘ ª‘ÂÀ”‘ ž‘Âà—‘Â ‘‘ ‘‘ ‘‘›‘ÂÀ”‘ ž‘ ž‘Âà—‘ÂÀ”‘Âà—‘Âà—‘Â›‘ ‘‘Â€Ž‘Â ‘‘ …‘Âà~‘‚‘ …‘Âà—‘Âà—‘ÂÀ”‘Â`¤‘ÂÀ­‘Â`¤‘Âà—‘Â ‘‘ …‘‚‘Âà~‘ÂÀ{‘Âà~‘‚‘ …‘Â€Ž‘Â ‘‘Â€Ž‘Â€Ž‘Âà—‘Â ª‘Â@¡‘ ž‘Âà—‘Âà—‘ÂÀ”‘ ž‘Â`¤‘ ª‘€§‘€§‘Âà—‘Â›‘Âà—‘ÂÀ”‘Â`‹‘Âà—‘Â@¡‘€§‘›‘Â@¡‘ ž‘Âà—‘Â`¤‘ ‘‘Âà—‘ÂÀ”‘›‘ ž‘Â`¤‘€§‘ ž‘Â`¤‘Â`¤‘Â@¡‘€§‘›‘ ž‘Â`¤‘ÂÀ­‘Â`¤‘ ª‘Â`¤‘€§‘Â@¡‘›‘ ž‘ ž‘Âà—‘Âà—‘Â›‘ÂÀ”‘Â€Ž‘Âà~‘ …‘Â€Ž‘Â€Ž‘Â ‘‘Â@¡‘ ª‘Â@¡‘›‘ ž‘ ‘‘ …‘Â@ˆ‘ÂÀ”‘Âà—‘Âà—‘Â›‘ÂÀ”‘Â`‹‘Â€Ž‘Â€Ž‘Â ‘‘ …‘Â@ˆ‘Â€Ž‘Âà—‘Â@¡‘ ª‘Â@¡‘Â`¤‘Â`¤‘›‘ ž‘Â@¡‘ ž‘Â@¡‘ ž‘€§‘Â`¤‘ ž‘ ª‘Âà—‘Â ª‘€§‘€§‘Âà—‘Âà—‘Âà—‘ÂÀ”‘ ‘‘›‘ ž‘ ‘‘Â`‹‘›‘Âà—‘Â`‹‘Â`‹‘Â`‹‘Â€Ž‘Â€Ž‘Â`‹‘ ‘‘ …‘Â€Ž‘Â@ˆ‘ …‘ ‘‘Âà—‘Âà—‘Â`¤‘Â@¡‘›‘ ž‘ ‘‘Â@ˆ‘Â€Ž‘Â`‹‘ …‘Â@ˆ‘ÂÀ{‘Â`‹‘Â€Ž‘ÂÀ{‘ x‘Âà~‘Âà~‘Â`‹‘ ‘‘Âà—‘Âà—‘Â ‘‘ÂÀ”‘Âà—‘Â@¡‘Â€Ž‘Â ‘‘ÂÀ”‘›‘Â`¤‘Â`¤‘Â€Ž‘ÂÀ”‘ ‘‘Âà—‘Â`¤‘ÂÀ­‘€§‘ ž‘ ž‘›‘€§‘ ª‘ ª‘ ‘‘ ‘‘Â@¡‘ ž‘ÂÀ”‘›‘ÂÀ”‘ ‘‘ÂÀ”‘Âà—‘Â@¡‘€§‘Â`¤‘Â`¤‘Â`¤‘Â@¡‘Â`¤‘€§‘Â`¤‘€§‘ ª‘´‘ ·‘ÂÀƑ Б ÑÂ`½‘ Ñ ·‘Â`½‘ ª‘Â఑ ª‘ ·‘ ·‘Â`½‘€À‘´‘Â`½‘ÂÀ­‘ÂÀ­‘Âà°‘Âà°‘ÂÀ­‘ÂÀ­‘ ª‘€§‘Â`¤‘Â`¤‘Â`¤‘Â`¤‘Âà°‘Â`¤‘€§‘ÂÀ­‘ ·‘ ·‘ ·‘´‘´‘Âà°‘Âà°‘ÂÀ­‘€À‘ÂÀƑ€À‘Â@º‘Â఑´‘ ·‘Âà°‘ÂÀ­‘Âà°‘Â ·‘ÂÀ­‘Âà°‘Â఑´‘´‘´‘Â@º‘Â`½‘Â`½‘€À‘Â@º‘€À‘ ·‘Â@º‘ ·‘Âà°‘Â ·‘Â఑´‘ ·‘ÂÀƑ Б Ñ€À‘Â`½‘Â@º‘Â@º‘´‘ ª‘ÂÀ­‘ ·‘´‘Âà°‘ÂÀ­‘ ·‘Â@º‘ ÑÂàÉ‘ÂÍ‘Âàɑ ÑÂÀ­‘´‘ ª‘ ª‘´‘´‘ ·‘´‘ Ñ Ñ Ñ ÑÂ͑ ÑÂÀÆ‘Â`½‘Â`½‘ Ñ ÑÂ`½‘ Ñ Ñ€À‘´‘ ·‘€À‘Â`½‘ ·‘ÂÀÆ‘Âàɑ Ñ€À‘ ÑÂàɑ БÂ@Ó‘Â@ӑ Б БÂ`Ö‘Â@ӑ ܑÂ`Ö‘Â`Ö‘ÂàÉ‘Âàɑ БÂàɑ€À‘Â`½‘ÂÀÆ‘ÂàÉ‘ÂàÉ‘Â`֑ ÑÂàÉ‘Âàɑ Ñ ÑÂÀÆ‘Â͑ ܑ Б БÂàɑ ÑÂÀƑ€À‘ БÂ@Ó‘Â`Ö‘Â`Ö‘Â é‘Âàâ‘Âàâ‘ é‘Â@ì‘ÂÀß‘Â`֑ БÂÀߑ ܑ ܑ ܑ ܑ Б БÂ@Ó‘ÂÍ‘Â@ӑ€ّÂ`֑ ܑ Б Ñ€ّ ܑ é‘ é‘ ܑÂ@Ó‘Â`Ö‘Âàâ‘Âàâ‘ ܑ€ّ ܑ€ّ€ّ ܑ é‘Âæ‘ é‘Â@ì‘Â`ï‘Âàâ‘Âæ‘Âàâ‘ ܑ€ّ€ّ ܑÂÀß‘Âàâ‘ÂÀß‘Âàâ‘Â`ï‘€ò‘Â`ï‘ ܑ€ّÂÀß‘ÂÀß‘Âàâ‘Â@Ó‘Â`֑€ّ€ّ€ّ é‘ÂÀß‘Âæ‘€ò‘ é‘Â`ï‘ÂÀø‘ õ‘Â`ï‘Âàâ‘Âàâ‘Âàâ‘Âàâ‘€ّÂàâ‘Â@ì‘ õ‘ÂÀø‘ é‘Âæ‘Âæ‘Â`Ö‘Â`Ö‘Â`֑ ܑ€ّ Б€ّ ܑÂ@Ó‘Â@Ó‘Âàâ‘ÂÀߑ€ّÂàâ‘Âæ‘Âàâ‘€ّ é‘ é‘€ò‘ õ‘Â`ï‘Â@ì‘ é‘Â@ì‘ õ‘Â`ï‘Â@ì‘ÂÀß‘Âæ‘ ܑ õ‘€ò‘ õ‘€ò‘Âàâ‘€ّ€ّ ܑÂàâ‘ÂÀß‘Âæ‘€ò‘ é‘Âæ‘Âàâ‘Âæ‘ é‘Âàâ‘Âæ‘ÂÀß‘ÂÀߑ ܑ ܑ ܑ ܑÂÀß‘ÂÀß‘Âàâ‘Âàâ‘ÂÀß‘Âæ‘ÂÀß‘Â`Ö‘Âàâ‘ ܑÂàâ‘ ܑÂ`֑ ܑÂÀß‘Âæ‘ ܑ Б БÂ@ӑ€ّÂ@Ó‘Â€Ù‘Â€Ù‘Âæ‘Âàâ‘ ܑÂÀß‘Â`Ö‘Â@ӑ ܑ БÂ`Ö‘Â@ӑ ܑ БÂàɑ Б Б Ñ Ñ ÑÂ@Ó‘ÂàÉ‘Âàɑ ÑÂàɑ€À‘ ·‘´‘´‘ ª‘Âà°‘Â఑´‘Â`½‘ ÑÂ͑ ÑÂàɑ ÑÂ͑ ܑ Б Б ܑÂàâ‘ÂÀߑ ܑ Б БÂ͑ Б БÂ@ӑ€ّ Б Ñ€À‘€À‘ ÑÂ`½‘ÂÀƑ ÑÂ`½‘´‘ ·‘Â`½‘Âàɑ€À‘€À‘€À‘€À‘€À‘ÂÀÆ‘Â@ӑ БÂàɑ ÑÂ@Ó‘Â͑ Ñ€À‘´‘ ·‘ ·‘ ÑÂ`½‘Â@º‘€À‘€À‘ÂÀÆ‘Â`½‘ Ñ ÑÂàÉ‘ÂÀÆ‘ÂÀÆ‘ÂÍ‘ÂÀƑ ÑÂàÉ‘Â`Ö‘Âàɑ БÂàÉ‘ÂÍ‘Â@ӑ БÂ`½‘€À‘Âàɑ ܑ Б€ّ ܑÂ@ì‘ÂÀß‘ÂÀß‘Â`֑€ّ ܑÂàâ‘Âàâ‘Âàâ‘ ܑÂàâ‘Âàâ‘ é‘Âæ‘ é‘ÂÀߑ€ّ БÂ@Ó‘ÂÍ‘ÂÀÆ‘Â@Ó‘Â`֑ ܑÂàâ‘Âàâ‘Âàâ‘Âàâ‘ ܑÂ@Ó‘Â`֑ Б Б ÑÂ@Ó‘ÂàÉ‘ÂàÉ‘ÂÀƑ€ّ€ّ Б€ّÂàÉ‘ÂàÉ‘Âàɑ ·‘ÂÀƑ Ñ БÂ@Ó‘ÂÀÆ‘Âàɑ€ّ БÂ`֑ ܑ БÂÀÆ‘ÂÀƑ€À‘ ÑÂÀƑ Б€ّ Б Б БÂ@ӑ ÑÂàɑ БÂàÉ‘Â@Ó‘ÂÍ‘Â`֑ ܑÂ`Ö‘Â͑ Б Б Б Ñ ÑÂÀÆ‘ÂÀƑ Ñ ª‘ ª‘ÂÀ­‘ÂÀ­‘Â@º‘ÂàÉ‘ÂàÉ‘ÂÀƑ ÑÂ@º‘Âà°‘Â@º‘Â@º‘Â`½‘ Ñ€À‘Â`½‘´‘€§‘€§‘Â@¡‘€§‘ ª‘ ª‘Â`½‘ ·‘€À‘ÂÀƑ ÑÂ`½‘Â`½‘€À‘Â`½‘Â`½‘€À‘´‘Âà°‘Â`¤‘Â఑ ª‘ ª‘Âà°‘Â@º‘´‘Â`½‘€À‘ ÑÂÀÆ‘Â`½‘Â@º‘Â`½‘Â@º‘Â`½‘ ÑÂ͑€ّÂ@Ó‘Â͑ БÂàÉ‘Â`½‘Â`½‘ ·‘Âà°‘Â@º‘ ·‘´‘Â@¡‘Â@¡‘ ž‘ ª‘€§‘ ž‘ ª‘€À‘ ·‘ ·‘Âà°‘Âà°‘Â ·‘ ·‘Â@º‘Â`½‘ÂÀƑ ÑÂ@º‘´‘ÂÀ­‘Âà°‘Âà°‘ÂÀ­‘€§‘€§‘ ª‘ÂÀ­‘Â@¡‘€§‘Â`¤‘Â@¡‘Â`¤‘ ª‘Â`¤‘ ª‘Â`¤‘Âà—‘Âà—‘Â ž‘Â@¡‘ ž‘Âà—‘Â€§‘ ž‘Â`¤‘Â`¤‘Â@¡‘€§‘›‘Âà—‘Â›‘Â@¡‘ ž‘´‘ÂÀ­‘€§‘€§‘Â`¤‘ÂÀ”‘ ‘‘›‘Â@¡‘›‘Â`‹‘ ž‘ ž‘Â@¡‘€§‘ÂÀ­‘Âà°‘Â`½‘Âà°‘Â఑ ª‘ ·‘ ª‘ÂÀ­‘€§‘€§‘€§‘ ž‘ ‘‘ ‘‘Â`‹‘Â`‹‘Âà—‘Â›‘Â@¡‘›‘ ž‘Â@¡‘ ª‘€§‘ ª‘€§‘ ž‘ ž‘Âà—‘Â›‘›‘Â`¤‘Âà—‘Â`¤‘ ž‘Â€Ž‘Â`‹‘Â€Ž‘Â ‘‘ ‘‘Âà—‘ÂÀ”‘Âà—‘Â@¡‘€§‘ÂÀ­‘€§‘Â`¤‘Âà—‘Â ž‘Âà—‘Â ‘‘Âà—‘Â ž‘€§‘ÂÀ”‘Â@¡‘ ž‘€§‘Â@¡‘Â`¤‘Âà—‘Â@¡‘´‘Âà°‘Â`¤‘ ª‘ ž‘ ž‘ÂÀ”‘›‘›‘€§‘Âà°‘Â ·‘Âà°‘Â`¤‘Â`¤‘ ž‘ ž‘Âà—‘ÂÀ”‘ÂÀ”‘Âà—‘Â ž‘Âà—‘Â`¤‘ ž‘Â`¤‘€§‘€§‘ ª‘Âà°‘ÂÀ­‘ ª‘Â`¤‘Â`¤‘ ª‘€§‘Â`¤‘€§‘€§‘€§‘€§‘ ª‘ ª‘ÂÀ­‘´‘Â`¤‘Â@¡‘Â`¤‘€§‘ ª‘€§‘ ·‘ÂÀ­‘ ª‘Â`¤‘›‘ ‘‘›‘ ž‘ ª‘ÂÀ­‘Â఑´‘Â`½‘ ÑÂ@º‘Âà°‘Â@º‘Â`½‘Â`½‘ÂÀ­‘Â`¤‘Â@¡‘ÂÀ­‘€§‘ ª‘Â@¡‘ ž‘€§‘€§‘Â఑ ª‘´‘ ·‘€À‘´‘Â@º‘´‘Â`¤‘Â`¤‘ ª‘Âà°‘Âà°‘ÂÀ­‘Â`¤‘Â@¡‘ ž‘ ‘‘Â`¤‘ ž‘Â`¤‘›‘Â€Ž‘Âà—‘Â€Ž‘Â€Ž‘Â`‹‘Â€Ž‘Â`‹‘Â€Ž‘Â ‘‘Âà—‘Â`¤‘€§‘ ž‘Â`¤‘Â`¤‘€§‘€§‘Â`¤‘Â`¤‘ ª‘Â@º‘´‘ÂÀ­‘Â`¤‘ ª‘´‘ ª‘ ª‘Â@¡‘Âà—‘Â ž‘Â@¡‘ ª‘Â`¤‘ ª‘Â఑€§‘Âà°‘Â`¤‘ ž‘Â@¡‘Â`¤‘›‘ ž‘›‘Â`¤‘ ª‘Â`¤‘›‘ ‘‘ÂÀ”‘Â@¡‘Â`¤‘ ª‘´‘ÂÀ­‘ ž‘ ž‘ÂÀ”‘Âà—‘Â€Ž‘Â ‘‘Âà—‘Âà—‘Â ž‘€§‘Â`¤‘ ž‘›‘Âà—‘Âà—‘Â`¤‘Â`¤‘ ž‘Âà—‘Â€§‘ ª‘ ž‘€§‘Â@¡‘Â@¡‘Âà—‘Âà—‘ÂÀ”‘ ž‘ ž‘Â@¡‘ ª‘ ž‘›‘ ‘‘ ž‘Âà—‘ÂÀ”‘Â€Ž‘ÂÀ”‘›‘Âà—‘Â@¡‘€§‘Âà°‘Âà°‘Â ·‘ Ñ ÑÂ@º‘Â@º‘Â఑´‘ÂÀ­‘ ª‘ ª‘Âà°‘Â`¤‘›‘ ž‘ ª‘€§‘Â`¤‘ ª‘Âà°‘Â`½‘€À‘€À‘ ·‘Â఑´‘ ·‘ ·‘Âàɑ Ñ ·‘Â`½‘ ·‘ ·‘Â఑´‘Â@º‘ ÑÂ@º‘Â@º‘ Ñ ·‘ Ñ Ñ€À‘ÂàÉ‘ÂÀƑ Ñ Ñ ·‘ ·‘ ·‘ ·‘Â఑´‘Â`½‘€À‘ÂÀƑ БÂàɑ€À‘Â@º‘ÂÀÆ‘Âàɑ ÑÂ`½‘ ·‘ ·‘´‘Â఑´‘Â`½‘€À‘ ÑÂÀÆ‘ÂàÉ‘Â@Ó‘Â@Ó‘Âàɑ БÂ`Ö‘Â`Ö‘ÂÀÆ‘ÂÍ‘ÂÀÆ‘ÂÀÆ‘Âàɑ БÂàÉ‘ÂÀƑ ܑÂ@Ó‘Â`Ö‘Â`Ö‘Â@ӑ ܑ€ّ БÂ`Ö‘Âàâ‘Âàɑ БÂàɑ Ñ БÂ͑ Б БÂÍ‘Â`֑ БÂ@Ó‘Âàɑ Ñ€À‘Â@Ó‘Â@ӑ БÂ`Ö‘Â`Ö‘Âàɑ БÂ`Ö‘Âàâ‘Âàâ‘Âàâ‘ ܑ ܑÂ`Ö‘Â@Ó‘Â`Ö‘Â`֑ БÂÍ‘ÂÍ‘ÂÍ‘Â@ӑ Б БÂ`½‘€À‘Âàɑ Ñ ÑÂàɑ ÑÂàɑ Б Б€ّÂ`Ö‘Â@ӑ€ّÂ@ӑ Б ÑÂàÉ‘ÂÀß‘Â`֑ Б Б€À‘€À‘Âà°‘Âà°‘Â ·‘ ·‘€À‘Â@º‘ ·‘€À‘€À‘ ÑÂÍ‘ÂàÉ‘ÂÍ‘ÂÍ‘Âæ‘€ّÂ@Ó‘ÂàÉ‘ÂÀÆ‘ÂÀƑ ÑÂ`½‘€À‘ ÑÂÀƑ ÑÂ@º‘Â`½‘Â@º‘´‘Â఑ ª‘ÂÀ­‘ ª‘ÂÀ­‘ÂÀ­‘ ·‘ ª‘Â`¤‘ÂÀ­‘´‘ ·‘Â@º‘Â@º‘Â`½‘ ÑÂ@º‘´‘´‘´‘€À‘Â`½‘´‘´‘ ·‘´‘€À‘Â@º‘€À‘ÂÀÆ‘Â`½‘ Ñ´‘ ·‘€À‘€À‘Â@º‘€À‘´‘Â@º‘Â`½‘€À‘ ·‘ ·‘Â`½‘ÂÀÆ‘ÂàÉ‘Â`½‘Â@º‘ ·‘´‘´‘Â@º‘Â`½‘Â`½‘€À‘´‘´‘ ª‘Âà°‘Â@º‘´‘Â఑ ª‘Â@º‘ ·‘Â`½‘€À‘ÂÀÆ‘Â@º‘ ·‘Â`½‘€À‘Â͑ ÑÂ`½‘ ª‘ ª‘´‘ ª‘Â@¡‘ ·‘Â`½‘´‘ÂÀ­‘´‘ Ñ ·‘ ª‘Âà°‘Â@º‘ÂÀƑ Б Б БÂàÉ‘ÂÍ‘ÂàÉ‘Âàɑ€À‘ Ñ Б БÂ`½‘ÂÀÆ‘ÂàÉ‘ÂàÉ‘ÂÍ‘Âàɑ€À‘Â`½‘Â`½‘ ÑÂ͑€À‘ ÑÂ`½‘ÂÀƑ Ñ ·‘€À‘ÂàÉ‘Â͑ ÑÂàÉ‘Â`Ö‘Â`Ö‘ÂÀß‘Â`Ö‘Â@Ó‘Â`Ö‘ÂÍ‘Âàɑ ÑÂàɑ ÑÂ`½‘Â`½‘Â`½‘Âàɑ БÂ@Ó‘ÂàÉ‘Â@Ó‘Â@Ó‘Â`֑ БÂ@Ó‘Â͑ Б€ّ ܑÂÀߑ ܑ ܑÂ`Ö‘ÂàÉ‘Âàɑ Б БÂ`֑ БÂàɑ€À‘ÂàÉ‘Â@Ó‘Â@Ó‘ÂàÉ‘Â`Ö‘Â@Ó‘ÂÍ‘Â`Ö‘Â`Ö‘ÂÀß‘Âæ‘Âàâ‘ÂÀÆ‘ÂÀÆ‘Â`֑€ّÂ@Ó‘Â`֑ ܑ Б€ّ€ّ ܑÂàâ‘ é‘ é‘ é‘ é‘ é‘ ܑÂÀß‘Â@Ó‘ÂàÉ‘Âàɑ€À‘ Ñ Ñ ÑÂàɑ ÑÂ͑ БÂÀÆ‘Âàɑ ÑÂ`½‘ÂàÉ‘ÂÀÆ‘Âàɑ ܑ Б€ّ ܑÂàâ‘Âàâ‘Âæ‘ ܑ€ّÂàâ‘Â`֑ ܑÂÀߑ€ّ БÂàÉ‘ÂÍ‘Â`֑ ܑÂàâ‘Â@Ó‘Âàɑ БÂ`Ö‘ÂÀß‘Âæ‘ ܑ БÂÍ‘ÂÍ‘Â@Ó‘ÂàÉ‘ÂàÉ‘ÂàÉ‘ÂÀƑ Ñ ·‘Âàɑ€À‘ÂÀƑ ÑÂ`½‘ ÑÂàÉ‘ÂàÉ‘Â`½‘€À‘Âàɑ БÂ`Ö‘Â@Ó‘ÂÍ‘Âàɑ Б БÂ@º‘´‘ Ñ ÑÂ@ӑ ÑÂàÉ‘Â`½‘Âà°‘ÂÀ­‘´‘´‘Â@º‘Â`½‘ÂàÉ‘ÂÀÆ‘Â`½‘Âà°‘Â ·‘ ª‘Âà°‘Â ·‘ ·‘€À‘Â@º‘Â`½‘Â@º‘Â`½‘ Ñ ÑÂà°‘Â@¡‘ ž‘Â@¡‘Â@¡‘Â@¡‘ ª‘Â`¤‘Â@¡‘Âà—‘Â›‘ÂÀ”‘›‘ ª‘Â@¡‘Â@¡‘›‘Â`¤‘ ž‘ ž‘Âà—‘Â ž‘ ª‘€§‘ÂÀ”‘Â`¤‘€§‘ ª‘Â@¡‘Â`¤‘ÂÀ­‘ ª‘ ª‘ ž‘›‘ÂÀ”‘ÂÀ”‘Â`‹‘Â`‹‘ ‘‘ ‘‘ ž‘ ‘‘Â€Ž‘Âà—‘Âà—‘Â ‘‘ …‘ÂÀ”‘Âà—‘Â ‘‘Â€Ž‘Â`‹‘ …‘ÂÀ{‘‚‘ x‘ x‘Âà~‘ …‘‚‘ …‘Âà~‘‚‘‚‘ …‘ÂÀ{‘ÂÀ{‘Âà~‘‚‘ …‘‚‘ …‘Âà~‘Âà~‘ x‘ x‘ l‘ l‘ l‘ l‘ l‘€u‘ l‘Â@o‘ l‘€u‘ x‘Â`r‘ l‘€u‘Â@o‘Âi‘ l‘Â`r‘Â`r‘Â`r‘ l‘Â@o‘Â@o‘ÂÀ{‘Âà~‘Â@o‘ l‘Âi‘Â@o‘€u‘Âà~‘ …‘Âà~‘ x‘ x‘Â@o‘Â@o‘Â`r‘Â`r‘ x‘Â`r‘Â`r‘Â@o‘ x‘Âà~‘ x‘Â`r‘Â`r‘ l‘ l‘ l‘Âi‘ x‘€u‘Â@o‘Âi‘Âàe‘Âi‘Â@o‘ÂÀb‘ l‘Â`r‘Âà~‘ x‘Â`r‘ x‘ x‘Â`r‘Âi‘ÂÀb‘ l‘ x‘ x‘ÂÀ{‘ x‘ x‘Âàe‘ _‘ÂàL‘Â@V‘Â`Y‘€\‘Âàe‘Âàe‘ l‘Â`r‘‚‘ x‘Â`r‘Âàe‘Â@o‘Âàe‘ _‘ÂÀb‘Â@o‘Â`r‘Â@o‘Âàe‘Âàe‘ _‘ÂP‘€\‘ S‘ S‘Â`Y‘ _‘Â`Y‘€\‘ _‘ _‘ _‘ _‘ÂÀb‘ÂÀb‘€\‘ S‘Â@V‘ÂÀb‘Âàe‘Âàe‘ÂÀb‘ _‘ _‘Â`Y‘ S‘ÂP‘ S‘Â`Y‘Âi‘Â`r‘ x‘ l‘Â@o‘Âàe‘Âi‘ l‘€\‘€\‘Âi‘ l‘Â`r‘Â`r‘ l‘ l‘Âi‘ l‘Âi‘Âi‘ l‘Âi‘Âàe‘ l‘Â@o‘Âi‘Âi‘ l‘ l‘ l‘ l‘ l‘ÂÀb‘ l‘ l‘Â`r‘Âi‘ÂÀb‘ l‘Âi‘Âàe‘ _‘ _‘ÂÀb‘Âàe‘ l‘€\‘Âàe‘ÂÀb‘ _‘ _‘ _‘€\‘Â`Y‘ _‘ _‘ _‘ _‘Âàe‘Âàe‘Â`r‘Â`r‘ l‘ l‘Âi‘ l‘ l‘Âi‘ l‘Âàe‘ l‘Â@o‘ l‘Â`r‘ l‘ l‘Âàe‘Âàe‘ l‘Â@o‘€u‘Â`r‘Â@o‘Â`r‘Â@o‘ÂÀb‘ l‘Â@o‘ x‘Â@o‘Â@o‘ l‘Âàe‘Âi‘Â`r‘ x‘€u‘ x‘Â@o‘ x‘ l‘Âàe‘Â`r‘ l‘Âàe‘Âàe‘Â@o‘Â@o‘ l‘Â@o‘€u‘ l‘Âi‘Âàe‘ l‘ x‘ x‘ÂÀb‘€\‘Â`Y‘Âi‘Â`r‘Âàe‘ _‘ÂÀb‘ x‘€u‘€u‘Â`r‘Â`r‘Âàe‘ l‘ l‘Â`r‘ÂÀ{‘ x‘Â@o‘Âàe‘ l‘ _‘ÂÀb‘ l‘ x‘ x‘Â`r‘ x‘€u‘ÂÀ{‘€u‘ …‘ x‘Â@o‘ x‘Â`r‘ÂÀ{‘€u‘Â@o‘Â@o‘ l‘ x‘Âà~‘Â€Ž‘Â`‹‘Â€Ž‘Â ‘‘ ‘‘ ‘‘ÂÀ”‘ ‘‘‚‘Âà~‘€u‘Âàe‘Âàe‘Âàe‘Â@o‘ x‘Â`‹‘ x‘ x‘€u‘ l‘ _‘ _‘ÂÀb‘ÂÀb‘ l‘ l‘€u‘ x‘€u‘‚‘ÂÀ{‘ x‘€u‘ x‘ÂÀ{‘ x‘Âi‘ÂÀb‘Âàe‘€u‘€u‘Â`r‘Â`r‘Â`r‘Â`r‘Â@o‘Â@o‘ÂÀ{‘Â`r‘€u‘Âà~‘ …‘‚‘‚‘ÂÀ{‘ x‘Âà~‘ x‘ x‘€u‘ l‘ l‘Â`r‘Â`r‘Âi‘ _‘Âi‘ l‘€u‘Âà~‘Â`‹‘ …‘€u‘‚‘Â`‹‘Âà~‘ x‘Â@o‘€u‘Âi‘Âi‘Âàe‘Âi‘ l‘Â@o‘ l‘ l‘€u‘ x‘€u‘ _‘ l‘Âi‘ l‘€u‘ l‘Âàe‘ l‘ l‘Âi‘Âàe‘Âàe‘ _‘€\‘€\‘Âàe‘€\‘ _‘Â`Y‘ _‘€\‘€\‘ _‘ÂÀb‘ _‘ l‘Â@o‘Âi‘Âàe‘Âàe‘€u‘€u‘Â`r‘€u‘Â`r‘ÂÀb‘ l‘Â@o‘ _‘ÂÀb‘Â@V‘€\‘Âàe‘Âàe‘Â@o‘€u‘Âàe‘Âàe‘ _‘Âàe‘ _‘Â@V‘Â@V‘ _‘ l‘Â`r‘Âàe‘ _‘Âàe‘ _‘€\‘ l‘Âàe‘Â`Y‘€\‘ÂP‘ÂàL‘Â`Y‘ S‘Â`Y‘ÂÀb‘Âàe‘ÂÀb‘€\‘ _‘Âi‘Âàe‘ _‘Âàe‘Â@o‘ _‘Â`Y‘ F‘ÂP‘ S‘Â`Y‘Â`Y‘€\‘Â`Y‘ S‘ F‘ F‘Â`@‘€C‘ÂàL‘ S‘€\‘ _‘ _‘ S‘ _‘€\‘€\‘Â@V‘ S‘ÂàL‘ÂàL‘ÂàL‘ S‘ÂP‘Â@V‘Â`Y‘ÂàL‘ S‘€C‘ÂÀI‘ S‘Â`Y‘Â@V‘ÂàL‘ S‘ÂÀI‘ S‘ S‘ S‘ S‘€\‘€\‘Â@V‘Â`Y‘ÂàL‘ F‘ :‘ÂÀ0‘Â`@‘Â`@‘ÂàL‘ S‘ F‘ÂàL‘ F‘ F‘Â`@‘ F‘€C‘€C‘ÂàL‘ÂàL‘ÂP‘ S‘ÂP‘ÂàL‘ÂP‘ S‘Â`Y‘ÂàL‘€C‘ F‘ÂÀI‘ÂàL‘€C‘ S‘ÂàL‘€C‘Â`@‘Â@=‘€C‘ F‘€C‘ÂP‘ÂP‘ÂP‘ÂàL‘ S‘ S‘Â@V‘ÂP‘ÂP‘ÂàL‘ F‘Â@=‘ :‘Â7‘Â`@‘Â@=‘Â`@‘ÂP‘ F‘€C‘ÂP‘ F‘€C‘Â@=‘ F‘ :‘Â`@‘ :‘ÂÀI‘ÂàL‘ÂÀI‘ÂP‘ÂàL‘ S‘Â`Y‘ S‘ÂÀI‘ F‘ F‘ÂÀI‘€C‘€C‘ F‘ S‘ÂàL‘ F‘ÂàL‘Â`Y‘Â`Y‘ S‘Â@V‘Âàe‘ _‘ÂÀb‘€\‘€\‘ _‘ l‘Â@o‘Âàe‘€\‘Â@V‘Â@V‘ F‘ÂÀI‘Â@V‘€\‘ÂÀb‘ _‘Âàe‘Â`Y‘ _‘ l‘ x‘€u‘ l‘ l‘Â`Y‘ _‘ l‘Â`r‘ÂÀ{‘Â@o‘ÂÀ{‘Âà~‘ x‘ l‘ l‘€u‘‚‘ ‘‘ x‘Âàe‘ÂÀb‘ _‘ _‘ _‘Âàe‘Â@o‘Â@o‘ l‘ _‘Âàe‘€u‘Â`r‘€u‘Â@o‘ l‘ l‘ _‘Âàe‘Â@o‘Â`r‘ l‘€u‘Â`r‘€u‘ x‘ l‘ _‘Âàe‘ l‘Âi‘Âi‘ l‘Âàe‘ l‘ÂÀb‘Âàe‘Âi‘€u‘Â`r‘ÂÀb‘€u‘ x‘ x‘Âà~‘ …‘ x‘Â@o‘€u‘Âà~‘Â@o‘Âi‘Â@o‘ x‘ÂÀ{‘‚‘Â`r‘ x‘ x‘Âà~‘ÂÀ{‘ x‘Âà~‘Âà~‘ÂÀ{‘€u‘‚‘ x‘ x‘Â`r‘‚‘Â@ˆ‘ ‘‘Â€Ž‘ÂÀ”‘Â€Ž‘ÂÀ{‘Âà~‘ÂÀ{‘Âà~‘ x‘ x‘ …‘Â€Ž‘Â ‘‘Â@ˆ‘Âà~‘ x‘ …‘‚‘Â`r‘ x‘€u‘ x‘ x‘‚‘Â`r‘€u‘Â`r‘ÂÀ{‘ …‘ …‘‚‘ x‘ x‘€u‘Â`r‘€u‘Âàe‘ l‘Â`r‘Â`r‘€u‘‚‘‚‘Âà~‘ …‘‚‘Â`‹‘ …‘Â@ˆ‘Â`‹‘Â€Ž‘Â …‘Â€Ž‘Â`‹‘ ‘‘Â`‹‘ …‘ ‘‘‚‘‚‘‚‘ x‘€u‘ x‘ x‘Â`r‘ x‘Â`r‘Â`r‘ x‘Âà~‘Âà~‘ x‘Âà~‘‚‘‚‘‚‘Âà~‘Â`‹‘ x‘Âà~‘Âà~‘‚‘ x‘ l‘ …‘Â`‹‘Â€Ž‘Â …‘Âà~‘ÂÀ{‘ÂÀ{‘Â`r‘€u‘ x‘Âi‘ x‘€u‘Âà~‘€u‘Âà~‘ÂÀ{‘ÂÀ{‘€u‘Âà~‘Âi‘€u‘Â@o‘Âàe‘ l‘€u‘ÂÀ{‘ÂÀ{‘Âà~‘ÂÀ{‘ÂÀ{‘Âà~‘‚‘ÂÀ{‘Âà~‘€u‘ x‘€u‘€u‘ …‘Âà~‘‚‘ …‘ …‘‚‘€u‘ …‘Â`‹‘ ‘‘ÂÀ”‘ …‘Â@ˆ‘ …‘‚‘ÂÀ{‘ÂÀ{‘ x‘ x‘Âàe‘Âi‘Â`r‘Â@o‘Âàe‘€u‘Â`r‘Â`r‘€u‘ l‘Âi‘ÂÀb‘Âi‘Âàe‘ l‘Â@o‘Âi‘Âi‘ l‘Âi‘Â@o‘ l‘Âàe‘ l‘Â`r‘ l‘Â@o‘ l‘Â@o‘€u‘€u‘ÂÀb‘ _‘ _‘Â`Y‘Â`Y‘Â`Y‘ _‘ÂÀb‘Âàe‘Âàe‘Âi‘Â`r‘€u‘Âà~‘€u‘ x‘ x‘Â`r‘ x‘Â@o‘ x‘ l‘ l‘Â@o‘ l‘ _‘ S‘Âàe‘ÂÀb‘ _‘Â@V‘€\‘ _‘Âi‘Âàe‘Âàe‘Â`r‘ l‘Âi‘ l‘Âi‘Âàe‘ _‘Â`Y‘ _‘Âàe‘€u‘ÂÀ{‘Â`r‘ l‘ x‘ÂÀ{‘ÂÀ{‘€u‘€u‘ÂÀ{‘Â`r‘Âàe‘Â`Y‘Âi‘ l‘ l‘Â@o‘Â@o‘Â`r‘ l‘Âàe‘ _‘€\‘ _‘Âàe‘ l‘ l‘ l‘ l‘Â`r‘€u‘ x‘Â@ˆ‘ÂÀ{‘Âà~‘€u‘Â`r‘ l‘Â@o‘Â@o‘ l‘ l‘ÂÀb‘ _‘ÂÀb‘ _‘ÂÀb‘Â@o‘Âi‘Âàe‘Â@o‘Â@o‘Âàe‘ l‘€u‘ÂÀ{‘ x‘ l‘ l‘Âi‘Âàe‘Âi‘ l‘Â`r‘Âà~‘Â`‹‘ …‘ …‘ÂÀ{‘ x‘ l‘Âàe‘Âàe‘Â`r‘ÂÀ{‘ x‘Âà~‘‚‘ÂÀ{‘€u‘€u‘€u‘Â`r‘Â`r‘ x‘€u‘Â@o‘ x‘Â@o‘Â`r‘ l‘ l‘Â@o‘€u‘Â`r‘Âàe‘Âàe‘ _‘€\‘€\‘€\‘Âi‘Âàe‘ l‘Âàe‘€u‘Â@o‘ l‘Â`r‘Âà~‘Â`r‘ l‘Â@o‘Âi‘ l‘ÂÀ{‘Âà~‘Â`r‘ l‘Â@o‘Â`r‘Âà~‘ÂÀ{‘ …‘Â€Ž‘Âà~‘ÂÀ{‘ x‘ x‘Âà~‘Âà~‘Âà~‘ x‘ x‘ x‘Â@o‘ x‘ x‘Â@o‘Âi‘ _‘Âàe‘ _‘€\‘Âàe‘Â`r‘Âà~‘ÂÀ{‘€u‘ÂÀ{‘‚‘‚‘ x‘€u‘ …‘ …‘Â@ˆ‘ …‘‚‘‚‘ …‘Â`‹‘Âà~‘€u‘€u‘ x‘ x‘‚‘Â€Ž‘Â€Ž‘Â`‹‘Â`‹‘Âà—‘Â`‹‘ …‘ÂÀ{‘ …‘Â`‹‘Âà~‘Âà~‘Â@ˆ‘ ‘‘ ‘‘‚‘ ‘‘Â@ˆ‘ …‘ …‘ …‘ x‘Âà~‘Â€Ž‘Âà—‘Âà—‘Â ‘‘ÂÀ”‘ ‘‘ ž‘ ª‘Â`¤‘ ž‘ ž‘ ž‘›‘Âà—‘Â`‹‘Âà—‘Â`¤‘ ž‘ ž‘ ž‘Âà—‘Â`‹‘Â`‹‘Â€Ž‘Â‚‘ÂÀ{‘‚‘‚‘ …‘‚‘Â€Ž‘Â€Ž‘Â …‘Âà—‘ÂÀ”‘ÂÀ”‘ÂÀ”‘Â`¤‘Â`¤‘ ž‘›‘ ž‘Âà—‘ÂÀ”‘Â€Ž‘Â`‹‘Â`‹‘ …‘Â@ˆ‘Âà—‘Â@¡‘›‘›‘ÂÀ”‘ ‘‘Âà—‘Âà—‘Â@¡‘€§‘›‘€§‘´‘ ·‘ ª‘Â@¡‘ ª‘Â`¤‘€§‘ ž‘›‘ ž‘Â@¡‘›‘ ª‘Â఑ ª‘ÂÀ­‘ÂÀ­‘ ª‘ ž‘Â`¤‘›‘ ž‘€§‘Â@¡‘ ª‘€§‘Â఑ ª‘ ª‘Â@¡‘ ª‘ ·‘€À‘€À‘ ·‘ ·‘Â఑ ª‘Â`¤‘ ž‘ ž‘ ž‘Âà—‘Âà—‘Â€§‘Â`¤‘ ª‘Â`¤‘Âà—‘Â ‘‘Â€Ž‘Â ‘‘ÂÀ”‘ ‘‘ ‘‘ ž‘Â`¤‘Âà°‘Â఑€§‘€§‘Â`¤‘ ž‘Â`¤‘›‘Âà—‘Â ž‘€§‘›‘Âà—‘Â ‘‘Â`¤‘ ž‘ ž‘ ž‘Â@¡‘Â@¡‘Âà—‘ÂÀ­‘€§‘ ª‘ ž‘€§‘Â఑´‘ ·‘´‘Âà°‘ÂÀ­‘Â@¡‘Â@¡‘ ž‘ ž‘ ª‘ ª‘Â`¤‘ÂÀ­‘ ª‘Â఑€À‘ ·‘Â`½‘´‘´‘ÂÀ­‘ ·‘ ª‘Â`¤‘Â@¡‘ ª‘ÂÀ­‘Â`¤‘ ž‘ ‘‘ ‘‘Âà—‘Â ž‘€§‘Â@¡‘€§‘Â`¤‘Â@¡‘ ª‘ ª‘€§‘Â`¤‘›‘Â@¡‘Â`¤‘Âà—‘Â ž‘€§‘ ª‘Â@º‘Â@º‘Âà°‘Â`½‘ ·‘ ·‘Â`½‘ ·‘Â`½‘ ÑÂÍ‘Â@º‘´‘ ·‘Â`½‘ÂÀÆ‘ÂàÉ‘Â@º‘ ·‘Â@º‘ ·‘ÂÀ­‘€§‘ ª‘ÂÀ­‘ ª‘ ª‘ÂÀ­‘Âà°‘Â఑´‘ ·‘ Ñ ÑÂ`֑ Б ÑÂ`½‘ÂÀƑ ÑÂÀƑ ÑÂÀÆ‘Â`½‘ÂÀÆ‘Â@º‘Â`½‘ ÑÂàÉ‘ÂÀƑ€À‘Â`½‘Â`½‘´‘ÂÀ­‘Â`¤‘ ª‘Â@º‘€À‘Â@º‘Âà°‘Âà°‘Â ·‘Â఑ ª‘´‘Â`½‘ Ñ Ñ БÂàÉ‘Âàɑ€À‘ ÑÂàÉ‘Â͑ Ñ ÑÂÀÆ‘ÂÀƑ Ñ€À‘ÂÀÆ‘Â@º‘€À‘Â`½‘ÂÀƑ€À‘ Ñ Ñ ÑÂ@Ó‘Â͑€À‘ ÑÂ`½‘ Ñ ÑÂàɑ ·‘Â`½‘´‘Âà°‘Â`½‘Â`½‘ ÑÂÀƑ Ñ Ñ Ñ ÑÂ`½‘ ÑÂ@º‘´‘ÂÀ­‘ÂÀ­‘ÂÀ­‘€À‘€À‘Â`½‘Â`½‘Â@º‘ ·‘Â@º‘Â@º‘Âà°‘ÂÀ­‘´‘ Ñ€À‘Â`½‘ ·‘´‘ÂÀÆ‘ÂÍ‘Â@Ó‘ÂàÉ‘Â@ӑ БÂàɑ Ñ€À‘Â`½‘Â`½‘€À‘´‘ ·‘ ·‘´‘ ·‘Â`½‘ Ñ Ñ Б БÂÍ‘ÂàÉ‘Âàɑ Ñ Ñ ÑÂàÉ‘ÂàÉ‘ÂàÉ‘ÂàÉ‘ÂÍ‘ÂÍ‘Âàɑ ÑÂàÉ‘ÂÀÆ‘ÂàÉ‘Â`½‘ÂÀÆ‘ÂÀƑ ÑÂ`½‘ Ñ Ñ ÑÂÀƑ ÑÂ@Ó‘ÂÍ‘Â@ӑ Б ܑ БÂÍ‘ÂÀÆ‘ÂÀƑ Б€ّÂàâ‘€ّ€ّ€ّÂÍ‘Â͑ Ñ ÑÂàÉ‘ÂÀÆ‘ÂÀÆ‘ÂÀƑ БÂÀƑ Ñ Ñ ÑÂàɑ Б ÑÂÍ‘Â`½‘€À‘ÂÀÆ‘ÂÍ‘Â@Ó‘Â`֑ БÂÍ‘Â`Ö‘Â@ӑ€À‘Â`½‘€À‘ ÑÂ@º‘ ·‘Â`½‘€À‘Â`½‘ ÑÂàÉ‘ÂÍ‘Â͑€À‘ БÂ`֑ Б€À‘ÂÍ‘Âàɑ ÑÂàɑ ÑÂÀÆ‘Â@Ó‘Â`Ö‘Â͑€À‘Âàɑ€À‘€À‘ÂÀÆ‘ÂàÉ‘ÂÀƑ ·‘´‘Â఑€À‘Â`½‘ Ñ Б БÂàÉ‘ÂÍ‘Âàɑ€À‘€À‘Âàɑ БÂ`֑ ܑÂ`֑€ّÂ@Ó‘ÂÀÆ‘ÂÍ‘ÂàÉ‘ÂÍ‘Âàɑ Б Б€ّ БÂ`֑€ّÂÀß‘Â@ӑ БÂ@Ó‘ÂàÉ‘Âàɑ Ñ ÑÂàɑ Ñ€À‘Â`½‘ÂÀÆ‘ÂÀƑ ÑÂ`½‘€À‘Â@ӑ Б БÂàɑ БÂ`Ö‘Âàɑ€ّÂÍ‘ÂÍ‘Âàɑ ÑÂàÉ‘Â͑ БÂ`Ö‘Â@Ó‘Â͑ ÑÂ`½‘Âàɑ Б Б БÂ@ӑ БÂ@Ó‘Â`Ö‘Â͑ Б БÂàÉ‘Â`֑€ّÂ`Ö‘ÂÍ‘Â`½‘Â@º‘ ÑÂàÉ‘Â`½‘€À‘ Ñ Ñ Ñ Ñ БÂ͑ Б БÂàÉ‘Âàɑ БÂ@Ó‘ÂàÉ‘Â`Ö‘ÂÍ‘ÂÍ‘ÂÀÆ‘Â`½‘ Ñ ÑÂÀÆ‘Â@ӑ Б Б ÑÂ@º‘ÂÀƑ€À‘€À‘ Ñ БÂ`֑€ّÂ@ӑ БÂÍ‘Â@Ó‘ÂÀÆ‘ÂàÉ‘ÂàÉ‘Âàɑ ÑÂ@º‘Â`½‘´‘´‘Â఑´‘ÂÀ­‘ ª‘ ž‘›‘Â`¤‘Â`¤‘€§‘Â`¤‘€§‘Â@¡‘›‘€§‘Â఑€§‘Âà°‘Âà°‘Âà°‘Â@º‘Â`½‘€À‘´‘Âà°‘Â@º‘Â`½‘ ·‘ ·‘ÂÀ­‘ ž‘Â`¤‘Â@¡‘€§‘ ª‘€§‘Â@¡‘ ž‘ ž‘ ž‘Â`¤‘ ª‘ ª‘ ª‘ÂÀ­‘€§‘Â`¤‘Â`¤‘Â`¤‘Â@¡‘Âà—‘Â›‘Âà—‘Â ž‘Â`¤‘ ž‘ ž‘€§‘€§‘€§‘ ª‘ ž‘Â`¤‘ ž‘Â@¡‘€§‘Â`¤‘Â@¡‘€§‘€§‘ÂÀ­‘Âà°‘Â ·‘´‘´‘ ·‘ ·‘ ª‘Âà°‘ÂÀ­‘Â`¤‘ ž‘›‘Âà—‘ÂÀ­‘ ž‘Â`¤‘Â`¤‘ ž‘Âà—‘Â ‘‘ÂÀ”‘Âà—‘ÂÀ”‘ ‘‘ÂÀ”‘Âà—‘Â@¡‘Â`¤‘›‘Âà—‘Âà—‘Âà—‘ÂÀ”‘Â`‹‘ ‘‘ ‘‘ÂÀ”‘Â@¡‘›‘Âà—‘Â ª‘Â఑ ª‘Âà°‘Âà°‘Âà°‘Â`¤‘Âà—‘Â›‘€§‘€§‘ÂÀ­‘´‘ ª‘Âà°‘Â`½‘Â`¤‘ ž‘€§‘´‘´‘ ª‘€§‘ ª‘ ·‘ÂÀ­‘€§‘ ž‘€§‘€§‘Â`¤‘€§‘Âà°‘Â఑´‘Â`¤‘ ž‘€§‘ÂÀ”‘ ‘‘ÂÀ”‘Âà—‘Â@¡‘ ª‘ÂÀ­‘ÂÀ­‘€§‘ ª‘Â`¤‘€§‘ ª‘ ·‘Â఑ ª‘€§‘ÂÀ­‘ÂÀ­‘ ž‘›‘Â@¡‘Â@¡‘ ž‘ ž‘Â`¤‘ ª‘Â@¡‘Â`¤‘Â@¡‘€§‘€§‘€§‘€§‘ ž‘ ž‘ ž‘ ž‘Â@¡‘ ž‘Âà—‘Â@¡‘Âà—‘Â ž‘›‘ ‘‘ ž‘ ž‘ ž‘Â@¡‘€§‘Â@¡‘ ž‘ ž‘Â@¡‘›‘ ž‘›‘Âà—‘Â ž‘ ž‘ ‘‘›‘ ž‘›‘Â€Ž‘Â`‹‘ …‘Â`‹‘Âà—‘Â`‹‘Â€Ž‘Âà—‘Â ž‘Âà—‘Âà—‘ÂÀ”‘Â`‹‘ÂÀ”‘Âà—‘ÂÀ”‘Â€Ž‘Â@ˆ‘ ‘‘ ‘‘ ‘‘Â€Ž‘Â …‘ …‘Â@ˆ‘Â€Ž‘Â`‹‘Â`‹‘Â€Ž‘Â€Ž‘Âà—‘Âà—‘ÂÀ”‘ ž‘ ž‘ÂÀ”‘Â@ˆ‘Â€Ž‘Â€Ž‘ÂÀ”‘ ‘‘Â`‹‘‚‘ ‘‘ …‘Â`‹‘ …‘Â`‹‘ x‘Âà~‘Âà~‘‚‘Â@ˆ‘ ‘‘Â`‹‘Âà~‘ÂÀ{‘€u‘Âi‘ x‘Âà~‘ …‘ÂÀ{‘Â`r‘ÂÀ{‘ÂÀ{‘ x‘ x‘ÂÀ{‘ÂÀ{‘ x‘ l‘Â`r‘Â`r‘ x‘Â`r‘Â@o‘ _‘ _‘Âàe‘ _‘ÂÀb‘Âàe‘ x‘ l‘ x‘€u‘ÂÀb‘ _‘Âàe‘Âàe‘ÂÀb‘Â@o‘ l‘Â`r‘Â`r‘Â`r‘ l‘ l‘Âi‘Â`r‘Â@o‘ l‘ l‘Âi‘Âàe‘Âàe‘ l‘ _‘Âàe‘ l‘ÂÀb‘€\‘Â`r‘Â@o‘ l‘Âàe‘ _‘Âi‘ l‘Â`r‘€u‘ x‘€u‘Â`r‘ _‘ S‘Â@V‘Âàe‘ÂÀb‘ l‘ l‘ x‘€u‘€u‘€u‘ÂÀ{‘ x‘ …‘Âà~‘€u‘Â@ˆ‘ÂÀ{‘ÂÀ{‘ x‘Âà~‘Âà~‘Âà~‘‚‘Â@ˆ‘ …‘ x‘ x‘Âà~‘Âà~‘ x‘Âà~‘Âà~‘ x‘ l‘€u‘ x‘€u‘ …‘ÂÀ{‘€u‘ …‘Âà~‘Â`‹‘Âà~‘Âà~‘ x‘Â@o‘€u‘Âà~‘ÂÀ{‘ x‘ x‘ x‘Âà~‘ x‘‚‘‚‘ x‘€u‘ x‘Â`r‘Â`r‘Â`r‘Â@o‘Â`r‘Â@o‘Âàe‘€u‘ …‘Â@ˆ‘Â@ˆ‘Â`‹‘ …‘Â`‹‘Â€Ž‘Â@ˆ‘ x‘Âà~‘Â`r‘ l‘€u‘ x‘Âà~‘Âà~‘ …‘Â@ˆ‘ …‘Â@ˆ‘Â€Ž‘Â`‹‘‚‘ …‘‚‘Â`‹‘Â`‹‘Âà—‘Â ‘‘Â`‹‘Â`‹‘Â€Ž‘Â€Ž‘Â ‘‘ÂÀ”‘Âà—‘Â ‘‘ ‘‘ ‘‘Â€Ž‘Â@ˆ‘‚‘ …‘ …‘‚‘Â@ˆ‘ …‘Â@ˆ‘Â`‹‘Â`‹‘Â@ˆ‘Â`‹‘Â`‹‘ ‘‘ ‘‘ ‘‘Â`‹‘ ž‘Âà—‘Â ‘‘ …‘Â€Ž‘Âà—‘Â ‘‘›‘ÂÀ”‘ÂÀ”‘ÂÀ”‘ÂÀ”‘ ž‘ ž‘ ž‘Âà—‘Â€§‘Âà—‘Â ‘‘ ‘‘Âà—‘ÂÀ”‘›‘Â@¡‘Â`¤‘ ª‘Âà°‘Â ·‘Âà°‘Âà°‘Â`¤‘ ž‘Âà—‘Â ž‘ ž‘ ž‘ÂÀ”‘Âà—‘Â ž‘ÂÀ­‘´‘ ª‘€§‘€§‘ ª‘ÂÀ­‘Âà°‘Â`½‘´‘´‘Â@º‘´‘Âà°‘Âà°‘Âà°‘Âà°‘Â఑ ª‘Âà°‘Â@º‘Â@º‘ Ñ ·‘ ·‘ ª‘€§‘Â`¤‘Â@¡‘€§‘Â఑€À‘ ·‘ ·‘´‘ ª‘ ª‘ ·‘Â`½‘Â`½‘ÂÀÆ‘ÂÀƑ€À‘€À‘ ÑÂ@º‘€À‘€À‘Â`½‘ Ñ€À‘ ·‘Âà°‘Âà°‘Â ·‘Â఑ ª‘ ª‘ ª‘ ª‘ÂÀ­‘ ·‘Â`½‘ÂÀÆ‘ÂÀƑ Ñ ÑÂÀÆ‘Â͑ ÑÂ@º‘Â@º‘ ÑÂ`½‘Â`½‘ ·‘ ÑÂàÉ‘ÂÍ‘ÂàÉ‘ÂÍ‘Âàɑ ÑÂ@º‘Â`½‘Â@º‘ÂàÉ‘ÂÀÆ‘ÂàÉ‘ÂÀƑ ·‘Â@º‘Âà°‘Â`½‘ Ñ ·‘Â@º‘Âà°‘Âà°‘Â఑´‘ ·‘ ·‘Â`½‘ Ñ Ñ ÑÂÀÆ‘ÂÀƑ€À‘Â`½‘Â఑ ª‘Â`½‘Â`½‘Â`½‘Âà°‘ÂÀ­‘Âà°‘Âà°‘ÂÀ­‘€§‘ ª‘´‘ÂÀ­‘Â@º‘ ·‘´‘ ·‘Â`½‘€À‘€À‘€§‘Â`¤‘€§‘Âà°‘Â@º‘Âà°‘Âà°‘Â఑´‘ ·‘´‘Âà°‘Â`¤‘€§‘Â఑ ª‘Â`¤‘ ª‘Â@¡‘ ž‘ ª‘ ª‘ ·‘ ª‘´‘Â@º‘€À‘´‘€§‘ ª‘ ª‘€§‘€§‘ ª‘Âà°‘Âà°‘Âà°‘ÂÀ­‘ ª‘Â`¤‘›‘€§‘€§‘€§‘Â`¤‘ÂÀ­‘´‘´‘Â఑ Ñ Ñ Ñ Ñ€À‘ ª‘Âà°‘ÂÀ­‘Â@º‘ ª‘ ª‘ ª‘ÂÀ­‘ÂÀ­‘ ª‘ ª‘ ª‘´‘Â@º‘€À‘Â@º‘Â`½‘€À‘ÂÀƑ€À‘ ÑÂ`½‘Â఑ ª‘Â`½‘´‘Âà°‘ÂÀ­‘ÂÀ­‘´‘Â`½‘ ·‘´‘Â@º‘Â@º‘Âà°‘Âà°‘Â`½‘ÂàÉ‘Âàɑ ·‘Âà°‘Â ·‘ ·‘´‘Â`½‘ ÑÂ͑ Ñ€À‘ ÑÂ`½‘ ·‘Âà°‘Âà°‘Â ·‘ ·‘Â`½‘´‘Â`½‘ ·‘ ·‘ ·‘Â@º‘Â@º‘Â@º‘ ·‘Â`½‘´‘Â఑ ÑÂ@Ó‘ÂàÉ‘ÂàÉ‘Â`Ö‘Â@ӑ€ّÂàâ‘ÂÀߑ Б Б ܑÂàÉ‘Â`½‘Â`½‘€À‘ ·‘ÂÀ­‘´‘Â`½‘Â`½‘ ·‘Â@º‘Â`½‘ÂàÉ‘ÂÀƑ€À‘ ÑÂÀƑ ÑÂ`½‘Â@º‘Â@º‘ ·‘ ÑÂ`½‘Â@º‘Â`½‘Â`½‘´‘´‘ÂÀ­‘ÂÀ­‘Âà°‘Âà°‘Â ·‘Âà°‘Âà°‘Â ·‘ ·‘Â`½‘€À‘Â`½‘Â`½‘Â`½‘Â@º‘ ·‘ ·‘ ·‘ ·‘Â`½‘Â`½‘€À‘Â`½‘Â@º‘Â`½‘Â`½‘ ·‘ ·‘ ÑÂ`½‘Â@º‘ ÑÂÀƑ Ñ´‘Â`½‘Âà°‘Â ·‘ ·‘ Ñ ·‘´‘Â`½‘ ·‘Â@º‘€À‘€À‘ Ñ Ñ ÑÂÀƑ Б БÂàɑ€À‘Â`½‘ÂàÉ‘ÂàÉ‘Â`½‘ ÑÂàÉ‘ÂàÉ‘Â`½‘ БÂÀߑ€ّÂÀÆ‘Â͑ Ñ Б Б ÑÂ@º‘€À‘ÂÀƑ Б ܑÂÀߑ€ّ ܑÂàâ‘ ܑÂ@ӑ Б€À‘ÂàÉ‘Â@Ó‘ÂàÉ‘Âàɑ Ñ Ñ Б€ّ ܑ é‘€ّÂÀߑ ܑÂÀƑ ÑÂàÉ‘ÂÍ‘Â`֑ БÂÀƑ Б БÂÀƑ€À‘Â`½‘ÂÀÆ‘ÂÍ‘ÂÀƑ БÂÀÆ‘ÂàÉ‘Âàɑ Б Б€ّ ܑ€ّ ܑ€ّ€ّ БÂÍ‘Â@Ó‘Â@Ó‘ÂÀÆ‘ÂÀÆ‘Â@º‘ ·‘Â@º‘Â`½‘ Ñ ÑÂÀÆ‘ÂàÉ‘Â@Ó‘ÂàÉ‘Âàɑ Ñ€À‘ ÑÂàÉ‘Â`Ö‘Â`Ö‘Âàɑ БÂ@Ó‘ÂÀÆ‘Â@Ó‘Â@Ó‘ÂàÉ‘Â`֑ ܑ ܑ€ّÂÀß‘Â@ӑ Ñ Б ܑ€ّÂ@Ó‘ÂàÉ‘Â`֑ ܑÂ`֑ ܑÂàâ‘ õ‘ é‘€ّÂ@ӑ€ّ€ّ ܑÂÀߑ€ّ ܑ€ّ ܑ€ّ БÂÀÆ‘Â͑ ܑ€ّÂ`֑ Б ܑÂàâ‘ÂÀߑ БÂÍ‘Â@Ó‘Â@Ó‘Â`Ö‘Â`Ö‘ÂàÉ‘ÂÀƑ БÂÀߑ ܑ€ّÂ`Ö‘Â`ï‘Âæ‘Âàâ‘ ܑÂÀß‘Âàâ‘Â`Ö‘Âàâ‘ ܑÂÀߑ€ّ БÂÀƑ Ñ€ّÂ`Ö‘Â͑ ܑÂ`֑ ܑÂ@Ó‘ÂÀߑ é‘ é‘Â`ï‘ é‘Âæ‘ÂÀß‘ÂÍ‘Â@Ó‘Â`֑ ܑ ܑ ܑÂÀß‘Â`֑€ّ ܑ€ّ ܑÂ`Ö‘Â`Ö‘Â`Ö‘Âæ‘ ܑÂàâ‘€ّÂàɑ БÂ@Ó‘Â`Ö‘Â@Ó‘Â`֑€ّ€ّ БÂàɑ БÂ͑ БÂ`Ö‘Â`Ö‘Â`֑ Б ÑÂ@º‘ ·‘Â@º‘Â@º‘Â`½‘ÂÀƑ€À‘Â`½‘ ÑÂ`½‘ÂÀƑ Ñ Б БÂàɑ Ñ БÂÀƑ ÑÂ`½‘Â`½‘ ÑÂàɑ Ñ€À‘ ·‘ ·‘ÂÀ­‘Â`½‘Â`½‘€À‘€À‘Âàɑ БÂ͑ ÑÂ`½‘ ÑÂà°‘Â఑´‘ ÑÂàɑ€À‘Â`½‘€À‘ ÑÂ`½‘ÂÀ­‘ÂÀ­‘ÂÀ­‘ ª‘Â@º‘Â`½‘ ÑÂàɑ БÂàÉ‘ÂÀÆ‘Â@º‘Â`½‘ Ñ€À‘ÂÀÆ‘ÂÀÆ‘Âàɑ Ñ ÑÂÍ‘Â͑ ÑÂ`½‘Â`½‘Â`½‘ Ñ Ñ Б Б€À‘€À‘ Б€À‘ ·‘Â@º‘ÂÀÆ‘ÂàÉ‘ÂàÉ‘Â`Ö‘Â@ӑ Б БÂ`Ö‘Â`֑ ܑ БÂ`Ö‘Â͑ БÂ`Ö‘Â`֑ ܑ ܑ ܑÂ@Ó‘Â͑€ّ€ّÂàâ‘ ܑÂÀß‘Â`Ö‘Â͑€À‘€À‘€À‘ÂàÉ‘ÂÍ‘ÂÀƑ ÑÂàɑ Б БÂàÉ‘Â@º‘ ·‘Â@º‘Â͑ Б€ّ БÂ`֑ БÂ@ӑ БÂ`Ö‘Â@Ó‘ÂÀß‘ÂÀߑ€ّ Б Б БÂàÉ‘Â͑ ÑÂÀƑ ·‘Â`½‘Â@º‘Âà°‘Â ·‘Â`½‘€À‘ÂÀ­‘ ·‘Â`½‘Âà°‘ÂÀ­‘ ª‘ÂÀ­‘Âà°‘ÂÀ­‘Â`½‘Â@º‘ ·‘Âà°‘Âà°‘ÂÀ­‘´‘´‘´‘€À‘Â`½‘ÂÀÆ‘ÂÍ‘ÂàÉ‘ÂàÉ‘ÂÀÆ‘Â͑ Ñ ÑÂ`½‘ÂÀÆ‘ÂÀÆ‘ÂàÉ‘ÂàÉ‘ÂÀƑ€À‘Âà°‘Â`½‘ ÑÂ`½‘Â`½‘Â`½‘Âà°‘Âà°‘Â`½‘Â@º‘Â@º‘ÂÀÆ‘Â@º‘ ÑÂ`½‘ÂÀƑ Ñ´‘ ·‘ ª‘ÂÀ­‘ÂÀ­‘Â఑ ª‘ÂÀ­‘ ª‘´‘Â`½‘´‘´‘ ·‘Âà°‘Â఑ ª‘Â఑€§‘ ª‘€§‘ ª‘Âà°‘Âà°‘Â ·‘Â`½‘ ·‘Â@º‘Â@º‘ ÑÂ`½‘Â`½‘ ·‘€À‘Â@º‘Âà°‘Â఑´‘ ª‘ ž‘Âà—‘Â ž‘Â@¡‘Â`¤‘ ª‘€§‘ ª‘€§‘Â`¤‘Â@¡‘´‘ ª‘ ª‘Â@¡‘Â`¤‘€§‘Â`¤‘ÂÀ­‘Â఑´‘Â఑ ª‘ ž‘ ª‘Â`¤‘Â`¤‘ ª‘ ª‘€§‘Â@¡‘ ž‘›‘Â`¤‘ÂÀ­‘€§‘Â`¤‘Â`¤‘€§‘ ª‘€§‘ ª‘Â`¤‘Â@¡‘Â@¡‘€§‘ÂÀ­‘´‘ ª‘ÂÀ­‘ ª‘Âà°‘Â`¤‘Âà—‘Â ž‘ ž‘ ‘‘Â@ˆ‘Â€Ž‘Â€Ž‘Â ž‘ ª‘ ª‘ÂÀ­‘€§‘€§‘ÂÀ­‘Â@¡‘Â`¤‘Â`¤‘Â@¡‘ ª‘Â`¤‘Â@¡‘ÂÀ­‘ ª‘€§‘€§‘ ž‘ ‘‘Âà—‘Â›‘Â`¤‘ ž‘Â`¤‘ ž‘€§‘Â఑ ª‘´‘ ·‘ ·‘Â`½‘Â@º‘ ÑÂ఑ ª‘ ª‘ ª‘Â఑´‘ ·‘´‘ÂÀ­‘ ª‘€§‘Â`¤‘ ª‘Â`¤‘ÂÀ­‘ÂÀ­‘ ª‘ ž‘Â`¤‘Âà°‘Âà°‘Â ž‘ÂÀ”‘Âà—‘Â@¡‘ÂÀ­‘ÂÀ­‘€§‘ ª‘Â఑´‘Â఑ ª‘€§‘ÂÀ­‘Âà°‘Âà°‘Â఑´‘ ·‘ ·‘ ·‘Â`½‘ ·‘€§‘Â`¤‘Â`¤‘ ª‘ ª‘ÂÀ­‘Âà°‘Âà°‘ÂÀ­‘ÂÀ­‘´‘Âà°‘Â఑ ª‘ ª‘ ª‘´‘ ·‘Â@º‘Â`½‘€À‘ÂàÉ‘ÂÍ‘ÂàÉ‘ÂàÉ‘Â@º‘´‘´‘ ·‘Â఑€§‘€§‘ ª‘ ª‘ ·‘´‘ ž‘Â`¤‘Â`¤‘´‘ ·‘ Ñ€À‘Â`½‘€§‘Â`¤‘Â@¡‘Â`¤‘Â`¤‘ÂÀ­‘Âà°‘ÂÀ­‘ ª‘ÂÀ­‘ ª‘ÂÀ­‘€§‘ ž‘Â@¡‘ ž‘ ž‘€§‘ ª‘ ª‘€§‘ ª‘Â`¤‘ ž‘ÂÀ”‘Â`¤‘ ž‘ ž‘ ž‘›‘Âà—‘Â€Ž‘Â ž‘Â@¡‘Âà—‘Â ž‘€§‘Â`¤‘Â@¡‘ ª‘ ª‘Â@¡‘€§‘€§‘€§‘€§‘Â@¡‘ ž‘Â`¤‘€§‘ ª‘€§‘Â@¡‘ ª‘´‘€§‘ ª‘Âà°‘Â఑ ª‘ ª‘ÂÀ­‘Â`½‘ Ñ ÑÂ`½‘ ·‘ ·‘ÂÀ­‘ ·‘ ª‘ ª‘Âà°‘Â`¤‘ ª‘€§‘€§‘Â@¡‘Â@¡‘Âà—‘Âà—‘Â ž‘ ž‘›‘Âà—‘Âà—‘Âà—‘ÂÀ”‘ÂÀ”‘ÂÀ”‘Âà—‘Â›‘ ª‘ÂÀ­‘ ª‘Âà—‘Â›‘Â@¡‘Â@¡‘€§‘Â@¡‘›‘ÂÀ”‘Â`¤‘€§‘Â@¡‘ ž‘ ª‘Â`¤‘Âà—‘Â@¡‘€§‘´‘ ·‘Â`½‘ ·‘Â`¤‘Â@¡‘ ž‘›‘Â`¤‘Â`¤‘ ž‘›‘Â`¤‘€§‘Â@¡‘€§‘ ª‘Â`¤‘ÂÀ­‘Âà°‘Â఑ ª‘Â఑´‘Â`½‘Â`½‘Â@º‘ÂÀ­‘€§‘€§‘Â@¡‘Â@¡‘€§‘€§‘Â`¤‘ ª‘Â@¡‘ ž‘Âà—‘Â€§‘€§‘ ª‘Â@¡‘Â@¡‘ÂÀ­‘€§‘Â`¤‘ ª‘ ª‘Â@¡‘€§‘ÂÀ­‘€§‘ ª‘ ª‘ ª‘ÂÀ­‘ÂÀ­‘ ª‘Â@¡‘ ž‘Âà—‘ÂÀ”‘Âà—‘Â`¤‘Âà—‘Âà—‘Â@¡‘€§‘Â`¤‘Â@¡‘Âà°‘Â`¤‘€§‘Â@¡‘Â@¡‘Â@¡‘ ž‘€§‘ ª‘€§‘Â఑ ª‘ÂÀ­‘´‘ ·‘Âà°‘ÂÀ­‘ÂÀ­‘ ·‘Âà°‘Â`½‘´‘ ÑÂ@º‘ÂÀ­‘ ª‘Â@¡‘ÂÀ­‘Â@º‘Â`½‘´‘ ª‘Â`¤‘ÂÀ­‘ÂÀ­‘Â`¤‘Â`¤‘Â`¤‘Â`¤‘ ž‘Â@¡‘Â`¤‘ÂÀ­‘Âà°‘Â`½‘Â@º‘Â`¤‘ ž‘ ž‘Â@¡‘ ª‘ ª‘ÂÀ­‘´‘ ª‘Â఑´‘€À‘€À‘ ·‘´‘Âà°‘Â఑ ª‘ ª‘ ·‘´‘Â`¤‘€§‘ ª‘ ª‘Â`¤‘€§‘Â`¤‘€§‘Â@¡‘Â@¡‘Â`¤‘ÂÀ­‘ ª‘ ž‘Â@¡‘ ž‘Â`¤‘›‘€§‘€§‘Â@¡‘ ª‘Â`½‘´‘ ª‘ ª‘ ª‘Â఑ ª‘ ·‘Â఑€§‘ ª‘Â@º‘´‘Â@º‘Â@º‘´‘´‘Â`½‘Â`½‘ ÑÂ`½‘ ª‘ ª‘ÂÀ­‘€§‘Â@º‘Â`½‘Â@º‘ ·‘Â఑ ª‘€§‘Â`¤‘€§‘Âà—‘ÂÀ”‘ ‘‘ ‘‘Âà—‘Â€§‘Âà°‘ÂÀ­‘ÂÀ­‘Âà°‘Â఑ ª‘€§‘ ·‘ ·‘ ·‘ ·‘Â@º‘´‘ ª‘ÂÀ­‘´‘ ª‘ ª‘Â`¤‘Â@¡‘€§‘Â`¤‘ ª‘ ª‘ ª‘ ·‘ ª‘€§‘ ª‘Â`¤‘ ª‘€§‘€§‘Âà—‘Âà—‘Â ž‘Â@¡‘Â@¡‘ ž‘›‘Â@¡‘Â@¡‘ÂÀ­‘Â@º‘Â఑´‘ ª‘€§‘Â`¤‘ ª‘ ª‘ÂÀ­‘ ª‘ ª‘€§‘ ž‘Â@¡‘ ž‘Âà—‘Â ž‘›‘Â`¤‘Âà—‘Âà—‘Âà—‘Â ž‘ ª‘ ·‘´‘Â`¤‘›‘›‘Â`¤‘ ª‘ ª‘ ª‘Â`¤‘ ž‘Â`¤‘ ž‘€§‘Â`¤‘ ž‘ ‘‘Âà—‘ÂÀ”‘›‘Â@¡‘ ž‘Â`‹‘Â`‹‘ÂÀ”‘Â`¤‘ ª‘€§‘Â`¤‘ ž‘Â@¡‘Âà—‘Âà—‘Â ž‘ ž‘Â`¤‘€§‘ ª‘´‘ÂÀ­‘ ª‘ ª‘Â@¡‘€§‘Âà°‘Âà°‘Âà°‘Â఑ ª‘Â@¡‘Âà—‘Â ‘‘Âà—‘Â@¡‘€§‘Â@¡‘ ž‘ÂÀ”‘›‘Âà—‘ÂÀ”‘Âà—‘ÂÀ”‘›‘Â`¤‘€§‘ ª‘€§‘Â఑ ª‘´‘€§‘Â`¤‘Âà—‘Â`¤‘ ·‘Â@ì‘ ܑÂ@º‘ ª‘Â఑ ª‘Â`¤‘ ª‘Â఑ ª‘€§‘€§‘ ª‘Â@º‘ ·‘€§‘€§‘Â@¡‘Âà—‘Âà—‘Â ‘‘›‘Âà—‘Â€§‘€§‘Â`¤‘ ª‘´‘Âà°‘ÂÀ­‘€§‘Â`¤‘ÂÀ­‘ ª‘ÂÀ­‘Â`¤‘Â`¤‘Â@¡‘Â`¤‘Â`¤‘ ž‘ÂÀ”‘ …‘Â@ˆ‘Â@ˆ‘‚‘Â€Ž‘Â ‘‘Â`¤‘ ž‘€§‘ÂÀ­‘€§‘ ž‘Â@¡‘Â`¤‘Â`¤‘Â@¡‘ ž‘Â@¡‘ ž‘Âà—‘Â›‘ ž‘ÂÀ­‘Â@¡‘€§‘€§‘Â఑€À‘Â@º‘Â఑´‘Âà°‘Âà°‘ÂÀ­‘€§‘Â@¡‘ ª‘Â`¤‘Â`¤‘Âà°‘Âà°‘Â@º‘€§‘Â`¤‘Âà°‘Âà°‘Âà°‘Â ·‘ ·‘Â`½‘ ·‘Â఑ ª‘Â`¤‘€§‘ ª‘ ª‘ÂÀ­‘ÂÀ­‘Âà°‘ÂÀ­‘ÂÀ­‘€§‘ ª‘ ª‘€§‘ ª‘ ª‘ ª‘ÂÀ­‘€§‘ÂÀ­‘ÂÀ­‘€§‘Â`¤‘ ž‘ÂÀ­‘ÂÀ­‘ ª‘Â`¤‘ ž‘›‘ÂÀ”‘ ‘‘Â€Ž‘Â`‹‘Â`‹‘Âà~‘ x‘Âà~‘‚‘Â@ˆ‘Âà~‘‚‘ …‘Â@ˆ‘ …‘ …‘ x‘ l‘Âà~‘Âà~‘ x‘Â`r‘ x‘€u‘ x‘€u‘Â`r‘ÂÀb‘ÂÀb‘Âàe‘ l‘€\‘ _‘Âàe‘Â`r‘ l‘€\‘ÂÀb‘€\‘€\‘ _‘ _‘Âàe‘ _‘Â@V‘ S‘€\‘Â`Y‘Âi‘Â`r‘Âi‘Âàe‘ l‘ _‘Âi‘Â`r‘Âàe‘Â`r‘Â@o‘ l‘ l‘ l‘ _‘ÂÀb‘Âàe‘ÂÀb‘ l‘Âàe‘ _‘€\‘Â`Y‘ S‘ l‘ÂÀb‘Âàe‘ _‘Âàe‘ l‘Â`r‘ l‘Âàe‘ÂÀb‘ _‘Âàe‘ l‘Âi‘Âàe‘Âàe‘Âi‘Â`r‘Âàe‘Âàe‘Â`r‘ÂÀ{‘Â@o‘Âàe‘ÂÀb‘ÂÀb‘Âi‘ l‘Âàe‘Âàe‘ _‘Â@V‘ S‘Â@V‘ _‘Âàe‘€\‘ _‘ÂÀb‘ÂÀb‘ÂÀb‘ l‘ l‘ _‘ÂÀb‘ _‘Âàe‘ l‘Â`r‘ÂÀb‘€\‘Âi‘ l‘ l‘ _‘Âàe‘Âàe‘Âi‘ÂÀb‘ l‘Âàe‘Âàe‘Â@V‘Â@V‘ _‘Âàe‘Â@V‘€\‘Âàe‘Âi‘€u‘€u‘ l‘Âàe‘ l‘ÂÀb‘ S‘ S‘ÂÀI‘ÂP‘ S‘Â`Y‘€\‘ S‘ _‘Âi‘€\‘Â`Y‘€\‘Âi‘ÂÀb‘Â`Y‘Â`Y‘ÂÀb‘ l‘Âàe‘ _‘Â`Y‘€\‘ _‘ _‘ S‘Â@V‘ÂP‘ S‘ S‘Â`Y‘Â`Y‘Â`Y‘ S‘ÂP‘Â@=‘ :‘Âà3‘ -‘ -‘Â7‘Â`@‘Â@V‘ S‘Â`Y‘ l‘€\‘ _‘ _‘ _‘ÂÀb‘ _‘Â`Y‘Â@V‘€\‘ÂP‘ÂÀI‘ÂP‘ÂÀI‘ÂàL‘ S‘ S‘ S‘ S‘ S‘Âàe‘ÂÀb‘Â`Y‘ S‘ S‘Â`Y‘ S‘ÂàL‘ S‘ÂP‘ÂÀI‘€C‘Â`@‘ F‘ _‘Â@V‘ÂÀI‘€C‘Âà3‘Â7‘ :‘€C‘ F‘ÂàL‘ F‘Â@V‘ F‘ÂP‘ÂàL‘ÂÀI‘ÂàL‘ F‘€C‘ F‘ F‘ÂP‘€C‘ F‘Â7‘ -‘ :‘Â@=‘ :‘Âà3‘Â7‘ F‘Â`@‘Âà3‘ÂÀ0‘ -‘Âà3‘Âà3‘Âà3‘ :‘ :‘Âà3‘Âà3‘ -‘ :‘Â@=‘Â@=‘€C‘Â`@‘Â`@‘ÂÀI‘€C‘ÂÀ0‘ -‘ -‘ :‘Â`@‘€C‘ F‘ F‘ÂÀI‘Â`@‘ :‘Â7‘ :‘Â`@‘ :‘ÂÀ0‘Âà3‘Â7‘ :‘ -‘Â7‘ :‘€C‘€C‘Â`@‘Â`@‘ F‘ S‘ F‘ÂàL‘ F‘ S‘ S‘ÂàL‘ S‘ÂP‘ÂÀI‘Â`@‘€C‘Â`@‘ :‘Â7‘Â@=‘ :‘Â`@‘ F‘Â`@‘€C‘Â`@‘ F‘ÂÀI‘ F‘Â@=‘ :‘Â`@‘ :‘ F‘ F‘€C‘Â`@‘Â`@‘€C‘ÂÀI‘€C‘Â@=‘ :‘ÂP‘ÂàL‘Â`@‘ :‘Â@=‘€C‘ F‘ F‘ F‘ÂàL‘ S‘ÂP‘ÂÀI‘ÂÀI‘€C‘ÂP‘Â@V‘ÂÀb‘ l‘ l‘ÂÀb‘Âàe‘ _‘ S‘Â`Y‘Â@V‘ÂP‘ _‘ S‘ S‘Â@V‘Â`Y‘ _‘Âi‘Âi‘ l‘Âàe‘Â`Y‘ _‘ _‘Â`Y‘ÂÀI‘ÂÀI‘ F‘ F‘ S‘Â`Y‘€\‘ÂÀb‘Âàe‘€\‘€\‘Â`Y‘Â`Y‘ _‘Â`Y‘€\‘ _‘Âàe‘ÂÀb‘ _‘ÂÀb‘Âàe‘ l‘ l‘Â@o‘Âi‘€\‘Âàe‘ÂÀb‘Âàe‘Âàe‘ÂÀb‘Âàe‘ _‘Âàe‘€\‘ S‘ S‘Â`Y‘€\‘ _‘ÂÀb‘ _‘Âàe‘Âàe‘ l‘€u‘ x‘Â@o‘ÂÀb‘ l‘ l‘Â@o‘ l‘Â@o‘Â@o‘ x‘Â@o‘ l‘Âàe‘Â@o‘ l‘€u‘ l‘ l‘Âi‘ÂÀb‘Âàe‘Âàe‘Âàe‘€\‘ _‘Âàe‘ l‘ l‘ x‘ x‘ x‘ l‘ l‘ x‘ …‘‚‘Âà~‘Âà~‘ÂÀ{‘Â@ˆ‘Âà~‘Âà~‘ÂÀ{‘‚‘ x‘Â`r‘Â@o‘ÂÀb‘ _‘ÂÀb‘Âi‘ x‘ÂÀ{‘Âà~‘Â`‹‘ …‘‚‘Âà~‘Âà~‘ …‘ …‘ÂÀ{‘Â`r‘ x‘€u‘Â`r‘Â`r‘ l‘ _‘ _‘Âàe‘Âàe‘ x‘€u‘Âà~‘‚‘Âà~‘Âà~‘ …‘‚‘ x‘Âà~‘ÂÀ{‘Âà~‘ …‘‚‘‚‘ …‘Âà~‘Â@ˆ‘Âà~‘Âà~‘ x‘€u‘€u‘ x‘Â`r‘Â`r‘ x‘ x‘ x‘Â@ˆ‘Âà~‘ÂÀ{‘ÂÀ{‘ÂÀ{‘ x‘€u‘‚‘ …‘ x‘ x‘Âà~‘ x‘ x‘ÂÀ{‘ÂÀ{‘ÂÀ{‘ x‘ x‘ÂÀ{‘ …‘‚‘ …‘ x‘Â@ˆ‘Â€Ž‘Â ž‘ÂÀ”‘Â€Ž‘Â`‹‘ x‘ÂÀ{‘ÂÀ{‘ x‘Â`r‘Â@o‘€u‘ x‘Âà~‘ x‘Âà~‘Âà~‘ÂÀ{‘ x‘ …‘Â€Ž‘Â ‘‘‚‘ …‘‚‘Âà~‘ l‘ l‘Âi‘Â`r‘ x‘ x‘ …‘Âà~‘ x‘‚‘ …‘ …‘Â€Ž‘Âà—‘Â ‘‘Â€Ž‘Â …‘Âà~‘ÂÀ{‘ x‘Â`r‘Âà~‘ x‘€u‘ÂÀ{‘ÂÀ{‘ÂÀ{‘Â@ˆ‘Â€Ž‘Â€Ž‘Â`‹‘ …‘ …‘ …‘ …‘Â@ˆ‘Â`‹‘Â`‹‘ ‘‘ ‘‘Â€Ž‘Â …‘ …‘ÂÀ{‘€u‘ x‘Â`r‘Âi‘ÂÀb‘ l‘€u‘‚‘ …‘‚‘ x‘ÂÀ{‘Â@o‘ x‘€u‘€u‘€u‘ x‘Â@o‘€u‘Â`r‘Â`r‘Â`r‘ÂÀ{‘Âà~‘ÂÀ{‘Âà~‘ x‘ l‘ l‘ l‘ÂÀb‘Âi‘ l‘Â@o‘Â`r‘Â`r‘ x‘Âà~‘Âà~‘€u‘Â`r‘€u‘ x‘Â`r‘Âi‘ l‘Â@o‘ x‘Âà~‘ x‘€u‘€u‘€u‘ l‘ l‘ l‘Âàe‘Âàe‘Âàe‘ l‘€u‘ x‘ x‘ x‘Âà~‘ …‘ÂÀ{‘ l‘Âi‘Âàe‘Âàe‘ l‘ x‘Â`r‘Âàe‘Âàe‘Âi‘ _‘Âi‘Âàe‘ l‘Âà~‘ l‘Â@o‘Â@o‘ l‘ _‘Âàe‘Â@o‘ _‘Â@V‘ _‘ _‘ _‘ÂÀb‘ _‘Âi‘ l‘ l‘ _‘ _‘ _‘ÂÀb‘Âàe‘ _‘ l‘€\‘ l‘Â@o‘€u‘Âà~‘Â@ˆ‘Âà~‘ÂÀ{‘‚‘Âà~‘Â`r‘Âàe‘Â`r‘ l‘€u‘ x‘ x‘ x‘ÂÀ{‘ …‘‚‘ x‘ÂÀ{‘Â`r‘ÂÀ{‘€u‘Â@o‘ l‘ x‘Âà~‘‚‘ …‘Â`‹‘Â`‹‘ …‘Âà~‘ …‘ÂÀ”‘Â€Ž‘Â@ˆ‘Â€Ž‘Â@ˆ‘Âà~‘€u‘Â`r‘Âàe‘Âi‘ l‘ l‘ l‘ÂÀb‘Â`Y‘Â`Y‘€\‘ÂàL‘Âà3‘Âà3‘Â7‘Â@=‘€*‘ -‘€*‘ -‘Â`'‘ !‘Â@ ‘Âà‘ ûÂà‘€øÂ ïÂ@ò ïÂ@òÂàè â€ß ÖÂ@Ù Ö€ßÂàÏÂ@ÙÂ`ÜÂÓÂàÏÂÓÂÀ̠ɀÆÂ ½Â °Âà¶Â ½Â °Â@§Â ¤Â ¤Â€”Â@ŽÂ€”ˆ€”Â@ŽÂ@ŽÂ ‹Â ‹Â ‹ÂˆÂ ‹Â ~Âà„Âà„Â`‘Â@ŽÂÀÂàk€b e rÂo rÂàkÂ@u r e rÂVÂ@\Â`_ e€bÂàk rÂàkÂàk rÂoÂàkÂV L€IÂ`F @ LÂ@C€IÂV Y YÂÀO€I @Âà9Âà9 @ @Â`F€IÂ`FÂ`F @ @ 3 3Âà9 @Â@C @ @Â= @ÂÀ6Â=ÂÀ6€0Â`- 'Â$ '€0 ' 'Â@*€0Â`-€0€0 'Â$  Â`Â@Â@ €Â`Â` Â`  Âà €þ€þÂÀ    Â`ûÂ@øÂ õ     €þ õÂ@øÂ Âà  Â@øÂàî õ€å èÂàîÂòÂàîÂòÂàîÂàî èÂ@ßÂ`âÂ`â ÜÂ@ßÂÙÂ`âÂàÕ€ÌÂàÕÂàÕÂàÕÂÙÂ`â èÂàîÂ@øÂ õÂò è€å èÂ@߀åÂ`â ÜÂÙÂ@ßÂ`â Ü ÏÂàÕ ÜÂÙÂàÕ ÃÂÀÒ ÏÂ`ÉÂ@ÆÂà¼Â€Ì Ï ÏÂ`ÉÂ@ÆÂ@ÆÂÀ Ã Ã ÃÂÀÂÀ ÃÂ@ÆÂ`ÉÂÀ Ã ÏÂ@ÆÂÀÂÀÂÀ ÃÂ`ÉÂ`ÉÂ@ÆÂ Ï Ã ÃÂÀ¹Â ¶Â€³Â ¶ÂÀ¹Âà¼Â@­Â`°ÂÀ¹Â ¶Âà¼Â@­Â ªÂ ªÂ ªÂ ªÂ@­Â`°Â ªÂ ªÂ`°Â ªÂà£Â ªÂ ¶Âà¼ÂÀ¹Âà¼Â`°Â ªÂ ªÂ ªÂ ªÂà£ÂÀ Â`°Â§Âà£Â@­Â ªÂà£Â ªÂ§Â§Â ªÂà£Â ªÂ ªÂ ªÂ`°Â`°Â`°Âà£Â Â ‘Â@” ‘ÂàŠÂ „ „ÂàŠÂàŠÂÀ‡Â ‘ ‘ ‘Â@”Âà£Â ÂàŠÂ ‘Â@”  §ÂÀ Â@­Â ªÂÀ Â Â ‘€šÂ€šÂ€šÂ ªÂ ªÂ§Â ªÂ`°Â€³Â ªÂ ªÂ@­Â ¶Â€³Â`°Â ªÂà£Â ªÂ ªÂà£Â@­Â`°Â@­Â@­Â ªÂÀ Â Â ‘Â@” ‘ „ kÂàXÂà?Â@0 € îŽÂ@åŽÂàێ€ҎÂ`¶ŽÂÀ¦ŽÂ€ ŽÂ`ŽÂàŽÂ ~ŽÂÀtŽÂ`kŽÂ eŽÂ XŽÂ LŽÂàEŽÂ 3ŽÂÀ)ŽÂ` ŽÂàŽÂ`ŽÂ ŽÂ  ŽÂàúÂ`îÂàáÂàáÂÌÂàÈ ÂÂà¯Â€¦Â Âà–Âà–€Âà–š€ÂÂà} wÂ@nÂàd ^ÂÀHÂàKÂ@UÂ@U E EÂ@<ÂÀ/€)Â6Âà2Â@<Â@<Â6  €Â@ ÂÀýŒÂ€÷ŒÂàÂàÂ`ôŒÂ úŒÂ úŒÂ€÷ŒÂàçŒÂ áŒÂ€ÞŒÂ€ÞŒÂ ÕŒÂÒŒÂ`Œ¹ŒÂൌÂ`©ŒÂ ¯ŒÂ`©ŒÂ@¦ŒÂൌÂÀ²ŒÂÀ²ŒÂ ¯ŒÂ £ŒÂàœŒÂ@¦ŒÂ€¬ŒÂ £ŒÂ –ŒÂàƒŒÂàƒŒÂÀ€ŒÂ }ŒÂ`wŒÂ }ŒÂ qŒÂ dŒÂàjŒÂ€aŒÂ@[ŒÂ XŒÂUŒÂUŒÂ XŒÂ@[ŒÂ KŒÂ XŒÂ`^ŒÂ`^ŒÂ@[ŒÂ KŒÂ ?ŒÂà8ŒÂ€HŒÂ<ŒÂà8ŒÂÀ5ŒÂ 2ŒÂ`,ŒÂ€/ŒÂ€/ŒÂ &ŒÂ`,ŒÂ &ŒÂ 2ŒÂ@)ŒÂà8ŒÂ<ŒÂ 2ŒÂ 2ŒÂà8ŒÂÀ5ŒÂ &ŒÂÀŒÂ ŒÂ`ŒÂ ŒÂ ŒÂ ŒÂ ŒÂ@ŒÂàŒÂ ŒÂ€ý‹Â ô‹Â`ú‹Âñ‹Âñ‹Âñ‹Â ç‹Âàí‹Âàí‹Â ç‹Â€ä‹Â Û‹Â Û‹ÂØ‹Â Û‹Â Û‹Â Û‹ÂØ‹ÂØ‹Â`á‹Â`á‹Â Û‹Âàԋ ΋Â@Å‹Â@ŋ¿‹Â@ŋ€ˋÂ`ȋ€ˋÂàÔ‹Âàԋ ۋ ΋ÂÀÑ‹Â`È‹Â@Å‹ÂÀ¸‹Â€²‹Â µ‹Â µ‹Â µ‹Â໋Â໋ µ‹Â ©‹Â œ‹Â œ‹Â œ‹Â œ‹Â ©‹Â€²‹Â µ‹Â ©‹Â¦‹Â`¯‹Â@¬‹Â¦‹Âࢋ œ‹Â@“‹Â@“‹Â œ‹Â@“‹Â œ‹Â`–‹Âà‰‹Â€€‹Â w‹Â ƒ‹Âà‰‹ÂÀ†‹ÂÀ†‹Â ƒ‹ÂÀ†‹Â ƒ‹Â ƒ‹Ât‹Âàp‹Âàp‹ÂÀ†‹Âà‰‹Â€€‹Â`}‹Â€€‹Â w‹Â€€‹Â€€‹Â`}‹Â w‹Â ƒ‹Â`}‹Â w‹Â w‹Ât‹Ât‹Â€g‹Â@a‹ÂàW‹Â@a‹Â[‹Â[‹Â ^‹Â ^‹Â ^‹Â ^‹Â`d‹Â ^‹ÂàW‹ÂàW‹ÂàW‹Â ^‹Â@a‹Â`d‹Â ^‹Â`d‹Â ^‹Â€g‹Â ^‹ÂÀT‹Â`d‹Â ^‹Â[‹Â[‹ÂàW‹Â ^‹ÂÀT‹Â ^‹Â[‹Â ^‹Â@a‹Â€g‹Â ^‹Â ^‹Â ^‹Â ^‹ÂàW‹Â Q‹Â Q‹Â Q‹Â€N‹ÂÀT‹Â`K‹ÂÀT‹ÂÀT‹Â Q‹Â[‹Â[‹Â ^‹Â ^‹Â j‹Â`d‹Â ^‹Â@a‹Â ^‹Â@a‹Â j‹ÂÀm‹Â ^‹ÂàW‹ÂÀT‹ÂÀT‹Â[‹Â`d‹Â€g‹ÂÀT‹Â Q‹ÂàW‹Â ^‹Â€N‹Â E‹Âà>‹Â E‹Â E‹Â`K‹ÂàW‹Â[‹ÂàW‹Â@a‹Â ^‹ÂàW‹Â j‹Â€g‹Â@a‹Â[‹ÂàW‹Â[‹Â ^‹Â@a‹Â[‹Â€N‹Â Q‹Â@H‹Â`K‹Â`K‹ÂÀT‹ÂàW‹ÂàW‹Â`d‹Â@a‹Â j‹Â€g‹Â@a‹Â`d‹Â@a‹Â`d‹Â ^‹Â ^‹Â@a‹Â@a‹Â@a‹ÂÀT‹ÂàW‹Â[‹Â[‹ÂàW‹Â[‹Â ^‹Â ^‹ÂÀT‹Â`K‹ÂàW‹Â Q‹ÂàW‹ÂàW‹ÂàW‹Â Q‹ÂÀT‹Â€g‹Â@a‹Â ^‹ÂàW‹Â ^‹Â ^‹Â`d‹Âàp‹Â€g‹Â@a‹ÂàW‹Â Q‹ÂÀT‹Â`K‹Â Q‹Â Q‹Â E‹Â`K‹ÂàW‹Â@a‹Â@a‹Â ^‹Â[‹Â[‹ÂàW‹Â Q‹Â€N‹Â`K‹Âà>‹Â@H‹Â€N‹Â`K‹Â`K‹Â`K‹ÂÀT‹Â€N‹Â`K‹Â€N‹Â Q‹Â`K‹Â Q‹Â@H‹Â Q‹ÂàW‹ÂàW‹Â Q‹ÂÀT‹ÂÀT‹Â E‹Â`K‹ÂB‹ÂÀ;‹ÂÀ;‹ÂÀ;‹ÂÀ;‹Â@H‹Â Q‹Â€N‹Â€N‹Â€N‹Â€N‹ÂÀT‹Â Q‹ÂàW‹Â[‹Â€N‹Â E‹Â E‹Â Q‹Â Q‹ÂÀT‹ÂàW‹ÂÀT‹Â`K‹Â@H‹Â`K‹Â€N‹Â€N‹Â`K‹Â`K‹Â@H‹Â E‹Â 8‹ÂB‹ÂÀ;‹Â 8‹ÂB‹ÂÀ;‹Â@H‹Â Q‹ÂàW‹Â`K‹Â@H‹Â`K‹Â€N‹Â`K‹Â`K‹Âà>‹Â€N‹ÂB‹ÂÀT‹Â[‹Â Q‹Â€N‹Â Q‹Â Q‹ÂàW‹Â[‹ÂàW‹ÂÀT‹Â Q‹Â`K‹ÂàW‹Â ^‹Â@a‹ÂàW‹Â€N‹Â Q‹ÂàW‹Â@a‹Â`d‹Â@a‹Â€g‹ÂàW‹Â[‹Â[‹Â Q‹Â Q‹ÂàW‹Â€g‹Â ^‹Â ^‹Â[‹Â ^‹ÂàW‹Â ^‹Â Q‹ÂàW‹ÂàW‹Â€N‹ÂÀT‹Â Q‹ÂàW‹Â ^‹ÂÀT‹Â`K‹Â[‹ÂàW‹Â@a‹Â`d‹Â`d‹Â ^‹Â@a‹Â j‹Ât‹Â€g‹Â ^‹ÂÀT‹ÂàW‹Â ^‹Â j‹Â€g‹Â ^‹Â€g‹Â`d‹Â ^‹ÂàW‹Â ^‹Â@a‹Â@a‹Â`d‹Â`d‹Â j‹Â€g‹Â€g‹Âàp‹Â€g‹Â[‹Â`d‹ÂÀm‹Ât‹ÂÀm‹Â`}‹Â ƒ‹Ât‹Â w‹Â`}‹Â@z‹Â w‹Â ƒ‹Â`}‹Â@z‹Â w‹Â w‹Â€€‹Ât‹Â€€‹ÂÀ†‹Âà‰‹Â€€‹Â‹Âà‰‹Â`–‹Â ‹Â ‹Â ‹Â‹Â ‹Âà‰‹Âà‰‹Â‹Â€™‹Â@“‹Â ‹Â‹Â ƒ‹Â‹Â@“‹Âà‰‹Â€™‹Â ‹Â`–‹Â@“‹Â€™‹Â ‹Â`–‹Âà‰‹Â@“‹Â œ‹Â@¬‹Â@¬‹Â¦‹Â@¬‹Â`¯‹Â@¬‹Â@¬‹Â ©‹Â ©‹Â ©‹Â œ‹Â œ‹ÂÀŸ‹Â œ‹Â œ‹Â`–‹Â€™‹Â ©‹Â µ‹Â µ‹Â໋Â໋ÂÀ¸‹Â µ‹Â໋ÂÀ¸‹Â µ‹Â`¯‹ÂÀ¸‹Â¿‹Â ‹¿‹ÂÀ¸‹Â ‹ ‹ ‹Â`È‹Â໋ µ‹Â€²‹ÂÀ¸‹Â໋Â`ȋ ‹Â໋Â໋Â@Å‹Â`ȋ¿‹Â໋Â໋Â໋ÂÀ¸‹Â໋€ˋ ‹ ΋ÂÀы€ˋÂ@Å‹ÂàÔ‹Â Û‹ÂàÔ‹ÂàÔ‹ÂàÔ‹Â໋€²‹Â@ŋ ΋ÂÀÑ‹ÂÀÑ‹ÂÀы ΋ ‹ ΋Â`á‹Â ç‹Â`á‹Â€ä‹Âàí‹ÂÀê‹Â ç‹Â`á‹Â ç‹Â€ä‹Â`á‹ÂàÔ‹Âàԋ ۋ ç‹Â€ä‹Âàí‹Â ç‹Â ô‹Â ŒÂ`ú‹Âàí‹ÂÀê‹Â`á‹Â؋ ۋÂ@Þ‹Â Û‹Â`á‹Â ç‹Âàí‹ÂÀê‹ÂÀê‹ÂÀê‹Âñ‹Â`ú‹Âàí‹Â ç‹Âàí‹Â@÷‹Âàí‹Âàí‹Âàí‹Â ç‹Â@÷‹Â€ý‹Âñ‹Â ç‹Â ç‹Â ç‹Âàí‹Âàí‹Â@÷‹Âàí‹Â ô‹Âàí‹Âñ‹Âàí‹Â`ú‹Â ŒÂ@÷‹Â ô‹Â`ú‹Âñ‹Âàí‹Â@÷‹Â ç‹Âàí‹Â@÷‹Â@÷‹Â`ú‹Â@÷‹Â`ú‹Â`ú‹Â`ú‹Â ŒÂ ŒÂ ŒÂ@÷‹Â ŒÂ€ý‹ÂàŒÂ ŒÂ`ŒÂ`ŒÂ ŒÂ ŒÂ ŒÂàŒÂ`ŒÂàŒÂ ŒÂÀŒÂÀŒÂ@÷‹Â`ú‹ÂÀŒÂÀŒÂ€ý‹ÂÀŒÂàŒÂàŒÂ ŒÂàŒÂ@ŒÂÀŒÂàŒÂàŒÂ@)ŒÂ &ŒÂ ŒÂ`ŒÂ`ŒÂ€ŒÂÀŒÂ ŒÂàŒÂ#ŒÂ#ŒÂ@)ŒÂ 2ŒÂ<ŒÂ ?ŒÂ`,ŒÂ 2ŒÂ<ŒÂ@BŒÂ KŒÂàQŒÂ KŒÂ€HŒÂàQŒÂ KŒÂ`EŒÂ@BŒÂ`EŒÂ KŒÂ KŒÂ`EŒÂ€HŒÂ`EŒÂ`EŒÂ KŒÂàQŒÂ@[ŒÂÀgŒÂ@tŒÂ@tŒÂ }ŒÂ€zŒÂ@tŒÂÀgŒÂ dŒÂ`^ŒÂ dŒÂàQŒÂ KŒÂ`EŒÂÀNŒÂÀNŒÂ€aŒÂ dŒÂàjŒÂ }ŒÂ qŒÂ@tŒÂ qŒÂ€aŒÂÀgŒÂnŒÂ@tŒÂnŒÂ qŒÂ€zŒÂ }ŒÂÀ€ŒÂÀ€ŒÂ –ŒÂ –ŒÂ`ŒÂàƒŒÂ ŠŒÂ ŠŒÂ‡ŒÂ@ŒÂ`ŒÂ@ŒÂ ŠŒÂ ŒÂàœŒÂÀ™ŒÂÀ™ŒÂ€“ŒÂ ŠŒÂ`ŒÂàœŒÂàœŒÂàœŒÂ £ŒÂ`©ŒÂ £ŒÂ@¦ŒÂ@¦ŒÂ £ŒÂÀ™ŒÂ £ŒÂÀ™ŒÂ€“ŒÂ`ŒÂ€“ŒÂ ŒÂ £ŒÂ ¯ŒÂ@¿ŒÂ ÈŒÂ ÈŒÂ`ÂŒÂ`ÂŒÂ`Œ¹ŒÂ@¿ŒÂ€ÅŒÂ ÈŒÂ`ÂŒÂ`Œ ȌÂÒŒÂ`ÂŒÂ@¿ŒÂ ¼ŒÂ¹ŒÂ€ÅŒÂ`ÂŒÂ@¿ŒÂ@¿ŒÂ@¿ŒÂ ÈŒÂ`Œ ¼ŒÂ@¿ŒÂൌÂ@¿ŒÂ ¼ŒÂ`ÂŒÂàÎŒÂàÎŒÂàΌ ȌÂ`Œ€ŌÂàΌ€ތ€ތÂàçŒÂ Ռ Ռ€ތ áŒÂ€ÞŒÂ€ÞŒÂ îŒÂàçŒÂ îŒÂ îŒÂëŒÂ îŒÂ`ôŒÂ`ôŒÂ€÷ŒÂ@ñŒÂ îŒÂàçŒÂ ÕŒÂ@، áŒÂàçŒÂ áŒÂàçŒÂ îŒÂ€÷ŒÂ`ôŒÂ îŒÂ@ñŒÂ€÷ŒÂ úŒÂàÂ`ôŒÂ îŒÂ`ôŒÂ úŒÂ€÷ŒÂ€÷ŒÂ úŒÂ úŒÂ€÷ŒÂ€÷ŒÂ€÷ŒÂÂàÂ@ñŒÂ úŒÂ € Â` ÂÀ Â` ÂÀ ÂàÂ@#Â`&  Â@#€) , , ,€)Âà2Â@< , ,Â`&Â`&Â`&Â`&ÂÀ/ÂÀ/Â6ÂÀ/Â6 , 9 9Â6Â6 9Â`?Â`? 9ÂÀHÂàKÂàKÂàK€B EÂOÂ@<Âà2Â`&Â@#€) ,Â6Â6Â6 9 EÂ`?€BÂàKÂÀHÂàK RÂ@UÂÀa ^ ^ RÂàKÂÀHÂàKÂàKÂÀHÂÀHÂàKÂO R R R RÂ`X€[ÂàdÂh ^ kÂhÂàdÂhÂ@n k kÂ`q w w wÂÀz wÂ@nÂhÂh kÂh€tÂ`qÂ@n „Â`ŠÂ€Â@‡Â w „Âà}Âà}€ „€ÂÀ“  €¦Â Âà–šš €¦ÂšÂà–Â@ ÂšÂšÂ  ©Â ©Âà¯Âà¯ÂÀ¬Â@¹Â ¶Â@¹Â`¼Â³Â@¹Â@¹Â`¼Â€¿Â ÂÂ`¼Â`¼Â€¿Â ÂÂ`ÕÂàÈ€¿Â ¶Â`¼Â`¼Â Â Â ÂÂÀÅÂ@Ҡπ¿Â`¼Â€¿ÂÌÂ̠ϠπØÂåÂàáÂÀÞÂÀÞ€ØÂÀÞ Ï Ï ÏÂ@Ò€ØÂÀÞÂàáÂàáÂ@ë èÂàáÂàáÂàá€ñÂÀÞÂ`ÕÂÀÞ Û€ñ è èÂ@ëÂ@ëÂ`îÂÀ÷ ô ôÂ@ë ô ô€ñÂ`îÂ`îÂ@ëÂ@ëÂ`î ô ôÂþÂþ ŽÂ`ŽÂ ŽÂ@ŽÂ`ŽÂ@ŽÂàú ŽÂ  ŽÂ ŽÂ€ ŽÂ  ŽÂÀŽÂ@ŽÂ`ŽÂ€ ŽÂþÂ@ŽÂ`ŽÂàúÂþÂþ ŽÂ  ŽÂŽÂ@ŽÂ &ŽÂÀ)ŽÂ 3ŽÂ 3ŽÂ€#ŽÂà,ŽÂ0ŽÂ`9ŽÂ 3ŽÂ &ŽÂÀ)ŽÂ€#ŽÂ0ŽÂ€<ŽÂ 3ŽÂ`9ŽÂ 3ŽÂ0ŽÂ &ŽÂ &ŽÂ0ŽÂÀ)ŽÂ &ŽÂ€#ŽÂà,ŽÂ 3ŽÂ@6ŽÂ`9ŽÂ ?ŽÂ ?ŽÂ 3ŽÂ@6ŽÂ 3ŽÂ 3ŽÂ 3ŽÂ0ŽÂ@6ŽÂ0ŽÂ &ŽÂ` ŽÂ` ŽÂ€#ŽÂ0ŽÂ` ŽÂ &ŽÂà,ŽÂ0ŽÂ ?ŽÂ`9ŽÂ ?ŽÂÀBŽÂ ?ŽÂàEŽÂIŽÂÀBŽÂàEŽÂ LŽÂ`RŽÂIŽÂ ?ŽÂ€<ŽÂ€<ŽÂàEŽÂ`RŽÂ`RŽÂ€UŽÂ€UŽÂ LŽÂ€UŽÂ XŽÂ`RŽÂ`RŽÂàEŽÂ LŽÂ@OŽÂÀBŽÂÀBŽÂÀBŽÂ€<ŽÂ€<ŽÂ LŽÂ€UŽÂIŽÂ`RŽÂ@OŽÂà^ŽÂ€UŽÂ eŽÂ XŽÂÀ[ŽÂà^ŽÂ XŽÂ XŽÂbŽÂbŽÂ`kŽÂ qŽÂbŽÂ@hŽÂ`kŽÂÀ[ŽÂ XŽÂà^ŽÂ€nŽÂ€nŽÂàwŽÂÀtŽÂ€nŽÂ qŽÂ`kŽÂ eŽÂ`kŽÂ€nŽÂ@hŽÂ`kŽÂ qŽÂ`kŽÂbŽÂ eŽÂ@hŽÂ€nŽÂ€nŽÂ qŽÂÀtŽÂàwŽÂ qŽÂÀtŽÂ qŽÂbŽÂ eŽÂ eŽÂ@hŽÂ{ŽÂ`„ŽÂàŽÂàŽÂ ŠŽÂ€‡ŽÂ ~ŽÂàwŽÂ ~ŽÂ€nŽÂàwŽÂ€nŽÂ{ŽÂ€‡ŽÂ€‡ŽÂ@ŽÂàwŽÂ qŽÂ ~ŽÂ ~ŽÂ{ŽÂ@hŽÂ`kŽÂ qŽÂ`„ŽÂ ~ŽÂàwŽÂ ~ŽÂ€‡ŽÂ ŠŽÂÀŽÂ ŠŽÂÀŽÂ€ ŽÂ”ŽÂ ŠŽÂ ŠŽÂ ~ŽÂ ~ŽÂ ŠŽÂàŽÂ”ŽÂàŽÂ ŠŽÂ”ŽÂàŽÂ`„ŽÂ`„ŽÂ ŠŽÂ ŠŽÂàŽÂ€‡ŽÂàŽÂÀŽÂàwŽÂÀtŽÂ qŽÂàwŽÂ”ŽÂ€‡ŽÂ`„ŽÂ ŠŽÂ ŠŽÂ ŠŽÂ”ŽÂ”ŽÂ”ŽÂÀŽÂ€‡ŽÂ”ŽÂ ŠŽÂ ŠŽÂ ŠŽÂ ŠŽÂ ŠŽÂ ŠŽÂ ŠŽÂÀŽÂàŽÂ ŠŽÂ —ŽÂ`ŽÂ —ŽÂ€ ŽÂ”ŽÂ —ŽÂ`ŽÂ —ŽÂ`ŽÂ`ŽÂ€ ŽÂ —ŽÂ੎Â੎Â@šŽÂ —ŽÂ@šŽÂ੎Â੎Â੎ £ŽÂ £ŽÂÀ¦ŽÂ@šŽÂ £ŽÂ੎­ŽÂ £ŽÂ੎­ŽÂ £ŽÂ€ ŽÂ °ŽÂ@³ŽÂ੎­ŽÂ@³ŽÂ ¼ŽÂ ¼ŽÂ ¼ŽÂ€¹ŽÂ °ŽÂ­ŽÂÀ¦ŽÂ੎ °ŽÂ­ŽÂ੎Â੎­ŽÂ ¼ŽÂ`¶ŽÂ`¶ŽÂ@³ŽÂ€¹ŽÂÀ¿ŽÂ °ŽÂ`¶ŽÂ@³ŽÂ­ŽÂ€¹ŽÂ °ŽÂ °ŽÂ@³ŽÂ€¹ŽÂ€ÒŽÂ€ÒŽÂ@ÌŽÂ ÉŽÂ`ÏŽÂÆŽÂàÂŽÂ`¶ŽÂ€¹ŽÂÆŽÂÆŽÂÀ¿ŽÂÆŽÂ@ÌŽÂ@ÌŽÂÀ¿ŽÂ ¼ŽÂ@ÌŽÂÆŽÂ ÉŽÂÆŽÂ ÉŽÂÀ¿ŽÂ@³ŽÂ@³ŽÂ ¼ŽÂ Ɏ Ɏ ¼ŽÂ€ÒŽÂ`ÏŽÂ ÉŽÂ@ÌŽÂ`ώ ՎÂàێ Վ ՎÂ`ÏŽÂ@ÌŽÂàÂŽÂ`ÏŽÂ`ÏŽÂÆŽÂ`ÏŽÂ@̎ Ɏ Ɏ ՎÂÀØŽÂ@åŽÂߎÂ@åŽÂ îŽÂàÛŽÂÀØŽÂ ÕŽÂ ÉŽÂÆŽÂàÂŽÂÀØŽÂÀ¿ŽÂ`¶ŽÂ`¶ŽÂ °ŽÂ੎€¹ŽÂÀ¿ŽÂàŽ€¹ŽÂÀ¿ŽÂ ÉŽÂ ÉŽÂÆŽÂÆŽÂÆŽÂ`ÏŽÂߎÂ`ÏŽÂÆŽÂàÂŽÂ`¶ŽÂ °ŽÂ ¼ŽÂ ÉŽÂ@ÌŽÂ ÉŽÂÆŽÂ@ÌŽÂ@ÌŽÂÆŽÂàŽ Ɏ Ɏ€ҎÂ@ÌŽÂÆŽÂ ÉŽÂÆŽÂàÂŽÂÆŽÂ`ÏŽÂ ÉŽÂàÂŽÂ@ÌŽÂ ÉŽÂ ÉŽÂÆŽÂ ¼ŽÂÆŽÂ`¶ŽÂ ¼ŽÂàŽ€Ҏ ɎÂàÂŽÂÆŽÂ ¼ŽÂÀ¿ŽÂ ¼ŽÂàÂŽÂ ÉŽÂ ÉŽÂ ÉŽÂ ÉŽÂÀ¿ŽÂ ¼ŽÂÀ¿ŽÂ ¼ŽÂ ¼ŽÂ ¼ŽÂ ÉŽÂÆŽÂ`¶ŽÂ€¹ŽÂ`¶ŽÂ ¼ŽÂ€¹ŽÂ`¶ŽÂÀ¿ŽÂÀ¿ŽÂÀ¿ŽÂ`¶ŽÂƎ Ɏ ¼ŽÂƎ ¼ŽÂàÂŽÂÆŽÂ Ɏ€ҎÂ`ÏŽÂ@ÌŽÂàÂŽÂ ÉŽÂÀØŽÂ ÉŽÂ`ÏŽÂàÂŽÂÆŽÂ Ɏ Ɏ€ҎÂÀØŽÂ`ώ Վ ՎÂߎÂàÛŽÂ âŽÂ âŽÂàÛŽÂàÛŽÂàÛŽÂÀØŽÂ@ÌŽÂ ÉŽÂ ÉŽÂÀØŽÂߎ âŽÂ âŽÂàÛŽÂߎ âŽÂ€ëŽÂߎ âŽÂ âŽÂ`èŽÂ@åŽÂ€ëŽÂøŽÂ€ëŽÂ`èŽÂ`èŽÂ€ëŽÂ@åŽÂÀØŽÂߎÂßŽÂøŽÂàôŽÂ@þŽÂøŽÂàôŽÂ îŽÂ îŽÂàôŽÂ€ëŽÂ`èŽÂ€ëŽÂ€ëŽÂ@åŽÂ€ëŽÂ`èŽÂ`èŽÂ îŽÂ îŽÂ îŽÂ€ëŽÂÀñŽÂàôŽÂ îŽÂøŽÂøŽÂøŽÂ`€Â`Âà € ûŽÂøŽÂ@þŽÂ@þŽÂøŽÂàôŽÂøŽÂÀñŽÂ ûŽÂ@þŽÂ`€ ûŽÂ€  ÂÀ Â@€ Âà Âà Â`ÂÀñŽÂ îŽÂøŽÂ ûŽÂøŽÂ îŽÂ`èŽÂàôŽÂøŽÂÀñŽÂøŽÂ ûŽÂ`Â`ÂøŽÂ@þŽÂ ûŽÂÀ Â@þŽÂàôŽÂ ûŽÂ€€€Â` ûŽÂøŽÂ@þŽÂ@þŽÂ ûŽÂ ûŽÂ`€ÂÀ  € €€ÂÀ Âà   ÂÀ  ÂÀ  €€Â*Â@  €Â`€ÂÀ#   €  €     €ÂÀ#ÂÀ#Âà&Â@0ÂÀ#Âà&Â* - - -Âà&Â@0ÂÀ# -Â`3Â*€Â`Â*ÂÀ#ÂÀ#€  Â* -ÂÀ#Â`€Âà& -Âà& - -ÂÀ# -Â`3Â`3Â* -Â*Â@0Â* 9€6ÂCÂà? 9€6 9Â@0 -€6Â`3Â@0Âà?Âà? FÂ`L€OÂà?ÂÀ<Âà? F F F FÂ`LÂC F€OÂÀUÂ\Â\ÂàX€O RÂ\ _ÂÀU RÂÀU€O R R R€OÂàXÂ@bÂàX RÂ\Â`eÂ`e _€hÂ@bÂàqÂuÂ@{ xÂàq€hÂ`eÂ@bÂ`eÂÀnÂuÂu€hÂ`eÂ`e _Â@b _€h€h k kÂàXÂ@b k kÂàqÂ`~ xÂàqÂàq x xÂàqÂ@{Â@{Âàq xÂ@{ „ „ x x k kÂ`~Â`~Âu k kÂàq€ „ „ÂàŠÂ ‘ÂŽÂàŠÂàŠÂ ‘ ‘ Â@”Ž „ÂàŠÂÀ‡ÂŽÂ@”Â`—Â`—€šÂ€šÂ@” ‘ÂŽÂàŠÂàŠÂÀ‡ÂŽÂ „ „ÂŽÂÀ‡Â „ „ÂŽÂàŠÂàŠÂÀ‡Â@”ÂÀ Â Â`—ÂàŠÂ ‘€šÂÀ Â`—€šÂÀ Â Â€šÂ ªÂà£Â§Â ¶Â@­Âà£Âà£Â Â Â ‘ÂàŠÂàŠÂ`— Â`—Â`—§ ªÂ§Â§Â§Âà£Â Âà£Â ªÂ@­Â ªÂ@­Âà£Â€³Â`°Â ªÂà£Â ªÂ€³Â`°Â€³Â ¶ÂÀ¹Â ¶Â`°Â€³Âà£Â ªÂ ªÂ@­Â Â Âà£Âà£Â@­Â ¶ÂÀ¹Â@­Â ¶Â ¶Âà¼Â ÃÂÀÂ@­Â ÃÂ@ÆÂ àÃÂàÕ ÜÂàÕ Ï ÃÂ@ÆÂ ÏÂ`ÉÂà¼Â ÃÂà¼ÂÀ€³Â`°Â@­Â ªÂÀ¹Â ÃÂÀÂ`É ÃÂÀÂ`ÉÂÀ ÃÂ`ÉÂÀÒÂÀÒ Ü ÜÂÙÂàÕ ÜÂàÕÂ@ßÂ`â ÜÂ`ɀ̀ÌÂ@ÆÂ€Ì Ï€ÌÂ`ɠàϠàÀ̠̀ÃÂ`É€ÌÂ`ÉÂ@ÆÂÀÒ ÜÂ`âÂÀÒÂÀÒÂ`ÉÂà¼ÂÀÂ@ÆÂ@ÆÂ ÃÂ@ÆÂ€Ì€ÌÂÀÒÂÀÒÂàÕÂ@ߠܠ܀å€åÂ@ßÂ@ßÂ`â èÂÙÂ`â ÜÂÙÂàÕÂàÕÂàÕÂàÕÂàÕÂàÕÂàÕ ÃÂ@ÆÂ ÏÂÀÒÂàÕÂàÕÂÀÒÂàÕ€ÌÂ@ÆÂ ÏÂàÕ Ü ÜÂ@ßÂÀëÂàî ÜÂÀÒ ÏÂàÕÂÙÂÙ ÜÂ@ßÂàÕÂàÕÂàÕ ÃÂ@ÆÂ ¶Â ¶Â@ÆÂ ÏÂàÕÂàÕ Ü Ï ÜÂ`â€å èÂÀë ÜÂàî èÂàîÂòÂÀëÂàîÂòÂòÂÀë€åÂ@ßÂ`âÂàî õ€þ õÂò èÂÀëÂÀë õÂàîÂàîÂàîÂàîÂòÂ@øÂò õÂ@øÂÀë€å è€å è€åÂÙÂÙ ÜÂ`âÂ@ßÂ`â€åÂÙÂÙÂÙÂÙÂÙÂàÕÂÙÂ`âÂ٠܀åÂ`âÂ`â è€å èÂàîÂàîÂàÕÂ@ßÂ@ßÂ`â Ü€å è€åÂ@ß èÂÀë è èÂàî õÂòÂÀëÂàî õÂ@øÂò èÂÀë èÂ@øÂ õÂòÂò€þÂÀ õÂ`û€åÂàî è€åÂò õÂ`û Â`ûÂ`ûÂ`û€þÂ`û€þÂàÂ`ûÂ`û Âà Â`ûÂ`ûÂ`ûÂ@øÂ õÂ@øÂàî Â`ûÂ@øÂ€þÂ@øÂ@øÂ@øÂ@øÂ õÂ`û  Âà€þ€þ  Â`ûÂ`ûÂ@øÂ õ Âà   Â@Âà  ÂàÂà Â`Â@ Â@  Âà ÂÀÂÀÂ@Â@€þ õÂ`ûÂà  Â`ÂÀÂ`-ÂÀÂà  Â` Â@Â` Â` Â`  Âà Âà ÂÀ Â`Âà ÂàÂàÂ@€  'Â$€Â` 'ÂÀ ' 'Â@*Â@*€0 3Â@C 3 3Â`-Â`-Â`-ÂÀ6Âà9 3ÂÀ6Â= 3ÂÀ6€0Âà9 @Â=Âà9€0€0€0Â@*€0€0€0 3 @Â= @Â`FÂ@CÂ@CÂ@C LÂ@CÂ`F€IÂàRÂÀO L @€IÂ@CÂÀ6ÂÀ6Âà9 @ @Âà9 @Â`FÂàRÂàR LÂà9 @Â@C @Â@CÂ`F L L L L€IÂ=Âà9Â@C€I LÂ`FÂ@C @Â`F€IÂàR LÂÀO€I @Â@C€IÂÀO @ @Â=Â`FÂ`FÂ@CÂÀOÂ`F LÂ@CÂ`F L YÂVÂ`_ÂÀhÂÀhÂ@\ eÂÀh€b Y eÂ@\€bÂàkÂàkÂo eÂÀh e e€bÂÀhÂàkÂàk e€b e eÂoÂÀhÂ`x r eÂo eÂÀh eÂàkÂ`_ÂàRÂVÂ@\Âàk€b e€b eÂ`_ e e eÂÀhÂ@\ÂàRÂ@\Â`_€b eÂVÂV Y e€{Â@u r e e YÂ@\ Y e€b€bÂ`_ e€b€b e rÂàkÂàk eÂÀhÂoÂ@u eÂ`_ÂàRÂÀOÂÀO YÂ`_€bÂÀh e r ~Â@u rÂàk rÂo r rÂàk€bÂàkÂàk e eÂ@\ eÂÀh€b eÂ`xÂoÂàkÂoÂàkÂàkÂàkÂàk rÂoÂ`x ~Â`x rÂ@uÂ`xÂàkÂ`x r rÂ`xÂ`x r r ~ÂÀ€{€{ ~Âà„ÂÀ ~ ~Âà„Âà„Âà„Â`xÂ@u ~ ‹Â@ŽÂà„ ~ÂÀÂ`xÂo eÂ@uÂ`xÂ`x€{Âà„Â@ŽÂ ‹ÂÀÂÀÂà„ˆÂà„ ~ ~€{ÂÀ€{ÂÀ€{ ‹Â€”€”ÂÀšÂÀšÂ€”Â`‘ÂÀšÂàÂ`‘Â@ŽÂ€”Â`‘Âà„€” ‹Â@ŽÂ`‘ÂÀšÂ — ¤ÂÀ³Â °Â`ªÂ`ªÂ@§Â`ªÂ ¤Â ¤ÂàÂàˆˆÂà„€” — —ÂàÂ`‘Â`‘ÂàÂ`ªÂ€­Â °Â ¤Â`ªÂ ¤Â ¤Â@§Â ¤Â@§ÂÀ³Â€­Â ½Â@À ½Â€­Â€­ÂÀ³Â@À É ÉÂ`ÃÂà¶Âà¶Â@ÀÂÀ³Â °Â@§Â ¤Âà¶Â`ªÂ¡Â ¤Â`ªÂ`ªÂà¶Âà¶Â`ªÂà¶Â`ªÂ °ÂÀ³ÂÀ³Âà¶Âà¶Â ½Â ½Âà¶Â ½Âà¶ÂºÂà¶ÂÀ³Â °Âà¶Âà¶Â ½Â ½Â`à½Â ½Âà¶Â °Â€­ÂÀ³Âà¶Â ½Â ½Â@ÀÂ`ÃÂ@À ½Âà¶Â ½Â ½Â ÉÂ@À ½Â`àɀÆÂ€ÆÂ É ÉÂàÏÂàÏÂ@À ÉÂ`ÃÂàÏ ÖÂàÏ ÖÂ`Ü ÖÂàÏ ÉÂÓ ÖÂàÏ ÉÂÀÌÂàÏ€ßÂàÏ ÖÂÓ É ÖÂàÏ€ßÂ`Ü€ßÂàÏÂÓÂÀÌÂàÏÂ`ÜÂÀå ïÂàèÂÀåÂàè âÂÀåÂàè âÂì âÂÀå€ß Ö ÖÂÓÂÓ ÉÂÓÂÓ ÖÂàè ï ïÂ`õÂìÂàèÂàèÂì ïÂ`õÂà‘ ïÂì ï ûÂÀþÂÀþ€øÂ`õÂÀþÂ`õ€øÂ€øÂ û û€øÂ ï€øÂ`õ ïÂ`õÂà‘ ûÂ@ò û ‘Âà‘Â@ ‘Â@ ‘ ‘ ‘ ‘ ‘ ûÂà‘ ûÂ`õÂ@ò€øÂ`õ ûÂÀþÂ`‘Âà‘€øÂ`õ ï ïÂÀþÂà‘Â`õ€øÂ‘ ‘ ‘ÂÀ‘Âà‘Âà‘Â@ ‘ ‘ ‘Â`‘€‘ ‘Â@ ‘ ‘ ‘Âà‘ ûÂ@ ‘‘‘ÂÀ‘ ‘ ‘€‘ÂÀþ€øÂ€øÂ ï€øÂ`õ€øÂ ûÂà‘ÂÀþ ‘Â`‘ ‘Â@ ‘‘Â@ ‘Â`‘€‘Â`‘Â`‘Â@ ‘ ‘ ‘ ‘Âà‘ ‘ ‘Â@ ‘ ‘Â@ ‘ ‘‘‘ ‘ÂÀ‘€‘ÂÀ‘€‘ÂÀ‘ÂÀ‘Âà‘‘€‘ ‘ ‘‘ ‘ ‘ ‘Â@ ‘Âà‘ ûÂÀþÂ@ ‘Â`‘Â@ ‘Âà‘‘ ‘ ‘ ‘ÂÀ‘Â`‘€‘ !‘‘ ‘ ‘ÂÀ‘€‘ ‘‘Âà‘Â@ ‘ ‘ÂÀþÂà‘ û ‘ ‘Âà‘Â@ ‘Â`‘ ‘Â`‘Â`‘ÂÀ‘ !‘ !‘€‘Âà‘ÂÀþ ‘Â@ ‘Â`‘ ‘ !‘‘ !‘ !‘ !‘€‘ ‘Â@ ‘ ‘ ‘Âà‘Â`‘Â@ ‘‘‘ ‘ !‘Âà‘‘Â`‘‘‘ ‘Âà‘ ‘€‘ ‘‘Âà‘‘‘Âà‘Âà‘ÂÀ‘ÂÀ‘ÂÀ‘Â`‘Â@ ‘ ‘Âà‘ ‘Â`‘Â`‘ ‘ ‘ ‘ ‘Â`‘ ‘‘ ‘Â@ ‘Â@ ‘ ‘Âà‘Âà‘ ‘ ‘Â`‘Â@ ‘€‘€‘Â`‘€‘Âà‘ÂÀ‘ÂÀ‘ ‘ÂÀ‘ÂÀ‘Âà‘ÂÀ‘ ‘ÂÀ‘Âà‘ !‘ÂÀ‘€‘ ‘€‘€‘ ‘ ‘Â@ ‘€‘‘Â@$‘‘ÂÀ‘€‘ ‘ ‘ÂÀ‘€‘Â@ ‘€‘ÂÀ‘‘Â`'‘ !‘ !‘Â`'‘ !‘Âà‘Âà‘ ‘ ‘ !‘Âà‘Âà‘Âà‘ ‘ ‘ ‘ ‘Âà‘Âà‘ ‘Â`‘ ‘Âà‘ !‘ !‘Âà‘‘Â`'‘Âà‘Âà‘Âà‘Âà‘ ‘ !‘Âà‘ !‘ !‘Âà‘ !‘Â@$‘Â`'‘€*‘€*‘ -‘ÂÀ0‘ :‘Â`@‘ F‘ F‘ F‘ :‘ÂÀ0‘Âà3‘Âà3‘Âà3‘Â7‘ :‘Âà3‘ -‘ÂÀ0‘ :‘€C‘ F‘Â`@‘ :‘ÂÀ0‘ :‘ -‘Â7‘Âà3‘Â7‘ :‘ :‘ :‘€C‘Â7‘ -‘ÂÀ0‘€C‘€C‘Â`@‘Â@=‘Âà3‘Â7‘ :‘Â`@‘ :‘ÂÀI‘ F‘ S‘ S‘ÂP‘ÂàL‘ÂP‘ F‘Â@=‘ :‘ F‘Â`@‘Â7‘ :‘ F‘Â@=‘ -‘Âà3‘Âà3‘Âà3‘Â`@‘ :‘ :‘Âà3‘Â@=‘€C‘Â@V‘€\‘Â`Y‘ÂàL‘Â@=‘ÂÀI‘ S‘ S‘ÂÀI‘ F‘ F‘ÂàL‘ÂP‘ S‘ S‘ÂP‘ S‘Â`Y‘ S‘€\‘€\‘Â`Y‘€\‘Â`Y‘Â`Y‘Â`Y‘€\‘€\‘ _‘ _‘Âi‘ _‘ l‘Â@o‘€u‘Â`r‘€u‘ l‘ l‘Âi‘ _‘Âi‘Â`r‘ x‘Â`r‘ l‘€u‘ x‘€u‘‚‘Âà~‘Âà~‘‚‘‚‘Âà~‘Âà~‘Âà~‘ x‘ x‘ x‘Âà~‘Âà~‘ x‘Âà~‘ÂÀ{‘ x‘ x‘€u‘Â`r‘ l‘ l‘ l‘Âàe‘Âi‘Â@o‘Â`r‘Â@o‘Â@o‘Âàe‘Âàe‘ _‘ _‘Âi‘Â@o‘Â@o‘Â`r‘Â@o‘Âàe‘Â`r‘ x‘€u‘Â`r‘ x‘Â@o‘ l‘Â`r‘€u‘ x‘€u‘€u‘Â`r‘€u‘ x‘ x‘ x‘ x‘€u‘Â`r‘Â`r‘ÂÀ{‘ÂÀ{‘ x‘ l‘ l‘Â@o‘Â`r‘Â`r‘ÂÀb‘ l‘Âi‘ x‘ x‘€u‘Âà~‘Â`‹‘Â@ˆ‘Âà~‘ÂÀ{‘ÂÀ{‘ …‘Â€Ž‘Â …‘ …‘€u‘ x‘‚‘‚‘Â`‹‘ …‘ …‘Â`‹‘Â`‹‘Â`‹‘ …‘ …‘Â@ˆ‘Âà—‘Â`‹‘Âà~‘€u‘Â`r‘€u‘Â@o‘Â`r‘Â`r‘Âà~‘Â@ˆ‘ÂÀ{‘Âà~‘ÂÀ{‘ ‘‘Â€Ž‘Â€Ž‘Âà~‘‚‘‚‘Â@ˆ‘Âà~‘Â`‹‘Â`‹‘ …‘Â@ˆ‘Â€Ž‘Â …‘Â@ˆ‘Â€Ž‘Â ‘‘ ‘‘ ž‘ ž‘ ‘‘‚‘Â`‹‘ …‘Âà~‘ÂÀ{‘ …‘‚‘‚‘Âà~‘Â€Ž‘Â`‹‘‚‘ …‘Â@ˆ‘ …‘Â€Ž‘Âà—‘Â ‘‘Â@ˆ‘ …‘ ‘‘Â€Ž‘Â€Ž‘Â€Ž‘Â€Ž‘Â ‘‘Â`‹‘›‘ ‘‘Â€Ž‘Â›‘Â@¡‘ ž‘Âà—‘Â›‘ ‘‘Â`‹‘Â€Ž‘Â€Ž‘Âà—‘Â ž‘›‘Âà—‘ÂÀ”‘ ‘‘ÂÀ”‘Âà—‘ÂÀ”‘Âà—‘Â›‘Â`¤‘ ª‘Âà—‘ÂÀ”‘ ž‘›‘Âà—‘Â ž‘ ‘‘Âà—‘Â@ˆ‘ …‘ ‘‘ ‘‘Â€Ž‘Â€Ž‘Âà—‘Â ‘‘ ‘‘Â@ˆ‘ ‘‘ÂÀ”‘ ž‘ ž‘Âà—‘Â ž‘€§‘›‘Â`‹‘Âà—‘Â ‘‘ ž‘ ž‘Â@¡‘ ž‘ ž‘Â@¡‘Â`‹‘Â`‹‘Â`‹‘Â@ˆ‘ …‘Âà~‘ÂÀ{‘ÂÀ{‘Â@ˆ‘Âà~‘ x‘Âà~‘Â`‹‘Â€Ž‘Â …‘Â@ˆ‘Â@ˆ‘ ‘‘Â@ˆ‘ÂÀ{‘Âà~‘ …‘Â`‹‘ÂÀ”‘ÂÀ”‘ÂÀ”‘ ‘‘Â`‹‘ ‘‘Â@ˆ‘ …‘ x‘Âà~‘Â`‹‘Â`‹‘Âà~‘ …‘Â`‹‘ ‘‘ …‘ …‘€u‘ x‘ …‘Âà~‘‚‘Âà~‘Âà~‘Â@o‘ l‘Âàe‘Âàe‘Âàe‘ l‘ l‘ _‘€\‘Â`Y‘ _‘€\‘ÂàL‘ÂP‘ S‘ÂÀI‘ÂàL‘ÂàL‘ F‘ :‘Â`@‘Â`@‘Â`@‘ÂP‘ÂÀI‘ F‘€C‘€C‘Â`@‘Â7‘Â`@‘ -‘ÂÀ0‘ -‘Â7‘ -‘ -‘Âà3‘ :‘ -‘Â`'‘ -‘€*‘€*‘€*‘ÂÀ0‘Â7‘Â7‘€C‘Â`@‘Â`@‘ÂÀ0‘ÂÀ0‘Â@$‘ !‘‘ !‘ !‘‘ !‘ !‘ -‘ !‘ ‘ ‘ ‘‘Âà‘€*‘ -‘ÂÀ0‘ÂÀ0‘Âà3‘Âà3‘Âà3‘Â`'‘€*‘ !‘Â`'‘ !‘Âà3‘Âà3‘Âà3‘Â@$‘Â@$‘€*‘€*‘ -‘Â`'‘Â@$‘Â@$‘‘€*‘€*‘ !‘€*‘Â`'‘‘Â`'‘ -‘ -‘€*‘Â@$‘ !‘ !‘ !‘€*‘ !‘Â`'‘Â`'‘ !‘€*‘ !‘€*‘€*‘ÂÀ0‘€*‘Âà‘ ‘ ‘ÂÀ‘ÂÀ‘ ‘ ‘Âà‘Â`‘ ‘Âà‘ÂÀ‘‘ !‘ ‘‘Â@$‘€*‘Â@$‘ !‘Âà‘‘‘€*‘€*‘ -‘Â@$‘‘Âà‘Â`'‘€*‘Â@$‘€*‘ !‘ !‘‘ ‘ !‘ !‘Â@$‘Â`'‘Â@$‘ -‘Â`'‘Â`'‘‘Âà‘ ‘ !‘ÂÀ0‘Â`'‘ !‘ !‘Â`'‘ !‘Â@$‘ !‘€*‘Â`'‘ !‘‘Âà‘Âà‘ ‘ !‘Âà‘Âà‘Âà‘Âà‘ÂÀ‘ ‘€‘ ‘ ‘Âà‘ -‘Â`'‘Â`'‘ -‘ -‘€*‘Â`'‘Âà‘‘‘Âà‘ !‘Âà‘ !‘‘Âà‘ÂÀ‘ ‘ ‘Â`‘€‘ ‘Â`‘€‘Âà‘Â`'‘Âà3‘Â@$‘€*‘ !‘ !‘ !‘ !‘ ‘ ‘Âà‘ !‘Âà‘ ‘Âà‘‘ÂÀ‘ ‘ÂÀ‘Â`‘Â@ ‘€‘ ‘Âà‘Â`‘€‘€‘ ‘Âà‘€‘ÂÀ‘ !‘‘Âà‘ !‘ ‘Âà‘ÂÀ‘Âà‘ !‘ ‘ ‘Âà‘ ‘ ‘ ‘Âà‘Â`'‘ !‘‘‘‘‘Âà‘Âà‘ÂÀ‘ !‘Â@$‘€*‘ -‘Â@$‘Â`'‘ !‘ !‘Â`'‘‘ !‘Â@$‘€*‘ -‘Âà3‘€*‘ -‘ÂÀ0‘€*‘Â`'‘Â@$‘Â@$‘‘ !‘ !‘Â@$‘ ‘ ‘‘‘Â`'‘Â`'‘ -‘ -‘Âà3‘ :‘Â7‘Â`@‘ÂÀ0‘ !‘Â`‘ÂÀ‘‘Âà‘Â@$‘ !‘ÂÀ0‘Âà3‘Â7‘ :‘ÂÀ0‘ -‘€*‘Âà3‘Â7‘Â@=‘Â`@‘Â@=‘Â@=‘Â`@‘Â@=‘ -‘Âà3‘Âà3‘Âà3‘Âà3‘Â@=‘Â@=‘ÂÀ0‘ÂÀ0‘Âà3‘€C‘Â7‘Â7‘ -‘ -‘ :‘Â`@‘Âà3‘Âà3‘Â7‘Â@=‘€C‘Â`@‘Â`@‘ÂàL‘ÂàL‘ÂÀI‘€C‘ F‘ÂÀI‘ÂàL‘ÂP‘ F‘€C‘ÂÀI‘Â@V‘Â@V‘Â@V‘Â@V‘ÂP‘ÂP‘ÂàL‘ÂP‘ F‘€C‘ F‘€C‘Â@=‘Â@=‘ÂàL‘ S‘ÂP‘ÂàL‘Â@V‘ÂàL‘ S‘Â`Y‘Â@V‘Â`Y‘ S‘ S‘Â`Y‘€\‘€\‘ S‘€\‘Â@V‘ÂàL‘ÂàL‘ F‘ÂP‘ F‘ÂP‘ÂP‘Â`Y‘Â`Y‘ÂÀI‘ F‘ S‘ F‘ÂàL‘ F‘ÂÀI‘ S‘Âàe‘ÂÀb‘ÂÀb‘ÂÀb‘Âàe‘ _‘ S‘€\‘ S‘€\‘Â@V‘ÂàL‘ F‘ S‘ÂÀI‘ S‘ S‘Â`Y‘ _‘Âi‘ l‘ÂÀb‘ l‘Âàe‘Âi‘Â`Y‘Âi‘ _‘ÂÀb‘Âàe‘Â@V‘ÂÀb‘Âàe‘ l‘ _‘ _‘Â`Y‘ÂÀb‘Âàe‘ _‘ l‘ l‘Â`r‘Âi‘€u‘ x‘Â`r‘ x‘ l‘Âàe‘Â@o‘ l‘Âàe‘ÂÀb‘ÂÀb‘€\‘ÂP‘ÂP‘Â`Y‘ _‘ _‘Âàe‘Âi‘ÂÀb‘Âàe‘Â@o‘Â`r‘€u‘Âà~‘Âà~‘Â@o‘Â`r‘Â@o‘ x‘ÂÀ{‘ x‘ l‘ l‘Â@o‘Â@o‘Âàe‘Âi‘€u‘ÂÀ{‘ x‘ÂÀ{‘€u‘Âà~‘‚‘Â@ˆ‘Â`‹‘ ‘‘Âà—‘Â`‹‘‚‘ …‘Âà~‘ x‘Â@o‘€u‘Âà~‘ …‘ x‘Âà~‘ÂÀ{‘ …‘Âà~‘Âà~‘ x‘Â`r‘Â`r‘Â`r‘ x‘ x‘Â`r‘ l‘ l‘ l‘Â`r‘ l‘ l‘ l‘Â`r‘ x‘Âàe‘ x‘ÂÀ{‘ÂÀ{‘ x‘ x‘‚‘‚‘Âà~‘ x‘ …‘ x‘ …‘Âà~‘ x‘Â`r‘€u‘ l‘ l‘Â@o‘ x‘ l‘ _‘ l‘ x‘Âà~‘ x‘Â@o‘ l‘ l‘Â@o‘€u‘Â@o‘Âàe‘ _‘€\‘ _‘ _‘ÂÀb‘ _‘Âàe‘ _‘ÂÀb‘ÂÀb‘ÂÀb‘€\‘€\‘Âi‘ÂÀb‘ l‘Âi‘Âàe‘ l‘Â`r‘ l‘Âàe‘ l‘ l‘ _‘ _‘Âi‘Âàe‘ l‘ l‘ÂÀb‘ S‘ÂÀI‘ÂÀI‘Â`Y‘ÂÀb‘ÂÀb‘ÂàL‘ S‘ _‘Âàe‘€u‘ x‘ l‘€u‘Â`r‘Âi‘ÂÀb‘Âàe‘ÂÀb‘ÂP‘€\‘ S‘ÂP‘ÂÀI‘ÂàL‘ F‘€C‘ S‘ F‘ÂàL‘ÂàL‘ÂàL‘ÂàL‘ F‘ÂP‘ÂàL‘ F‘Â7‘Âà3‘Â@=‘Â`@‘Â@=‘ -‘ -‘Â7‘ :‘Âà3‘Âà3‘Âà3‘ÂÀ0‘€*‘€*‘Â`'‘Â@$‘Â@$‘Â`'‘Â@$‘‘ ‘Âà‘ ‘ÂÀ‘Âà‘Â`'‘‘€‘ !‘ !‘‘Âà‘ !‘Â`'‘Â`'‘Â`'‘ !‘€*‘ !‘Â@$‘ !‘ÂÀ‘‘Â@$‘ !‘‘ !‘ÂÀ‘Âà‘ÂÀ‘Âà‘ÂÀ‘‘ -‘ÂÀ0‘Â`'‘ !‘Âà‘ ‘€‘ !‘ !‘ÂÀ‘ ‘Â@ ‘Â`‘ ‘Âà‘Â@$‘ ‘Â@ ‘ÂÀ‘Â@ ‘€‘ ‘Â`‘Âà‘ !‘ ‘Âà‘‘ÂÀ‘ÂÀ‘Âà‘€‘€‘ ‘ ‘ ‘Âà‘ ‘‘Â@ ‘ ‘Âà‘ ûÂ@ò€øÂà‘€øÂ@òÂ`õ€øÂ€øÂàèÂ@ÙÂ`ÜÂ@ÙÂ@Ù€ßÂÀå ÖÂ@Ù€ßÂÓÂàÏ ÉÂÀÌ É ½Â`ÀÆÂà¶Âà¶ÂÀ³Â€­Â ¤Â ¤Â`ªÂ@§Â ¤Â@§Â`ªÂÀ³Â °Â ¤Â¡Â@§ÂàÂà ¤Â@§Â ¤Â ¤Â —Â@ŽÂàÂàÂà —Â@ŽÂ@ŽÂ@ŽÂ`‘ ‹Âà„ ‹Âà„Â@ŽÂ —ˆÂ`xÂoÂàkÂÀhÂ`xÂà„ ~ÂÀˆÂ@ŽÂ ~ ~ ~ÂÀ ‹Â ‹Â ~ ~ ~ ~Â`x€{ÂÀh YÂ@\ÂàRÂV eÂoÂ@\€b e e e€bÂVÂ`_Â`_Â`_€bÂàkÂÀh eÂàR L LÂàRÂàR YÂ@CÂVÂ`_ Y€IÂ`F @ @Â`FÂ`F @€I LÂV€IÂÀOÂV LÂàRÂàR L€IÂ`F @ @Â`F @ LÂÀO€I @Â`FÂà9ÂÀ6Â@CÂ`FÂ`F @€IÂàRÂàRÂàR L @Âà9Â`FÂ`F @Â= @ÂÀ6Â=Â`F€IÂ`FÂ`FÂ@C @ @ÂÀ6ÂÀ6 3 3Âà9Â=Â=ÂÀ6Âà9 3Â`- 3ÂÀ6 3Â`-Â`-Â`- 'Â@*Â@* 'Âà  'Â$Âà Â@*ÂÀ 'Âà Âà Â`€Â`Â`Â@* Â@   Âà   €Â` €Âà  '€0Â$ ' ' '   Â`Â`ÂàÂ@ÂàÂ@ ÂàÂà  €Â@€ € Â` €þÂà  Â@  ÂÀÂÀÂÀ Â`ûÂ`û€þÂ`ûÂàÂÀ  ÂòÂ@øÂ€þÂÀ€þ  ÂÀ€þ      €þ€þ ÂòÂ@øÂ`ûÂ`û õ€þÂò õÂ@øÂ`ûÂÀÂà Â@øÂ`ûÂ@øÂ èÂÀëÂ@ßÂ`âÂ`âÂ`âÂ@߀å ÜÂ@ߠܠܠ܀åÂàÕÂ`â Ü ÜÂàÕÂ@ÆÂ ÃÂ@ÆÂ ÏÂÙÂÙ ÜÂ`âÂ`âÂ`âÂ`â Ï Ã Ï ÃÂ`ɠπÌÂÀÒÂ@ßÂ٠ϠπÌÂàÕ Ü ÜÂÙÂàÕÂÀÒÂÀÒÂÙÂ@ßÂÀÒÂàÕÂÙ€åÂ@ßÂ@ßÂÙ€ÌÂÀÒÂ٠π̠̀ÏÂ`É ÏÂÙÂàÕ Ü Ü ÜÂÙÂÙÂàÕÂ`ÉÂÀ¹ÂÀ¹ÂÀ ÃÂà¼Â ÀÌÂ`É ÃÂÀÂ@ÆÂ€ÌÂàÕÂàÕ Ü ÜÂàÕÂàÕÂÙÂÙÂ`âÂ`âÂ@ß Ü ÜÂàÕ€ÌÂ`ɀ̠ÏÂàÕÂÙÂ`â ÜÂàÕ ÏÂàÕÂàÕÂ@ßÂàÕ ÏÂ@ÆÂ`ÉÂàÕ ÜÂÀÒ Ï ÜÂ`â èÂ`âÂ`âÂ@ߠ܀ÌÂÀÒÂ@ßÂ@߀åÂ`âÂÙÂÙÂ`â ÏÂ`ÉÂ@ÆÂ€ÌÂÀÒÂàÕ Ü ÜÂàÕÂàÕ ÏÂàÕÂàÕÂ`â ÜÂàÕ Ï Ü Ü ÜÂÀҠܠ܀å èÂàî õ õ õÂò è€å èÂÙÂ@ßÂ@ßÂ@ß ÜÂ`âÂ`âÂ@øÂàî è èÂÀë€åÂàî€þÂ`û€þÂÀÂÀÂ`û õÂ@øÂàîÂàîÂòÂàîÂàî õ€þÂÀÂ`ûÂ`ûÂÀ€þ   ÂÀ   ÂàÂÀÂà   Âà ÂÀ  ÂàÂÀÂÀ ÂÀ Â`ûÂ`ûÂò õ ÂàÂ`€Âà Âà Âà    Âà Â`Â`Â@€€Â@ Â@ Âà Âà Âà Âà Âà  €€ ÂÀÂà  €Â`Â`Âà €0ÂÀ6Â@* 'Â`-€0 'Âà  '€0 3Â@* 'Â`-Âà Âà Â$Â`-€0Â@* 'Â@*Â$Â@*Â`- 'Â`-Â@*Â@*Â`- 'Â@*€0Â`- 'Â$Â@* 'Âà9Âà9 3€0€0Â@CÂ`FÂ= @Âà9Âà9Âà9Âà9Â=Â= @Âà9Âà Âà ÂÀÂ@*Â@*Â`-€0 3Âà9 3Â`- 3Âà9ÂÀ6€0Â@* 3Âà9 3Â@*Â`-Â$Â`-Âà9Â`-ÂÀ6 3Âà9 @ 'Âà Â$€0 3Â`-Âà9Âà9 3Â$Âà9 3 3€0 3 'Âà Â`-Â`-€0 3€0 3 'Â`-Âà Â@* 'Âà Âà Â$ 'Âà  ' 'Âà Â`Â@ Âà  €þ €þ€þ€þ Âà€þ€þÂ`ûÂ@øÂ`ûÂàîÂ`û Â`û õÂ`û €þÂòÂ@øÂ@øÂ õÂ@øÂ@øÂ õÂòÂàî€þ  ÂÀ €þÂà€þÂÀ Â@øÂÀëÂàî õ õÂòÂÀëÂòÂ@øÂÀ õÂ@øÂòÂòÂàîÂ`û€þÂ`û  õÂÀëÂàî õ€þ€þÂ`ûÂÀë õ õ€þÂ`û€þÂàîÂÀëÂòÂàîÂÀëÂàî õÂ`ûÂ@øÂ`û €þ Â@øÂàî èÂòÂ@øÂàî õÂ`ûÂ`û€þÂ`û  Âà  ÂÀÂÀÂ@øÂ õ Âà Â@€ÂÀ Â`€€  Â@Â`Â`Â@  Â@Â`  Â`û Â@€€  Âà Â`- ' '€0 3€0Â@*Â$Â$Âà  Â`-€0Âà9Â@C @Â`F L L LÂV L @Âà9 @Â@C @ @Âà9 @Â=ÂÀ6ÂÀ6€0ÂÀ6ÂÀ6Âà9Â= 3€0€0Â`-Â@* 3Â= @Â= @ L LÂ@CÂ@C @Â@C€I @Â`F @ÂÀOÂàRÂVÂ`F LÂ`FÂÀO YÂVÂVÂ@\ÂàRÂàRÂàR YÂàR Y YÂ@\ YÂÀOÂàR YÂàR YÂ`_ Y YÂ@\ YÂ`_€bÂàk€{€{€{ ~Â@uÂ@uÂàkÂàkÂ`xÂo rÂàkÂàk e e€b Y€bÂàkÂàkÂ@uÂ`xÂ@u r rÂoÂ`xÂàkÂàk rÂ`x rÂo r rÂoÂ@u ~ÂÀÂ@uÂ@uÂÀÂ`x ~€{ rÂàkÂo eÂÀhÂàk e eÂÀhÂoÂàk eÂo rÂàkÂàk rÂ@u€{€{Âà„Âà„€{ ~€{ ~ r rÂàkÂ`_€bÂÀhÂÀh e e€bÂàkÂoÂàkÂ`x€{ r€b eÂoÂ@uÂ`xÂÀÂà„ ~€{Â@uÂÀÂ`xÂ`xÂ@uˆ ‹Â ‹ÂÀÂÀÂÀÂ@ŽÂˆÂà„ ‹Â`‘Âà„ÂÀ ‹ÂÀ€{ ~ ~Âà„ÂÀˆ —Âà€”Â`‘Â`‘Â@ŽÂ@ŽÂà ¤Â@§Â — —Âà€” —¡ ¤Â — —Â`‘ˆÂà„ˆÂÀÂ`‘¡ ¤Â`ªÂ@§Â`ªÂ`ªÂàÂà —¡Â`ªÂÀ³Â@§Â ¤Â`ªÂ@§Âà — ¤Â —ÂàÂà¡ —€” ‹Â ‹Â@ŽÂ€”€” —ÂÀšÂ¡Â¡Â °Â °Â€­Â °Â °ÂºÂÀ³Â °ÂÀ³Â °Â`ªÂ °Âà¶Â€­Â`ªÂÀ³ÂÀ³Â`ªÂ€­Â °Â °ÂÀ³ÂÀ³Â °ÂÀ³ÂÀ³Â °ÂÀ³Â °Â`ªÂ`ªÂ °Âà¶Â€­Â ¤Â`ªÂà¶Â °Â ½ÂºÂ@ÀÂà¶ÂºÂ ½Âà¶Â`ªÂÀ³Â`ÃÂàÏ ÉÂÓ€ÆÂ`à½Âà¶Â@À ½Â ½Â`ÃÂ`ÃÂàÏÂ`ÃÂ@ÀÂ`ÃÂ@Àº ÉÂÀÌÂÀÌÂàÏÂÀÌÂÀÌÂàÏÂ@Àº€ÆÂàÏ ÉÂ@ÀÂ`ÃÂÀÌÂÓ€ÆÂ É€ÆÂ É É ½ÂàÏ ÖÂ`Ü€ßÂ`Ü€ßÂ@ÙÂàÏÂ@ÀÂ@ÀÂÓÂàÏÂÓÂÀÌ ÖÂ@ÙÂàÏ ÖÂ`Ü ÖÂàϠր߀ßÂàÏÂÀÌ É Ö ÖÂ`ܠրߠâÂàÏÂ`Ü ÖÂàÏÂ`Ü ÖÂ`ÜÂàèÂàèÂìÂ@òÂ@òÂàè Ö âÂ`ÜÂ`܀ߠâÂì€ßÂ`Ü ÖÂ`ÜÂ`ÜÂÓÂ@Ù€ßÂ`܀߀ßÂàèÂì âÂàèÂìÂàèÂìÂàè ïÂàèÂàèÂÀå€ß âÂÀåÂÀåÂÀå ï ïÂ`Ü â â€ßÂàè âÂìÂÀåÂ`ÜÂ`Ü ÖÂӀߠâÂ`ÜÂ`Ü ïÂìÂàè â âÂ@Ù Ö ÖÂ@Ù ÖÂ@Ù€ßÂàè â ÖÂ`Ü âÂàèÂàèÂàè â âÂìÂÀåÂàèÂÀåÂÀåÂàè€ß â âÂ@Ù€ßÂÓ Ö â ÖÂ@ÙÂӠɀÆÂ`ÃÂ`ÃÂàÏ Ö Ö ÉÂàÏ Ö Ö ÖÂàÏ É ÖÂàÏ Ö ÖÂÓÂàÏÂàÏÂàÏÂÀÌ€ÆÂ`ÀÆÂÀÌ ÉÂÀÌÂÀÌÂ`ÀÆÂ`ÃÂ@Ù€ßÂÓ€ÆÂ@ÀÂÀÌ ½Â É É ÉÂ@À ÉÂàÏÂàÏÂÓ ÖÂ`܀߀ßÂÀå€ß€ßÂ@ـߠ֠ɠÖÂÀÌ ÉÂàÏÂÓÂÀÌ Ö ÖÂ`Ü€ßÂàÏ€ÆÂàÏÂ@ÙÂàÏ É ½Â€ÆÂ ½Â@ÀÂ@À€ÆÂ€ÆÂ É ÉÂÀÌÂàÏÂàÏÂàÏÂ@Ù ÉÂÀÌ ÖÂàÏ ÖÂÓ ÉÂ`àɀÆÂ â Ö Ö Ö€ß€ßÂàÏÂÓ Ö€ÆÂ ÉÂàÏ ÉÂàÏ€ÆÂàÏÂÓÂÀÌÂ`ÀÆÂ€ÆÂ€ÆÂàÏ ÖÂÀÌÂ`ÃÂà¶Âà¶Â °Âà¶ÂºÂ`ÀÆÂàÏÂÓ ÖÂÓ€ÆÂ`à½Â@À ½Â€ÆÂºÂ`àɠɠÖÂàÏ ÉÂàÏ ÉÂ`ÃÂ@À€ÆÂ`ÀÆÂ€ÆÂ É€ÆÂ É É€ÆÂ€ÆÂ ½Â ÉÂàÏÂàϠɠ֠ɠɀÆÂ ½Â`ÀÆÂ ÉÂ`ÃÂ`ÃÂàÏ ÖÂ@ÙÂàÏÂàÏÂàÏ É ÉÂàÏÂÀÌÂ@ـߠÖÂÓÂàÏÂàÏÂàϠɀÆÂàÏÂàÏ€ÆÂàÏÂàÏÂÀÌÂàÏÂàÏÂ`ÜÂàÏ€ÆÂ ÉÂàϠɠɀÆÂàÏÂÀÌ ÖÂÓ ÉÂÀ̠ɠɀÆÂ É ½Âà¶Â€ÆÂ@ÀÂÀÌ ÖÂ@ÙÂ`ÜÂàÏ€ßÂ@ÙÂàÏÂàÏÂ`Ü€ßÂ@ÙÂ`Ü â ÖÂÓ ÉÂàÏÂàÏ Ö Ö É Ö Ö â Ö€ßÂÀåÂàè ï ï ïÂàèÂ`ÜÂ@ـߠïÂ@ò ïÂ`õ âÂ@ÙÂàÏÂÓ Ö€ßÂ@ÙÂ`Ü ¨(dt ?@4 4ÿxunitsyunits@ºh² (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ! (ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec0 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsлð½TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿx¿HEAPX ¾datadescription8  @œÀÀq·—NM€SNODh¾À1Àå âÂ`ÜÂ`܀ߠâÂÀåÂ`ÜÂ@Ù€ßÂàèÂìÂàèÂàèÂÀå â ïÂìÂ`ÜÂì û€øÂ ûÂà‘‘‘ ûÂìÂàè â âÂ`ÜÂÀåÂ@òÂ@ò ïÂàè ïÂ@òÂàèÂàèÂÀå âÂàèÂ`õÂ@òÂ@ò ïÂ`õÂÀþÂÀþÂÀþ€øÂ ûÂÀþ ‘ ‘ÂÀþÂà‘Âà‘Â`õ û û û ûÂÀþ ‘ ‘‘ÂÀþÂà‘ ‘ÂÀþ û€øÂ ‘‘‘€‘€‘Âà‘ÂÀ‘‘ !‘‘Âà‘ ‘ ‘Âà‘Â`'‘‘ ‘ÂÀ‘Âà‘Â`'‘Â`'‘ -‘ÂÀ0‘€*‘ -‘ÂÀ0‘ -‘€*‘ !‘€*‘ !‘‘ÂÀ‘Â@$‘€*‘Â`'‘ -‘ -‘Âà3‘ :‘€C‘Â`@‘Â7‘Âà3‘Â7‘Âà3‘Âà3‘Â7‘€C‘ :‘Â@=‘Â7‘ -‘ -‘ :‘ -‘€*‘ÂÀ0‘ -‘ -‘€*‘ -‘ÂÀ0‘Â`@‘Â`@‘Â`@‘Â`@‘ :‘€C‘Â@=‘Âà3‘ :‘Âà3‘ :‘ :‘€C‘ :‘ÂÀ0‘Âà3‘ÂÀ0‘ÂÀ0‘ÂÀ0‘ÂÀ0‘€*‘Â`'‘ -‘ÂÀ0‘Â`@‘€C‘€C‘ :‘Âà3‘ !‘ !‘Â`'‘€*‘Â`'‘ !‘Â@$‘ -‘ !‘Â`'‘ -‘ :‘ F‘Â`@‘Â@=‘Â`@‘€C‘€C‘Â7‘ -‘€*‘Â`'‘Âà3‘Âà3‘Âà3‘€*‘ !‘Â`'‘Â`@‘Â@=‘ÂÀ0‘ÂÀ0‘ÂÀ0‘ -‘ -‘ -‘Â`'‘ -‘ :‘ :‘Âà3‘Âà3‘ !‘ -‘€C‘ F‘€C‘ :‘ÂÀ0‘Âà3‘Â@=‘€C‘ F‘ÂàL‘€C‘ F‘€C‘ :‘Â@=‘Â`@‘€C‘ÂÀI‘ÂÀI‘€C‘ÂàL‘ÂàL‘€\‘Â`Y‘ÂÀI‘ÂàL‘ F‘Â7‘Â@=‘ :‘ÂÀ0‘ :‘Â`@‘ÂÀI‘€C‘Â@=‘€C‘ F‘ S‘€C‘ F‘ S‘ÂàL‘€C‘ F‘ :‘Â@=‘ :‘Âà3‘ -‘€*‘€*‘ -‘ÂÀ0‘Â`@‘ :‘Â7‘ÂÀ0‘ -‘ -‘ -‘ :‘ F‘Â`@‘ F‘€C‘ :‘Â`@‘ :‘ :‘Â7‘ :‘€C‘ÂÀI‘ F‘ F‘ F‘€C‘ :‘ÂÀ0‘€C‘Â@=‘Â@=‘Â7‘Â`'‘ ‘Â@ ‘Âà‘Âà‘Âà‘Âà‘Â`‘ û ï ïÂ`õÂ`õ ûÂ`õÂàèÂàèÂ`܀߀ßÂÓ ÖÂàÏÂ@ÙÂàÏ É ÖÂÀÌÂàÏ€ÆÂ ÉÂ`à½Â ÉÂàÏÂàÏ ½ÂÀÌ ½Â€ÆÂ`ÀÆÂàÏÂàÏÂàÏÂ`ÀÆÂ@À ½Â€ÆÂ ½ÂºÂ`ÃÂ`àɀÆÂ`àɀÆÂ@ÀºÂà¶Â€­Â`ªÂ ¤ÂàÂàÂ`ªÂ€­Â@§Â¡Â€”¡ ¤Â¡Â ¤Â€­Â`ªÂ¡Â`ªÂ@§Â ¤Â¡Â ¤Â`ªÂ °Â °Â °Â`ªÂ€­ÂÀ³Â °Â ¤Âà ¤ÂàÂà —Âà — — —€”Âà —Â@ŽÂ ‹Â ‹ÂÀšÂÀšÂ@§Â¡Â ¤Â`ªÂ ¤Â °Â ¤Â —€”€”€”Â`‘ —Â`‘Âà„€”€”Â`‘Â@ŽÂ — —Â`‘€”€”€” —Â@§Â ¤ÂàÂÀšÂÀšÂࠤ¡ —Â`‘ ‹Â€”ˆ ‹Â ‹ÂÀˆÂ`‘Â`‘ —€”Â@ŽÂà„ ‹Â ‹Â@ŽÂ@ŽÂ ‹Â@ŽÂ ‹Â€”Â`‘ —€”Â@ŽÂà„ˆ ‹Âà„ ‹Âà„ ~ÂÀ ~ ~ˆÂ`‘ ‹Â€”Â`‘€” —Â@ŽÂ€”ÂÀšÂ —ÂÀšÂà —Âࠤ€”Â`‘€”ˆÂ`xÂà„ÂÀÂÀÂà„ÂÀ ‹Â —Âà€”€” — ‹Â`‘ ‹Âà„ÂÀˆÂ@ŽÂÀ ‹Â ‹Â —ÂàÂàÂÀšÂà —ÂÀšÂ ‹Â€{Â`xÂÀˆÂÀ€{Âà„ˆ ‹ÂÀ ~Â`x ~Âà„ ~€{ˆ ‹Â ‹Â@ŽÂ`‘ —€”€” ‹Âà„Â`‘Â@ŽÂ — ¤Âà —¡Âà€”Âà„Âà„Âà„ˆˆ ~ÂÀÂÀ ‹Â@ŽÂ`‘ ‹Â ~€{€{Â`xÂ`x rÂo rÂÀÂà„ˆÂà„ÂÀÂà„€{ ~ ~€{ ~ ~€{Â`xÂà„ ‹Â ‹Âà„ rÂ`x rÂ@u eÂo rÂÀÂ@ŽÂˆÂ@ŽÂà„Âà„Âà„ ‹Â ‹Â ~Â`x€{Â@uÂoÂ`xÂo rÂ@uÂ`xÂ`xÂ@uÂ`xÂoÂàkÂàkÂ`x ~Â@uÂÀhÂ`x rÂ@u€{ rÂ@u€{ ~ ~Â`x€{€{ ~ ~Â@ŽÂà„Âà„Âà„ˆ€”Â@ŽÂˆÂˆÂ`xÂ`xÂ`x€{ ~€{ ~Âà„ÂÀÂÀ ~Â`x€{Âàk€bÂÀhÂoÂàkÂ@u ~ ~ ~ ~Â@uÂ`x€{Â`x rÂ`xÂ`xÂàkÂÀhÂàk€{ÂoÂàk r€{Â`‘€”€”Â`‘ ‹Â ~Âàk rÂàkÂoÂà„Â@ŽÂ@ŽÂˆÂˆÂÀÂÀÂà„ˆÂÀ ~Âà„ ~€{ˆÂ@ŽÂ`‘€”Â`‘ ‹Â`‘Â`‘Â`‘Âà„ ~ÂÀ ‹Â ‹Â@ŽÂà„ÂÀ ‹Â ~Â`x€{ÂoˆˆÂà„ˆˆÂà„Âà„ˆÂ`‘Â`‘Âà„Â@ŽÂà„Â@ŽÂ@ŽÂ ‹Â ‹Âà„ ‹ÂˆÂ ‹Â ‹ÂÀ ~ÂÀÂà„ ~ ‹Â ‹Â ‹ÂˆÂ@ŽÂà„ ‹Âà —Âà€” ‹Â`‘ ‹Â@ŽÂÀˆ€{ ~ ‹Â ‹ÂˆÂà„Âà„ ~Â`xÂ@u ~ÂÀ ‹ÂÀšÂÀšÂà€”Â`‘€”ÂÀšÂ@ŽÂ€”ÂàÂà — — ‹Â ‹Â€”ÂàÂà —Â@ŽÂ`‘¡Âà¡Âà¡Â`ªÂÀšÂ ¤Â`ªÂ€­Â@§Â¡Â¡Âࠤ¡ ¤Â@§Â ¤Â ‹Â€” — ¤Â ¤Â€­Â °Â ½Â ½ÂºÂà¶ÂÀ³ÂÀ³Âà¶Â °Â °ÂºÂ ½Â ½Â`ÃÂ`ÃÂ@Àº °Â ¤Â`ªÂ`ªÂ`ªÂ€­Â °Â °Â`ªÂ ¤Â`ªÂÀ³Â@À€ÆÂ ÉÂ`à½Â@ÀÂàÏ ÉÂ`ÃÂ@À ½Â€ÆÂ`à½ÂºÂºÂºÂ ½Â@ÀÂ@ÀÂ@À€ÆÂ ÉÂÓ ÉÂ@À É °Â ½Â ½Â ½Â °Â`ªÂ€­Â€­Â °Âà¶Âà¶Â@ÀÂÀÌÂàÏÂàÏÂàÏ Ö Ö Ö€ÆÂà¶Â@ÀºÂ`ÀÆÂ ÉÂÓ Ö É Ö Ö ÖÂ`ÜÂ`ÜÂ`܀߀ߠâÂ`ÜÂӠր߀ߠâ âÂ@ÙÂàÏÂàϠրߠ֠֠â âÂ`ÜÂ@Ù âÂÀåÂ`ÜÂ`ÜÂàÏÂÓ Ö Ö Ö Ö€ßÂ`ÜÂÀå â â€ß ÖÂ`ÜÂÀåÂì ÖÂ`Ü€ßÂÓÂ@ـߠâ â âÂ`Ü€ßÂàè ïÂìÂàè ïÂì ï â âÂàèÂàè ï ïÂàè â âÂ@òÂÀåÂ`ÜÂ`õ ïÂàèÂàèÂ@ò ûÂ`õÂìÂì ïÂ`õ û€øÂ@ò ïÂì â€ß âÂàèÂàèÂÀå â âÂìÂ`õ€øÂ@ò ï€øÂ€øÂ`õ ï ûÂàè€ßÂ@ÙÂìÂ@òÂ`õÂ`õ û€øÂ û€øÂ@ò€øÂ`õ ûÂ`õÂìÂ`Ü âÂàè ïÂÀå ïÂÀå û û ûÂ@òÂ@òÂ@ò û û ‘‘Âà‘Âà‘ ‘Âà‘€øÂ ïÂì ï€øÂ ï ïÂàèÂ`õÂ@òÂÀå âÂÀå ïÂ@ò ïÂ`õ€øÂ@òÂìÂÀå ïÂ`õÂ`õ ûÂ@òÂ`õ ûÂà‘ ûÂà‘Âà‘Âà‘ ï ï û û ïÂ`õÂ@ò€øÂ`õÂ`õ û€øÂà‘Âà‘‘ û û€øÂ€øÂ@ò û ûÂ`õ€øÂ€øÂ@òÂ`õÂ`õ€øÂ ûÂ`õ ï€ßÂàè ï ï ïÂÀþÂà‘ û û û€øÂ€øÂ€øÂ ïÂàèÂì ï â âÂÀåÂÀå â âÂìÂàè ïÂÀþ ‘ ûÂà‘Âà‘ û û ûÂ`õ û€øÂ ïÂ`õ ûÂÀþÂà‘ û ûÂ@ò âÂàèÂàè ï€øÂ€øÂ`õÂì ï ï€øÂ@ò ïÂÀþÂà‘ÂÀþ ûÂ@ò ïÂàè âÂÀåÂìÂì â âÂ@Ù ÖÂàÏ€ÆÂ Ö âÂàèÂÀåÂ`ÜÂ`ÜÂ@Ù ÖÂÓ€ßÂ`Ü Ö â€ßÂàÏÂàÏÂÓ ÖÂÓ ÖÂàè â â€ßÂ`Ü ÖÂ@Ù â€ß€ßÂàÏ ÉÂÀÌ€ÆÂÓÂàÏÂàÏÂ`à½Â`ÃÂ`àɀÆÂàÏÂàÏÂÀÌÂàÏ ÉÂÀÌ ÉÂ@ÀÂà¶Â€ÆÂ ½Â€ÆÂ€ÆÂ ÉÂàÏÂàÏÂӀߠÖÂÓ€ÆÂ É ÉÂàÏÂÀÌ ÉÂÀÌ€ÆÂ ÉÂ`àÉÂàÏÂ`Ü â âÂàèÂàèÂ`Ü âÂ@ÙÂ`Ü ÖÂ`ÜÂ`ÜÂ@ÙÂӀߠâÂ`Ü€ßÂ`Ü ÖÂàÏÂ`Ü â â ÖÂàÏ€ÆÂ`àɀÆÂ րߠâ â Ö ÖÂ`ÜÂ`ÜÂ`Ü ÖÂ`Ü Ö â ï ïÂ`õ â âÂ`Ü ÖÂ@ÙÂ`ÜÂӀߠâ â Ö ÉÂÓÂ`Ü â€ßÂ`Ü€ßÂì â ïÂÀå â â âÂàè âÂàèÂ@ò â€ßÂ`ÜÂ@ÙÂ`Ü â€ßÂÀåÂàè ïÂìÂì âÂÀåÂàÏ ÖÂÀ̠ɠրߠâ â â ÖÂ@ÙÂ`ÜÂ@ÙÂàèÂàèÂàèÂÀå â ïÂàèÂàèÂìÂì ï€øÂ@òÂàèÂÀåÂàè ïÂàèÂàè€ßÂàèÂàè âÂ@ÙÂ`Ü â€ß€ß ÉÂàÏ ÖÂàÏÂÓ ÖÂ@ÙÂàè â€ß ÖÂàèÂìÂàè ï ïÂàèÂìÂ@òÂìÂÀåÂì âÂì â€ßÂàèÂàèÂìÂ`Ü ÖÂ@Ù ÖÂàÏ Ö ÖÂÓÂ`܀ߠâ€ßÂ@ÙÂ@ÙÂ`Ü ÖÂ@ÙÂÓ€ßÂ`ÜÂàÏÂ`Ü ÖÂ@ÙÂ@ÙÂ`Ü âÂÀåÂàè€ßÂ@ÙÂ`Ü Ö ÖÂ`ÜÂàÏÂ`àÉÂàÏ ÖÂàÏ€ßÂÀå Ö€ßÂàÏ ÖÂÓÂàÏ ÉÂàÏÂàÏÂ`à½Â`ÀÆÂ ÖÂÓ Ö ÖÂÓÂÀÌ É ÖÂ@ÙÂàÏÂ`ÀÆÂ ÉÂàÏ É É Ö Ö€ÆÂ É ½Â`à֠ÉÂÀÌ ÖÂ`Ü ÖÂÓÂàÏÂÓÂàÏ Ö Ö É ½Â ½Â ½ÂºÂ ½ÂÀ³Â ½Â`à½ÂºÂà¶Â °ÂºÂºÂ@À€ÆÂºÂ É ÉÂ`ÃÂ@ÀÂ@À€ÆÂ€ÆÂ ÉÂàÏÂ`Ü€ßÂ`ÜÂ`ÜÂÓÂàÏ ÖÂàÏÂ`ÜÂ@Ù Ö Ö€ßÂ@ÙÂàÏ â â â â€ßÂìÂ`ÜÂÓ ÉÂÓ Ö ÉÂÓÂÓÂàÏ ÖÂàÏ ÉÂÀÌÂÀÌÂàÏ ÖÂ`ÃÂàÏ ÉÂÓÂàÏÂàÏÂàÏÂÓÂÓÂ`ÜÂÓ É ÉÂàÏ ÖÂÀå ÖÂ@Ù Ö€ÆÂàÏ ÖÂÀÌ€ÆÂàÏ ÖÂàÏÂàÏ Ö âÂàè û û ûÂ@ò â€ß€ß âÂàè ïÂàèÂìÂàè€ßÂ`Ü ÖÂ@ÙÂ@Ù€ßÂ`ÜÂÓ É É ÉÂàÏÂàÏÂàÏ âÂÀåÂàèÂ`ÜÂ`Ü âÂ`ÜÂ`ÃÂÓÂ@Ù Ö Ö ÖÂ`Ü âÂÀåÂ`ÜÂàÏÂÓÂÀ̠ɠɀÆÂ€ÆÂ É ÉÂÀÌ ÉÂÀÌ€ÆÂ€ÆÂÀÌ€ßÂÀåÂàèÂ@٠֠րߠâÂàè€ß€ß âÂÀåÂàè â ï û ‘ ‘Âà‘ ûÂÀþ û ‘ ûÂà‘Âà‘ ûÂà‘Â`õ û ûÂ@òÂÀþÂÀþ ‘€øÂ@òÂìÂ`õ ûÂ@òÂàè€ß€ßÂ@ÙÂàè€ß ïÂÀþÂà‘ û€øÂ€øÂà‘ ‘Â@ ‘€‘€‘Â`‘€‘Â@ ‘Â@ ‘Â@ ‘Âà‘Âà‘€øÂ`õÂ`õ û‘Âà‘ ûÂÀþÂ`‘ ‘ ‘ ‘ÂÀþ ûÂ@ò ïÂ@òÂà‘€øÂ ïÂì€øÂà‘‘Â@ ‘ ‘ ûÂ`õ ûÂÀþ û ïÂ@ò ïÂ@ò û€øÂ û ûÂà‘ ‘Â@ ‘ ‘ÂÀ‘Â`‘‘ û‘ û û€øÂ ûÂÀþ ûÂÀþÂ@ ‘ ‘‘Âà‘‘ û€øÂÀþ ûÂ`õÂ@ò ï ïÂìÂàè â ï ï€øÂ ïÂ`õ âÂÀåÂàè â€ßÂàè ïÂìÂ@ò û ûÂ`õÂ`õÂÀþÂ`õÂ`õ û ï ïÂàèÂ@ÙÂÀå âÂì ï ïÂìÂì ïÂàèÂ`õÂ`õÂì â â âÂ`ÜÂ`ÜÂÓ ÖÂÀå ï ï€øÂ ïÂàè€ßÂ@٠֠րߠâ€ßÂ`ÜÂ`Ü ÖÂ`Ü ÖÂÓÂÀÌÂÓÂÓ ÖÂÀÌÂÀÌÂ`àÖÂÓÂÓ ÉÂàÏ É Ö Ö ÖÂ@ÙÂ`Ü€ßÂàÏÂÓÂàÏÂàÏÂÀÌÂ@ÀÂ@À É ÉÂ`úÂà¶ÂºÂÀ³Â@À€ÆÂ ½Â`àÉÂÀ̠ɠɀÆÂ ½Â@À ½ÂºÂºÂ ½Â ½Â ½Â ½Â`à½ÂºÂ ½Â@ÀºÂ`ªÂ °ÂÀ³Â€­Â °Â€­Â¡Â`ªÂÀ³ÂÀ³Â`ªÂ€­Â`ªÂÀ³Â ½Â ½Â@À ½Â ½ÂÀ³Â ½Âà¶Âà¶Â °Â ½Â ½ÂÀ³ÂºÂà¶Âà¶ÂºÂ °Âà¶ÂºÂ ½Â@À€ÆÂ ½Âà¶ÂÀ³Â ½ÂºÂ °Â€­Â °Â`ªÂÀ³ÂÀ³ÂºÂºÂ ÉÂ@ÀÂ`ÃÂÀ³Âà¶Âà¶ÂºÂ ½Âà¶ÂÀ³ÂÀ³ÂºÂºÂ °Âà¶Â`ÃÂ`à½Â ½Â`ÃÂà¶Â ½Â`à½Â@À °Â`ÃÂ`ÃÂ`ÀÆÂ`à½Â °ÂºÂ€ÆÂ É€ÆÂ ÉÂ`àɀÆÂ ½Â ½ÂÓ ÖÂàÏ ÉÂ`ÃÂ`àÉÂ`ÃÂ@ÀººÂà¶Â`ÃÂ`ÀÆÂ@ÀÂ`ÀÆÂ ÖÂÀÌÂÓÂÀÌÂàÏ ÉÂàϠɀÆÂ€ÆÂ`ÃÂ`ÃÂàÏ Ö É ÖÂ`ÜÂàÏ É ÖÂÀÌÂ`ÃÂ`ÃÂàÏ Ö âÂì€ßÂ@ÙÂÀÌ É ½Â`ÃÂ@À€ÆÂ É ÉÂÓ ÖÂ@ÀÂàÏÂàÏ ÉÂ`ÃÂàÏÂàÏÂàÏ€ÆÂ É ÉÂàÏÂàÏ É Ö€ßÂàèÂ`ÜÂàÏÂÓÂ`Ü€ÆÂºÂ ½Â ÉÂ`ÀÆÂ`àÖÂàÏÂàÏÂӀߠâ â â€ß€ßÂàèÂàè âÂÀåÂÀå Ö ÖÂ@ÙÂ`܀߀ߠâ Ö€ß âÂ`Ü ï€ßÂìÂ`ÜÂàèÂàèÂì ï€ßÂÀå âÂàèÂìÂàèÂìÂ@ò ûÂ`õÂàè â âÂàÏÂÓÂ`ÜÂ`Ü Ö ÖÂ@Ù€ßÂàèÂàèÂÀå€ß€ßÂÀå ï Ö Ö ÖÂ@ÙÂàèÂ`õ ï ïÂàèÂÀå€ß âÂìÂì â âÂìÂìÂÀåÂì€ßÂ`Ü âÂàè ïÂÀå âÂÀåÂÀåÂÀåÂàèÂàè ïÂ`õ û€øÂ ïÂÀå ïÂ`õÂ`õÂ`õ ï ï€øÂ@òÂàèÂ`ÜÂ`Ü â â ÖÂÀåÂàè ï ï ïÂ`õ ïÂÀåÂÀå â â â â€ßÂ@ـ߀߀ߠâÂÀåÂàè âÂ@Ù Ö Ö âÂ@Ù Ö Ö ÖÂàÏ ÖÂì ïÂàè ï ï ï âÂ`Ü Ö Ö Ö Ö â ÖÂÓÂàÏ ÉÂàÏÂ@Ù âÂì â âÂàèÂàè âÂ`ÜÂàÏÂ@ـߠâÂì ïÂì âÂ@ÙÂ@ÙÂÀå€ßÂÓ ÖÂÓÂàÏÂ`ÜÂÀåÂàè â€ßÂ@ÙÂ@ÙÂ`ÜÂ`ÜÂ`ÜÂàèÂì ï ïÂ`õ ûÂà‘ û ûÂì âÂÀåÂì âÂÀåÂ`õÂ`õ ïÂ`õ ïÂÀå ï ï ïÂ`õÂìÂì ïÂìÂ@òÂ@òÂ@òÂ@òÂìÂàè â â€ß âÂàèÂìÂ`õÂà‘Â@ ‘ÂÀþ ‘‘Âà‘‘ ‘Âà‘Â`õ ûÂ@ò û û ï ï€øÂ ï âÂàèÂàè ï€øÂ ïÂàè âÂÀåÂÀåÂì â âÂàèÂìÂìÂàè€ß€ß€ß€ß€ß âÂÀå€ßÂàè€ß€ßÂàèÂìÂÀåÂ`ÜÂÀå âÂàÏ É ÉÂ`ÜÂàè€ßÂÓ ÉÂàÏÂ`Ü â€ßÂÀåÂì€øÂ û ïÂàèÂìÂàèÂìÂàèÂàè€ßÂàè âÂ@ÙÂÓÂàÏÂÓÂàÏÂàÏÂàÏÂÓÂàπߠâÂ`܀ߠâ ÖÂàÏÂ@ÙÂàÏ É ÉÂÓÂ@Ù Ö ÖÂ@ÙÂÓÂàÏ É ÉÂ`ÃÂ`ÃÂàÏÂÀÌÂӠɀÆÂ ÖÂÀÌÂÀÌ É ÉÂàÏÂÓ ÖÂ`Ü ÖÂàÏÂÓÂàÏ ÖÂ@ÙÂ`ÜÂàÏÂÀÌÂ`ÃÂàÏÂàÏ ÖÂàÏÂàÏ ÉÂÀÌÂ`àÉÂÓÂÓ ÉÂàÏ É Ö€ßÂ@ÙÂÓÂÓÂàÏ ÉÂàÏÂ@ÙÂ`Ü€ßÂ`Ü Ö ÉÂÓ ÖÂ@ÙÂ@ÙÂÀÌÂ@ÙÂӠրߠÖÂàÏ ÉÂàÏÂàÏÂàÏ ÉÂ`ÃÂ`àÉÂ`ÃÂàÏÂàÏ ÖÂ`ÜÂÓ Ö€ÆÂ Éº ÉÂ`ÃÂàÏÂÀÌÂàÏÂ`ÃÂàÏ ÖÂàÏÂ@Ù Ö€ÆÂ ÉÂàÏÂàÏÂÀÌÂ@ÀÂ`ÃÂ@ÀÂ@ÀÂ`ÀÆÂ ½Â@À€ÆÂ`ÃÂ@ÀÂàÏÂÀÌ ½Â€ÆÂ`àÉÂ`à½Â`ÀÆÂ É ÉÂÀÌÂàÏÂÀÌ€ÆÂ ÉÂÀÌ€ÆÂÀÌÂÓÂàÏÂàÏÂÀÌÂ@À ½Â@À ÉÂ`à½Â ½ÂºÂàÏÂàÏ É ÉÂ`àÉÂ@À ½Â€­Â °Â ½Â`à½Â ÉÂ`ÀÆÂ ÉÂÀÌÂ`àÉÂ`ÃÂ@ÀÂ`àÉÂÀÌÂ@ÀÂàÏÂàÏÂàÏ ½Â ½ÂºÂÀ³Â€­ÂÀ³ÂÀ³Â`ªÂà¶Â@ÀÂ`ÀÆÂÀÌ€ÆÂ É É É ÖÂàÏÂàÏÂ@ÙÂàÏÂàÏÂÓÂÀÌÂ`ÃÂ`ÃÂÀ̠ɀÆÂ ÉÂàϠɺºÂ`à½Â ½ÂÀ³ÂºÂ ½Â€ÆÂà¶ÂÀ³Âà¶ÂÀ³Â °ÂºÂ ÉÂ@Ù û ï âÂ`Ü ÖÂàÏÂÓ Ö Ö ÖÂÀÌÂàÏÂàÏÂàÏ ÖÂÓ ÖÂÀÌ ÉÂ`àÉÂÀÌÂàÏÂÀÌ Ö ÉÂÓ ÉÂÓÂÀ̠ɀÆÂ€ÆÂàÏÂàÏ É ½Â ½Â@À€ÆÂ€ÆÂ`ÀÆÂ@ÀÂ@ÀÂ`ÃÂÀÌÂÀÌ Ö ÉÂ`à½Â`àÉÂàÏ É ½Â ½Â ÉÂàÏÂÓÂÀÌÂÀÌ€ÆÂ É€ÆÂ`ÃÂ`àÉÂ`ÜÂÀÌÂ@À É É ÖÂÓÂÓ ÖÂ`ÜÂ`ÜÂ`Ü âÂÀåÂÀå€ßÂÓÂàÏÂàÏÂÓÂàÏÂÀÌÂàÏÂ`Ü â€ßÂ@Ù ÉÂ`ÜÂ`ÜÂ`Ü€ßÂìÂàèÂàè€ß€ß âÂ@ـ߀ßÂ@ÙÂ`Ü âÂàèÂ`ܠɠɀߠâÂ`ÜÂ`Ü€ßÂ@òÂ`õÂ`õ ï ïÂàè ï ïÂ@ò ï ï€øÂ ïÂ@òÂ@òÂàèÂàè ïÂ@òÂàè ïÂÀåÂìÂàèÂàè ïÂ`õÂÀþÂ`õ€øÂ€øÂ@òÂÀåÂÀåÂÀåÂì û ïÂ`õÂ@ò ïÂ`Ü€ßÂàèÂÀå€ß âÂàèÂì€øÂÀåÂìÂ`õÂìÂàè ïÂ`õÂ@ò ï ïÂìÂ@òÂàèÂàèÂÀå ïÂ@ò ïÂ`õÂ@ò ïÂàè ïÂ`õ ïÂÀåÂÀåÂàèÂ@ò€øÂàè ïÂàèÂàè âÂ@ò€øÂ ûÂ`õ ï ï ïÂÀåÂì ïÂ`õ€øÂÀþÂ`õ ûÂìÂ`ÜÂ`Ü â€ß â€ßÂàèÂìÂàèÂìÂ`õ€øÂ€øÂÀþÂÀþ û ûÂà‘ ûÂ`õ û€øÂ û û û ûÂà‘Âà‘‘Â`‘€‘ ‘‘ÂÀ‘ÂÀ‘‘€‘Â`‘Â`‘ ‘€‘ ‘€‘Âà‘€‘ ‘ÂÀ‘€‘Â`‘ ‘ ‘ !‘Âà‘€‘ ‘€‘€‘€‘Âà‘Â`'‘ !‘Âà‘Âà‘ÂÀ‘Â`‘ ‘Â@ ‘Â`‘ÂÀ‘ ‘€‘ÂÀ‘ ‘€‘Âà‘‘Â@$‘‘ ‘ ‘Âà‘ ‘Â`‘Â`‘Â`‘€‘Â`'‘Âà‘ ‘‘Âà‘ ‘Â@ ‘Â@ ‘ ‘‘ ‘Âà‘‘ÂÀ‘Â@ ‘Â`‘Â`‘ÂÀ‘ ‘ ‘ ‘Â`‘€‘ ‘Â`‘ ‘ÂÀ‘Âà‘Âà‘ !‘ !‘€*‘Â`'‘€*‘Âà‘Âà‘€‘Â`‘Â`‘‘ ‘ÂÀþ‘ ‘ÂÀþ€øÂ€øÂ ïÂàè€ßÂàèÂàèÂÀåÂàè â â âÂàÏÂàÏÂÓ Ö€ÆÂ€ÆÂ€ÆÂ ÉÂ@ÙÂ@ÙÂàÏÂ@ÙÂ`Ü€ßÂÓÂ@Ù ÉÂàÏÂ@ÙÂàÏÂӠɺ€ÆÂ`àÉÂ`ÀÆÂ ½ÂºÂºÂ`à½Â`ÃÂ`ÃÂ`à½Â °Âà¶ÂºÂ@Àº ½Âà¶Â`ÃÂ`ÃÂ@ÀÂ@ÀÂ`ÃÂÀÌ É É ½Âà¶Â °Â`ªÂ@§Â€­Â@§Â¡Â ¤Â ¤Â`ªÂ¡Â ¤Â@§Â ¤Â€­Â °Â`ªÂà ¤Â`ªÂ °Â °Â€­Â@§Â€­ÂàÂÀšÂ ¤Â — —ÂàÂ@§Â€­ÂÀšÂ ‹Â@ŽÂÀšÂ¡Âࠤ¡¡ÂÀšÂ`‘€” ‹Â —Âà °Â`ªÂ`ªÂ ¤ÂàÂ`ªÂ`ªÂ@§Â ¤Â`ªÂ ¤Â@§Â€­Â€­Â ¤ÂÀ³Â ½ÂºÂ °Â °Â ¤Â —Â`‘ —¡ÂÀšÂàÂÀšÂ@§Â@§Â ¤Âà€”€” — —€”ÂÀÂà„ ‹Âà„Âà„ ‹Â€”ÂÀšÂ ¤Â ¤Â ¤ÂàÂà„Â`‘ —ÂÀšÂÀšÂà€”Âà¡ÂÀšÂ —ÂÀšÂ€” —€”ÂàÂ@§Â@§Â ¤Âà —ÂÀšÂàÂàÂÀšÂàÂà¡Âà¡ÂàÂ`‘ ‹Â€”Â@ŽÂ€”Â`‘€”ÂÀšÂ`‘Âà„€{ ~ÂÀ€{Âo r r ~€{Â@u€{ÂÀ ~ÂÀ€{ rÂ@u ‹Âà„ÂÀÂà„Âà„ ‹Â ~Âà„€{ ~Â`xÂo rÂ`x€{ rÂo ~Âà„Â@ŽÂ — ~ ~ÂoÂ`x ~€{€{Â`x€{€{Â`xÂ`x€{Â`xÂ`x ~ÂÀÂÀ€{Âà„ ~Â`xÂàk eÂ`_ÂÀh eÂÀhÂ`xÂo r e e€bÂÀhÂ`xÂÀ ‹Â ‹Â€” —ÂÀšÂ@ŽÂà„Âà„ ‹Âà„ ‹Â`‘Âà„ ‹ÂÀ rÂoÂà„ÂÀÂà„Â`x ~ r eÂàk e€bÂàRÂ`_Â`_€bÂoÂÀhÂ`xÂà„ ~ ~Â@u r eÂàkÂàkÂÀhÂo€{ ~Â`x€{ˆˆÂà„€{Âàk e€{€{Â`xÂ`xÂ`x€{Â@uÂ`xÂoÂoÂoÂ`xÂoÂÀhÂ@\ÂVÂ@\ eÂo r€{ ~Â@uÂ`x rÂàk€{€{ r ~€{Â`xÂ@u ~€{Â`xÂà„ÂÀ ~ ~Âo e YÂ`_ eÂ@uÂ`x rÂàkÂ@uÂ@u rÂàkÂàkÂoÂàkÂoÂo rÂàkÂàkÂ`_Â`_€b eÂàk eÂ`x rÂàkÂ`_ Y€bÂ`_ YÂÀOÂÀO L Y YÂÀOÂàRÂV YÂ@\ YÂVÂàRÂàRÂàRÂVÂ`_Â@\ÂàRÂàRÂàRÂàRÂVÂVÂ@\ eÂ@\Â`_Â`_ÂàRÂÀO YÂ@\Â`_Â`_ YÂÀOÂ`FÂàRÂàRÂ@\ YÂ@\ÂàR L YÂ`_ÂàRÂàRÂ`_€bÂ@uÂ`x rÂ`xÂ@uÂ@u eÂÀh e€b€b eÂV€b eÂ@\ÂàRÂVÂÀOÂÀO Y Y eÂàkÂàkÂ`_ YÂV YÂ`_Â@\ YÂVÂ@\Â`_Â@\Â@\ÂVÂV YÂ`_ e e YÂàR YÂVÂàRÂVÂ`_€bÂ`_Â@\ Y LÂàRÂ@\ YÂ@\Â@\ÂVÂ`_ e eÂ@\ÂàRÂ@\ÂVÂàR LÂàR€I€IÂ`FÂ@CÂ`F€IÂàR LÂÀOÂ@\Â`_ÂàRÂàRÂÀO @€IÂ`FÂ`F€IÂ`FÂ`FÂ`F LÂÀOÂV Y YÂVÂÀOÂÀO€I€IÂ`F€IÂàRÂ`F @Â`FÂ`F L€I€I€I @ @ 3 @Â@C @Â@CÂ=Âà9Âà9 @ @Â@CÂ@CÂÀOÂÀO L LÂàR€IÂ`F @Âà9Âà9Â@*Â=Â@C LÂ`FÂ`FÂÀ6Âà9 @Â`FÂ`F€IÂ`F @ 3ÂÀ6 3 3 3Âà9€0Â`- 3Â@* 'Âà  3Â`-Â`-Â$Âà Âà Âà ÂÀÂ@*Â`-Â`- 3Âà9Âà9 @ @ÂÀ6Â`-Â@* 'Â@* 'Â@*Â@*€0€0Â@*Â$Â$ Âà Â`Âà Â$ 'Â@*ÂÀ€Â@Âà €  Â@ Â`Â`  Â@€Â`  Âà Â@* 'Â@*Â`- 'Âà Â` Â` ' 3Â`-  Â`-€0 ' 'Âà Â` Â$Â@*Âà ÂÀ 'Â$ €€ÂÀ ' 'Â$Â` Â$ 'Âà Âà Âà Â@* 3Âà Â$Âà Âà ÂÀÂ`Â` Â$Âà Â$Âà Âà Â@*Â$Â$ €  ÂÀÂà Âà Â`- ' 'Âà Â@*Â$Âà ÂÀ  Â@ Â$ ' 'Â`-Â@* ' 3€0Âà Â`Â`Âà €Â@ €Âà   € Âà  Â` € 'Âà Âà Âà ÂÀÂà €  ÂÀ 'Âà Â$ 'Â$ ' 'Â@*€0€0Â@*Âà €ÂÀÂ` Â$ Â`€ÂÀ€Âà    €€€Âà Â@*Âà Âà  'Âà €€ÂÀÂÀÂ`  'Âà ÂÀ Â@Â@ Â`  €Â@Â@Â`Â`Â@€ÂÀ €€€  Â`     €Â`Â`  Â`€ €Â@*Â@* 'Â$ÂÀÂ$€Â`  Âà€Â`  ÂÀ€þÂÀ€þ     €Â@Â`Âà  Â`€Â@*Â@*Â@*Âà  'Âà Â$ Â`€Â@  Â@€ÂÀÂà  'Â$ € ÂàÂàÂ`  € Â`Â@Â` ÂÀÂ`û   Â`ÂÀÂà ÂÀÂà  Âà Âà  'Â$Â@*Â`-Â@* ÂÀ '€0 'Â$ÂÀÂÀÂ$Âà  'Â`-Âà Â$ 'Â@*Â$Â`- 3Âà9€0Â@* ' 'ÂÀÂ`Â$Âà9ÂÀ6 3ÂÀ6Â`- 3 3 ' 3Â`- 3Âà9Â= @ @Âà9Âà9Âà9€I L @ @Â@CÂà9Âà9 @ @ @ 3Â@* '€0 3Â`- 3 3 3Â`-Âà9 3Âà9 @ @Â`F @€0Â`- 3Âà9Âà9ÂÀ6 3€0 'Â`-Â@*Â`-€0Âà9Âà9ÂÀ6Â@C @Â`F @Âà9€0Â`F @Âà9€0Â@*Â`-Â`-Â`-ÂÀ6Âà9Â=Âà9 3€0€0Â@*Â@*€0Âà9Â=Â@C€IÂàR LÂ=Âà9Âà9 @ÂÀ6€0ÂÀ6Â@CÂ`F LÂ@CÂ`F @Â@C @ @ @ @Â@C @Âà9Âà9Âà9 @Â`F @ÂÀ6Â=€IÂÀOÂàR€IÂ`FÂ`FÂà9 3Â=Âà9Â=ÂÀ6 @Â`FÂàR @Â@CÂà9 3 3Âà9 @ @Â@C€I @Â`FÂ`FÂ@CÂÀ6 3Âà9Âà9Âà9 @Â`F L L LÂ`FÂà9 @ÂÀO€IÂ`F L @Â@CÂàRÂVÂàRÂ`_ YÂàR L LÂàRÂ`F LÂÀOÂ@C LÂàR€IÂÀOÂàR€bÂÀhÂàk eÂ@\Â@\Â@\ÂàRÂÀOÂVÂVÂ`_ eÂ`_ eÂÀhÂ`_ YÂàR YÂÀOÂ`FÂVÂVÂ`_ YÂV€bÂ@\€b e eÂàkÂ@\ eÂ`_Â`_Â`_Â@\ YÂÀO Y YÂ`_ e€b e e Y Y eÂ@\Â@\ Y Y LÂÀOÂà9Âà9 @ÂV L€I€IÂ`FÂà9Âà9€I L @ @Â=Â@CÂÀ6Âà9 @ÂÀ6 3€0Âà9 3 'ÂÀÂ`-Â=Âà9ÂÀ6 ' 'Âà Â$ Â`Â@ Â@ Âà  Â$Âà  Â$  'Âà    Âà   Âà Â@Â`€ Â@*Â@*Â$ ÂÀÂÀ €   Â$Âà Â` Âà ÂàÂàÂà   Â`û€þÂ`û Âà Âà   €€€Â@€ÂÀÂ@ÂàÂÀÂàÂàÂàÂÀÂà õÂò õ€þ õ€þÂÀ €þ€þ ÂÀÂàîÂàî õÂòÂ`û€þÂ@øÂ`ûÂ`û õÂò õ  ÂàÂ@øÂÀëÂàî èÂàî õÂòÂàî õÂòÂàî èÂòÂàî èÂàîÂàîÂòÂàî è è õ€þ ÂÀÂ@øÂ õ è€åÂ@ß ÜÂÙ ÜÂ`â èÂ`ûÂ@øÂ õÂàîÂ@ß ÜÂ`â ÜÂ`âÂÀë èÂ`âÂò õ õÂàîÂàîÂÀëÂòÂò èÂ`â ÜÂÙÂàÕÂÙ è è è€åÂÀëÂòÂàî è èÂàîÂ@øÂ  õÂÀë èÂò è€å è èÂ@ßÂòÂ@øÂ è ÜÂÙ Ü ÜÂ`â€å ÜÂÀÒÂÀÒ Ï ÜÂÀÒÂÀÒÂ@ÆÂ`É€ÌÂÀҠ܀å€åÂÙÂ`â è è èÂÙ Ï Ï Ï ÜÂ@ß õÂÀëÂ@ßÂàÕ Ï ÜÂ@ß ÜÂàÕÂàÕÂ`É€å€åÂ`â è èÂò õÂàîÂàîÂàî õ€å õÂàî€å èÂ@ß èÂ`â è è è è èÂ`âÂ`âÂÀë è è è è€å è èÂÀë èÂàîÂÀë€åÂ`â õ è€å èÂÀë è è è Ü Ü èÂÀëÂòÂàî èÂòÂòÂàîÂ`â€å èÂò è èÂ`â€åÂàîÂàîÂàî õÂÀëÂò õÂÀëÂ@øÂ@øÂ õÂòÂàîÂ`âÂàÕÂÙÂàÕÂ@ß ÏÂàÕÂÙ ÜÂÀë õÂ`ûÂ@øÂ è è€å èÂÀë è è èÂ@ß Ü ÜÂàîÂàî ÜÂàÕ è€å€åÂ`âÂàÕÂ@ßÂÀëÂòÂ`ûÂòÂ@ßÂ@ß è èÂàî èÂÀëÂàîÂò èÂ`â ÜÂ@ßÂ@ß Ü ÜÂ`âÂàî èÂ`â Ü ÜÂÙ èÂàîÂò õÂò õÂ@øÂ õÂ@øÂ è ÜÂÙ ÜÂ`â ÜÂ`â€å è èÂòÂàî èÂ@ß è è€å Ü èÂ@øÂÀë è è è€å€åÂÀë èÂ٠܀å è õ èÂ`â ÜÂÙ Ü Ü è ÜÂÙÂ`â èÂ`âÂ@ßÂ`âÂÙÂ`â€åÂ`âÂÙÂÙ Ï Ï ÜÂ`âÂÀë õÂàîÂòÂò è ÜÂÀë€åÂàî èÂàîÂÀë è è è èÂÀë è èÂòÂ@ßÂàÕ ÜÂÀë õÂò€å€åÂàî€åÂ`âÂÀëÂò èÂàîÂÀë õÂòÂàîÂàî€å€å ÜÂàÕ è€åÂ`âÂ`â Ü Ü ÜÂÙÂàÕÂÙ€åÂàî è èÂàî€å èÂÀëÂàîÂ@øÂ  õÂ`ûÂ@øÂ õ€þ    Â`û    Â`ûÂ@øÂ`û ÂàÂ`ûÂ@øÂ`û   €þÂòÂ@øÂ õÂòÂò õ õ õ    ÂàÂÀ  Â@øÂ õÂ@øÂ`û€þ Â`ûÂ`û õÂ@øÂ€þÂàîÂàîÂòÂòÂàîÂ`û õÂÀëÂàî€åÂòÂ`ûÂòÂ@øÂàîÂ`ûÂò õ õ õ€þÂò õ€þ   Âà ÂÀÂ`û  €þ    Âà   ÂàÂà ÂàÂà   Â`  Â@øÂ  Âà  Â@ÂÀÂ`Â@ÂÀ   Âà   Â@€ Â@Â@Â@ ÂàÂà ÂÀ€þ  Âà  € ÂàÂ@Â`€ Â@ € Â` Â`€Â` Â$ 'Â`- 'Â`-Â@*Â@*Â`-Âà Âà  Âà  € Â$Âà Â$   Â`Â@€Âà Â`Â`  ÂÀÂ@  €  Âà Âà  €Â@ Â`Â`Â`Â` Â@ Âà  ’“ ر ÷ÉÂÀ‰ÉÂ@¦¾Â a²Â€n§ÂÀxžÂàA— l‘Â@¾ˆÂÀpIÂ:¿Á€R‚Á–¯À²"A€ãA33BÀ2dB@ÏBÀö‰BàQŒBHŠB`=…B€d|BðkBÀ#ZB€¨GB€~5B€ê#B€7BÀ¶BëAGÑA€¹A€ê£A€åAÈzAÒWAª4AºA\Ú@¨“@È@–<,Àî˜ÀâåÀŠÁU>Á¼cÁž„Á€Q—ÁªÁz¼Á€ûÎÁ€ÚàÁ0òÁ@RÂÀ. Â@uÂEÂ@‹ÂÀZ#ÂÀÒ(ÂÀÿ-Â@£2ÂÐ6Ÿ:€ý=ÂÀñ@Â@ºCÂÀFÂÀDHÂ@,J¶KÂ@MÂÀkNÂÐO€ïPÂ@R€üR€ÄSÂgTÂUÂÀ¾UÂ@HVÂ@¬VÂ#WÂ@WÂëWÂ@yÂÀJyÂQyÂjy€yœyµyÂÀÇyÂÀÇyÂ@ÔyÂÀàyÂ@íyÂÀzÂzÂ2z€>z€>zÂ@8zÂ@QzÂ@QzÂ@jzÂÀz¯zÂÀÁzÂ@çzÂ@çzÂ@çzÂ@çzÂázÂ@çzÂ@{€{Â@{ÂÀ%{ÂÀ>{ÂÀW{Â@}{€ƒ{Â@}{Â@–{Â@–{Â@¯{€µ{€µ{€Î{ÂÛ{€ç{€|Â@ú{ÂÀ|Â@ú{ÂÀ|Â@,|Â@,|Â?|ÂÀQ|Â@w|Â@w|Â@w|Â@|£|ÂÀœ|£|Â@©|¼|€È|€á|€ú|Â@ } }ÂÀ}Â@&}€,}Â@&}Â@?}Â@X}€^}ÂÀ}}Â@Š}€}€©}¶}ÂÀ¯}ÂÀ¯}ÂÏ}ÂÏ}Âè}Â~ÂÀ~Â@ ~Â@ ~€&~€?~ÂÀE~Â@R~ÂÀ^~Âe~Âe~€q~Â@„~Â~~Â@~€¼~ÂÀÂ~€Õ~Â@è~Âû~€ÂÂÀ&Â@LÂFÂFÂ@LÂ_Â@eÂx€„Â@~€„Â@—ÂÀ£‘Â@°Â@°ÂÀ¼Â@°Â@ÉÂÃÂÃÂÀîÂ@ûÂà€Â €Â€€ÂÀ€Â@&€Âà5€ÂÀ2€ÂÀ2€Â <€Âà5€Â@?€Â`B€ÂàN€Â U€Â@X€Â a€Âàg€Â n€Â`t€Â„€ÂÀ}€Â z€Â z€Â z€ÂÀ}€Â@Š€Â€€ÂÀ–€Â€Â`¦€ÂÀ¯€Â ¬€Â ¹€Â€Â€Â¶€Â Å€Âàä€ÂÀá€Â Þ€Â`؀ ހÂè€Â`ñ€Â ÷€Â€  Â` ÂÂ`# 6 BÂ`< )Âà/ÂÀEÂ@RÂàHÂ@R€XÂàaÂ`nÂe hÂe h t tÂ~Â@„€ŠÂà“— ¦Â ¦Â@¶Â@¶ÂàÅ ØÂ ØÂÀÛÂâÂ@è åÂ@è åÂâ å€îÂà÷Âà÷Âû€‚ ‚‚ ‚Â@‚Â`‚€ ‚ #‚ 0‚ 0‚€9‚ I‚Â@L‚€R‚Âà[‚Â_‚ b‚Â`h‚Âàt‚Âàt‚Â@~‚ {‚ {‚Â@~‚Âàt‚ {‚ ‡‚Â`š‚€‚€‚  ‚Âং  ‚  ‚Â`š‚ÂÀ£‚€‚ÂংÂ@°‚ ¹‚ ¹‚Â`³‚ ƂÂ`Ì‚ÂÀÕ‚ÂàØ‚ÂàØ‚Â܂ ߂ ߂Âàñ‚Âõ‚€ƒÂ`þ‚Âà ƒÂ`ƒÂ ƒÂÀ ƒÂÀ ƒÂà#ƒÂ€3ƒÂ`0ƒÂ *ƒÂ *ƒÂ *ƒÂ`0ƒÂà<ƒÂ@ƒÂ CƒÂ€LƒÂ€LƒÂ€LƒÂàUƒÂ \ƒÂàUƒÂ@_ƒÂ€eƒÂ`bƒÂ hƒÂànƒÂÀkƒÂ`{ƒÂ ƒÂ‹ƒÂ‹ƒÂ@‘ƒÂ ŽƒÂ€—ƒÂ ŽƒÂ`”ƒÂ ŽƒÂ šƒÂ šƒÂ`­ƒÂ ³ƒÂÀ¶ƒÂ½ƒÂ ÀƒÂ ÀƒÂใÂใÂใ½ƒÂ@àÀƒÂ ÀƒÂ€ÉƒÂàÒƒÂ@܃Â@܃€âƒÂ€âƒÂ òƒÂ þƒÂ@„ „ „ÂÀ„Âà„Â`*„Â`*„Â@'„ $„ $„ 0„ 0„Âà6„Â:„Â`C„ÂÀL„ÂÀL„ÂÀL„ I„ÂàO„ÂàO„Â`\„Â`\„Â`\„Âl„ o„€x„Âà„ ”„ÂÀ—„ ”„ÂÀ—„ž„ ¡„ÂÀ—„Âàš„Â`§„€ª„Â`§„ÂÀ°„ÂÀ°„·„ ­„ º„ ƄÂЄ ߄ ӄÂ`ل ߄Â`ل ߄Â`Ù„Â`ل€܄Âé„Â@ï„Â…Â… …Â` … …Â` …ÂÀ… …ÂÀ… …Âà… *…Â4… 7… 7… 7…Â4…Â`=… C…ÂàI… P… P… P… P… P… P…Â@S…Â`V…ÂÀ_…Âàb…Â`o…ÂÀx…€r…Â`o…Â`o…Âà{…Â`ˆ…Â`ˆ…Â@…… ‚…ÂÀ‘…Â Ž…Â ›…€¤…ÂÀª…±… ´…€½…Â@·… ´… ´…€½… À… ´…±…Â୅€½… ͅÂàÆ…ÂÊ…Â`Ó…Â Í…ÂÊ…Â`Ó…Â`Ó…Âã…Âã… ò…ÂÀõ… ÿ…Âü…Âàø…Â ÿ…  †Â€†Â  †Âà†ÂÀ†Â  †Â@†Âà†Â †Â $†Âà*†Âà*†Âà*†Â 1†Â.†Âà*†Â€!†Â 1†ÂàC†Â =†ÂàC†Â J†Â€S†Â€S†Â€S†Â`†Â o†Â c†Âà\†Â c†Â c†Â o†Âàu†Â@†Â`‚†Â o†Â€…†Â@†Â€…†Â`‚†Â€…†Â€…†ÂàŽ†Â ¡†Â ®†Â ®†Â ¡†Â ®†Â@±†Â«†Â ¡†Â ®†Â º†ÂàÀ†Â`͆ ӆÂ݆ à†Â à†Â Ó†ÂÀÖ†ÂàÙ†Â݆ à†Â݆Âàن ì†Âàò†Â@ü†Âö†Â ù†Â ù†Â`ÿ†ÂÀ‡Âà ‡Âà ‡Âà ‡Â ‡Â ‡Â€‡Â ‡ÂÀ!‡Âà$‡Â +‡Â€4‡Â@.‡Â€4‡Â€4‡ÂA‡Âà=‡Âà=‡Â 7‡Â D‡Â€M‡Â P‡Â P‡Â ]‡ÂZ‡Â€M‡Â`J‡Â€M‡ÂàV‡Â ]‡Â@`‡Â ]‡Â ]‡Â i‡Â v‡Â v‡Â@y‡Â v‡Â€‡Â v‡Â ‚‡Â€‡Â€‡Â ‚‡Âàˆ‡ÂŒ‡Â@’‡Â ›‡Â ›‡Â€˜‡ÂࡇÂ@«‡Â ´‡Âງ ´‡ÂÀ·‡Â¾‡ÂÀ·‡Âງ¾‡ÂÀ·‡Â€±‡Âງ¾‡Â€Ê‡Â`à‡Â@݇Â`à‡Â Ú‡ÂàӇ ڇÂ@݇ æ‡Â æ‡Âàì‡Âð‡Â@ö‡Â ÿ‡Â ÿ‡Â€ü‡Â ó‡ÂÀˆÂÀˆÂ ˆÂ ˆÂ ÿ‡Â ˆÂ ˆÂ ˆÂ€ˆÂ ˆÂ ˆÂ`ˆÂ %ˆÂ@(ˆÂ 1ˆÂà7ˆÂ 1ˆÂ >ˆÂ@AˆÂ >ˆÂ`DˆÂ@AˆÂ >ˆÂ`DˆÂ`DˆÂÀMˆÂTˆÂàPˆÂ`]ˆÂàPˆÂ WˆÂ`]ˆÂ cˆÂ cˆÂ cˆÂmˆÂÀˆÂà‚ˆÂ`vˆÂ`vˆÂ@sˆÂ€yˆÂà‚ˆÂ`ˆÂ ‰ˆÂ |ˆÂ |ˆÂ |ˆÂà‚ˆÂà‚ˆÂ ‰ˆÂ •ˆÂŸˆÂ`¨ˆÂ ¢ˆÂ€«ˆÂ ®ˆÂ@¥ˆÂ`¨ˆÂ ®ˆÂ ®ˆÂഈ€Ĉ€ĈÂ@¾ˆÂ »ˆÂÀʈÂ@׈Â`ÚˆÂ@׈Â@׈Â@׈€݈Â`ÚˆÂшÂà͈Â@׈ ԈÂ`ÚˆÂ`ÚˆÂ@׈Â@׈ Ԉ€݈ÂÀãˆÂ`óˆÂ íˆÂ íˆÂ`óˆÂ ùˆÂ‰Â` ‰Â ‰Â ‰Â@ ‰Â ‰ÂÀ‰Â ‰Â`%‰Â ‰ÂÀ.‰Â`%‰Â`%‰ÂÀ.‰Â +‰Âà1‰Â€(‰ÂÀ.‰Â€A‰Â@;‰Â@;‰Â€A‰ÂN‰Â`W‰Â D‰Â D‰ÂÀG‰Â Q‰Â ]‰ÂàJ‰Â Q‰ÂÀG‰Â D‰Â Q‰Â Q‰ÂÀ`‰Âàc‰ÂÀ`‰Â@T‰Â€Z‰Âg‰Â v‰ÂÀy‰Â v‰ÂÀy‰Â€‰Â€Œ‰Â`‰‰Â`‰‰Â€Œ‰Â€‰Â€s‰Â€s‰Â€s‰Â ƒ‰Â ƒ‰Â ƒ‰Â ƒ‰Â ƒ‰Âà•‰Âà•‰ÂÀ’‰Â€Œ‰Â ‰Âà•‰ÂÀ’‰Â ‰Â ‰Â ‰Â`‰‰Âà|‰Â ‰Â œ‰Â€¥‰Â ¨‰Â ¨‰Â µ‰Â€¾‰Â µ‰Â`»‰Âàlj Á‰Â`»‰Â µ‰Â@¸‰Â€¾‰Âàlj Á‰ÂàljÂ@щ ډÂÀ݉ ډÂ@ê‰Â ç‰Âàà‰ÂÀ݉ ډÂä‰Â Ú‰Â@ê‰Â@ê‰Â`í‰Âàù‰Â ŠÂàù‰Âàù‰ÂÀö‰Â ó‰Âý‰Âàù‰Â ŠÂ`ŠÂ ŠÂ %ŠÂ€"ŠÂŠÂŠÂ@ŠÂàŠÂ  ŠÂàŠÂ€ ŠÂ  ŠÂàŠÂŠÂŠÂ@ŠÂ@ŠÂ€"ŠÂ 2ŠÂ/ŠÂ@5ŠÂ 2ŠÂ@5ŠÂ`8ŠÂà+ŠÂ@5ŠÂ >ŠÂHŠÂHŠÂ`QŠÂ KŠÂÀAŠÂàDŠÂÀZŠÂÀZŠÂHŠÂàDŠÂ KŠÂ€TŠÂ`QŠÂàDŠÂ KŠÂHŠÂ`QŠÂ KŠÂHŠÂÀAŠÂàDŠÂ KŠÂHŠÂ`QŠÂ€TŠÂ€TŠÂÀAŠÂ@NŠÂ KŠÂ dŠÂ`jŠÂaŠÂ dŠÂ`jŠÂ€mŠÂ pŠÂÀsŠÂ pŠÂ pŠÂàvŠÂ }ŠÂàvŠÂàvŠÂ }ŠÂzŠÂàvŠÂ€mŠÂ }ŠÂ`ƒŠÂÀŒŠÂÀŒŠÂàŠÂ ‰ŠÂ –ŠÂàŠÂ@€ŠÂ }ŠÂ€†ŠÂ ‰ŠÂàŠÂàŠÂ ‰ŠÂàŠÂ ‰ŠÂ“ŠÂ“ŠÂ –ŠÂ –ŠÂ€ŸŠÂÀ¥ŠÂ`œŠÂ€ŸŠÂ`œŠÂ ¢ŠÂ¬ŠÂਊ ¯ŠÂ@²ŠÂàÁŠÂÅŠÂÀ¾ŠÂŊ »ŠÂ€¸ŠÂ¬ŠÂ ¯ŠÂ@²ŠÂਊ ¯ŠÂ@²ŠÂÀ¾ŠÂàÁŠÂ Ȋ€ъÂ@ËŠÂŊ Ԋ€ъÂ@ˊ Ԋ Ԋ ԊÂàÚŠÂ@äŠÂàÚŠÂ áŠÂ`çŠÂàÚŠÂ`Ί ȊÂÞŠÂ áŠÂ`çŠÂ íŠÂ€êŠÂ€êŠÂ áŠÂ`çŠÂ íŠÂ íŠÂ÷ŠÂàóŠÂ÷ŠÂ íŠÂ úŠÂ€‹ÂÀ ‹Â‹Â ‹Â‹Â€‹Âà ‹ÂÀ ‹Â ‹Â€‹Â ‹Â@‹Â ‹Â ‹Â`‹Â ‹Â ‹Â ‹Â`‹Â ‹Â ‹Â ‹Â)‹Â@/‹Â@/‹Â@/‹Â ‹Â ‹Â ‹Âà%‹Âà>‹Â 8‹Â 8‹Âà%‹Â€‹Â)‹Âà%‹Â ,‹Â)‹Â ,‹Âà%‹Â)‹Â ,‹Â ,‹Â ,‹Â€5‹Â@/‹Â`2‹Â 8‹Â`2‹Â ,‹Â@/‹Â ,‹Âà%‹Â ‹Â@‹Â€‹ÂÀ"‹Âà%‹Â ,‹Â 8‹Â 8‹Âà>‹ÂÀ;‹ÂÀ;‹Âà>‹Âà>‹ÂÀ;‹Âà>‹ÂÀ;‹Â€5‹Â€5‹Â ,‹Â ,‹Â@/‹Âà>‹Âà>‹Â E‹Â E‹Â E‹ÂB‹Âà>‹ÂB‹Âà>‹Â`K‹Â@H‹Â E‹Â€5‹Â 8‹Â€5‹Â 8‹ÂÀ;‹ÂB‹Â E‹Â Q‹Â E‹Â€N‹Â Q‹Â@H‹Â E‹Â@H‹Â@H‹Â€N‹ÂÀT‹Â€N‹ÂB‹Â€N‹ÂàW‹Â ^‹Â Q‹ÂÀT‹Â ^‹Â Q‹Â Q‹Â€N‹Â`K‹Â`K‹Â@H‹ÂÀT‹Â Q‹Â[‹ÂàW‹Â€N‹Â Q‹Â@H‹Â`K‹Â`K‹Â E‹Â 8‹ÂB‹ÂB‹Â€N‹Â Q‹Â`K‹Â ^‹ÂàW‹ÂÀT‹Â Q‹ÂÀT‹ÂÀT‹Â@a‹Â`d‹Â ^‹Â j‹Â ^‹ÂàW‹Â ^‹Â€g‹Â@a‹Â j‹ÂÀm‹Â j‹Â@a‹Â€g‹Â ^‹Â ^‹Â ^‹Â ^‹Â`d‹Â`d‹ÂàW‹Â ^‹Â€g‹Â`d‹Âàp‹Â`d‹Â[‹Â ^‹Â`d‹Âàp‹Â`}‹Â`}‹Â ƒ‹Â w‹Â w‹Â`}‹Â`}‹Â ƒ‹Â@z‹Â@z‹Â w‹Âàp‹Â@z‹Â@z‹Â`}‹Â ƒ‹Âà‰‹Âà‰‹ÂÀ†‹Â€€‹Âà‰‹Â ‹Â ‹Â ‹Â œ‹Â€™‹Â ‹Â@“‹Â ‹Â ‹Â€™‹Â@“‹Â‹Â ‹Â‹Â‹Â‹Â ‹Â ƒ‹Â`}‹Âà‰‹Â@“‹Â ‹Â ‹Â@“‹Â`–‹ÂࢋÂ`¯‹Â¦‹Âࢋ¦‹ÂࢋÂ@¬‹ÂÀŸ‹Â ‹Â€™‹Â œ‹Â¦‹Â ©‹Â ©‹Â¦‹Â ©‹Â@¬‹Â`¯‹Â`¯‹Â¦‹Âࢋ¦‹Â œ‹Â ©‹Â@¬‹Â ©‹Â@¬‹ÂÀ¸‹Â µ‹Â µ‹ÂÀ¸‹Â ©‹Â ©‹Â€²‹Â€²‹Â ‹¿‹Â€Ë‹ÂàÔ‹ÂàÔ‹ÂÀÑ‹ÂàÔ‹ÂàÔ‹Â@Þ‹ÂÀы€ˋÂ`ȋ€ˋ€ˋ€ˋ¿‹Â ‹Â`ȋ ΋ÂàÔ‹ÂàÔ‹ÂÀÑ‹Â`á‹Â ç‹Â€ä‹Â`á‹Â ô‹Â@÷‹Â ô‹Âàí‹Â ô‹Â ŒÂ`ú‹Â ô‹ÂÀê‹Â`ú‹Â ô‹Â@÷‹ÂÀŒÂÀŒÂ`ú‹Â ô‹Â ô‹Â ç‹Â`á‹Âàí‹Âàí‹Â@÷‹Â€ý‹Â ŒÂ`ú‹Â ŒÂ€ý‹Â`ú‹Â ŒÂ ŒÂàŒÂ@ŒÂàŒÂ ŒÂ ŒÂàŒÂÀŒÂÀŒÂ€ŒÂ`ŒÂ`ŒÂàŒÂ@)ŒÂ &ŒÂ ŒÂ@)ŒÂ@)ŒÂ &ŒÂ#ŒÂ`,ŒÂ 2ŒÂ &ŒÂ`,ŒÂà8ŒÂ`,ŒÂà8ŒÂ<ŒÂ€/ŒÂ 2ŒÂ &ŒÂ`,ŒÂ 2ŒÂ 2ŒÂ ?ŒÂ@BŒÂUŒÂ@[ŒÂ KŒÂàQŒÂ@[ŒÂ dŒÂ€aŒÂ€aŒÂ@[ŒÂ€aŒÂÀgŒÂàjŒÂ XŒÂUŒÂàQŒÂÀNŒÂ dŒÂ`^ŒÂ dŒÂ€aŒÂÀgŒÂ€aŒÂ€aŒÂ€aŒÂ`^ŒÂàjŒÂ€aŒÂnŒÂàjŒÂàjŒÂàjŒÂnŒÂ qŒÂÀgŒÂ@tŒÂ@tŒÂ qŒÂnŒÂàjŒÂàjŒÂ }ŒÂ ŠŒÂ@ŒÂ€zŒÂ`wŒÂnŒÂnŒÂ }ŒÂ }ŒÂÀ€ŒÂàƒŒÂ ŠŒÂ }ŒÂ€zŒÂ ŠŒÂ@ŒÂ ŠŒÂ ŠŒÂ‡ŒÂàƒŒÂ ŠŒÂ`ŒÂ`ŒÂ`ŒÂ`ŒÂ ŠŒÂàƒŒÂ ŠŒÂ –ŒÂÀ™ŒÂ –ŒÂ –ŒÂ £ŒÂÀ™ŒÂ ŒÂ@¦ŒÂ ¯ŒÂ@¦ŒÂ ¯ŒÂ@¦ŒÂ ŒÂ £ŒÂ ¯ŒÂ`©ŒÂ`©ŒÂ ¯ŒÂÀ²ŒÂ€¬ŒÂÀ²ŒÂൌÂൌ ¯ŒÂ ¯ŒÂÀ²ŒÂ ¯ŒÂ@¦ŒÂ`©ŒÂ ¯ŒÂ`©ŒÂ £ŒÂ ¯ŒÂ ¼ŒÂ`ÂŒÂ`Œ ¯ŒÂ€¬ŒÂ ¼ŒÂൌ¹ŒÂൌ ¯ŒÂ@¦ŒÂ @Â`¾®Â@óÆÂàlÆÂ ƒ»Â 5¯Â E¤Â U›Â (”Âà^ŽÂ ›…ÂÀ¹A€CõÁ€uªÁ{YÁÄ8ÀJDAŒëA€Û2B`B€ú|Bü…BÀé‡B@·…BÀ–€B@þrBwbBÀxPB >B€º+BBÀ« BÓôAÌØAO¿Aø§A|’A~A³XA5ADA ä@¸¡@ä;@ÐO?p­¿,bÀü·ÀRýÀ"ÁÇDÁ:hÁÊ…Á€j—Á$©Á€ÄºÁ€qÌÁ€ºÝÁ€TîÁ€&þÁÀ¤€¿ ÂÀ‚€î¾ €)&ÂÀø*ÂÀD/€?3·6Â×9ÂÀŒ<Â?ÂÀy€]yÂ@pyÂ@‰yœy€¨yÂÀ®yÂ@¢y€¨y€Áy€ÚyÂÀùyÂÀzÂ@zÂ@8zÂKzÂKz€WzÂ@jzÂÀvzÂ}zÂ@µz€ÔzÂ@ÎzÂÀózÂ@{Â@{ÂúzÂ@{€{€Q{Â@d{Â^{Â@d{ÂÀp{Â@d{Â@}{€œ{€µ{Â@á{Âô{ |€|ÂÀ|ÂÀ|ÂÀ|Â@,|ÂÀ8|ÂÀ8|ÂX|Âq|Š|ÂÀœ|ÂÀµ|Â@©|€È|Âî|Â@ô| }ÂÀ}Â@?}ÂR}ÂÀd}Âk}Â@q}€w}Â@Š}Â@£}ÂÀÈ}Â@Õ}Âè}ÂÀá}Â@~€ ~Â~ÂÀ,~Â@9~Â@R~Â@R~€X~ÂÀw~ÂÀ~ÂÀ©~Â@¶~Â@Ï~ÂÀÛ~ÂÀÛ~Â@è~Â@è~Â@€ ÂÀ?€R€RÂ_ÂÀqÂÀŠÂÀŠÂÀ£ÂÀÕÂÀîÂõÂ@âÂ@û€ €Â €Â`)€Âà5€Â€E€Â@X€Â€^€Â a€Âàg€Â a€ÂÀd€Â`[€Â a€Âàg€Â a€Âk€Âà€€Âà€€Â€€ÂÀ–€Â  €Â`¦€ÂÀ¯€Â@¼€Â€Â€Â Å€Â Ҁ ހÂ`ñ€Â Âàý€Â Âàý€Â` ÂÀÂ@  )Â@9ÂÀEÂL€XÂÀ^€XÂàH€XÂÀ^ [ h tÂàz Â`‡Â€ŠÂ Â@°Â`¹Â@¶Â@¶Â ¿Â ¿Â€ÕÂàÞ€îÂà÷Âà÷Â`‚ þÂà‚Âà‚Â@‚Â@‚ #‚Â-‚Â`6‚ÂàB‚ÂF‚€R‚Âà[‚ b‚ b‚ b‚ b‚Â`h‚€k‚Â`h‚Âàt‚Â`‚ÂÀŠ‚Â@—‚Â@—‚Â@—‚  ‚ÂংÂংª‚Â@°‚Â`³‚ ¹‚ Ƃ€ς€è‚Â@â‚ÂÜ‚Â@â‚Âàñ‚€ƒÂà ƒÂ ƒÂ ƒÂ€ƒÂ ƒÂà#ƒÂà#ƒÂÀ ƒÂ ƒÂ *ƒÂà<ƒÂ`IƒÂ \ƒÂ€eƒÂ€eƒÂÀkƒÂ hƒÂ hƒÂ \ƒÂÀkƒÂànƒÂ uƒÂ€~ƒÂ`{ƒÂ‹ƒÂ šƒÂÀƒÂ@ªƒÂ §ƒÂ`­ƒÂ¤ƒÂ`­ƒÂ ³ƒÂใÂ`ƃÂà҃ كÂ`߃Â`߃Â`߃€âƒÂàëƒÂ@õƒÂà„€ûƒÂà„Â`„€„€„ „ $„Â@'„€-„Âà6„ =„Âà6„ 0„Â`C„ÂÀL„ V„€_„ÂÀe„ÂÀe„Âàh„Â`u„Â…„€‘„€‘„€‘„Âàš„Â ¡„€ª„Âೄ ­„Âೄ·„Â`À„ÂàÌ„ÂЄÂà̄ ӄÂ`Ù„Âàå„Âàå„Â`ò„Âàþ„Âàþ„ …€…Â` …ÂÀ… …ÂÀ…Âà…Âà…Âà… …Â@!…€'… *…Â4…Âà0…€@…ÂÀF…ÂàI…ÂàI…Â@S… \…ÂÀ_…Â@l… u…Â`o… u…Â…Â Ž…Â˜…ÂÀ‘…Â Ž…Â Ž…Â˜… §…±… §… ´… ´…Â`º…Â`º…Âà­…Â@·… À… À… ͅÂàÆ…Â`Ó…Âã…Â`ì… ò…€ï… ò…Âü…Âàø…Â`†Â€†ÂÀ†Â $†Â€!†Â $†Â †Â`†Â`†Â $†ÂÀ'†Â 1†Â`7†Â`7†Â =†Â@4†Â =†Â =†ÂàC†Â J†Â€S†Â`†ÂÀY†Âà\†Â c†Â V†Â c†Â@f†Â o†Ây†Â@†Â€…†Â€…†Â ˆ†Â •†ÂàŽ†ÂàŽ†Â ¡†Â ¡†Â৆€·†Â º†Â€Ð†Â džÂĆÂƀІ€ІÂÀֆ ӆ€І à†Â ì†ÂÀï†Âàò†Â ù†Â ù†Â€‡Âà ‡Âà ‡Âà ‡Â ‡Â ‡Â ‡Â ‡Âà$‡Â ‡Â ‡Âà$‡Â@.‡ÂA‡Â`J‡Â P‡Â`J‡Â@G‡Â@G‡Â P‡Â ]‡ÂZ‡ÂZ‡Â@`‡Âào‡Â`|‡Â ‚‡Â€‡Âàˆ‡Âàˆ‡Â ‡Â ›‡Â ‡Â ‡Â¥‡Â ¨‡Â@«‡Â¥‡Âࡇ ›‡ÂÀž‡Â ¨‡Â€±‡Â Á‡Â€Ê‡Â€Ê‡Â@ć ͇ ڇÂ@݇ ڇ ó‡Â€ü‡Â€ü‡Âàì‡Â ó‡Â ó‡Â`ù‡Â ÿ‡Â@ˆÂ ˆÂ€ˆÂ@ˆÂ ˆÂ ÿ‡Â ÿ‡Â ˆÂÀˆÂ ˆÂàˆÂ %ˆÂ 1ˆÂ 1ˆÂÀ4ˆÂ`DˆÂ`DˆÂ`DˆÂ@AˆÂ JˆÂ WˆÂÀfˆÂ cˆÂ pˆÂ@sˆÂ€yˆÂà‚ˆÂà‚ˆÂ ‰ˆÂÀˆÂà‚ˆÂ`vˆÂà‚ˆÂ ‰ˆÂ`ˆÂ€’ˆÂÀ˜ˆÂ ¢ˆÂ`¨ˆÂ`¨ˆÂഈ¸ˆÂ€ÄˆÂ`ÁˆÂ@¾ˆÂ ÇˆÂ ÇˆÂà͈Âà͈ÂшÂ`ڈ àˆÂêˆÂàæˆÂ`óˆÂÀüˆÂ ‰Â ‰Â` ‰Â@ ‰ÂàÿˆÂ ‰Â ‰Â@"‰Â€(‰Â€(‰Â +‰Â +‰Â`%‰Âà1‰Â +‰ÂÀ.‰Â5‰Â@;‰ÂÀG‰Â D‰Â€A‰Â Q‰Â@T‰Â€Z‰Â j‰Âàc‰Â Q‰Â Q‰ÂÀ`‰Âàc‰ÂÀ`‰Â j‰Â@m‰Â€s‰Â`p‰Â€‰Â ƒ‰Â€Œ‰Â€Œ‰Â€Œ‰Â ‰Âà•‰Âà•‰Â ¨‰Â€¥‰Â@Ÿ‰Â™‰Â ‰ÂÀ’‰Â`¢‰Â ¨‰Âஉ µ‰Â@¸‰Â µ‰Â µ‰Â µ‰Â€¾‰Â Á‰Â@щ ΉÂÀĉÂàlj ΉÂ@щ€׉Âàà‰ÂÀ݉Â@ê‰ÂÀö‰Â ó‰ÂÀö‰Âý‰Â ŠÂàù‰Âàù‰Â ŠÂ€ ŠÂ€ ŠÂ ŠÂ  ŠÂŠÂàŠÂ@ŠÂà+ŠÂ 2ŠÂ 2ŠÂ 2ŠÂà+ŠÂ 2ŠÂ@5ŠÂÀ(ŠÂ€;ŠÂÀAŠÂàDŠÂÀAŠÂÀAŠÂHŠÂ KŠÂHŠÂ dŠÂà]ŠÂ WŠÂ KŠÂaŠÂ dŠÂ dŠÂ@gŠÂ`jŠÂÀsŠÂ€†ŠÂ€†ŠÂ€†ŠÂ@€ŠÂ ‰ŠÂàŠÂ –ŠÂàŠÂ ‰ŠÂàŠÂ ‰ŠÂ ‰ŠÂàŠÂ ¢ŠÂ ¯ŠÂ@²ŠÂ€¸ŠÂ`µŠÂ »ŠÂàÁŠÂ€ÑŠÂ`Ί Ȋ Ȋ ȊÂÅŠÂ`ΊÂ@ˊ ԊÂÞŠÂ áŠÂÞŠÂ`Ί ԊÂ`çŠÂ@äŠÂ`çŠÂ€êŠÂ íŠÂàóŠÂ íŠÂàóŠÂ`‹Â`‹Â ‹Â ‹Âà ‹Âà ‹ÂÀ ‹Â ‹Â ‹Â€‹Â ‹Âà%‹Âà%‹Â ‹Â ‹Â ,‹Â`2‹Â ,‹Â@/‹Â ,‹Â)‹Â)‹Â€5‹ÂÀ;‹Â E‹ÂB‹Â E‹Â Q‹Â E‹ÂàW‹Â[‹Â€g‹Âàp‹Â w‹Â w‹Â@z‹Â`}‹Â€€‹Â ƒ‹Âà‰‹Â@z‹Â ƒ‹Â ƒ‹Â ƒ‹Â`}‹Â€€‹Â ‹Âà‰‹Â ‹Â@“‹Â¦‹Â¦‹Â µ‹Â µ‹Â`¯‹Â`¯‹Â ©‹Â µ‹Â໋ ‹€ˋ¿‹Â ‹ ‹Â`ȋ€ˋÂ@ŋ€ˋÂÀÑ‹Â`á‹Âàí‹ÂÀê‹Â؋ ۋ€ä‹Â Û‹Âàԋ€ä‹Âàí‹ÂÀê‹Âàí‹Â`ú‹ÂÀŒÂ€ý‹Â€ý‹ÂÀŒÂ ŒÂ ŒÂ€ŒÂ€ŒÂ ŒÂ€ŒÂ`ŒÂ€ŒÂ@ŒÂ€ŒÂ &ŒÂ`,ŒÂ ŒÂ ŒÂ#ŒÂ@)ŒÂ@)ŒÂ 2ŒÂà8ŒÂ ?ŒÂ ?ŒÂ`EŒÂ KŒÂ KŒÂ KŒÂ KŒÂÀNŒÂ KŒÂàQŒÂ`^ŒÂ`^ŒÂ`^ŒÂ dŒÂ dŒÂÀgŒÂ@tŒÂ@tŒÂ€zŒÂ@tŒÂnŒÂàƒŒÂÀ€ŒÂ@tŒÂ qŒÂ }ŒÂ€zŒÂ€zŒÂàƒŒÂÀ€ŒÂ‡ŒÂ ŠŒÂ £ŒÂ ŒÂàœŒÂàœŒÂ –ŒÂ ŒÂ £ŒÂ £ŒÂ £ŒÂàœŒÂ€“ŒÂ@¦ŒÂ`©ŒÂ`©ŒÂ`©ŒÂ £ŒÂ€¬ŒÂ€¬ŒÂൌ ¯ŒÂ@¿ŒÂ`ÂŒÂÀËŒÂ@ØŒÂàΌ ՌÂ@، Ռ ՌÂàΌ ՌÂ@ØŒÂëŒÂàçŒÂ`ôŒÂ`ôŒÂëŒÂ`ôŒÂ€÷ŒÂà Â` Â@ Â@  Â@  úŒÂ Â`   Â@ Â@ ÂÀÂÀÂÂÀÂàÂà €)ÂÀ/Â6Âà2Â6 9€BÂ`?Â`? EÂ`X ^Â`XÂOÂàKÂO RÂ@U R R R ^Â@UÂ`X ^ÂàdÂh k w€tÂÀzÂÀz€t€tÂhÂ`qÂÀzÂà}Â@‡Â „Â`ŠÂÀ“ÂÀ“Âà–š Â@ Â  šÂ`£Â@¹Â³Â ÂÂ@¹Â ¶Â ¶Â³Â@¹Âà¯Âà¯Â€¿Â`¼ÂÀŠ€¿Â`¼Â€¿Â Â ÂÂÌÂÌÂ`Õ€ØÂ ÛÂåÂàáÂå è è èÂåÂ`î ô èÂ`îÂÀ÷ÂàúÂ`ŽÂ€ ŽÂ`ŽÂ`ŽÂ€ ŽÂ`ŽÂ  ŽÂ  ŽÂàŽÂàŽÂ  ŽÂ  ŽÂàŽÂàŽÂ ŽÂ€#ŽÂ &ŽÂ &ŽÂÀ)ŽÂÀ)ŽÂà,ŽÂ0ŽÂ &ŽÂ 3ŽÂÀ)ŽÂ 3ŽÂ0ŽÂà,ŽÂ`9ŽÂ€<ŽÂ`9ŽÂàEŽÂàEŽÂ LŽÂIŽÂ`RŽÂ LŽÂ ?ŽÂ ?ŽÂ€<ŽÂ@6ŽÂ€<ŽÂ€<ŽÂ€<ŽÂIŽÂ€UŽÂ XŽÂ XŽÂ LŽÂ LŽÂàEŽÂ€UŽÂbŽÂà^ŽÂ@hŽÂ eŽÂ@hŽÂ XŽÂ XŽÂà^ŽÂbŽÂ`kŽÂÀtŽÂàwŽÂàwŽÂÀtŽÂ ~ŽÂ`„ŽÂàwŽÂ qŽÂ ~ŽÂ ŠŽÂ ŠŽÂ`„ŽÂÀŽÂÀŽÂ”ŽÂ —ŽÂ`ŽÂ”ŽÂ`ŽÂ ŠŽÂ ŠŽÂ”ŽÂ`ŽÂ€ ŽÂ€ ŽÂ@šŽÂ £ŽÂ੎­ŽÂ`¶ŽÂ`¶ŽÂ€¹ŽÂ­ŽÂ °ŽÂ °ŽÂ`¶ŽÂ °ŽÂ £ŽÂ@³ŽÂÀ¿ŽÂàÂŽÂàÂŽÂàÂŽÂàÂŽÂÆŽÂ ÉŽÂ`ώ ՎÂ`ώ ՎÂߎÂÀØŽÂÀØŽÂàÛŽÂߎÂàÛŽÂàÛŽÂÀØŽÂ âŽÂàÛŽÂ âŽÂ`èŽÂ€ëŽÂ@åŽÂàôŽÂ€ëŽÂ€ëŽÂ`èŽÂÀñŽÂ îŽÂ ûŽÂøŽÂøŽÂàôŽÂÀñŽÂ@åŽÂ€ëŽÂ`èŽÂ îŽÂ îŽÂÀñŽÂ`èŽÂ îŽÂàôŽÂ îŽÂøŽÂ ûŽÂ@þŽÂ îŽÂ`èŽÂ âŽÂ€ëŽÂ@þŽÂàôŽÂ ûŽÂ€ÂøŽÂ ûŽÂ ûŽÂ ûŽÂøŽÂàôŽÂ` ûŽÂÀ   Âà Âà  €€Â`Â` ûŽÂ îŽÂ îŽÂ îŽÂ îŽÂàôŽÂøŽÂøŽÂ` ÂÀ Âà Âà&    Â@Â`Â@€   Âà&Âà&Â@€€Â Â@€Â` Â`Âà& -Âà& - -ÂÀ#Â@€  Â*Â*Â* - - - 9€6 F FÂÀ<ÂC F F FÂà? F R FÂCÂ`3ÂCÂà?€O€O RÂ`L R€OÂ`LÂàX€OÂà? F F F€OÂ`L€OÂÀUÂ\Â@b€hÂ\ÂÀUÂàXÂ\Â`e€h€hÂ\ÂàXÂ\ÂàXÂ\Â@bÂ`e€hÂ@b€h _ _ _Â`e€h€h kÂàq€hÂ`e€h k xÂàq xÂÀn€hÂ@{Â@{Â`~€Â`~ „ÂàŠÂ ‘Â`~ÂàqÂàq xÂu xŽ „ÂÀ‡ÂàŠÂÀ‡Â`~Â`~ÂàŠÂÀ‡Â ‘ ‘ ‘ÂŽÂàŠÂ`— ‘Â@” Âà£Â Â ªÂ Â Â ªÂ ªÂ€³Â`°Â€šÂà£Âà£Âà£Â ªÂ ªÂ§Â§Â@­Â§Âà£Â ªÂà£Â ¶ÂÀ¹ÂÀÂÀ¹Â ÃÂ@ÆÂ@ÆÂ`É ÏÂ@ÆÂ À̠π̠܀åÂ@ߠܠ܀ÌÂàÕÂàÕ ÏÂàÕÂàÕÂÙÂ`ÉÂ`ÉÂ`ÉÂàՀ̠Ϡܠè ÜÂò€å èÂ`âÂÀë€å€åÂÀëÂàî õ õÂ@øÂòÂò õ õÂàî õÂòÂ@øÂ€þÂàîÂ@øÂ õ õ€þÂàÂ` Â` €Â@€ ÂàÂà€ €€Â` Â`Â`Âà  'Â@*Â`- 'Â@* 3€0 3ÂÀ6Â`-Â@* 3ÂÀ6ÂÀ6Âà9 @ 3Âà9Â`FÂ@C @ @Â`F @Â`F L LÂàR LÂ@\ L€IÂàRÂ`FÂàRÂàR Y YÂàR LÂÀOÂàR LÂàR YÂ`_ YÂàRÂÀO Y e eÂÀh€bÂ`_ Y Y€bÂàR LÂVÂ`_Â`_Â@\ e€b Y YÂV Y eÂ`_Â`_ e€b e eÂ`xÂ`x rÂ@uÂ`x ~ r ~€{ rÂo rÂo rÂàkÂ`x rÂÀhÂoÂ`x ~ ~ ~€{€{ ~ ~ ~€{€{Âà„Â`.”€©²Â€ÈÊÂÀ8ÊÂ`X¿Â ³Â€6¨Â VŸÂ 5˜Â|’ ŠÂÀŠMÂ@øÂïÁîÊÁd–Áå Á ­@¶A·B€4RB@ˆuBÀ°„BÀfˆBs‡Bà#ƒBÀ1yB€@iB€¬WBÀVEB€ 3BÀf!BÓBLBFæAÏËA~³ASAêˆATlA–HA6&A…ApÆ@ü…@Ø @€ >Põ¿À>ÆÀ˜Áu(ÁLLÁ[oÁшÁè™Á€ŽªÁ€»Á€ËÁ€åÚÁ€lêÁ€DùÁÀ¶€; Â@ŽÂÀÂÀ9Âm!Â@#&Â@o*€].Â@ô1Â@5ÂÀ@8Â@ ;ÂÀm=ÂÀ¬?§AÂiCÂÀ EÂ@vFÂÀÇGÂIÂ@EJÂÀKK€&LÂûLÂÀ¼M€eNÂÀOÂÀ°OÂMPÂ@éPÂÀYQÂ@ÊQÂ(R€RÂ@ÝRÂ@(SÂmSÂÑSÂTÂgTÂÀ«T€ UÂ@NUÂzU€¸UÂ@äUÂÀ"VÂ[VÂÀ†V€²VÂÀêVÂÀW€/WÂÀNWÂÀ€WÂÀ™WÂ@¿WÂëWÂ@ X€)XÂÀ/XÂÀHXÂOXÂ@nXÂ@‡XÂ@‡X³XÂÌXÂÀÞXÂÀ÷XÂ0YÂIYÂÀtYÂ@Y”YÂÀ¦YÂÀ¿Y€ëYÂÀ ZÂ*ZÂ@0ZÂÀUZ€hZÂÀnZÂÀ‡Z€ÌZÂ@ßZÂ@[Â@[ÂÀO[Â@u[ÂÀš[º[ÂÀÌ[€ß[Â@ \Â@=\Â@V\ÂÀ{\ÂÀ{\€§\ÂÀÆ\ÂÀß\ÂÀß\Âÿ\€ ]Â@]Â]Â1]Âc]ÂÀu]ÂÀŽ]®]Âà]Âù]€^ÂÀ ^Â+^ÂD^Â]^ÂÀo^ÂÀˆ^ÂÀ¡^Â@Ç^ÂÀì^ÂÀ_Â%_ÂW_Â@]_ÂÀ‚_€•_ÂÀ›_ÂÔ_Â@ `Â`Â@>`ÂÀJ`€]`Â@‰`Â@¢`ÂÎ`ÂÀà`Â@aÂ@aÂ@8aÂÀ]aÂ@jaÂÀvaÂÀ¨aÂÀÁaÂÀóaÂÀ bÂ@2bÂÀWbÂÀWbÂ@KbÂ@KbÂ@}bÂ@¯bÂ@ábÂÀcÂÀcÂ@cÂ@,c€KcÂ@^cŠc€¯cÂ@ÂcÂÕcÂÀçcÂdÂ@&dÂ@?dÂ@XdÂÀ}dÂÀ–dÂÀ¯dÂ@¼dÂ@ÕdÂÀeÂ@ eÂÀEeÂ@keÂ@„e°e€¼eÂ@ÏeÂ@èeÂûeÂ-fÂÀ?fÂÀqfÂÀŠfªfÂÀÕfÂÀÕfÂÀgÂÀ g€3gÂ@FgÂ@xgÂ@‘gÂÀgÂ@ÃgÂ@hÂ!hÂ@@hÂÀLhÂ@rh€xhÂ@¤hÂ@½h€ÜhÂ@i€'iÂÀ-iÂ@SiÂfi€YiÂ@liÂÀ‘iÂÀÃiÂÀÜi€ïiÂ@jÂüiÂjÂ@4j€SjÂ@fjÂyjÂÀ‹jÂ@±jÂÀÖjÂÝjÂ@üjÂÀk€4kÂÀ:kÂ@GkÂ@`k€k€±kÂ×kÂÀékÂÀlÂÀlÂ@AlÂ@slÂÀlÂÀlŸlÂÀ±l€Ýl€ölÂmÂÀmÂ@;mÂgmÂÀym™m€¥m²m€×mÂämÂýmÂ@5n€;nÂÀsnÂ@€nÂ@™nÂÀ¥nÂÅn€ÑnÂ@änÂ@ýn€oÂÀ;oÂÀToÂtoÂ@“o€²oÂÀ¸oÂÀêoÂ@÷oÂÀpÂ@)pÂÀ5p‹ E‹Â`K‹ÂÀT‹Â E‹Â@H‹Âà>‹Â 8‹Â E‹Â@H‹Â€N‹Â Q‹Â@a‹Â€g‹Â€g‹Â ^‹Â€g‹Ât‹ÂÀm‹Âàp‹Ât‹Â€€‹Â`–‹Â€™‹Â€™‹Â@“‹Â œ‹ÂÀŸ‹Â ©‹Â@¬‹Â ©‹Â µ‹Â@¬‹Â ©‹Â¦‹Â ©‹Â`¯‹Â µ‹ÂÀ¸‹ÂÀ¸‹Â µ‹Â໋€ˋ ‹ ‹Â໋Â`È‹ÂÀы€ˋÂàÔ‹Â`á‹Âàí‹Âàí‹Â ç‹Â€ä‹Â ç‹Â ç‹Â ç‹Âàí‹Â@÷‹Â€ý‹ÂÀŒÂ ŒÂ@÷‹Â ŒÂàŒÂàŒÂàŒÂ€ŒÂ`ŒÂ€ŒÂÀŒÂ€ŒÂ€ŒÂàŒÂ`,ŒÂ 2ŒÂÀ5ŒÂà8ŒÂ ?ŒÂ<ŒÂ@BŒÂ ?ŒÂÀ5ŒÂ 2ŒÂ ?ŒÂ<ŒÂ`EŒÂ€HŒÂ€HŒÂàQŒÂ XŒÂàQŒÂ KŒÂ€HŒÂàQŒÂ`^ŒÂ€aŒÂàjŒÂnŒÂ dŒÂ`^ŒÂ€aŒÂàjŒÂ dŒÂàjŒÂ@tŒÂ€zŒÂ }ŒÂnŒÂÀgŒÂ@tŒÂ }ŒÂàƒŒÂàƒŒÂ ŠŒÂàƒŒÂ }ŒÂ }ŒÂàƒŒÂ ŠŒÂ@ŒÂ‡ŒÂ –ŒÂ –ŒÂÀ™ŒÂ ŒÂÀ™ŒÂ€“ŒÂ –ŒÂÀ™ŒÂ –ŒÂ £ŒÂ€¬ŒÂ ¯ŒÂ ¯ŒÂ ¼ŒÂ€ÅŒÂ€ÅŒÂ ¼ŒÂ ¼ŒÂൌ ¼ŒÂ`ÂŒÂ@¿ŒÂ ÈŒÂÒŒÂ`ی€ތ áŒÂ áŒÂ`ÛŒÂ`ÛŒÂ`ی îŒÂàçŒÂàçŒÂ€÷ŒÂ îŒÂàçŒÂ€ÞŒÂ áŒÂ€ÞŒÂ îŒÂ úŒÂ€÷ŒÂàçŒÂ îŒÂ úŒÂ úŒÂ`ôŒÂëŒÂ@ñŒÂ`ôŒÂ îŒÂ@ñŒÂëŒÂ îŒÂ îŒÂ úŒÂ úŒÂ ÂÂÀýŒÂàÂÀýŒÂ úŒÂ€€€Â` ÂÂ@ Âà Âà2€)Â`&Â@#ÂàÂ@#  Â`&Â@#Â`&Âà Âà Â@#€)€)ÂÀ/ ,Â6Âà2 9Â@<Â`?Â6 EÂ@< 9€B€BÂàK€[€[Â`X RÂ@UÂ`XÂ@U ^ÂÀa ^ R RÂ`X EÂ`?Âà2€)€)Âà€Â@ €ÂÂ@ñŒÂ îŒÂ îŒÂ îŒÂ îŒÂ îŒÂ`ÛŒÂҌ Ȍ¹ŒÂൌ £ŒÂàœŒÂ@ŒÂ€“ŒÂ‡ŒÂ }ŒÂ }ŒÂ qŒÂ dŒÂ€aŒÂ XŒÂ KŒÂ XŒÂ KŒÂ€HŒÂ`EŒÂ ?ŒÂ 2ŒÂ€/ŒÂ€/ŒÂ€/ŒÂ &ŒÂàŒÂ`ŒÂ@ŒÂ€ŒÂ`ŒÂ ŒÂ ŒÂ€ý‹Âàí‹Â@÷‹Âñ‹ÂÀê‹Â@Þ‹Â Û‹Â Û‹ÂàÔ‹ÂÀÑ‹ÂØ‹ÂØ‹ÂÀÑ‹ÂØ‹Â Î‹Â@ŋ ‹ ‹ µ‹Â¿‹Â໋Â໋ÂÀ¸‹Â¿‹Â`¯‹Â@¬‹Â ©‹Â¦‹Â œ‹Â¦‹Â@¬‹Â ©‹Â ©‹Âࢋ ©‹Â ©‹ÂࢋÂÀŸ‹Â ©‹Â¦‹Â¦‹Â€™‹Â ‹Â‹ÂÀ†‹ÂÀ†‹Âà‰‹Âà‰‹Â€€‹Â`}‹Â w‹Â`}‹Â w‹Â`}‹ÂÀ†‹Â@z‹Â`}‹Â€€‹Â w‹Â`}‹Â j‹ÂÀm‹Â€g‹Â`d‹Â`d‹Â Q‹Â[‹Â Q‹Â Q‹ÂàW‹Â€N‹Â Q‹Â`K‹Â@H‹Â`K‹Â ^‹Â@a‹Â[‹ÂàW‹Â ^‹ÂÀT‹Â Q‹Â`K‹Â E‹Âà>‹Â`2‹Â@/‹Â ,‹Â ,‹Â ‹Âà%‹Âà%‹Â)‹Â ‹Â ,‹ÂÀ"‹Â ‹Â)‹Â ‹Âà%‹Â ‹Â€‹Âà ‹Â ‹Â ‹Â ‹Â ‹Âà%‹Â)‹Â ‹Â ‹Â ‹Â@‹Â@‹Â@‹ÂÀ ‹Â€‹Â ‹Â ‹Âà ‹Â ‹Â ‹Â úŠÂ úŠÂ€‹Â ‹Â€‹Âà ‹Â@‹Â@‹Â ‹Â@‹Â€‹Â‹Â‹Â ‹Â‹Â ‹Â ‹Âà ‹Â ‹Â÷ŠÂÀðŠÂ@äŠÂ íŠÂàóŠÂàóŠÂàóŠÂ ‹Â`‹Â€‹Â`‹Â`‹ÂàóŠÂàóŠÂàóŠÂ@ýŠÂàóŠÂ úŠÂ€‹Â€‹Â@ýŠÂ úŠÂ÷ŠÂ÷ŠÂ íŠÂ€êŠÂ÷ŠÂ€‹Â ‹Âà ‹Â ‹Â€‹Â@ýŠÂ ‹Â ‹ÂÀ ‹ÂÀ ‹ÂÀ ‹Â€‹Â€‹Âà ‹Â ‹Â‹Â ‹Â€‹Â ‹Â ‹Â ‹ÂÀ ‹ÂÀ ‹Â@‹Âà ‹Â ‹Â ‹Â ‹Â ‹Â ‹ÂÀ ‹Â€‹Â`‹ÂÀ ‹Â ‹Âà ‹Â@‹Â ‹Â‹Âà ‹Â@‹Â ‹Â ‹Â ‹Â)‹Â ‹Â ‹ÂÀ"‹Â ‹Âà%‹Âà%‹Â ‹Â ‹Â ,‹Âà%‹Â ‹Âà%‹Â ,‹Âà%‹Âà%‹Â ,‹Â€‹Â ‹Â ,‹Â ,‹Â 8‹Â€5‹Â ,‹Â ,‹Âà%‹Âà%‹Âà%‹Â@/‹Â@/‹Â 8‹ÂB‹ÂÀ;‹Â E‹ÂÀ;‹Â`2‹Â€‹Â`‹Â€‹Â ‹ÂÀ"‹Â ,‹Â@/‹Â)‹Â@/‹Âà%‹Â€5‹Â 8‹Â`2‹Â ,‹Â`2‹Â 8‹Â`2‹Â`2‹Â 8‹Âà%‹Â@/‹Â€5‹Â€5‹Âà>‹ÂB‹Â€N‹Â€N‹Â`K‹Â E‹Â€N‹Â`K‹Â`K‹Â E‹Â@H‹Â E‹ÂB‹Â E‹Â@H‹Â E‹Â`K‹Â€N‹Â E‹ÂB‹Â 8‹Â 8‹Â 8‹Â 8‹Âà>‹Â@H‹Â E‹Â E‹Â`K‹Âà>‹ÂÀ;‹Â€5‹ÂÀ;‹ÂB‹ÂB‹Â E‹Â E‹Â@H‹Â E‹ÂÀ;‹ÂB‹Âà>‹Â E‹Â Q‹Â Q‹Â€N‹Â€N‹Â`K‹Â€N‹Â€N‹ÂÀT‹Â€N‹Â[‹Â€N‹Â Q‹ÂÀT‹ÂàW‹ÂàW‹Â[‹Â ^‹Â ^‹Â ^‹Â`d‹Â j‹Â j‹Â€g‹Â w‹Â w‹Â@z‹Â`}‹Â€€‹Ât‹Â j‹Â@z‹Â`}‹Âà‰‹Â‹Â€€‹Â€€‹Â€€‹ÂÀ†‹Â@“‹Âà‰‹Â`}‹Â ƒ‹Â@“‹Â ‹Â œ‹Â€™‹Â œ‹Â`–‹Â@“‹Â@“‹Â œ‹Âࢋ¦‹Â ©‹Â ©‹Â œ‹Â ©‹ÂÀŸ‹Âࢋ¦‹ÂࢋÂ`–‹Â`–‹Â ‹Â ©‹ÂÀŸ‹Â ©‹Â µ‹Â µ‹Â µ‹Â@¬‹Â€²‹Â€²‹Â@¬‹Â`¯‹Â`¯‹Â@¬‹Â@¬‹Â€²‹Â໋Â@Å‹Â@ŋ€ˋ€ˋÂ@ŋ ΋Âàԋ€ˋÂ`È‹Â`ȋ€ˋ€ˋ€ˋ ΋Âàԋ€ˋÂ`ȋ¿‹Â¿‹Â`È‹Â Î‹Â Û‹ÂØ‹Â Î‹Â€Ë‹Â Î‹Â ç‹Â ç‹Â@Þ‹Â Û‹Â`á‹ÂÀê‹Âñ‹Âàí‹Â ô‹Â@÷‹Âñ‹Â ô‹Â ô‹Â ô‹Âàí‹Âàí‹Â`á‹Â`ú‹Â ŒÂÀŒÂ ŒÂ ŒÂ€ý‹Â@÷‹Â`ú‹Â@÷‹Â€ý‹Â€ý‹Â€ý‹ÂàŒÂ ŒÂ`ŒÂ ŒÂ`ŒÂ ŒÂ#ŒÂ &ŒÂ#ŒÂ ŒÂÀŒÂàŒÂ€ŒÂ ŒÂ ŒÂàŒÂ &ŒÂ@)ŒÂ &ŒÂ`,ŒÂ`,ŒÂ€/ŒÂàŒÂ`,ŒÂ€/ŒÂÀ5ŒÂ ?ŒÂ@BŒÂ<ŒÂ`EŒÂ€HŒÂ KŒÂÀNŒÂ€HŒÂ ?ŒÂ`EŒÂ ?ŒÂ`EŒÂà8ŒÂ<ŒÂ€HŒÂÀNŒÂÀNŒÂ€HŒÂ€HŒÂ€HŒÂ`EŒÂ@BŒÂ€HŒÂàQŒÂ XŒÂ`^ŒÂ€aŒÂ XŒÂàQŒÂUŒÂ`^ŒÂÀgŒÂ dŒÂÀgŒÂ qŒÂ qŒÂÀgŒÂàjŒÂÀgŒÂÀgŒÂÀgŒÂ qŒÂ qŒÂ@tŒÂ`wŒÂàƒŒÂ ŠŒÂ`ŒÂ€zŒÂÀ€ŒÂ€zŒÂ€zŒÂ }ŒÂÀ€ŒÂàƒŒÂ ŠŒÂ€“ŒÂ€“ŒÂ ŒÂ@¦ŒÂ€¬ŒÂ ¯ŒÂ ¯ŒÂ ¯ŒÂ@¦ŒÂ@¦ŒÂ`©ŒÂ ¯ŒÂ`©ŒÂ`©ŒÂ ¯ŒÂÀ²ŒÂ ¯ŒÂ ¼ŒÂ@¿ŒÂ`ÂŒÂ`Œ ¼ŒÂ ¼ŒÂ ¼ŒÂ ¼ŒÂàÎŒÂ@¿ŒÂàΌ Ȍ Ȍ€Ō ȌÂ@¿ŒÂ@¿ŒÂ ¼ŒÂ€ÅŒÂÀËŒÂàÎŒÂàçŒÂëŒÂàçŒÂàçŒÂëŒÂàçŒÂÀäŒÂ îŒÂ îŒÂ€÷ŒÂ`ôŒÂ`ôŒÂ úŒÂ úŒÂ€÷ŒÂ úŒÂ úŒÂà  ÂÀýŒÂàÂà úŒÂà Â`  ÂàÂà ÂàÂàÂ`&ÂÀ/ , ,Â`&€)€)   , ,€)ÂÓÂ2¯Â "ÇÂÀ´ÆÂ@ê»Â ²¯ÂÀê¤Â`œÂ@ •Â@I€ž†ÂÀoE€—€íÈÁ€Û™ÁÉ3Á°L?G†A€½B€€=BÀ^eB¶}B o„B…BÀ ‚B»xB€jB€Â@³@ÂÀOBÂ@ÓCÂDEÂ@FµGÂ@ÎHÂ@ÈIÂÀµJÂ@ŠKÂeLÂ@3MÂÀîMÂrNÂOÂ…OÂÀûOÂ@lP€ïP€lQ€·Q€RÂ@GRÂ@’RÂðRÂ@(S†SÂÀÊSÂÀTÂ@mTÂÀ’TÂÀÝTÂ/U€†U¬UÂ@äUÂÀ VÂÀ"V€NV€gVÂÀ†V¿V€äVÂÀWÂ@[WÂ@tWÂ@WÂ@¦WÂÒWÂ@ñWÂÀXÂÀ/XÂÀaX€XÂÀ¬X€ñXÂ@YÂ@6YÂIY€UYÂÀ[Y€‡YÂ@³YÂ@åYÂ@þYÂÀ`€v`Â@¢`Â@»`Â@Ô`ÂÀù`ÂaÂÀ+aÂÀDaÂ@ja€‰aÂÈaÂ@çaÂÀ bÂ,bÂÀ>bÂ@dbÂÀ‰bÂbÂÀ¢bÂ@¯bÂ@áb€cÂ&cÂ&cÂ?cÂ@wcÂ@cÂ@©cÂÀÎcÂÀçc€dÂÀ2dÂ@?dÂ@Xd€^dÂ@ŠdÂ@£dÂ@¼d€ÛdÂÀeÂ3eÂÀEeÂeeÂ@ke€qe€£eÂÀÂeÂÀÛeÂÀôeÂÀ fÂ@3fÂÀXfÂ@~fÂ@~f€„fÂÀ£fÂ@Éf€èfÂ@gÂ@-gÂ@FgÂYgÂ@xgÂ@‘gÂ@ªg½gÂïgÂÀhÂÀ3hÂÀLh€xhÂ@‹hžhÂÀ°hÂÀ°hÂ@ÖhÂéh€i€'iÂ@SiÂ@…iÂ@žiÂ@·iÂÀÜiÂÀõiÂ@j€:jÂGjÂ`jÂ@jÂ@˜jÂ@±jÂ@ãjÂ@üjÂÀkÂAk€fkÂ@ykÂ@’kÂÀ·kÂÀÐkÂðkÂ@lÂÀ4lÂTl€ylÂÀ±lÂ@¾lÂ@¾l¸lÂÑl€ÝlÂmÂÀmÂmÂÀGmÂÀym€¥mÂ@ÑmÂ@êmÂ@nÂÀAnÂ@gnÂÀŒn“n€Ÿn€¸nÂÀ×nÂ÷nÂ÷nÂ@oÂÀ;oÂÀToÂ@zoÂÀŸo€²oÂÀÑoÂÀÑoÂñoÂ@pÂÀ5pÂ@[pÂnpÂÀ€pÂÀ²pÂÀäpÂ@#qÂÀ/qÂ@UqÂ@UqÂ@UqÂ@nqÂÀ“qÂ@‡q€¦qÂÌqÂåqÂÀr€#r€#rÂIrÂIrÂbrÂ@hrÂ@r€ rÂÀ¿rÂÀñrÂÀ#s€OsÂusÂusÂÀ‡sÂÀ s§sÂÀÒsÂÀësÂ@*tÂÀ6tÂ@CtÂÀOtÂ@utˆtÂÀštÂ@ÀtÂÀÌtÂ@ÀtÂ@ÙtÂ@ uÂ7uÂ@VuÂiuÂ@ˆuÂÀ”u›uÂ@ºu€Ùu€òu€$vÂ@7vÂ@Pv€ˆvÂÀŽv®vÂ@ÍvÂ@ævÂùvÂÀ w€7wÂ@1wÂÀ=wÂÀowÂÀˆwÂÀ¡w¨w€´w€ÍwÂÀÓw€ÿwÂÀxÂ@DxÂ@vx€|x‰xÂÀ´xÂÀ´xÂÀ´xÂ@ÚxÂíx€ùxÂ@ yÂ@%yÂÀ1y€DyÂÀ1y€]y€vyœyÂ@»yÂÀÇyÂ@ÔyÂÎyÂ@ÔyÂ@íyÂzÂ@8zÂ@8z€WzÂ}z–zÂ@œzÂÀÁzÂÀÚzÂÀózÂÀ {€{Â@2{ÂÀW{ÂÀp{€j{€ƒ{©{ÂÂ{ÂÀí{ÂÀ|Â@,|€2|Â@,|ÂÀ8|€d|ÂÀƒ|Â@|Â@|€¯|ÂÀµ|Â@Â|Â@ô|Â@ }Â@&}€,}ÂÀ2}ÂÀK}€w}Â@Š}€©}¶}€Â}ÂÀÈ}Âè}Â~ÂÀ~Â3~Â@R~€X~Â@k~Â@k~Â@„~Â~~Â@~Â@¶~Â@Ï~Â@Â@Â@Â@3Â@LÂÀ?Â@e€„‘ªÂÀÕÂõÂ@ûÂà€Â€€Â #€Âà5€Âà5€Â@?€Â€E€ÂR€Â@X€Â@X€ÂÀd€Â@q€Â@q€Â`€ÂÀ–€Â€Â ¬€Â ¹€Â`¿€ÂÀÈ€Â`Ø€ÂÀá€Âè€Â@î€Â ë€Âàý€Â@ ÂàÂ@ Âà/Â@9Â`< BÂLÂ`U€q Â~ Â`‡Â šÂ ¦Â ³Â`¹ÂÀÂÂÉ€ÕÂàÞ€î þÂ`‚  ‚‚ ‚Â`‚Âà)‚ <‚ÂàB‚Â`O‚ÂÀX‚ b‚Âx‚ ‡‚Â`š‚ÂংÂÀ£‚  ‚  ‚ ­‚Âà¿‚Â@ɂ Ƃ€ςÂ`å‚Â@₀肠날ø‚Âà ƒÂ ƒÂ@ƒÂà#ƒÂ€3ƒÂà<ƒÂ CƒÂ@ƒÂ@ƒÂ€LƒÂ \ƒÂ`bƒÂrƒÂÀ„ƒÂ`”ƒÂࠃ¤ƒÂࠃ §ƒÂ@ªƒÂ ³ƒÂใ ÀƒÂ ÙƒÂÖƒÂÖƒÂàÒƒÂÀσ كÂàëƒÂ@õƒÂÀ„ „€„Âà„Â`*„ =„€F„ V„ V„€_„Âàh„Âà„€x„ {„Â`u„Â`u„Âà„ ”„Âàš„Âàš„Â@¤„ º„Â`À„Â`À„ÂЄ ߄Â`ò„€õ„ ø„ …€… … …Â`$… *…Â4… C… P… P… \… \…Âf… i… u…Âà{… ‚… ‚… ‚…ÂÀ‘… ›…€¤…Âà­…Âà­…Â ´… ´…Â`º…ÂÊ…ÂÀÃ…ÂàÆ…Â Í…Â Ù…Â æ…€ï…Âàø…Â ÿ…€†Â†Âà†Â $†Â.†Â`7†Â@M†ÂàC†Â V†Â`†Â`i†Â`i†Â o†Â o†Â o†Â o†Âàu†Â@†Â ˆ†ÂàŽ†Â’†Â •†Â`›†ÂÀ¤†Â ®†Â«†Â`´†ÂàÀ†Â`͆ ӆ ӆÂ`æ†Â ì†Â`ÿ†Â ‡Â ‡Â ‡Â +‡Â +‡Â +‡Âà$‡Â`1‡Â D‡ÂA‡Â@G‡Â@G‡ÂàV‡Â P‡Â P‡Â ]‡ÂàV‡Â ]‡Â`c‡Âào‡Âào‡Â`|‡Â ‚‡Â@’‡Âࡇ ¨‡Â ¨‡Â ¨‡ÂÀ·‡Â`LJ Á‡ÂÀ·‡Âງ¾‡Â Í‡Â€Ê‡Â@݇ÂàÓ‡Â`à‡Â€ã‡Âàì‡Â`ù‡Â ÿ‡Â ˆÂÀˆÂ"ˆÂ %ˆÂ@(ˆÂ %ˆÂ 1ˆÂ@AˆÂ JˆÂTˆÂ WˆÂàiˆÂ@sˆÂ pˆÂ`vˆÂ`vˆÂ |ˆÂ |ˆÂ`vˆÂ`vˆÂ†ˆÂ@ŒˆÂ€’ˆÂ`¨ˆÂ`¨ˆÂ ¢ˆÂ@¥ˆÂ€«ˆÂ »ˆÂഈ¸ˆÂ¸ˆÂ€ÄˆÂ@¾ˆÂ ÔˆÂàæˆÂàæˆÂêˆÂàæˆÂêˆÂ àˆÂ@ðˆÂ€öˆÂ€‰ÂÀ‰ÂÀ‰Â ‰Â +‰Â@"‰Â 8‰Â@;‰Âà1‰Â`>‰Â D‰Â€A‰Â D‰Â D‰Â D‰ÂN‰Â Q‰Â ]‰Â@m‰Â@m‰Â@m‰Â ]‰Â`p‰Â`p‰Â v‰Âà|‰Â ƒ‰Â ‰ÂÀ’‰Â œ‰Â œ‰Â@Ÿ‰Â`¢‰Â œ‰Â™‰ÂஉÂ`»‰Â`»‰ÂàljÂ`Ô‰Â`ԉ Ή Ή€׉ ډ ډÂàà‰Âàà‰ÂÀ݉Âä‰Â Ú‰Âàà‰Âàà‰Âàà‰Â ç‰Â  ŠÂàŠÂ ŠÂ ŠÂ ŠÂÀ(ŠÂà+ŠÂ`8ŠÂHŠÂHŠÂ€TŠÂ`QŠÂ WŠÂà]ŠÂaŠÂà]ŠÂà]ŠÂ@gŠÂ€mŠÂ€mŠÂ`jŠÂàvŠÂàvŠÂ }ŠÂ@€ŠÂ`ƒŠÂ ‰ŠÂ –ŠÂ ¢ŠÂ ¢ŠÂ ¢ŠÂ ¢ŠÂਊÂÀ¥ŠÂ ¯ŠÂ€¸ŠÂ`µŠÂ »ŠÂ »ŠÂ »ŠÂàÁŠÂàÁŠÂÅŠÂÀ¾ŠÂ@²ŠÂÀ¾ŠÂ »ŠÂ@ËŠÂ ÈŠÂÅŠÂÅŠÂàÁŠÂ`ΊÂ`Ί ԊÂÞŠÂ`çŠÂàÚŠÂÞŠÂÞŠÂÞŠÂàÚŠÂ@äŠÂ€êŠÂ íŠÂàóŠÂ€‹Â ‹Â ‹Â ‹Â ‹Â`‹Â ‹Âà ‹Â ‹Â ‹Â`‹Âà%‹Â ,‹Âà%‹Â€5‹ÂB‹ÂÀ;‹Âà>‹ÂB‹Â`K‹Â@H‹Â@H‹Â E‹Â E‹Â@H‹Â Q‹ÂàW‹Â Q‹ÂÀT‹Â[‹Â`d‹Â`d‹Â j‹ÂÀm‹Ât‹Â`}‹Â ƒ‹Â w‹Â€€‹ÂÀ†‹Âà‰‹Â ‹Â€™‹Â@“‹Â`–‹Â¦‹Â ©‹Â ©‹Â€²‹Â€²‹Â€²‹Â@ŋ€ˋ ΋Â@Å‹Â`È‹ÂØ‹Â€ä‹Â ç‹Â ç‹Â ç‹Â`á‹ÂÀê‹ÂÀê‹Â Û‹ÂÀê‹Âàí‹Â@÷‹Â€ý‹Â`ú‹Â@÷‹Â€ý‹Â ŒÂ@ŒÂÀŒÂ ŒÂ &ŒÂ`,ŒÂ 2ŒÂ 2ŒÂ 2ŒÂ 2ŒÂ<ŒÂà8ŒÂà8ŒÂ 2ŒÂ<ŒÂ@BŒÂÀNŒÂ`EŒÂ`EŒÂUŒÂàQŒÂàQŒÂàQŒÂ XŒÂ dŒÂnŒÂ dŒÂnŒÂ`wŒÂàƒŒÂ€“ŒÂ@ŒÂ€“ŒÂ ŠŒÂÀ™ŒÂ –ŒÂÀ™ŒÂ –ŒÂ`ŒÂ@ŒÂ ŠŒÂ`ŒÂ £ŒÂ £ŒÂ ¯ŒÂ ¯ŒÂÀ²ŒÂ ¼ŒÂ ¼ŒÂൌ ¯ŒÂ`ÂŒÂàÎŒÂàÎŒÂ`ÂŒÂ`Œ€ŌÂàΌ€ތÂ`ÛŒÂàçŒÂ`ÛŒÂÒŒÂ@، áŒÂ áŒÂàçŒÂ@ñŒÂ îŒÂ îŒÂëŒÂ€÷ŒÂà ÂÀÂà ÂÀÂà ,Â6ÂÀ/Âà2Â`?€B€BÂ6Âà2 9 9€BÂ`?ÂàKÂ@UÂàKÂàKÂàKÂ@UÂ`XÂàdÂàd wÂà}Âà}Âà} wÂà} „Â`ŠÂà}€tÂà}Â@‡Â „€Â@ Â ÂšÂ  €¦Â`£Â@ ÂÀ¬Âà¯Â@¹Â Â€¿Â€¿Â Â ¶Â ÂÂ@¹Â Â ÂÂàÈÂàÈ ÂÂÀÅ ÂÂÌÂ`ÕÂ@Ò Ï ÂÂÌÂÀÅÂàÈ ÂÂàÈÂ`ÕÂ`ÕÂÀÞ€ØÂ ÛÂÀÞ ÛÂÀÞÂàá ÛÂ@ë ô€ñ ô ô ô ô èÂ`î ô ôÂÀ÷ ŽÂþÂ@ŽÂ  ŽÂ  ŽÂÀŽÂ`ŽÂÀŽÂ ŽÂ@ŽÂ &ŽÂ` ŽÂÀ)ŽÂ ŽÂ ŽÂÀ)ŽÂ€#ŽÂ` ŽÂ ŽÂàŽÂ &ŽÂ &ŽÂà,ŽÂ0ŽÂ`9ŽÂ@6ŽÂIŽÂ€<ŽÂ LŽÂ eŽÂ eŽÂ`RŽÂ€UŽÂ@hŽÂà^ŽÂà^ŽÂ qŽÂ€nŽÂ@hŽÂ XŽÂ XŽÂà^ŽÂ eŽÂ@hŽÂ€nŽÂ ~ŽÂ ~ŽÂ ~ŽÂ€‡ŽÂ ~ŽÂ€‡ŽÂ ~ŽÂ`„ŽÂ€‡ŽÂàŽÂ”ŽÂ`ŽÂ —ŽÂ —ŽÂ@šŽÂ@šŽÂÀŽÂ€ ŽÂÀ¦ŽÂ­ŽÂ £ŽÂ £ŽÂ੎Â`¶ŽÂ °ŽÂ`¶ŽÂ੎Â@³ŽÂÀ¿ŽÂ`ÏŽÂ ÉŽÂàÂŽÂÀ¿ŽÂ€¹ŽÂ ÉŽÂ@ÌŽÂ ÉŽÂàÂŽÂ@̎€ҎÂàÂŽÂ ÉŽÂ`ÏŽÂ ÉŽÂÀØŽÂ`èŽÂ`èŽÂ îŽÂ€ëŽÂ`èŽÂ@åŽÂ âŽÂߎÂàێ€ëŽÂÀñŽÂàôŽÂ ûŽÂ€ÂÂà  Â`Â@þŽÂ@þŽÂ ûŽÂøŽÂàôŽÂÀñŽÂ ûŽÂøŽÂ`Â@þŽÂ`Â`ÂÀ Â@  Âà&€Âà&€Âà&Âà&Âà&Â* -Â@0 -Â@0ÂÀ<Âà?ÂÀ<ÂÀ<Âà?Âà?Â@IÂ@bÂ`e _ÂÀUÂÀUÂÀUÂÀUÂàX _ _ _ _€h kÂàqÂ`~ xÂÀn kÂàq€Â`~Â@{ÂÀn kÂàqÂ@{ x xÂ`~ „€ÂàŠÂàŠÂàŠÂ€Â „ÂÀ‡Â „ÂàŠÂàŠÂ ‘ÂŽÂ ‘€šÂ€šÂ`— ÂÀ Â€šÂÀ Âà£Â§ÂÀ Â§Â@­Â ªÂ@­Â ªÂÀÂà¼Â€Ì Ï€ÌÂ`ÉÂà¼Â À̠àÏÂàՀ̠ÃÂà¼Â ÃÂ`É ÃÂ@ÆÂ€Ì ÏÂàÕ Ü Ü Ü ÏÂÀÒ è èÂÀëÂòÂàîÂÀëÂ@øÂ`ûÂ`ûÂ`û Âò€þÂ`û€þ õ€þ€þÂ`ûÂàÂà €þÂ`û€þ€þÂ`ûÂà   Â`ÂàÂà  € Âà € Â`  Â`-€0Â`- 'Â$ 'Âà Â$Â$ÂÀÂÀÂà   € 'Â@* ' 'Â`-Â`- 3€0Âà9€0 3 3€0Â=Â=ÂÀ6Â=Âà9Â@CÂàRÂàR LÂ`F€IÂ@CÂ`F 3ÂÀ6ÂÀ6 @Â@C @€I @ÂÀ6 @Â@CÂ@CÂ@CÂ`FÂàR Y L @ @ @ @ÂÀ6€I€I LÂ`_ e€b e e Y Y€bÂÀh r eÂo e eÂàkÂ`_Â`_Â@\ÂàR YÂ@\Â`_Â`_ eÂàkÂÀh eÂo rÂoÂ`xÂ@uÂÀh rÂ@uÂàkÂoÂàk r ~Â@ŽÂ —ÂÀšÂ`‘Â@ŽÂ@ŽÂ@ŽÂàÂÀšÂ€”Â@ŽÂ ‹Â€”Â`‘ —Â`‘ —€”€” — —¡€­Â °Â`ªÂ ¤Â`ªÂ ¤Â`ªÂ ¤Â@§Â¡Â ¤Â¡Â ¤Â °Â °Â€­Â ¤Â`ªÂ °Âà¶Â`ªÂ@§Â@§Â`ªÂ`ªÂ °Â °ÂàÂÀšÂÀšÂ ¤Â@§Â °Â °ÂºÂà¶Â`à½Â€ÆÂ ÉÂàÏ ÉÂ@ÀÂ@ÀÂà¶ÂºÂà¶ÂºÂà¶Â ½Â ½Â`à½Â ½Â ½Â ½Â É€ÆÂàÏÂ`ÃÂ`ÃÂà¶Â@ÀÂ`ÀÆÂ€ÆÂ€ÆÂÀÌÂÀÌÂàÏÂÓ ÖÂ@Ù Ö ÖÂÓÂÓ Ö€ÆÂàÏÂÓÂ@ÙÂÀÌÂàÏÂÓ€ÆÂ`ÃÂ`ÃÂ@ÀÂ@ÀÂÀÌ€ßÂ@ÙÂàÏ ÖÂ`܀ߠâ âÂàèÂì âÂÀåÂàè âÂàèÂìÂ`õ û€øÂ@ò ïÂ`õ ûÂ@òÂ`õ û‘€‘‘Âà‘ û ‘ ‘€‘Â`‘Â`‘ ‘Â@ ‘Âà‘ ‘Âà‘Âà‘ÂÀþÂ`‘€‘€‘Âà‘Âà‘Â`'‘€*‘ !‘Â`'‘ !‘Â`'‘Â@$‘Â@$‘Âà‘Âà‘Â@$‘ !‘ÂÀ0‘ -‘ :‘ :‘€C‘Â`@‘Â7‘ÂÀ0‘ -‘ -‘€*‘ -‘ -‘ :‘ :‘ :‘ÂÀ0‘Â7‘ :‘Âà3‘ÂÀ0‘ -‘ :‘Â7‘Âà3‘Â@=‘Â@=‘Â`@‘ F‘Â`@‘Â`@‘ F‘ F‘ÂÀI‘Â`@‘ÂàL‘ÂÀI‘ F‘€C‘ÂàL‘ÂàL‘ÂÀI‘ F‘ F‘Â`@‘€C‘ F‘ :‘€C‘ F‘Â`@‘Â@=‘Â@=‘ F‘ S‘Â@V‘Â`Y‘ _‘€\‘€\‘ÂÀb‘Âi‘ÂÀb‘ l‘Â@o‘ x‘Â`r‘ l‘ _‘Âàe‘ _‘Âàe‘Â@o‘ l‘ l‘Âàe‘ x‘ x‘Â`r‘ x‘‚‘ …‘Âà~‘ …‘Âà~‘Â@ˆ‘Â`‹‘Â€Ž‘Âà—‘Â@¡‘ÂÀ”‘Â@ˆ‘Âà—‘Â@¡‘Â`¤‘Â@¡‘ ž‘›‘ÂÀ”‘ ž‘Â€Ž‘Â ‘‘ÂÀ”‘€§‘Â`¤‘ ª‘€§‘Â@¡‘Â`¤‘ ª‘ ª‘ÂÀ­‘ ·‘´‘ÂÀ­‘€§‘€§‘Â`¤‘ ª‘ ª‘ ª‘´‘€§‘´‘ ·‘ ª‘ ª‘€§‘ÂÀ­‘€À‘Â`½‘Â@º‘€§‘ ª‘ÂÀ­‘Â఑´‘ ·‘€À‘Â`½‘€À‘ ÑÂàÉ‘Â`½‘´‘ ÑÂ@Ó‘Â@Ó‘Â@Ó‘Âàɑ ÑÂàÉ‘Â@Ó‘Â`֑€ّÂàɑ БÂ`֑ БÂÍ‘Â`֑ БÂàâ‘ ܑÂ@ì‘Âæ‘ é‘Â`ï‘Âæ‘Âàâ‘Âàâ‘Âàâ‘Âàâ‘Âæ‘ÂÀß‘Âæ‘€ò‘ÂÀø‘Âÿ‘ÂÀ’Â@’ ’Âÿ‘ ’Âàû‘Âàû‘Â`ï‘Â@ì‘Âæ‘€ò‘ õ‘ õ‘ ’Âÿ‘Âàû‘Â@’ ’Â`’Â`’ ’ ’Âÿ‘ ’ ’Âà’€ ’ÂÀ’ ’€ ’Â@’ ’Âàû‘ ’Â@’Â`’Â`’ ’Â`’ ’Â’ ’Âà’Â@’Â`!’Âà’Â@’Â`!’Âà’Â@’ ’ '’€$’€$’Â`!’ '’Âà-’Â@7’ 4’ÂÀ*’Âà-’ÂÀ*’Âà-’ 4’Â1’Âà-’Â`:’ 4’ 4’Â1’Â@7’ @’ @’ÂàF’ @’ 4’ÂàF’ @’Â@7’Â1’Â@7’€=’Â@7’ @’ÂàF’Â`:’ÂÀC’Â@P’Â@P’ Y’€V’ Y’Â`S’ÂJ’ Y’Â@P’Â`S’ @’ÂÀC’Â@P’Â`S’ M’Â`S’ M’ – ­´Â Ì ÒËÂßÀÂ`š´Â ½©Â`Ǡ ¬™ÂÀ”Âà‰‹Â@QÂ,ÂÀ‹€óùÁ€;ÕÁ€£šÁ6 Áx´@M·AžB’QB€btBÀèƒB€‡By†BÀ ‚BùvBÜfB@NUB€*CBÀ81B@ÊB€OBªÿA€KãA€œÉA€,²A‹œA€öˆA¸lA&JA$)A"A¤Î@nŒ@@@>Xü¿ÖƒÀÇÀÁh&ÁƒGÁéhÁ€…Á€•Á€Þ¥Á€x¶Á€•ÆÁ[ÖÁ€£åÁ=ôÁ@ ÂÀéÂ@h‰€&ÂÀrÂÀT$Â@ß(Âó,Â@¯0€4Â7¾9Â<Â<>Â@@€åAÂÀ{CÂ@ÍDÂÀFÂÀcGÂ@jHÂwIÂ@^JÂÀKKÂÀ,LÂâLÂ@—MÂÀ9NÂ@ÃNÂÀeOÂ@ÖOÂÀFPÂ@·PÂ@QÂyQÂÀÖQÂ@.RÂsRÂ×RÂ"S†S€ÄSÂÀT€ZTÂ@ŸTÂÀÝTÂÀAUÂÀZUÂ@™UÂÀ¾U€êU€VÂÀ;VÂ@aVÂ@zVÂÀŸVÂ@ÅVÂÀêVÂ@)WÂUWÂnW€“W¹WÂëWÂ@ X€)XÂ@UXÂhXÂÀzXÂÀ¬XÂÌXÂ@ëXÂ@YÂ@6YÂ@OYÂÀ[YÂ@Y€ YÂÀ¿YÂÀ¿YÂ@åYÂ@þY€6Z€OZÂ@bZÂ@{ZÂÀ‡ZÂÀ ZÂ@ÆZ€þZÂ$[ÂÀO[ÂÀh[ÂÀ[Â@§[Â@§[Â@À[Â@ò[Â@ \ÂÀ0\Â@=\Â@V\ÂÀ{\Â@ˆ\Â@¡\ÂÀÆ\€Ù\Âÿ\Â@]€=]€V]ÂÀŽ]ÂÀ§]Âà]ÂÀò]Â@ÿ]Â@^€7^Â@c^Â@|^ÂÀˆ^ÂÀ¡^ÂÁ^ÂÀÓ^ÂÀ_Â@+_ÂÀ7_ÂÀP_€|_Â@_Â@_Â@¨_Â@Ú_ÂÀ`ÂÀ1`Â@W`Â@p`ÂÀ|`Â@¢`Â@»`ÂÀà`Â@í`Â@aÂ@aÂ@QaÂ}a€‰a€ÔaÂ@çaÂ@bÂ@bÂ@2bÂ@KbÂ@}b©bÂ@ÈbÂ@ÈbÂÀÔbÂÀíbÂôbÂÀcÂ@,cÂ@EcÂ@,cÂ@Ec€}cÂÀœc¼cÂîcÂd€,d€EdÂkdÂÀ}dÂ@ŠdÂ@£dÂÀÈdÂ@eÂÀeÂeeÂ@„eÂ@eÂÉe€ÕeÂ@fÂ@fÂ-fÂÀ?fÂ@LfÂ@~fÂ@—fÂÀ¼fÂÀÕfÂõf€3gÂ@gÂYg€egÂ@‘gÂ@ªgÂÀÏgÂÖgÂïgÂ@õgÂÀh€-h€-hÂ:hÂlh€ªhÂÀ°hÂ@ÖhÂ@iÂ4iÂÀ_iÂ@li€‹i€¤iÂ@ÐiÂãiÂ@éiÂ@j€:jÂ@fjÂyjÂ@˜jÂÀ¤jÂÀ½jÂÀïjÂöjÂÀkÂÀ!kÂ@GkÂÀlkÂÀlkÂÀ…kÂÀ·kÂ@ÝkÂ×kÂ@ökÂ@(l€GlÂÀfl€ylÂ@Œl¸lÂÀ±lÂÀÊlÂ@ðl€(mÂ@;mÂ@Tm€smÂÀ’mÂÀ«mÂ@ÑmÂÀömÂ@nÂ@5nÂÀ(nÂ@Nn€mnÂ@€nÂÀ¥nÂÀ¾nÂÞnÂ@än€oÂ@oÂ)oÂ[oÂ@zo€™o¦o€ËoÂÀêoÂÀpÂ@)pÂzÂ@QzÂdzÂ@ƒz–zÂ@µz¯zÂÀÚzÂúzÂ{ÂÀ>{Â,{Â@K{Â@d{Âw{€ƒ{Â@–{©{€Î{ÂÀí{ÂÛ{ÂÀí{Â@|Â@,|€K|€d|Â@w|€}|€–|ÂÀƒ|Â@|€¯|Â@Û|Â@ô|Â@ } }ÂÀ2}Â9}ÂÀK}€^}ÂÀ}}€}ÂÀ¯}ÂÏ}ÂÀÈ}Â@î}Â~ÂÀ~Â@9~Â@R~Â@k~€Š~ÂÀ~Â@~€¼~ÂÀÛ~Â@è~€Â@ÂF€RÂ@eÂx‘ÂÀŠ‘ÂÀ¼ÂÀÕÂÀîÂ@ûÂ`€Â #€Â`)€Â /€Â9€Â@?€Â U€Â€^€Â n€ÂÀ}€Â`€Â “€Â€Â€©€Â ¬€Â€©€Âಀ Ҁ€ۀÂè€Â ë€Â ë€Â ÷€Â€  €& 6Â@9ÂÀE O€XÂ`UÂàa t  — ÂÀÂ@€£Â ³Â@¶ÂÀ©Âà¬Â`¹Â`Ò ØÂÀô þÂà‚‚ ‚Â`‚Âà)‚Â-‚Â@3‚ÂÀ?‚ÂàB‚ U‚Â_‚ n‚Â@~‚ ‡‚Âà‚Â@—‚Â@—‚  ‚Âংª‚ ­‚Â@°‚ ƂÂàØ‚Â ß‚Â@â‚ÂÀî‚Âàñ‚ ë‚Â@û‚ÂÀƒÂ@ƒÂ`0ƒÂ@ƒÂ`IƒÂàUƒÂàUƒÂÀRƒÂ€eƒÂrƒÂ uƒÂà‡ƒÂ@‘ƒÂ@‘ƒÂ šƒÂ¤ƒÂ€°ƒÂ ³ƒÂใ ÀƒÂ@à̃ ك åƒÂïƒÂ þƒÂ`„€„Â`„Â`„ $„Â`*„ 0„Âà6„Â`C„ÂS„Â`\„Âàh„ÂÀe„€x„Â@‹„€‘„Âàš„ÂÀ—„Â`§„·„ º„ Ƅ ƄÂ`À„ ƄÂàÌ„Â`Ù„Âàå„ ì„€õ„Âàþ„€…ÂÀ… … *…Â@:…Â@:… 7…ÂÀF…Â@S…€Y…Âàb…Âf…Â@l…ÂÀx… u… u…Âà{…Â@……˜…Â@ž…Â୅€½…ÂàÆ…Â€½…ÂÀÃ…ÂÀÃ…Â`Ӆ€օÂàß…Â`ì…Âàø…Âü…Â`†ÂÀ†Â`†Â@†Â`†ÂÀ'†Â 1†Â`7†Â =†Â€S†Â€S†Â€S†Â c†Âàu†Ây†Â |†Â€…†Â`‚†ÂàŽ†Â`›†Â€ž†Â৆«†ÂĆ ӆÂÀÖ†Âàن€é†Âàò†Âö†Â ù†Â`ÿ†Â€‡Â‡Â ‡Â€‡Â€‡Â€‡Â ‡Â@.‡Â 7‡Â D‡Â P‡ÂàV‡Â`c‡Â`c‡Â€f‡Â`|‡Â`|‡Â`|‡Â@y‡Â`|‡ÂÀ…‡Âàˆ‡Â ‡Â ‡Â`•‡Â ¨‡Â`®‡ÂງÂ`LJÂÀЇÂ`à‡Â@݇Â`à‡Â æ‡Â ó‡Â ÿ‡Â`ˆÂ ˆÂ ˆÂÀˆÂ %ˆÂ@(ˆÂÀ4ˆÂ€GˆÂ@AˆÂ WˆÂàPˆÂ JˆÂ`DˆÂ JˆÂ JˆÂÀMˆÂ`]ˆÂÀfˆÂ pˆÂ€yˆÂ |ˆÂ ‰ˆÂ •ˆÂ •ˆÂ •ˆÂà›ˆÂà›ˆÂ`¨ˆÂÀ±ˆÂ¸ˆÂ`ÁˆÂ ÇˆÂ@׈ÂàæˆÂ@ðˆÂ íˆÂ íˆÂ íˆÂ íˆÂàÿˆÂ ‰Â@ ‰Â@ ‰Â` ‰Â@ ‰ÂÀ‰Â ‰Â€(‰ÂÀ.‰ÂÀ.‰Âà1‰Â D‰Â D‰ÂàJ‰Â`W‰ÂàJ‰Â D‰Â D‰ÂàJ‰Â ]‰Â€s‰Âà|‰Â ‰Â ‰Âà•‰Â™‰Â@Ÿ‰Â`¢‰Â ¨‰ÂஉÂÀ«‰ÂஉÂ`»‰Â²‰Â µ‰Âஉ µ‰Â€¾‰Â Á‰Â€×‰Â€×‰Âàà‰Âä‰Â ç‰Â ç‰Âý‰Â`ŠÂàŠÂ€"ŠÂŠÂ ŠÂ ŠÂ`ŠÂ/ŠÂ %ŠÂ`8ŠÂ >ŠÂàDŠÂ€TŠÂ`QŠÂ`QŠÂ`QŠÂ€TŠÂ WŠÂà]ŠÂ dŠÂ€mŠÂ }ŠÂ }ŠÂ`ƒŠÂÀŒŠÂ@™ŠÂàŠÂ`œŠÂ€ŸŠÂ ¢ŠÂ ¯ŠÂ`µŠÂ€¸ŠÂÀ¾ŠÂ€¸ŠÂÀ¾ŠÂ ÔŠÂàÚŠÂ áŠÂ áŠÂÞŠÂàÚŠÂ áŠÂ@äŠÂ@äŠÂ€êŠÂ áŠÂ`çŠÂÀðŠÂ úŠÂ`‹ÂÀ ‹Âà ‹Â ‹ÂÀ ‹Â€‹Âà ‹Âà ‹Â ‹Â€5‹Âà>‹Â€N‹ÂàW‹Â ^‹Â Q‹Â@a‹ÂàW‹Â`d‹ÂÀm‹Âàp‹Â@z‹Â w‹Â ƒ‹Âà‰‹Âà‰‹Â ‹Â@“‹Â œ‹Â`–‹Â`–‹Âà‰‹Â`–‹Â œ‹Â`¯‹Â ©‹Â໋Â໋ µ‹Â ‹Â@Å‹Â@ŋ ΋ ۋÂ`á‹ÂÀê‹Âàí‹Âàí‹Âàí‹ÂÀê‹Âàí‹Âàí‹Â`ú‹Â ŒÂ€ý‹ÂÀŒÂ ŒÂ ŒÂ &ŒÂÀŒÂÀŒÂ#ŒÂ 2ŒÂ 2ŒÂ ?ŒÂ`EŒÂ KŒÂàQŒÂàQŒÂ`^ŒÂ€aŒÂ XŒÂ`^ŒÂ XŒÂUŒÂ`^ŒÂÀgŒÂÀgŒÂ qŒÂnŒÂ qŒÂ‡ŒÂ ŠŒÂ€“ŒÂ –ŒÂÀ™ŒÂ ŒÂ £ŒÂ £ŒÂ€¬ŒÂ ¯ŒÂÀ²ŒÂ ¼ŒÂ`Œ€Ō€Ō€Ō ¼ŒÂ€ÅŒÂàΌ áŒÂëŒÂàçŒÂ€ÞŒÂàçŒÂÀäŒÂëŒÂ@ñŒÂ`ôŒÂ€÷ŒÂ  € Â`& ,ÂÀ/ÂÀ/ , ,Â@< E EÂ@< E€BÂÀH E RÂàd€[ÂÀa ^€tÂÂÀzÂÀzÂÂà}Â`ŠÂ Âà–ÂÀ“Âà–šÂà–  €¦Âà¯Â ¶Â`¼Â@¹Â`¼Â@¹Â³Â`¼ÂÀÅÂÌ Ï ÛÂàá Û Û ÛÂå è ôÂþ ŽÂ ŽÂ€ ŽÂ€ ŽÂàŽÂ@ŽÂ ŽÂ` ŽÂ &ŽÂà,ŽÂ &ŽÂà,ŽÂà,ŽÂ€<ŽÂ`9ŽÂ LŽÂ ?ŽÂÀBŽÂ€<ŽÂàEŽÂ`RŽÂbŽÂ`RŽÂÀ[ŽÂà^ŽÂ€nŽÂ`kŽÂ€nŽÂ qŽÂ€nŽÂ qŽÂ ~ŽÂ ~ŽÂ{ŽÂÀtŽÂ@ŽÂÀŽÂ ŠŽÂ ~ŽÂ`„ŽÂ ŠŽÂ@šŽÂ £ŽÂ੎Â੎ °ŽÂ­ŽÂ °ŽÂ੎­ŽÂ °ŽÂ`¶ŽÂ ¼ŽÂ ÉŽÂ@ÌŽÂ@ÌŽÂ ÉŽÂÆŽÂ`ώ€ҎÂàÛŽÂÀØŽÂߎ€ëŽÂ`èŽÂ@åŽÂ îŽÂøŽÂ`ÂÀñŽÂ@þŽÂ ûŽÂ@þŽÂ Âà  Âà  Â ÂÀ    ÂÀ#€€Â* 9Â`3ÂÀ<€6ÂÀ< FÂ`L R€O RÂ`LÂÀUÂàX _Â@b kÂÀn€h€h€h kÂuÂ@{Â`~ xÂ`~ „ ‘ ‘ÂàŠÂ`—€šÂ`—   ªÂ€³Â€³Â€³Âà£Âà£Âà£Â€³Â€³Â ¶Âà¼Â`ÉÂàÕ ÏÂàÕÂ`âÂàÕÂàÕÂ@ßÂ@ß ÜÂ@ßÂ@ßÂ@ß èÂÀëÂòÂàîÂÀëÂÀë èÂòÂ`û ÂàÂà  Â@   Âà €0 ' 3ÂÀ6Â@CÂ`FÂ=Â@CÂ`FÂàRÂàRÂ@\ Y YÂàRÂVÂàR L YÂàR YÂ@\ L Y L€IÂ@CÂàRÂÀOÂV Y YÂ@\Âàk r rÂo€{ ~€{ ~Âà„ˆÂ@ŽÂ`‘ —Â@ŽÂ —ÂÀšÂà —¡Â@§Â`ªÂÀ³Â`ªÂÀ³Â °ÂÀ³Â °Âà¶Â`ÀÆÂ€ÆÂàÏ ÖÂ@ÙÂÓÂàÏ ÉÂàπߠÖÂ`Ü âÂÀåÂàèÂÀå€ß ÖÂÓÂÓÂ`Ü â âÂàèÂàè â â âÂàèÂà‘Â`‘€‘Â@ ‘Â`‘ ‘Â@ ‘Â`‘Âà‘ÂÀ‘ ‘Âà‘Âà‘‘Âà‘ ‘ ‘€‘ÂÀ‘Âà‘Â@$‘ !‘Âà3‘€*‘ -‘ -‘Â`'‘Â`'‘€*‘ -‘Âà3‘Â`@‘ :‘€C‘ :‘ F‘ÂÀI‘ F‘ÂàL‘ F‘ F‘ÂP‘ F‘ÂàL‘ÂP‘ÂàL‘ F‘ÂàL‘ÂàL‘ F‘ S‘Â@V‘Â`Y‘Âi‘Âàe‘ l‘€u‘€u‘Âi‘Â`r‘ l‘ l‘Â`r‘ x‘ÂÀ{‘ÂÀ{‘Âà~‘ …‘‚‘Âà~‘Âà~‘Â`‹‘ ‘‘ ‘‘Âà—‘Â ž‘Â`¤‘ ž‘ ž‘Â@¡‘ ª‘ ª‘Â఑€§‘´‘´‘ ·‘ ·‘ ·‘Â@º‘ Ñ€À‘Â@º‘Â఑€À‘€À‘ÂÀƑ Ñ ·‘Â`½‘ Ñ€À‘Â`½‘Âà°‘Â@º‘ÂÀÆ‘Âàɑ БÂàÉ‘ÂÍ‘ÂàÉ‘Â`½‘Â@º‘Â͑ БÂ@Ó‘Âàâ‘ÂÀß‘Âæ‘ é‘Âæ‘ ܑÂÀß‘Âæ‘Â@ì‘ õ‘ ’ ’Â@’Â`’€ ’ ’Âàû‘€ò‘€ò‘Âàû‘Âÿ‘ ’€ ’€ ’Âà’Âà’ ’Â`!’ÂÀ’Âà’Âà’ ’Â’ '’Â@’ '’€$’Â`!’ ’Â’ÂÀ’€$’ '’€$’Âà-’Âà-’ 4’ 4’Â`:’€=’Â@7’Â@7’Â1’€=’ÂÀC’ÂJ’ Y’€V’ Y’Â`S’Â@P’ÂàF’ÂàF’Â`S’€V’Â`S’Â@P’ Y’ÂÀ\’Âc’Â@i’ f’ÂÀ\’Â`S’€V’ Y’Âà_’ÂÀ\’ Y’Âc’ f’Âc’Â`l’Âc’Âà_’Â@P’ Y’Âc’Â`l’€o’ r’ÂÀu’ÂÀu’Âàx’ r’Â`l’Â@i’€o’ r’Â|’ ‹’€ˆ’€ˆ’Â@‚’ ’Âàx’Â`l’Âàx’ ’ ’Â`…’Â@‚’Âàx’Â`…’ ’ ’Âàx’Â`…’€ˆ’Âà‘’Â€ˆ’ ‹’Âà‘’Â ‹’ ’•’Âà‘’Âà‘’Â@›’Âà‘’Â ˜’Âà‘’Âà‘’Â•’ÂÀ§’Â઒ ˜’€¡’ÂÀ§’Â઒Â઒®’ ±’ ±’ ±’ ¤’Â`ž’Â`ž’Â`ž’ ˜’Â@›’Â઒ ±’Â઒ÂÀ§’Â@´’Â`·’€º’Â`·’Â઒Â`·’ ½’ ½’ÂàÃ’ÂÀÀ’ÂÀÀ’ÂàÃ’ÂÇ’Â Ê’Â`·’Â઒®’ ±’€º’ ½’Â@͒ ʒ€ӒÂ`В ½’ ½’Â`Ð’Â Ê’Â@͒ ֒€ӒÂ`В€Ӓ€ӒÂ`В ֒ ֒Â@Í’Â`Ð’Â`Ð’Â Ê’ÂÇ’Â Ê’Â`Ð’Â@Í’Â@͒€ӒÂ`В€ӒÂÀْ ֒ ֒Â`Ð’Â`Ð’Â Ê’Âǒ ʒ ֒ ֒ÂÀْ€ӒÂàÜ’ÂÀْ€ӒÂà’Â`é’ÂÀò’Â`é’ÂàÜ’Âà’ ã’Â@æ’€ì’ÂÀò’€ì’Â`é’Â`é’Â@æ’€ì’Âàõ’€ì’ ï’ ï’Â@æ’Â`é’Â`é’Â@æ’Â`é’ ã’Âà’Â`é’Â`é’Â`钀쒠ï’Âàõ’ ü’Âàõ’ ü’Âàõ’Âàõ’ ï’Âù’ ï’Âàõ’Âàõ’Âàõ’ÂÀò’ ï’ ï’ÂÀò’Â`“Â@ÿ’ ü’Âù’Âàõ’Âàõ’ ü’ ü’Â@ÿ’Âù’Âàõ’ ü’ ï’Â@æ’Â@æ’Âù’Âù’ÂÀ ““ “Â@“€“Âà“€“ “Âà“Âà“Â`“€“““Âà“Âà“ÂÀ “Âà“ ““ ““ ““ !“ !“ !“ !“Â`“ “Â@“ !“ !“ÂÀ$“ !“ .“ .“Â`4“Â@1“Â+“Âà@“ÂÀ=“ :“ :“ :“Â`4“ÂÀ=“ :“Â@1“Â+“€7“ÂÀ=“ :“Âà@“ÂD“Â`4“Â`4“Â`4“ :“Â@1“ .“€7“Â+“Â@1“Â@1“Âà@“ :“Â`4“€7“ :“ G“Â]“€P“€P“€P“ÂàY“ÂàY“Â]“ÂÀV“ÂÀV“ S“ÂàY“ `“Â]“€P“ S“ÂÀV“ÂÀV“ `“ `“ÂàY“ÂàY“ÂÀV“ `“Â@c“ l“ l“Âàr“€i“ `“ `“Â@c“ l“ y“Âàr“€i“ l“€i“Â@|“ÂÀo“ l“ y“Â`“ y“Âv“ l“ÂÀo“ l“€i“ l“ÂÀo“ `“Â@c“Â`f“ y“Â`“€‚“€‚“Â`“Âàr“Â@|“Âàr“€‚“Â@|“Â`“Â@|“Â`“Â`“ …“ y“ y“ y“€‚“Âà‹“ÂÀˆ“Â`“ y“ …“ ’““ …“ …“€‚“ÂÀˆ“ÂÀˆ“Â@•“Â@•“ ž“ ž“ ž“ ’“ ’“ ’“Â@•“ ’““Â`˜“ …“ …“Â`˜“Â`˜“Â`˜“Â@•““ ž“ÂÀ¡“ ž“Â`˜“ ž“ ’““ÂÀˆ““Â@•“Â`˜“Â@•“ÂÀˆ“ …“€›“Â`˜“Âओ ž“Â`˜“Â@•“ÂओÂओÂ`˜“¨“ÂÀ¡“ «“ÂÀ¡“ÂÀ¡“¨“¨“Â@®“¨“ ž“€›“€›“ÂÀ¡“Â`±“Â@®“Â`±“€´“ ·“ ēÂÁ“ÂÁ“ÂÁ“ ēÂནÂན ·“ÂÀº“ ē ē ēÂÁ“ÂནÂན ē€͓ÂÀÓ“ÂÀÓ“ÂÀӓ€͓ÂàÖ“ÂàÖ“ÂÀÓ“ÂÀÓ“ÂÚ“ÂÚ“ÂàÖ“Â@à“ ݓ€͓ÂÁ“ÂÀº“ ē ē Г ݓ ݓÂ`ã“ ݓÂ`ã“Â`ã“Â@à“ÂàÖ“ÂàÖ“ÂàÖ“Âà֓ ݓ ݓ€͓Â`ʓ€͓ ГÂà֓€͓€͓Â@Ç“Â`Ê“Â@à“Â@à“Â@à“Â@à“Âà֓ ݓ Г ݓÂÀÓ“ÂàÖ“Â “—¶ ÆÍÂ@Í 3ÂÂàëµÂ`«Â€(¢Â›ÂÀc•ÂàçŒÂ@ TÂ@èÂ@ñ ÂÀ!€/ðÁ€T¼ÁeÁ(Ò¿˜iAÉþAŸ:BLeBÀ¼BÀ@†BA‡Bl„B€Â}B@oBÀV^B—LB€«:B€)B@^BÀ˜B$ôAIÙA€‡ÀAªAµ•A€¶‚AÈaAI@A’AFÿ@0À@L@¤@H<üÀZ‡ÀèËÀmÁ¡)ÁKÁ5mÁ€˜‡Á€d˜Á€þ¨Á€±¹Á?ÊÁ€6ÚÁéÁ€øÁõ€¥ €þ€óÂ@~€± Ân%Â@À)ÂÀ´-€d1Â@°4Â@…7Â@(:Â@™<ÂÀË>ÂÀ¿@ÂÀšBÂÀCDÂÀºEÂ@ GÂ@H€8IÂ@,JÂ@ KÂèKÂÀÂL€„MÂÀ9N€âNÂÀeOÂÀûOÂ@lPÂ@éPÂ`QÂ@ÊQÂ@.R€±R€.SÂÀSÂÑSÂ5T€sTÂ@¸TÂÀöTÂÀAUÂÀsUÂÀ¾UÂ@V€NVÂÀ†VÂÀŸVÂÀÑVÂñVÂ@WÂÀ5WÂUWÂ@tW€¬WÂÀ²WÂÀäW€XÂ6XÂXšXÂÀÅXÂÀÞXÂÀ÷XÂYÂ@6YÂ@hY”Y€¹YÂÆYÂ@ÌYÂÀñYÂÀ ZÂÀ{€Q{ÂÀp{€ƒ{Â@–{ÂÀ»{ÂÀÔ{€ç{ |ÂÀ|€2|ÂÀ8|ÂÀj|ÂÀƒ|€–|Â@Â|€È|ÂÀç|€}Â@&}Â9}Â@X}€w}Â@Š}Â@£}€©}€©}ÂÀÈ}Â@Õ}€Û}ÂÀú}Â@ ~Â3~ÂL~ÂÀw~Â~~Â@k~ÂÀ~ÂÀ©~Â@¶~Â@Ï~ÂÀô~ÂÀ ÂÀ Â@Â@3€R€R€kÂx‘ÂÀ£€¶Â@°ÂÜÂ@âÂà€Â€€Âà€Âà€Â€,€Â /€ÂÀ2€Â <€ÂÀK€ÂàN€Â@X€Âk€Â@q€ÂÀ}€Â„€Â`€Â  €Â@£€Â ¬€Â`¿€Â Ò€Âàˀ ހ ހÂàä€Â ë€Â ÷€Â@€ Â`   )Â`<€? B OÂ`n Â`‡Â€ŠÂ šÂ` ÂÀ©Â°Â€¼ÂÀ ̠ØÂ ØÂâÂ@èÂà÷Â@‚  ‚Â@‚ #‚ 0‚ÂàB‚ I‚ U‚ b‚Â`h‚Â@e‚€k‚ {‚ ”‚  ‚ª‚€¶‚Âà¿‚Âà¿‚Â@ɂ ߂ ë‚Âàñ‚Âõ‚€ƒÂƒÂ`ƒÂ ƒÂ'ƒÂ'ƒÂ`0ƒÂ 6ƒÂ@FƒÂ€LƒÂ`bƒÂànƒÂ ƒÂ ŽƒÂ@‘ƒÂ šƒÂ¤ƒÂ §ƒÂ ³ƒÂ ÀƒÂÀσÂ`߃ åƒÂ€âƒÂ òƒÂ þƒÂ þƒÂ@„ „Â`„€„Â@'„ÂÀ3„Â`C„ÂàO„Â@Y„ b„Âl„Â`u„Âàh„Â`u„ ˆ„€‘„Âàš„Â`§„ ­„ ¡„€ª„ º„ÂÀÉ„ÂЄÂÀâ„ ì„ÂÀû„ ø„ ø„Âàþ„Âà…Â…Â… *…Âà0…Â@:… 7… C…ÂàI…Âf…Âf…Âf… i… i…Â@l…Â`o…Â`ˆ…Â@ž…€¤…Âà­…Â ´…ÂàÆ…ÂàÆ…Â À…ÂÊ…Â Í…Â`Ó…ÂÊ…Â`Ó…Â`ì… æ…Â`ì…Â`†ÂÀ†Â †Â`†Â€!†Â@†Â $†Â€!†Â.†Â€:†ÂÀ@†ÂàC†Â`P†Â`†Â€l†ÂÀr†Â@†Â@†Â |†Â ˆ†Â€ž†Â ¡†Â`´†ÂàÀ†Â Ó†Â Ó†Â à†Â@ã†Â à†Â ì†Âö†Â€‡Â€‡Â ‡Â€‡ÂÀ‡Âà ‡ÂÀ!‡Â@.‡Â`1‡Â€4‡Â 7‡Â 7‡Â`J‡Â€M‡Â`J‡Â P‡Â P‡Â ]‡Â i‡Âào‡Â v‡Â@y‡Âàˆ‡Â`•‡Â@«‡Âງ ´‡Â¾‡Â¾‡Â Á‡Â Í‡ÂÀЇÂàӇ ڇ æ‡Â`à‡Âð‡ÂÀé‡Âð‡ÂàˆÂ ˆÂ ˆÂ"ˆÂ@(ˆÂ 1ˆÂà7ˆÂ@AˆÂ`DˆÂTˆÂàPˆÂ`]ˆÂàiˆÂ`vˆÂ`vˆÂ |ˆÂ†ˆÂ ‰ˆÂ •ˆÂ ¢ˆÂà›ˆÂà›ˆÂ@¥ˆÂ »ˆÂÀ±ˆÂ »ˆÂ@¾ˆÂ`ÁˆÂÀʈÂшÂ@׈€݈€݈ÂêˆÂ`óˆÂ`óˆÂÀüˆÂ ‰Â ‰Â€‰Â ‰Â`%‰Â€(‰Â 8‰Â D‰ÂàJ‰ÂÀG‰Â Q‰Â`W‰Â ]‰Â j‰Âg‰Â j‰Â v‰Â€‰Â ƒ‰Â€‰Â`‰‰Â@†‰Â ‰Â`¢‰Â€¥‰Â€¥‰ÂஉÂ`»‰ÂÀĉ€¾‰ÂàljÂˉ ΉÂÀ݉Âä‰Âä‰Â@ê‰Â€ð‰Â ç‰Â ŠÂ  ŠÂÀŠÂÀŠÂŠÂ  ŠÂ  ŠÂ ŠÂ ŠÂà+ŠÂ 2ŠÂ@5ŠÂ/ŠÂ€;ŠÂ€;ŠÂ€;ŠÂàDŠÂ KŠÂ WŠÂ€mŠÂàvŠÂàvŠÂ@€ŠÂ@€ŠÂ }ŠÂ`ƒŠÂàŠÂ@™ŠÂਊ ¯ŠÂ ¯ŠÂਊÂਊÂ@²ŠÂ`µŠÂ ÈŠÂ ÈŠÂÅŠÂ`Ί€ъÂ@ˊ ԊÂÞŠÂ áŠÂ`çŠÂ íŠÂ`çŠÂ€êŠÂ íŠÂÀðŠÂ íŠÂ`‹Â€‹Â€‹Â ‹Â ‹Â‹Â`‹Â ‹Â€‹Â€‹Â@‹Â@‹Âà%‹Âà%‹Â`2‹Â)‹Â ‹Â ‹Â)‹Â ,‹Â)‹Âà>‹ÂB‹Â E‹Â E‹Â`K‹Â Q‹ÂÀT‹ÂàW‹Â ^‹ÂàW‹Â`d‹Â€g‹Â w‹Ât‹Â`d‹Âàp‹Â w‹Âàp‹ÂÀ†‹Â`}‹Â€€‹Â`}‹Â ƒ‹ÂÀ†‹ÂÀ†‹Â ‹Â ‹Â œ‹Âࢋ œ‹Âࢋ ©‹Â`¯‹Â໋ ‹Â໋ÂÀ¸‹Â`¯‹Â¿‹Â ‹Â`ȋ€ˋ ۋÂàí‹Â ç‹Â€ä‹Â ç‹ÂÀê‹ÂÀê‹ÂÀê‹Â ô‹Â`ú‹Â`ú‹ÂàŒÂàŒÂ ŒÂ ŒÂ€ŒÂ &ŒÂ &ŒÂ &ŒÂ &ŒÂ 2ŒÂ 2ŒÂ`,ŒÂ€/ŒÂ 2ŒÂ 2ŒÂà8ŒÂ<ŒÂÀ5ŒÂ`EŒÂ<ŒÂ ?ŒÂ`EŒÂ€HŒÂÀNŒÂ XŒÂ€aŒÂàjŒÂnŒÂ`wŒÂ`wŒÂ qŒÂ }ŒÂ }ŒÂàƒŒÂ ŠŒÂàƒŒÂ‡ŒÂ ŠŒÂ€“ŒÂàœŒÂ ŒÂ ŒÂ@¦ŒÂàœŒÂ –ŒÂ ŒÂ€¬ŒÂ€¬ŒÂ€¬ŒÂ€¬ŒÂ ¯ŒÂ@¿ŒÂ@¿ŒÂ ÈŒÂàΌ ՌÂàΌ Ռ Ռ ՌÂ@، áŒÂ€ÞŒÂëŒÂÀäŒÂ€÷ŒÂ ÂÂàÂÀýŒÂà   ÂÀ  ,ÂÀ/ÂÀ/ , ,Âà2Â`?ÂÀHÂOÂÀHÂÀH E E E E RÂ@n k kÂà}ÂÀzÂÂà}€Â`ŠÂÀ“Â`ŠÂ Â ÂÀ“Âà– „Â@‡Â€Â@ Â³Âà¯Âà¯Âà¯Â ¶ÂàÈÂÌ€¿ÂàÈÂàÈÂàÈ ÏÂ@ÒÂàá èÂ@ëÂ`î èÂ`îÂàá ôÂàúÂþ ô ôÂ@ŽÂ`ŽÂ ŽÂŽÂ  ŽÂ@ŽÂ &ŽÂà,ŽÂ 3ŽÂ 3ŽÂà,ŽÂ0ŽÂ`9ŽÂ ?ŽÂÀBŽÂ@OŽÂ€UŽÂ XŽÂ`RŽÂ XŽÂ`RŽÂ`RŽÂ`RŽÂbŽÂ XŽÂÀ[ŽÂ€UŽÂ XŽÂ eŽÂbŽÂà^ŽÂ€UŽÂ XŽÂbŽÂ@hŽÂ€nŽÂàwŽÂ{ŽÂ ~ŽÂ qŽÂ`kŽÂÀtŽÂ`„ŽÂ”ŽÂÀŽÂÀŽÂÀŽÂ€‡ŽÂÀŽÂÀŽÂ —ŽÂ —ŽÂ —ŽÂ€ ŽÂ £ŽÂ £ŽÂ੎ÂÀ¦ŽÂ€ ŽÂ °ŽÂ@³ŽÂ­ŽÂ@³ŽÂ ¼ŽÂ@ÌŽÂ`ÏŽÂ@̎€Ҏ€ҎÂߎÂàÛŽÂàÛŽÂ âŽÂ@åŽÂ`èŽÂ îŽÂÀñŽÂ`ÂÀ Â`€ÂøŽÂøŽÂ ûŽÂ` Â`  Âà&ÂÀ# Â@Â@    -ÂÀ#ÂÀ# - 9Âà?ÂÀ< F FÂC FÂCÂà? FÂÀ< F€OÂ\ _Â@bÂ`e€hÂ@bÂ\ _ÂàXÂ\Â@b _Â@b RÂ@b k€h xÂ`~€ „ÂàŠÂàŠÂŽÂàŠÂ „ „ÂàŠÂ`—ÂÀ ÂÀ Â€šÂ Â ÂÀ Âà£Â Â€šÂ€šÂ€šÂ Â€šÂÀ Â§Âà£Â€³Â ªÂ`°Â€³Â ¶Â€³Â@­Â@­Â€³Â ¶Â ¶Â ¶Â€³Âà¼ÂÀ¹ÂÀÂ`ÉÂ`ÉÂ@ÆÂ`ÉÂ`É ÏÂ`ɀ̀å èÂàÕÂÀÒÂÀë€å èÂ`â Ü€ÌÂ`â õ õÂ`ûÂÀëÂ@ß ÜÂàî õÂÙÂàîÂàî ÂàÂÀÂà  ÂÀÂàÂ`ÂÀÂà  'ÂÀÂà  'Â`-Â`-Â`- 3ÂÀ6ÂÀ6Âà9 @ @ @ @ @Â@CÂ@CÂàR Y eÂ`_ÂV LÂÀOÂ@\ eÂ@\ e eÂ`_Â`_ YÂ@\€bÂàk€{Â`x rÂoÂ`x rÂo rÂoÂ@u€{ ~€{€{ ‹Â`‘ÂÀšÂ —ÂàÂࠤ ¤ÂàÂà — ¤Â ¤Âà€”¡ ¤Â`ªÂ °ÂºÂà¶Âà¶Âà¶Â ½Â@À ½Â€ÆÂ€ÆÂ@À€ÆÂ ÉÂÀÌÂÓÂ@ÙÂ`Ü â âÂÀåÂÀåÂàè âÂ`Ü Ö âÂàèÂàè ï ïÂ@ò ïÂìÂàèÂÀåÂÀåÂÀå û€øÂ`õ€øÂ@òÂ`õ û ‘ ‘Â@ ‘ ‘Â`‘€‘ÂÀ‘€‘Âà‘‘ !‘ !‘Âà‘ ‘ ‘Âà‘ !‘ÂÀ0‘Â@=‘Â@=‘Â7‘Âà3‘Â7‘ -‘ -‘Âà3‘Âà3‘ :‘Â`@‘ F‘ÂàL‘ÂÀI‘ F‘ S‘Â`Y‘Âàe‘ÂÀb‘ l‘ l‘Âàe‘Âàe‘Âàe‘Âàe‘Âàe‘ÂÀb‘ÂÀb‘ _‘Â`Y‘Âàe‘ x‘ÂÀ{‘€u‘ x‘Â`‹‘ …‘ …‘Âà~‘Â`‹‘ ‘‘Â@ˆ‘ …‘Â€Ž‘Â ‘‘Âà—‘Â ž‘ ‘‘ ‘‘Â€Ž‘Â`‹‘Â€Ž‘Â›‘Âà—‘ÂÀ”‘Â@¡‘ ž‘Â@¡‘Â@¡‘Â`¤‘ ž‘Âà—‘Â›‘Â`¤‘€§‘Â@¡‘Â@¡‘Â`¤‘€§‘ ·‘Â@º‘€À‘€À‘ÂÀƑ ÑÂÀÆ‘ÂÍ‘ÂÀÆ‘Â@º‘ ÑÂ@º‘ Ñ ·‘Â`½‘Â@º‘ Ñ ÑÂ@º‘Â`½‘´‘Âà°‘Â`½‘ÂÀƑ БÂÀÆ‘ÂàÉ‘ÂÍ‘Â@Ó‘Â@Ó‘Â`֑ ܑ ܑ€ò‘Âàâ‘Âàâ‘ÂÀß‘Â@ì‘Â`ï‘€ò‘Âàû‘ õ‘ÂÀø‘ õ‘Âÿ‘ õ‘ õ‘€ò‘ õ‘Âÿ‘ ’ ’Âÿ‘ õ‘Âàû‘ÂÀø‘Âàû‘Âàû‘ÂÀø‘ ’Âÿ‘ÂÀø‘Âàû‘Âàû‘ ’ ’Âà’Â@’€$’ '’€$’ '’Â1’Âà-’€=’ 4’Â1’Âà-’ '’ '’ÂÀ*’Â`:’Â@7’Â`:’Â1’ÂÀ*’ÂÀ*’ 4’Â`:’Â`:’ÂàF’ÂJ’ÂÀ\’Â`l’€o’ f’Âc’ f’Âà_’Âc’Âà_’ f’ f’ f’ r’€o’Â@i’Âà_’ f’€o’€o’ f’ f’Â`l’Â`l’Âàx’€o’ f’ f’Â`l’ÂÀu’Â`l’€o’€o’ r’Âàx’ ’Â@‚’ r’Âàx’ ’ r’ r’Â`l’ÂÀu’Â@‚’Âàx’Âàx’ r’Â|’Â|’Âà‘’Â ‹’Âà‘’Â ˜’Âà‘’Â€ˆ’Âà‘’Â`ž’€¡’Â`ž’Â`ž’Â`ž’ ˜’•’•’Â@›’ ˜’€¡’ ¤’Â઒ÂÀ§’ÂÀ§’Â`ž’€¡’ ˜’Â@›’€¡’ÂÀ§’ÂÀ§’Â`·’Â઒Â઒Â`·’Â@´’Â@´’Â઒Â઒ ¤’®’ ±’®’ ¤’ÂÀ§’ÂÀ§’®’ ±’Â`·’Â`·’€º’Â@´’ÂÀÀ’ÂàÃ’Â`В€ӒÂ`Ð’ÂÀْ ֒Â`é’€Ӓ ֒ ʒÂ`В€ӒÂ`Ð’ÂÀÙ’Âàܒ ֒ÂÀْ ֒Âà’ÂÀÙ’Â ã’ÂàÜ’Â`é’Â@æ’ ã’Âà’ ֒ÂàÜ’Âà’ÂàÜ’Â ã’ ã’ÂàÜ’Âàܒ ï’Â`é’Âàõ’Âàõ’€ì’Â`é’ ï’ ï’Âàõ’ ï’Âàõ’Âàõ’ ü’Âàõ’Âù’ “ “€“Â`“Â`“ “Â`“Â`“Â`“ ü’ÂÀ “ ““Â@ÿ’€“Â`“Â`“Â`“Â`“€“€“ “ÂÀ ““ “Â`““€“Â@“ÂÀ$“ .“Â`4“ !“ .“Âà'“Âà'“ !“ÂÀ$“ÂÀ$“Âà'“ .“Â`4“Â`4“€7“ :“ :“ .“Â@“Â`““€“Âà'“Â`4“ .“ .“ .“Â`4“Â`4“ :“Â`M“€P“Â`M“ S“ S“ÂàY“ `“ÂàY“ÂàY“Â@c“ `“Â]“ÂÀV“ S“€P“Âà@“ÂD“ S“ `“Â@c“€P“ÂàY“ÂàY“Â@c“ l“Âv“ÂÀo“ÂÀo“ l“Âàr“ y“Â@|“Âàr“Â`“ÂÀo“Âv“Âàr“Âàr“ y“Â`“ÂÀˆ“ …“Â`“Âà‹“Â …“Â`“ …“Â`“Âà‹“Âà‹“Â€‚“ÂÀˆ“Â@•“€›“Â`˜“Â@•“““ …“Âà‹“Âà‹“Âà‹“Âà‹“Â ’“ ’“€›“¨“Â@®“ «“ «“ ž“¨“¨“ÂÀ¡“Â`±“ÂÁ“ ēÂན ·“ ·“ ·“ ·“ ·“ÂÁ“Âན ·“€´“ ·“ÂནÂ`ʓ ēÂན ·“ÂÁ“ÂÁ“ÂÁ“Âན ēÂÀӓ ГÂ`Ê“Â`Ê“ÂÁ“ ēÂ`ʓ ēÂནÂན ē€͓ÂàÖ“Â`ʓ Г ГÂÚ“Â`ã“Â@à“€͓€͓ Г€͓ Г Г€͓Â`ʓ Г Г€͓Â`Ê“Âà֓ ГÂÀÓ“ÂÀÓ“ÂàÖ“ÂÚ“Âړ ГÂàÖ“ÂàÖ“Âà֓ Г ēÂàÖ“ÂÚ“ÂÀÓ“ÂàÖ“ÂÀÓ“Âà֓ Г ēÂÀº“ÂÁ“ Г€͓€͓€͓ ГÂ@Ǔ Г€͓Âà֓ ГÂÀÓ“Âà֓€͓€͓ÂÀÓ“ÂàÖ“Â Ý“Â`㓀擀æ“Â`ã“ ݓÂ@à“ ݓ€æ“ é“ é“Â`ã“ÂàÖ“ÂÀӓ€͓ÂàÖ“ÂÚ“Â@à“Â@à“ÂàÖ“ÂÚ“ÂÀÓ“ÂÚ“ÂàÖ“ÂàÖ“Â`ã“Â`ã“ é“Â`ã“Â`ã“ ݓ€æ“ é“Â`ã“ ݓ€æ“ ݓ ݓ€æ“Â`ã“ÂàÖ“Â`ã“Âà֓ ГÂ`Ê“ÂÀÓ“Âړ é“ é“ÂÀ쓀擠铀擠é“Âàï“Âó“Âàï“ é“€µ— I¶ÂÀîÍÂà)ÍÂ`-ÂÂ`ߵ õªÂ@ ¢Â þšÂÀc•ÂÀäŒÂ€TÂ@âÂ@”Â@[ €9ÿÁžÏÁØ‹ÁÒ¾ÀÁA€ÝÓA€)B€ YB€1xBÀe„B݆B@ï„B@ €B€nrB€jbB€ïPBÀ?B€J-B@FB# B2úAÞA€‚ÅA€¨®A€©™A†A¤gAEAØ$AfAèË@0Ž@Ð@á>€Ô¿ìtÀh¿ÀâÁ$ÁƒGÁüiÁ.†Á€8—Á€Ò§ÁG¸ÁÈÈÁ³ØÁ€-èÁ€÷ÁÀ£ÂN ÂÀ ÂÀ•Â@€ Â@Å$ )ÂÀ-Â@¯0ÂÀô3Â7ÂÀé9Â@€<ÂÀË>Âø@ÂÀÌBÂÀuDÂÀìEÂ8GÂ@jHÂwIÂ@wJÂ@qKÂ@RLÂ@M€ÏMÂÀkNÂOÂ@¤OÂÀFPÂ@ÐPÂ@fQÂÝQÂÀ:R€±RÂÀSÂ@sSÂÑSÂÀTÂÀGT™TÂ@êT€;UÂÀŒUÂÅUÂ@ýUÂÀ;V€€VÂ@¬VÂÀêVÂÀWÂ@BWÂÀgWÂÀ™WÂÀ²WÂ@ØWÂëWÂXÂÀ/XÂÀaXÂ@‡XÂÀ¬XÂÀÞX€ YÂÀ)YÂIYÂ@OY€‡YÂÀ¦YÂÀñYÂ@ZÂ*ZÂ@IZ€hZÂ@{Z€šZÂÀZÂÀÒZÂ@øZÂ@[ÂÀ[€I[Â@\[Â@u[¡[ÂÓ[Â@Ù[ÂÀå[Â@ \ÂÀ0\ÂÀb\Âi\€u\Â@ˆ\Â@º\ÂÀß\€ ]€$]Â1]Â@7]ÂJ]€o]Â@‚]Â@›]ÂÀÀ]ÂÀò]€^Â]^ÂÀo^ÂÀˆ^ÂÀ¡^ÂÁ^Â@à^ÂÀì^Â@+_Â@]_ÂÀ‚_¢_€®_ÂÀÍ_Âí_Â@%`ÂÀ1`ÂÀc`Â@p`ƒ`Â@»`€Ú`Â@aÂ@aÂ@aÂKaÂ@ja–aÂÀ¨aÂÀÁaÂ@ÎaÂ@bÂEbÂÀ‰bÂÀ‰bÂÀ»b€Îb€çbÂ@úb€cÂÀ8cÂÀjcÂÀœc£cÂÀÎcÂîcÂ@ dÂ9dÂÀKdÂkd€wdÂ@£dÂÀ¯dÂÏdÂeÂÀ,e€XeÂÀwe€ŠeÂ@eÂÉeÂÀôeÂ@fÂ@3fÂÀXfÂ@~fÂ@—fÂÀ¼fÂÀîfÂÀgÂ@-gÂ@g€eg¤gÂ@Ãg€Ég€âgÂh€-hÂÀ3h€FhÂÀehÂÀ—hÂ@½hÂÀâh€'iÂÀFiÂMiÂ@liÂ@ži€½iÂ@éiÂÀõiÂÀjÂÀ@jÂ@fj«jÂ@Êj€kÂÀ!kÂÀ!kÂAkÂZkÂÀ…kÂÀ·kÂ×kÂ@ökÂÀlÂ@(lÂÀMlÂ@ZlÂ@ZlÂÀlÂ@¥l€ÄlÂêl€(mÂ5mÂ@;m€ZmÂ@ŸmÂ@¸mÂämÂämÂÀnÂ@5n€;nÂ@5nÂÀsn€†n¬nÂ@ËnÂÀðnÂ@oÂ@/o€NoÂo€™o¦o€ËoÂØoÂ@÷oÂ@÷o€/pÂ@BpÂnpÂÀ™pÂ@¿pÂÒp€÷pÂ@ qÂÀ/qÂ@Uq€tqšqÂÀÅq€ñqÂ@rÂ@rÂ0rÂ@OrÂ{r”r­rÂ@ÌrÂ@årÂÀ sÂ*sÂ@IsÂ@bsÂÀ sÂÀsÂÀësÂ@tÂ@CtÂÀOtÂVtÂ@utˆt€”tÂ@ÀtÂÓtÂ@Ùt€øtÂ@$uÂ@VuÂ@ou‚uÂ@ˆuÂ@¡uÂÀÆuÂ@ìu€$vÂ@7vÂÀ\vÂcv•v®vÂ@ÍvÂ@ÍvÂÀòvÂwÂ@1wÂ]w€‚wÂ@®wÂ@ÇwÂów xÂ@+xÂ>xÂÀ7xÂWxÂÀix‰x‰x€®xÂÔxÂ@óxÂyÂyÂÀyÂÀ1yÂÀJyÂÀcy€vy€yÂÀ®yµyÂ@ÔyÂzÂ2zÂÀ]zÂÀvzÂ}zÂ@ƒzÂ}z€¢zÂ@œz€»zÂ@çzÂúzÂÀ%{Â@2{Â@K{ÂÀW{Â@}{€œ{©{Â@È{Â@á{Â@á{ |€2|Â@E|ÂÀj|Â@w|Â@|Â@©|ÂÀµ|¼|€á|ÂÀç|ÂÀ}Â@&}ÂÀ}ÂÀ2}ÂÀK}Âk}ÂÀ}}ÂÀ–}Â@¼}ÂÀá}ÂÀá}€ô}€ ~Â~Â3~€X~Â@k~Â@„~€£~°~ÂÀÂ~Â@è~Â@è~€€Â@3ÂFÂ@eÂ_ÂxÂ@—ªÂÀ¼Â@âÂõÂ@ €Â €Â /€Âà5€Â <€Â H€Â`[€Âàg€Â`t€Â€€Â`€Â “€Âà™€Â€©€ÂàË€Â@Õ€ÂÀá€Â`؀€ۀ ހ ë€Â €  )€? BÂàHÂÀEÂàH€XÂ`U [Âàa t€ŠÂÀ šÂ€£Â ³Â€¼Â`¹Â`¹Â ÌÂ`ÒÂâ ñÂ@‚ ‚ #‚€ ‚Â-‚ÂàB‚ <‚ I‚ÂÀX‚Âà[‚ÂÀX‚€k‚Âàt‚€„‚ ”‚  ‚ª‚€¶‚Â`³‚Â࿂€ςÂ܂ ë‚€ƒÂ€ƒÂ€ƒÂ@ƒÂ€3ƒÂ`0ƒÂ€3ƒÂÀ9ƒÂÀ9ƒÂ`IƒÂ \ƒÂ hƒÂ@xƒÂ`{ƒÂ ŽƒÂ §ƒÂ`­ƒÂࠃ€°ƒÂ`ƃÂ@à̃Âփ ̃Â`߃Â`߃ÂÀèƒÂ òƒÂà„Â`„Â!„ $„Â`*„Â:„Â`C„Â@Y„€_„Âàh„ o„Â`u„Â`u„Â`u„Â…„ÂÀ—„Âàš„Â€ª„Â@½„Â@½„Â@Ö„Â`ل ӄ€܄Â@ï„Âàþ„ÂÀû„ … …Â@!… …Â`$…ÂÀ-…Â@:…€@…Â@S…Âf… i… i… u…Â…€‹…Â`ˆ…Â@……Â Ž…Â §…€½…Âʅ م ͅ€օÂàß…Â æ… æ…Â@é… ÿ…€†ÂÀ†Â`†Âà*†ÂàC†Â@M†Â@M†Â V†ÂÀY†Â€S†Â`†Â@f†Â o†Ây†Â`‚†Â ˆ†Â’†Â ¡†Â ®†Â ®†Â º†Â@ʆÂĆ dž ӆÂÀÖ†ÂÀÖ†Â`͆€é†Â€‡Â ‡ÂÀ‡Â ‡Âà$‡Â +‡Â 7‡ÂÀ:‡ÂA‡Â D‡Â€M‡Â P‡Â ]‡Â ]‡Â€f‡Â€‡ÂŒ‡ÂŒ‡Â ‡ÂÀž‡Â€±‡Â ´‡Â ´‡Â€±‡Â ´‡Â€±‡ÂÀ·‡Â Á‡Â Í‡Â ڇ æ‡Â`ù‡ÂàˆÂ€ˆÂ ˆÂàˆÂ ˆÂ€.ˆÂ€.ˆÂ€.ˆÂ >ˆÂ€GˆÂ WˆÂ cˆÂÀfˆÂ pˆÂ`vˆÂàiˆÂ€yˆÂ@ŒˆÂ •ˆÂ •ˆÂÀ˜ˆÂ ¢ˆÂ ¢ˆÂ€«ˆÂà´ˆÂ@¾ˆÂ@¾ˆÂ »ˆÂ`ÁˆÂ@¾ˆÂ€ÄˆÂ`ÚˆÂ`ڈ àˆÂ íˆÂ@ðˆÂàÿˆÂàÿˆÂ@ ‰Â ‰Â ‰Â`%‰Â‰Â ‰Âà‰Âà‰Â‰Â€(‰Âà1‰Â@;‰Â 8‰ÂàJ‰ÂàJ‰Â Q‰Â Q‰ÂN‰Â ]‰Â ]‰ÂÀy‰Â€‰Â`‰‰Âà•‰Â ‰Â`¢‰Â`¢‰Â€¥‰ÂÀ«‰Â µ‰Â€¾‰ÂÀĉÂÀĉ Ή ΉÂÀĉÂˉÂ`ԉ€׉Âàà‰ÂÀ݉€ð‰ÂÀö‰Â`ŠÂ€ ŠÂ`ŠÂàù‰Âý‰Â  ŠÂàŠÂŠÂ@ŠÂ`ŠÂ %ŠÂÀ(ŠÂ 2ŠÂà+ŠÂ@5ŠÂ`8ŠÂàDŠÂ KŠÂ`QŠÂ€TŠÂà]ŠÂ€TŠÂ WŠÂà]ŠÂ dŠÂ€mŠÂ€mŠÂÀsŠÂ pŠÂ@€ŠÂ@€ŠÂ€†ŠÂ@€ŠÂ }ŠÂàŠÂ`œŠÂ ¢ŠÂ¬ŠÂ`µŠÂ ÈŠÂ`Ί ȊÂ@ˊ ԊÂÀ׊ÂÀ׊ áŠÂ áŠÂ`çŠÂ@äŠÂ€êŠÂ íŠÂ`‹Âà ‹Â ‹Â@ýŠÂ€‹Â ‹Â€‹Â`‹ÂÀ"‹Â ‹Âà%‹ÂÀ"‹Âà%‹Âà%‹Â ‹Â ,‹Â ,‹Â€5‹Âà>‹Â@H‹Â Q‹Â€N‹ÂÀT‹Â@a‹Â j‹ÂÀm‹ÂÀm‹Â j‹ÂÀm‹Ât‹Â`}‹Â€€‹Â ‹Â@“‹ÂÀŸ‹Â œ‹Â ©‹Â€²‹Â µ‹Â໋ ‹€ˋÂ`È‹Â@ŋ ΋Âàԋ ΋ ۋÂ@Þ‹Â`á‹Âàí‹Â@÷‹Âñ‹Âñ‹Â ŒÂ ŒÂ`ŒÂ`ŒÂ€ŒÂ`ŒÂ ŒÂ`ŒÂ#ŒÂ`,ŒÂ€/ŒÂ€/ŒÂ<ŒÂ ?ŒÂ`EŒÂ KŒÂ XŒÂ@[ŒÂ XŒÂ XŒÂ XŒÂ`^ŒÂàjŒÂàjŒÂnŒÂ@tŒÂ@tŒÂ@tŒÂ€zŒÂ€zŒÂ`wŒÂ ŠŒÂ ŠŒÂ€“ŒÂ ŠŒÂ ŠŒÂ@ŒÂ –ŒÂ –ŒÂàœŒÂàœŒÂ £ŒÂ ¯ŒÂ€¬ŒÂ ¯ŒÂ ¼ŒÂ`Œ ȌÂÀËŒÂÀˌ ՌÂÒŒÂàçŒÂ@ñŒÂ`ôŒÂ€÷ŒÂ úŒÂ@ñŒÂ úŒÂà€Â@  Â   Â Â`&  , 9ÂÀH E RÂOÂ@UÂàdÂàd k kÂ`q k€t wÂà}Âà}Âà}Âà}Â`ŠÂ€Â Â Âà–Âà–Âà–€¦Â`£Â`£Â ©Â ¶Â ¶Â³Â@¹Â ¶Â€¿Â`¼Â€¿Â ÂÂàÈÂàá èÂ`î ôÂàúÂàúÂ@ë ôÂÀ÷ÂÀ÷€ ŽÂ€ ŽÂàŽÂ€ ŽÂŽÂ &ŽÂ &ŽÂ 3ŽÂ0ŽÂ0ŽÂ 3ŽÂ`9ŽÂà,ŽÂ ?ŽÂ LŽÂ LŽÂ LŽÂ€UŽÂ€nŽÂ XŽÂÀ[ŽÂ@hŽÂ€nŽÂ`kŽÂ€nŽÂ@hŽÂ€nŽÂ qŽÂ`„ŽÂ`„ŽÂ”ŽÂÀŽÂÀŽÂàŽÂ —ŽÂ —ŽÂ@šŽÂÀ¦ŽÂ £ŽÂ`ŽÂ`ŽÂ੎ °ŽÂ °ŽÂ °ŽÂ ¼ŽÂ@³ŽÂ@³ŽÂ Ɏ€Ҏ âŽÂ`èŽÂ`èŽÂ îŽÂ âŽÂ âŽÂ âŽÂ@åŽÂ`èŽÂ€ëŽÂ îŽÂàôŽÂ@þŽÂÀñŽÂøŽÂ ûŽÂ€ÂÀ Âà Âà €€  Â`Â*Â*Â@0  Âà&Â*Â`3 9Â`3 9ÂÀ< F€OÂÀU _Â`e€h kÂ`eÂÀn€hÂàqÂ`~ „€ xÂ`~ÂàŠÂ ‘ÂàŠÂ`— ªÂ§Â€šÂ ªÂÀ Âà£Â Â€šÂ ªÂ`°Â€³Âà¼ÂÀÂà¼ÂÀÂ`ÉÂ`É€ÌÂÙ ÜÂ@ßÂ`âÂ@ßÂ`âÂ@ß èÂ`â ÜÂÀë õÂàîÂÀë õÂÀÂÀÂ`ûÂ@øÂ€þÂ@ Â$ 3€0€0 'Â`-Âà ÂÀ 'Â@*€0Â`-Â`-Â`-€0Â`-ÂÀ6Â`F€IÂ@C€IÂ`F€IÂàRÂVÂ@\ÂàR eÂÀhÂàkÂ`x€{Â`xÂ`x€{ ‹ÂˆÂ ~€{€{ ~ ‹Â@ŽÂ ‹Â ‹Â€”ÂàÂ@§Â`ªÂ`ªÂ ¤Â@§Â °ÂÀ³ÂÀ³Â °Â °ÂºÂ`ÀÆÂ`ÃÂ`ÃÂ`úÂ@ÀÂàÏ€ßÂìÂìÂÀå€ßÂ@òÂìÂìÂàèÂ`ÜÂàèÂì ïÂàè€øÂà‘Âà‘Âà‘Â@ ‘ ‘ ‘ ‘Âà‘Âà‘Âà‘Âà‘Âà‘€‘Â`‘Â@ ‘ ‘Â@ ‘ !‘Â7‘ -‘€*‘€*‘€*‘ -‘ÂÀ0‘Âà3‘ :‘Â7‘ -‘Âà3‘Â7‘Â`@‘ÂÀI‘ÂÀI‘ F‘ÂP‘ÂàL‘ÂàL‘Â`@‘ :‘Âà3‘Â7‘ :‘Â@=‘ F‘ÂàL‘ S‘ÂÀb‘Âàe‘ _‘ÂÀb‘ÂÀb‘ÂÀb‘ l‘Â@o‘Âi‘Âi‘ l‘Â@o‘Âàe‘ÂÀb‘€u‘ÂÀ{‘ x‘Â`‹‘ …‘Â@ˆ‘Â€Ž‘Â …‘ …‘ ‘‘›‘Âà—‘Â ‘‘Â@¡‘€§‘€§‘Â`¤‘Âà—‘Âà—‘Â ž‘ÂÀ”‘Âà—‘Â@¡‘Âà°‘Âà°‘Â ·‘´‘Â@º‘Â@º‘ ·‘€À‘ÂÀƑ БÂ@Ó‘Â`֑€ّ ܑ ܑÂ`Ö‘Â`Ö‘Â`Ö‘Â é‘Â@ì‘Âàâ‘Âàâ‘ÂÀߑ é‘€ò‘€ò‘Â`ï‘Â@ì‘Âæ‘Âæ‘ é‘Â`ï‘ é‘ õ‘Âàû‘ ’Â`’Â`’Â`’Â@’ÂÀ’ ’ ’Â’ ’Â’ ’Â@’Âàû‘ ’Âÿ‘€ ’Â`’ ’Â’Â’€$’ '’Â`!’ ’ ’Âà’ ’Âà’ ’ÂÀ*’ 4’Â`:’Â`:’ÂJ’ M’ M’ M’ M’ÂJ’Â@P’ÂÀ\’Âà_’€V’ M’€V’ Y’Âc’Âc’Â@i’Â`l’ÂÀu’ r’Âàx’€o’Âàx’Â|’€ˆ’€ˆ’•’ ‹’ ’ÂÀŽ’Â ‹’ÂÀŽ’ÂÀŽ’Â@›’Â@›’Â`ž’Â`ž’ÂÀ§’ ¤’ ˜’ ˜’ ¤’ ¤’Â઒Â઒Â઒ÂÀ§’ÂÀ§’Â`ž’ ˜’ÂÀ§’ ±’Â@´’€º’€º’€º’Â`·’ÂÀÀ’Â`Ð’Â`Ð’ÂÀÙ’ÂàÃ’ÂÇ’ÂàÃ’Â`Ð’Â@͒ ֒ÂÀÙ’Âà’Âà’ ã’Â@æ’ÂàÜ’ÂÀÙ’Â@æ’Â`é’Â`é’€ì’Â@æ’Âàܒ ֒ÂàÜ’ÂàÜ’Âà’ÂàÜ’ÂàÜ’Â ã’ ֒ ֒ ã’Âà’Â`钀쒠ã’Â`é’ ï’Â`é’Â`é’Â`é’Â`é’ ã’ ã’Â`钀쒀쒠ã’ÂÀْ ֒ ֒ ֒ ã’ÂÀÙ’Â@æ’ÂàÜ’Âà’Â`é’ ã’Â@æ’ ã’ ֒ ֒€Ӓ ֒ ã’Â`é’Â@æ’ ã’Â`é’Âà’ ֒ ֒ ֒Â@Í’ÂÀÙ’ÂàÜ’Âà’ ã’Âà’ ã’ ã’Â@æ’Âàõ’Âàõ’ÂÀò’ ï’Â@撀쒠ì’Â`é’ ã’Â`é’ ï’ ï’Â`é’ ï’Â`é’ ï’Âàõ’Âàõ’ ï’€ì’€ì’€ì’€ì’ ã’Â@æ’Âà’Âà’ ã’€ì’€ì’ ï’Â@ÿ’Â@ÿ’€“Â`“Âù’Â`“ “ÂÀ “€““ “ “ “Â`“Â`“€“€“€“ÂÀ “Âà“ “ ü’Â`“Â`“Â`“ “ “€“Â@ÿ’€“€“ ““ “ “ “ÂÀ “ “Â`“€“Âà“Âà“Âà““Â`“€“ÂÀ$“€“ !“ “Â@“Â`“ÂÀ$“ !“Â`“ “ÂÀ “Âà“Â@“ !“Âà'“ !“ÂÀ$“ .“ .“Â`4“Â`4“Â@1“€7“Â`4“ .“ÂÀ=“€7“ :“Âà@“Âà@“ :“ .“Â@1“ :“ G“€P“€P“ G“Â@J“ÂD“€7“ :“ :“Â`M“ G“Â`M“Â`M“Â@J“Â`M“ÂD“Â`M“ G“Â`M“ S“ G“ÂàY“ÂàY“Â`f“ l“Â@c“€i“ l“ l“€i“ S“Â`M“€P“Â`M“Â`M“ÂàY“Â]“ `“ `“Â`f“Â`f“Â@c“Â`f“Âàr“ l“ÂÀo“€i“Âàr“ l“Âàr“Âàr“Âv“ l“ÂÀo“€i“ÂÀo“ y“ y“ l“ÂÀo“Â`“Â@|“€‚“Âà‹“Â y“ y“ y“Âà‹“Â ’“ ’“ ’““ …“Â`“ÂÀˆ““Â`˜“Â@•“ ž“€›“Â@•“ ’““Âà‹“Âà‹“ÂÀˆ“ …“““ ’“€‚“€‚“ …“Âà‹“Âà‹“Âà‹“Â€›“Â`˜“ ’“Â@•“ ž“€›“Â@®“Â`±“ «“Âओ «“Âओ€›“ ž“ ž“€›“ ž“ÂÀ¡“ ž“ ž“ ž“ ž“ÂÀ¡“ ž“¨“ «“ «“Â`±“Âན€´“ ·“€´“€´“Â@®“Â@®“€´“ÂÀº“ ·“Âན€´“ «“ ·“ÂÁ“ÂནÂན ēÂ@Ç“ÂÀÓ“Â@Ǔ ГÂà֓ ГÂàÖ“ÂàÖ“Â`ã“ é“Â`㓀擠ݓ Г ГÂà֓ Г ݓÂà֓ Г ГÂÀÓ“Â@à“ ݓ ݓ€æ“€æ“ é“Âó“ÂÀì“Âó“ ö“ ö“ ö“ ö“ é“ é“€æ“Â`ã“ ö“Â`ü“€ÿ“ÂÀ”ÂÀ”Â`ü“ ”€ÿ“Âà”€ÿ“Â`ü“€ÿ“ ”Â@ù“€ÿ“ ö“Âàï“ ”Â`ü“Âà” ” ”Â`”Â@”Â`”Â`”ÂÀ” ”Âà!”€” ” ” ” ” ”Âà” ” ”€ÿ“ ö“Â`ü“ ” ” ”Â`” ”Â`” ”Â`” ” ”Â%” ”€”ÂÀ” ”ÂÀ”€”ÂÀ”€”Â`” ”Âà!”ÂÀ” (”Â@+”Â`.”Â@+”Âà!”Âà!”Â`.” (”Â%”ÂÀ”Â`.” (”Âà!”ÂÀ” ”Â%”ÂÀ” (” 4”Â>”ÂÀ7” 4” 4” A”Â@D” 4”Âà:” 4”ÂÀ7” 4”Â@+”Â@+”€1” A”€1”Â`.”Â@+”€1”ÂÀ7”Â`.”€1”€1”Âà:” A” A” M” A” A” A” A” A”Â@D”Â`G”Â`G”€J”Â>” A”Â`G” A” A”Âà:”ÂÀ7” A”€J” M” M”ÂÀP” M”ÂàS”ÂÀP”ÂàS” Z”ÂàS”ÂàS”Â`G” M” M” M”ÂÀP”ÂW”€J”ÂàS” Z”ÂàS” Z”€c”ÂÀi” s”Âp”Âàl”Âàl”Â`y” s”Âàl”Âàl”Â@v” s” ”Â`y” s”Â@v” ”Â@v”Âp”Âp”Âàl”Â@v” f”Âàl”Âàl” s” s”Âàl”Âp”Âp” s”€c”€c” f” f” f”ÂÀi” f”ÂÀi”€c” f” f”Âàl”Â@]”€c”Âàl” f”Âô—ÂÀ3¶ÂÀRΠÆÍÂàÏÂÂ@‹¶Âà‘«Â@Ÿ¢ÂÀŠ›Â ê•³ÂÀmVÂ@r‚Â@IÂ@ªÂøÙÁ€™ÁÁ8Ç@TºA€B€ïPBørB ø‚B€l†B`V…Bàý€B€uBÀweB€ZTBˆBBô0BÄB€B@ŠB€?åA€ ÌA€Ï´A«ŸAñ‹AusA«QAô0AºA&ã@n¥@¤N@¸¡?pF¿Ð6ÀÊžÀ^âÀ•Á°3ÁêSÁÙsÁ€"ŠÁ€¼šÁ€o«Á€×»Á€ ÌÁ€ßÛÁ(ëÁ€ úÁ@'Â@Ë ÂÂ@Â@‘¸!Â@n&€§*€¨.Â@?2ÂÀk5ÂÀ@8Âê:€N=ÂÀz?ÂÀUA€CÂÀuDÂóEÂQGÂ@ƒHÂ@–I€}JÂ@XKÂ@9LÂûLÂÀŠMÂ'NÂÀÏNÂSOÂÀÉO€@P€¤PÂ@QÂ@QÂÀïQ€MRÂ@«RÂ@öRÂ@ZS€ÄSÂ@ TÂ@TTÂ@ŸTÂ@êTÂ@UÂ@gU“UÂ@ËU€VÂÀTVÂV¿VÂ@ÞVÂ@WÂbÂÀWbÂÀWb€ƒb€œbÂ@¯bÂÛbÂ@úb cÂ?c€dc€–cÂÀœc¼cÂ@ôc dÂÀ2dÂÀddÂ@qdÂ@£dÂ@ÕdÂ@îd€ôdÂÀeÂLeÂ@ke—eÂÀÂe€îeÂf€ f€9fÂ@efÂÀŠf‘fÂ@ÉfÂ@âf€gÂ'g€egÂÀ„gÂÀ¶g€âg€ûgÂ@'hÂÀLhÂ@rh€‘h·h€ÃhÂ@ÖhÂ@iÂi€@iÂÀxiÂi±iÂãiÂ@jÂ@jÂGjÂ`jÂ@˜jÂ@±jÂÀÖjÂöjÂÀ!kÂ@`kÂÀ…kÂŒk¾kÂÀék€lÂÀlÂÀMlÂ@ZlÂÀflÂÀ˜lÂÀ±lÂÑlÂ@ mÂ@"mÂ@TmÂ@†mÂ@ŸmÂÀ«mÂ@ÑmÂÀöm€ nÂ@5nÂ@Nn€mnÂÀsn€ŸnÂÅnÂ@änÂ÷nÂoÂ)oÂBoÂÀmoÂÀ†oÂÀŸoÂ@ÅoÂÀÑo€ýoÂ@p€/pÂÀNpÂ@tp€“p pÂ@¿pÂÀäpÂq€Bq€[qÂ@nqÂÀzqÂ@‡qÂ@¹q€ØqÂÀ÷qÂrÂÀBrÂ@Or€nrÂÀrÂ@šrÂ@årÂÀ sÂ@0sÂ\sÂÀnsÂÀ‡sÂ@­sÂ@ßsÂÀtÂÀtÂ@*tÂ@*tÂÀOt€bt€”tÂ@§tÂ@ÀtÂ@ÙtÂÀþtÂuÂ@=uÂPu€\uÂ@ouÂ@ˆu€§uÂ@ºuÂæuÂÿuÂ@vÂ@PvÂÀuvÂ@‚v€¡vÂÀÙv€wÂ@wÂ@wÂ@1wÂ]w€‚wÂ@•w€´wÂ@ÇwÂÀìwÂÀxÂ@xÂ%xÂ@]xÂpxÂÀ‚xÂ@xÂÀ´x€Çx€ÇxÂÀæxÂ@ yÂ@>yÂ@>yÂÀ1yÂ@>yÂ@pyÂ@¢y€Áy€ÚyÂÀàyÂÀzÂ@zÂ@8zÂ@jz€Wz€pzÂÀzÂ@µz€»zÂ@çzÂÀóz€{Â@K{Â@d{ÂÀ‰{Â@–{©{ÂÀ»{€Î{€Î{Â@á{Â@ú{ÂÀ8|€d|Â@w|ÂÀœ|¼|ÂÕ|ÂÀç|ÂÀç|€á|Â}€}Â@?}Â@X}€^}Â@X}ÂÀd}Â@Š}ÂÀ¯}€Â}€ô}€&~Â@R~Â@R~Â@„~ÂÀ~Â@¶~ÂÀÂ~ÂÀô~ÂÀô~ÂÀô~Â@ÂÀ ÂFÂ@eÂ@~‘€¶ÂÀÕÂ@âÂõÂà€Â €Â €Âà€Â /€Â9€Â`B€Â U€ÂÀd€Â`t€Â@q€ÂÀ}€Â ‡€Â “€Â@£€Â`¦€Â€©€ÂಀÂÀȀ ҀÂàä€Â€ô€Â ÂÂÂ`# ) )Âà/Â`<ÂàHÂ@RÂeÂe€q t tÂ@„Âà“€£Â€£Â`¹Â€¼ÂàÅ ØÂ`ëÂ`ëÂà÷Â@‚€‚  ‚Â`‚Â@3‚ÂÀ?‚ U‚ÂÀX‚Â`h‚ b‚ b‚Â`h‚ n‚€„‚€„‚Âং ¹‚ÂÀ¼‚Â`Ì‚ÂàØ‚Â`傀肠ë‚Â@û‚ ƒÂà ƒÂ@ƒÂÀ ƒÂ *ƒÂà<ƒÂ CƒÂ`IƒÂàUƒÂ`bƒÂ uƒÂ ƒÂ€—ƒÂ šƒÂ`­ƒÂใ ³ƒÂใ ÀƒÂ ÌƒÂ@܃ ̃Âà҃€âƒÂàëƒÂ òƒÂÀ„€„ $„Â:„€F„ =„Â@@„ÂÀL„ V„ b„Â@r„ {„Â…„Â`Ž„Â`Ž„Â`Ž„Â@¤„ÂÀ°„ÂೄÂ`À„ ƄÂЄ ì„ ø„Âàþ„ … …Â`$…Â`$…Âà0…€@… C…€@…Â`=…ÂàI… \… \…€Y…Âf…€r… ‚…ÂÀ‘…Â@ž…Â`¡…±…€½… ͅÂàß…Â æ…ÂÀ܅€օÂ`ì…Âàø…Â ÿ…  †ÂÀ†Â †ÂÀ'†Â 1†Â€:†Â.†ÂÀ'†Â@4†Â.†Â =†Â J†Â`†Â`i†Â@†ÂàŽ†Â’†Â’†Â’†Â`›†Â€ž†Â ¡†Â«†Â€·†ÂÀ½†Â€Ð†Â à†Â݆ ì†Â ù†Â€‡Â ‡Âà ‡Â ‡Â 7‡Â 7‡Â€4‡Âà=‡Â D‡Â P‡Â P‡Â@`‡Âào‡Âào‡Â v‡Â ‚‡Â ‡Â ›‡Âࡇ€±‡Â ´‡Â ´‡Â¾‡Â@ć ͇Â`à‡Â`à‡Â æ‡Âàì‡Â@ö‡Â€ü‡Â ÿ‡Â€ˆÂ ˆÂ`ˆÂ ˆÂ€ˆÂ"ˆÂ 1ˆÂ >ˆÂ`DˆÂÀMˆÂ@ZˆÂ`]ˆÂ`]ˆÂmˆÂ@sˆÂ |ˆÂ€’ˆÂ ‰ˆÂ ‰ˆÂ ‰ˆÂ€’ˆÂŸˆÂ ®ˆÂ ®ˆÂ€«ˆÂÀ±ˆÂ ®ˆÂ¸ˆÂ`ÁˆÂ@¾ˆÂш àˆÂàæˆÂàÿˆÂ@ ‰Â ‰Â@ ‰Â€‰ÂÀ‰Â@"‰Â +‰Â 8‰Â@;‰Â Q‰ÂN‰Â@T‰Âàc‰Â€s‰Â v‰Â v‰Â€s‰Â`p‰Â`‰‰Â ‰Â`¢‰Â µ‰ÂஉÂ`»‰Â µ‰Â@¸‰Â@¸‰Â Á‰ÂàljÂàljÂ@щ ډ ó‰Â`í‰Â@ê‰Â ç‰Â€ð‰Â ç‰Âàà‰Â`í‰Â`í‰Â ó‰Âàù‰Â€ ŠÂ ŠÂ ŠÂ %ŠÂ ŠÂŠÂàŠÂÀŠÂÀŠÂ@ŠÂ€"ŠÂ %ŠÂà+ŠÂ 2ŠÂ >ŠÂHŠÂ`QŠÂÀZŠÂÀZŠÂ dŠÂ WŠÂ WŠÂ WŠÂà]ŠÂ@gŠÂ`jŠÂ`jŠÂaŠÂ`jŠÂaŠÂ`jŠÂ dŠÂ`jŠÂ dŠÂ dŠÂÀsŠÂ`jŠÂ dŠÂaŠÂà]ŠÂ`jŠÂ dŠÂ`jŠÂzŠÂ`ƒŠÂàvŠÂzŠÂzŠÂ`ƒŠÂ@€ŠÂzŠÂ ‰ŠÂ }ŠÂÀsŠÂàvŠÂÀsŠÂÀsŠÂ }ŠÂ€†ŠÂ€†ŠÂ ‰ŠÂÀŒŠÂ`œŠÂ –ŠÂ`œŠÂ@™ŠÂ€ŸŠÂÀ¥ŠÂ ¢ŠÂ ¯ŠÂ`µŠÂÅŠÂ@ˊ Ԋ€ъ€ъ€ъ€ъÂ`Ί€ъÂÀ׊ÂÞŠÂ`çŠÂ`çŠÂ íŠÂ úŠÂ`‹ÂÀ ‹Â ‹Â ‹Â úŠÂ`‹Â ‹Â ‹Â€‹Â ‹Âà ‹Â ‹Â ,‹Âà%‹ÂÀ"‹ÂÀ"‹Â€‹Â€‹Â€‹Â ,‹Â@/‹Â`2‹Âà>‹Â`K‹Â€N‹Â€N‹Â€N‹Â[‹Â j‹Â j‹Â w‹Â`}‹Ât‹Â@z‹Â€€‹Â€€‹Â€€‹Âà‰‹ÂÀ†‹Â`–‹Â ‹Â`–‹ÂࢋÂ`¯‹Â`¯‹Â@¬‹Â ©‹Â໋ µ‹ÂÀ¸‹Â ‹ ‹ ‹ÂÀÑ‹ÂÀÑ‹ÂàÔ‹Âàԋ€ä‹Âñ‹Â ç‹Â`á‹Â ç‹Âñ‹Â ô‹ÂàŒÂàŒÂ ŒÂÀŒÂ@ŒÂ ŒÂÀŒÂÀŒÂàŒÂ`,ŒÂ#ŒÂ€/ŒÂà8ŒÂà8ŒÂ 2ŒÂ 2ŒÂà8ŒÂ 2ŒÂ ?ŒÂ`EŒÂ@BŒÂ`EŒÂ`EŒÂ`EŒÂ KŒÂ`^ŒÂ€aŒÂ XŒÂ`^ŒÂ dŒÂÀgŒÂ qŒÂ@tŒÂ qŒÂ }ŒÂ }ŒÂ ŠŒÂ€“ŒÂ€“ŒÂ€“ŒÂ`ŒÂ –ŒÂ £ŒÂ`©ŒÂ`©ŒÂ`©ŒÂ ¯ŒÂ ¯ŒÂ¹ŒÂ ¼ŒÂ`Œ€ŌÂàΌ€Ō Ȍ ȌÂÀˌ ȌÂàΌ áŒÂàçŒÂ`ôŒÂ îŒÂ€÷ŒÂ`ôŒÂàçŒÂ îŒÂ`ôŒÂÀýŒÂÂ` Â` ÂàÂ`&Â@< 9 EÂ`?€BÂ`?Â@< 9Â`?Â@<Â6Â@< E 9Â`?ÂÀHÂàKÂ@U€[Â@UÂàdÂÀzÂàdÂ@n€t „ÂÂ@‡Â „ „Âà–Â`£Â ©Â`£Â  ©Âà¯Â`¼Â`¼Â`¼Â`¼ÂÌÂÌ ÏÂ`Õ Ï ÏÂ@Ò ÏÂ`ÕÂÀÞÂå ÛÂ@ë ô èÂ`î€ñ ô€ ŽÂ  ŽÂŽÂ  ŽÂ ŽÂ ŽÂ &ŽÂ` ŽÂ &ŽÂ0ŽÂà,ŽÂ`9ŽÂ€<ŽÂ ?ŽÂIŽÂ LŽÂIŽÂ€UŽÂ LŽÂ LŽÂ@OŽÂ€UŽÂ@OŽÂà^ŽÂÀ[ŽÂ eŽÂ XŽÂ XŽÂbŽÂbŽÂ@hŽÂ qŽÂ€nŽÂ`kŽÂ€nŽÂÀtŽÂ@ŽÂ ŠŽÂ`ŽÂ`ŽÂ —ŽÂÀŽÂ@šŽÂÀ¦ŽÂ€¹ŽÂ@³ŽÂ੎ÂÀ¦ŽÂÀ¦ŽÂ °ŽÂ °ŽÂ€¹ŽÂ ¼ŽÂ ¼ŽÂ€¹ŽÂÀ¿ŽÂ@³ŽÂ`¶ŽÂ ¼ŽÂ€¹ŽÂàÂŽÂ`ÏŽÂ`ÏŽÂ`ÏŽÂߎ âŽÂ€ëŽÂÀñŽÂ ûŽÂ@þŽÂàôŽÂ`Â`Âà Âà ÂÀ Â@ €Â   -Â*Âà&      ÂÀ#ÂÀ#Âà& -Â`3 9€6 9 F FÂC R _Â@bÂ\ _ÂÀUÂàXÂàXÂ@bÂ`e k€h x xÂuÂàqÂÀ‡Â ‘Â@”Ž „ÂàŠÂ ‘ „Â`—Â`—ÂÀ ÂÀ ÂÀ Âà£Â€šÂ@” Âà£Âà£Âà£Â€³Â@­Â ¶ÂÀ¹ÂÀÂÀ¹Â€³Â€³ÂÀ Ã ÏÂÙ ÜÂàÕ ÏÂÀÒÂàÕÂÀÒÂàÕ õ õÂ`û õ€þÂ`ûÂ@øÂ€þ  ÂÀÂÀÂ`û€þ€þ €þ Âà €þ ÂÀ  Â`  ÂàÂ@Â@ÂÀ Â@*Âà9Âà9ÂÀ6Âà9 3ÂÀ6 3€0 @ÂÀOÂ`FÂ=Â= 3 3 @€IÂÀOÂ`_ Y Y€b Y eÂo€{ ~ ‹Â ‹Â ‹Âà„Âà„€{Â@u€{Âà„ˆ ‹Â ‹Â@ŽÂÀ ‹Â`‘ÂàÂàÂà °Â ½Â ½Â ½ÂºÂ€­Â`ªÂà¶ÂºÂ ½Â ½ÂºÂ@À °Â ½ÂºÂ ½Â`ÃÂÀ̺Â@ÀÂàÏÂ@ÙÂàè€ßÂ`ÜÂàÏÂ@ÙÂÀåÂÀåÂ`ÜÂ`õ û ‘Âà‘ ûÂ`õÂ`õ ïÂ`õ‘‘ÂÀþÂ@ ‘Â@ ‘ ‘‘Âà‘€‘Âà‘ ‘€‘€‘€‘ÂÀ‘ !‘ !‘Â@$‘Â`'‘ÂÀ0‘Â7‘ÂÀ0‘ -‘ -‘€*‘ÂÀ0‘ :‘Â@=‘Â`@‘ÂÀI‘ F‘€C‘€C‘Â@=‘ F‘€C‘ÂÀI‘Â`Y‘ÂP‘Â`Y‘ÂàL‘Â`Y‘Â`Y‘Âàe‘€u‘€u‘€u‘€u‘Â`r‘ x‘ l‘Â`r‘ x‘ x‘Âàe‘Âàe‘Â`r‘Âà~‘ x‘ x‘Âà~‘ …‘Â`‹‘Â`‹‘Â`‹‘Â€Ž‘Â‚‘‚‘Â€Ž‘Â`‹‘ ‘‘ÂÀ”‘ ‘‘ÂÀ”‘Âà—‘ÂÀ”‘Â€Ž‘ÂÀ”‘ ž‘ ž‘€§‘Â`¤‘€§‘ÂÀ­‘Â`¤‘ ª‘Â`¤‘ ª‘€§‘ ·‘Â`½‘Â@º‘€À‘€À‘€À‘ÂÀÆ‘ÂàÉ‘ÂàÉ‘ÂÀÆ‘ÂàÉ‘ÂàÉ‘ÂàÉ‘Â͑ БÂ@Ó‘Â`֑ ܑ ܑÂàâ‘Âæ‘ é‘Â`ï‘ é‘ÂÀߑ ܑÂÀß‘ÂÀß‘Âàâ‘Â@ì‘Â`ï‘ ’ ’ ’ ’Â`’ ’€ ’ ’Â’ÂÀ’Â`’Â`’ ’ ’ ’ ’€ ’Â@’€ ’ÂÀ’Âà’ ’€$’ ’Â’€$’Â@’Â’ ’ '’Â1’ 4’ '’ 4’ 4’ 4’ '’Âà-’Â`:’€=’€=’Â@7’€=’ÂÀC’€=’Â`:’ @’€=’ 4’ÂàF’Â@P’Â@P’ Y’Âà_’Âà_’Âà_’ f’Â@i’€V’ Y’ Y’ Y’ÂÀ\’€V’Âà_’Â`l’€o’ r’Âàx’Âàx’Â|’Âàx’€o’Âàx’Â`…’Â`…’€ˆ’Â|’Â`…’Â@‚’ ’ ’Â`…’ ’ ’Âàx’Â|’Â|’Âàx’Â@‚’ ’Â@‚’Â|’ ‹’Âà‘’Â€ˆ’€ˆ’Âà‘’Â ‹’€¡’ ˜’ ˜’Â઒€¡’ ˜’ ¤’ ±’Â@´’ ±’€º’ ±’ ±’€º’ ½’ÂÀÀ’ ½’ ±’ ±’Â઒ÂÀÀ’ÂàÃ’ÂàÃ’Âǒ ½’ ʒ ʒÂ`Ð’Â@Í’Â@͒ ֒€ӒÂ`Ð’Â`Ð’Â`В ֒ÂÀÙ’ÂàÜ’ÂÀÙ’ÂàÜ’Â ã’ ã’ÂàÜ’ÂÀÙ’Â`Ð’ÂÀÙ’Â`В ʒ€ӒÂàܒ€ì’ÂÀò’ ü’Âù’ ü’Âàõ’€ì’Â@ÿ’€“Â@ÿ’Â`“Âàõ’€“ “ “Â@ÿ’ÂÀò’Âà“ “Âà“Â`“€“ÂÀ “ÂÀ “ “ “ÂÀ “ ““€“ ““Â`“Â`“ !“ !“ “Â`“€“ .“ .“Â+“Â+“Â+“ :“Â@1“Â`4“ :“ :“Âà@“ :“ :“ :“Â@J“Â@J“ G“ÂD“ G“ :“€7“Âà@“ÂD“ G“Âà@“Âà@“Âà@“Âà@“ÂD“ G“Â@J“Â`M“Â`M“ S“ÂD“Âà@“ÂD“ :“ÂÀ=“ :“Âà@“ÂÀ=“ÂD“Â`M“€P“€P“ G“Â`M“Âà@“ÂD“€P“ S“Â]“ S“Â]“ `“ `“€i“€i“Â@c“€i“ l“ l“ÂÀo“ y“Âv“ l“ l“Âv“ y“ y“Âv“Âàr“€‚“ÂÀˆ“ ’“Âà‹“Â“Âà‹“ÂÀˆ““ ’“ …““ ’“ ’“Âà‹“Â`˜“ ž“ÂÀ¡“ ž“Â@•“Â`˜“ ’“ÂÀˆ“Âà‹“Â`˜“€›“ «“Âओ¨“ÂÀ¡“ ž“ ’“ ’“ ’“Â`˜“ «“ÂÀ¡“ ·“Âན ē€´“ ·“Â`±“Â@®“Â@®“ÂओÂ`˜“ ž“€›“ÂओÂÀ¡“ÂÀ¡“¨“€´“ ·“ÂནÂÁ“Â`Ê“Â`ʓ ГÂÀÓ“ÂàÖ“Âà֓ Г€͓ ГÂà֓ ГÂÀÓ“Â Ý“ÂÚ“Â@à“ ݓ ݓÂ@à“Â`ã“Â@à“ÂÀӓ Г Г ē ēÂནÂནÂ`Ê“Â`ʓ ГÂÀÓ“Âà֓ Г ГÂàÖ“ÂÀÓ“ÂàÖ“ÂÀÓ“Âړ ݓ ݓ€æ“Â@à“Â`㓀擠铠ö“ ” ö“Âó“ é“ ö“Â`ü“€ÿ“Â`ü“ ö“Âàï“ ö“ ö“Â`ü“€ÿ“€ÿ“ ”ÂÀ” ” ”Âà”Â@”€”ÂÀ” ”€”Â`”€” ”Âà” ” ”Â@”Âà!” ” ”Â@”Â`”€” ”€”Â`”Â%”Â%”Âà!” (”Â@+”Â@+”Â@+”Â@+”€1”ÂÀ7”Â@+” 4” 4”ÂÀ7”Â`.” (” 4”€1”€1”Â>”Â>”Â>”Âà:” A” 4” 4”Âà:”Âà:”Â>”Â`G”Â`G”€J” M”Â`G”Â`G” M”Â`G” A” M” Z”ÂàS”Â@]” Z”ÂÀP”ÂàS” Z”€c” Z”€c”Â@]”ÂW” M”ÂW”ÂàS” M”ÂW” Z” Z”Â@]”Â``”€c”Â``” f”Â``”Âàl”ÂÀi”Â``”Â@]”Âàl”Â`y”Â@v”Âp” f”Âàl”ÂÀi”ÂÀi”Âàl”Âàl”Âàl” f”Âàl”ÂÀi”Âàl” f”ÂÀi” s” s”Â`y” s”ÂÀ‚”€|”‰”‰”€|”Â@v”Â`y” s”Âp”Â`y”Âàl”Âp”Âàl” s” ”Âà…”Â@”Âà…”Â Œ” Œ” ” ” ”€•” ¥”€®”Âàž”Âàž”Â€•”Â`’”€•” ¥” ¥”€®”¢”ÂÀ›”Âàž”ÂÀ›”¢”Âàž”Â@” ˜”Âàž”Â@¨”Â@¨”Â@¨” ¥”¢”Âàž”Â€•”€•”Â`’”€•” ¥”Â`«”Â`«” ¥” ±” ±”€®”€®”ÂÀ´”ÂÀ´”»” ¾” ¾”ÂÀ´”€®”Â`«”€®”ÂÀ´”Âු»”»” ¾”»”ÂÀ´”Â`Ĕ»” ¾” ¾” ¾”»”Â@Á”Âු N˜Â€ª¶Âà¹Î ÎÂ`'ÃÂж ֫Â`í¢Â ߛ 5– ŽÂÀ5W€ÖÂ@ÂÀÓÂÀ €¤éÁ€›¬Ál6ÁØ @d–A€#B€EB€˜kB BÀÜ…B`º…B‚BÀÓwB€xhBÂ@@Â@\BÂÀøCÂ@cE»FÂ@íGÂÀóHÂ@áIÂÀÎJÂKÂ@kLÂ-MÂÃMÂÀkNÂ@õNÂ…OÂÀPÂÀ‘P€QÂÀrQÂ@ãQÂZR¾R€.SÂÀ±SÂTÂÀ`TÂÀ’TÂ@ÑTÂ@UÂÀZU“UÂÀ×UÂ@VÂ@aV¦VÂ@ÞV WˆÂàPˆÂ€`ˆÂ cˆÂ pˆÂÀˆÂ@ŒˆÂ†ˆÂ |ˆÂà‚ˆÂ€’ˆÂà›ˆÂ ®ˆÂÀ±ˆÂ¸ˆÂ€ÄˆÂ€ÄˆÂà͈Âà͈Â`ڈ íˆÂ ùˆÂàÿˆÂ€‰Â ‰Â` ‰Â`%‰ÂÀ.‰Âà1‰Â +‰Â€A‰ÂàJ‰Â Q‰Â€Z‰Â ]‰Â@T‰ÂÀ`‰Â€s‰Â`p‰Â@m‰Â€s‰Âà|‰Â`‰‰Â ‰Â ‰Â œ‰Â ¨‰Â`¢‰Â@Ÿ‰Â²‰Â@¸‰Â@¸‰Â€¾‰Âˉ ډÂÀ݉Âàà‰Â ç‰Â`í‰Â ŠÂ€ ŠÂ ŠÂ`ŠÂà+ŠÂ@5ŠÂ 2ŠÂà+ŠÂà+ŠÂ/ŠÂ`8ŠÂàDŠÂHŠÂ KŠÂ WŠÂ€TŠÂ@gŠÂ pŠÂ pŠÂ }ŠÂ€†ŠÂ ‰ŠÂ –ŠÂ –ŠÂ€ŸŠÂ`œŠÂ ¢ŠÂ@²ŠÂ`µŠÂÀ¾ŠÂ€¸ŠÂàÁŠÂ ÈŠÂ@ˊ€ъ€êŠÂ úŠÂàóŠÂ úŠÂ`‹Â€‹Â ‹Â ‹Â ‹Â@/‹Âà%‹Â`2‹Â@/‹Âà>‹Â E‹Â€N‹Â`K‹ÂB‹Â E‹Â`K‹ÂàW‹ÂÀm‹Ât‹Â j‹Â w‹Â ƒ‹Â ‹Â`–‹ÂÀŸ‹Â ©‹Â`¯‹ÂÀ¸‹Â€²‹Â µ‹Â µ‹Â@ŋ ΋Â`È‹Â`È‹Â`ȋ€ˋÂ@Þ‹Â`á‹Â€ä‹Âñ‹Â ô‹Â`ú‹Â ŒÂ ŒÂàŒÂ ŒÂ ŒÂÀŒÂ€/ŒÂ<ŒÂ 2ŒÂà8ŒÂ 2ŒÂÀ5ŒÂ 2ŒÂ 2ŒÂ<ŒÂà8ŒÂ ?ŒÂ`EŒÂ KŒÂ@[ŒÂ`^ŒÂÀgŒÂ qŒÂ }ŒÂ }ŒÂ ŠŒÂàœŒÂ £ŒÂ ŒÂ ŒÂ`©ŒÂ ¯ŒÂ £ŒÂ@¦ŒÂ`©ŒÂÀ²ŒÂ@¿ŒÂ¹ŒÂ@¿ŒÂàΌ ȌÂ@ØŒÂàΌ Ռ Ռ áŒÂàçŒÂàçŒÂ€÷ŒÂ úŒÂ@   ÂÀ Â@#Â@# ,€) ,Âà2 , E€BÂÀHÂ`?ÂàK RÂàdÂÀa€[€[ÂÀaÂÀa k „€ ÂÀ“€€€ÂÀ“  €¦Âà–Â`£Â ©Â³Â@¹ÂàÈ€¿Â`¼Â ÏÂ̠πØÂ ÛÂÀÞ ÛÂàáÂàáÂàáÂàú ôÂ`îÂ`îÂàúÂ@ŽÂŽÂ€#ŽÂ€#ŽÂà,ŽÂ 3ŽÂ 3ŽÂ ?ŽÂàEŽÂ ?ŽÂ ?ŽÂ ?ŽÂ@OŽÂ`RŽÂ`RŽÂ`RŽÂ€UŽÂ`RŽÂbŽÂ@hŽÂ qŽÂ qŽÂ ~ŽÂ€‡ŽÂ€‡ŽÂ ŠŽÂÀŽÂ —ŽÂÀŽÂ ŠŽÂ —ŽÂ@šŽÂ £ŽÂÀ¦ŽÂ`¶ŽÂ ¼ŽÂ ¼ŽÂÀ¿ŽÂ ¼ŽÂ ¼ŽÂ`¶ŽÂƎ ՎÂàÛŽÂàÛŽÂ âŽÂ âŽÂ`èŽÂ€ëŽÂ îŽÂ€ëŽÂ€ëŽÂàôŽÂ  Â`Â@  Âà&   - - 9 - -Â`3Â`3€6Â@0Âà& - 9Âà?€6ÂÀ<Â@IÂÀUÂàX _€hÂàqÂ@{Â@{Âàq x xÂ`~ „ÂÀ‡Â „ ‘Â`— ÂÀ Â Âà£Â€³Â ¶ÂÀ¹ÂÀ¹Â ÃÂ@ÆÂ Ï€Ì ÏÂÙ ÜÂÙÂàÕÂÀëÂàîÂÀëÂòÂòÂò õÂÀ Â`û  Â@ÂÀÂ$€0€0 'Â`-€0Â`-ÂÀ6Â@CÂ`FÂ`F LÂÀOÂàR Y eÂ@\Â`_ eÂ@\ Y€b e e e eÂ`x€{Âà„ ‹Â —€”Â`‘ — —Âà —ÂÀšÂ¡Â@§Â`ªÂ€­Âà¶Âà¶Â€ÆÂ@À ½Â É É ÖÂàÏ Ö Ö â€ßÂ@Ù âÂàèÂàè âÂàè ïÂìÂ`õÂ`õÂà‘ÂÀþ û ûÂÀþÂÀþ ûÂÀþÂ`‘Âà‘ÂÀ‘ ‘€‘ ‘ !‘Â@$‘ÂÀ‘€*‘€*‘ -‘ :‘ F‘Â@=‘Â`@‘Â`@‘ F‘ :‘Â`@‘ :‘€C‘ÂP‘ÂP‘ S‘Â`Y‘ÂÀb‘€\‘€\‘ÂÀb‘€\‘ _‘ÂÀb‘ l‘ÂÀ{‘Âà~‘Â@ˆ‘‚‘ …‘Âà~‘ …‘ …‘ …‘ ‘‘Âà—‘Â@¡‘Â`¤‘ ž‘›‘ ž‘ ž‘ ž‘Â`¤‘ ž‘ ž‘Âà—‘Â€§‘Â@º‘€À‘ Ñ€À‘ÂàÉ‘ÂàÉ‘ÂàÉ‘Â`֑ БÂ`Ö‘Â`Ö‘Â`Ö‘Â`֑ ܑÂ@ì‘Âæ‘Âàâ‘Âæ‘ é‘Âæ‘ é‘Â@ì‘ é‘Âàâ‘€ò‘ÂÀø‘ÂÀø‘Âàû‘€ò‘ÂÀø‘ ’ õ‘Âàû‘Âàû‘Âàû‘Â`’ ’Âà’Âà’ÂÀ’ ’Âÿ‘ÂÀø‘ ’ÂÀ’Â’ ’Â’Â’Â@’Â`!’ ’Âà’Â’Âà’ ’ '’€$’ '’€$’ÂÀ*’Â1’ÂÀ*’ 4’ 4’Â@7’ 4’€=’Â@P’ÂJ’ @’ÂJ’ M’€V’ÂJ’Â`S’Â`S’€V’ÂÀ\’Â@P’ Y’Âà_’Âà_’Âà_’ Y’ f’ÂÀ\’ f’ r’ r’ ’ ’Â`…’Â`…’Â|’Âàx’ ’Âàx’€o’ ’€ˆ’Â`…’ ’€ˆ’ ‹’Âà‘’Â ‹’ÂÀŽ’Âà‘’ÂÀŽ’Âà‘’Â•’Âà‘’Â`ž’®’ÂÀ§’®’®’Â@´’Â઒®’Â@´’ ±’Â`·’ ±’ ±’ ¤’®’ ±’®’ ±’ ½’Â`·’Â`·’ ½’Âǒ ʒ€Ӓ ֒ ֒ÂÀْ€ӒÂàܒ€ӒÂàÜ’Âà’ ã’ ï’ÂàÜ’Â`Ð’Â`В€ӒÂÀÙ’Â ã’Âà’€ӒÂǒ€Ӓ ֒ ã’Â`é’ ï’€ì’Â@撀쒠㒠ã’Â`é’Âàõ’ ï’ÂÀò’Âù’ ï’ÂÀò’ÂÀò’ÂÀò’Â@ÿ’€“ÂÀ “Â`“Â`“Â@ÿ’ÂÀ “ “ ü’ “€“Âà“ “€“€““€“€“Â`“ “ “ “€“Â`“ !“Âà'“Âà'“€“Â`“ “€“ .“Â@1“Â`4“Â@1“ÂÀ$“ÂÀ$“Â`4“Â`4“ :“ÂÀ=“ G“ G“Â`M“ÂàY“ÂÀV“Â`M“ G“Â@J“€P“Â`M“ S“Â`M“ÂàY“ S“ S“€P“ÂàY“ `“ `“Â@c“Âàr“€i“€i“ `“ `“Âàr“Âàr“ÂÀo“ l“ÂÀo“ÂÀo“Âàr“Âv“€‚“Âàr“ y“Âà‹“Â ’“Â`˜“Â@•“€›“Â`˜“€›“ ž“ÂओÂओÂÀ¡“Â@•“ ’“Â`˜“€›“€›“ ž“€›“ ’“Â`˜“Â@•“ÂÀ¡“ ž“ÂÀ¡“ «“ ž“ ž“ÂओÂÀ¡“ ž“ ž“Âओ¨“Âओ¨“ «“ÂÀ¡“€´“Âན ēÂ@Ç“Â`ʓ€͓Â@Ç“Â@Ç“Â`ʓ€͓Â@Ç“Â`Ê“Âړ Г Г ГÂà֓€æ“ ݓÂ`ã“€æ“Â`ü“ÂÀì“ ö“Âàï“Â`ʓ ēÂ@à“ ݓ é“ÂÀì“ÂÚ“ÂàÖ“Âà֓ ݓ ݓÂ@à“€æ“Âàï“€ÿ“ ö“Â@ù“ ”€ÿ“ ”Â`ü“ÂÀ”Âà” ”Âà” ”Âà” ” ”Âà”€”Âà!”€”Â`” ” (”Âà!” (”Â`.” 4”Â@+” (” (”Â%”Âà!”ÂÀ” ” ” ” ” (”Â@+”Â`.”Âà!”Âà!”Â@+”€1” 4” A”Â@D” A” A”Â>”Â>”Âà:” 4”Âà:”Âà:”Âà:”ÂÀ7” A” A” A” M” M”ÂàS”ÂàS”ÂàS”€J” M”ÂàS”Â`G” A”Â`G”Â`G”Â@D” A”Â@D”Â`G”ÂW”€c”€c”ÂÀi” f”Â``”ÂàS”Â@]”ÂW”ÂàS”Â``”Â@]”ÂÀP”ÂÀP”ÂàS”Â``”Â@]”€c”€c”Âàl”Âp” s” f”Âp”Âp”ÂÀi” s”ÂÀ‚”Â`y” s”Â@v”Â`y”Âàl”ÂÀi”ÂÀi” s”Â`y”ÂÀ‚”Â`y” s” s” s”ÂÀi”Âàl” s” s”€|”Â`y”Â`y” ”ÂÀ‚”€|” s”Â`y” s”Âàl”Â`y” s”ÂÀ‚”Â`y”ÂÀ‚”‰”€|”€|” ”Â`y”Â`y” ” ” ”Âà…”Â‰”Âà…”Âà…”ÂÀ‚”ÂÀ‚”Âà…”Â@” Œ”ÂÀ›” ˜” Œ”‰”Âà…”Â€|”ÂÀ‚” ” ” ”ÂÀ‚”Âà…”Â€•”Âàž”Âàž”Â ˜”€•”ÂÀ›” ˜”Âàž”Âàž”Â¢”Â`«” ±”Â@¨” ¥” ¥” ¥” ±”»” ¾” ±”€®” ±”€®”€®”Â`«”Â`«” ±”€®”Â@¨”¢”Â@¨”€®”Â`«”Â`«”€®”Âà·”Âà·”Â`Ĕ ʔÂÔ”ÂàД€ǔ ¾”Â`Ä”ÂÀÍ”ÂÀÍ”ÂԔ הÂàД€ǔÂÀÍ”ÂÔ”Â`Ý”Â`Ý”ÂÔ”ÂàДÂÀÍ”Â`Ä”Â`Ĕ ʔÂàД הÂ`Ý”Âàé” ã”€à”€à” ה€à”ÂÀæ”€à” ã”€à”€à” הÂ@ڔ€à”ÂÀæ”Â`ݔ ã”Â@ڔ ה€à”€à” ה€à”Âàé” ð”Âàé”Â@ó”Â`ö”€ù” ü”Âà•Â@ó” ð”Â@ó”Âí”Âàé” ð”Âí”Âí” ü”Â`ö”Âà• ü”ÂÀÿ”• • ü”Â`ö” ð” ã”Âí”Â@ó”Â`ö”Â`ö”Â`ö”Â`ö”Â@ó”Â`ö”€ù”Â픀ù”€ù” ü”ÂÀÿ” •ÂÀÿ”Âà•€•Â`•Â`• • • •Âà•ÂÀÿ”Â@ ••Â`ö” ü”ÂÀÿ”€ù”€•Âà•Â@ •ÂÀ•• "•Âà•• "• "•Â@%•Â`(• "•€+• "• "•Âà•€•€• • •€•Âà••Âà• "•Âà• "•Â@%• "• "•€+• .•€+• "•Âà•ÂÀ•Âà•Â@%• "•Âà• •• "•Âà•Âà•ÂÀ•Âà• • "• •Âà•Â@%• "•ÂÀ1•ÂÀ1•Âà4•Âà4• ;•Â`A• ;•Â8•ÂÀ1•Â8•€+•Â8•€+• ;• ;•Âà4•ÂÀ1•Âà4•Â8•Âà4• .• ;• .• ;• ;• ;•ÂÀ1•Âà4• ;•Â8• G•Â`A• G•Â@>•ÂÀJ•€D• G• G•Â`A•Â@>•Â8• .• ;• ;•Â`A•ÂÀ1•€+• .•Âà4• ;•Â`A•ÂàM• T•ÂàM•ÂàM• G•ÂàM•ÂÀJ• G•ÂàM•ÂàM•Â@>•Â8• ;•Â`A•ÂàM•€D•Â@>•ÂÀJ•Â@>•Â`A•ÂÀJ• G•ÂàM• T•ÂQ• T• G•ÂÀJ• G• G•ÂàM•ÂàM•ÂÀJ• G• G•Â`A•Â`A•Â`A•Â`A• ;•Âà4• ;• ;• G•Â@>• G•ÂÀJ•€D•Â`A•Â8• ;•Âà4•€D•€D•€D• G•Â8• ;•Â`A• G•Â`A• ;•Âà4• ;•Â@%• ;• ;•Âà4•Âà4• ;•€D•Â`A•ÂàM•€D•€D• ;•Âà4• .•Â8•Âà4•ÂÀ1•€+• ;• G• G• G•ÂQ•ÂàM•€D•Â8••Â`(•••€•Âà•Â`(•Â@%•€+• .• ˘Â·Â€âΠ\ÎÂà~àC·Â@c¬Â }£Â hœÂÈ–Â@ŽÂ€[XÂ@. Â@‰€ÂÀ ÂaîÁ€–±ÁoBÁ–?AÀÄ BÀAB€'iB€^€B€‹…B±…B€9‚B»xBÀªiB@ëXBQGB€e5BÀ"$B¨B€_BTìAsÒA€A»A€¦A|’A €AÇ]AzÂÀ@ÂVBÂ@DÂ@•EÂ@óFÂHÂÀ>IÂ@EJÂ@?KÂLÂâLÂ@~MÂ'N½NÂSOÂ@ïO€rPÂQÂ’QÂ@R€˜RÂÀéRÂ;S†SÂÑSÂTÂ@TT²TÂÀöTÂ/UÂ@gUÂÀŒUÂÅUÂÞUÂÀ"VÂÀTVÂÀ†VÂÀ¸V€ýVÂÀ5W€aWÂÀ™WÂ@ØWÂ@ XÂ6X€[XšX€¿XÂþXÂ@YÂÀBY€UYÂ@hY”Y­Y€¹YÂ@åYÂZÂ@IZÂ@bZÂuZ€šZÂÀ ZÂ@ÆZÂ@ßZÂ@øZÂÀ[Â$[Â@C[Â@\[€{[ÂÀ[Â@Ž[ÂÀÌ[Â@ò[€\Â@=\Â@o\Â@ˆ\Â@¡\Â@Ó\ÂÀø\Â@]ÂÀ\]•]ÂÇ]€ì]Â@^ÂD^Â@c^ÂÀo^ÂÀ¡^€Í^Âó^Â%_ÂÀP_‰_€®_ÂÔ_€à_ÂÀ`Â@>`ÂÀc`€v`ÂÀ•`ÂÀ®`ÂÎ`ÂÀà`ÂaÂ@QaÂÀvaÂÀ¨a€Ôa€bÂ@bÂ@KbÂ@db€ƒbÂ@¯bÂ@ÈbÂÛbÂ@cÂ@,cÂXcŠc€¯cÂ@ÛcÂdÂ@ dÂ@&dÂRd€wdÂdÂ@¼dÂ@îdÂ3eÂ@ReÂeeÂ~eÂÀ©eÂâeÂ@fÂ@3fÂFfÂÀŠfÂ@—fÂÀ¼fÂÀîfÂ@gÂ@gÂ@_gÂÀRgÂrgÂ@xgÂÀ„gÂÀ¶gÂïgÂ!hÂÀ3hÂÀLhÂ@rh€‘hÂ@½h€ÜhÂ@ïhÂÀiÂÀFiÂÀxiÂÀ‘iÂ@·iÂ@éiÂÀ'jÂÀYjÂ@j€·jÂ@ãjÂÝjÂ@üjÂkÂ@.kÂZkÂ@’kÂÀžkÂÀ·kÂ@ÝkÂ@ökÂ"lÂÀMlÂ@sl€’lÂ@¥lÂ@×lÂÀülÂmÂ@;m€Zm€ŒmÂ@¸mÂËmÂým€"nÂÀAnÂÀZnÂ@€n€†nÂ@²nÂÅnÂÞnÂo€NoÂ@zoÂ@¬oÂ@ÅoÂÀÑoÂ@÷oÂ@pÂ@)pÂ@BpÂnp€“pÂÀËpÂ@ØpÂ@ñpÂqÂÀ/qÂ@Uq€tqÂÀ“q€¿qÂÌq€ØqÂ@ëqÂ@rÂÀBrÂ@OrÂ@rÂ@³rÂ@ÌrÂÀñrÂ@þrÂ*sÂ\sÂusÂ@”s§sÂ@­sÂÀësÂÀtÂÀt€0tÂVtÂÀtÂ@ŽtÂÀ³t€ßtÂ@ uÂ7uÂÀbuÂ@ou€uuÂÀ{uÂ@ˆuÂÀ­uÂÀßuÂÀøuÂÀv€=vÂcvÂ@‚v®vÂÀÀvÂÇvÂÀÙvÂÀòvÂ@ÿvÂ+wÂDwÂ@cw€›w€›wÂ@®w€æwÂ@+xÂ@DxÂÀPxÂ@vxÂ@vxÂÀ›xÂ@ÁxÂ@óxÂ@ yÂÀ1yÂ@WyƒyÂ@‰yÂÀ®yÂ@»yÂ@»yÂÀàyÂ@zÂ@zÂ@8zÂdzÂ}zÂÀvz€‰z¯zÂ@µz€ÔzÂ@çz€{ÂÀ%{ÂE{ÂÀW{ÂÀp{ÂÀp{ÂÀ‰{ÂÀ»{€Î{Â@á{Â@ú{€|ÂÀ|Â?|ÂX|ÂÀj|Âq|Š|£|€¯|ÂÀÎ|Â}ÂÀ2}Â@X}ÂÀK}€w}Â@q}€}€©}ÂÀÈ}Â~ÂÀ~Â@ ~Â@R~€X~€q~ÂÀw~ÂÀ©~Â@Ï~Ââ~Â@€€ ÂÀ?€k€kÂÀqÂÀŠ€ÏÂÀÕÂ@ûÂà€Âà€Â@&€Â /€Âà5€Â H€Â a€Âk€Â`t€Â`t€Âà€€Â`€Â€€Â  €Â€©€Âಀ Ҁ€ۀ ހÂÀú€ÂÀú€Â@ )Â3€?Â@RÂ@RÂÀ^ÂÀwÂ~Â`‡Â€ŠÂà“Â` Âà¬Â°Â`¹Â@Ï ØÂ åÂ`ë ñÂà÷Â@‚  ‚Â`‚ #‚ 0‚Â`6‚ <‚€R‚ b‚Â`h‚ n‚ ‡‚ÂÀŠ‚Â ”‚€‚ª‚ ¹‚Â@ɂ ë‚ ø‚Âà ƒÂà ƒÂ`ƒÂ€ƒÂà#ƒÂ@-ƒÂ 6ƒÂ`IƒÂYƒÂ \ƒÂ hƒÂ uƒÂ ƒÂ‹ƒÂ šƒÂ€—ƒÂ §ƒÂ ³ƒÂใ ÀƒÂ ÀƒÂàÒƒÂ`߃ÂàëƒÂ þƒÂÀ„ „ÂÀ„ÂÀ„Âà6„ =„Â`C„ =„€F„ÂàO„ b„ b„Â@r„ {„Âà„ÂÀ—„ÂÀ—„Â@¤„ ¡„ÂÀ°„ÂೄÂ`À„ۀÂЄÂ`ل€܄ ø„ ø„Â…Â` … … *… 7…Â@:…ÂàI… P…Âàb…Âàb…Âf… i… u…Â… ‚…Â Ž…Â ›…Â@ž…€¤…Â@·…ÂÀÃ…Â@Ð…Âàß…Âàß…Â æ…Â`ì…Â@†ÂÀ†Âà†Â`†Â.†ÂG†ÂG†Â V†Â J†Â V†Â c†Â`†Âàu†Â |†Â •†Â@˜†Â`›†Â ¡†Â৆ ®†Â ®†ÂÀ½†Â džÂàÀ†Â@ʆÂÀÖ†Â݆Â`æ†Âàò†Â`ÿ†Â ‡Â ‡Â ‡Â`‡Â(‡Â +‡Â 7‡Â D‡Â€M‡Â€M‡Â€M‡Â D‡ÂÀS‡Â ]‡ÂÀl‡Â v‡Â@y‡ÂÀ…‡Â ‡Â ›‡Âࡇ€±‡Â ¨‡Â ´‡Â Á‡Â Í‡Â Í‡ÂàӇ€ʇÂ@݇ÂÀé‡Â ó‡ÂÀˆÂ@ˆÂ`ˆÂÀˆÂàˆÂ 1ˆÂ 1ˆÂ;ˆÂ`DˆÂ WˆÂ€`ˆÂàiˆÂ@sˆÂ pˆÂ |ˆÂ ‰ˆÂ •ˆÂ ¢ˆÂ ®ˆÂ ®ˆÂ€«ˆÂÀ±ˆÂ¸ˆÂ »ˆÂ »ˆÂ ÇˆÂà͈ÂàæˆÂ íˆÂ ùˆÂ@ ‰Â ‰Â ‰Â‰Â`%‰ÂÀ.‰Â 8‰Â€A‰Â D‰ÂN‰Â@T‰Â ]‰Â€Z‰ÂÀ`‰Âàc‰Â@m‰Â€s‰Â`p‰Â v‰Âà|‰Â`‰‰Â ‰Â œ‰ÂÀ«‰Â€¾‰Â Á‰Âàlj Á‰ÂˉÂàà‰Â`í‰Â€ð‰Â ó‰Â`ŠÂ€ ŠÂŠÂàŠÂ@ŠÂ@ŠÂ ŠÂÀŠÂ@ŠÂ %ŠÂ@5ŠÂ >ŠÂàDŠÂ KŠÂ€TŠÂ€TŠÂà]ŠÂ@gŠÂ pŠÂ }ŠÂ`ƒŠÂ }ŠÂ`ƒŠÂ }ŠÂ`ƒŠÂÀŒŠÂÀŒŠÂ –ŠÂ`œŠÂ¬ŠÂ ¯ŠÂ@²ŠÂàÁŠÂÀ¾ŠÂ@ËŠÂÞŠÂ áŠÂ áŠÂ€êŠÂ íŠÂÀðŠÂÀðŠÂàóŠÂ‹Â ‹Â ‹Â ‹Âà%‹Â`2‹Â ,‹Â`2‹Â@/‹Â€5‹Âà>‹ÂÀ;‹Â`K‹Â Q‹Â[‹Â`d‹Â j‹Â j‹Âàp‹ÂÀm‹Â€€‹Â€€‹Âà‰‹Âà‰‹Â ‹Â@“‹ÂÀŸ‹Âࢋ ©‹Â€²‹Â µ‹Â€²‹Â¿‹Â`È‹ÂàÔ‹ÂØ‹Âàԋ€ä‹ÂÀê‹Âñ‹Â ô‹Â`ú‹ÂÀŒÂ ŒÂ€ŒÂ€ŒÂ ŒÂ€ŒÂ€ŒÂÀŒÂ`ŒÂ`ŒÂ€ŒÂ`,ŒÂ 2ŒÂ 2ŒÂà8ŒÂ<ŒÂ`EŒÂ`EŒÂ`^ŒÂÀgŒÂàjŒÂ€aŒÂ€aŒÂ€aŒÂ dŒÂàjŒÂàjŒÂ qŒÂ`ŒÂ`ŒÂ€“ŒÂ€“ŒÂÀ™ŒÂ £ŒÂ £ŒÂ€¬ŒÂ€¬ŒÂ ¼ŒÂ ¼ŒÂ`Œ Ռ€ތ€ތÂàçŒÂ Ռ€ތÂàçŒÂ`ôŒÂ îŒÂ@ñŒÂ`ôŒÂ€÷ŒÂ úŒÂÀýŒÂàÂàÂàÂ@#Âà2 ,Â`?ÂàKÂOÂàK ^Â@U R R€[ ^€[ ^ ^Â`q „Âà} „Â`ŠÂ „Âà}€  Âà–  ©Â ¶Â`¼Â@¹Â Â Û€ØÂàáÂåÂå ÛÂàáÂå€ñ è èÂþÂàúÂþÂþ ŽÂ€ ŽÂ ŽÂàŽÂŽÂŽÂ€#ŽÂ€#ŽÂ€#ŽÂ€#ŽÂ@ŽÂ@ŽÂ` ŽÂ &ŽÂ &ŽÂ€<ŽÂÀBŽÂàEŽÂàEŽÂ LŽÂ@OŽÂ`RŽÂ eŽÂ`kŽÂ qŽÂ qŽÂ€nŽÂ qŽÂàwŽÂàwŽÂ`„ŽÂ ~ŽÂ ŠŽÂ ŠŽÂ —ŽÂàŽÂÀŽÂ —ŽÂ`ŽÂ`ŽÂ £ŽÂ­ŽÂÀ¦ŽÂ`¶ŽÂ`¶ŽÂ€¹ŽÂàÂŽÂ@̎ Ɏ ¼ŽÂ@ÌŽÂ âŽÂ âŽÂÀØŽÂÀØŽÂ âŽÂ`èŽÂ îŽÂàôŽÂ îŽÂ€ëŽÂ âŽÂÀñŽÂ`èŽÂÀñŽÂàôŽÂà ÂÀ  Â@ÂÀ# -Â@0Â`3Â`3€6ÂÀ< FÂ@IÂ`L R _ _Â`eÂàq€ xÂuÂàq „ÂàŠÂàŠÂàŠÂàŠÂ`—Â`— ‘Â`~€€Â`— ÂÀ Â Â§Â§Â§Â ¶Â ÃÂ`ɠπ̠À̀ÌÂ`ɀ̠̀ÏÂàÕ ÜÂ`â è èÂàîÂòÂ@øÂÀë õ€åÂàîÂ@øÂ`û Â@ÂÀÂà €   Âà  ' 3€0ÂÀ6 @Â`FÂ`F€IÂÀO L L LÂÀOÂàRÂ`_ e e eÂàk e e rÂ`x ~ÂÀÂ`xÂà„Âà„ÂÀ ‹Â@ŽÂ — —€­Â °Âà¶Â °ÂºÂ`ªÂ`ªÂÀ³Â`ªÂÀ³Âà¶Â °ÂºÂ`ÃÂÀÌ É ÉÂÀåÂÀåÂÀåÂÀåÂì â â â âÂÀåÂÀåÂàè ï ïÂ@ò ûÂÀþÂà‘ ‘Âà‘‘ ûÂ`‘ÂÀ‘ÂÀ‘‘ !‘ !‘ !‘Â@$‘Âà3‘ -‘ -‘ :‘Âà3‘Â7‘Â`@‘Â`@‘ F‘ S‘ S‘ÂàL‘ÂÀI‘ S‘Â@V‘Â`Y‘ S‘ S‘Â@V‘Â`Y‘ _‘ÂÀb‘ l‘Âi‘Âàe‘ l‘Âà~‘Â`‹‘Â€Ž‘Â …‘ ‘‘Âà—‘ÂÀ”‘›‘Â`¤‘€§‘€§‘Â`¤‘ÂÀ­‘Â`¤‘ÂÀ­‘€§‘Â఑ ª‘ÂÀ­‘Â఑ ª‘Â఑€À‘ÂàÉ‘Â͑€ّÂ@Ó‘Â@Ó‘Â é‘ÂÀߑ€ّÂ`֑€ّÂ`֑ ܑ€ò‘€ò‘Âàû‘ ’Â@’ ’ ’Â@’Âàû‘Âàû‘Âàû‘€ ’€ ’ ’ÂÀ’Â@’ ’Â`’Â’Âà’Â@’Â`’€ ’Âà’Â`!’ '’Â@’€$’ '’ 4’Âà-’ 4’€=’ @’ÂÀC’ÂÀC’Â@P’Â@P’€V’ @’ @’€=’ 4’ 4’ 4’Âà-’ÂÀC’Â@P’ Y’ÂÀ\’ÂÀ\’Âà_’Âà_’Âc’Âà_’ f’ f’€o’Â@‚’ ’Âàx’Â|’Â|’€ˆ’Â`…’ ’Â`…’Â|’Â@‚’Â`…’Â`…’ÂÀŽ’Â•’Âà‘’Âà‘’ÂÀŽ’Â€¡’Âà‘’Â@›’Â઒€¡’€¡’ ¤’ ¤’ÂÀ§’®’€º’®’ ±’Â@´’Â`·’ÂàҀº’ ±’€º’Â`·’ ±’ ±’Â`·’ÂàÒ ½’ ½’€º’ÂàÃ’Â`В ֒ ֒Â`В ֒ÂàÜ’Â ã’€ì’Âà’€ӒÂ`é’ ï’ ï’€ì’Â`钀쒠ì’Â@æ’€ì’Âù’ ü’ “ “Âà“Â`“Â@“ !““Â@“Â@“Â`“ !“ÂÀ$“€“€“Âà'“ !“€“ !“€7“€7“Â`4“Â@1“Â@1“Â`4“ .“Â@1“ :“€7“Â`4“ÂÀ=“ÂÀ=“Âà@“ G“ÂàY“ S“ S“ S“€P“ S“ S“ S“Â`f“€i“Â`f“Âàr“Âàr“Âàr“Â@c“ l“Âàr“€i“€i“ÂÀo“Âàr“€i“ l“ÂàY“ `“€i“€i“ l“ÂÀo“Â@|“€‚“Âà‹“Âà‹“Âà‹“Â€›“Â`˜“ ’“Âà‹“Âà‹“Â …“ÂÀˆ“ ’“Â`˜“Âà‹“Âà‹“Â“Â ž“ ž“ÂÀ¡“ÂÀ¡“ ž“ ž“€›“€›“¨“Â`±“ «“Âओ€›“ ž“ ž“ «“Âओ¨“ «“Â`±“Â@®“Â`±“€´“Â@®“€´“ÂÀº“ÂནÂÀº“ ·“ÂནÂÀº“ÂÀº“ ēÂནÂ`ʓ ГÂà֓ ݓ é“ÂÀì“Âàï“ é“€æ“Â`ã“Â@à“ é“Â`ã“Â`ã“ Г ݓÂàÖ“ÂÀÓ“Â`ã“€æ“Âàï“ ö“Â`ü“ ” ” ”€ÿ“ ”Â`” ”Âà”Âó“Â@ù“Âà”Â`” ”€”Â`”Â@”Â`” ”ÂÀ”Âà!”Âà!” (”Âà!” (”€1”Â@+”Âà!”Â%” 4”Âà:” 4” 4”Âà:” 4”Â`G” A”Â@D”Â@D” A” M”€J”ÂàS”Â@]” M”ÂàS” M”ÂàS” M”Â@D” A”ÂÀP”ÂàS”Â``”Âàl” s” s” s” f” f”ÂàS”Â@]” Z”ÂW”Â``”Â``” f” f”Âp”Âàl”Â@v”ÂÀi” f”ÂÀi” f”Â@v” ”Â@”Â@”‰” ” Œ”Â@” ˜”Âàž”Âàž”Â ˜” Œ”€•”€•”Â`’”Â`’”Âàž”Â ¥”Âàž”Âàž”Â¢”€®”€®”€®”Â@¨”Âු»” ʔÂ@Á”Â`Ĕ ʔ€ǔ ¾”€ǔÂ`Ĕ ʔ ʔ הÂàДÂàДÂԔ ה הÂ@ڔ€à”€à”€à” ã”€à”ÂԔ הÂÔ”ÂÀ͔ הÂàДÂàДÂÀÍ”ÂàД הÂ`Ý”ÂÀæ” ã”Â`ݔ€à”Â`Ý”Â`ݔ ã” ã”Â@ڔ ʔÂàДÂԔ€à”Âàé” ü” ü”Â`ö” ð”€ù”Âí” ð” ã” ð”Â@ó”Â@ó” ü”Â@ •Â`•Â`• •Â@ •ÂÀ•€• "• •ÂÀ• "•€••Âà•€• • • •€• •Âà•Â`(•€+•€+•€+• .•Â8• .•Â8•Â`(•€+• "•ÂÀ• •Â`••Â@%•ÂÀ1•ÂÀ1• ;• .• .•Âà4•Â8•Âà4• ;•Â8• G•ÂÀJ•ÂàM• G•ÂQ•ÂQ•Â`Z• T•ÂQ• G•€D• G• G•ÂàM•ÂàM• G•ÂQ•ÂÀJ•ÂàM•ÂàM• ;• ;• G•ÂàM•ÂÀJ•ÂQ• T•ÂàM•ÂàM•€D•Â`A•Â@W• `•ÂÀc•Âj•Âj• m•Âj•Âàf•ÂÀc•Â`Z•ÂQ• T•Â@W•Â@W•Â`Z•€]• `• `•Âàf•ÂÀc• m• m• `•ÂàM•ÂQ• T•Â@W•Â@W•Â@W• T•ÂQ•ÂQ•ÂQ•Â`Z•Â@W•Â`Z•Â@W• G•ÂQ•ÂQ• T•ÂÀJ•Â`A•ÂÀJ• G• ;•Âà4•€D•ÂàM•ÂàM• G•ÂÀJ• T•ÂQ• T•Â@W• G•€D• G•ÂÀJ•ÂÀJ• T•Â`Z•Âàf•Â@W• T•ÂàM•Â@W•ÂàM• G• G• T•Â@W•Â@W•Â`Z•ÂàM•ÂàM•€D•ÂàM•ÂÀJ•Â`Z•ÂQ•ÂQ•€]•Â`Z• `•Âàf• `•ÂÀc•Âj•Âàf• m•Â`s•Âj•ÂÀc•ÂÀc• `•Â@W•Â`Z•€]•Âàf• `•€]• `• `• m•ÂÀc•€]•€]•Âàf• m•ÂÀc•ÂÀc• m•Âàf•Â`s•Âà• y• m•Âj•Âàf•Âj•Âj•Âàf•Âàf•Âj• m• m•Â@p•€v•ÂÀ|•€v•Â@p•Âj•Â@p•Â`s• y•Âj• `•Â@W•ÂQ•€]•Âàf• m•Â`s•Âà• †• y•Âà• †•Â@‰•ƒ• †• †•ÂÀ|•Â`s•Â@p•Âj• y• y• y• m• y• †•Âà•Âà•ÂÀ|• †•Âà•Â`Œ•Â@‰•€•Â`Œ•€•€• ’• ’•Â`Œ•Âà˜•Â€•Âà˜•Âœ• Ÿ•€¨•œ•Âà˜•Â€•Â@‰•Â@‰•Âà•€v•Âà• ’•€•ÂÀ••€•Â@‰•€•Â`Œ• ’•ÂÀ•• Ÿ•œ•ÂÀ•• Ÿ• Ÿ• Ÿ• ’•Â@‰•€•Â`Œ•Âà•€v• y• y•ƒ•Â@‰•ÂÀ••Â`Œ•ÂÀ|• y•Âà•Â`Œ•€•Â`Œ• ’• ’•ÂÀ••ÂÀ••€•€•Â`Œ• ’• Ÿ•ÂÀ••ÂÀ••Âà˜•Â@‰• †•Âà˜•Âœ• «•Âà˜•Â ’•Â`Œ• ’•ÂÀ••ÂÀ®•Â`¥• Ÿ•œ•Âà˜•Â Ÿ• ’• Ÿ• Ÿ• «• Ÿ• Ÿ• «• «•µ•€¨•Â`¥•ÂౕÂÀǕ€Á• ĕÂÀǕ ĕÂౕ ¸• ¸•ÂÀ®•€¨• «•Â@»• ĕ€Á•Â`¾•€Á•Â`¾• «• «•Â`¥•€¨• «•€¨•ÂౕÂÀ®• «•ÂÀ®•Â`¥• «•Â@»•Â@»•Â`¾•Â`¾• ¸•Â`¾• ¸•ÂÀ®•ÂÀ®•Âౕ «•€¨• ¸• ¸•Â@»• ĕ€Á• ĕÂΕ ĕÂàʕ ѕÂΕ€Á•Â`¾•Â@»• ¸• ¸• ¸•Âౕ ĕ ¸•ÂÀ®•Âౕ ĕÂ`¾•ÂౕÂ`¾•Â@»• ¸•Â@»•Â@»• ĕÂ`¾• ¸•µ•ÂౕÂౕÂౕÂ`¥•€¨•ÂౕÂÀ®• «•Âౕ ¸•Âౕ ¸•Â`¾•€Á•Â@»•ÂàÊ•ÂÀÇ•ÂàÊ•ÂΕÂÀǕ ĕÂ@»• ĕÂÀÇ•ÂÀÇ•Â`¾•Â@»• ¸•ÂౕÂÀ®• ¸•Â`¾• ĕ ĕ ĕÂ`¾• ĕ ¸•Âౕ ¸•ÂౕÂౕ ¸•ÂÀ®•Âౕ€Á• ¸•Â@»•€Á•Â`¾• ĕÂΕ ѕÂΕÂÀÇ•Âàʕ ĕÂÀÇ•ÂÀÇ•ÂΕÂΕÂ`¾• ¸•µ• ¸•ÂÀÇ•Â@Ô•Â`וÂ@Ô•Â@Ô•Â@Ô•Â Ñ•ÂÀǕ ĕ ѕÂ@ԕ ѕ ѕÂ`¾•ÂÀǕ ĕÂΕ€Á• ĕ ĕ€Á• ¸• ĕ ĕÂàÊ•ÂΕÂÀǕ ĕ€Á•€Á•ÂàÊ•Âàʕ€Á•ÂàÊ•ÂΕ ݕÂ`וÂàʕ ĕÂàÊ•ÂΕÂΕ ѕ ѕÂàÊ•Â`ו€ڕÂÀà•€ڕÂ`וÂ@ԕ ݕÂ@ԕ ѕ€Á•ÂàÊ•ÂàÊ•ÂàÊ•Â@ԕ€ڕ ê• ê•Â`ð•Â`ð•Â@í•Â@í• ݕÂàã•Âç•€ڕÂ`ו ݕ€ڕ ݕÂ@í•Â`ו ѕÂ`וÂ`ð•€ó•Âàã•ÂÀù• ö•Â`ð• ê•Â@í•Â@í•Â@í•Â`ð•Âç• ݕÂ`וÂÀà• ѕÂ`ו ê• ê• ê•Âàã•€ڕ ݕÂ`ו€ڕ ѕ ݕ ݕÂ`ð•Â@í•Â`ð•Â`ð•ÂÀù• ö• ö•ÂÀù• ö•Â`ð•Â@í•Âàã•Âç•Â@í•Â`ð• ö•€ó•€ó•Â`ð•Â`ð•ÂÀù•Âàü•ÂÀù• ––Âàü• ö• – – ö•ÂÀù•Âàü•Â` – –ÂÀ– – ––Â` –Â@–ÂÀù•€ó•€ó•Â`ð•Âàã• ê• ê•Âàã• ݕÂç•Âç•Âàã•ÂÀà•€ڕ€ڕÂ`וÂ`ו ݕ ݕÂ`וÂ`ו ݕÂç•ÂÀà• ݕ ѕ ѕÂ`וÂ`וÂ`וÂÀǕ ĕÂÀÇ•ÂÀǕ ѕÂ`ו ѕ ݕ ê•Âàã•Âàã•€ڕÂàã•Âç•Âàã• ݕÂ@Ô•Â@Ô•Â Ñ•Â`וÂàã•Âàã•Âàã•Âàã•ÂÀà•Â`וÂΕ ѕ ѕÂàÊ•ÂΕÂàÊ•ÂÀÇ•ÂΕ ĕ ѕ ѕ€ڕ ѕÂ@Ô•Â`ו€ڕ ݕ ݕÂç•Âàã•Â`ð•€ó•Â`ð•€ó•Â@í•€ó•Â`ð• ö•Âàã•Âç•Âç• ê•€ó•– –Âàü• ö•Â`ð•Â`ð•Â`ð•Â`ð• ê• ê•€ó•ÂÀù•ÂÀù•Âàü•Â@––Âàü•Â` – – – –Âàü•€ó• ö•Â`ð• ö• ê•Â`ð• ö•€ó•€ó•€ó•Â@í•€ó•Â`ð•ÂÀù• ö•Â@í•€ó•ÂÀù• –Âàü• – – ö•Â`ð• ö• ––Â@–Â@–Âà– –Â`"–€%– – –Â`"–– ––Â` –Â` –€ –––––Â` –Â@–Â` – – –Â@–Â` – – –Âàü•Âàü• – –Âàü•Â@–Â@–€ –Â`"––Â@–ÂÀ– – –Â` – –Âà–Âà– – – –Âà– –Âà–€ – – –Âà–Â`"–ÂÀ+–ÂÀ+– (––Âà–Âà– – –€ – –€ –Â` – –Â` ––Âà– –Â`"–Â`"– (–Â@– –Â`"–Â@– ––Â@–Â@–Â@– – (– (– (–Âà.–ÂÀ+–€%–€%– (–€%– (–Â`"–Â`"–Â@– (–Â@–Â`"–€%– (– (–Âà.–ÂÀ+– –Â@– 5–ÂÀ+–Âà.–ÂÀ+–Âà.–Â2–Â`"– –€%–ÂÀ+–Â@8– 5– (–€%–ÂÀ+–Âà.–Âà.–Âà.–Â`;–€>– A–Â@8–Â@8–Âà.–Âà.–Â2–Â2–Â@8–Â2– 5– 5–Â@8–Â`;– 5– A–Â`;–€>– A–€W–ÂK– A–Â`;–Âà.– 5– A– A–Â`;–ÂàG–€>–Â`;– 5–Â`;– A–Â@8–Â@8–€>–€>–ÂK– A–ÂK– A– A–€>–Â`;–ÂÀ+–Â@8–Â2– 5– A–Â@8–Âà.– 5–€>– A–ÂàG–Â`;– 5–Âà.–Âà.– 5–Â`;–€>– A–€>–Â@8– 5–Â@8–€>– A–Â@8–ÂàG–Â@8–Â@8–Â2–Â`;– A–ÂK– N–Â@Q–ÂàG– N– Z–Â@Q– A– A–€>– A–ÂàG–ÂK–ÂàG–ÂK–Â@Q–Â@Q–ÂàG–Â@Q–€W–Âà`–Â@Q– N– N–ÂàG–€>–ÂÀD–ÂàG–ÂàG– N– N– Z– N–ÂàG– A– A–ÂÀD–ÂK–ÂàG– N–ÂK–Â@Q–Â@Q–€W– Z–€W– Z–Âà`– Z–Âà`– N– Z– Z– Z– g–€p–Â`m– s–€p– g– Z–Âà`–Âà`–ÂÀ]–€W– N–€W–Âà`– g–€W–€W– Z–ÂÀ]–Â`m–Âà`–Âd–Âà`– g–Â@j– g–Âd– Z–€W–Â`T–Â`T– Z– g–Â@j–Âd–Âà`– g–Âd– s– s– g–€p–€p–Âày– s–€p–Âày– s–Âà`–Âà`–Âà`– Z– Z–Âd–Âd–Â`m–Â`m– g–Â`m–€p–Âày– s–Â@j–Â`m–Â`m–ÂÀv–Â@j–ÂÀ]– g– g–€p–Â`m– g– s–Â`m–Âày–€p– s–ÂÀv–€p–Â@j–€p–€p–€p– s–Âày–€p–Â`m–€p–ÂÀv–Âày– s–Â}– €–Âày–€‰–Âà’–Â`†–Âà’–Â Œ–Âà’–ÂÀ–€‰– Œ–Â`†–ÂÀ––– ™– ™–ÂÀ–€‰– Œ–Â@ƒ– €–Âày–Â@ƒ–€‰– €– s– s–€‰–Â`†–Â`†–€‰– Œ–Â@ƒ–Â@ƒ–Â@ƒ–Â@ƒ–Âà’–ÂÀ– ™–Âà’–Â€‰– Œ–Âà’–ÂÀ–Â`†–€‰–Â`†–€‰– Œ– ™–Âà’–Â Œ– Œ–€‰–Â`†–€‰–€‰–ÂÀ– ™– ¥– ¥–Âà«–Â@œ– ™–Â`Ÿ– ¥–ÂÀ¨–ÂÀ¨–Â`Ÿ– ™–Â`Ÿ– ¥– ¥–Â૖¯–Âà«–Âà«–ÂÀ¨–€¢– ¥–€¢–Âà’–Â€‰– €– €– Œ–€‰–Âà’–Â ™–Â`Ÿ– ™–ÂÀ–€‰– €–Â@ƒ–€‰– Œ–€‰–Â`†–€‰– €– €–Â}–Â`†–€‰– Œ– Œ–––Âà’–Â€‰–Âà’–Âà’–Â ™––– Œ–Â@ƒ–Â`†– Œ–––Â@œ–––Â`†– €–Â@ƒ– s–Âày–Â`†–ÂÀ–Âà’–Âà’–Âà’–Âà’–Â––ÂÀ–ÂÀ– Œ–Â@ƒ–Â@ƒ– €–ÂÀv–Â@ƒ– Œ–Âà’–Â ™– Œ–Â`Ÿ–Â`Ÿ–––ÂÀ–€‰– €– €– €– s–Âày– €– s–€p–€p–€p– €–Âày–Â`†–Â@ƒ–Âày–Âày–Âày– €–Â}–Âày– €–Âày–Âày–Âày– Œ–Â`†– Œ–€‰–––ÂÀ– Œ–––Âà’–Â`†– Œ–Â`†–€‰–€‰–ÂÀ–Â@ƒ– €–Âày–€p–Â`m–Â`m–Â`m– s–Âày–Â}– s–Â`m– s– s– s–€p–Âày–Â@ƒ–€‰–ÂÀ–Â`†–€‰– Œ–Â`†–€‰–€‰–Â`†–Â@ƒ– €––– Œ–€‰–ÂÀ–Â@œ–Â`Ÿ– ™– Œ–€‰– Œ–Â@ƒ–Â`†–Â`†– €– €–ÂÀv– €– Œ–Â`†–Â`†– €– €–Â}–Â`†–Âà’–Â Œ–Âà’–Â@œ–ÂÀ–Â@œ–Â@œ–Â@œ– ¥–€¢–Â`Ÿ– ™–Â`Ÿ–Â`Ÿ– ™–Â`Ÿ–€¢–––€‰– ™– ¥– ™–––––€¢––– ™–€¢–ÂÀ¨–ÂÀ¨–Â૖¯–ÂÀ¨–ÂÀ¨–Â@œ–Â`Ÿ– ¥–ÂÀ¨– ¾–€»– ²– ²–Â@µ–ÂàĖ ¾–ÂȖ ¾–Â@µ–Â`¸–€»–€»–Â`¸– ¾– ²–€»– ¾–ÂÀÁ–ÂȖ ¾– ¾–Â`¸–ÂÀÁ–ÂàÄ–ÂÈ–ÂàÄ–ÂÀÁ–Â`¸–ÂàÄ–ÂȖ ˖ ˖€»– ¾– ˖Â@Ζ זÂÀÚ–ÂàÝ–ÂàÝ–Â`Ñ–Â`Ñ–Â`і€Ԗ€ԖÂàÝ–ÂàÝ–Âá– ˖ ˖ÂàÄ–ÂÈ–ÂÈ–ÂàĖ ˖ ז זÂ`і זÂÀږ€Ԗ ˖€ԖÂÀږ€ԖÂȖ זÂÀÚ–Â@ç– ä–€í–Â`ê–ÂàÝ–ÂÀÚ–Â ä–Âá–ÂÀږ€ԖÂ`і ז זÂàÝ–ÂÀÚ–ÂÀږ€ԖÂàÝ–Âá–€ԖÂÀÚ–ÂÀږ ז זÂ`і ז€ԖÂàÝ–Â`ê–Â`ê–Â@ç– ð–Âú–Âàö–Âú–Âú–Âàö–Âàö–€í–Â`ꖀ햠ð–ÂÀó–ÂÀó– ý–Âú–Â`ê–Â@ç–Âàö– ý–Â`— ý–€—€—ÂÀ —Âà—Âà—€—ÂÀ —ÂÀ — — —Âà—Â`—Â@— — —Â@—Â@— —Âà—€—Â@—€—€—ÂÀ —Âà— —Â@—€—Â@—€—Â@—€— ——Â`—Â@—Â`—€—Âà(— "— "— /— /—Âà(—ÂÀ%— /— "—Âà(— "—Âà(— "— "—Â,— /—Â`5— ;—ÂÀ>— ;—€8—€8— "— "——Âà— "— "—Â@—Â`—€— "— "— /— /— /—ÂÀ%—Âà(—Âà(—ÂÀ%—Â@—Âà(—Âà(—Â,—ÂÀ%—ÂÀ%—€— "— —€—Â`— "— "— "—ÂÀ%—Âà(—Âà(—ÂÀ%— "— "—€—€— "—Â,— ;—Â`5—Â`5—ÂE—Â@K— H—ÂÀ>—ÂÀ>— ;—ÂE— H— ;—Â`5—€8— ;— H—Â@K— H—€Q—Â`N—ÂàA—ÂÀ>—ÂàA—Â`5—ÂÀ%—Â,—Âà(—Â,—Â,— /—€8—Â@2—ÂàA—ÂàA—ÂÀ>— H— H—ÂE—ÂàA—ÂàA—€8—ÂE— ;— ;— ;—ÂÀ>—ÂàA— ;— ;—ÂÀ>— ;—ÂàA—Â`N—€Q— H—ÂàA—ÂE— H—Â`N— T—Â^—Â@K— ;— ;—Â`5— ;— ;—ÂàA— H—Â@K— ;—ÂàA—Â@K—Â`N—Â`N—Â@K— H—Â@K— T—ÂÀW— a—ÂàZ—Â@K— T—Â`N— H—Â@K—Â`N—ÂàZ—Â@d— a— a—Â^—Â^—ÂàZ—ÂÀW—ÂàZ— a—Â`g— m—€j—Â`g—Â`g— a—€Q— T—ÂàZ— T— T—ÂÀW—ÂÀW—Â`N—ÂE—Â@K—€Q— H— H— H—Â@K—Â`N—ÂàZ—ÂÀW—Â`N—Â@K—Â`N— H— H—ÂE—ÂàA—Â`N— T— T— T—ÂàZ—ÂÀW— T—€Q—ÂàZ—€Q—Â`N—Â^— T— T—Â^—Â^—ÂÀW—Â`N—Â`N—ÂàZ— T— H—Â`N— T— T— T—Â^— a— T— a—ÂàZ—ÂÀW—€Q— a—Â`g—€j— m— a—Â^—ÂÀW—ÂÀW—ÂàZ— T—€Q—Â@K—€Q—ÂÀW— a—Â^— a—Â@d—Â^—ÂÀW—ÂàZ— T— T— T—€Q— a—Â^—Â`N— T— T—ÂÀW—ÂàZ—Â`g— m— m—Â^—Â@d—ÂàZ— T— a— a—Â`g—Â@d—€j—Â@d—ÂàZ—Â`g— m— m—Â@d—Âàs— m—€j—Âàs—ÂÀp—Â@d— a—ÂÀp—ÂÀp— m— m—ÂÀp—Âàs—ÂÀp— m—ÂÀp—ÂÀp— z—Âàs—Â@}— m— z—Âw—Â@}— z— z—€ƒ— z— z— m—Âàs— z—Â`€—€ƒ—Âw—Âàs— z—Âàs— z—ÂÀp—Âw— z—Â@}— †— †—ÂÀ‰—Â`€—Â@}—€ƒ—Â`€— †—Â`€—€ƒ— †—Âàs— z— z—Â`€—€ƒ—ÂàŒ—ÂÀ‰—ÂàŒ—Â€œ— “—— “—— “— “—ÂÀ‰—€ƒ— z—ÂÀp—Âàs—Â`€—€ƒ—€ƒ—Â`€—Â`€— †—Â`€—ÂàŒ—ÂàŒ—ÂÀ‰——— †—— “—ÂàŒ—Â †—ÂÀ‰—€ƒ—€ƒ—Â`€—Â`€—Â`€—€ƒ— †— “—Â@–—Â`™—€œ— “— †—Âw— z— †——ÂàŒ—Â@–—€œ—€œ—€œ—Â@–——— “— “—ÂàŒ—ÂàŒ—Â—ÂÀ‰— †—ÂàŒ—Â€ƒ——— “—ÂàŒ—Â@–—€œ—Â`™— Ÿ—Âॗ Ÿ—ÂàŒ—Â@–— Ÿ—ÂॗÂ`²—Â`²—ÂÀ»— ¬—Âॗ ¬—ÂÀ¢—Âॗ ¬— ¬—Â`™——Â`™— “——— “—Â`™—— Ÿ—ÂÀ¢— ¬—ÂॗÂÀ¢—ÂॗÂÀ¢—ÂÀ¢—ÂÀ¢—Â@¯—€œ—Â`™—Â`™— “—€œ—€œ—Â`™— “—Â`™— “— “—Â`™— “—ÂàŒ—Â—ÂàŒ—Â “—ÂàŒ—ÂÀ‰—€œ— Ÿ—ÂॗÂॗÂÀ¢—Â`™—Â@–—ÂÀ¢—ÂॗÂॗÂ@¯—ÂÀ¢— Ÿ—ÂॗÂॗ€œ— Ÿ—ÂॗÂ`²—Â@¯— ¬—€œ—Â@–— Ÿ—Â@–— “—ÂàŒ—ÂàŒ—Â “— Ÿ—Â`™—Â`™—Â`™— Ÿ—€œ—Â@–— “—ÂàŒ—Â€ƒ—Â`€— †— †— z—Âàs— m—Â`g—Â`g— m—Âw—Âàs—ÂàZ—€j—Âàs—Â@}—ÂÀp—€j— a— a— m— a— a—€j—€j—€j—€j—Â`g—ÂàZ— T— a—Â`g— a— a— a— a—Â`g— m— m—Âw— m— z—Âw—Âàs—€j—€j— a— T— T—€Q— T—Â`N—Â`N—Â`N—Â`N—Â@K—Â@K—Â`N— T— T—€Q—Â@K— T—Â`N—€Q—ÂàZ—€Q—Â@K—Â`N—Â@K—ÂÀ>—ÂàA—ÂÀ>—ÂE—Â@K—Â`N—€Q— T— H—ÂàA— H— H—ÂàZ—ÂÀW—€Q— T—ÂàZ—€Q—€Q— T—ÂÀW—ÂàZ— T—ÂÀW—Â^—ÂàZ— m—€j— m—ÂàZ—ÂÀW—€Q— T—Â`N—ÂàZ— T— T—€Q—€Q—ÂàZ—ÂÀW—€Q—€Q— T— T—Â`N—ÂàA—€8—ÂàA—Â@K—€Q— a— a— a—Â^—ÂàZ—Â`N—ÂE—ÂàA— H—ÂE—Â`N— H—Â`N—ÂÀW—ÂàZ— T— T—€Q—€Q— T—ÂÀW— T—€Q— a— T—ÂÀW— T— T— a—Â@d—Â`g— a—Â@d—Â@d—Â@d—ÂàZ—ÂàZ— T—Â@d— a— T—Â^—ÂàZ—Â`N—Â`N—Â`N— T—ÂÀW—ÂÀW— T—ÂÀW— a—ÂÀW—Â@d—Â^— a—€Q— T—Â^— m—Â@d—€j— m— m—Âw—ÂÀp—Â^—Â`g—Â`g—Â`g—Â@d—Â^— a—Â^—€Q—€Q—Â^— a—Â`g—Â^—ÂàZ— T—ÂàZ—€Q—ÂÀW—Â^—Â@d—Â`g—Â@d— m— a—Â^—Â@d— m— z—Âàs—Âàs— m—€j—Â`g—Â^—Â^—Â@d—ÂÀW— a— T—ÂÀW—ÂàZ—ÂàZ—ÂÀW— a— a—Â@d—Â@d—Â@d— m— m—Âàs—€j— m—Â`g—Âàs—Â@}—Â@}— z— z— m— m—Â`g—Â`g—€j— m— m—Â`g— m—Â`g—€j—Âàs—Â`€— z—Âw—Âàs—€j— a—ÂÀp— z—Âàs—Âàs—Âw—Â`€—ÂàŒ—Â †—Â`€—Â`€— z—Âw—Â`€— z—ÂÀp—Âàs— m—Âw—Â@}—Âàs—Âw—Âàs— z—Âw—Âàs—Âw—ÂÀp— z— z—Â`€— †—€ƒ—Â`€—Â`€—ÂÀp— m—Âàs— z—Âw—Â`€— z— z—Âàs— z—Âw—€ƒ—Âw—Âàs—Âàs—Â`g—€j—Â`g— a—€j—Â@}—Âàs— z—Â`€— z—Âàs—Âàs— a—Â^— a—Â^— a— a— a—Â`g— m— z— m—Â@d—Â@d— m— z— m— a—Â@d—€j—Â`g— z— z—Âàs—Âàs— z— z— z—Âw—Âw— m— m— m—Âàs—€j—Â^—€j—Â`g— m— a—Â^— m—Âàs—Âw— m— z—ÂÀp—Âàs—€j— m— m—€j—Â`g—ÂÀp—Âàs—ÂÀp— m—Âw— z—Âàs—ÂÀp— m—Â@}—Â`€— m—Âàs—Âàs—Â`€— z—Âw—Âàs—Â@}— †—Â`€— †— †— †—Âàs—Âàs—Âàs—Â`g—Âàs—Â`€—Â@}— z— z—Âàs—Â@}— †—ÂàŒ—Â “—ÂÀ‰— z—Â`€—€ƒ—€ƒ— z—Â`€—ÂÀ‰— †—Â@}—Â@}—Â`€— †—Â`€—Âw—Â`€—Â@}—Âw—Â`€—Â`€—€ƒ—ÂÀ‰—ÂàŒ—ÂÀ‰— z—ÂÀp—Âw—Â@}— z—Âàs—Â`€— †— z— z—Â`€— z—ÂÀ‰—€ƒ—Â`€—ÂÀ‰— †—Â`€—ÂàŒ—ÂÀ‰—€ƒ—Â`€— †—Âw—€ƒ—Â`€—Âw—Âàs—Âw— z— †—ÂÀ‰— †—€ƒ—Â`€—€ƒ— z— †—ÂàŒ—Â—ÂàŒ—ÂàŒ—Â †— †— †—ÂÀ‰— †—ÂÀ‰— †— †— †— †—Â@}—Â@}—Âàs—Â`€— †—€ƒ— †— †——ÂàŒ—Â z—Âàs— m—ÂÀp—Â`g—Â`g—Â`g—Âàs— z—ÂÀp— m—Âàs— z—Âw—Â@}—Â@}— z—Â@}— z—Âw— m— a— a—Â`N—ÂÀW—Â@d—Â`g—€j—€j—Â@d—Â@d—Â@d— m—Â`g— T—ÂàZ—ÂàZ—€Q—ÂÀW—€Q—€Q—ÂÀW— T—ÂàZ— T— H— H—ÂE— H—ÂàA— ;—€8— /—Â,— /—Â`5—ÂàA— H— ;—Â@2—Âà(—Âà(— "— "—Â`—€—Â`—Â@—Â`—Â`—Â@—€— "— "—Â`——Âà—  —ÂÀ —ÂÀ —  —Â`—  —Â@—Â@2—€—Âà—ÂÀ —  —Â`—Âú– ý– ý– ý–  —Â`—ÂÀ —Âà— ý–Â@—Âàö–Âú– ý– ð–Â`ê–Âá–Â@疀햠ð–Âú–Âàö– ý– ý–Â@ç–Âàö– ð–Â`ê– ð–€í– ä–Â`ê– ð–Âàö–  —Âú–Â`ê–Â`ê– ä–€ԖÂ@ΖÂ`Ñ–ÂàÝ–ÂÀږ€ԖÂᖀ햀햠ð–€í– ð–€í–€í– ä–Â`ꖀ햀í–Â@ç–Âá–€Ԗ€Ԗ€ԖÂ`і€Ԗ ז€Ԗ ä–Âá–ÂàÝ–ÂàÝ–ÂÀږ ז€Ԗ ז ז זÂ@ΖÂ@Ζ ˖Â`і זÂ@Ζ€Ԗ זÂ`і ¾–Â`¸– ¾–ÂÈ–ÂȖ€ԖÂ`Ñ–Â@Ζ זÂàÝ–Â`ê–€í–Â@ç– זÂ@ΖÂàÄ–ÂÈ–ÂàÄ–ÂÈ–Â Ë–Â@ΖÂ@ΖÂ@Ζ ˖ÂÈ–ÂÈ–Â Ë–Â Ë–Â@ΖÂ@ΖÂÈ–Â Ë–ÂÈ–Â Ë–Â`¸–ÂÀ¨– ²–€»– ²– ²–¯–ÂÀÁ–ÂàÄ–ÂÈ–ÂàÄ–ÂÀÁ–ÂàÄ–Â`¸–¯– ¾–Â૖ ¥–Â૖¯–ÂÀÁ–ÂÀÁ–Â`Ñ–Â`Ñ–ÂÈ–Â Ë–ÂÀÁ–€»– ²– ¾–ÂÀÁ– ¾–ÂÈ–Â@ΖÂàÄ–Â ²– ²– ²– ²–Â૖¯–¯– ²– ²– ¾– ²–¯– ¥– ¥– ¥–Â૖ ¥–Âà«–Â ²–Â`¸–Â`¸– ²–Âà«–ÂÀ¨–Â`Ÿ– ¥–ÂÀ¨–¯–ÂÀ¨–Â૖ ¥–ÂÀ¨– ²–Âà«–Â૖ ¥–€¢–ÂÀ¨–Âà«–Â ™–Â`Ÿ–€¢– ¥– ¥–ÂÀ¨– ¥–Â`Ÿ–Â`Ÿ– ¥–ÂÀ¨–ÂÀ¨–Â`Ÿ–Âà«–ÂÀ¨–€¢–Âà’–Âà’–ÂÀ– ™– ™–ÂÀ– Œ–ÂÀ– Œ–ÂÀ––– Œ–Â`†–ÂÀ–€‰–Â@ƒ– Œ–Â`†– Œ–Â@œ–Â`Ÿ–Â@œ–ÂÀ¨–¯– ²–Â`Ÿ–Â`Ÿ– ™– ™–€¢–Â@œ–Â@œ––– ™–Â@œ–Â@œ–Â`Ÿ– ™–€¢–Â`Ÿ–Â`Ÿ–€¢–€¢–ÂÀ– Œ–ÂÀ–ÂÀ–Âà’–Â Œ–€¢–€¢–ÂÀ–Âà’–Â€¢–Â૖€¢–Â@œ–Âà’–Â ™–Âà’–Â Œ–€‰––– ™– Œ– ™–Â`Ÿ–––ÂÀ–Âà’–Â€‰–€‰––– ™– Œ– Œ–ÂÀ–––Âà’–Â Œ–Âà’–Â€‰–Â`†– Œ––– ™–––Âà’–Â@œ–Â@œ–Â`Ÿ–––€‰–€‰– Œ–€‰–Â@ƒ–Â@ƒ–Âày–Âày– €–ÂÀv– €– €–ÂÀ–Âà’–Â Œ–Â`†– s– s–Âày–Â@ƒ– Œ–Â`†– Œ–€‰–Âà’–Â€‰–Â@ƒ–ÂÀ–€‰– €– €–Â@ƒ– s–Âày– s–Âày– €–Â@ƒ– Œ– Œ–€‰–Â`†– Œ– €– s–Â`m– s–Âày–Âày–Âày–Â}–Â}–Âày– s–€p–ÂÀv–Âày–Âày– s–€‰–Â`†–Âày– s– s–ÂÀv–Âày– s–€‰–Âà’–Âà’–Â Œ–ÂÀ–Â`†–€‰– €–Âày– s– s– €–ÂÀv– €–ÂÀ––––––– ™–Â`†–€‰–Â`†– €– €–Âày–Â}–Â}–Â}–€p–Â`m–€p–Â@j–Âd–Âd–Â`m–Âà`– Z– Z–Âà`– s–€p–€p–Âà`–€W–€W– Z–Â@j–Â@j–Â`m– g–ÂÀ]– Z–Â`T–Âà`– g–ÂÀ]– Z– Z– g–Â`m– g–Â`m–Â`m– g–ÂÀ]–ÂÀ]–Âd–Â@j–Â`m–€p–ÂÀv– €– €– €–Â@ƒ–Âày–Â`m–Âà`–Âà`–Â@j–Â@j–Âà`–Â`m–Â}–Â`m–Â@j– g–Â`m–Â`m–Â@j–Âày– s– s–ÂÀv–Âày– s–ÂÀv–Â`†– s–ÂÀv– s–€p–Â@j– g–Âd– g–Âd–Âà`– Z– g– g– g–Â`m–€p–Â`m–Âày–Â@j–Â@j– s– s–€p– s–Âd– g–Â`m– s–Â`m–€p– g–Âà`–Âà`–Â@j–Â}– s–Â`m–ÂÀv– €–Â`†– s–Âày– €– s–Â`m–Â`m–Âày–Â@j– g–Â`m– s–Âày–Âày–Â`m– €–Â@ƒ– €–€‰–Â}–Âày– €–Â@ƒ–Âày–Âày–Âày–Â@ƒ–Âày–Âày– s–ÂÀv– Œ–Â`†–Â`†– €–ÂÀv–ÂÀv–Âày– Œ–€‰–Âày–ÂÀv– s– s– €– €– €– s–Âày–Âày– €–Âày–€p–Âày– s– s– s–Âày– €– Œ–€‰–Âày–Âày–ÂÀv–ÂÀv–€p–Â`m–Âày–€p– s– s–ÂÀv– €–Â`†– s– €– €–€‰–Â@ƒ–ÂÀv–ÂÀv– €–Â}– €– €–Âày–Â@ƒ– €–Â}– s–Â`m– g–Âà`–Âà`– g–Â`m– s–Â`m–€p– s– s– s–Â`m–ÂÀv–Â}–Â`†–ÂÀ– Œ–Â@ƒ–Â}– €– €–Â@ƒ– €–ÂÀv–Â}– €–ÂÀv–ÂÀv–Â@j–Âày–Â@ƒ–€‰–Â`†– €–Â@ƒ– €–ÂÀv–Â`†–Âày– €–Â}– €–Â}–Â}–Â}–Âày– €–Â@ƒ–Âày– €– s–€p–Âày–ÂÀv– €–Âày–ÂÀv–Âày–Â`†–Âày– €– €– €– Œ–ÂÀ–Â`†–Â`†– Œ–––Â`†– €– €– €–Âày–Âày– €– €– €–Â@ƒ– €–Â`†–Âày–Âày– €– s–Â`†– Œ– Œ–ÂÀv–Â@ƒ– €–€‰–Âà’–Â ¥–Â@œ––– ™– ™–ÂÀ–ÂÀ– Œ–––€‰–€‰–ÂÀv–Â@ƒ– Œ–Â`†–€‰–Â@ƒ–Â`†– Œ– Œ–Âà’–Â@œ––– ™–––€‰–Â`†– €–Â@ƒ–Â}– Œ–Âà’–Â Œ–––Â@œ–Âà«–Âà«–ÂÀ¨–€¢–ÂÀ¨– ²– ²–€¢– ¥–¯–Âà«–Âà«–Â૖€¢–€¢– ¥–Âà«–ÂÀ¨– ¥–¯–Â૖ ¥– ²–Â`¸–ÂÀ¨–Â`Ÿ–Â@œ–€¢– ¥–Âà«–ÂÀ¨–Â@œ––––– ™– ¥–Â`Ÿ––– ™– ¥– ™–€¢– ¥–Â`Ÿ–Â`Ÿ– ¥– ²–Â@µ–ÂÀ¨–€¢– ™–Â@œ–ÂÀ¨– ²–Âà«–Â`Ÿ–Â`Ÿ– ™– Œ–ÂÀ–Âà’–Â ™– ™– ¥–Âà«–Â`Ÿ–€¢–€¢–€¢–€¢–¯– ²–¯–¯– ¥–€¢–¯– ²– ²– ¥– ™–Â`Ÿ–Âà«–ÂÀ¨–€¢–ÂÀ¨–€¢– ¥–Â`Ÿ–ÂÀ¨– ¥– ™–Â`Ÿ– ¥–Â૖¯–Â@µ–€»–¯– ²–Â@µ–¯–ÂÀÁ–ÂàÄ–ÂÈ–ÂàÄ–ÂÀÁ– ¾– ²– ²–Âà«–Â ²–ÂÀ¨–€¢–ÂÀ¨– ²– ¾– ²–€»–Â@µ–Â@µ– ²– ²– ²– ¥–Âà«–Â@µ–Â`¸– ²–Â`¸–Â`¸–€»–Â`¸– ²– ²–ÂÀÁ– ¾–Â`¸–Â`¸– ¾– ²–Âà«–Â`¸– ²– ¥–Âà«–Â ²–Â@µ–€»–ÂÀÁ–€»–¯– ²–Â૖ ¥–Â`Ÿ–€¢–€¢–€¢– ™–Â`Ÿ–ÂÀ– ™–€¢–€¢–Â`Ÿ–Â@œ–Âà’–Â@œ–€¢–ÂÀ¨–Â`Ÿ–€¢–Â@œ– ¥– ™– ™–Âà’–Â ™––– ™– ™– Œ– ™– ™– ¥– ¥–ÂÀ¨– ™–Â@œ–€¢– ¥–¯–ÂÀ¨–Â`Ÿ–Âà’–Â Œ– ™–Â`Ÿ–Â`Ÿ– ¥– ¥–ÂÀ¨–€¢– ¥– ™–Âà’–Â@œ–Â@œ–Â`Ÿ––– ™–ÂÀ¨–Â@œ–€¢–Â@œ– ™–––Âà’–Â––––Âà’–Â Œ–––Âà’–Âà’–Âà’–Âà’–Â Œ–Âà’–ÂÀ–ÂÀ– Œ–Âà’–Âà’–Â@ƒ– €– €– Œ–€‰–Â`†– €– €–Âày–Âày–Â@ƒ–Â@ƒ– Œ–ÂÀ–Âà’–Â–– ™–€¢– ¥–Â@œ– ™–Âà’–Âà’–Â Œ–€‰– ™–Â@œ– Œ–ÂÀ– Œ–Âà’–Â––Â@œ– ™– ™–€¢–ÂÀ–€‰–Â`†–Âày– s–Âày–Â@ƒ– Œ– Œ– Œ–Âà’–Â Œ–ÂÀ–ÂÀ–Â`†– €–€‰–Â}–Âày– s–Âày–Â}–Âày– €–Â@ƒ–Â@ƒ–ÂÀ–ÂÀ– Œ–Â`†–Â@ƒ–Â@ƒ– Œ– Œ– Œ–€‰– €– €–Âày–Â}–€p– g– g–Â`m– s–Âày– €–Â@ƒ–Âày– Œ– €–Âày– s–ÂÀv–ÂÀv–€p– s– s–Âày–ÂÀv–Â}– €– s– €–ÂÀv–Â`m–ÂÀv– s–ÂÀv–Â@ƒ–Â@ƒ–Âày– s–Â`m–Âà`–Âd–Â`m–ÂÀv–€p–Â@j–Âd– g–Â`m– g–Âd–Â@j– g– g–€p–Â`m–Â`m–Â@j– g–€p– g–€p– s–€p– s– s–Â`m–€p–€p–Âd–Âà`– s–Â@j–€p–Â`m–Â@j– Z–€W–ÂÀ]–Âà`– g–Âà`– g–Âd–ÂÀ]–Â@j–Â@j– g–Â@j– g– g– s–Âày–Âày– s–Â}–Âày–Â@j– Z–ÂÀ]– s– Œ– Œ– €–Â@ƒ–Â`†–Â@ƒ–Âày–Â`m– s– €–€‰–Â`†–Â`†– €– s– s–Âày– s– s–Âày–Â`†–Â`†– s–Â}–Â`†–€‰–Â`†–Â`†– Œ–––––Â@œ–ÂÀ–––––Âà’–Â ™– Œ– Œ– €– Œ– Œ– Œ– Œ–Âà’–Â Œ– Œ–Â`†– €– €–Â}–ÂÀv–Â@ƒ–Â`†–€‰–Â@ƒ– Œ–––Â@œ–€¢–€¢–Â@œ–Âà’–Â Œ– Œ–Â`†–€‰–Âà’–Â Œ–Âà’–Âà’–Â Œ–ÂÀ–Â@œ–––––––––Â`Ÿ–Â`Ÿ– ™– ™–Â@œ–Â@œ–Â@œ– ™–ÂÀ– ™–Âà’–Â ™–Âà’–Â ™–––Â@œ–Â@œ–––Â`Ÿ– ¥–€¢– ¥–Â`Ÿ–––€‰–Â}–Â@ƒ–€‰–––Â@œ–Â`Ÿ–Â`Ÿ– ™–ÂÀ¨–Â`Ÿ– ™– Œ––– ™– ¥–––Â`†––– ¥–Âà«–ÂÀ¨–Â`Ÿ– ™– ¥–€¢–Â`Ÿ– ™––– ™– ™– Œ– Œ–Âà’–Â Œ–Âà’–Âà’–Âà’–Â`Ÿ–Â@œ–€¢––––– ™–Â`Ÿ– ™–Â`Ÿ–Â@œ–Âà’–Â`Ÿ–€¢–Âà«–Â@µ–Â૖€¢–Â`Ÿ–€¢– ™– ™– ™– ¥–¯–Â@µ– ¥– ²– ²– ²–Â૖ ¥–Âà«–Â ²–¯–Â`Ÿ–Â`Ÿ– ¥–¯– ¥–€¢–€¢– ™– ™– ™– ¥–¯– ²– ¾– ¾–Â@µ–¯–Â`¸–Â@µ–ÂÀ¨–Â૖¯–Â@µ–ÂÀÁ–Â@µ– ²–Âà«–ÂÀ¨–¯– ²– ²–Âà«–Â`Ÿ–€¢–Â@œ–€¢– ¥–ÂÀ¨–ÂÀ¨– ¥–ÂÀ¨–ÂÀ¨– ²–¯– ¥–¯–¯–Âà«–Â@µ– ¾–€»–Â`¸– ¥–Â@œ–Â`Ÿ– ¥–Â`Ÿ–€¢– ¥– ²–Â@µ–Â`¸–Â૖ ¥– ¥– ²– ²– ²–Â`¸–Â`¸–Â`¸– ²–¯–Â`¸–Â@µ– ²– ²–€»–€»–Â`¸–Â@µ–€»–Â`¸–Â@µ–Â૖¯– ¥–ÂÀ¨–ÂÀ¨–¯–ÂÀ¨–€»–€»– ¾– ¾– ¾–ÂÀÁ–ÂàÄ–Â@µ– ¾–Â`¸–Âà«–Â@µ–Âà«–Â૖€¢–Âà«–Â ²–Â`¸–Â@µ–€»–ÂÈ–Â Ë–Â Ë–ÂÀÁ–€»–ÂÀÁ–ÂÀÁ– ¾– ²–Â@µ–Âà«–ÂÀ¨–€¢–€¢–Âà«–Âà«–Âà«–Âà«–Â`¸–¯– ²– ²–Â`¸–Â@µ–€»– ²–Â`¸–Â`¸–Â`¸–€»–¯–Â@µ– ²– ²–€¢–Â`Ÿ–Âà«–Â@µ– ²– ²–¯–¯– ²– ²–Â`¸–Âà«–ÂÀ¨–¯–Â`¸–Â`¸–Â`¸–€»–€»–¯–Âà«–ÂÀ¨–Â`Ÿ–ÂÀ¨–€¢–ÂÀ¨–ÂÀ¨– ¥–Âà«–Âà«–Â૖ ¥–Âà«–Âà«–Â૖¯–Âà«–Â`¸–Â@µ–¯– ¥–¯– ²– ²–Âà«–Â ²–ÂÀ¨–€¢–ÂÀ¨– ¥–€¢–¯–¯–Â`¸– ²–Â`¸– ²– ²– ¾–Â@µ–¯–Âà«–Â ²– ²–Âà«–Â ²–Â૖ ¥–¯–Â@µ–€»– ¾– ²–¯– ²– ¾–ÂàĖ€»– ¥–Â૖€»– ¾–ÂàÄ–ÂÈ–Â`Ñ–ÂÈ–Â`¸–€»–Â`¸– ¾–Â`¸–Â`¸– ¾– ¾–ÂÀÁ– ¾–ÂàÄ–ÂàĖ ¾– ²–Â@µ– ²– ²–Â૖¯– ²–¯–Â`¸– ²– ¾– ˖ÂÀÁ–Â`¸– ¾–€»– ˖€»–ÂÀÁ–ÂàĖ ¾– ¾–€»–€»–ÂȖ ˖ ˖ ˖€ԖÂÀږ ז€Ԗ ˖ÂàÄ–ÂÀÁ–Â@ΖÂȖ ¾–ÂàÄ–ÂÀÁ– ¾– ˖ ¾–ÂàÄ–ÂȖ ¾–ÂàÄ–ÂàĖ€»–Â`¸– ²–ÂÀÁ–ÂàÄ–ÂàĖ ¾–ÂÀÁ–ÂÀÁ–Â@ΖÂÀÚ–Â Ë–Â@ΖÂ`Ñ–ÂÈ–ÂàÄ–ÂàÄ–ÂÀÁ– ˖Â@ΖÂÀÁ– ˖ זÂ@ΖÂ@ΖÂ@ΖÂ@ΖÂàÝ–Â Ë–ÂÈ–Â Ë–Â Ë–Â@Ζ ז ä–Â`ê– ä– זÂá– ˖ÂàĖ ¾–ÂÈ–ÂÈ–ÂàĖ ¾–ÂÀÁ– ¾–ÂÀÁ–Â`і ז€ԖÂÀږ ז€ԖÂàÝ–ÂàÝ–ÂÈ–ÂàĖ ¾–Â`¸– ¾– ¾–Â`¸–ÂàÄ–Â Ë–Âàݖ ז ז ז€ԖÂàݖ€í–Â`ê– ä–ÂàÝ–Â ä–ÂÀÚ–Âàݖ ז זÂ@ç–ÂàÝ–Âàݖ ז ז זÂ`і€ԖÂ@Ζ זÂàÝ–ÂàÝ–Â ä–Â@ç–Â@ç–Âá– ז€ԖÂàÝ–Â`і€ԖÂÀږ€í–Â`ê–Â`ꖀ햠ä–ÂàÝ–ÂàÝ–Âá–ÂÀږ זÂá–ÂÀÚ–Âàݖ זÂ`Ñ–Â`Ñ–Â@ΖÂàÄ–ÂȖ ˖ ˖ ˖€ԖÂÈ–Â@Ζ ˖ ˖€Ԗ ä– ז€ԖÂàĖ ¾–ÂàÄ–ÂàÄ–ÂàÄ–ÂàÄ–ÂȖ ˖ ˖ זÂ`і€ԖÂÀږ€Ԗ ז זÂ`і ˖€»–Â`¸– ²– ²– ²–Â`¸– ¾–ÂàÄ–ÂàÄ–Â Ë–ÂàÄ–ÂÀÁ–Â`і€ԖÂÀږ זÂ@ΖÂàÄ–ÂàÄ–ÂÀÁ–Â@Ζ ˖ÂÈ–ÂÈ–ÂÈ–Â`Ñ–Â Ë–ÂÀÁ–ÂÈ–ÂÀÁ– ˖ÂÈ–ÂÈ–Â Ë–Â@Ζ ˖ זÂÀÚ–Â@Ζ ז ˖€ԖÂ`і ˖ ˖ ¾–ÂȖ ¾–€»–€»–Â@Ζ€Ԗ ˖ ˖Â`Ñ–Â`Ñ–Â@ΖÂÀÁ–ÂÀÁ–€»–Â@µ–¯–Â`¸– ¾–ÂàÄ–Â Ë–ÂàĖ ˖ ¾–€»– ¾– ¾– ¾–ÂÀÁ–ÂÀÁ–Â`Ñ–Â@ΖÂȖ ¾– ¾– ¾–Â`¸–Â`¸– ²–ÂÀ¨–Âà«–Â`¸–€»– ²–Â@µ– ²–¯–¯– ²–Â@µ–Âà«–Â@µ–¯–Âà«–Âà«–Â૖ ¾–€»–€»–€»–Âà«–Â૖ ¥–Â`Ÿ– ¥– ²–€»–Â@µ– ²– ²–Â@µ– ²– ²–Â૖ ¥–Â`Ÿ–Â`Ÿ– ¥–Âà«–Âà«–ÂÀ¨– ²– ¥– ¥–ÂÀ¨– ²–ÂÀ¨–Âà«–Â૖€¢–ÂÀ¨–ÂÀ¨–ÂÀ¨–Â૖€¢–€¢– ²–Â`¸–Â`¸–Â@µ– ²– ¥– ¥– ¥– ¥–Âà«–ÂÀ¨– ²–Â`¸–Â@µ–ÂÀ¨– ¥– ¥–Â@µ– ²–Â`¸–Â૖ ¥–€¢– ¥–Âà«–ÂÀ¨–ÂÀ¨–ÂÀ¨–€¢–Â`Ÿ– ¥–Â૖€¢– ¥–ÂÀ¨–Âà«–Â@µ–€¢–Âà«–Âà«–ÂÀ¨–Â૖¯– ¾–Â`¸– ¾–Â`¸–€»–ÂÀÁ– ¾–€»– ²–Â૖€¢–Â`Ÿ– ¥– ¥– ²– ²–€»– ¾– ¾–ÂÀÁ– ¾–ÂȖ€»– ¾–ÂÀÁ–ÂàÄ–ÂÀÁ–€»–ÂàÄ–Â`¸–Â`¸–€»– ²–Â૖¯– ²–Â@µ–€»–€»–ÂÀÁ–Â@Ζ ¾–ÂàĖ€»–ÂȖ ˖€»–€»–€»– ¾–Â`¸–Âà«–Âà«–Â ²–Âà«–Â`¸–Âà«–Âà«–Â ²–Â`¸–€»–ÂÀÁ–ÂÀÁ– ˖ÂàÄ–Â@ΖÂÀÁ–Âà«–Â`¸–Â@µ–Â@µ– ²–¯–Â@µ–Â`¸– ¾– ²–Â@µ– ²–Âà«–Â ²–Â@µ–Âà«–ÂÀ¨–Â૖ ¥–€¢–Â@µ– ¾–ÂàĖ ¾–Â`¸–Â@µ–Â`¸–Âà«–Â ²–€»– ¾–Â`¸–Âà«–Âà«–ÂÀ¨–ÂÀ¨–Â`¸– ¾– ¾– ˖Â@Ζ ˖ ˖Â@Ζ ˖ÂÈ–ÂÀÁ–ÂÈ–ÂȖ ¾–Â`¸–ÂÈ–Â`¸– ²–Â@µ–Â`¸– ¾–Â@µ–¯–¯–Âà«–Â@µ– ¾– ¾–Â@µ–¯– ²–€»– ²– ²–€»–ÂÀÁ–ÂàÄ–ÂÀÁ–ÂàÄ–ÂàÄ–ÂÈ–ÂàĖ ¾– ¾–€»–Â`¸– ¾–ÂÈ–Â@ΖÂȖ ¾–ÂÈ–ÂÈ–Â`Ñ–Â@Ζ€Ԗ€ԖÂàÄ–ÂÈ–Â Ë–ÂÈ–Â Ë–ÂàÄ–ÂàÄ–Â`Ñ–Â`Ñ–Â`Ñ–Â@ΖÂàÄ–Â@Ζ זÂ`Ñ–Â Ë–ÂÀÁ–ÂÀÁ–ÂÀÁ–Â@ΖÂȖ ¾– ¾–€»– ²–¯– ²–€»– ¾–ÂàÄ–ÂàÄ–ÂÀÁ– ¾–ÂàĖ ˖ זÂÀږ ז€ԖÂ@ΖÂ`Ñ–Â@Ζ ˖Â`Ñ–Â`Ñ–ÂÀږ ז ˖ÂàÄ–ÂàÄ–Â@ΖÂ@Ζ€Ԗ€Ԗ€Ԗ€ԖÂ@ΖÂ@Ζ€ԖÂ`і€ԖÂ`Ñ–Â`Ñ–Â Ë–Â`Ñ–Â@Ζ ˖ ˖ ˖ ¾–ÂÀÁ–ÂÈ–ÂÈ–ÂàÄ–ÂàÄ–ÂÈ–Â`¸–Â@µ–Â`¸–€»– ¾– ˖Â@Ζ ¾–Â`¸–Â૖€»– ²–Âà«–ÂÀ¨–Â`¸–Â`¸–€»– ¾–Â`¸–Â@µ– ¾–€»–Â`¸–Â`¸–Â@µ–Â`¸– ²–€»– ¾–ÂÀÁ– ¾–€»–Â@µ–ÂÀ¨–Â@µ–Â@µ–ÂàÄ–ÂÀÁ– ˖ÂàĖ ¾–ÂȖ€»– ²–Â`¸–ÂÀÁ–ÂàĖ ˖ ¾–€»– ¾–ÂàÄ–ÂÈ–Â Ë–Â@ΖÂàÄ–ÂàĖ ¾– ¾–Â`¸–€»–€»–ÂÀÁ– ¾–ÂÀÁ–Â@µ–Âà«–Â ²– ¾–ÂÀÁ–ÂȖ€Ԗ ˖ ˖ÂàÄ–Â Ë–Â@ΖÂ`Ñ–ÂȖ ˖ ¾–ÂÀÁ–Â`¸– ¾– ¾–€»–€»–Â@µ–Â૖ ¥– ¾–ÂÀÁ–€»– ¾–ÂÀÁ–ÂÈ–ÂȖ ˖ זÂÀږ ז ז זÂ`і€Ԗ ז ä– ז€ԖÂÀږ זÂàݖ זÂÀÚ–ÂàÝ–Â ä–€í–Âá–Â`ê– ä–Â`ê–€í–Â`ê–Â@ç– ä–Â`ê–ÂàÝ–ÂàÝ–Â`і ז€ԖÂàÝ–ÂàÝ–Â@Ζ זÂÀږ זÂá–Â@ç–Â`ê–Âàݖ זÂÀږ 䖀햀햠ð– ð–Â@ç– ð–€í– ä–ÂàÝ–ÂàÝ–Â ä– ð–Âàö–Â@—Âàö–Âàö–Âàö–Âàö–ÂÀó– ð–Âú–Â@—Â@—Â`—  —  —Â`—  —  —€—ÂÀó– ä–ÂÀó–Âú– ý–Â@—ÂÀ —€—  —Âà—€—Â`—Âàö– ð–ÂÀó–Âú–Âàö– ð–Âú–€— —Âà——ÂÀ —Â`—Âà—  —  —ÂÀ —Â`—Â@—€—Â`—  —Âà—Âà—  —ÂÀ —€—  —  —  —Â`—  —Âà—Âà—ÂÀ ——ÂÀ —ÂÀ —Âà— — — —Â@—Â`—Â@—Âà—Â`—— —  —  —  —ÂÀ —€—  —Â@— ý–Âú– ý–Âàö– ý–Â`—€—  —  —Â`—€—Âà—Âà— —Âà—€—ÂÀ —Âà—Âà— ——Â@—  —Â`—Âà—Âà— —ÂÀ —Âà—  —€— —Â`— —Âà(— "—Âà(—Â,—ÂÀ%—Âà(— /— /—Â@— — — — —Âà—Âà—Âà—Âà——Âà—ÂÀ ——Â@—Â`— — —Â`—Â`— "—€—Â@——— — ——Â@—— —Âà——€—Â`—Â`—Â`—ÂÀ%—Â,— "— "—Âà(—Âà(— "— "— "— "— "—Â`—ÂÀ%—Âà(— /—Â`—Â`—€— "—Â`—Âà(— /— /— /—Âà(— /— ;—€8—Âà(— "—Â`— "— "— — —Â`——Â`—ÂÀ%— "—Â`—Â`—Â`— "—Âà(— "— "— "—Â,—Âà(— "— "— "—ÂÀ%—Â@— —  — "—Â,—Â@—€— —Â`—Â@— — — "— "—€—ÂÀ%— "—€—ÂÀ%—Â,— /—Âà(—€— —Âà—€—Â@—Â`—ÂÀ%—Â`—€—Âà(—Âà(—Â,— /—Â,—€8— /—Â,— "—Â`—ÂÀ%— —Â@— —Âà—Âà— — — "— "—Â`——  —ÂÀ ———Â`—Â`—Â@—Â`— —Âà— —  —  —  —Âà— —Âà—€——Â@—€—€—  — — "— — — —Â`—ÂÀ%— "—Â`—Â`—Â`——Â@—Âà—Âà—  —€—Â`—€—  —Âà—  —  —Âà—ÂÀ —  —— — "— —  —ÂÀ —€—Âà—ÂÀ —ÂÀ —Â@—Âà—ÂÀ —  —  —  —€—  —  —Â@— —Âà— —Â`—€— ——  —ÂÀ —€—  —Âà—Âà—  —Â`— —Â`—Â`—Â`—Âà—Âà—€—Â`—Âà— — —€—Â@—ÂÀ —  —€—Âà—Âà—Âà—€— — —Âà—ÂÀ —  —  —ÂÀ — — "— "—ÂÀ%—€—€—Â`——  —Âà——Â@—€— —ÂÀ —  —Âà——Â`— "—Â@—Âà—Â`—ÂÀ%—Â`— — "—€—ÂÀ%— "— "—ÂÀ%— "—Â`—ÂÀ — —Â@—Â`—Âà(—Âà(—Â@—Â@—Â@—Â@—€—€—Âà— —ÂÀ —  —Â@—Â`—€—  —ÂÀ —Âà—Â`—ÂÀ%—ÂÀ%— /—Âà(—ÂÀ%—Â,—Âà(—Â,—Âà(— /— "—Âà(— "—€—Â`—Âà(—ÂÀ%— /—Âà(—Âà(— /—€8—ÂÀ>—ÂE— ;—Â@2—Â,— /— "—Âà(—ÂÀ%—ÂÀ%— /—Â`5—Â,—Âà(—Â,—Â@2—€8—Â@2—Â@2—Â`5—Â`5—Â`5—Â`5— /—Â,— /— "—Â,—ÂÀ%—Â`—Âà(—Âà(—Â`—€——  —  — — "—Â@2—ÂÀ%—Âà(—Âà(—Â,—€8—Â,—Âà(— /—Â@2— /— /— /— /—Â`5— /—Â,— ;—Â`5— ;—ÂÀ>— ;—ÂÀ>—ÂàA—Â`5—Â@2—Â@2—Âà(—ÂÀ%—ÂÀ%—Âà(— /—€8—€8— ;—€8—Â`5—Â,— /—Â,—Â`5—€8— ;—€8—Â`5—Â@2— /— /—Âà(—Âà(— "—ÂÀ%— /— /—€—Âà(— /—Â@2—Â`5—Â`5—Â,—Â`— "—Âà(— "— /— ;—Â,— ;— ;— ;—Â`5— "—Âà(— "— /— ;—€8—Â@2—Â`5—ÂàA— ;— ;—Â`5— /— /— ;—€8—Â`5— /—ÂÀ%—ÂÀ%—Â,— /—€8— /—Âà(—Âà(— /—Âà(— /—€8—ÂE—ÂÀ>—Â@2—ÂÀ%— /— ;—Â`5— /—Â@2—Â,—€— /—€8—Â,—Â`5—ÂÀ>—Âà(—Â`—Â@——€—€—Â`— "— "—Â`— —Â@—€—€—€— "—Â@— "— "— "— "—Â@2—Âà(—Â`5—Â,— "—€—Â@— —Â`—Âà—Âà—Âà—Â@——Â`— "—€—€—Â@—€—Âà(—€— —— —Âà—Â@—Â`—€—€—Â`—Âà—ÂÀ — —Âà—€—€—Â@—  —  ——Â@— —Âà— — — — —  —€— —Âà—  —Â`—Âà——  —Â`—  —Âà—Â`—Âà(—Â`——Âà— —  —Âà—Â`—Â@——Âà—€—Âú–Â`—€—Âú– ý– ý–Â`—Â`— ý–€—  ——Âà—Â`—  — ý–Âú–Âàö– ð– ý– ý–Â@—Â`—Âà—  —€— ý–Â`— ý– ý–€—Â`—ÂÀ —Âà—  —Âà—ÂÀ —  —Â`—  —€—Â`—Âú–Â`—Âàö–Âàö–Â@—€— — —Â`—Âà—  —Â`—ÂÀ —Âà— — —Âà— ý–Â`— ý–Âàö–€í–Â`ê–ÂÀó–Âàö–Â`—  —€—Âà— —Â@—ÂÀ —ÂÀ —€—ÂÀ —  —  —  —Âà—ÂÀ —Â`—Â`—Â`—Âú–Âú– ý–Â@—ÂÀó–ÂÀó–Â@— ý–Â@—€—Âà—€—Â@—  —Â@—€—ÂÀ%—ÂÀ%—Âà(—ÂÀ%—€—Â`—  —ÂÀ —Â@—ÂÀ —Â@—€— —Âà—Â@—  —€—  —Âà——Â`—€—Âà— — — — ——Â`—ÂÀ%—€—ÂÀ%— "—Â@—Âà— —Âà—Â@—€—  —— —Âà—Â@—Â`—Â@— —Â`——ÂÀ —€—€—€— —Â`—Âà—Âà—  —ÂÀ —ÂÀ —Â`—Âà— — ——Âà—Âà——Â@—€—€—Â`— "—€—Â`5—Â@2—Âà(— /—Âà(—ÂÀ%—— —ÂÀ —Â`— "—Âà(—Â`—€—€—Âà(—€8—€8—€8— ;—Â`5— /— /—Â,—ÂÀ%—Âà(— "— /—ÂÀ%— /—Âà(— "—Âà(—Âà(—Â,—ÂÀ%— "—€—Âà(— /—€8— /—Â,— /— /—Âà(— "— "— "— "— "—€—€— "—ÂÀ%— /— /—Â`5—Â@2— /—ÂÀ%—Âà(—Âà(—Â,— /—Âà(—Â,—Âà(—Âà(— "—ÂÀ%—Â,—€8—€8—Â,—Â`5— /— /—Âà(—Â`5— ;—ÂÀ>—Â`5—€8—Â`5—Â@2—Âà(—Âà(— "— "— "— "—Âà(—Âà(— /—Â`5— /— /—Â@2—Âà(— —ÂÀ —Âà—€—€— "—Âà(— "— /—Âà(—Âà(—Âà(—Â,—Â,—Â`— /—Âà(—€—Â@— —€— "— "— "—ÂÀ%— "— "— /—Â,—€—Â@—Âà—Â`—€— —ÂÀ%—Âà(—Â,—Â,—Â,—Â,—Â`5—Â`—Â`— —Â`— "— "— /—Â,—Â,—Â,—ÂÀ%— "—Â`—Â@—Â`—€— —€— "—Â@— —Âà——Âà—  —  —  —Âà—Âà—Â@— —Â`— "—€— "—— —Â`— "—Â,—Â,—Âà(— /—Âà(—Âà(—ÂÀ%—€—Â`—Âà—Âà— —Â@—€—€——Âà—€—  —Âà— —Â@—ÂÀ —Â@— —Â`——Âà— —Â@——€—Âà—Âà— —€—Âà(— "—€— — "—€—Â@— —Â`—€—Â,— /—Â`—ÂÀ — — "— —Âà—Â`—€—ÂÀ%—Âà—Â`—Â@—ÂÀ%— "— "—Â`5— /—Â,—Âà(— "—ÂÀ%— "—Â`— — "— "—Â`— —Â@—Â`—Â`—Â@—Â`—Â,—€—Â`— —ÂÀ —  —Â@—Â@—€—  —Â@—Â`—Â`— "— "—ÂÀ%—€—ÂÀ%— /—Âà(—€8—Â@2—Âà(—Âà(—ÂÀ%—Â@—Â`—Âà(—Â@—Â@—ÂÀ —  ——Â@—€—Â`—Âà—€—  —  —Âà— — ——— — "—Â`—Â`—Â`——Â`—€—€—Â`—Â`— "—ÂÀ%— — "—€—Âà(—Âà(— "— "— "— "—€—Â`— —€—€— "—Âà—Â@—€—ÂÀ%—ÂÀ%—Âà(— /— /— "—Â,—ÂÀ%—Âà(—Âà(— "— "—Âà(—Â@—Â@—Â`—ÂÀ%—Âà(—€8—€8—Â`5—Âà(—Â,—Â`5—Â@2—Â,—€8— /— ;—Â`5— ;—ÂÀ>—€8— H— H—Â`5— ;—ÂàA— ;—Â@2—Â@2—ÂÀ%—Âà(—€—Â,—Âà(—Â,— /—Â`5—€8—€8— /— /— /—Â,—ÂÀ>—ÂàA— H—ÂàA—Â`5—Â`5—Â,— ;— /—Â,—Â@2— ;—€Q—€Q— H— H— H— H— T—Â`N—Â@K—Â`N—ÂàA—ÂàA—ÂÀ>—Â@K—Â`N— H—Â@K— H—€8— ;— H— H—Â`N—Â@K—Â@K—Â`N—ÂàA— ;—ÂÀ>—ÂE—ÂàA—€8—ÂàA—Â`N— H— H—Â`N—ÂÀW—Â@K—€Q—Â`N—Â`N—Â@K—ÂE—Â`N—Â@K—Â`N—Â`N— a—ÂàZ—Â`g—Â@d— a— T— H—ÂE—ÂÀ>—ÂE—ÂE—€Q— H—€Q—€Q—Â@K— T—ÂàZ—ÂÀW— a—Â^—ÂÀW—Â`N—€Q— T—ÂàZ—ÂÀW— T—Â`g— a—Â`g—Â`g—€j—Â`g—€j—Â`g—Â^—ÂÀW—ÂàZ—ÂàZ—ÂàZ—Â@d—Â@d— a—Â@d— m—Â`g— a—Â`g— m— a—Â^—ÂÀW—€Q—Â@K—Â`N—ÂÀW—ÂàZ—Â^—ÂàZ—Â^—Â^—Â^—ÂàZ—€Q— T— T— a—Â@d— m—ÂÀp—Âw—ÂÀp— m—ÂÀp—Â@d— a—Â`g—Â@d—€j—ÂàZ— a— a—Â^—ÂàZ—Â^—Â^—ÂàZ—€Q—ÂÀW—ÂÀW—Â^— a— m—Âàs—Âàs— m— a—Â@d—ÂàZ—Â@K—Â@K— T— H—Â@K—Â@K—Â@K—Â`N—Â^—Â`g—ÂàZ—€Q—Â@K— T— a—Â@d— m—Â@d—ÂàZ—Â^—Â^—Â^— a—Â^— T—ÂàZ— T—€Q—ÂàZ—ÂÀW—€Q—Â@K—€Q— T— T— T—Â`N—Â`N— T—Â`N—ÂÀW—Â`g— a—Â^— a—Â@d— a— T—ÂÀW—Â`N—€Q— T—ÂàZ—Â`g—Â`g—Â@d— a— a—Â^—ÂàZ—ÂàZ—ÂàZ—ÂÀW—Â`N—ÂàA—Â@K—Â`N— a—ÂàZ— a—Â^—Â^—Â`g—Â`g—Â@d—Â`g—€j— m—ÂàZ— T—€Q—€Q—€Q—ÂàZ— a— a—Â@d— a—Â`g—Âàs— m—Â@d—Â@d— a—Â@d—ÂàZ—Â@K—Â`N—ÂàZ—Â^—Â@d— m— a—Â`g—ÂàZ— T— a—ÂàZ—Â`N—Â@K— T— T— T—ÂàZ—€Q—€Q—Â`N—Â`N—Â@K—Â`N— T—Â^— a—ÂàZ—Â^—ÂàZ—ÂàZ—ÂàZ— T—ÂÀW— T—ÂàZ— T—Â`N— T—€Q— T—€Q—Â@d—Â`g—Â`g—ÂàZ—€Q—Â`N— T—ÂàZ—€Q—Â@K—€Q—Â`N—ÂàZ—Â^— a—ÂàZ— a—ÂàZ—Â^— a—Â@d—Â@d— a—Â@d—€j— m— a— a—Â`g— a—ÂÀW—€Q—ÂÀW—€Q— T—Â@d—ÂàZ— a—Â`g—ÂÀp— m— m— a—ÂÀW—€Q— T—ÂàZ—Â^—Â^—ÂàZ—Â@d— a—ÂàZ—ÂàZ— T—ÂàZ—Â@d—ÂàZ—Â^—Â^— a—Â^— T—ÂàZ—ÂàZ—€Q—Â@K— H—ÂàA—Â@K—ÂàZ—€Q—ÂàZ—ÂàZ—Â`N— H— ;—Â`5—ÂÀ>—ÂàA—Â@K— H—ÂàA—ÂàA—ÂÀ>—€8—Â@2— /—Âà(—Âà(— "—Â`—€—Â,— /—Âà(—Âà(— "—Âà(—Âà(— "—Â@— "—Âà—Â`—Â`—Âà— — —Â@— "—— —Âà——ÂÀ —ÂÀ —Â`—Âà—Âà—Â`— ý–Â`— ð–€í–€í–Â`ê– ä–Â`ê–ÂàÝ–Âá–Âàݖ ז€ԖÂàÄ–ÂàÄ–Â@µ–ÂàÄ–Â@ΖÂ@ΖÂàĖ ¾– ¾– ¾– ¾– ¾– ¾–Â`¸–Â`¸–Â`¸–Â@µ–¯– ¥– ¥– ²–Â૖ ¥–€¢–Â@œ–Âà’–Â Œ– Œ– Œ– €–Â`†–Â}–€‰–Âà’–Âà’–Âà’–Âà’–Â Œ–––ÂÀ– Œ–Â`†–Âà’–Â––Âà’–Â Œ–€‰–Â`†–Âà’–Â Œ–Âày–ÂÀv– €–Â}–€p– €–ÂÀv–Â`m–Âd– g–Âd–Â@j–Â@j– g–Â@j–Â@j–Â`m–Â`m–Â`m–ÂÀ]–Âà`–Â`m– g–€W– Z–€W– N– N–Â@Q–ÂàG–ÂàG–ÂK–ÂàG–ÂàG–ÂàG–Â`;–€>–ÂÀD–ÂàG–ÂK– N– A– 5–Â@8–€>–ÂÀD–ÂÀD– A–Â@8– 5–Âà.–Âà.–Âà.– (–Âà.– (– 5– 5–Â2– 5–Â2– 5–Âà.– 5–Â`;– 5–Âà.–ÂÀ+–Âà.–ÂÀ+– 5– 5– 5– 5– A– 5– 5–Âà.– (–ÂÀ+–Â@– –Â`"–€%– (–€%–Â@–Â@–Â@– – –Â`"–Â`"–ÂÀ– –€%– –Â@– (– –Â@–Â`"––Âà– –Âà–ÂÀ–Âà–ÂÀ– –Â` –ÂÀ–Âà–ÂÀ––ÂÀ–Âà–Âà––Âà– –€ –Â@–Â` –– –Â` –Â@–€ – – –Â` –Â` – –€ –€ –Â@–€ –Â` – –Âàü•–Â` – –Âàü•Â@–Â` – ö•ÂÀù• ö• –€ó•€ó•Âç• ê•Â@í•ÂÀù• –Â@–Â` – ö•ÂÀù•ÂÀù• –– ö•–Â@– –Â` – –Â` –ÂÀù•Â@–ÂÀ–Â` – ––Âàü• ö•Â`ð•€ó•Âàü• –ÂÀù•Â`ð• ö• ö•– ö•Âàü•– –––Â` –Â` –Âàü• – – –€ –Âàü•– –– –Â@– – –Â@–€ – –ÂÀù•– – –Â@–€ –€ –€ –Âàü•Âàü•– –Â@–Âàü•–Â`ð•€ó•Âàü•–Âàü•Â`ð• ê•Â@í•Âàü•ÂÀù•Â` ––€ó•–ÂÀù• – ö• ö•Â`ð•Â`ð•Â`ð•€ó•ÂÀù•Â`ð•Â@í•Â`ð• ö•Âàü• – ––Âàü•Âàü•€ó• ö• ö•Âàü• ö•Âàü• –Â` –Âà– – –– –Âà– –Â@–€ –€ –€ – – – – –Â` –Â@– – –Âàü•Âà–Â@––Âà–Âà– – –Âà–ÂÀ–ÂÀ–€ –ÂÀ–Â` – –Âà–– –Â` –Âà– (– – – –Â@– –Â` –Â` – – –Â@–€ –€ – –Âàü•Âàü•€ ––Â` –Âà–Âà–Âà–Â`"–Â@– –€ –Â@– –€ –ÂÀ– –ÂÀ–€ –Â` – – – –€ –Âà–ÂÀ–Âà–ÂÀ– –€ – – –Âà–Âà– –Â`"– –Âà–Âà– – – – ––Â@–Â`"– –Âà.– (– –Âà––– –Âà– –ÂÀ–ÂÀ– –Âà–Â` –Âà–€%– –Â` –€ –Â` –€ – –Âà–Âà– –Â`"–ÂÀ+–Â`"–Â`"–Â@–– –ÂÀ–– (–––Âà–– –– – – –ÂÀ– – – – –Â@––€%– ––€ – –Â`"–€%–Â`"–Âà.–ÂÀ+– –Â`"– (– (– (– (– (–ÂÀ+–Âà.–ÂÀ+–Â@8– 5– (–Â@– –ÂÀ+–Â2–Âà.–Â`"–Âà.–Âà.–Â`"–€%–€%–Âà–Âà– – (–Âà.–Âà.–Âà.–€%–€%– (–Â@–€%– (–€%–ÂÀ+– (–Â`"–Â2–Â2–Â2– 5–Âà.– 5– (– (– (–€%– (– (–Â2–Â2– A– A– A–€>–Â`;–Â@8–ÂÀ+–Â2– (–ÂÀ+–Â`"–Âà.–Âà.–Âà.– (–€%–Âà.– 5–ÂÀ+–Â2–Â2–Â`;– (–Â@–Âà.–ÂÀ+–Âà.– (–€%–€%– (–Âà.–ÂÀ+–Â@8–Â2–Âà.–Âà.–Â2–€%–ÂÀ+–Âà.–Â2– 5–Â2–ÂÀ+–Âà.–Â2–Â2–Âà.–€%–Â2–Â2–Â@8– 5–Â`;– 5–Â2– 5–Âà.– (–Â`"–Âà.–Âà.– (–Âà.–Âà.–ÂÀ+–Â2–Âà.–Âà.–ÂÀ+–Â2– 5–€>–Âà.– (–Â@8– 5–Â@8–ÂÀD–ÂàG– N–ÂÀ]– Z– N–Â`T–Â`T–Â@Q–Â@Q–ÂK– N–€>–ÂàG– N– N– N– N–ÂK–ÂÀD–€>–€>–ÂàG–Â@Q–ÂK–€>–€>– A–€>–Â`;–€>–ÂÀD–Â`;– A– A– N–ÂÀD– N–Â`T–ÂàG–ÂÀD–€>–Â`;– A– A– N–Âà.– 5– 5– (–Â2– 5–ÂàG–ÂàG–Â@Q–€W–€W–ÂK–Â`T–ÂK–Â`;–ÂK–ÂàG–€>–Âà.–Â@8– A–Â`;–ÂK–ÂK–€W–ÂÀ]– Z– Z–Âà`– Z–Âà`– g–ÂÀ]– N–Â@Q– N–Â@Q– N– Z– g–Â`T–€W–ÂÀ]–ÂÀ]– g–Â`T–€W– N–€W–Âà`–Âà`–Âd–Âà`–€p–Â`m–Âà`–Â@j–Â`m–Â@j–Â`m–Â`m–Â`m–Âd–Âà`–ÂÀ]–ÂÀ]– g– g–Â`m–Âày–ÂÀv–Â`m–Â@j–Â`m–ÂÀv–Âày–Âày–Â}–Âày–ÂÀv–€p–Â}–€p–ÂÀv–ÂÀv–ÂÀv–ÂÀv– s–Âày– s–€p–ÂÀv–Âày– s– €–Â@ƒ– €– Œ– €–Â}–ÂÀv– s–Âày–Â`†– €–Â}–€‰–ÂÀ–Â}–€p– s–ÂÀv–Âày– €–ÂÀ–Âà’–Â}–Â}– €–Â@ƒ– €–Â`†–Â}– €–Â`†– €– €–Â}–ÂÀv–Âày–Âày–Â}– s– €– €–Â@ƒ–Âày–Â`†– €– Œ–ÂÀ–Âà’–Â Œ–€‰– €–Âày– €–Â@ƒ–€‰–Âà’–Âà’–Â@ƒ–Â`†–Â`†–Â`†–Â`†– €–ÂÀv–ÂÀv–€p– s– s– s– €–Â`†–Âà’–Âà’–Â ™– ™– ™–Âà’–Â ™– Œ–Âà’–Â ™– ™– ™–––€‰– Œ–Â`Ÿ– ¥–Â`Ÿ– ¥–––Â@œ–––ÂÀ– Œ– Œ–Â`†–€‰–€‰– Œ–Â`†–Âà’–Â Œ–Âà’–Âà’–Â ™– ¥– ¥–Â@œ–Â@œ– ™– ™– Œ–€‰–€‰–Âà’–Âà’–Â`Ÿ–Â`Ÿ–Âà’–Â–– ™–ÂÀ¨–Â`Ÿ– ¥–Â`Ÿ––– Œ–Âà’–Â@œ– ™–Â@œ– ¥–––Â`†–Âà’–Â ¥–€¢– ¥– ¥–Â`Ÿ–––––€¢–Â@œ–Â`Ÿ–€¢–Â@œ– ™– ™–Â@œ– ™–––Â`†–Âà’–Âà’–Â@œ–Âà’–Â ™– ™–Â`Ÿ–€¢–Â૖€¢–Â@œ––– ™– ¥–€¢–€¢–€¢–Â`Ÿ–Â`Ÿ– ™– Œ–Â`†–ÂÀ–Â@œ–€¢–ÂÀ¨– ²–Â`¸–Â`¸– ¥–Âà«–Â@µ–Â૖€¢–Â`Ÿ– ™–Â`Ÿ– ¥– ¥–€¢– ²–€»–Â`¸–Â`¸– ²– ²–¯– ²–Âà«–Â ²–ÂàÄ–Â@ç–Âá–ÂÈ–ÂàÄ–ÂàÄ–Â Ë–Â`¸–Â`¸–Â`¸– ²–Â`¸–ÂÀÁ–ÂàĖ ¾–Â૖¯– ²–Â@µ– ²– ²–Â`¸–Â`¸–Â`¸–ÂÈ–ÂÀÁ–€»– ²– ²– ¥–¯– ¾– ¾–€»–ÂàÄ–Â Ë–ÂàĖ ¾–Â`¸– ²– ²– ²–€»–ÂàÄ–ÂàÄ–ÂàÄ–Â`Ñ–Â`і זÂ@ΖÂȖ ˖ זÂÀÚ–Â Ë–Â@ΖÂ@ΖÂ@ΖÂ`і€ԖÂÈ–ÂȖ ¾–ÂÀÁ–Â@Ζ ˖Â@ΖÂ@ΖÂÀږ זÂ`Ñ–Â`і€Ԗ€Ԗ€ԖÂàÝ–ÂÈ–Â`і€Ԗ ˖ÂàĖ ¾–Â@ΖÂ`Ñ–Â`Ñ–Â`Ñ–Â Ë–Â Ë–ÂàÄ–ÂÀÁ–ÂàĖ ˖ ˖€ԖÂ`Ñ–ÂÀÚ–Âá–Â@ΖÂ`Ñ–ÂàÄ–ÂÈ–Â`Ñ–Â Ë–ÂàĖ€»–ÂàĖ ˖ ז ז זÂàÝ–Âá–ÂÀÚ–Â`Ñ–Â`і ז ז€ԖÂÀÚ–ÂàÝ–Â`Ñ–Â@ΖÂ`і€Ԗ זÂÀÚ–ÂàÝ–Â ä– ð– ð– ä–ÂÀÚ–ÂàÝ–Âá–Âá–Â@ç– ä–Â@ç– ä– ä–Âá–ÂÀÚ–Â ä– ð–Âàö– ð– ð–Â`ê–Âàö–Âú–Âàö– ð–Âàö–Âàö–Âú–ÂÀó–Â`— ð– ý–Âú– ð–Âàö–Âú– ý–Â@—Âú–€—Âà—Â`—€—Â`—ÂÀ —€— ý–€— ý–Â@—Â`— ý–Âú–Â@—€—€—Â`—Â`—€—Â`—Â@—€—  —  —  —  —  —Â`— ý– ý–Â`—Â`—  ——  —Âú–Âàö–€—  —Âà—Âà—Â@—Â@— ——€—Âà—  — —Âà(— "—€—€—€— — —Âà—Â`—Âú–Âàö–Âàö–Âàö– ý–Â`—  —Â`—  ——Â@—Â`— ——ÂÀ —Â@—— —€— "— "— "— /— "—€—Â,—ÂÀ%—Â@—ÂÀ —Â`—Â`—Âà—Âà—Â`—Â`—Âàö–ÂÀó–Âú–Âàö– ð– ð– ð–ÂÀó– ä–€í– ð–Âàö–ÂÀó– ý–Â`—Â@—Â`—ÂÀ —Âà—€—  —  — ý–Â`—€—Â@—Â@— ý– ý–€í– ý– ý– ð– ð–Âàö– ý–Â`—€— ý–  —Â@— ý– ð–€í– ð–ÂÀó–Âú– ý–Âàö–Âàö– ð–ÂÀó– ð–€í– ð– ý– ð–Âàö– ð–Â`ê– ý–Âú– ý–Âú–Â@— ð–Â`ê– ä– ä–Âàݖ 䖀햀햀햀햠ä–ÂÀó–Â`ê–Âá–ÂÀږ€ԖÂ`Ñ–Â`Ñ–ÂàÝ–ÂÀÚ–ÂÀÚ–ÂàÝ–ÂàÝ–Âá–Âàݖ ז ˖Â@ΖÂàÄ–Â`і זÂÀÚ–Â ä–Âá–Â@ç– ä–€ԖÂÈ–Â Ë–ÂÈ–Â Ë–Â`Ñ–ÂȖ¯–Â@µ–Âà«–Â ²–Â૖ ¥–€¢– ¥– ¥– ¥– ™––– Œ–€‰–€‰– Œ–Â`†–ÂÀ–€‰–€‰–Â`†–Â@ƒ– €– s– g–Â`m– s–€p– s–€p–€p–Â`m–Âà`–Â`m–Â@j– Z– N– A– A–Â`;–€>–Â`T– N–€W– N–Â`T–ÂàG–€>–€>–Â`;– 5–€>– A–ÂàG–€>–€>– N– A–Â@8–Âà.–Â2–ÂÀ+–Âà.–Âà.–Â`"–Â`"–€%–€%–€%– – –ÂÀ– – –Âà––Âà– – – –Âà–€ –€ –Â` –€ – –Âà––ÂÀ–Â@–Â` –Â` – –€ –€ –Âà– ––Â` –€ –€ – –Â@– ––Â` – –ÂÀù• ö• ö•€ó• ö•Â`ð•€ó•€ó• ö•Â`ð•Â@í•Â`ð•Â`ð•Â@í•Âàã• ê• ê•Âàã• ê• ݕÂ`ð•Â`ð•€ڕÂ`ו€ڕ€ڕ ѕ ѕÂÀÇ•ÂÀÇ•ÂÀÇ•Â`וÂ`וÂàÊ•Â@Ô•Â Ñ•Â@Ô•Â Ñ•ÂΕ ѕÂÀà•Âàã•€ڕÂÀà•Âç•Â`ð•Â@í•ÂÀà•ÂÀà• ݕÂ@í•Â@í• ê•Âç• ê• ݕÂ`ו€ڕ ݕ ݕÂ@ԕ ݕ ݕÂ`ð•ÂÀù•€ó•Â@í•Âàã•€ڕ ݕ€ڕÂç• ê•ÂÀà•Âàã•Â`ð•Â@í• ê•Âàã•Âç•Âç•Âàã•ÂÀà•Â@Ô•Â`ו ݕÂç• ê• ê• ê•Âç•Â@í•Âç• ê•Â`ð•Âàã• ݕ ѕ ݕ ݕ ê•Âç•Âàã•Â`ו€ڕ ݕÂ`ו ݕ ݕÂç• ê•€ڕ€ڕ ݕÂÀà• ݕÂÀà•Â`וÂ@ԕ€ڕ ݕ ݕ ѕÂÀÇ•ÂÀÇ•ÂΕÂΕÂ@ԕ ѕ ݕ ݕ ѕÂ@Ô•Â`ו ê• ݕ€ڕ€ڕÂàÊ•ÂàÊ•ÂΕ ѕÂΕÂΕ ѕÂÀà• ê• ê• ê•Âàã• ݕÂ@Ô•ÂÀǕ ѕÂàʕ ѕ ѕÂ`ו ݕ ݕ ݕ ݕ ݕ ݕ€ڕÂàã•ÂÀà•€ڕÂÀà• ݕ ݕ ݕÂÀà•Âàã• ê•Âç•Âç•Â`וÂ`ו ݕÂàã•Âàã•Â@ԕ ѕ ѕÂ`וÂÀà•ÂÀà•Â`וÂÀà•Â`ו ݕ€ڕ ѕ ѕÂàã•ÂÀà• ݕÂ`וÂàʕ ĕ ѕ ѕ ѕ€ڕ ݕÂàã• ݕ ݕÂàã• ê• ݕÂ`וÂàã•€ڕÂàã• ݕÂÀà•ÂΕ ѕ ݕ€ڕÂΕ ĕÂàÊ•Â`וÂ@Ô•Â`ו ݕÂàã•Â`וÂ`ו€ڕÂ@Ô•Âàã•Âàã•Â`ð•€ó•Â`ð• ê•Âàã• ê• ݕÂàã•Âç•Â`ð•Â`ð•ÂÀù•€ó•Â@í• ê• ݕÂÀà• ݕÂàã•Âàã•Â@í•Âàã•Â`וÂàʕ ݕÂàã•Â@í•€ó•€ó•€ó• ê•Â@í• ê•Âàã•€ó•Â@í•Âàã•€ó• ö•Âàü•Âàü• ö•Â@í•Â`ð•Â@í•Â`ð• ö•Â`ð•Â`ð• ê•Â@í•Â`ð•Âç• ê•€ó• ê•Âàã•Â`וÂàÊ•ÂàÊ•Âàʕ ѕÂàã•Â`ð• ö•Âàü•––Âàü•Âàü•Â`ð• ö•ÂÀù• –Âàü• –– – ––Âàü•Â` – – –– ê• ö• ö• – –ÂÀ–Â` – – – – –Â` –Â` – ö•ÂÀù• ö• ö•Â@–Â` – –Â@– –Âà– –ÂÀ–€ – ––Âà–Âà–– –Âà– –Âà–€ –€ – –Âà– –ÂÀ– –Âà––Âà–Âà– –ÂÀ–€ –Â` – –Â@– –€ –€ – – – –Âà– –€ –ÂÀ– – ö•Âàü•– –Âà–ÂÀ–ÂÀ–Âà–€ –€ – –€ – – –Âà–Âà–Âàü•Â@–€ –Âà–Â`"–Â`"– –ÂÀ–€ –€ –ÂÀ–Â` –Â` –ÂÀ– –Âà–ÂÀ–Â` –Â@–ÂÀ–€%–€%–Â`"–Â`"–Âà–ÂÀ–Âà–Âà–ÂÀ–ÂÀ–€ –ÂÀ–Âà–Âà–ÂÀ– – –Âà–– ––€%–Â`"–Â`"–Âà.–ÂÀ+– –Âà– –Â`"–€%–Âà.– (–Âà.–Â2–€%– –ÂÀ+– 5–Â`;–Â@8–Âà.– (– (– (– – –Â@–Â@–Â`"–€%–€%–Âà.–Âà.– (– (–Â`"–Â`"–Âà.–Âà.–€>–Â@8– 5–Â@8–Â@8–€>– A–€>–Â@8–Â`;–Â`;–€>–Âà.– (– 5–Â`;– A–Â`;–Â@8–Â`;–ÂÀD– N– N– A– 5– A–Â@Q–Â@Q–Â`T–€W–€W–Â`T– Z–Â@Q–ÂK–ÂK–ÂK– A–ÂàG–ÂàG–ÂàG–€>–€>–ÂK–ÂK–ÂàG–€>–ÂK–Â@Q– A–Â`;–Â`;– A–Â@Q–Â`T– Z– Z–ÂÀ]–Âà`–Â`T–ÂàG–Â`T–€W– Z–ÂÀ]– g–Âd– g–Âà`–Âd–ÂÀ]–Â`m–€p– s–Â@j–€p– s–€p–Â@j–Â@j–Â@j–Â`m– s–ÂÀv– s–Âày– s–Âày– €–Âày–Â}–Âày–Â}– €–Â@ƒ–ÂÀv–ÂÀv–Âày–€p– s–Â}– €–Âày–Â`†–€‰–Â@ƒ–Â}– €– Œ–Âày–Âày–Â`m–Â}–ÂÀv–Âày– €–Â@ƒ– €–€‰–ÂÀ– Œ– €– €– €– Œ– Œ–€‰– ™– ™–Âà’–Â@œ–€¢–Â@œ––– Œ–ÂÀ– Œ–Âà’–Â Œ–Â`†–€‰– Œ– Œ– Œ–Â`†–€‰–Â`†– ™–Âà’–Âà’–Â`Ÿ–Â@œ– ™–Â`Ÿ–€¢– ™– ™– ™–Â@œ– ¥–Â@œ–Â@œ– ™–Â@œ–Â@œ–€¢–Âà’–Â€‰–Â`†–€‰–€‰– Œ– ™––– ™–Â@œ–Â@œ–––Âà’–ÂÀ– Œ– Œ– Œ–€‰– Œ– Œ– €– €–€‰–€‰–Âà’–Â––Â`Ÿ– ¥–Â`Ÿ–––Â@ƒ–Â`†– Œ– Œ– ™– ™– ¥– ™–––––Âà’–Â`Ÿ– ™–Â@œ–€¢–Â@œ–€¢–€¢– ™–Âà’–Â ™–Âà’–Â@œ–Â@œ– ™– ™–Âà’–Â ™––– ™–––Âà’–Â ™–Â@œ– ™–€¢–€¢– ¥–€¢– ¥– ¥–€¢– ™– ¥– ¥–Â`Ÿ–ÂÀ¨–¯– ²–€¢– ™–€¢– ™–––Âà’–Â Œ– Œ–ÂÀ–€‰– Œ–Â`Ÿ– ¥– ¥–€¢–Â`Ÿ– ™–Âà’–Âà’–Â ™–ÂÀ– Œ–––Â`Ÿ–€¢– ¥– ¥–ÂÀ¨–¯– ¥– ¥–ÂÀ¨–¯–Â`Ÿ–€¢–€¢– ¥– ¥–€¢– ™–€‰––– ™–––Âà’–ÂÀ–Â@œ–Â`Ÿ––––– ™– ¥– ¥–€¢– ¥–Â`Ÿ– ™––– ™– ™–Â@œ–Â`Ÿ–€¢–€¢– ™–Âà’–Â Œ– ™–€¢– ²–€¢–Â`Ÿ–Âà«–Âà«–Â ²– ²–¯–€¢–Â૖¯–ÂÀ¨–Â`Ÿ–€¢–Â@µ–¯–Â@µ–Â૖€¢–Â`Ÿ– ¥– ™–€¢–€¢–€¢–Â@œ–Âà’–Â€¢–Â@œ–Â`Ÿ–€¢– ¥–ÂÀ¨– ™–Â@œ–Â@œ– ¥–Âà«–ÂÀ¨–Âà«–Âà«–Â ²–Â@µ–ÂÀ¨– ¥– ¥–Âà«–ÂÀ¨– ¥–Â`Ÿ–ÂÀ¨–Â`Ÿ–Â@œ– ™– ™–Â@œ–Âà’–ÂÀ–Â`Ÿ–€¢– ¥– ¥–ÂÀ¨– ²–€»– ¾–Â`¸–Â@µ–Â`¸– ¾–€»–Â@µ–ÂÀ¨–Â૖ ¥– ¥–ÂÀ¨– ¥–Â`Ÿ–Â`Ÿ–€¢– ¥–€¢–Âà«–Â ²– ²–Â`¸– ²– ¥–Âà«–Âà«–Âà«–Â૖ ¥–Âà«–Â ²– ²– ²– ˖ÂÈ–ÂàÄ–Â`¸–Â`¸–€»–Âà«–Âà«–Â ²–Â@µ– ¾– ¾–Â`¸– ²–Â@µ– ¾– ¾– ¾–Â`¸– ¾– ¾– ¾–€»– ¾–Â@µ–Âà«–Â૖¯– ¾–ÂÈ–ÂÀÁ–ÂÀÁ–¯–Â`¸–Â`¸– ²–Âà«–Â`¸–ÂÀÁ– ˖ÂÈ–ÂàÄ–Â`¸–Âà«–ÂÀ¨–Âà«–ÂÀ¨–¯–Â`¸–Â`¸–Â@µ– ²– ²– ²–Â@µ–Â`¸–Â૖ ¾–ÂàĖ€»–€»–€»– ²– ¾–€»–Â@µ– ²– ²–Âà«–Â@µ– ˖ ¾–ÂÀÁ– ¾– ¾–Â`¸– ¾–Â`¸–€»– ²– ¾–ÂÈ–ÂÈ–Â Ë–ÂÈ–ÂÈ–ÂàĖ€»–ÂàĖ ¾– ¾–ÂȖ ¾–€»–Â@µ–Âà«–Â@µ–Â`¸–ÂÀÁ–€»–€»–ÂÀÁ– ¾–ÂȖ ¾– ¾– ¾– ¾– ¾– ²–¯– ²–Â૖ ¥–ÂÀ¨– ¥– ²–Â`¸– ²– ¥–Â@µ–ÂÀÁ– ¾–Â@ΖÂ@Ζ ¾– ¾–Â@µ–Â@µ–€»–€»–Â`¸–Â`¸–€»– ¾–Â`¸–€»– ¾– ¾–ÂàÄ–ÂàĖ ¾–€»–Â@µ–€»–€»–€»–€»–ÂàÄ–Â Ë–Â`Ñ–Â`Ñ–Â@Ζ ˖ÂÈ–ÂàÄ–ÂÈ–Â Ë–Â@ΖÂàĖ€»– ¾– ¾– ¾–ÂàÄ–ÂàĖ ¾– ˖ÂÀÁ– ²–Â`¸–€»–ÂÈ–ÂȖ ז ז זÂàݖ זÂÈ–ÂÀÁ– ¾–ÂÈ–ÂÀÁ–ÂÀÁ– ¾– ¾– ¾–ÂàÄ–ÂÀÁ– ˖ÂàĖ ˖€ԖÂȖ ¾– ¾–€»– ²–€»– ¾– ¾–€»–Â@µ–¯– ˖ÂÈ–ÂÀÁ–€»–ÂÀÁ–ÂàĖ ¾–ÂÀÁ–ÂÈ–ÂÀÁ–€»– ¾–€»–Â`¸–Â`¸–Â`¸– ²–€»–Â`і ˖ ˖ ˖ ז ז ז€ԖÂàÄ–Â Ë–ÂàĖ€»–ÂÈ–ÂàÄ–ÂÈ–Â@ΖÂ@Ζ ˖ÂÀÚ–Âàݖ ז ˖ÂÈ–Â@ΖÂȖ ¾–ÂÈ–Â Ë–ÂàÄ–ÂàÄ–Â Ë–Â`Ñ–ÂÀÚ–Â`Ñ–Â`Ñ–Â`і ז€ԖÂ@ΖÂÀږ€Ԗ ˖€Ԗ€Ԗ€Ԗ ז זÂàÝ–Âá–€ԖÂ@ΖÂ@Ζ€Ԗ€Ԗ ä– ä–Â`ê– ä– זÂ`і זÂàݖ זÂàÝ–Âá–Âàݖ ז ז ˖ ˖ ˖Â`Ñ–Â`Ñ–Â Ë–Â`і ז זÂ`Ñ–Â`Ñ–Â`і ˖ ¾–ÂàĖ ¾–Â`¸–ÂàÄ–Â`Ñ–Â@ΖÂ`Ñ–Â Ë–Â`Ñ–Â`Ñ–ÂàÄ–ÂàÄ–Â Ë–Â Ë–ÂÈ–ÂàÄ–Â Ë–ÂÈ–Â Ë–Â`Ñ–Â Ë–Â Ë–ÂÀÁ–Â`¸–€»–ÂÀÁ– ¾– ˖ÂÀÚ–Â`Ñ–Â`Ñ–Â`Ñ–Â`Ñ–ÂàÝ–ÂàÝ–Âá– ä–Âá– ä–ÂÀÚ–Âá–ÂàÝ–ÂàÝ–ÂàÝ–Â@ç–Âá–Â`ê–€í–Â`ê–ÂàÝ–Â@ç–ÂàÝ–ÂÀږ€Ԗ ז ä–Âá–Â`ê–€Ԗ€ԖÂ@Ζ€ԖÂÀږ ð–Â`ê– ä–ÂàÝ–ÂàÝ–Â ä–Âá–Âàݖ 䖀햠ð–Â@ç–€í–Âú–Âú– ð–Âàݖ ז ä– ä–Â`ê– ז€ԖÂàÝ–Â`Ñ–Â`Ñ–Âàݖ€Ԗ€ԖÂ`і€ԖÂ@Ζ ˖ÂÀÚ–Âá– ä–Âàݖ€í– ä–Â@ç–ÂàÝ–ÂàÝ–Â@ç–ÂàÝ–ÂÀږ€Ԗ ז ז זÂ`Ñ–Â@ΖÂàÄ–ÂÀÁ–€»–ÂÀÁ–ÂÈ–ÂàÄ–Â Ë–ÂÀÁ– ˖ ˖ÂÈ–ÂàĖ ¾– ²–Â@µ– ²–¯–ÂÀ¨–€¢–€¢–€¢–Âà«–Â ²–ÂÀÁ–ÂàÄ–Â`¸–Â`¸–Â`¸–Â@µ–Â@µ– ²– ¾–ÂÀÁ– ¾–Â@µ– ²– ²–€»–Â૖€¢–Â`Ÿ– ™– ¥–€¢–ÂÀ¨–Âà«–Â ²–Â૖ ¥–€¢–€¢– ¥– ¥– ¥–ÂÀ¨–€¢–€¢– ¥–Â@œ– ¥– ²– ²–€»–Â@µ– ²– ¥–Âà«–Â ²–€»–Â@µ–Âà«–Â`¸– ²–ÂàÄ–ÂȖ€»– ¾– ¾–ÂÀÁ–Â`¸–Â૖¯–ÂÀ¨–¯– ²–Â`¸–€»– ²– ²– ¥– ¥– ¥– ¥–ÂÀ¨–ÂÀ¨–€¢–Â@œ– ¥–Â`Ÿ–€¢– ¥– ¥–Â@µ– ²–€»– ²–Âà«–Âà«–Âà«–Âà«–ÂÀ¨–€¢–Â@œ– ™–Â`Ÿ–¯–Â`Ÿ–Â`Ÿ– ™–€¢–€¢–ÂÀ¨– ¥–Â`Ÿ–Â@œ–Â`Ÿ–€¢–ÂÀ¨–ÂÀ¨– ¥– ¥– ¥–Â@œ– ™––– ™– ¥–Â`Ÿ–Â@œ–Â@œ– Œ–Âà’–Â@œ– ™–––Âà’–ÂÀ–ÂÀ–Â`Ÿ–Â`Ÿ–Â@œ–Âà’–Âà’–Â`Ÿ––– Œ–––Â`Ÿ–€¢–ÂÀ¨–ÂÀ¨– ¥–€¢–€¢– ™––– ™–Âà’–Â@œ–––€¢– ™–Â`Ÿ– ™– ™– ™– ™– ™––– ™–––––Âà’–Â Œ–ÂÀ–Âà’–Â––Â@œ–Âà’–ÂÀ– Œ–Âày–Â`†–Âà’–Â`Ÿ–Â`Ÿ– Œ– ™– Œ–Â`†–Â@ƒ–Â}–Âày–Âày– €–€‰–ÂÀ– Œ–Âà’–Âà’–Â ™– ™–Âà’–Â ™–€¢– ¥–€¢– ¥–€¢–Â`Ÿ– ¥–Âà«–Â`Ÿ– ™– Œ–Â`†– Œ– Œ–––––Âà’–Â–– Œ–€‰–ÂÀ–––––Â`Ÿ–ÂÀ¨–Â`Ÿ–Â`Ÿ– ¥–Âà’–Âà’–Âà’–Â€‰–€‰–Â`†– €–Â`†– Œ– Œ–€‰–Â@ƒ–€‰– Œ– ™– ¥– ¥–Âà’–ÂÀ– ™– ™–Â`Ÿ–€¢–Â`Ÿ–€¢–Â@œ–Â`Ÿ–€¢–€¢–Â`Ÿ–Â`Ÿ–Â`Ÿ–ÂÀ¨–Â@œ–Âà’–Â ™– ¥–Â૖ ¥–Â૖ ¥–Â`Ÿ– ™– Œ–Â`Ÿ–Â`Ÿ–ÂÀ¨–€¢–Âà«–Â૖–– Œ– Œ– Œ–Â@œ– ™–€¢–Â@œ–ÂÀ– Œ– ¥– ¥–Âà«–Â ™–€¢–Â`Ÿ–––€‰–Âà’–Â ™–€¢–Â@œ– ™– ¥– ¥– ¥–Â`Ÿ–Â`Ÿ– ™– ™–Â`Ÿ– ¥–ÂÀ¨–€¢–Â@œ–¯–Âà«–Â ²–ÂÀ¨–Â`Ÿ–Â૖¯–ÂÀ¨–Âà«–Â@µ–¯–¯–€¢–€¢– ¥–€¢–€¢– ™– ¥–ÂÀ¨–Âà«–Â@œ–Â`Ÿ– ™–Â`Ÿ–€¢–ÂÀ¨–Â૖ ¥–Â`¸–Â૖€»–ÂÀÁ–ÂÀÁ–ÂȖ ¾–€»–Â`¸– ¾–Â`¸–€»– ¾–ÂàÄ–Â Ë–Â Ë–ÂȖ ˖ ¾–€»–ÂÀÁ–Â`¸–¯–Â`¸– ²–Â`¸–Â@µ–€»–€»–ÂÀÁ–ÂàĖ ¾– ¾–Â`¸–€»–Â`¸–€»– ¾–ÂȖ ¾–Â`¸–€»– ¾–ÂàÄ–ÂÈ–Â`¸– ¾–ÂÈ–ÂàÄ–ÂÀÁ–ÂàÄ–Â@ΖÂ@ΖÂ@ΖÂàĖ ¾–ÂàĖ€ԖÂÀÚ–Âá–Â`ê–Âàݖ€Ԗ זÂá– ז€ԖÂÀÚ–Âàݖ€Ԗ ˖ÂÈ–ÂȖ ˖ ˖ ז ˖ זÂÀÚ–Â ä– ז€Ԗ€ԖÂ`Ñ–Â`і€Ԗ ז זÂàÝ–Â ä–ÂàÝ–Â ä– ä–ÂÀږ זÂàÝ–Âàݖ זÂ@ΖÂàÄ–Â Ë–Â@ΖÂàÝ–Â ä– ä–ÂÀÚ–Â`Ñ–Â`Ñ–ÂÀÚ–ÂàÝ–Â`ê–Â`ꖀ햠ä–Â`ê– ä–Â@ç–ÂÀږ ז€ԖÂàÝ–ÂàÝ–Âàݖ ז ä– ז ז ז ä–Â@ç–Âú–Â@ç–Â@ç–Â@ç– ä–ÂÀÚ–ÂàÝ–Â ä–Âàݖ€í– ð– ð–€í–Â@ç–€í–ÂÀó–Â@ç– ð–Â`ê–Â@ç–Âá–Â@ç–€í–Â`ꖠ䖀햠ð–ÂÀó– ð–ÂàÝ–Â ä–Â@ç–Â@疠䖀햠ý–Â`—Â@—Âú– ý– ð–Âàö–€í– ä–Âá–Â@ç– ð–Âú–ÂÀó–Âàö–Â`ê– ä–ÂàÝ–Â ä–Â@ç– ð–€í–Â`ê–Âú–ÂÀó–Â@ç–Âàݖ זÂá– ä–Âá– ä– ä–Â`ꖀ햠ð– ä–ÂÀó– ð–Â`ê–€í–Â@ç–Â@ç–ÂÀó–Âú– ý–Â@—ÂÀó–Âàö–ÂÀó–Âú–Âàö– ð–Â@—ÂÀó– ð–Â`ê– ä– ä–€í–Âàö–Â@ç– ä–ÂàÝ–Â ä–ÂÀÚ–Â ä–Âàö–Â`ê– ð–€í–ÂÀó–Âàö– ý–Âú–Âàö– ð– ð– ð–Âàö– ð–Â`ê– ð– ð– ð– ð–Âú– ý–Â`—Â`— ý–ÂÀó– ð– ð– ð– ð– ý–Âú–Â`—Âàö– ý–Âàö–€í–ÂÀó– ð–Âú–Âú– ý–Âú–Âú–ÂÀó–Âú–Âàö–Â`ê– ð– ð– ð–Â`ê–ÂÀó–Âàö– ý–Âú– ð–€í– ð–Âàö–Âàö– ý–Âú–Âàö– ð–Âàö– ý–Âàö–ÂÀó–ÂÀó–Âú–Âú–€í–Âàö–Âú–Âú– ý– ý–Â`—€—ÂÀ —ÂÀ —  —€—Âà—€—€— ý–€—Â@—Âú–Â`—€—Â`— ý–Âàö– ð– ð–Âú–Âú–  —€—€—€—€—Âú–Â`—€—Âàö– ý–Â`—€—€—€—Â@— ý–ÂÀó– ð–Âàö–€—Â@—ÂÀ —  —  —  —€—  —ÂÀ —  —  —  —Â@—  —Âà—Âà—Â`—€—Â`—  —€—  —Â@—Â`———Âà—€—€— ý–  —  —Â`—Â`—  — — —ÂÀ —Â`—ÂÀ%—Âà(— "—€—ÂÀ%— "—ÂÀ%— /— "—€— "— "—€—Â@—Â`—Â@— "— "—ÂÀ%—Âà(—Â`5—€8—€8—Â`5—Â@2—Â@2—Âà(—Â@2—Â,— /—€8—ÂE—Â`5—Â,—ÂÀ%— /—€8— ;—Â`5—€8—Â`5— /— /—Â,— /— "—Â`——Â,— ;— H—ÂE—ÂÀ>— ;—Â,—Â@2—ÂàA— ;—€8—ÂÀ>—€8—Â@2—€8—ÂàA— ;— H—Â`N—Â`N—ÂàZ—ÂàZ—Â`N—Â`N— H— ;—ÂE—Â`N—ÂàA— ;— H— ;—ÂÀ>—ÂÀ>—Â`N— H—ÂE—ÂÀ>— H—ÂE— H—Â@K—Â@K— H—ÂàA—ÂE— ;—Â`5—€8—€8—€8— /—Â`5—€8— H—ÂàA—€8—€8—Â@2—Â`5—Â`5— ;—ÂàA—ÂàA—ÂàA—ÂàA— H— ;—€8— ;—ÂàA—ÂàA—ÂÀ>— ;— ;— /— /—Â`5— ;—Â,— "—Â`— /—€8—Â,—€8— /— /—€—Âà(—€8— ;— ;— /—Â`5— /—Â,— "—Âà(—€8— "—Â,— /—€8— ;— /—€8—Â`5—ÂÀ%—ÂÀ%— /—Â@2—ÂÀ>—€8— /—Â`5—Â@2—Â@2—ÂÀ%—Âà(—ÂÀ%—€— "— "—Âà(— "— "—ÂÀ%—€—€—€—€— "—Âà(—ÂÀ%—Â,—Âà(—Â,— /— /—ÂÀ%— "—ÂÀ%—Â@—€—€—Â`— "—Â`—Âà(—Â@2—Â`5—Â@2— ;— /— /—Âà(—Â,—€8—Â`5— /—€8—Â,— /—Â,— /—Â,—Â`5—Â,— "—Â`5— /—ÂÀ%—€—Â`—Â`—Â`—Â`— "—ÂÀ%—€—€— /—ÂÀ>—ÂÀ>—Â@2—Â,— —Â@—Âà—ÂÀ — — "—Â`—Â`—Â`—Â@—Â`— "—€—€— "— "— "—Â,— "— "—Â`—Â`—Âà(—Â`— —Â`—€— /—Â,—Â,—ÂÀ%—Â`—Â`—ÂÀ%—ÂÀ%—Âà—  —  — —ÂÀ —  —Âà—  —Â`—€— "—€—€—Â`—Âà(—Â@——ÂÀ ——Â@—Â`—€—Â`— — —  —  —Â@— —€—Â`—€—Âà(—Â,— /—Âà(—€—ÂÀ —€—Â`—  —€—Âà—ÂÀ —  — —Â`—€—Â@—Â`—Âà— —  —Âà—  —— ——ÂÀ —Âà—Âà— — "—€—Â`—Â@—Â`— ——Â@—Â`—€—Â@— — —Â`—€—Â`—Âà—Âà—ÂÀ —Âà—Âà—Â`— "—€—Â`—Âà—Âà—ÂÀ —ÂÀ —Âà—  —Âà—ÂÀ — —Âà—Âà—Â`—Â`——Â@—Â`—Â@— —Âà—Âà——Â@— "—Â,—€— "—ÂÀ%—€—Â`—€—€—ÂÀ%— "— — —Âà— —Â,—Âà(—€— "— "— "— "—Â,— "— — "—Âà(—Â`5—€8—ÂÀ>—ÂÀ>—ÂÀ>—ÂàA—Â`5— ;—ÂÀ>— ;— /—€8—Â`5—€8— /— /—Â`5—Âà(—Âà(— "— "— /—€8—Â@2—€8— ;— ;—€8— ;—Â@2— ;— ;—ÂàA— ;—Â`5— /— /— /—Â`5— /— /—Âà(— "—€— "—Â@2—€8— /—ÂÀ>— ;—Â@K— ;— /— /—Â`5—Â@2—€8—ÂÀ>—ÂàA—ÂàA—ÂÀ>—Â`5— ;—ÂÀ>—ÂE— ;—€8—ÂÀ>— ;—€8—€8—€8—ÂE—ÂàA—ÂE— ;—€8—€8—ÂÀ>— ;—ÂàA—Â@K—ÂàA— H— H—ÂàA—ÂàA— ;—Â`5—Â`5— ;—€8—€8— ;—€8—Â`5—€8— ;—Â`5— ;— ;—ÂÀ>— /— /—Â`5—€8—Â`5—€8—€8—Â@2—Â,—Â`5— ;—Â`5—Â`5— /— ;— ;— ;—Â`5— ;— ;—€8— ;—€8— ;—ÂàA—ÂE—ÂE—Â`N—ÂE— H— H— H— H—€Q—Â`N—Â@K—ÂàA—ÂE— H—Â`N— H—ÂàA—ÂàA—ÂàA—ÂàA—ÂàA—Â@2— ;— H—ÂE—ÂàA—ÂE—ÂE— H—€Q— a—Â`N—ÂàA—ÂàA— ;—ÂàA—€8—ÂÀ>— ;—Â,— ;—ÂE—ÂÀ>—ÂàA—ÂàA—€Q—Â@K—Â`N—Â@K—ÂE—ÂÀ>—ÂE— H— T—Â@K—ÂàA—Â`N—Â`N—Â`N— H—Â@K—Â@K— H—ÂE—ÂE—Â`N—ÂÀ>—€8—Â`5— ;—€8— ;— ;—ÂàA— ;—ÂÀ>—ÂàA—ÂE—ÂÀ>—€8—ÂE—ÂàA— H—Â@K—Â@K— H—ÂàA—ÂÀ>— ;—ÂàA—€Q— ;—ÂàA— ;— ;— /—Â@2—Â`5—ÂÀ>—Â@2—Â,—Âà(— /—Â`5— /—Â@2—Âà(—Âà(—Âà(—ÂÀ%—Â,—Â`5—ÂàA—ÂàA—ÂàA— H— H—ÂàA—ÂE—Â@K—ÂàA—ÂàA— ;— ;— ;— ;—ÂE—Â@2— /— /—Â`5— ;—ÂàA— ;— ;—€8—Â,—Â`5—€8— ;—Â`5— ;—ÂàA—ÂE— H—Â@K— H—Â`N—Â`N—ÂE—ÂàA—€8—Âà(— /— ;—ÂàA—ÂE—€8— /— /—ÂÀ>—ÂE—ÂE—Â@K—Â@K—ÂàA—€Q—Â`N— H— ;—ÂàA—Â`N—€Q— H—ÂÀ>—ÂE— H—Â`N— H—ÂÀ>— ;—Â`5—€8— ;—€8— ;— ;—ÂÀ>—ÂàA—ÂàA— H—Â@K—ÂE—ÂE— H— H—Â@K—Â`N—ÂàZ— H—ÂE—ÂàA— ;—Â@2— ;— /—Â,—Â@—Â@—€— "—ÂÀ%— "—€—Â`—€—€—Â@—Âà— —Â`— ——Âà——Â@—Âà—Â@— "—ÂÀ%— "—Âà(—ÂÀ%— /—Â,— /— "—Â`—Âà—ÂÀ ——Âà—ÂÀ —€—€—Âà—Âà—Â@—Â`— "—Â@— —Â@—Âà—Â`— ý–Âú–€—Âú–  —Â`— ý–Âú–  —ÂÀ — —ÂÀ ——Â@—Â@— — —Â`—Â`—Âà—Â`— ý– ý– ý–  —  —€— —Â`—Â`—ÂÀ —Âà—ÂÀ — — —Âà—ÂÀ —Âà—ÂÀ —  —  —€—Âà—€— ý– ý–Â`— ý–Âú– ð–Âú– ý– ý–Â`—Â`—  —  —  —€—€—Âà—  —€—Â@—Â@—Âú–Â@—Â@—Â`—€—ÂÀ —  — ý–Âú–€—  —ÂÀ — ——Â@—Â@—€— ——ÂÀ —  —Â`—Âà—ÂÀ —Âà—Âà— — —Âà——  —Âà—Âà— —Â`— —— —Âà—Âà—ÂÀ —  —  —Âà—Âà—Â@—Âà—Âà—Âà—€—Âàö–Â`ꖀ햠ð–Â@—Â@—Â@—€—€—Â@—ÂÀ —Âà—Â@—Âà—Âà—Âà—  —Â`—ÂÀ —  —€—€—  —Â@—€—ÂÀ —ÂÀ —  —ÂÀ —ÂÀ —€—€—Âà———Âà—€—Âà—ÂÀ —  —Âà—ÂÀ —ÂÀ —Âà—  —  ——Â`—Âà—Â@——Â@—  —  —  —Â`—Âà—  —  —— ý–ÂÀó–Âàö–Âú–Âàö–Â`—  —  —ÂÀ —€—Â`—€—ÂÀ —ÂÀ —  —ÂÀ —Âà—Âà—  —Âà—  —€—Âà—Âà—Âà— — —Â`—Â`—€—Â@—Â@—Âà—  —Â`—Âàö–  —€— ý– ý– ý–€—Â`—  — ý–Âàö–ÂÀó–ÂÀó– ý–Âú– ý– ý–€— ý–Âú–Â@—€—  —ÂÀ — ý–Âú–Âàö– ý–Âú–Â@—Â@— ý– ð–Â@ç–Âàö–ÂÀó– ð– ð– ä–Âá–Â`ê– ä–Âàö–€— ý–Âàö–Âú– ý–Âàö–  —€——Âà—Âà— ð–Âú–€í– ý– ð–€í– ý– ý–Â@—Â@— ý–Âú– ý–Âú–€í– ä–Â@ç–Â@ç–Âú–Âàö–ÂÀó–Âàö–ÂÀó– ð– ð–Âàö– ð–€í–Âàö– ä– ä–Â@疠䖀햠䖠䖠䖠ä–ÂÀږ ז ז ä–Â@ç–Â@疠䖀햀í–Â@ç–ÂàÝ–Â ä–Âᖀ햀Ԗ€Ԗ זÂ`ê–Â`ê– ð–Âú–Âú–Âàö–€í–ÂÀó– ð– ð– ý–Âú–€— ý–Âú–ÂÀó– ð– ð–€í–€í– ä–ÂÀó–Â@ç–Âá– ä–Â`ê– ä– ð–ÂÀó–Â`ꖀ햀햠ä–Â@ç– ä– ä–Â@ç–ÂÀó–Âú–Âàö– ð–Â`ê–Âá– ä–Â@ç–Â`ê– ä–Â`ê–Â@ç–Â@ç–ÂàÝ–ÂàÝ–Â ä–Â@ç– ð– ð–Â`ê–ÂÀó– ð–Âú– ð– ý–ÂÀó– ð–€í–Â@ç–Â`ê– ä– ז זÂÀږ זÂàÝ–ÂàÝ–ÂÀÚ–Â@ç–ÂÀÚ–Â@疀햠ä–ÂàÝ–ÂàÝ–Â`ê–Âá–Âá–Âá– ä–Â`ê–ÂÀó–Â`ê– ä– ä–Âá–ÂÀږ€í– ð–€í–Â`ê–Â@ç–Â`ê– ä– ä–ÂàÝ–Â`ê–Â`ê–Âú–Â`ê–Â`ê–Âá–Â@Ζ ˖ ˖€ԖÂàÝ–Â ä–ÂàÝ–ÂàÝ–Â`ê–Âá–Âá–Â@ç–Â`ê–Â@ç–€í–Âàݖ ð–Â`ê– ä–€ԖÂÀږ זÂ`ê–Â`ê– ä–Â@ç–ÂÀó–Â`ê– ä–Â`ê–ÂàÝ–ÂÀÚ–Âàݖ זÂ@ç– ä– ä–Â@ç– ä– ä– ä–Â@ç–Â`ê– ä–ÂàÝ–ÂàÝ–Â`ê–Â`ê–Â@ç– ð–Âú–Âàö– ð–Â`ê–Âàö–€í– ð–Â`ê–Â@ç–ÂàÝ–Â ä–Âá–ÂÀÚ–Â ä–Â@ç–Â`ê– ä–Â`ê–Âú–Âú–€í–€í–ÂÀó– ý–  —Â`—Â@—€—  —€—ÂÀó–Âú–Âàö–Âàö–Âàö–ÂÀó– ð– ð–Âú–Âàö–Âàö– ð– ý–Âú–Âàö– ð– ð– ð–€í–Âàö– ð– ð–Âàö–€í– ð–ÂÀó– ð–Âú– ð–Âàö–ÂÀó–€í–Âú–Â@—Â`— ý– ð–Âàö– ý– ð–Â@—Â@—ÂÀó–Âú–Âàö–Âàö–€í–ÂÀó–Âàö–Âàö–Âàö–ÂÀó–Âú– ý–Â@—Âàö–Âú–€—Âà—ÂÀ —Â`—Â@— ý–Âú–Âàö– ð–Âàö–€í–Âàö– ý–ÂÀó–Âàö–ÂÀ — ý–Âàö–Â`ê–Âá–Â`ê– ä–€í–Â`ê–Â@ç– ä–Â@疠䖀햠䖠ä–Â@ç–Â@疀햀í–Â`ê– ð– ð– ä– ä–Âá– ä–Â@ç–Âá– זÂàÝ–Â@ç– ז€ԖÂàÄ–Â@ΖÂ@ΖÂ`Ñ–Â@Ζ€Ԗ ˖ÂàĖ ˖ ˖ ז€Ԗ ä–Â@ç–ÂàÝ–Â@ΖÂ`Ñ–Â Ë–ÂÈ–Â ²– ¾– ¾–ÂàÄ–ÂàĖ€»– ¾–ÂàÄ–Â@ΖÂȖ€ԖÂ@ΖÂ`Ñ–ÂàĖ ¾–Â`¸– ¾– ¾–€»–Â`¸–Â૖ ¾–ÂàÄ–ÂÀÁ–ÂȖ ¾–ÂàÄ–ÂÀÁ–ÂÀÁ– ²–Âà«–Â@µ– ²–¯–Âà«–Â ²– ²–Â@µ– ²–Â`¸–€»–ÂÀÁ–Âà«–ÂÀ¨–Â`¸–Âà«–Âà«–Âà«–Â૖ ¥–¯–Â૖¯–Â@µ– ¾–Â`¸–Â@µ–Â@µ– ²–Âà«–ÂÀ¨– ¥–ÂÀ¨–¯–¯– ¥–Â`Ÿ–Â`Ÿ– ¥– ¥–Â૖¯–Â૖¯– ²– ¾–Â`¸– ¾–Âà«–Â૖€»– ¾–Â`¸–Âà«–ÂÀ¨– ¥–Â@œ– ¥–Âà«–Âà«–Â`Ÿ– ²–¯–ÂÀ¨–€¢– ¥– ¥–ÂÀ¨–Â૖ ¥–Â૖¯–€»–Âà«–Â@µ–Â@µ–€»–Â`¸–ÂàÄ–ÂÀÁ– ¾–Â`¸–¯–Â@µ– ²–€»–Â@µ– ²– ¾–Â`¸–¯– ¥– ¥– ²–Âà«–Â@µ–Â@µ– ¾–¯–Â`Ÿ–Â`Ÿ–€¢– ¥– ²–¯–€»–Â`¸–Â@µ– ²–Â@µ–¯–ÂÀ¨– ²–Â`Ÿ–Â`Ÿ– ¥–ÂÀ¨–Â@œ–Â`Ÿ– ¥–ÂÀ¨–€¢–¯–€»– ¾–Â`¸– ˖Â`¸–Â@µ–ÂÀ¨– ¥–Â@œ–Â@œ–Â`Ÿ–Â`Ÿ–€¢– ¥– ¥– ¥–Â`Ÿ– ¥– ¥– ²–¯– ²–Â@µ– ¾– ¾–Â`¸–ÂàÄ–ÂàĖ€»–Âà«–Â ²–¯–Â`¸– ¾–Â`¸–Â@µ–Â`¸– ¾–ÂÀÁ– ¾– ¾–ÂÀÁ–ÂàĖ ˖ ˖ ¾–Â`¸–€»– ¾–ÂàÄ–Â Ë–ÂàÄ–Â`¸– ¾– ¾–Â`¸– ¾– ˖ ˖Â`Ñ–Â`Ñ–Â Ë–ÂȖ ˖ ˖ זÂá–ÂàÝ–ÂÀÚ–Â Ë–ÂÀÁ–ÂàÄ–ÂÀÁ– ˖ ˖ÂÈ–Â`Ñ–ÂȖ ¾– ˖ ˖ ²– ¥–Âà«–Â ²– ¾– ˖ ˖ ˖ ˖ ˖ ¾– ¾– ¾–¯–€»–€»–€»–Â`¸–Â૖¯– ²– ²– ²–Â`¸–€»– ¾– ¾– ¾–€»–Â`¸–¯– ²–Â`¸–€»–ÂàÄ–ÂÀÁ– ¾–ÂÈ–Â`і ז זÂ@ΖÂ@Ζ ˖ÂÈ–ÂÈ–Â`Ñ–ÂÈ–ÂÈ–ÂàĖ ¾– ¾–ÂàĖ ¾–Â@µ–ÂÀÁ–€»– ¾–Â`¸– ²–ÂÀÁ–ÂÈ–ÂÀÁ– ¾– ¾–€»– ¾–ÂàĖ ˖ ¾–ÂÈ–ÂÀÁ–€»– ¾– ¾–Â`¸– ²– ²–¯– ¾– ¾–ÂÀÁ–ÂàÄ–ÂàÄ–ÂàĖ ¾–ÂÈ–ÂàÄ–ÂàÄ–ÂÀÁ– ²–Âà«–ÂÀ¨–Â૖€»– ²–ÂÀ¨– ¥–Âà«–Â ²–ÂÀÁ– ¾– ¾–€»–Â૖ ¥– ¥–Â૖€¢– ¥–ÂÀ¨–€¢– ¥–ÂÀ¨– ²–€»–Â`¸–Â@µ–Â`¸– ²– ²–¯– ¥–ÂÀ¨–Âà«–Â ²–Â`¸– ²–Âà«–Âà«–Â ²–Â@µ–Â@µ–€»–€»–Âà«–ÂÀ¨– ¥–ÂÀ¨–Âà«–Â@µ– ²– ¾– ¾– ¾–Â`¸– ²– ²–Â`¸– ¾– ²– ²–ÂÀ¨–¯–Â@µ–ÂàĖ ˖ ¾–ÂÀÁ– ¾–Â@µ–Â`¸–Â@µ–Â૖ ¥–Âà«–Â ²–€¢–€¢– ¥–ÂÀ¨–Â૖ ¥–¯– ²–Â૖¯– ²– ²–Â@µ–Â૖ ¥–ÂÀ¨– ¥–ÂÀ¨–Âà«–Âà«–Â૖€»–€»–Â૖€¢– ™– ¥– ¥– ¥–ÂÀ¨–¯–Âà«–Â`Ÿ–Â@œ–Â@œ–ÂÀ¨–Â૖ ¥–Â`Ÿ–Â@œ–Â`Ÿ–Â@œ–Â@œ–€¢–Â@œ–––ÂÀ–ÂÀ–Â@œ–Â@œ–ÂÀ¨–Â`Ÿ– ¥–€¢–€¢–Â@œ–Â@œ–Â@œ– ¥–Â`Ÿ– ¥–Â`Ÿ–€¢– ™–ÂÀ–Âà’–Âà’–Âà’–Â@œ– ™–Â@œ– ™– Œ–Âà’–Â`Ÿ–€¢– ™– ™–Âà’–Âà’–Â ™–ÂÀ– ™–€¢– ¥–––ÂÀ–Â`†– Œ–Âà’–Âà’–Â Œ–ÂÀ– ™–Âà’–Â@œ–€¢–ÂÀ¨–ÂÀ¨– ¥– ™–Âà’–Â@œ– ¥–Â`Ÿ– ™–Â@œ–Âà’–Â ™–Âà’–Âà’–Â`†–Â`†–Â`†–€‰– Œ–€‰–€‰– Œ–Â`†– €–Â`†–Â`†–Â`†–Â}– s–€p–€p–Â`m–ÂÀv– €– Œ–Â`†– Œ– Œ–ÂÀ–Âà’–Â Œ–Â@ƒ– Œ–Â@ƒ– Œ–€‰–Â`†– €– €–€‰– €–€‰– €– s–Âày– s–Âày–Âày– €– €–Â`†–Â@ƒ– €–€‰– ™–––Âà’–Â Œ– €–Â}–Âày– €– s– €–€‰––– ™–Âà’–Â Œ– Œ– €–€‰–ÂÀ–Â@œ–€¢–Â`Ÿ– ™–Â`Ÿ–€¢–€¢– ™–Â`Ÿ–Âà’–Â––Â`Ÿ–Â`Ÿ–Â`Ÿ–ÂÀ¨–Â@œ–Â@œ– ™–€¢–Â`Ÿ–Âà’–Âà’–Â@œ–Â@œ–––Â`Ÿ– ™–ÂÀ–Âà’–Â Œ–Âà’–ÂÀ–Âà’–ÂÀ–ÂÀ–ÂÀ–Â`Ÿ– ™– ¥–Â`Ÿ–Â@œ– ¥–€¢–ÂÀ¨–Âà«–Â`Ÿ– ²–¯–Â`Ÿ–Âà’–Â Œ–––€‰–Â`†–ÂÀ–Âà’–Â@œ–ÂÀ–ÂÀ–Â@ƒ––– Œ–Â@ƒ– €–Â@ƒ–€‰–Â`†– €–Â`†– Œ– Œ– Œ– ™––– ™–––Âà’–Â ™– Œ–Â`†–Â`†–Â`†–€‰–Âà’–Â–– Œ–Â`†– Œ– Œ–€‰– €–Â}– €–Â`†–ÂÀ–Â@ƒ–Â`†–Â`†–€‰– Œ– ™– Œ–€‰–Â}–Âày– s–Â}–Â}–Â}–Â@ƒ–Âày–Â@ƒ–Â`m– s–€p– s–ÂÀv–Â`m– s–€p– s–ÂÀv– s– g–Â`m– s–Â}– €–€p– s–€p– s–Âày– s–ÂÀv–Â}–Â@ƒ–Â}–Âày–€p–€p–€p–Âà`– N– Z– Z–Â@j–Âd–Âà`–Â@j–€p–Â`m–Â@j– g–Â`m–Â`m– g–Â`m–€p–€p–€p–€p– g– g– g–Âà`–Âà`–Â@j–Â}–Âày–Âày–Âày–Â`m–€p–Â@j–€p–Â`m–Â@j– g–Âà`–Âd–Âd–Âà`–Âd– g–Â@j–Â@j–ÂÀ]–Âà`–Âà`– g–Â`m–€p–Â`m–Âd–Âà`– Z– g– g–Âà`– Z–Â`T–Â`T–€W– N– Z–Âà`– Z– Z–Â`T– Z–ÂÀ]–€W– N– A–ÂàG– A–ÂÀD–ÂÀD–ÂàG– Z–€W–Â`T–€W– Z–Âà`–Âà`– N–Â`T–€W– N– A– A– 5– 5– (–Âà.–Â`;– A–Â`;–€>–€>–Â`;–€>– A– A– A–ÂÀD–ÂàG–ÂàG– A–Â@Q–ÂK–Â`T–Â`T–ÂK–ÂK– A–ÂK– N–ÂàG–ÂàG– A–Â`;–Â`;–€>–ÂàG–ÂK–Â`T–Â@Q– N–ÂÀD–ÂàG– N– N–ÂK– N– N–ÂàG–€>– A–Â@8–Â@8–Â2–€>–€>–ÂK–Â@8–Âà.– 5– 5– A–€>– A–€>–Â@8–Â`;– 5– 5–€>–€>–ÂÀD–ÂàG–ÂÀD–Â`;–€>–Â@8–Âà.–Â2–Â@8–Â`;– 5–ÂK– A–€>– 5– A–Â@Q–€W–€W–ÂK–€>–ÂÀD–€>–Â`;– 5– 5–Â@8–ÂÀD– A– A– A–Â`;– A–€>–Â@8–Â`;–Â@8–Âà.–ÂÀ+–Âà.–€>–Â`;–Â@8–Â`;– 5– (–Âà.–ÂÀ+–Âà.–Â2–Â`;– 5– 5–Â`;–Â@8– 5– 5– A–€>–€>–Âà.– 5–Â@8– 5–€>– A–ÂàG–ÂàG–€>–ÂàG– A– N– N–Â`T–ÂK– N–ÂàG–€>–Â@8–€>–Â`;– 5– (–Âà.–Â2–Â2–Â`"–Â@– (–ÂÀ+–Â2–ÂÀ+–Âà.– 5–Â`;– 5–Â@8– A– A–€>–Â`;– A–ÂàG–ÂàG–Â`;–€>–€>–€>– A–€>–ÂàG– A–ÂàG– A– 5–€>–ÂàG–ÂàG– A–ÂÀD–ÂÀD–ÂÀD– A–Â`;– A–Â`;– 5– 5– A–€>–Â@8–Â@8–Â`;–ÂÀD–Â`;–€%– (–Â2–ÂÀ+–Â2–Â`;–Â@8– (–Âà.–Â2–€>–Â`;–Â2–Âà.–Âà.– 5– 5–Â2–Â2–€>–€>–Â`;–ÂÀD–ÂÀD– A–Â@8–Â`;– A– A–€>– A–ÂàG– N–ÂK–ÂàG–ÂàG–ÂàG– Z– Z–€W–ÂàG–ÂK–ÂK– N–ÂàG–ÂK– A–ÂÀD– A– N–ÂK–ÂÀD–ÂàG–Â`T–Â`T–Â`T–Â@Q– Z–€W–Â`T–ÂÀ]– Z–Â@Q–ÂàG–Â`;–Â@8–Â`;–ÂÀD– A–ÂàG–Â`T–Â`T–Â@Q–€W–Â`T–Â@Q–ÂàG–ÂàG– N–Â`T– Z– Z–Âd–Â`m–Â@j–Âà`– g– g–Âà`– Z–ÂÀ]–Â@Q–€W– Z–Â`T– Z–Â`T–Â`T–€W–Â`T–ÂÀ]– g–Â`T–ÂàG–ÂK–ÂàG–Â@Q–Â@Q–€W–Âà`–Â@j–€p–€p–Âà`– Z–€W–Âà`–€W–Âà`–Âd– N–Â@Q–€W–Âà`– g–€p–€p– g– g–Â@j–€p– s– Z–€W–Â`T–Âd–Â`m– g–ÂÀ]–Âd–ÂÀ]–Âà`–ÂÀ]–Âà`– Z–Â@Q– N–€>– A–ÂK–ÂK–Â@Q–Â`T–Â@Q–ÂàG– A– A– A– Z– Z–Âà`–Âà`–Â`T–Â`T–€W–Â@Q–ÂK– A– A– A–Â@Q–Â@Q–ÂÀD– A– N–€W–€W–Â`T–ÂàG– A–ÂK–ÂÀD–Â@Q– N–Â`T–Â`T–€W– g– Z–€W–Â`T–Âà`–Âà`– Z– Z–Â`T–ÂK–ÂÀD– N–ÂàG–ÂàG–ÂàG– N–ÂK–ÂK–ÂàG–ÂK–ÂàG– N– N– N–ÂK–ÂÀD– A–ÂàG–ÂK–ÂàG– A– A–ÂàG– N–Â@Q–Â`T–ÂàG–ÂK–Â`T–ÂàG–ÂàG–ÂÀD–ÂàG– N– A– A–ÂK– A– N–€W–Â`T–Â`T–ÂàG–Â@Q–ÂÀ]–Â`T–€W–€W–Â@Q– Z–Âà`–ÂÀ]–ÂàG–ÂK– N–Â`T–€W–€W– N– A–€>– A–€>– N–ÂàG–€W–Â@Q–ÂàG–Â@8– 5– 5– 5– 5–Â@8–Â`;–Â2–Â`;– – (–ÂÀ+–Â2–€%–Â`"––Â`"– (–€>–ÂàG–€>–Â`;–Âà.– (–Â2–Âà.–Âà.–€%– 5– 5–Â2–ÂÀ+–€%– (– (– (– 5–€>– 5–ÂÀD– A–Â@8–Â`;– 5– 5–Â`;–Âà.–ÂÀ+–ÂÀ+–Âà.– 5–Âà.–Â@8–Â2–Â2–Â`;– A–ÂàG–ÂàG–€>–Â@8–Â@8– 5– 5–€>– A–Â`;–Â2–Â2–Â`"–€%–Â@– (–Â`"– (–Âà.–€%– (–Â@– (– (–Âà.–Â`;–Â@8– 5–Â2–Âà.– A– A–ÂÀD–Â`;–Â`;– A–€>–€>–Â`;– 5–ÂÀ+–Â`;–Â`;–Â`;–Âà.– 5–Â@8–Â2–Âà.– (–Âà.–Â`;–Â@8–Â2–Âà.–Â`;– A– A–€>–€>–Â`;– 5–Â@8– 5– A–ÂàG–€>–Â@8– 5– 5–Â@8–ÂÀD–ÂK–ÂÀD–ÂÀD–€>–ÂÀD–€>–ÂÀ+–Â2–Â2– 5– (–Â`"–Âà.–Â`;– 5– 5– A–Â`;–ÂÀD–ÂÀD– N–ÂàG–ÂÀD–ÂàG–ÂK–ÂÀD– A–ÂàG– N–ÂàG– A–ÂàG–ÂàG–ÂÀD–Â@Q– Z– N– A–€>–€>–Â`;–ÂÀD–ÂàG–ÂàG– N– N–ÂàG– A–ÂàG– N–ÂK– A–€>– A–€>– A–€>–€>– A– A– A–Â@8– A–ÂàG–Â@Q– N– N–Â`T– N– N–ÂÀ]–€W– Z– Z–Â@Q–Â@Q–ÂàG–€W–€W–ÂÀ]– Z– Z–ÂÀ]–ÂÀ]–ÂÀ]– Z– N– Z–Â`T–ÂàG–ÂK–ÂK–ÂàG–ÂàG– N–€W–ÂK–ÂK–Â@Q–Â`T–Â`T–ÂÀ]–ÂÀ]–ÂÀ]– g–Âd–Âà`–Â@j–Âd– g– Z–ÂÀ]–€W–Â`T–Â`T–Â`T–€W–ÂÀ]– g–Âd–Âà`–Âà`– Z–Âà`–ÂÀ]–€W–€W– Z– Z–Âà`– Z–ÂÀ]–Â@Q–Âà`–ÂÀ]–Â`T– A–€>–ÂàG– A–Â`;– N–€W–Â@Q–Â`T–Â`T– N– N– Z–ÂK–ÂK–€W–ÂÀD–ÂK–ÂàG–Â`T–€W–Â@Q–ÂàG–ÂàG–ÂàG–ÂÀD–Â@8–€>–ÂÀD–ÂK–ÂàG–ÂàG– A–ÂK–ÂàG–ÂàG–ÂÀD–Â@Q– N–ÂàG–€>– A– A– A–Â`;– A–ÂÀD–ÂÀD– A– A–ÂÀD–ÂàG–ÂàG–Â@Q–Â`T–ÂK– N–ÂK–ÂK–€W–ÂàG–Â@Q– N– N–Â`T– N– Z–€W–ÂàG–ÂàG– A–Â`;–ÂàG–Â@Q– N–€W–€W–€W– Z–€W– N–ÂK– A– N–ÂK–€>–€>–€>–ÂàG–ÂàG–ÂàG–ÂK– A–ÂK– A–ÂK– A–ÂÀD–Â`;– A–ÂàG– N–Â@Q–ÂàG–ÂàG–ÂàG– N–Â@Q–Â@Q– N– N–ÂàG–€>–Âà.–Â`;– 5– A–€>– 5–Â`;–Â@8– A–€>–ÂÀD– A–€>–Â@8–Â2–Â`;–Âà.–Â@8– 5–Âà.–Â2–Â2–Âà.–Âà.– (– – – –ÂÀ+–Â`"–€%–ÂÀ+–Âà.– (–€%–€%– (–Â`"–Â`"–Â`"– – –ÂÀ–– –€ –Âà–€ –Â` – –Âàü•Â` – –Â`"–€%– (–€%– –Âà– – – –ÂÀ– – –Â@–Â` –Â@–Â` ––ÂÀù• – – –€ –Â@––Âàü•Âàü•Â@–Â@–Âà–€ –Âàü•–Âàü•Âàü•– –ÂÀù• –Âàü• ö•Â`ð•Â`ð• ö• ö•Â`ð• ö•Â`ð• ê•Â`ð•Âç• ݕ ݕÂÀà•Â@ԕ ѕ ݕÂÀà•Â`וÂΕ ѕ ѕÂ`ו ѕÂàÊ•ÂÀÇ•ÂàÊ•ÂàÊ•Â`וÂÀà•€ڕ ݕ€ڕ ݕÂàã•ÂÀà• ݕÂ@Ô•Â`וÂ`וÂàÊ•ÂΕ ĕÂàʕ ѕ ѕÂ`ו€ڕ€ڕ ѕ ѕÂ`וÂàʕ ĕ ¸•ÂàÊ•ÂÀÇ•ÂàÊ•ÂàÊ•ÂΕÂ`ו€ڕ ݕ ݕÂ@í•Âàã• ö• ê• ê•Â@í• ê•Âç• ê• ö•Âàü•€ó• ê•Âàã•Â@í•Â`ð• ê•Â@í•Â`ð• ݕ ݕÂ`וÂΕÂ@Ô•Â`ו ѕÂ@Ô•ÂΕ ѕÂ`וÂ`וÂÀà• ݕ ݕ ݕ ݕ ݕÂç•Âàã• ݕÂ`וÂ`ו€ڕ€ڕ€ڕ ݕ€ڕ ݕ€ڕÂÀà• ê•Âç•Âç• ݕ€ڕÂ`וÂ`ו ݕÂàã• ݕÂàã•Âç• ê• ݕ ݕÂ@Ô•ÂΕÂàÊ•ÂΕÂΕ ĕ ĕÂ`¾• ĕ ĕ ĕÂÀǕ ĕÂΕÂÀǕ ĕ ĕ ѕ ѕÂàʕ€Á•ÂÀÇ•ÂÀÇ•ÂàÊ•ÂàÊ•ÂΕÂ@ԕ ѕ ĕÂàÊ•Â`¾• ¸•Â`¾• ĕÂ`¾•€Á• ѕÂ@Ô•Â Ñ•ÂΕ ѕÂÀÇ•Â@ԕ€ڕÂ`וÂ`וÂàã•ÂÀà•Âàã•Â`ו€ڕ ѕÂ`ו ѕ ѕ ѕ€Á•ÂàÊ•ÂàÊ•ÂÀÇ•ÂàÊ•ÂàÊ•ÂΕÂ@ԕ€ڕ ѕ ѕÂàʕ€Á•Â`¾• ¸•Â`¾•€Á•Â`¾•Â`¾•Â`¾•Â`¾• ¸•Â@»•Â`¾•ÂΕÂΕÂÀÇ•ÂÀÇ•ÂàÊ•Âàʕ ĕ ¸•ÂౕÂౕ ¸•Âౕ ¸•€Á•€Á• ¸• ¸•€Á•Â`¾•€Á• ¸•€Á•Â`¾•€Á• ĕÂ@»•€Á•ÂàÊ•ÂÀǕ ĕÂàʕ ĕÂΕÂΕ€Á•Â`¾•ÂÀǕ€Á• ¸•Â@»• ¸• «•µ• ¸• ¸•Âౕ ¸• «•µ•ÂౕÂ@¢•µ• ¸•Â`¾• ¸•ÂౕÂౕµ•ÂÀ®•€¨•Âౕœ•Âà˜•Â Ÿ•Â`¥•Â@¢•Âà˜•Â`¥• ¸•ÂౕÂÀ®• «• «•€¨• Ÿ•€¨• Ÿ•Â`¥•Â`¥•ÂÀ®•ÂౕÂ`¥•Â@¢• Ÿ•Â`¥•Â@¢•ÂÀ®•µ•Â`¥•Â@¢•Â`¥•Â`¥• «•Âà˜•Âœ•Âà˜•Â Ÿ•€¨•€¨•Âà˜•Â`¥• «•µ•ÂÀ®•Âౕ «•ÂÀ®• «• «•ÂÀ®•€¨•ÂÀ®•ÂౕÂౕ ¸•Â@»• ĕÂ`¾•Â@»•Âౕ «•Âౕ Ÿ•€¨• Ÿ•Â`¥•µ•ÂౕÂౕÂౕÂౕ€¨•ÂÀ®•Â`¥•Âౕµ•€¨•Âౕ€¨•µ•Â`¾•Â`¾•Â`¾•€Á•€Á• ĕ€Á•Â`¾•Â@»•Â@»•Â`¾• ¸•Â`¾•Â@»•Â`¾• ĕÂΕÂ@»•Â@»•Â`¾•Â`¾•µ• «• «•Â`¥• «•Â`¥•€¨•ÂÀ®• «• «•ÂÀ®•Â`¥• «•Â`¥•€¨•Âà˜•Âà˜•Âà˜•Â Ÿ•Â`Œ•Â@‰•ƒ•Â`Œ•Â`Œ• †• y•Âà• †• †• †•Âà•Âà•ÂÀ|•Â@p•Â`s•Â`s•Âà•Â`s•Â@p•€v•Âà•Âà•Â`s•Â@p•€v• y• y•Â`s•Â`s• y•Âà•ÂÀ|•Âà• †• †•ÂÀ|•ƒ•Â`Œ•Â`Œ• ’• ’• ’•ÂÀ••Âà˜•Â †• ’•Â`Œ• ’•œ•œ•œ•Â@¢•œ•ÂÀ•• ’•Â`Œ• †•€• ’•ÂÀ••Âà˜•Âà˜•Â@‰•Â@‰•ƒ•€• †• †•Âà•€v• y•ÂÀ|•Âà•ƒ• y•Â@p•Â`s•Âà•Â@‰•Â@‰•ƒ• y• y• y• y• y• m•Â@p• `• `•Âj•Âàf•Â`s• m• m•Â`s• y•Â`s•Âàf•€]•€]•€]•Âàf• m•Âj•Âàf•Âàf• m•Âàf•€]•Â`Z•ÂÀc•Â@W•€]•€]•Â`Z•Â`Z• `•€]• `•ÂQ• T•ÂÀc•Âàf• m•€]•Â@W•Â`Z•Â`Z•ÂÀc•€]•Â`Z•Â`Z•€]•ÂÀc• `• `• `•Âàf• `•Âàf•Â`Z•ÂÀc• `•Âj•Âàf•Âj•Â`s•Âj•Â`Z•Â@W•Â@W•Â@W• T• T• T•Â`Z• T•€]• `•€]• `•€]•Â`Z• T•Â`Z• T•€]•ÂÀc•€]•Â`Z• T• T•Â@W•€]•€]•Â`Z•Â`Z•Â`Z•Â`Z•Â`Z•Â`Z• `• `• T•ÂÀJ•ÂÀJ•ÂàM• T•ÂQ• T• T•Âàf•Âàf•Âàf•Âàf•Â@p• `•€]• `•Âàf•€]•ÂàM•Â@W• T• G• G•ÂÀJ•ÂQ•Â`A•Â`A•ÂàM•Â@W•€]•ÂÀc•Âj• `•ÂÀc• `•Â`Z•ÂàM• G•Â`A•Â8• ;•Â`A•Â8•Âà4• .• ;•Âà4•Â8• .•Âà4• ;•Â`A•Â8•Âà4•Âà4•Â8•ÂÀ1•Âà4• .• ;•ÂÀ1• ;•Âà4• ;• G•Â@>•Â@>• ;•ÂÀ1•ÂÀ1• ;•Â@>•Â8•Â@>•Â@>• ;• G•Â`A•Â`A•Â@>• ;•€D•Â@>•Âà4•Â8• ;• ;•€+••€••Â`(•Â`(•ÂÀ1•ÂÀ1• ;• ;• ;• ;•Â@>• ;•€+• .•ÂÀ1•Â`(• .• ;•ÂÀ1•Â8• .•Â@%•Â`(• "•€+• "• •€•Â`• •Â@ •€•Âà•€• •Â@ ••Â`•€• • •€•Â@ •Â@ • ü”Âà•Âà•Â@ • •Â`•Â@ •Â@ ••Â@ • •ÂÀÿ”€ù”Â`ö” ð”Â@ó”€ù”€•Â@ •Âà•€ù”Âà•Â`ö”Â@ó” ð” ð”Âà锠㔀à”Âà销ù”Âí”Âí” ð” ð” ð” ð” ð”ÂÀæ”ÂÀæ”Âàé”€à”€à”Â`Ý”Â@ڔ ã”Â`Ý”Â@Ú”Â`ݔ ה ה הÂ`Ý”ÂÀ攀à”Â`Ý”Â`ݔ הÂÀæ”Âàé” ð” ð”€ù”€ù”•ÂÀÿ”ÂÀÿ”Âà•Â`ö”Âà•Â@ó” ð”Â@ó”Â@ó”Âàé”Âàé”ÂÀæ” ã”Âàé” ð”Â`ö”Â@ó” ã” ð”Âàé”Âàé”Â@Ú”Âàé”Âí”Â`ö”ÂÀÿ”€ù” ü”Âà•Âà• ü”€ù”Âà• ð”Âàé”Â@ó”Â`ö” ü”Âà••Âà•ÂÀÿ”Âà•€ù”• • ü”Â`ö”Â`ö”Â`ö”€ù”Â`ö”Â`ö”€ù”Âà•Âà••Âà• •€• •€• • •ÂÀ•€•Âà•€ù”Âà• • •€•Â`•Â`•€• • •ÂÀ• •ÂÀÿ”ÂÀÿ”• • •€•Â@ •Â`• •Â@ •Â`•Â@ • •Â@ •Âà• ü”•• •ÂÀÿ” •Â`•• ••€•Â`•Â`•ÂÀ•• •€•€• • • • • •€•€•Â@ •Â`•ÂÀ•Âà•€+• "• "•Â`(•€+•Â`(•Â@%•Âà• •ÂÀ•€• •Âà• "•€+•Â`(•Â`(•ÂÀ1•ÂÀ1• "•Â@%• "••Âà•• "•Âà•Â`•Â`• •Âà• "•Â`(• •€•Âà•ÂÀ•• •• "•Â@%•Â`(••€+•€+•Âà4• .•Â`(• "•• •Âà•Âà•Âà• "•Âà••Âà••Âà• "• •Âà• "•Â`(• "• "•Â`(•• "•€•€•€•Â@ •Â`•€• •Â`•€•Â`• •€•Âà•Âà• •€•€• • "•ÂÀ• • ü”€ù”Â`ö” ü”Â@ •Â`•ÂÀÿ” ü”•Â@ ••ÂÀÿ”Â`•€•Â`•ÂÀÿ” ü”Â`ö” ð”€ù”Â`• ü”Âà•Â@ • •Â`•€• •Âà• "• • •Â`•Â`•€• •€•ÂÀ• •Â@ •Âà•Â@ •ÂÀ•ÂÀ•€+••Âà•Âà•Âà• "•• • •€• • ü”ÂÀÿ”ÂÀÿ”Â@ •€•• "•Âà•Âà• •ÂÀ• "• • •€• •Â@ •€•€• • •€• • • •Â`•Â@ •€•€• •€• • •Â`•€• •€•Â@ • • •••Â@%•Âà• •• • • •ÂÀ• • •• "•Âà••€+•Â`(• "•Â`(•€+•Â@%•ÂÀ1•€+• "•Â@%•Âà•ÂÀ•Â@%•Â`(•Â@%•Â`(• .• .•Âà4•Â`(• "•Âà•ÂÀ• •ÂÀ•Âà••Â`•Âà• • •€•Â`•ÂÀ•Âà•€• •Âà•Âà•• •Â@%•€+•Â`(•€+•€+•Â`(•Â@%•Â`(•Â@%•• "•€+•Âà•Âà•€•Âà••Âà• "•Â@%• .•ÂÀ1•€+•Â`(•Â@%• .•Â@%• "•Â@%•Âà•Â`(•€+•€+•Âà4•Â8• .•Â@%•Âà•Âà• •Âà• "• "• •• • • "• .•Â8•€+• .• .•ÂÀ1•Â8•Â@>• ;• .•€+•ÂÀ1• .• .•Âà4• .• .•€+•ÂÀ1• ;• .• .•Â`(•€+•Âà4•ÂÀ1•Âà4•Â8•€+•ÂÀ1• .•Â@%•ÂÀ1• .•Â`A•Â`A•Âà4• ;• G•Â@>• G• G•Âà4•Â8•ÂÀ1• ;•Â`A• ;•Â8•Â8•Â8•Â8•Â8•Â8•Â8•Âà4• ;•ÂàM•€D•ÂàM• G•Â`A• ;• .•ÂÀ1•€+•Â`(• ;•Âà4•€D•ÂàM•ÂÀJ•ÂàM•€D•ÂàM•ÂÀJ• G•ÂÀJ• G• T•€]• m•Âj•Âj•Âj•Âàf•Âàf•Âàf• m• `•Âàf•ÂÀc•ÂàM• T• T•€]•ÂÀc•Â`Z•€]•Â`Z•€]• `•ÂQ•ÂQ• G•Â@W•€]•Âàf•Âj•Âj• `•ÂÀc•€]•ÂÀc•Â@W•Â`Z•Â`Z•Â@W• T•€]•Âàf• `•Âàf•Âj•Âàf• `• `•Â`Z•Â`Z•Â`Z•€]• `•ÂÀc•€]•Â@W• T•Â`Z•Â`Z• `•Âj•€v• y• m•Â`s• m•Âàf• m•Â`s• y•Â@p•Â@p•Âàf• `•€]•Â@W•Âàf•Âj•Âàf•Âàf•Âàf• `• `•Â@p•Â`s•Â@p•Âj•Â`Z•ÂÀc• m•Âàf•ÂÀc•Âj• `•Âàf•Âj•Â@p• m•Â`s• m•Â@p•Â`s• m•Âàf• `•ÂÀc•Â`Z• T•ÂàM•Â`Z• `•ÂÀc•ÂÀc•Â`Z•Â`Z•€]•€]•€]• T•Â@W•Âàf•ÂÀc•€]• `•ÂÀc• m•Â`s• m•Âj• m•Âàf• `• m•Â@p• `•Â`Z•Â`Z•ÂàM•ÂQ•€]•Âàf• m•€]•Âàf•ÂÀc• T•ÂàM•ÂQ•ÂàM•Â`Z• `• `•Â`Z•ÂàM•Â`Z•Â`Z•ÂÀc•ÂÀc•Âàf•ÂÀc• `•Â`Z•ÂÀc•Â`Z• `• `• `•Âàf• m• m•Âàf• `•Â`Z•€]• `•ÂÀc•Â@W•€]•Â`Z• `•€]• `•Â`Z• m•ÂÀc•Âàf•Âàf• `•€]•€]• `•ÂÀc•€]•€]•Âàf• `• T•ÂQ•€D•Â`A•Â@>•€D•ÂQ•€]•Â@W•Â`Z•€]• `•ÂàM•Â@W•Â`Z•Â`Z•Â`Z• T• T•ÂÀJ•ÂÀJ•ÂàM•ÂÀJ•ÂQ•ÂQ• T•ÂQ•€]•Â@W•Â@W•€]•ÂàM•ÂQ•ÂàM•ÂÀJ• G•Â@W•Â@W•ÂàM• T• `•Â`Z•Â`Z•Â`Z•Âj•ÂÀc•Â`Z•€]•Âj•Â@p• m•Â`s• `• `•Âj• m•Âàf•Â`Z•Âàf•€]• `•€]• T•Â`Z• T•ÂàM•ÂàM•ÂÀJ•ÂÀJ• G•ÂàM•ÂÀJ• T•ÂQ•Â@W•Â`Z•Â@W•Â@W•ÂQ•€]•Â`Z•ÂàM• T•ÂàM• G•ÂÀJ• T•ÂàM•ÂQ•Â`Z• T•Â@W• T•€]•ÂÀc• `•Âàf• m•Â`s•€v• y•Â@p•ÂÀc•€]•Â@W•ÂÀc• `• `• `• T•ÂàM• T• `•Â@W•ÂàM•ÂàM• T•Â@W•Â@W• T• T•Â`Z• T• T• T• T• T• T•ÂQ• T• T• m• m•€]• T•ÂQ•ÂÀJ•ÂÀJ•ÂÀJ•ÂàM•ÂàM•ÂQ•ÂàM•€D• G•Â@W•Â`Z•Â@W• T•ÂQ•ÂÀJ•Â`Z• `•ÂÀc•Â`Z•Â@W• T• `•Âj•Âàf•Âàf•€]• G• G•ÂàM•ÂàM• T•€]• m•Â@p•Âàf•Âàf•ÂÀc•Â`Z•Â@W•Â`Z• T•€]•Â`Z•Â@W•€]•€]•Â@W•Â`Z•€]•ÂÀc• `• `•Â@W•Â`Z•Â`Z•ÂQ•€]• `•€]•Âàf•Âàf• T• T•Â@W•€]•Â@W•ÂQ•ÂàM• T•Â`Z•ÂàM•ÂQ• T• T•ÂQ•Â@W•ÂQ•€]• `• m• m•Â@p•Â@p•€v•Â`s•Â@p•Â@p• m• m•Â@p•Â@p•ÂÀ|•Â`s•Â`s•Â`s•Â`s•Âàf•Â`s•€v•ÂÀ|•ÂÀ|• y•€v•Âj•ÂÀc•€]•Âàf• m•€v•Â`s•Âà• y• †•Âà•Â`s•€v• y•Â`s• y• †• †• †•Â`Œ•Â`Œ• †•Â@‰•Â`Œ•Â`Œ• ’•Â`Œ•Â@‰• †•Âà•ƒ•Â`Œ•€• †•Âà•Âà• y•ÂÀ|• y•Âà•€v•€v•ƒ•Â`Œ•Â`Œ•Â`Œ•Â@‰•€• ’•ÂÀ••ÂÀ•• Ÿ• Ÿ•Â@¢•œ•€•ƒ• y•Â`s•Â`s•€v•Âà• y•Âà•€•Âà˜•ÂÀ•• ’• ’•€• ’•€• ’• ’•€•€• †•€• ’•Âà˜•Â`Œ•€• ’•€• †•Â`Œ•Âà˜•Â€• ’• ’•€• ’•Â@‰•Âà•ƒ• †•Â`Œ•€• ’•ÂÀ••€•Â`Œ•ƒ•€v•ƒ•Âà•€v•Â`s• y•Âà• †•Âà•Âà•ƒ• †• †•ÂÀ|•Âà•ƒ•ÂÀ|• y•Â`s•€v•ÂÀ|•ÂÀ|• †• †• †•ƒ•Âà•ÂÀ|•Âà•Â@‰• ’•ÂÀ••Â@‰• †•Â`Œ•€• ’•Â@‰•Â@‰•œ•€¨•ÂÀ•• ’•ƒ•ƒ•€•œ•œ•ÂÀ••Â@‰•ÂÀ•• ’•Âà˜•Â ’•Âà˜•Â`Œ•Â@¢•ÂÀ••ÂÀ•• ’• ’• ’•Â`Œ• ’•Âà˜•Â€•Â`Œ• †•ƒ•Â`Œ•Â@‰• †• †• †•€•Âà•ÂÀ|•ƒ•ÂÀ••€• ’•Â@‰• †• †•Âà•ÂÀ|•€v•Â`s•ÂÀ|•€v•Â`Œ• ’•Â`Œ• †•€•Âà˜•Âà˜•Âà˜•Âœ•ÂÀ••€•Â`Œ•ƒ•Â@‰• †• †•Â`Œ• ’• ’•ÂÀ•• ’•Âà˜•Â`¥•Âà˜•Â€¨• «• Ÿ•œ•œ•œ•€•ÂÀ••ÂÀ••ÂÀ•• †•Â`s•ÂÀ|•Â@‰• †• †•Â@‰•€•ÂÀ•• ’• †•Â@‰•€•Â`Œ•Â`Œ• ’•Âà˜•Â ’• †• †•Âà• †•Â`Œ•Âà•Â@‰•Â`Œ•Â@‰• †•€• †• †• y•Âà• †• †• †•Âà•Âà• †•Â@‰•€• ’•€•Â`Œ•Â`Œ• †• y• y• y•ƒ•ƒ•Âà•Â@‰•Â`Œ• †• †• †•ÂÀ|•ÂÀ|• ’•ÂÀ•• ’•œ•Âà˜•Âœ•€• †•ƒ•Âà•Âà• †•ÂÀ••œ•Â`¥• ’•€• †•Âà•€• ’•Â`¥• Ÿ•Âà˜•Â Ÿ•Â@¢• ’• ’• Ÿ•Â@¢•Â@¢• Ÿ• ’• ’•œ• ¨(dt ?@4 4ÿxunitsyunits;hà2 (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿª" (ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec1 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunits <À>TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿH@HEAPX à>datadescription8  @œAq·—NM€SNOD8?² «•Â`¥• «•Â@¢•Âౕ «•ÂÀ®• Ÿ• Ÿ•€¨•Â`¥•ÂÀ••Â`Œ•Âà˜•ÂÀ••Âà˜•Â Ÿ• Ÿ•œ•Â`¥• Ÿ• «• «• «•Â`¥•Â@¢• Ÿ•œ•Âà˜•Âà˜•Âà˜•ÂÀ••œ•œ•Â`¥•€¨• «•Â`¥•Â@¢•€¨•Â`¥•€¨• «• ¸•µ•Âౕµ•ÂÀ®•ÂౕÂÀ®•€¨•€¨•ÂÀ®• ¸• ĕÂ@»•Â@»• ¸• ¸• ¸•€¨•ÂÀ®• «•€¨• «•ÂౕÂ@»•Â@»•Â@»•ÂàÊ•ÂàÊ•Âàʕ ѕÂàʕ ĕ ĕÂ`¾• «• ¸•µ•Â@»•€Á•Â@»• ¸• ¸•Â`¾•€Á•ÂàÊ•ÂàÊ•Â`וÂàʕ ĕ ĕ ĕ€Á•Â`¾•ÂౕÂ`¾•€Á•ÂàÊ•ÂΕÂ@Ô•ÂÀà•€ڕ€ڕÂàã• ê• ݕ ݕÂ`וÂ`ו ݕ€ڕÂ`ו ĕÂΕÂ`ו€ڕ ѕÂΕ ѕÂΕÂàʕ€Á• ĕÂÀǕ€ڕ€ڕÂΕÂàʕ ¸•Â`¾• ĕ ĕÂ@»•€Á•ÂÀǕ€Á•Â@»•Â`¾•€Á•µ•µ•Â@»•Â`¾•µ•Â`¾• ĕÂ`¾•€Á• ¸•€¨• «•ÂÀ®•Â`¾• ¸•Â`¾•€Á•µ•µ•µ• ¸•Â`¾•ÂàÊ•ÂÀÇ•ÂàÊ•ÂΕ ѕ ѕÂàʕ ѕÂ@Ô•Â@ԕ ĕ ĕÂ`¾•Â`¾• ĕ ¸• ¸•€Á•ÂàÊ•ÂàÊ•Âàʕ ĕÂÀǕ ĕÂ@»•Â@»• ¸•Â`¾•ÂÀÇ•Â`¾• ¸• ¸•Â@»•ÂàÊ•ÂÀÇ•Âàʕ ĕ ¸•€Á•ÂÀÇ•Â`¾•µ•µ•ÂÀ®•µ• «•ÂÀ®•ÂౕÂ@»• ĕÂౕ «•Â`¾•€Á• ĕÂౕÂౕ ĕ€Á•Âàʕ ѕÂ@Ô•ÂàÊ•Â`¾• ¸• ¸•µ•Â@»• ĕÂÀÇ•ÂÀÇ•ÂÀǕ ĕÂÀÇ•Â`וÂ`ו ĕµ•Â@»•€Á•µ• ¸•ÂౕÂ`¾•Â`¾• ĕ ĕ ¸• ¸•Â@»• ¸•ÂÀ®•µ•€Á•ÂÀǕ ѕ ĕÂ`¾•Â@»• ĕ ĕÂ`¾•€Á•Â`¾•ÂÀǕ ĕ ĕÂàÊ•Âàʕ ĕ ѕÂ`ו€ڕÂ@Ô•ÂΕÂ`ו€ڕÂ`ו ݕ ݕÂÀà•€ڕ€ڕÂ@Ô•Â@ԕ ݕ ݕÂ@Ô•Â`וÂ@Ô•ÂÀǕ ѕÂàʕ ݕÂ`ו ݕÂ`ו ݕ ݕ€ڕ€ڕ€ڕÂ@Ô•Â@ԕ€ڕÂ`ו ݕÂàã•€ڕ ݕ ê•Âç•Âç•€ڕÂç•Âàã•Â`וÂÀà• ê• ê• ê• ê•ÂÀà•Âàã• ê•Âç• ê•Âç• ê•€ó•Â@í• ݕÂ`וÂ`ו€ڕ€ڕ ݕ ѕÂ@Ô•Â`וÂΕÂàʕ€ڕÂç• ݕ ݕ ݕ ݕÂ@í•Â`ð•Â@í•Âàã•Â`ו ѕ ѕ ĕÂ`¾•Â`¾• ĕ€Á•ÂàÊ•Â@ԕ€ڕ ݕÂÀà• ݕ ݕ€ڕÂ`וÂàʕ ĕ ĕÂàʕ ѕÂàÊ•Â@ԕ ݕÂàã•Â@Ô•Â@Ô•ÂàÊ•ÂΕÂΕÂ`ו ݕÂç•Â`ו€ڕ€ڕÂ`ו ݕ ݕ€ڕ ݕÂÀà•Â`וÂ`וÂΕ ѕ ѕ ѕÂ@Ô•ÂΕÂ`וÂΕÂ`וÂç•Âàã• ݕÂàã•Âàã•€ó•Â`ð•Â`ð•Â@í• ݕ€ڕ ݕÂ`ו ѕ ѕÂ`ו€ڕ ݕ€ڕÂÀà• ѕÂ`וÂÀà•ÂÀà• ê•Â`ð•Â`ð• ê• ê•Âç• ݕÂàã•Âàã• ݕÂΕÂΕ ݕÂàã•Âç•Âàã•ÂÀà• ݕ€ڕ ݕÂÀà•Âàã•€ڕ ê•ÂÀà• ݕ ê•Âàã•€ڕ€ڕ€ڕ€ڕ€ڕ€ڕÂΕÂàÊ•Â`וÂΕ€ڕÂ`וÂ@Ô•Â@Ô•Â`ו€ڕÂ`וÂ`וÂ`וÂ`ו ѕÂàÊ•ÂΕÂΕÂ@ԕ ѕ ѕÂàÊ•Â`¾•ÂÀǕ ĕÂ@»•Â@»•µ• ¸• ¸• ¸•Â`¾•€Á•€Á•Âàʕ ĕÂ`¾•Â@»•Âౕ «•Â`¥•€¨• Ÿ• «•Â`¥• Ÿ•ÂÀ••Âà˜•Âà˜•Â ’•€• ’• ’•Âà˜•Â@¢•€¨• Ÿ•Âà˜•Âœ•Â`¥•ÂÀ®•Â@»•µ•ÂÀ®•ÂౕÂÀ®•ÂÀ®•ÂÀ®•µ•µ• «• ’•Âà˜•Âà˜•Â`¥• «•Â@¢•Â@¢•€¨•Â`¥• «•Â`¥• Ÿ•Âà˜•Â ’•Âà˜•Â ’•œ• Ÿ•Âà˜•ÂÀ••Â`Œ•Â`Œ• †•Â`Œ• ’•€•Â`Œ•ÂÀ••Âà˜•ÂÀ•• †•Â@‰•œ• Ÿ• Ÿ•Âà˜•ÂÀ••€•€• ’•€•ƒ•ƒ•Â@‰•Â@‰•Â`Œ• †•ÂÀ•• Ÿ• ’•€•€•€• ’•Â`Œ•€•Â@‰• ’• ’• †•ƒ•Â`Œ• ’• ’• Ÿ•ÂÀ•• ’•Â@‰•Â`Œ•Â@‰•€•Â`Œ• †•Â`Œ• ’• ’•€• ’• Ÿ• Ÿ•Â`¥• «•µ•ÂÀ®•Â`¥• Ÿ•Â`¥• Ÿ• «•€¨•Â@¢• Ÿ•ÂÀ••œ• Ÿ•Âà˜•Âà˜•ÂÀ••Â`Œ•Â`Œ•Â@‰•Âà• †•Â@‰•€•€• ’•Â`Œ•€•Âà˜•Âà˜•Âœ• ’•€•Â@‰• y•ÂÀ|•Â`s•Âà•Âà•Â@‰•ÂÀ•• ’• ’•€•Â`Œ•Â@‰• †•Â`s•Â@p•€v•Âà•Âà•ÂÀ|•Âà• †•Âà•Âà•Âà•ƒ• ’•ÂÀ•• ’• †•ÂÀ|•Â`s•Âà•ÂÀ|•Â@p•Âj•Âj•Âàf• `• `• `•€]•Âàf•Âàf•Â@p• y• y•Â`s•€v• m•Â@W• `•Âj•Â`s•Â@p• y•Âà•Â`s•Â@p• m•Âj• y•Âà• y•Â@p•Âàf•€]•Âàf•€v•Âà•Âà•€v• m•Â@p•Âj•Â`s•Âj• m•ÂÀ|• y•€v•Â`s•€v• m•€v• y• y• y• y• y•ÂÀ|• y•ÂÀ|• †•Â@‰•Â@‰• †• †• †• †•Â@‰•ƒ•€v• y•Âà• †• †•€• †•Â`Œ•€•Âà˜•Â`Œ•Â`Œ•ÂÀ••Âà˜•Â Ÿ•Âà˜•Â Ÿ•ÂÀ••Â`Œ•ƒ•ÂÀ|•ÂÀ|• †• †• ’• ’• ’•Â@‰•Â`Œ• ’•Â`Œ• ’•Âà˜•Âœ• ’•€•Â`Œ•Âà•€v•ÂÀ|• y•€v•Âà•Âà•ƒ•Âà• †• ’•Â@‰•Â@‰• ’•Âà˜•Â`Œ• ’• Ÿ•Â`Œ• †•Âà• y•ƒ• †• y•Âà• y•Âà•Âà• y•Âà•Â@‰• †• †• †•Â@‰•ƒ• †• †•€• †•Â@‰•Âà• y•€v• y• y• y•ÂÀ|• y•Â`s•ÂÀ|•ÂÀ|•ƒ• y•ÂÀ|•Âà•ƒ•€•Â@‰•€• †• y•€v•Â`s•Âàf•Âàf•Â`s• y• m•€]•Âj• m•Â@p• `•€]• m•Âj•Â@p•Âj•Âàf•ÂÀc•Âj•ÂÀc•Âàf•Â@p•Âj•ÂÀc•Âj•Âj•Âàf•Âàf•Â`Z•Â`Z• T•Â@W• T• `• `•Â`Z•Âàf•ÂÀc• `•Â`Z• T•Âj•ÂÀc•Âàf•Â`s• m•Âàf•Âàf• m•Âàf• `• m• m• m• m•Âàf•€]•Â`Z• T•Â@W•ÂàM•ÂQ•Â`Z•Â`Z•Âj• `•ÂÀc• `•Â@W• T•ÂàM•ÂQ•ÂàM•ÂQ• T• T•ÂQ• T•ÂàM•ÂàM•ÂQ•Â`Z• T•Â@W•Â`Z•Â`Z•Â@W• `•Â`Z•Â@W•€]•Â`Z•Â@W• T•Â@W•Â`Z•ÂàM• G•ÂQ•Â`Z•€]• `• `•€]•Â`Z•Âàf• m•Âàf• y•Â`s•ÂÀ|•Âà• †•ÂÀ|• y• m•Âj•Â`Z•ÂàM•Â@>• G• G•€D•€D•€D• G•ÂQ• T•ÂàM•ÂÀJ•Âàf•Â@W•€]•€]•Â`Z• T•Â@W•Â@W• T•Âj•ÂÀc• `• `•Â`Z• `•€]• T•ÂàM•ÂÀJ• G•ÂÀJ• T•ÂQ•ÂàM•Â@W• `•€]• T•Â@W•ÂàM•ÂÀJ•Â`Z• T•ÂÀJ• G• T• T•ÂÀJ• G•ÂàM•ÂQ•ÂàM•ÂÀJ•ÂàM• G• G• G• G•ÂàM• T• T•ÂQ•ÂQ•Â`A•ÂÀ1• .•Â`A•Â`A•Âà4•€+• .• ;• G• G•€D• G•Â8• ;• ;•Âà4• .•Â8•Âà4•Âà4• .• ;•€+• .•Âà4• ;•Âà4•Âà4•Â8•Â8•Âà4•ÂÀ1•Âà4•Âà4• .•ÂÀ1•ÂÀ1• ;• ;• ;•Â8•€+•Âà•Â@%•€+• .• "•• "•ÂÀ1•€+•€+•Âà•Â@%•Âà4•Âà4•Â8• .• .•Âà4•Â@%• "•Â`(•€+•Â@%• "•Â`(•Âà4•Â8•ÂÀ1•Â`(•Âà4• .•Â`(•ÂÀ1•Âà4•Â8•ÂÀ1•Âà4•Âà4• ;• .• .•Âà4•€+•ÂÀ1• .• "•€+•ÂÀ1•€+•€+•Â@%•Â@%•• "•Â`(• .•Â8•Âà4• ;•Â`A•Â8•ÂÀ1• ;•Âà4•€+•Â`(• .•ÂÀ1• ;•ÂÀ1• ;• ;• ;•Âà4•Â8• .•ÂÀ1•Â8• ;•Âà4• ;•€+•Â@%••Âà• "• .•ÂÀ1•ÂÀ1•ÂÀ1•Âà4•Âà4•Â8•Âà4•Â8•Âà4•Â@>•Â`(•Â`(• .• "•Â@%• "•• "• "•Âà• ••Â@%•Â@%•Âà• •Âà•ÂÀ• •Âà•Â`(•Â`(•Â@%•Âà•€•Âà•Âà•Â@%•• • • "•Â`(•Âà• • •Âà•ÂÀ•Âà• "• "•ÂÀ•ÂÀ• • •Â`• •Âà•• • •ÂÀ• •Âà•Âà•€•ÂÀ•Âà• "•Âà•€+•Â`(• "•Â@%• .•Â8•Âà4• .•Â`(• "• • •Âà• •Âà•Âà••Â@%•Â`(•Â`(• .•Âà4•Âà4•Â@%•Â@%• • •Âà• "• "•€+•ÂÀ1•Â@%•€+• "•Â@%•Â`(•Â`(• "•••Â`(• "•Â`(•Â@%•€+•Âà• "••Â`(• "•Âà• • • "•Â@%•Â`(• "• "•ÂÀ•Â`••ÂÀ• • • •Â`••Âà• ü”€ù” ð”ÂÀÿ”Â@ó” ü”Â`ö”Â`ö”Âà•Âà•€ù” ü” ••Â`•€•Âà• •Âà•Âà•ÂÀ•Â`• •€• •Âà• •ÂÀ•Âà•Â`(•€+•€+•Â@%•Âà•Â@%••ÂÀ• "•Âà• • •Âà• •Â@ •Â`•ÂÀ•ÂÀ••• "••Âà•Â`• •ÂÀ• "•€• •ÂÀ• • "• "•• •• "• "• •€•€•Â@ •€• •Âà•Â`• • "•€+• "••€•Â`•• "•€+•Â8•Âà4•€+•Â`(• "•€• •ÂÀ• "•Âà•Â`(•Â`(• "•Â@%• .•ÂÀ1•€+•Âà4•ÂÀ1•ÂÀ1• .• .• .•Â@%•Â`(•ÂÀ1•Â8•Â`(•Â@%• "•Â`(•ÂÀ•ÂÀ•Â`•€•Âà•Âà••Â`(•Âà• "• .•ÂÀ1•Â@%• "•ÂÀ•Â`(•€+•ÂÀ•Âà••Âà•Âà• "•Âà•ÂÀ• "•Âà•€+• "•ÂÀ• •• "•Â`•Â`•€• •Âà•ÂÀ• • •ÂÀ•ÂÀ•Â`(•€+••ÂÀ•€•€• • • •Â`• •ÂÀ•€•€•Â@ •Âà• • • •Â@ ••Âà••ÂÀÿ”Âà••ÂÀÿ”•ÂÀÿ” ü”• •ÂÀÿ”Âà•ÂÀÿ”Â`•€•Â`•Â@ • •€•Âà•Âà•Âà•€•Â`•Â@ •Âà•Â`• • •Âà•Â@ •Â`•Âà•Â@ •Â@ ••• • •€•Â`• •Â`•Âà•€•ÂÀ•ÂÀ• "•Âà•Â`• • •ÂÀÿ”Âà• •• • •Âà•Â`•Â`•Â@ • •Âà•Âà• • •Âà•ÂÀÿ”Â@ó”•Â@ •Â@ • •Â@ •Â`••Âà•ÂÀÿ” ü” •€•Â`•€•ÂÀ•Â`•€•ÂÀ•• •€•Â`••Â@ •Â`•€• •Âà•€• •Âà• "• •Âà•ÂÀÿ”• ü”Â@ •Â@ •Â`••Â`• •Âà•Âà•ÂÀÿ” •Âà•ÂÀ• •Â@ • •ÂÀ• •Âà•Âà•• "•Â`(• "•ÂÀ•ÂÀ•Âà••Â`(• "•• ••Âà•ÂÀ• •Â`•ÂÀ•• "• "•Â`(• "•€+• "•Â@%•Â`(• .•Â`(•ÂÀ1••Âà• "•Â@%•Â`(• "• "• .• .•ÂÀ1•€+•€+• .• .•Â8•€D• ;•Â8•ÂÀ1•Âà4•Âà4•€+•€+• .•Â8•Âà4•Â8•ÂÀ1• .•Â8•ÂÀ1•Âà4• .•Âà4•Âà4•Â8•Âà4•Â`A•Â8•Âà4• ;• .•€+•Âà4•€+• .•ÂÀ1•ÂÀ1•Â8• .•Â`(•Â`(• "•ÂÀ1•ÂÀ1• ;•Âà4•Â`(•Â`(•Âà4•Â@>•Âà4• ;•ÂÀ1•ÂÀ1•Âà4• .•Â8• .•€+•Â`(•€+• .•Â8•Â8• .• .•ÂÀ1•€+• "• "•Âà•ÂÀ•Â`• • •Â`• •Â`•ÂÀ••ÂÀ•Â`•Â@ •Âà•Âà•ÂÀÿ” ü” •Â@ •Âà• • ü”€ù”Â`ö” ð”ÂÀæ”Âí”ÂÀæ”Âí”Âí” ü”Âà•Âà•Âà•ÂÀÿ”ÂÀÿ”€ù” ü”Â@ó”Â`ö”€ù”Â@ó”Â`ö”Âà••€ù”ÂÀ攀à”ÂÀæ” ה ה הÂ`Ý”Â@ڔ הÂàДÂÀ͔ ʔÂàДÂ`Ý”Â`ݔ הÂÔ”ÂàДÂàДÂÔ”ÂàДÂԔ הÂàДÂÀÍ”ÂÀÍ”ÂÀÍ”ÂàД ʔÂÔ”ÂÔ”ÂԔ הÂàДÂ`ݔ ã”ÂԔ ʔÂàД ʔÂ`Ĕ ¾”Â`Ä”ÂÀÍ”Â`Ĕ ¾” ¾”€ǔÂÀÍ”Â`Ĕ ʔÂԔ ʔ ¾”ÂÀ´”Âà·”Â`«” ¥”ÂÀ´”ÂÀ´”ÂÀ´”Â@Á” ¾”Â@Á”ÂÀ´” ±”Âු€®”€®” ¥” ¥”Â@¨”ÂÀ´”Â`«”€®”ÂÀ´” ±”Âු»”€ǔÂ`Ä”Â`Ä”Â`Ĕ€ǔÂ`Ä”Â`Ä”Â`Ä”Âà·”Âà·”Â@Á”»”€ǔ ¾”Â`Ĕ ¾”ÂÀ´”Âà·”Âà·”Â@¨”Â`«” ¥” ¥” ¥”¢”¢”Âàž”Â`«” ˜” ˜”Âàž”Â ˜”€•” ˜” ¾”»”€®” ¥”ÂÀ›” ˜”Âàž”Â ±” ±” ±”ÂÀ´”Â@¨”Âàž”Â¢”Â`«”ÂÀ›”ÂÀ›”€•”Â`’” ˜”€•” ˜” Œ”€•”Â`’”Â`’” ˜” ¥” ±”ÂÀ´”ÂÀ´”Âු ±”€®”€®”Â`«” ±” ±” ±”Âු ±”Â`«” ¥”Â`«” ¥”ÂÀ›”Â`’” ¥” ¥”¢”¢”¢”Âàž”Â¢”¢”Â`«”Â@¨”Â`«”Â`«”ÂÀ›”ÂÀ›”ÂÀ›”ÂÀ›”ÂÀ›”Â`’”Â@”€•”€•”ÂÀ›” ˜”Â`’” Œ” ”ÂÀ‚” ” s”Âp”Â`y” ”Âà…”Â‰”€•”Â@”€•”Â`’”Â@”Â@”Â@”Â@” ”€|”Â`y”Â@v”Â@v”€|” ”ÂÀ‚” Œ”Âà…”ÂÀ‚”€|”Â`y” ” ”ÂÀ‚” s” s”Âp”€|”ÂÀ‚”€|”€|”Â@v” s”Â@v” ” ”Âp”Â@]” Z”Â``” f”€c” f”Âàl”Âp”Âp”Â`y” s”€|” ”Â@v”Â``”Âp” s” s”Âp” f”Âp” f”ÂÀi” f”Â@]”€c”Â``”Â``” Z”€c”ÂÀi”Â@]”€c”Â@]” Z”€c” f”Â``” Z” f”ÂÀi”Âàl”Âàl”Âàl” f”Â``”ÂÀi”Â`y”Â@v”Â`y”Â`y”Âp”Âàl” f”ÂÀi”Âàl”ÂÀi” s”Â`y”€|”Âà…”Â ” ”Â@v”Âàl”ÂÀi” f” f”€c”Â@v” s”Âp” s”Â@v” f”€c”Âàl” f”ÂÀi”ÂÀi”Â@]”Â@]”Â``”Â@]”Â@]” f” f”Â``”ÂW”ÂàS”ÂàS”Â``”ÂW” M”ÂàS”ÂàS” M” M”ÂàS”Â``”ÂÀP”ÂÀP”ÂÀP”Â@D”ÂÀ7”Â`.”Âà!” (”ÂÀ” ”Â`” ”€ÿ“Â󓀿“Â@à“ ݓÂà֓ ГÂ`Ê“Â`Ê“Â`Ê“Â`Ê“Â@Ç“Â`ʓ ēÂནÂ`±“ ž“€›“ ž“ ’““ ’“ ’““Âà‹“Â …“Âà‹“Âà‹“Âà‹“ÂÀˆ“ …“€‚“ l“ l“Âàr“Âàr“ÂÀo“ÂÀo“ÂÀo“Âàr“ÂÀo“ l“ l“Â@c“Â`f“ `“ S“€P“€P“ G“ .“Â@1“ .“Â+“Â`4“€7“€7“Â`4“ .“ .“Âà'“Â+“€“Âà“ “Â`“ “ “Âà“Âà“Â@“Â`“Â@“Âà“Âà“€“ “““Âà“ “Â@“ ““Âà“ “““Â`“ “ ““Â`“ ü’Âàõ’ÂÀò’Âàõ’ ï’Â`é’Âù’Â@ÿ’Â@ÿ’Âù’Âàõ’Âàõ’ ã’ÂàÜ’Â`é’ ï’€ì’Â@æ’Â`é’Â`é’Âà’ ã’Â`é’ ã’Â`钠쒀쒠ã’Â@æ’Â`é’ ã’Âà’Â`é’Âà’ ã’ÂàÜ’Âà’ÂÀْ ֒ ֒Â`Ð’Â@͒€Ӓ ֒ ֒Â`Ð’Â`Ð’Â@͒ ֒Â@Í’Â@͒ ֒ÂàÜ’ÂàÜ’ÂÀÙ’Â ã’ ã’Âàܒ ֒ ֒€Ӓ ֒ ֒ ʒ ʒÂàÃ’Â Ê’ÂÇ’Â Ê’Â`·’ ½’ÂàÃ’Â`В ֒ ֒€ӒÂ`Ð’ÂàÃ’Â`Ð’ÂÇ’Â Ê’Â`Ð’Â`В€ӒÂÀْ€Ӓ ʒ€ӒÂÀْ ֒ ֒ ֒Âàܒ ֒ÂÀْ ֒ ֒€ӒÂ`В ʒ€º’ÂàÃ’ÂÀÀ’ ʒ ʒÂ`В ½’ÂàÃ’Â@´’€º’€º’ ±’ÂÀÀ’Â`·’Â`·’ ±’ÂÀÀ’ÂàÃ’Âǒ€ӒÂ`Ð’Â@Í’ÂÀÙ’Â`Ð’ÂàÒ ½’ÂàҀº’ÂàÃ’ÂàÃ’ÂàÃ’ÂÀÀ’ÂÀÀ’Âǒ ½’ÂÀÀ’€º’ÂàÃ’Â Ê’ÂàÃ’Â`Ð’ÂàÜ’ÂÀÙ’Â@Í’ÂÇ’ÂÀÀ’ÂàҀӒ ʒÂÀÀ’€º’ ½’€º’ ½’ ֒Â`Ð’Â`Ð’ÂàÃ’Â`Ð’Â`Ð’ÂàÃ’Â Ê’Â@Í’Â Ê’ÂÀÀ’€º’ ½’ÂÀÀ’Âǒ ֒ÂÀÙ’Â`В ֒ ֒ ֒ÂàÜ’ÂÀْ ֒Âàܒ ֒ ã’Â`Ð’ÂàÜ’Â@Í’Âǒ ʒ€ӒÂàÜ’Âà’ ã’€ӒÂÀْ€ӒÂ@͒€Ӓ ã’Â@撠㒀쒠ï’Â`é’Â`钀쒠ã’ÂàÜ’ÂàÜ’Â ã’ ã’ ã’ ï’Â`é’ ï’€ì’ÂÀò’Âù’Âàõ’Â`é’ÂàÜ’Â`é’Â`é’€ì’Â@æ’ ã’Â`é’ ï’Âù’ ü’ÂÀò’ÂÀò’Â`“€“ÂÀò’Âàõ’Â@ÿ’Â`“Â@ÿ’Â`“Â`“Â`“Âù’Â@ÿ’Â@ÿ’Â`“Â`““€“Âàõ’Âù’Âàõ’Â`“Â`“€“ “ “ “Â`“Â@ÿ’€“ “Â`“ÂÀ “€““ “Âà“Âà“€“€““ ““ “ “ “ÂÀ$“ !“ “ “ “Â`“€“Âà'“ !“€“Â`“Â`“Â`“ “ “Âà“ “Âà“€“Â+“ .“ :“€7“ÂD“ :“ :“€7“Â`4“ .“Â`4“ .“Âà'“ÂÀ$“Â`4“Âà'“ !“Âà'“ÂÀ$“ ““ “Âà“€“ !“Â`“€“€“€“Âà'“ÂÀ$“ !“Âà'“ !“Â@“€“Â`“Â`“€“ÂÀ$“Âà'“€“ !“Âà'“ .“Âà'“Â+“€7“Â@1“ .“Âà'“ÂÀ$“Â@1“Âà'“ÂÀ$“€“ !“€“ .“Âà'“Âà'“Âà'“ .“Â`4“Â`4“Â`4“Â`4“Â@1“ .“€7“Âà@“ÂÀ=“ :“ÂÀ=“ :“ÂÀ=“ G“Âà@“ÂD“ G“Â`4“Âà'“ .“Â@1“ .“ :“Â`4“ .“ :“ G“ÂD“ .“Âà@“ :“Â`4“ .“ .“Âà'“ !“ .“Â@1“Â@1“Â`4“ :“Âà@“Âà@“ :“Âà@“ G“ G“ G“Âà@“€7“Â`4“Â@1“ :“Âà@“ G“ÂÀV“ G“ÂD“Âà@“ S“ S“ G“Âà@“ÂÀ=“ÂÀ=“ÂD“Âà@“ :“ :“ÂD“ :“€7“€7“€7“ :“Â`4“€7“ÂÀ=“Â@J“ÂÀ=“Âà@“Âà@“ :“Â`4“Â@1“€7“ :“ G“ÂÀ=“ÂÀ=“Âà@“ÂÀ=“ÂÀ=“ G“ G“ G“ÂD“ :“ G“Â@J“ G“ S“Â]“ÂàY“ÂàY“€P“ S“ S“ S“Â@J“Âà@“ :“Âà@“ G“ G“ G“ G“€P“ÂàY“ÂàY“ÂàY“ `“Â]“ÂÀV“ÂàY“Â]“Â@c“ S“ `“ÂàY“ `“Â`f“€i“ l“Â]“€i“ l“€i“ÂàY“ `“Â`f“ÂÀo“Âàr“ÂÀo“Â]“ `“Â`f“Â@c“ l“ l“Â@c“Â`f“Â`f“€i“Â@c“ÂÀo“Âv“€‚“ y“Âàr“Âàr“Âàr“ y“ÂÀo“€i“Âv“ y“Âàr“Âv“Â`“€‚“ y“Â`“ y“ y“ y“€‚“€‚“Â`“ …“ …“Â@•“€›“ ’“ÂÀˆ“Â@|“ …“ÂÀˆ“Âà‹“Â …“Âà‹“Âà‹“Â ’““ ž“ÂओÂ`˜“Â`˜“Â@•““Â@•“ ’“Â`˜““ÂÀˆ“Âà‹“Â@•“ÂओÂओÂ@®“ ·“€´“ÂओÂओÂओ¨“ÂÀ¡“ «“ «“ «“ «“ÂओÂ`±“Â`±“Âओ¨“¨“Â`±“¨“¨“ÂओÂओÂནÂÁ“ ē ·“ÂÁ“ ēÂ`ʓ€͓ Г ГÂ`Ê“Â@Ç“ÂÁ“€͓Â`Ê“Â@Ç“Â@Ǔ Г ݓ é“ ݓÂàÖ“ÂàÖ“ÂÀӓ ݓ ݓÂàÖ“Â Ý“Â`ã“ÂÀì“Âàï“Â󓀿“ ݓ é“Â@ù“Â@ù“ ö“ÂÀì“Â`ã“€æ“ÂÀì“ÂÀì“€æ“Âàï“ ö“Âàï“Âà擠é“Âó“ ” ö“Â`ü“ ö“Âó“ é“Âàï“Âàï“Â`ã“ é“Âàï“ ö“Â`ü“Âà” ” ”ÂÀ” ö“Â@ù“Âà” ”Âà” ”Âà” ”Â@” ”ÂÀ”€ÿ“ ” ”Â@ù“Âó“€ÿ“Â`ü“ ”€ÿ“€ÿ“ ” ” ”Â`” ”Â@”Â`”Â@” ”Âà”Âà”Â`ü“Âà”ÂÀ”ÂÀ”ÂÀ”Â@” ” ö“ ö“Âàï“ ö“ ” ”Âà” ”Â@” ”€”Â`”€” ”Âà!” (”Â`.”Â`.” (”Â`”Â@”Â`” ”Â@” ”Â`”€” ” ” ”Â%”Â%”Âà!”ÂÀ” ” ”Âà!” ” (” ”Â%”Â%” ” ”€” ”Âà”ÂÀ” ” ”Âà!”ÂÀ”Âà!” (” ”€”€”€” ”Â`”€”Â%”Â@+”Â`.”Â@+”Âà!”Âà!” (”Âà!” (” (”Â@+” (” (”Â@+”Âà:” A”€1”€1” 4” 4” 4”Â`.”€1”€1”€1”ÂÀ7”€1”Âà:” 4” 4”€1”Âà:” 4”€1”€1” 4” 4”ÂÀ7” 4”Â`.”Â`.”Â@+”Â@+” (” (”Â`.”Â`.”Â`.”Â%”Âà!”Â%”Â`.” 4”ÂÀ7”ÂÀ7”Âà:”ÂÀ7”ÂÀ7”ÂÀ7” (”Â`.”ÂÀ7”Â`.”ÂÀ7” 4”€1”ÂÀ7” A”Âà:”Âà:”Âà:”€1”ÂÀ7” A”Â@D”Â`G”€J” A” A” A” A”Â`G”Â`G”Â`G” M” Z” M”€J”Â@D”Â`G” M”€J”Â>”Âà:”ÂÀ7”Âà:” A”Â`G”€J”€c” Z”Â``”Â``”€c” f”Â``” Z”ÂW”ÂW”Â``” f” f”ÂÀi”Âàl” Z”ÂàS” Z”Â``” f”Âp”ÂÀi” Z” M”Â@]”Â``” f” f”Â``” f” f” s” f” Z” f”ÂÀi” f”ÂÀi”Âp” f” f” f” f”Â``”€c”ÂÀi” f” s”Âp”ÂÀi”Âàl” f” s”Âàl” f” s”Â`y” ”€|”Â@v”Â@v”€|”€|” ”Â`y” s”€|” ”Âp”€|”Âà…”Â ” s”€|” ”ÂÀ‚”ÂÀ‚”Âà…”Â ”Â@v” ” ”€|” s” s”Â`y”Â@v”Â`y”€|”€|” ” ”ÂÀ‚”ÂÀ‚” Œ” Œ”€•”€•” ˜”Â@”Âà…”Â@”Âà…”Â‰” ”Âà…”Â‰”ÂÀ‚”€|”Âà…”ÂÀ‚”Âà…”Â@”Â@”Â`’”Â`’”Â`’”Â@” ˜”Âàž”Â€•” ˜” ˜”Âàž”Â ˜”Â`’”€•”Â@”Â`’” ˜” ˜”Âàž”Â¢”€•”‰”‰”Â`’” Œ”ÂÀ›” ¥”¢”€•”€•” ˜”ÂÀ›”¢”¢”Âු ±”ÂÀ´”ÂÀ´” ¾”»” ±”ÂÀ´”ÂÀ´” ¥” ¥”Â@¨”€®”Âà·”Âà·”Â@Á”ÂÀ´”Â`«” ±”»”»”Âà·”Âු»” ¾” ¾”Â@Á”Â`Ĕ€ǔ ʔÂÀ͔ הÂÔ”ÂàДÂàДÂÀÍ”ÂàДÂÔ”ÂàДÂÔ”Â`Ý”Âàé”€à” ã”Â`ݔ ã”Âà销à”ÂàДÂàДÂ@Á” ה הÂ@Ú”ÂÀ͔ ה€à”€à”Â`ݔ הÂ`Ý”Â`Ý”Â`Ý”Â`ݔ€à”ÂÀæ”Âí” ü”€ù”Â`ö”€ù”ÂÀÿ”•••ÂÀÿ”€ù”Âà•• ü”Â@ó” ü”Â`ö”Â`ö”€ù”Âà• • • •Â`• •Â`•Â`• •Âà•• •Â@ ••ÂÀÿ”Â@ •Â@ •Â`•€•Â`•€• ••ÂÀ•Âà•Âà•ÂÀ• "• •€•€•Âà•€•Â@ •ÂÀ•Âà••• •ÂÀ•• •€•Âà• • "•€+•Âà4• ;• ;•Âà4•Â8•Âà4•Â8• .•ÂÀ1• .•Âà4•ÂÀ1•€+• .•€+•€+• "•Â`(•Â@%• "•Âà•Âà•Âà• "•€+• .• "•Â`(•€+• "• "•Â`(• "•ÂÀ•Â@%•Â@%•Â`(• .• "•Â`(•Â`(•ÂÀ1• .•Âà4•Â8• .•€+•Â`(• .• .• .•Â@>•€D•Â8•ÂÀ1•Â8•Âà4•€+•Â@%• .•• "••Â`(•Â@%•Â8•Âà4•€+•Âà4•Â8• ;•Âà4•ÂÀ1•ÂÀ1•€+• .• ;•ÂÀ1•ÂÀ1•Â@%•Â`(•Âà4• .•ÂÀ1•€D• ;•Âà4•Âà4•Â`A•Â8•Â@>• ;•Â8•Â8•Â8•Âà4•€+• "• .•Âà4• ;•Â@>•ÂàM•ÂàM• T• T•ÂÀJ•ÂàM•ÂQ•ÂàM•€D• G•ÂÀJ•Â@>•Â8•Â@>• G•ÂàM•€D• ;•€D• ;•Âà4•Â`A•€D•€D•Â`A•€D•€D• G• G•Â`A• G• G•€D• G•ÂàM•€D•Â`A•Â`A• G•ÂQ•ÂQ• G•ÂÀJ•ÂÀJ•ÂàM• G•€D•Â@>•Â`A•Â`A•€D•ÂàM• T• T•ÂQ•ÂÀJ• T•ÂàM•€D•ÂàM•ÂàM•Â@W•€]• T• T• G• G• ;•Â`A•ÂÀJ•ÂàM• G•Â`A• ;• G•ÂÀJ•ÂàM•Â@>•Â`A•Â@>•€D• G•ÂÀJ• G•Â@>•Â@>•Â@>•€D•€D• G•€D•Â`A•ÂÀJ•ÂQ• G•Â`A• G•ÂàM• G•ÂàM• G•ÂàM•ÂQ•ÂÀJ•€D• ;•€D• ;• .•€+•Â@%•Â`(•Â@%•Â@%•Â`(• "•Âà•ÂÀ•€•Âà•Â@%•Â`•• •€•€•Â@ •Â@ • • •Â@ •Âà• ü”••Â@ó”Â`ö” ð” ð”Â`ö”Â`ö” ð” ð”Â@ó” ð”Âí”Âí” ð”Âí” ã”€à” הÂ`ݔ ה ã” ã” ה ã”€à”€à”ÂÀ͔ ʔ ʔ€ǔ€ǔ ʔ ʔ ʔ€ǔ€ǔ€ǔ€ǔÂ@Á”Â`Ä”Â@Á”Â`Ä”Â`Ĕ ¾”€ǔ€ǔ ʔÂ`Ä”Âà·”Âà·”Âු ʔ ¾” ʔ ¾”»”»” ¾”Â@Á” ¾”»”Âà·”Â`Ä”Âු€®” ¥”€®”Â`«”ÂÀ´”€®”Âàž”Â ¥”Â`«”Â`«” ¥”ÂÀ´” ±”Âු€®”Â`«”€®” ±” ±” ±”€®” ˜”€•” ˜”¢”¢”Â@¨”€®” ±”ÂÀ´”Â`«”Âු€®”Â`«” ¥”Â@¨”Â@¨”Âàž”ÂÀ›” ˜”€•”€•”€•”Â`’”ÂÀ›”¢”€®”Âු ¥”ÂÀ›” ˜”Â`’” Œ”ÂÀ‚” Œ”Â`’” ˜”Âàž”Âàž”Â`’”Â`’”‰”Âà…”Â`’”€•” ˜” ¥”Âàž”ÂÀ›”Âàž”Âàž”Â ˜” ˜”Â`’”Â@”Â@”€•”ÂÀ›”€•”ÂÀ›” ˜” ¥” ˜”¢” ¥” ¥”Âàž”Âàž”Â`’”Â`’”Â@”Â`’”‰”Â`’”Â@”Â`’”€•”Â@¨” ¥”¢”Âàž”Â Œ” ˜”¢” ¥”ÂÀ›”ÂÀ›”¢” ¥”Âàž”Â€•”Â@”Âà…”Â‰”‰” ”‰”Â@” ˜” ˜”¢”Âàž”ÂÀ›” Œ”Â@”Â`’” Œ” Œ”‰”Âà…”Â Œ”€•”€•” Œ” Œ”Âà…”Âà…”Â‰”Â`’” Œ” Œ” ” ”Âà…”Â Œ”Âà…”Â‰” Œ”Â`’”€•”‰”Âà…”Â Œ”Â@v” s”ÂÀi”Âp”Âà…”Â Œ” Œ” Œ”Âà…”Â‰”€•” Œ”ÂÀ‚”ÂÀ‚”Âà…”Â Œ”Â`’”‰”‰”Âà…”Â`’”€•”€•” ˜”Âàž”Â€•”Â`’” Œ”ÂÀ‚”Âà…”Â`’”Â`’” Œ” Œ”Âà…”Âà…”ÂÀ‚”Âà…”Â Œ”Âà…”Â‰” Œ”€•”Â`’” ˜” ˜” Œ”Âà…”Âà…”ÂÀ‚”Âà…”Â‰” Œ”‰” Œ”Âà…”ÂÀ‚” ”Â@v”Âp”Âp” ” ” ” ”Â`y” ”‰” Œ”Â@” Œ”Âà…”Âà…”Â‰” ”ÂÀ‚” ”Â`y” Œ”Â`’” Œ”‰” Œ”Âà…”Âà…”Â‰” Œ”Â`’”Â@”Â`’” ˜”€•”¢”€•”€•” Œ”ÂÀ‚” ”Âà…”ÂÀ‚” Œ”Â`’”‰”‰” Œ”‰”Â`’”€•”Â`’” Œ” ˜”Â`’” Œ”€•” Œ” ˜” ˜”Â`’” Œ” Œ”‰”‰” Œ” ˜” ¥”€®”Â`«” ¥”¢” ˜” Œ”Â`’”Â@” Œ” Œ” Œ”€•” ˜” Œ”Â@”Âàž”Â¢”¢” ˜”¢” ˜” ¥” ¥” ¥”€®”Â`«”€®”¢”¢”ÂÀ›” ˜”Âàž”ÂÀ›”Â`’”ÂÀ›” ˜”Âàž”Â ˜” ˜”Â`«” ¥” ¥”Âàž”Â ¥”Â`«”¢”Â@¨”Â@¨”¢”Â`’” ˜”Âàž”Â¢” ˜”ÂÀ›”Âàž”Â ¥”Â`’”€•”ÂÀ›” ˜” ¥” ¥”Â`«”Â`«”Âàž”Â ˜”Â`«”¢”Âු ±” ±” ±” ±” ±”Â@¨”€®”Â`«” ¥”¢”Âàž”Â¢”Â`«”€®” ±”Â@Á”Âු ¾” ¾”Â`Ĕ ¾” ¾” ¾”Âà·”Âු ±”ÂÀ´”Â@¨”ÂÀ´”Â`«”€®”ÂÀ´” ±”Âà·”Âà·”Âු»”»” ¾” ¾”Â`Ä”Â`Ĕ»”»”€ǔÂ`Ä”ÂàДÂ`Ä”Â`Ĕ€ǔÂ`Ä”Âà·”Â`Ä”Â`Ĕ ¾”Âà·”Âු»” ¾”Âු€®”Âà·”Â@Á”ÂÀ´”ÂÀ´” ±”€®”ÂÀ´” ¾” ¾”Âු ¾”ÂÀ´”€®”»” ±”Âු ¾”Âà·”Âු ¾” ±”Âà·”ÂÀ´”Âු»”ÂÀ´”€®”Â@¨”Âු ¾”»” ¾”Â`Ĕ ¾” ±”ÂÀ›”¢”Â`«”Âà·”ÂÀ´”»”Â`«”Â`«”¢”ÂÀ›”ÂÀ›”ÂÀ›”Â`’” ¥”Âàž”Âàž”Â ˜”Âàž”Âàž”Â`«”Âà·”Â`«”Â`«” ±”€®”Â@¨” ±”€®”¢” ¥” ¥”¢”Âàž”Â€•”Â`«” ¥”¢”ÂÀ›”¢” ±”»” ¾”ÂÀ´”ÂÀ´” ±”Â`«”Â@¨”Âàž”Â€®” ¥” ¥” ¥”ÂÀ›”Âàž”Âàž”Â¢”€®” ¥” ¥” ˜”€®”Â`«”€®”Â`«” ¥”€®”ÂÀ›” ˜”Âàž”Âàž”Â ¥” ˜” ˜”‰”Â`’”€•”Â@” Œ”€•”Â`’” ˜”Âàž”Âàž”Â Œ”Âàž”Â¢”¢” ¥” ¥”Âàž”Â€•”€•” Œ” ˜”€®”Â`«” ˜”€•”Â`’” Œ”€•” Œ”€•”€•” ”‰”Â@”Âà…”Â Œ”Â@”Â`’”Âà…”ÂÀ‚”‰”‰”Âà…”Â Œ”Âà…”Âà…”Â‰” ”ÂÀ‚” ”ÂÀ‚”‰” ” ”€|” s” ”Âà…”ÂÀ‚” ” ”€|” ” ” ”€|” ”Â`’”€•”€•”Â`’”€•”Â`’”‰”‰”€|” ” ”Â@v” s”ÂÀi” f”€c”Âàl”Âàl”€|”Â`y”Â`y”Âp”Â@v”Âp” ” ” ”€|”‰”Âà…”Â€|” ” ”€|”Â`y”ÂÀi” s”Â`y”Âàl”Âp”Âàl”€c”Âp” s”Â@v” ”Â`y”Âàl” s”Âàl” f” s”Â`y”Â@v” s”ÂÀi” s”Âàl”ÂÀi”ÂÀi”Â`y”Âp” f”ÂÀi” f”Âàl” s” ”Âà…”Â ”Âà…”Âà…”Â`y” ”€|”ÂÀi”Âp”ÂÀi”Âp”Â`y” s” s”Âàl” s”€|”Âà…”Âà…”ÂÀ‚”€|”Âà…”Â Œ”Âà…”Âà…”Â ” s”€|” s”ÂÀi” f”Âàl”Âàl”€|” ”ÂÀ‚”€|” ”€|”€|”Âà…”Âà…”Â@v”Â@v” s”Â@v”€|”Âp”Âàl”Â`y”€|”ÂÀ‚” ”Â`y”Â`y” s” s”Â@v”Âàl”€|”Â@v”Âà…”Â Œ”‰”Âà…”Âà…”Â Œ”Â`’”Â`’”€•”Âàž”Â ˜” ˜”Â`’”Â`’”Â@”Â`’” Œ”€|”€|” ”Â`y”Â@v”Â`y”ÂÀ‚” Œ”Â`’”Âà…”Â‰”Âà…”Â ˜”€•”€•” Œ”Âà…”Â ˜” ˜” ˜”Âà…”Âà…”Â‰” s”Âà…”Âà…”Â`’” Œ” Œ”Âàž”Â`’”Â@”Â`’”Â@”Â@”€•”Âàž”Âàž”Âàž”Â¢”€•”Â`’”Âà…”Âà…”Â`’”‰” Œ”Â@”ÂÀ‚” ” ” ”Â@”Â`’” Œ”Â`’” ˜” ˜”€•”Â`’”Â@” ˜”€•”€•” Œ”‰”Â@”€•”Â`’” ˜” ¥” ¥”Â`«”Â@¨”Âàž”Â@”Â@”Â`’” Œ”Â`’” ¥”¢”Âàž”Â ˜”Â@¨” ¥” ˜” ˜”¢”Â@¨”¢”Â`«”Â`«”Â`«”€®”Â`«”€®”Â@¨” ¥” ¥”Â@¨”¢”ÂÀ´” ¾”»”»” ¾”»”Â`«”Â`«”Â@¨” ¥”€®”ÂÀ´”€®”»”€®”Âà·”Âà·”Â`«” ±”€®” ±”Âà·”Âà·”ÂÀ´”ÂÀ´”»” ±”ÂÀ´” ±” ±” ±” ±” ±” ±”»” ±” ±”Â@¨”Â@¨” ¥” ¥”€®”€®”ÂÀ´”Âà·”Âු ±”Âà·”Âු ʔ ¾”Âà·”Âු ±”»” ¾”Â`Ä”Âà·”Âà·”Â@Á”Â`Ĕ€ǔÂ`Ä”Â@Á”Â@Á”Âà·”ÂÀ´” ±” ±” ±”Â@¨”€®” ¾”€ǔÂ`Ä”ÂàДÂ@Á” ¾” ¾”Â`Ä”ÂàДÂàД€ǔ ʔÂ`Ĕ ¾” ¾” ¾” ¾” ʔ ã” ã”Âàé”Âà锠㔀à”Â`Ý”ÂÔ”ÂàД ʔ ʔ€ǔ ±”Â@Á” ʔ ʔ ʔ ʔÂàД ʔÂÔ”ÂàДÂÀ͔ ¾” ʔ€ǔ ʔÂàДÂ`Ý”Â`ݔ ã” הÂ`Ý”ÂԔ הÂÀæ”Âí”Âàé”Â`Ý”Â`Ý”ÂÀæ” ã” ã”€à”€à”ÂÀæ”€à” ã”ÂÀ攀à”Â`Ý”Â`ݔ€à” הÂàД הÂ`ݔ ה ʔ הÂàДÂÀÍ”Â@ڔ הÂÀÍ”ÂàДÂ@Ú”ÂàД ה ה€à” ã”Âàé” ã”Âà销à”ÂÀæ” ã” ð” ã”Âí”Â픀à”Â`Ý”ÂÀæ” ה הÂÔ”Â`Ý”ÂàДÂàДÂÔ”Â@ڔ€à”Âàé”Âàé” ã”Âàé”€à” ã”Âàé” ã” ð” ð”Âàé”Âàé”Âàé” ã” ð” ü”€ù” ð” ð” ã”ÂÀæ” ã”€à”€à” ð”Â@ó”€à” ã”Â@ó”Âàé”Âí” ã”Â@ó”€ù”Â@ó”Âàé”Â`Ý”Â`ݔ€à” ה ã”Âí”Âí”Âàé” ã” הÂ`ݔ ã”ÂÔ”Â@Ú”Â`Ý”Â`Ý”Âàé”ÂÀæ” ã”ÂÀ攠㔠㔀à”ÂÀæ” הÂ@Ú”Â`ݔ€à” הÂàДÂԔ ʔÂ`Ä”ÂԔ ʔÂ@ڔ ה ã” ã”€à”Âàé”Âàé”ÂÀæ”Â`ݔ€à” ʔÂàДÂàД ʔ הÂàДÂ@Ú”Â`Ý”Â@Ú”Â`ݔ הÂàДÂÀ͔€à” ã” ã” ã” ã”€à”Â@ڔ€à”Â`Ý”Â@Ú”ÂàДÂÔ”Â@Ú”ÂàДÂԔ הÂÔ”Â@Ú”ÂÔ”ÂàДÂ`Ä”ÂÀÍ”ÂԔ הÂÀ͔ ʔÂÔ”ÂÔ”ÂÀÍ”ÂԔ ã” ה ʔÂ`Ĕ ʔ€ǔ€ǔ ה הÂ@ڔ€à”Â@Ú”ÂàД ʔÂÀÍ”ÂàДÂ`ݔ ה ה ã”€à”ÂÀ攀à”ÂàД€à”Â`Ý”Â`ݔ ה ה ה ה€à”€à” הÂàДÂÀÍ”ÂÀ͔€ǔÂ`Ĕ€ǔÂÀ͔ הÂàД ה הÂ`Ý”Â@Ú”Â@ڔ€à”Â`ݔ הÂ@ڔ הÂ`ݔ€à”Â`ݔ הÂÔ”ÂàДÂÀÍ”ÂÔ”Â`ݔ הÂÀÍ”Â`ݔ הÂԔ הÂÀÍ”ÂԔ הÂ`ݔ€à”Â@ó”Â@ó” ã” ã”Â@Ú”ÂàД ה הÂ`Ý”Â@Ú”ÂÔ”ÂԔ€ǔ ʔÂàДÂ`Ý”Â`ݔ€à”€à”€à”€à” הÂ`Ý”Â@Ú”Â`ݔ הÂ`ݔ הÂ@ڔ הÂԔ הÂ`Ý”Â@ڔ ã”€à” ã” הÂàДÂàДÂ`Ý”Âí”Âàé”Âàé”Âí” ð” ð”Â`ö”Âàé”Â`ö”Âà•Âà•Â`ö”Â`ö”ÂÀæ”ÂÀæ” ð”Âàé”Âàé” ã”Â`Ý”ÂÀæ”Âí” ð”Â@ó”Â@ó” ð”Â`ö”€ù”Â@ó”Â@ó”Â@ó”Â`ö”Âàé” ã” ð”Âí” ã”ÂÀæ” ü”Âà• •Â@ •Âà••ÂÀÿ”•Âà•€ù”Â`ö” ü”ÂÀÿ”••Âà•Âà• ü” • ü”Âà• •Âà• ü”Âà•Â`••Â@ •Âà•Â@ •Â@ •ÂÀÿ”•• •Â`• •Â@ •Â`ö” ü” ü” ü”•Â`•Â`•• • •Â@ •ÂÀ•ÂÀ•€•€• •Â`•Â@ •• •Âà•ÂÀÿ”••ÂÀÿ”€ù”Âà•€•Â`• •Â@ •Â@ •€•• ü” •Â`• • • ü”• ••• • • ü”ÂÀÿ” • ˜ÂÀ°¶ÂÖ΀LΠ_Àõ¶Âù«Â€ð¢ÂÛ –ÂàÈ€VÂÀ^€ª€°çÁ€w²ÁÙAÁ/@€uªA@¤BÀŸVB@Û|B@"‰B@ÀªÀ0òÀ¤Á0@Á¼cÁ¤ƒÁ€D•Á³¦Á€¸Á€íÈÁÆÙÁ€SêÁ€>úÁ@Ö€a Â@|Â@RÂÀž Â@n&Âà+Â@á0Â@F5ÂA9ÂÀð<Â@6@ÂÀ0C€æEÂÀDH€KJÂÀLÂ@—MÂÀOÂÀFP€lQÂÀlR€`SÂ@"T€ðTÂÀ¥UÂBVÂ@ÞVÂ@[WÂX€¦XÂ@YÂ@hYÂÀØYÂ*ZÂ@{ZÂÀ¹ZÂ@ßZÂÀ[Â$[ÂÀ[ÂÀ³[Âì[Â\Â@V\Â@o\€Ž\Â@Ó\ÂÀø\ÂÀ]Â@]ÂÀ*]ÂÀC]€o]€ˆ]Â|]•]®]ÂÀ§]ÂÀ§]€Ó]Âù]ÂÀ ^€^€^Â@1^Â@1^Â@J^€P^€i^€‚^ÂÀ¡^Â@•^€´^ÂÀº^€Í^Âó^Â@ù^ÂÀ_€_€_Â%_ÂÀ7_ÂÀ7_Â@D_Â@]_Âp_Â@¨_Â@Á_ÂÀÍ_Â@ó_ÂÀÿ_Â@ `Â`Â`Â@>`Â@>`ÂQ`ÂÀJ`Âj`€v`ÂÀ•`œ`ÂÀ®`Â@Ô`ÂÀù`Â@aÂÀDaÂÀ]aÂda€WaÂ@jaÂÀvaÂÀ¨a€»aÂÀÁaÂ@çaÂ@bÂÀ%bÂ@2bÂ@db€jbÂ@–bÂ@¯bÂÀÔb€çb€çb cÂÀcÂÀ8cÂ?cÂ@EcÂÀjcÂÀƒc£cÂÀµcÂÕc€ácÂ@ôcÂ@ d dÂÀ2dÂÀKdÂkdÂÀ}dÂdÂ@¼dÂ@¼dÂÀádÂÀeÂ@9eÂÀEe€qe—e—eÂ@¶eÂ@Ïe€fÂf€f€fÂÀ fÂFfÂ@ef‘fÂ@°fÂÃfÂÀÕf€èfÂgÂ@FgÂÀ9gÂYgÂÀkgÂÀ„gÂ@‘g¤g€Ég€âg€âgÂ@õg€hÂ@'hÂ:hÂ@rhÂÀ—hÂÐh€ÜhÂéh€õhÂiÂiÂ@!iÂ@:iÂ@liÂ@…iÂÀ‘iÂÀªiÂ@ÐiÂ@éiÂüiÂÀjÂ@jÂÀ'jÂGjÂÀYjÂÀrjÂ@˜jÂÀ¤jÂ@ÊjÂ@ãjÂÀïjÂÀïjÂkÂ(k€MkÂ@yk€˜kÂÀ·kÂ@Äk€ãkÂÀékÂÀlÂ@(lÂ@AlÂ@AlÂTlÂÀlŸl¸lÂ@×lÂÀülÂÀmÂ5mÂ@;mÂÀGmÂ@TmÂ@mmÂ@†mÂ@ŸmÂËmÂÀÝmÂÀöm€"n€"nÂÀAn€TnÂÀAnÂ@gnÂÀsnÂ@™n¬nÂÀ×nÂ@änÂ@oÂ)oÂBoÂ[oÂÀmoÂ@“oÂ@Åo€äoÂ@÷oÂ@pÂÀp€/pÂ@[pÂUpÂnpÂ@tpÂÀ€p€“p€¬p€¬p€ÅpÂÒpÂ@ØpÂ@ q€)qÂ@Uq€tqÂÀzqÂqÂ@ q€¿qÂÀÞqÂ@ëqÂÀ÷qÂ@rÂÀ)rÂ@6rÂIrÂÀtrÂ@hr€nrÂÀrÂÀr€¹rÂßrÂsÂÀ#sÂÀUsÂ@bsÂ@{s€šsÂ@­s€Ìs€ås€åsÂ@ÆsÂ@ßsÂÀtÂ$tÂ@*tÂ@CtÂotÂÀštÂÀštÂÀšt¡tÂ@ÀtÂ@ÀtÂÀ³tÂ@ÙtÂÀuÂuÂ@=uÂ@VuÂiuÂ@ˆuÂÀ”uÂÀ­u›uÂÀ­uÂ@ºuÂæu€òu€ vÂÀ*vÂÀ*vÂÀ\vÂÀ\vÂ@ivÂ@‚vÂ@›vÂÀÀvÂÀÀv€ÓvÂ@æv€wÂÀ wÂ@wÂ+w€7wÂÀowÂ@|wÂ@•wÂ@®w€´wÂ@ÇwÂ@ÇwÂÚwÂówÂ@ùwÂÀx€1xÂ@DxÂWxÂpxÂÀ‚xÂ@xÂÀ›x€®x»xÂ@ÁxÂÔxÂ@ÚxÂÀÿxÂÀ1yÂÀJyÂÀJyÂQy€]yÂ@WyÂ@WyƒyÂ@¢yÂÎy€ÚyÂ@íyÂ@zÂzÂÀz€%zÂ@8zÂÀ]zÂdzÂ}zÂÀzÂÀ¨z€¢z–zÂ@µzÂáz€ízÂ@{Â@{Â,{€8{ÂE{ÂÀW{Â@d{Â@}{ÂÀ‰{ÂÀ¢{€µ{ÂÂ{Â@á{ÂÀí{Âô{Â@|ÂÀ8|Â@E|Â@^|Â@w|Â@w|ÂÀƒ|Â@|€¯|ÂÕ|ÂÀÎ|ÂÀÎ|ÂÀÎ|ÂÀç|ÂÀ}Â@ }ÂÀ}ÂÀ2}Â@?}Â@?}€^}Â@q}ÂÀ}}€w}„}ÂÀ–}Â@¼}ÂÀá}ÂÀ~Â@ ~ÂÀ,~Â3~ÂÀE~ÂÀE~€?~ÂÀ^~ÂÀw~Â@k~Âe~Âe~Â~~—~ÂÀ©~ÂÉ~°~ÂÀÂ~Â@è~ÂÀ Â@Â-ÂÀ?ÂÀXÂ@eÂ@LÂ_ÂÀqÂ@~Â@—€Â@ÉÂÀÕ€èÂõÂ`€Â €Â`€Â`€Â@ €Â`€Â €ÂÀ€Â €ÂÀ2€Â H€ÂÀK€Â€^€Âk€Â z€Â z€Â z€Â`€Â “€Â  €Â€Â€Âà™€Â€©€Â€©€Â ¹€Â Å€Â@Õ€ÂàË€ÂÀá€Â@î€Â ÷€Â ÷€Â ÷€Â€   ) 6Â`<ÂL O O [ [Â`nÂ`nÂ@k€qÂÀw€ŠÂ šÂÀ©Â` Â` Â ¦Â`¹ÂàÅ ÌÂÉ ÌÂ`ÒÂÀÛÂàÞÂ`ëÂà÷Â@‚ þ€‚Â`‚€‚ ‚Â-‚Â`6‚€9‚Â`6‚Â`6‚ <‚ÂF‚€R‚€R‚€R‚Â_‚Â`h‚€k‚Âàt‚Âàt‚Â`‚Â@~‚ÂÀŠ‚Â‘‚Â@—‚Â`š‚ª‚€¶‚ ¹‚ÂÀ¼‚ ҂Â`å‚ ë‚Â`þ‚Â`þ‚Âõ‚Â@û‚ ƒÂ@ƒÂ`ƒÂà ƒÂƒÂ€ƒÂ *ƒÂ€3ƒÂà<ƒÂ CƒÂ OƒÂ@FƒÂà<ƒÂ`IƒÂÀRƒÂYƒÂ \ƒÂànƒÂ`{ƒÂ ƒÂÀ„ƒÂÀ„ƒÂà‡ƒÂ@‘ƒÂࠃ šƒÂ¤ƒÂ@ªƒÂใÂ`ƃ ̃ÂàÒƒÂÖƒÂàëƒÂ òƒÂ þƒÂ`øƒÂ@õƒÂ`øƒÂ þƒÂ€ûƒÂ`øƒÂÀ„Â@„ „Âà„€-„Â`*„Â@'„€-„ÂÀ3„Â:„ I„Â`\„Â`\„ÂÀe„ o„Â`u„ ˆ„ÂÀ—„ž„ ¡„ž„Âàš„Âž„Â@¤„€ª„€ª„Â@¤„ÂÀ°„Â`À„ Ƅ ƄÂÀÉ„ÂÀÉ„ÂàÌ„Â@ք ߄ ߄Â`ò„Â… …Âàþ„ …Â` …ÂÀ… … …Â`$…€'…Â@!… *…€@… C…Â`=…ÂàI… P… P…Â@S… \…Â@S…Âàb…Âàb…Â`o…€r… u…Â`ˆ…Â`ˆ…Â Ž…Â Ž…ÂÀ‘…˜…˜…˜…˜… ›…Â`¡… §…Â୅ À…ÂÀÃ…ÂàÆ…ÂÊ…ÂÊ…ÂàÆ…Â Í…ÂàÆ…ÂÀ܅€օÂ`Ӆ مÂ`ì…€ï…Â@é…Â@é…Â`ì… ò…€ï… ò…Âü…Â`†Â ÿ…€†Â †Â€!†Âà*†ÂÀ'†ÂÀ'†Â $†Â`7†Â 1†Â@4†Â@4†Â =†Â`7†ÂàC†Â V†Â€l†Â o†Ây†ÂÀr†Â€l†Â`i†Â o†Â o†Â o†Â o†Âàu†Â@†Â ˆ†Â ˆ†Â ˆ†Â’†Â«†Â`´†Â€·†Â`´†ÂàÀ†ÂàÀ†ÂĆÂ`͆ÂàÙ†ÂàÙ†ÂàÙ†ÂàÙ†Â`æ†Â€é†Âàò†Âö†Â ‡Â`ÿ†Â€‡Â ‡Â‡Âà ‡Â‡Âà ‡Â€‡ÂÀ!‡Â ‡Âà$‡Â(‡Â 7‡Â€M‡Â`J‡ÂÀS‡ÂZ‡ÂZ‡Â ]‡Â i‡Â i‡Â€‡Â v‡Âs‡Â v‡Â v‡Â`|‡Â v‡Â€‡Âàˆ‡Âàˆ‡Â`•‡ÂÀž‡Â ¨‡ÂࡇÂÀž‡Â ¨‡Â€±‡Â ´‡Âງ Á‡ÂງÂງÂ@ćÂ`LJÂງÂງ¾‡Â Ú‡ÂׇÂàӇ æ‡Âàì‡Â æ‡Âàì‡Âàì‡Â æ‡Â ó‡Â€ü‡Â€ü‡Â ÿ‡Â@ˆÂ ˆÂ@ˆÂ`ˆÂ ˆÂÀˆÂ ˆÂ`ˆÂ %ˆÂ€.ˆÂ;ˆÂ`DˆÂ€GˆÂ JˆÂ`DˆÂ€GˆÂ€GˆÂàPˆÂ cˆÂÀfˆÂ pˆÂ`vˆÂ pˆÂ pˆÂ`vˆÂ |ˆÂà‚ˆÂ ‰ˆÂÀˆÂ ‰ˆÂ`ˆÂ •ˆÂ ¢ˆÂ •ˆÂ •ˆÂ`¨ˆÂ€«ˆÂà´ˆÂÀ±ˆÂ¸ˆÂ¸ˆÂ¸ˆÂ¸ˆÂ`ÁˆÂ ÇˆÂ ÇˆÂà͈ àˆÂàæˆÂ`óˆÂêˆÂêˆÂ`óˆÂ€öˆÂ ùˆÂ ‰Â@ ‰Â` ‰Â‰Â€‰Âà‰Â ‰Â€(‰ÂÀ.‰Â5‰Â`>‰Â5‰Âà1‰Â5‰Â`>‰ÂàJ‰Â Q‰Â`W‰Â ]‰Â ]‰Â j‰Âàc‰Âàc‰Âàc‰Âg‰Â j‰Â€s‰Âà|‰Â`‰‰Â ‰Â ‰Â€Œ‰Â ‰Â œ‰Â ¨‰Â€¥‰Â€¥‰Â ¨‰Â ¨‰Â œ‰Â`¢‰Âஉ ¨‰Â@¸‰Â Á‰ÂÀĉ Á‰Â Ή Ή ΉÂ`Ô‰Â@щÂÀ݉Âä‰Â ç‰Â ç‰Â ó‰Â€ð‰Â ó‰Â ŠÂ`ŠÂÀŠÂ  ŠÂ`ŠÂ`ŠÂŠÂÀŠÂ  ŠÂàŠÂŠÂàŠÂ ŠÂ %ŠÂ 2ŠÂ€;ŠÂ 2ŠÂ >ŠÂ`QŠÂ€TŠÂ WŠÂ WŠÂ WŠÂ€TŠÂ€TŠÂHŠÂ€TŠÂÀZŠÂÀZŠÂÀZŠÂ@gŠÂ pŠÂzŠÂzŠÂàvŠÂ }ŠÂ }ŠÂ`ƒŠÂ ‰ŠÂ“ŠÂ –ŠÂ@™ŠÂ –ŠÂ@™ŠÂ@™ŠÂÀ¥ŠÂ`œŠÂ€ŸŠÂ¬ŠÂÀ¥ŠÂ »ŠÂ€¸ŠÂ »ŠÂ »ŠÂ ÈŠÂ@ˊ Ȋ ԊÂàÚŠÂ`çŠÂ íŠÂàóŠÂ€êŠÂ@äŠÂàÚŠÂÀ׊ÂÞŠÂ áŠÂ íŠÂÀðŠÂ úŠÂ úŠÂ`‹Â`‹Â`‹Â ‹Â ‹Â‹Â`‹Â)‹Âà%‹Â ,‹Â ,‹Â ,‹Â`2‹Â 8‹Â 8‹Â E‹Â@H‹Â@H‹Â€N‹Â[‹ÂàW‹Â ^‹Â ^‹ÂàW‹Â ^‹Â[‹ÂÀT‹Â€N‹Â@a‹Âàp‹ÂÀm‹Ât‹Â w‹Â@z‹Â`}‹Â ƒ‹Â ƒ‹Â ƒ‹Â`–‹Âà‰‹Â‹Â`–‹Â ©‹Â¦‹Â¦‹Â ©‹Â¦‹Â@¬‹Â¦‹Â`¯‹Â µ‹Â ‹Â`ȋ ΋Â`È‹Â@ŋ ΋Âàԋ ۋ ΋ÂàÔ‹Â Û‹ÂÀÑ‹Â Û‹ÂØ‹Â@ދ€ä‹Âàí‹Â ô‹Â ô‹ÂàŒÂàŒÂàŒÂàŒÂ ŒÂ`ú‹Â€ý‹Â ŒÂ ŒÂ`ŒÂ€ŒÂ ŒÂ ŒÂ@ŒÂ ŒÂ€ŒÂ@)ŒÂ`,ŒÂ€/ŒÂà8ŒÂ€HŒÂàQŒÂ@[ŒÂ XŒÂàQŒÂ XŒÂ`^ŒÂ€aŒÂ`^ŒÂ@[ŒÂ XŒÂ@[ŒÂ dŒÂ@[ŒÂ XŒÂ dŒÂ qŒÂ qŒÂ qŒÂnŒÂ`wŒÂ`wŒÂ€zŒÂ€zŒÂÀ€ŒÂÀ€ŒÂàƒŒÂ ŠŒÂ –ŒÂ€“ŒÂ‡ŒÂ }ŒÂ }ŒÂ }ŒÂ`wŒÂ }ŒÂÀ™ŒÂàœŒÂ@¦ŒÂ £ŒÂ ŒÂ £ŒÂ ŒÂ £ŒÂ`©ŒÂ¹ŒÂൌ ¼ŒÂ@¿ŒÂൌÂÀ²ŒÂ€¬ŒÂൌÂൌÂൌÂൌ ¼ŒÂ¹ŒÂ ¼ŒÂ ¯ŒÂൌ ¼ŒÂ@¿ŒÂ@¿ŒÂ Ռ Ȍ Ȍ ¼ŒÂ ¼ŒÂ¹ŒÂ ÈŒÂ`ÂŒÂ`Œ ՌÂàΌ€ŌÂàÎŒÂ`ÛŒÂ@، áŒÂ áŒÂ áŒÂ`ÛŒÂàΌ áŒÂ áŒÂ€ÞŒÂ áŒÂàçŒÂëŒÂàçŒÂ îŒÂëŒÂëŒÂëŒÂ áŒÂ áŒÂ Ռ€ތ áŒÂàçŒÂ îŒÂàçŒÂ@ñŒÂ îŒÂ@ñŒÂ îŒÂàçŒÂàçŒÂ áŒÂàçŒÂ îŒÂ úŒÂàÂ@ €Â  €)Â`&Â@#Â`&Â@#Â`&€)Â`& Âà2  Â`& ,ÂÀ/Âà2 9 9 9Â6 9Âà2Â6Â6Â`? 9Â`? EÂ`XÂàK RÂO ^ ^ ^Âàd ^Â@U ^ k k kÂàd k k k k k wÂà} „Âà}ÂÀz€t wÂà} Â@‡Â€Â`ŠÂ`ŠÂà–  ©Â@ Â@ Â  €¦Â Â Â€Âà– €¦ÂÀ¬Â`£Âà¯Âà¯Â`¼ÂÀÅ ¶Â³Â€¿Â@Ò ÂÂ`¼ÂÀÅÂàÈ Ï ÏÂàȠ€¿Â`¼ÂàÈ€ØÂ`Õ èÂåÂÀÞ èÂàá ÛÂàáÂ@ëÂ`îÂå èÂÀÞ ÛÂÀÞÂ`îÂ`î€ñÂ@ëÂ`î ô€ñ ŽÂþÂ`ŽÂ`ŽÂÀŽÂŽÂ@ŽÂÀŽÂàŽÂàŽÂ€ ŽÂÀŽÂ  ŽÂ  ŽÂ@ŽÂ@ŽÂ€#ŽÂ` ŽÂ &ŽÂ &ŽÂ@ŽÂà,ŽÂà,ŽÂÀ)ŽÂà,ŽÂ0ŽÂ 3ŽÂ0ŽÂ` ŽÂ &ŽÂÀ)ŽÂ@6ŽÂÀBŽÂ LŽÂ LŽÂ LŽÂàEŽÂàEŽÂàEŽÂàEŽÂ`RŽÂ LŽÂIŽÂ`RŽÂ@OŽÂ XŽÂ XŽÂà^ŽÂbŽÂÀ[ŽÂ qŽÂ qŽÂ€nŽÂ€nŽÂ qŽÂàwŽÂÀtŽÂ qŽÂ qŽÂ qŽÂ`kŽÂ€nŽÂ{ŽÂ@ŽÂ ~ŽÂ`„ŽÂàwŽÂÀtŽÂ ~ŽÂ@ŽÂÀŽÂ —ŽÂ€‡ŽÂ@ŽÂÀŽÂ —ŽÂ £ŽÂ€ ŽÂàŽÂàwŽÂàwŽÂ`„ŽÂ ŠŽÂ —ŽÂÀ¦ŽÂ °ŽÂ­ŽÂ@³ŽÂ€¹ŽÂ °ŽÂ€¹ŽÂ@³ŽÂ ¼ŽÂ ¼ŽÂÀ¿ŽÂàÂŽÂ ÉŽÂ€ÒŽÂ ÉŽÂ ÉŽÂÆŽÂÆŽÂàŽ€¹ŽÂ@̎ Ɏ ՎÂ@ÌŽÂàÛŽÂߎÂàÛŽÂ âŽÂ`ώ€Ҏ âŽÂ âŽÂ€ëŽÂàێ Վ âŽÂߎ âŽÂ€ëŽÂàôŽÂøŽÂøŽÂàôŽÂàôŽÂøŽÂàôŽÂàôŽÂ îŽÂ@þŽÂ ûŽÂøŽÂ`€€€Âà   ûŽÂ`Â@þŽÂ`Â`Â`€  ÂÀ ÂÂà Âà   ÂÀ#Âà&  Â`Â@ €Â@0Â@0Â`3 -Â@0 9€6Â@0Â* 9€6€6 FÂCÂà?ÂÀ<ÂÀ<Â`3Â`3 9 FÂC RÂ`L FÂ`LÂàXÂ\ _ _ _Â@b kÂ`eÂ@b RÂ@IÂ@IÂC€O R€OÂ`L RÂàX _Â\ _ _ _ kÂÀnÂ`e kÂ@{ÂÀ‡ÂàŠÂàŠÂ „ÂàŠÂ „ÂàŠÂàŠÂÀ‡Â ‘ÂàŠÂ „ ‘ÂàŠÂ€Â@{ÂàŠÂ ‘€šÂ ÂÀ Â€šÂ Â Âà£Âà£ÂÀ Â Â§Â§Âà£Â@­Â ¶Âà¼ÂÀ ÃÂÀ¹Âà¼ÂÀ ÃÂ`ÉÂ`ÉÂ`ɠàÏÂÙ Ü ÜÂÀÒÂ@ßÂ@ßÂ`â èÂàîÂÀëÂ`âÂÀëÂÀëÂ`âÂ`âÂò õ õÂò õ õÂò õ õ õÂò õ Âà ÂÀÂàÂà Â`û õÂòÂ`ûÂàÂÀÂàÂ@ÂÀ  Â@€  Âà ÂÀ 3€0 3€0€0 3 3Âà9Â= @ 3€I€I @Â`F L LÂ`FÂÀO LÂÀO @ LÂÀOÂVÂàRÂàR YÂ`_ e YÂV Y eÂàkÂàk e€bÂàk€{ r€{€{€{ÂÀÂà„Âà„ ‹Â€”Âà„Âà„ˆÂ@ŽÂ`‘¡ °Â`ªÂ ¤Â ¤Â`ªÂ@§Â€­Â`ªÂ`ªÂ °ÂÀ³Â °Â °Âà¶Â`à½Â °ÂºÂ€ÆÂºÂ °Â °Â °Âà¶Â`àɠÉÂ`Ü ÖÂÓÂ@ÙÂ`Ü ÖÂàÏÂ`Ü€ßÂ@ÙÂ@ÙÂ`ÜÂÀåÂàèÂÀå ïÂ@òÂì ïÂ`õÂ`õ ûÂÀþÂà‘ û€øÂ€øÂ ûÂà‘ ûÂ`õ€øÂÀþÂÀþ‘Â`‘ ‘Â@ ‘Â`‘€‘€‘Â`‘ !‘€*‘ !‘ÂÀ‘Â`‘ ‘ ‘Âà‘ !‘ÂÀ0‘Â`'‘€*‘ -‘ -‘Â7‘Âà3‘ -‘Â`'‘Âà3‘ÂÀ0‘Â`'‘ -‘Âà3‘Â7‘Â7‘Â`@‘ÂÀI‘ÂàL‘ÂàL‘Â`@‘ F‘ F‘ÂàL‘ÂàL‘ F‘ S‘ _‘ _‘ l‘ _‘Â`Y‘ _‘ _‘Â`Y‘Â`Y‘Â@V‘ S‘Â@V‘Â`Y‘Â`Y‘ _‘€\‘Â@o‘Â`r‘€u‘€u‘Â`r‘Â`r‘ …‘Â€Ž‘Â€Ž‘Â@ˆ‘Â@ˆ‘ ‘‘ …‘Â@ˆ‘Â`‹‘Â€Ž‘ÂÀ”‘ ‘‘Âà—‘Â ‘‘ ‘‘Â€Ž‘Â`‹‘ ‘‘Âà—‘Â ž‘€§‘ ž‘ ‘‘Âà—‘Â`¤‘ ª‘Â`½‘´‘Â఑ ª‘´‘´‘Â@º‘Â`½‘´‘ ª‘ ª‘Â఑´‘Â@º‘Â@º‘Â`½‘ ÑÂ`½‘€À‘Â`½‘ БÂ@ӑ ܑÂàâ‘€ّÂàâ‘€ّ ܑÂ@Ó‘Â`֑ ܑÂ@Ó‘Â`֑ ܑ ܑÂàÉ‘Âàɑ ܑ€ّ Б€ّ ܑ€ّÂ@Ó‘Â`Ö‘Âàâ‘ ܑÂàâ‘ é‘Â`ï‘Â`ï‘Â`ï‘ õ‘ õ‘Â`ï‘Âàâ‘Âæ‘ ܑ é‘ õ‘Âàû‘Â`’Â@’Â@’€•ÂଳÂà™Ë ËÂ@6ÀÂ@è³Â@ø¨ÂöŸÂ`ޘ .“ ԊÂÀFPÂÀ›ÂþÁ€1ßÁ€ ¯Á¼JÁ K?VA0B€¨GB€€oB`{ƒBÀˆBÀfˆBž„BÀœ|BÀãlB€I[BáHBl6B@“$BÀ¡B€âB€lêA€xÏA·A¥ Añ‹AþqAÖNA>-A‡ A6Ø@&˜@X1@`Q?È–¿˜PÀD¬ÀþñÀFÁt=Á¢_Áè€Á€$’Á€T£Á€¶´Á€ÿÅÁ ×Á€ÉçÁ€æ÷ÁÀÂ@² Â@¡Â@Â@:Â@ý#ÂÀ6)€.ÂÀd2Â@Y6Â@ö9ÂÀ;=Â@@Â@§BÂ@æDÂÀÍFÂÀH€2J¶KÂ@MÂ'NÂÀ3OÂÀ-PÂ@QÂ@ãQÂ@«RÂÀfS€öSÂÀ’TÂUÂÀ¥UÂ@ýUÂÀTV¦V€ýVÂ@[WÂÀ²WÂ@ñWÂ@ˆÂà7ˆÂ;ˆÂ@AˆÂàPˆÂTˆÂ JˆÂàPˆÂ@ZˆÂ cˆÂ cˆÂ pˆÂ€yˆÂ†ˆÂ@ŒˆÂ€’ˆÂ@ŒˆÂà›ˆÂà›ˆÂ€«ˆÂ@¥ˆÂ ®ˆÂÀ±ˆÂ@¾ˆÂà͈ÂшÂà͈ Ԉ Ԉ àˆÂàæˆÂ@ðˆÂ íˆÂêˆÂ ùˆÂ€öˆÂ ùˆÂàÿˆÂ` ‰Â ‰Â ‰Â`%‰Â +‰ÂÀ.‰Â5‰Â D‰Â Q‰ÂN‰Â Q‰Â@T‰Â€Z‰Â€Z‰Â€Z‰ÂÀ`‰Â ]‰ÂÀ`‰Âg‰Â€s‰ÂÀy‰ÂÀy‰Â ƒ‰Â€‰Â`‰‰Â@†‰Â@†‰Â€Œ‰Âà•‰Â ¨‰Â€¥‰Â`¢‰ÂஉÂஉ²‰Â€¾‰Â Á‰Â@щ Ή€׉Âä‰Â ç‰Âàà‰Âàà‰Â`í‰ÂÀö‰Â€ð‰Âàù‰Â@ŠÂ  ŠÂ`ŠÂÀ(ŠÂ %ŠÂà+ŠÂ€;ŠÂ€;ŠÂ`8ŠÂ/ŠÂà+ŠÂ€;ŠÂ >ŠÂ€;ŠÂÀAŠÂ KŠÂ`QŠÂÀZŠÂà]ŠÂ WŠÂ€TŠÂ dŠÂ@gŠÂ`jŠÂàvŠÂ }ŠÂzŠÂ@€ŠÂ@€ŠÂ“ŠÂ ‰ŠÂàŠÂ“ŠÂ ¢ŠÂ`œŠÂ€ŸŠÂ ¢ŠÂਊÂ`µŠÂ »ŠÂ ¯ŠÂ@²ŠÂ »ŠÂàÁŠÂàÁŠÂ ÔŠÂ`çŠÂÀðŠÂ`‹Â úŠÂ`‹Â€‹Â÷ŠÂ÷ŠÂÀðŠÂ€‹Âà ‹Â@‹Â‹Âà ‹Â`‹Â@‹ÂÀ"‹Âà%‹Â ,‹Âà%‹Â`2‹Âà>‹Â E‹ÂB‹Â E‹Â`K‹Â`K‹Â@H‹ÂàW‹Â`d‹Âàp‹Âàp‹Â w‹Â w‹ÂÀm‹Â j‹Âàp‹Âàp‹Â`}‹Â€€‹ÂÀ†‹Â`–‹Â€™‹Â œ‹Â œ‹ÂࢋÂ@¬‹Â@¬‹Â€²‹Â໋ÂÀ¸‹ÂÀ¸‹Â໋¿‹Â¿‹Â`ȋ µ‹Â ‹€ˋÂàԋ ΋ ç‹Â ç‹Â ç‹Â€ý‹Â ŒÂ ŒÂ ŒÂ ŒÂ`ŒÂ ŒÂ ŒÂ &ŒÂ@)ŒÂ€/ŒÂ 2ŒÂ<ŒÂà8ŒÂ`EŒÂ KŒÂ KŒÂ KŒÂ€HŒÂàQŒÂUŒÂàQŒÂUŒÂ@[ŒÂÀgŒÂnŒÂàjŒÂnŒÂ }ŒÂ@tŒÂàƒŒÂÀ€ŒÂ‡ŒÂ`ŒÂ ŒÂ`©ŒÂÀ²ŒÂ€¬ŒÂ ¯ŒÂ€¬ŒÂൌÂ@¦ŒÂÀ²ŒÂ ¼ŒÂ¹ŒÂ@¿ŒÂ@¿ŒÂ`ÂŒÂҌ Ռ ՌÂÒŒÂÀäŒÂ îŒÂ€÷ŒÂ`ôŒÂ`ôŒÂ úŒÂ€÷ŒÂÀýŒÂàÂÀýŒÂ€ Â`  ÂÀÂàÂÂÀÂ`& ,ÂÀ/Â@<Â@< E€BÂ`? 9Â@<ÂÀHÂ`?Â`?ÂÀH R ^ÂÀaÂh€tÂ`qÂ`q wÂ`ŠÂ Â š Âà–Âà– Â`£Âà¯ÂÀ¬Â`£Â`£Â€¦ÂÀ¬Â ¶Â`¼Â`¼Âà¯Â ©Â ©Â³ÂÀ¬ÂÀ¬Â@¹Â Ï ÛÂàáÂ`î ô ŽÂþÂ@ŽÂ ŽÂþÂþÂ`ŽÂŽÂ€#ŽÂ€#ŽÂ@ŽÂ@ŽÂ` ŽÂŽÂàŽÂŽÂ ŽÂ€#ŽÂ@ŽÂà,ŽÂà,ŽÂà,ŽÂ`9ŽÂà,ŽÂ &ŽÂ0ŽÂÀ)ŽÂ 3ŽÂ ?ŽÂ@OŽÂ€UŽÂ XŽÂ XŽÂ€UŽÂ€UŽÂ LŽÂ€UŽÂ LŽÂ@OŽÂ`RŽÂ`RŽÂ XŽÂbŽÂ eŽÂ`kŽÂ qŽÂ{ŽÂ€‡ŽÂ`„ŽÂ`„ŽÂ€‡ŽÂ@ŽÂ@ŽÂ ŠŽÂÀŽÂ ŠŽÂ@šŽÂ —ŽÂ`ŽÂ@šŽÂ@šŽÂ­ŽÂ­ŽÂÀ¦ŽÂ@šŽÂ £ŽÂ੎Â੎Â੎ÂÀ¦ŽÂ੎ °ŽÂ­ŽÂ੎Â੎ °ŽÂ °ŽÂ °ŽÂÀ¦ŽÂ@³ŽÂàÂŽÂÀ¿ŽÂÀ¿ŽÂ ¼ŽÂ@ÌŽÂ@ÌŽÂÀ؎ ՎÂàÛŽÂߎÂàÛŽÂàÛŽÂàÛŽÂàÛŽÂ@åŽÂ€ëŽÂ@åŽÂ îŽÂ îŽÂøŽÂ ûŽÂàôŽÂàôŽÂøŽÂ € Âà  € Â Â`ÂÀ#Âà& -Â@0 9Â`3 9 9 9ÂCÂC F F FÂÀU _ _ÂÀU _Â`eÂ@b _€h _ÂÀUÂàXÂàX _€hÂ@{Â`~Â`~ „ÂuÂ`~ÂàŠÂ „ÂŽÂÀ‡Â`~€ŽŽ ‘€šÂ`—ÂÀ ÂÀ Â ªÂÀ Â ªÂ`°Â`°Âà£Â€šÂ@­Â ¶Â ÃÂ`ÉÂ`É ÃÂà¼Â`É Ï ÏÂ`ɠàπ̠ÏÂàÕÂàÕ ÜÂ@ßÂÀë õ õÂò è èÂÀë€å€å èÂòÂò Â`û€þ Âà Âà   €þ Âà ÂàÂ@Â`Âà Âà Âà Âà Âà  Âà Â@*€0€0ÂÀ6Â=Âà9 3Âà9Â@C @ @Â`F L€IÂ`FÂ@CÂ`F Y YÂVÂV Y eÂÀhÂÀhÂÀhÂ`xÂÀh€b e e€b eÂàk rÂoÂ@u ~Âà„Âà„Â@ŽÂ`‘ ‹Â —ÂàÂàÂ`‘¡ —Âà ¤Â@§Â ¤Â ¤Â@§Â °Âà¶Âà¶Â ½Â`àÉÂ`à½Â`à½Â ½Â ½Â °Â€­Â °Â °Â °Â`ÃÂÀÌ â€ßÂ@ÙÂ`ÜÂ@Ù â â€ß ÖÂàϠ֠րߠâ ïÂÀþÂ@ ‘Â@ ‘ ‘Âà‘ ‘Âà‘ÂÀþÂà‘‘ ‘Âà‘Â`õ ï€øÂà‘Âà‘Âà‘ ‘Â`‘Â`‘ ‘ ‘ ‘Â`‘Âà‘Â`'‘Â@$‘Â@$‘Â`'‘‘ -‘Âà3‘Âà3‘Âà3‘Â@$‘ -‘ !‘Âà‘ !‘€*‘ -‘€*‘ÂÀ0‘ÂÀ0‘Â`@‘ÂàL‘ÂàL‘ÂÀI‘ S‘ÂàL‘ _‘Âàe‘ l‘Âàe‘Â@o‘Âàe‘ l‘ l‘€u‘ l‘Âàe‘€\‘€\‘€\‘Âi‘Âàe‘Â@o‘Âi‘ÂÀ{‘‚‘ x‘ l‘Â`r‘ …‘Â@ˆ‘ …‘ …‘Â@ˆ‘Â`‹‘ …‘Â`‹‘Â@ˆ‘Â`‹‘Âà—‘Â`‹‘ …‘ …‘Â@ˆ‘Â`‹‘Â€Ž‘Â ž‘ ž‘Â@¡‘Â`¤‘ÂÀ­‘ ª‘ ·‘´‘Â఑´‘ÂÀ­‘ ª‘Âà°‘ÂÀ­‘ÂÀ­‘´‘€À‘ ·‘Â`½‘ ·‘ÂÀ­‘Âà°‘Â ·‘ÂàÉ‘ÂÍ‘ÂàÉ‘ÂàÉ‘Â`֑€ّ€ّ ܑ БÂÀÆ‘Âàɑ Б БÂ͑€À‘ Ñ€À‘ Ñ Ñ Б€ّ€ّÂ@Ó‘Â@ӑ€ّ ܑ é‘Âàâ‘Âàâ‘Âàâ‘Â@ì‘Âàâ‘ÂÀø‘Âàû‘€ò‘Â`ï‘ õ‘ÂÀø‘Âÿ‘ õ‘€ò‘ õ‘ õ‘Âÿ‘€ ’ ’€ ’ ’ ’Â@’Â`’ÂÀ’€ ’ ’Â`’ÂÀø‘ õ‘Âàû‘ ’Âÿ‘Â`’ ’Â’Â’€ ’ ’ ’ ’Âà’Â’ ’Â’ '’Âà-’Âà-’Âà-’ '’Â@’Â@’ '’ '’ÂÀ*’Â@7’Âà-’ÂÀ*’Â`!’Â`!’Â@’ '’Âà-’ 4’ @’ @’ @’Â`:’ÂàF’ÂàF’ @’Â@7’ 4’ 4’ @’Â@P’Â@P’ M’Â`S’Âc’Âà_’ f’ÂÀ\’Âc’ Y’Â`S’Â@P’ Y’ÂÀ\’ÂÀ\’Âà_’ Y’Âà_’Âà_’ Y’ Y’ Y’Âc’ f’ f’Â@i’Â@i’ f’ f’€o’ r’€o’ r’ r’Âàx’Â|’Â|’Â@‚’Â@›’Â@›’ ˜’ ¤’Âà‘’Â`ž’ ¤’Â`ž’Â@›’Â`ž’ÂÀ§’Â`ž’Â`ž’Â`ž’Â`ž’Â`ž’€¡’ ¤’®’ ±’ ¤’Â`ž’Â@›’ ¤’€¡’ ¤’ÂÀ§’ ¤’ ±’ÂÀÀ’ ½’ ±’Â@´’ÂÀÀ’Â`Ð’Â Ê’Â Ê’ÂÀÀ’ÂÀÀ’ÂÇ’ÂàÃ’ÂÀÀ’Â@͒€Ӓ ֒Â`В€Ӓ ֒ ã’ÂÀÙ’Âà’Âà’Â`é’ ã’ ֒€ӒÂàÜ’Â@æ’ ã’ ã’ÂàÜ’Âà’ÂÀÙ’Â ã’Âà’ ֒ ʒ ֒ÂÀْ ֒ ã’€ì’Â@æ’Â`é’Â@撀쒠ï’Âù’ ï’ ü’€“Â`“ÂÀ “ÂÀ “Â`“Â@ÿ’Âù’ ü’ ü’ ü’ “€“€“ ““Âà“€“€“€“Â`“ “ “Âà“ÂÀ “Âà“Â`“Â`“Â+“€“ !“Â@“ “ .“Â@1“Â@1“ .“€7“ .“Â`4“€7“ :“Âà@“Â@1“ÂÀ=“ G“Â`M“ÂD“ G“ÂD“ÂD“ÂÀ=“Âà@“ÂÀ=“€7“Âà@“ G“Â`M“ÂÀV“ S“ S“ S“Âà@“ G“Â`M“€P“ S“€P“ G“ S“€P“ S“ÂÀV“ `“Â`f“Â@c“ l“ l“Âàr“Â`f“Â`f“€i“ l“€i“ l“Âv“Âàr“Â`f“Â@c“Â`f“ÂÀV“ÂÀV“ l“Â`“ y“Â`“Â`“Â@|“ÂÀˆ“ ’“€›“Â@•“Â`˜““ÂÀˆ“Âà‹“Â@•“Â@•“Â`˜“Â`˜“Â@•“Â`˜“€›““ÂÀˆ“ ’“€›“€›“Â`˜“€›“€›“Âओ «“ ž“¨“ÂÀ¡“ÂओÂओÂÀ¡“ÂओÂओÂ@®“ ·“ÂནÂÁ“ ēÂནÂÁ“Â@Ǔ ·“€´“€´“€´“ ·“ ·“ ·“ÂÀº“Â@Ç“Â`ʓ€͓ÂÀÓ“ÂÀÓ“Â`ʓ ГÂړ Г ГÂ`Ê“Â`ʓ Г ГÂ@Ǔ€͓ ГÂ@à“ ݓÂ@à“Â`ã“ÂÚ“Â`ã“€æ“ÂàÖ“ÂàÖ“Â@à“ÂÀÓ“Â`ã“Â@à“ é“Â`ã“ÂÀì“ é“Â`ã“ é“Â@à“ ݓ ݓÂ`ã“ÂÚ“Â`ã“ÂÚ“ÂàÖ“Âړ ݓ ݓ é“Âàï“ é“ÂÀì“Âàï“Âó“Âó“Âàï“ ö“Â@ù“Âó“ ö“Âó“Â`ü“Â`ü“ ö“Â@ù“€ÿ“Âà” ” ”ÂÀ”€ÿ“€ÿ“ ” ”Âà!”Â`”Â`”Âà” ”€”€”Â`”Âà” ” ”Âà” ”€ÿ“ ” ”Âà” ”Âà”ÂÀ” ”Â`”€”€” ”€”€”€” ¬—Âֵ ¹ÍÂ-ÍÂàR¶Âà«Â ¢Â›Â@p• Â@UÂ_ÂB Â@€•ßÁ€ä¤ÁT!Á”Ž@á¯A€B€QB€uB@¤„BmˆB`|‡B@ƒB@‰yB€ÖiB€tXB€cFBÀ?4B€Œ"BÀøBÀqB€‘èAYÎA€‘¶A¾ A€HŒA{rA¤NAÚ,A[ AÖ@ ”@H#@€Ô>ˆÛ¿PuÀš¿À_ÁÅ#ÁùDÁ_fÁ€ÉƒÁ¢”Á‡¥Á€x¶Á€ÚÇÁÌØÁ€YéÁ€ùÁÀ~Â@¬ €VÂ@wÂ4Â@™#€š( -Â@,1Â@É4€:8€;¿=ÂÀ)@Â@*BÂ@D€ÍEÂjGÂÈH JÂÀ2KÂLLÂ@LMÂ@NÂ@OÂ@ÖOÂ@žPÂ@MQ€éQÂsRÂ@SÂ@ŒSÂÀüSÂÀGTÂÀÄTÂ@5UÂ@²UÂV€gV€ËV€/WÂ@[WÂ@¦WÂ@ñWÂ@‹ÂÀ;‹ÂÀ;‹ÂB‹Â@H‹Â`K‹ÂàW‹ÂÀm‹ÂÀm‹ÂÀm‹Ât‹Âàp‹ÂÀm‹Â w‹Â`}‹Â€€‹ÂÀ†‹Â ƒ‹Âà‰‹Â@“‹ÂࢋÂ`¯‹Â`¯‹Â@¬‹Â@¬‹Â µ‹ÂÀ¸‹ÂÀ¸‹Â@ŋ€ˋÂàÔ‹Â`á‹Â€ä‹Â ç‹Â Û‹ÂÀÑ‹Âàԋ€ä‹ÂÀê‹Âàí‹Âñ‹Â ŒÂ@ŒÂ`ŒÂÀŒÂ ŒÂ`ŒÂ€ŒÂàŒÂ@)ŒÂ€/ŒÂ`,ŒÂà8ŒÂ ?ŒÂ@BŒÂàQŒÂ XŒÂàQŒÂÀNŒÂÀNŒÂàQŒÂ€aŒÂ dŒÂnŒÂ`wŒÂ }ŒÂÀ€ŒÂÀ€ŒÂ }ŒÂ@ŒÂ€“ŒÂ –ŒÂ ŒÂ`©ŒÂ€¬ŒÂ@¦ŒÂ€¬ŒÂ £ŒÂ€¬ŒÂÀ²ŒÂÀ²ŒÂൌ¹ŒÂ@¿ŒÂ`ÂŒÂÀËŒÂàÎŒÂÀˌ Ȍ ՌÂ@ØŒÂ`ی áŒÂ`ôŒÂ€÷ŒÂ îŒÂ@ñŒÂ  Â` € Â@#Â@#Â`&Â`&Âà2 ,ÂÀ/ÂÀ/Â`?ÂàKÂ`?Â`?Âà2 EÂàK ^Â@n€t wÂàdÂ@n k w€t w Â`ŠÂ`ŠÂ@‡Â@‡ÂÀ“Âà– š€¦Â ¶Â€¿Â€¿Â€¿Â Â Ï ÛÂàá Û è è€ñ€ñ ô ô ôÂÀ÷ÂþÂàúÂàú€ ŽÂàŽÂàŽÂ` ŽÂ &ŽÂ` ŽÂ &ŽÂ` ŽÂ0ŽÂÀ)ŽÂ0ŽÂÀBŽÂ LŽÂÀ[ŽÂÀ[ŽÂ€UŽÂÀ[ŽÂ LŽÂ€UŽÂ XŽÂ€UŽÂbŽÂ`kŽÂ`kŽÂbŽÂ`kŽÂ€nŽÂÀtŽÂ€nŽÂ qŽÂ€nŽÂ`kŽÂ qŽÂ ~ŽÂàwŽÂàwŽÂ ŠŽÂ —ŽÂ@šŽÂ £ŽÂ­ŽÂ °ŽÂ@³ŽÂ€¹ŽÂÀ¿ŽÂÀ¿ŽÂ`¶ŽÂ ¼ŽÂ€¹ŽÂ€¹ŽÂ ÉŽÂ`ÏŽÂ`ώ€ҎÂÀØŽÂÀØŽÂ`ÏŽÂàÛŽÂ@åŽÂ âŽÂߎÂàێ îŽÂÀñŽÂ ûŽÂ`€Â`ÂÀ ÂÀ  ûŽÂ@þŽÂ`Â@þŽÂà     -Â@0Â*€6€6Â`3€6 9 F FÂCÂ`LÂCÂ`L RÂÀUÂàXÂ@b€h _ _€OÂàXÂ\Â@bÂ\Â`eÂàqÂàqÂuÂ`~ xÂ`~ „ÂŽÂ ‘ ‘Â`—ÂàŠÂ`— § ¶Â ¶Â@­Â§Âà£Âà£Â§Â€³Â àÃÂÀ Ï ÜÂÙÂÀÒ ÏÂàÕÂÀҠπ̠πÌÂàÕÂ`âÂ@ßÂÀëÂÀëÂÀëÂ@ßÂò€å€å õÂ@øÂ Â@øÂ`ûÂÀÂ`û Âà ÂÀÂÀÂà   Â`Â@   €  Â@Â@€ €ÂÀ   'Â`- 3Â=Âà9€0ÂÀ6 3 3ÂÀ6Âà9 @Âà9Â@C€I€IÂ`FÂÀOÂàRÂ@C L€IÂÀO LÂÀhÂàk e YÂ@\ YÂ`_ YÂ@\€bÂÀhÂ@uÂ`x r€{Â@uÂ@uÂoÂ@uÂ`x ‹ÂˆÂ`‘Âà —ÂÀšÂ¡Â€­Â@§Âà€­Âà ¤Â`ªÂ@§Â@§Â@§Â ¤Â ¤Â€­Â`à½Âà¶Â ½Â€ÆÂ€ÆÂÓ ÖÂàÏÂàÏ ÖÂÓÂÓÂàÏÂ`ÜÂ`ÜÂ@ÙÂ@ـ߀ߠâ â€ß€ßÂìÂìÂì€øÂ@ò€øÂ€øÂ€øÂà‘Âà‘ ‘Â`‘Âà‘Â@ ‘Â`‘Â`‘Â`‘€‘Âà‘€‘Âà‘€‘€‘Âà‘Âà‘ÂÀ‘ÂÀ‘Âà‘Â@$‘ -‘Â7‘Â7‘Â@=‘€C‘€C‘€C‘ :‘Â`@‘ÂÀI‘Â@V‘ S‘Â`Y‘ÂP‘ÂP‘Â`@‘Â`@‘Â`@‘€C‘ÂàL‘ S‘ÂÀb‘ÂÀb‘ l‘ l‘Â@o‘ l‘Âàe‘Â@o‘ l‘Â@o‘Â`r‘ x‘ÂÀ{‘ …‘Âà—‘ÂÀ”‘Â`‹‘Âà~‘ …‘ x‘ l‘Â`r‘Âà~‘ÂÀ{‘ …‘ÂÀ”‘Â@¡‘ ž‘€§‘€§‘Â`¤‘ ž‘€§‘Â`½‘Â`½‘ ÑÂ@º‘ ·‘ ·‘ ·‘´‘Â`½‘ ·‘€À‘Â`½‘ ÑÂàÉ‘Âàɑ€À‘Âàɑ€ّÂÀß‘Âæ‘Â@ì‘ é‘Â@ì‘Â`ï‘Â@ì‘ é‘ é‘ é‘ é‘Âæ‘ é‘Â`ï‘€ò‘ é‘Â@ì‘Â`ï‘Â`ï‘Âÿ‘Â`’ ’Âÿ‘Â@’Â`’ ’Â@’ ’Â@’ '’ '’Â@’€$’Â’ÂÀ’ ’ ’ ’ ’€$’Â1’Â@7’Âà-’ 4’Â@7’Â`:’ÂÀC’ÂÀC’ÂàF’ M’Â@P’ÂàF’ÂÀC’ÂJ’ M’ M’ M’ M’ M’ Y’ Y’ÂÀ\’Âc’ Y’ M’ Y’Âc’Â`l’ f’Â@i’€o’€o’Âàx’ r’Â`…’€ˆ’Â`…’ ’Â|’Â@‚’Âà‘’Â`…’Â@‚’ ’Â`…’ ’Â|’ÂÀu’Â@‚’ ’Â|’€ˆ’ ‹’€ˆ’Âà‘’Âà‘’Â ‹’ ˜’ ˜’ ˜’ ¤’ÂÀ§’Â઒Â@´’Â@´’Â@´’Â઒®’€º’Â`·’ ±’®’ ¤’ ¤’®’ ±’Â`·’ ½’ÂÇ’Â@Í’ÂàҀº’ÂàÃ’ÂÀÀ’Â`Ð’ÂÇ’ÂàÃ’ÂàҀº’Â@Í’Â`Ð’ÂÀÙ’ÂàÜ’Â@æ’€ì’Â`é’€ì’Â`é’ ï’Â@撀쒠㒠ã’Â`é’ ï’ÂÀò’ ï’ ï’ ï’ ã’ ã’Â`é’Âàõ’ ü’ÂÀò’€ì’€ì’Â`é’Âàõ’Âàõ’ ü’ “ “ “Âà“Âà“ÂÀ “ “Â`“ “ !“ !“ÂÀ$“ !“Âà'“€“Â`“€“Â@“Â`“ !“Âà'“ÂÀ$“ :“Âà@“ÂD“ G“ G“ÂD“Âà@“ÂD“ G“ G“ÂD“ :“Âà@“ G“Âà@“Â`4“ :“ÂD“ÂD“ G“Â`M“ G“Â@J“Â@J“ G“€P“Â@c“ `“ÂÀV“ÂàY“Â]“ l“ `“Â`f“€i“Âàr“ÂÀo“Âàr“Âàr“€i“Â@c“ÂÀo“€i“ l“Â@c“ÂÀV“ S“ÂàY“ `“ÂàY“ `“ÂÀV“ÂàY“€i“ `“€i“Âàr“Âàr“ÂÀo“ÂÀo“Â`f“ÂÀo“Âàr“ÂÀo“Â`“ y“ y“ y“ y“Â`“Âv“Â`“Â`“Âv“Â@|“€‚“ …“““Â`“ …““Âà‹“Âà‹“Â“Â ’“Â`˜“ ž“Â`˜“Â@•“Âà‹“Â ’“¨“€›“ÂÀ¡“€›“ÂÀ¡“ «“ «“ÂÀ¡“ÂओÂओ€›“ ž“ÂओÂÀ¡“ ’“ ž“ÂÀ¡“ «“¨“ÂओÂ`˜“ ž“ÂÀ¡“Âओ «“Â`±“ «“€›“ ž“¨“Â`±“€´“ ·“ ·“ÂÀº“ ·“ «“€´“ «“¨“ ·“ÂནÂནÂན ·“ ·“Âན€͓€͓Â@Ç“Â@Ǔ ēÂ`ʓ€͓ÂÀӓ€͓ ГÂ@Ǔ€͓ ГÂàÖ“ÂàÖ“Â@à“Â@à“Âړ ГÂÀÓ“ÂàÖ“ÂÀÓ“ÂàÖ“ÂÚ“Âà֓ ГÂÚ“Âړ ГÂàÖ“Âà֓ ГÂÀÓ“Â@à“ÂÀì“Â@ù“Â@ù“ ö“ é“ÂÀì“ é“ é“Â`ã“ ݓÂ`㓠铀擀æ“Âàï“Â`ü“Âà” ”Â@”Â@”Âà”Âà” ”€” ” ”Âà” ” ” ” ” ”€” ” ”Â`.”Â@+”Â@+”Âà!”Â@+” ”Âà!”Âà!” ” ”€”Â@”ÂÀ”Â%” 4”ÂÀ7”Â@D” A” A”Âà:” A”Â@D”Â`G”€J” A”€J”ÂÀP” M” M”Â`G” M”ÂÀP”ÂàS”ÂàS”Â``”€c”ÂÀP” M”Â`G”€J”Â>” A”ÂàS”€J”ÂàS”Â`G” M”ÂàS”Â``” Z”ÂàS” M”Â@]”ÂW” Z”ÂàS” f”Âàl” s” s”Âp”Âàl”Âp”Â`y”Â`y”Âàl” f”Âàl” f”Âp” f”Âp”€|”ÂÀ‚” ”Âà…”Â ”ÂÀ‚” ”Â`y” s” s”Âàl”Âp”Â@v”€|”Âàl”Â@v”Â`y”ÂÀ‚”Âà…”Â@”Â`’”Â@”‰” Œ”‰”ÂÀ‚” ” ” Œ”Âà…”Â@v”€|”€|”Â@” Œ”ÂÀ‚”Â`y”Â`y”Âà…”Â€|” s”€|” ”€|” ”Âà…”Â ” Œ” Œ” Œ”Âà…”Â‰”Â@” Œ”‰” Œ”€•” ˜”‰” Œ” Œ”Âàž”Â@¨”Â@¨”¢” ˜” ˜” Œ”Â@” Œ” Œ”Â`’”Â@” ˜”Â@” Œ”Â`’”Â`’”Â`’” Œ”€•”¢”Â`«”Â`«”ÂÀ´”¢” ˜”€®” ±” ±” ¾”Â@Á” ±”Â@¨”¢”Â`«”ÂÀ´”Â`«”Â`«”€®” ±” ¥”¢” ¥”ÂÀ´” ±”Âු ¾” ±” ¾” ¾” ¾”ÂÀ´”»” ¾”€ǔÂàД ʔ€ǔÂ`Ä”Â`Ä”Â`Ä”Â@Á” ʔÂ`Ĕ ±”€®” ±”Â`Ä”Â`Ä”Âà·”Âු»” ¾”ÂÀ´”Â`«”Â`«”Âà·”ÂÀ´” ±” ±”Â`Ĕ ¾” ¾”Â@Á”ÂÀ´”Âු»”Âු»”»” ʔ ¾”Â`Ä”Â`Ä”Â@Á” ¾” g˜Â ­¶Â€~΀ÏÍÂàÏÂÂÀ~¶Â ˜«Â²¢Â€›Â ö•ÂÀ¬ÂÀ;VÂlÂ@IÂê€<òÁ€½ÁáaÁ0r¿R}AÀFBþ?B€ÖiB`‡BZ‡B€ã‡Bž„BÀd}B/nB@]B€,KBA9BÀ¿'B€íB€BOñA€€ÖA¿½AI§A€¡’AFA [AÄ8A,A²í@Ú¬@ÌX@¯?/¿„2À¤œÀÈáÀDÁ…6Á­YÁŠ|Á€Á€˜ Á€¯±Á€”ÂÁ€GÓÁŠãÁ€6óÁ@RÂ@¾Â@­€%ÂÀ Â@¾!Âå&ÂÀ§+ÂÀÁ/ÂÀw3€Ã6ÂÀÐ9ÂÀs<ÂÒ>Â@å@Â@ÙBÂÀŽD€1FµGÂÀ IÂÀQJÂkKÂ@„LÂ@—M‹NÂSOÂPÂÊPÂÀrQÂ@RÂ@«R€GSÂÀÊSÂNT€×TÂ@5UÂÀ¾UÂVÂÀmV€ËVÂ@)WÂ@tWÂÀ²WÂÀËWÂÀX€[XÂ@ XÂÀÅX€ñXÂ@6YÂÀtYÂ@šY€¹Y€ëYÂZÂCZÂÀnZÂÀ ZÂ@ÆZÂ@øZ€0[ÂÀO[ÂÀ[¡[¡[ÂÓ[Â@ò[€\Â7\Â@V\Â@o\Â@¡\ÂÍ\Â@]ÂÀ*]Â@P]Âc]Â@‚]Â@›]Â@Í]Â@ÿ]ÂÀ ^ÂÀ$^ÂÀ=^Â@|^€‚^Â@®^Â@Ç^ÂÚ^ÂÀ_Â@_Â>_€c_ÂÀ›_ÂÀ›_€Ç_Âí_Â`Â@W`€v`µ`ÂÎ`Â@í`ÂÀ+aÂÀDaÂÀ]aÂ}aÂ@œaÂÈaÂÀóaÂbÂ,b€8bÂÀWbÂ@}bÂ@¯bÂ@ÈbÂ@Èb€çb cÂÀ8cÂ@^cÂÀƒc£c¼cÂ@ÛcÂ@ôcÂÀdÂ9dÂÀ2dÂRdÂ@Šd€ÂdÂÀádÂeÂÀeÂ3eÂ@ReÂÀweÂÀeÂ@¶eÂÀÛeÂÀôe€f€ fÂFf€kfÂ@—fÂÃf€èfÂ@âf€g€3gÂ@_gÂÀ„g¤g€ÉgÂ@õg€h€-hÂÀ3hÂÀehÂlh€xhÂ@¤h€ÜhÂÀûhÂ4iÂ@SiÂ@SiÂ@li˜iÂÀªiÂ@·iÂ@Ði€ïiÂüiÂÀ'jÂ`j€…jÂÀ¤j€·jÂ@±jÂÝjÂ@üjÂÀ!kÂ(kÂ@.kÂÀSkÂÀ…kÂÀžk¾kÂ@ÝkÂ@ökÂ@(lÂÀMlÂmlÂ@ŒlÂ@¥lÂ@¾lÂ@ðlÂ@ mÂ5mÂÀ`mÂgmÂgmÂÀ’mÂ@ŸmÂ@ÑmÂÀömÂÀn€"n€;n€TnÂÀsn€†nÂ@™nÂ@ËnÂ÷nÂ@oÂÀ"oÂÀ"oÂ@aoÂtoÂÀ†oÂÀŸo¦oÂ@ÅoÂØo€äoÂÀêoÂ@pÂÀ5pÂÀ€pÂÀ™pÂ@¿pÂ@ØpÂÀýp€qÂÀ/qÂÀaq€qšqÂ@¹qÂåqÂÀ÷qÂ@r€#rÂ@OrÂÀ[r€nrÂ{rÂ@šrÂ@³rÂ@ÌrÂ@årÂ@sÂ*sÂÀyÂÀJyÂQyÂ@pyœy€¨y€ÁyÂ@íyÂzÂ@8zÂÀ]zÂ}zÂ@ƒz–z–zÂÀ¨zÂ@µz€Ôz€ízÂ{ÂÀ%{€8{Â^{Â{Â@¯{Â@È{€Î{ÂÛ{Â@á{Â@ú{Â@|ÂÀ|Â@,|Â@E|€d|Š|ÂÀµ|€á|€ú|Â@ }Â@&}Â@?}€E}ÂÀK}Â@q}„}ÂÀ–}€©}€Â}Â@î}ÂÀ~Â@ ~€&~€?~€X~ÂÀw~€Š~Â@~€¼~€Õ~€Õ~Â@Ï~€î~ÂÀ ÂÀ Â@3ÂÀXÂ@eÂ@~Â@—ÂÀîÂÀ€Â €Â€€ÂÀ€Â #€Â /€Âà5€Â H€ÂÀK€ÂàN€Â`[€Â a€Âàg€Âà€€Â ‡€Âà™€Â€©€Â@¼€Âàˀ€ۀÂàä€Â`ñ€Â@î€Â€ô€Â ÷€Â€ ÂÀ   ) 6 O OÂ@RÂeÂÀw €ŠÂà“Â` Â ¦Â@¶ÂàÅ€ÕÂâ ñÂÀô þ  ‚ ‚ ‚ #‚ #‚Â@3‚Â`6‚ÂF‚ I‚€R‚ b‚ÂÀq‚Âàt‚ {‚ ‡‚€‚  ‚ÂÀ£‚Âংª‚ ¹‚ ҂ ҂ ߂ ߂Â`å‚ ë‚ ë‚ ø‚Âà ƒÂà#ƒÂ`0ƒÂÀ9ƒÂà<ƒÂ@FƒÂ OƒÂYƒÂÀkƒÂànƒÂ`{ƒÂÀ„ƒÂà‡ƒÂ ŽƒÂ€—ƒÂ€°ƒÂ€°ƒÂ@à̃Â`߃ òƒÂ òƒÂ òƒÂÀ„„Âà„„€„ „Â!„ $„ 0„ =„ I„Â@Y„ÂÀe„€x„ ˆ„Â`Ž„Â€‘„ ¡„Â`§„Â`§„€ª„Â`À„ÂÀɄ ƄÂ@ք ߄Âàå„ ì„ÂÀû„€… … *…Âà0… 7…€@…€@…ÂÀF… P… P…Â`V… i…€r…Â… ‚…Â`ˆ… ›… ›…Â@ž…Âà­…Â ´… À…ÂÀÅ À… ͅ ͅÂàß…Â@é… ÿ…  †Â`†Âà*†Â.†Â 1†Â€:†Â =†ÂàC†ÂàC†ÂG†Â V†Âà\†Â o†Â o†Ây†Âàu†Ây†Âàu†Âàu†Âàu†ÂÀ‹†ÂàŽ†Â`›†Â ®†Â৆€·†Â º†Â`͆ džÂƀІÂ`æ†Â ì†Â`ÿ†Â‡Â ‡Â@‡Â€‡ÂÀ!‡Â ‡Â ‡Â€4‡Â D‡Â D‡Â 7‡Â`J‡ÂÀS‡ÂàV‡ÂZ‡Â€f‡Â v‡Â v‡ÂÀ…‡Â€‡ÂÀ…‡ÂÀ…‡Âàˆ‡Â@’‡Â ¨‡ÂÀ·‡Âງ Á‡Â`LJ ڇÂ`à‡Â`à‡Â`à‡Â€ã‡Âàì‡Â ó‡Â`ù‡Â ó‡Â ˆÂàˆÂ`+ˆÂà7ˆÂ >ˆÂ JˆÂ JˆÂàPˆÂ`]ˆÂÀfˆÂ pˆÂ |ˆÂ |ˆÂ@ŒˆÂ ¢ˆÂ€’ˆÂ •ˆÂ ¢ˆÂŸˆÂ ®ˆÂ¸ˆÂ »ˆÂ ÇˆÂÀʈÂ@׈ÂшÂ@׈Â@ðˆÂàÿˆÂàÿˆÂ` ‰Â@ ‰Â ‰Â€‰Â€‰ÂÀ‰Â ‰Â ‰Âà‰Â@"‰ÂÀ.‰Â 8‰Â@;‰Â@;‰ÂàJ‰Â Q‰ÂN‰Â`W‰Â`W‰Â ]‰Â ]‰Â€s‰Â€s‰Â€s‰ÂÀy‰Â`‰‰Â€Œ‰Â`‰‰Â@Ÿ‰Â@Ÿ‰Â ¨‰Â`»‰Âàlj ΉÂàà‰Â ç‰Âä‰Â ó‰Âàù‰Â ŠÂ ŠÂ€ ŠÂ  ŠÂÀŠÂàŠÂ  ŠÂ ŠÂŠÂ/ŠÂ >ŠÂàDŠÂàDŠÂ`QŠÂ WŠÂ WŠÂaŠÂ dŠÂ`jŠÂÀsŠÂàvŠÂ pŠÂ€mŠÂÀsŠÂ€†ŠÂ“ŠÂ“ŠÂ ‰ŠÂ –ŠÂ ¢ŠÂÀ¥ŠÂ@²ŠÂ`µŠÂ ¯ŠÂ@²ŠÂ`µŠÂàÁŠÂ ÈŠÂ`ΊÂ`Ί ԊÂ@äŠÂ`çŠÂ€êŠÂÀðŠÂ`çŠÂÀðŠÂ íŠÂàóŠÂ@ýŠÂà ‹Â ‹Âà ‹Â ‹Â ‹Â)‹Âà%‹Âà%‹Â`2‹Â€5‹ÂÀ;‹ÂÀ;‹Â€N‹ÂàW‹ÂàW‹Â[‹Â[‹Â ^‹Â j‹Â€€‹ÂÀ†‹ÂÀ†‹Âà‰‹Âà‰‹Â`–‹Â`–‹Â¦‹Â ©‹Â@¬‹Â ©‹Â ©‹Â@¬‹Â µ‹Â ‹ ΋¿‹ÂÀ¸‹Â@Å‹ÂØ‹Â€ä‹Â ç‹Â€ä‹Â€ä‹Â ç‹Â ç‹Â ç‹Â€ä‹Â ŒÂ ŒÂ ŒÂ€ý‹ÂÀŒÂ@ŒÂ@ŒÂ`ŒÂ`ŒÂ ŒÂ &ŒÂ€/ŒÂ ?ŒÂ ?ŒÂ ?ŒÂÀNŒÂ KŒÂ KŒÂ€aŒÂ€aŒÂÀgŒÂ qŒÂ qŒÂ qŒÂ`wŒÂ`wŒÂ`wŒÂ qŒÂàƒŒÂÀ€ŒÂ€“ŒÂ –ŒÂ`ŒÂ ¯ŒÂൌ¹ŒÂ¹ŒÂ@¿ŒÂàΌ Ռ Ȍ ¼ŒÂ€ÅŒÂ ÈŒÂ@ØŒÂÒŒÂ`ÛŒÂ@ØŒÂÀäŒÂ€÷ŒÂ úŒÂ ÂàÂÂ@ ÂàÂàÂ@ ÂàÂ`    ,Âà2ÂÀ/Â@< EÂ@<Â6Â`? E EÂàKÂ@UÂ@n w „€t€tÂ@nÂ`qÂÀz kÂà}Âà} „ „Â@‡Â Â`ŠÂÀ“Âà–Â@ Â`£Â`¼Â Â€¿Â Â ¶Â ¶Â ¶Â`¼Â Ï ÏÂÀÞ ÏÂàáÂ@ëÂ`îÂÀ÷ ô ŽÂ ŽÂ€ ŽÂàŽÂ`ŽÂ ŽÂ  ŽÂ@ŽÂ &ŽÂ 3ŽÂ@6ŽÂ`9ŽÂ€<ŽÂ 3ŽÂ@6ŽÂà,ŽÂ0ŽÂàEŽÂ`RŽÂÀ[ŽÂ eŽÂ@hŽÂ eŽÂ XŽÂà^ŽÂbŽÂ€nŽÂ€nŽÂÀtŽÂÀtŽÂ@ŽÂàwŽÂàwŽÂ ~ŽÂàŽÂ”ŽÂ`ŽÂ`ŽÂ —ŽÂ —ŽÂ@šŽÂ —ŽÂ £ŽÂ­ŽÂ °ŽÂ °ŽÂàÂŽÂ`ώ Վ€ҎÂàÛŽÂߎÂÀØŽÂàێ€ëŽÂ€ëŽÂ€ëŽÂ@åŽÂ îŽÂ îŽÂàôŽÂ îŽÂ`èŽÂ îŽÂ ûŽÂ€€ Âà  Âà ÂÀ Â@Âà  Âà& -Â@0Âà?ÂÀ<Âà?Â`3Â@0ÂÀ<Âà? F F FÂ\Â@b€h k€h _ kÂÀn kÂ`e kÂàqÂ@{Â@{€ „ÂàŠÂ`— Â@”ÂÀ Âà£Â ªÂ§Â@­Â ªÂ`°Â€³ÂÀÂà¼Â ¶Â ÃÂ`ÉÂ@ÆÂ`É ÃÂÀÒ ÜÂ`ÉÂÀÒ ÜÂ`â Ü èÂàî õÂ`û ÂàÂàÂÀÂà €þÂà  ÂÀÂà ÂÀÂ@€ ÂÀÂ` Âà €0Â`- 3Â@*Â`-Â`-ÂÀ6Â=Â`FÂ`F L YÂàRÂVÂÀO LÂàRÂàRÂVÂÀO YÂ`_€bÂàkÂ`_ÂàkÂo r€{ r r rÂo rÂ`x ~Âà„Âà„Â`‘ ‹Â —Â`‘Â@ŽÂ€” — —Â`‘ÂÀšÂàÂ@§Â@§Â€­ÂºÂà¶Â@ÀºÂà¶Â °Âà¶Â ÉÂàÏÂ@Ù â â âÂÓ ÖÂ`Ü Ö Ö âÂì€øÂÀþÂ@òÂ`õ ûÂÀþ û€øÂ û û ûÂÀþÂ`‘‘Â`‘€‘Â`‘Â`‘Âà‘‘Â`'‘Â`'‘ !‘Â@$‘ !‘‘ ‘Âà‘‘Â`'‘ -‘Â7‘€C‘ F‘ÂàL‘ F‘ÂÀI‘ÂP‘ÂP‘Â`Y‘ S‘ÂàL‘ F‘Â@V‘€\‘ _‘€\‘ _‘Â`Y‘Âàe‘ l‘ l‘Â@o‘ x‘€u‘Â@o‘€u‘€u‘€u‘Â@o‘ÂÀ{‘Âà~‘Âà~‘‚‘Âà~‘‚‘ ‘‘Â`‹‘‚‘ x‘ …‘ …‘Â`‹‘ …‘ ‘‘›‘ ž‘ ª‘Â఑´‘ ·‘ ·‘ Ñ БÂÀÆ‘Âàɑ Ñ ÑÂàÉ‘ÂàÉ‘ÂÀÆ‘Âàɑ БÂàÉ‘ÂàÉ‘Âàɑ Ñ Ñ ÑÂÍ‘Â@ӑ Б БÂ@ӑ€ّÂÀߑ ܑÂàâ‘Âàâ‘Âàâ‘Âæ‘ÂÀߑ é‘ õ‘ é‘€ò‘Âàû‘ ’€ ’€ ’Â`’ ’ ’€ ’ ’Â`’Â@’Âàû‘Â`’€ ’Â`’ ’Âà’ ’Â’ ’ ’ ’ÂÀ’Âà’Âà’Âà’Â@’Â@’Â`!’ '’ 4’ 4’Â`:’ÂJ’ÂJ’ÂàF’ÂàF’Â@P’ M’€V’Â`S’Â`S’ÂÀ\’Âà_’Âc’ f’Âà_’Â`l’ f’€o’Âc’Âà_’ f’ÂÀu’ÂÀu’Â|’Â|’Â|’ÂÀu’€o’ r’Â`l’Âàx’ ’Â@‚’ ‹’ÂÀŽ’Â ‹’€ˆ’Â`…’Âà‘’Â ˜’ÂÀŽ’Âà‘’Â€¡’€¡’ ¤’ ˜’ ˜’Â`ž’ ˜’€¡’ ˜’Âà‘’Â ˜’ ˜’€¡’Â઒ ±’ÂÀÀ’ÂàÒ ʒ ½’€º’Â`·’Â`·’€º’Â@´’®’Â઒Â@´’ ʒ ֒ ã’Â@æ’ÂàÜ’ÂÀÙ’ÂÀْ ֒ÂÀْ€Ӓ€ӒÂàÜ’Â ã’Â`é’Â`é’ ã’ ã’Â`é’ ã’Â@æ’Âàõ’Â@ÿ’Â`“ “ÂÀ “ ü’€“ “ÂÀ ““Âà“Âà“ÂÀ “Â@“Â+“Â`“€“ÂÀ$“Â+“Â`4“Â+“Â`“ !“ !“ÂÀ$“Âà'“Âà'“Â+“ .“ !“Â@1“Âà@“ G“Âà@“Â`M“ S“ G“ :“€7“ G“Â`M“ G“Âà@“ :“ :“ÂÀ=“Â`M“Â`M“ÂàY“ÂàY“ÂàY“Â]“ `“ÂàY“ S“Â`M“ G“ S“ÂàY“Â@c“€i“Â`f“Â@c“Âàr“ l“Â`f“Â@c“Âàr“€i“Âàr“Â@|“ …“Â`“Â@|“€‚“ y“ y“€‚“ y“Â@|“Â`“ y“ l“ÂÀo“ y“ …“ …“Âà‹“Â“Â`˜“ ž“ÂÀ¡“ÂओÂ@•“€›“ ž“ «“€´“ÂओÂ@®“¨“ ž“¨“ ž“Âओ «“Â`±“ «“ÂÀ¡“ «“ÂÀ¡“Âओ€´“ ·“€´“ÂÁ“ ēÂ@Ǔ€͓€͓€͓ Г€͓ Г ГÂà֓ Г Г ГÂ`ã“€æ“Â`ã“Â@à“Âà֓ Г ГÂÚ“Â`ã“ÂÀÓ“Âړ€æ“ ö“ é“ÂÀì“ÂÀì“Â`ã“ é“€æ“Â`ã“€æ“Â@à“ é“€æ“€æ“ ö“ ö“Â@ù“€ÿ“ ”Â@”ÂÀ”ÂÀ”Âà”€ÿ“ ”Âà” ”Âà” ” ” ” ”€”Â@”Âà”ÂÀ”Âà”ÂÀ”Â@” ”Â`” ” ” ” ”ÂÀ”€” ” ” ”€”ÂÀ”Âà!”ÂÀ”ÂÀ” ” ”Â`.”€1” 4”Â`.” (” (” (”Âà!”ÂÀ”Â%”Â%” (”Â%”Â`.”€1”€1” 4”€1” 4” A” A”Â`G”Â>” A”Â`G”ÂÀ7” 4”€1” 4” A” A”€J”Â>”ÂÀ7”Âà:”Âà:”Â>”Â`G”Â>”Â`G”Âà:”ÂÀ7”Â>”€J”€J”€J”Â`G”ÂÀP”ÂàS”ÂàS” Z”ÂW”ÂW”ÂàS” M”ÂàS”ÂàS”ÂW”ÂàS” Z” Z”ÂÀP”ÂàS”ÂàS” M”ÂÀP”ÂàS”ÂàS”ÂàS” Z” Z”Â@]” M” M” M”ÂW”ÂàS”ÂàS”Â``”ÂàS” Z”Â@]”ÂàS”€c” Z” Z” f”Âp” s”Âp”Âàl”Âp” s”Âàl”Âàl”Âàl”Âàl”ÂÀi”€c”€|”Â`y” s”Âàl”Âp”Âàl”Â@v”Â`y”Â`y”Âp”€|” ”Â`y”Â`y”Âà…”Â`’”Âàž”Â Œ”Âà…”Â`’”Â@” ˜”ÂÀ›” Œ” ” s”Âàl”Âp”€|”€|”Âà…”Â Œ”Â`’” Œ”‰” ˜”Â@”Â@” ˜”Â`’”Â`’”‰”Âà…”Âà…”Â`’”Â`’”Â@” ˜”€•” ˜”€•”Â`’”€•”€•” ˜”Â`’”€•” ˜” ¥”ÂÀ›” ¥”€®” ¥”ÂÀ´”Â@¨”€®”€®”Â`«”Â`«”€®”€®” ¥”€®”Â`«”€®”Âු»”Âු ¾”€ǔ€ǔÂÀ͔€ǔÂ@Á” ¾” ¾” ¾”€ǔÂ`Ĕ€ǔ ʔÂÀ͔ ʔÂàДÂàДÂàД הÂàДÂ`Ĕ ¾” ʔÂÀÍ”ÂàД ʔÂÔ”ÂÔ”Â@ڔ ã”ÂÀæ” ã”€à” ã” ã”Â@Ú”Âàé” ð” ð”Âàé” ð” ü” ü”•Âí”Â@ó”Âí”Âàé”ÂÀæ”ÂÀæ”Âàé”Âàé”Âàé”Â@ó” ð”Â@ó”Â`ö”Â@ ••Âà•ÂÀÿ” ü”€ù” ü”€•Â`• ü”Â`ö”Âà• • • • •Â`•Â`•Â`•Â`• •ÂÀ• "•Âà•• "•Â`(• "•Âà•••Â`(•Â@%•Â@%•• "•••Â@%•ÂÀ1•Â8• ;•Â`A•Â`A• ;•Âà4•€+•Â@%••Âà•Â@%•Â`(• .•Â`(•Â@%•Â@%•€+• .•Â`(• .•Âà4• .•Â8•Â8• ;• G•€D•ÂàM•ÂÀJ•Â`A• G•ÂàM• ;• ;•Â@>•Â`A•Â8•ÂÀ1•Âà4• ;•Â@>• ;•Â8• ;• ;•Â`A• ;•Â8•Â`A•€D•€D•€D•Â@>•Â`A• G•ÂàM• G• G•Â`A•€D•Â`A• G• G•€D• G• G•ÂQ•Â@W•€]•€]•Â`Z•€]•€]•ÂÀc•ÂàM•ÂQ•ÂàM• T•ÂàM• T•Â`Z• T• T• T•ÂàM•Â@W•€]• T• `•Â`Z•ÂàM•ÂàM• G•ÂàM•ÂàM•€D•ÂQ•€D•Â`A•€D•ÂàM• G•ÂàM• G•€D•Âî˜Â C·ÂÏÂ`bÎÂÀ{à·Â`4¬Â`8£Âà#œÂ€‰– ŽÂ#W€ÖÂÀuÂ@þÂ@耒ÓÁߎÁpÆÀ®AäÔA€*B@IZB€vyB€õ„BZ‡B€Y…B€^€BßrB€œbB€QB€?B@]-B€eB€z B€ûA»ßA>ÆA¯A€Û™AG†A:hA FAÒ%A`AÍ@þ@°@ÀÁ>¨Þ¿´uÀ6¿ÀÉÁz#Á•DÁfÁ€âƒÁ€|”Á ¥Á€3µÁDÅÁ€TÕÁ€ôäÁ€0ôÁ@RÂ"ÂÀ¦Â@óÂÀÛ€M €a%ÂÀþ)Â@W.€E2Â@ª5ÂÀÖ8€Œ;€ý=€#@ÂÀBÂÀßCÂÀoE€àFÂÀDHÂwIÂ@©JÂÀ¯KÂ@„LÂ_MÂ@N½N€_OÂ@ïO€‹P€QÂÀ‹QÂ@ãQÂsRÂ@öRÂ@sSÂTÂ@TTÂ@ŸTÂýTÂ@gUÂÅUÂ@ýUÂÀTVÂ@“V¦VÂ@ÅVÂ@÷VÂÀWÂ@[WÂ@WÂ@¦WÂëWÂ@ XÂ@UXÂÀzX€X€¿XÂÀ÷XÂ@YÂ@6Y€nYÂÀ¦YÂÀØY€ZÂÀ{ÂÀW{€ƒ{Â{ÂÀ»{ÂÀÔ{€Î{ÂÀÔ{€Î{Âô{Â@|ÂÀ|€2|Â@E|Â@^|Â@w|€–|ÂÀµ|ÂÕ|ÂÀç|Â@ }ÂÀ2}€E}ÂR}Â@q}„}Â@Š}€}Â@¼}€ô}ÂÀ~ÂÀ~Â@ ~€?~ÂL~Âe~Â@„~Â@¶~Â@¶~ÂÉ~ÂÀÛ~ÂÀÛ~Â@è~ÂÂ-ÂÀ&ÂÀXÂÀq‘‘Â@°ÂÃÂ@âÂ@ûÂ@ûÂ@ €Â €Âà€Â €ÂÀ2€Â@?€Â <€Â H€Â U€Â€^€Â n€Â n€Â€w€Â “€Â  €Â ¬€Â ¹€Â ¹€Â Å€ÂàË€ÂÀá€Â`ñ€ÂÂà€&Â3€&Âà/ÂàH€XÂÀ^ h t  €ŠÂ Â` Â°Â@¶Â`¹Â Ì åÂÀôÂà÷  ‚Âà‚€ ‚ #‚ #‚Âà)‚Â`6‚ÂF‚ I‚Â_‚Â`h‚Âàt‚ ‡‚  ‚ÂংÂ@°‚Â@°‚ ­‚ ¹‚ ƂÂÀÕ‚Â ß‚Â`å‚€è‚Âàñ‚€ƒÂ@û‚ÂÀƒÂ ƒÂ ƒÂà#ƒÂ€3ƒÂ@ƒÂ 6ƒÂ@ƒÂàUƒÂ`bƒÂ hƒÂ hƒÂ@xƒÂ`{ƒÂÀ„ƒÂ ŽƒÂÀƒÂà ƒÂ`­ƒÂ½ƒÂ ÀƒÂ`ƃÂÀσÂ`߃ÂàëƒÂ òƒÂ òƒÂ€ûƒÂ „Â`„€„Â`*„€-„Âà6„ÂàO„€_„Âàh„ o„ {„Â`u„ ˆ„Âà„ ”„ž„ÂÀ°„ÂÀɄ€Ä ӄ€܄Âàå„Â`ò„€õ„Â… … …Âà… …Â`$… 7…Â@:…€@…ÂàI…€Y…Âf…Â`o… i…Â`o…Â`o… i…Â@……ÂÀ‘…Âà”…Â`¡… ´…Â`º…ÂàÆ…ÂÀÅ م مÂ`ì…Â`ì…Âü… ÿ… ÿ… ÿ…  †Â †ÂÀ'†Â`7†Â =†Â`P†ÂÀY†Â c†Â`i†Â o†ÂÀr†Â |†Â€…†Â`‚†Ây†Â`‚†Â ˆ†Â€ž†Â ¡†ÂÀ¤†Â º†Â º†Â º†ÂàÀ†Â@ʆÂàò†Â ù†Â`ÿ†Â`ÿ†Â ‡Â ‡Â ‡Â ‡Â@‡Â +‡Â +‡Â 7‡Âà=‡Â 7‡Âà=‡ÂÀ:‡ÂA‡Âà=‡Â€M‡Â@`‡Â i‡Â v‡Â`|‡Âàˆ‡ÂÀ…‡Â`•‡Â¥‡Â ¨‡Â ´‡Â ´‡Â€±‡Âງ ͇ ͇ Á‡Â Ú‡ÂàӇ€ã‡Â æ‡Â ó‡Â@ö‡Â€ü‡ÂàˆÂ ˆÂ ˆÂ %ˆÂ€.ˆÂ 1ˆÂ >ˆÂ >ˆÂ@AˆÂàPˆÂ WˆÂ WˆÂ€`ˆÂ`]ˆÂ pˆÂ@sˆÂ |ˆÂ†ˆÂ •ˆÂ •ˆÂà›ˆÂŸˆÂ`¨ˆÂ ®ˆÂ€«ˆÂ ®ˆÂ ®ˆÂഈ LjÂшÂÀãˆÂ íˆÂ`óˆÂ€öˆÂ ùˆÂ ùˆÂàÿˆÂ` ‰Â ‰Âà‰Â‰Â@"‰Â`%‰Â +‰Â 8‰Â@;‰Â€A‰ÂÀG‰Â`W‰Âàc‰Â`p‰Â`p‰Âàc‰Â v‰Â ƒ‰Â ‰Â ‰Â€Œ‰Â ‰Â€Œ‰Â™‰ÂÀ«‰Â`»‰Â€¾‰Â Á‰Â µ‰Â`»‰ÂÀĉÂàlj€׉Âä‰Â ç‰Â ó‰Âý‰Â ó‰Âàù‰Â ŠÂ€ ŠÂ  ŠÂ %ŠÂ`ŠÂ/ŠÂ€"ŠÂÀ(ŠÂà+ŠÂ@5ŠÂ@5ŠÂ >ŠÂ KŠÂ WŠÂà]ŠÂ@gŠÂÀZŠÂ€mŠÂ@gŠÂ dŠÂà]ŠÂ WŠÂÀZŠÂ WŠÂ KŠÂ`QŠÂ KŠÂ`QŠÂ€TŠÂ KŠÂ@NŠÂÀZŠÂaŠÂ WŠÂ KŠÂ KŠÂàDŠÂ@NŠÂ@NŠÂ€TŠÂÀZŠÂ WŠÂ`jŠÂ€mŠÂ pŠÂ pŠÂ€mŠÂzŠÂ@€ŠÂ@€ŠÂzŠÂ pŠÂ`jŠÂ€mŠÂ }ŠÂ ‰ŠÂ ‰ŠÂ ‰ŠÂ“ŠÂ –ŠÂ ¢ŠÂ ¯ŠÂ@²ŠÂਊ »ŠÂ€¸ŠÂ€¸ŠÂ Ȋ ԊÂàÚŠÂàÚŠÂ áŠÂ áŠÂàÚŠÂÞŠÂ áŠÂ€êŠÂÀðŠÂ ‹Â@ýŠÂ ‹Â ‹Â€‹Â€‹Â`‹Â€‹Â ‹Â@‹Â ‹Â`‹Â@‹Â@‹Â`‹Â`‹Âà%‹Âà%‹Â ,‹ÂÀ"‹Â ,‹Â@/‹Â`2‹ÂÀ;‹Âà>‹Â€5‹Â€5‹Â`K‹Â€N‹Â€N‹ÂÀT‹Â`d‹Â€g‹Â`d‹Â w‹Âàp‹Â w‹Â€€‹Â`}‹Â`}‹Â w‹Â ƒ‹Â@“‹Â@“‹Â‹Â‹Â œ‹Â œ‹Â ©‹Â µ‹Â¿‹Â`ȋ€ˋ ΋ ΋Â@ŋ ‹ ‹Â`ȋ¿‹Â@Å‹ÂØ‹Âàԋ€ä‹Â ç‹Â ô‹Â ô‹Âàí‹Â`ú‹Â`ú‹Â`ú‹Â ŒÂàŒÂ ŒÂ@ŒÂ ŒÂ`,ŒÂ 2ŒÂ 2ŒÂÀ5ŒÂ &ŒÂ`,ŒÂ€/ŒÂ@)ŒÂ 2ŒÂ`,ŒÂ 2ŒÂ ?ŒÂÀNŒÂàQŒÂÀNŒÂàQŒÂ XŒÂ XŒÂ€aŒÂ dŒÂàjŒÂÀgŒÂàjŒÂÀgŒÂÀgŒÂ qŒÂ`wŒÂàƒŒÂ –ŒÂ –ŒÂ £ŒÂàœŒÂ`ŒÂ€“ŒÂ –ŒÂ ŒÂ £ŒÂàœŒÂ€“ŒÂ`ŒÂÀ™ŒÂ £ŒÂ`©ŒÂ€¬ŒÂ ¼ŒÂ ¼ŒÂÀËŒÂÀËŒÂÒŒÂàÎŒÂÀËŒÂ@ØŒÂ@ØŒÂàÎŒÂàΌ Ռ ՌÂÀËŒÂÀËŒÂÒŒÂ@ØŒÂàçŒÂ`ôŒÂ úŒÂÂ`  ÂÀ Â@# Â@# ÂàÂÂ`&Â6Â`&Âà2ÂÀHÂO€[Â`X RÂ@UÂ`XÂOÂOÂOÂ`XÂÀaÂÀaÂ`qÂà} „Â@‡Â`ŠÂà–šÂ`£Â`£Â³Â ©Â€¦ÂÀ¬Â€¦Â@ Â@ Â`£Â@¹ÂÀÅÂÀŠ ÂÂàÈÂ@Ò€ØÂåÂåÂ`Õ ÛÂàá€ØÂ`Õ ÛÂåÂ@ëÂ`î ôÂàúÂÀ÷Â@ŽÂ  ŽÂ  ŽÂŽÂàŽÂ ŽÂàŽÂ` ŽÂ€#ŽÂ`9ŽÂ ?ŽÂ LŽÂàEŽÂ ?ŽÂ ?ŽÂIŽÂàEŽÂàEŽÂ ?ŽÂ ?ŽÂ ?ŽÂ ?ŽÂÀBŽÂ LŽÂ€UŽÂÀ[ŽÂÀ[ŽÂ eŽÂ@hŽÂ ~ŽÂ`„ŽÂ ~ŽÂ qŽÂ{ŽÂ ~ŽÂàŽÂ€‡ŽÂ ~ŽÂ@ŽÂ ~ŽÂ ŠŽÂ ŠŽÂ`„ŽÂ€‡ŽÂ€‡ŽÂ”ŽÂàŽÂ@šŽÂ`ŽÂ੎ ¼ŽÂ`¶ŽÂ`¶ŽÂÀ¿ŽÂÆŽÂ ÉŽÂÆŽÂ€ÒŽÂ€ëŽÂ`èŽÂ€ëŽÂ îŽÂàôŽÂøŽÂ îŽÂ@åŽÂ`èŽÂ îŽÂÀñŽÂøŽÂ ûŽÂ€€Â`ÂÀ     Â@Â`Âà&Â`€Âà&Â* 9ÂÀ<ÂC F FÂà?Âà? FÂàX R _Â@bÂàX _ k xÂu€h kÂàqÂ@{€Â`~ÂàŠÂ „ x „ xÂ@{ xÂ@{€ÂÀ‡ÂŽÂàŠÂ ‘ÂÀ‡ÂàŠÂ ‘ ‘ÂŽÂàŠÂ ‘€šÂ`—Â`—€šÂ§Â§Â`°Â`°Â`°Â ªÂ ªÂ ªÂ ªÂ€³Â`°Â€³Âà¼ÂÀ Ã ÃÂà¼Â ¶Âà¼Â@ÆÂÀ ÃÂ`É ÏÂàÕÂÀҠ܀åÂàî èÂàîÂàîÂ`â èÂ`âÂ`â õ õ èÂàî èÂòÂàî  Âà  Â@Â@€Â@Â@Â@ Â@€€ Â`€þÂà€ÂÀÂ$  Â$Â$Â@*Â`-Âà9Âà9Âà9 @ @ @ 3€0€0 3ÂÀ6Â@CÂ`FÂÀOÂàRÂàR LÂÀO YÂ@\ YÂVÂVÂVÂàRÂ@\ÂÀh€b€b€b€b YÂàk€bÂàkÂàk e eÂoÂàkÂàkÂ@uÂ@u ~€{ r ~ÂÀÂ`xÂÀh r rÂo rÂ`x rÂ`xÂ@uÂ`x ~Âà„ ‹Â`‘Â@ŽÂ€”Â@ŽÂà¡ÂàÂ@§Â ¤Â ¤Â€­Â`ªÂ`ªÂ °Âà¶Âà¶Â °Â ½Â@ÀÂ`ÃÂÀÌÂÀÌÂÀÌ É ÖÂàè€ßÂ`ÜÂàèÂÀåÂ`ÜÂ`Ü Ö ÖÂ`Ü âÂàèÂ@ò€øÂ ï€øÂ`õ ûÂ`‘Âà‘‘Âà‘ ‘ ‘€‘ ‘ÂÀ‘Âà‘‘ !‘Âà‘ ‘Â`'‘Âà3‘Â7‘Â@$‘ -‘Âà3‘ -‘ :‘ÂP‘ÂP‘ÂP‘ÂàL‘ÂÀI‘ F‘ S‘ S‘Â`Y‘€\‘Â`Y‘Â`Y‘Â@V‘ÂÀb‘ÂÀb‘ _‘€\‘ _‘€\‘ _‘ l‘ x‘Âà~‘€u‘Â@o‘Â@o‘ l‘ l‘Âi‘€u‘Âà~‘ x‘Âà~‘Â`‹‘ ‘‘Â`‹‘Â`‹‘ …‘ÂÀ{‘Â€Ž‘Â ‘‘ ž‘Âà—‘Â ‘‘Âà—‘Â@¡‘Âà—‘Â@¡‘ ª‘ ª‘Â఑´‘ ª‘ ª‘Â`¤‘Â@¡‘Âà—‘Â`¤‘ÂÀ­‘ ·‘Â`½‘Â`½‘ ÑÂÍ‘Âàɑ€ّÂ@Ó‘Âàɑ€À‘ ÑÂÀƑ БÂ@Ó‘ÂÀß‘ÂÀß‘Â`Ö‘Â`Ö‘Â`֑ ܑÂ`ï‘Â@ì‘ õ‘Â@ì‘Âæ‘Â`ï‘Â`ï‘Â`ï‘Âàû‘ ’Â`’Âÿ‘ ’ ’€ ’ÂÀ’Âà’Âà’ ’Âà’Â@’ ’Â@’Â@’€$’Â@’Âà-’ '’€$’€$’ 4’Â@7’ 4’Â`:’ÂÀ*’Â1’€=’Â`:’ @’ÂàF’ÂJ’ÂàF’ M’ÂÀC’Â`:’€=’ 4’€=’ @’ M’ M’ M’Â`S’€V’€V’ Y’ Y’€V’Âà_’Âà_’Âà_’ f’ Y’Â`S’ Y’Â`S’Â@P’Â`S’ Y’Âà_’ f’ r’ r’€o’ r’Âàx’ ’Â`…’ ’Âà‘’Â ˜’Âà‘’Â€ˆ’€ˆ’Â`…’ ‹’Â@‚’Â@‚’Â|’Â|’ ’Â@‚’ ‹’Âà‘’Â€¡’ ˜’Â઒ ±’ ±’ ±’ ¤’ÂÀ§’ ±’Â@´’Â`·’ ½’Â`·’€º’ÂàÃ’ÂàÃ’Â Ê’ÂàÒ ½’ÂàÃ’ÂàҀº’ÂàÃ’ÂÇ’Â`Ð’Â`Ð’ÂÇ’Â`·’Â@´’Â`·’ ½’€º’ ½’ÂàÒ ʒ ֒ ã’ÂÀÙ’ÂàÜ’ÂÀÙ’Â ã’ÂÀÙ’ÂàÜ’ÂÀÙ’ÂàÜ’Â@撠쒀쒠ü’ ü’Âàõ’€ì’ ï’Âàõ’ ü’ ü’ ü’ ï’Â@æ’Â@æ’Âàõ’ ï’ ü’Â@ÿ’ÂÀ “ “ÂÀ “€“ “€“Âà“““ “ “Âà“ !“Âà'“ÂÀ$“Âà'“Âà'“ÂÀ$“ÂÀ$“ !“Âà'“ÂÀ$“ÂÀ$“ .“Â@1“Â@1“ .“ .“Â@1“ .“ÂÀ$“€“Â`4“ .“ .“Â+“ .“ :“ÂD“Âà@“ :“ :“ :“Â`4“Â@1“ :“Âà@“Âà@“ÂD“ S“Â`M“ G“€P“Â`M“€P“ G“ S“Â@J“ S“ G“ÂD“ G“Âà@“Â`M“ S“ S“ `“Â]“Â]“Â]“ÂÀV“ÂàY“Â`f“Âàr“ l“ l“ `“ `“Â@c“Â@c“ÂàY“Â]“Â]“ `“Âàr“ y“ l“ÂÀo“ l“Âàr“Â@|“Âv“Âv“ y“Â@|“Â@|“ l“Âv“Âàr“Â@|“Â`“Â`“ y“Âv“ l“Â`“Â`“Â`“€‚“€‚“Â`“€‚“Â@|“ y“Â`“ y“ …“€‚“Âà‹“ÂÀˆ“Âà‹“Â€‚“Â@|“ÂÀˆ“ ’“ÂÀˆ“ …“Â@•“ …“€‚“Âà‹“Â“ÂÀˆ“ …“Âà‹“ÂÀˆ“ …“Â`“ …“ …“Âà‹“Â@•““€‚“ ’“ÂÀˆ“ …“Â@|“€‚“Â`“ÂÀˆ““Â`˜“Âà‹“Â ’“Â@•“€›“Âओ€›“Â`˜“Âà‹“Â ’“ ž“Â`˜“ «“ «“Â`±“ «“Â@®“ÂÀ¡“ ž“ ·“ ·“ÂÀº“ «“¨“ÂओÂओÂÀ¡“ÂÀ¡“ ·“Âན ē€͓Â`ʓ ēÂན ēÂà֓ Г ē€͓ÂÚ“Âړ Г ݓ ݓ Г€͓Â@Ǔ ·“ ēÂ@Ǔ ēÂ`Ê“ÂནÂ@Ǔ ē ·“ ·“Âན ē Г Г€͓ ē€͓Â`ʓ€͓ ГÂ@Ǔ ēÂÀӓ ГÂ`ʓ€͓ ГÂÀӓ€͓ÂÀӓ Г Г€͓ ГÂÀÓ“ÂàÖ“Â Ý“Â@à“Â`ã“ÂÚ“Â`ʓ ēÂ@Ǔ€͓Â@Ç“Â`ʓ€͓ ГÂ@Ç“ÂÀÓ“Âړ ݓ é“ é“ é“ é“€æ“ ö“Â@ù“Âàï“Âàï“ é“Â`ã“ ݓÂ@à“Â`ã“Âó“ é“Âàï“Âàï“ÂÀì“ÂÀì“ ö“Â`ü“Â`ü“ ö“Â`ü“Â@ù“Â@ù“€ÿ“Â`ü“€ÿ“Âó“Â@ù“Â@ù“ ”Âà” ”Âà” ” ” ” ” ” ” ”Â`”Â`” ”€”Â`”ÂÀ” ”ÂÀ”Âà”€ÿ“ÂÀ”Âà” ”Â@”€”€” (” (”Â%”ÂÀ” (”ÂÀ”Âà!”Âà!” ” ”Â`”€”Â@+”Â`.”Â`.”€1”€1” (”Â%”Â%”€”Â@” ” ” ”€”ÂÀ” (”Â%” (”Â@+”Â%” (”Â`.”Â`.”Âà:”Âà:”€1”€1”Â`.”Â@+” (”Âà!” 4”Â`.”€1” 4”Â`.” (”Âà!”ÂÀ” ”Âà!” (”Â`.”Â`.”Â`.”Âà:” 4”Â`.” 4”Âà:”Âà:”€J” A”Âà:”Âà:”Â`G” M”Â`G”Â`G”Â`G”ÂÀ˜Â =¶Â ÒÍ #Í 3€âµÂàûªÂ¢Â ñšÂ G• îŒÂÀ(U€FÂ@òÂÀH ÂÀK€ïÐÁÁŽÁÀvA¸ÓA€³(B€[XB€7wB@ÃBÀ†BÀ„B€X~B€“pB€v`B€OBB=B|+B€£B€Ÿ B]÷AÜAÃAD¬A€Q—AïƒA¼cAÀAA( Aþ@"º@ðk@È?°¿¼1À@œÀ>ßÀºÁÂ0ÁGQÁ³qÁ5‰Á€™Á€ø©Á€.ºÁqÊÁ€OÚÁãéÁ€ÇøÁ@‘€T €ÆÂáÂ@‘Â@×!Â@¹&ÂÀ*+€W/ÂÀá2€F6ÂA9Âý;ÂÀN>Â{@ÂoBÂÀ*DÂÀºEÂÀ1G€‰HÂÛIÂ@ KÂ3LÂ@LMÂ@FNÂ!OÂÐOÂPÂQÂÀ‹QÂ@RÂÀžRÂ"SÂÀ±SÂÀ.TÂ@†TÂ@êTÂÀAU€ŸU€êUÂ@HVÂÀŸVÂñVÂ@)WÂ@[WÂÀ™WÂ@ØWÂ@ X€BXÂ@nXšXÂÀ¬XÂ@ëX€#Y€UYÂ@Y€¹YÂ@åY€ZÂÀ#ZÂ@IZÂuZÂÀ¹Z€åZÂ@øZ€0[ÂÀO[ÂÀh[ÂÀš[Â@À[Â@ò[€\Â@=\€\\Â@ˆ\´\Â@Ó\Â@]Â@]Â@]Â]€=]Âc]ÂÀ§]€ì]Â@ÿ]ÂÀ=^ÂÀ=^€i^Âv^ÂÀˆ^Â@•^ÂÁ^Â@ù^€_Â@D_ÂW_‰_ÂÀ´_ÂÀÍ_Â@Ú_ÂÀÿ_ÂÀ1`€D`ÂÀc`Â@‰`Â@»`ÂÀù`€%aÂÀDaÂÀva¯aÂÀÚa€íaÂ@bÂÀ>bÂ@dbÂÀ‰bÂÀÔbÂ@úb cÂ@,cÂXcÂ@cÂ@ÂcÂîcÂ@&dÂ@?dÂ@XdÂ@qd€d¶d€ÛdÂÀeÂeÂ3eÂeeÂ@ke—eÂ@ÏeÂ@fÂÀ&fÂÀ?fÂ@ef€„f€fÂ@ÉfÂ@ûfÂ@gÂ@gÂ@-gÂ@_gÂ@xg¤gÂ@ªgÂ@ÜgÂïgÂÀhÂÀ3hÂÀehÂ@‹hÂ@¤hÂÀ°hÂ@ÖhÂ@ïhÂiÂÀFiÂ@liÂÀxiÂÀ‘iÂ@·iÂãiÂ@jÂ@jÂÀ@jÂ@Mj€ljÂ@jÂ@˜jÂÀ½jÂÀïjÂ@kÂAkÂsk€kÂ¥k€ÊkÂÀékÂÀlÂ@ZlÂÀlÂ@ŒlÂÀ±lÂ@×lÂ@ðlÂÀmÂÀ.mÂNmÂÀ`m€mÂ@ŸmÂ@Ÿm€¥m€×mÂýmÂÀnÂ/n€TnÂ@gn€ŸnÂÀ×nÂ@ýnÂ@oÂ@HoÂÀTo€€oÂ@¬o€Ëo€äoÂ@÷oÂ#pÂyÂ@>yÂ@WyÂÀcyÂ@‰yœyÂ@¢y€ÁyÂ@íyÂzÂ@zÂ2zÂ2z€>zÂÀ]zÂÀzÂÈzÂÀÚz€ízÂÀ%{Â@2{€Q{Â^{Â@K{Â@d{Â@d{€œ{ÂÂ{ÂÀÔ{Â@ú{€|€2|ÂÀ8|ÂÀQ|ÂÀQ|Â@w|Â@|€¯|ÂÀÎ|€á|Â@ô|Â@ }€,}Â@?}ÂÀd}„}Â@£}€Â}Â@Õ}€ô}Â~Â@9~ÂÀE~Â@R~ÂÀw~Â~~Â@~Â@~Â@¶~Â@Ï~Â@è~ÂÀô~Â@ÂÀ&Â-€RÂÀX€„Â@—ÂÀ¼ÂÀÕÂõ €Âà€Â #€ÂÀ2€ÂÀ2€Â`B€ÂÀK€Â U€Â`[€Â€w€Â z€Âà€€Â “€Â`¦€Â€©€Â ¹€Â ¹€Â Å€ÂàË€Â`Ø€ÂÀá€Â€ô€Â ÷€Â@ Âà/€?ÂLÂÀ^Âàa hÂ`nÂàzÂ~  Â` Âà¬Â€¼ÂàÅÂÀÂÂ@Ï€îÂ@‚€‚Â@‚€ ‚ÂÀ&‚Âà)‚Âà)‚Â`6‚ÂÀ?‚ I‚ U‚Â`h‚Âx‚Â`‚ ”‚ÂÀ£‚ª‚ª‚ ­‚€¶‚Â`̂ ҂ÂàØ‚Â€è‚Â@û‚€ƒÂƒÂ ƒÂ ƒÂ@ƒÂà#ƒÂ@-ƒÂà<ƒÂ OƒÂ \ƒÂ hƒÂ uƒÂ uƒÂ@xƒÂà‡ƒÂ`”ƒÂ šƒÂ@ªƒÂ ³ƒÂ½ƒÂ ÀƒÂà҃ كÂ`߃ åƒÂ òƒÂà„Â@„Â`„ „ $„ 0„Â:„ÂS„ b„ o„€x„ÂÀ~„ ˆ„ ”„€ª„ÂೄÂ`À„ ƄÂÀÉ„Âà̄ ߄ ì„€õ„ … … …Â… *… 7… C…ÂàI…ÂàI…ÂàI…ÂM… P…€Y…€Y… i…ÂÀx…Â`ˆ…Â Ž…Â Ž…Â ›… §… À…Âʅ ͅ مÂã…ÂÀÜ…Â`ì…Âã… ÿ…Âà†Â †Â`†Â`†Â`7†ÂàC†ÂG†Â`P†Âà\†Â`i†Â€l†Âàu†Âàu†Â ˆ†Â’†Â৆€·†Â º†Â º†Â@ʆ ӆ€é†ÂÀï†Â ù†Â ‡Â ‡Â ‡Âà$‡Â@.‡Â€4‡Â +‡Â +‡Â 7‡Âà=‡Âà=‡Â P‡Â€M‡Â ]‡ÂÀl‡Âào‡Â`|‡Â€‡ÂŒ‡Â@’‡Â`•‡Â ›‡Â ›‡ÂࡇÂ@«‡Â€±‡Â€±‡Â`LJ€ʇ ڇÂ`à‡Â æ‡Â æ‡Â€ü‡Â ˆÂ ˆÂÀˆÂ %ˆÂ€.ˆÂ€.ˆÂ 1ˆÂ 1ˆÂ JˆÂàPˆÂ WˆÂ`]ˆÂàiˆÂ`vˆÂ`vˆÂÀˆÂ`ˆÂà›ˆÂÀ˜ˆÂ`¨ˆÂ€«ˆÂ€«ˆÂ ®ˆÂ »ˆÂ¸ˆÂഈ Lj Ԉ€݈€݈ íˆÂ€öˆÂ€öˆÂàÿˆÂ€‰Â‰Â`%‰Â€(‰Âà1‰Â D‰Â`W‰Â`W‰Â`W‰ÂÀG‰Â Q‰Â@T‰Â@T‰Â ]‰Â`p‰Â v‰ÂÀy‰Â`‰‰ÂÀ’‰ÂÀ’‰Âஉ ¨‰Â µ‰Â€¾‰Â Á‰Â ΉÂ`ԉ ډ ډ€ð‰Â€ð‰Â ŠÂÀŠÂ€ ŠÂ ŠÂŠÂ ŠÂ ŠÂ`ŠÂ %ŠÂ/ŠÂà+ŠÂ`8ŠÂ€;ŠÂ KŠÂàDŠÂàDŠÂ€TŠÂ€TŠÂÀZŠÂ WŠÂà]ŠÂÀZŠÂ€TŠÂà]ŠÂà]ŠÂÀZŠÂà]ŠÂ pŠÂÀsŠÂàvŠÂ }ŠÂàvŠÂzŠÂ ‰ŠÂ“ŠÂÀŒŠÂ –ŠÂàŠÂ€ŸŠÂ€ŸŠÂਊÂਊ€¸ŠÂ »ŠÂ ÈŠÂÀ¾ŠÂ`ΊÂàڊ€ъ Ȋ ȊÂÀ׊ áŠÂ áŠÂ@äŠÂ íŠÂ úŠÂ`‹Â ‹Âà ‹ÂÀ"‹Â`2‹Â`2‹Â€5‹Â`2‹Â)‹Â@/‹ÂÀ;‹Â 8‹ÂB‹Âà>‹Â E‹ÂB‹ÂB‹Â`K‹ÂàW‹Â€g‹Â€g‹Ât‹Â€g‹Âàp‹Â€€‹Âà‰‹Â ƒ‹Â€€‹Âà‰‹Â€™‹Â¦‹Â`¯‹ÂࢋÂ`¯‹Â µ‹Â໋ ‹Â`È‹Â€Ë‹Â€Ë‹Â€Ë‹ÂØ‹ÂàÔ‹Âàԋ ç‹Â ç‹Â@ދ ç‹Âàí‹Â@÷‹Â ŒÂ ŒÂ ŒÂ ŒÂ€ŒÂ`,ŒÂ€/ŒÂÀ5ŒÂÀ5ŒÂ 2ŒÂÀ5ŒÂ€/ŒÂÀ5ŒÂ@BŒÂ€HŒÂ€HŒÂà8ŒÂ€HŒÂàQŒÂUŒÂ dŒÂ XŒÂ`^ŒÂ dŒÂÀgŒÂ`wŒÂ€zŒÂàœŒÂàœŒÂ ŒÂ –ŒÂ@ŒÂ –ŒÂÀ™ŒÂ ¯ŒÂ€¬ŒÂൌÂൌ ¼ŒÂ`Œ Ȍ Ռ ȌÂàΌ€ތ ՌÂ@ØŒÂҌ áŒÂ îŒÂ áŒÂ îŒÂ îŒÂ îŒÂ`ôŒÂàÂÀýŒÂ€Â`   ÂàÂà  ,Â@<ÂÀHÂ`?€BÂÀHÂàK RÂ`X€[€[€[ÂÀaÂ`X ^ÂàdÂ@nÂ`q€tÂÀz   Â`£Â ©Âà¯Âà¯Â ¶Â ¶Âà¯Â@¹Â€¿ÂàÈ Ï Ï ÏÂàáÂåÂàáÂàá èÂ`î è€ñÂàú ŽÂ€ ŽÂ€ ŽÂ  ŽÂ ŽÂàŽÂàŽÂ` ŽÂ &ŽÂ &ŽÂÀ)ŽÂà,ŽÂ`9ŽÂà,ŽÂ 3ŽÂÀBŽÂ`9ŽÂ€<ŽÂIŽÂàEŽÂ`RŽÂ XŽÂbŽÂÀ[ŽÂà^ŽÂ eŽÂ`kŽÂ eŽÂà^ŽÂ eŽÂàwŽÂ ~ŽÂ ~ŽÂ@ŽÂ ŠŽÂ ~ŽÂ@ŽÂ`„ŽÂ€‡ŽÂ —ŽÂ`ŽÂ€ ŽÂ€ ŽÂ੎Â`¶ŽÂ °ŽÂ ¼ŽÂÆŽÂàÂŽÂÀ¿ŽÂàÂŽÂ`ÏŽÂàێ€ҎÂàێ€ëŽÂ îŽÂ îŽÂàôŽÂ`Â@þŽÂ ûŽÂ €ÂàôŽÂ`€Âà  €€  Â`€Âà&€6ÂCÂÀ< FÂ`L R RÂàXÂ`eÂàqÂu k kÂÀnÂ@{ xÂ`~ x xÂ`~ÂŽÂàŠÂàŠÂàŠÂ ‘Â@”  ªÂà£Âà£Â`°Â ªÂ@­Â€³Â@­Â`°Â ¶ÂÀÒ ÜÂÀÒ Ü ÜÂ@ßÂ@ßÂàÕ€å€åÂàÕÂ@ßÂòÂÀë õÂÀÂÀÂàÂÀÂàÂÀ€þ     € Âà  'Âà Â`Â$Âà Âà Â`-ÂÀ6ÂÀ6ÂÀOÂàR LÂ`F€IÂ`FÂ`FÂàRÂàRÂàRÂÀOÂ`_€bÂàkÂàk e e eÂàk rÂàk rÂ`x ~ÂÀ€{€{Â@uÂÀÂà„ ‹Â€”Â@ŽÂ`‘Â`‘ˆˆ ‹ÂÀšÂ ¤Â ¤Â`ªÂ€­Â`ªÂà¶Â ½Â ÉÂ@ÀÂ`ÃÂÀ³ÂºÂ °Âà¶ÂÀ³Â€­Âà¶Â`àɠɠÉÂ`ÀÆÂÓÂàÏÂ`ÜÂ@ـߠâÂÀåÂ@ò û û û€øÂ ‘Â`‘Âà‘ ûÂà‘Âà‘Âà‘ ‘ ûÂà‘ ‘€‘ÂÀ‘ !‘Âà‘ !‘ !‘ !‘Â`'‘ -‘Â`@‘ -‘ -‘Âà3‘Â`@‘Â@=‘Â`@‘ :‘ :‘€C‘€C‘ F‘Â@=‘Â@=‘ :‘ÂàL‘ F‘ S‘Â`Y‘ÂàL‘ÂP‘ S‘Â`Y‘€\‘Â`Y‘Â`Y‘€\‘ÂÀb‘ÂÀb‘ _‘€\‘ _‘Âàe‘ _‘€\‘Â@V‘ÂP‘ÂÀb‘ l‘ l‘€u‘ l‘ x‘ …‘‚‘ …‘ …‘Â`‹‘Â@ˆ‘Â@ˆ‘Â@ˆ‘Â€Ž‘Â ‘‘›‘Âà—‘ÂÀ”‘Âà—‘Â`¤‘´‘Âà°‘Â ·‘ Ñ€À‘ Ñ€À‘ÂÀƑ Ñ Ñ€À‘€À‘ÂÀƑ€À‘ Ñ Б БÂ@Ó‘Â@Ó‘Â@ӑ€ّÂàâ‘ é‘ é‘ é‘ õ‘Âàû‘ ’Âÿ‘Âÿ‘€ò‘ õ‘ õ‘Âÿ‘€ ’Â`’Â`’Â`’ ’€ ’Â’ ’€ ’Â@’Â’Â@’Â`!’Â@’Âà-’Âà-’Âà-’Âà-’Â1’ÂÀ*’ 4’Â`:’Â`S’ Y’ Y’ Y’Â`S’Â`S’Â`S’€V’Â`S’ÂàF’ @’ÂJ’ M’ÂJ’ Y’Â@i’Â`l’ r’Âàx’ ’Âàx’Â@‚’Â`…’Â|’Â|’Âàx’Â`…’ ‹’Â`…’Âàx’ r’ r’ ’€ˆ’Âà‘’Â•’ ˜’ ¤’ÂÀ§’ ¤’Â઒Â@´’Â઒ÂÀ§’Â઒Â`·’ ½’ÂÇ’ÂÀÀ’ÂÇ’Â`Ð’Â@Í’Â`Ð’Â@͒ ʒ€º’€º’Â`·’ÂàҀӒÂ@Í’ÂÀÙ’Â`Ð’Â`В ֒Â`Ð’Â ã’Â`é’Â`é’€ì’ÂÀò’ÂÀò’Âù’Âàõ’ÂÀò’ÂÀò’Âù’Âù’Â`“ “ “€“ÂÀ “ !“€“Â@“ “Â`“€“€“€“Â@“Âà'“Âà'“Âà'“ÂÀ$“Â+“Âà'“Â+“Â+“Â+“Âà'“ .“ .“Â`4“€7“ :“€7“ :“Â`4“Â@1“€7“Âà@“€P“ÂàY“ S“ S“ S“ S“€P“€P“€P“Â`f“ l“€i“ÂÀo“Â`“Âv“ l“Âv“€‚“Âv“Â`“ÂÀo“ l“Â`f“ l“ l“Âàr“ …“€‚““Âà‹“Â“Â“ÂÀˆ“ ’“Âà‹“Âà‹“Âà‹“Â ’“ ’“Âओ ž“€›“ ž“ ž“€›“Â@•“Â`˜“ «“¨“ÂÀ¡“Âओ «“ ž“ ’“ÂÀ¡“€›“Âओ€´“ ·“ ē ēÂ`Ê“ÂÀº“Â`˜“ ’“Â@•“ ’“Â`˜“ÂओÂओÂÀº“ÂནÂÁ“Â`Ê“Â`Ê“ÂÁ“ ē ēÂÀº“ÂÀº“€͓ÂÀÓ“Â Ý“Â@à“ÂÚ“ÂàÖ“ÂÚ“Âړ Г€͓Â`Ê“Â`Ê“ÂÀÓ“ÂàÖ“ÂÀÓ“Â Ä“Â@Ǔ Г ݓ é“Â`ã“ÂÀì“Â@ù“Âàï“Â@ù“Âó“Âàï“Â`ü“ ö“ ö“ ö“Â`ü“Âó“ ” ”€ÿ“ ”Â`ü“€ÿ“ ” ” ”€ÿ“ ”ÂÀ”Â@”Â@” ”Â@ù“Â@ù“Âà”Âà”Âà” ” ”€”Â`”ÂÀ”ÂÀ”Â`.”Â@+”Âà:”Âà:”Âà:” 4” (”Â@+”ÂÀ7”Â`.” 4”Â@D”ÂÀP”ÂÀ7”ÂÀ7”ÂÀ7”Â>”Â@D”€J”€J”€J”ÂàS” Z”Â``”Â@]”ÂW”ÂàS”Â``”Â``”€c”ÂÀi”ÂàS”ÂÀP” Z”ÂW”ÂÀP”ÂW” Z” Z” Z”ÂW”ÂàS”ÂàS”ÂW”Â``” s” ”€|”Â@v” s”ÂÀi”ÂÀi”Âp” s” s” s”€|”Âà…”Â Œ”Â`’” ˜” ˜”ÂÀ›” ˜”Âàž”Â@¨”Â`«”¢”Â@¨”ÂÀ›”ÂÀ›”ÂÀ›”¢”Âàž”Â ¥”€®”€®”€®” ¾”»” ±”Âු»” ±”€®” ±” ±” ±” ±”ÂÀ´”ÂÀ´”»” ¾” ¾” ±”Âු ¾” ±”Âු ¾” ¾”»”Â`Ä”Â@Á” ʔÂ@ڔ הÂàДÂàД ʔ ¾”€ǔ€ǔ ʔÂÀÍ”Â`ݔ ã” ã”Â`Ý”ÂàД הÂÀÍ”ÂàД€ǔÂàДÂ@Ú”ÂԔ הÂ`ݔ ã”Âàé”Â`Ý”ÂԔ ʔÂÔ”ÂÔ”ÂÀÍ”ÂÔ”Â@Ú”Â`ݔ ã”€à” ã” ã”Â`Ý”Â@ڔ ð” ð” ð” ð” ð”€ù”Â`ö” ð” ð”Â`ö” ü”Âà• ü”€ù” •Âà•Âà•Âà•ÂÀÿ” ü”Âà•Âà•€ù”€ù”•Â`•Â@ •Â`•€•€• • • •Âà•€•ÂÀ• "• "•••Âà•ÂÀ• .•€+•ÂÀ•Â`(•ÂÀ1• ;• ;• ;•Âà4•ÂÀ1•Â`(•Âà•€•Âà•€•Âà• "••Â`• •Â@%•ÂÀ1• ;• ;• G•Â@>•€D• G•Â`A•ÂàM• G•Â`A• ;•Âà4•Â8•Â@>• G•ÂQ•ÂQ•ÂQ•ÂàM•Â`Z• `•Â@p•Âàf• `•Âj• m•Â`s•Â`s•Âj•Âj• m•Â`s•€v•Â`s• m• m•Âàf•Â`Z•€]•Â`Z• `•Âàf•ÂÀc•€]• `• `•€]•Âàf•Âàf• `•ÂQ• T•€]•ÂÀc• T•€]• T•Â`Z•Âàf•Â`Z• T• G•Â8•Â8•€D•€D•ÂàM•ÂàM•€D• G•ÂQ•Â`Z•Â`Z•ÂQ•ÂQ• T•ÂQ•ÂàM•Â`A•Â@>•Â`A•Â`A•Â`A•ÂÀJ• T• T•ÂàM•ÂàM• T•€]•Â`Z•Â@W•Â`Z•€]•Â@W•Â@W•Â`Z•ÂÀc•€]•ÂQ•ÂQ• `• `•Â@W•Â`Z• `• `•Â@W• T•Â`Z•ÂÀc• `•€]•€]•€]• `• `•Âj• `•Âàf•Âj•Â`s•Âà•€v•Âàf•Â@p•Â`s•Âj•ÂÀc•ÂÀc• m•Âj•Â`Z•Â`Z•Â`Z•€]• T•ÂàM• `•Â@p•Âàf•Âàf•Âàf•Â`Z•€]•Â`Z• `• `• `• T•Â@W• `•€]•Â`Z•Âàf•ÂÀc•€]•ÂQ•Â`Z•Â@W•€D•€D•ÂàM•Â8•Â8• ;• G•€D• G• T•ÂàM•€D•Â8•Â8•Âà4•Â8•ÂÀ1•ÂÀ1•Â`(•ÂÀ1•Â8•ÂÀ1•Â@%••€+•Â8• ;• ;•€+• "•Â@%•Â`(• .•€+•€+• .•Âà4•Âà4• ;•Â`(•€+• "• "• "•Âà• • •Â@ •€•€• •Â@ • • •€•ÂÀ• • •Â`(• .•Âà• • •Â@%•• • •• "• "•Â@%• "•Âà•Âà•Âà• •ÂÀ•€•Â`•Â`•Â@ •• •€•Âà• •Â`•Â@ •Â@ • • ñ˜Â u·Â`ÏÂÀ9ÎÂàL÷ !¬Â %£ÂœÂÀ]– èÂ@“VÂ@逿ÂÀuÂs ãÁ€¤ÁÁ¬Š@PªAÀ%BKB€goBâB`Ó…Bàþ„BÏ€B@ÀtB€&eBêSB$BB@d0B€:B@þBªÿA€dãA€µÉA€Â²AéA¬ŠAqA@NA>-Aë A\Ú@Lš@X1@€;?8®¿D^ÀR²ÀæõÀYÁÅ<Á|]ÁFÁ€­Á¸¡Á€^²Á€ÆÂÁ€üÒÁâÁ€ØñÁ@XÂ@`€ Â>Â@Â@fÂ[$ÂÀë(€ÿ,ÂÀ»0ÂÀ?4ÂÀ‘7ÂÀf:ÂÀ =ÂÀa?Â@{AÂiCÂEÂ@ÁFÂ2H€ƒIÂ@ÂJ€ÛKÂ@ÏLÂÃMÂ@ªNÂ@‹O€'PÂ@ÐPÂÀrQÂRÂŒRÂ@S†SÂêS€ZTÂÀÄTÂÀ(UÂÀŒUÂ@ËUÂVÂ[VÂ@“VÂØVÂ@WÂÀ5WÂÀgWÂ@¦WÂ@ØWÂÀXÂÀHXÂXÂ@¹X€ØXÂ@YÂ@YÂIYÂ@hYÂ@šYÂÀØYÂ@ZÂÀ#ZÂ@IZ€ZÂ@ÆZ€[€I[Â@\[¡[ÂÀÌ[Â@ò[ÂÀ\Â@=\Â@o\Â@¡\Â@º\ÂÀß\Â@Ó\€ò\Â@]Â1]ÂÀC]Âc]€o]Â@‚]Â@‚]®]€ì]Â+^Âv^€›^ÂÁ^€ÿ^Â@+_Â@D_Â@D_€c_‰_Â@¨_»_ÂÀÿ_Â@%`Â@>`ÂÀc`ƒ`ÂÀ®`Â@Ô`Â@í`ÂaÂÀa€>aÂÀaÂ@µaÂÀÚaÂbÂ@2bÂ@KbÂwbÂÀ¢bÂ@–bÂÀ»b€ÎbÂôbÂ@c€KcÂqc€¯c€¯cÂ@ÛcÂÀdÂÀdÂ9dÂÀddÂÀ–dÂ@ÕdÂ@îdÂÀúdÂÀeÂÀEeÂÀwe—eÂÀÂeÂÀÛeÂûeÂ@fÂ@3f€RfÂ@~fÂÀ£f€ÏfÂÀîfÂgÂÀ gÂÀ9gÂYgÂ@‘gÂÀgÂÀ¶gÂÀègÂ@õgÂhÂ@'hÂlhÂÀ~h€ªh·hÂ@ïhÂ@!iÂÀFiÂfiÂ@…i€¤i€½i€ÖiÂüiÂ@jÂÀ@jÂÀYjÂyjÂÀ¤jÂÀ½j€éjÂÀkÂ@.kÂZkÂskÂÀ…kÂ@«k€ÊkÂ@ÝkÂÀlÂÀ4lÂÀMl€ylÂ@Œl¸lÂ@×lÂmÂ5mÂNm€ŒmÂÀ«m€¾mÂÀÝmÂÀömÂýmÂ/nÂÀZnÂÀsn“n€¸n€ÑnÂ@ýnÂÀ"oÂ[oÂÀŸoÂØoÂ@ÞoÂñoÂñoÂ@)pÂ@BpÂÀ€pÂÀ²p€ÅpÂ@ñpÂÀýpÂ@ qÂqÂOqÂÀzqšqÂ@¹qÂ@ëqÂ@rÂrÂ0r€Ur€‡rÂ@³rÂÀ¿r€Òr€sÂ*sÂ@0sÂCsÂ@bsÂŽsÂ@­sÂ@ßsÂòsÂ@*tÂ=tÂ@CtÂÀht€{t€”t€ÆtÂÓtÂÀþt€uÂÀIuÂiu›uÂÀ­uÂÍuÂæuÂ@vÂ@v€=vÂ@iv€ˆvÂ@‚vÂÀ§vÂÇvÂàvÂ@ÿv€wÂ@JwÂ@cwÂÀowÂÀˆwÂÀ¡w€ÍwÂ@ùw xÂÀ7x€JxÂÀ‚xÂÀ›xÂ@ÁxÂ@ÚxÂÀæxÂÀÿxÂÀ1yÂ@>yÂÀJyÂjyÂ@‰yÂ@¢y€Áy€ÚyÂÀùyÂ@zÂÀzÂÀzÂ@8zÂ@jzÂ@ƒzÂ@µzÂÀ¨zÂÀÁz€ÔzÂÀózÂÀ {€8{ÂE{ÂÀ>{Â@d{Âw{Â@–{ÂÀ»{Â@È{€ç{€|Â@ú{Â@|ÂÀ8|Â@E|Âq|Š|Â@©|¼|ÂÕ|Â} }€,}Â@?}€E}€^}€}€}ÂÀ¯}Â@¼}ÂÀá}Â@î}Âè}ÂÀú}Â~Â3~Â@9~€q~—~ÂÀ©~Â@Ï~Â@è~ÂÂÀ&ÂÀ&ÂÀ?Â@LÂ_Â@e‘€¶Â@â€èÂÀ€Â`€Â €Â €Â /€Â H€Â`[€Âk€Â n€Â z€Â€w€Â z€Â„€Â “€Â€ÂಀÂಀ€€ Ҁ ހÂàä€Â ë€Â€ô€Â@ Â`#Âà/Âà/ B€?ÂàHÂàaÂeÂÀwÂ@„— ³Â`¹Â ÌÂ`ÒÂàÞÂ`ë þ€‚Âà‚€ ‚ #‚Âà)‚Â`6‚ <‚ I‚ U‚ b‚ n‚ÂÀŠ‚Â ‡‚€‚ÂÀ£‚ ­‚ ­‚Â࿂ ҂€ς ߂Â`å‚Âàñ‚€ƒÂ ƒÂ ƒÂà#ƒÂ`0ƒÂ€3ƒÂ€3ƒÂà<ƒÂ@ƒÂÀRƒÂ`bƒÂÀkƒÂànƒÂànƒÂ@xƒÂ@‘ƒÂ`”ƒÂÀƒÂ`­ƒÂ½ƒÂ ÌƒÂà҃ åƒÂ òƒÂ òƒÂ þƒÂ „Â`„Â!„ 0„Âà6„€F„ÂS„ÂàO„Â`\„ b„Âàh„ o„ {„Â@‹„ ¡„€ª„Âೄ º„Â@½„€Ä ӄÂЄ ӄ ߄ ì„ ø„Â…€… … *…Âà0… C…ÂàI…€Y…Âàb…Â@l…€r… u… ‚…Â@……Â`¡… §…±…€½…Âʅ مÂà߅ ò…ÂÀõ…€ï…Â`ì… ÿ…ÂÀ†Â†Â $†Â $†ÂÀ'†Âà*†Â =†Â`P†Âà\†Â`†Â c†Âàu†Ây†Â`‚†Â’†Â€ž†Â ¡†Â«†ÂÀ½†ÂàÀ†Â`͆ÂàÙ†Âàن ì†ÂÀï†Â@ü†Â ‡Â€‡ÂÀ‡Â ‡Âà ‡Â€‡Â(‡Âà=‡Âà=‡ÂàV‡ÂZ‡ÂZ‡Â€f‡Âào‡Âào‡Â v‡Â`|‡Â ‚‡ÂÀ…‡Âàˆ‡Âàˆ‡ÂŒ‡Â ›‡Â@«‡Â`®‡Â`®‡Â ´‡Â`LJ ͇ ڇÂ@݇Âàì‡ÂÀˆÂàˆÂ`ˆÂ€ˆÂàˆÂ"ˆÂ"ˆÂ€.ˆÂà7ˆÂ >ˆÂ JˆÂ JˆÂàPˆÂ WˆÂÀfˆÂ pˆÂ†ˆÂ`ˆÂŸˆÂ€«ˆÂ@¥ˆÂ ®ˆÂ ®ˆÂ »ˆÂÀʈÂш àˆÂ€öˆÂ€öˆÂ€öˆÂ`óˆÂ`óˆÂ ùˆÂÀüˆÂ‰Â@ ‰Â` ‰Â ‰Â`%‰Â 8‰ÂÀG‰Â Q‰Â`W‰Â@T‰Â ]‰Â`p‰Â€s‰Â`p‰Â v‰Â ƒ‰Âà|‰Â€‰Â@†‰Â ‰Â™‰Â€¥‰ÂÀ«‰ÂஉÂஉ Á‰ÂˉÂ`Ô‰ÂÀ݉ÂÀ݉Â@ê‰Â ó‰Â ó‰Âý‰Âý‰Â`ŠÂ`ŠÂ  ŠÂŠÂ`ŠÂ@ŠÂ %ŠÂà+ŠÂ€;ŠÂ KŠÂ KŠÂ€TŠÂ`QŠÂà]ŠÂ€mŠÂ }ŠÂ€†ŠÂ –ŠÂ –ŠÂ`œŠÂ ¢ŠÂ¬ŠÂ`µŠÂ`µŠÂÀ¾ŠÂàÁŠÂ€¸ŠÂ`ΊÂ@äŠÂàÚŠÂ@äŠÂ€êŠÂ÷ŠÂ@ýŠÂ úŠÂ ‹Âà ‹Â@‹Â ‹ÂÀ"‹Âà%‹Â ,‹Âà>‹Â E‹Â Q‹Â Q‹Â€N‹Â E‹ÂB‹ÂÀ;‹Â€N‹Â ^‹Â j‹ÂÀm‹Â€€‹Â`–‹Â ‹Â ƒ‹Â ‹Â€™‹Â€™‹ÂÀŸ‹Â€²‹Â µ‹Â ©‹Â€²‹Â¿‹Â Î‹Â€Ë‹ÂØ‹Â`á‹Â€ä‹Â ç‹Â ç‹ÂÀê‹Â ç‹ÂÀê‹Âàí‹Â ŒÂÀŒÂàŒÂ ŒÂ`ŒÂ`ŒÂÀŒÂ &ŒÂ &ŒÂ@)ŒÂÀ5ŒÂ`EŒÂ ?ŒÂ ?ŒÂÀNŒÂàQŒÂ`^ŒÂ dŒÂ qŒÂ }ŒÂ@ŒÂ€“ŒÂ –ŒÂ@ŒÂ`ŒÂàœŒÂ`©ŒÂ€¬ŒÂ€¬ŒÂ`©ŒÂ@¦ŒÂ ŒÂÀ²ŒÂÀ²ŒÂൌ ¼ŒÂ€ÅŒÂ ÈŒÂàÎŒÂ`ÛŒÂÒŒÂàçŒÂ îŒÂ€÷ŒÂ`ôŒÂ@ñŒÂÂàÂÂàÂà  ,Â6 9Â@< EÂO R€[ E EÂ@UÂhÂ@nÂàdÂhÂhÂàdÂÀa k k€t w Âà– €¦Â€¦Â€¦Â`£Âà¯Â ©Â³Âà¯Â`¼ÂÀÅÂàÈÂÀÅÂ@ÒÂ@ÒÂÌ€ØÂ`îÂþÂ@ŽÂ ŽÂ ŽÂ ŽÂ@ŽÂ  ŽÂ  ŽÂ  ŽÂàŽÂ@ŽÂ &ŽÂ€#ŽÂà,ŽÂ`9ŽÂàEŽÂÀBŽÂàEŽÂàEŽÂ€UŽÂ XŽÂbŽÂbŽÂà^ŽÂ eŽÂbŽÂbŽÂ@hŽÂ qŽÂ€nŽÂ eŽÂ€nŽÂ`kŽÂ€nŽÂàwŽÂ ~ŽÂ€‡ŽÂ€‡ŽÂ”ŽÂ —ŽÂ`ŽÂ`ŽÂ —ŽÂ ŠŽÂ`ŽÂ £ŽÂ@³ŽÂ °ŽÂ °ŽÂ °ŽÂ@ÌŽÂ`ÏŽÂ`ÏŽÂ`ÏŽÂÀØŽÂ âŽÂàێ€ëŽÂ€ëŽÂàÛŽÂ`èŽÂ@åŽÂ âŽÂߎÂ`èŽÂ€ëŽÂ€ëŽÂ@þŽÂ` Â`Â` Â`€Â@ Â Â* -Â*Âà? RÂ`LÂ`L€O R RÂÀUÂ\Â`eÂ@bÂÀUÂ\Â`eÂ\ÂÀnÂàqÂ@{€ ‘€šÂÀ Â Â Â ªÂà£Â€³Âà¼Â ¶Â€³Â ¶ÂÀÂà¼Âà¼Â ¶Â€³Âà¼ÂÀÂàՠ܀å èÂàî õÂòÂòÂÀë€þÂÀ   Â`  €Âà Â`-€0€0Â$Â@* 3Â`F @€I LÂ`FÂàR LÂ`F L YÂ`_€b eÂo€b e e eÂoÂ`xÂ@uÂ`xˆÂàÂࠤ —Â@§Â`ªÂ€­Â`ªÂ@§Â€­ÂÀ³ÂºÂ`àÖÂÓ Ö€ßÂÀåÂìÂÀåÂ`õ ïÂ`õÂÀþÂÀþÂ`õ€øÂÀþ ‘€‘Â@ ‘Â`‘ ‘ ûÂà‘ ûÂà‘Â@ ‘Â@ ‘Â`‘Âà‘Â`'‘€*‘Â`'‘Â@$‘ ‘ ‘Â@$‘Â`'‘ -‘ÂÀ0‘ :‘Âà3‘Â`@‘Â`@‘Â`@‘ÂàL‘ÂàL‘ S‘Â`Y‘ÂàL‘ S‘Â`@‘ÂàL‘ S‘ÂP‘ S‘ _‘ _‘€\‘€\‘ÂÀb‘Â@o‘€u‘ÂÀ{‘Âà~‘ÂÀ{‘ x‘ x‘Â`r‘Â`r‘ÂÀ{‘Â@ˆ‘Â€Ž‘Â›‘Âà—‘Â@ˆ‘ …‘Â`‹‘Â`‹‘Â€Ž‘ÂÀ”‘Â@ˆ‘Â@ˆ‘ ‘‘ ‘‘ÂÀ”‘ ž‘€§‘ ·‘ ·‘´‘Â@º‘ÂàÉ‘ÂÍ‘ÂÀÆ‘Âàɑ Ñ Ñ€À‘Â`֑ БÂÍ‘ÂÍ‘ÂÍ‘ÂÀÆ‘ÂÀÆ‘Â͑ Б€ّ ܑ€ّ ܑÂÀߑ€ّ é‘Â@ì‘ é‘Âàâ‘ ܑÂ@ì‘ õ‘ õ‘Âàû‘Â`ï‘Â@ì‘Â`ï‘Âàû‘ ’Âàû‘€ ’Â@’€ ’ ’Â’Âà’Â@’ ’€$’Âà-’Âà-’ '’€$’€$’ ’Â`!’Â`!’ '’ 4’ 4’ÂÀC’ @’ÂàF’ M’Â@P’ M’Â`S’Â`S’ Y’ Y’€V’€V’€V’ Y’Âà_’Â@i’ f’ f’ f’Âc’Â`l’Â@i’€o’Â`l’ r’ÂÀu’Âàx’Â|’Âàx’ ’ ‹’ÂÀŽ’Â ‹’Âà‘’Â•’ ˜’€¡’Â@›’ ˜’ ˜’ ˜’Âà‘’ÂÀŽ’Â ‹’•’Â`ž’Â`ž’•’Â`ž’®’ ¤’ ¤’®’®’ÂÀ§’Â઒ ±’ ʒ ʒ ʒÂÇ’ÂÀÀ’ ½’ ʒÂ@Í’Â`Ð’Â@͒ ֒ÂàÜ’ÂàÜ’Â ã’ ã’Â`é’Âà’ÂÀْ€Ӓ ֒ ã’ ã’ ֒Â@æ’Âà’Â@æ’Âà’Âàܒ€ì’ÂÀò’€ì’Â`é’ ï’ ü’Âàõ’Â`“Â@ÿ’ ü’Âàõ’ ï’Âàõ’Âù’ ü’Âà““Âà“ “Âà“Â`“ !“ !“ !“Â@1“ .“ .“ .“ .“ :“ :“€7“ :“Â`4“Â@1“Â`4“€7“Â@1“ :“ :“Â`M“Â`M“ G“Â`M“Â`M“ÂàY“Â`f“ l“ l“Â`f“€i“€i“ÂÀo“Â`f“€P“ÂàY“ `“ÂàY“ `“€i“€i“ l“Âàr“ y“ y“Â@|“ y“Â`“ …““ ’“ ’“ ’“€›“ ž“Âओ¨“ÂओÂÀ¡“Â`˜“€›“ ž“ ž“ÂओÂ@®“¨“Âओ€´“Â`±“ ·“€´“ ·“ ·“€´“ ·“ «“Â@®“ÂÀº“€͓Â`Ê“ÂÁ“ÂནÂན€͓ÂàÖ“Â Ý“Â`ã“ é“ é“ é“€æ“Âà擀擠铠ö“Âàï“ ö“ ö“ ö“Â`ü“Â`ü“ ö“Âó“Â`ü“Âà” ” ” ” ” ” ”€”ÂÀ” (”Â`.” (”€1”Â`.” (”Â%”ÂÀ” ” (”Â%”Â@+”€1”Â@+”Â@+”€1”Âà!”Â@+”€1”ÂÀ7” A”Â`G”€J” A” A” A” M”ÂàS” M” M”€J”ÂW”ÂW”€c” f”€c”Âàl”ÂÀi” f” f”€c” Z”ÂàS” Z”Â``” Z”Â@]”Âàl”ÂÀi” f” f”Âp”Âp” ” ”ÂÀ‚” ” ”Â@” ˜”€•”€•”Â`’”€|”€|” s” s” ”‰”Â`’”Â@”Âà…”Â ”‰” Œ” ˜”Âàž”Âàž”Â ¥” ˜” ˜”¢”¢”ÂÀ›”¢” ¥”€®”Âු ¾”Âු ±” ¾”»”Â`Ä”Âු ¾” ±” ±”Â@Á” ʔ ʔ€ǔÂÀ͔€à”Â@Ú”ÂÀ͔€ǔ€ǔ€ǔÂàД הÂÔ”Â`Ý”Â@Ú”Â`ݔ€à”ÂÀæ” ð” ã”Âàé”Âí”Â`Ý”Â@ڔ ã” ã”Âàé” ã”Â`Ý”Âàé”Â`ö” ð” ð” ð”Â`ö” ü”Â`ö”Â@ó”Â`ö”€ù”ÂÀÿ”Â`ö”Â`ö”Âí”Â`ö”Â`ö”€ù”ÂÀÿ” ü” ü”ÂÀÿ” ü”Â@ •€•••• •Âà•• •Â@ ••ÂÀÿ”Âà• • •Â`•Âà• ••Âà•• "•Âà•Â`•Â@ •ÂÀ• "• "• "•€+• .•Âà4•Âà4• ;• ;• ;•€+••Âà•Â@%••Â@%•€+•€+•Â`(•ÂÀ1•ÂÀ1• .• .• .•ÂÀ1• .• .•Âà4•€D•Â8•Â`A• ;•Â`A•ÂÀJ•ÂàM• G•ÂÀJ• T• G•ÂÀJ• T• G• G•€D•Â8•€D• G•ÂQ•Â`Z• T• T• T•€D•ÂQ•ÂàM•Â@W•Â@W•Â`Z•Â`Z•€]• `•Âàf•ÂÀc•ÂÀc•Âàf• m•Â`s• m•Âàf• m•Â`s• m•Âàf• m•ÂÀc• m•Â@p•Â@p•Â@p• m•Â@p•Â`s•Â@p• y• y• y• †•€•€•Â`Œ• †•Â@‰•Â@‰•€• †• †• †•Âà• †• †• †•Â@‰• †• ’•Âà˜•ÂÀ••Âà˜•Âà˜•Âà˜•Âœ•ÂÀ••Âà˜•Âà˜•ÂÀ••ÂÀ••Â`Œ• †• †•ÂÀ|• †•ÂÀ••ÂÀ••€• ’• Ÿ•œ•œ•Â@¢• Ÿ•Âà˜•Â@¢•Â@¢•ÂÀ•• ’•Âà˜•Â ’•œ•Â`¥•Â@¢•œ•Â`¥•Â`¥•Â`¥•Â@¢• «•µ•ÂౕÂÀ®• «• «•µ•Â@»• ¸•€Á• ĕ ¸• «•Âౕµ•Â`¾• ¸• «•µ• ¸•ÂÀǕ ĕÂàʕ ĕÂÀÇ•ÂÀǕ ĕÂ`¾• ĕÂàʕ ѕÂ`ו ѕ€ڕÂ`וÂ@Ô•Â Ñ•Â`וÂ@ԕ ݕÂ`ו ݕ ѕÂ`ו€ڕ€ڕÂç•€ڕ ݕ ݕÂç•Â@í•Â`ð•Â`ð•ÂÀù• ö•€ó•Â@í•Âç•Â@í•Âç•Âàã• ö•Â`ð• ö•ÂÀù• ö• ö•€ó•€ó•€ó• ê• ö•Âàü•Âàü• – – – –Â@–Âàü•Â` –Â` –Â@– – –Â@–Â` – –Â` –Â` – – –Â@–€ – –ÂÀ– –Âà–Â@– – – ––Â@–Âà––Âà–Âà–Âà– ––€%–Âà.– (–Â2–ÂÀ+–€%–Â`"–Â`"–€%–ÂÀ+– 5–ÂÀ+– (–ÂÀ+– (–ÂÀ+–Âà–€ –Â` –Âà–Â@– – – ö•Â@–– ö•Â`ð•Â`ð• ö•Âàü•€ –ÂÀù•Âàü• ö•Â`ð• ö• ö•Â`ð•Â@í• ê• ê• ê•Âàã•Âàã•Â`ð•Â`ð• ê•ÂÀà•Âàã•Âç• ݕ€ڕÂàÊ•ÂàÊ•Â@Ô•ÂΕ ĕ ĕÂΕÂ@Ô•Â Ñ•Â`וÂ@Ô•ÂΕÂàʕ ѕÂàʕ€Á•Âàʕ ĕÂÀÇ•ÂÀÇ•ÂΕÂΕÂÀǕ€Á• ¸•µ• ¸•Â`¾• ¸•Â@»•ÂౕÂÀ®•€¨• «•ÂÀ®• «•Â`¥• Ÿ•Â@¢•€¨•Â`¥•Â@¢•ÂÀ••€• †• †•Âà˜•Â Ÿ•Â`¥•Âà˜•Âà˜•ÂÀ••ÂÀ•• ’• ’• ’•ÂÀ••Â`Œ•Â@‰•Âà•Â@‰•€•ÂÀ••€•ÂÀ|•ÂÀ|• †•Â`Œ•Âà•ƒ•Âà•ƒ• y•ƒ•Âà• †• †•€v•ÂÀ|•Âà•Â`s• m• m• m• m•Âàf•ÂÀc• `• `• `• `• `•€]•Â`ޘ ·Â€ûÎÂ@_Πlà·Â`¬Â 2£Â œÂày–Â`RŽÂ@ØWÂ@f€ù€Â@ €™ïÁ3³Á%FÁ0r?€5‹A€ÝB­@B€âgB€kB@Ö„Bàþ„B~B€wBÀhBUWBÁEBÀ 4B€ð"B€¡BYB.êAÐA.¸A€(¢AÌAJvAŸSAR2A1ALå@ؤ@H@ Œ?{¿\AÀê¡À äÀùÁ~3ÁÑSÁ¡tÁ€ÑŠÁ›Á€ «Á€ÄºÁ£ÊÁ€ÚÁéÁÚ÷ÁÀ Â@ê €bÂÀÂ@_ÂÑ!³&ÂÀ+€>/ÂÀÈ2ÂÀ6Â@ü8ÂÀ«;Â@)>ÂI@Â@BÂ@ºCÂ+EÂÀ›FÂÀàGÂ@IÂÀJ€,KÂÀ,LÂÀ MÂ@ÉMÂ@‘NÂ:OÂ@ïOÂÀxPÂ@QÂÀ‹QÂÀRÂsRÂÀÐRÂ@AS€«SÂ@ðS€ZTÂ@¸TÂ@UÂÀZU€ŸUÂ@äUÂÀ"VÂ@HVÂ@“VÂñV€/W‡WÂÀ²WÂ@ XÂÀaXÂ@ XÂÀÞXÂ@YÂÀBYÂ@Y€ YÂ@³YÂÀØYÂ@þYÂÀ#ZÂ@bZÂŽZÂ@ÆZÂ@øZÂ@[€0[€b[€”[º[€ß[Â@ \Â@V\ÂÀ{\Â@ˆ\€Ž\Â@º\Âæ\Â@ì\ÂÀ]Â1]Â@P]ÂÀu]ÂÀ§]Âù]Â^€7^€i^Â^Â@Ç^Âó^ÂÀ7_Â@D_Â@]_Â@_€®_ÂÀÍ_€ù_Â@%`€]`Â@‰`Â@¢`Â@»`Â@í`ÂaÂÀ+aÂÀDaÂdaÂÀa¯aÂ@çaÂúa€b€8bÂÀWbÂ@}bÂÀ¢bÂÂb€cÂ@,cÂ@EcÂXcÂÀƒcÂÀµcÂÀçc€úcÂ@&dÂ@Xd„d¶dÂ@Õd€ôdÂ@e€?eÂÀ^eÂ~eÂ@¶eÂâeÂ@fÂ@3fÂ_fÂÀŠfÂÃfÂ@âfÂÀg€gÂ@-gÂ@_g€—gÂÀ¶gÂÖgÂhÂ@'hÂÀehžhÂ@¤hÂÀÉhÂ@ïhÂÀiÂ4iÂ@SiÂ@liÂ@ži€½iÂüi€!jÂ@MjÂ@fjÂÀ‹jÂ@ÊjÂöjÂÀ!kÂ@.kÂ@GkÂÀSk€kÂÀžkÂ@ÝkÂðkÂ@lÂÀ4lÂml†lÂ@¥lÂ@¾lÂêlÂ@ mÂÀ.mÂÀ`mÂÀ’mÂÀ«mÂ@¸mÂÀÝmÂÀömÂÀ(nÂÀAnÂÀsnÂ@€nÂ@€n€ŸnÂÀ¾nÂÀ×nÂÀðn€o€5oÂ@aoÂÀ†oÂ@¬oÂ@ÅoÂ@÷o€pÂÀ5pÂÀNpÂnp€“p¹pÂëpÂqÂÀýp€qÂ@ˆÂ`DˆÂÀMˆÂ JˆÂ WˆÂ WˆÂ cˆÂÀfˆÂà‚ˆÂà‚ˆÂ€’ˆÂ •ˆÂà›ˆÂ ¢ˆÂ@¥ˆÂ ¢ˆÂ@¥ˆÂ@¾ˆÂ`ÁˆÂ€ÄˆÂ`ڈ àˆÂ ùˆÂ‰Â` ‰Â` ‰Â ‰Âà‰Â ‰Â€(‰Âà1‰Â D‰Â D‰ÂÀG‰Â Q‰Â Q‰Â ]‰Âàc‰Â€Z‰ÂÀ`‰Â j‰Â@m‰Â`p‰ÂÀy‰Âà|‰Â@†‰Â œ‰Â ¨‰Â ¨‰Â µ‰Â Á‰ÂˉÂ`Ô‰Âàà‰Â@ê‰Â@ê‰Âä‰Â ç‰Âàù‰Â ó‰Âàù‰Â`ŠÂ ŠÂ %ŠÂà+ŠÂ 2ŠÂ`8ŠÂÀAŠÂ KŠÂ€TŠÂ WŠÂÀZŠÂ`jŠÂ pŠÂ€†ŠÂ –ŠÂ ‰ŠÂ –ŠÂ@™ŠÂਊ ¯ŠÂ »ŠÂ`µŠÂ€¸ŠÂ »ŠÂ Ȋ€ъ ԊÂÀ׊ÂàÚŠÂàÚŠÂ@äŠÂÀðŠÂàóŠÂ úŠÂà ‹Â€‹Â ‹Â€‹Â‹Â`‹Âà%‹Âà%‹Â`2‹Â€5‹ÂB‹Â@H‹Â`K‹Â€N‹ÂàW‹ÂàW‹Â ^‹ÂÀT‹Â j‹Âàp‹Â`}‹Â ƒ‹Â`}‹Âà‰‹Â@“‹Â œ‹Â¦‹Âࢋ µ‹Â¿‹Â ‹Â`È‹Â Î‹Â Î‹Â Û‹ÂØ‹Â€ä‹Â`á‹Â€ä‹Â ô‹Â€ý‹ÂàŒÂ ŒÂ ŒÂàŒÂ ŒÂ ŒÂ@ŒÂ ŒÂ &ŒÂ 2ŒÂÀ5ŒÂ€/ŒÂÀ5ŒÂà8ŒÂ<ŒÂ ?ŒÂÀNŒÂUŒÂ dŒÂ dŒÂÀgŒÂ dŒÂ@tŒÂ qŒÂ dŒÂ }ŒÂ€zŒÂÀ€ŒÂ‡ŒÂ`ŒÂ€“ŒÂ –ŒÂ £ŒÂ€¬ŒÂൌ ¼ŒÂ€ÅŒÂ@¿ŒÂ ÈŒÂ ÈŒÂ Ռ ՌÂ@ØŒÂ@ØŒÂ`ی îŒÂàçŒÂ@ñŒÂ îŒÂëŒÂ îŒÂàçŒÂ úŒÂÀýŒÂ` €ÂàÂ@#Â@#€)€) , , 9€B€B R RÂOÂ@UÂÀaÂàdÂh kÂhÂ@nÂà}€  Âà–€ Âà–ššš€¦Â€¦Âà¯Â ¶Â ¶Â³Â`¼ÂÀÅÂÀÅ€¿Â Â Ï€ØÂÀÞÂàá ÛÂåÂ`î€ñÂ`ŽÂ  ŽÂàŽÂŽÂÀŽÂ  ŽÂ  ŽÂÀŽÂ` ŽÂ ŽÂ` ŽÂ€#ŽÂà,ŽÂ 3ŽÂ`9ŽÂ€<ŽÂàEŽÂ LŽÂ XŽÂ eŽÂ eŽÂà^ŽÂà^ŽÂ€nŽÂàwŽÂ ~ŽÂ{ŽÂ@ŽÂ@ŽÂ`„ŽÂ ŠŽÂ”ŽÂ@šŽÂ€ ŽÂ £ŽÂ੎Â`ŽÂ £ŽÂ £ŽÂÀ¦ŽÂ °ŽÂ€¹ŽÂ ÉŽÂàÂŽÂ`ÏŽÂ@ÌŽÂ`ÏŽÂàÛŽÂàÛŽÂ`èŽÂ`èŽÂ€ëŽÂÀñŽÂøŽÂ`Â`Âà Âà  Â`  Â*Âà&Â*   -Âà? 9€6ÂC FÂ`L R _ÂàXÂàX _Â@b€h kÂ`e kÂ@b _Âàq€ „€šÂà£Â@­Â€³Â ¶Â@­Â ¶Â@ÆÂ ÀÌÂàÕ èÂòÂÀë è èÂ@øÂ õ  ÂÀ  Â$ 'Âà Â$€0ÂÀ6€0ÂÀ6Â`FÂ@\Â@\ÂàRÂV Y Y LÂàRÂÀOÂVÂVÂàRÂàRÂÀO Y€b e r€{Â`x€{€{Âà„Âà„ˆ — ¤Â ¤Âà — ¤Â€­Âà¶ÂºÂºÂ`ÃÂàÏÂÀÌÂàÏÂ@ÙÂ`Ü Ö âÂì€øÂÀþ ‘Âà‘ ïÂ`õÂà‘Â@ ‘ÂÀþÂà‘Âà‘ÂÀ‘‘ÂÀ‘ !‘ -‘Âà3‘€C‘€C‘ F‘ F‘ :‘ :‘ÂàL‘€\‘ _‘Âàe‘ _‘Âàe‘Âi‘Âàe‘ _‘ l‘Â@o‘Â`r‘ x‘Âà~‘Â@ˆ‘Âà~‘‚‘€u‘Â`‹‘ ‘‘ÂÀ”‘Âà—‘Âà—‘Âà—‘Âà—‘Âà—‘Âà—‘Â@¡‘ ·‘ ·‘€À‘´‘€À‘ÂÍ‘ÂÍ‘Â`½‘ÂàÉ‘ÂàÉ‘Âàɑ€ّÂ`֑ БÂÀß‘Âæ‘Â`ï‘ é‘Â`ï‘ÂÀø‘Âàû‘Â`’Â`’€ ’Âÿ‘ÂÀø‘ÂÀø‘ ’Âàû‘Âÿ‘ ’Âà’Â’Âà’Â’ÂÀ’ ’ÂÀ’ ’ ’ÂÀ*’Â1’Âà-’Âà-’Âà-’€=’ÂàF’Â`S’ M’ @’€=’Â@7’ @’€V’ Y’Âà_’ Y’€V’Âà_’Âc’€o’ÂÀu’ r’Âàx’ r’ r’Â`l’ r’ ’ r’Â@‚’ ‹’ ’Â@‚’ ‹’Â@‚’€ˆ’ ‹’•’ÂÀŽ’Â ‹’ ‹’€ˆ’Âà‘’Â•’Â`ž’®’Â@´’®’ ¤’€¡’ ¤’ ±’ ±’ ±’Â઒ ±’ ±’ ½’ÂÀÀ’€º’ ½’€º’€º’ÂàÃ’ÂÀÙ’Âà’Â`é’ÂàÜ’Âà’ ã’Âà’ÂÀÙ’Â@æ’Âà’Â@æ’Â`é’ÂÀò’ ï’Âù’ ü’Âà“Âà““ “€“€“ÂÀ$“Â+“Â+“ÂÀ$“Â+“ .“ .“ !“ÂÀ$“€“€“ÂÀ$“ :“€7“ G“Âà@“ G“€P“€P“ÂàY“€P“ S“ÂàY“ÂàY“€i“ `“Â`f“Â`f“Â@c“ l“ l“ÂÀo“ y“ y“Âàr“Âàr“Â`“ …“Â@|“ y“ …“Âà‹“Â€›“ ž“ÂÀ¡“€›“Â@•“Â`˜“ ’“ ž“¨“ÂओÂओ ž“Â`˜“ ž“ÂÀ¡“Â`˜“Âओ «“ «“Âओ€›“ «“ «“ ·“ ē ēÂ`Ê“Â`ʓ€͓Âà֓€͓ÂÀÓ“ÂàÖ“Â`ã“Âà֓ ݓ ݓÂ@à“€æ“Â@à“ é“ ݓÂ`ã“ é“ é“Âàï“ é“€æ“Â`ã“€æ“ÂÀì“ ö“€ÿ“€ÿ“€ÿ“Âà” ” ” ”Â`” ”Â%”Â%”Â%”Â@+”ÂÀ7”€1” (” ” ”Â`” ” ” ”Âà!”Â%”Âà!”Â`” ”ÂÀ”Â`.” 4”€1”Â@+” (”Â%”€1”Â`.”Âà:”Â`.”€1” (”€1”ÂÀ7”€1”Â%”Âà!”Â`.”Â`.”Â>”Â@D”ÂàS” M” A”Â@D”Â`G”Â>” 4” A”Â@D”ÂÀ7”€1” A”Âà:”Âà:”Â>”Â>”Âà:”Â@D”Â>”€J” A”€J” M”ÂàS”€c” f” f”ÂàS”ÂÀP”ÂÀP”ÂW”ÂW” f”Âp” s” ”Â`y”Â`y”Â`y” s” ” ”ÂÀ‚”Â@v” s”Âà…”Â€•”Â`’” Œ” Œ”Â`’” Œ” Œ”ÂÀ‚” Œ”€•”Âàž”Â ¥” ˜”¢”¢” ¥”¢”ÂÀ›” ˜”ÂÀ›”Â@”Â`’”Âàž”ÂÀ›”Âàž”Â@¨”€®” ±”Âà·”ÂÀ´” ¾”Â@Á”Â`Ä”Â@Á”Â`Ä”Â`Ä”Âà·”ÂÀ´”Â`Ĕ הÂàД€ǔÂ`Ĕ הÂ`ݔ€à” ã”Â@Ú”ÂàД ã” ã”€à”ÂÀ攀à”Âàé” ð”ÂÀÿ”€ù”Â@ó”ÂÀæ” ð” ð”Âàé”Âàé” ã”Âàé” ð” ð”ÂÀÿ”ÂÀÿ”Âà• ü” •ÂÀÿ”Âà•Âà•ÂÀÿ”€• •Â`• • •ÂÀ•Â`•ÂÀÿ” • •Â`•Â@ •Â`•ÂÀ•Â`•€•Â@ •Â`•ÂÀ•ÂÀ•Â@ • •ÂÀ• •ÂÀ•€•Â`•Â`•Âà•Â@%•Âà4•Âà4•ÂÀ1• .•€+• .••Âà•Âà•ÂÀ•ÂÀ• "• .•Âà4•Âà4•Âà4•Âà4•Âà4•Âà4•Âà4• ;•Âà4• ;• ;•Â8•Â8• ;• G•Â`A•€D•€D•Â`A•Âà4•Â@>•Â`A• ;•ÂÀJ•€D• G•ÂÀJ• T•ÂQ•ÂàM•ÂÀJ•ÂQ• G• G•ÂàM•Â@W• `• `•€]• `• m• m• m•ÂÀc•ÂQ•ÂÀJ•ÂQ•Â@W• T•€]• T•ÂÀc•Âàf•Âàf•Âàf• `•Âàf•Âàf• `•Âj• y• †•Â`Œ•ƒ•€v•Âj•Âj• m•ÂÀc•€]•ÂÀc•Âj•Âj• m•Â@p•ÂÀ|•ƒ• †• †•Âà•€v• y•Â@‰•Â@‰•€•Â@‰•€• ’• ’• ’•€• Ÿ•Â`¥• Ÿ•Âà˜•Â ’•ÂÀ••œ•€¨• «•€¨•€¨•Â@¢• Ÿ• Ÿ• Ÿ•Â`¥•Â`¥• Ÿ•Âà˜•Â`¥• «•€¨•ÂÀ®•ÂÀ®• «•Â`¥•€¨• «•ÂÀ®•Âౕµ• «•ÂౕÂౕÂÀ®•Â@¢• «•Â`¥•€¨• «•µ• «•ÂౕÂౕÂÀ®•ÂౕÂౕÂౕ «•Â`¾• ĕÂ@»•Â`¾•ÂÀǕ ĕÂàÊ•ÂÀǕ ĕ ĕ ѕÂàÊ•ÂΕÂ`¾• ¸•Â`¾•Â`¾• ѕ ѕ ݕÂ@ԕ ѕ ĕ€Á•€Á•ÂΕ ѕÂ`וÂ@Ô•Â@ԕ ѕ€ڕ€ڕÂàã• ê•Âàã• ݕÂç•Âàã•Âàã•Âç•ÂÀà• ݕ€ڕ ݕ ݕ€ڕ ݕ ê•Â@í•€ó•€ó•€ó•Â`ð•Âàü•Âàü•Â`ð• ö• ê• ݕÂàã• ݕÂàã•Âàã•€ó•ÂÀà• ê• ê•Âàã•Â@í• ê• ê•Âç•Â`ð• ê•€ó• –Âàü•ÂÀù•Âàü•ÂÀù•–Â` –––Â` –Â@–€ –Âàü• –Âàü•Âàü•Â`ð• ê•Â`ð•ÂÀù•Â`ð•Â`ð• ê• –€ó•Âàü• – –Âàü• –€ ––Â` –Â@–Â` –€ –ÂÀ–– –Âà–€ –Âà–€%–€%– –ÂÀ– – – (– (– –Â@–Â`"–€%–Â@– –€%–ÂÀ+–Â2–€%– –Âà– –€%– (–Â2– (– 5–€>–Â2–ÂÀ+–Â2–Âà.–Â2– A–ÂK–Â@Q–Â@Q–Â@Q– N–ÂK– N–Â@Q–Â`T– N– N–Â`T–€W– Z–Âà`–Â`T–Â`T–Â@Q–ÂàG–ÂàG– N–Â`T–Â`T–ÂK–€W– Z– Z–ÂÀ]–Â`T–ÂK–Â`T– Z–Âà`–€W–Âd–Âd– Z–ÂÀ]– Z– Z– Z–Â`T–€W–Â@j–Âà`–Âd–Â`m–Âd– g–Âd–Â`m– s– €– €– €– Œ–Â`†–ÂÀv– €–€‰– €– s–€p– s–Âày– €–Â@ƒ–€‰–€‰–€‰–€‰–Â`†– Œ–ÂÀ–Âà’–Âà’–Â ™–Â@œ–Â@œ–€¢– ™–––Âà’–Â ™–Â`Ÿ–Â૖ ¥–Âà«–Âà«–Âà«–Âà«–Â`Ÿ––– ™–ÂÀ–ÂÀ– ™–Â@œ– ¥–ÂÀ¨–Â`Ÿ– ¥–ÂÀ¨–€¢–€¢–€¢– ¥– ¥–Â`Ÿ–€¢–¯–Â`¸–Â`¸– ²– ²–Â`¸–ÂÀÁ–€»– ¾–ÂÈ–Â Ë–ÂÈ–ÂÈ–ÂàÄ–ÂàÄ–ÂàĖ ˖ ˖€Ԗ€Ԗ ˖ÂàÄ–ÂàÄ–Â Ë–ÂàÄ–ÂàĖ ˖ ז€Ԗ ז זÂàÝ–Â`і זÂ@ΖÂȖ€Ԗ ז€ԖÂàݖ זÂàݖ€í–€í– ð–Â`ê–Âá–Â`ê–Âá– ä–Âá–Â@ç– ä–Â`ꖀ햀í–Âàö–Âú– ý–Â`—Â`— ý– ý– ý–  —Âà—  —Â`—Âú– ý–Âàö–Âàö– ý–Âàö–ÂÀó–Â`—Â`—Âà—  —€— ý– ý–€—€—  —  —  —Â`—€—Âà“šÂ º¸Âà”ЀõÏÂ`Å€ž¸Â ˜­ÂࢤÂ@‹ÂÀ헀̀þZÂÀZ#€£€SÂÀÛÂ@† €§ÜÁ€Ú•Á¸ìÀ˜é@¡ÂAT!B€ãRBÀsB€è‚B@é…B b„B@~B€#rBEbB€QB€?B€.B:Bh B€©ýAÛâA&ÊA€q³AMžAÅŠA‡pAYNAÚ,A An×@,—@ -@0'?8®¿0YÀ¢­ÀÞîÀ©Á`8ÁbYÁázÁ€¿Á€ÜÁ¢­Á€N½Á€îÌÁ€ßÛÁ€…êÁ€®øÁÀ €Œ Â@ÆÂÀ®Â@ÂA €ý$Â@\)€c-€1‘4±7Âm:Â@ä<ÂÀ?€AÂ@ CÂÀŽDÂÀFÂ@WG–HÂÀ»IÂ@ÛJ€ÛK°LÂxMÂÀRNÂÀOÂ@¤OÂ@:PÂÀÃPÂÀYQ€ÐQÂ@.R€˜RÂ@öRÂ@sSÂ@×SÂ@TT€¾TÂ@UÂ@gUÂÀ¾UÂÀ VÂÀ;VÂÀmVÂÀŸVÂ@ÅVÂÀWÂÀNWÂ@W¹WÂÀäWÂ@#XÂhX€tXÂ@ XÂÀÞXÂ@YÂÀBYÂ{Y­YÂÀØYÂÀ ZÂ@0ZÂ@bZÂÀ ZÂÀÒZ [€0[Â@\[Â@u[Â@§[Â@Ù[Â@ \ÂÀ0\Â@V\ÂÀ{\Â@¡\ÂÀ­\ÂÍ\Âæ\€ ]ÂÀC]ÂÀu]ÂÀ§]ÂÇ]Â@ÿ]Â@^Â@1^Â]^ÂÀo^ÂÀˆ^Â@®^€Í^ÂÀ_Â@D_Â@v_Â@_Â@¨_Â@Á_Â@ó_Â`Â8`Â@W`Â@p`œ`ÂÀÇ`Â@í`ÂÀù`Â@aÂÀDaÂ}aÂ@œaÂÈa€bÂ,bÂ@KbÂ^bÂwbÂ@}bÂ@–bÂ@¯bÂÀíbÂ@cÂ@,cÂ?cÂ@wc£cÂÀÎcÂÀçc dÂ9dÂ@XdÂ@qdÂ@qd€dÂÀ¯dÂÏdÂ@îdÂ@9eÂeeÂÀwe€£eÂ@¶e€îeÂ@f€ fÂ@LfÂxfªfÂ@ÉfÂ@ûfÂÀg€3gÂ@gÂ@FgÂ@xgÂÀgÂÀÏg€âg€hÂÀ3hÂ@rhÂÀ—hÂ@½hÂéhÂ@iÂÀ-iÂ@SiÂÀ_i€‹iÂÀÃiÂ@éiÂ@jÂÀ@jÂ`jÂyjÂÀ‹j€žjÂÀÖjÂ@üjÂÀ:kÂ@`kÂ@ykÂÀ…kÂ@’kÂÀÐk€ükÂ"lÂÀMlÂ@slÂ@Œl¸lÂÑl€ÝlÂ@ðl€(mÂÀGmÂÀymÂÀ’mÂ@ŸmÂËmÂÀÝmÂÀöm€ nÂ/nÂ@NnÂÀsnÂÀŒn€¸nÂ@änÂÀ oÂBoÂtoÂÀ†oÂ@¬oÂ@Þo€äoÂÀpÂÀ5p€HpÂÀgp‡p¹pÂÀËp€ÅpÂ@ñpÂqÂ@#qÂÀ/qÂOqÂ@nq³qÂ@Òq€ñqÂrÂ0rÂ@hrÂ{r­rÂ@³rÂ@år€ër€sÂÀˆÂ >ˆÂàPˆÂ cˆÂ`]ˆÂ WˆÂ€`ˆÂ cˆÂ€`ˆÂmˆÂ pˆÂ |ˆÂà‚ˆÂ€’ˆÂ@¥ˆÂഈ ®ˆÂ »ˆÂ@¾ˆÂà͈Â`ڈ àˆÂ íˆÂ@ðˆÂ ‰Â@ ‰Â ‰Â ‰Â`%‰Â€(‰Â 8‰Â€A‰Â@T‰ÂÀ`‰Â j‰Â j‰Â`p‰Â€s‰ÂÀy‰Â ‰Â œ‰Â@Ÿ‰Â`¢‰Âஉ Á‰Â Á‰ÂàljÂˉ ډÂàà‰Â@ê‰Â ó‰Â€ð‰Â ŠÂ€ ŠÂÀŠÂ ŠÂà+ŠÂà+ŠÂà+ŠÂ`8ŠÂ`8ŠÂ >ŠÂàDŠÂ WŠÂà]ŠÂ dŠÂ pŠÂ }ŠÂÀŒŠÂ –ŠÂ“ŠÂ –ŠÂ@™ŠÂਊÂਊÂ`µŠÂ€¸ŠÂàÁŠÂÀ¾ŠÂ`Ί€ъÂÀ׊ÂÞŠÂ`çŠÂ íŠÂàóŠÂ`‹ÂÀ ‹ÂÀ ‹Â ‹Âà%‹ÂÀ"‹Â`2‹Â`2‹Â ,‹Â 8‹Â E‹Â Q‹ÂÀT‹Â`d‹Â w‹Â€€‹Â€€‹Â ƒ‹Âà‰‹Â ƒ‹Â ƒ‹ÂÀ†‹Â€™‹Â ©‹Â ©‹Â µ‹ÂÀ¸‹Â ‹€ˋÂ`ȋ ۋÂÀê‹Â@÷‹Â`ú‹Â@÷‹Â ŒÂÀŒÂ ŒÂ ŒÂÀŒÂ€ŒÂàŒÂ ŒÂ ŒÂ &ŒÂ@)ŒÂ€/ŒÂà8ŒÂ KŒÂ€aŒÂ€aŒÂ qŒÂ`^ŒÂ dŒÂnŒÂ`wŒÂ€“ŒÂ –ŒÂ –ŒÂàœŒÂàœŒÂ £ŒÂ@¦ŒÂ ¯ŒÂ ¯ŒÂ@¿ŒÂ ÈŒÂàΌ ՌÂ`ی îŒÂ îŒÂÀäŒÂ îŒÂ îŒÂ îŒÂ`ôŒÂ úŒÂ  ÂÀÂÂà  ,Âà2Â`? EÂ@UÂ`X ^ ^ÂàdÂh kÂ@nÂ`qÂà}€ Â`ŠÂ „Â`ŠÂ Âà– Â`£Â€¦Âà¯Â ¶Â ÂÂàÈ ÂÂÌÂ@ÒÂàá ôÂ`î ôÂ@ëÂàúÂàú ŽÂ@ŽÂ  ŽÂŽÂ` ŽÂ` ŽÂÀ)ŽÂ0ŽÂ ?ŽÂ LŽÂ LŽÂàEŽÂ LŽÂ€UŽÂ LŽÂ`RŽÂÀ[ŽÂ€nŽÂ qŽÂ qŽÂàwŽÂ`„ŽÂ ŠŽÂàŽÂ —ŽÂàŽÂàŽÂ —ŽÂ £ŽÂ £ŽÂ€ ŽÂ੎­ŽÂÀ¦ŽÂ £ŽÂ€¹ŽÂ`ώ Վ âŽÂ€ëŽÂ ûŽÂ ûŽÂÀ ÂøŽÂ€ ÂÀ ÂÂ`ÂÀ# -ÂÀ# - -Â@0Â@0Â`3 -Â@0€6€6Âà? F€O€O R RÂÀUÂàXÂ`e€hÂu€ „ÂàŠÂ „ÂàŠÂàŠÂ€šÂ ÂÀ Â@­Âà£Âà£Â`°Âà£Â ¶ÂÀ ÃÂ`ÉÂà¼Â ÃÂ`ÉÂÙ Ü Ü èÂàî õÂòÂ@øÂ@øÂ õ õÂÀë õÂ@øÂ õ€þÂàÂÀ   €Â$Â@* 3 @Âà9Â@C @Â@CÂ`F Y eÂàk rÂàkÂàkÂ@uÂ`x ~Â`x ~Â`‘Â`‘Â@ŽÂˆÂ ‹Â€” ¤Â¡Â`ªÂÀ³Âà¶Â ÉÂàÏÂàÏÂàÏ ÖÂÓÂÓ Ö Ö â€ß âÂàèÂ`õ ïÂì ïÂÀå û€øÂ ‘ ‘Âà‘Âà‘Âà‘Â`'‘ !‘‘Â`'‘€*‘ -‘Â7‘ÂÀ0‘ :‘Â`@‘Â`@‘Â`@‘Â@=‘€C‘ÂÀI‘Â@V‘Â@V‘ S‘ _‘Âàe‘Âi‘Â`r‘ l‘ l‘ _‘ l‘ÂÀ{‘Âà~‘ ‘‘Âà—‘Â ž‘ ª‘ ª‘ ª‘Â`¤‘ ª‘Â`¤‘€§‘Â`¤‘ÂÀ­‘ ·‘´‘€À‘Â`½‘ Ñ Б€ّÂ`֑€ّ é‘ é‘Â@ì‘ é‘Âàâ‘Â@ì‘Âàâ‘Â@ì‘ õ‘Âÿ‘Âÿ‘Âÿ‘Âÿ‘Âàû‘Â@’ ’Âàû‘Âàû‘Âÿ‘Â@’ÂÀ’ ’ ’Â`!’Â`!’Â`!’ ’€$’ '’€$’ '’Â`:’ÂàF’ÂJ’ @’ @’ @’Â@P’Âà_’Âc’ f’ f’Â`l’ f’Âc’Âà_’Âc’ f’Â@i’ f’Âàx’Â`l’ÂÀu’Â|’Â`…’€ˆ’ ‹’•’ ˜’•’Â@›’€¡’®’Â`·’®’Â઒Â઒Â઒ ±’ ¤’Â@´’ ¤’ÂÀ§’ ±’ÂÀÀ’ ʒÂ@͒ ֒Âà’Âà’Âà’ ã’ ã’€ì’ ï’€ì’ ã’ÂàÜ’Â ã’Âà’ ã’ ï’Â@æ’ ï’Âàõ’ ü’Â@ÿ’ “Â@ÿ’Â@ÿ’ “Âà“ “Â`“€“ !“€“Âà'“ÂÀ$“Â+“Âà'“Â+“Â@1“ :“ :“Â+“Â@1“ :“ÂÀ=“ :“ G“ÂÀ=“ :“ G“Â`M“ G“ÂàY“ S“ `“Â@c“ÂÀo“ y“Âv“€i“ `“€i“ l“ l“ l“ÂÀo“Âv“Âv“Â`f“ l“Âv“Â`“Â@|“€‚“ …“ÂÀˆ“ ’“¨“ «“ ·“ «“ «“ «“ «“ «“ «“€´“Â`±“€´“ ·“ ·“ÂནÂÁ“ ē ēÂནÂÁ“ÂÀº“Â@Ç“Â@Ǔ ГÂàÖ“Â Ý“ÂÀÓ“Â Ý“ÂÀÓ“Âړ€æ“Â`ã“€æ“ÂÀ쓀擀æ“ÂÀì“Âàï“ ö“ ö“Âàï“Â@ù“€ÿ“ ”Âà” ”Âà”Â`”€” ”Âà!”Âà!”Â%” (” (” (” ” (”Â%” (”ÂÀ7”Âà:”Âà:”Â>”Âà:”Âà:”Âà:”Â`G” A”Â>”Â>”€J”Â@D”€J”ÂàS” Z” M”ÂW”ÂW”ÂÀi”Â``” Z”Â``”Âàl” f” s” s”Â`y” ”Âp”Â@v”Âp” s”€|”€|”Âp” ”Â@”Âà…”Â Œ”Â`’”Â@”Âà…”Âà…”Â€•”ÂÀ›”¢”¢” ¥” ±” ¾”ÂÀ´” ±” ¾” ʔ ʔ ¾” ¾” ¾”Â@Á” ¾”Â@Á” ¾”Â@Á” ʔÂÀÍ”ÂàД הÂԔ ã”Âàé”Âà销à”Â`Ý”Âàé” ã”€à” ã”Âàé” ð” ð”Â`ö”€ù”Â@ó” ð” ü” ü”••Â`• • •Â`• • "•Â`(•• • •Âà•Âà•ÂÀ••Â@%• .•€+•Â8•Â8•Â8•ÂÀJ•ÂÀJ•Â`A• ;•Â8• G• G•ÂàM• G•€D• G• G•ÂÀJ•€D•ÂQ•Â`Z• `•Âàf•Âj•Âàf•Âj•Âàf•Âàf•Â@W• T• `•Âàf•Âàf•Â`s•Â@p•Âàf• m•Â`s•Â@p• m•€v•€v•Âà•€•ƒ• †•Â`Œ•ÂÀ••œ• Ÿ• Ÿ•€¨•ÂÀ®•Â@»• «•Â@¢•Âౕ ¸•€¨• Ÿ•Â@¢• Ÿ•œ•Âౕµ•Â@»•Â@»•Â`¾•Â@»•€Á•Â`¾• ¸•µ• ¸•Âౕ ĕ ѕ€ڕÂ`ו€ڕÂ@Ô•Â`ו ݕ ݕÂàã• ê•Âàã•€ó•€ó•–Âàü• ö•Âàü•€ó•ÂÀù•Â`ð•€ó•ÂÀù•Âàü•– – –€ –Â@– – – –ÂÀ––Â@– –Âà.–ÂÀ+– (–Âà.–Âà.–ÂÀ+– 5–Âà.– 5–Âà.–Âà.– (– (–Âà.– 5– 5– 5– 5–ÂàG–€>–€>–€>–Â`;–€>–ÂK–ÂK–ÂàG–ÂàG–ÂàG– N– N–Â@Q–€W– N–Â`T– N– N–€W– Z– Z–Â`T–Â`T– N–Â`T–Â`T– N– N–Â`T–Â`T– Z–Âà`– g– Z–€p– s– s–€p–Â@j–Â`m– g–Âà`– Z– N– Z–Âà`– g– g– s–€p–€p–Â`m– g–Â`m–€p– s– s– s–Â`†–Â`†– €–Â@ƒ–Â@ƒ–ÂÀv–Â@ƒ–ÂÀv–Â`†–Âà’–Âà’–Â`Ÿ–Â@ƒ–Âày–Â}–Â`†–€‰–€‰– Œ– €– €–Â`†–€‰–€‰– €–€‰–Â`†–€‰– Œ– ™–€¢–€¢–Â@œ– ™–Â`Ÿ– ¥–ÂÀ¨–ÂÀ¨–Âà«–Â@µ– ²– ²– ¥–€¢– ¥– ²–Â`¸–ÂÀÁ– ˖ ¾– ¾–Â`¸–Â`¸– ²– ²– ²–Âà«–ÂÀ¨– ¥–¯–Â૖€»– ˖Â`Ñ–Â`Ñ–Â@ΖÂ@ΖÂȖ ¾–ÂÀÁ–Â@ΖÂ`Ñ–Â Ë–Â Ë–ÂàÄ–ÂÀÁ–ÂÈ–Â@ΖÂÀÁ–Â@Ζ ˖ ז ז ז ˖ÂÈ–ÂàÄ–Â Ë–Â`Ñ–Â ä–ÂÀږ€ԖÂàݖ ז€Ԗ זÂÀÚ–ÂÀÚ–Â`Ñ–Â`і€Ԗ ˖€Ԗ ä–Â@ç–Âàö– ä–Âá– ä–Â@ç–Â`ê–€í–Â@疀햠ð– ð–ÂÀó– ð– ð–Âú–Âú–€—Â`—Âú–Âàö– ý–Â@—Â@—Â`—Âú– ý–Âàö– ý–Â`—€—Â`—€—€—Â`—Â@—Âàö–Â@—€—  —Âà—— ——Â@— —ÂÀ —  —— "—Â`—Â@—Â`—€——Âà—ÂÀ —Âà—  — ý–ÂÀ —Âà—Â`—Â@—Â`—€— —€—Â`—ÂÀ%—ÂÀ%—€—Â`—Â`—€—Âà(— /—Â,—Âà(—ÂÀ%—Âà(—€—Âà(—Â`5—Â`5— ;— ;—Â`5— ;— ;— ;—ÂÀ>— H—ÂàA—Â`5— ;—ÂE—Â@K— H—Â`N—ÂÀ>—ÂàA— ;—Â`N—ÂàA—€8— ;—Â`5—€8—ÂàA—ÂàA—ÂE— H— H—€Q—Â@K—ÂE—€Q— T—€Q—ÂàA—Â`N—€Q— T—ÂàZ—Â`N—Â@K—ÂÀW— T—€Q— T— T— a—Â^—€j—Â`g—Âàs—€j— m—€j—€j— m—ÂÀp—€j—Â`g— m—ÂÀp—Âw—Â@}—€ƒ—ÂÀ‰— †—Â`€—Â@}—Âàs— †—Â@}—Â`€— z—Âàs—Âw—Â`€—Â`€— z— †——ÂàŒ—Â`€— z—€ƒ—€ƒ— “—ÂÀ‰— “— “—Â@–—Â`™— Ÿ—Â`™— “— “— “—— “—Â@–—Â`™—Â`™—Â@–— Ÿ— Ÿ—ÂॗÂ@–—€œ— Ÿ—Â`™—ÂÀ‰——€œ— Ÿ—€œ— “— “—Â@–— Ÿ—Âॗ ¬—©— ¬—©—©—ÂÀ¢— ¬—Â@¯— ¬—€œ— “—€œ—Â@–—Â`™—Â`™— “—€œ— Ÿ—€œ— Ÿ—Âॗ Ÿ— ¸—ÂÀ»—ÂÀ»— ¸— ŗÂÀ»—ÂÀ»—Âྗ ŗÂྗ ŗÂྗ ¸—€µ—ÂྗÂྗ€µ—©—Â`²—ÂÀ»—Âྗ— ¸— ¸—€µ—ÂॗÂÀ‰—Â@}— m—Â^— ;—Â@—€—Âú–ÂàÝ–Â@Ζ€»– ™–Â`Ÿ–€‰– s–Â`m–ÂÀ]–€W– N– A–Âà.–€%–€%– – – –Â` – – ö•€ó•Âç• ݕ ݕÂÀà•Â@ԕ ݕÂ`וÂÀǕ ĕÂ`¾•ÂౕÂ`¥•Â`¥• Ÿ• «•Â@¢•Âà˜•Â`Œ• †•ƒ•ÂÀ|• m• m•Â@p•Âj•Âàf•Âàf•ÂÀc•ÂàM•ÂàM•ÂàM• G•ÂÀJ•ÂàM•€D•Â8• .•Â`(•ÂÀ1•€+•ÂÀ1•Â`(•Â`(•€+• "••Â`••Âà•Âà•Âà•ÂÀÿ” ü” ü” ð” ã”Âàé”Âàé”Â`ö”Â@ó” ð” ð”ÂÀƒ˜Â ­¶ÂànÎÂ`ÌÍÂÓÂÂ…¶Â•«Â@Ÿ¢Â ”›Âàü• ÂÂ@÷VÂÀ@ÂÀJ–Â{€ŽõÁ€öºÁòZÁI¿JvA€qBÀü:B€,dBR}B…„B@!…B@‚B€•xBÀõiB€nYBÀàGBS6B@)%BÀÍBB“îAgÔA€m¼AO¦A´‘AŠ|A³XA7AáAäí@œ®@¨^@PÃ?€Ô¾XÀhÀÊÐÀý Áÿ*ÁLÁ¸lÁ€·†Á€—Á€ §Áü·ÁÈÁn×Á€„æÁìôÁ@RÂ@ÝÂÀ÷ ÂÁÂ9ÂfÂ@N#Âø'Â@1,Â@0€Š3ÂÀ°6€9ÂÀ<Â@[>ÂÀ[@ÂVBÂÀD€´EÂÀGÂÀ]HÂÀ‰I£JÂKÂÀwLÂÀ?M€èM€°NÂÀ~OÂ@!PÂÀªPÂÀ'QÂÀ½QÂ@.RÂ@’RÂÀSÂÀfS€ÝS€ATÂ@ŸTÂ@êTÂ@5UÂ@€UÂÀ¾UÂ@ýUÂÀ;V€€VÂ@ÅVÂñVÂ@BW€aW WÂÀËWÂ@ñWÂÀ/XÂÀHXÂXÂÀÅXÂÀ÷XÂY€UYÂÀYÂ@³Y€ëYÂ*ZÂÀUZÂ@”Z€ÌZÂÀëZ [€I[Âo[Â@Ž[ÂÀš[ÂÀ³[Â@Ù[Â@ \Â7\ÂÀ{\ÂÀ­\ÂÀß\Â]Â@7]€V]ÂÀu]ÂÀ§]Â@Í]Â@æ]ÂÀò]Â@^Â@1^€7^€P^Â^Â@®^ÂÀÓ^€æ^Â@ù^Â>_€•_Â@¨_Â@Ú_Â`Â@>`Â@W`Âj`ÂÀ|`ÂÀ®`Â@í`ÂÀaÂ@QaÂdaÂ@jaÂÀaÂ@µa€ÔaÂÀ b€8b€jb€œbÂ@ábÂÀcÂ@c€KcÂ@wcÂÀœcÂÀµcÂîc dÂ@?dÂRdÂ@qdÂÀddÂÀ–dÂÏdÂÀúdÂ@ eÂeeÂ@keÂÀwe€£eÂ@ÏeÂ@èeÂfÂÀ?fÂ@Lf€kf‘fÂÃfÂÀîf€gÂ@-gÂ@_g‹gÂ@‘gÂ@ÃgÂ@ÜgÂhÂÀhÂÀLhÂÀ~hÂÀ—hÂ@½hÂ@ïhÂiÂMiÂfiÂ@…i±iÂ@ÐiÂ@ÐiÂÀjÂ@4jÂÀYjÂ@j«j€ÐjÂÀkÂÀ!k€4kÂÀSk€fk€k€˜k¾kÂðkÂ@lÂ@AlÂmlÂ@ŒlÂÀ˜lÂ@¥lÂÀãlÂ@ðlÂmÂ5mÂÀ`mÂ@†m€¾mÂ@nÂ@n€"nÂÀ(nÂ@NnÂznÂ@™n€¸nÂ@ËnÂÀ×nÂ÷nÂÀ;oÂÀmoÂ@ao€€oÂoÂ@ÅoÂØoÂ@ÞoÂ@pÂ@)p€/pÂÀNpÂ@tpÂ@¦pÂ@¿pÂÀËpÂëpÂÀqÂ@yÂ@WyƒyœyµyÂÀÇyÂ@íyÂzÂÀz€>zÂÀvz–zÂÀÁzÂÀÁzÂáz€íz€{Â@K{Âw{Âw{Â{Â@È{Â@á{ÂÀí{ÂÀí{ÂÀ|Â?|Â@^|Âq|Š|ÂÀœ|Â@Â|€á|ÂÀ}Â}€}ÂÀ2}ÂÀK}Â@q}€}Â@£}Â@¼}ÂÀá}ÂÀ~Â3~ÂL~ÂL~€q~—~ÂÀÂ~€Õ~Âû~ÂÀ&ÂÀ&ÂÀ?€RÂ_ÂÀŠÂ@°ÂÃÂÜÂõÂ@û€€Â €Â`)€Â <€Â <€ÂR€Â a€Â n€Âà€€ÂÀ–€Â “€ÂÀ¯€Â ¹€Â@¼€Â Å€Â`Ø€Â`Ø€Â`؀ ހ€ô€Â ÂÀ Â@  )Â3ÂLÂ`UÂàa€qÂàzÂà“Âà“ šÂ ¦Â`¹Â ¿Â ÌÂàÞÂÀô  ‚Â@‚ÂÀ&‚Â-‚ 0‚ <‚€9‚ <‚ I‚€R‚ b‚€k‚Â@~‚ÂÀŠ‚Âà‚Â@—‚ÂংÂ`³‚ ¹‚Â@É‚ÂÜ‚Â܂ ø‚ ƒÂ`ƒÂ€ƒÂ€ƒÂ *ƒÂà#ƒÂ@ƒÂ OƒÂ \ƒÂ@_ƒÂ€eƒÂ hƒÂ@xƒÂà‡ƒÂ`”ƒÂ¤ƒÂ@ªƒÂ`­ƒÂ ³ƒÂ@ÃÂփ كÂïƒÂ òƒÂ þƒÂ„ÂÀ„ $„Âà6„Â`C„ I„Â`\„€_„Âàh„Âl„ {„Âà„Â@‹„Â`Ž„Âž„€ª„ º„Â`À„Â`Ù„Â ì„Âàþ„€…Â… …Âà0… 7…Â`=… C…ÂàI… P… i…Âà{… ‚…Â Ž…Â`ˆ…˜…€¤…Âà­…Â`º… À…ÂÀÅ مÂà߅ ò…ÂÀõ…  †Â`†Â`†Â€!†Âà*†Â =†Â J†Â V†Â o†Â o†Â@f†Â€l†ÂÀr†Â`‚†Â ˆ†Â ˆ†ÂàŽ†Â •†Â ®†Â º†Â`͆€ІÂÀֆ à†Â ì†ÂÀï†Â€‡Â ‡Â@‡Â ‡Â +‡ÂÀ!‡Â`1‡ÂA‡Â 7‡Â 7‡ÂÀ:‡Â D‡ÂÀS‡Â P‡ÂÀS‡Â€f‡Âào‡Â v‡Â v‡Â`|‡Â ‚‡ÂÀ…‡Â ‚‡ÂŒ‡Â`•‡Â€˜‡ÂࡇÂ`®‡ÂÀ·‡Â@ćÂ@ćÂàÓ‡Â`à‡Â`à‡Â@ö‡Â`ù‡Â€ü‡Â ˆÂ@ˆÂàˆÂ@(ˆÂ€.ˆÂ 1ˆÂ >ˆÂ 1ˆÂ`DˆÂ JˆÂ WˆÂ€`ˆÂ€yˆÂ†ˆÂ@ŒˆÂ`ˆÂ`ˆÂ`ˆÂ •ˆÂÀ˜ˆÂ ¢ˆÂ ®ˆÂ@¾ˆÂ ÇˆÂà͈ àˆÂ`ÚˆÂêˆÂêˆÂ`óˆÂÀüˆÂÀüˆÂàÿˆÂàÿˆÂàÿˆÂ‰Â` ‰ÂÀ‰Â@"‰Â +‰Â 8‰Â€A‰Â@T‰Â Q‰Â j‰Â`p‰Â€s‰Â€‰Â ‰Â@Ÿ‰Â™‰Â€¥‰Â ¨‰Â€¥‰Â`¢‰Â€¥‰ÂÀ«‰Â`»‰Â Á‰Âàlj Ή ډÂÀ݉ÂÀö‰ÂÀö‰Â ŠÂ€ ŠÂŠÂ`ŠÂ@ŠÂà+ŠÂ 2ŠÂ@5ŠÂàDŠÂ€;ŠÂ`8ŠÂ >ŠÂ KŠÂà]ŠÂ`jŠÂ dŠÂ dŠÂ dŠÂ pŠÂ }ŠÂzŠÂàŠÂ –ŠÂ ¢ŠÂ ¯ŠÂ`µŠÂÅŠÂ`Ί€ъÂ`Ί ԊÂàÚŠÂ áŠÂ€êŠÂ@äŠÂ íŠÂ íŠÂÀðŠÂ@ýŠÂ ‹Â‹Â‹Â‹Â€‹Âà%‹ÂÀ"‹Â ,‹Â 8‹Âà>‹Âà>‹Âà>‹Âà>‹Â€N‹ÂàW‹Â ^‹Â@a‹Â ^‹Âàp‹Â w‹Â ƒ‹Âà‰‹Â‹Â`–‹ÂࢋÂ@¬‹Â€²‹ÂÀ¸‹Â€²‹Â¿‹Â Î‹ÂØ‹ÂÀы ۋ ۋÂÀê‹Âàí‹Âñ‹Â€ý‹Â`ú‹Â€ý‹Â ô‹Â@÷‹ÂÀŒÂ ŒÂÀŒÂ ŒÂ€/ŒÂ 2ŒÂà8ŒÂ<ŒÂ@BŒÂ€HŒÂ KŒÂUŒÂÀNŒÂÀNŒÂ XŒÂ€aŒÂàjŒÂ qŒÂÀ€ŒÂ }ŒÂ }ŒÂ –ŒÂ –ŒÂàœŒÂÀ™ŒÂÀ™ŒÂ –ŒÂ ŒÂ€¬ŒÂ ¯ŒÂ ¯ŒÂÀ²ŒÂ¹ŒÂ`Œ ՌÂàΌ ՌÂÀäŒÂ€÷ŒÂ úŒÂ úŒÂ úŒÂ`ôŒÂ€÷ŒÂ ÂÀÂà  , 9Âà2Âà2 9Âà2Âà2€B R€[ ^Âh kÂÀzÂà} „ „ „Â@‡Âà– €¦Â@ Â@ Âà¯Â ©Â ³ ÂÂàÈ€¿Â`¼ÂÌ Ï ÏÂàáÂ@ë€ñ ôÂÀ÷ ŽÂ ôÂàú ŽÂÀŽÂ@ŽÂ &ŽÂ€<ŽÂ ?ŽÂ`9ŽÂ€<ŽÂ ?ŽÂàEŽÂàEŽÂ@OŽÂ LŽÂ`RŽÂ€UŽÂ@OŽÂÀ[ŽÂ@hŽÂ€nŽÂ qŽÂàwŽÂÀtŽÂ`„ŽÂÀŽÂ —ŽÂ —ŽÂ੎ ¼ŽÂ­ŽÂ­ŽÂ੎ °ŽÂƎ Ɏ ¼ŽÂàÂŽÂàŽ€Ҏ Ɏ ՎÂàێ€ëŽÂ@þŽÂ ûŽÂ ÂÀ Âà  €Â@    €  Â@0€6Â`L€O R R RÂàXÂàX _Â@b _Â@b€h k xÂ@{ „Â`~ „ ‘ÂŽÂ@” €šÂÀ ÂÀ ÂÀ Â§Â`°Â ¶ÂÀ¹Â ¶Â`°ÂÀ€Ì ÏÂÀÒÂàÕÂ`âÂòÂ`ûÂÀÂàÂà ÂàÂ`û Â@Â`Â$ 'Âà Âà Â`-€0 'Â@*Â`-Â`- 3Â@C€IÂÀOÂVÂ@\€b eÂ@\ eÂoÂ@u ~ˆˆÂÀ€”Â`‘ ‹Â`‘€”ÂÀšÂ ¤Â€­Â`ªÂ °Â`ªÂ€­Âà¶Â€ÆÂ`à½Â€ÆÂàÏÂ@Ù Ö â ïÂ`õ€øÂ€øÂ ïÂàèÂìÂ@òÂ`õ€øÂ`‘€‘ ‘ ‘Âà‘‘ -‘Âà3‘€*‘Â@$‘ÂÀ0‘Âà3‘Âà3‘Âà3‘Âà3‘ :‘Â`@‘ÂàL‘ S‘ÂP‘€\‘ _‘Â@o‘Â@o‘€u‘€u‘ x‘ x‘ÂÀ{‘Âà~‘€u‘Â@o‘ x‘Âà~‘‚‘ …‘Â@ˆ‘ ‘‘ ‘‘ ‘‘ ž‘ ž‘ ž‘Â`¤‘Â`¤‘Âà°‘Âà°‘Â`¤‘ ª‘€À‘ÂÀƑ Б БÂ`֑€ّ ܑÂÀߑ ܑ ܑÂÀߑ é‘Â`ï‘ÂÀø‘ÂÀø‘€ò‘Â`ï‘Âàâ‘Âàâ‘ é‘€ò‘ÂÀø‘Âàû‘€ ’ÂÀ’Âà’ ’Âà’ ’ '’€$’Â`!’€$’ '’Â1’Âà-’Âà-’ 4’Â`:’ÂJ’Â@P’ M’ÂÀC’ M’Â`S’ Y’Â`S’€V’Âà_’Â`l’Â@i’€o’Â`l’€o’Â|’Â|’Â`…’ÂÀŽ’ÂÀŽ’Âà‘’Â ‹’Â`…’•’Â@›’€¡’Â`ž’ ˜’Â@›’ ¤’®’ ¤’Â઒Â઒Â@´’ÂàÃ’Â Ê’Â@͒ ֒Âàܒ ֒€Ӓ€Ӓ ã’Â`é’ ã’Â@æ’Â@æ’Âàõ’Âàõ’ ü’ÂÀò’ ü’ ü’ ï’Âàõ’Â`é’Â`é’Âàõ’Â`“Âà“€“ “Âà“Â@“ !“Â`“Âà“Â`“ ““ !“ÂÀ$“ÂÀ$“ .“ .“Â`4“ .“Âà'“ .“Âà'“Â`4“ :“ :“ :“ÂÀ=“ÂD“Â`M“ÂÀV“ `“ÂÀV“Â@c“ `“€i“Â`f“€i“ÂàY“ÂàY“ÂàY“ `“ `“Â@c“ l“Â`f“ l“ y“ y“Â`“ y“ y“Â@|“ ’“Â`˜“Âà‹“Â“Â`˜“ÂÀ¡“ÂÀ¡“¨“ÂओÂओÂÀ¡“¨“Â`±“ÂओÂÀ¡“ «“ «“Â@®“€´“Â`±“Âན «“ «“Â`±“ÂÀº“ ēÂ`ʓ ēÂནÂནÂÁ“€͓Â`Ê“Â`Ê“ÂནÂ`ʓ ē ГÂ`ʓ€͓Â@à“Â@à“Â`㓀擀擠é“Â`㓀擠ö“Âàï“ é“ÂÀì“ ö“Â`ü“Âó“Âàï“Âó“Â`ü“Âà”Âà” ” ” ”Â@” ”Â`”€”€”Âà!”Âà!”Âà!”Â%” (” (”Âà!”Â`.”Â`.” (”Â`.”€1”Â>”Âà:”Â>” 4”€J” M” Z”ÂàS”ÂÀP” Z”ÂW”Â``” f” f”Âàl”ÂÀi”ÂÀi” f”Âàl”Âp”Â`y” s” s”€|” Œ” Œ” Œ”Âà…”Â`’”Â@”Â`’”‰” Œ”Â`’”€•”Âàž”Â¢” ¥” ¥”¢”¢”Â@¨” ¾”Âු€®” ±”Âු€®”€®”ÂÀ´”Â`«”€®” ¾”Â`Ä”Â`Ĕ ¾”Â`Ĕ€ǔÂ`Ĕ€ǔ ʔÂÀÍ”ÂÔ”Â@Ú”Â@Ú”Â`Ý”ÂÀæ” ã”Â`Ý”Â@ڔ€à”Âí” ð” ð”Âàé” ð”Â@ó”Â`ö”Â`ö”ÂÀÿ” ð”Â`ö”Â`ö”Âà•€• •Â@ •€•ÂÀ•ÂÀ••ÂÀ•Âà•• "•Â@%• "••Âà•€•ÂÀ• •€• • "•€+•Â@%•€+•€+•Â`(• "•Âà• "• "•Â`(•€+•ÂÀ1•Â`A•Â`A•ÂÀJ• G•€D• G•Â`A• G•ÂÀJ•€D•€D• G•ÂQ• T•Â@W• T•Â`Z• `• `•€]•Âàf•Âàf•ÂÀc• m• m• y• y• y•Âà• †•Âà•Â@p• y•Â@p• y• y•ƒ• ’•Â`Œ•Âà•Â@‰•Â`Œ•Âà˜•Â Ÿ•Âà˜•Â Ÿ• «•Â@¢•Â@¢•ÂÀ••Âà˜•Âœ•Âà˜•Âà˜•Âœ• «• Ÿ•Â`¥•ÂÀ••€•Âà˜•Â`¥•€¨•Â`¾•Â`¾•µ•Â@»• ĕÂΕÂàʕ ѕÂàÊ•ÂàÊ•ÂàÊ•Âàʕ ѕÂΕÂàʕ ѕÂ`ו ê• ê•Â`ð• ê• ê•Âàã• ݕ€ڕ ݕ€ڕ ݕÂ@ԕ ݕÂàã•Âàã• ê•Âç•ÂÀà• ê• ê•Â@í•ÂÀù•Â`ð•Â`ð•Âàü• ö• ö•Âàü•–ÂÀù•––Âàü•–ÂÀù•–ÂÀ–Â` – – –Â@–€%–€%–Â`"–Â@–€%– (–Â`"–Âà.– 5–Âà.– 5–ÂÀ+–ÂÀ+–ÂÀ+– (–ÂÀ+– (– (–Â2– 5– 5–Â`;–€>– A–ÂàG– N– N–€W–€W–ÂK–ÂàG– N–Â@Q–ÂK– A–ÂàG–Â@Q– Z–€W–Â`T–ÂK–ÂK– N–Â@Q–Â@Q–€W–€W–ÂÀ]– Z–Âd–Â@j–Â`m–€p–€p– s– s– s–ÂÀv–Âày– s–Â}–Âày–Â@ƒ–€‰–€‰–Âà’–Â€‰–Â`†–Âày–Âày–Â}– €–Â@ƒ– €–Â}– €– €– €– s–Â@ƒ– Œ–€‰– Œ– ™– ™– ™– ™–ÂÀ– Œ–Â`†– €–Â`†– Œ–Â@ƒ–€‰–€‰–€‰– Œ– Œ– Œ–ÂÀ–––€‰–Â`†–ÂÀ– ™–€¢–Âà«–ÂÀ¨–Â૖€»–€»–ÂàÄ–ÂÀÁ– ¾– ¾– ¾–Â`¸–Â@µ–Â`¸– ¾–€»–Â@µ– ¾–€»– ¾–€»– ¾– ˖ÂàÝ–ÂàÝ–ÂÀږ ז€ԖÂÈ–ÂÀÁ– ¾–ÂÈ–Â@Ζ ˖Â`і זÂ`і ז€Ԗ ז זÂ`Ñ–ÂàÝ–Âá–Âá– ä–ÂàÝ–Âàö–€í–Â@ç–Â@ç– ä– ð–Â`ê– ä– ð–Â`ê– ð–€í– ð– ý– ð–€í– ð–Âàö–Âàö– ý–  — ý–Âú–Â@— ý– ý–Âàö–Âú–Âàö–Â`—ÂÀ —Âà—€—Âàö–Âàö– ý–  —  —Â@—  —Â@—€—ÂÀ —Â`— ——ÂÀ —Âà—Â`—€—Â@— ý–Â`—  —Âà— —Â@—€—€—€—Â,—Â,— ;—Â@2— ;—ÂÀ>— H—Â@K—ÂàA—€8—Â`5— ;—ÂÀ>—ÂÀ>—ÂàA—ÂÀ>— ;—Â`5—ÂàA—ÂÀ>—Â`N—Â`N—Â@K— H—Â`N—Â@K—ÂÀ>—ÂàA—Â@K— H—Â`N—Â@K— H—Â`N—€Q—ÂàZ—ÂàZ—ÂàZ—Â^—Â^—Â^—ÂàZ— T—€Q—ÂÀW—Â^— a—Â@d—€j— m—Âàs—Âàs— †—Â`€— z— a— a— a—€j—Â@}—Â@}—Â`€—Â`€—Âàs—Âàs—Â`€— z— z—ÂÀp— z— z— z—Â@}— †— †— †— †—ÂÀ‰—ÂÀ‰— †—— “—ÂàŒ—ÂàŒ—Â “—ÂÀ¢—ÂÀ¢—€œ——Â@}— †—ÂàŒ—Â—Â@–—€œ— “— Ÿ— Ÿ— Ÿ—©—Â@¯—ÂॗÂॗ ¬— ¬—Â`²—Â@¯—ÂÀ¢—Âॗ€œ—ÂÀ¢—©—Â`²—ÂÀ¢—ÂॗÂॗ©—Â`²—€µ— ŗ ŗ€µ—ÂྗÂÀ»—ÂÀ»— ¸—ÂྗÂÀ»—ÂÀ»— ¸—Â@ȗ ŗ—— ŗ ŗ ¸— ¸—Â@¯— ¬—©—Â`²— ŗ ŗ ŗ ŗÂÀÔ—ÂÀÔ—ÂÛ—ÂÀԗ€ΗÂÀԗ їÂàח їÂ@È—Â@ȗ їÂ@á—Â@á—ÂÛ—Â`ä—Âۗ€ç— ê—Âàð—€ç— ê—Â`ä— ê— ê— ޗ€ç—Â@ú— ÷—Âô—Â`ý—€˜Âô— ê—Â`ý— ÷—Âô—Âô—Âàð— ÷— ÷—Âàð—ÂÀí—Â`ý—Â`ý— ˜Â@ú—€˜Â ˜Âà ˜ÂÀ˜Â ˜Âà ˜Â@˜Â ˜Â`˜Â ˜Â ˜Â ˜Âà ˜Â ˜Â@˜Âà ˜Â ˜Âà ˜Âà ˜Â@˜Â`˜Â@˜Â ˜ÂÀ˜Â ˜Â ˜Â ˜Â ˜Â€˜Â€˜Â€˜ÂÀ˜Â`˜Â&˜Â€˜Â€˜Â€˜Â@˜Â€˜Â ˜Â ˜Â ˜Â`˜Â`˜Â ˜Â&˜Â`˜Â@˜Â ˜Â ˜Â€˜Â@˜Â ˜Â ˜Âà ˜Âà ˜Â`˜Â`˜Â€˜Âà"˜Âà"˜Â&˜Â ˜Â`˜Â ˜Â ˜Â`ý—Â@ú—Â`ý— ˜Â`˜Â`˜ÂÀ˜Â ˜ÂÀ˜Âà"˜Â )˜ÂÀ˜Â€˜ÂÀ˜Â@˜Â ˜Â€˜Â ˜Â ˜Âà"˜Â )˜Â@,˜Â`/˜Â ˜Â`˜Â ˜Â ˜Â ˜Â ˜Â )˜Â )˜ÂÀ˜ÂÀ˜Â`˜Âà"˜Âà"˜Â )˜Âà"˜Âà"˜Âà"˜Â&˜Â&˜Â&˜Â&˜ÂÀ˜ÂÀ˜Â ˜Â`˜Â`˜Â€˜Â@,˜Â€2˜Â 5˜Âà;˜Â 5˜Â€2˜Â`/˜Â€2˜Â`/˜Â )˜Â&˜Â&˜Âà"˜Âà"˜Â@,˜Â`/˜Â 5˜Âà;˜Â B˜Â`H˜Â?˜Âà;˜ÂÀ8˜Â€2˜Â€2˜Â`/˜Â€2˜Â@,˜Â&˜Â )˜Â )˜Â@,˜Â )˜Âà"˜Â`/˜Â`/˜Â?˜Â 5˜ÂÀ8˜Â?˜ÂÀ8˜Â 5˜Â 5˜Â B˜Âà;˜Â@E˜Â@E˜Â?˜ÂÀ8˜Â€2˜Â B˜Âà;˜Â B˜Â`H˜Â€K˜Â`H˜Â€K˜Â`H˜Â N˜Â€K˜ÂàT˜Â [˜ÂÀQ˜Â [˜Â N˜Â@E˜Â@E˜Â B˜Âà;˜Â@E˜Â N˜Â`H˜Â`H˜Â@E˜Â`H˜Â B˜Â@E˜Â€K˜Â N˜Â€K˜ÂÀQ˜ÂX˜ÂàT˜Â [˜Â@^˜Â [˜ÂX˜Â€d˜Â g˜Â`a˜ÂX˜Â N˜Â g˜Â g˜Â€d˜Â`a˜ÂX˜ÂX˜ÂàT˜ÂX˜Â`a˜Â€d˜Â`a˜Â [˜ÂX˜ÂÀQ˜Â€K˜Â€K˜Â`H˜Â`H˜ÂàT˜Â@^˜Â@^˜ÂàT˜ÂàT˜Â@^˜ÂÀj˜Âàm˜Â g˜Â g˜Âàm˜Âàm˜Â t˜Âq˜Âàm˜Âq˜Â t˜Âàm˜Â€d˜Â g˜Âàm˜Â@w˜Â`z˜Â@w˜Â`z˜Â@w˜Âàm˜Âq˜Âàm˜Â`a˜Â [˜Â [˜Â [˜Â g˜ÂÀj˜Â€d˜ÂÀj˜Â g˜Âq˜Â`z˜Âq˜Âq˜Âq˜Â t˜Â`z˜Âàm˜Âàm˜Â€d˜Â@^˜ÂàT˜ÂX˜Â [˜Â@^˜Â [˜Â N˜Â`a˜Â€d˜Â`z˜Â@w˜Â €˜Â@w˜Âq˜ÂÀj˜Â€d˜Â€d˜ÂÀj˜Â@^˜Â@^˜Â`a˜Â [˜Â g˜Â g˜ÂÀj˜Âq˜ÂÀj˜Â g˜Â g˜Â`a˜Â`a˜ÂÀj˜Â g˜Â@^˜ÂàT˜Â [˜ÂX˜Â€K˜ÂX˜Â g˜Â€d˜Â@^˜ÂX˜Â [˜Â@^˜Â`a˜Âàm˜Â t˜Âàm˜Âàm˜ÂàT˜Â`a˜Â€d˜Â@^˜ÂÀQ˜ÂÀQ˜Â N˜Â`H˜Â B˜Â B˜Â B˜Â B˜ÂX˜ÂX˜Â N˜Â N˜Â€K˜Â€K˜Â N˜ÂàT˜Â [˜ÂàT˜ÂÀQ˜Â€K˜ÂàT˜ÂX˜ÂàT˜ÂX˜ÂàT˜Â@^˜Â@^˜Â [˜Â [˜Â [˜ÂÀQ˜Â [˜Â`a˜ÂÀQ˜ÂàT˜ÂÀQ˜Â N˜Â [˜ÂàT˜ÂàT˜ÂàT˜Â`a˜Â`a˜Â@^˜Â [˜Â [˜ÂX˜ÂàT˜ÂàT˜Â@E˜Â@E˜Â [˜Â g˜ÂÀj˜Â`a˜ÂX˜ÂàT˜Â@^˜Â [˜Â@^˜Â N˜Â [˜Â`a˜Â€d˜ÂÀj˜Â€d˜ÂÀj˜Â€d˜Â g˜Â g˜Âàm˜Â`a˜Â@^˜Â [˜Â g˜Â€d˜Â g˜Â g˜ÂàT˜ÂX˜Â€d˜Â€d˜Â€K˜Â N˜Â`H˜Â N˜Â [˜ÂÀQ˜Â N˜Â@^˜Â [˜Â@^˜Â`a˜Â [˜ÂX˜Â@^˜ÂX˜Â N˜Â€K˜Â?˜Â€K˜ÂàT˜ÂàT˜ÂàT˜Â N˜Â N˜Â N˜ÂX˜Â [˜Â [˜ÂàT˜Â [˜ÂàT˜ÂX˜ÂÀQ˜ÂàT˜Â€K˜Â N˜ÂX˜Â N˜Â`H˜Â B˜Â@E˜Â@E˜Â@E˜Â B˜Â@E˜Â N˜Â N˜Â [˜ÂàT˜ÂX˜Â€d˜Â [˜Â@^˜Â`a˜Â`a˜Â@^˜Â [˜Â N˜Â`H˜Â?˜Âà;˜Â€K˜Â`H˜Â N˜Â N˜ÂàT˜ÂàT˜ÂX˜Â N˜Â N˜Â€K˜Â`H˜ÂàT˜ÂàT˜ÂàT˜Â N˜Â?˜Â B˜Â€K˜ÂàT˜ÂX˜ÂàT˜ÂàT˜ÂàT˜Â [˜ÂÀQ˜Â N˜Â N˜ÂÀQ˜Â [˜Â [˜ÂÀQ˜ÂàT˜ÂÀQ˜Â [˜ÂàT˜Â€K˜Âà;˜Â B˜Â`H˜Â N˜Â`a˜ÂÀQ˜Â [˜Â`a˜Â g˜Âàm˜Âàm˜Âq˜Â`a˜Â€d˜Â`a˜Â`a˜Â€d˜Â`a˜Â N˜Â N˜ÂàT˜Â [˜Â [˜Â N˜Â N˜Â€K˜Â@E˜Â N˜ÂÀQ˜Â€K˜Â€K˜ÂàT˜ÂÀQ˜Â N˜ÂX˜Â [˜Â [˜Â [˜Â€d˜Âq˜ÂÀj˜Â`a˜Â [˜Â [˜ÂàT˜ÂÀQ˜Â@E˜ÂX˜Â [˜Â@^˜ÂX˜Â [˜Â g˜Â [˜Â€d˜Â€d˜Â`a˜Â@^˜ÂÀQ˜ÂàT˜ÂàT˜ÂàT˜ÂàT˜ÂÀQ˜ÂÀQ˜Â N˜ÂX˜ÂX˜Â@^˜Â`a˜Â€d˜Â€d˜Â [˜ÂàT˜ÂÀQ˜ÂàT˜ÂÀQ˜ÂàT˜Â`a˜ÂÀj˜Â@^˜Â`a˜Â g˜Â g˜Âq˜Â t˜Âàm˜ÂÀj˜Â g˜Â€d˜ÂàT˜Â€K˜Â N˜Â`H˜ÂÀQ˜Â N˜ÂÀQ˜Â€d˜Â€d˜Â€d˜Â€d˜ÂÀj˜ÂÀj˜ÂÀj˜Â g˜Â g˜Â [˜Â [˜Â`a˜Â g˜Â`a˜ÂÀj˜ÂÀj˜Âàm˜Â g˜Â€d˜Â€d˜Â@^˜Â g˜Âàm˜Âàm˜Â €˜Â`z˜Âq˜ÂÀj˜Â t˜Âq˜Âàm˜Âq˜Â@w˜Â@w˜Â t˜Â t˜ÂÀƒ˜Â€}˜Â€}˜Âq˜Âàm˜Âàm˜Âàm˜Â t˜Âàm˜Â g˜Â t˜Â`z˜Â€}˜Â €˜Âà†˜ÂŠ˜Âà†˜Â`“˜Âà†˜Â €˜Âà†˜Â ˜ÂŠ˜ÂŠ˜Â ˜Â ˜Â €˜Â €˜Â t˜Â@w˜Â`z˜Â €˜Â €˜Â €˜Âq˜Âq˜Â€}˜Â €˜Âà†˜Âà†˜Â`“˜Â ˜Â€–˜Â ˜ÂÀƒ˜ÂÀƒ˜Â€}˜Â€}˜Â €˜Âà†˜Â`z˜Â t˜Â`z˜Â €˜Â €˜ÂŠ˜ÂÀƒ˜Âà†˜Âà†˜Â €˜Â@˜ÂŠ˜Â ˜Â`“˜ÂàŸ˜Â ™˜Â@˜Â@˜Â ˜Â`“˜Âà†˜Â ˜ÂŠ˜Â`“˜Â`“˜Â ™˜Â ™˜Â ™˜Â ™˜ÂÀœ˜Â€–˜Â€–˜Â ™˜Â€–˜ÂÀœ˜Â€–˜Â`“˜ÂàŸ˜Â ™˜Â£˜Â ¦˜ÂÀœ˜ÂàŸ˜Â ¦˜Â ™˜ÂàŸ˜Â ¦˜ÂàŸ˜Â€–˜Â`“˜Â€–˜ÂàŸ˜ÂàŸ˜Â£˜Â`¬˜Â€¯˜Â ¦˜ÂàŸ˜Â ™˜Â`“˜ÂŠ˜Â ˜ÂŠ˜Â ™˜Â ™˜Â£˜Â£˜Â ¦˜Â`¬˜Â ²˜Â ¦˜Â`¬˜Â@©˜Â ¦˜ÂàŸ˜Â£˜ÂÀœ˜Â`¬˜Âธ ²˜Â ¦˜Â€¯˜Â ²˜ÂÀµ˜Â`¬˜Â ¦˜ÂàŸ˜Â€¯˜Â`¬˜Â@©˜Â`¬˜Â£˜Â ²˜Â@©˜ÂàŸ˜Â@©˜Â ²˜Â¼˜Â¼˜Â¼˜Â€¯˜ÂÀµ˜ÂธÂÀµ˜Âธ€¯˜Â@©˜Â£˜ÂàŸ˜Â ¦˜Â ¦˜Â ¦˜Â ²˜Â`¬˜Â ²˜Â ²˜Â ²˜Â ²˜ÂธÂธ ¿˜Â¼˜Â ¿˜Â ¿˜Â ²˜Â ²˜Â€¯˜Â ²˜Â€¯˜Â€¯˜ÂธÂธÂธÂธÂÀµ˜Â€¯˜Â ²˜Â`¬˜Â`¬˜Âธ ¿˜Â@˜Â`Ř ¿˜Â Ë˜Â ¿˜ÂÀµ˜ÂธÂธ¼˜Â ¿˜Â ¿˜Â@˜ ˘ ¿˜Â ¿˜Â ¿˜Â¼˜ÂÀµ˜Â`¬˜ÂธÂ`¬˜Â£˜Â ™˜Â€–˜Â ¦˜Â`¬˜Â€¯˜Â`¬˜Â€¯˜Â€¯˜Â ¿˜Â ¿˜Â`¬˜Â ²˜Â ²˜ÂÀµ˜Âธ€Ș¼˜Âธ€Ș€Ș ˘Â`ŘÂÀµ˜Âธ ¿˜Â ²˜Â`¬˜Â`¬˜Â£˜Â ¦˜Â`¬˜Â ²˜ÂÀµ˜Â€¯˜Â`¬˜Â`¬˜Â ²˜Â ¦˜ÂàŸ˜Â£˜Â`¬˜Â ™˜Â`“˜Â ˜ÂŠ˜Â ™˜ÂÀœ˜Â€–˜Â£˜Â`¬˜Â@©˜ÂÀµ˜Â¼˜Â ¿˜Â ²˜ÂàŸ˜Â@©˜ÂàŸ˜Â€–˜Â€–˜ÂàŸ˜ÂàŸ˜ÂÀœ˜Â ¦˜Â£˜ÂàŸ˜Â£˜Â@©˜Â@©˜ÂÀœ˜ÂàŸ˜ÂàŸ˜Â`“˜ÂÀœ˜Â@˜Â`“˜Â@˜Â ™˜Â€–˜Â ™˜Â ™˜Â€–˜ÂàŸ˜Â ™˜Â ˜ÂŠ˜ÂÀƒ˜Â€}˜Â €˜Â €˜Âà†˜Âà†˜Â ˜Â ™˜Â ™˜ÂàŸ˜Â ™˜Â@˜Â@˜Â ˜Â ™˜Â`“˜ÂŠ˜Â`“˜Â€–˜Â€–˜ÂÀœ˜Â ¦˜ÂàŸ˜Â ¦˜Â ¦˜Â@©˜Â ¦˜Â ™˜ÂÀœ˜Â ™˜Â€–˜Â£˜Â@©˜Â€¯˜Â`¬˜Â ¦˜Â`¬˜ÂÀœ˜ÂàŸ˜ÂÀœ˜Â£˜ÂàŸ˜Â ¦˜Â`¬˜Â@©˜Â€¯˜Â@©˜Â`¬˜Â ²˜Âธ ²˜Â ²˜ÂÀµ˜Â€¯˜Â`¬˜Â ¦˜Â€¯˜Âธ ¦˜Â ¦˜Â`¬˜Â£˜Â ¦˜Â@©˜Â€¯˜Â ²˜Â ²˜ÂธÂ@©˜Â ²˜Â€¯˜Â ¦˜ÂÀµ˜Â ²˜Â ²˜Â`¬˜Â`¬˜Â€¯˜Â€¯˜Â ¦˜Â ¦˜ÂàŸ˜ÂÀœ˜ÂàŸ˜Â ¦˜ÂÀµ˜Â€¯˜Âธ ²˜ÂÀµ˜ÂธÂÀµ˜Â€¯˜ÂธÂ`¬˜Â ¦˜Â ¦˜ÂàŸ˜Â ¦˜Âธ¼˜Âธ¼˜Â ¿˜Â€È˜Â Ë˜Â`ŘÂธÂÀµ˜ÂÀµ˜Â€¯˜Âธ ¿˜ÂธÂ@˜¼˜Â`Ř ˘ ˘€ȘÂ`ŘÂ@˜Â`Ř¼˜Â@©˜Â ²˜Â`¬˜Â ²˜Â ²˜Âธ€¯˜Â€¯˜Â ²˜Â¼˜Âธ¼˜Â€¯˜ÂÀµ˜Â ²˜Â`¬˜ÂธÂÀµ˜Â ²˜Â ²˜ÂธÂธÂธ ˘Â`Ř ¿˜Â@˜ ¿˜Â ¿˜Â ¿˜Âธ ¿˜Â ¿˜Â`ŘÂàј ˘ ˘ ¿˜Â ¿˜Â€È˜Â¼˜ÂธÂธÂธ ¿˜Â Ë˜Â ؘÂÀΘÂ`ŘÂธÂ`Ř ˘Â`Ř ˘ ˘ÂÀΘ€ȘÂàј€Ș ˘ ؘÂ@ۘ ˘Â@˜ ˘ÂÀΘ€Ș€Ș ¿˜Â ¿˜Â ¿˜Â ¿˜ÂàјÂÕ˜Â՘€Ș€Ș ˘€Ș ˘ ˘ÂÕ˜Âàј ˘Âธ€Ș€Ș€Ș ˘Â`Ř ˘ÂÀΘÂàј ˘€Ș ˘ ¿˜Â€È˜Â`؀ȘÂ`ŘÂàјÂàјÂ`ŘÂ@˜ ¿˜Â€È˜Â ¿˜Â Ë˜Â Ë˜Â Ë˜Â Ë˜ÂàјÂàјÂ`ŘÂ`Ř ˘Âàј€Ș ˘ÂàјÂ@Û˜Â`Þ˜ÂàјÂàјÂàјÂàјÂàј ˘ÂÀΘÂÀΘ ˘ÂÕ˜ÂÕ˜ÂàјÂàјÂÀΘ¼˜Â Ë˜Â ؘ ä˜Â€á˜Â ؘ ä˜Â`ޘ ä˜Â€á˜Â€á˜Â@ۘ ä˜Âàê˜Â`Þ˜Â`ޘ ؘ ؘÂ`ޘ ñ˜Âàê˜Âàê˜ÂÀç˜Â@ۘ€á˜Â@Û˜Âàј ˘€Ș ˘ ؘÂÕ˜ÂàјÂ՘€á˜Â ؘÂàј ؘ€á˜Â ä˜Â ä˜ÂÕ˜Â`Þ˜Â`Þ˜Â`Þ˜Âàê˜Â€ú˜Â ý˜Âà™Â`÷˜Â ñ˜Âî˜ÂÀç˜Â`Þ˜Â`ޘ€á˜Â ä˜Â€á˜Â ä˜Â ñ˜Âî˜Â ñ˜Â`÷˜Âàê˜Âàê˜Â ñ˜Â ñ˜Âî˜Â@ô˜Â ñ˜Âàê˜Âàê˜Â ñ˜Â ñ˜Â ä˜Âî˜Â@ô˜Â ñ˜Â ñ˜Âà™Â`÷˜Â ý˜Âà™Â ý˜Â ñ˜Â@ô˜Âàê˜Â ñ˜ÂÀç˜Âàê˜Â ä˜Â ä˜Â ñ˜Âàê˜Âàê˜Âàê˜Âî˜Â`÷˜Âî˜Â ñ˜Â ä˜Â@Û˜Â@ۘ€á˜Â@Û˜Â`Þ˜Â@ۘ ؘ ä˜ÂÀç˜Â ñ˜Âàê˜Âî˜Â€ú˜Â`÷˜Â ý˜Â€ú˜Â ñ˜Â ñ˜Âî˜Âàê˜Âàê˜Âàê˜Âàê˜ÂÀç˜Â ñ˜Âàê˜Âàê˜Â`Þ˜Â`Þ˜ÂàјÂ@ۘ€á˜Â ä˜Â ä˜Â ñ˜Âàê˜Â ä˜ÂÀç˜Â ñ˜ÂÀ™ÂÀ™Â@ ™Â€™Âà™Â`÷˜Âî˜Â`÷˜Â ñ˜Â ñ˜Â€ú˜Âà™Â`÷˜Âî˜Âî˜Â@ô˜ÂÀç˜Â ä˜Â`Þ˜ÂÀç˜Âî˜Â ý˜Â ñ˜Â ñ˜Â@ô˜Â ñ˜Âàê˜Â ñ˜Âàê˜Â ä˜Â€á˜Âàê˜Âàê˜Â ñ˜Â@ô˜Â ý˜Â ñ˜ÂÀç˜Â€á˜Â ؘ ä˜Â ä˜Âî˜Â ñ˜Â ñ˜Â`÷˜ÂÀ™Â@ô˜Â ý˜Â@ô˜Â ñ˜Â ñ˜Âàê˜Â ñ˜Â€ú˜Â€ú˜Â ™Âà™Â€ú˜Âî˜Â ñ˜Â@ô˜Âî˜Âàê˜Âî˜Â ä˜Â ä˜Â ä˜Âàê˜Â@ô˜Â`÷˜Â`÷˜Â@ô˜Âî˜Âî˜Â ý˜Â ý˜ÂÀ™Â@ô˜Âî˜Â ñ˜Âàê˜Â ä˜Â`ޘ ñ˜Â@ô˜Âàê˜Â ä˜Â ä˜Â€á˜ÂÀç˜Âàê˜Â ñ˜Âî˜Âàê˜Â ñ˜Âî˜Â ä˜Â@ۘ ä˜Â`Þ˜Â@ۘ ؘ ä˜Â`ޘ€á˜Â€á˜Â`Þ˜Â`ޘ ؘ ؘ ؘ ؘÂàјÂ՘ ؘÂàј ˘Â՘€á˜Â ä˜ÂàјÂÀΘÂÀΘ ؘÂàјÂàјÂ`ŘÂ`Ř ˘Âàј ˘Â@˜ ؘÂ`ޘ€á˜Â ؘ ؘÂàј€ȘÂÀΘÂ`Ř ˘ ¿˜Â€È˜Â Ë˜Â€È˜Â Ë˜Â՘ ؘÂ@Û˜ÂàјÂ@˜Âธ ˘Â`ŘÂÀΘÂàјÂÀΘÂ@Û˜Â`Þ˜Â`ޘ ؘÂàјÂÀΘÂ@Û˜Â`Þ˜Â`ޘ€á˜Â ä˜Â ä˜Â`Þ˜ÂàјÂÀΘÂ`ŘÂ@ۘ ؘÂ`Þ˜Â`ޘ€á˜Â`ޘ ؘÂÀΘÂàјÂÀΘÂ`Þ˜Â`ޘ ä˜Â ؘÂ`Þ˜Â`Þ˜Â`ޘ ä˜ÂÀΘ ؘÂÀΘÂÀΘ ˘Â@˜€Ș€Ș ¿˜ÂธÂ`ŘÂÀΘ ؘÂàјÂàјÂÕ˜Âàј€Ș€Ș ¿˜Â ¿˜Â@˜Â`Ř ˘ÂธÂ`؀Ș ˘Â`ŘÂธ€¯˜ÂÀµ˜Â Ë˜Â€È˜ÂÀΘ€á˜Â`Þ˜Â@Û˜ÂÕ˜ÂÀΘÂ`Ř¼˜Â@˜ ¿˜Âธ€ȘÂ`Ř ˘ÂÀΘ ˘ÂÕ˜ÂÀΘÂÀΘÂÀΘÂ՘ ؘÂàј ؘÂÀΘ€Ș€ȘÂ@˜ ˘Â`Ř ¿˜Â€È˜Â€È˜ÂÀµ˜Â ¿˜Â Ë˜Â€È˜Â ؘÂàјÂ՘€á˜Â ä˜Â@Û˜ÂÀç˜Â ä˜Âàê˜ÂÀç˜Â€á˜Â`ޘ ؘÂàјÂàј ؘ ؘÂ`Þ˜Â`ޘ ؘÂ`ŘÂ`ŘÂÕ˜Â@Û˜Â@Û˜Â`Þ˜Â@Û˜ÂÕ˜Â@Û˜Â՘€á˜Â@ۘ ؘ€á˜Â ä˜Âàê˜Â ä˜Â`Þ˜Â`Þ˜Âî˜Âî˜Â ä˜Â ä˜Â€á˜Â ä˜Â`ޘ ؘÂÕ˜Â@Û˜Â`ޘ ä˜Â ä˜Â ؘ€á˜Â`Þ˜ÂÀΘÂàјÂàјÂ@Û˜Âàј€ȘÂธÂ`ŘÂàј€á˜Â`ޘ ؘ€ȘÂ@˜€Ș€ȘÂ@˜ ˘Âàј€ȘÂ`ŘÂ`؀Ș€ȘÂÀΘ€ȘÂàј€Ș€Ș€Ș ˘Âàј€Ș ˘ ˘€ȘÂàјÂàјÂàјÂ՘ ˘Âàј ؘ ؘÂÕ˜Â`ޘ ؘ ؘÂ@Û˜ÂÀΘ ؘÂàјÂ`ޘ ؘÂ՘ ؘ ؘÂÕ˜ÂàјÂÀΘ ؘ ؘÂàјÂÀΘÂÀΘÂÀΘÂÀΘÂÀΘÂÕ˜ÂàјÂÀΘ ˘ ؘ ؘ€á˜Â ؘ ؘ ˘ÂÕ˜Â@ۘ ä˜ÂÀç˜ÂÀç˜Â`ޘ€á˜Â ä˜Â@ۘ ä˜Â€á˜Â€á˜Â@Û˜Â`ޘ ä˜Âàј ؘÂ`Þ˜Â@Û˜Â`Þ˜Â`ޘ ؘÂ`Ř ؘ ؘ ä˜Â ä˜Â@ۘ ä˜Â€á˜Â ä˜Â@Û˜Â`Þ˜Â`Þ˜Â@ۘ ä˜Â ä˜Â€á˜Â@Û˜Âàê˜Âî˜Â ä˜Â ؘ ؘ€á˜Âàê˜Âàê˜Âàê˜Â`Þ˜Â՘ ؘ€á˜Âàê˜Âî˜Âî˜Â ä˜Â€á˜Â@Û˜Â`ޘ€á˜Â@ô˜Â@ô˜Â`÷˜Â ñ˜Â`÷˜Â`÷˜Â ý˜Â@ô˜Â`÷˜Â`÷˜Â ý˜Âî˜ÂÀç˜Â ä˜Âî˜Â ñ˜Â ñ˜Â€ú˜Âàê˜Â`÷˜Â`÷˜Â ä˜Â ؘ ä˜ÂÀç˜Âàê˜Âî˜Âî˜Âàê˜Â`÷˜Â ý˜Â€ú˜ÂÀ™Â ý˜Â€ú˜Â`÷˜Â ñ˜Â ñ˜Âà™Â`÷˜Â`÷˜Â ý˜Â@ô˜Â ñ˜Â€ú˜Â ý˜Â ý˜Â ý˜Â ý˜Â ™Âà™Â ý˜Â ™Â™Â ™Â ™Â ý˜Â€ú˜Â ñ˜Â€ú˜Â ý˜Â ñ˜Â ñ˜Â ñ˜Âà™Â™Â™ÂÀ™Â ý˜Âà™Â€ú˜Â€ú˜Â€ú˜Â ñ˜Â ñ˜Â€ú˜Â ñ˜Â`÷˜Â ñ˜Â€ú˜Â€ú˜Â€ú˜Âà™Â@ ™Âà™ÂÀ™Âà™Â ™Â`™Â€™Â`™Â ™ÂÀ™Âà™Âà™Â ý˜Â€ú˜Â ™Â@ ™Â`™Â ™Â ™Â ™Âà™Â ™Â ™Â ™Â€™Âà™ÂÀ™ÂÀ™Â€™ÂÀ™Âà™ÂÀ™Â`™Â ™Â`™Â ™Â`™Âà™ÂÀ™ÂÀ™Â ™Â ™Â ™Â`™Â ™Âà™Â@ ™Â@ ™Â`™Â`™Â ™Âà™Â ™Â ™Â ™Â€™Â`™Â ™Â`™Â`™Â€™Âà™Â ™Â ™Âà™Â ™ÂÀ™Â ™Â€™Â`™Â ™Âà™Âà™Â@&™Â@&™Â #™Â #™Â ™ÂÀ™Â`™Â€™Â@ ™Â€™Â ™Â€™ÂÀ™ÂÀ™Â ™Âà™ÂÀ™Â€™Â`™Â ™Â ™ÂÀ™Â€™Â ™Â`™Â€™Â@ ™Â ™Â ™Â`™Â ™Â€™Â ™Â@ ™Â€™Â`™Â ™Â ™Â€™Â`™Â ™Â ™Âà™Â ™Â€™Â ™Â`)™Â #™Â@&™Â #™Â`)™Â`)™Â ™Â ™Â ™Â ™Â #™Â ™Â@&™Âà™Â #™Âà™Âà™Â #™Â€,™Â /™ÂÀ2™Âà5™Â€,™Â /™ÂÀ2™ÂÀ2™Âà5™Â /™Â@&™Âà5™Â@?™Â <™Â /™Â€,™Â@&™Â #™Âà5™Âà5™Â <™Â@?™Â@?™Â <™Â@?™Â@?™Â@?™Â H™Â H™Â H™Â`B™Â€E™Â€E™Â`B™Âà5™Â9™Â9™Â`B™Â <™ÂÀK™ÂàN™ÂàN™ÂR™Â U™Â€E™Âà5™Âà5™Â9™Â <™Â@?™ÂR™Â€E™Â`B™Â@?™Â@?™Â@?™Â€E™Âà5™Â9™Âà5™Â9™ÂÀ2™Âà5™Â <™Â@?™ÂÀ2™Â /™Â€,™Â /™Â9™Â9™Âà5™Â`B™Âà5™Âà5™Â`)™Â /™Â /™Â@?™Âà5™Â`)™Âà5™Â@?™Âà5™Â€,™Âà5™Â <™Â /™Â /™Âà5™Â /™Â /™Â /™Â€,™ÂÀ2™Â /™Âà5™Â /™Â /™Â€,™Â #™Â #™Â€,™Â€,™Â /™Â€,™Â #™Â`)™Â@&™Â€,™Â #™Âà™Â ™ÂÀ™Â #™Âà™Â #™Â #™Â ™Â@ ™Â ™Âà™ÂÀ™Â #™ÂÀ™Âà™Â ™Â ™Â ™ÂÀ™Â€™Â`™Â ™Â@ ™Âà™Â@&™Â ™Â ™Âà™Âà™Â ™Â`™Â@ ™Â ™Â`™Â™Âà™Â@ ™Â ™ÂÀ™Â ™Â ™ÂÀ™Â`™Â`™Âà™Â™Â™Â€™Â@ ™Â€™Âà™Â ™Â™Â€ú˜Â ý˜Â ™Â ™Â ™Â@ ™ÂÀ™Â ý˜Â ™Â ý˜Âà™Â ™Â ™Â ™Â`™Âà™Â€ú˜Â ñ˜Â`÷˜Â ñ˜Â ñ˜Â€ú˜Â ý˜Â`™Â`™Â ™Â€ú˜ÂÀ™ÂÀ™Â`÷˜Â`÷˜Â`÷˜Â`÷˜Â ý˜Â ý˜Â`÷˜Â ñ˜Âà™Â ý˜Â€ú˜ÂÀ™Â`™Â`™Â ™Âà™Â™Â ™Â™Âà™ÂÀ™Â ™Â ™Â€™Â@ ™Âà™Â`™Â ™Â ™Â ™Â@ ™Â ™Â ™Âà™Â ñ˜Âàê˜Â ñ˜Â€ú˜ÂÀ™ÂÀ™Â ™Â€™Â@ ™Â`™Â ý˜ÂÀ™Â™Âà™Â€™Â ™Â`™Â€™Â ™Â`™ÂÀ™Âà™Â`™Â #™Âà™Â`™Â@ ™Âà™ÂÀ™ÂÀ™Â ™Â ™Âà™Â`)™Â@&™Â ™Â ™Â€™Â`™Â ™Â ™Â ™ÂÀ™ÂÀ™Â ™Â@ ™Âà™ÂÀ™Â ™Â ™Â ™Âà™Âà™Â€™Â@ ™Â€™Âà™Â`™Â@ ™Â ™Âà™Âà™Â ™Â ™Âà™Â€,™Â #™Â@&™Â€,™Â€,™Â #™Âà™Â ™Â ™Â`™Â ™Â ™Â€™Â ™Â #™Â`)™Â #™Â #™Â@&™Â #™Âà™Âà™ÂÀ™Âà™Â #™Â`)™ÂÀ2™Â`)™Âà™Â ™Âà™Â ™Âà™Â ™Â ™Â ™Â ™Âà™Â ™Â ™ÂÀ™Â ™Â@&™Â #™Â@&™Â ™Â #™Â /™Â@&™Â€,™Â€,™Â@&™Â ™Â`)™Â ™Â ™Â ™Â@&™Â€,™Â@&™Âà™Â ™Â ™ÂÀ™Âà™Â€™Âà™Âà™Â€™Â ™Âà™Â ™Â@ ™ÂÀ™Â ™Â #™Â`)™Â`)™Â`)™ÂÀ2™ÂÀ2™Â`)™Âà5™Â€,™Â <™Â@?™Â€E™Â@?™Â <™Âà5™Â€,™Â€,™Â <™Â`B™Â <™Âà5™Âà5™Â /™Â€,™Â€,™ÂÀ2™Â /™Â9™Âà5™Â9™Â9™Â <™Â@?™Â`B™Â€E™Â`B™Â€E™Â€E™Â@?™ÂÀ2™ÂÀ2™Â`)™Â /™Â #™Â /™Â <™Â <™Â`B™Â@?™Â <™Â@?™Â`B™Â@?™Â9™Â <™Âà5™Âà5™Âà5™Â /™ÂÀ2™Â /™Â`B™Â€E™Â@?™Â <™Â <™Â@?™ÂÀ2™Âà5™Â <™Â H™Â9™Âà5™Â9™Â <™Â /™Âà5™Âà5™Â`)™ÂÀ2™Â@&™Â #™Âà™Â ™Â ™Â #™Âà5™Â@?™Â@?™Â H™Â`B™Â€E™Â`B™Â9™Â9™Â`B™Â@?™Â9™Âà5™ÂÀ2™Âà5™ÂÀ2™ÂÀ2™Â@&™Â@&™Â@&™Â #™Â /™ÂÀ2™Â <™Â€E™Â`B™Â`B™Â <™Â€E™Â`B™Â`B™Â€E™ÂÀ2™Â <™Â`B™Â <™ÂÀ2™Âà5™Âà5™Â€,™Â@&™Â #™Â /™Âà5™Â9™Â€,™Â`)™Â@&™Â #™Âà™Â ™Â ™Â@&™Â #™Â`)™Â`)™Â9™Âà5™Â <™Â9™Â <™Â`B™Â@?™Â`B™Âà5™Â /™Â`)™Â`)™ÂÀ2™Â@?™Â <™Â9™Â@?™Â <™Â@?™ÂÀ2™Â`)™Â ™Â #™Â`)™Â ™Â@&™Âà™Â@&™Â@&™Â`)™ÂÀ2™Âà5™Â9™Â9™Âà5™Âà5™Â`)™Â@?™Â9™Â9™ÂÀ2™Â /™Â`)™Â`)™Âà™Â ™Âà™Âà™Â`)™Âà5™Â /™Âà5™ÂÀ2™Â9™ÂÀ2™Â@&™Â€,™Âà5™Â@?™Â`B™Â`B™Âà5™Â /™Âà5™ÂÀ2™Â <™Â <™Âà5™Â€,™Â`)™Â€,™Â`)™Â #™Â€,™Â€,™Â /™Âà5™Â9™Âà5™Â <™Â /™Âà5™Â@&™Â #™Â #™Â /™Â #™ÂÀ™ÂÀ™Â ™Â@&™Â`)™Â@&™Â #™Â`)™Â@&™Â /™Â@&™Â #™Â€,™Â€,™Â`)™Â@&™Â`)™Âà5™Âà5™Â`B™Â <™Âà5™Â9™Â <™Â <™Â@?™Â <™Â <™Âà5™Â9™Â <™Â@?™Â`B™ÂÀK™ÂÀK™Â U™Â H™ÂÀK™Â H™Â@?™Â€E™Â`B™Â`B™ÂÀK™Â H™Â€E™ÂÀK™ÂàN™Â U™ÂR™Â H™Â U™ÂÀd™Â n™Âàg™Âk™Âàg™Â a™Âàg™ÂÀd™Â a™Âàg™Â`[™ÂÀd™Âàg™Âàg™Â€^™Â a™Â n™Â€w™Âà€™Â`t™Â€w™Â@q™Â n™ÂÀ}™Â z™Âà€™Âà€™Â€w™Â n™Âk™Âàg™Â n™Â€w™Â n™Â€w™Â`t™Â€w™Â€w™Â@q™Â`t™Â z™Â z™Âà€™Â€w™Â z™Â€w™Â@Š™ÂÀ}™Â z™Âà€™Â€w™Â`t™Â n™Â n™Â z™Â n™Â n™Â`t™Âk™Âk™ÂÀd™Â n™Â`t™Â z™ÂÀ}™Â`t™Âk™Â n™Â z™Â„™Â@Š™Â ‡™Â z™Â€w™Â`t™Â z™Âà€™Â ‡™Â@Š™Â@Š™Â„™Â z™Â€w™Â`t™Â`t™Â€w™Â`t™Â@q™Â z™Â z™Âà€™Â„™ÂÀ}™Â„™Â„™Â z™Â€w™Â z™Â`t™Â@q™Â`t™Â z™ÂÀ}™Â„™Â„™Âà€™Â@Š™Âà€™ÂÀ}™Â z™Â„™Âà€™Â z™Â@q™Âk™Â n™ÂÀd™Âàg™Âàg™Â z™Â@q™Â@q™Âk™Âàg™ÂÀd™Â U™Â€^™Âàg™Âàg™ÂÀd™Â€^™Â a™Âàg™Âàg™Â a™Âk™Âàg™Â€^™Â`[™Â U™Â@X™Â U™Â a™Âàg™ÂÀd™ÂÀd™Âàg™ÂÀd™Â`t™Â z™Â z™Â@q™Âàg™Âàg™Â€w™Âàg™Âàg™Âk™ÂÀd™Â n™Â€w™Â`t™Âk™Â n™Â`t™Â@q™Â`t™Â n™Â n™Âk™Â a™Â a™Â a™Â n™Âàg™Â n™Âk™Â a™Â€^™Â@X™Â€^™Â@X™Â`[™ÂÀd™ÂÀd™Â a™Âàg™Â n™Âàg™Â€^™Â@X™Â€^™Â a™Â a™Â a™Â a™ÂÀd™Â€^™Â€^™Â@X™Â€^™Â a™ÂÀd™Âàg™Â a™Â a™Âk™Â n™ÂÀd™Â€^™Â`[™Â U™Â@X™Â U™Â`[™Â€^™Â`[™ÂàN™ÂÀK™Â`[™Âàg™Â@q™Â@q™Â@q™Â@q™Â n™Â a™Âàg™Â€^™Â`[™ÂR™Â U™Â€^™Â a™Â`[™Â`[™Â€^™Â n™Âàg™Âàg™ÂÀd™Â`[™Â`[™Â@X™Â`[™Âàg™Â a™Â€^™Â`[™Â a™Â`[™Â`[™Â U™ÂÀK™Â U™Â U™ÂR™ÂàN™ÂR™ÂR™Â U™Â€^™Â€^™Â€^™Â a™Â a™Â a™Âàg™Âàg™Â n™Â a™Â€^™Â a™Â€^™Â`[™Â a™ÂàN™Â H™Â`B™ÂÀK™ÂR™Â€^™Â a™Â a™Â`[™Â U™Â`B™Â€E™ÂR™ÂÀK™ÂR™ÂÀK™Â`B™ÂàN™Â@X™Â€^™Â n™Â@q™Âàg™Â a™Â€^™ÂÀd™Â a™Â U™Â U™ÂàN™ÂÀK™Â H™Â@X™Âàg™Âàg™ÂÀd™Â`[™Â€^™Â n™Â€^™Â U™Â U™Â U™Â U™Â`[™Â U™Â@X™Â`[™Â`[™Â`[™Âàg™Âk™Â n™Âàg™Âàg™Â a™Â a™Â U™Â@X™Â€^™Â a™Âàg™ÂÀd™Â n™Â@X™Â U™Â€^™Â€^™Â`[™Â@X™ÂR™Â U™Â U™Â a™Âk™Âk™Â€^™Â@X™Â a™Âàg™Â`t™Â@q™Â a™Â a™Â a™Âàg™Â a™Â`[™Â€^™Âàg™Â n™Â€^™Â€^™ÂÀd™Âàg™Â€^™Â U™ÂR™Â@X™Â a™Âàg™Âàg™Âàg™Â@q™Â`t™ÂÀ}™ÂÀ}™Â n™Â@q™Â n™Âàg™ÂÀd™Âk™ÂÀd™Âàg™Â`t™Â n™Â@q™Âk™Âk™Âk™Â n™Â n™Â`[™Â@X™Âàg™Âk™Â n™Â z™Âà€™Â@Š™Â€™Â ‡™Â€w™Â€w™Â€w™Â@q™Â n™Âàg™Âàg™Â n™Âàg™Â a™Âk™Â@q™Â€w™Â`t™Âà€™Âà€™Â ‡™Â z™Â„™Â„™Â„™Â`™Â ‡™ÂÀ}™Â€w™Âk™Â z™Âk™Âk™ÂÀd™Â`[™ÂÀd™Â n™Â n™Â`t™Â@q™Â n™Â`t™Â@q™Âk™Âàg™Â€w™Â`t™Â n™ÂÀ}™ÂÀ}™Â z™Âà€™Â z™Â z™Â€w™Â z™Â z™Â z™Â n™Â n™Âàg™Â z™ÂÀ}™Â n™Âàg™Â n™Â n™Â n™Â€w™Â„™Â ‡™Â@Š™Â@Š™Âà€™Â z™Â€w™Â n™Â`t™Â z™Â z™Â`t™Â z™Â z™Â€w™Â`t™ÂÀ}™Âà€™Âà€™ÂÀ}™Â z™Â€w™Âk™Â@q™Â`t™Â@q™Â`t™Â€w™Â`t™Â z™Â z™Â`t™Âà€™ÂÀ}™Â€w™Â z™Â z™Â@q™Â@q™Â`t™Â z™ÂÀ}™Â€w™Â z™Â z™Âk™Â€^™ÂÀd™ÂÀd™Â`t™Â`t™Â n™Â€w™Â z™Â z™Â z™Â z™Âà€™Â`t™Â@q™Â`t™Â z™Â`t™Âà€™Â z™Â z™ÂÀ}™Â`t™Â`t™Â`t™Â€w™Âà€™Â@Š™Â@Š™Â„™Â€™Â€™Â„™Â„™Â„™Âà€™ÂÀ}™Â€w™Â`t™Âk™Â n™Âk™Â n™Â`t™Â n™ÂÀd™Â`[™Â`[™Â n™Âk™Âk™Âàg™Âk™Â a™Âàg™Â n™Â`t™Â€w™Â z™Â`t™Â n™Â n™ÂÀd™Â n™Â`t™Â n™Â n™Âk™Âàg™Âàg™Â`[™Â`[™Âàg™ÂÀd™Â€^™Â€^™Â n™Âk™Â n™Â n™Âàg™Â€^™ÂÀd™Âàg™ÂÀd™Â@q™Â z™Â@q™Â n™Â`t™Â n™ÂÀd™Â€w™Â`t™Â@q™Âàg™Â`t™Âàg™Â n™Â`t™Â n™Â n™Âàg™Â@q™Â€w™Âàg™Â n™Â n™Â n™Â`t™Â@q™Â`t™Â a™Â€^™Â`[™Â`[™Â a™Â n™Â`t™Âk™Âàg™ÂÀd™Âk™Â z™Â n™Âk™Â€w™Â z™Â`t™Â n™Â z™Â ‡™ÂÀ}™Â€w™Â€w™Â`t™Â n™Â€w™Â€w™Â z™ÂÀd™Âk™Â@q™Â`t™ÂÀd™Â`[™Â€^™Â n™Â n™Â`t™ÂÀd™ÂÀd™Â a™Âàg™Âk™Â n™Â a™Â€^™Âàg™Â`t™ÂÀ}™Â z™ÂÀ}™Â€w™ÂÀ}™Âà€™Â z™Â`t™Â€w™Â@q™Â n™Â`t™Â z™Â z™ÂÀ}™Â ‡™Â`™Â ‡™Â z™Â€w™Â`t™Â n™Âk™Âàg™Âàg™Â@q™Â z™Â n™Â n™ÂÀd™Â€^™Â@X™Â`[™Â a™Âàg™Âàg™Âàg™Âk™Âàg™Âk™Âàg™Âàg™Â€^™Âk™Â€w™Â€w™Â@q™Â z™Â z™Â`t™Â n™Â`t™Â€w™Â z™Â z™ÂÀ}™Âà€™Â z™Â z™Â z™Â`t™Âàg™Âàg™Â n™Â`t™Â n™Âàg™Â n™ÂÀd™Â€^™Â`[™Â a™Â€w™Â€w™Â n™Â`t™Â`t™Â@q™Â`t™Âàg™Â a™Â n™Âà€™Âà€™Â ‡™Â@Š™Â ‡™Â ‡™Â ‡™Â n™Â`t™Âà€™Â„™Âà€™Âà€™Â z™Â z™Â€w™Âà€™Â z™ÂÀ}™Â z™Â€w™Â z™Â z™Â„™Âà€™Âà€™Â z™ÂÀ}™Â`t™Â`t™ÂÀ}™Â`™Â„™Â„™Âà€™Â ‡™Â„™Â ‡™Â„™Âà€™Â„™Â ‡™Â@Š™Â ‡™Â z™Âà€™ÂÀ}™Âà€™Âà€™Âà€™Â„™Â ‡™Â ‡™Â„™ÂÀ}™Â„™ÂÀ}™ÂÀ}™Â„™Â ‡™Â ‡™ÂÀ}™Â`t™ÂÀ}™Âà€™Â z™Â`t™Âà€™Â„™Â`™Â  ™Âà™™Âà™™Â  ™Â “™Â “™Â “™Â “™Â`™Âà€™Â`™Â ‡™Âà€™Âà€™Â€w™Â n™ÂÀd™Â@q™Â€w™Â„™Âà€™Â ‡™Â “™Âà™™Â “™ÂÀ–™Â  ™Â@£™Â “™Â„™Â€™Â€™Â ‡™ÂÀ}™Âà€™Â z™Â z™Â„™Â„™Â@Š™ÂÀ}™Â z™Âà€™Â “™Â “™Â€™Â€™Â@Š™Â`™Â “™Â€™Â`™Â@Š™Â “™Â “™ÂÀ–™Â “™Â  ™Â  ™Â™Âà™™Â@£™Â™Â  ™Â™Âà™™Â “™Â “™Â  ™Â  ™Â`¦™Â`¦™Â  ™Âà™™Â`¦™Â@£™Â@£™Â@£™Â`¦™Â@£™Âà™™Â€©™Â@£™ÂÀ–™Âà™™ÂÀ–™Â “™Âà™™ÂÀ–™Â`™Â€™Â`™Â€™ÂÀ–™Â “™Â “™Â  ™Âà™™ÂÀ–™Â`™Â€™Â™Âà™™Â™Â  ™Â  ™Â€©™Â`¦™Â`¦™Âà™™Â@£™Âà™™Âà™™Â@£™Â@£™ÂÀ¯™Â ¬™Â ¬™Â@£™Âà™™Â ‡™Â ‡™Â`¦™Â`¦™Â`¦™Â`¦™Â`¦™Â€©™Â@£™Â™Â€©™Â  ™Â™Â@£™Âà™™Â@£™Âà™™Âà™™Â™Âà™™Â “™ÂÀ–™ÂÀ–™Â@£™Âಙ ¬™Â  ™Â  ™Â  ™Â  ™Â`¦™Â  ™ÂÀ–™Âà™™Â@£™Â`™Â`™Âà™™ÂÀ–™Â`¦™Â  ™Â ¬™ÂಙÂಙ€©™Â ¬™Â`¦™Â  ™Â€©™Â€©™Â  ™Â`¦™Â ¬™Â ¬™Â`¦™Â€©™Â€©™Â ¬™Â@£™Âà™™Â “™Âà™™Â  ™Â@£™Â@£™Â`¦™Â™Â`¦™Â@£™Â`¦™Â ¬™Â`¦™Â€©™Â`¦™Â  ™Â`¦™Â  ™Â  ™Â`¦™Â ¬™Â@¼™ÂಙÂ`¦™Â ¬™Â`¦™Â`¦™Âà™™Âà™™Âà™™Â@£™Â  ™Â  ™Âà™™Âà™™Âà™™Â€™Â€™Â “™Â`™Â “™Â “™Âà™™Âà™™Â@£™Âà™™Â€™Â@Š™Â@Š™Â “™Â€™ÂÀ–™Â€™Â„™Â “™Âà™™Â  ™Â  ™Â  ™Â`¦™Â™ÂÀ–™ÂÀ–™Â`™Â€™Âà™™Â  ™ÂÀ–™Â “™ÂÀ–™Â  ™Â  ™Â€™Âà™™Â@£™Â™Â™Â  ™Â “™Â€™Âà™™ÂÀ–™Âà™™ÂÀ–™ÂÀ–™Â`¦™Â`¦™Â@£™Â€™Â “™Â`™Â@Š™Â`™Â„™Â`™Â “™Â “™Â “™Â “™Â€™Âà™™Â€©™Â  ™Â  ™Âà™™Â`™Â@Š™Â„™Â ‡™Â`™Â “™Â`™Âà™™Â™Â™Â “™ÂÀ–™Â “™Â™Â “™Â@Š™Â„™Â ‡™Âà€™Â„™Â@Š™Â “™Â “™Â “™ÂÀ–™ÂÀ–™Â™Â “™Â “™Â “™Â “™ÂÀ–™Â€™Â “™Âà™™Â  ™Âà™™Â™Â  ™Â  ™Â  ™Â™Â@£™Â`¦™Â@£™Â ¬™Â ¬™Âà™™Â€™Â z™Â`™Â€™Â@Š™Â€™Â€™Â`™Â ‡™Â`™Âà™™Â™ÂÀ–™Â`¦™Â@£™ÂÀ–™Â€™Â “™ÂÀ–™Â™Â@£™Â™Â`¦™Â@£™Â@£™Âà™™Â  ™Â  ™Â “™ÂÀ–™Â€™Â “™Â  ™Âà™™ÂÀ–™Â™Â™Â™Â  ™Â  ™Â  ™Â@£™Â  ™Â`¦™Â ¬™Â€©™Â€©™Â@£™Âà™™Â “™ÂÀ–™Â “™Â  ™Âà™™Â  ™ÂÀ–™Âà™™Â  ™Â@£™Â™Â “™Â “™Â  ™Â  ™Â  ™Â@£™Â@£™Â`¦™Â@£™Â ¬™Â@£™Â€©™Â ¬™Â ¬™Â ¬™Âಙ¶™Âಙ ¬™Â@£™Â  ™Â`¦™Â`¦™Â  ™Â€©™Â`¦™Â ¹™Âಙ¶™Â ¹™Â ¬™Â ¹™Â¶™Â@¼™Â¶™ÂಙÂ`¦™Â@£™Â`¦™Â  ™ÂÀ–™Â™Â@£™Â@£™Â  ™Â ¬™Âಙ ¹™Âಙ€©™Â€©™Â ¬™Â ¬™Â ¬™Â ¬™Â€©™Â`¦™Â ¬™Â€Â™Â`¿™Â@¼™Â Å™Âà˙€™ ¹™Â@¼™Â`¿™Âಙ¶™Â@¼™Â@¼™Â`¿™Â ¹™Â@¼™Â ¹™Â Å™Â`¿™Â`¿™Â Å™Â@Õ™Âà˙ řÂà˙ ř€™Â`¿™Â Å™ÂàË™ÂàË™Âà˙ řÂàË™Â`¿™Â Å™Â€Â™Â`¿™Â€Â™ÂàË™ÂÀș€™ÂÀÈ™ÂàË™ÂÏ™Â`ؙ ҙÂàË™Âà˙ řÂÀș ř řÂàË™Âà˙ ¹™Â€Â™Â ¹™Â Å™Â€Â™Â€Â™Â Å™Â ¹™Â`¿™Â@¼™Â@¼™Â`¿™Â`¿™Â`¿™ÂÏ™ÂàË™Â`Ø™Â@Õ™ÂÏ™Â@ՙ ҙÂàË™ÂÀÈ™ÂàË™ÂÀș ҙ ҙÂÀá™Â`Ø™ÂÀș řÂಙÂಙÂàË™ÂÀș ř ř řÂÀÈ™ÂàË™Â@¼™ÂÀÈ™ÂÀÈ™Â@Õ™ÂàË™Â@¼™Âಙ ¹™Â€Â™Â€Â™ÂàË™ÂÀș řÂàË™Â`ؙ ҙ€ۙ ҙÂ@ՙ ҙÂ`ؙ ҙ řÂ`¿™Âಙ ¹™Â€Â™Âà˙ ҙ ҙÂà˙ ř ř€™ ř€™ ř řÂàË™ÂàË™ÂÏ™Â@Õ™ÂÏ™ÂÏ™ÂÀș ř€™ řÂ`¿™Â ¹™Â`¿™Â ¹™Â`¿™Â€Â™Â€Â™Â Å™ÂÏ™ÂàË™Â`ؙ ޙ€ۙ ҙÂàË™Â`¿™Â€Â™Âಙ€™ÂÏ™ÂàË™Âà˙ řÂà˙ ҙ ҙÂè™Âàä™Â ë™Â ë™ÂÀá™ÂÀá™Âàä™Â€Û™Â ҙ ř ҙÂ@Õ™Â`Ø™ÂÏ™Â@ՙ řÂàË™Âà˙€ۙÂÏ™ÂàË™ÂàË™ÂÀș řÂ`¿™Â Å™Â`¿™Â Å™Â Å™ÂÀÈ™ÂàË™ÂÀș€™€™ÂàË™ÂÏ™ÂàË™Âà˙ ř řÂ`¿™ÂÀș řÂ`¿™Â`¿™Â`¿™Âà˙ ҙÂϙ€ۙ€ۙÂ@Õ™Âà˙€™Â@¼™Â@¼™Â Å™ÂÏ™Âϙ ҙÂÀá™ÂÀá™Â Þ™Â Þ™Â Þ™Â Þ™Âàä™Â Þ™Â`ؙ ҙÂÀÈ™Â@ՙ řÂϙ ҙ ҙÂ@Õ™Â`ؙ ޙÂ`Ø™Â@ՙ ޙÂ@Õ™ÂÏ™Â`Ø™ÂÀá™Â@Õ™Â`ؙ ҙ ҙÂà˙ ҙÂ`ؙ ޙ€ۙÂÏ™ÂÀá™Â€Û™Â Þ™Â@î™ÂÀá™Âàä™Â ҙ ҙ ҙÂ@ՙ ޙ ޙ€ۙÂ`ؙ ҙÂà˙ řÂÀÈ™ÂàË™Âϙ ҙÂ`Ø™Âϙ ҙ ҙ ޙ ޙ ޙÂÀá™ÂÀá™ÂÀá™Âàä™ÂÀá™Âàä™Â`ؙ ҙÂàË™Âϙ€ۙÂÀá™ÂÀá™ÂÀá™Âè™Â`ؙ ҙÂ`ؙ ޙÂàä™Â€Û™ÂÀá™Â@î™Â`ñ™Â@î™Â Þ™Â€Û™Âàä™Âàä™Â Þ™Â`Ø™Â@Õ™Âϙ€ۙÂè™Â Þ™Â ë™Âè™Âè™Âè™Âè™Â`ñ™Â`ñ™Â ÷™Â ÷™Â`ñ™Â ë™Â@î™Â ë™Â€ô™Âàý™ÂÀú™Â@î™Âè™Â@î™Â ë™Â`ñ™Â ë™Âè™Â ë™ÂšÂàý™Â šÂàý™Â ÷™Â@î™Â ë™Âè™Â@î™Â`ñ™Â ÷™ÂšÂ šÂàý™Â ÷™Âàý™Â ÷™Â€ô™Â€ô™Â ÷™Â@î™Â€ô™Â ë™Âàä™Â@î™Â ë™Â ë™Âàä™Â ë™Â ë™Â ë™Âàä™Â ë™Â`ñ™ÂÀú™Â šÂ ÷™Â€ô™ÂÀú™Â`ñ™Â@î™Â`ñ™Â€ô™Â ÷™Â`ñ™Â`ñ™Â ÷™Â ë™Â ë™Â@î™Â€ô™Â šÂ ÷™Â@î™Â`ñ™ÂÀú™ÂÀú™Âàý™Â šÂ šÂ€ šÂšÂàý™Â ÷™ÂÀú™Â šÂàý™ÂšÂ šÂšÂšÂ šÂšÂšÂ šÂ šÂ@šÂ šÂ šÂ` šÂàý™Â` šÂ šÂ šÂàý™Â ÷™Â šÂ` šÂ@šÂ šÂ ÷™Â`ñ™Â@î™Â@î™Â`ñ™Â`ñ™Â ÷™Â€ô™Â`ñ™Â@î™Â€ô™Â`ñ™Âàä™Â€ô™Â€ô™Âàý™Â€ô™Â€ô™Â`ñ™ÂÀú™Â ÷™Â ÷™Â€ô™Â ÷™Â ÷™Â`ñ™Â@î™Â@î™Â`ñ™Â ÷™Â ÷™Âàý™Â`ñ™Â€ô™Âàý™Â€ô™Â šÂ šÂ@šÂ` šÂ šÂšÂ ë™Â@î™Â ÷™Â€ô™Â ÷™Â ÷™Â`ñ™Â ÷™Âàý™Â ÷™Â ÷™Â€ô™Â ÷™Â ÷™Â`ñ™Â ÷™Â`ñ™Â ÷™ÂÀú™Â šÂàý™Â ÷™Â ÷™Â ÷™ÂÀú™Â ÷™Âàý™Âàý™ÂÀú™Â€ô™Âàý™Âàý™Â@î™Â€ô™Âè™Â ë™Â ë™Âàä™Âàä™ÂÀá™Âàä™Âè™Â ÷™Â`ñ™Â@î™Â ë™Â`ñ™ÂÀú™Â@î™Â Þ™Âàä™Âè™Â@î™Âàä™Â`ñ™Â`ñ™Â ë™Â ÷™Â ÷™Â ÷™Â€ô™ÂÀú™ÂÀú™Â šÂàý™Â`ñ™Â ÷™Â@î™Â`ñ™Â€ô™ÂšÂ€ô™Â`ñ™Â`ñ™Âàä™Âè™Â`ñ™Â ë™ÂÀá™Â`ؙ€ۙÂ`Ø™Âàä™Â€ô™Â ë™Âàä™Â Þ™ÂÀá™Âè™Â€ô™Â€ô™Â šÂ šÂ šÂàý™Âàý™ÂÀú™Â ÷™Â€ô™Â ÷™Â ÷™Â€ô™Â€ô™Â`ñ™Â ë™Â@î™Âàý™Â ÷™Â`ñ™Â€ô™Â ë™Â ÷™Âàý™Â` šÂšÂ šÂÀú™Â šÂ@šÂ€ šÂ@šÂàý™Â ÷™Â ÷™Â`ñ™Â ë™Â€ô™Âàý™Â šÂšÂ@î™Â€ô™Â ÷™Â ë™Â ÷™Â ÷™Â ÷™Â ÷™Â šÂ` šÂšÂ ÷™Â ÷™Â ÷™Â`ñ™ÂÀú™Â`ñ™Â ÷™Â€ô™Âàý™Â šÂàý™Â šÂÀú™ÂšÂ` šÂ` šÂ šÂ šÂ` šÂ€ šÂ` šÂ šÂ€ šÂ šÂ@î™Â@î™Â ÷™Â@šÂ šÂ@šÂ` šÂàý™ÂšÂàý™Âàý™ÂšÂšÂšÂ` šÂ šÂ` šÂ@šÂ@šÂàý™Â`ñ™Â ë™Â`ñ™ÂÀú™Âàý™Âàý™Â@šÂ šÂ@šÂ@šÂ€ šÂ@šÂšÂàý™Â` šÂ šÂ@šÂÀšÂ šÂ@šÂ` šÂ` šÂ` šÂ šÂàšÂšÂ šÂ` šÂ` šÂ€ šÂÀšÂšÂ€ šÂ€ šÂ šÂàšÂàšÂÀšÂ@šÂ šÂàý™Â ÷™Â ÷™Âàý™Â ÷™Â€ô™ÂÀú™Â ÷™Â ë™Â`ñ™Â ÷™Â@î™ÂÀú™Â ÷™Â`ñ™Â@î™Â`ñ™Âàý™Âàý™Â ÷™Â€ô™Â@î™Â@î™Â@î™Â ÷™Â ë™ÂÀá™Â Þ™Â`Ø™ÂÀá™Â Þ™Â ҙ€ۙ€ۙ ޙ ޙ€ۙÂ@Õ™Â`ؙ ҙÂ`Ø™Â`ؙ€ۙÂ`Ø™Â`ؙ€ۙÂϙ ޙÂè™Âè™Â@Õ™Âϙ ҙ€ۙÂÏ™ÂÏ™Âϙ€™Â@¼™ÂÀș řÂ@¼™Â@¼™Â¶™Â ¹™Â@¼™Â€Â™Â@¼™Â@¼™Â¶™Â ¹™Â Å™ÂಙÂಙ€©™Â@£™Â€©™Â ¬™Âಙ ¹™Â ¹™Âಙ¶™ÂÀ¯™Â`¦™Â  ™Â ¬™Â ¬™Â ¹™ÂÀ¯™Â ¬™Â ¬™Â`¦™Â€©™Â ¬™Â¶™Â ¬™Â`¦™Â@£™Â  ™Â@£™Âà™™Â™Â™Â  ™Â ¬™Â€©™Â`¦™Â ¬™Â`¦™Â`¦™Â`¦™Â ¬™Â@£™Âà™™Âà™™ÂÀ–™Â “™Â™Âà™™Â™Â€™Âà™™Â™Â “™Â€™Â€™Âà™™Â`™Âà™™Â “™Â “™Â`™Â ‡™Â@Š™Â “™ÂÀ–™ÂÀ–™Â  ™Âà™™Â™Â  ™Â`¦™Â™Âà™™Â  ™Âà™™Â`™Â€™Â “™Â`™Â€™Â`™Â„™Â ‡™Âà€™Â€w™Â z™Â z™Â ‡™Â@Š™Â`™Â ‡™Â€™Â`™Â„™Â„™Â@Š™Â ‡™Â z™Â`t™Â€w™Âà€™Â z™Â n™Âàg™Â a™ÂÀd™Â a™Â a™Âk™ÂÀd™Âàg™ÂÀd™Â`t™Â n™Âàg™Â`t™ÂÀ}™Â z™Âàg™ÂÀd™ÂÀd™ÂÀd™Â€^™ÂÀd™Â@X™ÂR™Â U™Â U™ÂR™Â U™Â`[™Â€^™Â€^™Â`[™Â`[™Â a™Â`[™Â U™Â@X™Â U™Â`[™Â`[™Â U™ÂàN™Â U™Â U™Â U™ÂR™ÂÀK™Â€^™ÂÀd™Â a™Â`[™Âàg™Â`t™Â@q™Â n™Âàg™Â a™Â€^™Â€^™ÂàN™ÂR™Â@X™Â U™Â a™Â@X™ÂàN™ÂàN™ÂàN™ÂàN™Â U™Â U™Â H™Â€E™ÂÀK™Â`B™Â H™Â H™Â H™Â`B™Â /™Â /™Â@?™Â H™Â H™Â H™Â@?™Â <™Â€E™Â9™Â9™Âà5™ÂÀ2™Âà5™Â€,™Â@&™Â€,™Â€,™Â #™Â /™Â #™Â`)™Â #™Â ™Â€,™Â`)™Â`)™Â€,™Â`)™Â€,™Â`)™Â@&™Â #™Â #™Â`)™Â€,™Â@&™Â #™Â #™Â€,™Â@&™Â€,™Âà™ÂÀ™Â ™Â@ ™Â™Â ý˜Âà™Â ™Âà™Â #™Â #™Â`)™Â ™Â`)™Âà™Â@ ™Â ™Â`™Â`™Â ™Â ™Â ™Â™Âà™Âà™Â€ú˜Âàê˜Âî˜Âî˜Âàê˜Â ä˜ÂÀç˜Âàê˜Â ñ˜Âàê˜Âî˜ÂÀç˜Â ä˜Â ä˜Âàê˜Â ä˜Â`Þ˜Â`Þ˜Â`ޘ€á˜Â ä˜Â ñ˜Âàê˜Â€á˜Â ä˜Â`ޘ€á˜Â@Û˜ÂÀç˜Â ñ˜Âàê˜Â ñ˜Âî˜Â ä˜Â`ޘ€á˜Â ä˜Â ñ˜ÂÀç˜Â՘ ؘÂÕ˜Â@Û˜Â՘ ؘÂÕ˜ÂÀΘÂàј ؘÂ`Þ˜Â`ޘ ؘÂÀΘ€á˜Â€á˜Âàê˜Â ä˜Â ؘÂÀΘÂàјÂàјÂàјÂÀΘ ä˜Â ä˜Â@Û˜Â՘ ؘ ؘÂÀΘÂ՘ ˘€Ș ˘ ؘ ؘ ؘÂ@Û˜Â՘ ؘÂàјÂàјÂÀΘÂàјÂ`ޘ€á˜Â ؘ ؘ ؘÂ@ۘ ؘÂ@Û˜Â@ۘ ä˜Â՘€ȘÂ`Ř ˘€Ș ˘ ¿˜ÂÀµ˜ÂÀµ˜Â ¿˜Â Ë˜ÂÀΘÂ`ޘ€á˜Â€á˜Â ؘ ؘÂ@Û˜Â`Þ˜Â`Þ˜Â@ۘ ؘ ؘ ؘ ؘÂ`Þ˜Â@ۘ€á˜Â ä˜Â€á˜Â ؘÂÕ˜Âàј ˘ ؘ ؘÂ`ޘ ä˜Â ؘÂàј ؘÂÀΘÂÀΘ ؘ€á˜Â ؘ€á˜Â ؘ ؘ ؘ ؘ ؘÂ`Þ˜ÂàјÂ`ޘ€á˜ÂÀç˜ÂÀç˜Â`Þ˜Â`Þ˜ÂÕ˜ÂàјÂàј ؘÂàјÂ՘ ؘÂ`Þ˜Âàê˜Â€á˜Â@Û˜Â@Û˜ÂÀç˜Â ä˜Â ä˜Â ñ˜Â€ú˜Â€ú˜Â ñ˜Âàê˜Â ä˜Â ä˜Â ñ˜Â@ô˜Â ñ˜Â ñ˜Â ñ˜Â`÷˜Âà™Âà™Â ñ˜Â ñ˜Â ñ˜Â`÷˜Â`÷˜Â ñ˜Â€ú˜Â ñ˜Â`÷˜Â@ô˜Âàê˜ÂÀç˜Â ä˜Â€á˜Â`Þ˜Â`Þ˜Â`Þ˜Â՘ ؘÂ`Þ˜ÂÀç˜Â`Þ˜Â`Þ˜Â`ޘ ä˜Â`ޘ€á˜ÂÀç˜ÂÀç˜Â€ú˜Â@ô˜Â`÷˜ÂÀç˜Â@ô˜Â`÷˜Â ñ˜Â ñ˜Â ñ˜Â ñ˜Â@ô˜Â€ú˜Â`÷˜ÂÀç˜Â ä˜Â ä˜Â`ޘ€á˜Â€á˜Â€á˜Â€á˜Â@ۘ€á˜Â€á˜Â€á˜Â ä˜ÂÀç˜Â@ô˜Â€ú˜Âà™Â ý˜Âàê˜Â ñ˜Âàê˜Âàê˜Âàê˜Â`ޘ ؘÂ`ޘ ؘ ؘ ؘ ؘÂ`Þ˜Âàј ؘÂ@ۘ ؘÂ@Û˜ÂÕ˜ÂàјÂ՘€á˜Â`Þ˜Â`Þ˜Â`ޘ ؘÂ`Þ˜Â@Û˜ÂÀΘ ˘Âàј ؘ ˘ÂÀΘÂàј ˘ÂÀΘÂÕ˜Âàê˜Âàê˜Â ä˜Â@ۘ ˘Â`؀ȘÂÕ˜Â`ŘÂ@˜ ˘Â`ŘÂÀΘÂ՘€ȘÂàјÂÀΘ€Ș ˘ ˘ ˘Âàј ؘÂàј€Ș ¿˜Â ¿˜Â ¿˜ÂธÂ`ŘÂ@˜ ˘ÂÀΘ€Ș€ȘÂธÂ@©˜Â£˜ÂàŸ˜ÂÀœ˜Â`“˜Â`“˜Â€–˜Â€–˜ÂÀœ˜Â`“˜ÂÀƒ˜ÂŠ˜ÂÀƒ˜Âà†˜ÂŠ˜Â €˜ÂŠ˜Âà†˜ÂŠ˜Â@˜Â ˜Â`“˜Â`“˜Â€–˜Â`“˜Â ˜Â€}˜Â €˜Â@w˜Â t˜Â g˜Â g˜Â g˜Â g˜Â [˜Â`a˜Â g˜Â€d˜Âàm˜Â`z˜Â`z˜Â@w˜Âàm˜Âq˜Âàm˜Âq˜Âàm˜Â g˜Â`a˜Â g˜Âq˜Â€d˜Â€d˜Â@^˜Â€d˜Â€d˜Â€d˜Â [˜ÂàT˜ÂàT˜Â`a˜Â@^˜ÂÀQ˜Â [˜Â`a˜Â [˜Â [˜Â g˜Â`a˜Â€d˜Â€d˜Â g˜Â`a˜ÂàT˜Â N˜ÂàT˜Â`H˜Â€K˜ÂÀQ˜ÂÀQ˜Â N˜ÂX˜Â [˜ÂàT˜ÂX˜Â [˜ÂàT˜Â`a˜Â€d˜Â`a˜Â [˜Â`a˜Â€d˜Â N˜Â N˜Â@E˜Â N˜ÂàT˜Â N˜Â [˜Â [˜ÂàT˜Â B˜Âà;˜Â B˜Â€K˜Â`H˜ÂÀQ˜Â N˜ÂX˜Â [˜ÂÀQ˜Â`H˜ÂÀ8˜Â?˜Âà;˜ÂÀ8˜Â?˜ÂÀ8˜Â B˜Â B˜Â@E˜Â`H˜Â@E˜Â€K˜Â B˜Â@E˜Â€K˜Â N˜Â [˜ÂàT˜ÂX˜ÂX˜Â`H˜Â?˜Â N˜ÂX˜Â€K˜ÂX˜Â N˜ÂÀQ˜Â`H˜Âà;˜Â 5˜Â`H˜Â B˜Â€2˜Â`/˜Â 5˜Â?˜Â`H˜Â`H˜Â N˜ÂàT˜Â [˜ÂàT˜Â N˜ÂÀQ˜Â N˜Â`H˜Â`H˜Â`H˜Â N˜ÂÀQ˜Â€K˜Â`H˜Â N˜ÂX˜Â`a˜ÂàT˜ÂàT˜Â N˜Â€K˜ÂX˜ÂàT˜Â N˜Â N˜Â N˜Â N˜ÂX˜Â [˜Â [˜ÂàT˜ÂàT˜Â€K˜Â N˜Â`H˜Â€K˜Â N˜Â€K˜ÂàT˜ÂàT˜Â [˜Â@^˜ÂàT˜ÂÀQ˜Â€K˜ÂÀQ˜ÂÀQ˜Â`H˜Â N˜ÂàT˜ÂàT˜ÂàT˜Â N˜Â [˜ÂàT˜Â N˜ÂX˜Â N˜Â [˜ÂX˜Â [˜Â g˜Â g˜Â€d˜Â g˜Â@^˜ÂX˜ÂàT˜Â [˜ÂX˜Â@^˜Â@^˜Â [˜ÂX˜Â [˜Â [˜Â [˜Â [˜Â`a˜Â@^˜Â [˜Â [˜Â@^˜Â [˜ÂX˜ÂàT˜ÂàT˜Â N˜ÂàT˜Â`H˜Â@E˜ÂÀ8˜Â?˜Â B˜Â?˜Â B˜Â`H˜Â€K˜Â@E˜Â@E˜Â@E˜Â B˜Â€K˜Â`H˜Â N˜ÂàT˜ÂàT˜Â`a˜Â [˜Â@^˜Â g˜Â`a˜Â€d˜Â [˜Â N˜Â`H˜Â N˜Â B˜Â B˜Â`H˜Âà;˜Â€K˜ÂàT˜ÂX˜ÂàT˜Â N˜Â@E˜Â€K˜Â N˜Â`H˜Â N˜Â€K˜Â`H˜Â?˜Â B˜Â@E˜Âà;˜Â 5˜Âà;˜Â€2˜Â@,˜Â 5˜Â )˜Â ˜Â€˜Â€˜Â@˜Â`˜Â`˜Âà ˜Â€˜Â`˜Â ˜Âà ˜ÂÀ˜Â€˜Â€˜Âô—Âô—Âô—€˜Â@ú— ÷— ˜Â@ú—Â`ý—Âàð— ê— ê—Âô—Âàð— ÷— ê—€ç—ÂÛ—ÂÀÔ—Â Þ—Â Þ—Âۗ їÂ@ȗ їÂ`˗—ÂྗÂ@ȗ—ÂྗÂ`˗ ї€ΗÂ`Ë—Â`˗ їÂ`˗ ї їÂàח€Η ї ޗÂ@á— ї ŗÂ`˗€Η ŗÂ—Â@ȗ——— ŗ€ΗÂ@È—Âྗ ŗ ŗ ŗ ŗ ŗ ї€ΗÂ@È—Â Å—Âྗ— ŗÂ— ŗ ¸—Â`²— ¸— ¸— ¸—Â`²— ¸—€µ— ¸—ÂÀ»— ¸— ¸—€µ—Âྗ їÂ@È—Â Å—Â Å—Â@È—Â`˗—ÂÀ»—€µ— ¸—ÂÀ»—ÂÀ»—ÂÀ»—€µ— ¸— ¸— ¸— ŗÂྗÂྗÂྗ ¸—Â@¯—©—ÂॗÂॗÂÀ¢—ÂॗÂॗÂॗ€µ— ¸—©—Â@¯— ¸——€µ—Â@¯— ¬—©— ¬—ÂÀ¢—Â@¯—€µ—ÂÀ»—ÂÀ»——€µ—Â`²—Â`²— ¬—€µ—ÂÀ»— ¸—Âྗ—ÂÀ»—ÂྗÂÀ»— ¸— ŗ€µ—€µ— ¬—ÂÀ»— ¸—Â`²— ¸—Â`²— ¬—ÂॗÂॗÂÀ¢— ¬—ÂÀ»— ŗÂ—Â@È—Â Å—ÂÀ»——ÂྗÂྗ——ÂÀ»— ŗ€Η€ΗÂÀÔ—Â`Ë—Â`Ë—Â Å—Â@ȗ€Η€ΗÂ@È—Â`˗ ¸— ŗ ¸—ÂÀ»—ÂÀ»—ÂྗÂÀ»—ÂÀ»—ÂྗÂྗÂ@È—Â`˗ ¸———€Η ŗÂ`˗€Η€ΗÂàח їÂÀÔ—ÂÀÔ—Âà×—ÂÀÔ—Âà×—ÂÀԗ€Η їÂà×—Âàח€Η їÂ`˗ ї їÂàח ї€ΗÂÀÔ—ÂÛ—Â Þ—Âà×—Âàח€Η€ΗÂà×—Â Þ—Âàð—Âô—Âàð— ê— ê—€ç—€ç—€ç—ÂÀí—Âàð— ê— ÷—Âô—Âàð—€ç—€ç—Â@á—Âàð—€ç—Â`ä—Âàח ޗ€ç—Â`ä—ÂÀí—Âàð—Â`ä—Â`䗠ꗀ痀痠ꗠê—Âàð—Âô— ê— ê—ÂÀí—Âô—Âàð—Âàð—Â@ᗀ痀痀ç—Â@á—Â@á—Âàð— ÷—€˜Â ÷—Â`ý—Âà ˜Â`ý— ÷— ê— ê—Â`ý— ˜Â ˜Â ˜ÂÀ˜ÂÀ˜Â€˜Â€˜Â ˜ÂÀ˜Â ˜Â ˜Âà ˜Âà ˜Â`ý— ÷—ÂÀ˜ÂÀ˜ÂÀ˜Â ˜Â ˜Â ˜Âà ˜ÂÀ˜Â ˜Â ˜Â ˜Âà ˜Â@˜Â ˜ÂÀ˜ÂÀ˜Â ˜Â@˜Â ˜Âà ˜Â€˜Â€˜ÂÀ˜Â ˜Â@˜Â ˜Â`˜Âà"˜Â ˜Â ˜Âà"˜Âà"˜Â ˜Â )˜Â )˜Â@,˜Â€2˜Â€2˜Âà;˜Â€2˜Â )˜ÂÀ˜Â`˜Âà"˜Â ˜Âà"˜Â€˜Â )˜Â )˜Â@,˜Â`/˜Â`/˜Â )˜Â@,˜Â )˜Â@,˜Â 5˜Â`/˜Â€2˜Â 5˜Âà;˜Âà;˜Â?˜Â?˜Â@,˜Â&˜Â&˜Â ˜Â`/˜ÂÀ8˜Â 5˜Â 5˜Â 5˜Â 5˜Âà;˜Âà;˜Â )˜Â€2˜Â 5˜Â?˜Â?˜Âà;˜Â 5˜Âà;˜Â B˜Â B˜Â`H˜Â`H˜Â 5˜Â€2˜ÂÀ8˜Â?˜Â N˜ÂÀQ˜ÂàT˜Â€K˜ÂÀQ˜Â N˜Â N˜Âà;˜Â`H˜ÂX˜ÂàT˜ÂX˜Â [˜ÂàT˜Â N˜Â N˜Â N˜Â B˜Â B˜Â`H˜Â B˜Â B˜Âà;˜Â B˜Â@E˜ÂX˜ÂÀQ˜Â N˜Â€K˜Â N˜ÂX˜Â N˜Â N˜Â`H˜Â`a˜Â`a˜Â [˜Â N˜Â B˜Â N˜Â N˜ÂÀQ˜Â [˜Â@^˜Â`a˜Â [˜ÂÀQ˜ÂàT˜ÂÀQ˜Â [˜Â@^˜Â`a˜Âàm˜Â`a˜Â [˜Â`a˜Â`a˜ÂÀQ˜ÂX˜ÂÀQ˜ÂàT˜Â€d˜Â`a˜ÂX˜Â N˜Â€K˜Â€K˜Â`H˜Â N˜Â N˜ÂàT˜ÂX˜Â@^˜ÂÀQ˜ÂÀQ˜Â [˜ÂX˜Â [˜Â@^˜Â [˜ÂX˜Â€d˜Â€d˜Â`a˜Â g˜Âàm˜Â t˜Âq˜Â t˜Â@w˜Â`z˜Â €˜Â g˜Âàm˜Âq˜Â t˜Âàm˜Âq˜Â@w˜Â t˜Âàm˜Âq˜Âq˜Â €˜ÂàŸ˜Â€–˜Â`“˜Âà†˜Â@w˜Â`z˜Âàm˜Â@w˜Â@w˜Â@w˜Â g˜Â g˜Âàm˜Âq˜Â t˜Âq˜Â@w˜Âq˜ÂÀj˜Â`z˜Â@w˜Â€}˜Â ˜Â €˜Â €˜Âà†˜Â ˜Â€}˜ÂÀƒ˜Â€}˜Âàm˜Âàm˜Â t˜Â`z˜Â €˜Â €˜Âà†˜Â`z˜Â t˜Â`z˜Âà†˜ÂÀƒ˜Â€}˜Â`z˜Â €˜Â€}˜Â t˜Â@w˜Â@w˜Â@w˜Â`z˜Â t˜Â t˜Â €˜Â €˜Â ˜ÂÀƒ˜Âà†˜Â ˜ÂÀƒ˜Â€}˜Â €˜ÂÀƒ˜Â ˜ÂŠ˜Â €˜Â €˜Âà†˜ÂŠ˜ÂÀƒ˜Â@w˜Â t˜Â t˜Â t˜Â ˜ÂŠ˜Â €˜ÂŠ˜Âà†˜Âà†˜Â@˜Â ™˜Â ™˜Â ˜Âà†˜Â€}˜Âà†˜Â €˜Â@w˜Â€}˜Âà†˜ÂÀƒ˜ÂŠ˜Â@˜Â`“˜ÂŠ˜Â ™˜ÂàŸ˜Âà†˜Â€–˜Â€–˜ÂÀœ˜Â€–˜ÂÀœ˜ÂàŸ˜Â£˜ÂàŸ˜Â@©˜Â ²˜Â€¯˜Â ¦˜Â ²˜Â`¬˜Â`¬˜Â£˜Â ¦˜Â£˜Â ™˜ÂŠ˜Â ˜Â ˜Â €˜Â@˜Â€–˜Â€–˜Â ™˜ÂàŸ˜Â ¦˜Â`¬˜Â ¦˜Â ¦˜Â€¯˜Â ¦˜Â`¬˜Â@©˜ÂàŸ˜Â ¦˜Â ¦˜Â£˜Â`¬˜Â€¯˜Â€¯˜Âธ ¿˜Â`¬˜Â€¯˜Â`¬˜Â€¯˜Â`¬˜Â€¯˜Â€¯˜Â`¬˜Â`¬˜Â`¬˜Â ¦˜ÂàŸ˜Â@©˜Â€¯˜Â€¯˜Â¼˜Â ¿˜Â Ë˜Â€È˜Â ¿˜Â ¿˜Â@˜Â`ŘÂ@˜¼˜ÂÀµ˜Â¼˜Â€¯˜Âธ ¿˜Â ¿˜ÂธÂ@˜Â`؀Ș ˘Â՘€Ș ˘€ȘÂÀΘÂàјÂàјÂàј ä˜Â ä˜Âàê˜Âàê˜Âî˜ÂÀç˜Â ä˜Â€á˜Â`ޘ ä˜Â`ޘ ؘ ä˜Â`Þ˜ÂÀç˜ÂÀç˜Âàê˜Â@ۘ ؘÂ@ۘ ؘ ؘ ä˜Âàê˜Âàê˜Â ä˜Â`ޘ ؘ€á˜Â ä˜ÂÀç˜Â ä˜Âàê˜Âàê˜Âàê˜Âàê˜Â ä˜Â€á˜Â ñ˜Â ñ˜Âàê˜Â€á˜Âàê˜Â ñ˜Âàê˜Âî˜Â ñ˜Âî˜Âàê˜Âàê˜Â ñ˜Â@ô˜Â ñ˜Â`÷˜Â€ú˜Â€ú˜Â€ú˜ÂÀ™Â ý˜Âà™Â ñ˜Â€ú˜Â ý˜Â`÷˜Â ñ˜Âàê˜Âî˜Âî˜Â ñ˜Â€ú˜Â ™Â ý˜Â ™ÂÀ™Â`™ÂÀ™Â`÷˜Â ý˜Â`÷˜Â€ú˜Â ý˜Â€ú˜Â ý˜Âà™ÂÀ™Â€ú˜Â@ô˜Â@ô˜Â`÷˜Â€ú˜ÂÀ™Âà™ÂÀ™ÂÀ™Â ý˜Â™Â ý˜Â ý˜Â€ú˜Â ý˜Âà™Â ™Âà™Âà™Â@ ™Âà™Â™Â™Â@ ™Â€™Â™ÂÀ™Â™Â€™Âà™Â ™Â ™Â@ ™Â ™Â ™Â ™Â@ ™Â`™Âà™Â ™Â ™Âà™Âà™Â ™Â`™Â ™ÂÀ™Â€™Â ™Â`™Â€™Â`™Â`™Â€™Â€™Â ™Â ™Â`)™Â #™Â ™Â@ ™Â ™Â€™Â ™Â ™Â€™Â`™Â@ ™Â@ ™Â ™Â ™Â ™Â€™Â`™Â€™Âà™ÂÀ™ÂÀ™Â ™Âà™Â`™Â ™Â ™Â™Â™Â ™Â`™Â€™Â`™Â ™Â ™Âà™Âà™Â ™Â ™Â ™Â ™Â`™Â ™Â`™ÂÀ™Âà™Â`)™Â #™ÂÀ™Â€,™Â #™Âà™Â`™Â ™Â ™Â`™Â ™Â #™Â ™ÂÀ™ÂÀ™Â ™Â ™Âà™Â`™Â€™ÂÀ™Â`)™Â ™Â`)™Â ™Â #™Â /™Â`)™Â9™Â@&™Â€™Â ™Â ™Â ™Âà™Â ™Â /™Â€,™ÂÀ2™Â`)™Â`)™Â /™Â /™Â`)™Â /™Â /™ÂÀ2™Â /™Â`)™Âà™Âà™ÂÀ™Â ™Âà™Âà™Â€™Â ™Â ™ÂÀ™ÂÀ™ÂÀ™Â #™Â #™ÂÀ™Â ™Â ™Â #™Â€,™Â #™Â@&™Â ™ÂÀ™Âà™Â ™Âà™Â #™Â #™Â #™Â #™Â@&™ÂÀ™Â ™Âà™Â ™ÂÀ2™Â€,™Â /™Â /™Âà5™Â9™Â <™Â /™Â <™Â <™Â9™ÂÀ2™Â€,™Âà5™Â9™ÂÀ2™Â9™Â9™Âà5™Â9™ÂÀ2™Âà5™Â <™ÂÀ2™Â /™Âà5™Âà5™Â <™Â`B™Â <™Â <™Âà5™Â@?™Â <™Â9™Â9™Â`B™Â`B™Âà5™Â /™Â9™Â H™ÂR™ÂR™Â <™Â /™Â9™Â <™Â@?™Â9™Â9™Â`B™Â€E™Â€E™Â <™Â <™Â /™Âà5™Â <™Âà5™Â@?™ÂÀ2™Âà5™ÂÀ2™Â9™Âà5™Â <™Âà5™ÂÀ2™Â <™Â@?™ÂÀK™ÂÀK™Â H™Â`B™Â H™ÂàN™Â U™ÂR™Â`[™Â`[™Â€^™Â@X™Â U™ÂàN™Â€E™Â`B™ÂàN™ÂàN™ÂàN™ÂàN™ÂÀK™ÂÀK™Â H™Â H™Â@X™Â U™Â@X™Â€^™Â U™Â€^™Â@X™Â H™ÂàN™Â H™Â`B™Âà5™Â@&™Â€,™Â€,™Â@&™Â@&™Â€™Â ™Âà™Â ™Â`)™Â€,™Â@&™Â #™ÂÀ™Â`™Â™ÂÀ™ÂÀ™Âà™Â ™Âà™Â ™Â`™Âà™Â ý˜Âàê˜Â€ú˜Â ý˜Â@ô˜Â@ô˜Â€ú˜Â ý˜Â ñ˜Â@ô˜Â€ú˜Â ý˜Âà™Â€ú˜Â@ô˜Âàê˜Â ä˜Â`ޘ ä˜Â`ޘ ؘÂàê˜Âî˜Â`÷˜Â ä˜Â ä˜Â`÷˜Â ñ˜Â`÷˜Âàê˜Âàê˜Â`ޘ ؘÂàј ˘Â`Ř ¿˜Â@˜ÂÕ˜Â`Þ˜Â@ۘ€á˜Â ä˜Â`ޘ ؘÂàјÂÕ˜ÂÀΘ ˘Â@˜Â@˜ ¿˜Â`ŘÂÀΘÂ`Ř ¿˜Â Ë˜Â Ë˜Â`ŘÂàјÂÀΘ¼˜Â ¿˜ÂÀµ˜ÂÀµ˜ÂÀµ˜Â ¿˜Â`ŘÂ՘€Ș¼˜Â`Ř ˘ ¿˜Â`ŘÂ`؀ȘÂ@˜Âธ ²˜Â ¿˜Â ¿˜Â¼˜Âธ ¿˜ÂธÂธ ¿˜Âàј ˘Â@˜Â@˜Â@˜ ¿˜Â ¿˜ÂธÂธÂธÂธ¼˜ÂÀµ˜Â ²˜Â ¿˜Â ²˜Â@©˜Â ²˜ÂธÂÀµ˜Â€¯˜Â@©˜Â ²˜Â€¯˜Â`¬˜Â@©˜Â`¬˜Â ²˜Â ²˜Â@©˜Â@©˜ÂÀµ˜Â¼˜ÂÀµ˜Â`¬˜ÂÀµ˜Â¼˜Â ²˜Â€¯˜Â`¬˜Â ¦˜Â£˜Â@©˜ÂàŸ˜Â ²˜Â€¯˜Â`¬˜Â`¬˜ÂàŸ˜Â@©˜Â ¦˜Â ¦˜Â ²˜Â@©˜ÂàŸ˜Â£˜Â€–˜Â@˜Â ˜Â`“˜Â ™˜Â ¦˜Â`¬˜Â`¬˜Â ™˜Â€–˜Â ¦˜ÂÀœ˜Â£˜Â£˜Â@©˜Â€¯˜Â`¬˜ÂÀœ˜ÂÀœ˜ÂÀœ˜ÂàŸ˜Â€–˜Â`“˜Â€–˜Â`“˜Â`“˜Â€–˜ÂÀœ˜ÂÀœ˜Â ¦˜Â£˜Â ¦˜ÂàŸ˜ÂàŸ˜Â ™˜Â€–˜Â ˜ÂÀƒ˜Â €˜Â €˜Â`z˜Âà†˜Âà†˜Â ˜Âà†˜Âà†˜Âà†˜Âà†˜ÂÀƒ˜ÂÀœ˜ÂÀœ˜Â`“˜ÂŠ˜Â ˜Âà†˜ÂÀƒ˜ÂÀƒ˜Â`z˜Â€}˜ÂÀƒ˜Âà†˜ÂŠ˜Â ˜Â`“˜Â€–˜Â`“˜Â ™˜Â ™˜ÂÀœ˜Â€–˜Â ™˜Â`“˜ÂŠ˜Âà†˜Â ˜ÂŠ˜Â €˜Â€}˜ÂŠ˜Â €˜Â €˜Â ˜ÂÀƒ˜Â €˜Â €˜Â €˜Â €˜Âà†˜Âà†˜Â@˜Â€–˜Â@˜Â ™˜ÂÀœ˜Â ™˜Â ™˜ÂàŸ˜Â ¦˜ÂàŸ˜ÂÀœ˜Â@©˜Â€¯˜ÂàŸ˜Â`“˜ÂàŸ˜ÂàŸ˜Â`“˜Â ™˜Â€–˜Â ™˜Â ™˜Â ¦˜Â`¬˜Â ¦˜Â€¯˜ÂÀµ˜Â€¯˜ÂàŸ˜ÂàŸ˜Â£˜ÂàŸ˜Â`“˜ÂÀœ˜Â€–˜Âà†˜Â ˜Â€–˜ÂàŸ˜ÂÀœ˜Â ˜Â`“˜Â`“˜Â`“˜Â ™˜Â`“˜ÂÀœ˜Â`“˜Â ™˜Â`“˜Â`“˜Â€–˜Â ™˜Â@©˜Â€¯˜Â£˜Â`“˜Â@˜Â ™˜Â ™˜Â ™˜Â£˜Â ¦˜ÂàŸ˜Â€–˜Âà†˜ÂÀƒ˜Â €˜ÂŠ˜Â €˜ÂŠ˜Â ˜Â ™˜Â£˜Â`¬˜ÂÀµ˜Âธ€¯˜Â`¬˜Â@©˜Â ²˜Â@©˜Â£˜Â ¦˜Â ¦˜Â`¬˜Â@©˜ÂÀœ˜Â ™˜ÂÀœ˜ÂÀœ˜Â ™˜ÂàŸ˜ÂàŸ˜Â`¬˜Â`¬˜Â€¯˜Â ²˜Â@©˜ÂธÂ@˜ ˘ ˘ÂÀΘ ˘Â`Ř ¿˜Â¼˜Âธ¼˜Âธ¼˜ÂธÂ`ŘÂ`Ř ˘ ˘ ¿˜Â@˜Âธ ¿˜Â`؀Ș ¿˜Â ²˜Â€¯˜Â ²˜Â ²˜ÂÀµ˜Â¼˜Â@˜Â@˜¼˜Â ¿˜Â ¿˜ÂÀΘ€ȘÂ`Ř ¿˜Â€È˜Â€È˜Â ¿˜Â€È˜Â€È˜Â Ë˜ÂÀΘÂÕ˜Â@Û˜ÂàјÂÀΘÂàј ˘€ȘÂÀΘÂÀΘ ˘€Ș ˘Â@Û˜ÂàјÂ`Þ˜Â`Þ˜ÂàјÂÀΘÂàјÂàјÂàјÂÀΘÂ@Û˜Â՘ ˘ ؘ ؘÂàјÂàј ˘€Ș ˘ ؘ ؘ ˘ ˘Âàј ؘ€á˜ÂÀç˜Âî˜Âî˜Â`Þ˜Â@Û˜Â`Þ˜Âàê˜Â€á˜Â`Þ˜Â՘ ˘ ؘÂÕ˜Â@Û˜Â`Þ˜Â`ޘ ؘ ؘ ؘÂ@Û˜Âî˜Âî˜ÂÀç˜Â€á˜Â ؘÂàјÂàј ؘÂÀç˜Â€á˜Â€á˜Â ä˜Â`ޘ ä˜Â€ú˜Â`÷˜Â ý˜Â@ô˜Âàê˜Â ä˜Âàê˜Â ñ˜Âàê˜Â ñ˜Âî˜Â ñ˜ÂÀç˜Âàê˜Âî˜Â ä˜ÂàјÂ@Û˜ÂàјÂ`ޘ ä˜Âî˜Â ñ˜Â ñ˜Âàê˜Âî˜ÂÀç˜Â`ޘ ä˜Â ä˜Â ä˜Â ä˜Âî˜Âî˜Âàê˜Â€ú˜Â@ô˜Âî˜Âàê˜Â`÷˜Â@ô˜Â ñ˜Âî˜Âî˜Â@ô˜Â ñ˜Â`÷˜Â`÷˜Â@ô˜Â€ú˜Â@ô˜Â€ú˜Â@ô˜Â`÷˜Â ñ˜Â`÷˜Âàê˜ÂÀç˜Â ä˜Âàê˜Â ä˜Â ä˜Âàê˜Âî˜Â@ô˜Â ñ˜Âàê˜Â€á˜Â ؘ ä˜Â`ޘ ä˜ÂÀç˜ÂÀç˜Â`Þ˜ÂÀç˜Â`ޘ ؘ ä˜Âàê˜Âàê˜Âî˜Â ä˜ÂÀç˜Âî˜Â ý˜ÂÀ™Â`÷˜Â ñ˜ÂÀç˜Â`Þ˜Â@Û˜Â`Þ˜Â@Û˜Â`ޘ€á˜Â ä˜Â€á˜Â€á˜Â ä˜Â ä˜Â ä˜Â ä˜Â ä˜Â ؘÂ@ۘ€á˜Â ؘÂ`ޘ ä˜Â ä˜Â€á˜ÂàјÂÀΘÂÀΘÂàјÂ`ޘ ؘ ؘ€Ș ؘ€á˜Â`Þ˜Â@ۘ ؘ€á˜Â ؘÂ`Þ˜Â`Þ˜Â@Û˜Â@ۘ ˘ÂàјÂÀΘ€ȘÂÀΘ ˘Â`ޘ€á˜Â€á˜Â ä˜Â€á˜ÂÀç˜Â€á˜Â€á˜Â`Þ˜Â@Û˜ÂÀΘ ˘ ؘÂàј ؘÂ`ŘÂàјÂÀΘÂÕ˜ÂàјÂÀΘ ؘ ؘ ؘÂ`Þ˜Â`ޘ ؘÂÕ˜ÂàјÂàјÂàјÂ`Ř ˘¼˜Â ¿˜Â ¿˜ÂÀµ˜Âธ ¿˜ÂàјÂÀΘÂàј ؘ ؘÂ@Û˜ÂÀΘÂàјÂ`ޘ ä˜Â@ۘ ˘ ˘ÂÀΘÂàј ˘ÂàјÂàј€ȘÂ`ŘÂ`ŘÂ@˜€Ș ˘Â`ŘÂàј ˘ ˘ÂàјÂàј ؘ ؘÂ@Û˜Â@ۘ ؘ ؘÂ@Û˜Â`Þ˜Â`ޘ€á˜Â€á˜Â@ۘ ؘÂ@Û˜Âàј ä˜Â`ޘ ؘ ä˜Â`Þ˜Â՘ ؘ€á˜Â`Þ˜Â@Û˜Â`Þ˜Â`ޘ€á˜Â`Þ˜Â@Û˜ÂÀΘÂàј ؘ€á˜Â ä˜Â€á˜Â ä˜Â`Þ˜ÂàјÂÀΘÂÀΘ ؘÂ@Û˜Â@ۘ ؘÂ@Û˜Â`ޘ ä˜Âàê˜Âàê˜Â ñ˜Âàê˜Â€á˜Â ä˜ÂÀç˜Â ñ˜Â@ô˜Â€ú˜Â€á˜ÂÀç˜Â€á˜Âàê˜Â€á˜Â@Û˜ÂÀç˜Âàê˜Â€á˜Âàê˜Âàê˜Âî˜Âî˜Âàê˜Âàê˜Â ä˜Âàê˜Â ä˜Âàê˜Âî˜Â`÷˜Âàê˜Â@ô˜Â€ú˜Â`÷˜ÂÀ™Â ý˜Âà™Â ý˜Â`÷˜Â ý˜Â ý˜Âà™Âà™ÂÀ™Â€ú˜Â`÷˜Â ñ˜Âàê˜Â@ô˜Âàê˜Â ñ˜Â`÷˜Â€ú˜Â ý˜Â`÷˜Â`÷˜Â@ô˜Â`÷˜ÂÀ™Â ý˜Â`÷˜Â ñ˜Â ý˜Âà™Â€ú˜Â€ú˜ÂÀ™Â ý˜Â™Â ý˜Â ý˜Â ñ˜Â ñ˜Â`÷˜Â€ú˜Âà™ÂÀ™Â€™Â€™Â ™Â ™Â ™Â ý˜Â€ú˜Âî˜Â ñ˜Â€ú˜Â ý˜Â ý˜ÂÀ™ÂÀ™Âà™Â ™Â ™Â€™Â ™Â™Â`÷˜Â`÷˜Â€ú˜Â ý˜Â€ú˜Â ý˜Â ý˜Â€ú˜Â ý˜Âà™ÂÀ™Âà™Â`™Â@ ™Â™Â ™Â ™Â ý˜Â™Â™Â@ ™Âà™Â ™ÂÀ™Â™Â`÷˜Âà™Â™Â ™Â@ ™Â`™Â™Â ™Â@ ™Â@ ™Âà™ÂÀ™Â`™Â ™Â ™Â€™Âà™Â`™Â@ ™Â`™Â ™Â ™Â€™Â€™Â`™Âà™Âà™ÂÀ™Â ™Â #™Â #™Â ™Â€™Â ™Â ™Â #™Â #™Â€,™Â #™Â€™Â ™ÂÀ™Â ™Â #™Â ™Â€™Â`™Â ™Â ™Â ™ÂÀ™Â #™Âà™Â`)™Âà™Â ™Â ™Â #™Â€,™Â`)™Â ™Â #™Â #™Âà™ÂÀ™Âà™Â`)™Â`)™Â€,™Â <™Â <™Â@?™Â9™ÂÀ2™ÂÀ2™Â #™Â ™ÂÀ™Â ™Â ™Â ™Â@&™Â #™Â #™Â€,™ÂÀ2™Âà5™Â€,™Â9™Â€,™Â€,™Â€,™Â@&™Â`)™Â@&™Â€,™Â #™Â@&™Â€,™Â@&™Âà5™Â /™Âà5™Â <™Â€,™Â€,™Âà5™Âà5™ÂÀ2™Â€,™Â`)™Â`)™Â #™Âà™ÂÀ™Âà™Âà™ÂÀ™Â #™Â`)™Â #™Â`)™Âà5™Â9™Âà5™Â /™ÂÀ2™Â /™Â /™Â <™Â`B™ÂÀK™Â <™Â9™Â <™Â <™Âà5™Â /™ÂÀ2™ÂÀ2™Â /™Â /™Âà5™Â <™Âà5™Â€E™Â€E™Â@?™Â9™Â9™ÂÀ2™Â`)™Â@&™Â€,™Âà5™Â9™ÂÀ2™Â`)™ÂÀ2™Â /™ÂÀ2™Â /™ÂÀ2™Âà5™Â <™Â`B™Â <™Â`B™Â H™ÂÀ2™ÂÀ2™Â`)™Â€,™Âà5™Â <™Â`B™Â`B™Â H™Â@?™Â€E™Â <™Âà5™Â <™Â <™Â <™Â9™Â€,™Â€,™Âà5™Â@?™Âà5™Â /™Â€,™Â€,™Â€,™Âà5™Â`B™Â H™Â`B™Â H™Â H™Â H™Â€E™Â`B™Â H™Â`B™Â <™Â <™Â <™Â`B™Âà5™ÂÀ2™Â@?™Â H™Âà5™Â <™Â H™ÂÀK™ÂàN™Â U™Â U™Â@X™Â`[™Â U™Â H™Â H™Â <™Â <™Â`B™Â H™ÂR™ÂR™ÂàN™Â H™Â`B™Â U™ÂàN™Â U™Â`[™Â€^™Â@X™Â@X™Â U™Â@X™ÂàN™ÂÀK™Â H™Â`B™Â H™ÂÀK™Â H™ÂàN™Â`B™Â H™Â`B™Â <™ÂÀK™ÂÀK™Â H™ÂàN™Â`[™Â U™Â H™Â H™Â€E™ÂÀK™Â H™ÂàN™Â H™Â9™Â€,™ÂÀ™Â`)™ÂÀ™Â€™Â@ ™Â ™ÂÀ™Â™ÂÀ™Â ý˜Âà™Â™Â ý˜Â@ô˜Â@ô˜Â ñ˜Âî˜Âî˜Â ñ˜Â@ô˜Âî˜Â@ô˜Âàê˜Â ä˜ÂÀç˜Â ä˜Â ä˜ÂÀç˜Â ý˜Â@ô˜Â ñ˜ÂÀç˜Â@ô˜Â€ú˜Â ñ˜ÂÀç˜Âàê˜Â ñ˜Âàê˜Â€á˜Â ä˜Â ؘÂ@Û˜Âàј ؘ€á˜Â€á˜Â@Û˜ÂÀç˜Â ä˜Âàê˜ÂÀç˜Â ä˜Â ä˜Â ä˜Â`ޘ ؘ€á˜Â ä˜ÂÀç˜Â€á˜Â ؘ ؘÂàê˜Â ؘÂàјÂàјÂàјÂÕ˜ÂàјÂàјÂÀΘÂ@ۘ ä˜Â ä˜Â@Û˜Â`Þ˜Â`Þ˜ÂÕ˜ÂàјÂÀΘÂàјÂ@Û˜Â@Û˜Â`Þ˜ÂàјÂàјÂ@Û˜Â@Û˜Â`ޘ ä˜ÂÀç˜Â@Û˜ÂÕ˜Â`ŘÂ`ŘÂธ¼˜Â¼˜Â ²˜Â ¦˜ÂàŸ˜Â ˜ÂŠ˜Â€}˜Â t˜Âàm˜ÂÀj˜ÂàT˜ÂX˜Â N˜ÂàT˜ÂàT˜Â`a˜Â N˜ÂÀQ˜Â B˜ÂÀQ˜Â€K˜Â?˜Â€2˜Âà;˜Âà;˜Â@E˜Â 5˜Â@,˜Â )˜Â@,˜Â ˜Â ˜Â ˜Â ˜Â ˜Â ˜Â`˜Â ˜Â@˜Â ˜Â ˜Â ˜Â ˜Â`ý—Â`ý—Â`ý— ÷—Âô— ˜Â ˜Â ˜Â€˜Â`ý—€˜Â ÷— ê—€ç— ê— ޗ ޗ ޗÂ@á—Âà×—Âۗ ޗ€ç—Â`ä—Â@á—Â@á—Âۗ ޗ€ç—Â`ä—ÂÀí—Â`ä—Â@á—€Η€Η ї ї€ΗÂ@ȗ ї€Η€Η— ŗÂ@ȗ— ŗ ŗ ŗÂ@È—Â`Ë—Â@È—Â@ȗ ŗ ї ŗÂྗ—— ŗÂ`Ë—Â@ȗ€ΗÂ`˗— ¸—€µ—Â`²—Â`²— ¸—€µ— ¸— ¸— ¸— ¸—Âྗ ŗ ŗ ŗÂྗÂྗ€µ——Â`²—€µ— ¸— ¸— ¸—€µ——ÂÀ»—€µ—ÂÀ»— ¸—ÂྗÂ`²—ÂÀ»— ¸—ÂÀ»— ¸—ÂྗÂྗÂ@¯—Â`²—Â`²—Â`²—ÂÀ»— ¸—ÂÀ»— ¸—ÂÀ»—ÂྗÂ`²— ¸—Â`²— ¸—Â`²— ¸—ÂÀ»—€µ—Â`²—Â`²—Â`²— ¬— ¬—©—Â@–—ÂॗÂÀ¢—Â@¯—Â@¯—ÂÀ¢— ¬—Â`²— ¸— ¸— ¬—Â@¯—Â`²—Â`²—ÂÀ»— ¸—ÂྗÂ`²—€µ—Â`²—€µ—€µ—Â`²— ¬—ÂॗÂÀ¢— ¬— ¸—Â@¯—ÂÀ»— ¸—€µ—ÂÀ¢—©—Â`²— ¸—Âྗ ¸—Â@¯—Â`²— ¬—Âॗ©—Âॗ “—ÂàŒ—Â€œ— Ÿ—ÂÀ¢— Ÿ—©—Â`™—— “— “— Ÿ— Ÿ— Ÿ—ÂॗÂॗÂ`²— ¬— ¬—©—Âॗ€œ— “—€œ— Ÿ—Âॗ Ÿ— “—Â@–—ÂÀ‰— “—Â@–—ÂàŒ—Â “—Â`™—€œ—Â`™—Â`™— “— “— Ÿ— ¬—Âॗ Ÿ—Â@¯—©—©— Ÿ—Â`™—Âॗ Ÿ—Â@–— Ÿ—Â`™— ¬—Âॗ ¬—Âॗ Ÿ— ¬—Â`²—Â@¯—Âྗ€µ— ¬— ¸—Â`²—€µ—€µ—€µ—Â`²— ¬— ¬—©— ¬—Âॗ©— ¬— ¬—©— ¸—€µ—©— ¬—ÂॗÂ`™—€œ—€œ—Â`™— Ÿ—Â@¯— ¸—ÂÀ»—ÂÀ»—Â`²— ¸—Â@¯—©—ÂÀ»— ¸—ÂÀ»—Âྗ—ÂÀ»— ŗ ŗ ¸—€µ—Â@¯— ¸— ¸—Â@¯—ÂÀ»— ŗ ї€ΗÂà×—Âàח ŗ ŗ ¸—€µ—Âྗ ŗÂ@È—Â@È—Â`Ë—Â`Ë—ÂÀÔ—Â`Ë—Â@ȗ їÂà×—Âà×—Â@á— їÂàח€ç—Â`˗— ŗ їÂà×—Â@á—Â`ä—Â`ä—Â@á—€ç—Â@á— їÂàח ї€Η ї їÂà×—Âà×—Âà×—Âàח€ç—Â`ä—€ç—ÂÀí—Âô—Âàð—Âô— ê— ޗ їÂà×—Âà×—Â Þ—ÂÀÔ—Âà×—Â@á—Âàח ޗ€ç—€ç—ÂÀí—ÂÀí— ê—Â`ä—Â`ä—Âàח їÂÀԗ€ç—Â`ä—Âàð— ÷— ÷— ê—Âà𗀘Â`ý—Â`ý—€˜Âàð—Âàð— ÷— ÷—€˜Â€˜Â€˜Â€˜Â ˜Â€˜Â ˜Â ˜Â€˜Â`ý—Â`ý—Âà ˜Â ˜Â`˜Â@˜Â ˜Â@˜Â ˜ÂÀ˜Â ˜Âô—Âô— ÷—Âà𗀘Âô— ÷—Â`ý—€˜Â ˜Â ˜Â ˜Â`ý—Â@˜Â`˜Âà ˜Â ˜ÂÀ˜Â ˜Âà ˜Â ˜Â ˜Â ˜Â€˜Â€˜Â ˜Â@,˜Â`/˜Â`/˜Â&˜Â ˜ÂÀ˜Âà"˜Â&˜Âà"˜Â ˜Â ˜Â€˜Âà"˜Â ˜Âà"˜Â&˜Â&˜Â&˜ÂÀ˜Â ˜Â ˜Âà"˜Â`˜Â@˜Â ˜Âà ˜ÂÀ˜Â@˜Â ˜Â ˜Â@˜Âà"˜ÂÀ˜Â€˜Â@˜Â`˜Â ˜Â€˜Â€˜Â`˜Â`˜Â ˜Â`˜Âà ˜Â ˜Â ˜Âà ˜Âà ˜Âà ˜Âà ˜Â ˜Â€2˜Â )˜Â ˜Â€˜Â ˜Âà"˜Âà"˜Âà ˜Âà ˜Âà ˜Â ˜ÂÀ˜Â ˜Â ˜Â`ý— ˜Â ˜Â ˜Â ˜Â ˜Â`˜Â`˜Âà ˜Â€˜ÂÀ˜Â ˜Â€˜Â`˜Â ˜Â@˜Â`˜Â ˜Â&˜Â )˜Â€˜Â ˜Â`˜Â€˜Âà"˜Â€˜Â ˜Â ˜Â`˜Â ˜Â ˜Â ˜Â ˜Â@˜Â ˜Â ˜Â ˜Â`˜Â€˜Â ˜Â€˜Â ˜Â ˜Âà ˜Â ˜Â ˜Â ˜ÂÀ˜Â ˜Â ˜Â ˜Â ˜Âà ˜Â ˜ÂÀ˜Â`˜Â`˜Â ˜Â€˜Âà"˜Â`˜Â ˜Â ˜Â@˜Â ˜Âà ˜Â€˜Â ˜Â ˜ÂÀ˜Â ˜Â ˜Â€˜Â`˜Â ˜Â`˜Â€˜Âà ˜ÂÀ˜Â ˜Â ˜Â ˜Âà ˜Â ˜Â ˜ÂÀ˜Â ˜Â`˜Â ˜Âà ˜Âà ˜Â ˜Â€˜Â`ý— ˜Â`˜Â ˜Â€˜Â ˜Âà ˜Âà ˜Â ˜Â`ý— ˜Â`˜Â ˜Â ˜Â ˜Âà ˜Â ˜Â@˜Â`˜Â ˜Â ˜ÂÀ˜Â ˜Â€˜Â ˜Â ˜Â ˜Â ˜Â`˜Â`˜Â ˜Â`˜Â`˜Â`˜Â ˜Â€˜Âà ˜Âà ˜Â ˜Âô—Â@ú—€˜Â ê—ÂÀÔ—Â Å—Â`²— ¬—Â@–— †—Â`€—Â`€—Âàs—Â@d—ÂàZ— T—ÂÀW—ÂàZ—ÂàA— /—€—ÂÀ%—€—Â@—Â`—€—Âà— —— —Âà—Âà——  —Âà—  —Â@—€—Âú–€í–Â@ç–Âàݖ€ԖÂàÝ–ÂàÝ–Â`Ñ–Â@Ζ ˖ÂÀÁ–ÂÈ–ÂÀÁ– ²–Â@µ–€»– ¾– ¾–Â`¸–Â`¸–€»–€»– ²–€»–¯– ¥– ¥–€¢–Âà«–Â૖–– ™– ™– Œ–€‰– Œ–Â`†–€‰–Â`†–Â@ƒ–Âày–Â@ƒ–Â@ƒ– €–Â@ƒ– Œ–Â`†–Â}–Âày–Â}–Â}–Âày–Â@ƒ–Â@ƒ–€‰–Â}– s–€p–Â@j–€p–Â@j–€p–Â`m–Âà`– Z–€W–Â`T– N–ÂàG– N–Âà`– Z– N–€W–Â@Q–ÂK–ÂàG–Â`;–Â`;–ÂÀD– N–ÂK– A–Â@8–Â`;–ÂàG–ÂàG–ÂK–ÂK–€>–€>–Â`;– 5–€>–Âà.– (– –Âà– – –Â@–Â@–Âàü• ö• ö•Âàü• ö•Âàü•Â`ð•Â`ð• ݕÂ@Ô•Â`וÂ@Ô•ÂΕÂàʕ€Á• ¸•Âౕµ•Â`¥•Â`¥•Â@¢• Ÿ•Â@¢•Â`¥•Â`¥•œ•Âà˜•Â`Œ•ÂÀ|•€v•€v•€v•€v•Â`s•€v•Âàf• m•Âj• m•Â@p•€v•€v•Â@p•Â`s•Â`s•Âj•€]•Â`Z• `• T•€]•€]•Â`Z•€]•Â@W•ÂQ•ÂQ• ;•Â`A• G•ÂÀJ•ÂàM• G•ÂÀJ• G•ÂàM•ÂQ• G• G•ÂÀJ•ÂàM• G•Â@>• G•€D•ÂàM•€D•€D• ;• G•Â8• ;•Â`A•Â8•Âà4•Â@>•Â`A•Â`A• ;•Â8• ;•Âà4•Âà4• ;•Â`A•€D•Â`A•Â@>•Âà4•Â`(•€+•Âà4•Â`A•€D•Â`A• ;•Â8•Âà4•Â`A• G• G•€D•Â8•ÂÀ1•Â8•Âà4• ;•Â8• ;• ;•Â8• ;•Â`A•€D• ;•Âà4•ÂÀ1•€+•ÂÀ1•Â8•ÂÀ1•€+•Â@%• .•ÂÀ1•ÂÀ1•€+•Â`(•Â@%• "•Â@%• "• .•€+•Âà4•Âà4•Â8•ÂÀ1• .•€+•ÂÀ1•Â`(•Â`(•€+•Âà4• .• .• .•Â`(• .•€+•ÂÀ1• ;• ;•Â@>•Â`(• "• •• • •€•€+•Âà4•Â8•€+•Â`(•ÂÀ1•Â8• G•Â@>•Â8• ;•Â8•ÂÀ1•Âà4•€D•€D• ;•€D•Â8•Âà4• .•Âà4• ;•€D•€D•€D• G•€D•€D•€D•€D• ;•Â`A•€D• G•ÂQ•ÂàM• G•€D•€D•ÂÀJ• T•ÂàM•ÂÀJ•ÂàM•ÂQ• G•Â`A• G•€D•ÂàM• G• T•Â`Z• T•ÂQ•Â@W•ÂàM•Â`Z•ÂÀc• `•Â`Z•Â`Z• T•ÂQ•ÂàM• T•Â`Z• T• T• T• G• G•ÂQ•€]• T•Â`Z•ÂQ•Â`Z• T•Â@W•ÂQ•ÂàM•ÂàM•ÂQ•€D• ;•Âà4•Â@>•€D•Â@>• G• G• G• G•€D• G• ;• ;•Â`A•Â@>• ;•Â8•Â8• ;• ;•€D•Â`A• G•ÂàM•ÂàM•ÂàM• T•ÂÀJ•€D•Â@>• ;•Â`A•Â`A• G• G•€D•ÂàM• T•ÂÀJ•Â`A•ÂàM•Â`A•Â`A•Â8• G•ÂàM• G•ÂàM• G• T•ÂQ•ÂàM•ÂàM•ÂQ•ÂQ•Â@>• G•ÂàM•ÂàM•ÂQ•€]•€]•€]•Â@W•€]•€]•€]• `• m•Âàf•ÂÀc•Â@W•Â`Z•ÂQ• T•ÂàM• G• G•ÂàM•Â`Z• `•Â`Z•Â`Z•Â@W•Â@W•Â`Z• `•Âàf•Âj•Â@p•Â@p• m•Âj• y•Âà• †•Â@‰•Âà•ƒ•ƒ•€v•€v•Â@p•ÂÀ|• y•ÂÀ|• y•ÂÀ|•Âà•ƒ• †• y•Â@p•Â`s•Âà•ÂÀ|• y•Â`Œ•Â@‰• †• y•ÂÀ|• †•ƒ•€•Âà˜•Â`¥•Â@¢•Âà˜•Â ’•Â`Œ•Â@‰•Â@‰•Â@‰• †• †• ’•Â`Œ• †• †•Âà•ÂÀ|•€v•Â`s•Â`s• y• y•ƒ• †•Â`Œ•Â`Œ•Â@‰• ’•Âà˜•Â Ÿ•Âà˜•Âà˜•Â€•€• ’•ÂÀ••ÂÀ••€•€•Â`Œ• ’• ’•Â@¢•€¨•€¨•ÂÀ••€•œ•Âà˜•Âœ•œ•Âà˜•Âà˜•Â ’•œ•Â@¢•Â`¥•Âౕµ•ÂౕÂÀ®•Â@¢•Â`¥•œ•€¨•€¨•Âౕ ¸•Âౕµ•Âౕ «• Ÿ•Âà˜•Â€¨•€¨•€¨•€¨•ÂౕÂÀ®• «• «•Âౕ ¸•Â`¾•€Á• ¸•µ•Â@»•Â`¾•ÂàÊ•ÂΕÂ@Ô•Âàʕ ĕ ĕµ•€Á•€Á•Âàʕ ѕ ѕ ѕÂ@Ô•Â@Ô•ÂΕ ѕÂ`ו ê• ê• ݕ€ڕ ѕÂ@Ô•Âàã•Â`ו€ڕ€ڕÂÀà• ݕ ê•Âàã•€ڕÂàã• ê• ݕ ѕ€ڕÂàã• ê• ݕ ݕÂç•Â@í•Â@í• ö•Â`ð• ê•Âàã•Âàã•Âàã• ê•Âç•Âàã• ö•Â` –Â` –Â` – –ÂÀù•€ó•€ó•Â`ð•Â`ð•€ó•ÂÀù• ö• ö•Âç• ê•Â`ð•Âàã• ݕ€ڕÂ@ԕ€ڕÂç• ê•Âàã• ݕÂ@ԕ ݕ ĕÂ`¾•€Á• ¸• ¸• ¸• ¸•Â@»• ĕÂàʕ€Á•ÂΕ€Á• ĕÂ`¾•Â`¾• ¸•Â@»• ¸•€Á• ¸•µ•ÂౕÂÀ®•Â@»•ÂౕÂౕ ¸•µ•µ•Âౕµ•Âౕ ¸•Âౕ ¸•ÂÀ®• ¸• ¸• ¸• «• Ÿ• Ÿ•Â`¥•Âà˜•Â Ÿ• ’• ’• Ÿ• «•µ•ÂౕÂ`¥•€¨• «•Âౕ ¸•Âౕ «• ¸•µ•ÂౕÂÀ®• Ÿ•€¨•ÂౕÂౕÂÀ®•ÂÀ®•ÂÀ®•ÂౕÂౕÂౕ ¸•€Á•ÂÀÇ•ÂàÊ•Â`¾•€Á•Â`¾•ÂÀǕ ѕÂàÊ•ÂΕ ĕÂΕ ĕÂàʕ ĕÂΕÂΕÂàʕ€Á• ĕÂÀǕ ѕÂΕÂàÊ•ÂàÊ•ÂÀǕ ĕÂàÊ•Â`¾•Â`¾• ĕÂΕÂ@ԕ ѕ€ڕ ѕ ѕ ѕÂàÊ•ÂΕ€Á•ÂàÊ•Â@ԕ€ڕ ѕ ѕ ѕ ѕÂ@Ô•Â Ñ•ÂΕ ݕ ѕ ѕ ѕ ݕ ݕÂàã•Â`וÂ@Ô•ÂΕÂ@ԕ€ڕ€ڕÂàã•Â`ð•Â`ð•Â@í• ê•Âàã•Â`ð•Â`ð•Âç• ݕ ݕÂàã•Â`ð•€ó•Âàü•ÂÀù•–Â@–––Âàü•Âàü•Âàü• –Âàü• ö• ö•Âàü•Âàü• ê•Â`ð• ö• ö•Â`ð•Â@í•Â`ð•Â`ð•Â@í•Â`ð• ö• ö• ê•ÂÀù• –Â@–Âàü• –ÂÀù• ö•€ó•Âàü•– ö• –€ –Â` – –Â` –€ –ÂÀ– –Â@–Â`"–Â2– (– – –Âà–Âà–Âà– –Âà–Âà–Â`"– ––Â`"– (– – –€%– –Â`"–€%–ÂÀ+–Âà.– 5–€>–ÂàG–Â@8–Â@8–Â2– 5–Âà.– (–Â`;–ÂàG–ÂÀD–ÂàG–ÂÀD– N–ÂÀD–ÂÀD–ÂÀD–Â`;–€>– A–ÂàG–ÂÀD–ÂÀD– A–ÂàG– A–ÂÀD–ÂàG–Â`T–€W–Â`T–Â@Q– Z–ÂÀ]– Z–Âd–Â`T– N–Â`T– N–Â@Q–Â`T– Z– Z– Z–ÂK–€W–ÂÀ]– Z– g– g–Âà`– Z– Z–€W– Z–€W–Âà`–Âà`– g– g– g–Â@j–ÂÀ]– Z– Z–ÂÀ]– Z–Âd– s– s– s–Â@j–ÂÀ]–Âà`– g– g–Âd–ÂÀ]–Âd–Â`T–Â`T–Â`T–Â`T–Âà`– g–ÂÀv–ÂÀv– g– g– s– €– s–€p–Âày– s–Â`m–Â`m– s– s–Â`†–Âày–Âày–ÂÀv–ÂÀv–ÂÀv–€p–Âày– €– €–Âày–Âày–Â@ƒ–Â`†–Âà’–Â ™–Â`Ÿ– ™–––€‰–Âà’–Â Œ– Œ– Œ–€‰–Â}–Âày–Âày–Â@ƒ–Â`†–Â`†–Âà’–Â Œ–Â`†–Âà’–Âà’–Âà’–Â ™–Â`Ÿ–€¢–Â`Ÿ–––Âà’–Â––Âà’–Â ™–Â`†– Œ– ™–Â@œ–Â`Ÿ– ¥–ÂÀ– ™–€¢–ÂÀ¨– ¥–ÂÀ¨–Â૖ ¥–Â`Ÿ–Â@œ–––ÂÀ––––– ™– ¥–¯– ²– ¾–ÂàĖ ¾–ÂȖ ¾–Â`¸– ²–Â@µ–Âà«–Â ²– ¾–€»– ¾– ²–€»–ÂÀÁ–ÂàĖ ¾– ¥–ÂÀ¨– ²–¯– ²– ¥–Âà«–Â ²–Â@µ–Â@µ–Â૖ ¥–€¢– ¥–ÂÀ¨–ÂÀ¨–ÂÀ¨–Â`Ÿ–Â@œ–Â`Ÿ––– ™–€¢–Â@œ–Âà’–Â Œ–Â`†–Â`†–Â`†–Â`†–€‰– €–Â@ƒ–Â`†–Âày– €–Â@ƒ–Âà’–Â`†– €–Âày–Âày–Âày– Œ–ÂÀ– Œ–Âà’–Â€‰– Œ– €–Â`†–Â@ƒ–Â`†–€‰–€‰–Âà’–Â ™– Œ–€‰– €– s–Âày–Âày–Â}–Â`†– €–Â@ƒ–Â@ƒ– Œ– €–Â}–Âày–Âày–Âày– s– €–Â`†–Â`†–Â`†–€‰– €–Âày–€p–Âày–Âày–ÂÀv–ÂÀv–Â}–Â`†–Â}– €–Â@ƒ–Â}–€‰–Â`†–Âà’–Â–– Œ–ÂÀ–Â`†–€‰–ÂÀ–Âà’–Â–– Œ–Âày–ÂÀv– €–Â`†–Âày–Â`†– Œ–Âà’–Â Œ– Œ–€‰– €–Â`†–€‰– Œ– Œ–ÂÀ–Â`Ÿ–Â@œ– ™– Œ–Âà’–Â@œ–€¢– ¥– ¥–ÂÀ¨–€¢–€¢– ¥–€¢– ™––– ¥–€¢–€¢– ™–Â`†–€‰– Œ– Œ–Âà’–Â`Ÿ–––Â`Ÿ–Â`Ÿ– ™– ™– ™–Â@œ– ™– Œ– ™– ™– Œ– ™–Âà’–Â––––ÂÀ¨–ÂÀ¨–ÂÀ¨–Âà«–Â ²–Â૖ ¥– ¥–Â@µ–€»–Â@µ–ÂàÄ–ÂàĖ ¾–€»–€»–Â`¸– ¾–Â`¸–€»–ÂÀÁ–Â@Ζ ˖ÂÈ–Â`Ñ–ÂÀږ ז זÂ`Ñ–Â Ë–ÂàÄ–ÂàÄ–ÂàĖ ˖ ¾–€ԖÂÀÚ–Â ä– זÂ@Ζ ˖ÂÀÁ– ¾– ˖ זÂÀÚ–ÂÀÚ–ÂÀÚ–Â ä– זÂ@ΖÂ@Ζ ˖ÂÈ–Â`Ñ–ÂàÄ–Â`Ñ–Â`і ז ä–Âá–ÂàÝ–Âá–ÂàÝ–ÂàÝ–ÂÀÚ–ÂÀÚ–Â ä–Âá– ð–€í– ð–Âàö–€í– ä– ä–Âá–Âàݖ 䖀햠ý–Âú–Âú–Âú– ð– ð–Âú–€í–Âàö–Âàö–  —Â@—Âà—ÂÀ —Âàö–Âú–Â@—€í– ð– ð–Âàݖ ð–ÂÀó– ý–€— ý–€—Â`—Â@—Â@— —Â@—Â@—ÂÀ —Â@— "—Âà(— /—ÂÀ%—ÂÀ%—ÂÀ%—Âà(—ÂÀ%—ÂÀ%—ÂÀ%— "—€—Âà(— "— "—Â`— "—Âà(—Â`5— /— /—Â@2— /—ÂÀ%— /—€8— ;— H—ÂE—ÂÀ>— ;—ÂàA— H— H—ÂÀ>— ;—ÂàA—€8—ÂàA— H— ;—ÂàA—ÂàA— ;— ;— ;—ÂE—Â`N—€Q— H— H—ÂÀW—ÂàZ—Â^—Â^— a— T— a—Â^—Â`g—ÂàZ—ÂÀW—ÂÀW—Â`g—Â`g—Â`g— m— m—€j— a—€Q—€Q—ÂÀW—ÂÀW—ÂàZ— T—€Q—ÂàZ—ÂÀW—ÂÀW— T—ÂÀW— a—ÂÀW—Â@d—Â`g—Âàs—Â`€—Â@}—Âàs—Â@d— a—Â`g— a—Â`g— a—€j— m—Â`g—€j—€j— z— m—Â`g—Â@d—Âàs—Â`€— †—Â`€— z—Â@}— z— z—€ƒ—Â`€— z—Âàs—Âàs— †—Â`€—Âw— m—Âàs—Âàs—ÂÀp— m—Âàs—Âw—Â`€—Âàs— z— †— †—€ƒ— †—Â@}—Âàs—Âàs—Âw—Âàs— z—€ƒ——Â@–—Â`™—Â`™—ÂÀ¢—Â`™— Ÿ—ÂÀ¢— ¬—ÂॗÂ@–—— †—ÂÀ‰— †—ÂÀ‰—ÂàŒ—Â “— “— “—Â`™—— “—Â`™— “— “— “— Ÿ— Ÿ—ÂॗÂ@¯— Ÿ—Â@–—ÂàŒ—Â “— Ÿ— ¬—€µ— ¬—€µ— ¬—Â@¯—ÂÀ»—€µ—ÂÀ»—€µ—Â`²—©— ¬—ÂॗÂ@¯—Â@¯—Âॗ©—ÂÀ¢—€œ— Ÿ—Âॗ ¬— ¬—Â`²—Â@¯—Â@¯— ¬— ¸—©—©—ÂÀ¢— Ÿ— ¬— ¬— Ÿ— Ÿ—©— ¬— ¸— ¬—Â`²— ¬—ÂॗÂ`²— ¸—ÂÀ»— ŗ ї ŗ ŗÂ`Ë—Â@ȗ—ÂÀ»—Âྗ ¸—Â`²—€µ— ¸—Â@¯—Â`²—Â`²— ¬— ¸—€µ—€µ—€µ— ¸— ¸—€µ——Âྗ ŗÂ`˗ їÂ`Ë—Â@È—Â Å—Â Å—Â@ȗ— ¸—ÂྗÂ@È—Â`Ë—Â@È—Â Å—Â`Ë—Â`Ë—Âà×—ÂÀÔ—Â`Ë—Â@È—Â`Ë—Â`˗ ї€ΗÂ`˗ ї їÂÀÔ—ÂÀԗ ї€Η€Η— ŗ€ΗÂÀÔ—Â Þ—Â Þ—ÂÛ—ÂÀÔ—Â`Ë—Â@á— ޗÂÛ—Â@á—€ç—Âô— ÷—Â@ú—ÂÀí—Âô—Â@ú—Âàð— ê—€ç—Âàð— ÷—€˜Âà ˜Â`ý— ˜Â ˜Â ÷—€˜Â`ý— ˜Â ÷—Â`ý— ˜Â ˜Â ˜Â ˜Â ˜Â@˜Â`˜Â@˜Â ˜ÂÀ˜Â ˜Â@ú—Â@ú—Â`ý— ˜Â ˜ÂÀ˜Âà ˜Â€˜Â ˜Â ˜Â ˜Â`˜Â ˜Â`˜Âà ˜Â ˜Â ˜Â ˜Âà ˜Â ˜Â ˜Â ˜Â@˜Â&˜Â&˜Â`/˜Â )˜Â`/˜Âà"˜Â )˜Â&˜Â`/˜Â`/˜Âà"˜Âà"˜Âà"˜Â )˜Â )˜Â€2˜Â 5˜Â`/˜Â )˜Â )˜Â@,˜ÂÀ8˜Â€2˜ÂÀ8˜Â`/˜Â`/˜Â@,˜Â )˜Â@,˜Â€2˜Â€2˜Â@,˜Â )˜Â 5˜Â 5˜Â 5˜Â )˜Â@,˜Â@,˜Â 5˜Â 5˜Â 5˜Âà;˜Â€2˜Â`/˜Â@,˜Â`/˜Â€2˜Â 5˜ÂÀ8˜ÂÀ8˜Âà;˜Â B˜Âà;˜Â 5˜Â@,˜Â&˜Â )˜Â€2˜Â?˜Â@E˜ÂÀ8˜Â 5˜Âà;˜Â 5˜ÂÀ8˜Â?˜Â B˜Â B˜ÂÀ8˜ÂÀ8˜Â`/˜Â 5˜Â€K˜Â`H˜Â B˜Âà;˜Â@E˜Â B˜Âà;˜Â 5˜Â B˜Â@E˜Â N˜Â`H˜Â€K˜Â@E˜Â B˜Â@E˜Â`H˜Â`H˜Â€K˜Â@E˜Â`H˜Â`H˜Â@E˜Â?˜Âà;˜Âà;˜Âà;˜Â?˜Â 5˜ÂÀ8˜Â 5˜Â?˜Â 5˜Âà;˜Â?˜ÂÀ8˜Â B˜Â@E˜ÂàT˜ÂÀQ˜ÂÀQ˜Â`H˜Âà;˜Â@E˜Â€K˜Â N˜Â`H˜ÂÀQ˜Â€K˜Â€K˜Â N˜Â N˜Â`H˜ÂÀQ˜Â [˜Â [˜ÂX˜Â€d˜Â€d˜Â€d˜Â€d˜Â [˜ÂàT˜Â€K˜Â`H˜Â N˜Â N˜Â€K˜Â`H˜Â€K˜ÂàT˜ÂàT˜Â`H˜Â€K˜ÂX˜ÂàT˜Â N˜Â N˜Â N˜ÂX˜ÂàT˜Â [˜ÂÀQ˜Â€K˜ÂÀQ˜ÂX˜ÂX˜ÂX˜ÂX˜ÂÀQ˜ÂàT˜ÂÀQ˜Â€K˜Âà;˜Â B˜Â`H˜Â€K˜Â N˜Â€K˜Â N˜ÂàT˜ÂX˜Â`H˜Â`H˜Â€K˜Â N˜ÂàT˜ÂÀQ˜Â€K˜Â@E˜Â B˜Â@E˜Â?˜Â?˜Âà;˜Â`/˜Â 5˜Âà;˜ÂÀ8˜Â€2˜Â@,˜Â&˜Â )˜ÂÀ8˜Â?˜Âà;˜Â€2˜Â`/˜Â@,˜Â`/˜Â 5˜Â 5˜Âà;˜Â 5˜ÂÀ8˜Â 5˜Â`/˜Â 5˜Â`/˜Â )˜Â&˜Âà"˜Â@,˜Â&˜Â€2˜Â )˜Âà"˜Âà"˜Â )˜Â&˜Â`˜Â@˜Â ˜Â`˜Â`˜Â ˜ÂÀ˜Âà ˜Â`˜Â ˜Â ˜Â`ý—Âà ˜Âà ˜Â@˜Â ˜Â ˜Â ˜Âà ˜Âà ˜Â`ý—Â`ý—Â@ú— ˜Â`ý—Â@ú—Â@ú—Â`ý—Â`ý—ÂÀ˜Âà ˜Â ˜Â ˜Â ˜Â€˜Â ˜Âà ˜Âà ˜Âà ˜ÂÀ˜Â ˜Â ˜Â ˜Â&˜Â ˜Â&˜Â )˜Â&˜Â&˜Â€˜Â ˜Â )˜Â€˜Âà ˜Â ˜Âà ˜Âà ˜Â ˜Â@˜Â ˜Â ˜Â ˜Âà ˜Â@˜Â@˜Â ˜Â`˜Â ˜Â ˜ÂÀ˜ÂÀ˜Âà ˜Â ˜Âà ˜Âà ˜Â@ú—Âàð—Â`ý— ˜Â ˜Âà ˜Â ˜Âà ˜Â ˜Â`ý— ˜Â ˜Â ˜Â ˜Âà ˜Â@˜Â ˜Â`˜Âà ˜Â ˜Â`˜Â@˜Â€˜Âà ˜Â ˜Âà ˜Â ˜Â ˜Â ˜Âà ˜Âà ˜Â@˜Â`˜Â@˜Â ˜Â`ý—€˜Â ˜Âà ˜Â ˜Â ˜Â ˜Â ˜Â@˜Â€˜ÂÀ˜Â&˜Â@˜Âà ˜Â ˜ÂÀ˜Â€˜ÂÀ˜Â ˜Â ˜Â`˜Â€˜Â ˜Â ˜ÂÀ˜Â ˜Âà ˜Âà ˜ÂÀ˜Â€˜Âà ˜Â ˜Âà ˜Âà ˜Â ˜Â`˜Â ˜Â ˜ÂÀ˜Âà ˜Âà ˜Â ˜Â ˜ÂÀ˜Â`ý— ˜Â@˜Â ˜Â€˜Â@˜Â€˜Â€˜Â@˜Â ˜Â ˜Â ˜Âà ˜Âà ˜Â ˜Â€˜Âà ˜Â ˜Â ˜Â ˜Â€˜Â ÷— ˜ÂÀ˜Â ˜Â€˜Â ÷—Â@ú—ÂÀ˜ÂÀ˜Â€˜Â`ý—Âô—ÂÀí—Âàð—Âô—Âàð— ê—€ç—Âàח—Âྗ— ŗÂ`˗ ї ޗ ޗÂàח їÂ`Ë—Â`˗—Â@È—Â`˗ їÂ@ȗ ŗ€µ———Â@ȗ ї ŗÂྗ ¬—Â`²— ¬— ¬— ¸—€µ—€µ— ¸— ¸—Â`²— ¸—Â`²—€µ— ¸— ¸— ¸— ¸— ¸— ŗ ¸—ÂÀ»—Âྗ ŗÂྗ ¸—Âྗ—ÂÀ»— ¸—€µ—€µ—Â`²—Â`²—ÂÀ»— ¸—Â@ȗ ї€Η———Â@È—Â Å—Â@ȗ ї€ΗÂ`Ë—Â@È—Â@ȗ€Η€ΗÂ`˗— ¸— ŗÂ—Â@È—Â Å—Â Å—Âྗ ŗÂÀ»——Âྗ— ¸—ÂྗÂÀ»——Âྗ ¸—€µ— ¸—ÂÀ»——— ŗ€µ—Âྗ ŗÂྗÂྗÂ`Ë—Â@ȗ— ¸—Âྗ—€Η їÂ`Ë—Â`Ë—Âྗ ¸— ¸— ¸—Â`²—Â`²—ÂॗÂ`²—Â`²—ÂÀ»—©—Â`²—Â`²—Â@¯— ¬— ¬—ÂÀ»—€ΗÂ`˗— ¸—©—©—€œ— Ÿ— Ÿ— ¬—Â`²— ¸— ¸— ¸— ¸—€µ— ¬—€µ—— ¸— ŗ ¸—Âྗ€µ—Â@¯— ¸—ÂÀ»— ¬—Â@¯—ÂॗÂॗ Ÿ—Â`™—Â@–—Â`™—Âॗ Ÿ—ÂÀ¢—ÂॗÂ`²—€µ—€µ—€µ— ¸—Â@¯— ¬—Âॗ©—Â@¯—Â@¯— ¸—Âྗ ŗ ¸—€µ— ¸—Âྗ ¸—Â@¯—Â@¯—Â@¯—Âॗ©—Â@¯— ¬— ¬— ¬—©—Â`²—Â@¯—Â@¯—Â`²—ÂÀ»—ÂÀ»—€µ—Â`²—€µ— ¸—Â@¯—ÂÀ¢—€œ—Â@–— “—ÂÀ¢— Ÿ— Ÿ—Â`²—Â`²—Âॗ€œ—€œ— Ÿ—Â`™— Ÿ—ÂÀ¢— Ÿ—Âॗ Ÿ—©—Â@¯——Âྗ ¸— ¬—Âॗ€œ—ÂÀ¢— Ÿ—ÂÀ¢—©—©—ÂÀ¢— ¬—€œ— Ÿ— ¬—Â@¯—ÂॗÂॗÂÀ¢—©—ÂÀ¢— “——€œ— Ÿ— Ÿ—ÂÀ¢—Âॗ ¬—Â`²—Â@¯— ¸—€µ— Ÿ—ÂॗÂÀ¢—€œ—Â`™—ÂÀ¢—©— ¬—Â`²—€µ— ¬—©—©— ¬—Â`™—Â@–——ÂàŒ—Â`™—Â@–—Âॗ ¬—ÂॗÂॗÂÀ¢—ÂॗÂ@¯—Â@¯—€µ—Â@¯—©—©—€µ—ÂÀ»—ÂྗÂྗÂ@¯— ¸— ¸— ¸—ÂÀ»— ŗÂ`²—€µ—€µ—€µ— ¸—ÂÀ»—€µ———€µ— ¬— ¬—€µ— ¸— ¸— ŗÂ@È—Â@ȗ€Η ї їÂà×—Âۗ їÂ`˗€ΗÂÛ—ÂÛ—Â Þ—Â@È—ÂྗÂ`Ë—Âàח€ç— ê—€ç—Âàð— ê—Âà×—ÂÀԗ їÂà×—Â Þ—Âۗ€ΗÂ`Ë—Â@ȗ ŗ їÂÀԗ€Η ŗÂÀÔ—Â Þ—ÂÀԗ€Η ŗÂྗ ŗÂÀ»—ÂÀ»—€µ—€µ—ÂॗÂÀ¢—ÂÀ¢—€œ—€ƒ— z—Â`g— a— T— H—ÂE— ;— /— "—Â`——ÂÀ —Â@—Â@— ý– ý–€í–Â`ê–ÂÀږ€ԖÂàÝ–ÂàÝ–ÂàÝ–Â@ΖÂ@ΖÂ`Ñ–Â`Ñ–ÂȖ ¾– ¥– ¥–Â`Ÿ– ™–Âà’–ÂÀ–Â`Ÿ– ™– ™–Âà’–Â€‰–Â@ƒ– Œ–Âà’–Â Œ– Œ–Â@ƒ–Â}–Â}–Âày–Â`m–Â`m–Â@j– g–Âd–€W–€W– Z– Z–ÂÀ]– Z–Â@Q–Â@Q–Â@Q–Â`T–Âà`–Â@Q–Â`T–ÂàG–ÂàG– A–ÂàG–ÂK– A– A–Â@8–Âà.–Â2– 5– A–ÂàG–€>–€>–Â`;–Â`;–Â`;–Â`;–Âà.–€%–Â@– (– 5–Âà.– (–€%––ÂÀ–Â`"–Â@–Âà–ÂÀ–Âà– – –ÂÀ–Âàü•€ó•Â@í•€ó• ê• ö• ö• ö• – ö•Âàü•ÂÀù• ö• ö• ê•€ó•Â`ð•Â`ð•Â`ð•Â@í•ÂÀà•Âàã•Â`ð• ê• ö•Â@í•Â@í•Âç•Âàã•Â`ð•Â`ð• ê•Â`ð•Âç•Âç• ݕÂÀà•€ڕÂΕÂΕÂ`וÂ@Ô•Â`ו ѕ ĕ ĕÂ`¾• ĕÂ@Ô•ÂàÊ•Â`¾•€Á• ĕ€Á• ĕ ĕÂ`¾•Â@»•Â`¾• ¸•€Á•€Á•Â`¾• ĕ ¸•€Á• ¸•Â`¥•œ•Â@¢• Ÿ•Â`¥• Ÿ•ÂÀ®• ¸•Âౕµ•µ•Âౕ ¸• «• «•ÂౕÂÀ®• «• «• ¸•Âౕ Ÿ• Ÿ•€¨•€¨•€¨• «•Â@¢• «•Â@»•Â`¥•Â@¢•€¨• Ÿ• Ÿ•œ•€¨• «•Âౕ «•µ• «•€¨• «• «•œ•Â`¥•Â`¥•Â`Œ•€• ’• ’• ’• ’•€•Âà˜•Â Ÿ• Ÿ•Â@¢•Âà˜•Â€¨• «•ÂÀ®• «•€¨•Â`¥•Â`¥•Â@¢• ’• ’•œ•Âà˜•Âœ•Âà˜•Â@‰•Âà•Âà• †• †• †•€• †•ƒ•Âà•Âà•Âà• ’•œ•Â@¢•Â@¢•€¨•Âà˜•ÂÀ•• ’•ÂÀ••Âà˜•Âà˜•Â@¢•Â@¢• ’•ÂÀ••œ•Âà˜•Âà˜•Â€•Â@‰• y• y•Âà•ƒ•Â`Œ• †• †•Â`Œ•Â@‰•Â`Œ•€•€•€• ’•Âà˜•Âœ•œ•Â@¢•Â`¥• Ÿ•Â@¢•Âà˜•Âà˜•Â@¢•Â`¥• Ÿ•Âà˜•Âà˜•Âœ•œ•ÂÀ••€•ÂÀ••Âà˜•Â€¨• «• «• «•Â`¥•€¨• Ÿ•œ•Âà˜•ÂÀ•• ’• ’• ’•Â`Œ• ’•œ•Â@¢•Â@¢•ÂÀ••ÂÀ••ÂÀ••Âà˜•Â`Œ• ’•Âà˜•Âà˜•Âà˜•Â Ÿ•Â@¢•Â@¢•Â`¥•Â`¥• Ÿ•ÂÀ®•µ• «•Â`¥•Â@¢•€¨• ¸• ¸•ÂౕÂౕ ¸• ¸•Âౕ «•€¨• ¸•Â@»• ¸•Âౕ ¸•µ•Â`¾• ¸•Â@»•Â`¾•€Á•€Á• ĕµ•µ• ¸• ĕ€Á•Â`¾• ĕÂàÊ•Â`¾•ÂౕÂÀ®•ÂÀ®• «• ¸•ÂౕÂ@»•Â`¾•Â@»•ÂÀǕ€Á• ĕÂ@Ô•Â Ñ•ÂΕ ĕÂÀÇ•Âàʕ ĕÂ@»•ÂÀÇ•ÂàÊ•ÂÀǕ ĕ ѕÂ@ԕ ĕ ¸•€Á•ÂÀÇ•ÂΕÂàÊ•ÂàÊ•Â`¾•€Á• ĕ€Á• ĕÂÀǕ€Á•€Á•€Á•Â`¾•€Á•Â`¾•Â`¾• ĕÂΕÂ@Ô•ÂΕ ѕÂàʕ ĕ ѕÂ@ԕ ѕ ѕÂàʕ ĕÂàʕ ĕ ĕ ѕÂ`וÂΕÂ`וÂ@ԕ€ڕÂ@Ô•Â Ñ•Â`ו ݕÂ`ו€ڕ€ڕÂ`ו ݕ ݕ ݕÂÀà•Âàã•Âç•Âàã•Âàã•Âàã•Â@Ô•ÂàÊ•ÂΕ€ڕ€ڕ ѕ ݕÂ`וÂàÊ•Âàʕ ѕÂ`וÂ`ו ݕ ݕÂ@Ô•ÂàÊ•Â@Ô•Â Ñ•Âàʕ ѕÂàÊ•ÂΕÂÀǕ ѕ ݕÂΕ ѕ€ڕ ݕÂàã•ÂÀà•Âàã• ݕ ݕÂàã•Âàã•Âç• ê•ÂÀù•€ó•Â@í•Â`ð•ÂÀà• ݕ ݕ ݕÂÀà•€ڕ ݕÂÀà•ÂÀà•Â`וÂ`ו€ڕ ݕÂç•Âç•€ڕÂ`ו€ڕÂÀà•Âàã•Âàã•€ó• ê•ÂÀà• ݕ€ڕ ݕÂÀà•Â@í•Â@í• ê•€ó•Âàü• ö•ÂÀù•€ó•Âç• ݕ ê• ê•Âç•Â@í• ê•Âàã•Âàã• ê•ÂÀà• ݕÂàã•€ڕ ݕ ݕÂ@í•Âç•Âç•Âç•€ó•Â`ð•Â`ð•Â@í•ÂÀà• ݕÂàã•Âàã•Âàã• ê• ݕÂç•Âàã•Âàã•Â@í• ö• ö•Â@í• ê•Âàã• ê•Â`ð•Â@í• ö•€ó•Â@í• ê•Â`ð•Âàü•ÂÀù•Â`ð•€ó• –– – –€ – –Â` – –– –Âàü•Â` –ÂÀ–Â` –Â` –€ –Â` – –Âàü•Âàü•Âàü•ÂÀ–– –Âà–€ –Â` –€ –Âà–€%–€%– –Âà–ÂÀ–€ –€ –– – – –ÂÀ–Âà– –Âà– – –Â` – –€ –€ – –Â@–€%– (– –– – –Â`"–Â`"– (–Âà– ––Âà–ÂÀ–€ – – –Âà– –Âà–Âà–Âà–Âà––ÂÀ–Âà– –ÂÀ+– 5–Â@8– 5– (– (–€%– – –€ –Âà– –Â@–Â@– –Â`"– (–Â`"––Âà– ––Â@–Â`"–Â`"–Âà.–Âà.–ÂÀ+–€%–€%–Â`"–Â`"–€%– (– (–Âà.– (– (– 5– 5–Âà.–ÂÀ+–Â2– 5–Â2–Â@8– 5–Âà.–Â2–ÂÀ+–Â2–Â2– 5–Â`;– A–Âà.– (–Â@8–ÂÀD–ÂàG–ÂÀD–ÂàG–€>–Â@8–€>–ÂàG–ÂK–Âà`–Âd–Âd–Âd–Â@j–Â@j– g–Â`m– Z– Z– Z– Z–Â`T– N– N–ÂàG–Â@Q–ÂàG–Â`T– N–Â`T–Â`T– N–€W– Z– Z–ÂÀ]–Â`T– Z–€W–ÂÀ]– g–Âà`–Âà`–€W– Z–€W–ÂÀ]–ÂÀ]–Â`T–€W–Â`T–Â@Q– Z–Âà`–€W–Âà`–Âd– g– s–ÂÀv–€p– g–ÂÀ]–ÂÀ]– g– g–Â@j–Â@j–€p– s–Âày–Â}–€p– s–€p–€p–Â@j–Âd–Â`m– s– g–Â@j– g– s–Âd–Âd–Âd– g– s–Âày–Â}–Â}–€‰–Âà’–Â Œ–€‰–Â`†– €– s–Âày–€‰– Œ–Â`†– Œ–ÂÀ–€‰– €– €–Â`†–€‰–€‰–Â`†–€p–ÂÀv– €– €–Â}–Âày–€p–ÂÀv–Â@ƒ––– Œ–Âà’–Â––––ÂÀ–€¢–––Â@œ– ™––– Œ–€‰–ÂÀ– Œ–€‰– €– Œ–€‰–Âà’–ÂÀ–ÂÀ–€‰–Â`†–Âà’–Â Œ–ÂÀ–Âà’–Â–– Œ– Œ–€‰–€‰–€‰–Âà’–Â––Â`Ÿ–ÂÀ–ÂÀ–Âà’–Â–– ™– ¥– ¥– ²– ²–ÂÀ¨–Â`Ÿ–€¢–Â૖¯–Â૖ ¥–Â`Ÿ– ¥– ¥–€¢–Â`Ÿ–€¢–€¢–Âà«–Â`Ÿ–Âà«–ÂÀ¨–€¢– ¥– ¥–ÂÀ¨– ¥–ÂÀ¨–Â`Ÿ–ÂÀ¨– ²–¯– ¥– ™–€¢– ¥– ¥–ÂÀ¨– ¥–¯–Â@µ–Â`¸–Â@µ– ¾–ÂàĖ ¾–Â`¸– ¾–€»–€»–ÂàĖ ¾–Â`¸– ²–ÂÀ¨–Â૖¯–Âà«–Â૖€¢–ÂÀ¨–ÂÀ¨– ¥–Âà«–Â@µ–¯–¯– ¾–ÂÀÁ– ˖ÂàĖ ¾–ÂÀÁ– ²–¯– ²–Â`¸–ÂàÄ–ÂàÄ–ÂÈ–ÂÀÁ– ¾–ÂàÄ–ÂàĖ€»– ¾–ÂÀÁ– ¾–¯–€»–ÂàÄ–Â Ë–Â@ΖÂ`Ñ–Â@Ζ ¾–ÂÀÁ– ¾– ¾–Â@ΖÂ`Ñ–Â Ë–ÂàÄ–Â`Ñ–Â`Ñ–Â@ΖÂ`Ñ–ÂàÄ–Â Ë–Â Ë–ÂÀږ ˖ ˖€Ԗ זÂàÝ–ÂàÝ–Â ä–Âá– זÂ`і€ԖÂàݖ זÂàݖ€Ԗ€Ԗ זÂá– זÂàÝ–Âá– ä–ÂàÝ–Â ä– ð–€í–Â@ç–Âá–Âàݖ ð–Â@—Â`—Â`—Âú– ý–Â`—Â@— ý–Âàö–Âàö–Âú– ý–Â`—Âú–Âàö–Âú– ý–ÂÀó–Âú–Âàö–Â@—Â`— ý–€í– ð–Â@—Â`—ÂÀ —€—Â`— ý–Âú– ý– ý– ý–Âà—€—  —ÂÀ — — — — —Â@—ÂÀ —€—ÂÀ —  —Â@—Âàö–ÂÀó–Âàö–Âú–€—Â`—  — —Â`—Â`—€— — —ÂÀ —Â`—ÂÀ —ÂÀ —Âà—Â@—ÂÀ%— "—€—Â`—ÂÀ%—€—Â`—Â`—Âà— —Â`—ÂÀ%— /—Â`5— /—Â`5—Â,— /—Âà(—Â,—ÂÀ%— "—ÂÀ%—Âà(—Âà(—ÂÀ%—Â,—Â@2—Â@2—Â`5—Â,—Â,—Âà(—Â,— /— /— ;—€8—€8—€8—Â@2—Â,—Âà(—Âà(—Â@2— /—Â,—Â@2— /—€8—Â@2— /—Â`5—Â`5—ÂE—ÂÀ>—ÂàA— ;— ;—€8—€8—Â`5— /—Â@2—ÂàA— H—Â@K— H— H— H—€Q—€Q—Â`N— H—ÂàA—ÂE—€8— ;—ÂàA— H—Â`N—Â`N— H—Â`N— H—Â`N—Â@K—€Q—€Q— T— H— T—ÂÀW—Â^—Â@d— a—Â@d—€j— a—ÂÀp—Â@d— a— a— a—Â^— a—€j—Â^— a— a— a— a—€j—€j—ÂÀp—Â@d—Â`g—ÂÀp—Âàs—Âàs— m—Âàs— z— z—€j—Â@d—€j— m—Âw—Â`€—Âàs— m—€j— m—ÂÀp—Âw—Â@}—€ƒ—ÂÀ‰—Â`€—Â`€—Âàs—ÂÀp— z—Âàs— z—ÂÀ‰—ÂàŒ—Â †— †— †—€ƒ—Â`€—€ƒ—€ƒ—Â`€—Â`€—€ƒ—ÂÀ‰—€ƒ——Â@–—ÂÀ‰—€ƒ—€ƒ—Â`€— †—ÂàŒ—Â@–—€œ—Â`™—ÂÀ¢—Â`™—Â`™—€œ— Ÿ—ÂÀ¢— “— “—— “— “— “—€œ— ¬—ÂྗÂÀ»—Â@¯— Ÿ—€œ— Ÿ— Ÿ—ÂÀ¢—©— ¬—Âॗ©— ¸— ¬—Â`²—Âॗ ¬— Ÿ— ¬—Â@¯—Â`²— ¸—€µ—Â`²— ¬—Â`²—Â`²— ¸—ÂÀ»— ¸—Â`²—€µ—Â@¯— ¬— ¸— ¸— ¬—€µ—ÂÀ¢—Âॗ ¬—©—ÂÀ¢—Âॗ ¬— ¸—Âྗ ¸—Â`²—€µ—Â`²—Âॗ©—Âॗ©— ¬—€µ— ¬—Â`²— ¬—Â@¯—Â`²— ¸— ¸— ŗ ¸— ¬— Ÿ—ÂॗÂ`²— ¸—Âྗ ŗÂ— ¸—€µ—€µ— ¸— ŗ ŗÂ`²— ¬—€µ—Â@¯—Â@¯—€œ— Ÿ—ÂÀ¢—ÂॗÂॗÂÀ¢—©—©—Âॗ©—ÂॗÂÀ¢— ¬— ¬—Â@¯—Â`²— ¬— ¸— ¸—Â`²— ¸— ¸—ÂÀ»—ÂྗÂ@È—Âྗ€µ—€µ—©—ÂÀ¢—©—€µ—€µ— ¬— ¸——€µ—Â`²—€µ— ¸—€µ— ¸—Â`²—€µ— ¬—Â`™—Â@–—ÂॗÂÀ¢—©—€µ—Â`²—— ŗ ŗÂྗ— ¸—Â@¯—Â@¯—ÂÀ¢— Ÿ—Â@¯—Â@¯— ¬—€µ—Â@¯—Â@¯—ÂÀ»— ŗ€µ— ¸—Â`²— ¬— ¬—Â@¯—Â`²——€µ—Â`²—€µ—Â`²—ÂྗÂÀ»—€µ——Â@È—Â Å—Â@ȗ ї€ΗÂ`Ë—Â`Ë—Â`˗ ŗ—ÂྗÂྗÂ`²— ŗÂྗ€ΗÂྗ ŗÂྗ€Η€Η€Η ŗ ¸—Â@È—Â@È—ÂÀ»—— ¸— ¸—ÂÀ»— ŗÂ—Â@È—ÂྗÂྗ ŗÂྗ— ŗ ŗ ŗ ŗÂ`²—Â@¯— ¸——Â@È—Â Å—Â`Ë—ÂÀÔ—Â`˗ їÂÀÔ—Âà×—Âàח€Η ޗÂÛ—Âà×—ÂÀÔ—Âàח ї їÂ`˗€Η їÂ`Ë—Â`˗€ΗÂÀԗ ŗ€Η їÂÀÔ—Âà×—Â@á— ޗ ї€ΗÂÀÔ—Âà×—Â`ä— ê—Â@á—ÂÀÔ—Â`Ë—Â`˗ ї ޗÂà×—Â`ä—Â`䗀痠їÂÛ—Â`ä—Â@á— ޗ ޗ€ç—Â@á— їÂà×—Â Þ—Âà×—Â Þ—Âàð— ê—€ç— ޗÂ@á—Âà×—Â Þ—Âàð—€ç—Â`ä—Â`ä—Â@á—Â`ä—ÂÛ—Â`ä—Â`ä—Â`ä—Âô— ê—ÂÀí— ê— ê—Â`ä— ê—Âàð— ê—Âàð—Âàð—Â`ý—Âô—Âàð—Âàð— ÷—€˜Â ÷— ˜Â ˜Â ˜Â€˜Â ˜Â@ú—Â`ý—Âô—Â@ú—Â@ú—Âô— ê—Âàð— ê—ÂÀí—Âàð—Âàð— ÷—Âô—Â`ý— ˜Â@ú—Â@ú—€˜Â ˜Âà ˜Â@˜Â ˜Â ˜Â ˜Â`˜Â@˜Â ˜Â€˜Â@˜Âà ˜ÂÀ˜Âà ˜Â ˜Â ˜Â ˜Â ˜Â ˜ÂÀ˜Âà ˜Â ˜Â ˜ÂÀ˜Â`ý—Â`ý—Âà ˜Â ˜Â ˜Âà ˜ÂÀ˜ÂÀ˜Â`ý— ˜Â ˜Âà ˜Â ˜Â€˜ÂÀ˜ÂÀ˜Â ˜Âà ˜Â@˜Â@˜Â ˜Â ˜Â`˜Â ˜ÂÀ˜ÂÀ˜Â ˜Â )˜Â )˜Â )˜Â`/˜ÂÀ˜Â )˜Â€2˜Â@,˜Â&˜Â )˜Â )˜Â )˜Â@,˜Â€2˜Â€2˜Â@,˜Â`/˜Â )˜Âà"˜Âà"˜Â ˜Â )˜Â@,˜Âà;˜Â B˜Â B˜ÂÀ8˜Â&˜Âà"˜Â&˜Â 5˜Â`/˜Â )˜Â€2˜Âà;˜Âà;˜Â 5˜Â 5˜Â@,˜Â )˜Â@,˜Â ˜Â€˜Âà"˜Â@,˜Â@,˜Â@,˜Â&˜Â&˜Âà"˜Â )˜Âà"˜Â ˜Â€˜Â ˜Â ˜Â ˜Â ˜Â ˜Â€˜Â€˜Âà ˜Â ˜Â`˜Â ˜Â@˜Â ˜Â@˜Â@˜Â ˜Â ˜Â ˜Â ˜Â@˜Â€˜Â€˜Â ˜Â ˜Â`ý— ˜Â ˜Â ˜Â`˜ÂÀ˜Â ˜Â&˜ÂÀ˜Â€˜Â&˜Â ˜Â ˜Âà ˜Â ˜Â ˜Â€˜Â`ý— ˜Â ˜Â ˜Â ˜Â@˜Âà ˜Â`˜Â ˜ÂÀ˜Â@˜Â`˜Â`˜Â ˜Âà"˜Â`˜Â ˜Â ˜Â ˜Â ˜Â ˜Â ÷—€˜Âà ˜Â@˜Âà ˜Â ˜Âà ˜Â ˜Â`˜Âà ˜Â`ý—€˜Â@ú—Âàð—Âô—Â`ý— ˜Â ÷— ÷—Â@ú—Â`ý—Â@ú—€˜Â@ú—Âàð— ÷—Âô—Â@ú—Â`ý—Â@ú—ÂÀí—€˜Â ˜Â ÷—ÂÀ˜Â`ý— ˜Â ˜Â`ý—Â`ý—€˜ÂÀ˜Â@˜Âà ˜Â ˜Âà ˜Â@˜Â@˜Â ˜Â ˜Âà ˜Âà ˜Â ˜Â ˜Â€˜Â ˜Â ˜Â€˜Â€˜Â`˜Â`˜Â`˜Â ˜Â€˜Â ˜Â ˜Â`˜ÂÀ˜Â ˜Â ˜Âà"˜Â@,˜Âà"˜Â@˜Â ˜Â€˜Â`˜Â ˜Â`˜Âà"˜Â ˜Â ˜Â€˜Â ˜Â€˜Â ˜Â ˜Â ˜Â ˜ÂÀ˜Â ˜Â ˜Â€˜Âà ˜Â@˜Â ˜Â€˜Â@˜Âà"˜Â`˜Â`˜Â ˜Â ˜Â ˜Â ˜Â ˜Â ˜Âà ˜ÂÀ˜Â ˜ÂÀ˜Â`˜ÂÀ˜Â ˜Â ˜ÂÀ˜Â ˜Â@˜Â@˜Â`˜ÂÀ˜Â ˜Â&˜Â€˜Â ˜Â ˜Â )˜Âà"˜Â`˜Â ˜Â€˜Â ˜Â ˜Â€˜ÂÀ˜Â@˜Â@˜Â ˜Â ˜Â ˜Â`˜Â`˜Â ˜Â`˜Â&˜Â@,˜Â&˜Â ˜Â ˜Âà"˜Â ˜Â€2˜ÂÀ8˜ÂÀ8˜Â`/˜Â@,˜Â€2˜Â@,˜Â )˜Âà"˜Â&˜Â`/˜Â`/˜ÂÀ˜Âà"˜Â ˜Â ˜ÂÀ˜Âà"˜Âà"˜Â )˜Â )˜Â`/˜Â€2˜Â 5˜Â@E˜Âà;˜ÂÀ8˜Â?˜Â B˜ÂÀ8˜Â B˜Â`H˜Â`H˜Â@E˜Â B˜Âà;˜Â€2˜Â )˜Â`/˜ÂÀ8˜Â B˜Â@E˜Â B˜Â`/˜Â B˜Â`H˜Â N˜Â N˜Â [˜Â N˜Â`H˜Â N˜Â [˜Â@^˜ÂàT˜ÂàT˜Â N˜Â`H˜ÂàT˜Â@^˜Â [˜Â [˜Â [˜Â [˜Â [˜Â [˜Â`a˜Â@^˜Â@^˜ÂàT˜ÂàT˜ÂÀQ˜ÂàT˜ÂàT˜Â [˜ÂX˜ÂàT˜Â€K˜Â`H˜ÂÀQ˜Â N˜Â [˜Âàm˜Â€d˜Â g˜Âàm˜Âàm˜Â g˜Â€d˜Â@^˜Â [˜ÂÀQ˜Â [˜Â N˜Â N˜Â N˜Â N˜ÂÀQ˜Â [˜ÂÀQ˜Â`a˜Â€d˜ÂÀj˜ÂÀj˜Âàm˜Â@w˜Âq˜Â t˜Â t˜Â t˜Â€}˜Â €˜ÂÀƒ˜Â t˜Â t˜ÂÀj˜Â€}˜Â`z˜Âà†˜Âà†˜ÂÀƒ˜Âà†˜ÂŠ˜Â €˜Â`z˜Â€}˜Â €˜Â €˜ÂÀƒ˜Â €˜Â ˜Â@˜ÂŠ˜ÂŠ˜Â`z˜Â`z˜Âq˜Âq˜Â@w˜Â@w˜Â t˜Â€}˜Â €˜Â€}˜Âà†˜Â €˜Â €˜Â ˜Â ˜Âà†˜Â`“˜ÂÀœ˜ÂàŸ˜Â`“˜Â@˜Â€–˜Â ™˜ÂÀƒ˜ÂÀƒ˜Â €˜Â€}˜ÂŠ˜Â €˜ÂÀƒ˜ÂŠ˜Â`“˜Â`“˜Â`“˜Â€–˜ÂÀœ˜Â`“˜Â ™˜Â ™˜Â ™˜Â ™˜ÂàŸ˜Â ™˜ÂÀœ˜Â`“˜Â`“˜Â ˜Â`“˜Âà†˜Âà†˜ÂŠ˜ÂŠ˜Â €˜Â€}˜Â €˜Â ˜Â€–˜Â@˜Â ˜Âà†˜ÂŠ˜Â`“˜Â ™˜Â€–˜Â ˜Âà†˜Â ˜Â@˜ÂŠ˜Âà†˜Â ˜Â`“˜Â@˜Â@˜Â ™˜Â ™˜Â ™˜Â€–˜Â€–˜Â ™˜ÂÀœ˜Â@˜Â ˜Â@˜Â€–˜ÂŠ˜Â@˜Â@˜Â ˜Â ˜Â ˜Â`“˜Â`“˜Â ˜Â`“˜Â`“˜Â ˜Âà†˜Â €˜Â €˜ÂÀƒ˜Âà†˜Â €˜Â€}˜Â€}˜Âà†˜Â@˜Â`“˜Â ˜Â ˜Â ˜ÂŠ˜Â ˜Â ˜Â€–˜ÂàŸ˜Â€–˜Â`“˜Â€–˜Â€–˜ÂÀœ˜Â€–˜Â ™˜ÂÀœ˜Â`“˜Â ˜Â`“˜Â ˜ÂŠ˜Â`“˜Â@˜Â@˜Âà†˜Â €˜Â`z˜Â€}˜Â €˜Âà†˜ÂÀƒ˜Âà†˜ÂŠ˜Âà†˜Â€}˜Â`z˜Â`z˜Âà†˜Â`“˜ÂŠ˜Âà†˜Â`“˜ÂŠ˜Â@˜Â ˜Â@˜Â ™˜Â ˜ÂŠ˜Â€–˜Â ™˜Â€–˜Â`“˜Â ˜Âà†˜ÂŠ˜Âà†˜ÂŠ˜ÂŠ˜ÂŠ˜Âà†˜ÂŠ˜Â@˜Â ˜Â`z˜Â €˜ÂÀƒ˜ÂŠ˜Â ˜Âà†˜ÂÀƒ˜Â €˜Â€}˜Â`z˜Â@w˜Âq˜Â@w˜Â t˜Â@w˜Â`z˜Â t˜Â €˜Âà†˜Âà†˜Âà†˜ÂÀƒ˜Â€}˜Â €˜Â`z˜Â€}˜Â €˜Â@w˜Â€}˜Â€}˜Â€}˜Âà†˜Â €˜Â €˜ÂÀƒ˜Â €˜Â €˜Â €˜Âà†˜Â@˜ÂŠ˜Â €˜Â`z˜Â€}˜Â €˜Â ˜Âà†˜Â €˜Â`z˜Â@w˜ÂÀj˜Â`a˜Â`a˜Â g˜Â€d˜Âq˜Â€}˜Â t˜Âà†˜ÂŠ˜Âà†˜Â ˜Âà†˜ÂŠ˜Â €˜ÂŠ˜ÂŠ˜Â`z˜Â`z˜Â€}˜ÂÀƒ˜Â€–˜Â ˜Âà†˜Â €˜Â`z˜Â`z˜ÂŠ˜Âà†˜Â@˜Â €˜Âà†˜Âà†˜ÂŠ˜ÂŠ˜Â €˜Â@w˜Â`z˜Â t˜Â t˜Â@w˜Â@w˜Â@w˜Â t˜Âàm˜Âq˜Â€}˜Âàm˜Âq˜Â€}˜ÂÀƒ˜Âà†˜Â €˜ÂŠ˜Âà†˜ÂŠ˜Â€–˜Âà†˜Âà†˜Â`z˜Â t˜Â`z˜Âq˜Â €˜ÂŠ˜Â €˜Â`z˜Â €˜Â €˜Â €˜Â €˜Â`“˜Â €˜Â €˜Â@w˜Â`z˜Âq˜Â@w˜Â €˜Â@w˜Â@w˜Â €˜Â €˜Â€}˜Â €˜Â t˜Âq˜Âàm˜Âq˜Â t˜Âà†˜Â ˜Â@˜Â€}˜Â €˜Â €˜Â`z˜Â t˜Â €˜Â€}˜ÂŠ˜Âà†˜Â €˜ÂŠ˜Â€}˜Â@w˜Â€}˜ÂÀƒ˜ÂŠ˜Â ˜Âà†˜Â €˜Â`z˜ÂŠ˜Â ˜ÂŠ˜ÂŠ˜ÂŠ˜Â €˜ÂÀƒ˜Âà†˜ÂŠ˜Â €˜ÂŠ˜Â ˜Âà†˜ÂÀƒ˜Â`z˜Â`z˜Â€}˜Â €˜Â€}˜Â`z˜Â €˜Â`z˜Â@˜Â ˜Âà†˜ÂŠ˜ÂŠ˜Âà†˜Â ˜Â ˜ÂŠ˜Â€–˜Â€–˜Â`“˜Â ˜Âà†˜Â €˜Â@w˜Â`z˜Â`z˜Â@w˜Â t˜Â t˜Â@w˜Â t˜Â€}˜Âà†˜Âà†˜Â €˜Â €˜ÂŠ˜Â`z˜Â`z˜Â@w˜Â g˜Â`a˜Â g˜Âq˜Âàm˜Â t˜Â t˜Â`z˜Âà†˜Â ˜Â ˜Â ˜Â`“˜Â ˜Âà†˜Â`z˜Â t˜Â t˜Â@w˜Â €˜Â€}˜Â €˜Â`z˜Â`z˜Â`z˜Â t˜Â@w˜Â@w˜Âà†˜Â€}˜Â t˜Âàm˜Â€d˜Â t˜Â@w˜Â t˜Â@w˜Â t˜Âàm˜Â@w˜Â@w˜Âàm˜Â€}˜Â t˜Â`z˜Â€}˜Â €˜Âà†˜Âà†˜Â €˜Âà†˜Â €˜Â€}˜Â€}˜Â €˜Â t˜Â@w˜Â t˜Â€}˜Â t˜Âàm˜Âàm˜Â@w˜Â €˜Â€}˜Â€}˜ÂŠ˜Âà†˜Â`“˜ÂŠ˜ÂŠ˜ÂŠ˜Âà†˜Âq˜Âq˜Âàm˜Â€}˜Â`z˜Â€}˜Â €˜Â€}˜Â€}˜ÂÀƒ˜ÂÀƒ˜Â €˜ÂŠ˜Âà†˜Â@˜Â@˜Âà†˜Â@w˜Âq˜Â t˜Âàm˜ÂÀj˜ÂÀj˜Â g˜ÂÀj˜Â t˜Â@w˜ÂÀj˜Â [˜Â`a˜Â€d˜Â`a˜Â@^˜Â [˜Âàm˜Â`z˜Â€}˜Â€}˜Â`“˜Â€–˜Â ˜Â€}˜Â@w˜ÂÀƒ˜Â €˜ÂÀƒ˜Âà†˜Â`z˜Â €˜ÂÀƒ˜Âq˜Âàm˜Â t˜ÂÀj˜Â`a˜Â [˜Â€d˜Âàm˜Â t˜Âàm˜Â g˜Â g˜Â g˜ÂÀj˜ÂÀj˜Â`a˜Â@^˜Â [˜Â`a˜Â€d˜Âàm˜Â g˜Â€d˜Âàm˜Â t˜Âq˜ÂÀj˜ÂÀj˜Âàm˜Âàm˜Âàm˜Âq˜Â@w˜Âq˜Â@w˜Â t˜Â`z˜Â@w˜Â t˜Â t˜Â g˜Â g˜Â€d˜Â€d˜Â€d˜ÂÀj˜Â€}˜Â€}˜Â €˜Â €˜Â`z˜Â€}˜Â`z˜Â`z˜Â t˜Â€}˜Â€}˜Â t˜Â@w˜Â €˜Â@w˜Â`z˜Â`z˜Âq˜Â t˜Â`z˜Â €˜Â`z˜Âàm˜Â g˜Â@^˜Â`a˜Â t˜Â`z˜Â€}˜Â€}˜Â ˜Â ˜Â ˜Âà†˜Â €˜Â €˜Â`z˜Â t˜Â`z˜Â t˜Â`z˜Â t˜Â`z˜Â€}˜Â t˜Â g˜Âàm˜ÂÀj˜Â g˜Âq˜Âàm˜Â@w˜Â t˜Â@w˜Â t˜Â`z˜Â`z˜Â@w˜Â`z˜Â€}˜Â€}˜Â t˜Â@w˜Â`z˜Âq˜Â€d˜Â@^˜Â`a˜ÂÀj˜Âàm˜Âàm˜Âq˜Â t˜Â€}˜Âàm˜Âàm˜Â`z˜Âq˜Â t˜Â€}˜Â`z˜Â€}˜Â €˜ÂÀƒ˜Â`z˜Â€}˜Â €˜Âàm˜ÂÀj˜ÂÀj˜Â t˜Â€}˜Â€}˜Â@w˜Â`z˜Â`z˜ÂŠ˜Â €˜Â€}˜ÂÀƒ˜Â ˜ÂŠ˜Â €˜Â €˜Â@w˜Â t˜Â`z˜Â ˜Â €˜ÂÀƒ˜Â`z˜Â`z˜Â t˜Â€}˜Â€}˜Â€}˜Â ˜Â`“˜Â ˜Â ˜Â ˜ÂŠ˜Â €˜ÂÀƒ˜Â`z˜Â`z˜Âà†˜Â ˜Â ˜Â ˜Â ˜ÂŠ˜Â €˜Âà†˜Â@w˜Â€}˜ÂÀƒ˜ÂŠ˜ÂŠ˜Â€}˜Â@w˜Â t˜Â t˜Â`z˜Â t˜Â@w˜ÂŠ˜ÂŠ˜Â@˜Â ˜Â ˜ÂÀƒ˜Â €˜Â@w˜Âq˜Â t˜Âà†˜ÂŠ˜Â@˜Â@˜Â€–˜ÂÀœ˜Â ™˜Â ™˜Â`“˜Â ˜Â@˜Â€–˜Â ™˜Â€–˜Â ™˜ÂàŸ˜Â`“˜Âà†˜Â €˜Â ˜Â ˜ÂŠ˜Â ˜Â`“˜Â`“˜Â ˜ÂŠ˜Â ˜Â ˜Â ˜Â@˜Â`“˜Â@˜Â@˜Â ™˜ÂàŸ˜ÂàŸ˜ÂàŸ˜Â ™˜Â`“˜Â@˜Â ˜Â`“˜Â€–˜ÂŠ˜Â`“˜Âà†˜Â €˜Âà†˜Â`“˜Â€–˜Â ™˜Â€–˜Â€–˜Â`“˜ÂàŸ˜Â ™˜ÂÀœ˜Â ™˜Â ™˜Â@˜Â ™˜Â£˜ÂàŸ˜ÂàŸ˜ÂàŸ˜ÂàŸ˜Â ¦˜Â@©˜Â£˜ÂàŸ˜ÂàŸ˜Â€¯˜Â`¬˜Â ¦˜ÂàŸ˜Â@©˜Â`¬˜Â ¦˜Â ™˜ÂàŸ˜ÂÀœ˜Â ¦˜Â ¦˜Â@©˜Â ¦˜Â ¦˜Â ¦˜Â@©˜Â ²˜Â`¬˜Â ¦˜Â€¯˜Â`¬˜Â@©˜Â@©˜Â ¦˜Â ¦˜Â`¬˜Â£˜Â ¦˜ÂàŸ˜Â€¯˜Â ²˜Â ¿˜Â¼˜Â ²˜Â ²˜Â ²˜Â€¯˜Â¼˜Â€¯˜ÂÀœ˜ÂÀœ˜Â ™˜ÂàŸ˜ÂàŸ˜Â ¦˜Â ¦˜Â€¯˜Â`¬˜Â@©˜Â ²˜ÂธÂÀµ˜ÂÀµ˜Â¼˜Â¼˜ÂÀµ˜ÂÀµ˜Â€¯˜Â ²˜Â¼˜ÂÀµ˜Âธ¼˜Â ¦˜Â`¬˜ÂÀµ˜ÂÀµ˜ÂธÂ@˜Â`ŘÂ@˜ ¿˜ÂธÂธÂÀµ˜Â¼˜Â ¿˜Â ²˜Â ¦˜ÂàŸ˜Â ¦˜Â€¯˜ÂธÂธÂธÂธÂ`¬˜Âธ ²˜Â@©˜Â`¬˜Â£˜Â ¦˜Â¼˜ÂÀµ˜Â ²˜Â£˜Â€¯˜Â`¬˜Â ²˜Âธ ¿˜Â@˜ ²˜Âธ ²˜ÂÀµ˜Â€¯˜Â ²˜ÂธÂ@˜ ²˜ÂธÂ@˜Â@˜ ¿˜Â¼˜Â ²˜Â@©˜Â`¬˜ÂàŸ˜Â`“˜Â€–˜ÂàŸ˜Â€¯˜ÂÀµ˜ÂÀµ˜Â`¬˜Â£˜Â@©˜Â€¯˜Â@©˜Â@©˜Â€¯˜Â€¯˜Â@©˜Â ¦˜Â€¯˜Â`¬˜Â ²˜Â ²˜ÂธÂ`¬˜Â ¦˜ÂÀœ˜Â ¦˜Â€¯˜Â`¬˜Â`¬˜Â ¦˜Â ¦˜Â ¦˜Â£˜ÂàŸ˜ÂÀœ˜Â`¬˜Â`¬˜Â ²˜ÂÀµ˜Â€¯˜Â¼˜Â ²˜Â ²˜Â ¿˜Â ¿˜Â¼˜Â ²˜ÂÀµ˜ÂÀµ˜Â ¿˜ÂธÂ`ŘÂ@˜ ¿˜Â¼˜Âธ ²˜Â`¬˜Â`¬˜ÂÀµ˜Â ²˜Âธ ¿˜Â`ŘÂ`Ř ˘Â`ŘÂ`ŘÂ`Ř ¿˜Â¼˜ÂธÂ`¬˜Â€¯˜Â€¯˜Â ²˜Â`¬˜Â¼˜Â`ŘÂ`ŘÂ@˜Âธ ¿˜Â`ŘÂ`ŘÂ`؀Ș ¿˜Â€¯˜Â ²˜Âธ€¯˜Â ²˜Â¼˜Â ¿˜ÂàјÂ`ŘÂÀΘ ˘ ˘€ȘÂ@˜ ˘Â@˜ ¿˜Â¼˜Âธ ²˜Â¼˜Â€È˜Â Ë˜Â€È˜Â`Ř ˘ ¿˜ÂธÂธÂ`¬˜Â ¦˜Â ¦˜Â`¬˜Â ²˜Â ²˜ÂÀµ˜Â€È˜Â€È˜ÂÀΘÂÕ˜ÂÀΘÂàј ؘ ؘÂ@Û˜Â՘ ؘÂ`Þ˜ÂàјÂ՘€ȘÂàј ˘Âàј ˘ ˘ ˘Â@˜Âàј ˘ÂàјÂ@ۘ ؘ€á˜ÂÀΘ ˘ ˘Âàј ˘ÂÀΘ ؘÂ՘ ؘ ؘÂ`Þ˜Â`ޘ€á˜Â ä˜Â`ޘ ؘÂ`Þ˜Â՘ ؘÂÕ˜ÂàјÂàјÂÀΘ€ȘÂÀΘ ؘ ؘ€á˜Â`Þ˜Â`ޘ ä˜Â ä˜Â€á˜Â ä˜Â€á˜ÂÀç˜Âàê˜Â`Þ˜Â`ޘ ä˜Âî˜Â ä˜ÂÀç˜Â@ô˜Â ý˜Â€ú˜Â@ô˜Â ä˜Âàê˜Â@ô˜Â@ô˜ÂÀç˜Â€á˜Â ä˜Âî˜ÂÀç˜Â ñ˜Â ñ˜Âî˜Â`÷˜Â`÷˜Â€ú˜Â ý˜Â€ú˜Â@ô˜Â€ú˜Â€ú˜Â€ú˜Âî˜Â ñ˜Â ñ˜Â@ô˜Â ñ˜Â@ô˜ÂÀ™Â™ÂÀ™Â`÷˜Â`÷˜Â ý˜Â ý˜Â@ô˜Â`÷˜Âà™Â ý˜Âàê˜Â ñ˜ÂÀç˜Â ñ˜Â`÷˜ÂÀ™Â ý˜Â`÷˜Â€ú˜Â`÷˜Â ñ˜Âî˜Â@ô˜Â ñ˜ÂÀ™Â ý˜Â™ÂÀ™Â€ú˜Â@ô˜Â€ú˜Â@ ™Â ™Â@ ™ÂÀ™Â`÷˜ÂÀ™Âà™Â™Â ™Â ™Â ™Â@ ™Â ™Â ™Â`™Â€™ÂÀ™Â ™Â€™Â ™Â`™Â`™Âà™ÂÀ™Â`™Â ™Â ™Â@ ™Â™Â™Â@ ™Â€™Â ™Â`)™ÂÀ™Â`™Â@ ™ÂÀ™Â€™Â`™Â ™Â ™Â`™Â@ ™Â@ ™Â ™Â@ ™Â€™Â ™Â ™Â€™Â`™Â`™Âà™Â@ ™Â ™Âà™ÂÀ™Â ™Â ™Âà™Â€™Â ™ÂÀ™Â ™Â ™Â`)™Â@&™Â #™ÂÀ™Â`™ÂÀ™Â #™Â ™Â ™Â@ ™Â ™Â ™Â€™Â ™Âà™Â€™Â ™Â@ ™Â ™Â`™Â`™ÂÀ™Â€™Â ™ÂÀ™Â #™Â ™Â€™Â€™Â€™Â`™Âà™ÂÀ™Â ™Â ™Â€™Â`™Â ™ÂÀ™Â€™Â@ ™Â ý˜Â ™Âà™Â ™Â€ú˜Â`÷˜Â`÷˜Â ñ˜Â@ô˜Â`÷˜Â€ú˜Âà™Â ý˜Â@ô˜Âî˜Âàê˜Â ä˜Â՘€ȘÂÕ˜Â՘ ؘÂ@Û˜Â`Þ˜Â@ۘ ؘÂÕ˜ÂàјÂ@ۘ ؘÂÀΘÂÀΘ ˘Â`Ř ˘ ؘÂ@Û˜Â@Û˜Âàј ˘ ¿˜Â ²˜Âธ¼˜ÂธÂÀµ˜Â€È˜Â Ë˜Â Ë˜Â ¿˜Â ¿˜Â¼˜Â ²˜Â¼˜Â@˜ ¿˜Â ¿˜Â ¿˜ÂÀµ˜ÂÀµ˜Â`¬˜ÂàŸ˜Â ¦˜Â£˜ÂÀœ˜ÂàŸ˜Â£˜Â@©˜Â@©˜Â€¯˜Â€¯˜Â ²˜Â€¯˜Â ²˜Â ²˜Â`¬˜Â`¬˜ÂàŸ˜ÂàŸ˜ÂÀœ˜ÂàŸ˜ÂÀœ˜Â ™˜ÂàŸ˜Â ™˜Â£˜Â ²˜Â@©˜ÂàŸ˜Â£˜Â£˜Â ¦˜ÂàŸ˜Â`“˜ÂŠ˜Âà†˜Â`“˜Â@˜Â`“˜Â`“˜ÂàŸ˜ÂàŸ˜ÂàŸ˜ÂÀœ˜Â ˜Â`“˜Â ™˜Âà†˜Âà†˜Â€}˜Âà†˜Â ˜Â@˜Â ˜Âà†˜ÂŠ˜Â ™˜Â`“˜Â`“˜Â€–˜Â ˜ÂŠ˜Â €˜Â€}˜Â`z˜Â t˜ÂÀƒ˜Âà†˜ÂÀƒ˜Â€}˜Â €˜Âà†˜Âà†˜Âà†˜Â €˜Â t˜Â €˜Â €˜Â€}˜Â€}˜Â€}˜Â@w˜Â@w˜Âàm˜Â g˜Â g˜Â`a˜Â [˜Â [˜Â [˜Â@^˜Â [˜Â [˜Â€d˜Âàm˜Âàm˜Âàm˜Âq˜Â t˜Âq˜Â t˜ÂÀj˜Â€d˜Â [˜Â€d˜Âq˜Âq˜Â [˜Â [˜ÂàT˜Â [˜ÂàT˜Â [˜Â`H˜Â B˜Â N˜Â g˜Âàm˜Âq˜Â`a˜Â@^˜Âàm˜Âàm˜Â t˜Â g˜Â€d˜Âàm˜Â g˜ÂÀj˜Âàm˜Â t˜ÂÀj˜Âq˜Â t˜Â t˜Â g˜Âq˜Â t˜Âàm˜Â g˜Â g˜Â€d˜Â@^˜ÂX˜Â@^˜ÂÀj˜Â t˜Â`z˜Â`z˜Â g˜Âàm˜Â@^˜ÂX˜Â€d˜Â@^˜Â@^˜Â€d˜Â g˜Â€d˜Âàm˜Â@w˜Âàm˜Â`a˜Â [˜Â`a˜Â g˜Â€}˜Âàm˜Â`a˜Â g˜Â@w˜Â€}˜Â€}˜Â@w˜Â t˜Â`z˜Â €˜Â@w˜Â t˜Â t˜Âàm˜Â g˜Âàm˜Âàm˜Â@w˜Â€}˜Â`z˜Â`z˜Â@w˜Â €˜Â €˜Â €˜Â ˜ÂŠ˜Â €˜Â €˜ÂÀƒ˜Â €˜Â€}˜Â€}˜Â t˜Â t˜Â`z˜ÂŠ˜Â €˜Â€}˜Â`z˜Â€}˜Â€}˜Âq˜Â@w˜Â€}˜ÂŠ˜Â ˜Â ˜Â@w˜ÂÀj˜Âàm˜Â g˜Â€d˜Â g˜Â t˜Â@w˜Â€d˜Â [˜Â@^˜Â [˜Â`a˜Â [˜Â@^˜Â€d˜Â€}˜Â t˜Â`z˜Â€}˜ÂÀƒ˜Â`z˜Â@w˜Â t˜Â t˜Â t˜Âà†˜Â`z˜Â t˜Â`z˜Â€}˜Â €˜ÂŠ˜Âà†˜ÂŠ˜Â €˜ÂŠ˜Â ˜Â ˜Â`“˜Â ˜Âà†˜Â €˜Âà†˜Â`z˜Â@w˜Â €˜Âà†˜Â €˜Â €˜Â`z˜Â€}˜Â@w˜Â@w˜Â€}˜Âà†˜Â ˜ÂŠ˜ÂŠ˜Â ˜ÂŠ˜Âà†˜Â€}˜Âq˜Â t˜Â g˜Âq˜Â t˜Âàm˜ÂÀj˜Â`a˜Â g˜Â€d˜Â€d˜Â`a˜Â€d˜Â [˜Â@^˜Â€d˜Â g˜Â@^˜Â`a˜Â [˜Â`a˜Â€d˜Â g˜Âàm˜ÂÀj˜Â g˜Â [˜ÂÀQ˜Â N˜ÂàT˜ÂÀQ˜Â`H˜Â N˜Â N˜ÂÀQ˜ÂÀQ˜Â [˜ÂàT˜ÂX˜Â N˜Â€K˜ÂÀQ˜Â N˜Â€K˜Â N˜Â [˜Â`a˜Â€K˜Â N˜Â N˜ÂàT˜ÂàT˜ÂÀQ˜Âà;˜Âà;˜Âà;˜Â N˜Â N˜Â N˜Â N˜Â@E˜Âà;˜Â B˜Âà;˜Â?˜Â B˜Â`H˜Âà;˜Â 5˜Â€2˜Â 5˜ÂÀ8˜Â@,˜Â€2˜Âà;˜Âà;˜Â`H˜Â@E˜Â B˜ÂÀ8˜Â 5˜Â?˜Â B˜Â`H˜Âà;˜Â@E˜Â B˜Â`H˜Â B˜Â`H˜Â 5˜Â€2˜Â )˜Â`/˜Â`/˜Â`/˜Â@,˜Â&˜Â€2˜Â€2˜Âà;˜Â@E˜Â 5˜Â?˜Â N˜Â?˜Âà;˜Â@E˜Â B˜ÂÀ8˜Â€2˜Â )˜Â@,˜Â )˜Â`/˜Â€2˜Âà;˜Â 5˜Â@,˜Â )˜Â&˜Â&˜Â€˜Â ˜Âà"˜Â )˜Â@,˜Â@,˜Â 5˜Â?˜Â?˜Â€K˜Â B˜Â`H˜Â@E˜Â?˜Âà;˜Âà;˜Â 5˜Â`/˜Â )˜Âà"˜Â`˜ÂÀ˜Â )˜Â )˜Âà"˜Â )˜Â@,˜Â€2˜Â 5˜Âà;˜Â 5˜Â€2˜Â 5˜Âà"˜Âà"˜Âà"˜Âà"˜Â )˜Â@,˜Â@,˜Â€2˜Â€2˜Â`/˜Â&˜Â ˜Â€˜ÂÀ˜Â ˜Â )˜Â€2˜Â`/˜Â )˜Â€2˜Â 5˜Â )˜Â`/˜Â )˜Â )˜Â )˜Â`/˜Â@,˜Â )˜Â@,˜Â@,˜Â ˜Â )˜Â 5˜ÂÀ8˜Â€2˜Â 5˜Â@,˜Â€2˜Â 5˜Â?˜Â`/˜Â 5˜Â 5˜Â 5˜Âà"˜Â ˜Â ˜Â€2˜Â@,˜Â`/˜Â )˜Â ˜Â`/˜ÂÀ8˜Â`/˜Â`/˜Â ˜Â`˜Â ˜Â€˜Â@˜Â€˜Â€˜ÂÀ˜Â`/˜Â`/˜Â )˜Â@,˜Â )˜Â`/˜Â€2˜Â`/˜Â`/˜Â`/˜Â )˜Â )˜Â@,˜Â 5˜Â`/˜Â@,˜Â )˜Â ˜Â )˜Â )˜ÂÀ˜Â )˜Â )˜Â`/˜ÂÀ8˜ÂÀ8˜Â`/˜Â€2˜Â 5˜Â?˜Âà;˜ÂÀ8˜Â€2˜Âà;˜Â B˜Â`H˜Âà;˜ÂÀ8˜Â€2˜Â ¨(dt ?@4 4ÿxunitsyunitsà»h°³ (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:$ (ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec2 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsä ·—NM€¾ ÀTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(Â8HEAPXHÀÀdescriptionsection_0section_1section_2 Hn_sections ÿÿÿÿÿÿÿÿpà ·—NM (CLASSTABLE Ë¸SNODÁXÌ((M 8Ô TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(Ê%  (VERSION3.0 @TITLEDescription of channel 1 8 FIELD_0_NAME n_sections€Ì ÎTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(ÐHEAPX ÀÎdatadescription8  @œpÑq·—NM€SNODÏpB pøÃóÃÉÃpÚÃÀÃ0¯Ã0\ÃPÈà ¸Ãp]Ã`*ÃPÙ#ÃÐAà Ã`¹Ãà¶ÃðÝÃ`NÃÐÜÃ`HÃP!ÃÀ¯ÃÀ—Ã@èÃÐÖÃ0ÇÃÀµÃ08ÃÐ_àäÃÀ Ã4ÃÀ2Ã@úÃÐSðjÃ@ÀÃð6ÃP˜Ãð*À–ÃPÃp]àgÃP¶Ãð¹ÃP-ÃÀ>Ã`<ÃpoÃðà  Ã"ÃpìÃð¹ÃÃÀÍÃ`ZÃà€ÃÉÃðÃpøÃ@úÃpÚà Ãà’Ãð¹ÃdÃð•ÃP†ÃPžÃ`BÃ0ÙÃpòÃ@ÃÛÃà†Ãp{Ã`ËÃàzÃà†Ã0PÃ@‰Ãð¹Ã@qÃ`ÑàüÃ0ÙÃ0ñÀÃÕÃð¿ÃpøÃáÃ0ÙðŽàðà )àêÃ@à ²Ã£ÃðËÃ@}à 5Ãð¡àÌÃ0ÙÃpìÃ@èÃàÙÃPÃP’ÃÀ&ÃP'À„ßÃÐeÃ@Ã`HðvÃ`Bà #ðˆÃ`NÃpæÃð*ÃÐkÃ0ÓÃ0»Ãàhà à à #ÃðNÃóÃ``ÃP°ÃÐeÃPÂÃàŒÃ02à ”Ã@îÃRÃyÃ0DàÌÃPtÃÃÐúÃàŒà Ã@ÃjÃPÃmÃXÃP9ÃÀPà #Ã0ÇðóÃ02ð‚ÃäðX!ßñÃRÃ@èÃà ¦ðÃPÃpæÃÀ»à /ÃsÃ`0ÃÞàmÃ0ÓËð¾ÃÐwÃÐYÃð*ÃpæÃ@ÃP3ÃÐGÃà÷Ã0hÃàÃàzÃÃP÷ÃÐSà ¸Àà ŽÃ@ÃÀÁÃPŒÃ@_ÃÐYÃsÃð$à /ÃP¤ÃFà ÃÐYÃà˜ÃsÃ0©à ç"Ã"Ã@âàðÃÐYÃðÃÀ Ã0Pà /ÃÃÃÃÃ@kñÃÀ‘Ã`• Ãð‰Ãð¡Ã0bÀðùðÏ"ðdÃ`¹ÃÐÖÃ0ÇÃ0¯Ãp]ÃyÀÃöðˆÀÃäý÷à à Ã`*ÃоÃàÃð­ÃÃP˜ÃPn Àf ÃÐAÃÐMÃà€Ãð¡ðùÃpQàÌÃÐÐÃ02Ã4ðíÃ`!Ã`• ÃPñÃà\Ã0$ÃdÃÉÃàŒÃð*÷ðˆÀ+Ã@}Ã`³ÃÀ‹ÃPžÃp‡Ãð¡Ã0»À ðÃÐeðvÃ.Ã`NÃÀ¯ÃFà !à d#Ã` "Ã0DÃPñÃÐ$Ã`!ÃÐSÃÞÀxÃàñÃðà 5ðŽÃàÙÃ`0ÃÀµÃöà[ÃÐîÃ"Ã`³ÃpcÃð$ÃpQÃI!ÃàëÃ`*ðùÃPŒÃà÷ÃðÃpiÃpWÃ0Íà ¬ÃðÃð›ÃPŒÃ`ðíÃÐÐÃgÃ0!ÃØÃÀ ÃðÃðÃPzÃ:ÀÀrÃð$Ã.Ãð•àºÀrÃð$À ÃàbÃÀ©àØÃpàÃ@ÜÃ@ÖÃ0 ÃØÃÀ!ÃÀy"Ã0‘"À×"ÃÐ#"Ãp’'ÃÈ+Ã`_)Ã0%ÃЈ&Ã@í.à /à Ã(Ãðî"Ã,ÃÔ-ð‡.ÃÐj+ð+ÃÐá,ÃE,ÃK+Ãà£(À•-àf-ð/ÃÀ´-Ãð/-ÃÀÆ*ÃE0À0ð™+À•-ü-ÃÎ.ð .à ½)ÃÐ|(Ã&Ãà'Ã*Ã0m(ÃÀÌ)Ãà£(ð‡.àf-Ã@‚+Ãà.Ã-ÃQ.Ã'1Ã0=0Ã`¾.àõ*ð/ÃÀ%0Ãàö/Ã`50ÃÐj+Ã0À/Ø3à ¥-Ã0[+Ã0[+Ão)ÃÀº,À0)Ã@Õ2à o6Ã9.àl,ÃÐá,Ãð#/Ã~-ÃÐ@2ÃPð4À‰/Ãï/Ã9.ÃÚ,Ãpt,À,Ã0U,ÃðÄ)ÃP,+à ½)Ãð/-ÃK+ð‡.Ã3/Ãð#/À‰/ÃÀ–2ðæ3àB3ÃP…1Ãàö/À**ÃP0Ã3/Ãà.Ã0I.Ã`;/àT0à ¥-Ãæ*ÃÐp*ð“,ÃpÓ1ÃÐÛ-àÝ.Ãr/Ã`¸/ÃÀ1.ÃÐR/Ãx.ÃP£,ÃÀ´-Ãi*àã-à /À›,Ãõ.Ã0O-Ã`S+Ãðš0Ãph.à .,À›,Ãph.Ã'1Ã'1Ã@^1Ã`â(Ã`ƒ#Ãæ*Ãð²,Ãi*ð-Ãà…-Ã0Ø+Ãà-Ãð¸+ÃÐj+Ã`G-Ãð;+ÃÐí*ÃK/à ".Ã0[+ÃÂ,Ãû-àÑ0Ãx.Ã`Ü)ð()à @)Ãà*Ãp÷+Ã0ä)Ãà£(Ã`M,ÃP-ÃÐX.à ·*ð"*àl,Ãà,'ÃÐj+Ãi*à Ÿ.Ã0Þ*Ãpý*Ã0[+ÃðA*ÃðM(Ã@j/Ã@Õ2àr+ÃÚ(ÃPÙ#ÀT#Ã`k'Ã@¦%ð@%Ãà'ð@%ÃÐù(Ãà©'Ã`Ä-ÃÀ7-ÃÎ*àŠ'Ãà2&Ã0ê(Ã`_)Ã0ä)Ã*Ã)Ãp÷+Ã@ *Ã)Ü(Ã@|,ÃÀ1.à :*Ã%'à Ï&Ã7$Ö)ÃP,+À6(ÃÐù(Ã+&ðŸ*Ãû-Ãà©'ÃðÄ)à ·*à F(à É'Ãi*à :*Ãà—*ÃP8)àx*à~)ÃP»(ÃÐ &Ã~-À›,Ã@)Ã&àœ$Ã0U,Ã@”(ÃÀs#Ãð} Ã`e(ð()ÃðY&ÃQ*ÃÐù(Ã@)%ðL#Ãà2&ÃÀä%à ·*Ü(Ãph.Ê+Ã@ˆ*à&à–%ÃðM(ÃK+ð:&ÃPJ&Ó#à–%Ã*àû)Ãp’'Ãì%Ãà£(àr+ÃðÖ&Ãàœ$Ãà*ÃPV$ðÃ$Ã`ô%ÃÐ#"ÃàÁ#à Û$ÃðG)Ã{#ÃÀü!Ãp? î%Ã`}$è&Ã0y&Ãp'ÃPÓ$ðL#Ãp°"Ã`ô%Ãp°"Ç%ÃP2*Ã+&ÃPñÃàµ%ð()à„(Ã`Ð+À¹'Ã0‹#ðL#Ù"ÀÑ#ÃÐ#à +à–%à É'ÃÐ$ÃPJ&à&à&ÃPJ&Ã0%ðR"Ã@¸"ÃÐ &Ã@Ž)Ã@ &ÃÐv)ÃðÖ&Ã`$ÃPÁ'Ã(Ã0$ð«(Ã@5#Ç%À6(ÃÐ|(Ã@A!ÃÀ!Ã`k'Ã(Ãp!%Ã@/$ÀÝ!ÃÀð#à Ï&ÃÐ$Ã@ *à R&ÃPß"ÃÐÿ'Ã`k'Ã@;"ÀÅ%Ãà'Ãþ&ÀH%ÃPß"Ãðè#Ã@;"ÃðY&Ãðe$Ãæ&ÃÐŽ%Ãp-#ÃÀg%Ã`î&ÃÐ &ÃÀ!à p!ÃàP!à j"ÃP\#Ãð} Ã` "Ãp¶!Ã`è'ÃðÊ(ÃÀy"ÃÀü!ÃÆ!î%ÀÑ#Ã@;"Ãðô!Ã7$Ãà»$ú#ðÕ!Ã0!Ão%Ãi&ÃÀð#Ãp'$à1!Ãðî"Ã0y&ÃÀö"ÃÆ!Ãþ"ÃPP%ÀÝ!Ãàµ%ÃÐ$ðÕ!Ã0%Ão%Ãp9!ð@%Ã`q&Ã`ú$ÃPP%ðÏ"ÀZ"Ã@A!Ãp-#ÃÀü!à j"Ã"!ß!Ã@/$Ã` "Ãp¼ ÃÐŽ%Ã{'à j"Ã`î&Ãp&Ãu$à%#ðÏ"à Û$Ã0y&Ãò$à ˆÃ0Çà !Ã`ƒ#Ã0$ÃPtÃ0 ÃÐ5ÃД$à ùÃPë Ãà8%à~)Ã*ð·&Ã@ÖÃ`ƒ#Ã@ù,Ã@¦%à7 Ã08Ã@eßÃ7$ÃК#ð^ ÃÀ‘Ã[ÃР"Ã`›ÃÀü!Àã Ã` "Ã@5#ÃÀÃ@5#Ã@Ä ÃpÈÃ`• ÃPV$ðR"Ã0‹#Ã@;"Ã@ÃÀÃиà ó ÃC"ÃðÜ%ÃÀ!ðáÃÀÃÐ/ Ã"!ÃÌ Ã ‚ÃàP!ÃÐ#ÀH%ÃàÙÃ`0Àf Ãp°"ÃàJ"ÃÀ… à®!Ãp? ÃPb"Ã` "ÃàP!àÀà ‚ÃðàOÃ`­ÃðÃPÙ#àÌÃPñÃ`#à%#ÃÐSÃð‰Ã0!Ã0µÃ@Sà ˆÃÀÃðú à¢#Ã0$Ã@G ÃO à ÃpQà ç"ÃPb"Ãðú à |ÃÀ"ðÏ"ÃPÙ#Ç!Ã"ÃÀ—À~Ã0,Ã0»Ã0JàIÃ0¯ÃPÃðè#ÃÐ)!ÃàåÃ`¡Ã@SÀÝ!ÃÀÃ0,ðjÃ@MÃp°"ÓÃàßðçà7 ÃPzÃàñÃÃ@G à+"Ã@ÊÃÀm$Ã@5#àÆÃ@YÃЬ ðóÃ`!ÃÐ#"ÃÃPtÃÃàÙà´ Ã@¦%Ãp? ÃpÔÃ@âÃ0£Ãp3"àÀÃÀ… ÃPë ÃÃÀÃ[ÃpEÃð•Ã`$àºÃÀÃêÃð‰ÃÞÃÐeÃPªðóÃÀÃêÃÐAÃ@Ã@YÃ`¹à Ã:à Ã0!÷ÃpcÃÐGà ç"ÃPÃpWÃÀ&Ã0>àUÃPŒÃÐMàgÃäÃ@Ä Ã°Ãð6Ã:ÃоÓÃ#Ãp9!àÌÃÀ ÃÐSÃð‰Ãð àOÃð‰Ãðƒà7 Ã@ÜÃPÃ0ÇàOÃ`0ÃàýàOÃpÚÃpÎÃðÃ0&àIÃ`*ÃP†à ”Ã@âÃ@èÃÐMà šÃPÃ@qÃØðÏ"ÃÀ Ã[ÀràÆÃÐÜÃpÈÃ@âðdÃað ÃðÃ`• ÃÀ—ÃØÃð›Ã`*ðvàÆàºÃàtàÆÃ08Ã.ÃÀ—ÀïÃ0©ÀlÃPh!ÃÐGà[Ã@SÃ@¾!ÃàV Ã"ñÃ0µÃÀÃÐ;ÃP àIÃÀÃpÚÃ@Mà ŽÃ`HÃ0¯ÃpÂà®!Ã`‰"Ã[Ã( Ã0$ÃPtÃ…Ã4à Ã@kÃpWÃ0&Ã{#Ãð} à !Ç!ÃàbÃpÎÃmÃ`$ÃPŒÃ`$àØÃðÀ~ÀÃð›ÃÐÄÃpÎð@%ÃàV ÃàtßàºÃðƒÃàåð‚Ã`0Ã0"ÃöÀŠÃPtÃäð|Ãð•à Ã"ðdÃðàÆððà ÃpÚÃÀ,à Ã0µÃmÃP˜Ã@âÃ08Ã0µÃ`*ÃPh!ÃPÃà†Ãð›Ã` à Ã0¯ÃpÈÃ`0Ã@Üà v àOÃ0PÃð‰Ã"À`!Ã`$ÃÐ/ ÃàzÃð Ç%Ã¥ Ãp]Ãð•Ã0DÃÐGÃ@ÐÃPh!ÃÌ Ãp¼ ÃànëÃÐMÃPÀõÃ4Ã@YÃ08ð ðpÀéÃÐ#"ÃÐ#"à[à ŽðjÃð¡Ãà€ÃpæÃ@ÖÀ`!Ã7$ÃÐ)!Ã@ôÃ@à |ð|ÃÃÐ_Ãð¡ÃðÃàP!à d#ÃÐMÃð‰à®!ÃPë Ãà€ÃÐAÃpÎÃиÀÃÐÊÃðà Žà p!à=ðóÃÀ2ÃðÃ0>Ãàñà p!Ãðú ÃpQÃaÃ0 ÃàßÃðw!ÃP÷à ˆÀûà Ãà÷ÃвÃp3"ð:&Ã°Û Ã Iðáà1!Ãà€Ã0ÍÃLÀ ÃàëÃоÃ@kÃÃð ÃÀ2ÃPtÃ@Ä ÃÀ©Ã@ÜÃ@èÃàñÃàåÀûÃ0,ÃßÃ@Öð^ ÃPë ÀlÃpWÃ0ÍÃÉÃPÃàhÃpuÃð*ÃÐAÃàëßÃÀ‹Ã0¯ÃÉÃ0\Ã`§ÃàÍ!àIà Ãð*ÃpoÃÉÀõÃ`$ÃP†ÃÀ©Ã`¹àÌðpÃáÃà˜Ã0µàØÃÐÐÀ ÃsÀÃgàÀÃÀ£àaÃp{Ãð¹ëÃ`¹à[àOàIÃêÃÀÃO ñÃ0µÃð•ÃÐÐÃÃÀ ÃÀ‘Ã( Ã@YÃ0ÓÃp‡Ãà€ÃÀ¯À„ð‚ÃÐMÃ`*ÃpÎÃÃpWÃ@îÃÐÖÃÐ_Ã`¿ÃpæÀÃpiÃ@SÃàëÃPžÃà ;Àã ÃÐAÃpòÃÃ0ßÃàzÃ`BÃ0ÙÃð³ÀÃ[ÃP ÃÐGð‚Ã0JñÃÒÃÀ÷ÃÀ,ÃpòÃ`¿ðpà šÀ Ãpàà ÃP’àêÃàŒßÃÕð‚Ãà€Ã`ËÃP˜àaà[ÃàýðÃðˆà ¦Ã`×ÃpþÃÐMÃà÷Ãð­ßÃÒÃ@ÜÃÀÃÏðŽÃ0DðÃpÎÃðq"ÃÀÃ`ËÃP!ðÃ`³ÃÀ ÃÃüÃÀ,Ãð‰ÃÀ!Ã0JÃàà[ëà Ã0PÃÀ©àºðvÃpæðàÒÀà ÃÃÃÃÐÐÃà÷ÃPýÃäÃð ÃPÃð$ÃP à ÃÀÃpòðóÃmÃÀ&ßÃP à ŽÃÐMà #ÃpàÃÐSÃÐÊÃÐ;ðóÃ`*Ã@Öà ˆÃÀðÏ"ÃP ÃàÃ0PÃ0DÃP÷ÃÐ#"ÃàñÃð›àOÃоà |ßà ëÃànð‚à Ã¥Ã:Ãsà Àû÷Ã`›Ã`!Ã`$ÀûÃð›ÃÐ;ÃpÎà Ã@Ã`0Ãgà à ŽÃ#Ã0&ÃÃgÃðÃ@ÐÃmÃ0>Ã0ÇÃPŒÃà\ëÃPŒàäÃpEÃÃàgà ²Ãð$à ÃPýÃ`¡ÃpcÃ`­àêÃÀÃ0"Ã"ÃLÃÀ ÃЬ Ã@_Ãà€Ã@kÃ@àC÷À ðÃ02ÓÃp3"Ã@²#à Ã0µðùÇ!ÃðàÞÃð•Ã`§Ãpcà ˆÃP†Ã@ôÃ`*Ã@èÃð•Ãðà /à[Ã:àØÃÀ&Ã@SÀ×"à ó Ç!Ã@ÐëÃàåÃ(ÃÀµÃ`Bà Ã0‹#Ãðe$Ãà÷ÃÃ@èÃPë Ã Ã°Û Ã€`!ÃÃ0ÁÃ02àÞàUÃ`*àgÃp]ÃàÓ Ã ØÃPýÃðÀïÃÀÃÐÊÃ@îÙð|Ã0ÍýÃоÓÃÐYà #ðóÃPž÷ÀïÃ{#Ã@A!ÃÕà  Ã#Ã@/$Ã@ÖÀÃÐ_ÃpøðáÃÐAÃÀ,ÃÀ£ÃpÈÃ`­ÃðÃFÃÒÃ`Ã`*ÀïÇ!ÃÀü!Ã0‹#Ã{#ÃÐ%ÀB&à L'Ãà£(Ã`ô%Ó#Ã(Ãà )Ãà,'ÃÐX.Ã`Ä-àã-Ã0ä)Ã@ *ð"*Ã-Ã`Ð+Ãpý*àã-ð .ð .à “0Ãð).Ã@í.Ã@d0Ãàa3ðþ/ÃÈ/Ã@j/Þ2ð3Ã0º0À}1ÃÐÏ/ÃpÓ1À‰/ÃP0Ãð”1Ä,ÃÀ7-à ™/ÃÀœ1Ã0C/ÃÀC+ÃÈ/Ãàa3ÃÐÛ-À.Ã`50Ã@p.Ã`¸/Ã@^1ÃP0Ãx.ð{0Ã0Æ.Ã0À/Ã@X2àÑ0Ã`2ÃPê5Ãð”1ðì2Ã`Ð+Ãà*ÃðŽ2Ã’4ÃE0Ãàs0Ã0C/Ãï/Ãàä2ÃÐÃ1À‰/ÃÐÃ1ð]5Ã'1Ãà,Ã`A.À¡+Ãà‹,Ø3Ã@R3ä1ÃÀ=,Ãà.ÃT4Ãðš0Ã9.àZ/ÃÐ@2Ã0C/Ã@j/Ã~-àÝ.Ã0=0à 2ÃÀ–2à /Ãà…-ÃÐ^-Ãc'ÃÀÀ+Ãà.Ã@‚+ÃÀ1.À¡+Ãà…-Ã`²0Ãð /Ö)Ã@í.Ã'1Ãé0à„(Ã@Ž)Ã`_)ÃP,+Ã`S+Ã`_)À§*Ã`Ð+Ã@p.ði3ÃÚ,Ãpý*ÃÀm$ð±'Ãà+ÃP©+ü-ÃP—.à +àr+ÃÀÆ*Ãpz+Ãà&(ÃÀO)ÃP/Ãð5,Ã@(ÃP>(ÃP -Ãpz+Ãà—*Ã0ê(Ãà©'Ã@Ž)Ãà‹,Ãà+Ãà©'Ã0ð'Ãp&à %à +ÃÚ(ÀÅ%ÃÂ,ÃÀC+ð-Ã`A.ÃÐp*Ã0Þ*Ã)ÃpŒ(Ü(à Û$à d#ÃÐp*Ã@ÿ+ÃÀº,Ãð¾*ÃðÊ(Ãæ&ÃðA*à ^$à p!Ãø#ÃðÊ(ÃÎ.Ã0a*À,ÃPÍ%ÃPV$Ãà)Ã`â(ÃÐŽ%ÃÐ%ÃpŒ(Ãð;+à Ã(ÃðY&Ã`$à$Ãp!%Ã@(Ã`S+Ãà¯&ÃÀ['ÃPD'ð±'ÃÀ['ðX!Ãp9!ð:&Ãp˜&Ã0ü%Ãp&ð@%Ã`î&Ãp&ðF$ÃÀs#ÃàP!ÃÀ"Ã"Ã@G ÃPn ÃÆ!Ã`ú$ÀË$Ã"Ã`}$ÃPD'À¿&Ã`ô%ÃÐ'ÃÒÃ"Ã@Ä ÃЬ ÃPn à®!Ãp'$ÀÅ%ð½%à d#ÀÝ!ÃC"ÃPå!ÃÐ &à Ãðô!Ãì%Ãp¤$ÃP&,à¢#ÃÀ—à Ã`0àIÃp9!Ã=#ÃaÃиÃðÃвÃp¤$à–%î%à=Ã@¸"à%#Ãp¶!ÃÐÊÀïÃPb"Ã0©Ã@ÐÃ`¡ÃðƒÃÆ!ÃàÍ!à¢#Ã`§ð ÃÞÃ4ðpàºÃ$Ã0%ÃI!ÃÀÃ@MÃðÀã ÃÐ$ÃPh!ÀÑ#à¢#Ãðe$ÃÐ#"à7 ÀïÃÐÊÃ@ÖÃð›ÃÀÃ@YÀrðdÃPn ÃO Àrà=Ãp°"Ã0 ÃàåÃÀ‘ÃðÃ@_Ãð‰àÌÃpÂà ˆÃÀ ÀrðáÃ0PÃ0ÓÃàåÃp¶!Ãðú Ã`§ÃàëðçàIÃPtðR"ÃÐ;ÃàzÀÃ0£ÃP÷ÃðÃðÃ08Ã`­Ã@úÃ0»Ã`ñÃ`ÃpQÃÀ‘Ã[Ãð¡Àf Ã4Ã`0ÃàýàÌÃàP!ÃànÃàåÀxà ÃÐ5Ã`à7 ÃPn ðçÃ@kñÃ¥àmà ˆÃ0»ðÃÀ£Ãð¡ÃpÔÃpÎÃÀÃêðpÃÐAÃðƒðáÃÀÃ0,Ã`¡ÃÀ£Ã`*àØÃFÃP’Ãðú Ã°Û ÃÀ—ÃPÃàtÃÐÊà #Ãð$ÃðÃà Ãð›Ã@YàÒÃàtà=ÃC"Ã"Ã@}Ã…ðÿÃÀÃ0£ÃиàaÃ`TÃÃÃиÃвàºðóÃÐÐàÒÃP†Ãà†ÃÃäÃpKàIÃ`ËÃyÃðà ÃÀy"ÃpÂðdàÒÃÐ5ÃaàIàÒà ˆÃàÍ!ß!à Ãp¼ Ã.àºÃðw!ñÀÝ!ÃÆ!ÃàÍ!à$à¨"à+"Ã.à7 ÃÐ#"Ã0!ÃaÓà |Ã0%Ã7$Ãð ÃÐYÃàßÃðq"à%#ÀlÃ"!à Ã`³Ã"Ã`›ÃUÃЦ!Ã@¾!Ã0!à7 ÃpKà–%ÃÐ#"ÙÀïÃ( Ã"ÃPë Ãðk#Ãp3"Àã ðÉ#à¨"Ã@/$Ã0—!àIÃÀ,à´ Ã&ÃÀg%Ãðe$ÃÐ#"ÃpWÃ0,à á#ÀéÃpKà ùÃ"Ã.Ã@eÃPzÃÀ—Ãp€*Ãp€*ðjðŽÃð­ÃsàºÃðÃO ÃÌ ÃPë Ã1%Ã"Ã0µÃP÷à1!Ão%à®!àºÃà>$Ã{#ÀH%ð4'Ã@¦%ô$Ã"!ÃC"î%ÃÆ!ÃÐÄà v ÀZ"ÀÅ%Ã@;"à1!à à %Ã1%Ã@/$ÃÐ%Ãp°"ÃPV$ÃðÖ&ÃC"Ã$à d#à ç"Ã0#ÃàbÃàP!ÃPå!Ã0"Ã0ü%Ã&ÀH%ÀÅ%ÀZ"Ãp¼ ÃP€Ã@ÐÃI!à %Ãà>$ÃàÇ"ÃðÃàÇ"Ã$Ãp3"à !ÃР"ÃвðdÃÀ… ÃI!ðR"ÃÐ#"Ã@¬$à R&Ã@²#à7 Ç!ÃÀ‹ÃàV ÃÒà Ãðô!ÃÀ… Ã`}$Ã0‹#ÃЦ!à í!Ã`›Ãð à%#ÃPß"ÃPë Ãp&ÀÑ#ÃI!ÃàÓ Ãðô!Ãðk#Ãp'$Ã@#&Ãò$ú#ÃàÓ ÃPë Ù"ðX!Ã`ƒ#ß!Ã0"àœ$ÀH%Ãðâ$à¨"ðR"Àf ÃÆ!Ã`#ÃI!à ùÃC"ð@%Ãð_%à ^$Ãð Ã[ðÏ"ÃPD'à%Ã"à´ ÃàÙÃ@²#Àïà´ Ã` Ãðk#Ã`#Ã0#Ã0‘"Ãðú ÃPn Ãð à šÃ0 Ã0$Ãp¶!ðdÃ`›ðL#à X%ÃPV$Ã` Ãaðdà j"Ã=#à Ãðô!ÃpEÃðw!ÓÃPzðjÃ@MÃ@²#Ãðî"ÃÀ… Ã4Ã@G ðáÃÆ!ÃÆ!Ã#ÃР"ðçÃвà Ã`§ÃÀ‘Ã`‰"ÃЬ à ^$ÃàÁ#ÃÀ—à ”ÃðÃ`ÃÐ5ÃÐ;ÃÞÃÀ… Ã0 Ã@ÜÃÐ5à X%Ã.Ã0µÃÉÃðÃÌ ÃP€ÃP†Ã@¾!ÀïàOÃðÀlÃ`ð^ Ã@ÖÀéÃ0%Ãpª#ÃÌ Ã`• Ã0"à=Ã@SÃÐ5ÃpÎÃ°Û Ã( Ã¥ ðÕ!Ã0,ÃàëÃ0"à á#ÃPë à ðçÃpÂÃàýÃaÇ!ÃPë ðçÃpÂÃpÎÃPýÃ0PÃPñàIà /Ã`ÅÃ:Ãð‰ÃàÙÃ08ÃÛÃ08ÃðƒÀZ"Ãðk#ÃPzÃ0ÁÃsëÃ`³ÃÀÃ`‰"Ãpž%Ã@Yà Û$Ã`*Ã@Ãð<Ãð*ÃpÚÓà Ãà ÃP†ðçÃàP!Ã0»Ã0µñÃ`6àÒÙÃÐ/ ßÃI!ÀlÃ`­à[ðvàÌÃP’à[Ãð¡ÃðÃPŒÃð›ÃÃÃPÃð•Ãð} àIÃ`­ÃpEÃpÂÃàbð|Ã@_Ã0DÃ0DðóÃØà !à ùÃ@ÖÀ`!ðF$ÃPzÃÀ¯ÃÀ—à ˆðùÃ4ÃÐÄÃpÈÃÀÃàñÃgÃ`³Ã`§Ãàå÷Ãð0Ã@îÃàtÃð$àOÃоÃà÷àØÃÀ!ÃÀ‹ÃÐÖÃð•Ã0"ÃÐ'ÃÀ‘ÃpiÃ@ôÃP ÃpÎÃ`!ðíÃð0Ã08Àûà ”ÀŠÃÐ5Ã`BàØÀÃÐGÃиÃ`­ÃóÃ@kÃÞÃäÃ`­Ã08ðíÃPzÃ`­àIÀrÙÃÐAÃÐ)!Ã`¹Ãð0ÃÏÃÀµÃPn ÃÃPªÃð³à /Ã0ÇÃöÃP!Ãð$ðvÃPÃP˜ÃpiÃÀ,Ã"ÃÀ&àUÃÐÖðvÃP†ÃÐSÃpcÃpÚÃpEðíÃRÃ0ÓÃP Ãð¡àmÃ0ÇÃàtÃ@YÃÀ—ÀïÃÃ@úÃÀ8ÃàëÃÀÃànÃð$ÃÉÃpìÃpàÃÐ5ÃàñÃð à ”ÃÃàØñÃ°Û Ãðà7 àÆÃ4Ã`• ðùÀÃ`§à |Ã@âÃ`ÅÃàýÃ`¹ð|ÃpàÃà€Ãsà ˆà |Ã0 Ã`6ÃÃÐqÀðŽÃÐ_À~ÃP Ã@qà šà[àÆÃð›Ã0¯Ã`³ðÿÃp]ðóÀlÃÀ©Ãà’ðÃFÃ4ÀÃ4Ã0ÍðÿÃÀÃPzÃ@YÃ`¿Ã:Ã`*ÃüÃð­ÃÐôðÀûà ”Ã`Hð”ÃáÃäÃàåÃðÀ~Ãàë÷ÀÃ@âÃ@_Ã`*ðóÃðÀà  ÃüðùðíÃÉÃÀ,ÃP!àäÃpà ðX!Ã0&ÃRÃàzÃànÃ`³ÃÀ>ÃàÃÀÃPÓ$à á#Ãà€Ã`ÑÃð•ÃÃÐÖà ŽÃ0,ðpðù÷ÃÃÉà ‚ðpÃ"Ã`0Ã.ÃÀ ÀÃðÃð³ÃÃpàð‚àOÀÃ.Ã@A!Ã`¡ÃpÚÃÀÃpÚðóÃÐMÃÐ/ Àõà ˆÃäàUÃpÚÃpQàÞÀ ñÃ"ÃðÃàåðçÃ0ÍàaÃàzÀûÃmÃоÃàßà[ð”ÃmÃpcÃàëÃ4ÃRëÓÃäÃð*ýÃ0»à à ÃLÃP!Ã@ÊÃÐGà ŽÃà÷Ã0ëÃÃÀ¯Ã@wÃ@_ÃàtÃ`ZÃÏÃð Ã@Üà ŽàÆÃ:ÃpàÃpàÃäÃ@eëÃÉÃÀ©Ãðà  Ãà ˆÃpìà ÃÐAð‚ÃÐÐÃà÷ÃÞÃÐÜÃàýÃ"Ã0PÃÐÜÃÀ©ÃÐÜÃ0ÓÃ.à ”ÃÃdà ¬Ã:ÃàëÃ@èÃ@ôÃpòÃpæÃÀàÌÃFÃpøÃP'Ãà÷ÃP ÃpðšÃÐÖàØÃвñÃ@ÜÃ@_ÃоÃð Ãð­ÃFÃÐYÃÀð#ÃpþÃð6ÃP!ëÃ`*Ã.Ãà’Ã`TÃ@MÃUÃPÃ`<ÃpiñÃÐAÀ„àOÃ.ÃðÃ@kà ”ÃÐâÀð|ÃÐAÃüÃÕÃ@ÖÃ@îÃüÃð<À–ÃðBðpÃ:ðvÀõÓÃ`<ð Ã:ÃÉÃàhÃpÔÃð ÃPàØÃ`ÅàUÃPÀÃPªà #ÃPÃÀÇÃà€ÀÃ`¿Ã.ÃÐÐÃP!ÃP¤À=Ã0åàØÃÀ,Ã08Ã@ÃÐâÃPÃ"!ÃpÎð|àÞÃÀµÃð$ÃÐèÃdÃjÃÀ2ÃpWà Ã4à šà /Ã`³ÀÃpiÃ0ÓËÀëÃà€ÃÉÀÃpøÃ`<Ã@âÃP!ÃP'Ãð6ð#Ã@Ã:Ãp]Ã@úÃð6ñÃàýÃ4ðÃÃÃÃ@Ã0JÃpøÃpÔÀT#Ã…ÃÀbÃÃP¶ÃÃðBÃð6Ã@wÀ–Ã0ÓÃ0ÍÃpWÃ`³Ã"Ãà’à…Ã0Ó÷ÃêÃ"Ã`<ÃàtÃ02ðŽð#ÃçÃàñÃоÃàzÀñÃÀ‘Ã@ÃëÃpÚÃð*ÃjñÃ0Çà Ã`³à ¬ÃsÃ@ÃàzàÒÃ0>ÃPÃp]Ã`ÅÃð*ÀÃÀ¯Ã@_Ã`¡ððÿÃвÃðà à  ÃÐÜà ”Ã0&Ãð§ð”Ã`HÀ„àOÃmÃÐ_À%ÃðHÃÐÄà |Ã@àÃP¶ðÃP¤Ã`NÃP àØÃ@úÃöÃÐÄÃðÃà Ã`HÃ0ÓàIñÃÀ!ÃpÔÃPŒÃpQÀ–ÃÉÃáÃÐkÃÐÜÃ0&ð|ÀÃFÃð§ÃÐÖÃð³Ã@à šÃ@Ã@ƒÃLðàaÃÀ>Ã0\ðŽÃ@ÜÃÐMà ÃRÀÃÐÖÃà€ÃsàÞÃÐ_ðˆÃLÃüÃ`$Ã`BÃà÷Ãð§ÃÐÐÃ`ÅÃð­Ãð³Ã0VàØÃð6àäÃàtÃ[ÃÀÃà€Ã0ÓÃÉÀàüÃÕ÷Ãð¡Àà  ÀlÃðÃpoÃ08ÃðÃ`0ÃP¤Ã`6ÃÐ_ÃP˜ÃàëÃLÃp{Ã0ÍÃÀµð‚Ã@èÃÀ&Ã0ÁÃ`¹ÃaÀxÃPÃpàðùà¨"Ç!ÃÆ!ÃöÃpiÃäÃpÔÃpàÃFà ”ÃÃÃоà[Ãð§ÃP†ÃànÃÀ ÃUÃÐ;Ãà÷ÃÃðÃ0ÁÃð­ÃpòÃðà ðíÃÐÖà #à ”ëÃ@_ð^ ðdà[ðÃpÎÃð›ÃàÃÃ`³à àOÃ`• ðvÃØÃ( ðpÃP¤Ã02Ãð‰Ã0ÍÃpiðíÃ0,ÃÀ—Ãp¶!Ã¥ÃàzÃð$ÃÀ‘ÃpÂÃ`¹ÃyÃPð‚àØÃÐGýÃPðˆÃpcÃPžÃÃðÃàtÃàŒÃ`6Ã@YÃð6à À ðçÃPñÃÀPÃ`NÀ¨ÃáÃ`³ÃÐÜð‚Ã@îà Ã@ÊñÃpoÃ(ÃPýÃ02ð ÃXÃð§Ãð­à À„ÃmðvÃ@YÃð¡ÃPžÃ0ÁÃ(ÃP ÙÃ0£ÃÀ£ÃP˜Ã@Ãà À%ÃÐ_ÃÀ£ÀðùÃP-Ã`$ÀŠÃpoà #ÑÃPÀœÃRÃLÃáÃ`*Ãð­Ã`¿ÃÉÃànÃ`¹ÃüÀŠÃÕÃÐSà Ã0VÃð*Ã08Ãð§ðÃàzÃ0>ÃFà ˆÃà÷ÃÃ@ÃÃFÃ0DÃP’Ãð‰ÃsÃÐGà #ÃÃüÃ.ÃàzÃpWÃmÃP†ÃàhÃàà ˆÃð›Ãà˜À¨Ã0ÓÃÀµÃÐ_Ãð¹Ãð³Ã0PÃð<ÃÃ@ƒÃ0\àöÃð³ÃÐeÃpìÃà’ÃÀ¯Ãð¿ÃPÈÀ+Ãà à šÃ`<ÃààöÃÐÃÐâÃ@eÃsÃ`ÃPÃ0Và  àäð Ã0ÓÃpÃàŒàÃÐâÃ0ÍÃ`BÃ0ÓÃXÃP¤ÃÀµÃ0\Ãà ÃÀ àÞÃ@eÀ%Ã@àäÃ0bðŽàÀ1Ãð³Ãà€ÙÃ0DÃ`BàsÃÐYÃÛÃP˜ÃLÃpWÃ0>ÃXÃÀœÃàzàØàØÃÉÃXÃP¤Ã@qÃöÃànÃÐAÃðÃÐèÀ%Ãð§Ã08ÃÃÃÀ8à ¸ÃðËÃFÃÐÊÃFÃ0ñà‹ÃàÃ@eÃP-ÃÃpàðóà šÃFÀ¨ÀŠÀÃÐAÃs÷Ã0ÁÃÀ Ã0VÃ@ôÃPªÃ0ÙàsÃdÃ0åÃðTÃ0\Ãð•ÀÃPÃÐSÃ@wÃLÃÀð”ðÃðÃð¡à ‚ÃÀ!à ÃêàäÃð*ÃððùÃàýÃоà à  ÃPÀ„ÃPÃpæðjÃð‰àUÃàýàüÃÃ`NðpÃäÃP˜Ã@ÐÃpÎÃÀ¯ððÃ0µÃðÃÐkÃÀ¯à ŽÃ`<ðóÃ7$àIÃpiÀÃðHð à )ÃÀ>Ãð$Ã`0Ãð•ÃÀÃ`HÃRÀñÃ(Ã@MÃPzÃP¤àêàäÃàÃP€ÃO ðíÃPžÃ`6Ã@_ÃÐAÃÐYÃÏà ÃÞÃ…ðˆÃð¿ÃÏÀŠÃ@îÃPªÃà’ËÃmÀûÃP÷ÃðÃ@âÃp? à àsà  ÃÐÖÃÐwÃ0ÓÃPÃðÃpoÀÃ`<Ãð­à  ÃðÀÃ@ÃmÃ.ÃpÎÃÏÃPÃÀ—Ã@ÜÃ(Ã`­ÃP ÃPÃÀ—À ÃmÃ`BÃdÃpQÃ@ÜÃ@úÃàzà /à ;ÃðÃÉÃ`NÃàŒëà ÃöÃàð ëÃP Ãð0ÃüÃàÃ0ÁÃð*ÃP!àÃð§Ãð‰ÃP€ÃÀ¯Ãp{ýÃ@à ¦Ãð0ñÃP ÃsÃ`<Ã(ÃÃÛð à ¦Ãð$Ã0µÃPŒÃP ÃàÍ!Ã:Ã:ÃêÃP€Ãð*À¢ÃÃð<Ã0ÙÃ`ËÃÐÊÃüÃ@kÃ`*ÃP À„ÃRÃÕÃP€À`!Ã0>à ¬ÀœàØÃÐSà ÃçÃ@wà ÃpWÃ`³ÃpàÃöÀÃpæÃà÷ÃFÃLÃÀ>ÃPŒÃêà  ÃÕÃà†à  ÃêÃpcËÃð<àgÃð•ÃäàaÃáÃ@YýÃP†Ãà†Ã`<ÃÉÃÀDÃÀDÀ+ðšÃÐÐÃ4Ãpìðˆðð àmàgÃ0bÃ0ÇÃð­ÃÐÖÃÀ©ÃFà Aàgà ÃpàÃ0Dð ÃRÃÐÊÃP'Ã0ÍÃÀ&À~àöÃàðšàÒÃððËãÃàŒÃ02ÃÀÃÀ,Ã^ÃÐôàaÃ@èÃ0µÃRÃüÃðÃÀÃ`›Ãð•ðÿÃp? ÃÃоðvÃ0»ÃÀ&àêÃÀ‹ÃàV ÃÀ Ã@ÐÃиÃ0µÃ@SÃ.à ÿÃðÃ@eßÃPzà7 Ã@kÃ@ÃÀÃ[à ÃðÃ`ÅÃÀÃàÃàñÃ0ÁÃP˜àäÃ@èÃP’ÃàýÃ@Ä ÃPë Ãð ðÃ.ÃPÃàñÃ@MÃ0&ðç÷ÃUÃpKÃÐ)!Ãв÷Ãð¡Ãð›ÀlÃÀà ùÃÀ… ÃpÔà ”ÃpÚÃàtÃ`¡Ã0 Ã@eÃð›ð ÃpìÃÐ;à´ ðÿÃðÃUà ˆÃàßÃPýÃàzÃP†ÃPë Ãp3"ð|ÃÉÃ4ðçðáà7 ÃвÃ@ÜÃÐ/ ÃpcÃ0>à ÃÐYÃ`0Ã@Öðvà[Ã@kÀéÀrÃà\Ã0>Ã0DÃðƒÃp? ÃpàÀûÃP˜ÃÏÃ@àÞà  Àõà1!ÃÀ‹Ãà’ÀÃÀÃàñÃÃöàÆÃLÃ`ÅÃÐÊÃpÚÃàëÃðƒðpÃPýà ŽÃÏÃð<ðÃàzÃððóàºÃpÂÃ@¸"à Ã`ÅÃð³ÃàIÃPñÃ0DÃ@kð|Ãà Ãð‰Ã0 ÃàßÃ( ÃsÃPðàÆÃ` "Ã@G àCÃp¶!ñð|Ãpuà  ÃêÃÀ!ÃpÂÃÀ Ã` Ãp¼ ÃÀ!ÃД$ÃЈ&À×"à ^$ðÕ!ÃPß"à ½)ÃP£,ÃPµ)ÃPµ)ÀT#ð½%Ã`Ö*Ã?-Ã0O-ÃpÓ1Ã3/Ãày/ÃÎ*Ã`Y*Ãc'Ã@ˆ*ÃP—.Ãpn-Ãp€*Ã@(ÃÐj+à (-ÃP˜ÃÀ¨/Ã'1à “0Ã4ðo2Ã`¬1Ãp÷+Ãð;+ÃÀº,ÃÀ¢0ÃP.à “0Ãx.ÃpÙ0Ã0O-Ã012ðo2ÃÈ/Ãð/-ð{0ü-ÃP2Ãз3Ã05Ã0%4Ãàs0Ã0a*ÃÀÀ+ÃK/Ã92Ã@Ã5Ãàs0Ã×3ÃZ3Ã`/1à 0Ãà…-ÃP-ÃÐ@2ðì2Ãàs0ÃÀ–2à×/ðþ/Ã-0Ãàð0Àw2ÃÐÏ/ÃQ.Ã0Ì-Ãï/àH2Ã@Û1Ãé0à /ÃZ3Ãð2Ã-0Ã`¸/Ãph.Ãð0Àƒ0Ã9.ÃÐp*ÃÐÏ/ðo2Ã0À/à /ð-Ãpå.ä1àl,Ãð¾*À•-Ãð¬-Ã`Y*Ãà.Ãðš0Ãð5,Ãà…-ÃP/à ".À‰/Ãà£(Ãp )Ã-0Ã@Û1ðø0À}1Ã],Ä,Ãà…-à F(Ãc'àï+Ãð#/Ã@p.à ±+Ã0Þ*À0Ãàü.Ãp÷+Ãà,ÃÐj+Ã@‚+ÃP.Ã0=0à ".àõ*Ãàµ%Ãp†)ÃE,Ãã1ÃÐÃ1À<'Ãð¾*àl,ÃÐá,Ã`Ð+à 'ð:&Ãà+Ã@ó-à 3ÃP&,Ãð¾*ÃÀ®.ð .ÃÐp*Ãð).ÃP-à Ã(à +ÃÀ´-ÃP2*Ã`S+À•-Ãà-Ã@ÿ+À$+Ã{'À**ÃÀO)ÃÐá,Ãàü.ÃÚ,À§*Ãð¸+Ãpn-Ã~-ÃP.Ãð²,Ã`Y*ÃP>(Ã0Ì-à ¥-Ãð²,ÃP£,ÃÀU(ÃQ*À,Ã0Þ*à L'Ãà,'Ãà'Ö)ÃÐí*Ã@'À¿&ÃÐ'ÃÀa&à Ã(Ãì)Ã0ü%ÃP8)ÃÀÌ)ÃÐç+à ½)Ê+ÃPJ&ð:&Ã`â(Ãàm1ÃÔ)ÃðM(à ½)ðŸ*ÃK+ÃðG)ÃP»(Ãð_%Ü(Ãpå.ÃÀ=,àõ*Ãpz+ô$ÃðÊ(ÃÐó)À¹'Ãà£(ÃðÐ'Ãà,Ãð¸+à)Ã0…$ÀN$Ãu(à 'Ã@”(ÃÀU(Ã`!Ão%ÃÐv)ÃðÊ(ÃpŒ(ÃðÐ'Ã@(Ã0ê(ÃÀI*Ãð¾*ð()Ãp¼ ÃÀê$Ãpž%ð()Ãpž%Ã{#Ã0y&Ãph.ÃÐá,Ã`q&à L'à á#Ãà¯&ÃÀy"ðR"Ãà\ÃPn à 'Ã0y&à„(Ão%ÃðY&ÀH%Ü(Ã$Ã0—!Ãà»$Ãàµ%à Û$ÃÐ &Ãpž%à Û$Ãp¤$Ã@ &ÃР"Ã`î&ÀH%ÃÀm$àï+Ãà,Ãp(ÀZ"À×"àœ$ÃPÍ%ÃÐ$Ã$ú#Ã7$Ãø'ÃP8)à Û$ÃPÍ%À<'Ã`î&Ãà&(Ãà¯&ÃÀ['Ã0y&à$ÃPÙ#ÃPb"à%ÃÀÃвÃà£(Ã](ÃК#Ã0#ðL#ÃPP%Ãðk#à–%Ã"ÃÀê$À×"àºÃàJ"Ã0y&Ã@'Ãðî"Ã@ÊàºÃP\#Ãàµ%Ã%'Ã$Ãu(Ã`è'Ã"à=ðùÃàÍ!ÃЂ'Ã`î&ÃД$Ã@¦%Ãðè#ðÕ!Ã@¬$Ã0$ÃЦ!à á#à R&Ãpª#à ÿÃ0>ÃàÁ#Ã+&ÃàD#ÃàÁ#à¨"Ã0£ÃpÎðáÃðk#à¨"Ã`!à+"Ã`• Ã`‰"ÃÀy"Ã+&Ãðq"ÃР"à¢#à p!Ã( à !ÀrÃpª#Ãðk#Ãp&ð+à ^$ÃàbÃð$Ã0ÙÃPÃ@ÖÃÀð#Ã`î&Ãðw!ÃÀ‘ÃpÔÃpÈÃ@Yà !à ‚ÃPtÃ@A!Ã`ƒ#ÃPV$Ã°Û Ã€lÃ` Ã@;"ÃÀ Àã à ó À×"Ãp'$ÃÀö"Ã°Û ÃPß"ú#ðáÃÆ!Ã`!Ã@G Ã@A!ÃР"ðÕ!ÃÐ)!ðF$à&ÃPÍ%Ão%Ü(ðÏ"Ãà¯&Ãà&(ÃÐ)!ÃpEÃ0µÃ( ÃàV Ã@ÜÃÐ)!Ã`›Ã0&ÃЬ Ã`$ÃàJ"Ã=#ÀïÃ@²#ÀH%à ÿÃaÃ`§Ãàßà´ Ã` Àf Ãp¼ ß!àÀÃàÙÃÀy"Ã@ÊðÕ!Ã"À`!ÃÀö"ÃÀg%Ãþ"ÃPb"Ã@5#ß!Ã`§ð‚à ŽÃК#ÃÀÞ&à í!ÃØÃ@ÊÃ@5#Ã0‹#Ã0%Ãð‰Ãðú ðÕ!ëðÃÐ_Ã`›Ãð_%Ãp-#ÃØà Ãð ÃÐ/ à ó ÃÀÃ@;"Ã0 Ã@YýÃ`*ðÿÃPýÃ`¡ÃÀ!àIÃð•à ˆÃðú Ó#Ã@Ä ÃоÃpQÃà\ÃPzÃ@Üà ˆÃðÃäðdÃpìÃ@ÐÃ°Û Ã=#ÃÀs#à ùÃÌ Ã 7 ÃànàIÃpàÃP†ÃÐ;ÃPtàÒà ÃpÎÃ"Ã0JàÀà ðçÃP’Ã4Ã`0à[ÃÀ>Ã`àºÃ ÃàhÃ0ÍÃàñÃLÃp¼ Ã¥Ã0DÀ„Ã0&Ã0"Ã0,àIÃpÈßà7 Ã0!àÆÃ.ÃÀ£ÃÀ ÃUàºÃÀÃÐMàÞÃàýÃPÃ`*Ãàåð|ÃPÃð›Ã0>ðóàÆÀ Ãpcà àÀÃ0£ÀïÃ@SÃ`6ÃÀ&Ãp]Ã`!ÃР"ÃÀÃàÙÀxÃÀ»ÃÀ¯ÃàñÃ0»àºà%#Ãðƒð‚ÃêÃÃð•Ã@YÃmÀ~Ã(Ã@Üñà ùÃÐ5ðóÃp¶!Ã0#à ˆÃ02ÃgÃP†ÃоÃpÔÃPžà )Ã"Ã@kÃððÃ`ËðˆÃ`0Ã0!ÃðÀð^ ÃК#Ã0©àIÃÐGÃPýÃÀÃ@ÊÃ"ÃЦ!ÀT#ÃÀ—à ÿÀ ÃðÅÃÃÃÐÐÀ ýÃЦ!ÃPzÃO Ã0!à |Ã(ÃÀ Ã@ÖÃ0"Ã@¾!Ãð•àØÃ0JÃØÃÀ‘Ã(À~ÃpEýðjà ðùà ŽÃPn à¢#Ãp¼ Ã02Ã0&ÃðÃÀü!Ã0 ÃÀÃP Ã`$ÃP÷ÃpWÃÐÖÃP†ÀïÃ@G ÃиÃð à+"ÃÒÃоÃÐÄðíðX!Ãð Ãð à ŽÃÀ>Ãðà´ Ã@¾!ÃÀ,ÃpiÃ0»ðjÃ`›ÃP÷Ã@îÃ:Ã0—!à$Ã@²#ðáÃð‰Ã ÃÐÄÃÐÜÃP˜Àf Ã`‰"ÃðvàIÀûÃàhÃpÚÃL÷Ãà€Ã`$ÃànÃÐSÃ02ÃPh!ÀlðçÃàhÃ`¹ÃÏÃ`*ðÿÃ`BÃ@qÃÀ»ð‚ÀõÃ@Yà Ã`!ÃÀðdëÃðÃðà šÃ@îÃ0µÃð$ÃàÃpàÃpWÃ@eÃLÃXÃpìà #ÃP°Ã0VÃmÃðÃpÚÃ[ÃàëÃpÚàOà ¦ðjðjÃÐAðùÃàtÃðÃ¥ÃêÃäÃÀ»ÃPÃpQà ó Ã@âÃÒÃÀ‹Ã0»ÃpÔÃ0—!ÃàV ÃöÃ`*Ãð} Ãà\ÃÐMÃÀ8à á#ÃàÇ"Ã0©Ã@eÃÞðpÃ(Ã`$ñÃð›Ã@YÃÏÃ0&Ã0ÁÀïð|ÃàÙÃ@Mðçà1!ÃðÃàzÃ@âÃpÂÃpÎðóÃpÎÃ4ÃpWÃ(Ã( Ã0DÃÉÃP€Ã@ÖÃÃÃ`$ñÃPñÃ@ÖÃ@eÃð›ÃЬ ÃpKÃà†ñà ŽÃÐÄÃÉà v à ó Ã`¡Ã`• Ã4ð|ð|Ãp]Ã0¯àIÃ@Ãð­Ã@ôÃð•à v ÃÀ!ð^ Ãàåà šÃ`HÃgÃ@kÃ@ðíÃ@;"Ã@ÐÃ`ËÃÀ2ÃFÃpKÃÐÊÃðÃàÃвÃÀÃ@ÜÃ`›ÃðÃÐÊÃpÔÃ0,Ã@ÃLÃP÷àÆÃÀ©ÃÀ©à1!ÃpWÃpòÃð$Ã`¡Ã$ÃðÃð0Ã`ÝÃà AÃ0DàØÃàñÃpààgÃpòÃà ”Ã`¿ÃaÃà\ÃpEÃp? Ã0µÃp]ÃpÎÃ0ÇàäÀ„Ã`¿ÃP˜À„ÃÐÐÃP˜ÃÛÃ0JÃð³ÀœÃ@îÃPÃ0>Ã0ÓÃ…ð àäÃp{à à  Ã0JÃd÷Ã0ÍýÃ0ÁÃÐ;àIÃ0JÃ@eàÒÃØÃ02ÃsÃÐ#Ã.Ã`¿ð Ã0\à ŽÃÃüÃàžÀ%ÃÐSÃ0JßÃpEàÆÃ.Ãáà )ÃPÃpøÃð›Ãð¡ÃPÃ0PÃpKÃÀÃ:ÃÐkÃpiðˆà ÃÃÃ@ÃÀPÃ`Ýà /ÃÐeÃðÃ0JÃ`BÃPªàaëëÃ@âÃ`<à ÃÀýÃÀ¯à[Ã0ÇÃÐAàÞÃ0åÃð³Ã0ÓÃÀ ðvÃÐSÃÀ©Ã[Ã08ÃÃÐGÃpcÃÐÜÃPŒÃPÈàüÃðÑÃàà ÃP Ã@qàà ²Ã0ÍÃ`TÃÐSÃ.à šÃ:Ã`HÃÐîÃP˜ÃÐÊÃ`*ÃàtÃÿÃçÃà AÃ0\ÃÃ@_àIàUðˆðÃ`NÃÀ8Ã4àäÃà÷Ãð­ÃP'Ã0ÓÃPÃ0µðŽÀ¢Ã@wàðð)ÃùÃ@Ã0ÍÃ^à 5Ã0\à ¦ÃÀ,Ã@_Ãðà ;à 5ÃÀ Ãyð‚Ã`HÃP¤àêÃð›Ã.À ÃÀÇÃð³ÃÉÀ„÷ÀÃ`6Ã`¿ÃÀ»Ã`ãà ²ÃmÃàbÃPÃÐôýÀÃÃÃàtàöÃð§ÀÃP'ÃpìÃ`¹Ã0ÍÃ@îÃpÚÃÐAÃÐYÃð­ÃÀDÃP'Ã@âËÃ0ÇÃÀ¯À–Ã@qÃpcÃP!à ¸ñÃÀ2à ¦ÃÐeÃÃÀ ÃpKÃ@YÃ@wÃ0>Ãà€ÃÐÖÃàŒÃPàUÃpòÃpìÃÀ£Ã`6ÃÀÇÃ`<Ã0 ðdÃ@qÃÀ¯ÃÀ&àCÃ`6ÃоÃ@qÃÐGýÃð$ÃàzÃÃÃLà ¬ÃðBÃÉà7 Ã0JÃÏÃÛÃð§ðóð‚ÃÛÃ@èà ‚ÃpÈÃêÃüà Ã4ÃÀ©÷ÃànÃÃÃpÈÃP†ÃLëÃ0ÇÃ@qÃsÃÐeßà=àÒÃP¤ÃÐâÃ08Ã0»Ã`Hà )Ã^ÃÐÐÃPñàÀÃ02Ã@ÜÃð³àmÃPýà ”ÃöÃP’ÃÀPÃÐYÃpÚÃàtÃpoÃànà ŽÃàtÀŠÃ@wÃ0bà ÀÃ0»à #ÃPŒÀïÃ`$à[Ã0DÃÐAÃ@ÖÃ0ÇÃêÃÀÃÏÃÀ,ÃÐ_Ã`­Ã@YÃgÃ`<ÃPžð‚Ã@ðíÃ`¹Ãð¡ÃàtàØÃFð‚Ãð›àUÃð§Ãà€Ãð*ÃÐÄÃpEà Ã@àÒàØÃðÃ0¯Ã`ÅÃXÃàÃ`›à ÿðÿÃà†ÃpæÃ.Ãð•ÃÐMÀ„ÃÀ©à[àÒÃð6ÃÐâÃ@ÐÃàbÃÐAÃÐâÃÉÃàhÃÀð Ã0JÃ0µÃ`0ÃÐÄÃÏÃÀ©ñÃàà ÀûÃ@ôÃ`BÃðÃ`­ÃpWÃÀ+à ¦àØðŽÃÀµÃ`0Ã0,ÃànÃpæÃPÃpþÃP'À%ÃüÃP'ÃÉÃð¡ÃPýÃ`0ððÿà ¸ðÿÃÐÜàüÃà†Àã À~Ã.Ã@ Ã0ßÃpÃsÃàýÃÀ2ÀÃ@à ¬àØÃ@qËÃÀ>ÃàzÃÀ!Ã@Ä Ã@MÃÀ2ÃpÃàñÃÀð÷ÃàÃà  ÃPÃÐÊà ¬ÃRÃÐÜÃÀÁÃÃÐâðóÃ0ÍÃ0ÍÃpiÃRÃöðÃÃðÅÃ`fàöýÃ:ÃpÚÃð¹ÃÏÃ@eÃ`6ÃXðÃð¹ÃÐÜð À1ÃpÃ02ýÃP'ËÃ^ÃÐÐÃ¥ÃpòÃ`NÃàŒÃÐ_à ²ÃgÃP˜Ãð<ÃPÂÃ@wàÞÀœÃ0ÍÃð6ÃpiýÃmðšÃP’à àðÃpiÃ0åÃ@›À+ÃFà ¬Ã``àÃð0ÃÐeÃ@eÃð6ÃÀÍÃRÃpþà ¸Ã@}ÃPÃÀ»Ã@eÀ~Ãp{ãÃ2àüÃ@ÃÐYà ¦Ãð6ÃÕÃÃÃP¤ÃdÃ^ÃpuÃpøÃ@ÃpþÃ`BÃP-à ¸Ã@ƒÃÃàÞÃp ÃpÃpuÃp{Ã0PÃÀ£Ã@èÃÐèÀ1ÃÃ@èñÃ0Çð à 5ÃÏÃpàÃð6Ãàtàêð àÞÃÐÜÃÐîÃ@ÃXÃðÃàà ¬ÃðTÃ^ÃPÃàzÃ0JÑÃ@Ã@}Ã@ÖÃà€ð ÃÀ£ÃÀ,ð‚ÃXà ¦ÃÐwÃ@úÃ@ÃÐ_Àð àÌÃ@âÃpìÃÃp{Ã`ÅÃP’Ãà ÃÐ_Ã0PÃ`ÅÃPýÃ:Ã@ôÃ@qÃ0>ðÿÃ.ÃÐSÃÃÀ2Ãð¹Ã`BàÞÃÐSÃÐ_ÃÐÖÃÐSÃ@èÃð¡Ã`³ÃÃsÃ@ Ãà†Ãð*Ã`ÅÃPýÃ`§ÃaýÃpÚÃ@îÃÐÐÃ`ËÃpìÃÐÖÃÞÀ ÃÐ_ÃFÃÐkð¬à 5Ã@qÃÛàêÃð§ÃäÃà÷ðíà Ãð§Ã`ÅÃÀÃRÃ`³ÃØðóàÆÃÐÖÃà ÃLÃðÀŠÃðÃ@úÃ@Ãà-à ŽðjÃÛÃ@ôÃP€Ã.Ã@âÃ@úÀ%ÃÏÀÃP˜Ã`<À„ÃÀ àUÃ@èÃ0>Ã@úÃ…ÃRà ”àÞÃÃðËÀxÃàåÃÀµÃ@ ÃRÀÃ@MÃÐÊÀà Ã@eÃð§ÃLÃPªÃP Ã0>ÃdÃÀ»Ã.à  ÃÃÃPÃð•Ã0ÇÃÀ8àyÃÀ8Ãpæð‚àðÃ@qÃÐSÃyàöÀ+Ã0JÃPð|Ã:Ã@ÃÀ©ÃpQÃð›àOÃP÷ÃPtÃP’ÃÀ©ÃPžà ÃÐèÃð*àIÃð§ÃðÅÃ08ÃP ÃsÃXÀŠÃÐYÃPÃ@ôÃFÃpòÃ08ÃÀ… ð ÀœÃ0VÃ0bà #ÃPŒðÃPžÀÃ`NÃÃà ÃpàÃyÃ0ÍÃP˜Ã02ÃöÃpìÃÐSÃÐÊðŽðˆÀÃP˜ðà ÀïÃ@ÃpøÃ`§À ÃÐYÃÀ¯ÃFð|ÃØÃÀ ñðùÃ@qÃð¡ÃpøÃÐSÀZ"Ãð Ã.ÃP†Ã0,ÃPýÀxà šÃ`BÃð¿ÃpiÃPýÃÀ‹ÃànëÃÀÃ:ÃÐ;ÃP˜ðóÃpWÃP’ÃäÃÐÜàÞÀÃPzÃPàgÃà†Ã`³Ãp]Ã`¡ÃÐAÃpÚÃÐÊÀ–àØñÃ0Óà ”ÃpÚÃð*ÃRÃPÃàtÃyà  Ã@qÃ`0à ŽÃ@âÃP€ðíÃÀÃÃXÃ0ÁÃ0¯ÃàbÃä÷ð‚Ã`¡Àà )ÀœÃPÃpàÃêÃ`×Ãà ÃðÃ@SÃ@Ã@ôýÃÐúÃà’ÃðÃpÚÃ:Ã`fÃ`HàêÃRÃ0\ÃFÃPŒëÃpuÃP˜ÀœðÃðÃ0bÃLÃP'ÃÀ,ÃÃÃp Ãð¹ÃXð#Ã`×ÃpàÃàtÃP’ëÃpÂÃÀÃ`¿÷Ãà÷Ã`³ÃPžà  Ã0>à ²ð#Ãp‡À+ÃàzàÒà #ð|ÃàÓ ÃPýÃ0ÓÃÀ,Ãð›Ã@ÊÃÃÃÀ¯ÃÐÜÃÀ,Ãp{Ã0nÃpÃpoÃ@à Ãð³Ã@ôÀéÃsÃyàgÃð0Ãð›ÃÃÃÃà ¬à  ÃÀ,Ãà€Ã@ƒÃÐâÃ0ÍÃPðŽÃà˜ÃðHàOÃÐ;à ”Ãð§ðˆàðà Žà |ÃÀµðÃ@eÃ`­ÃmÃÀ¯ÃàtÃ`¿ÃpKÃüðŽðŽðóÃ"ÃPÃÀðdÃ@YÃÐ5àØÃÏÃðÅÃÐkÃ@ÃyÃÃÃpÔÃÃÀÃpàÃÀµðŽÃðÃ@ƒàü÷ÃÐ/ Ã¥ ÃðÃ@wàÀà à  ÃÐSðçðóàÞÃÐÄÃà÷Ãþ"Ã¥ÃÃÐ Ã0 Ãà-ÃàzðÃàðÃpæÃ08ÃÐÊàÌÃ:ÃðÃÀ©Ãð$ÃêÃ0DÃP’÷ÀÀ+Ã@ôÃÐ5Ã:ÀlÃpKàyÃùÃ@eÃPýÃüÃdÃ0ÓÃpàÃ0DÃàt÷ëÃàëð|ÃÕÃÐÖðÿà ¸ðÃpiÃð6ÃÐkÃÀ£à ¦Ã0ÓÃà†ÃÐYàÀÃð‰Ã0>ÃÉÃ`ÅÃ`ÅÃP-ÃP’ÃÃÀ£ÃPÃPtÃðÃüÃPžÀ–Ã0PÀœàêÃð¡ÃÀ ñÃð­ÀºÃpøÃ@Mà Žà ˆÃ0DÃPŒà ÃP àÞð#ÃPÃ0ÁÃ:ÃP-ÃÐSÃð•à[Ã0ÓÃð•Ãà˜ÃPžÃ0>ÃpiÃpcð‚Ã0µð‚Ã"Ã@}Ãà’Ãçð”À„à ÃÐkÃpøÃP'ÃààOÃpàÃp]ÀÃ`6Ã"ÃàñÃð­ÃÀÃ@ôÃ@âÃ@}Ã.à ŽðpÃðÃÀ&à Ãð$Ãà†Ãp]ÃpÚðà ÃÃ0åÃPÃàÃsàsÃpoðŽÃ:Ã0JÀÃRÃÀÇðˆÃpÔÃpþÃpÀÃ`BÃÀ£Ã0VàÞÃ`ÑÃð<ÃjÃPªÃ`ÅðŽÃ0ÓÃÐ_ÃànÃà Ã@ ÃpòÃ`ÑÀÃ0JÃÐÖÃ¥ÃàÃP!Ã@îÃpæàUðˆÃ``Ãð*ÃPÃpÃP˜À¢ÀÃðÃPŒÃð$ÃFÃ`ÑÃpàÀàÞÃÀ»Ãpià ¦ÃüÃsÃyÃpòÃÐqð ÃÃàðŽÃ0ÙàÞÃ@ÖðˆÃP˜ÃP-Ã`ÝÃ0ÙÃ`ËÃmÃ@èàyÃ0ëÃÀ»ÃàmÃðBÃÐqÃ`ÑÃ0ÁÃÐÖÃüÃ^Ãð*ÃÐÐÃàýÃ0ÓÃÀ8Ã`¿Ã@eÀ àÃPÎÃRÃ@ƒÃ…ðà‹ÃÃÕàOàêÃPÃ…ÃpòÃPžÃÐ_àsÃpòÃвÃ`¡Ãyàyð¸Ã0zÃà'Ã0bÃÐ}Ã.ÃäÃsÃÏÃÐ_Ã@}ÃðÃàtßà šÃpuà ¾à  ÃÀ&ðÃÀ2Ã…ÃPŒðpÃ@kÃð›ÃÐîÃP'Ãp? ÀrÃ@ÃÉËàIÃ¥Ã`NÃ`ÝðˆðÀ¨àðÃð§À„àIÃ@èÃ`ÅÃÀµÃÀŠÃpÃ0bðÿÃ(Ã@kÃÐkÃà ÃàÃÏÃànàÀÀÃ`³ÃÀÃ0 ÃÐAÃ@Sà šÃÛàOðóðšÃÐkÃpKà Žà ”ÃÀ,à 5ÃÉÃ(ðùÃ0>Ã4÷ÀÃàbÃà\ÃàýðÿÃRà  Ã4Ã0ÙÃð¹Ãà’ÃàhÃ@SÃàÃpøÃÐSÃ@ÜÃ0JÃ`­ÃðÃ`0Ã4Ã@_Ã0»ÃpEÃàßðjÃ`NÃàýÃ@ôðˆÃÐÐÃ`6ðÃ`NÃPªÃpuÃàëà Ãð§÷à šÃyÃðÃàäÃ@à ²ÃÀ Ã0ÇÃ@qÃyà ¦ëÃ@âÃ`ËÃ@îÃPýÃ@_àsÃÏÃgÃ@YÀÃÐAÃLðó÷ðvÃàzÀÃ`6ðçÃP’ÃÐ_ÃÀ,ð|ÃоÃmÃÀ,à ”Ã@ôÃ@èÃpuðÿÀÃRÃÀDÃÐSÀ+àsðÃðú à à ŽÃ`*à[ÃàÃð­Ã@wÃààsÃdÃà†ÃÀ£à šýà Àà ¦Ãð6ÃÀ8Ã`×Ãð³Ã0ÇÃÀ»ÃpòÃpÚÃÐâÃàýÃpìÀ+Ã0\ÃÀÃPýàaÃPªÃà ÃÐÄÃð›ÃÐÄàÃÏÃð­ÃÐYà  ÃP-ðÃpoà /ÃpiÃ@èÃ`³ÃLÃ@ÖàaÀÃ@eÃ@SÀÃ08Ãð$Ã^Ã@ðóàIÃ.ÃÐeÃ@à ÃàëÃàððˆÃ(Ãðà Ã0»Ã@qÃàtÃÀ—ÃP€ýðà ¬Ã"ÃðÃRÃÀÇÃpìà Õ%ÃPtÃ`ËðÿÃà’àmÃpìÃð¡ð ÀœÃÉÃmÃ0Dà #Ã`TÃð¹Ã@ÃàÃ@ÃàÃêà ÃÐ_Ãà˜ÃÃpÎÃÐ;Ã`Tàsð Ã(Ã0ÓÃÃà¤ÃpæÃpÚÃÐeÃÐèÃp ÃÀ,ÃÃ`³ÃÀÀÃÀÇÃRÃpðšÃÕÃ0ÙÃLÃ0\Ãð­ÃPÃ0,Ãà€ÃÐeÃ@ƒà ¸ÀðÃ0ÓÃ0ÙÀ´Ã0hÃÃÀPÃ|ÃpøÃpæÃ@}ÃÐ}ÃÐâÃÐÊÃàzÀà ÃP-à /Ã@_ÃpoÃÕðvÃÐ_ÃóÃpÃpuÃP¤Ã0DÃ0ÇÃPžÃÀ8ÃðÅÑÃp{Ã0ßÃ@ƒÃÉàmÃpøÃÐ}Ã@ àöÃà˜ýàyÃdÃ`<ÃÐSÃð¡Ã0VÃP¼ÃLð ÃðËÃÐwÃp™ÃP3ÃP˜àà /Ãà÷àmÃpuà ²Ã0PÃÀÁÃP¼ÃÀ»Ã@ÃàzÀ%ÃPàÌðÃðÅÃðHÃð¿Ãð*Ã@qÃÀ»àðÃ`BÃ4ÀÃÐÐÃmÃpòÀ+Ã`fýÃ0bà ¦Ã.àØÃ0\ÃðBÃàŒÃ`BÃ0¯Ãð$ÃÀÁÃ^ÃPªÀ+Ã0ÙÃíàü÷àØÃäÀÃð*àUÃ0µÃ0JÃ`¿ÃðÃÃ0bÃ0ÙÃRàsÃpìÃÐÄÀŠÃàðÃyÃp]ÃPÃÃð6ÃÃ@úÃ`ÅÃ@wÃð$ÃFÃöÃpòÃÃà’ÃÐúÃÐqÃäðÃP¶Ã`TÃ`<ÃP’ÃÐSÃpÀCÃsð‚Ã0DÃÐGÃ0JÃ…Ãð¡à[ÃÀ2Ãð›ÃÐèð|Ã@eÃ@ƒÃЃÃ@}Ã`³ÃPÃpÚÃpWÃpìðŽÃP’Ã@wÃà€ð ÃPÀÃðNÃ@eÃ02ÃðÃpæÃaà ð|ÃsÃFÃ`ÑÃÐkÀÃgÃ`¿Ã@•ÃÐÜð|ÃÐMðÃ@âÃ0PÃð­Ãð›ÙÃ"ÃÐúÃP¼Ã0÷ð¦àäÀð¦Ãp ÑÃPžÃÐâðšÃÐSÃpÈÃêÀðšÃFÃ@ƒÃÐeÃ@wÃÐSÀÃÃà ¬ÃÛÃLÀÃ`ÑÃpòßÃ…ýÃ@ôÃà†ðjÃpìÃP˜àaÃpÚÃP˜Ã^Ã(ÃÐ;ÃÐ;àäà  Ãð ýÃÀ2àUÃàhÃ"ÃÀ—ÀïÃÐÄÃÐ;Ã08Ã`*ýÃàåàÒÀ„Ã`0ÃÐÄÀéÀrð ðùÃ`!ð½%ÃÀ… Ãð$Ãà€ðùÃ@qÃÐÊÃ@ÖÃPžÃÀ‘ðR"ÃPñÃ¥ÃÀ à ŽÃð•Ãàzà à  ðóÀ`!à=àIÃgÃðà ‚ÃàJ"ëÃð•ÃÐ)!ÃÐGÀ~Ã`¹ðùÃ`*ð|ÃðÃ@YßÃ0PÃÀ&ÃоÃ@YÃ0ÇÃððáÃÃ`Hà[Ã@kÃà÷ðvÃP à ð|ÃàbÃÀ!Ã`¡Ã@_ÀŠÃð*Ã`›Ã.Ã`$à |Ã`¡Ãðú ÃPtÃP€Ã4Ã@èà ‚Ã`§Ã@Öà ÿàºÃ#Ã°Û Ãðà ˆàºÃÀÃpEÃPýÃ@_Ã@ÐÃÐAÃàÍ!ÃÐAÃ@YÃàP!ÃàåÃàtÃ@;"ÃàV à ˆÃÐ#"ÃоÃ0!Ã@SÃà àºà v ÃpWðáàaÃÐÐÃaðÿÃ( Ãðà ”Ãðô!à ÃsÃàñÃÀÃÃÃÐÊÃà€Ã@îÃððjà ÿðX!àÌÃp]ÃЦ!ÃÐ)!ÃÀÃ@ÖÃ"ÃäÀðÿÃpKàºÃàÓ Ã0µÃànÃÐYÃÞÃÐÄýÃ@_ÃpøÃÀåÃàÃÐÊÃ0,ÃaÃðÃLÃàÃP’Ã@SÃ`­à[ÃPýÃÀ—ÃÐÐðjÃ`TÃ`<Ãp]ÃPzÃààØÃLÀ„Ã#Ã0©Ã`­àØðÃðÃðÃ`³ÃPŒÃÀÃÐSÃÏÃLÃ@îÃ(Ã`¹ÃÐMðˆÃ0DÃêÃ@SÃÐYÃÀ£Ãðw!Ã0¯ÃÀ!Ã0¯ÃRàäÃÐîÃ`ZÀxà1!Ã@âÃðÃÀ&ÃPžðŽà ²à ”à #À¨ÃðàÆÃàñÃ02Ã0ÍÃàñÃиÀõÀ¢Ãà˜ÃáðÃ4àÞÃð•Ãð‰à ùÃpàÀŠÀlÃ0µÃàhÃyà ˆÃ.Ãð$ÃÀDÃ@kÃ`Bð|Ã`0Ã(ÃRÃP’Ã@_ÃpÂýÃ…ðçÃ.ðpÃÐAðšÃÐÖÃÀ&ÃÀ»Ã¥ÃpiÀõÃÉðšàêÃXðÿÀûÃðƒÃ@îÃ`¹Ãð­ÃpcÃ0Dà  Ã0DÃвÃ02ÃðÃ(Ã@Sð|àÞÀ`!Ã0©à ”ÃàhÃPÃÐÄÃ`*ÃàÙÃp? Ã@Ä Ã =ÃÐÐÃðÃÐ)!Ã@ÜëÃ0,Ã@wÃð›Ã"ÃÀ&à Ãàðjà1!à=ðpàað‚ðÃPÃà÷ðdðvÃÀDà ¦à ÃÐ5Ã0PÃ`BÃP’ÃàhÃ4Ã`¿ÃÃÃ:ÃànÃð›àØÃð­ÃÀ,Ã0ÙÃ@úÃ@úÀ„Ã@ÐÃpÎÃ`¡ÃÐ_à ”ÃÐ5ÃmÃð§ÃàhÃêÃÃ`­à Ã@eÃð ðpÃp? ÃPzà ŽÃÀ ðÿñÃ0µà ‚àÒÃð$Ã0»ð ÃpÃPÂÃÐAÃÐ)!ÃPh!ÃàtÃ`<ÃànÃ02Ã`­Ãäà ÀxÃ0ÁÃÐÜðÃÀµÃàŒÃðÃ0,Ã0¯àöÃPªðùÃàP!ðíÃà€ðp÷Ã`BÃ@ÃäÃ@ÜÃàåÃàëÃ02Ã@kÃ@ÃàñÃ4ÃRðpÃÀ—ÀûÃ02Ã`}$Ãp¼ ÃÃÃànÃиÀrÃÐMÃиÃ`BÃÐÐÃ@SÃ@G ÃÕÃ4Ã0PÃp¶!Ã@ÃÐÐÃ08ÃÀÃЬ à v ÃÐMÀ¨Ã@eÃÀ£ÃàtÃpcà ÃPzà !Ã0—!ÃÀ8Ã`¿ÃêÃ@G ÃÀ‘ÃPŒÃ0ÇÃP¤ÃànÃàÃÀ»ÃP˜ÃðÃðàÞÃÀ2Ã:ÀÃ0ÙÃð•àœ$Ãà€Ãð¹ÃðÀõÃ0>Ã`Bà àUÃPÃ0VÃàÃÀ,ÃpÈà ˆÃP¶Ã0bÀ+ÃFÃÐÐÃ0µÃÐ_Ãð*ÃP Ã`6ÃpìÃàtðpÃpàÃÐÜÃàbÃàßÃ[Ã@ÜÃPÃð0Ãð0ð|ÃÐÜÃ0ÓÀðˆÃÐGðóÃðÃ^Ãð0ÃpQÃ:ðùÃÐMÃð§Ã@}ÃðÃpWÃ`0à ÿÃ0,ÃpÚÃÏÃpÔÃ`NÃ@àðð ÃÐSà ‚ÃðÃÐSÃpÔÃÀ,Ãà€Ã02Ã@qÃ0DÃ@èÃð›ÃÐ_ÃànàäÃLà ¦ÃpWÃáÃÐSÃyÃsÃ0VÃ@âðóÃð§ÃPÈð/ÃÀÍÃÃÃLÙÃÉÃ0ÍÃFÃ:ÀœÃöÃöà Ã`§ÃàåÃ@_ÃÀ»àêÃð›ÃPŒÃð¹à  ÃmÃPýÃp]àmàäÃ`$ÃàßðŽÃöÀûÃ`6ðçÃЬ ð‚ÃpÃpoÃÀ,ÃÕÃXà AÃP!Ã08Ã` ðóàêð ðpÃ@èÃð•Ã[ÃÐÊð‚Ãð$Ã`Bð|ðˆÃ`§ðàgðóðíÃêà ŽÃmÃäÃð§Ã0ÙÃà÷ÃpWÃ:ÀÃP’ÃmÃ@èÃpàÃP¤ëàaÃàÃÀ8À%Ã0VÃ`0ð|ýÃÐqÃ0»Ã0 Ã`!ÃÀ¯ÃÀ»ÃÐYà[Ãsà[ÃP˜Ã`0àgÃPñÃ0 ðíÃà€Ãð¡Ã@Ã"Ã`BÃàÃÀ2Ã0&Ã`­Ã@qÃPÃpQÃÐSÀ„Ãà†ñÃÐ_à Ã@}Ãð­ÙÀ–àmÃðÃ0 ÃpWÀà ð”ÃpuðŽÃpcÃÀÀûàOÃ`0ÃÐ)!à ÃPn ðíÃ0Çà  ÃÀ ÃP€ÃFÃpiàÀÀéà ÃpÈÃÐ/ ðÕ!Ã@âÃànÃàëÃð­ÃP3ÃPðvÃaÃà†Ãð*Ãð­àäÃpÚÃÐMÃP€Ã@eÃLÃ`$ð:&ÃpQÃð¹ÃLðÃÐ}ÃÃpQð|Ãpoýð|Ãð$Ã@ôÃ`›ÃиÃà Ã`TÃàýàØà ¸Ã0nÃÉÃgÃ0»Ã@à ˆÃäÃð§Ã0Í÷Ã@èÃ@qÃ0Pà ”Ã`­ÃpÔÃànÃpÚÃÀ ÃàhàIÃÐÜàmÃð‰Ã@_Ã@_ÃöÃÐSÃð6ðÃðÃð6ÃpòàðÃàhÀ`!ðÿÃ0JÃð$ÃàñÃà€À~à ÃÀDÃçð‚à #à ²ÃpìÃÐ;ÃPýð|àêÃ:ÃÐ_Ã@ƒÃ@}Ã¥÷à  ÷ð|ÃÛÃàñÃpæÃàŒÃ—ÃXÃ`×Ãð­ðÃð*ëà #ÃXÃÀÁÃ@îÃpiÃÐÜÃPÃöÃÐ;Ã(Ã`BàCÀrÃpÈÃÀ©ÃpcÃ@àÒÃêÃð6ÃÐèÃð­à šÃ0ÍàÃ0hð ÃpÔÃÐMàÆÃ.Ã0µÃÐÖðjÃð•Ã0JÃÏÃ0ÁÃðÃ¥ÃpcÃöÀxÃÐAÃÐÄÀ+ÃpÃ`³ÃaÃpòà )ÃÐqÃ0Áð À%ðÃêÃyÃÀ,ÃÀ—à ¸ÀÃ`<Ã( Ã0—!ÃÀ‘Ã@ÃÐwà ;Ã0>Ãð­ð Ã0Ùð/Ã0\ÃpøÃ@•Ã`ËàðÀ7ÃpÃÀ,ð‚à Ãð*À„ÃöðŽÀÃ.ÃÀµÃÀDÃ^Ã.ð‚Ã`³÷àöð Àà  Ãàà ¾ÃP!ÃÕÃÃPªÃP°ÃàñÃð§à #Ã@wÃ…ÃLÃ@•ÃP¶Ã`ÑÃðÃÐAÃà€Ã`<àgÃjÃ0ëÃ`ãÃjÃPžà šÃàñðÿÃÉÃjÃ@*Ã@îÃÀ©ÃÕÃÕÃP!Ãp]Ãð¹à ¬ð#ÃP3Ã0\ÃLðdÃpÈà ”ÃpÔÃÉÃíÃjÃÐúÃP-Ã0åÃáÃPŒÃpòà ¸ÃP9à ¸ÃÏà ;Ãð6Ã^À%ÃÀµ÷ÃpìÃ`H×ÃvÃêà À®ÃðÑÃà˜Ãà!Ã`ÝÃPEÃðÑÃð§ñÃP˜Ãp ÃP°ÃÐkÀ¢À–ÃsðšÃ‘ÑÃP'ÃàÃ…ÃÀ8À Ã@îð¬ÃP¤ÃÀÇÃùÃ`BÃöÃÐôÃ`ïÃÀÓÃ0ÍÃp Ãð0ÃP ÃÐYðšÃÃ@ÃàgÃð0à ¸ÃdÀŠÃp]Ã@kÃàÃÀPÀÆÃ@qëà ¬Ã@¡ÃpÑð)Ã@à ²ÃpæÃpcðŽÃpþÃ0tÀCÃð<Ãànà #ÃÀÇðÿà ˆÃð Ã@ÜàðÃ@_ÃÐAÃ@Yà šÃ4ðçÃÐ;ÃÐGðÿÃ@eÃÕÃ@qÃ(ÃÀ¯Ã…À`!ÃЦ!Ã@à j"ðÕ!Ã@èÙâ'ÃPh!ðvÃð Ã"ÃÆ!à´ ÃÐ#Ã`ú$Ã#Ãð} Ãp°"à p!ÃР"ÃàbÃPë ÀZ"à à ùÃ#ß!Ã`ô%Ã(Ã+&Àã à%#ÀÅ%ÃÒà7 ÃÃmÀã ÃÐŽ%Ã0‹#ÃÀê$à+"ÃàP!ÃÐŽ%ÃO ÃÐ5ðçÃÀ… à !Ãø#ÃPb"ÃUÃ"ÃàV À×"Ã`*ÃÃ@¬$ÃЈ&À×"ÃàÓ Ã´$ÃÐ$ðL#Ã*è&àºðX!Ãðè#ÃР"ÃPå!Ãðdà%àœ$ÀË$Ã( à&Ã@'Ãò$Ã`!Ã0#Ã0‹#ÃPÓ$ÃàÁ#ÃÐ/ ÃPë Ãu$à F(Ãð_%à+"ëÃ0"Ãðô!Ã`!ÃàÁ#ÃàD#ÃÀü!Ã@;"Ãø#à%#ÃàÇ"ÃÐ)!Ã0£Ão%à !Ã¥ ÃР"ðL#ÃððdÀã àœ$À×"ÃàV Ã0£Ã0&ÀÝ!ðÕ!Ãðú ÃÐ$ÃÀê$Ã0!à |Àã ÃÀê$ÃÐ#À`!à á#ÃК#Ã`$Ãp¼ à ^$à |ÃPß"ÃÀü!Ã¥ ÃÒÃ0!à ó Ãp°"ÃÐ/ Ã"ÀõÃPë ÃðY&ÃàP!Ã`$Ãðú ðÕ!ÀË$ÃI!ÀH%ÃÐ)!à+"ô$Ã@MÃ.ÃÐAÃàV Ãp(Ã`k'Ã.à1!Ã°Û ÃÀü!Ù"ÃÒà ˆÃ0 Àã Ãð Ãà¯&ÃPzà ŽÃоÃ`HÃàžÀÃÀ‘à ó Ã`Ãp? ÃUð^ Ãð Ã`• Ã`• ÀÃàbÃPå!à í!Ã`• ÃLÃp? ÃPD'ÀN$ÃPÙ#ÀÝ!ðùàCàÀàCàÆÃÐAà šÃàtÃàßÃàÍ!ÃÌ Ã`§ÃÃ0,à ‚Ã@ÖÃÀÃgðÿàÞÃyÃðÃÐ5Ã¥ÃÀ‘Ã`0ÃPŒÃPzÃPŒÃÐÄàÌÀlÃÆ!à ùÃÀÃ[Ã`*Ã0,Ã`‰"ÃðÃ`›ÃpÈÃ08ÃÏÃ@èÃêÃÉÀ„ÃpWÃ0 à ÃÀÃpWÃиÃ02Ã@âÃðÃ@À„ÃÞÀlÃÐAÃ4ÃÐ;ÃàbÃ`ÝÀÀlà[ÃоëðùÃ0&ýÃð›Ã@YÃ@âÃ@âÀŠÃmÃàÙð‚ÃpcÃÃà ÃàV Ã.Ãð­ÃÀ2à ŽÃ@âÀÃÏÃÀ©Ã0,ÃPë Ã`!à ÃðÃpìÃð•ðjÃÞÃpQÃI!Ã0»ñÃÐAÃàtð‚ÃÃPªÃð›ÃpQÃPŒÃPh!ÀlÃ`­ÃPàaÀà à ¬Ãð³À„Ã(ÃÒÃPzÃÀ©à[àÌÃ0ÓÃÕðÿÃpÎÀ„ÃpoàOÃPŒðßÃ`6Ã@Ã4ðÿÃ0ÁÃÏÃÀ£ÃðÃ0ÍÃÀ à ”ÃàýÃ`ÅÀ~Ã`¹ÃPžÃð<ÀŠÃ¥Ãà Ãð¡ÃFÃàŒÃPýÃ@ÐÃPÃÏà šÃà€ðçÃðw!ÃmÃ…ÃÀ2Ã0¯ÃÐ)!Ãð›à ð^ ÃLÀŠÃpæàÌÃ@ÖÃ0¯Ãànà ²ÃP-Ã`6Ã`*ÃP ÃÀ£ÃÕÃð¿À®Ã02Ãð›ÀœÃð*ÃÀ©ÃP Ãð¡Ã[Ãð•ÃðÃ[à Ãð*àä÷Àf ÀïÃðÃ0ÍÃ@eÃÐÄÀëÃP÷à  ÃðÀ~ÃüàsÃÐ_Ã@Öà Ã@wÃ0ÓñÃpæÃÀ£Ã`ÃPñÀ ÃÐÐÃð‰ðçÃð•ðR"à ”ÃÐGÃ0JÃ0Ã`éÃ@ôÃ`³ÃPÃàýÃ@wÃð*ÃP†ÀxÃÀ&ÃaÃ0JÃàtà |Àéð àgÃÐ_ÃÀ,ÙÃÀ‹ÃpÎÀÃ@îÃàÃÀµÃ`¿ÃàßÃ0¯ÃànÃиÃ¥Ã0ÁàÆàÞÃäÃà÷ÃÃRÀf à=ÃpÔÃ0ÁÃP3Ã`BÃO ÃpÚðùÃPÃP Ãð•Ã0ÁÙÃpQÃaÃ0¯ÃLÃ@ÃpEÃ@_Ã02ÃàýàgÃPŒÃÀ!ÃðƒÃöÃÀµÃàhÃpÂÃPtàÆàCÃêÃÃð|ðáÃÐ/ Ã:ÃRÃPŒÃðÃà€Ã0ÓÃ¥Ã0µÃÃÃ@Ã@ÐÃC"ÃðàIàÆÃ0»ÃðÀ~Ãð‰ÀÃð­ÃàtÃ4àØàØÃ`³Ã`BÃP˜ÃÏÃ@ÊÃÀy"ðáÃð‰ÃðÃ@âÃÞà ÃäÃP€ÀûÃðÃêÃPn ÃàëÃð6ÃäÃànÀéÃÀ… ÃоÃêÃ`Bà ŽÃ`!à Ã`6ÃP€ÃØÃ@G ÃPtÃP’ÃÀ8Ã`$ðíÃ02Ã0hÃÀÇÃ`0Ãaà ÃpæÃXÃÐÖÃ@Ã`6ÃsðdÃPñà šð|ÃàëÃððÃиÃÀÃðà )ÃÀÇÃ@âðvÃ@ÖÃ0»à ÃPŒÃäàØÃ`­Ã@à ¦Ã`­ÃàÃÐeÃgÃànÃÀ£à /ÃpÃÀµÃðÃÐ5à7 ñÀÃàzÃpEÃÀ£ðÃ0Áà ÃàßÃpìÃà†ÀŠÃÞëÃðÃ@kÃànÃ`6Ãð§àCÃyÃ`TÃ@èàÒÃ`HÃ@èà À„À àIÃð$Ã@à /à[ÃpiÀ~Ã0£Ã0VÃàŒàmÃpàÃÐ_ÃÀðÿÃàbÃàÙÃ0©ÃÉÃPžàIÃ@ôÃ:Ã@_ðíÃPýÃоÃ4Ã0µÃàåÃ.ÃàýÃP-ð”Ã`6ðóÃàzÃ@Ã`BÃàtÃpWÃ@qÃÒÃ0©Ã0ÙÃÐ_ÃàéÃÐÜÃà€ÃànÃpoð#ÃsÃð ÃpiÃpÃ``Ãð³Ã@eð‚Ã`<Ãð*Ã0ÇÃÐÖÃ`­Ãà÷À¢À¢Ãð­Ã@ÊÃP÷ðùÃXðÃ@•ÃÀµÃ`0ÃPÃPžýÃÀ… Ãð ÃRÃ`×ÃP’ÃÉÃP¤àsÃ0ÍÃÃÃ`¹ñàðÃ@qÃ`N÷à  Ã0JÃÐeÃð³ÃÀ»ÃPªÃP’ÃPŒÃðà  ÃP!ÃP'Ã@îà  àÒÃLàaÃ0VÃàÃð*à šÃp]À~ÃÐÊÃð¡ÃÉÃÐâÃ`HÃÃÃàÃ0µÃðßà®!àOÃðÃ@kÃÀµðŽÃÀ©ëÃ`Åð Ã0PàÒÃÀ8à ¬Ã0ÓÃÀ&à Ãð Ã`<Ãð¡ÃðÃ`HÀ Ã@wÃPÃ¥Ã(Ã0»ÀÃàëÃp{Ãð­ÃpiÃP!Ãð*Ãà÷Ãð} ÃPn à ç"à=ÃÐYàêàÌÃöÃÐSàÌà šÃ@ÖÃ0µÀÃyñÃðÃ@âÃ`¹ÃÀDÃ02à=ÃÐAð ðpÃ`<Ã`ËÃàñÃ0¯àCÃðÃ`³ÃàÃ0ÙÃ0¯ÃPÙ#Ã` "ÃànÃ¥à ðùÃ@ÖÃ@îÃ@ÜÃÉÃ@ ÃPªÃPªÃ(ÃÕÃð$à ÃpcÃð6ýàäÃð›ÃpÚÃÞÃð$ÃÃàýð ÃÀ>Ã0µÃÐ;Ã@SÀxà ÃÀ&ÃpìÃ0JÃ@SÃ`$ÃpiÃpWà |ÃaÃäÃ@SÃÐAÃ¥ÀÃàåÃðw!ÙÃð*ÃPÃ@qðvÃÉÃÀ»ðÃPýÃPzàÌðÃXÃÐÖÃð§Ã@eÃÐMÃàðÃ`<Ãð›ÃÀ©Ã0¯Ã0ÁÃpQðóÃPñÃ`NÃÕÃPàØÃpWÃ`­Ã@kÃð6ÃðÃ02àÀÃð ÃðÃàñÃP†ÃpiÃð*Ã0»ðpÃàhÃððóà Ã@ÖÃpKÃð¡Ã@SðpÃ`*ÀÃÏàœ$ÃÏð¦àüà…Ãà Ã@îÃp]Ãð•ÃpàÃÐ_ÃXà ŽÃðÀ–ÀÃ.ÃÐ5Ãàñàäà šÃððíð|Ã4ÃàbðíÃp-#Ãp? Ã`³ÃÐÜðíÃàtÃ`ÑÃð*À ÃÀ£ÃPtà[ÃÀ»ÃáÃ@îàêÃàhÃ`$ÃPŒÀÃ0Áð‚ÃðÃpQÀ„÷Ã@îÃÀÃàtÃsÃýð‚Ã@èÃÐ5Ã[àÆÃ@wà ¬ðšàêÃpìÃØÃPŒÃðÃ:ÃÐÜÃ`<ÃÃÃàŒÃÀÇàÞÀ–ÃPŒàUÃPÀ„Ã0ÍÃÃÐYÃà'Ã@‰Ã0ÇÃÀ>ÃP°Ã—ÃÐâÃ0ÇÃP'Ãüà  Ãp{Ã.ÃððˆÃmÃÀDà ”ÃsÃà ÀÃ0Íà ”ðÃ^Ãà˜ÃpþàÌÃ.à 'ÃÀÁÃpæà ”ÃjÃP¼ÃÃÃÃ^Ãà˜ÃÐ_ÃÐÖÃ@wÃÐÜÃ`Hð”ðšÃpÈÃ0©ÃpoÃàªÃRÃ0bÃPðÃÃà #ÃÐkÃ0ÇÃÀ8ÃyÃðÃàÃ0\ÃàñÃÀµÃP!Ã`HÃàýÃ0bÃP¶Ã`NÃ`0à Ã@Ã``à‘éÃçÃà€ÃP°ÃÀÇÃÃÃ¥ÃPÃPÃRýà 5à ÄÃdàäÃPÃðÃ@ ÃÐkÃ@ƒÃÀ>àöÃà†ÃÀ2àmÃP'àÞðóà ÃÞðvÃÉÃÐGà…Ã``ð¬à #ÃÏÃ^Ã@à ;ðˆÃ@qÃ0>Ã`ËÃpoÃP˜Ã@ôà[ÃpàyÃpoÃÃÀµàgà #ÃÐGÃÕÃÃÀÍÃ^Ã@kÃyÃ`TÃçà ¾àsÃÀ»ÃP÷÷à ;ÃÏÃaðùÃ@•ÃÀ»Ã`0Ãð ÃPÃÉðíÃÐÄà ˆÃpiÃ@ÃÃÃPÃpÃ0hÃ0VÃXÃpcÃÏÃ@ÖÃðëÃ0Pà šÃÐÖà šà ”àÀÃPñÃà†ð ÃÀVÃPªÃ^Ã@}Ãð0Ã@qÃP’Ãð›à šÃ0Óð‚Ãð6Ãð<ÃP°ÃpQà )Ã`Zà )ÃpÎ̴̯Ã@_ÃPÀÃð§Ã`ãàmÃpàð Ã0ÁÃ0»Ã0ÍàØàÌÃðÃPýà à ¦Ã`<ð#à #à šàØðpÃÐÄÃ`¡Ã0ÁàØÃÀ>à ”ÃPÃÃPªÃÐSÃpWÃpÔÃ0¯Ã:Ã.à[Ã`!ñÃöÃ0ÇðvÃmà Ã@qà Ãð•Ãà€ð‚Ãà†ÃÀJÃàžÃ"ÃpìÃ0ÓÃpÚàØÃÀ,ÃÀÃ¥Ã`*Ãà÷ÀŠÃÛÃÐÐÃpWà  Ã0µà Ã0JÃ(Ã¥Ãmà  àÒÃ`BÃÀ¯Ãð³Ãmà ÃÀ©Ãð*à=Ã`$Ã@èÃÀµÃÕÃð¡à ÃðÃpiÃ0ÁÃàßÃ0 à ÃLÃàÃð¡ÃpøÃ`¿Ãð§ÃÀµÃÀÃ@ÜÓÃ@èÃ0\ÃàÃ`¿à v à ÃÐGàÀàCàCÀ„ÃÐ_ÃÐMÃànÃPžðŽÃPàIÀÃÐÜÃà€ÃðÃð0Ã@qÃ`<Ã@ÃLÃð$Ã`6ÃÀ©ÃÀðÃP˜ðpÃÏÃÀ©Ãð³àaÃà[Ã0,ÃàbÃÀðˆÃÃÀ>ÃÏÃÉðŽÃgÃÃpà ¦ÃP’Ã0ÓÃöÃPŒÃð§ÃpÈÃmàØÃàÃ@ðˆðˆÃ4àØÃPªàyð Ã@ÃÐMÃ`0ÃP Ã@úÃÃ0ÁÃð<ãÃðHÃäÃÐSð¸ÃðËÃÃÀ&ðÃP’à ²ÃpuÃà†ÃÐYÃÉÃÀÇà…ÃÐSÃ0Pà…ÃÏà ¬ÃpÃ0Óà[ÃÐGÃð*ðÀ¢àÃà'ð”ðˆÃÐÜÃ`ÅÃ0ÓÃsÃàtÃàtÃàzÃPªð/ÃP3àÞýÃXýÃ:ÃÀ2Ã@àsà ²Ã@âÃ0»Ã0»à šÃpÚÃàbÀŠÃpæÃ`éÃ0! à ÖÃöÃð*àaÃÏÃpòÃp]Ã`­ñÃP Ã0ÁàgÃÉðÃð­ÀŠÃ:Ã@ÜÃUðÿÃ`HàaÃp]ÃÉÃpàÃÀ»ÃÃÏËÃpàÃáÃÃ@îëð Ãpuð‚ð|Ã:Ã:ðùÃPÃpQÃð*ðvÃàhÃ@eÃyÃÐMàÒà /Ã0JàmÃÐ_À%ßÃpQÃpæÃpcÃLÃ0¯àOÃð*Ã`*Ã`­ÃðÃP ëÃðÃðÀÃ`• ÃpÔð#Ãð0Àà ÃÀ2Ãð$Ã`0ÃP’à Ãð_%Ãp¤$àÆà šÃ…ÃpQÃaðóÃ0JÃððÃ`$Ã@eÃP˜Ã0»ÃpoÃÀ»àäð ÃFÃ0¯ÃÀÃ`6ÀûàØÃ@ÖÃ0»ðóðçÃð§ð Ã`³àaÃÐMÃPñÃ0¯à ˆàUà ŽýÃÐMÃPýÃ@MÃpKÀûÃÞÃðÃð ÃÀÃ@MÃÐSÃ@kÀÃöÃ`¡Ã0&ÃpWàUÃ@wÃPÃÐÐàmà ŽÃÐSÃPÃ0ÓÃP˜À Ã0»ÃyÃ0 ÃàV àIÃÀ£Ãð­ÃðƒÃ@kÃFà Ã0Jð à à |ðóÃÐ;ÃÀ©ÃÀÙðjðçÃ@ÐÃpÚÃP’à[ðÃð›Ãð*ÃØÃpWÃ0ÇÃ@ÃüÃöðÿÃÀ ÃÐÜÀ¢ð Ã`*Ãð Ã`0Ãð›ÃиÃÌ Ã@èÃÐÄÃà\àIÃPzà7 Ã0‘"ÃÀÃPtÃоÃÐ5Ã@kÃàåÃÀ‹à à7 ÃÐGÀ„ÃàzÃÀÃ:Ã0ÁÃð Ã`• ÃPß"ÃÀÃÐMÃ( à ùÃÐ/ Ãð Ã:Ã0Çðˆà |Ã@Ðð^ ÀÃÛÃ@qÃpæà[ÃÀ&à  ÃêÃð À ÃÀ£à ÃPÃ`0ÃpiÃÐAÃpoà Ã`§ÃP÷Ã`§ÃP Ã@SÀûÃ`¹Ã0ÁÃPzÃð ÃpWÃdÃÐkÃà†à ²à ”ÃmàØÃ0¯Ã@qÃÉÃ:ðùÃÏàäÃPzàUà ”Ãð§ÃPŒÃððdÃPÃð*ÃðÃC"ÃàJ"ÃÌ ÃPýÃ`×ÃüÀÃ@kÃ@MÃиÃ0,ðíà )ðÃUÃ@G ÃÐÊÃ`HàêÃ0ÙÃP Ã`­Ãð$ðùÀ ÃöÃ`$ÃPÃ0Óð ÃÐÜÀrÃ0©ÃpÔÃð•à ÿÃpcà  ÃpÎÃpìðŽÃÐMÃ@YÃ0>ÃÀ,Ã`¿ÀŠÃP†àOÃðÃ@îÃÐîÃ0\ñËÃÀÁÃP†ÀrÃðƒÀéÃ"ÃpÎÃ`¿àCÃ`*ÃPÃpoàaàÌàOÃÐÜÃ@ƒàêÃÃ`NÃPÃàßßÃ`­Ã02ÃÀ&ÃÀ—Ã:Ãð§ðˆÃ`HÃ@èÃÃ08Ùà àgà ŽÃàzÀxÓÃàzÃ4Ã0,àÀÃ02ÃÐGÃÐÖÃ4ðùÃÀ©ÀÃÐÖÀûà ŽÃ(Ãð³ÃPàIà ÃÆ!Ã`6ÀõÃ@ÖÀïÃP˜ÃÀ,Ãà˜ÃÃpQÃ¥ÃàzÃPÃ0,Ã@ÜÃ@ÖÃ0µàUÃà ˆÃpÔðdðçÃaÃpÂà |ÃÀ‘À Ãà÷àºÃ@ÖÃ@wÃ0PÃ`6ÃиÃиÃ0&Ãð*Ã@ÜÃØÃPë Ã@Ä ÃðÃ0DÃ0ÍÃPÃÀ©Ã`<à à ÃÐGÃp¼ ÃpQÀ+Ã@eÃPžÃ`*à /à 5Ã0»ÀéÃ:àÀÃpWÃÀÃ`ƒ#à+"Ã+&ÃPb"Ã@SÃ0—!ð½%Ãp°"à ó à í!à Ï&Ã`k'à%#Ã$Ãðw!ÃP\#Ãðe$Ã`}$àºÃ0"Ã0#ÃðY&ÃàP!ðX!à%Ãðw!ÃÀ['Ã"Ã`§ÃpÂàIÃPV$ðÏ"Àã ðX!à ÃоÃÐ/ Àã à v ÀÝ!Ãðî"Ãà2&ÃÀØ'À­)Ã0…$à%À¿&ðÕ!à+"Ã`}$ÃÀä%Ãi&Ãì)ÃðÄ)Ã1%Ã@¸"Ãp!%Ãp3"è&ÃP>(à ™/Ãp&Ãp3"ÃÀ!ðpÃÐGÃpž%ÃÀ['Ã=#Ãp9!Ãðè#Ã`î&Ã#ÀÝ!à%Ã@(ÃPP%ÃÀI*Ã`Y*ÃÀê$à 'à&ÀÝ!Àf à !ð·&ðÕ!ð:&Ãì)à&ÀH%à Û$Ã0%à%ÃPh!ÀZ"Ã@)%Ãp-#ð@%à1!ÃÀ‹Ãðk#Ãp&à 'ÃðY&àÀÀT#ÃPÇ&À0)ÀË$Ã0!àœ$Ão%ÃÀü!ÀlÃ@A!Ã@#&ÃÀÞ&ÀH%Ãðú Ãðw!ÃPÓ$Ãø'Ã{'Ã0ð'Ãðè#ÃÀö"è&ô$à F(ÃÐ#Ã@¸"ðÃ$Ã=#Ão%ÃPå!ÃÌ ÃÀg%ÃPÇ&Ãà,'Ã( ÃÌ Ã@#&ÀN$Ã` Ã¥ ðL#à ùÃð Ãðô!ÃPë Ã`}$Ã0"ÃÐ'ÃÀö"ÀÝ!ÃÀ‘ÃÀü!Ã` "Ã@¦%àœ$Ã4Ó#Ãðâ$à„(Ã`ô%Ã0 Ã$ÃP\#ÃPÙ#Ã`#Ã0#Ãp¤$ÃÀ"Ã"Ã0…$à®!Ã@YÃÃ`¡ÃpÈÃÒÃ`­Ã@Ä Ã`ú$ÃPn ÀõÀlÃ`ú$Ãp? Ã@ÊÃäÃpEÃиà ç"Ã0,Ã`§ÃàßÃ` "à á#Ã"ÀïÃÒÃð ÃЬ ÃPn Ã#Ã0&ÃP÷ÀZ"ÃÀ ðX!ÃPñÃ@¾!à í!Ãð›Ãð•ÀlàÀÃ0,ÃðÃð} ÃоÃp]ÃPŒÃPh!ÃÀ!Ã0µÃ`³Ã0ÁÃð•ÃÀ‹ÀÃP’Ãð à ‚Ã0PÃ`¿ÃàåÃð à |Ã`Ã0,ÃÞðíÃ@ÜðÿÃÀ àCÃÐ;ñÃsàCÃ0µÃÉÃ@¾!ÃðƒÃÐÄÃpKÃ0»Ã@èÃ` Ã°Û Ã€~ÃÐ;ÃpÎÃ0 Ã0…$Ãp°"ëÃ@ÐÃÀð#Ãp9!ÃPh!ÃaÃpWÃ.ÃPŒÃà÷Ã@ÃpÈÃÃð‰ðpà ÃÐYÃÐÄÃàÍ!Ãðw!Ã[Ã`0À~à v Ã`• ÃUÃðÃàbà ÃÀ!ÃàV Ã.Ç!Ã@A!ÃPå!Ã4ëÃоÃäÃð‰Ãðà ó ÃPýà í!ÃÆ!ÃaÃðÃP€à+"Ã@¾!Ã"Ã`³à p!ÀïÃ@ÜÀ„ÃðÃ%'ÃðS'Ã0¯à šàØÃàtàºÃÀÃ`­Ã ÃàD#ÃPë ÀÝ!Ã`!Ó#à |à Ã0&ÃðƒÃ0>Ã@âÙÃ@MÃ0—!Ãð} ÃиÃ0¯ÀéÃðk#ÃPë ÃàÙÓ#ÃàÓ Ã0&à=ÃÀ… Ã`!ÃÆ!ÃC"ÃàåÃ`›Ãà$Ãðw!ÃàÓ Ã@_ð ÃðÃp'$ÃPå!ÀûÃàtà®!Ã@¾!ÃPP%Ãp? Ãp3"ÀÑ#Ã@A!ÃàëÃ`$à ÿðdà ÿÃ@ÐÃÀ Ã.ðíÃ`¡Ã"ÃЦ!ÀlÃ0,ÃäÃpàÃ0Và ‚Ã°Û Ãp-#ÃàIÃ`³ñÃp¼ ÃmÃ`›Ã`$Ãðú ÃК#ÃЦ!Ãð Ã`$ÃÀÁð|Ã0$Ãð Ã0µàÌÀõàÆÃp]Ã@_àÌÃpÂÃÐ#"ÃÀ ÃpKÃÐÊÃÐ5Ã@ÐÃÉÃЬ ðÉ#Ã@;"ðX!ÃÀ—ÃpWÃÀÃpKÀxÃpÂÃpÂà ˆÃp¼ à®!Ãð} ÃPŒÃ0©ÃðÃÐGÃÐMÃ0hÃ0ÁÃàßà´ ÃÐÄÃPÃÐGÃ0¯à¨"Àïà  Ãð›Ãp9!ÃЦ!Ã0£Ã`¿ÃÐYÃPàOÃÐAà7 ð½%ÃàÇ"ÃPå!ÃàV Ãð Ã=#Ãpž%À<'à%Ãp°"ÃP\#à X%àõ*ð™+à&Ã?-Ã0Þ*ÃW)ð«(à×/Ã0Ò,ÃP£,ÃPµ)Ãð#/Ã0´1ÃÀº,ÃÐd,ð“,à¿3Àƒ0Ãpt,Ã0[+À‰/àã-ÃW-ÃðG)ð™+Ãp’'Ã3/Ã`š4ði3ÃÐR/ð-Ã`50Ã`A.ÃpV1Ã-0Ãð /ÃÐR/ÃP2Ãà.ð/Ãpt,Ã`50Ã`²0ðø0Ã0O-Ã`G-àÝ.ð/Ã@R3Ã0O-àï+Ãð¦.Ã@L4Ãã1Ã@R3àÑ0ÃÐç+ÃN5Ãð#/Ã],Ã@ù,à×/ÃÐç+àr+à ".Ã0U,Ãpë-ê0à 3ÃÐÛ-Ãp€*à 4+ÃÐ^-Ãl0ð-Ã`Ð+ÃP>(ÃÀ%0à 1Ãû-Ãð²,Ãàö/Ãû-àT0À1ÃÀ1.ð/Ã3ÃÐR/Ã0[+Ãà.ÃP -ÃÐL0ÃÈ/Ã`¬1Ã0U,Ã0a*ÃÂ,ðæ3ÃÀ®.ÃÐç+àã-Ã?1Ãðç8ÃÂ,à @)ÃÀ+/ÃE,ÃÐd,Ãû-ð,Ãðe$ÃE,à (-Ã071Ãð/-àï+à (-Ã9.ÃPµ)Ãà+Ã?-ÃÀ=,ÃÐp*Ãpë-Ã`/1ð()À**Ãàê1à ½)ÃP8)Ã*À¡+Ã0Þ*Ã@v-Ãàü.Ã0Ø+ð"*Ãp!%ÃPµ)ð"*àé,à «,À‰/ÃpÍ2Ãð;+Ãi*Ãp€*ð"*ð"*ÃÈ+Ãà‹,Ãp’'ÃÐp*à ¥-Ãð/-ü-ÃÐR/ÃP£,Ãû-àr+ÃÚ(Ã0[+à @)ÃðÄ)ÃðM(à ½)Ã0ö&Ã`‰"Ã@)à ±+ÃÔ)Ãà£(ÃPP%ÃP>(ÃP -àé,À¡+Ãp )Ã@'ÃÐù(ô$Ãi&Ãð#/ð"*ÃÐó)ð+ð-Ãà,ÃðÜ%ÃðÄ)Ãà‹,ÃPÍ%à L'Ã7$À¹'ð4'ð.(Ã@¦%ÃÐ%ðÃ$ð±'Ã@'ÃðÊ(Ã$ÃPµ)à «,ÃP,+ÃÀU(Ãp€*ÃÐí*Ão)ÃPÁ'à :*Ã*Ã0ð'Ã`ú$ÀÑ#à®!Ãþ"ÃÀ['Ã`è'Ã`ô%Ãà8%ðF$Ãð_%ÃД$Ã`e(Ãðô!Ãp-#ÃPÓ$Ã`q&ÃP2*Ãp*Ã0%Ã0s'Ã@”(ÃðS'ÃðS'Ãðâ$Ãì%ô$ÃÀm$ð:&ð+Ã0y&Ã@¾!ÃP2*ÃÀð#Àf ÃР"ÃàÙÃ@/$ÃðÜ%Ã&Ãà&(ð½%Ãø#Ó#à Õ%Ã@¦%ÃàÁ#Ãðú ÃÀg%Ã`e(ÃÀ['Ãà8%ô$Ã0…$Ã@(Ã@MÃu$ÃÀê$ÃàJ"à 'Ã0$ÃÀ Ã@;"Ãðw!ðÕ!ÃР"à¢#ÃÀg%ÃÀØ'Ã$ß!Ãðâ$Ãðè#ÀZ"ÃàÇ"Ã0ü%à Û$Ã0!ÃÀs#à ‚ÃàåÃpàÃð•Ã0$Ã`$ÃP÷ÃÐ;ÃÀ"Ãø#Ãà2&ÃPå!ÃЦ!Ãp-#à¨"ú#à+"Ã@A!ÃUÃà'ÃàÁ#ÃP\#ÃÐAÃðƒÃà>$Ã@;"ÃÒà´ ÃPÓ$Ã$ÃÐ%Ãu$Ãpž%Ã@¸"Ã`§Ã¥ Ã7$ÃÐ5Ã0 Ã`#Ãp˜&Ã`#ÃPñÃ@;"Ã`ƒ#Ã7$Ãðe$Ã`ƒ#Ãð‰Ã"!à |À~Ã¥Ã0&ÃÀ‹ð^ à+"à ó ÃÀØ'ÃÐ$ÃÐ%ÃК#Ã0£Ã[à1!Ãø'Ã`‰"ÃÒÃ@SÃ` ÃPå!Ãp!%Ãðâ$Ã0©Ã1%Ãø'ÃÀÞ&ðX!ðdÃð¡ÀÃUÃðà®!Ãp'$Ã` "ÃÐ)!Ã`• à=Ã0 Ã`!ÀN$Ã.à´ Ãp¶!à$Ãþ"Ã0y&ÃPß"ÃàP!Ãðk#ÃК#Ã`#ÃPtðX!ðjÀZ"Ãp¶!Ã°Û Ã ^$Ã`w%Ã`w%Ã0‹#ðjà v ÃPÍ%Ãp&ÃÀy"à j"à v Ã0©ÃPb"Ã{#àºÃÞÃ`!Ãþ"Ãu$ÃðS'Ãðw!ÃÀ‹à Ã@;"à |Ã°Û Ã@âÃP÷ÃI!Ã`!Ã@A!àºà®!Ã@¸"ÃÐ#"à Ã0#ðÕ!à Õ%Ãø#Ãp¶!ÃàP!ÃC"Ã`›ÃÐ$ÃÀs#Ã"ÃÆ!Ã`‰"ÃЦ!ÃÀ"Ã0$Ãpž%Ãþ"ÃPë Ã:ÃPh!Ã` ÃÀð#à¢#Ãp? Ã@YÃ0©Ã@¸"à¢#à%#Ó#ëÃ0—!Ãø#Ãà8%à p!Ã0"à ‚Ã.ÃàßÇ!à=Ã`!à&Ã0$À`!ÀûÃ"!Ãø#ðÏ"ÃÀ"ÃP€Ã7$Ã`q&à+"ÃPzÃ` "Ã0s'à ^$Ãðq"ðíÃð•ÃàbðíÃàhÃàÙÃpÂÃð} ð^ ÃäßðáÃàÓ Ã  'î%Ã0‘"ÃÀü!ðçÃ@MÃ@ÐÃP÷ÃÐ/ à v Ã0‘"ÃðÃÐ/ Ã02Ã@âÃðÃ@Ä Ã`• Ã0¯Ãp¼ ðíÃäÃP˜ðçÃ@ÖÀxÃàåÃÐÄÃиà p!à=à ^$à ½)ÃÀ‹Ã`³ÃàåðáÃ¥ ú#Ãðô!à®!Ãðú Ã`!à´ Ã0&ÃÐ#"ÃPñÃsÃàtÃ@eÃàhðùÃ`Ã`$ÃÀà ÃpEð^ Ã@A!ÃaÃpiÃ0>àIÃð¡Ã08Ã`›àÆÃÐMÃ(Ãð$ÃàýÃàðR"ðL#Ã` ðàÞðŽÃP†Ã@ôÙÃÀ‘ÃP÷ðóÃР"àÆÃÐÜÃàÃäÃpÂà ‚Ã`¡ÃÀ—Ã`BÃÕÃ`ËÓà à ùÃPýÀÃPtÃÐSÃP÷ðáàÞÃÉàØÃ@¸"ÃPë àÆÃ@ÊðÉ#Ãðw!ÃðÃØÀxÃ0>Ã.ðpÃÐGÃàëÃ0&Ã¥ à„(Ã¥ ÃÀ¯à  ÀœÃ`³Ã0µÃÃ@kðjÃ¥ëÃ0JÀà ˆÃpKÃ`­ÃðƒÃUà Ã`$ÃUñÃP ÃÀÃàtÃÀ©ÃÒÃgÃmÃ`0ßÃÀ—ÃO ÃàhÃP˜Ã08à  ÃPžÃÐÖàÀà1!ÃÐ5Ã`³à Ã`à  ðŽàðÃp]ßÃà Ãð¡Ã`¡ÃàV ÃêÃàtÃ@âÃÀ—ÀõÃpWÃ0,Ã@ÖÃ0DÃð›ÃP ÃpÈð^ Ã:ÃP¤Ã`§à ó Ã@ÜÃÀ¯Ã`6ÃÀÃ@âÃ`!ÃÐÄÃÐÐÃÐ)!à p!Ã0&Ãp°"àÌÃ"ÃØÃÐ5Ãð ñÃPë Ãp¼ Ã0DÃ0©ðÕ!ÀûÃÆ!ðR"ßÃð Ã[Ã@ÐÃP˜ÃPŒÃÀ,À~ÃP÷ðdÃ.Ã`*ð|ÃÐ;ÃЬ ÃPë Ã0—!àCÃ¥ Ãð Ã¥Ã@eà Ã`³ÃP÷ÀïàIðX!Ã@ÊÃ0 Ã`ÃÐ;ÃP€ÀrÃÀÃðî"à ÀéÀûÀõÃPb"ðóÃpÈÃ`0ÃЦ!Ã°Û ÃÒÃ:ÃpÚÃgÃ0 ÃÐ5ÃöÃ@¾!Ã@A!ð‚ßÃP’ÃPýàÆÃ@YÃp¶!ÀZ"Ãp9!Ã¥Ã@MÃp]ÃÀ8Ã(ðçà p!à |Ã@ÖÃàbÃÃPb"ÃÐ'Ã@ÖÃ@YÃðà ÃpQðpÃàbÃÐAÃp¼ ÃpÎÃmÃpÚà Žßð^ ÃÐ#"ÃäÃ`¡ð‚ÃàñÃ0—!ÃðÃ@qÃPŒëÃp°"ÃàëÃÀ&ÃÃà ç"ô$ÃPÙ#ÃÀ!Ã0&Ãp¼ Ãð ÷Ã@âÃ@wà Ùà à ÿÃÐ;àÒðÿÃÀ‹ÃðÃÀÁðÃ`$Ã`Ãð›Ã`<ÃpàÃ0DÃàåÃ@_ÃÏÃ4à+"à ÃÀÃpWÃÐGÃðà ÿÃÀ!à #à ÃC"ÃpWÃp]Ã@_Ç!Ã@ÖÃ0µÃLÀxÃàßÃР"Ã0,ÃÀµÃÐÖÃ`6Ã.ÃpWÃàýÃàÃ4ð|à í!àœ$ÃÀ©ðÃPà ¬ðà #Ã08Ãp]Ã(ðùðíÃ0,ÃÌ ÃpÎÃP ÀéÃиÃàbÃ`ÅÃP Ã:Ãà†Ã@kÃpQÃÐ/ ÃÞëàUÃPýà ÃàñÃ¥ÃP€àOÃP†ÃðÃðÃà€Ã:à Ã0ÙÃ@ ÃáÃðÃgð|à ˆðùð ð Ã`*Ã@âà #Ãð³Ã0‹#à í!Ã0»ÃPýÃ.ÃðÃpàÃ0DÃÐÐÃpÔÃpÔà[à ;ÃFÃ08Ã`¡ÃÀ—Ãðî"ÃÀ£ÃÐÖÃ0JÃð¡ÃÀ¯Ã0&à=àÆÃ`NÃ0>àIÃàzÃ4ðjÃÃ`<Ãà€ÃPÃ4Ã@ÃÀà ˆÃÕÃP€ÃðÃÐ;ÃàhÃÃÃà÷ÃÀÃP ÃpoÃp¼ ÃÐ/ ÃÐâÃFðùðŽñÃ0>à ßÃð§ÃÐYÃpÚÃP-ÃÐÜÃ`$Ãp¼ ÃànÃPÃ`TàaÃÐèÃvÃ0ÓàÒÃðÃÀ ÃÐÊÃpàà ¬àØÃpàÃÉÃpQÃàtÃÀ&Ãð­Ã@ÃÀ&ÃpcÀõÃðÃÀ¯àÃ@úÃàÃÀ&à #Ãà÷à àÞà /ñÃ@MÃÐÐÃöÃÀ&ÃàÃ0\Ãð¡Ã:ÃÉÃ@Ã`³ÃàbÃ@YÃànÃ0Jð|à ¦ÀœÃ"ÃgðvÃÕÃ`HÃ.Ãð Ã0JÃFÃÐâðÿÃÐYÃÕÃ@wàgÃðÃsÃ4ÃÐ/ Ã0DãÃÐSÃ@Ã`¿ðÃ@‰ÃÀ2Ãð*ðùÃpiàØÀ¢ÃàzÃ`<ÃpÚÃànðÿÃ`¹Ã`<Ã4Ã@èÃàÃÏßÃ0ÇÃP¤ÃPžÃ4Ã`ÑÃ`×à /Ã`³ÃöÃÀ»Ã0»ÃpoÃP’àêà ”ÃðÃÐ;ÃPÃP†ÃÐÐà àCÃpKÃàV ÃLÃP€ÃàbÀéÃPÃ0¯Ãð­Ãð*Ã.Ã@Öà Ã@ÖàUÃP’ÃÀÀàIÃP†ðpðçàÌÃ02Ãà¯&Ã`›Ã@úÃð0ÃáÃÐMÃàV Ã`§ÃPýÃàD#Ã@²#à p!ÃpKÃ@ÜÃ`­ÃàßÀÝ!ÃÀ—Ãàbà ‚Ãà˜ÃpcÀïÃ0£ðçðdÃ` "ÃðƒÃà%#ÃÀ!ÃPb"ÃàÓ Ã°Û ÃÐ$ð@%à p!ðáðÿÃàåðÕ!Ã$Ãðq"ÃÐAÃ4Ãð} ÃÀö"Ã@Ä ÃР"ð@%ÃÐ$àCÃÐ/ Ã@Ä Ãp? ÃPß"ÃÀy"ÃÌ Ã ÀÃØà á#Ã`ƒ#ÃàhÃ0ÁÃð‰ÃpÂà í!ô$ÃÀ!Ã=#Ã"ðÏ"ÃÐ#Ã[ÃÀ Ã@;"ÃP>(ß!àCà Ã`• Ã`}$à¨"ÃÀy"à !ÃàÙÃ`w%ð.(Ã0"Ã:à j"à á#Ã@A!ÀéÙÃ0©Ãp? Ã`}$Ã=#ÃPýÃ`¡Ã0£à ÃÀ… ðÉ#ÃÀy"Ã"!ÃÀü!à Û$àœ$ÃÌ Ã[ÀrÀéÃ:Ã@ÜÀf Ã0$Ã0‹#Ã0"Ã@¸"Ãp&Ã](à1!à ðáðÏ"ðÉ#ÀïÃ.ÃÀ—ÃЦ!ÃÀ"ÃI!ÃÐMÃ`§Ã0"ÃÀ"Ã@MÃò$ñÃPýÃЬ ÃPß"àOÃàÓ Ã !Ã0$ÃàÍ!ÃÀ ð”Ã`0ñðjÃàñÃ0µÃpàÃð§ñÃàD#Ã0‘"àOÃ`¹ÃPýÃÐ;àºÃpÔÓÃ08ÃÐGÃ`!ÃàëÀÃ0,Ã`Ãà€ÃP-ÃLÀ¢à )ÃäÃðÃ0¯ÃÐ)!à ˆÀïÃpÔÃðÃgðíÃàbð‚ÃðÃÀ‹ð|Ã:ÃüÃpìÃÀ©ÃpKÃ08ÃäÃÀ¯àÒÃ0¯Ã4ðpÃPÃPtðjÃ0,àOÃ`*Ã`BÃpæÃ0ÍÃ^à[Ã0ÁÀ ÃP†Ã@eà Žà=Ãp9!ÀlÃð¡ÃànÃ.Ã0ÍàgÃÐMðÏ"Ã0 Ã0>Ã`BðˆÃÃÀµÃmÃàÒÃpÎÃÐMÃpàÃð Ã@YÃpàÃÃÃàÃ0»ÃÀ Ã0ÁÃØÃP÷Ã0¯ðíÃð•ÃÀ&À~ðíÃðÃÐâÃpæÃóÃ0JÃ0µëàsÃð§Ã—à Mà‘ÃÐkððdÃðƒÃP!Ã@wÃ0DÃàzðˆÃüà ¦Ã@wÀ–Ãà÷Ã`6ÃP†Ã[ÃàhÃÀ Ã4Ã0ÙÃÐâÃà†àUÃPÃP†ÃP˜ÃP-ÃpæÃàýÃ@qð‚à šÃÉà ˆÃêÃÀ–Ã0>ÃgÃà ÃÃÐMàIÓÃàV Ã@ÜÃ0µÃÐMÀÃFÃÃ0µà ÃP!Ã0ÇÃ@kà #ÃðvÃ0¯ðÃÐÜÃÀñðˆà )Ã0>ÃP€à Ã`NÃFÃÀ2Ã`³Ã0µàOÃ@îàºÃ@ÜðpÃà ÃànÃÀ£ÃpÈÃ`ðÃð¹ðÿÃ4ßÀÃpiÃÃÃPÃ0ÁðˆÃ`<ÃpcÃ@èÃpcÃ`0Ãà÷àÃäÃ"Ãà ÃP ðjðÃÀ>Ã@YðóÃÞÃànÀ~Ã`›ÃÐÄð|ÃÀ&ÃP€ÃÀÃÀ Ã:ÃàŒÃ02ÃPÃPÃ@eÃððÃ"à j"ÃЬ ÃP à ‚Ã@Ä Ã€ÃðëÃ@}ÃpòÃ0»Ãð¡ÃÏÃP÷à7 Ãð¡ÃpuàIÓàÆÃFÃLà šàÒÓÃ`$À„ßàäÃpÚÃ`$ÃÀ&ðÿð ÃPzÓàÌÃÀÀ ÃRÃ@úÃàÃÃÀµÃÀ£Ã02ÃðÃà ðÃðÃÐMÃ0ÁÃà’ÃÃÃ¥ÀïðpÃP˜Ã0PÃð§ðdÃàñÃÐîÃ@}Ãðà í!Ã[àaà ²Ãà÷Ãð‰Ãp]Ã@âÃððvÙ"ðóàÌÃ4àÒÃàåÃ@ÐÃÐAÃð•ÃÕÃ…à šÃ`BÃ@_à ˆÃ`¹Ã@ÜÃP†ÃØÃpÚÃ0»àÞðíÃäÀ–àmÃP˜Ãà€Ã@ÊàCÃЬ ÃðÀàÀÃðÃ02Ã0 ÃPÃð¿Ã0>Ç!ÃÐAÃÉà #ð ÃÐÐÙÃиÃpoÃàÃpìÃÐ)!ðáÃÐ/ à ‚ÃÀð‚ÃóÃÐÃÐkà à ”ñ÷ÀŠà ¸ÃsßÃð›ÃÐÖÃp‡Ã[ÃÀö"Ãp¶!Ã(ÃpQÃÀ‘ÃpÚÃ`• ÃÀ£ÃP!Ã0>ÃàýÃÐMÃà†ÃpiÃ`³ÃÐÊÃ@SÃ`NÃÃ@ôÃÀ¯àÒÃpæÃP†ÃgàÌÃ0©ÃÕÃ0JÃ0©ÃÀ!Ã@G à ÃêÃpÚÃð ðçÃ`BÃÐ_ðçÃ` ðóÃp]Ã0ÓÃÉÃ0DÃ`¿ÃànÀ Ãð›Ã0JÀŠÃpcÃð*àOÃð¿Ã`ËÀÃ.ÃÀÃPŒà )ÃdÃð$ÃPžÃpþà #Ã0Ùà /ÃÐ_Ã`HàØÃð$Ãp{Ã@•Ã`BÃà†à  àäÃÃ@ÃP-ÃÀ©ÃÐ_ÃÐèÃ`ÑÃ:Ãð Ãp]ÃÃÃ`ÑàsÃÛÃð§ÃpoÃpòÀàÌÀ à Ãð6Ã0\ÃFÃ@kàOÃ…ð ÃàtÃànÃ0PÃ`<à ŽÃ0ÁÃsÃð*Ã0,à ÃÐYÃð•ðÃÉÃpæÃÀÃ0ÙÃÃÃP˜ÃpWÃpQÃ"ÃLÃpòÃ0\ÃÀJÃP'Ã@ðšÃP¤Ãàzà ˆÃ`BÃð$ÃüëÃÐèÃðBÃÀ>Àf ÃÀ2ÃÃ0ßÃÏÃpÃ0JÃ@eÃð§ýÃöÃàŒÃFà 5Ãð­Ã0ÇÃÐeÃyÃ0Dà ²Ã0Và ÃÌ ÃaÃà÷Ã`ËÃ@ÃðÃÐGÃÀ ðÃaÃ0ÁÃ`Ã0,Ã0ÇÃð¹ÃÐèÃ@qÃP Ãð›ðóà ÿÃ@ÜÃÀÃ@îÃPžÃànÃpÎÃ@kÃüðŽÃоðçÃ@SÃиÃÐÐÃØÃÀÃpÔÃ0VÃ`fÃ@îÀ„Ã@MðçÃÃÃ@ôÃÉÃð*ðŽÃ`BðíÃÃ0Dð|ÃÀÇÃàýÃ.ÃPÃ`$Ãð•ð Ã@Ã0\ðÃÀµÃaÃ0JÃP-Ã@ÃÃÐSÃØÃ¥àÒÃpiÃðÃRÃð¡à ¦Ã0ÇÃP\#Ã@MàØàOÃpøÃÏÃáÃÀµÃ`§ßð|Ã0ÓÃ`×ÀxÃÐ/ ÃÀ… Ã`ÅÃXàÞÃ0ÇÀÃ0Dà ¬àmÃðÃàñðÃpWëÃÀà )Ãp{ÃàIÃ@YÀ„ÃànÃP÷à |ÃàñÃpcà ²Ã@ÜÃàåÃ@èÀ Ã0bÃ…àÌÃ0ÍðÃàð¬À1ÃÐ_Ã@YÃ`³ÃpøÃà†ÃgÃ@ÐÃP¤Ã`xÃ…÷Ã`ËÃà ”Ã`BÃðÃ"Ã`TÃÐÜ÷ðjàOÃ.ÃàzÃÐMÃ0£Ãð•ÃànÃpWÃmðóÃ@âà ¾àmàÃRð#ÃÐqÃpÚÃ0Áð#à ¬ÃÐÊÃÀ&À–Ãà˜ÃÀ8ÃànÃPýÃêÃÀ,À¢ÃÃ0PðÃPŒà ‚ÃsÃpìÃ`³Ãð0Ã4Àð|ÃpæÃpøÃÀ©Ã(ÃÐâÃð¹ýÀÃÐÜÃÃ@‰Ã0ÓÃpoÃpuÀÃàzÃ4Ã0DÃÀ8Ã@àsà ÃP’Ã`BÃ0ÓÃà ²àöðšñÃà ÃÃÀ,Ã4ð‚Ã`BÃp‡Ãð§ÀrÃànÃàåÃàßÃ@ÃpiàCÃвÃð¡ÃÐqà  ÃP’Ã0ÙÃP˜ÃüÃà€Ã0ÓàyÃ0ÓãÃÐeÃÐâÃÉÃ`BÃ@wÃð¹àyàOÃ[à ŽÃP-ÃFÃðBÃ0ñÃpòÃpæðvÃpÈÃP'Ã0Dà ¬àäÃPÀ–Ãð6ÃàÃóÃÐÖýÃpoÃ0DðÃ0VÃÀ¯ÃP˜Ã`ËÃ`6Ã0ßÃà!ÃdÃÐSÃÀ8ÃPžÀ¢ðÃàÃÐúÃP!Ãð§ÃpþÃà'ÃÀÁÃ0ÇÀð”ÃpøÃðBÀàØàðÃP-Ã@îÃXÃFÃRÃÐâÃ0JÃÐÜÃ`lÃð¿ÃPÂÃà'Ã`TÑÃàÃP¶Ã`ãð”ðˆà  ÃÀÁÃðBÃàÃ@ÃÐôà‹ÃÛð ×ÃíÃðú ÃgÃð6Ã0÷Ã0†à ¾àðÃ@Ãð§Ã:ÃàŒÀà Äð”àÒÃÐôÃðHÃð¹ÃPžÃÐMÃPªÃXðŽÃððóðpÃpuÃ@‰ÃðHÃ@}ðŽÃóÃPžÃ‹Ãð¿Ã0ëÃ@¡Ã`Hà Ã0Óà  Ã0ßÃÐkÃðËà ;ÃPžÃ@}Ãð¡ðˆð¦ð”ÃPªÃP!Ã0\ÃpÃpøÃáÃÐôð Ã`Bà ÃÀµÃÐqÃàýýÃpQÃLÃðÃjÃð0à ;ÃÀ>Ãà˜À7à à ‚Ã02àaà ÄÃÐeÃPžÃRÃà€ÃðÀàgÃ0bà ¾ÃÕð#Ã`NÃ0ßÀ=ðˆÃpcÃð*ÃXÃ`BÃpòà  ÃØðjÃÐeÃ@qÃ@ÊýÃðNÃÀÁÃÀ,Ã@ À¨Ã@eà #Ãpìà ýÃÐÜÃpiÃÐâà )ÃÐâàgÃð6àäÃÕàmÃðÃLÃ`<ÃLÃöÃ`¿Ãð6ÃPªÃ0PÃ0\Ã|Ã@ÃÃð¿ð¬Ã@kÃäÃ@èàaÃ`Zà…àêÃÐGÃ`×Ã@îÃpÚàäÃàÃpoÃàtÃÐôÃüÃàbÃPÃ`ÅÃð³ÃðÑËÃð$Ã0ÇÃP¤ÃpþÃLÃÀÃyÃp]Ã0ÓÃFÃ0DÃ^ÀÃvÃpþÃ`NÃ0ÍÃPzà #ÃáÃÀJÃ4ÃÉÃPÃÀÇð5Ãsà šÃ0Và )ðÃgÃ4À+Ãð*ÃpìÃpQÃ`¡Ã`0ÃÐ_ÃöÃà÷ÃpcÃ02Ã`NÃpìÃ0¯ÃÐSÃ.Ãà÷Ãð§Ãà÷ËÅàUÃPªðÿÃ:ðÃ`HÃÃpuÃ@Ãà€àÒÃ`­ÃÀ&ÀŠÃвÃÀÃð›Ã0JÀœÃàýÃpuÃjà ¾ðÃp{ÃÉÃÛÃPÃÐâÃ`ÅÃ0ÁÃpoÃ0>ÃgÃüàöÃðÅÀÃpæÃpWÃÐkð)Ã`TÃ`Bà šð‚Ã@ÃÐÄÃPÃ08ÃP¤ÃðÑð#Ãð0àmßÃàýÃ`¿Ãð6Ã@ÃÃ@kÃÛÃðà šà #ÃàtÃFÃð$ÃP¶Ãàà Žà Ã`×ÃàzÃðÃ`<ðÃð$Ãà÷À ÃÀJà AÃÃàUÃ0ÓÃà!ÃPÃàbÃà /ÃÐqà ”ÃaÃpcÃP¤ýà[ÃÀ ðÃpøÃÏÃ^ÃP-ÀrÃ(ðíÃÉÃ@•Ãà ðšÃ@ôÃ`H÷ðvÃðÃð”ÃÐÜà ÃÃ0ëÃðHÃÃ@Ã@úà ¸ÃpþÀ´ÃðBÃÀ»ÃáÃ@ƒÃêðvÃÐ_Ã0Và‹À+ÃàŒÃð­àêÃRÃpÃ@Ã08ðŽÃàŒÃ`ËÃÐ_ÃÏÃÀÁÃÃP°ðàyÃ`TàIÃð*ÃÐúðpñÃààöÃ0Pð Ãð*Ã`HÃ0tð#Ã`<ÃÀ£Ãsà /Ãà÷ÃPªÃà Ã`0ÃP ÃpWÃ@_ÃÐÖÃsÃ@úÃpKÃ@Ãð¹Ã@ÃÃ^Ã`¿Ã0bÃŽÃð×Ã`BÃà÷Ã`<ÃPÃÀ£àðÃà’ðšÃ0åÃÃàÞÃÀÃ0Çà ¬ÃÐâÃ0Í÷Ã`*ðÃO ß!ÃPV$Ã`¡ÃÀÃÐSÃI!Ãðq"ÃgÃ¥ Ãðe$à7 Ã@YÃðÃ0ÇÃÐ#Ã&ÀÑ#Àf Ã1%à+"ðÉ#ÃÀö"Ã@/$Ãp(ÃPÍ%à Õ%à&Ãà'Ã0%Ãp°"ÃÀU(À§*ð½%ÃД$Ãp3"ÃPß"Ã`‰"Ã`Ü)àr+ÃÐù(ÃðÖ&Ãi&Ã)Ãðe$à–%Ã7$ÃP>(Ã`è'Ãà+Ãà&(Ãp )Ã@)Ã`î&ÃÐó)ÃÀØ'ÃÀU(ð"*ÃàD#Ãðè#Ã0g)Ãð5,ð·&Ãðk#à L'ÃÐÿ'ÃÐŽ%Ãà©'Ã`S+ð¥)ÃÐ|(à ½)àx*àã-àï+Ã0ê(à +Ã0Þ*à ±+Ã`Ö*ÀË$ÃPJ&ÃP>(Ãþ&à Ï&Ã*à (-ÃÎ*Ã`;/à +Ã@š'à&ÃÐ/ À¿&ÃÚ(ÃÐŽ%ÃÂ,à Ÿ.à ·*Ã@²#Ãp'$ðX!ÃàÇ"Ã+&ÃР"Ã@¦%Ãò$ÃÐ &à$Ã0ð'ÃÐ'ô$ÀN$Ã`‰"Ãò$ðL#ÃðY&Ão%Ãà»$àx*Ão%Ã`k'Ãà—*ÃP»(à Õ%Ã`q&ÃP&,À**À6(ÃPÍ%Ãà2&Ã0ü%ÃК#Ãp )Ã](Ãp&à L'à á#Ãð_%Ã0s'Ãp&Ã`â(ÃP\#Ãðî"ÃÐŽ%Ã0ê(Ã@”(ÀÑ#Ãðú Ãðâ$Ã@(Ã@”(ÃPP%à´ Ã0%Ãpz+à ±+Ã`q&Ã(ÃðS'àr+Ãæ&Ã0#Àã Ã@¸"ð·&ÀË$ÃPß"Ã@/$à%Ãø'ðÉ#Ã0"ÃД$à Û$ðF$Ã0ä)À6(ÃðG)Ã&Ã0‹#ÃàÇ"ÃðM(ð@%Ãp9!Ãð_%ÃÀØ'Ã@;"Ó#À¿&ð±'ðÉ#à¢#Ã@#&ÃðM(ÃðG)ð¥)à)ÃPJ&Ãu$ÃI!Ã0ü%Ãà£(Ã` "Ãp¶!à %ÃÀg%ÃðÖ&Ã@¸"Ã`0Ã=#ÃPP%Ã@š'ô$ÃØàIðR"ÃÀü!àœ$Ã` "Ã0—!ÃÐ'Ã1%ÃPV$À¿&àŠ'Ãðâ$Ã`ú$Ã@)%à R&ÃPn Ã`!ÃðƒÃ#Ãpž%ÀÅ%ðL#ÃPP%ÃЬ ÃÆ!Ã=#ÃЂ'ÃÀ"Àã Ãp'$ÃðS'ÀN$ÃвÃàÙà v ÃðÃ@Öà j"ðÏ"ðóÃp-#ÃÐ)!ÃÐ)!ðL#ÀT#Ã0‘"ÃPtðL#ÃðÇ!Ãþ"ÃЦ!ÃÀà v àºÃ à$ðF$Ãðe$Ãpª#ð^ Ã:ÃиñÃ"Ã0!ÃPÍ%ÃÀ!à7 Ãp¼ Ã@MÃÀg%Ã`ƒ#ñÃPå!à1!ÃР"ÃàåÃPýÃ0¯ðvÃð Ãð} ÃÀs#Ãì%Ãðô!ÃÃPñÃ` "à p!Ãp9!Ã`ƒ#à ^$Ã{#Ã`!à ó Ã`HàIðR"ÃÃ"ðdÃpÎÃ`*ÃàIð‚ÀÃЬ ÃÐ)!ßÃpÂà Ã`0ÃPÃÃ0DÃ@kÃ`Hà ÃànÃÀ©ÃÐYÃàßÃ0!ÃpÂÃ@MÀÃP ÃðÃ0»ÃðÃ@âÃ@¾!Ã0&ÃÌ ÃpÔÃð•ÃÀÀÙðÕ!ÃPñÃÀÃð›Ã0DÃLÃàåÃÀü!Ãвà ùÃÐGàÃíÀŠà ˆÃpWÃpWÃÀ£ÃP†Àã ÃpÂÃð0à  ÃàßÃ`• ÷ÃÀïÀlðóÃÐ5Ã`$ÃÀ—ÃÀ,Ã"Ãð‰ÃàP!à ÃÀ»ÃðÃRÃ$ÃØÃ@îÃêÃpcÃÀ!ðpÃpÚÃð­Ã@ÃpÚÃaÃÞÃpKÃàV Ã:à[à |Ã@MÃðÃ@âÃ`¹àmÃ:Àûà ÷à Žà ŽÃàëÃÀ©Ãçð”à´ ÃaÃиÃ`­Ã@ôÃPžÃðàÒÃFÃàðÃÌ Ã°Û Ã`³Ã0PÃ`¡Ã@Öà ÃðÃ`*ÀûÃà÷Ã`­àØÃÐèÃà ÃÐMÀûÃ0Áà ˆÃиà  ðÃ@âÃ@kÃPÃP÷Ã`!ÃPŒðíÃÀ‹ñÃÀ àÌÃPŒÃÐÖÃ02àÌÃð Ã0!Ã`§Ã`HðˆÃð} Ã`¡à ‚ð|ÃиÃPÃmà ÿÃÃÃ`HÃÀ©ÀœÃ`¿ÃÞßÃð*À~ÃÀ£ÃPŒà´ ÃÒÀïÃp]ÃXÃàëÃÀ‹àgÃ`­ÃPàÞÃ(Ãð›ÃÐAÃ.ÃpWÃ@âÃðÃàtÃPÃ`¿ðvÃ`³Ãàýð‚ÃÞÃPÃ0DÃ0ÇÃàzÃPtÃ`¡ÃÃð”Ãà+"ðóàÒà |àÌñÃ@S÷Ã0ÁÃ`ËÃÃàCÃU÷Ã`¹Ãà†Ã`„ÃÒÃ02Ãð•Ã(ÃpÈÃðÃ@ÐàÆÃêÃäà ÃвÃpÂÀf ÃÀÃ@èÃP€ÃиÃàÓ Ã€„Ãàtà ùÃÀ‘à ‚Ã`¡ðjÃp¼ ÃÛÃàýÃ0»ðvÃ08ëÃ02Ã@_ÃP¤ðšñÃØÃ0>à àÒÃ°Û ÃÀà Ã0©ÃpKÃÐAÃp3"ÃpKßÃ`*ÃPtÃÀ ÃÀà  Ã@eÃÞÃ@ÃpÎÃ4ÃpWÃ`­Ã0>Ã0»Ã¥Ã0>Ã@qÃpàÃàåÃ(Ã`<ÃàëÃà€Ã0%Ãi&ÃmðíÃÐÖÃðdÃ0,àÞÃXÃ0ÇÃ0,ÀûàCà )Ã:ÃöÃÀ à ‚àCÃP’Ãà†ÃpæÃð­àaÃ0 ÀlÃ4ð|àCÃ0ßÃp{ÃÀ!à p!Ã@ÐÃ0µðvÃpàð ÃXÃ0¯Ã@MÃàÓ Ã ÆÃ0bÃP’ÃàzÃ0µÃànÃð›àUÃÒÃ@5#Ã0©ðÃÀ ÃaÃp]ÃÏÃÀ¯ÃpòÃpæÃgÃ@kÃp]Ã08Ã`<Ã`ÝÃ@ôÃðàOÃ@ÜÃP!ÃpòðíÃ0&ÃaðvÃàzà ŽÀÃàmÃ@úÃ(Ã`¿Ã`HÃPÃ@Mà ÿÃ`§ÃÀÃ@_ÃLÃêëÃ@îÃR÷ðùÃà\Ã0ÇÃ0»àIÃ[ðpÃpiÃÐÖà[ÃpKàÆÃpàÃÐGàØÃpàà ŽÃÕÃÉÀÃ@A!ÓÃp]ÃPÃÀ>ÃpæÃPžðÃP€ð|ÃÀ—ÃÀÀ~ÙÃP˜Ã@kÀlÀZ"Ãp3"ÃЬ À„Ã`TÃ¥Ã0>ÃPýà šÃиÃpÈÃ0µÃ`NÃpøàUÃaÃàÓ Ã p!à ‚ÃPå!Ã0 ðóÃ4ÃÀ&Ã0»ÃðÃð‰ÃàßÃ`¹Ãmà šÃàßàCÃPÃP ðÿÃ`ÅÃpìÃ@wð”ÃÐGÃLÃ0JÃÐSñÀéÃð Ã`¹ÃPŒÃ@SðùÃ`0Ãð•ÃO àCÃ0!Ã@ÖÃ^ÃàŒÃÐÖÃàåÀrÃPÃ:ðáà v ÀrÃp? Ã@ÜÃÃ0 ÃaàÞñëÃàÓ ÃÐGÃ@eÃà†ÃpiëÃ[à ‚÷àÒà=Ã4ÃpÂÃPÃÃà šÃÐMÀxÃðÃ0DÃà€ÃÀ©Ã@Üà ÿÃЬ à |ðÃ$ÃPß"à´ ð^ à ˆÃ.Ã[ÃpÚÃ.ÃàhÃ[ÃðƒÃàD#ÃpÎÃà\ÃPß"Ã@ÜÃ08À~ÃàhÃÀðóðíÃÀÃ`›ÃàåÃC"ðvÃÀÃðÃ7$Ã`*à šÃÞÃ0ßà Ã¥à ùÃPzÀ ÃÐMÃø#Ã02Ã@ÃÐSÀûà ÃaÃðƒÃÐ5ÃÀ‹Ã ÃPzÃÃpÚñÃp°"Ã@ÜÀà ˆà ¸ÀÃÀ£ÃàbÀrÃp? ÃÀ‘ÃÐ#"ÃÞÃ0VÃpiÃÐMÃ0»Ã`*Ã"Ã08ÃpàÃàëÀéÃð•Ãð³Ãð¿ðÃànÃ@Öà+"ÃÐ/ Ã@YÃI!Ã0,Ãð›ÃO Ã`›Àf ð^ ñÃÀ¯Ã`­Ã(ÃFÃPà šà=Ãp? ÃÀ—ÃpæÃ`$Ã0&À„ÃêÃpÎÃÐ)!Ãðô!ÃPzÃ`³ðíÃànðÃÐqÃÐGàÒÃ"Ã`ËððvðíÃð•ÃPŒÃ[Ã@_ÃP†Ã`<ÃàtàÒÃUÃÐ)!Ãð›Ã@îÀrÀã Ãð•ÃÐeÃ@ÜÃPå!ÃЬ ÃÐÄà #ÃÀJÃ¥Àf Ã(ÃàñÃànÀ`!ÃO ÃàhÃpoà /à ÃÀ,ñÃäÃ@kÙÃð} à v Ã@ÃpìÃpKàCÃ`• ÃpcÃÐwÃÀ¯àCÃP÷à šÃmðÃÐÜÃP†à ²ÃpøÀŠÃmÃP÷Ã0ÁÃð•ÓÃFÃ0,ð|ÃðÃ¥à ¦ÃÀ ðùÀœÃpìÃpìÃÀ¯Ã`HÃ@Ã0Áà #Ã0¯à Ãð*ÃÐôÃÀñÃÐÖà )ÃÏà ŽÃ¥À–ÃðÃP€ÀûàOÃ`¡Ãð*Ã@_Ã`0ðpÃØà7 Ã@âÃRà ùÃÀÃPŒÃp9!Ã@ÐÃÀ»Ã@eÃPtÃðƒÃð¡à ”ÀÃP÷Ã`¡à Ã`$ÃÐ$ÀlÃ@ÃÐ/ ÃpÂÃPñà ˆÃPn ðÕ!ÃêÃ`³Ã@SÃÀàÌÃ0 ÃÀlÃàP!ÃP†Ãð§à ÃUÃð•ßÃоÃðà |ÃÀ—àºÃð à ‚ÃÀÃÞÃ@ÊÃÀÃ@G Ã@/$ÃÐŽ%ÀrñÃ02Ãà\ðáÃÀ à ˆÃÐÊÃ@SÃ@A!à v ÃÀ©Ã@¬$ÃðÄ)ÃÀ… ÃPtÃ0\àØðL#Ã` "ÃÐ5Ã@A!Ã@âÃ@ÖÀõÃà÷Ã4ÃP÷Ã08ðÃÀ£ÃÀ&ÃÀ©ÃÀlÃ( ÃPzÃðÃêÃPtÃÀà à v Ã¥ÃðÙÃЦ!ÃÐGÃ0JÃPÃ`• Ã¥ à¨"ýà ŽÃÀßÀéà ó ÃàßÃPñÃоÃ@ÐðáÃàP!àÀà[ÃÉÃÌ Ã°Ï"Ãp¤$Ãð} Ãà€Ã`<ÃäÃÐ)!Ã0—!ÓÃð›ÃðÀõÀéÃàÃ^ßÃЬ à Àrðùà í!ëÃäÃ"!ÃP€ÃUÃð à í!Ãp-#ÃÀ!à !ÃPh!à%#ÀõÃðî"ÀxÃÐ;Ã@G Ãð Ã02À×"à1!Ã°Û ÃÃàñà Ãð ðÕ!ÃÒÀéÃÐAÃ(Ã`­ÃaÃ¥ Ã@ÐÃPzßà´ Ã02ÃÀ—Ó#ÓÃ`!Ã@âÃpÎÃ:Ã0 ÃÀê$à ÃpÔÇ!ÃÌ ÃÀ!ÃgÃ@ÖÃ`• ÃPb"Ã@Ä ÃØà ŽÃÃÀ‹à´ à í!àÀÃ`³ðpà ˆÃ( ÃpWÃà÷Ã@¾!Ã@kÃP€ÃàÙÀõÃüÀÃP€Ãð›ÀxÃP\#à ”Ã@ƒÃàñà¢#Ãp¼ Ã0 à7 ÃP€ÃànÃÏÃPzÀZ"Ã0—!ÃÀ‘ÃиÃäÃÐSÃP’ÀûÀ Ã`!Ã0 Ã`Ãð›ÃpÔÃI!Ã0!Ã0>ÃÀ8à Ã@YÃ0ÍðÃ@ÜÃpàÃàP!ÃÌ ÃÀ—ÀÃ08ÃÃÃ08Ã@ÖÀÃ@qÃ¥ÃÀÃsàUà ÃPžÃP€ÃðjÃð›ÃÀ—à$ðÕ!ÃÐMÃÀÃP€Ã0,ÃàÙÃð$ÃP’à Žà |ÃиÃÐ5Ã0©ÃàåÃÐÊÃPÃвÃ0‘"Ã¥ÃPýÃ0µÃ@âà šÀã ÃðÃð$Ã`<Ãð­Ã@ÜÃ`0ÃÐMÃ0JÃðà ó ÓÃÃÀ¯ýÃØðíÃÀÃ`§ÃððóÀûÃ°Û ÃP÷ÃPŒÃ`!Ã0#Ã4ÃpoÃöÃ0PÃðÃpÎÃ`$ÃP˜ÃPŒÃðÃ`¡ÀÃÀ&ÃÐÐÃ`§àÌðvÃpþÃ`ÝÃ0,Ã0µÃ0µÃpQðÿàÆÃFðˆÃðÃàbÃиðóÃPžà šðÃ@_Ãp]Ã0µÃ`³ÀûÃÉà ŽÃÞÃàñÃððÀ Ã`BàöàäßñÃànÃ`BÃ@èÃð•ð|àäÃð¹ÃÃ0DÃ0\ÃP!ðˆÃ¥Ã`*Ãpæà šÃ0ÇÑÃ`ÑÃ`<ÃÀ&àêàÃ@}àðð‚ÃPðÃP-ÃÐÖÃÀ—Ã`*Ãð ÃànÃ@ôÃðÃð‰Ã¥ÃP†ð‚Ãð›Ãà€Ã@îÃÀ,Ã`¹Àð‚ÃÐÄÃ@YÀÃpQà ŽÃ:Ãð$Ã@wÃðÃà\Ãв÷Ãp“à Aà  ðóÃ0»à šÃ`6ÃàhÃÐ5ÃànÀ–àaÃ0ÙÃ4Ã@eÃÐÖà1!Ãðî"ÃÀ… ÃÐÐÃ@à šÃ0&à=à[ÃP'ÃÃðíÃðÃÛÀ=àsÃàåÃ@âÃÀDÃàŒÃpcÃ¥Ã`ÅÃPÃLÃÀ>ÃÐÄðpÀlà7 à ÃÀµÃ:Ã0ÙÃð§ÃPzÃ@_ÃPýÃ`¹ÃpÔÃPžÃð0À~ÃðÃ0>ÃÐÐÃPýÃ@SÃÀ&Ãànà ‚àIÃpæÃà†Ãpì÷Ã…Ãð¡ëÃpQÃðÃ.Ã0,Ã0 à Ã`¿ÃàžÃ0>Ã4Ã0£ÃÃÃ@_ÃàtðóÃ`6ýðÃ02ÃàëÃ`0Ã@èÃLÃàñÃ4Ãà\ÃÐÜÃ@ÃàýÀÀÃP!Ãð$ÃP†Ã0£ÃpWÃP˜Ã@Ãð•ÃpiÃ`*Ã°Û Ã°óÃöÃäÃp'$ÃÆ!Àf Ã"ÃP ÀûÃоÃ`*ÃÀ,Ãð¡Ãöà ¬ÃPžÃ.ðíÃüÀàOÃð•ÃpQðíà šÃ.Ãà’àmÃ.à ÿÃpWðÃ0»Ã@ÐÃ4ÃpÚÃ`<ÃÐÄÃК#ÃPD'ðóÃP’ðóÃpQÃÐâàmÃ@âÃ`0ÃÀÃ`$Ã@ÊàÌÃÀµÃ`ÅÃàhà |ÃÐMÃàzðáà ÀrÃp¶!à+"ÃÐÐÃ`³ÃpEÃ0 ðdÃÀ—Ã`¿ÃpKðX!Ã( ÃÐMÃàbÃÀ‹ÃÒðçÃ0&ÃÐAÃðÀõÃàbÃ@ôñÃоðŽÃpìÃðÃP€ðvÃ@¾!ÃÀ—ÃðÃP'ÃP’ÃðÃÐ;Ã@_Ã0µ÷ÃPÃP÷ÃàbÃÐ;ÃP’ÃиÃ`­Ã`0àÞÃöÃоÃÀ‘ßÃ¥Ã(ÃàhÃp? ÃоÃÀ!ÃÆ!Ã`0ÃÀÃð•ëÃpòðŽÃ`¿ÃFÃ0µÃ4ÀÃÐGàÀÀûÃðà ç"ðvÃpÎÃðÃÐ_ðvÃð} ÃÀàaÃ`6ÃPn Ã$Ãà\ñÃðÃP˜ÃØÃàP!ÃànðˆñÃàbðùðóñÃÀDÃÃpÚýÃÞÃà€ÃpàÃPÃ0¯ðjÃÐÄÃ0¯Ã.ÃsÃP÷ÃPýñà à1!ßà Ãp? Ã` "àÀàOÃäÃO à #Ã`ËÃðÀûÃPÀŠàI÷Ã0©ÃÐ%Ãðw!ÃPðÃÏÃÀ‹Ã@A!Ã@eÃð ÃêýÃ`¹Ãð*Ã`ËÃgÃð›ëÃàbÃPýÃÀ‘ðvÃ@kàØÀÀ ÃðÃànÃ0µÃÐSðÿÃ`¹Ã0Çà /ÃðÀÃðà=ÀûÃÀ8ÃÐSÃð*Ã`­Ã0µÃ@kÃð•Ã`BÃ4ÃÃ(Ã02Ã0»à Ã`HÃpuà ÃÐAÃPÃ0ÇÃàñà ÃоÃØðpÃp]ÃðÃRÃð*ÃÛÀ~à ÿðóÃPÃÒÃpÂÃ.Ã@âà  ÃáÃ`BÃUÃðÃÀDÃ0PÃÀ‘Ãðƒà ‚Ãà÷ðvðÿðˆëðóÃàV à p!Ãðà ¬Ã4àCà=ÃÐÐÃÃð¦àsÃP˜Ã`BÃ0VÃ:ÃÃàJ"ÃpQÃXÃ`ZÃ@à 5Ã@ôÃPÃ0VÃsÃ`³ÃP˜ÃíÃ:ÃàÃÀ Ãàýà ÃüÀ„ÃÐGÃ0»ÃðÃÀ»ð ÃÀ àÞÀõÃ"!ÃÀ©à ÃÀ»Ã‹Ãð³ÃP’àOÃÀ… ÃÐÊÃP’ÃÀ8Ã@}ÃðÃ08ÃÃð ÙÀðˆÀÃàñà ÀõàÆÙÃànÀ„à Ã@kÃpìÃ`ÑÃPŒà ˆÃpàÃP ðÿÃpìÃP÷ÃàëÃP'Ãð¿ðÃàzÃà†Ã@YÃ@ÖÃàåÃð*ÃpQà |ÃÐÜÀàäà šÃpWÃP†àyÃpñÀã Ã`¡Ã@¾!Ã@YÀ ÃÐÐÃ`6ÃðÃÃPå!ÃÀ‹ÃgÃaÙ"ÀrÃ@ÖÃpÈñÃ`6Ã`0ÃÐÄÀ„à ÃÐÐÃP†Ã@YÃà>$à |Ã.ÃjÃÞÃ( Ã0DÃ08ÃÐÊðáÃÀ… ÃpÔÃÐÜÃ0»ÃpQÃ`0àOÃàtàÌÃ08ÃðÃ0>ÀÃÐAÃpÈÃP€ÃиÃÐÄðŽÃ`*Ã`›Ã0 À~Ã08ÃàñÃàOÓ#Ã0‘"ÃC"ÃÐAàÀÀûÃð•Ã0Óà ¬ÃêÃpÚñàmëÃ:Ã( ðjÃ@wðÃ@MÃ@YÃàåðóÃЬ ÃO ÃÀ&Ãàzð|ÃaÃPë ÃÐ5ÃÐAÃpàÃsàÒÃÐÊÃÃÃÀ&Àã Ã`}$Ã[à å Ãp3"à ÿÃ4÷Ã`­Ã0 ß!ðjð Ã@eÃоÃ@èÃ(à=Ãð›ÃàßðáÃàÓ Ã`0Ãà Ã`6ÃðƒÃ"!Ãðà ÃÐÜÃpWàºÃP’ÃgÃð‰ÃÀ‹Ã`!Ã` ðóÃp? ðpÃàP!ÃðÃ@MÃ`­Ã@èÃpæÃàßÙ"ÃиÃð¡ÃðÙÃðà ðçÃ`§ÃäÃÐÖÃà\à ˆÃ"ÃàtÃ0VÃP˜Ã@ÐÃp9!à ÃP ÃpWÃO ÃàD#Ã@¸"Ã0©Ã[ÃP€ðÕ!à%#ÃÉÃÐeð|ðš÷ÃPñÃPzñÃ@ÐÃÀ—ðˆñàUðóñÃÐÊÃðíÃp? ÃPn Ã@_Ã08ÃÃ.Ã`*Ã`³à ˆÃp3"ÃàÁ#ÃðÃ@èÃðw!ÃоÃÀ©ÃÞÃ`³ÃЦ!ÃàëÃðÃpÂÃ02Ã`³ÃànÃpÎà ðpÃÀ—ÃsÃ@Üà=Ã"ð|ÃpcÃÃPŒÃpæÃÐMÃpÂÀõÃ@âÃà†ÃàßÃðÃ(ÃPzðíÀxÃpàÃI!Ã`§Ã0,à v Ã`³Ã@qÃPŒÃÐMÃð•Ã@qÃÀÃÐÜà #ÃÐAÀÃ``Ã`ËñÃÐ5Ã(ÃÐYÃüà šÀÃÉà ÃpòÃ`6ÃsÃP€ÃàßÃð‰ð|ÃоÃpàÃP¤Ã@ÃPëÀïÃ02à ùÃ@MÃ0ÇðÃÐYÃPýÃFÃüÃÀ8Ãp]Ã`0ð|à ”Ã:ÃP€Ã`¹Ã0µÃ@ÜÃpìÃ`TÃÀµÃÀà´ ÃÀÃÕà ÃÀ… ÃP÷Ã.ÃpiÃ`Ýà Ã@SÃ@_ÃÐ_ÃpoÃÐGÃ`HÃÐÐÃÀÃðà ¸ÃXà |Ã0 ÃÃÀ2ÃÐGÃ@eÀ àÒÃàåÃ`6ððíÀàêÃиÙÃ0VÃP!Ã0åÃ0nëðÀûÃ@YÃsÃPžÀ ýà 5ÃgÃP¤Ã^ÃÀµÃ0ÍÃPÃðÀrÃ(ÃàzÃÐSÃ0»ÀxÃFÀ–àaÃÐMÃÐâÃ@úðóÃ0 ñÀÃÀ¯Ãð­ÃPàaÃ@YÃ@wÃàŒÃð›Ã@îÃRÀÃð$Ã@G à´ ÃàýÃÀÃ@ÐÃP à Ã@Ã0>ÃP'Ã@àaà=àÆÃð›àaÃP†ÃÐèÃÀ8ÃоÃ@kàêÃàzÃ`NàmÀÃPÀrÃоÃpÔÃpiÃÃÃ[ÃpàÃ02ÀõÃFÃgÃPà Ã08ÃpøàUÃäðÀõà ˆÃоú#ðÕ!ÀïÃPŒà ÃP†ÃànÃ02Ãðàðà[Ãð•Ã0µÃPŒð‚ÃpQÀrÃà†Ã@YÃPýÀûÃP°Ãð¹ÃPÃ`<ÃÐSÃÃpÂÃPå!Ã`0ÃÀ2ÃÀ&ÀÃÀ¯ÀrÃ`³ÀÃ"ÃÞàÞÃ@ÜÃÀÃоðvÃ`6ðóÀÃpcÃàzÃ@ƒðùÃ@SÀ„à[à ¸ðÿÃ`§Ãà÷ÃP€Ãð$ðvÀrÃ`*Ã0>ÃÐYÃpÚÃàtÃ[ð^ ð|ßàÆÃ`$ÃPýÀr÷àIÃÐÄÃpààÒàÒÃð àÀÃ0 àCÃpÂÃ¥Àà ¦Ãð6ÃÐôàUÃ0ÍÃ@èÃ4Ã:ÃPªÃPÃ0©ÃÐ;àÞÃ`<Ã`¿Ã0JÀÃ`BÃÐAÃ@YÃÀ©ÃRýÃðÃðÀÃ`§ÃFÃÀ‹Ã[ÃÐÐÃ`6ÃPž÷Ã0ÇÃÐSÃPÃ@YàaÃ0"ÃàJ"ÓÃð•Ã`§àÀÃP†à  ÃÀ2ÀàÀÃ@A!À×"ðçÃ0&ÃPn ÃI!ÃÀ‘à Ã@îÃÀ£Ãàëà ÃP'Ãð0ÃðÙðóÃFÃpøÃ@‰Ã`0ÃpWÃ`×àÃð›ÀxÃðÃ`¿ÃÐ_Ãð§Ã@wÀõÃpÚàUÙÃ`*àÀÃÕÃ`BðpÃ.Ã4Ã`ËÃÃðÿÃ`*Ãð›àmÃààöÃÃ`¿ÃÀ¯ÀÃ¥Ãð ÃàbÃ@_ÃÀ2Ã@ Ã@YÃ@G à ÃüÃ0JÃÉÃÐâÃàÃàÃÐeÃ4Ãðà ‚À~Ã@wÀÃpòýÃP˜Ã@ôàUÃð§àÒÃ0DÀÃð­àaÃàÃð6Ãüà[ðÿÀ ÃÀ2ðà )ÃÐÐÃ4Ã0ÍËÃP’À Ã"ðjÃ0©ÃÀÃpàÀõà ‚ÃÐSÃàØÃð Ã`§Ã:à ÃÀ2Ã@qÀðˆÃP'ð ÃFÃÐÜÃànÃPÃaÃ`$Ã0ÁðáÃàà‹ÃP!ÃP¶Ã`éð¦àmÃÐSÃàV ÃоÃyÃmà Ã`Ã@kÃpiÀœÃöÃpÚÃÐúÃdÑÃÐMÃyÃÀÃà€Ã@ÃàhÃ`6Àõà ó Ã`0Ã`­Ãà†ÃpøÃ@ ÃðàIÃ`­ÃàñÃ`¹à ;Ã0ÙÀÃLÃ@›Ã0åÃÃÃ`<Àf Ã`6Ã@}ÃÐÐà ‚ð|àäÃ0ÙÃpÃ`ÝÃ0ÇÃÐYÀÃð0Ã(Ã`³ÃàzÃà÷Ã@îÃð$Ã0>Ã`Åð‚à šÃpcÃpàÃð0Ãð­ÃÐMÃ`§àIÃ0µÃ`³à #Ãà’ðÃFÃ"àgÃFÃÏÃÕÀÃPžàäÃÏð ÃðÃ`<Ãpìà ‚à šðà…ðÃ0>Ã`ËÃp‡Ã`0à ŽÃ`BÀ ð àêÀŠà[ð|Ã@ÜÃäÃP Ã02à ðˆÃpøÃÀ8ÃÛÃðàUÀ¢àgÃ@_à ²Ã…Ãð0àöÃðÃÃÃpiÃ@ÃÐÜð|÷ýÃ@ÃFÃsÃÀ2ÃðÃpòÃ0Và ¸à ¦Ã0JÃÐSÃð$Ã@Ãð<ÃðÀÃÀPà[Ã@ÃP'ÃÉÃÃÀVÃÀ2ÃmÃ`¿Ã0\ëÃð•ÃàzÃRÃ`ÝÃP'ÃdÃÀ£Ãð­ðˆÃRÃpøÃ0\Ã£ÃЃà ¾Ã`ÑÃÐeÀÃ@}ÃÃÃð<Ã0hÃÐ}ÃP¶ÃàÃÀ2ÑÃLÃÀµÃà˜ÃÐSÃpàÃ@îà àsÃÃÐSÃ¥ÃÉàmÃ`ÑÃ@ËÀ¢ÃÕÃð¹ÃàÃÃÃpoÃÃà˜À%ÃÀñàaÃÃÀJÃ@qàÒÃ@ÜÃpæÃð$Ãð¹À ð”ÃÐ_ÃàhÃànà ²ÃÐwÃ@ÀÃ`à šÃöÃLÃ@èàÌÃ:Ã@kÃàtÃ`³ÃP ÃðÃ`¹à #Ã@îÃpÂð^ Ãð‰àÌÃàð‚ÀÝ!Ã@/$à Ãà )Ã0JÀÃpiÃð*ÃàzÃÐÐÃ@ƒÃpþÃÐGÃÀ—à ÃÐÖÃðÃ0 ÀõàÆÃO ÃÀ!ßÃ@_Ã0‘"Ã`e(ÃðG)Ã( Ãà¨"Ã@¸"ÃC"ÃàßàÀà+"à+"ÃàD#Ç!à1!Ã@G Ãà>$Ãø#ÃÀê$ÃÀð#à p!ÃPë Ã"ÃÀê$ÀH%Ã`ú$Ã@Ž)ð"*ÃÀü!Ã`‰"àŠ'à ½)ú#à |ÃЈ&ÃÀa&à&à Õ%ÃÐ &à Û$Ã`w%Ãà£(Ã0ü%ÃÐ'ÃPÁ'àœ$Ã@¬$ð()à 'ÃPÇ&ÃPV$Ãà>$Ã0ö&ÃÐÿ'à 'ÃÀ['Ãðâ$Ã@'à 'àŠ'Ãø#Ã` "à=à ^$à+"Ù"ÃÀg%Ã0ü%ÃÀö"ðdÃЬ Ãðw!Àrú#ÃpŒ(Ãà»$Ã=#à1!Ãðk#Ã$Ã`‰"ÃЦ!Ã@)%àCÃÀÃ0!à%#Ãp¶!à j"Ã`q&Ã`$Ãðâ$ÃÀO)à Õ%ÃД$ðÕ!Ã0—!Ã`k'Ãà©'Ã@A!ÃàbÓà1!ÃP\#ÃpEÃUà Ï&Ão%Ãp3"ðjðpà ^$ÃÀØ'Ã@/$à X%ÃÀö"Ãp3"ÃPÍ%Ã#Ã`#Ã`!Ã0!ÃÞÃàD#Ã$Ã`›ðpÃ0—!ÃPÙ#ÃP÷Ã` ßÃðà 'Ãà2&à |Ã`à v Ã0$ÃÌ Ã`!ÃI!ÃàV ÀxÃ`ƒ#Ã`$à–%ÃPb"ÃPb"à Ãp¶!Ã`§ÃpcÃ0»ÃRÃPn ÃpÈÃÐÄÃp? à |ÃP’ÃðÃàåðÕ!ÃP\#Ã@5#ÃPýÃ`$ðáÃ( Ã[Ãð‰ðçÃðíÃpÂÃ@_ÃÐ#"Ã0&Ã4Ã7$Àf ÀlÃI!ÃPn Ã08ÃÀðóÃÀ—ÃÀ à ‚ðÿà #Ã@ÜÃ` Ã@ÐàÀðdÃ@Ä ÃÐ/ ÃaàÞÃ`$Ãp? ëà ÃpÚÃÃÃpWÃ`*Ã0&Ã0 Ã"ÃðƒÃÐ)!Ã0!Àã ÃpÈÃp]ð|ÃР"ÃÀ"ÃÀ&Ãð} Ç!Ã@Ä Ãò$Ãà€ÃP˜Ã02Ã0µÃ4ðÃàëßÃpEà à #ÀûÃ0!Ãðú Ã"Ãàhà¨"à–%ÃÀÃ@ƒÃ0ëÃXÃÀÃÐÐÃpÎàºÃÀ… Ãð} ÃP†ÃØÃ"ÃàÙà šà Ã+&Ã`!Ã@Ä Ã@èÃ¥Ã0µÃ[Ãpª#à ç"÷ÃÐÊà7 ÃàÙÃðÃðƒÓÀÙÃ`!ÃÐGýÀràIÃ`BÃpÔÃ`›Ã@MÃànÃÀ£ÃÀ—à ÀZ"Ãð à ‚à  ÷ðR"à=àÀðóÃÐÜÃ¥Ã0—!Ã(ÃÐÄà ÃaÃO ÃPtßÃ¥ÀŠÃà÷ÃpÎð”ÃpÚÃ¥ àIÃÐ5ðjð”ÃPŒÃpÈðdÃ0µÃPÃ0»Ã0,ÃÐÐàOÃP÷ÃÏÃÀµÃÀ ÃàñÃÐYàÒàCÃ0©ñà šÃ`¹Ã.ÃÐÐÃà†Ã@îÃP˜ÃÀ—ÃÀ¯Ã"Ã08ÃànÃgÃäÃàtÃð‚ÃmÃÀÃ[Ãð à=Ã@YððóÃ0Çð à Ã.ÃðÃàhà ‚Ã0 ÃðÃpàÃyà )ÃpÈÃ0 ÃÐ#"Ãðð‚ÃpÚÀûà  ÃpìÃÀ©àÌÃPå!ÃðëàäÀðˆÃÐÖà[ÀŠÃ@Ã¥ÃäÃ@âÃ…ÃíÃ4ÃpÔàaÃ`0Ã`0Ã`¹Ã02ÃPÃà€àaÃaëÃP†ÙÃp]Ã@ôÃð³ÃÐeÑÃÀ&ÃØÃÉÃp]÷ð àOÃ0ÁðÿÃPýÀÃpoÀœÃ@qÃ`­ÀõÃðÃsðvÃsÀð‚Ã@kÃ0DëÃ0ÙÃ4Ã`§Ã0Dà ”ÃÀ©àgÃpàÃ0¯ð‚ÃÐÜÃP Ã@ÜÀlÃÐÄÃFÃ0£Ã[Ãð›ÃànÃ`HÃÐYÃpWÃ02Ã0&àIà ŽÃàŒÃÐYÃÐÐÃàåÃ@Ãà’ÃÐÄÃpÎÃ@kÃðBàyÃÐeÀ~Ãð§ÃP¤ÃpQÃÌ ÃàtÃP°Ã@âßÃ`0ÃPŒÃ`§Ã:ÃpQàÀÀïÀéÃ08Ã0PÃÐMÃ`*ðíÃÒÃ0 Ã0ÁÃÐGàUàêÀ Ã@qÃ"Ãð} ßÃÀ à j"Ã°Û Ã ÒÃ` ÃPÃÀÃð} ÃЦ!ÃI!Ãp¶!Ó#À`!Ã0‘"ÀH%Ã0µÃ`³à ˆà=Ã4ÃÆ!ÃàP!ÃpÈÃЈ&ú#Ã` ÃP†Ã@Ã@A!ÃPå!Ã`!Ã@;"Ãðâ$Ãp’'Ãu$ÃpEà1!Ã$Ã@ÊÃЬ Àlà&Ã7$ÃàÇ"ÃàÁ#Ã@²#ÀÝ!Àã ÃP÷Ã.ðáðjÃ@Êðçà%#ÀÑ#à ç"ÃÐ/ Ã0y&Ãp!%ÃP÷ÓÃ` "à d#à X%à j"Ã"ÃPÇ&ÃÚ(Ãðe$Ã`›Ãðú Ã`ú$Ãp(Ã`ú$Ãðè#Ã0—!àºÃà8%â'Ã@;"àÆðR"Ã@'à&Ã`$Ãp&Ã@G Ãð_%Ã@¬$ÃÐ%À×"Ãà>$àœ$à=àCÃpEÃpÈÃðî"Ãà,'Ã0s'ÃðÜ%Ã`#Ã`ú$Ã@/$ÃØÃÐ)!ÃðÜ%ÃÀs#Àã ÃÀà7 Ã=#Ãðq"ÃàÍ!Ç!ÃI!Ã"ú#ÃPÓ$à Û$Ãp°"Ã`• Ã` Ã0#ð:&à |Ã"!àœ$ÃPå!Ãð ô$Ãà>$ðÏ"Ã`#ÃP\#Ã"Ã@Ä ÃPß"ÃàÁ#Ã0&Ã"!à í!Ã`ƒ#ÃÀ… ÷Ã02à !Ó#Ã0µà |Ã"Ã`ƒ#ðÕ!à%Ãà&(ÃPJ&à Õ%ÃÀ ÃO Ã`#ÃP\#à´ à1!ÃàJ"ÃPP%ÃÐ#ÃðÖ&ð@%ðÃ$ðÕ!à ó ÃPÓ$ðX!Ã02Ã"ðjÃÀü!Ãðú Àã ÃPzÃÐ;ðX!Ã0%ÃÒÃ@SÃUà j"à%Ãp9!àºÃp3"Ã0!Ãðw!ÃÒÃPh!Ã`#Ãà»$ÃÀg%Ãà8%Ó#Ãð} ÃàJ"Ã`!Ã{#Ãø#à ó à%#à%Ãðô!ÃЬ à$Ã@ &Ãp!%ðáÃPë Ãð} Ã`¡Ã°Û à j"ÃPå!àIÃ( Ã`ƒ#ðáÃðƒÃ"ÃÐ#Ãðe$Ç!ÃÀ… ÃPÃ@ÐÃиÃpÈÃ`­ÃgÃ`0Ã( ðÏ"à p!à X%Ãp3"ÀË$ÃPh!àCÃ{#À×"ÃÐ)!ÃðÜ%ÃP÷ÃÀ Ãðq"À<'ÃP»(à%#À¿&ÃaÃ`¿Ã@âÃ.ÃpWÃÀ—ß!Ã0%ÃðS'ÃPë ÃÀÃØÃþ"Ã@ÊÃpÔÀéÃÀ‹Ã@MÃ`›Ã@YðíÀ×"ÃÀy"à Ã0 Ã=#Ã`!Ãp9!÷ÃpQà ÃÀ£Ãp? Ã0 Ã`§ÃÃÃàßð:&Ç!ÃêÃà÷Ã@MÙÃp¼ ÃaÃиÃÀü!ðÏ"Ãðk#Ã@ÖÃ[ÃÀ£à Ãp? ÓÃ:ÃÐAÃÞÃ°Û Ã |ÀrÃp¼ Ã@ÊÃäÃàñà )ñÃ`$Ã@Öà7 Ã@SàCÀlÃÀ!ÃPÓ$ÃÀ… ÃpEÃ`!ÃÒà Ãu$ÃPn ÃPP%Àã ÃmÃØÃÐ#ÃPzÃ:Ãð§ÃÐÄÃÉÃàßÇ!Ã`$ÃànÀÃ0>ÙÃ@5#Ã0 ÀŠñÃpEðdÃ4Ãp? Ã0"àCÃÐAà=ñÃ(à®!ÃÀy"ðÉ#Ã"Ã@SÃPå!Ã`$ÃP\#Ã0&Ã@/$ÃPtÀlÃP÷àÆÃpcÃpÚÃ0"Ãp]ÃÀDÃÐÐà[à ÃðÓÃ¥Ã0DÃ¥ðçÃÐÄÃLÃÃðî"ÃÀ!ðáÃüÃpoÃ( Ãp9!À~àêÃðà Ã(ÃÀ©ÃÀ,ÑÃ0ÇÃ08ÃÀàÀðùÃàJ"à ŽÃpæÃ@à  Ãðî"àCÃP’ÃPžýÃ@èÃpÂÃànð Ãð¡à ˆàÌÃ@kÃ0VÀÃsðùà !Ãð$ÃàñðdàCÃÀ2ÃÃðóÃ0—!ÃPzÃð§ÃÐeà ¦ÃPà ùÃð ðjÃP-ÃsàOÃPàÒÃÀ‹Ã¥ Ã@MÃðÃ(Ã@Ã0»ÀrÃ`ÃPzÃðÃànÃàtà à ‚ÃêÃàzðÿÃ0JÃ@àIÃÀ©Ã`ÑÃ@}ÃàåÃ0ÍÃmÃ@eÃÀ… ðùÃÞÃð›Ãð›Ã@kÃÐÖÃ0¯Ã`• ÃÞðçñÃàŒÃð$ÃpÚÃ…ÃÐ_àÞÃÀÃ0Íð”Ã@eÃàtà  ÀxðóàÒÃàzÃ@A!ÃpQÃàÃsÃP¤ÃÃ`HÃÐÄÃsÃоÃ0ÇÃÐeÃ0Áð|Ã`­àÞÃ0PÃP˜÷Ã`HÀÃP˜ÃðñÃ`³Ã@_Ã`§ÃpEðšÃ0PàäÃ…ð|ÃàýðíÀœà ÃP†Ãp9!à Ã@ÐÃàýÀ–Ã@à ÃÃð ÃÀ£ÃðÃÐYÃ@ÃÐÊÃ02ÙàØÃ0ÇàÞÃððŽÃàn÷Ãà÷ÃàŒÃÐÊÀïÀ~ÀrÃaÃP€ÃÀ£Ã4ÃÐYÃpàÀÃpÎÃp°"ðà à ”ÃàßÃðƒÃ@ÜÃð‰ÓðùÃ¥ Ã`*Ã:ðŽñÃpÈðùÀà šÃpcÃ@à Ãð‰ÃоÃp¶!Ãð•À~Ã.ÃðàaÃðÃÐÄÃ`­ÃÞà ÙÃÀÃð Ã4ÃÒÃà\Ãоà1!ðáÃÐÐÃиÃ"!Ãð$Ãð§Ãð§Ã`BÃà÷ÃP˜ÃÃ`¡ÃPn ð^ à ÿÃpcÃLÃàñà ”ÃpÚÃpKÃPzÃp]ÀÃ0>àÆÃ4ÃàñÃð›ðÿÃÀ&àäà ˆà |Ã0¯ðùàÒÃàzÃ@âÃPŒð¦Ã"ðóÃpàÃgÃàëÃàŒà[ÃÃ`§ÃpcÃÐÐà ëÀ~ÃpÚÃð$ÃÐÊÃ@ÊÃ@A!ÃPŒÀÃð0ðÿÃ0µð|À„Ã[ÃàhÃ@èà Ãð} ÃPŒÃP€ÃиÙÀ~à ó ÃðƒÀxÃàJ"à ”à=Àf Ã@ÐÃЬ Ã{#Ã@MÃPn Ã@ÖÃ@_Ã`*ÃÐSà Ã0µÃ0>Ãðƒà  ÀÃPñÃ°Û Ã«Ã°Û Ã ØÃpàÀ„ÃÀ… ðjÃÐ;Ã0µÃоÃàëÃßÃàbÀ`!Ãp9!ÃÀ‹ÃÀ©à ÃÌ Ã"!à d#ÃÐ5Ãp? ÃиÃÀ‘Ã0>Ã`BÃ@YÃð‰ÃØÃPýñÃ[ÃPtÃ4ÃÀ—ÃÀÃ0,ÃÏÃ`BÃ`6Ã@ÊÃÐAÃà ŽàÌÃиÃðM(ÃÃ@qàIðŽÃààÆÃðú Ãàåà ÃpÎà7 àÀÃ@ÊàIðvÃXàgÃоðóÃð$ðpÃ@YÃø#Ã0 ÃàëÃÉýÀf ÃÒðÃ0ÓÃüàÀÙà=ÃÀö"à ó ÃFÃвÃ@SÃpÔðíÃ`›Ã`›ðŽÃpÚÃ"ÃÐ;ÃpWÃàbÃ@G Ã`›Ã` Ã`³ÃP ÃP Ã@Êà ÿÃ0»ÃÐGÃPŒÃP€Ã`• ÃPë ÃÌ ÃpEÃÀ©ÀxÃ(Ã`¹ÃÀ&Ã`BÃð•Ç!ÀïÃðÃàV Ã@5#ÓÃäÃP€ð|à ó ðÿÃ08ÀrÃäÃ`›ðjà1!àCÃpòà ŽÃ"!ÃPŒÃð§à ÿÃÌ ÃmÃpEÃ`ÃPzàºÃàåÃÐÄÃàñÃ.Ã0µÃðàÒÃPžÃðƒà ˆÃÀÃð ÃàåÃmÃPÃ08Àf Ãp]Ã@ÊÃ`#ÃàD#ÃàÇ"ðˆðÿÃð Ãð•à ŽÃÐÄÃP˜ðùñÃÀ‹à1!àOÃ`*ÃÐ)!à ó ÃPë Ãð} ÃàÙðÿÃ.Ã"Ã4Ã0µÃ0!Ã`§ðÃÐMÃðÃðƒÃànñ÷ÃàßÃà8%Ã#Ã.ÀïàÒÃð•ðóÃð$ÃÐÄÀÃÐGÃp°"Ãðô!ðáà ”ÃвðvÃ0DÃðÃPÃàýÃPb"ÃÀ!ÃÐ5Ã0Dà šÃ@_ÃO Ã0 Ã0&Ãð­ÃÐAÃÀÃP÷ð|ðÃRÃØÃÀ‹Ãp¶!ÃPzÓà ˆàðÀïÃàP!ÃpÔÃ:Ãð¡Ãð›ÃàtÃpæÃð•ð^ Ã`¡Ã`0ÃÐMà ˆÃ@G ÃpQÃàýÃ@Ã08à ¦ÃÀ—Ã`›ÃPn ðÕ!Ãà\ÃððÃàzÃÀð^ Ã0‘"àUÃàà[à¢#ÃpÂÃÐÄÙÃ@ÖÃàñÃ@ÊÀã àÌÃaÃPë ÃÀÀÃpæÀlÃ`¡ðçÃÞÙÃP€ÀûÃLÃàtÃ`6ÃmÃÃ0PÃpoàUÃØÃp-#ÃàhÃ`0Ã`NÃ@ ÀûÃ0©÷Ã:ÃÉÃ0,Ã@ÖÃP’ðˆÃP’àUÃ0>÷Ã0ÇÃ`HÃ`*ðÕ!Ã` "ÃP÷ÙÃpÈÃpÎÃÐÐÃP'Ã0¯Ã0ÁÃð§ÃêÃp]À~Ã@îÃ@_ðŽÃðÃPn Ãð‰Ã`­ðdÃ`*à ¦Ãð$ÀŠÃpòÃp]ëÃðÃ:À„Ã`<Ã@Ã`ËÃÕÃpiÃð¡ÃàëÃà÷À¨ÃÀ2àOððßÃaÃP'ÃmÃ0>à[ðóà ŽÃ@âàaðŽÃ@eÃpWÃüÃLà AÃð¡ÃÉÃðÃ0Ùð”Ã"ÃÀ Ã0Áð|ÃP¤àsÃpcÃ0JÃ(ÃpiàöÃð›Ã`›ðÿÃà\ÃÀÃðÃ0»à ”ÃÐkÃð³ÃP ÃRÃ@úÃíàÒÃ`<ÃàŒÃÉàaÃÐÐÃ@èÃpàÃÐÖà àêÃ`¹Ã02ëÃ^ÃàÃpÚñÃÀ£à ÀZ"ÃPzðÃöÃÀ8Ãpà ¦àÞÃ0\ÃP-ÃÐYàgÃàñÃЦ!Ã@Êà #ÃÃðBÀàmÃÉÃpQÃÏÃ`Zà ²ð|àCÃ@wÃÃÐÊÃÐÖÃð³ÃÞÃ@ÃÀDðŽðvÃð$Ãð§Ãð‰ÃPŒÃ0ÙÃpòÃð*Ã`BÃpoÃà ÃpÚÃP ðÿÃà ÀÃÃ`HÃFÃpìÃ`BÃLðíðÿÃPÃ@_ÃàtÃPn àÌÃ`×ð¬à 5ÃmÃànÃÃÐèÃ:ÃÀ>ð²ÃXÃ@îÃ…à #ÃyÃpÃP-Ã`ãÃpoÃFÃ4Ãð0ÃLÀÀ~Ã@âÃàtÃpuÃ`ïÀÃpWÃðÅÃÐîà ÃÐÐÀÃ`¹ÃÃà’ÃÀµðÃP¤ÃdÃÐkÃ@kÃmÃsð|ÃÐ;à ÃÛÃdÃ`³ðvðˆÃpòÃ@ÐÃ0»ÃÏà #Ã`¿Ãð0ÃÛàaÃÀ—ÃP˜ÃàÃà’À%Ã0&à ˆÃ0PÃpuÃ0ñÃpÃÐYÀðÀ–àØÃp{ÃXÃ^ÃÉÀà šÃÀðóÃÐÊÃàŒÃÀ>ÃXÃ`Åà GÃgðíÃ0D÷ÃàzÃPžÃ`BÃð|ÃpKÃàýÃ0»ÃäÃ08ÃÀ£ÃPýÃÀ!ÃÐ)!Ã0©ÃÐÐÃpìëÃ@ÖàOÃ08Àð”ÃàñÃÐ;Ã¥ÃpEà |ÃðÀéßÃð›ðÃ`0à šÃ0µÃÃð”÷ÃвÃPýÃêÃð àCÃpWÃ0Pðà 5àÌÃPÃ`¡ÓÃpÚÃð ÃððpÃ0 ðvÀÃ:àÌÃ:ßÃ08Ã0 à |Ã`ËÃð³ÃàëàIÃ"ÃêðÃÐAÃ@MÃÐ;ÃðÃ@ÐÃÃÃ¥ÃpQÃäÃ0JÃUÇ!Ã0£Ãð$ÃP€ÃÀ£ðˆÃ@YÃ:ÃPÃð­÷Ã0ÍÃàÃpWðX!à ó àØÀf ÃPýÃ:Ã0"Ã:ÃPtÃ[Ã@âÃàñÃpÈÓÃ@èð”à ˆÃÀÃð¡à[ÃXÃ@YÀõðˆà #ÀœýàÒàaÃP†Ã.Ã@kÃXÃFà ÃpWÃpÚÃàåÃÀ!ÃвÃоÃÀ‘ÃÐÊÃð Ã0µð‚À Ãð$Àûðð”ÃàýÃ0åÃ`H÷ßÃðÃÐ_Ã`BÃà€ÃüÃ:àOðvÃàzëÀ¢ÃÀbÃ^Ãà€à[Ã0Ùà ”ÀïðvÃpàÃ0DÃpøðùÃ{#à ÃàñÃp]ÃPÃpuÃàñàIðÃÏÃ4ÃÐÄàÆÃàaà ùÃ@eÃð§ÃÀÃàà…àsÃð³ÃÀDÃ4Ãà\ÃP€Ã@ÃFÀðˆà ¦ÀŠàÌñÃêÃpÚÃpìðŽÃ`ZÃP¤Ã@îðÃÃÐkÃpÃP9Ã`ÅÃ`ZÀ+ÃÐèÃ@ôÃÉÃ0ÇÃÐSÃ@_ÃÀ2à Ã.àÞÃðÃ`$à ”ÃÀ8à ÄÃðï ÃÀ8ÃgÃðÃÀ>ÃÉðvàäÃpŸÃp‡Ãp{àüð¦àöÃ0ÓÃ`NÃ0>Ã08ðùÃ`HÃ0\ÃpìàäÃð­ÃàÃdÃ@qÃÐÐÃPžÃ`Bà šÃp]ÃðÃÐSÃÕýýÃÃ0PÃ@Ã@ÀÃ0VÃ@Ãð§Ã‹ÃðÅÃð­ëà´ Ãð*ÃÀ2Ã4Ã,Ãp{Ã`lÃÀÍÃP°àüÃ@ÃíÃÞÃpEÃP†ÃÀ2Ã:Ã`lÃpìÃÐÜÃP-ÃÐqÃ0nÃð­ÃpæÃpàÃÐYÃ0VÃpýÃÐMðàäÃPà )ÃÏà ¾ÃÀ8ð Ã0VÃ0DÃ0£Ã0&ÃðÃÀ2ÃsÃÐMÃ0¯ðÃ@}àaÃP'ÃÐâÃ0ÁÃ0,À„ÃjÃ@ðŽàÌÃÐèà‹ÃP¶Ãà÷ÃPÃyðŽÃ@ÜÃ`HÃ@Ã`ÝÀœÃ0ßÃdÃ0ÍÃpàà ŽÃ@Ã@ÃçßÃ.ÃàhÃððÿàUÃ0ÁÀÃ`BÃð$ÃçÃðÃ`³Ã@èðvÃà€ÃáýÃüÃsÃð$ÃdàÒÃàÃ`ÝÃ0DÃ`HÃLÃ@ÃàŒÃÏÃ:ÃFÃÐÜÃàÃÛÃðHÃÐîÃ,ÃpuÃÐGÃðÃRàgÃð¿Ã0ÍÃpcÃ`ËÃpìÃmÃ@àOðÿÀÃàÃLÃÐÖÃ@YÃÃ0ÙÃÀDÃ@ÃPŒÃÀ©ÃÃð*Ã@ôÀœÃPÃÐÐÃð*à ²àgÃ`Åà ”àOÀÃ0Và ¬ÃÐÜÃЃÃ‘ÃPÃäÃ0µÃÛÃàýÀ„à ÃP!Ã0ÙÃPžÃÀ£ÃоÀœÃð¡Ã@wà šÃpcÃ0ÍÃ@ôÃ`×àsÃ`BðÃ0ÙÃÃðÅÃPÃp]ððÃÀ2ðˆÃ`<à ¦Ã0åÃpòðÃÐÐÃP!Ã0DÃPŒðÃ`BÃP¶àÞÃ0ÓÃpþ÷ÃÐSÃPÂðÄÃ`¡ÃsÃ@àÃ`õÃXà ÄÃÀ\Ãp{ÃÐwÃÐôÃPÃð0àÃ`ÑÃà€ÃÉýÃð6Ã`ÑÃà†Ãpuð Ã@ƒÃ0ÓÃàñÃ`HËÃ:ðÃàÀàmÃ0åÃóÃà˜Ãð³ýÃRÃÐôÃÀJÃÕÃ0JðÃàäà ¸ÃáàÃàÃ@wÃ0>ÃyÃÐÜÃÀÇÀ–ð/Ã0bÀ+àsÃðËÃ`ÑÃgýÃ@ôÃ0»ðŽÃpÃÀµÃPÃ`<ÃÀJÃÐeÃ@èÃáÃPªà ²ÃdÃðNÃ`éÃP-ËÃpÃRÃpÃP'ÃðàÀÃÀÃ0ÍÃ0PÃ0ÓÃ0zà…À¢ÃÀPÃpuÃPÂà /À´à ;ÃÛÃÐYÃÐqÃÀÇÃPÃÉÃ@ƒÃÃpøÃpæÃpÃ@qÃpÚðÃ@ Ã`lÃP˜àIýÃ@ôÃpuÑÃÐÜÃ@ÃÀÍð²à šðÃð$Ã`ZÃP¶Ã`ÑÃ0µà ;ÃpþÃ0ÓÃ@èÃÐÐÃ``Ãà-ÃXà )Ãà˜ÃpþÃÐîÃPžÃà†Ã0åÃÛÃðHð”ð‚ÃðÃоÃÃ@}Ã`ZÃÃ`ÑÃ0ÍÃð0ËÃFýñð ÃpuÃàÃËÃàªÃàÃÐkÃÀ8à ²Ãð<ÀCÃ0ßàäð¦Ã À¨à ²ÃàÃÉðˆÃLÃP¤Ãð6Ãp{ÃP3ÃÐèÃààðÃpiÃáÃàÃàŒðšÃà˜ÃPªÃ…ÃÕÃçÃ`³àaà )ÀŠÃmÃpàÃjÃpÃvÃðÝÃ`ãÃp{Ã`HÃð6ð‚Ãð­ÃP-À¨Ãp ÃÀJÃÐwðšÃÐôÃàzÃXÃ^Ãð$ÃÃ`6ÃüÃÀ2ÃàtàäÃ@wÃÕÃÃÀVÃÀÙÃà’À à ˆÃ0DÃpìÃÃ0hÃð³ÃP-ÃRÃ0ÙÃ0ëÃP¤Ã@qÃ0ÍÃàtÃÐÜÃ@ôàmÀŠÃüÃPÃ`›Ã0 à  ÃÃЉÃóÀàÒÃpøàyÃP¤Ãð¹ÃíÃ0ÍÃÐGàaÃð­ÃàÃ@ôÃpòÃà÷ÃÀ£àðÃÐÖÃà€ÃsÃgÀlÃÀ»ð‚ÃP’ÃpcàÌÃð$ÃíÃðÅÃp“ÃÀ»Ã08Ãð6Ã@›ð¦ýà šÃP¶ÃçÃpòÃð§ÃpWÃpìà ²àmàsÃ`ËÃð<Ã0ÙàyÃà ÃüÃÐèÃÛÃFÃ`³ÃÐGày÷à ÃÐYÃÀ£Ã`BÃÃ`lÃð<Ã`NÃ`³ðÿÃpoÀÃPÃð6Ã`lÃPªÃ@ðÃP!ÀûàOÃÀ»à ÃðÃà Ãð×Ã@Ã0PÃP¤ÃpæÃð*ÃÐYÃgÃ4À–à ²ÃpÃ0ÓÀÃðàØàÌÃÀ&Ãà†à /Ã`TÃÐ_àÒÃLàð)Ã0ñ÷ÀrÃð*ÃPªÃpðŽÃsà 5ÃP¤ÃyÃÀ,ÃpìÃÃàöÃÀµÃÉÃFÀ–ðÃÀÇÃ0ÓÃÀÃàÃ`×ÃðÅÃP-ðÿàOðÃð³ÃP'ÃPžðÃÀßà àgÃàzÃÐMÃÐîÃp‡ÃüñÀŠÃÃÀ»ÃÐ_Ã0åÀœÃ0>ÃÉÃ@ÃÕÃà˜ÃàžÃàŒàsÃP3ÃpþÃð³àÞßÃpKÃà Ã0ÃÀPÃà€Ã@G ÃиÃP-ÃÀDàsÃðð ÃP¤ÃÐÖÃ…ðšÃPÃÃ@ÃçÃðÃð0Ã0VÀœÃpÃ^ÃðHà ;ÃÃÛÀœÃààsÃpiÃXà ;ÃPªðÃ0>Ñà AÃp‡Ã``ÃFÃÀDÃ`ÑÃð•ñÃÐúéÃPªÃÉÃöÃP’ðÃÐqÃ@ƒÃ@ ÃÀ8ËÃÀ\Ã0zÃpòÃpìÃP'Ã0PÑÃ0åÃ`TÃáÃùÀÀÀ¨àüÃpòÃà'ÃðˆÃ@•Ã`éËÃÀÁÃ`×ð Ã0Jà ²ÃÕàÃ`­Ã0JÃà¤ÀÒÃŽÃÀb×ÃyÃð§ÃàýÃP¤ÃÐôÃpÃáð¸ÃðHðàaÃðËÃdàgÃ@‰ÃÃàsÀ=ÃðÅàäÃpøÃ0bÃÐ ÃðÑÃP-Ã@eÃ@wà šÃÃÃ``àÀ®ÃÀÓðÃð­àÌÃP3ÃÀDÃÀÍÃÐkÃ`lÃRÑÃpìÃçÃÐ_Ã0nÃà°ÃðÅà ¦À–ÃÃð6ÃÃÃ@eÃ0PðÃà’Ã`fÃpæàØÃÐúÃà¤Ã—Ã`BÃ``ÃùÃÃÐúÀ1ÃP¤Ã@ôà ;à‘ÃÀÓÃàÃíÃÐ}Ã0ñÃp{Ãp{ÀÃpæÃð0Ãà’ÃÃÐúÃ`Nà Ãð0ÃpøÃÀÃÀÓð”ÃP¼ÃpÃ0ÓÃ0bÃÐkà )àüÃ0åÃÃ`¹ÃP˜ÃÃÃLÃP°ÃÕà ÃP9Ã0ÇÃ`HÃçàmÃXÃáÃpàðÀ7Ãà'ÃpÀ–ÃÀ2ÃP!ÃP!ÃÐAÃÀÃÀ\Ã:ÃáÃ`ãÃÀPÃÃ`NÃÐYÃ@wÃÀDÃÐÊðvÀ„Ã(ÃÀ,à ÊðÀ¨àðÃFÃÀÁÃÀÙÃ0ÓÃpiÃÉÃ0÷ÃP3ÃXÃð$Ã0DÃ`ÑÃpìÃyÃ@ôÃàzÃÐkÃðÃRÃ`<ëðŽÃ@îÃÀÓÀ–Ãà€ÃÃÐîëÀ„ÃáàsÃ0\àð à ¦à /ÃÀPÀÃPžÃP-ààÃ0ëÃà’Ã`fÃÀ»Ãð¡àêÃ:ðˆÃ…ÃÀ>Ã`BÃyÃÏÃjàÃpuÃ@ÃÐqÃÀ»àOÃ@àêÃÐÐÀÃàüÀÃà†ÀÀ àÌàðÀ%ÃÏÃ0VÃ@}ÃpÃ0bÃð<ÃÐîàÃ@‰ÃàëÃÀ©Ã^Ã0ÓÃêÃÐSÃ^ÃP9à ¦àaÃÕÃ0ýÃà˜ð‚ÃÐÊð‚Ã0bà…ÃÐeÃáÃÛÃÃà÷ÃÐÄÃÐ5ÃPß"Ã`HÃÐqÃà Ã0hÃdàðÃàŒÀÃ`×Ãð*ÃàëÃà÷à[ð|ÀËà ;ÃP!Ã`Ýà ¦ÃP9Ã@ÃÏÃÀ&à ÃPŒÃÀÁÃ`×à ÃpàÃÀÃPŒàOÀõÃàtÃÃà #Ã@Ã@qÃÀµÃpøÃÐúÃ@ýÃ0ÙÃ`ZÀÃÐYðùÃÐèà ²à #ÀÃÉÃ0PÃð*ýÃ0ÙÀðà /Ã0ßÃà€Ã@ðÃpþÃáÃÀÍà ¬ÃjÃLÃPªÃÐÃÐúÃàÃà ÃP-ÃÕÃsÃ`ÅÃ@úÃð¿Ãà€ÃðAÃ`×ÃpÔÃÀ&Ã0>Ã@ÜÀà ÄÃÀJÃóÃáÃàÃ@ôÃàžÃÀDÃùàÃ0PÃP¤ÃÐîÃP3ÃpþÃ0ÍÃàÃ£à ¾Ã`NÃP’Ãàzà )ÃðHÃðBÃð6ðÀàÒÃð›ÀÃÐGñÃÃÃp{Ãð¿ð#ð#À Ãð0Ã`³ÃÐÄÃÕ÷Ã@ƒÃ`³ÃÃ0ßð#à ¬ÃÀ8ÃÃ`¿Ã‘ÃÐÜÃÐwÃjÀ–àüãÃð›ÃüÃ:Ã@ÜÃÐGà àØÃ0Jàaà ÖÃÀÁÃÕÃà÷ÃðBÃðËÃà ÃÐúà Ã`ãÃPÈÃÕÃ0ÓÃðBÃ0bÃÃÃPŒÃp{ð)ÀÀ+ÃpÃ@îÃÀ8Ã^ÃÐâÃÏðšÃÐkÃÀ>Ãð³Ã(ÃÐ_ÃPÃÀ2÷à šÃ@ÃP°Ã`lÃ@‰Ã0ÁÃ@SÀ ÃÀ¯ÃPÃ`³à ²Ãð¹ÃP¤Ã@À àÌÃ:Ãð•Ãà’ÃàªàaÃÀDÃð<Ã0PÃP ÃdÃÐúÃÕÃ…ðÃäÃàÃpÃÀµÃPŒà #ÃpæÃüà ;ðŽÃ0PÃp{ð ÃàÃÃ0JàäÃ`ËàgàäÃ@YÃ0>Ã0ëÃÃ@ôÀ ÃpÚÃÀ2Ã…Ã…ÃPŒÃÐâÃàÃ@}ÃÏÃpcÃ[Ã`§Ãà†ÃpþÃÀbÃPÂÃð0ÀÃ@ôÃ"Ã(ÀŠà  à /ðšà /àäÃ0Và ÃÐÄàIÃ`ËàÃÃàzð”Ã`<ÃP†ÃpEàÞàaàÌà ÃÀ>ÃpþÃ@qÃð‰Ã0»ÃP¤Ãð­ðÃðÃà÷Ã0VàsÃà ŽàUÃÐSà  ÃP’À ÃÀ2ÃP’Ã0ÙÃ@èÃð¹Ã0ÙàðÀà AÀŠàOÀ–À àÌÃäÃ02ÃÐkàØÃäÃPÃð$Ãð*Ã…ÃP¤ÃêÃ0 Ã0 ÃÐ;àaÃFÃ0Íð‚Ã@îÃÀÁàaÃÐâÃ@ÃÐeÃpÃÃÃ`­à[Ã4ÃÉÃØÃ0ÍÃ`­ÃÐÜÃÀÁÃ@èÃp]Ã@îÃà†àmÃàÃüÃÐÖÃ@_ÃðÃPÃsàÌÃp]ÃÀ>à Ãð•ÃÀ—Ã@âÃXÃÀ8ÃÐÊàmÃð0Ãð¹àyÃà’ÃpòÃ`­ðšÃÀJÃÀ2Àlð|ÃjàðÃpKÃ@à 5ÃüÃ`NÃÃààmà ¾Ãð³ð|ÃðÃ`$ÃpàðÿÃ@eÃ(ÃàŒÃÃp‡ÃÀ>ÃPýÃp¼ Ãð<ÃpÃpòÃ@YÃ@îà  ÃàtÃpuÃÃÃP'Ã0bà /ÃÀ©Ãà÷Ãð³ÃpìÃðýðà[ÃÀàgÃ0hà[Ã@èÃpæà )Ã`TÃ0DÃ:ð#à…Ãà°ÃÐÜÃ0JÃð*Ãp‡ÃüðÿÀÃaÃ0µÃP'ÃÉÃðÃP†ð”ÃÃ`³ÃyÃ:Ã0bÃëÃÐYÃ@}Ã:Ãð6ÃÛÃÃÃ`¹ð àüÃpìÃÐeÃÃÃPÃà Ãà€àaÃÃPÃRÑà ýÃ`ÑÃ@îÃÐÜÃPýÃ@YÃpìðà ¸Ã@ÃÐ_Ã@îð ÃpuÃð³ÃÀÁÃÃÀÃ`Åðà[Ã`¿ÃÕïÃ``Ã`ÅÃàÃ@Ãàà )Ã`¿Ãp°"ÃÏÃ0ßÃPÂÃp‡à 5à )ÃP¶àyÃyàOðvÃðBðÃáÃpþÃP-Ã0åÃP°ÃоÃÞÃÐ_ÃàýÃ@ôÃ`BÃLÃÀJðˆà=Ã`ÑÃ0ñÃðNÀÃ`0Ã0bÃ@ƒàðÃð6Ãà¤Ã0€Ã@ËÃP'ÃÐâéÃÀÁÀ%Ã`TÃ@ƒðÿÃð•Ã``àÃÐwÃð*ðÃÐâðÃÃÀ2à 5Ã@kÃäÃFð”à ëàgÃðÅÃ@úÀûÃðà šÃ@}Ã@à GÃÕà šÃ@}Ã@ƒÃ4ÃÐSÃà Ã@ôÃÐÜÃàzÃ@‰Ã`ZÃ0ÍÃð³Àýà ¸ÃÃ0VðšÃàŒÃÐÊà ¬à 5ÃFÃ`6ÃÃ@}Ã0Íð ð”ðˆÃpòÃð›ÃÐ_ÃÀ¯ÃpÈàIÃÐèÃFÃÃpcÃLàêÃàà #ÃÀ,ÃpþÀÃðÃÀÃäÃ0µÃp]ÃpòðóÃ.ÃÐMÃXà )Ã0JÃ0ÙÃÀµð|ÃpWÃÐÜÀ¨àaÃ0ÇÃð¿Ãà’Ã0ÍÃÐAÃð§Ã`ËÃP!Ã`¹ÃÐÊÃpÃ0ëÃFÃ0ÍñàyÃàëÃàŒÃ`NÃpuÀÃ0ÇðÃpcà  Ã`¿ÃÀÃ0VÃPàäÃÛÃàÀÃð*Ã0JëÃð­ÃP€ðíÃ`6ÀûÀÃp]Ã:ÃÛÃ0ÙÃÃpcÃàýÃàñÃ0ÁÃÉÃmÀÃ`!Ã`­Ã0»à ¬ýÃðÃðÃ0»ð¦Ãð§ðÿà  Ãð›ÃÀÁÃ.Ã02ëÃäßÀõÃPÃ0DÃP˜ÃpiàmÃpiÃà÷ÃÀ—àºÃÀ àCà |ÃPë à ”Ãànà !Ã@ÜÃP€à |ÃàhÃÀlÃpæÃ`­ÃP†ÃÀÃÐ;ýÃ:Ã@wðóÃPzÃ`*ðjÀ~ÃÐGà ÿÃP÷ýÃÐÄÃäÃP†Ãð ðjÀ~Ã@ÃÀ—Ãð ÃàÙÀxÃÀÍàÃ`Zð”Ã`lÀ„Ã`§ÃÐÄÃà÷à ŽÃÀ©ÃÐYÃLÃP’ÃðƒÃÐÐÃ@eÀàaÃP!ÃüÃ.Ãð­ÃUð‚ÃçÃ`HÃð ÃmÃÐkÃÐîÃÀ—ð|ÃðpÃ@ÃààmÃð›Ã@âÃиÃ0Çð^ àÀðÃàŒÃÐqÃ0ÁÃPn ÓÃRÀÃð•Ã0©ÃÀ,ð Ã¥Ã`0ÃPÃ@èÃàßÀ~ÃPðùÀ~ÃÀ&ðÃ`BÃÐAÃ0£ñÃ@qÃüÃÀ2ÃÀ£À„ÃÐâÃPžðŽÃÀ2à ¦Ã`BÃ@ôðdÃð ÑÃÛÙÃ[ÃP'Ãà€ÃjàÃ0ÙðýÃ`¿ÃðÃ@wÃÀµÃyÃ`6ÃP¤Ãðvà ˆÃPŒÃà†Ãà÷ðˆÃp]ÃpQÃð¡Ã:ðŽ÷ÃP†ÃpWàÒÃpcàÞÃ0Çð ÀàØàUà ÃÀDÃ`ËÃ@wÃpòÃÀÃð•àÞÃ@îÃPzÃP†ëÀlÃàtÃÐÄÃðÃ@ÖÃð ÃàtÃ`HÃÃ02Ãð§Ã`HÃàtÃ0µà Ãð•Ã.ÃPzà Ã0DÃ`¹Ãàëà ÃP†ÓÃ@_Ã.ÃÐâà ;ÃàzÃÐÊÃðÃäÃp]ÃP€ÃÀ—Ãà\Àf Ã`*ÀûÃpÚÃP!ÃðÃ@MÃ0 Ã¥ÃÀ—Ã0JÃ@èÃàbÃpQÀ„Ã0>Ã`§ðÿÃjÃÏÃUÃ0£ÃÐÄÃpÚÃyÀÃpÔÃ@úÃ.Ãð0à šÃ0&ÃЬ ÃÀ£ÃÀ—ÃP€ðùàCÀÃàÃàtà=ÃP’à´ à=ÃmÃPýàOÃðÀ~ÃàhÃÀ£ÃPÃêðpð|Ã@îðíÃ`0Ãð¹à ¬Ã`³Ãð¡àmàÞÃÐYÃPýÃÀÀ„ÀÃpààIÃ0>ÃÀ2Ãð0Ã`HÃ.ÀÝ!ðvÃðÀð”à Ã4àÀÃ@âÃðÀlñÃ0&À×"Ã`Ëðð|ÃÀ8ðÀ à šÀxÃð$ÃÐÄÀõÀÃàåà ‚ëÃðÃ^à[Ãp]à ÃPžà #ÃsÃð§ÀõÃFà ‚ÃÌ Ã ÿ÷ÃÃÃÀ,ÃpWðçÃÀ&Ã@eÀÃmÃ@èÃà ÃàŒàUÃ0¯Ãàbà šðvÃPtÃPtÃàÙÃÏÃÉÃàñÃà÷ÃÃÃ0 ÃðÃÐÊÃpÚÃ`³ÃÐSÃÐÐà )àsÃðÀlÃðà #Ã0ÓÃð6ÃÐMÃÕÃpQÃÀ—ðáÃ@A!à ùÃàhÃêàUÃà\à Ã( ðíÃ`<à ÀxÀ Ã`HÃyÃ0ßÃ:ÃpWÃ@ôÃðBýà ó ÃpæðÿÃà÷Ã:à ÿÃÀ£ÃÀ¯Ãpìð”ð‚Ã`6Ã0ÙÃÏÃ0\ÃüÃÐÄÃÀ àUÃànÃP!ðÃpiÃ``ÃðÀÃà÷à  Ã0JÃ0©ÀZ"Ãðà šÃP ÃÃÃàåëÃ0»Ãð¡à ²Ã0&ÃÀ£Ã`<ÃFÃ`*Ã0¯ÃàßÃÀ¯Ãà˜ÃÀDà ”ÃÐSàUÃð¡ÃÐMà ‚Ãð àÌÃ0DÃÃð¡Ãð§ðíÃ@G ÃÀ‘Ãð à šÃ`¡ÃÀ ÀœÃÐâÃ@îà AÃÛà Ã0>Ã"ðÿÀxÃpÚÃÀ Ã02ñÀÃ`ZÃsÃðw!ÃÀ‹Ã0ÇÃ`³Ã[ÃPñÃÐGÃ0ÇÃàà ¸ÃÐÜðvÃÐÖÃ0µàUÃ:Ã.ÃÐ5ÃàzÃsÃð­÷à Ãð6À¨Ã0\ÃÐÜÃÀ£àÞÃpcÃ@èÃð6ÃFÃà'ÃpcÃð$Ã@wÃ`³àºÃàzÃ0JÃäà )ðÃðHðˆÃÐâÃÐÐÀÃðÃ`NÃöÃоÃ`$Ãð§Ã0JàOÃpÔà ŽÃpàÃð­à ¦ÃÐÄÃpÎÃ0PÃÃP'Ãàžà‹à  ÃÐÊÃFÀÃ0,ÃÐ_ÃRÃpìÃÀÃ0,Ã0ÓÃ@qÃð0Ãð$ÃgÃ@¾!à Ã@ÃP-ÃpÃ`õÃÕÃPžàØÃ0ÍÃ0ÓÃÐîÃ`ãà ¬Ãð$Ãð0ÃðÃÃàýÃP’À à Žà šðpÃ`¹ÃdÃÐSÃÀ… Ãð} à ‚ðùÃ`<ð”ÃÐÄÃ`›ÃpÈàUà ˆÃ`<ÃÀ2à[Ãð*Ã0ÁÃpWÀà ÃðÃðÃ…ÀÃÐÖÃFÃ`¹ÃpcÃ`$Ã0ÁðšÃp‡Ã0DÃpÈÃ`<ÃàýÃÃàåßÃðÃàýð”Ã`0ÃÃpÚÃ0¯Ã(à 5ÃàýÃð Ã@ÐÃÀ—Ã0©ÃðÃÀÃÀ8Ã0PÃ`<À„Ãоà ‚Ã0£ÃÃPzÃpKÃöÃpuà ¦ÃpWÃð ÃP†à ”ÃP’à ŽÃàßà !ÃÀ ÃÀàÆÃ08Ã`³Ã@èÃ0ÍÃ@ÖÃpoÃ0JðóÃ08ÃоÀéÃÐ;ÃÐÄÃ0DÃ`§à  ÃöÃ08Ã`6Ã@_ðíÃÀà Ã@ÖðŽÃ@âÃ0©Ã0Dà[ÃÀ»Ã@ÃÐÜÃêà šà #Ãð•àäÃ08Ã`¹Ã0ÇÃðÃ`§ð|Ã`<Ã0ÍÃðÃÀ&ðjÃ0ÙððvÃpÔÃÐGÃPÃpÈÃ08Ã0>Ãð•ÃоÃ0©à àØÃÀ—ð|àaÃÉÃÐYÃðÃpæÀœÃpÃÀ,ÃFñÃP€ÃPýÃðú Ã`ÅÃÐâàsÀÃÐ_Ãð•ÃI!ÃPýÃ@wÀÃpÔàgÃP'ÃP˜Ãp]Ãð$ÀràÀð ÃpoÃ@Üà ÃÐÜÃpÚÃÃÃÀàÀÃPn ÃàñëÃ`• Ã0¯Ã0JÃàhðùÃàzÃ@kÃ`BÃÀÃ0»Ã:Ã"ÃöÃ@wÃ02ÃðÃpàÃÐGÃ:ÃpKÃð¡Ã0µÃÃRÃPàÒÃÐÊÃðÃpoÃPªÃ@ôàäÃ0¯ÃÉÃ0ÍÃð$ÃÀ Ãð›àaà ÐÃpÃ`<àÒÃpìà Ã`³ÃоÃ0&à šÃ…ÃÃÃànà ”ÃmÃð Ã@úÃ@YÃÀ‘à Aàà ¸Ã@âðvÃ`<Ãà’ÃP'ÀðÃäÀÃ0DÀ ÃÐAÃà÷ÃàñÃ0ÓÃ`Hà ŽÃÐÄÃàbà Ãð›ÃÀ,Ã0 ÃÀ,Ã0ÓÃð¹Ã@ôÃ`0Ààêàöà ;Ã0PÃ@ôÃ0åÃpÃ…Ãp‡Ã0\à ²Ãð¡Ãà÷ÃàýÃP’ÃàñÃð¹Ãà†ÃàÃÉÃpþÃðˆÃÐÜÃP'à ¦ðÃÐkàöàäÃXÃ¥ÃÀ¯à  ÃàñÀ¨Ãíàmð Ã`<Ã@ ÃÐqÃ0\ðÃ@ôÃÐôÃ@kÃð›ð#Ãöà )ýà #ÃÉàêàgÃðHð Ã@úÀ%Ã`Nð ÃpòÃ@àäÃ@âÃ`§ÃàÃRà AÃ@}Ã0ÍÃ@úÃ`HÃÀµÃP!Ã0JÃÀÁÃÐYÃ:Ã@ÖÃðÅÃ0DÃ0ÇÃP9ÃàzÃÀ»àÞÃ0ÇÃ@_ÃàhÃÀÃÀ¯ÃÉÃ0>Ã0DÃRÃjÃÀ8÷à ²à ¦Ã`³àmðšÃ—à #Ã`6ÃàÃP?àaðçðà ¸Ã`éÃRÃpÃÀ»ð‚Ãà€ÃpæÃ@ÜÃ:ÃàëÃ0»ÃÐMÃ`Nð#ÃpòÃÐÜÃÐ_Ã4ÃpàÃ0»Ã.Ãp]à[ÃFÃpuÃPŒÃPÃÀ»àgÃP!ÃÐÐÃÀ‹ÃÀÃÃ0ÓÙà |ÃÐÊÃpiÃÏÃ@àÒÃ0&Ã08Ã0ÍÃpÎÃànÃÀ,ÃÀ,ñÃà\Ã0 ÃÐÄÀðˆýÃÞð ÃÐqÃð³ÃÐ_ðùÃð} ëàØÃðÃÀ—ÃRÃ(àÀÃàëýÃpiÃaÃÐÐÃPýÃpEÃPzÀÃànÃPÃmÃðƒÃÏÃàýðšÃÐÖÃUà ÃÀ&ÀÃpKÃPb"Ã¥Ã@kÃ@èÃ@îÃÀ2Ã0ÇÃäÃ[ÃP-Ã`§Ãðw!à ˆÃðÃÃÃ0ÍÃð›ÃànÃ@Ã`TÀÃ@SÃÃÐAà j"ÃðÃP'ðšð¬ÃÀÇÃÀ,ÃÀÃð ÃðÃöÃ0ÇÃÀÍÃÀ,ÃÐGÃPÃÀ8ÃpÎÃÐGÃpÈà  à #Ã@ÜÃ@ÊÀ~ðjÃ`0à Ã`• ÃÀÃàŒÃà’ÃFÃ"ÃÀÀÃÐSÃ¥ÃÀ Ã`!Ã@ÜÃÐÄÃ`¿Ã0Áð|àaÃÐâÃpìÃ0¯ðX!ÃÒÃ0DÃð›ÃüÃØÃêðùÃðÃ"à v Ã`³ÃmÃàtÃÀß!ÃàbÃ0DÃð›ÃPzÃ0ÓÃÛÃ@YÃ.ÃLÃ0>ÃaÃpWÀÀ„à ÿÀïÃ@ÃàbÃàßÃàåðíÃP!ÑÃð­ÃàtÃðÃàhÃØÃ.ÃÀÃÀ‘ÃÀÃÕÃÐ/ ÃàÓ ÃàÙÃ0,Ã`$àÒÃ@âÃRð|Ãê÷ÃPtÃ0,ÃgÃ@_ÃÀ2ðà #Ã`6ÃÐÜðÃP€ðvÃ02ÃàzÃÃpcÃÐÐÃÀ,ÃÀ£à ŽÃPÃÀ‘ÃP€Ã0Áà ¦à ¬Ã0,Ã`¡ÃpÚÀÃpàÃO ßÃLÃP Ã@_ðÃànÃÐ;ÃRÃP€ÀéÃÀµÃ@SÃÀðŽÃ@kÃÐ_àyÃànÓà šÃpcÃP'ÃÀ»ÃÃðÃ`­ÃàÃpÚÃÐMÃ4Ã¥ÃоÃP÷ÃpÔÃ@Öà /ÃÀÁðˆÀûÃ@ÐÃp¼ Ã`¹ÃPÃ`NÃPtÃ@ÖÃ0DðˆÃpøÃ"ðÕ!Ã08ÃÐYà Ã4ÃpÈÃ0—!à ÃÐÄÃÐAÃÐÄÃÐGÃ0DÃÐôðˆÃäÃвÃ@ÐÃ08ÃÐYÃPŒà[ÃPÃÃà’ÃPýà  ÃÞÃà÷ÃPŒðˆÃÐSñàaÃpÃÀVÃyÀûðÃ0»Ã0Çà )Ãð­ÃÀ¯Ã0,Ã`ÅÃ0JÃð›ÃÃ`¿Ã@eÃPýÃ`¡Ã:Ãð¡à ÃLð‚Ã4ÃpæÃà’ÃÉÃð¡ÃP†ÃsÃ@‰À„ÃÐGÀÃÐÖð Ãp]Ãà\Ã@Mà  Ãðú Ãðà ÃÃà¤Ã0ñÃÐÐðóÃ@YÃ0ÙÃdÃàtÃPzÃÐAÃð‰Ã:Ãp‡ÃÃ0>ÃpÎÃÐA÷ðvÃ@ÐÃÀ ðàÞÃÐÐÃPýÃÐÄÃPÃöÃpÚýÃððàüÀ¨Ã`ÑÃP'ÃpàðùÃ0µÀf Ã`›ÃàzÃ`<ÃáÃàÃÐMÀÃÐÄð|ÃPà ÿà ”Ãà†Ãð›Ãð} Ã0!ÃàtÃÉÃÐÀÃP ÃðÃ@eàOÃ`0ÃðƒÃ@MÃÀðvÃоÃ`¹ÃÐÐÃ@à )ÃyÃðÃ0PÃPËÃ08Ãð”ð”ÃÀ©Ã:ÃàñÃÀ‘À~Ã`BÃÉÃàtÃð­ÃXàäÃ02ÀrÃ(à[Ã@wÃÉÃÐYàIÀ à  ÀŠàmÃP˜ÃpàÃ0ÓÃíÃà÷Ã@ÜÀûÃÐYÃmÃ`0Ã@_Ã@YàOÃ@ÃöðóðÿÃXÀïÃ`ÃØÃ`¿ÃPÃ`HÃ`lÃð­Ã`¿àÞÀ–Ã`Ñà ÿÃ`!Ã0>ÃÞÃð ÃàzÃmÃP€Ã@îÃ@ÃÀDÃyëà Ã@îÃðà ÃÃÃpÔàÀÃXÃdÃàÒÃP†Ã@ÊÃ@qÃðÃàñÃ@îÃ@MÃ`ƒ#ðR"ÃpÎà ßÃÀ!àœ$ÀïðÃpæÃàåÃ0!Ã¥ÃàhàIà ŽðçÃ4Ãð¹ÃLÃLÀ~à ‚ÃàýÃð*ÃpÚÃpcÃÀ©Ã:ÃP˜ÃÃÀÃ0©Ã0µàÌÃ(ÃmÃ`$ÃðÃð0Ã08Ã0Dà à À–ÃpæÃð›Ã0ÁÃðà šð‚ÃàzðíÃ@MÀûÃ@ÊÃÞÃÀ Ã:Ãp]àÀÃ` "à¨"Ã@âÃPÃLÃÐ_Ã4ÃÐÊÃ`¡ÃPÃ"ÃpKÃêÃ@Ã0Jà #à ˆÃð¡ÃÐAÃð‰ÃÐAÃðè#ÃàJ"ÃК#ÃPÙ#Ãà )Ã`S+Ã0y&Ãp-#Ã@”(ÃP -Ã0[+ð,Ãæ*Ãpn-ð/Ãc'Ãà£(ÃÀa&Ãi&Ã0Þ*Ê+Àq3Ãph.ÃÐó)Ãð/-ü-ÃÐ^-ÃÈ/àï+Ãp†)ÃÀÀ+ÃÀ´-Ãp÷+ð-Ãàð0Ãï/Ã@+ð+Ã?-ðì2Ãð”1à 1ÃÚ,ÃÐó)ÃÐÿ'Ãpë-àT0Ã`¾.ÃÀI*ÃÐ|(ê0à¿3ÃÐR/ÃÀÀ+Ã@ó-à ".à 1ÃÀ´-Àô2Ãã1ð‡.Ãpý*Ã`è'ÃP¯*à +àZ/Ã'1àf-à Ÿ.à 1Ã071Ãõ.àÝ.à (-àl,à ±+Ã@š'Ãæ*Ãpë-Ãph.ÃE,àZ/Ãx.ÃÐL0Ãà…-À›,Ã`¾.ÃK+ÃÐ^-ðþ/Ã`Ö*à .,Ã0ê(à É'àŠ'ÃÐÿ'ð±'Ãpë-Ã@í.Ãph.Ãpñ,ÃP,+Ãð¾*À$+Ã0=0ÃP&,Ãpz+ÃÐá,Ãày/ÃÐù(À×"à +Ãð¸+ÃÂ,ÃðÐ'Ãð¾*à +Ã)à 4+ð/ÃÀº,Ã0a*À¡+ÃÀ=,ÃP£,ÃЈ&Ã0m(ÃÀ¨/à “0à~)Ãà,'ð4'à ½)ÃP-Ã`50Ãà*à (-Ã@í.ÃÐd,à ".Ãð).Ãpë-À­)ÃЂ'Ã0y&ÃÀÌ)Ã`k'Ãà*Ãpz+ÃÐv)ð,Ãp÷+àã-ÃÀ®.ÃÐj+Ão)Ê+àZ/ÃÐÛ-ÃK+Ãi&Ã`w%ÃÐ &à 'À**àû)ÃW)ÃP¯*Ãp(ÃðA*Ãà*Ãð).ð.(Ã`M,ÃÀÀ+ÃÀÞ&ÀË$ÃPÙ#à„(ÃÀ´-À /Ã,ÃК#Ã0…$Ã0ð'à ½)à 'Ãp'$Ãpz+À-Ã@”(Ãþ&â'à .,Ã@‚+àû)À¹'ÃÀs#Ã](Ãà+ÃÀº,ÃQ*Ãà&(À6(à L'ÃÐó)ÀÅ%ÃÀð#ÀT#ÃàÇ"ð¥)Ã@”(ÃÀê$Ã@ˆ*Ä,Ã{'à R&ÃðÊ(Ãðe$ÃÚ(ÃPÁ'Ã)ÃpŒ(Ãp? Ãp˜&ðŸ*Ãp!%ÃPb"Ã` "Ãp°"ÀÑ#Ã$Ãp9!Ã0…$ð±'ÃP>(Ãà8%Ã`• Ã`#ÀH%Ã0ö&ÃðG)À$+ÃC"Ã0…$à :*Ã0a*ð@%Ö)ÃPÙ#à+"ÃÐ;Ãðk#Ã+&à%Ã`e(Ã`ô%ðL#ÃP÷Ã@MÃР"ú#ÃÐ'Ã0%Ã0‹#Ã@;"ÃÀ… Ãà»$Ã`!Ãðe$à$Ãp-#ÃPñÃ0 ÃÆ!ÀT#à ^$À×"ß!Ã`_)Ãû-Ãò$àºÃ`‰"Ã.ÃP†ÃàßÀÝ!Ãðk#à+"ÃPñðdð4'Ãà¯&ÃÀg%Ãp'$Ã@5#ÃÀð#ÃÀ ÃÀ!Ãp3"Ã`‰"Ã{#Ã0$ÃPå!ÃPå!à%#ÃðÖ&Ã`ô%À<'Ãà¯&Ãþ"Ãø#Ã`ô%ÀN$à®!ÃÀ!ÃÐ/ ô$à%#Ã@G à í!ÃàÓ Ã %#Ãp¼ Ã"!ÃÐ#Ãp*Ã@(Ã4Ãð‰ÃÀy"Ãp!%ÃÀ… ðóÀûà%#à j"Ã°Û Ãp¶!Ã@;"à ÿÃðk#à–%Ã0m(Ãø#Ãþ"Ã`‰"Ã0%ÃàD#ÃÀm$Ã"Ã°Û Ã°X!à Û$ÃPb"Ãþ"à ç"Ã@¾!Ãð_%ÃP\#ú#ÃК#Ã@/$ÃÐ)!ÃàßÃP€Ãp? Ãðe$ÀÑ#Ãà\ÃðÃPñÃðð:&ÃÐ#à í!Ã@A!ÃPñÃØÃÐ5ðçà ùÃðà !ÃР"Ã@¾!àœ$Ãp9!Ãðî"Ãà2&ÃàP!à !Ã`}$à ÃPn Ã0!ðÏ"ÃPñÃàP!Ã`ƒ#Ã0,Ãà÷à ˆÃÐ/ Ã`!à[ÃáÃpÔà í!ÙðóÃ(Ã"Ãàµ%Ã`‰"Ã@A!àUÃàtÃ@ÖÃ`!à1!ÃÐ;Ãð‰à šà ð‚ÃÀ—ÃàÁ#à d#à í!ÃàÙðçÃвÃ0£Ãðq"Ã`›Ã`*ÃÐ;ÃPÓ$Ã[ÃÀ,Ã0 ÃàV à ‚à ‚ÃðñÃ@ÖÃÃI!ÃPß"ÃàëðpÃ¥ ÃÒÃиÃ@wÃäÃ@¸"Ã0©Ãà€ÀûÓÃÀ… ÃPë ñÀÃ`HÃÀ‘÷ÃÐ5Ãð•ÃPÃàbÃpKÃðíÃðÃLÃàåëà ÃÀ ÃUÃ0 ÃðƒðpÃиÃPn À„Ã0 Ã`#ÃpÎÃÐ#"Ã¥ ÃàÙÃPb"Ãðw!ðpÃð*ÃвÃàJ"ÃвÃ0¯ÃLÀ à[ÀõÃàåßÃÐÊàOÃàÙÃPÃ(Ãð‰Ãð Ãà÷à ˆÃ@YÃÞÃ`Ã@Ä Ã j"Ãð‰Ã`$àIÃ08à Ãpcà ÿÀûÀŠÃPÃ0DÃоÃ`§ÃP’ðÃÕÃ`§ÃоÃ0ÍÃÀà[à Ã&Ã`!Ãà\ÃpiÃð¿ðvÃ0,à à Ã08ðjðíÃðÃÀ,à7 ÃÉÀŠàÞÃaÃ0»ÃÐâÃÐÐÃ:Ãà÷ÃÐMÃ@âÃöÃ`6Ãð•ÃPýÃmÃaÃàtÃàëÃ@kÃð*ÃP'Ã@îÃ0>Ã0ÍÃÀ©ÃвÃp9!ÃPŒÃ`ËàÒÃ`¹ÃàÃFÃÐÖÃP’Ãà€Ã4Ãð­ÃÀÃÀÃÐ;Ã@A!ÃÀ ÃàÃRÃ`<ÃPýÃðÃ0»Ã`*ÃàëÃ@ÃÐYÃð›À~ÃpWðùÃpÈÃsÃ`BÃpÚÃPzÀõÃPtÃàbÃð›Ã@Ä Ã°Õ!Ã@âà )ÃyÃðw!ßÃ4ÃÀð|à #ÃÃàtÃ@kÃ:ÃиÃ"ÃpQðvÃÀ£ÃpQÃ`­ÃÐôÃÕÃÀ©ÃàtÃ02Ã0>ÃÉÃ0»Ã0¯Ã@Sà ”ÃpiÀ~ÃÀ,ð à Ã@eÃÀ,ÃÀ2ÃÀÃP À Ã…ÃðÃÐÄà  ÃPtÃÐMÃRÃÀ ðçÃàëà Ãð‰Ã`$À„ðóÃPñÃ4ÃsÃÐÊÃ0©Ãà\Ãp]ð‚Ã@_ÃÏÃàÃàëàIÃÀ©ÃÀ>Ã@‰ýÃpÈÃpÂÃÐ;ÃðÃP’Ã`<Ã`BÃ0ÁÃ`0Ãàà šðóÃвÃ@_ÀŠà Žð Ã@ÜÃÀ!àÀÀf ÃgÃÃиÃöÃpæÃ`$ðíÃÐ5Ãêà ÃàÓ Ã`›à !Ã¥Ã0DÃð$Ãðw!Ã0 àOÃ@Ã0>àIà šÃ`­ëÃ`§àäÃ0©À„Ã`<Ã`³ÃÐÊÃàåÃ02à Ã4ÃððpÃÐAà ÃÐÜÃ0DàÀÃÃð Ã@YàmÃðƒÃàhÃPýÃ0¯à®!à ÃÀñÀ àIÃ` Ã0©ÃвÃàP!ß!ÀÝ!ÃЦ!Ã0DÃPÃ0ÓàCÃØÃиÃP†Ã`ëÙÃÐMÃàëðX!Ã0£ñÃ@kÃ@qÃpKÃUÃ¥ ÀõðùÃà2&Ã@ÐÃÐÊÃ`ËÃÀDÃpcàÌÃ`­Ã0ÇÃ@Ã0,Ã:ÃpàÃ`ËÃÀ‹àºÃðÃð§Ã0ÓÃP ðóà ŽÃpÈÃÐ#"ÃР"Ãp¶!ß!ÃØàÒÃ`àIðvÃвÃðÀÃðî"ÀïÃP÷ÃÀ,ÃÞÃ@ÐÃ`­Ã0 ÃиðpÃàýÃðÃÀ… ÃàbÃ@Sð^ ÓÃPÙ#à=à |Ã0¯ÃàzÀÃP÷Ãp9!ßÃàV Ã`›ÃÀ‹Ã`!Ã"àUÃø#ðX!Ã( Ã`*ÃàÃÌ Ã0‹#Ã@kàÀÃð Ã(à ˆÃàßðóÃ0,à ÃsÃ0"ÃÐŽ%Ã`• Ã#Ão%Ãðú ÃÒÃPV$Ã0‘"ÃPë Ãðw!ÃÒÃàåÃð‰Àã Ã0"Ã@MÃpWÃ0©ÀûÃðàgÃð¡Àf ÃÐ)!ÃÐ;Ã@YÃ@ÜÇ!ÀõÃÃÐ#ÃЦ!Ã`¡Óà ‚ÃÐÄÀZ"Ã`›ÃЬ Ã+&ÃР"Ãðà[Ãp¼ ðR"Ã@ÊÃP÷Ãðî"Ãðî"Ã`k'À×"ÃPn à Ã@ÖÃ0©ÃPë Ã@Ä ÃPn ÃÐ#"Ãðú ß!ðÏ"ñÃ"ÃÀ,àIÃðq"ÃP€àÀÃàÓ Ã@;"à |Ã`à ÃÀ‘ÃpÚÃàÙÃ0"ðÕ!Ãà\Ã°Û ÃÀö"Ãðú Ã0»ñÃ@A!à ÿÃàJ"ÃÀ"Ãðw!à ÃPñÃpÂÃÀ©ÃPÃPtÃ@Ä Ã`$ðvÃðƒÃðÜ%ÃC"ÃPtÃ@ÜÃI!ÃÒÃPñà ‚ÃиðpÃP÷ÃPb"à ÃðÃpÔÃоÃ0,ðíÃàñÃàåÃ0 Ã"ðL#Ã`§ðÕ!Ç%ÃÐ5ÃPÃÃÃ`Ã@¾!ÃÐ/ Ã0&ëÃ4à ÿàÀàUàØÃ@ÜÃÀÃÀ&Ãp3"Ã@A!Ãp!%ðL#ÃPŒÃ0DÀ~ÃиðóÃP÷ÃPtÃPh!ÃÐ#ÃàbÃÀ!Ã0 ÃêðpÃ`!ÃÀ… ÃpÂÓÃð Ã(ÀõÃ.à ÀxÃÐÊà ˆÃÆ!Ã0&Ã`›ðL#à v ÃðÃоà ˆÃàP!Ã0…$Ã0a*à=Ã`³ÃpcàsÃàßÃиÃÀ‘ëÃðƒÃ{#ÃI!Ç!ÃÀm$ÃPzà í!Ã` "ðX!à v ÃÌ ÃÀ!Ã( ðíÀ„Ã"ÃP÷à j"Ã(Ã@YÃà j"Ã@¾!ÃàV à ÃP àÌà ðF$àÀÃpÈà ó Ãp9!ÃI!ÃpÚð”à ”Ãp? àCÃ0©à ÿÃ`!Ãp9!Ã:Ã`0ÃиÀõà=à p!Ã`!ðíÃ02Ã:ÃàñÃ`ƒ#Ã`• ÃиÃàV ÃðÃÐAÀxðpàÌÃÐÊÃ`¹ð÷ÃI!ÀZ"Ã0!à !ÀxÃà€ÃLÃüÃ`³à /à ŽÃ`§ÀrÃ`­ÃÐ;ÃàñÃ"ÃÐ5à ŽÃàëÃð•àIÃPÃÃàÒàÒÃ@ÃЦ!ÃÀm$ÃðÃÀÃÐAà v ð^ Ã(àaÃaÃ@kàÀÃànÃ0#ÃÀö"ÃpÂðpýÃFÃ@ÖÃàV ÃÐSàØÃPÃðÃàßÃUÃðÃ°Û Ã CÃÀ‘ðjàØÃPÃ`À`!ÃpÔÃP ÃLÃöÃоÃ[à ÃÃà ÃвàÒÃPžÃÐMà /Ãð§ð|ÃP˜Ãà†Ã0ÁÃ0…$à%#à ÃàÃ@ÃàñÃ0DÃ0>ýàÞÃÀ,Ã@îÃ@èÃ@îÃàñðvÃÀ Ã@eÃð›Ãð§ÃpQð|Ãsà ¦ßÃÀ—Ã`¹Ã0>Ã`BÃà˜ð à[ÃêÃÀ—Ã4Ãà ÀÃ0ÓÃçÃà€ÃP’à[ðÃ0ÍÃ`ËÃ0ÇðÃ@q÷Ã0ÍÃð*ÃÃÃ`ÑÃ@Ã@}Ã(ðçÃ0ÓÃ`BÃÃ@âÃPŒÃà€ÃäÃð§ÃLàOðŽàðÃ0ÓÀÃðBÃpòà ñÃàñð ÃüÀrÃÐÊÃRÃð|àOÀ„Ã@ÃÃaÃÐGÃð•ÃÀ£à ˆÃ`¹Ãð§ÃàhßÃ0DÃüÃÐ_ð‚ËëÃð¡ÃpàÃp]Àûà[ðÿÃ@/$ÃÀs#ÃÀ—ÃÏÃpÃð¿ðvàCÃÐâàaÃ`6à Ãà Ã@ÃyÃ@SÃ@ÃÏà Ã`¿ÃpWÃP†ÃöÃpKÃ(ÃàýÃüÃ(ÃÀ‘ñÃÐÜÃ@îðóÃÀýÃðÃànÃ@ÜàaÃðÃ@wÃðÃöÑÃ@eÃpæÃmÃ4ðÿðˆÃð¹Ã.Ãð•ÃP˜à àOà ˆÃÐ)!Ã4àØÃðÃÃÃЃÃ`éÃ0ÓÃpiÃP€Ã=#Ã( Ã¥àØÃ@ÜÃ@MÃPh!Ã`$Ã`6Ãà÷ÃêÃC"Ã@MÃ`BÃmÃàP!Ã@ÖÃ@ÖÃpEÃàÓ Ã°ùÃPñÃÀ!ÃÀ¯Ã0»ÃpWÃÐÄÃ@G ÃÞÃÀÀÝ!Ã`$ÃPzÀõÃÀÀrÃ@ÖÃÀ—ÃFýÃÀ8àäàgÃ^ÃP†Àã ÃÀ… ÃðÃðð|Ã0µðóÀŠÃpìð ÃgÃ@SÃÐÊàäÃÀÃàhýÃpÚð|ÃPÃ@îÃàbÃÐÊÀ~ÃàëÃ`¹àºÃpEÃà÷ÃðHàüÃÐÖÃ@eÃàßÃ[Ã0µÃXÃÀÃpWÃ@âÃP˜Ã@îÃpcÃÐâÃ@eÃÀ¯ÃLÃÀ,à šÃðƒÃ` ðóÃpoÃPªÃsÃð•ÃàåÃäÀ+Ã0¶Ãð Ã`Ã¥ ÷ðàgÃÀ‘àgàÞÃàzÀÃ@YÃàåà ÃÐYÃp{à ¦Ã`­ÃÃP’Ã`¿à ùÃP\#ÀÃFÃ`6ÃàÍ!ÃðÃ0DÃ@âÃ`­ÃÀ ðÿðdà ÃLðçëÃ`• Ãð$Ã@âÃpÚÃpòÃðƒÃ`6ÃPýÃPb"Ã@ÜÃpÎÃðÃàëðvÃP÷ÃÀðáÃÐÄÀ Ã`³ÃÐYà šÃ`ÅýÀûÃ08Ã0µàCà šàÒà )Ã@âëÃP'à[ÃиÃ@ÐÃPÃÀ&Ã`§÷ÃÉÃÏÃPÂÃpòÃð÷à ŽÀïðˆßÃ0©ÃpàÃÏðvÃÀ Ãø#÷à )ÃÐAÀÃàëÃ0PÃð¹Ã@qÃ@ÃÀ8Ãp]Ãà’ÃàýÃÀÃp3"ÃÀÃLÃ@ À+ÃàsÃ.ëÃ0PÃêÃ`0Ãà à ÃÕð‚Ã@eÃPÀŠð Ãà¤À¢à ŽàÀÃÕÃ0ÓÃ`NÃ`¿ð|ðˆÃð¿ð Ãyà ˆà ÃàåëàÞÃ`ËÃpæýÃ@ÃdÃpuÃ@îÃÐîÃP¼ÃÏÃ`0à Ã@kðˆÃ0ÁÃP!Ã…ÃpæÃ@kÑÃ0÷à ;ðÃpòð)ðšÃPªÃpìÃpiÃÐÄÃÀ»ÃðÃ4ÃðÃðHÃàÀ%Ã@ôÃ@ÃÃ¥ÃÃðÃ0ÁÃFÃpiÃ@§Ã‹Ã@qÃð0Ãð6ÃÀ¯Ã0ÙÃ`<Ãð›Ã@}ð²À¨Ã`$àÞÃÐâàà ²Ãp{Ã@èÃPÃsÃPŒà à Ã4ÃÀÁÃ0ëÃà˜Ãð¡ÀÀ%àmÃ`¿Ã4ÃÐYàUÃüÃ`<ÃÀ Ãð­à‹àüÃÐeÃÐèÃ`Ëà GÃÀßÃÛÃ0JÃP9ÃÃP˜Àà Ãà #Ã`¹à ¦Ãð¡Ãð*ÃÐwÃð0À à #Ã0JÃà˜ÃÐâÃÃ`HÃ`Ñà Üà GÃpoÃààÞÃP Ã0PÃ0ÓÃ@úÃ`0Ã0åÃP¼Ã0ÍàCÃ@ôÃàzÃ@ÃÀÁ÷ÃÃ@ƒà ²Ã`×ÃÐkÃ`TðšÃààgàÞàsÃÀ¯Ã‹Ã|Ãp{Ã`<ðÿÃpàÃpoÃP˜àUÃÀ©Ã0†à ¦ÃP3ðùÃà’ÃpoÃð•ÃpWÃpÚÃ@wà ¦Ã…ÃLàsÃÐ}à Að‚à #ÃÐqÃP°Ã@ àðàÃÐÜÃ0PàyÃ@âÃäàaÃpuà à 5Ãà€ðpà Ãð§ÃÐYà ÃP!Ã0ÓðùÃ0ÁÃáàmÃÐÜÃàåÃ(à ”Ã`0Ã@ÜÃ@ôàUÑÃPÃÀ‘ð½%Ã@ÜÃ@}Ã@úÃ0ßà /ÀÃÕÃyÃ`¹Ã4ÃP Ãp]Àà à Ã`­ÃàÃ0ÁÃàŒÃ0»À à à Ãð Ãp¶!Ã@Êà ÿÃ0»ëÃPÃÀÃ`$Ãð Ã0,ÃP˜ÃpÔÃð àÒÃ0ÇÃÀßÃðÀ„ðdÃÐ5Ã0ÇÃêÃÃà ÃPÃ`§ÃêÃpìÀà à ÀûÃ¥ÃоÃàñÃ@èÃP€ÃpuÃ`ÝÀÃ0&Ã`­ð‚ÃÀ2à[ÃpWÃà€ÃÐÐà ˆëÃ`*ÃÀ©Ã@}Ã@ƒà #ÃäÃÀ à í!Ã08Ãà†ÃÀ,ÃLÃP†à=à )Ãà€àCà[Ãð*Ã4ÃÐMÃPzÃÀÃpQðdà ˆÃUÃp]ÃÐÖÃ…ÃÐqÃàñÃpÎà ÃP ÀÃð§Ã:Ãà\ÀŠÃð0ÃêÃ0ÇÃ`­àUÃÐ_Ã@÷ÃpoÃXðvÃàßÃ0Í÷àaÃ@}Ãð0Ã`¿Ã@îàöÃpòÃPŒÃð Ã@eÃà Ã`HÃ@qÃmÃÀÁÃ08ÃÀ©ÃÃàÌÃ0ÇàÒÃ`ÝÀ–ÃÀ&à d#Ã@ÜÃÀÀŠÃàåÃÀ!ÃFÃà†Ãà ðóÃÏÃ`6ÃàåÃ`6Ãà†Ã@úà Ã@wÃ@qðùÃÀ!ÃðÃÕÃP°ÃpàÃÀ‹ÃgÃ`6ýÀõÃ`›ÃÐYÃ`¹ÃÏÃ0ÁÃ:ÃP9ðÃÐÊà šÃ¥ÃÃÀ¯à #Ã(ðùÃðÃêÃpcÃÐÄÃ`ÃÀ,Ã"Ã@ÜÀÃaðpÃP˜Ãð›ðíÃ0µÃÐÐÃðÃÐGÀÃÐYÃP!à ˆðÿÃP°ÃÐÖÃ@ÊÃ[ÃpòÃÀ»à /Ã.Ã`Bà )ÃÀ8ÃäÃ`Ã0£À–ÃÐYÃ@âÃ0JÃð›à[Ãð6ÃFÓðÿÃ0ÍÃpòðÃÀÇÃpÔÃð§ÀœàÞÃ.ðÀ–À%àÃÀ»ÃÀ&ÃüÃÐÐÃpÃð¿Ã@Ãðq"ð‚Ã`ÝÃð­Ãð¡Ã`ÅÃ@‰Ãà ÃÐÊà ÃpòÃð6ð‚ðŽÃÉÃP'ÃP’À–ÃÐÜÃÀ8Ã@wÃð³à ÄÃÐÜÃPÃÐYÃsÃà˜ðàØÃð*Ã`6ÃÃpìÃêÃP!ÃàëÃÃdÃÃ4Ãð§Ã0DÃP°ÃàŒÃpuÃP'Ãà¤ð ÀŠÃàà  àØÃÉÃdà 5Ãð6ÃäÃ0¯Ã0VÃà ðóà À¨ÃàŒàUÃàzÃ^ÃàÃÐGÃêÃPÃð6ÃP?Ã`ãÃpìÃÀ—ÃPtÃÀ‹Ãð6ÃP!ÃÐMàØÃà÷ÃÀ¯ÃP˜ÃsÃp]Ã0ÇÃpiÃÀ8ðÀÃÀJÃyñÃÏÃ0VÃ`BÃàÃÕÃàÃpàÃ@wÃ@Ã4Ã0ÍÃ@ðˆÃð<Ã`ZÃÐqÃýÃÐMÃÛÃàÃ`³Ãð<ÃÀÁÃð§ÃPŒÃ`<Ã@è÷ÃFÃüÃI!ÃpKðÃ`BðóÃ0&Ãð›Ãð*Ã0DÃð*ÃÀ2àUËÀÃ4ðÿðÿÃð*àgÃÐÖÃÐÄÃpcÃ0DÃÕð ÃÀ ÃÀ2ÃdÃ0VÀà ÀÃÞÃ0&ÃP¤ÃpþÃpòÃpæÃà ð Ã@qÃÀÃÐÖÃð³à )Ãð›à ŽÃ@Öà ðŽÃ`¿ÃsÃ0,ÃÐÊÃÀ©ÃÀ—ÃÀÃ`¹ÃêÃ`BðšÃpoÃ`<Ã(à ŽÃà÷ÃÐÐÃÛÃ0JÃÐèÃðÅÃÐèÃ`¡ðíàmÃ0ÍÃ0ÁÃà šÃÃ`ËÃpòà[Ã@ Ã@wÃsðˆÀÃ@ƒÃððçà ¸ÃP3Ãð¡ðÃ@qàØðùÃàýëýÃÐYÃ`¿ÃÐ;ÃP’à ÃÀ¯Ã¥Ã@èð|ÃàÃ``ð ÀÃÐSÃàÃð¿ÃÐÊÃgÃ0ÍÃÐÜÃíð‚ÃüÃ@ƒÃÃpoÃ0,ðùÃÀ£ÃÀ,à ¬ÃÀ,Ã:Ã@ÃÕÃp{À%ÃÐâÃà\Ã`0ÃÀÓÃð6ÃPžÃà  ÃLÃàV Ã`!ÃÐMÃÀ©ÃÀ©ÃÀÃpEÃP˜ÃÕÃ@ÃÛÃÀÃ`­ÃsÃÃÐèÃ`ËÀŠÀïàÞÀ¢ÃÐèÃ0Óà )àäÃðHàsÃà ÃÐâÃpuð5Ãp ÃFÃ`¹ÃpKà ¦ÃðÃp]à 5à ¾àUàIÃàëÃÐÖÃð›ÃðÃÐÐÃàëà )ÃànÃðÃ0VÃ^Ã@ƒÃàÃ`ÅÃpÎÃPŒà šÃ@ôÃpøÃÀ¯ÃpÎÃpÚÀŠà Ãð*Ãð­ÃpÃð*Ã0PÃÀÁÃ`¿Ãmð|ÃàÀÃ`³Ãð Ã@wÃÏ÷ÃP˜ðóÃÐGà Äð À–Ã`BÃ@úÑà Ãð­Ãð³à šÃ`§ð Ãð$ÃÀÃð ÀÃÐ_ÃXÃÃÃàýÃðÃ¥Ã@ôÀ–ð|Ã4Ã@ôà ¦ÃÀÃð*àUÃ`*ÃÐMÃ`Ëà ÄÃÃÀ—ÃÀ£ÃÐeÃÃ`³ð|à ÃpoÃ0VÃ@eÃöÃÐÐÃà†ÃÀµÃpæÃ`¹Ãð­ÃðÃð•ð‚ÃyÃàÃÐ_ÃÐÊÃð‰Ã08ÃÀ£ÃÐMÃFÃPÃ`ÑÃ`<à Ã0>ÃàtÃFÃpìÃÃ`ÅÃ0¯ðíà ÃðÃ0JÃÐâÀ–ëÃXÃà à ð‚ÃоÃpÔàÒÃsà šÃp{ð Ã0Çð|ÃPàaÃà÷ðŽàäÀœÃà’ÃÀ8ÃÃÃ`NÃ`<Ã@âÃpoÃ…Ã0JÃ0ÍÃà÷ÃàñÃ0»Ãð§ÃpWÃððùÃà Ã0bÃÃ0ÓýÃÐYÃà àÆÃ@ÜÃ`ÅàðÃð§ÃÐAÃð6Ã@›àÞðóÃPŒð ÃðÑÃÐÜÃ0DÃðÿÃÀ ÃÐMÃ0ÁÃpÚÃ`0Ã…Ã0åÃ@à  ÃpÚÃ@âÃÃpÎÃà÷À„Ã`BÀ®ÃpÔàUÃ0ÙÃ`§ÃÀ2ÃÉðˆÃ`ÅàUÃð­Ãð­ÃP!ÃàŒÃÐîðçÃÐÜàäÃ@eÃ`rÃÀåÃ@‰ÃP'ÃpiðŽÃpì÷ÃFÃ@ÐÃ0>Ã@úÃ0JÃÐîÃ@kÀ„ðùÃpìÃÐèàØÃPžÃðÃÀ&ÃLÃ4ÃÐÊÃPžÃpìñÃ0JÃ`*Ã°Û Ã°vÃ08ÃpÚÃ`­Ã0ÇÃÐúÃÐ_ÃÀ©ðóà àgÃÀ,ÀÃ02Ã08À ÃðHð5ðÃ@YÃ`BÃp{à ¸Ãð‰à Žà |Ãð§Ã0åÃpÚÃÀ©ÃP€À–ÃÀÍð À%Ãöà ÃP¶ð‚Ã@YÃ0PÃà÷ÃðÀÃ^àUÃÀ ÃpEÃÐSà ÃpÔÃ(ÃànÃ@YðˆÃ0ÁÃO ÃвÃ¥À÷Ã7$à Ã@èðÃ` Ã0µÀûÃà÷ÃвÃÀ"à7 Ã0&Ã@_à !ÃpÔÃ0Íà  àÌÃ0 à j"Ãðî"à !ÃÀÀxÃðq"ÃÐ#ÃоÃ02ÃÃPÇ&Ã0ê(Ã"!Ã` ðÉ#ÃÀ['Ã+&Ãðô!Ã¥ à v à¢#ð¥)À×"Ã0‘"ðX!Ãðq"Ãp&Ù"Ãp3"ÃàÁ#ÃÀØ'ð·&Ã#ÃÀs#Ãþ"Ã"!Ã0 ÃP\#ÃÀö"Ã` "Ãp'$Ãðw!Ã`ô%Ã&Ã0$À¹'ðÕ!ð½%Ã0%Ãà8%à&ÃpÂà d#ÃÐ|(ÃW)Ãp¤$ðL#à v ëÃЬ ÃÐAðF$ÃÀm$ÃP\#Ãðî"ú#ÃàÁ#ÃÀ"Ã"Ã` "ðÏ"Ãðk#àºÃ0 à Ã`• Ãðè#Ãp°"ÃÐ$ÃàP!Ã@G ÃÀð#Ãp3"Ãà´ ðáÃ@;"Ã0ü%ÃàJ"Ã`ÃàP!ÃÒÃ0>Ã=#Ã0!ÃàåðáÃàÍ!ÃÐ#"Ã0—!À×"ÃÐ5à ó ðÉ#Ãi&Ã#Ãp? ÃàßÃPh!à |Ãð•ÃpÈÃPV$ÃÆ!à v à v Ãð_%ÃPb"à ŽÀ„Ã0µÃÀÃpQÀf Ãðâ$ÃPë Ã0&Ãðô!Ã` "Àã ÃоÀõÃÀö"Óà=Ãp-#Ã#à |Ã` à7 Ã`›ÃpWÃÐ#Ãpª#ß!à7 Ãp!%Ã0$Ã#Ãà\ÃP\#Ç!Ã:Ã@ÐÃàýÃàŒðŽÃÀ2àCðáÃ0©ðÃÃÃP€ÃÀê$ÃЦ!ÃÐ_ð‚ñÃàÓ Ã`ƒ#Ã#ÃàJ"ÃpÔÃP€ðíÃÐÜÃ0DÃÐAÃàÓ ÃðÃ(Ãà\Ã:Ãð¡ÃÌ ÃÐGÃ08à ÿà ˆÃ@;"Ù"ðùÃð¹ëÃÀÃpWÃpÂÀxà ÿÃÐ#"Ã:Ã(à  Ãð•ÃàåÃиÃp? àÆðíÃðÃ@¾!Ã@ÃÐMà ŽÃð ÀûÃÀ Ã[ÃàÙÃàV ðvÃðÃöÃÐÄÀÝ!ÃÐ)!ÃFÃpiÃÐÜÃÀÃ`Åà ÃÞÃPÃUÃàP!Ã02ÃPñÃàÓ Ãà>$à¨"àÌðˆÃ`¹Ã0µðÿà ÃpÔðpÃ@SÃÞÇ!Ã@Ðà=Ãp¶!à  ÃÐMÃ`6ÃpøÃ@qÃÀ&àOðdÃ`• Ã`§ÃÐÊÃFÃð÷Ãànð|ÃиÃð} ðˆÃ`6ÃððÃ`BÃyÃÏÃPtÀ à šÃ@eÃp{à #ÃàgÃ0ÇÃ`­ýÃpÚÃànà[à šÃPðíÃPÃ`*ÃÀ¯ÃàÃsà à !Ãð Ãð ÃP†àÒÃ0&Ã0 ÃÀ©ÃPÇ!ÃPàaÃPžÃ Ã`­à[ðùÃÃÃpæëà ‚ÃÀÀ~Ã`ÅÃð›ÃpÎÃp]ëà šÃ0,ðÃÐeÃ`0Àõà ˆÇ!Ã@eÃpcÃðàIÃðÃpÔÃ@_ÃP!ÃðàOÃÐÐÃ0JÃ4ÃÌ Ã ®!àCÃ`§à šðíðÿÃ0»ÃÐMÃ0»ÃpKðçÃð‰à ˆÃÀ©à ¾ðšÃ`BðÀŠðùÀÃÀ¯àÌàCÃPÃ0\Ã:ÃàhÃäÃmð|ÃpcàIÃÀ,Ãð} Ã0&ÃàëñÃpoÃà’Ã`§ÃPb"À~ÃððpÃÐGÃpÈÀlÃ@èÃöÃ02ÃÀ£ÃÐÄÃðàIÃpcà v à à ¦ÃÐîÃ02ÃàåÃ0ÁÀZ"ÃpàÃpoÃÀ£Ã`ãà YÃ@Ã@Ãð¡ð ÀŠÃð6Ã0DÃ`¹ÃÌ Ã0£Ã`­À–ÃPà Ãð6à ÊàäÃ0ÇÃpÃÐeÃÃpìÃ4ðÿà  Ã@èÃ…À¢ðÃ0Íà ÃaàØà /Àõà[ÃÀ>à #Ã@kÃÐ_Ã`×ÃpìÃð§Ã`³ÃP˜ÃP ÃÃð*Ãà ÃöÃP¤ÃÀÃP€À–Ãp‡À¢Ãð6ÃðÃ@kÃÀ,ÀÃ0PÃàŒÃÀ¯Ã[Ã@ÜÃàtÃÐYÃð›Ã@kÃçÃ.Ã`ËÃÀJÃP’Ãð0Ãpì÷Ãà÷ÃðÃÐâÃpð‚Ãðà  ÃP°ð ÃFÃ(ÃðÃ`NÃÐÜÃÉÃàÃpÃ^àmÃÀÁð¦ÃÀ»ÃÀ©ÃpWà )Ãðà[ÃÀ‘ðùÃ@ÃÀ»ÃÐYÃð*À¢Ã(à À–ÃRÃÐôÃÉðŽððùÃÑÃÐwÃÐeÃÐÊÃ:ýÃð$Ã@ƒÃð­Ã ÀCÃP¤ðóÃÀ ÃP˜ÃÐYðÿÃ.ëÃ`6ÃÃÐMÃ(Ã0ÇÃpQà ÃXÃ:ðùÃÐÐÀ®Ã@¡Ã.àÞÃÀ,ÃpþÃÐ}ÃÐÐàäÃpÎÃ0ÍÃà†à[ÃÀ£ÀÃàÃ0PÃð*Ã@_ýÃ:ÃpQÃ@qÃÕàäÃsÃ@ÀÃpìÃPÃÏÃpæÀ–ÃÀ,ÃÕÃpuÃ`ËÃpæàOÃyÃpWÃ`³ÃÐeÃðëÃêàUÃð•Ã`$ÀûÀàgÃáÃPÃ@Ã@kÃpìÃP!ÃÀ¯ð à ÃÀ£ÃRÃ0Dà ”ÃpQÃ`¿ÃpþñÃPªÃpþÃp{ðŽàOÃ4Ã`$Ã`<À–Ã0DÃ@YÃÐÖÀ®ÃÕÃP’Ãð¡Ã( Ãà÷àØÃÀ Ãà€à šÃ@kàØÃPŒÃ`­ÃànÃpWÃPýà  ðÃ:÷ÃPŒÃP†Ã0»ÃÀDðŽà v ÃàÁ#ÃÕà  Ãà€à 5Ã@kÃÀ2ð‚Ã@Yà Ã(Ã@Sà ¬ðÃÐÖÃÐÖðÃ`<Ã`­ÃÐÐÃLÃsÃÀ ÃRÃÀµÃвÃ0 Ã`³ÃðÃ0»àØà ùÃPŒÃpQà=ÃÐSÃ`NÀ~Ã@Üà ðáÃ@ôÃÀÁÃPÃÐÐÀxÃöÃÐMàIàÆÃPtÃ:Ãà€ÃpQÃàýÃ0>Ã.Ãp¼ à+"ÃвÃÐ;ÃàÙÃUÀlÀ~Ã`¿Ãð›ÃpKÃàV ÃÒÃpÔÃpæÃ0ÁÃð‰Ã0»à[àgÃð¿Ã`0à1!ÃÃ@èÃÀÃоàÆÃðÃÐGÃР"Ã`!ÃpÎÃð‰Ã0,Ã`• à®!ÃÃà #ÃàV ÃД$ÃÒÃ`$Ãð$ÃÐÐðŽÃÃ@eÀõÃ@_ÃpQÃPÃànÃðÃÐÊÃÀ¯Ã0\ÃàëÃO Ãp¶!Ã@ÖÃàtÃÀ!ÙÀœÃÃÀÃÐ;Ã0&Ã@SàÌÀŠÃgÃÃÀÃ@èÃLð”ð‚ÃPñÃÀëÃÐÐÃÀ‘ÃÀ2ÀŠà )Ãð$ðóÃ`*à #Ã@ÐÀ`!Ã¥ð ÃpoÃpæÃ0,Ã@_ÃP’ðóÃÀy"ÃgÃиÃßÀ ÃP’ÃPŒÃ"ÃpàÃpKð|ÀõÃ0¯ÃP€ÙÃ@îàÒÃP†Ã4À%Ã@ƒÃÐÐÃà€Ã`$ÃmÃáÃ0DðùÀïÃоÃ4à šðÿà ‚ëÃçÃÐeÃ`<ÃÐSà À–ÃÐkÃàhÃpcÃ`*Ã`¹Ãð‰ÃÉÃÐÖÃØÃÀ2Ãàýà ðˆÃpÃÛÃ0»Ã`§Ã`6ÃÐYÃànÃ@SÃ`³àäÃà ÃÐ_à ”ÃðÀÃÀ¯ÃàtÃà€Ã`¿Ãp]àaÃ0JÃäÃP à ˆÃ0Óà #Ãànà ‚ÃPÃÀDÃ0ë÷ÃpàÀ ÃÐGÃ0>à[Ãp]ðÃÀ&ÃP†ÃpiÃð*ÃàtÃàñÃpøÃð›Ãà Ã0åàððÃ@¸"Ãà÷ÃpuÃà-ÃPà ËÃ@ÃP!÷ÃPžÃLàäðvÃpÔà Ã@}Ãð¿Ãà Ã`¿Ã@}ÃÀDÃ0\Ã@‰ÃÐâà ÀÃÛÃ@âÀõÃ0>ÃÀ&ÃÀ©Ã@ÜÃ0DÃÏÃFÃ@eÃP¤ÃàzÃ`*Ã08ÃÐMÃ0¯ðÿà[Ã@ÃÀ8ÃÐSà  ÃÞÃP!àüÃP?ÃP¶Ãð•ÃÀ2ÃÃÃ`ZÃÀÁÃP'À„àêÃÀ&ÀûÃÀ&àaà 5à ²ðàIÃFà ÄÃ@îÃð*ÃðƒÃð§àöà ¦Ã0µÃPÃðËÃ…Ãð³ÃÐÖÃÕÃRÃpþÃÃÐSÃpiÃð•Ãà÷ÃÀåà ÐÃ@kÃÐGÃP!ÃÕÃPªÃ@}Àà ˆÃð÷Ãmà Žà ”ÃpæàaÃð­ÃÐYÃÀ£ÃP˜ÃP†Ã.÷ÃàŒÀ–Ãà àêÃ0ÁÃ0,Ã¥ÃànÃàzÃP€ÃFð‚Ã@qððÿÃÐ}à ÃÐGÃ0ÍàÞÃàýÃÀ—ýÃà˜ÃüÃ0¯à ¦ðÃ`ÑÃpÈÃЬ ÃpÚÀŠàÌÃaÃÐ5ÃpàÃ02ðÃP¤ÃÐÜÃà€ÃpþÃ@ÖÃ@kÃÏÃP’àÌÃ0µÃ@}Ãð§ÃÀ‘Ãmà ¸Ã@ƒÃð³Ã`³Ã0JÃ0DÃ@èÃÐMðÃRÃpiÃ@wÃ`BÃ`Bð‚ð|Ã.Ã`<Ã`<ÃP†ÃF÷ðjÃÀ Ã`HÃüÃ@ôÃÐGÃPzÃgÃàýÃ`ÑÃPýÃàtà ”ð|ÃpoÃäÃ4ÃPà[à ÿÃ@ÖÃð›Ã`›ÃpÚÃ`<àÞàÌÃP÷ÃgÃ0ÍÃXÃ.Ã@qÃÃà )ðÿÃÐGÃP˜Ãð0ÃPžÃÃp? ÃpWà šÃpÚÃð•ÀõÃÐMà ÿýÃP'ÃLÃðw!Ãp¼ ÃàýÃpcÃàŒÃànðˆà®!Ã@ÐÃêÃÐGÃ`BÃpòà 5Ã`¹Ãð§Ãà†Ã0ÇÃÃPýÃ0»Ã¥Ã0>Ã`¡Ãðî"Ãà†ÃPžÃRÃð ÃpìàÞÃ4ðÃÐeÃ0»ÃðÃPÃð<ð‚ÃPàðÀ+ð Ã‹àUÃFÃaÃÐî÷ëýÃ0ÁÃÀ©à ¬ÃpþàgÃÃ÷àOñÃà€ÃP˜ÃàtýÃÐAÀrÃ`¹ÃÃ@Ã:Ã@ôÃð6Ã`Åà ¬ÃÀÇÃ08ÃÐÊÃð<ðÃà’Ã0ÙÃ0DÃð$Ã@ÃÐúÃð<Ã0ÇÃð§Ã@qÃP¶ÃÛÃ0ÓÃð$ÃÐSÃàžàÃð*ÃÐÜÃ0VðÃ@àðÃ@wðšÀÃ0ëÃ@èÃ@ÜàÌàððšÃÃÉÃð§ÃÃÀÇàÒÃð›ÃpÃÐkàÞÃÀ»Ãð$ÃðÃP ÃÐÖÃ0ÇÃÐÖÃ@qà[ÃÀ8ÃPÃLà à ¸Ã‹Ãð$Ã@úÃ@wðšÃðNÃFÃàžà ;ÃàŒÃ‘à ¬ýÃ`ÅÃ@}À%ÃP ÙñÃð¹Ã`ËÃüðŽàöàöÀ+ÃÐèð ÃýÀ¢àmÃPÃpþÀ®ÃP¼ÃÃP’Ã`$Ã0DËÃ@ ÃðÃÀÃPÀð ÃÐÊÃÐAÃÀ8Ã@‰ÃÀÓðÃpWÃP!ð¦ÃPªÃ…ÃÉÃ@Ã:Ã`Bð‚Ã`$ÃÃÃpæÃsÃP!ÀÃà˜ÃÐúÃàŒÃPÃÃÃpàÃ`6ÃP÷ÃpWÃðƒÃàëÃÐÐàIÃPŒÀ„ÃÀ©Ã@úàÞÀû÷Ãð‰Ã`6àmÃáÃÐYÀÃ@ôÃÕÃ¥Ã`*ÃpiÃ@ÃÐqÃÐèÃpoÃ`6ÃàëÃ`ËàÞÃÐMà ÃFÃð6Ã`ËàÒÃ0ÇÃ@îÃPýÃÀ&Ãpcà Ãð›ÓëÃpÔà Ã.ÃP˜ëÃð•Ã`­Ã@èÃ4à ÃÀ‘Ãð•ÃÀ£àÞÃàñÃPðóÃÉÃÃÀ‹ÃÃP€Ãà÷ÃgÃpàÃ( Ãð‰àÀÀÃÀ‹Ã`6ð ðpÃP¤ÃöÃpKÃRÃpàÃPÀÃsÃÐAðóÃ@ÜÃà\ÃðÃ0\Ã`ËÃPŒÃRà )ÃàtÃàV ÃPýÃÐAÃðÃ`¿Ã`<Ã0µÃ`<ÃpàÃ:àäÃÃ…ÃÃðíÃPñÀïÃ0ÍÃ`ÑÃà€Ãð*Ãð­Ã@YàÌàØÃÞðçÃpcÃÀ8Ã@_ðX!ÃÐAÀrÃð›Ã@ÃÐÄÃöà Ã0»ÀõÃ@ÃÀ—Ã@_ÃÀ£ÃÕÃpÔÃÀ Ã@SÃP†ÃÀ£Ã0>àUð‚ÃðÃÀ‘ÃàñÃÞà |ÃgÃàhàÆÃÀýÀÃ@úàðÃ[àÆÃ02ÃäÃðàÀÃà†ÃàtÃ[Ã`¿àOàºÃ0 à ”Ãð§ðçÃ0"Ã` ÃPŒÃPžÃ0#ÃPë ÃðÃÛàUàCà ó ÀõÃP€Ã`­ÃÉÃPŒ÷Ã4Ã`<ÓÃ@Àà Ã0»Ãð‰àOðùÃàÃÉÃP†Ãà÷ËÃP!Ãà÷àIàØÃð*Ã…Ã@úàUÃ@_ÃyÃð­ÃPà=ÃÐ &àÆÃ…ÃP'ÃÀ©àÞðÃsýÃÐÖÃPå!ÃÀ&ÃpòÃpÔÃ`¿Ãà÷ÃP¤ÃpàÃ`³Ã0ÇÃLÃgÃ08Ã@ƒÃðÃ`ÃpQÀõà ‚Ãð•ÀûÃÃÀÃÀ,ÀðŽà ˆà Ã`Ã0µÃ0ßÃðÃaÃP!à )Ã0JÃP’ÃpþÃaÃäÃÞÃpÔÃpæÃpÚÃPýÃÃð Ã08ðvÃpÈàIÃ@èÃP'Ã0\ð|Ã`BÃÐ_Ãð§Ã0ÁÃöðÃ0»Ã@ÃÀ,Ãð¡ÃÉà  À–ÃP€ÃàÓ Ã ÞÀ ÃÐ;À~ð‚Ãà Ã@wÃð§Ãð³Ã.Ã@SÃàtÃFÃðÃ@eÃ0ÍÃÃà†Ãà’ÃàÃÐeÃÐÊàºÃ0,ðdàCÀrÃÀ£Ã@Ãð0Ã`ÑàmÃpæÃP¶Ã@Ã@îÃ@à ùëÃ@kà )à£àäÃP€Ã`­Ãð¹ÃÐâÃÉà /à[ð àgÃð§Ã`¹Ã`­ÃPŒÃÛÃÀµà šÃÛðÃ@âÀ¨ÃÐkÃp ÃðÅÃFÃÀ£Ãðð)ð”ÃpòÃð¡Ã`<Ã@ôàsÃ0ÇÃÐèÃà’ÃÀµÃ0JàÞÃÐÜÃPýÃp]ÃÀµàgà #àêÃ0\ýàOÃpÈÃüÃÐÊÃ@SÃð<ð/à /àäÀœÃÐeÃdÃ0JÃüÃàÑÃ0V÷ÃpoÃçð#ÃàüÃàåÃ@MÃRÃ`BÃ@àUÃ0¯ÃàtÃÃÃð¿Ã`NÃüà /Ãð¡ðùàÃ0hÃànÃXÀ%ÃsÃ@}Ã`NÃP°Ã`*ÃàbÃpøÃÀÇÃàªÃðBÃXÃÞð‚ð#Ã`BÃ"ðÿÃ0ÇÃPžÃpøÃÀ»ÀŠàÞð|Ã@eà[ÃÃÃFÃgÃpàÀ ÷Ã:ÃÐÄÃ0ßðˆÃP€À„Ã0ÍÃÐÊÃ(ÃLÃ@Yà ÃXðÀ à #Ãà÷ÀÃpuðùÃp]Ã@ôÃðÃàtÀœÃpÚàIÃpàÃüÃ@kÃ@èÃp]ÃÐkÃ0åÃyàäÃÀ ÃP¤ýÀëÃ`¹ÃÀ,ÃÐwÃÀÁÃ`­ÃÀ,À¢à ÃPÃPžÃ`§À ÃàŒà ÀlÀ`!Ã`¿ÃpøÃPžÃgðpÃaà ÃàzÃ@qÃpcÃ0JÃ0Jð”Ã`¿ÃðÃpìÃFàÃRÃPÃ0bÃÐîÃ`NÃ0ÇëÃÐÜÃ0ñÃÐwÃ0>ñÃ"ÃÐSàðÃà˜ÀÃÀPÃ`ËÃÀ Ã0©Ã@ÜÃð•ÃPÃ0>ÃpcÃ`<ÃRàÞà  ÃpuÀ ðŽÃ`ËÃ0ÁÀÃÐYàaÃÐÖÀœÃ:ÃÐèÃàÃpøÃ`ËÃð*ÃàhÃÐ/ àÌÃÃpcðàÌÃð*ÃP°Ãà¤ÃRÃPªðùðÿÃpæÃàV à ÃðBÃP'Ã@§à 5Ãð³ÃPÃ@ÜÀ%Ãà˜ÃÐÐÃ@G Ã`BÃà÷ðˆÀœÃÀ2à ;à ;Ã0DÃà†ÃpiÃð¡Ã—ðÃ@ÜÃpiÃP3Ã0JÃðÀûðùàÆà ð”Ã`0àÌðóàÌÀÃð§Ã0¯Ã:Ã@ÜÃ`BÃàzÃàtÃ@Ã@MÃÀ¯ðÿÃàßÃ0—!Ã¥À®à ¾à  Ãöð ðŽà ÀŠÃ0ÓÃXà )À¨àmÃXÃàýÃÐwÃð­ðÿð ÃàÃ`ÑÃ`¿Ã0»ðÿÃð*Ã0ßÀ¢ÃpþÃ0ÙÃ@eýÃð­Ã`ËðóÃ`¹ÃöÃÐAðpÃÀDÃÕàÒÃpoýÃð›Ã:ÃоÃàÃP¶ÃÀÁÃpæÃP°ÃáÃÃÑÀ Ã0ÙÃpiÀÃð6Ã`BÃpìÃ4ÃP’ÃðÃP˜Ãp]ÃÐÖÃÀ ÃLÃ08Ã@Üà ¬ÃÐwàÒÃ¥ÃÏÃÉÃð*ÃÐ_ÃpQÃÃpuÃЃÃðHÃð<Ãð›Ã@àÒðdÃmðÃ@ÃP?ÃÀ¯ð‚ÃP ÃpòÃÀÁÃpiÃP˜à šÃ`ÑÃpààaÃÀ¯ÃpcÀà  à ²Ã`¹Ã@ÖÃaðà #Ãà÷Ãyà Ãðà /Ëà #ÃÀµÃð6Ãà÷ÃÉàÞÃp]Ã@úÃpòÃÐ_à  ÃÐÄàmÃÃLÃÏà /ÃöÃpiÀrÃ`6ÃàzÃÀ8ÑàöÃànÀ–Ã0ÙÃ@ôð”ÃàžðŽÃÐYÀ ðpÃÐMÃàÃ08ÀŠÃ0ÇÃpoÃPzÃÀ ÃàŒðˆÃ:ÃÐGÃ@èÃàÃÏÃð0ÀÃ`<ÀÃÃÃpàÃà’ÃðÀàyà 5×ÃPŒÃÀ Ã`ÅàmÃÀÇàðÃáÃÀ2Ãð0ðÃ4Ãà’ÃÃàÃÃPªÃÀ»à  ÃLÃPžÃÐYà[ÃpìÃ0>ÃÉðÿÃ@âÃð$ÃPÃ:Ãð} ÃsÃ@Ã0ßÃà'À+Ã`ÝÃpoðšÃP¼ð)ÃXÃ0ÇàsÃÃ@eÃ@ÃöÃÀ,ÃÐYÃÞà=à šà /ÃpcÃÀ£Ã02ÃPàsÃà†ÃPÀÃÉÃ`ÅÃð¡Ã‹À„ÃPðšÃíàäÀŠÃð¹ÃpÃ…àäÃ¥Ã.Ã0\à ¬Ã@wà /Ãà€ðùÃÕËÃ@}À–à ¦ÃP¶ÃjÃüÃð6Ãð$ðšàöÃ@‰ÃsÃaÃÐèÃÐqà /ÃàåàÒÃ0ÍÀÃÀÁà[ÃpìÃP-Ã@Ã`ÅÃð•Ã`6ÃyÀ¨ÃÐôÃpþàÞÃÉÃP¶À¨Ã`<à Ãp{ÃÀÓÃP°Ãð*àäÃP˜ÃjÃð§ÃpKÃêà )À¢ÃðBà ;Ã0PÃ@qÃÐkÃÐkÃ@ôðŽÃ0VÃ@ Ã@àmÃÐÐÃÐYÃ@ÃjÃÀÓÑÃ@ôàsÃÀµÃ0ÓÃyà ²Ã^ÃmÃ`NÃð<ðóàÒÃ@ƒÃPÈàgÃàŒÃ…Ãð•Ã@wÃ`Ëð‚Ãð¿ðàmÃLÃ0ÇÃFÃÐ_Ã`¿Ã@}à AðÃð0ÃyÃð$ÃpuÃÀ»Ã`HÃpøÃ@ƒÃàžÃpÃ0ÓÃ0nÃÀ¯ÀÃpWàIÃpuÀÀàÃP-ÃP¼ÃÃ0DÃà€Ã@À%ÃÀ8Ã`­ðÿà ”ÃPà AÀ1ÃÿÃ0ñÃàÃ0PÃ4Ãð­ÃàýÃRÃÐSÃ0JÃàýÃÐkÃjà ¸ÃàÃÃÀÃpàêñÃ@YÃÐSÀ%ÃàÃPžÃRÃ@wà ;ÃP-Ã0nàyÃ0µÃ(ÃPð ÃÀßËÃpiÃüÃàÃÛÃà’Ã@ôðvÃðàÞÃÀPÃð6ÃmÃ`ËÃ`HÃÐÜÃP˜ÃP!Ã:ÃÀDð Ã@qÃpæÃÐèÃáÃ`¿Ã@qÃpÔÃPzÃÃ`NÃÀ—Ãð*ÃÐYÃÉ÷ÃÃÐYÃíÀÃÀm$ÀïðÃ^ðAÃPEÃð§Ã`HðÃÃpæÃ`³Ã0Áà #ÃpøÃp‡ÃçÃ0\Ãð|àOÃ`³ÃÐSÃpcàÒÃ@wÃ0bÃà!Ã@ Ãð§ÃÀµÃùàðÃ`ÑÀ1ÃpÃXÃð*àöÃÀ»Ã4ÀÃäàÌËÃà˜ÃÃÃPžÀ¢Ã`BÃÃð¹ÃÀDÃdðÃà ÃðÃÐGÀ%ÃÀÍà ¦ÃsÃð¡ÃàðÀœÃÕÃ@}ÀðÃàÃPŒðdÃp]Ãà!ÃÀPÃàŒÃð¡ÃÐÄÃpoÃ`fÃ`ËÃ@qÃð›ÃPŒÃÀ&Ã0>ðÿÃàzà ÊÃÀÇÃ0åÃP¶àmÃP’Ã`§Ã0DÃàðÃ0DÃàŒÃ0Dð|ÃP'ÀÃ[ßð‚Ã0Çà ²ÃÐôÃð§Ã`6ðÿðÃàýÃP¶Ãð¿À„àØÃ‹Ã.ÃmÃ@ÃðËÃ@ƒÃyðà ”Ãð*ÃRÃP¶ÃPžÃgÃÀ£Ã.Ã4ÃpÃ.ÃäÃPžÃ—Ã0hÃÀ»ðpðŽÃàÃ@wÃÐSÃ0ëÃÀÁÃp{ðšÃÀµðÀÃð­ÃÀ¯ÃàÃ@ÃÐ5ÃиÃ0µÃ`ËÃ0\àsÃàÃpàÀûÃ"Ã@à ¦ÃP°àðÃð§ÃüÃ0PÃóÃpoÃ@eàaàäÃ.Ã`³ÃÐÜÃ"ÃLÃÐúÃpiÃgÃàŒÃ`¹Ã`§Ãð§Ã@qÃð*Ãüà #ÃpæÃ@à ²àäÃð§ÃsÃð*ÃsÃ0JÃÛÃð0Ã0JÃÀ—Ã@ÃöÃ@qÃðð|ÃÐÐÃðàðÃLÃ`TÃÉÃ`$Ãà†ÃÃÀ8ÃFÃ`TÃÐeðÃàÃ@eÃÀ©ÃÀ2Ãà Ã@ôÃð¡ÃÐèÃpWÃ0PÃpþÃàzà /ÃP ðíðíÃÐAàØÃÀ»à ²à ¸ÀŠÃð¡Ãð§Ã@úÃð¹à ¬ÃpÃðBàØð|ÀÃpuÃ0nÃ@•ÃÀ»Ã`6ñÃpìéÃ0zÃ0åÃ.ð ÃÃ``ÃPKÃ`ZÃ0ßÃ0ÓÃÐôÃpòÀÃÐkÃÃЃÃP’Ãð‰Ã`<Ã0\ÃpÃÀÇðˆÃ^ð¸ð5ÃP!ÃÐâÃ&ð5Ãð<ÃPªÃ…ÃðÃ`NÃ@wÃð6ÃP!ÑÃFà ¦Ãð0ÃÐYàsÃP Ãð³àsÃyà ;Ã0nÃP-ÃÕðšÃÛÃ`Ëà /ÃpÃ`TÃÀµÃÐÜÃ…ÃPªÃàtÃàýÃðýÀ¢Ã@ ÃÃ^ÃðÑÃ0nÃð¿ÀœÃÐ_Ãê÷ÃÃ0€Ã0JÃP˜ÃP3Ã0åÃÀ—÷ÃàÃdÀ%Ã`BÃjÃàÃLÃÀ>ÃLÃÐkÃpøÃ0 ÃP°àÃP-Ãð*ÀÃÀ>ÃpuðÃpiÃÀÁÃÐ_ÃäÀ¨Ã—ðÃ0ÍÃÃP¤ÃðHÃ0hàðÃ0DÀ¨ÃXð ÃÐîàüÃà¤ðÃ0nÃàžÀŠÃFÃÀ>à ¬ÃðBÃP-Ã0ÓÃpà /Ã``Ã&ÃÃ`ÝÃÃ@Ã0bÃP¼Ãð­Ã…Ã@}ÃÐîÃ^ÃÐSÃàñÃ`<Ã0»Ãà†ÃPªÃP-ÀœÃ0Vð ÃPÃP¤Ãà÷Ãð0Ã^Ã`0àgÃ.àÒÃàëàIÀxÃðÀà ÃgÃ`0ÃPÃÀ&ÃmÃоÃyÀ–ÃÀûÃPtÃÐÐðàaÃðÃ4ÃàV ð|ÃpÎÃ0>àUÃ0,ÃÐ)!ÃоÃäÃðßÃFÀ„à1!Ã0!Ã0!Ã@SÃÀ,Ã0»ÃððóÃð•ÀxÃPÃÐ;à Ãp¶!ÃÌ Ã IÃ.ðvà ”ÃpQÃpÂàÒÃ0©Ãp9!ÃàëÃPŒÀlÃP ÃpÚÃ`0ÃÐ#"ÃPtñÃÀ&Ã0,À`!Ã`• ðpÃàßÃÀ… ÃÉÃ$ÃàJ"ÃàV Ã`*à ÃPýà !ÃPÙ#ÃØÃ@MÃp¶!Ã#Ãp? à¢#ÃàÙÃÀ—Ãð} Ã@(ÀÑ#à  ÃÐÄÃ02ÃÐÖÃP’÷ÃI!ðùð|à Žà !Ã.Ã`$Ã"!ÃàÙàÒÃUà ÿÃðÃPå!Ã@MÃpQÃÀö"Ãà>$Ã@¦%à p!ÃpÔÃ7$ÃðÖ&ÃÐÊà Ã"Ã`›à®!à ŽÃPÙ#Ã0 ÃàÙÃ@MÃÀ!ð^ ÀrÃð‰Ã`ƒ#à Û$Ã0s'ÃPß"ÃC"à j"Ã.Ãðú Ã`›ÃÒÀf ðÕ!ðX!Àã àÆÃ0DÃàëÃ0"Ã0%Ã0‘"Ã02Ã0µÃ`§Ã"!Ã02ÀûÃ`!Ã@¬$ðáà ÃÀ!ÃÀÃ(Ã`*ÓðjÃpÔà Ã@²#ðL#Ã0‘"Ãð‰Ãp? ß!ð@%ÃP\#ðáÃ"Ã@5#ÃÐ)!ÃPýÃyÃ°Û Ã`• ÃЬ Ã:Ã(ðdà¨"ÃÆ!à ˆÃpWÃàhÃ0,ÃP€Ã@èÃUàºÃÃ"Ã0£ÃpcÃÐAà p!ÃàV Ã4ÃP Ã0"ÃÃàåà ‚Ãð­ÀlÃ0"Ã@A!ÃÀÃÐAÃp¼ ÃUÃàÍ!Ãp? àÆÃÀÃ@ÜÃðô!ÃLÃÀ ÃP˜ðçÃpWðíàÌð|Ã0»Ãàbð|ÃäÃ`6àUÃ`• à ÃðÃÐ;Ãð•Ã`¡àCÃäÃ`HÃPÃà€ÃÐÄýÃPtà ˆÃÐ;à ÿÃÀ Ãð ÀlÃöÃð­ðvÃ`BÃÐ5àÆÃðÃðƒÃPzÃÒÃ0—!Ã0 ÃðÀŠÀÃðàgÃÛÃpWà®!Ãp¼ Ã°Û Ã`6Ãüýà v ÃÀ‹ÃðÃà†Ãà’àIÃpQÃÐMàaÃÃ0JÀŠðvÃ@ÖàgÃPžÃоÃ@YÃ0"ÃpKÃ0µëðÏ"Àã ÃààØÃð­Ãð6ÀÃ@ÜÃgÃÃ`BÃ`­ÃðÃpìÃÐkÃpWðùÃÀVÃ0Íà v à ð|ÀxÃP€Ãð­Ã@eàÒÃpàÃöÀxðˆà[Ã0ÇÃð¡ÃÀÍÃÀ»Ã`HÀÃàñð|À Ã`¿ð|ÃÃÃ4ðùð:&ÃÀ!ÃP!À%À+à ¬à  Ã@ÜÃPÃ@eÃÐÖÃÐGÃ@àaÃÃÃ`ÝàgÃ`¹Ãð$ðˆÃ(Ã@wà Ã02À~ÃÀ¯ÃRÃð­à šÃ0DÃàñÃÏÃgÃ¥ÃÐÊð^ Ã4ÃÀÃ0DÃàhÀrÃêàØÃ08àÒÀ–ÃpÔÃðÃ`ÅÃð6Ã08ÃPb"Ã@kÃÀ‘À ÃÐAÃ¥Ã0µÀéëÃp]Ãð›Ã0ÁÀ¢ÃÐâÃÐÄàÒÃÐÖð Ã(Ã02Ã`*Ã`0ÃpìÃð$ÃÀ©ðíÃ0 Ã(ÃÀ2ð‚ÃðÃ`¡ßà |Ã=#à ‚ÃäÃÀ!ÃmðÿëàUÃpcÃ.ÃàtÃ@kÃÐGÃ`<ÃsÃÐMÃ4ÃÆ!Ãð•ÃЦ!ÃÌ ÃàzÃÐYÃð›àOàgÃà€à  Ã0\Ã4Ã@âÃØÃÐÄàCÃ¥Ã(ÃàtÃ`ÃÃðÃÞÃð*ÃàtÃàëÃ@SÃ`• ÃP÷ÃP÷ýÃUÃÀðÕ!Ç!Ãð•Ã0µÀõÃaÀïÃðÃÐÖÃðƒÃð$Ã@èÃ`0ÃpÎà ‚ÃP'Ãð›ÃÉÃPÃÐ_Ã`ËÃ`6Ã°Û ÃpEÀ Ã@YÃ4ÃÀ—Ã0,ÃðÃÐÖÃöÃàbÃPñÃÒÃ0#Ã`­ÃÀÃàñà ˆÃ.ÃÃpÈÃ¥Ãà÷ÃÀDÀ Ã.àÞÃÀ©àsÃ0åÃP÷À„ðóàºÀxÃÐ;ðpà ŽÃàb÷ÃpÎÃpWÃ.ÃàÀ–Ã`6ÃpÂÃ@Ã@kÃ@eà  Ã0»ÃPýà Žð|ÃaÃ`*Ã0,ðà´ Ã@kÃàzðáñÃ0PÃ@qÃ@}ÃÐÊÓàäÃ@ôÃpÚàÒÃÀ—ðùÃð•àUÃÐâÃ4Ã`§ÃÀ ÃðÃP¤à ¸ÃÀ àgÃà ÃÀ8ðvÃ0 Ã0ÓÀà )ðˆà  ÃÀDÃ`BÃ:ÃðÃsÃFÃÛÃàåÃÐAÃP°Ãð0ÃÀµÃ`ËÃpQÃ@ÃÐèàüÑÃP3ÃP¤ÃRàêÃüÃP˜À Ã@Ã0€Ã@ ÃP’ÃüÃP'Ãà€ð ÃpìÃð$Ã@ôÃÃ@}ÃÀ¯à à šÃP!Ã0»ÃFÃ0\Ãà˜ñÃàŒÃPÃêÃ@qàmÃ`ZàÒÃ0µà )à ¾ÃpòÃpàmÃÐeÃ@ÀœëÃ0JÃà ˆÃ02ßà ”ÃÐSÃPÃ`ZÃùÃÃ`×ÃàÃp{Ã0V×ÃÀPÃ@‰Ã0ÙÃ@wðŽÃðÃLÃ0ÓÃ@ÃÀµÃàžð àðà ”ÃðÃÕ÷ÀŠÃ@Ãð*à ÃÀÃpðÃðà ¸Ã`ïÃð¹Ãà ÃÐwÃP˜Ã`¿ÃÃ@ÃpøÃ0ÙÀ+ÃðÃÃÀ&ð Ã@ÃÕÃÀÁÃàÃàtÃ@âÃÀ&ð Ãà÷ÃäÃÀ!ÃàðˆÃ0Và ÃpWÃP˜ÃÐYÃÀ8ÃÐSàUà ÃP’à šÃð›Ã@Ãð¹ÃP-ÃPŒÃ0DÃgÃÀÃÀ,Ãð›ÃÀ Ã:Ãp à Ä÷Ã`­Ã08ðšàsÃyÃÀ&ÃpcÃ@ÃP’ÃpKÃÐÊÃÐÐÃ@ôðšÃáÃ0ÁÃ@èÃÛà )Ã0Và  ÃpàÃ@_Ãð<Ãà˜Ã0bÃÀ»Ã`6ÃÐÜàêà )Ã`*ÃðÃÀÍÃpòàIÃ"à )ÃÀDÃPÃP˜ÃÐÐÃ4ÃÀ,ÃÃ@}ÃÐkÃäÃàzà ¸à #ÃÞà ÃÀ,à ÃäÀà ¬ÃÃÃ0ÇÃàëÃ0ÇÃàzÃÕÃÀ\àÃ0ÓÃÀµà ¸Ãð6Ã@qðà ²Ã@ð¦ÃP'Ã`³ðpÃP'ÃP'Ã0ÁÃpoÃÃpøÃÐÖðÀàÆÃÀ ÃPÃFÃP’Ã0¯Ãð§Ã0ÙÃRÃ0¯ÃPàgÃð6Ã@îÃ(àÞÃ0ÙÃàýà ¬ÀÃ0ÍÃ^ÀÃÐYàgÃÐâÃÐÖÃð¡Ã Ãð<Ãð•Ã`*ÃД$Ã08Ã0ñÃ0PÃpà‹À%Ãà˜Ã4ÃP÷Ã0>ðÃð0àOÃ0&ëà[ñÃÛÃpcÃPðŽà  Ã4ÃPŒà ‚ðpÃÃÃ`­ðdÃpÂÃ`BðùàÒÃÉÃPð”ÃP¤ÃÀ2ÃpÚà ŽÃ0>Ã@èÃ@e÷ÃgÃÀ2à #Ã08Ã@SÃ@_ÃP€ëÃP€Ã`0ÃLÀûÃàåðˆÃÀÃ@eÃ0ÇÃð­ÃÀ8ÃêÃPàØÃð$ÃàÃ`<ÃÐAÃÐ_ÃPà šàêÃPn Ã°Û ÃàV ÃÐÜÃ@ôÀ¢Ã:ÃpQÃ0ßÃ0åÃÏÃ@ðóÃpiÃð³ÃP9à ¬ÃÐSÃ@}÷àäÃ@îÃp]ð‚ðˆÃÏÃàŒÃð¿ÃRÃÃÐÊÃ`Åà Žà šðÿÃоÃàßÃsàaÃvÃààÌÃ"ÃP˜ÃÐÜÃ`¹ÃÐeÃð¡ÃpààmÃP†ÃÉÃÐYÃð­Ã0DÃ@îÃ@ÃÉÃ`NÃP'à  Ã&ÃÀµÃÐSà #Ã@}à GÃ`ÑÃjÃüÀ„ÀõÃ0&Ã`³ÃpæÃpòÃ0ÓÃðÀŠàsÃáÃpoÃp]ÃвðóÀñàÀÃàýÀÃÉÃ0ÍÃP˜Ãàà ;ÃÐSðpÃÃÃÃÀÃ0JÃÀÃð} ÃÉÀÃÆ!Ã0—!Ã`ÑÃP°Ã@qÃPŒà ŽÃð•ÃáÃ0nÃ@•ÃÐ_Ã`<ÃpKÃÐÖÃpQÀ~Ãð•ÃàzÀŠÃàŒÃp{ÃÀ»Ãà÷Ã`$ÃÐ;ðˆÃ`NÃpuð‚Ã`×àðÃRÃ4À–Ãð*ðóÃàzÀŠàØÃ@îà  ÃpÔà À–à ÄÀ¨ÃÀ—ÃàtðŽÃùÃüÃð­Ãð¿Ã0bÃðÑðÃ0ÍÃ0Ç÷ÃÏÃ0ÍÃ0ÙÃÐ;Ã@Yà  ðÿÃð*Ã:ÃÃÏÃÀVÃP°ÃðàÒÀð ð¦ÃÃpiÃ`*Ãà÷Ãð0àsð¦ÃÀÃð›Ãà¼ð¸ÃP3Ã`ãÃ0Ùà #ÀÀàaÃ@ôÃ@}Ãpæà )Ã`HÃP'ÃPÃ0åàÞ÷Ã`ÅÃÐÐàäÀÃÃpàäÃ0hÀ÷ÀûÃ:Ã`ÝÃÀ©ðšÃLÀ ÀÃð§Ã@ôÃPªÀ+ÃvÃà'ÃÏà‘Ã`ãÃð6Ã.ÃÃÃpuÃàŒÃPðÿñÀÃ0DÃpoÃÐMÃð*ÀŠÃ`BÃLÃ`BÃоÃPå!ÀõðÿÃ0>Ã@eÃà†àØÃÃÐÃêÃð¡ÃÃàñÃà÷àÌÃ0VÃÃÃP˜ÃÀ2ÃàŒÀàmàgÃÀ,àaÃÐÖÃðÅà #ÃmÃ0»ðàsà ¦ÃÀ,ðÃFà ²Ã@ƒÀÃÕÀÃ@wÀœð ×ÃÕÀ„ÃÀëÃÏðùÃð0àöÃ`ËÃP à Ã`ZÃRÃà ÃÐ;ÃÀ&ÃPžÃpcÃ0,ÃÐÐÃàýÃPÃ`<ÃððùÃð•Ãð­À+Ã@Ã0ÍÀÃpøÃp“ãÃ`6ðÃFÀ„ÀœÀ Ã`ËÃ@qÃàŒÃp‡ÃÀÍëð‚ð|Ã`Ëð”ÃðÃàà ;ðàaÃ`ÅàsÃ@ôÃ`HÑÃLÃð$Ã0ëÃ@ ðšÃüÀ ÃààêÃ0ÇÃÐÐÃ0ÁÃÃ`HÃLÃ4ÃàÃ0ÇÃ@îÃP’ÃÀDÃÃÐqÃ`ÑÃLÃ@îÃ@à ÃÃà’Ã0nÃð<ÃP’Ãà÷à ¾ÃjÃP!Ã`lÃðHÃð0ÃÀJÃ`ÑÃ:ÃyÃRÃ@ƒàsÃà€Ãà’Ãð¿Ã0hÃÐeÃÉÃ`<Ã0ÇÃÏÃÀµàsÃP9ÃPÂÀ®à )ÃðÃpoÃ0ñÃÕð¦ÃÀ»Ã^Ãð0ÃðàIàUÃÐÐÃÀ¯ÃöëàgÃÀ»Ã@ƒÃ`*àÞÑÃ@ÃðHÃà À–ÃpðšÃ@âÀïÃÀ—Ã@eÃÀ‹ÀÃÐqÃàÃ``Ã^Ã@ ÃÀµàÌàÌÃð³Ãð<Ã@}ÃFÃ`6à ð‚àgÃÀ>ð”ÃðBÃÐâÃÃ…ÀðÀÃðÃÛÃÐÖÃ0ÍÃP!à Ã@eàäÃ0ÓÃpøÃÀ8ÃäÃP!àmÃÐÖÃÏÃPÃpòÃÀ£Ã0Jà šÃ0PÀxàÒÃP9ÃP!ÃÃÃ@qà ÃêÃ@kàØÃpcÀŠÃð*ÃáÃ0ÙÃP!Ãp]Ã@qÃyËÃ@âÃ0©à ”ÃyàêÃÐèÀ+ÃààÞÃ@ƒÃàÃpøÀ´ÃÐÜÃP-ÃàËà[Ãà\ÃP’ÃÐÖÃ.Ã`HÃp ÃÐúÃÃ`<À ñÃ@îÃ@Ãà ëàmð/à  ÃÀ©Ã.Ã(Ã02Ã@kà ÃpoÃP°ð”Ãà ÃPžÃð³ð”Ã@îÃPÃÀÃ`³Ã0hÃPÃÉðÃpæÃpÃjà ¦àÞà ¦ÃpòÃ@Ã`NðÀõÃPŒÃ0µà Ãà #à šàmÃ0ßà  ÃàŒðÃ0åÃÏÃà†à  ÃüÃð¿ÃpøÃà˜ÃàëÃàzðÀ´ÃXÃ@ÃÃÐkÃÐeÃsà šÀÃð¹À®à ²ðÃànÀ~Ã0ÍÃÃà€à ðšÃP'ÃpòàÞÃàåÃÀÃ0bÃFñÃêÃP†ð‚ñð‚Ãäà Ã`HÃpøÃðÃ0JÃ@ôÃ^ÀûÀ`!à í!Ã`¹Ãà€Ãð­ÃPŒñÃPÃ@âð Ãð ÃÀ Ã@kÃöà ÙÃÐÄà ”ÃpÚÃ`§Ãð•ýÃ@²#ÃàV ÃpQð|Ã@ÜÃ@ÖàCÃÐèÃ`ËÃÀ»ýÃÐYÃpÚà ”Àf ÃP€Ã`<Ãð*ÃÐeÃ0µðà ÄðÿÃ0 Ãð•ÃÐÊÃ0VÃ…à #ÃÐGà1!Ãàbà  Ã@ÐàIÃpÂÃgÃ`BÃÐÄÃ`³Ã( ÙÃ`›ÃPë Ãpo÷Ã`Nà‹Ãð$ÃêÃ0©Ã`0Ãà’Ã:ÃpWÃØÃPžàäñÃðÃ0ÁÃ@ÜÃ@Ðà7 Ãð$ÃP÷à |à |ÃmàÒÃÀ©ÃÀDÃÀ©ÃÀ£ÃØÃ`§Ãð›Ã0Dà šÃà€Ãð*ÃpKÃ`$ðÿÃ.àÒÃ`6àÞÃÀ¯ÃðÃ`Åà´ Ã@¸"ÃI!ÃP˜ÃpiàÆÃsÃà€Ã0DÃyÃ0Dðùà Žà ²Ãð0ðíÃð Ã`ÃÃÀðvÃÐGÀŠà šÃ``àØÃRÃàtà Ã`BðˆÀlà ˆðvÃàßðvðóà |ÃàJ"Ã@eÃ`¿ýððÿàäðóÃð¡Ã@qÃÐGÃ`$Àðà šÃ@eÃ`ÑÃð¿ÃÐÖÃ@Üà ¦ÃaÃ`HÃ4ðùÃ0ÁÃ0ÇðóÃвÃÐ)!ÃÀÃ0»ÃpoÃÐâÃ0µÃÐ;ÃyðjÃPn ÃÞÃpQñÃpÔÃ:ÃàÙßðíÃàåÃP ÃmÃLÃ0VÃ0ÇÃPýðóÃÃÃ`BÃpìÃÀ&ÃPýÃ0£ÀÃ0ÇÃ@Àà ”àUàäÃ`ãÃöðíÃ@úðdÃК#ÓÃPÃð$à ”Ãà÷Ãpuà )Ã0ÁÃ"Ã0¯ÃXÃ`­Ã0ÍÃÀ8ÀðÿÃÐGÃpQÀ ðšð à  ÃäÃÀ¯ÃÐYÃ:ðjÃgÃ02ðÃ0PÃÐâðŽÀÃðÃðà ;àaÃÐÊðùÃðƒÃàñðùÃöñÃ0DÃ@eÃð›Ã(à ðÃÃ0ÇÃ`0àÒÃÃÃÀ—Ã@ÜÃð¿ðŽÃ¥ÙÃ`­ÃaÙÃð*à /ÃùÃ…ÃÀ©Ã0ÁÃÐYÃ@ÃàñàêÃ@úÃ@}ÃpæÃ`³Ã`BÃP3ððŽà ”ÃÐMàaà ‚Ãàñ÷Ãp]à ”à ŽÀà ÃLÃpcÃÐAÃоÃ`6ÃàñàgÃ`§ÀœÃPð‚ÃpÃPŒÃÀ8ÃÀµÃ@×ð¬À%àaÃ0>à ˆÃP˜ÃÃÀ2à ÿàºÀxÃ0ÓÃP3Ã0åÃ0VÃsÃFÃmÃÐ;ÓÃðàIÃÀ£Ã@ƒÃ@úÃð*ÃpiàÞÃmÃÀ—ðŽð¸ÃPžÃ@eÃðÃpÔÀÃð•ÃÀ&ÃàåÃÀ&ÃXÃpÀ¨ÃPtàÒà ÀýÃPñÃà÷à à  ÃÃÀ2Ãà€ýÃ@ÃpæÃ:ÃPà ”ÃäÃP†Ã02Ã@_à ÃmÃð¡ñÃàV Ã:ÃðÃÐ5ÃÀÃð•ÃÕÃÀ¯ÃPÀ Ãp9!Ã0,Ã(Ãyà v ÃàbÃðÃp{ÃÃ`¹ñÃÀ8ðóÃà†ÀÃP€ÃÃÃ`BÃà ÃpcÃÏà /ÃíÃPžÃpÎÃsÃ@âð”ÃÐîÃàzà ‚ÀûÃ@úÃ0PÃÐÖÃÀ©Ã¥ÃÐÐÃÀ‘ÃàåÃÀ¯Ã0PÃ0VÃÐMÃðà ˆðóÃ@âÃP’Ãp]ÃP˜ÃpoÃêÃàÃPÃ@ÖÃ`0ÃÃRðšÃð­ÃðÃàýÀÃ0DÃÀ,ÃüÃP˜Ã@ôðÃÐMàØÃà\Ã`<Ãpoà šÃPðvÃàëà ¬Ã0JÃXÃ`Zð‚Ãð÷ÃUÃ@èÃPžàÒÃ.Ã@G Ãð$ÃPÃP Ã`¿ÃpàÃgÃànÃP†ÃpWÃÐÊÃÀ&Ã0»Ã0PñÃÐÄÃ`*ÃpWýÃ0µÃ"Ã`¹ð|ÃÀ&ÃÐYÃyÃàbÃP†ð‚à ÃàßÀõÃð‰àaÃ@îÃpÚÃP’À„ÃPÃpEÃÀÃPÃÃÃ`×Ã`¹ÃÀðL#ÀlÃ0»à[ÃüÃpòÃ0»ðpàOà )Ãð‰ÃÐÄÃÀÃ@ÖÃ@ƒÃÏÃÀ8ðùðvÃ0DÃ`›À×"ß!ÃðÃ0µÃyÀ ð ÃäÃÀ!Ã@G Ãà÷Ã.ÃÀÃðÃð ÃвÃð¡Ã@ÊÓÃPÃàÓ Ã CÃ0 ÃàÓ Ãðú à ÿÃ@ÐÃÐÄÃÀ8ðÿð ÃÀÑ#Ãð Ãð‰ÃPtàmÀàØÃðÃ¥ Ã0 Ãàà )Ã0ÁÃ@A!ÃÃð›ðdÃЬ ÃØÃ`$Ã@eÃpWÀ Ã@îðvÃð•Ã`¡Ãà€ÃPà Ãð0Ã`¿ÃPÃÀðvÃ4ÃP!à  ÃànÃ0>Ã@ôàUðpÃPzàÞÀ÷Ãð¡ÃÃÃà€ÃPð ð àÒÃàßÃ`*Ã0µÃ`¿À à ¦Ã4Ã`›ÀûÃpøÃ`×Ãð³ýÃP˜Ã@úÃð³ÃðÃ0åÃ`ÅÃ0»ÀõÃêÃ‘à ²ÃpæÃpKÃ@Ã`ÑÃÀ2Ãp{ðÃgÃ`¡ÃÃÉÃ`*ÃÀ¯ÃpàÃàÃ0ÓÃPÃÀµÃà€ÃÀÁÃPÃ@ð‚Ã0\ÃðšÃð³ÃàÃ`0Ã0bÃÀ»ÃÃÐYà )ÃÀ&ÀŠÃ0ÓÃÐÖà )Ãð$ðÃÐôà )ÃFÃsÃð*ð‚Ã0ÁÃ@_ÃàtÃpoà ;ÃÀDÃ`NàaÃ@ƒÃpøÃFà[Ã0ÍÃ`BðšÃð›ÃÐGà Ã4Ã`BÃP˜Ã:Ãpoðà 5Ã`ÅÃ@îÃð0ðÃüÃP-Ã`ÅÃÐ_ÃsÃð¡÷ÀÃLð‚ÃpoÀ®Ã‘Ã@èÃànñà ÄÃð¹÷ÃsÃP¤ÃpìÃLÃpÎàCÃð¡Ã`<àmÃRÃ`<Ã`BàgÃ`BÃ@ÀÃP’ÃÃLÃ`ÅÃ@îÃàÀ–ÀŠÃàÃðÃ@ÜÃÐÖÃÃðàCðÃÀÍÃpÃ`­ÃmÃpàÃÕÃàØÃ0Dà ‚Ã0ÇÃÀÙÃÀJËð Ã`ÅÃçÃ^ÃðÃ@ôÃàà /ýÃð§àØÀÃp]à ˆÀ ðçëðˆà[ÃpÔÃàåÃPÃpàÃÐYÃüÃàhñÃRÃ`§ÃpÔÃð•à  ðšÃpQà ñÃ@YÃÃ%'Ã0£ðjà ùÃ0ÓÃRàüÃ^ÃàÀ¢ÃmÃ08ÃÐSÃÐÄÃ0µÃðÃð¡ÃXðdÀlÃ0,à  Ã0µÃиÃàýÃpuÀ„ÃÞÃ0JÃmÃÀðóÀlÃà÷À~àOÃÀ8Ã`*ÙÃP ÃyÃ@ÊàÌÃ`*ÃpÈÃ@kÃÀ&÷Ãàßà ÿÀÃÀ Ã`§ÃÀ‘ð‚ÃpÔÃÐ_Ã0ÇÃpÈÀf ð|ÃPÃ@ÜÃÐ5ÃàbÃP€ÃÐMÃàzÃFÃÐAÃà÷ñÃ`ÅÃ@úÃ@Ã`³à[Ãð$ÃÀ&à ŽÃ`³ÃÃÀÃÐMÃpWÃÀ‘Ãð›ÃÐÐÃ`¹Ã@kÃÃöÃÀµÃ` ñÃ@âàÆÃð•Ã0µÃ` ÃÐÊÃ0ÍÃð¡à #ÃàŒð|ÃÀ©Ã08Ã0VÃpà÷Ã`ÅàyÃ0bÃà ÃðÃ0ÍÃÀ»à ¬ðçà ÿà ùÃÐÜà ”ÃPÃð‰Ã0>ðÿÃðÃ0ÁÃPÃ@ôÃ@ôÃ0ÇÀlàÌðíÀŠà ”ÃUÃ@SÃPà ”Ã0ÇÃ[Ã` "Ãð‰ÃðóÃöÃ0ÁÃ@ÃPŒÃà à )Ãð*ÃêÃ.ÀxÃÐ5ÃPýÃaÃàà šÃ`¿àêÃ`ÅÃpàÃ…ÃPÃP†Ã@ÃÐÜÀœÃ`Hñ÷Ãð¹ÃXÃP¶ÃPžàaÃP’Ã`³àäÃð ÃðÃÀ,ÃP ÷ÃÀ… ÃÌ ÃyÃàÃàtÃð*Ã`­ýÃ`ÑÃÐ_Ã0VÃ@âÃàåÃÐAÃ0ÁÃ0ÍÃpoÃFÃ0JÃÐâÃàýÀŠÃÀ2Ã0PÃàtÃÐAÃà Ã`6ÃÃÀ&Ã@ÜÀ~Ã.ÃÐ_ÀûÃÐGÃ.ÃàzÃ0µÃPñðùÃ0»ÃpÔÃð³ÃÐÐÃjðà ÃäàmÃ0ÓÃà’Ã0ÍÃ4ÃRÃÐ_ÃÀ8Ã0ßÀñÃ¥àÞÀ Ã0åÃ0Óð‚Ãà #Ãð<Ãà˜ÃP˜Ã@ƒÃ0ÓÃà Ã4Ãð¡Ãp? Ãð÷Ã@ƒÃpÃÀÓÃ@îÃð§Ã@Ãpcà ¦ÃPžÃÐÄÃÏà ²Ã0Óà 5ðÀÃð§Ã0ñÀ¨àsÃ0ÁðpëÃöÃpæÀûÀxàÒÃ0DÃpiÃ@ôÃÀ&ÃÞàOðvÃpìÃpæÃ0DÃ`Bà ¦ÃЬ À¢Àð‚Ã`¿÷Ãð›Ãð*Ãà ÃPßÃ0ÇàÃ0ÓÃÕà[À+Ã0ÁÀà=àOÃ@ÃÃð¦ðˆÃÃà Ãà ÃXÃÀ£ÃвÃàhÃpøÃàÃÏÃ@kÃ`à ÿÃÀ>Ã08Ã@YÃÐGÃ0ÓÃàŒÃð§Ãà à ”Ã@wÃÐâÃ`HÃpòÃ`Ã`³à šÃð§àIÃPÃ0£ð ðà šàÌÃ^Ãð*Ã0ÍÀÃÀ à ˆà  ÃÀ8à ÀŠÃà÷ÃÐMÃ¥ð”Ã@îÃÐwÀ+Ãà€ÀÃ0ÁÃpàÃçÃ@ôà ŽàäÀœÀûÃPÃÐÜðùÃPýàÞàgÃ0\ÃpoÃFÀÃðÃ08Ã@Y÷Ãà÷Ãð‰ÃÐ;ÃÀÃp]Ã`BÃpcðÿÃ.Ãð<Ãð¿ÃÀÇÃà€àÌà  ð Ã@ôÃðà  Ã0DÃàŒà /÷à Ãð›ÃðÀ–Ã`<àÞÃð‰ÃgÀÃ0»à  Ã`ÅÃÃÀ©ðdÃ@_Ã`6ÃPðvÃ`HàðÃ(à šÃ@qà 5à ¬ÃðÃÀ©à Žð à[Ã`³ÃðÃ0¯Ã`*Ã0>à Ã0»Ãp]Ã@kÃ@ôÃ[Ã`§Ã`¡à Ã`NÃÐÄÃ@ÃPŒÃ…ÃsÃRÃ0»ðáÃ@âÀŠÃ@k÷Ãà÷ÃàtÃsÀÃFàOà ¬ÃP ÃÐGÃ@wÀ%Ã`¹ÃP!ðšÃàðóÃàßÃpQÃÀ©Ã`<Ã0ÁÃmÃÀ©ÃÀ Ã@Ã`$ÃàŒÃà Ã0ÁÃöðŽÃüÃà’Ãð³ðùàÒÃ`HÃ4à /à !Ã0&Ã…ÃPàöÀIÃ@wÃpìÃÀ>Ãð0àCÃàëÃpiÃ0DÃÃpìÃ0»ÃÀ©Ãà÷Ã0»Ãð0ÃÐÖà ”Ã`NÃPÃ`6à ÿÃÐ/ ÃÀ‹Ãð§ÃàtÃÐ_àOÃÀ… ýÃÐeÃgÃÀðÿÃ(÷ÃPýÃðƒÃØà  àÀÃPh!Ã:Ã0>ÃP'ÃpcÃ0>À Ã.ÃëÃ`ËÃ0ÍëÃÀ‘à[ÃmÃàP!ÃPzÃ"Ã`³ðˆàÞÃÐÊÃ4ÃàÓ Ã°çðð‚ÃðàêÃFàÒÃsÃð‰Ã0£Ã0DÃ@kÃÃÃ0 ß!Ã@¸"ÃÀ‘ÃàV ð^ Ãð À~à 5ÃÀ&ðóÃ@;"à v Ã@Ãmà ÃPÃЦ!ÙÃÀ¯ÃÛÃpÂÃð ÃðÃPÃPýÃ0#ÃPß"Ã@ÖÃpÔðvÃÀÃsÃàëÃp¶!Ãpª#ÃÐ)!ÙÃaÃ"ÃÀ&Ãð‰Ã`­Ã`$ðdÃàP!Ã@MÃ`$ÃàbÃPtÃÐ)!Ã0"Ã@G ÃÐ/ ÃÐSýÃÀ‘ÃP†ÃsÃ(ÃgÃPtÃàåÃ`Ãð*Ã0PÃð³Ãð§ÃÀÃ0¯Ã@YÃPñÃPÃ`³ÃàV ÃPn À~ð|ÃàñÃÐÊÃpcÃÀÃpÈÃàzÃ@à šÃÐ5àCà=ÃÀ2à ‚Ã.à Ž÷ÃÃÃ0¯Ã°Û ñÃ@ÜÃP˜Ã`›Ã0&Ã°Û Ã ÃÀ»ÃLÃI!ÃàhàOÃ( ëà ÃP€àIÃ`¿Ã@ÖÃððíÃ°Û ÃàP!ÃÃ0&ÃÆ!à ‚ýàÆÃÐSÃàhÃ¥Ã@îÃPŒÃ.ÃÀ À×"à ðÃàŒÃÐGÓàäÀõÃð à ŽÃÃðÃÐÊÃàV ÃPë ð|Ãð*Ã@qÃpÔÃ[Ã02Ã0»Ã@SÙÀïÃ`­ÃÀ©à ”ÃÀ ÷ÃP’Ã@âðX!ÃP÷ÃðƒÃðÃgÃ0¯ÃÐÐÃPžð|ÃpÚÃà Ã@úà  ÃÐ;ÃàÙÃ0¯Ãð›ÃpQÃðe$ðpÃ0>ÃðÃÛÃXàäÀÃÐÄÃPÃð¡àIÃpÂðvÀûÃ02à+"Ã08ÃPžñàÒðÿÃ.Àûà ÃUà%#à á#À`!ÃpWÃðÃPÃÀ ÃàIðáÃ`• Ã`­Ãpàð ÃÃÀÃ¥ÃÀ—Ãà÷à ”Ã02ð ÃpÔÃ@ÐÃ0£ÃØÃäÃÐGðóÃpcÃ`§Ã@ÜÃ02ÃÐGÃÃ@ÖÃЦ!ðáà Ã@ðçÃðÃpKÃàëÃÃÃð ÓÃPn ÃPŒÃP€à p!ÃPtð”ÃÐkÃð0ÃðƒÃÐ/ ÃLÃ[Ã08Ãð­ÃpààaÃÐÄÃà÷Ã4Ã`*Ã@èà ùÃ@A!Ã@YÃ@_à ÃP†Ã@kÃPÃàP!ÃÐ;ÀûÃ:Ã@}Ã0ÍÃð¹Ã@kàÌÃð­Ã4ÃàåÃ`<Ã0¯ÀÃ`BÃpìÃàäà #ðùÃÉÃÀµÃPÃp Ãdà #À„ÀÃ`<ðÀõÃ@_ÃPàêÃà ÃàýÃpKà ÿÃpQÃPðçÃ@YñÃÐSÃPŒÃ(ÃÕÃ@ôÃpààÞÃÀ8Ã@ÃLÃ@ôÃpàýÃPë ÀŠÃÐÖÃPÃ`0ÃPëÃpÎÃðÃpcÃP€ÃyÃ`BÃpcÃð›ÃpQÃàbÃpuÃÃà ˆÃpÚÃ`0ÃÀDÃ@qà ŽÃPtÃÃð¡ÀÃà’÷ÃpàÃPžÃ@ƒàÒÃ"ÀŠÃÐMÃàà ÃêÃp]Ãð•ÃpiÃ`§ÃðóÃP÷Ã0,ÃPŒð‚à ÃÀÃÐÖÃÀ2àgðˆÃ`$ÃöðŽÃÀ‘ÃP÷ÃP†ÃàbÀŠÃð•Ã`0Ã`HÃRßÃÒàOÃàV Ã`*Ãà÷ÀŠð|àðÃ@úÃ`¹ðX!à ŽÃÐÐÃÀ©Ã^Àà šàUÃ@wÃÀµàUÃàÃÐSàÒàäÃ0>à àäÃpìÃÀ8à ð|àºÃÐYÃp“Ã`TÃPß"ÃЦ!ÃÃÃÃ`fÃ@ Ã`ËÃ`³ÃpcÃà÷ÃpcÃð•àÌÃÕÃ@úà[à ”ð|Ã`¿Ãð0àðÃpøÃ0ÙÃ…ðçÃ4ÃÌ Ã0,ÃàÃð§Ãà÷à )àäÀÃð›ÃyÃÐÄÃÒÃmÃð§ÃP’ÙÃð•Ã@âÃÐÐÃ0PÃöÃpÔÃ@kÃRÃ`BÃPŒÃànÃ`§àÒÃP¤Ã0ßÃ08ÃàñÃüÃpàÃ@èà ˆÃ`!Àã ÃÀ¯Ã`Åðpà ÃRÃ@_ðàsÃð•Ã0>ÃàÃ0DÃÏÃsÃ@ÃpòÃXÃÐôÃ`Bà ŽÃ4Ã0JÃÀ£ÃsÃ`<ÃÃð›ÃðÃyÃpÈðùÃ`ËÃÃ@ôÃàtÃà˜ÃRÃàtñðˆÃpiÃP†Ãð*Ã@}Ã@ ÃpàÃÐÊÃ`³Ã@èÃàÃRÃpiÃ@âÃÀ&Ãð³ýÃð­à #Ãà˜ÀÃ0ÇÃð¡ëÃÀÃ@eÃ0»ÃaÀÀÀà ¦à )Ã`BÃÀPÃÐâà ”Ãmà ŽÃðÃð Ã"ÃÐAÃPÃ0ÇÃð$ÃÐ_Ãð›Ã@SÃpÎÃPžÀÀlÃàtà ‚àÆÃà\ÃPzÃ0>ÃàŒÃÀ£àÆàÒÀõà Û$ÃpKÃðq"ÃÀy"ÃÀ‹Ã`!à d#Ã@¬$Ã¥Ã@ÜÀïÃP€ÃÐ5ðjÃ@Ðà p!à j"Ã`}$ÃàÓ Ã[Ãð‰À~ÃЬ ð‚÷ð‚Ã[à¨"ðdðjÃоð^ Ãð} ÃÐ5ÃÀð‚ÃsÃØÓÃ0&Ã@âÃ0>Ã`• ÃÐ;Ã` "ÃàhÙ"ÃPb"ÃpÎÃ`¡àÀÃpæðùÃÃFÃð¡ÃÀÃàÓ Ã@MëÀéÃ02àIà®!ÃÐAÃ@SÃÐ)!Ã`§ðvÃp9!Ã0ÇÃÃÆ!ÃàÙÃp? Ãànà ²ÀŠÃÐAÃàhÃàßÃêÃ"ÃàÓ Ã€`!Ãð‰Ã`§ÃpKÃ@G ÃPtÃ0»Ã@Ãà€Ã0£à ÃpKÃàëÀÝ!Ãàµ%ÃÐ5ðpÃPžÃ‹ÃÐÐÃPÀlýÃ(ÃàÙÃþ"àUÃÃ0 À`!à ˆà ùÀÝ!ÃÀ£ÃpEðjà  àaÃàýÃðÙ"ÃÌ ÃÀ… ÃÐ/ Ãäà[ÃÀÃ`›ßÀŠÃaßÃ0£ð|ðdÃÐ5ÃØÃ`¹ÃPÃð¡ÃpæàØÃðÀ ÷ÃpKÃÀ‹ðjÃaëÃÐÊÃP€ÃFð‚Ã@èÃÀÃàtÃ…Ãð6ÃÐÖÃÀ£ÃÐÄÃmÃpìÃ4àØÃ`Ã`¡ÃpÎÃÃð¹Ã@âÃðÃð­Ã@G ÃP÷Ã@èÃP€à®!ÃpÔÃ@âÃpcà ÀŠÃPzÀïÃpið Ãð6Àðë÷Ãàzà[ÀÃ4ÃàÙÃ`¹Ã`ËÃÀ2ÃÐÊðçÃÉÃ`TÃ`ËÃ0 ßÃ0¯ÃÃ0ÁÃ0JÀÃÀ… Ã0µàgðŽÃвÃ@ÊÃðÃÐeÃXÃ`¹ÃÒÃÀ&ÃÀ»à ÀŠÃpàà ÃÀ¯Ã0VÃpWÃ@Yà šÃRÃà†Ãð¹ÃÃ`¹ÃsÃP!ÃàzÃØÃ@eðùÃðÃàýàÀÃp? ÃÀÃ0,à p!ÃpÈýÃ:Ãð} à=ÀûÃÞà$ðR"ÃÒÃUÃ0#Ã`›ÃFÃ` Ãðe$ÃI!ÃÐ5Ãðw!ÃÀs#Ã$Ãà,'ð«(ÃÀU(Ãp'$ÃàÁ#Ãp'$à L'Ã0#ÃÀm$Ã#ÃPb"ÃÐ$î%ÃÐ'Ãðâ$ð@%ÃPÇ&àœ$Ç%ÃÀð#Ãðè#Ã0%Ãpž%ð«(à F(ÃÐ|(Ã0%à&ÃÐ &Ã+&ÃPÍ%Ã1%ð@%à%Ã`q&ÃÔ)ÃPV$ðX!Ãp'$Ã@ *ÃÚ(ÃÀÆ*Ã&Ã@¬$à„(Ãæ*ÃPÁ'ÃÀê$Ã*à @)Ãð;+ÃÐó)Ã@¬$à¢#ÃÀä%Ã`$ÃР"Ã`q&à %ÃPÓ$ÃÀê$ÀÑ#ÃðÜ%Ãp'Ã0%à Õ%Ãpz+Ã*Ã0ð'ÃК#Ã`q&Ãp’'ÃÐ'à Û$Ãp(Ãà)ÃPµ)à F(ÃÀU(à @)Ã+&ðÃ$Ãò$à$ÃðÖ&à j"Ãì)ð-à F(è&ÃЦ!Ã0#ÀT#Ã0ü%Ãpž%Ç%à ç"ÃPD'Ãpt,ÃP -Ãp&ðÏ"Ã@#&Ã0ö&À¹'Ãu(Ã`e(â'ÃÐù(Ã0y&Ãpª#ÃÀÞ&ÃÐù(àï+ÃðÖ&Ã&Ãì%Ão%Ã0$Ã( ð¥)Ãð¾*àé,ð±'ÃÐ$ð@%Ãðè#Ã7$Ã&Ã`è'Ã`ú$Ãà'Ö)Ãò$ÃPß"Ã&ÃP>(À6(ÃÐ|(Ç%à Ã(Ã(Ãà'Ãæ&Ã`$Ã0ö&à á#ÃðY&Ãp(ÃP&,à„(Ã@”(à .,à +Ãà,'ð.(ÃÀ['ÃЈ&Ã0ð'Ã0y&ÀÅ%ÃÀs#Ãø'Ã`w%àû)ÃQ*À6(ÃQ*ÃÐó)Ã@ù,à ¥-ÃðS'ÃÀÞ&à„(ÃÔ)à «,Ã0Þ*ÃPV$Ãà»$ÃðÄ)Ãæ*Ã+&Ãþ"ÃÐ &ÃÐŽ%à 'ÃÐó)Ã0ü%ð.(Ãð¾*Ãà¯&ÃÐ'ÃК#ÃðY&Ã%'à d#Ã@;"Ã=#Ãàµ%Ã`q&ÀH%À×"ðÉ#ÃpŒ(Ã+&ÃД$Ã$ðF$ÃpÂÃÀ‹Ã0"ÃД$Ãpý*Ã0Þ*ÃÐó)Ç%Ã@5#Ãàµ%à)Ã](ÃPh!ÃPß"Ã0%ð½%ÃÐ &Ãæ*ð·&ÃÀ!Ãà2&ÃðY&Ãp˜&ÃÐ#ÃЬ Ã0 Ãpª#à á#ÃÐ#"Ã`›Ãì%Ã@+àŠ'Ã@ &à¨"Ã0—!à Û$Ã0$Ã0ä)à(à ó ÃPb"Ã`#à É'Ã@(Ãð_%Ã$ÃpQàCà´ ÃPb"ðR"Ã0ö&ÃàD#ÀË$ÃÐ &Ã@Ä Ãþ"ÃÀy"Ã"à%#Ãp9!à É'Ã@(Ã7$Ã@'ð½%î%à 'Ã°Û ÃàåÃp°"à&Ã0ê(Ãp¼ ÃР"Ãp-#Ã0s'Ãp'Ã`â(Ã`ƒ#Ã0!ÃÐŽ%Ã`‰"à Õ%Ã`ú$ÃÀa&ÃP\#Ãþ"Ã&ðL#Ã#à–%Ãp(Ã@'Ã`w%Ã`w%Ã`#à7 ÙÃà¯&ÃðY&Ã`!Ãð} Ãp°"ÃР"Ãðâ$ú#ÃК#ÃÀ['à ^$Ç%Ãà£(ÃÀm$Ù"ß!ðpÃPn Ã`ú$à ç"î%ÃPß"ÀB&Ã&ÃÀg%ðL#Ã@G ÃÐ$ÃÆ!ÃPß"ÃÒà ÿð^ ÃÀ… Ã`!ÃÐ#"Ãðô!ÃI!ÃFÃ0&Ãðè#Ãì%à$Ã"à¨"â'Àã ÀûÀûÃÀDÃPh!ÃвÃÐÖÀõÃÀö"Àõà à´ ðÉ#Ãu$Ã0,Ã0—!à(Ã`}$ÃàßÃ0&à á#à ÃР"Ù"Ã{#ÃÒÃð ÃÐ/ ðÕ!ÃC"à ó Ã0…$Ã4àØÃð ÃÆ!àCàºðF$ÀõÃ0 Ã0 Ã08Ãà÷à ÃÀð#ÃÀ!ÃÀ"ÃÒÃàÙÃ0&ÃàbÃäÃðÃ@Sà ‚Ã`$ÃÐMÃÐâÃ` ÃЦ!Ã`¡ðÕ!ðóÃàbÃàÙàºð^ ÃP€ÃÀ‹à¨"ÃÀs#Ã"ÃPÃà÷ÃÐÊà Ã` ÃPh!Ã0©ÃÐ;à |ßÃÆ!à !ÃÐ/ Ãðú Ãpª#ÃP÷ÀïÃPn Ã@;"Ãð‰ÃðÃp-#ÃPå!Ã`§Ã` "ÃàJ"à ÀÃPtÃÀ… ÃÀ—ÀõÃÀm$Ã@;"ÃÒà Ãpž%Ã¥ Ãð›Ãð ðvÀ`!ÃØÃиà ç"ðF$Ã[Ã02Ãð‰à !ðÏ"à1!ÃànÃð à Ã0"À`!à7 ÃpWÃÀÃàëðvÃà»$Ãp°"ÃêÃUàºàOÃ0µðíÃÐ%ÃÀs#Ã°Û Ã°çÃð•Ã`*ÃP÷ðùðdÃàÍ!à Ã0&ÃpàÃP†Ãвà í!ÃÌ ÃÐ5Ã@_ðpÃ@ÜÃ#Ã@/$ÃК#Ã@A!Ãp¶!Ã`• ÃO ÃàñÀf Ã0©à7 ëà Ù"ÃC"ÃO àºÃÀ Ã0‹#Ãà>$Ãþ"Ã"!Ã0 ÃPå!Ãp¶!à %Ã@A!à ˆÃð Ã0»ëàºÃð àºÃÀð#ÃР"Ã4ÃàÓ Ã€f Ã[Ã0#ÃÐ)!Ãð‰ÃÀðR"Ã@¾!Ã`›ÓÃ[Ã0—!à%ÃÌ Ã€éÃp°"à ó ÃPýÃð} ð^ Ã0&Ã0,ÃÐ/ Ã`‰"àÀÃ0©ÃÐ5ÃÐ#Ã@š'Ã"ÃÀ!ðçÀÝ!ÃI!Ã( à ÿÃ°Û Ã€ïÃ0&à !ÃвÃ°Û ÃPß"ÃpÂÃPh!Ãpž%Ã0&ÃpÈÃàÍ!ðpÃ@à7 Ã@ðóÃàtÃ.à ó Ã"ÃàÙëð^ ÃàßÃÐGÃ0‹#ð½%Àf à Ã0¯ÃðÃð Ãp? ÃàJ"à à j"Ç!Ã`$Ã@G Ã`• Ã0"ÃàÍ!ÃиÃP†ÃàV à®!à1!ÃàhÃà\Ãp9!ðÕ!à¨"Ã"!Ã`0ÃиÃ0!ÃÞÃ"!Óðáà ‚ÃÐMà ŽÃ0 ÀõÃpQÃ`§ðpÀã ÃàV ðùÃànÃ4ÃÐÊÃp3"ÃÀ‹Ã0 ÃPë ÃÐÊÃ"!Ã0—!à+"Ãà\Ãð*Ãà÷ÃÀÃ0"ÃÀü!ÃðÃàV Àïà ÃÐ;ÃpÔÃ0"àOÃP˜Ã`­Ã.ÃÀ‹ÀûÃÉÃ0DÃð§ÃPë Ã` "ÃØÃ@G ÃðƒÃ@¾!Ã¥ ÃÐ;Ã@Ä Ãð ÃàñÃ`6Ã`¿àÌñÃðÀ~Ã0ÍÃRÃ0ÍÃpÚÃ`§ÃPýàÀÃðw!à ÃpÎÃ`• ÃPb"ÃÀ ÃÀm$Ã$Ã0!Ã°Û Ã@²#à j"Ã@)%ÃðY&â'Ã`î&Ã`}$Ãàµ%à :*Ãà+Ãàµ%ÃPÙ#ð@%ÃÀØ'ÃÀI*ÃP£,ÃP,+Ãà‘+ÃP,+ð()Ãæ*ÃPµ)Ã*Ã)ÃÐù(ÃP¯*Ã`ô%ÃÐ|(Ãà'à F(ÃÀC+Ã`Ä-Ã0Ø+ÃÐÿ'àé,Ãð0ÃÂ,à(ÃðA*Ã@ *ÃÀÀ+Ã3/À /Ãð¾*ÃÐí*ü-Ãã1Ã@|,Ã@Ž)Ã*ÃP2*Ã0Æ.Ãpt,Ãàü.ÃÐ|(Ãà-Ã@ó-àf-Ãð²,Ã0C/àõ*à ±+Ãð5,Ã@)ÃÀg%à„(Ãð¬-ð+À$+ðŸ*À¡+ÃÐç+ÃÀ´-Ã0O-Ãð).ÃP&,Ã@ç/ÃÀÆ*Ã`_)à~)Ãi*ð/ð/ÃÐX.Ã@ÿ+Ã)ÃÐç+Ãð¦.Ãp€*Ã0Ø+Ã@ÿ+ü1ÃÀ 4à .,ÃÐd,ÃÐd,Ã-à ½)À**Ãp(Ãð/-Ã0Ì-Ã@|,à ½)ÃÀa&ð½%Ã`Ö*ð/Ã@+Ãp\0Ãð¬-Ãpt,ð .ÃQ*Ãà+Ã0I.Ãð¦.àï+Ã-Ãàê1ÃÂ,ð+àõ*ð()ÃÚ(ÃÔ-Ã@á0Ãõ.Ãàê1Ãpz+Ãpz+Ãpn-ÃÔ)À¡+à É'Ã*ð,ÃÀÌ)Ã`A.Ã`Ä-ÃÐv)à Ï&ÃPÇ&Ãp÷+ÃÐp*ÃðG)ÃÀº,Ã0Æ.àl,Ãp*ÃÐd,Ã~-Ã0a*Ã@ÿ+ÃpÇ3À$+ÃÔ)Ã@ &ÃàÁ#Ãp'ÃÀÒ(Ã0ä)àã-Ãà+Ã0ê(Ãð¾*ÃÐ'Ão)Ãð¸+ð-à`.ð+Ã`Ö*Ã0I.ð«(Ãà£(ÃЂ'Ã(Ã@ *ÃP>(À¡+Ã*Ãàµ%À³(À›,àé,Ã@/$Ã0ð'ð,Ã`M,ÃÀ['à R&à„(Ã`¾.ð-Ã0Ì-ÃÐÿ'àx*Ãpz+Ãi*Ã@+ÃÀC+à„(Ã0[+Ãpn-Ãp*Ã`ô%ÃÀ=,Ã@‚+à .,à +Ã@'Ã0g)Ãp )Ã`_)à (-ÃK+ÃP,+Ãu(Ã0%ÃÀI*Ãð¸+Ã0s'Ã0ê(ð«(ÃÀ+/Ãà*Ã{'ÃðG)ÃðÄ)Ã*Ãx.ÃP8)ÃP8)À6(À§*ÃK+Ü(Ãà*Ã@v-Ã@Ž)Ã&Ãð_%à F(Ãì)Ãò(Ã`Y*ÃÀÒ(à ½)ÃÐ'à R&Ãþ&Ãp¤$Ão%Ãp€*Ãò(ÃÐç+ÃÀ=,ÃP,+Ã0%ÃðM(ÃÐ'Ãpž%Ã"ÃPJ&ð"*ð+àr+Ãà,Ã0Æ.À,Ãp&Ã0g)ð¥)Ã0%ÃPÁ'ÃÐù(à Õ%Ãðk#ÃÀê$à Õ%Ã`#ÀB&Ãp¤$Ãàµ%Ã0ö&ÃÀä%Ãæ&ÃÐ &à&à X%Ãi*ÃЂ'ÃðÜ%Ão%Ã@ &Ã@Ž)Ãp!%Ã`q&ÀÅ%Ã`q&à ç"Ã0‹#Ãp3"ÀÅ%Ã$ð:&à(Ã@;"ÃÀ‘ðR"Ãà)Ã0‘"Ãp’'à :*à F(Ç%Ã0ö&Ãò$Ã0‹#ðÏ"Ã`ƒ#à Õ%ÃÀs#Ã{'Ã0#à ^$Ãà£(à„(Ã`w%à¨"à É'ÃðA*Ã@¦%à ^$ÃàD#ÃPÁ'â'Ã0…$ÃÐ%à ^$Ãpª#Ã`$Ãðî"ÃÐ &Ãà2&Ã"Ã@²#Ãp¤$àŠ'ÃàÇ"Ã@/$Ã`_)Ãu$ÃЦ!ÃÀs#Ã0…$ÃÐ &Ãu$À`!ÃЦ!Ã$ÃÐ)!Ã"Ã`ƒ#ÃÐ#"ÃàÓ ÃÐ)!ÀrÀ×"Ã0&ÃPÓ$Ãp˜&Ão)Ã{'ð½%Ãp°"ÃPh!ÃÀð#Ã@¾!Ã(Ãà€ÃàåÃðk#ÃÐ%ÙÃÀ‘Ã0,Ã0‘"Ãi&Ã`î&Ãà©'Ã°Û Ã@¦%Ã`â(Ãà8%Àïà ˆÃð Ãu$ÃÆ!ÃÀ‹ðpðL#Ãðe$Ãp3"ÃPh!ÃÀ"à 'Ã0‹#à ÿÃ¥ Ã`ú$Ã@ &Ã7$Ã` "ÃàÓ Ã v à¢#ðF$Ã`}$Ãpž%Ã.ðpÃPn ÃÀ‘ðL#ÃPß"à´ ÃàÇ"Ã02Ãðú à7 à ÿà p!ðL#ðR"ÃaÃð¡à+"ÃÐ)!Ãðú à%#Ãp°"Ãðè#Ãp'ÃÀÞ&ÀlÀrÃ`• à ç"ÃàÇ"Ã`!ÃÐ#"Ã@²#ðF$ÃpÈÃÀ!Ãpª#Ãðq"à+"ÃP\#Ãðe$Ã"!Ã`ƒ#ÃÐ%ðÏ"ÃàbÃPb"Ã0ö&à á#à !ðpÃPtà ùÃàÁ#Ã@'ÃÌ Ã`• Ãþ"ÃЬ ÓÃ:ÃÀü!Ã@¸"Ç%ÃÐ#"ÃPzñÃàbÃ0%ÃàÙðçà ðR"à$Ã`#ÙÃUà ”Ã4ÃÀ‹ÀxÃO ÃÀs#ÃàV Ãp]à´ ÃÐ#"Ãð} Ç!Ã@G Ãðô!ÀïðdÃàÇ"Ã0%ÃPýÃPðíÃоà ÃÃp9!ðÏ"à®!ðÕ!Ã`ÃàÙà=Ã( ÃàJ"Àf ÃÀ!ÃàJ"àÌðpÃPh!ÃÞÃpÂÃàzÃ`$Ã0—!Ã+&Ãð_%Ãðú ÃäÃÐ;Ã0"ÃpEÃp? Ã0¯ÃÐÄÃÌ Ãà»$Ã`à ˆÃ@ÊÀ`!ÃÀÃ`!ÃÐ/ Ã`*Ãëà ‚ÃP Ã@ÊðX!ÃÀ ÃÐ#à Ãp9!à åÃàßÃ0©ÃàJ"ÃUÃp¼ À×"Ã0 Ãð à¨"Ãð Ã0&Ãð›Ã`!Ãð Ã"àºÃ`¿à ˆà !àºÃPýÃsÃð•Ã0£ÃpÈÃ02Ã0,ðíÃ0 Ã@ÊÀ~Ã@âÃàzÃÀ—Ã=#Ã`• Ã`Ã`›Ã"Ãà>$ÃÀ!ÃÐGÃ`³ÃÐMÃÞÃ02Ãð³ð^ Ãþ"ÃÀy"ÃpÚÃ(Ã@MÃàÍ!ðR"Ãðƒà7 ÃÀy"ÀéÃÀ—Ã@A!Ãð‰ÃÀ!à$à¨"Ã0 à ÿÃÒÃpQÀàØÃPÃàhÃ`ú$ÃÀ"ñÃàP!Ãø#Ã"ÃÐÊÃðô!ÃP÷Ã@MÃÀü!ñðR"ß!Ã¥ÃêÃpàÃ@YðÕ!Ã0"Ã`0ÃðÃð à |ðpÃ@Êà¨"À`!Ç!Ãðî"ð‚Ã0ÁÃÀà=ÃmÃP¼ÃÕñàCðÕ!ýÃ`<Ã`<ÃP'Ã@ƒÃ@}ÃðÃàtÃàßÃ` ñðjÃ@èà=Ãð} ÃÀ—Ã@Êàœ$Ã@5#Ãp¶!Ãвà |Ã0»à àÀð^ ÃêÃÀ¯ÃðÃ0©ðùßÃð›ÃÐMÃÀÃÌ Ã ó Ã`6Ã:ÃÐÄðùðÿÃ@G à ”ÃLÃ`Ãp¼ ÃpEÃpcÃ`³ÃmÃÐÐÃP†Ãð‰Ã@_Ã@SÃàñßð|Ãð0ÃàhÃp? Ã@YÃI!ÃàÙà ÃpÎÃPàÆà ÃðƒÃÐÐàaÀŠàÆðdÃpÚÃðàÞÀxàºÃð‰ðáà |àêÃ@qÃÃP€ÃpEÃ`Ã@âÃ`*ÀŠÃ0Çà Ã0µà ÿðR"Ã`• ðóðùýðóÃÀ2àOÃäÃ@YÃP€ÃRÃð¡ñÃÀÃpÔÃ0©Ã¥à ‚à v ðçÃ¥Ã`<àÌà7 Ãð$Ã0DÃоð|À–ÃPýÃàhà ÿÃ0‘"Ãp? ÃÀðóà ˆÃpÔÃXÃpiÃÐÊÃÐAÃp9!Ã@²#ð^ À~ÃpÔà ‚ÃàëÃàåÃð à  ÃÀà ÃÐ#Ã0Íà ¬ëÃÀà ÿÃ`• ÃØÃ@ÖÃRÃÐGÀõÃÌ Ã`• ÃO àÀðjÃð‰ðdÃpQÃ08Ãð0ÃPÀ„ÀxÃ0‘"ÃðÃ@ÖÃ0ÁÃ08ÃÀÃ02ÃUÃPzÀã à |Ã0 Ã0©Ã`Bà à v ñÀ~Ãð¡ÃЦ!ÃUÃÀ©Ãäà šÇ!ðjà |àIÃÐSðà ÀõÃ¥ ÃÀ‹÷ðíÃP˜àgÃàÃð à1!ð^ à ÃO ÃàåÃöÀÀ~Ã`Ñð|Ã0©ÃFñÃÃ@ôÃgÃ`$Ã¥ÃÐÄÓÃPÃð} àgÃÐ_ÃPÃ( ÃàßÃ¥àÀÃ#Ã`›ÃPžÃ.ÃàëàØà ÃP ÃÐÄÃpÎÃ0>Ã`6ð àÆðóÃÀJÃðBÃpcÃÀÃpKÃ@¬$ÀðùðíÃpÃpoàäÃÐ_ÃP˜ÀÃð$ÃàŒÃ4ÃÐÊðóðˆà[ðÿðáÃ:ÃàÃÐkÃgÃÐGÃðƒÃpÈÃpÎàIÃPzÃÀÃ`*àCÃ`NÀ À Ã@èÃÕàöÃ`6Ã`¡Ã`$ÃÃÃÀJÃ0DÃоÃÉÃ`³Ã`BàÞÃÀ&Ãà÷ýà Ã@eÃðàÆðjðdðÃàtàÆÃaà[Ã4ÃpòÃ@kàÒÃàýÃPÃ0\àÒÃ@_ÃÐ_ÃêÃðƒÃI!ðíÃP-Ã@ð^ ÃàhÃPÃ0»ÃÀ ÃàbÃ0>ÃP˜ÃpiÃpuðà[àOÃà\ÃÀ‘Ã`ÅÀ¢Ãð6ÃmÃÐ_ðùàäÃàzÃÀµÃ0>Ã0 Ãà>$ÃêÃÛÃð0ÃÉÃÐ_ÃðÀrÃ`­Ã(Ã0¯ÃP€Ã`$Ã0 Ãaà´ ÃоÙÃ0»Ã0,ÃPÃ@qÀàÞàmÃоÓàÌÃàzÀÃÀ ÃÀ‹ð|ÀŠÃÀµÃððjÃànÃ0ÇÃÉÃÌ Ã |À`!ÃÀÃPñÃpÔÃÀ‘Ã0—!à1!ÃPÙ#ð@%ÃPß"à%#ð@%à X%ÃPb"ÀZ"Ã+&Ãþ"ÃpÂÃðú è&ÀÅ%à á#à7 Ãp¶!Ã( Ã`§Ã`Ã"À­)à$ÃР"ÃÐŽ%ÃÐ$à¨"Ã"Ã`ú$Ãþ"ÃÀs#Ã@”(ÃPÇ&À×"ÃPD'Ã`è'à%à%#Ãà,'î%à 'Ó#Ã`}$Ã+&Ã0ö&ÃpŒ(ÃÀü!À×"ÀN$Ã`w%Ã`$ðÃ$à L'ÃPP%Ü(à %ÀN$Ãþ&Ãà2&Ã%'Ã`ƒ#ú#ÃP>(Ã@ &à„(Ã@/$Ãðè#Ãà)ÃðÄ)Ãc'ÃÐ#"ÀÅ%Ãì%Ãp )À**Ãà)Ãc'Ã`#ð½%à F(Ã` "ÃÆ!ÃP\#Ã@/$ÃP©+ÃÐj+ÃÀC+Ã7$ÃPV$Ã0%à ç"Ão%à ½)Ãpž%Ã`#Ãp°"Ãà»$Ã0%Ãðk#Ã`e(ÃðÜ%Ã7$ÃÐ/ Ãà'ÃP»(ð±'î%Ã@5#Ã0%Ãà©'À0)à ·*Ãà'Ã&ÃPµ)Ãð Ã0 Ã0…$ÃÀØ'Ãà£(ÃÐ &ÃÀð#ð½%Ãðâ$Ãp˜&ÃP8)ÃÀÞ&Ãðk#à´ Ã@²#à~)à Ï&ÃðM(ÃÀÒ(Ã`_)ÃÀC+Ãà—*ÃÐv)ÃÐ#"Ãp˜&À­)ÃÐ|(ÃP»(Ã0%ðL#Ã0s'Ãà>$ÃPJ&ÃÐù(à Ã(à)Ã`ô%Ãi&ðÉ#ÃPÓ$Ãp'è&ð«(Ã],Ã`e(ÃÐÕ.ÃÂ,ÃÀa&ð±'Ã@(ÃÐ|(à L'Ã0%à Ï&Ãð¸+ð·&ÃÐ%à&Ãi&ÃÀa&Ãà )Ãà,'Ãp(ÃÐù(Ãu(À¹'ÃÀa&ÃPÍ%ÃðÖ&À­)Ã%'Ó#ÃÐŽ%Ã`k'Ãu(ÃÀÞ&Ã,Ã`Ê,Ãpž%Ãð_%Ãà¯&Ãì)Ã0%Ã"Ãp˜&ÃÀ['ÃÀÆ*ÃÀC+Ãp'$à ùÃÀö"à~)ÃÐÿ'ÃP>(Ãp )Ãp(Ãðk#ðL#Ãp!%Ão%ÃÀö"Ão)ðÉ#ÃÆ!Ã`ú$à Û$ð¥)Ãà2&Ã@¬$ÃPß"Ãò$Ãc'ÃÔ)Ã](Ã1%Ã@²#à–%Ã@Ž)â'Ã7$ÃC"ð·&ÃЂ'ÃÐ|(Ãà2&À0)Ãu(à Ã(À¿&Ãp˜&ÃPÇ&ÃPD'à(Ü(Ãi&Ã`‰"Ã@SÃPÓ$ÃP¯*Ã0ö&ÃPD'ð@%Ã0"à´ ðvÃ`â(à +Ã@²#àœ$Ö)Ã@ &ÃàD#ÃР"Ã0y&Ã@¬$ÃPJ&ÃàD#ÃÐ#"Ã0%ÃÀê$Ãp-#à ðÏ"Ã0s'ÃÐ$Ã@¸"ÃPå!à R&Ã0Ò,ÃÔ)ÃÀm$à É'ÃД$Ã"Ãðî"ÃPë Ã@¬$Ã@A!ðÕ!ÃÆ!Ã@¬$ÃК#ÀT#ÃЂ'Ã@¬$ÃàÍ!ÃàÓ Ãà2&Ã0%ÃÐ#"à !ÃPÓ$ÃÀð#ð@%Ã0ü%Ã0$Ã0%ÃÀ!ÃPÓ$Ã@¸"ðF$ÃÀö"Ã`!Ã"ß!à=Ã@Ä Ã`}$ÃÌ Ã`#Ã`!à ÃÀy"ÃI!ÃÀ!ÃðM(Ãð_%Ã`‰"Ãðî"è&ÃД$à´ Ã@¬$Ã`w%ÃðƒÃà Ã(ÃPP%Ã"!à í!ÃPD'Ãc'ú#Ãð ÃðÃ`›ÃиÀ×"à á#ÃàÍ!ÀrÃP€à´ Ãвà–%ÃðÜ%Ã+&Ã0#ð:&Ã=#ÃÀ['ÃP>(ÃÆ!Ã:ÃPn Ãp )ð±'ÃÀm$ÃàD#Ù"à ÃÀ… àœ$ð±'ÃÀ ÃàÙÃ0,Ãpòà  ÃPÙ#Ãà8%Ã@#&ÃPÓ$Ãþ"Ã"!ÃUÃÀ Ãð} à ^$à p!Ãðè#Ã`ƒ#ëÃðw!ÃàD#à+"ÃàJ"Ãpª#à ùÃPß"Ã0%ðÉ#Ã#Ã$ÃÌ ÃЬ ÃÐ;Ã0&Ã0µÃC"ÃPJ&ÃÐ/ ÃO Ã"Ãð_%à á#ðÉ#Ãp-#ÃPÙ#Ã`ÃaÃ"!Ã`#ÃÀs#ÃC"ðR"Ãà>$ÀlÃÐ)!Ã@¸"Ã"!Ã`ÃÞÃ@A!Ãp¼ ðdà ÃPh!Ã0#ÃÐ/ ÃÃЬ ÀrÃÃð ðjÃ( ÃPn ÃI!ÃÀy"ÃÀÃPn ÃÐÄÃàÓ ÃUà ðáÃUÃÐAðóÀrÀT#Ã"â'Ãu$àÆÃ`¡ÃÐ#Ã4Ã0©ÃÐ/ Ã0‹#à$Ãàµ%ðÏ"à7 Ãðw!Ã@_ÃÐAÃ`<ÃÀÃ0ÁÃØÃ`#Ã0£ÃàñÃð›ÃÀs#ÃðÃàýÀà ÿÃàÍ!ÃÐ#"ÃpÂÀõÃPzÃ0©Ã¥ ÃÀy"ÃI!ÃÀ&ÃÞÃ.Ã0—!ÃÀ… ÃUÃ"!ëÃ"ÃÃp]ÃPÃpÔàCàOÃ0!ÃÐÄÃêÀûÃ`0ÃI!Ã0!Ã@âà Ãp'$À`!Ã( À`!ÃpÂÃ=#Ç!Àã Ã(ÃвÙÃpcà[Ãð•à à !ÃpKÃ¥ÃLÃÐÄàºÃÐGÃ08ÃÀ!ÀéÃp3"à7 ÃÀ… à7 ÓÃðô!ðpÃÐÐÃ02ÃàßÃ0©Ã4Ãð Ã0©Óà ‚ýÃ@Ãp¼ ÃàÍ!ÃPñà v Ã0,Ã`!ÃÀü!ðáÃàñÃsÃpEÃêÃ`6Ã` ðdýàÀÃPtàÆÃÀ¯ÃÀðdÃPë à ‚Ã` "ðjÃ02ð^ Ãðw!Ãpª#ðR"ÃgÀ„àÀÃ` "à1!à®!ðL#à d#à7 àaÃPà %Ã0 ÃÀ,Ã@èðpÃàëßÃp? ð ÃgÃ@MÃ@ÊÃC"ÃÀ… Ã@Êà ÃpÔÃ`<ÃÀ Ã[à Ã@A!Ã@ëÃð›ðð^ ÃPn Ã0 Ãp(Ã@5#Ã@qÃÐÐÃàn÷ÀÃÀ… ÃÀ… à=ðíÃ`<Ã0»ÃPß"ÃÀ‹ðçÃ0,Ã@Ä Ã0©Ãp3"à ç"Ã@ÐÃ` ÃPn Ãà\à ˆÃ`Ã0—!Ã¥ Ãð‰ÃðÃÃ`§Ã0,ÃЦ!Ã{#ÃC"Àf Ã( ÃPzÀ~Ã@ÐÃÆ!Ã"ÃÀ!ÃUÃ:Ã@ÐÃp¶!Ã@¾!Àlà®!Ãà1!ÃÐ;Ã0,ÃÀÃ°Û Ã =à´ Ã"ÃÀ ÃpæÃ(Ãðô!Ã@¸"Ã`$Ãp{à ðíðpðpÀlà Ã@MÃ0,ÃÐAÃ`• à ‚ðdÃàD#ðÉ#Ã`• Ã`ƒ#Ã`$à´ ÃР"Ãp'$Ã{#à¢#Ãà8%Ã@5#ðóÃ0 Ã@¦%à d#Ã@MÃpÈÃp? Ãp9!Ãpª#à®!Ã`ƒ#ÃЦ!Ãð Ã°Û Ã`¡Ã"ÃðÃpiÃ0¯ðóÀrÃànðçÃðƒÃÐ#ÃиàÌÃÐ#Ã0…$à !à7 ÃÐ)!Ã@¸"ðáÃàJ"à´ ÃpÂÀrÀïô$Ã0y&ÃêÃ:ÃPn Ãp&ÃàÙÃ@eÃðÃ`¹Ã@Ððjà=Ã08ðpÃð§Ã08ÀÃP€ÃÀ‹ÃÐÄðíÀïà Ã°Û Ã°dÃÐGÃ@âÃвÃPë àUÃ0JÃà\ÃÀö"ÃÀ‹Ã@èÃàP!Ã@¸"ÃÀü!à #Ã(Ã`§Ã`³ÃFÀÃ°Û Ã á#àÀÃP†ÃPÃÐ;ÃpÚðŽð|Ã[Ã`¡ëÃLÃÐMÃÕÃÌ ÃÀü!ðjÀõà ŽÃвÃ0 à7 Ã`6ÃðÃØàCÃÃ0åÃ0JÀð”Ãð›ÃðÃPŒÃð ÃÞÃàV Àf ÃyÃà ÃpÈÀT#ÃPñÃPÃ08Ãà\ÃpàÃÐÖÃàD#Ãà\ÃàëÀxÃÉÃ@Ã@SÃ"!àÀÃÃpQÃ` "Ã@ÜÀÃиÃðà  ÃðÃp3"À`!àÞÃà÷ÃàëÃðÃI!ð^ ÃØÃ`¿ÃØÃÐ/ à%#Ã`!Ãp¼ à+"àCÃ`§Ãð0ÃP†ÃиÃp9!Ã( ÃPh!ÃК#Ãвà Ã0»ÃÃàýÃ02Ã0>Ã0,Ãð§Ãà÷ÀïÃ`• ßÃànðvðvðùðÀxÃPÃÐ)!à ÃUÃÞÃð$ÃêÃðàOÃð$À„ÃÀ©ÃgÃ4ÀÃP Ã@_ÃUÃð Ç!ÃUÃÀ Ã@G ÀxÃ`À`!ÃðÃ`• ÃPzÃ0&ÃвÃ[ðdÃ`!ÃPå!ðvÃ`<àÌÃððvÃPŒÃÀ—ÃР"ÃÀ à ÃpÈÀ~Ã0>ÃPýà1!Ã¥ àIÀrÃ:Ãð›ÃàýßÃðq"ÃД$ÃÌ Ã°|à[ÃÃðpÃ@Ä ÃàñÀŠÃ0©Ã@âÃ@ÖÃ@ÜÃàåÃ0ÍÃ0ÇÃPn ÃàP!Ã0&Ã0¯ÃO Ãð Ã(Ã¥ÀŠÀïÙÃ¥Ãð›ÃÐÄÃ.Ã`­ÃpÔà ˆÃÉÃC"ÀT#Ã0µÃÐÐðÿà #Ã`¿ðùÃÐ)!Ã0ÁÃÐ_À~ÃP˜ÃäÃð›ÃRÃpÔÃpEÃ0ÍÃàñÃ`0àÀàØÃp]ÃP€ÃÀ—ëÃÃ0 ÃиÃÞÃ@eÃ0ÙÃÃðùÃp? Ã"!ÀÃpoÃÃà÷ÃàýÃPŒàÞÃ@_Ç!à |ÃPë àUÃPßÃàÓ Ã.à ˆÃÀ2Ã0»Ã@_ÀéÃpQÃ@ôÃÐqÀ+ÃÉÃpÈÃðÃsÀ Ã:ÃgðÏ"ÃPtà àÌëÃÞà ÃpæÃ`0ÃpEÃ@ÐÃàßÃð} Ã0¯ÃðÃ(ÃP ðùÃpàÃÀ ÃÒÃ`›ÃäÃàåÃp-#ÃðÃpQðíÃÀ Ã0£Ãðè#àÌÃP ÃP€àIÃ`§ÃÀ‹àIÃöðçà |ðçÀÃ`HÃÞàIà ‚ðÿÃmà ˆÃð à p!Ã( Ãð} ÃP†ÀïÃPzÃÀÃ0 ÃÕÃàýÃÃ0‘"ÃàÃÐ5ÃPn ÃÆ!ÃÐGÃ@âàÒðçÃÐ5ÃgÃ`§Ã`§Ã`• ÃЬ Ã0>Ã…ÃmÃàV ÃÐ;ðdÃðq"Ã1%Ã0…$Ã`6Ã0PÃ0ÓÃ`6ðóðdÀf Ã`à ”Ã@A!ÃPŒÃàzÃ@âÃààÒÃ0&ÃàñàIÃÀàCÃ0>àêñðjÀéÃP÷Ãð$Ã`<Ã@wðÿëÃÀ!Ã`ÃÀ&ðùÃвÃàßÃ08Ãp]ÃpiÃyÃÀ,à  ðùÃ0µà Ã0ÓàØðpÃÀ£ð|à ˆÃ@ðpà à[Ã(Ã0ÓÃ@èÃÐ_Ãp]ÃpÎÃð¡ÃpoÃ0JÃàŒÃs÷àÌÃÀ!à ÃpKÃÉÃmà #à ŽÃ0ÁÃP'à )Ã0JÃÀµñà ŽÃðÃÐÖÃÀ£ÀrÃpÚÃ`<ÃÃpìÃpæÃyðˆÃÐÖÃ@èëÃàåÃàññð|ÃЬ ÃPn Ã`­ðvÃÐGÃ:à+"Ã`›ÃP’ÃÀ2Ã@îÃà\àaÃ4Ãð$ÃÐÖÃ`<Ãà’ÃàñÃÐeÃð0ÃpàÃð§ÃáàöÃ@Ãp]Ã0ÓÃ``Ãð¹Ã@úà  ÃP-Ã0JÃ4ÃöàÌàUà=À%Ã0hÃÀ&Ã¥ ð|ÃÐSÃ`6ÃàtÃ¥Ã`ÅÃ(ÃÃ@úÃ@qÃ0£ÃиÃ@ÖÃÐSÃÃ0ÇÃànÀ~Ã@qðÿÃ0©ð|ÃÐèÃÉÃpQÃÐÜÃ@ÃP!àäà )ÃÀ2Ãð³à ¬ÃÐâà #ÀÃPŒÃð6Ã0ÇýÃÐâÃ`TÃÀVÃÃàýÃ.ÃP’Ãð$Ã@èÃÀ2Ã08ÃоÃðÃÐSÃ0Dà |Ã0 ñÃ4Ã@‰à Àà 5ÃöÃàýÃð­Ã`0àÞÃàñÃ`Bà )Ã`HÃÃÃ0bÃ0Jà šÃpcÃð§Ãpòð”Ãà†Ã0\ÀœÃ@kÃÃÃÐîà ¬ÃêÃ`TÃð³ÃàÃ0ÍÃà ÃÀ2Ã`6Ã0PðÿÃP÷ÃàŒÃ0¯Ã08Ã0>ÃÐÊà ”ÃàñðÃP’Ã4Ã.ÃÉÃpæðjÃRÃdÃ`fÃð*Ã@kÃpæÃ‘ÃÞÃÐŽ%ð‚Ã@‰Ã@ÃpþÃàÃ`6Ã@wÃ0ÙàOð‚Ãp]ÃÃÐkÃ`*ÓÃØÃ0JÃpæÃP!Ãð›ÃöÃ`ËÃðÃ`<Ãð§ÃàÃsÃÐkÃ¥ÃðÃP€ÃÀ,Ã@wÃð6Ã0»ÃmÃÀÃàbëÃàÃP’ÃÀµÃpÎÃäÃÉÃð6àÆÃ0£ÃððÀÃ0ÁÃ0>Ã@îÀ„ÃàtýÃ`BÃpòÃ@kðŽÃ@wÃ0»ÃиÃàåà  Ã@kÃPÃ@wðÃ0µÃ@qÃðà ßÃÃ`0ÃêÃ¥Ã0ÇÃÐÖÃLà Ã0µà #à  ð”Ã0JÃÉÃ@qà ²ÃÐwËàaÃ@îÃð*ÃPŒÃð*ðùÃPýðùÃÀ2ÃиÃðÃ@îÃ`×ÃðËÃðÃpQÃàŒÃ`Bðˆà ‚àÆðçÃ`­Ã.àUÃpÔÃÐAÃpiðà ¦Ãð Ãà€Ãpìà Ã0¯Ã0ÇÃðÃ`³ÃÐôÃ0ÍÃ@‰àÞÀÃÐèÃÀ»Ãà÷ÃÉÀŠÃP'ðÃpàÀÀ–ÃÐeÃ@èðçð|ÃdÃ@wÃpoÃ`³ð‚àaà  ÃÐMà ó Ã@èÃà˜ÃPªÃÀÁÃP!Ã:ëÀÃ0PÃ¥àUÃ0ÓÃàzÃÀ©ÃLÃ@}Ã0bð#ÃÐÖà ˆÃÀ©à ¦ÃdÃÐôàêðíÃ@ÐÃ¥ÃP’Ãà ÃоÃpÚÃ`HÃÐeðÃÃÀÍÃ@ÃP¤Ã0,àÞÃ…ð”ÃP˜à à ŽÃ0ÇÃÀPð Ã`ÅÃyÃpàÀ–ÃÀÇÃ@}ÃLÀïÃ0Çà ¬À àIÃðÙÃ@qà ¬Ã0PÃÀ»ÃÀ&À–ðÃÕà ²ð à ÊÃÐÖÃÀÃsÃÃXÃÃ@kÃàhÃ0&ÃàëðÃ0PÀÃÐÐà  ÀÃÉÃ|ðšð”ÃpiÃPà ŽÃP’Ã^Ã0ÍÃöÃÐâàgÃP¤Ãð6àºÃ`ÃÃà YÃðãÃÐwÃ.ð|Ã0PÃRàyÃÀÁÃà Ã@eÃààäÃ`BÃ@wÃ@Ãð§àaÃ`­ÃäÃÐYÃP'ÃÐ_ÃP!ÃÀ»àyÃ@‰ð”ÃP¶ÃàmàUàUÃÀ©Ã"ÃpøÃàŒÃÐÐÃÀ©à Ãà’ÃóÃáàà Ã@}ÃÐqÃ0Íðà ¬Ã@‰ÃP˜ÃPÃgÃ@ÐÃpæÀOðñà šà  à 5ÃP-ÃÐeàêÃ0ÇÃàŒÀ´À+ÃXÃùÃ0„9Ã8,‚ð_‹Ã¸·ŠÃ=‡Ãà„Ã(€Ã ¹€ÃP·|Ãð[yÃ0vÀßtÃ0 wÃwwÃ0‡wÃðsÃÐÀpÃ@[pÃ@änÃð nàÎoàclÃÅjðjÊcÃ0aÃPÜaà ÒdÃ`ÀÔaÀÂdà±_ÀÚ`ðU`Ö]à äaÃ0#^Ü`ÃУ`ÃPè_à …\à —YÃp`YÃÐJZÃ`ÈVÃ`KVÃÐÍYÀVÃÐVXÃ@\[â[Ã0AYÃÀ¸VÃ`æQÃ0ÄXÃPô]ÃÀ/XàvTÃðÂSð»OÃTàQÃ0qQà JQþLðÇMÀ½PÃ5NÃð]OÃP³SÃ`WTà ©VÃ#QÃêOÃðÚOÃðÚOÃÀúKÃЪJà MÃðRÃ`KÃ0*HÃÀôLÃPNOÃàBMÃp¢Nà ÷IÉ@à tJÃ`MÃLàGGïDà DÀíHÀÿEà HÃÐIð†Cà_CÃ&FÃ&FÃPCÃÀB@ÃÐQDð÷EÃðFõGÃpmBÃÁAà ¶?Ã&FðzEà È<à K<ÃP´>ÃP7>ÃÀT=ðBÃÐÚBà EÉ@ÃðÃ>à ¼>ÃÐì?à !CÃðF>É@Ãß<Ã$<ðBÃp>Ã@{AÃÐ{=À;Ã`ç<àkAÃp…>Ã@<Ãà>ÃpðAÃÐæ@ÃÐò>ÃÀT=ÃðÕ;ÃðL=ÃÐþ<ÃðF>ð!?ÃÐ:à;Ã`Û>Ãý7ÃPU9à•:ÃðX;Ãß@Ã@uBÀÊ9Ãp»5Ã0–6ÃЙ8Ã0–6Ã@F5Ãà7:Ãñ9ÃT4Ãp&9ÀM9ÃЇ;Ãp¯7Ã8Ãðù5Ã`ÿ8Ãñ9ÃàO6ÃÀõ7ðQ7Ãpµ6Ãðç8ð3ä5ÃÐ:Ãðv6ðW6à$8Àî3ÃàÆ7ÀÖ7ÀÖ7ÃàO6à ò5Ãz<À7Ã@L4Ã05à (-Ã0=0à65ÃÀ3à65ÃàÒ5ÃàØ4Ãà=9ÃÐ8Ãp>5à³5ÃÐ9ÃPÒ9Ã`ÿ8ÃB7Ã7Ã05Ã`6Ã@R3à Ÿ.Ã?-ÃðŽ2ÃàÌ6à­6ó9ÃÐ44ðì2ÃЫ5À_6Ãàa3Ãð2Ãð¬-Àî3àB3à 3Ãн2ÃP…1à×/Ã@X2Ã0I.Ã-0Ã-0àÑ0Ã`50ÃPü2ÃÀ¢0Ãð /à 1ÃÐ44Ã` 3ÃP/ÃP&,Ã0º0ðo2ÃP/ÃP0ÃPm5à “0Ãð”1Ãð0Ãx.ÃpÍ2ö.Ãð;+ÃÀ´-ð/Àƒ0ÃÐ^-ÃÀ%0ð-Ã`/1Ãû-ÃÐá,ÃÐÕ.ÃÐF1ÃP—.àû)ð .Ãph.ð“,ð/Ã@Õ2Ãï/Ã`Ä-Ã012ÃP1ð-ÃP&,Ãx.Ãpñ,ÃðÖ&Ã@š'ÃÀI*ö.Ãpß/Ã`M,ÃÐL0Ãà.Ã`#3ÃÈ/Ã`S+À³(Ãc+ÃÐj+ð,ð/Ãã1Ã0a*Ã`â(ÃÐá,Ãà‘+Ãì)Ã0ð'ÃÐ'ð()Ã@+Ãpý*ÃÐù(à «,Ãð¦.ÃÐÛ-Ãà )À•-Ã0ä)Ãà-à +ÃE,Ãi*à)ÃÔ-Ãpt,Ãc'ð()Ã@ÿ+À›,ÃÀO)ð()Ãð¾*Ã`Ð+Ãà-ÃP©+Ã0a*ÃÐç+ÃP2*Ã*à Ã(ÃÀa&Ãì%àõ*Ãæ*Ãpn-ð“,Ãà‹,à Ã(Ãà+ð¥)ÃPÍ%Ã`w%ÃÀØ'Ãð#/Ã0Þ*Ãp )Ãð;+à~)À¡+ÃÐ^-Ã`M,Ã0g)ÃÀg%Ãð_%ð,ÃP -Ã],ð+à :*Ã@ &ÃÐv)ÃQ*Ã(ð™+Ãð;+ÃÀØ'ÃðM(ÃÐÿ'àx*à ·*Ãp*Ã*Ãà£(ÃðÖ&Ãà+ÃÎ*ÃÈ+ÃðA*à ½)ÃÀU(ÃÀU(Ãð¾*Ü(Ã0…$ÃðG)ÃðA*ÃÈ+Ãð/-Ão)ð()Ãà£(Ã`w%Ã%'ÃÀØ'Ãð;+ÃÚ,ÃÀØ'Ã`Ð+àï+è&Ã0g)Ãà£(Ãò(ÃÀI*Ãà‘+À§*Ã`k'À0)Ãc'à F(Ãp!%â'ÃÀº,ÃW-ÃÐj+À,Ã`¸/Ãp†)ÃP£,À•-ÃÀO)ÃP>(Ã@)à ½)Ã`Ü)ÃÀC+àr+ÃP/Ã@p.ü-Ã@í.Ãp€*ÃÐv)Ãð¾*Ã0m(ð()À•-Ãà+Ã@ÿ+Ã0Ì-à)ð.(Ã@ù,Ã@ *ÃÀC+Ãà—*ÃÐÏ/àÝ.ÃÀU(à @)Ã0ö&Ê+Ãpt,Ãp†)Ãà©'Ã](Ã`G-ÃK/ð‡.ÃÐd,Ã](à„(ð¥)Ãà.ÃÐv)Ãpñ,Ä,ð"*Ã@¬$Ã`ô%Ãõ.à ±+Ãõ.ÃÀ®.Ãà*à 4+Ãày/ÃP.À$+à)ÃÚ(À­)Ã`ô%Ã@'Ãpå.Ã,Ãp’'Ä,Ãð5,ÃPD'ô$Ã`k'ÃðS'Ã0g)Ã~-Ãà+À**Ãà.à×/ÃÐ|(ÃÀÒ(Ã@š'ð-ÃÀ1.à (-Ãà&(Ãà‘+À1Ãà…-ÃK+ÃÐp*Ã0ê(Ãì)Ãð;+ÃP/À¡+à F(Ã@š'Ãð;+àé,Ãæ*ÃðM(Ãà£(ÃÈ/ÃÎ.à(ÃP -à @)Ã0Þ*Ã@p.ÃPü2Ã0C/àŠ'Ãà,ÃÐá,ÃÈ+Ã`Y*Ãp€*ÃÐù(Ã@Ž)Ã@p.ÃÐX.À›,À-Ãc+ÃP£,Ã@‚+À›,Ã`¾.ð/Ãà.À6(Ãc+Ã0U,ð/À,à ±+Ã](Ã0m(Ã`Ð+ÃÀÒ(ð™+ÃP8)ÃÔ)ðŸ*À­)ÃPß"Ão%ÃÀC+Ãð²,àû)à F(ÃðY&Ãþ&Ã`S+Ãà‹,ÃÀØ'à %Ã(ÃÐù(Ã@ˆ*Ãì%ÃPÍ%à%Ãi*Ãp )Ã],Ãò(àû)Ã0Þ*À0)Ã@ˆ*ÃP2*à&Ãþ&à :*Ã,ð:&î%ÃÀ!ÀB&ÃPP%Ãp’'Ãp˜&Ã{'ÀÅ%à`.ÃP2*à&à F(ÃÐí*Ãðk#à R&À¹'Ãpý*ÃÀÀ+ð@%ÃðG)ÃÔ)à Ã(àŠ'Ãp!%Ãpž%à @)ÃP—.À›,ÃðÄ)Ãi&Ã0#Ãc'Ã0m(ÃÀm$Ã0a*Ãp&à Õ%à 'à :*ÃðA*Ã@#&ÃÐù(Ãp€*À­)Ã@'Ãc'Ã`q&Ã0—!Ã`e(ÃðÄ)Ãp(À0)Ã`e(Ã+&ð.(Ã0s'Ãà )àŠ'ð"*è&ÀÅ%Ãæ&ðÉ#Ã1%ÃÀg%àŠ'à @)è&Ã`M,Ãì%Ã&Ã@#&ÃpŒ(ÃÀØ'À0)à¢#Ã0#ÃÐó)ÃÚ(à ½)Ãc'Ãp(ÃÀa&Ãà2&ÃPÍ%Ãp€*Ãò(Ãp*Ã`k'ðŸ*Ãà¯&à Ã(Ãà‘+Ã(ÃPJ&Ãà&(ÃP2*ÃÀê$ÃЦ!À<'Ã0m(Ã`è'ÃP2*Ã`_)Ãðâ$Ã1%Ã0%Ãp¶!ðíÃÐ%À¹'Ãpž%à 'Ã0%Ã+&Ã?-à L'ÃÐ$ÃÀ Ã` Ã`w%Ãàµ%Ãu$ÃàJ"à p!Ãò$ÃPD'à&Ãàµ%Ã7$Ã0ü%Ã0ö&Ã0‹#Ã0ü%à 'à&ð«(Ã0#Ù"ÃÀØ'Ãà,Ã`M,ÃàÁ#ÃàÇ"ÃÆ!Ã0ê(Ãð²,à X%ÃPh!à ó Ã$ÃP»(Ãà,'Ãi&Ã0…$î%ÀÅ%ÃðÖ&ð½%ÃàD#ÃPb"ÃÐ$À0)ÃÀg%ÃÀö"Ãò$ÃPÓ$à¢#Ãà©'ð+Ã@²#à 'ÀÅ%Ã`ô%à Õ%ÃðY&ÃÀO)Ão)ÃðG)à Ï&ÃÚ(Ãi&À­)ÃpŒ(Ã`w%Ã7$à ó Ãðq"Ãðk#ÃÀä%Ã&Ã0ê(ð()Ã0y&ÃPJ&ÀÑ#Ã0%Ã0ü%Ãà8%Ã°Û Ã`‰"À6(à «,Ã0y&Ãu(è&Ão)ÃPP%ÃPb"à$ÃÀU(ÃPJ&ÃÐ$À³(À6(Ãðú Ãø#ðÉ#ÃЬ ÀÅ%à„(Ãp˜&ð()Ö)Ãò(Ã`e(ð«(Ãì)ÃðG)ÃÀm$Ãp3"Ãð Ã#ðÕ!Ã+&Ã0ö&ÃðÜ%Ão%ÃÐp*ÃÀI*Ãà»$Ãà©'ÃðM(Ãà+ÃðÄ)Ãàµ%Ãà&(Ü(Ã@Ž)à)ÃÀm$ÀT#Ã`â(à X%â'À**ÃÚ(Ã0%Ã@Ž)Ãæ*Ã@ˆ*à %ð½%ð()ÃP>(Ã*ÃàD#Ãp )à :*Ã`e(Ãi&Ãàµ%à(Ã@ &ÃPÇ&Ã`e(â'Ãà)Ãc+Ãp†)ÃÐŽ%ð@%Ù"À³(Ã0ê(ÃPP%à%#à+"ð()Ãì%Ã@¬$à X%ÃÐ#ÃÆ!ÃPß"Ã`â(à É'ð@%Ù"ÃàÁ#ÃÀO)Ã0%ÃÀö"ÃÀ"Ãp°"â'à Õ%ðR"à ç"àû)à„(à%#ÃðÖ&ÃPÍ%ÀÅ%Ãi*ð«(ÃÀö"î%Ã"ÃÐ#"Ãðw!Ã0$ÃðÜ%ÃP\#Ã@¦%ðÉ#ÃPD'è&Ã@¦%ÃP8)ÃÀØ'ÃPÁ'Ãu$à Ãð ÀT#ÃPÍ%ÀN$à !Ãðú ÃP>(ÃPµ)Ã"Ã`!Ãp¤$ð:&ðL#ÃЈ&à&Ã+&Ã@ &à %ÃÐ%à R&Ã(ÃðY&Ã@;"ÃÐ$Ã0ü%ÃЈ&ÃД$à1!Ãðk#ÃÐŽ%À6(à&Ã&ÃÌ Ã€lÃà>$à%ÃÀä%à–%ÃPtà á#ÃP2*ð«(Ã$Ã`‰"Ã0!ÃðÄ)Ãà-ð4'ÃÐ#Ãðî"à í!Ãp!%Ãðô!Ãaà *ÃÀFiÂÀö"€.ÂÀ IÂ@2b€£~Â@IsÂ@|Âw “Âà!”Â@T‰Â îŒÂ@•“Â`¹šÂ€™Â ó Âà©ÂÀ[§Â€`¡ÂàD£Â`_©Â@ó­Â€°Â °ÂÀ ´Â@ϳÂ`A®Â ³µÂ@R³Â`ÿ¸ÂàÆ·Â ]¹Âà+¼Â€5½Â@ ¿Â@¥ºÂ ú¾Â MÆÂ€óÇ ¸ÉÂàéÆÂàÑÊÂ@ªÎ ÇÂ@¶ÌÂaÕÂsÒÂàÝÈÂ`·Ä€áÊ Π ÑÂÀÜÐÂ`ÊÂà6ÏÂ`iÑÂà¡ÒÂÀqÍÂäÔ óÔÂÞÕÂU×ÂàGá çÖ —ÙÂ`˜Þ äá€ÔáÂ@\ÛÂàâÜÂ`âÂ@»àÂÀšÛ®ÝÂ@¯â ÉÛ€ÚàÂ ÆæÂ ´é øèÂÀ.íÂ`÷ =è FÜÂ@éÂÀ@ê€oÝÂ`Ùè€tñÂÀôÂ@ÒñÂ`£ñ ùÂ`µîÂ`,ðÂ`>íÂ@Þï¡ô øÂlèÂ~åÂ`‘ô ïôÂ@1÷Â@Uñ òÂÀÎü€DùÂ@~ÿ 3ôÂ@Àô °ôÂ÷ ùÂà4ù fö ¿üÂÀÚú€ÁùÂàXóÂ@ÆóÂ÷ÂÀÂþ °ôÂàŸü€&Ãð®ànÿ 6þ zà÷à NúÂÐïð•ÃPŸÃ0QÃàþÂ@ÃÀ¼Ã@ûÂàÿÂÀÂþÂÜÿÂð1ÃPŸÃpÿðàzÃâÃ0ÚÃpÿÃÜÃð¨à *ÀÃðÃPŸà §Ãð1Ã;ànÃzþÃbÃPø ÃPÃ0Eà àJÃñÃMÃðºÃ`7ÃëÃP ÃÇ ÃŽ à ÃpíìÃÐBà ÀìÃÀ† ÃpL Àüà» à q Ã`Ã`¨à ÃPà Ã0ž ÃÀ'ÃP ÃÐ< ÃpÏÃ@ZÃÐ* Ã`% ÃpF Ãð×ÃàÎ ÃJ à ô ÃðéÃà?Ã0 à ÃPì ð_ Ãp: ÃàªÃС Ãp@ ൠðÊÃPæ ÃÀ ÃÀ† ÃÀñÃ,ÃàªÃÀ ÃÀ Ã>à k ð;ÃðéÃÀåÃ@¹ ÃÐÃÀÍÃPWÃp«Ã`„ÈÃà¼ÃÀtÃÇ Ã`„Ã@B Ã`Ã`ûÃ@§Ã@³Ãp(Ãà°ð;Ã…ÃÐ ÃùÃ,ÃðNÃLÃ0tÃà°Ã@§ÃàW Ãà3ÀºÃÐwÃÐèðšð¬ÃçÃÀÙïÃjÃp™ÀCàyÃÐ Ã@Ãð³ð¦Ã@< àÃpÃàžÃüÃÃàÃ@ôÑÃÀ´À=ÃíÃ0€Ã`ïÃà'ÃðHðÃð³Ã0bÃp“ÃÀbÃ@à 5ÃÕÃà!à ÄàÃçðð Ã@›Ã@§ð¸Ãà!Ã&ÃjÃ@wÃ0VÃ…Ãpoð¬àöÃ`ÅàgàöÃÀÙÃÃLÀœÃP°Ã@îÃ@‰ÀCà[àUÃðBÃÐÖÀûÃðÃFàÞÃ`<ÃjÃÐàöÃ`ÝàöÃpþÃ0VÃPÀÃXÃà!ÃpoÃ4Ã@èÃð6ËÃð ÃиÃmÃð6ÃÃàñÃpiàäÃP3Ã`NÀÑÃð¹Ã0tÃÀÇÃFÀÃ0\Ã0hàðÃð6Ã@ƒÃP?Ã`ãÃ@Ã@ƒà šÃÀ àêÀÃÀDðˆàðàØÃÉÀÃàüð#ÃpiÃ`¡ÃÀ,ð¦ÃpÃð6ÃpøÃ@îÃàtÃð<Ã@ à #Ãð­Ã0PÃÃöÃ@ð‚ÃànÃ@ÜÃÐYðŽÃ@ÃÃÃðà ¦Ã0ÓàÞÃà€ÀŠÃ@kÃ0»ÃÞÃPÃFÃpcÃànÙÃ@èÃ.Ãà†à šàU÷Ãà€ÃP†À ÃP’Ã@YÃ0¯Ãð$ÃÃÐ_à  À„À~ÃàzÃpÎÃð$ÃàåÃ@èàÞà /ÃmÃLÃàÃ0Áà ÃPÃÀ Ã0µÃgÀŠÃ@YÃ`Åð Ã0ßÃ@‰ÃP’Ãð¡ð|ÃPžÃpoàºÃК#à Ãð0Ãà÷Ã4àOÃàëàðÃð¹Ã0ÁÃð*ÃÀµàUàmàUÃ0£ÃPñðà  Ã`ÅÃpiÀœÀ Ã0!Ã0ÁÃ@_à |Ã`BÃüÃ`HÃ0JÃ0>ßÃ`§Ã4à šðjÃP’ÃPÃ0VÃPžÃЦ!ÃI!Ãð­àÃpÃ…ÃÐSÃÐîÃ`ËÃP’Ãp]Ã`§ÀÃPÃÀ©Ã"àÞÃpòðùÃð­Ã@YÃpÔðóÃð$Ã@kà[ÃyÃdÃ`¿àÞÃàzßÃ@ÜÃÐSÃðÃ@ÐÃ` "Ã0!ÃиÃ`¹à ðóÃpWÃpcÃÀàÒÃàÙÃÃÃmÃP¤ÃàtàCÃàßÃ0µÃgÃàýÃ`6àÞÃð*Ã.àCðvà šÃäð‚ÃððvàCÃ`§ÃÀ~Ãp9!ÃÀ… Ã(ÃàtÃð•Ã`$Ã"À„Ã( Ã` "Ãø#Ã0‘"Ãàð|ÃÀ‹Ã0‘"àºà´ Ã@G ÃðƒÙÃ@G ðíÃpÔÃpÈÃ@Ä ÃðjÃ(à Ãðw!Ã`$Ãðú Ãp¼ ðÏ"à ÃàhÃaà Ã`0ÃÞÃgÃàëðvÃPñðÏ"à Õ%Ã0&ÃÞÃàD#ÃÀð^ ÀÃÀ Ã[ÃpEÃÀü!ÃÐ;ðùàºÃðô!à %ÃàD#à®!Ãu$ß!Ãðô!ÃC"ÃÀs#ðF$ÃÀ‹ÃàbÀéÃ0g)à Ï&Ã@;"Ãò$Ã` "ÃPP%ÃðÊ(ÃÀ!ÃàåÃ@A!Ãà©'Ã#ÃPë Ã"ÃÀü!Àf à ùÃðú ÃÀÃ@;"Ã@ÊÃFÃ@Üà=à Ãðî"ðdàCðvÃðƒÃðk#Ã"à j"ð|ÃÒÃ#Ã@)%ëÃ@¸"ÃPÇ&à ÃpÂÃЬ ÃPzÃpKà v ÃÆ!Àã Ãp-#ÃÀa&Ã`#ÃðY&Ã`ú$ÃPÇ&ÃД$à=ÃàP!ÃàÍ!à ^$Ã@¬$Ãp°"àœ$Ão%Ãðî"à j"à v À×"Ãà>$Ã0!Ã0‹#Ãì%ðR"Ã`Ã#ÀË$Ã`‰"ÃÐ#ÃÐ$Ãp!%ðÕ!ðçÃäÃàV à j"à®!Ã0‹#ÃPh!Ãp¶!Ã0»Ã0 ð½%à X%Ã`#ðjÃ0!ÃЦ!ðpÃàÙÃ"!ÀrÃðk#à R&à1!ÓÃðÀZ"à ÿà Û$ÃC"Ã` Ãø#ú#Ã0!Ã4àÆÃ@G ÃàD#ÃàÁ#à p!Ã0,ÃPë Ã$ÃÀg%Ãì%ÃÌ Ã ºà+"ðóÃP à ÿà1!Ã0%à+"Ãð‰Ã`›Ã`• Ãp9!ÃÀ Ù"ÙÃ@Öà¢#à&ÃÀs#à¨"Ãðq"à+"Ãi&Ã@¦%ÃÐŽ%Ã0g)à¢#Ãþ"àœ$à ðF$ÃÐ$Ã`‰"À„ÃÀ‹Ão%Ãð_%à j"ÃPn ÀZ"ÃЦ!à d#ÃÐŽ%Ã0‹#Ã`!ðdÃ0 ÃØàCÃ` à ÿÃ( Ãðw!ÃPÓ$Ã{#Ã°Û ÃÐ$ðdÀÝ!ÃðƒÃÀ‘Ã1%Ã0y&ô$ÃP\#à ßÃ"Ã0 ÃÀ… ÀÝ!Ã0%ÃPÙ#ðR"ÃÆ!ÃвÃàP!ÃÐ)!ÃÌ Ãp'$ÃPV$à ç"Ãpª#Ã`!ÃPå!àºðL#ðL#ÃÃPÍ%ð@%Ã`›ñÃÀØ'Ã0!Ã@YðáÃø#ÃÀü!Ãðô!à ùÃиÃäÃpiÃ`›ÃàJ"Ã"Ãà>$ÃÀy"Ã`}$Ãp3"ÃàÇ"ÃÀ!Ã@èÃÌ Ã ÃÐSÃ`$à+"à1!ÃPñà à ÿÃ:à1!Ã@ÐÃ"ÃД$Ã`¡ÃÀy"ÀË$Ã@G ÃàbÃUßÃ02Àã Ã$Ãðî"ÃO ÃÐAÃ{#Ã"Ã[à ÃÀÃ` Ã@¸"ÃÌ Ã ÀÃÀÃÀ!à´ ßÃ0,à ÃPë ÃPñÃpcÃÀ,ðçÃ`$ðÕ!ÀéàºÃaÃpWÃð Ã@ÖÃàåÀ`!Àf ð^ Ãðô!Ã0 ÃÀ‘Ã0»àCÃPtÃp]ÃÀÃp¼ Ã( Ã$ð^ àÀÀf ðÉ#ðX!Ã.ÃÐ;Àf à®!ÃPÃÀð^ ÃUÃÃЦ!à ÃpKÃpÈàgÃ`NÃp9!Ã0£ÃÀ‹Ã`}$ðáÃ`0Ã@ÖÃ@ÜÃPå!ÃÐ)!Ã@G Ã°Û Ã°Ï"Ãp9!à Ã`›ÃpÈàÀÃð Ã"àa÷à®!ÃPh!ÃЦ!Ã0µÃÐ;Àã Ã`›ÃЦ!ÃÆ!ðÃ$Ãp˜&à´ Ãðî"Ã:ÃPýÃиÃàD#ÀÑ#ÃÀ… Ã@¸"à1!ÃPñÃp¶!ÃЦ!ÃpEðçÃPýÃ"!ÃÞà Ã`!ß!Ã0 Ãà ùà ÃàV ÃpEÀéÃp-#ÃвÃpEÃ@ÐÃP’ÃÐSÃà÷À×"ÃÀü!Ã0$ÃÐ)!ðáÃ` ÀÝ!ÀÑ#àÀÀË$ÃPV$à ó Ã@_Ã`$Ã0&Ãð Ã0 Ã0"Ã`*Ã@Êà1!Ã` "Ãþ"ÃpÂÃPn ÀõÃðÃ0‹#ðdÃ@YðÿÃPÓ$ÃPß"Ã°Û ÃðÃðî"ÃO Ãþ"Ãp3"ÃpÂÃÐÖÃpQðL#ÃÀü!ÃÀ… ðùðà Ãðú Ã"ÃиÃàtÃPÀ÷Ãp? ÃÐ#"Ã`ƒ#Ã0ö&ðçð|ÃÀ£ÀrÃ4Ãp¶!ÃPzÃ`­Ã@Öà Ã02ÃPýÃððÕ!ÃК#à à ùÃPP%ÃÀö"ÃÃÀ!Ã0—!Ã@YÃ"ÃpEÃ`ËÃ0Dà v Ã` "Ãp9!ÓàÒÃpÎÃ@G ÃÃPñÃ`ÃÀ‘ÃÀ Ãвà´ Ãò$ÃpÎÃÐ5Ãp? ðR"ÃàñÃ`§ÃpKÙ"Ã`!ÃpÎÃ`¡ÃÀ‘ÃðƒÃ`›ÓÃpKÃ`¹ÃðÃ:Ã°Û Ã0 Ã@eà à7 Ãвà |ÃÐÄàÀà !ÃД$Ã@ÖÃ@YÃp3"è&ÃàÍ!ÃÐ;ÃØà Ãp3"Ã[ðpà ó ÃÐAð|Ãðú Ãp? Ã0¯ÃÀ‹Ã`*à®!Ã"Ã7$Ãð ÃÌ Ã ÿÃÀm$Ù"ÀõÃaÃPñÃàåÃÞÃàßðjÃÐAÃÒà ÃØÃ0‘"ÃЬ Ã"Ã`HÀxÃ@Öà Ã@S÷ÀûàØÃð} ú#ÃpÂÃ`­ÃÞÃ`*ÃpÎÃÞÃ0©ÃàhÃÀð#Àûðdà ùÃUà Ã0ÁÃ`¡ÃgÃpKÃÐ)!ÃÃð ÃÀàCÃØÃ`§ÃàÙÃ`¡ÃÐMà ‚à¨"Ã@A!ðÿÃpàÃpÎÃ`›ÃàbÃp]ÃäÃ0µÃ0&àIÃ@_ÃPÃ:ÃðpÃÀÃàßÃP ÃàtàÒÃðÀã à®!ÃàhÙÃð ÀrÃ02ð|Ã`0Ã(à ˆÃPtÃÐ5Ã`§Ã°Û à ÃP ðùýÃP÷à ¦ÃêàUÃàbÃpÚÃðè#Ão%ÃàñÃàzÃ`ZÃPžÃI!ðjÃpWÃpoÃàzÃ(àÌÃêðáÃPð‚à šà[ðóÃ`¹Ãyà ÃPtàºÃàhÃàtÃÀÃ(Ã02Ã@YÃP€Ã0»à ²àCÃÞÀÃP ÀûÃ0£Ãäà à ð‚Ã`<ÃpQëðvÃÀàÒÃpÔÃÀÃ`6ÃÀà v Ãðw!Ã( ÃÀ ÃP†ÃPŒà[Ã@èðùÃÃðçÃÀ… Ã0µÃPžÃpcàÌÃPà ÿðL#à ÃÀ ÃpÂÃÀü!ÃÀÃð$Àã Ã@ÖÃpKà ˆÃ…ÃsÃ`§ðáÃàtÀ~ÃàbÃ@A!ð^ Ã`­ÃRðvÃ.Ãðq"Ã0!ÃÀðpà Ã@MÃàzàÆÃ@A!ðíÃð‰ÃPëÃàñßà ¦ÀÃ`0Ã@ÖÃPzÃ@¾!ÃPh!à7 ÃÏÃPà¢#à1!Ãð§ÀÀûÀrÃPŒÃàŒÃ@ôðˆÃ`NÃð›ÃmÃpÎÃ@Ðà ùÇ!à ‚ÃÀÃðÃ@âÀàOÃ0 ðáÃ`›à ÀõÃðÀ`!ÓÀxÀxÃðÃÀ,à ‚Ã0"ÃêÃà ÃÐYàÀÃFðŽÃÏÃÃàhÃÀ©Ãð} Ã`§À~Ãp¶!Ã@¾!ÃPzðpÃP!Ãð­Ã@ÐðvÃÀõÃÐ/ Ãðô!ÃàÍ!à ŽÃPžà  ÃÀ—Ã`0à[ÃpÎÃFÃðÃÐÄÃ@G ÃÞÃÐYÃP!Ã^À–ÃÐÖÃ0ÍÃ@qÃP÷ÃUàUÃP˜ÃÀ£ÃpKðjðóà®!ÃàÙÃpàÃð›Ãpcà7 ðÏ"Ã` Ã` à7 ÃPýÃ`$À àØÃÀÃ[ÃöðˆÃàtÃP÷Ã02ÃpWÃ@SÃðÃÀ2ÃЃÀ~Ã( Ã@âÃÕÀ„Ã(Ã`$Ã"Ãà÷àÒÃ@kÃÀà=ÃpÚà šÃÃÃ0&Ã`Àf Ãà€Ã`ËÃ0µÃàhÃ@ÐÀx÷ÃRÃ0ÙÃÐ;Ãðú Ã@¦%ðáÃP†ñ×ÃÛà ðíÃ0ÁÃ02Ã:ÃàzÃÀ©à ”ÃàbÃÃÌ Ã¥ à |ÃpÂÃ`¡ÃÐAÃpÎðdðvÃÐÐÃ@ÐÃð} ðóÃð$ÃЦ!ðùÃÀµÀ¢ÃÐ_ÃиÃЬ Ã@ÖÃ@YÃpKÃ`³ÃÀ&Ã`›àÒÃP à ˆÃ08ÃP ÃÉÃ0©ÃLÃFÃ¥Ãà\Ã0ÇÃÀÍÃÀµÃàëÀrÃ`¹ÃÐSÃ@Ä Ã d#à ŽÃPÃàbÃвàÒÃÀ£Ã`¡Ã@èÃà€ÃPzÃpEÃ02÷ÃÐMà[à ÃоÃÀ©ÃPßÃ0 ÃPñÃÐAÃ@eÃ`6Ã0ÓÃ0>ÃpÔÃÀÃðÃêÃÐÐÃÐYÃPÃ`­ÙÃÀÃ¥Ã` àOÃÀµÃÏÀ Ã`§Ã:Ãà€ÀŠðíàÒà Ãp¶!ÃðÃ@Ä ÃpEÃP˜÷ÃÀ‹Ã@ÖÃàëÃÀ=,ÃÀµÃàÃpiÃ`*ÃgÃPzÃàëàCÃ(ÃüÃ@eÀïÃPh!ÃÏÃ¥ÃÀ©ÃàUÀõÃPýÃð$Ã@ôÃ@kÃð‰àºà´ Ãp]ÃÐèÃÐÊÃ` ÃÐAÃð›Ã@ÜÃaÃиÃ`*ÃÐ_ÃàýÃ@SÃ`*ÃàëÀéÃp? ÃàëÃÀÃÏñÃàŒÃP†Ã4ÃàýÃ`­ÃÐ_Ã`¡Ã@ÖÃpÚÀ~ÃP!Ã0ÙÃpÚÑÃÃà ¦ÀûÃàåÃpÎÃð0àöÃ0ÍÃàtÃpþà Ã( ÃP†ÃÀ¯ÃÐYà |Ãgð À Àð Ã`BÃPÃÏÀxÃÐ5Ãð•ÀrÃO ÃÀ… ÃÐÊÃ¥àUÃÀ ÃPtÃPÃmÃyÃÀ‹Ãp¼ ÃRÃ0µÃàtÃà÷ðçÃ0DÃð0àðÃðð|ñà ÃÀ£ÃpcðŽà ŽðÿÃàýàÞÃÐGÃÀ‘à1!à ÿÃpcÃ@SÃ08Ãð­ðÃÀ¯ÀÃàtàmÃFßÃðÃàÃð›ÃÀ&Ã`ãÃ@èà |ÃäÃð_%ß!Ã0¯Àûà ;Ãà˜ÀÃð³Ã`¹à ˆÃPÃ`BÃ@;"Ãp9!Ã@Ã:à ŽÃ`• à Ã0ÇàIÙÃðÀ~ÃÀ‘Ã`<àÒýÃàzÃÀÇÃ`ÅÃà\Ã@G ëÀrÃpÂÃPÃ02Ã0 àOÃ`¿à ÃmðíÃ`#ÃPý÷Ã@kÃÀ£À~ÃÀÃ0©ÀûðÿÃPýÃ`ÃpiÃàà Ãð›Ã0DàyÃ`<ÃÀÃЬ à À–ðÿÃäàÀà=Ã`ƒ#Àf Ã0,à ÿà Ã`­ÃêÃÐ5Ã0µÃ0¯Ã`ÑÃRðvÃàUÃP ÃÐÊðÿà ÷ÃP†ÃP†ÃàåÃp¼ ÃðÃÐâÃPýýÀ ÃpÎàØÃRðùà ýÃäà ùÃÐÄÃP†ÃÀÃàñÃð•Ãð¡Ãp]ÃðÃð ÃÐGÃà˜ÃÀ2Ã`­à1!à àCÃØÃØÃ¥ÀûÃ.ÀéÃ@Ä ÃPÃ0JÃPŒðŽÃ08àØÃÃÃP'à šàºðÕ!ð ÃðÃaßÀ„Ã( ÃÃÃ0»Ã`0à #Ã02À–ð Ã`×à[Ã`­Ãàzà ¬ðùÃ`0ÃdÃpòÃ@}Ã`$Ã0»Ã@YÃ`BÃêÀÃ:ÃÀ Ã…ÃUÃ.Ã`¿Ã0µÃÀà ˆÃPýà  àØëàUÃÐ;Ã@_Ã`­Ã0©Ã0¯ÃÀ,ðÃFÃpcÀrÃ@âàOà ð”Ã4Ã0>ÃpiÃàëÃÀ£Ã0ÁàUÃüÀrà ŽÃð§Ã0\àØÃÐ;Ã.ðýÀ Ã"ÃP ÃàtÃ@âÃpQÃP˜ÃmÃðà Ã0»ÃÀÍÃ`<ÃPÃÀµÃpòÃÐ_Ã0JÃ08ÃP†ÃðÅð#à  Ã0DÃPªàØð à àOÃpÈàÌÃpìð‚ÃðÃ`6ñÃ`¡ÃÞÃÀ&à  ÃP˜à  ð‚ÙÃ"ÃÀÃÐèÃ`BÃ02ðvÀÃP†àöà ¬à /ÃÐîÃÐeÃÀ,ÃPŒÃ`ÅðÃLÃ@qàÌÃÀÃ¥ÃÐSÃpWÃPÀïà ŽÃmÃðdÃp? àÀàäÃ"ÃØÃ02Ã`0Ã0ÍÃmÃp]à šÃàñÀxÃð§Ã`HÃ`§Ãð•ñÃpÎÃÀ‘à ŽÃpÂÃ0µÃ0£à ˆÃPŒÃÀÃ`Ã.ÃØÃÐ;Ã`à #Ã0PÃPÃàßÃððjÃÒàÀÃPtÃPß"ÃðÃÀ&ñÃÀ!Ã4à ”Ã`¹Ã0!ÃÐ5àÀÃÌ Ã`§à j"à ŽÃ"ÃpWÃp]Ã@qñÃ0,Ã0©ÃÐ/ Ù"Ãà ó Ã"!Ã`§Ã0µà šÃPzÃÀs#ÃÀÃ.àÒÃpWßÃð³ðvÀéÃp? à®!ÃPë ÃPýÃäÃ0&ÃÀÃÀµñÃpiÃPh!ÃPñÃäÃPÃÐÄÃ4ÃÀy"ÃÐ/ ðjÃ¥ ÃàtÃp¶!à í!ÃpEÃ0¯ÃpQëÃÐ)!ú#à p!à á#Ã"!ÃpÈàÒÃ@ÜÃàV ÃÐ5Ã0—!Ãp¶!ÃàD#ÃPb"ÃPå!à ç"à´ à ŽÃÀ2ÃPzÃ`• Ã@G ðÃÀ2Ã@eÃpcÃàhÃàhÃÀÃ@A!ÃàñÃÐ5ÃmðÃÀ‘ðdÃàëÃPzÃ@ÖÃÀü!ðÉ#ÀÑ#ÃàÓ Ã€Z"ÀõÃ0&Ã0¯Ãp? Ãðú ÀrÀlÃÐ)!ÃPn ÃPë ÃPë ÃÀü!Ã°Û Ã€f ÓÃ@ÖÃÀÃO ÃaÃÃ`!Ã@A!ÃÐGÃ08ðáðóÃUÃ02ÃÀ… àºÀxÃàbÃ@YðpÃð} ÃÐ)!ÃоÃ@SàºÃpÚÃ`$Ã0&ÀïÃÐAÃàýðvÃ`0Ã@¸"Ã( ÃpìÀ„àCÃÀü!À×"ÃpÈÃðÀÃUÃ`¡ßÃÀ à$à&ðÉ#Ã`• Ã:àCÃðÜ%Ã0!ÀrÃp¶!Ãð›à ˆà p!Ã0,à ùÃÃÐAà ”à à ÿÃ`0Ã0,Ã0 ÃpÈÃPýÃ0»Ã0ÇÃð³Ã0©Ã0µÃðú ÃðY&Ã0£ÃÀ©Ã:ÃÃ`§àÒÃPýÃgÃÐMÃÀ—Ã0&ÃÐ5Ã0DÃàzÃP€ÃP÷ÃðÃ0>ÃP˜ÃäÙÃ@G Àrð|Ã02À×"Ãðq"àgà[ÃsðvÃ@kÃØÃÐMà àÀà ÿÃ@G ÃÀÃäÀûÃàë÷Ã0>ÃP˜ÃðÃpQÃð$ÃÐÐÃ`NÃÐYÃÐSÃ(Ã@âÃpQðà |ÃêÃFÃð•ÃPëÀÀ ððˆÃð•ÃàÙÙÃÀ©Ã0ÁàCÃ@Ä ÃÌ Ã0PÃð­ð À–Ã@¾!ÃpQÃêÃRÃð*ÃðÃð¡ÃànÃp]ÃàåÃPn ýÃànÃ@ÊàÀÀ ÀÃàtà |ÃpÔà ŽÃä÷àäðÃpcÃðËÃðÅàaßÀàêÃ@ÃP†Ã0 ÃFÃ0ÁÃðà ¦ÃmÃ÷ýÃÃÀÃàñÃ0µÃð*ÃPÃðÃ:àUÃPzÃàÃFÃÐAÃÞðÃ0ÇÃüÃ@èÀ–Ã0ÍÃà€ÃàßÃàP!Ã`§ðŽÃàžà ¦à #ðÃðà ÿÃЦ!Ãð‰ðŽÃ`ÅÃÀÃ`0àmÀ+ÃððÃ0Çà ‚ÃðÃsÃÀ¯ÃÐÖÃÐÊÃàh÷Ã@SÃÐ/ Ã@âÃ`Hà[Ãà’À–ÃðàÀÃиàäàäðˆÃpÔÃ`Ã4ÃP†Ãð$ÃPb"Ã0…$Ã4Ã@kÃP’ÃðíÃ(ðˆÃð¡ðóÃp¼ Ãø#ðÕ!ýÃÐYÃà÷ÃðÃ¥Ã` ëàIÃÀ£Ãð¡ÃPŒÃ@SÃàÙÃðƒÃpÔÃêÀõðjÃà\àÒÃ0µÃ0&Ãð6ÃÐâÃ02Ã08àÌÃðà v ÃPŒÃÐSÀœàOÃÐAÃ`BðvÃLÃP†Ã`Hà 5ÃP’Ã`×Ã@eàÆÃmàIÃÀ à[ÃP'Ã0µÃÐYàäÃà’Ã@ ÃÐYÃ`­ÃàbÀûÀÃ:ÃêðÿÃp¶!ÃÀ¯ÃÀ©ð à GÀ–Ã"ÃpKÃ0>à ÃÐAàÒÃÐSÃÕðŽÃüà7 ÃÀ&Ã0ÙÀ à ÃPŒÃÀÃ`§ÃðàmÃàÙðX!ÃaÃ`³ÃäÃ`³ÀïðíßÃ0µà ó ÃÀy"ðjà ÃÀ Ãþ"ÃðY&ÃàbÃð*Ã@qÃÀ&Ã0,Ã`6ÃÞÃpWÃà÷ð‚ðçà7 ÃêÃÉÃÐGÃàåÃ`*Ãàtð‚àºðpÃp]àºÃ`$Ã0>ÃpÂÀf Ã@_ÃÐÄðùÃ0£ðíÃpEà=Ã.ðvàØÃÀ£ÃüÃð¡à ˆÃPå!Ã08ëÃ@SðvàCÃ`!Ã@SÃ`¹Ã4ÃàÇ"ÃÐÊÃyÃ0 ðdÃ`0ÃP€Ã:ÃP’ÃÀ©ðŽßÃPžÃàŒà[Ãpcà=ðR"ÃP€ÃgÃÀ©àgÃgÃÀÃpuÃäëÃàÙÃpòÃð0ÃäÙÃàtÃ0,à=Ã(Ãð$ÃÀ¯ÃP÷Ã@G àCÃPtà ùÃ0ÇÃà ÃðàIÃPŒÃ@_ÃsÃ08ÃpààØÃàŒÃðÅÃpìýÃöðàIð|ðˆÃP†ÃP’à  ÃÀëÃPÃpQÃ@MÃP’ÃÕñÓÃUÃ`• ÃpcÃàzÃFÃFÃðÃà÷àÒñÃàñÃàtëàØÃP˜ÃüÃàzà ÿÀéÃäÀÃð¡ÃP'Ã@ ÃpìÃ@àäÃ@_à Ãðà ²Ã`NÃPÃÏÃÀ>ÃÐqÃpàÃP!ðÃàÃÃÃ…ðÿÃвÃÐ;à àÒýÃð­Ã`³à ˆÃÀµÃð§Ã0ÍÃà€ÃRÃðÃð Ã@îÀÃ`§Ãp? ðÿÃÐ_Ã@ôÃP¤Ã`¿Ãð¹à )Ã0¯Ãð§à ¬ÃðÃ0¯ðvðˆÃäÃP˜Ã@eëÃÀ,ÃXàÒÃð›Ã0µÃ0¯ÃP’Ã`¹ð Ã`<à ùðíÃ@kÃÀ&ÃÉÃÐeð‚ñÃÀ‹ÃàP!ÃàhÃÀ´Ã`×Ã0ÇÃÀ»ÃÀ>ÃpoÃÏÀÃÀÃÀ©ÃdÃÀÁÃÀ,àÞÀ ð#Ãð0ÃÐAÃP€Ã@ÃPÃÐÊà ÃÃðÃÀµÃÐÖàðà ;ÃÀ8Ã0ÙÃÀ2à ¬ÃjÃPzÃð ÃÀÃ0ÍÃÐYÃàð”àöÃ@ƒÃð¹à ¸ÃÀJÃà†Ã0ÓÃ@wÃÀ—ÃÏÃÀÍÃPžÃ(ÃpÔÃ`¹Ã@îÃÐAÃØÃRÃP-Ã0ÙÃ@âÃ`<Ãð*Ãdà ¬ð”ÀõÃ`ËÃð<àgÃP’Ã08ÃÀ‹À¢ð ÃöàUÃ@âÀÃÃàÀà |Ãp9!ðpÃXà šÃ`§Ãð­Ã@úÃÃmÃpiÃ^Ã0»Ãà€ÃP’À¨ÃàÃàhÃðú Ã@YàOÃLÀ ÷ëÃðÃÐ_Ã`BÃ(Ã@}Ãvà ¦ëàaàðÃ`×ÃàhàCÃÞÃÀ2ÃÀµÃyÃ0ÙÀÃÐÊÃÐkÃPÃ`Bà ÃgÃØà Û$ÃpÈÃð‰ÃaðÿÃÕÃÐÖà ÃpìÀ Ã`³ÃÀ&ÃÏÃp{ÃêÀ~ÃêÃÃÃ`×àmÃ0ÁÃ[Ã0»ÃÀ&Ã0,Ãð0ÃÀ ÃP†Ãð*ð ð|à šÃPtÃàhÃP À–Ã0>ÃPtÃ@eÃ`³Ãà€Ã¥ÃÀ2ÃÀ©ÃÀ,Ã.Ã4ÙÃ@ÜÃ@îÃÀ©Ã`¡ÃPàöÃðÅÃ@ƒÃ0JÃÀµðˆÃ`ãÃÉÃP’Ãàà  ÃÀ»ÃÐâÃ0PÃÀ¯ÃpÚàgà Ãà¤à #Ã`³ÀõðŽÃð$Ã"Ã`³ðÃ`ÅÃð$Ã`<ÃsÃà€ÃÀµÃ0µàOÃäÃ`›ÃpÎà Ã0ÍÃ0JÃÐGÃ@SÃ0»ëÃ`§à ÃÃ0\Ã@ôð‚à šÃÃÃÐîðùàÒÃ@qÃÞÃð›Ãð¡à šàOðÿÃ0ÇÃêà ÃÐMÃðÃyÃ@ôðÿà ˆÀxÀ„ðóÃ@#&ÀûÃð¿Ã`éàÃÐâÃgÃàÃmÃpcÃÏÃ`0ðçÃp]ÃðÃØðçÃÐYÃàzÃ@ôàØðdÃPýýàðÃ0bð”Ã`›à ŽÃÃ:Ã0VÃ0åÃÀ>àêàaÃðÃ08ÃÃð0ÃÀµÃð*ÃXà ¬ÀlÃ0»à ¬ÃpøÃð*Ã@ÜÃ0»àÞÃàtÃp? ÃÀÃ@èÃ0ÇÃ0ÁÃÉÃöÀ Ãð0àäÃÐSÃ@ôÃ.ÃLàaÃ0\à /àØÃð*ÃàbÃðÃXÃpòÃàŒÃpcÃàtÃ@À„ÃÀÃ4ðÃð¡Ã@ƒàyÃ0VÃ:ðíÃ`­à ²Ã@qÃÐSÃÃà /ÀÃPŒÃ`ÃpQÃàÃàýÀÃð0ðˆÃÀDÃ0ÙÃÐ;Ãðî"ÃPtÃàëýÃ0ÓÃ@‰àmÃàÀ%ð¬Ã4ÃðÀàaÃ`NÃðÃÃÃÀ£à Að”Ã08ýà ¦ÃÀ8ÃPÃ`­Ãð ÃaÃðÃÐMÃ0>Ã`*Ã@_Ã@ÐÃÐÊà Ã0JÃpÃàÃpìÃð*ÃpÚÃà’ýÃFÃP!ÃÏÃ`TÃ0ÍÃ`NÀ+àöÃ^à #ÃpÔà ŽÃàëÃðÃà€Ãð<Ãöà ð ÃP†Ã@ÃàŒÃð§ðpÃÐèÃ0\ÃÐâÃpiÀà ŽÃ@eà ”Ã`ÅÃ¥ÃÐMÀðÃXÃÀ8Ã@ÃÐGÃpEÃPŒÃP˜Ãð$ð|ÃP€ßÃp? Ã0!Ã`$àäàgà ²ÃÀ¯Ã0Óð#ÃyðÃÐ_ÃpuðŽÃà†ÃpæÃð›Ãð<Ãà’ÃÐeÃÀÁÃð­Ã0ÍÃÕÃ0ßÃ@ÜÃÛÃ0\ÃüÃ¥Ã0PÃÀ£ðÃöÀ ÃP ð ÃpiÃ0>àÀÃàëÃàhÃÛð#ð¦ÃðBÃà÷ÃüÃ4ÃP ÃÀÃpòÃpiÃ0\Ã@úÃP˜ÃFÃ0>ð”ÃÐ_ÃàzÃ(ÃpæðÿÃ`Nðÿà ÀéÃ0Dà ÃÀJàÃP¼ÃÐqÃP°ÃXÃð­à Ã0DÃPÃ.à ÃpàÃàhÃ`³ÃLÃ0PÃðƒÀÃ@}ÃP¶ÃXÃpuÃ`ÃðÃ0\Ãp‡ÃpoÃÐôÃPªà  ÃÀ>à #ÃÐYÃ0bÃPªà ¬Ãð§ÃÀ©ÀŠÃ@úÃà’ÃÐ;Ãàýð|ÃàŒÃ`ÅÃ@kÃÀ©ÃÀ,ÀÃyÃðÃànÃÀ2ÑàüÃð¿ð ÃpæÃ`0ÃpÔÃPðÃpìàêÃàzÃpìÃ@èÃð§ÃdÃÐèÀœÃà ÃÐ_ÃÃ``À%à  ÃPÃ0µðpà ”Ã@wÃàÀœð”ÃÐkÃ0\ÃLÃÀÃP!ÃÐîàÆà ÃðpðvÃð¹ÀÃpæà Ãð¹ÃdÃð›à ”ÃÃÀ2ÃXÃ0Dð‚ÃçÃÃÃpÈÃ¥Ã@wÀÃpøÃà†Ã`TÃ…ÃàyÃÀÓà /ÃyàmÃ@Ã0åàêÃ@qð àÃ`ÝÃ`BÀÃÐèà #ÃàzýÃà†ÃP¤Ã‘Ã`Ñð¬ÃPªÃ`×ÃÀÙÃð§Ã`6ÃP-ÀÃpòÃpÑÑÃ@ÃÐ;ðdð ÃpòÃÀ£ÃÐMÃÀ,ÃPŒÃO ÃpÚÃ`ÑÃð¹ÃÐYÃpàà[ÃÀ‘ÃÀ„ðçÃÀ8àsÃ`<ÃpiÃ(ÃÀ8ÃÃÀ ÃpìÀÀŠÀ%ÃðBÃÀ>Ã…ÃÀµà ”Ã0DÃ`<ÃFÃà÷Ãð<ÃàÃ:Ãð¹Ã0¯àÞÃÐèÃ^ÃP°ÃÉÃpcÃð­ÃPÃð­ðšÃÀ¯àIðÃÐúÃð0ÃàzÃ`¹Ã`<ÀÃÀàêÃàŒà ²ÃPÃ:Àð#Ãà˜ÃPžÃÃÀµÃÀÃÐSÃFÃpþÃÃð¹ÃXÃpiÃ`¹ýÃ`¹Ã0ÇÃpþÃÐ}Ã`0ÀÃð<ðˆÃ`<ÃêÃÐÊÃð$Ãà Ã@ƒÃüðÿÃÃÛà ;Ãð¿ÃÆ!Ã@ÊÀÃ@ ÃpÃjÃð6ÃÐ_ð#Ãð6ÃpÔÃàV ÃpÎÃ0Óà ²ðvÃÉÃ0ÁÃðÃ@úÃpÃÃÐMÃPŒà  Ã`³ÃÐSÃð*ÃÀ¯ñÃð0ð ÃXÀõÃÀ£Ã0JÃPªÃÐâÃ0ÍÃp{ÃÐYÃ"ÃÐAÃ@Yà ¦ÃÕð|ÃPë ÃÀÀÃpÚÃ0µÃð‰ðÂÃð*ÀõÃÀ¯ÃpìÃ…Ã0>àOÃ`¿ÃPžÃà÷ÃÀñÃ¥ÃPzÃÛÃ4Ã@âð‚ÃàÃçÃpøÃêÃÀ&Ãð$Ãðà ²ðšÃà€Ãð­àêà ˆÃ0—!ÃÀ©à )À Ãpæðjà=ëÃÐâÙÃÐMÃ`ÅÃàzÃpæÃpcÃðÃÃÃ`0Ã0ÍÃ@kÀ àÆðvÃàzÃ0ÇðˆÃÐSÃ@îà šÀÃàtÃêàUÃüÃÀÍÃpòÃð•Ã`BÃð§Ãð¡Ãà\à ”ðˆÃà Ãà Ã@YÃ`§ÃöàØàgÃÉÃáÃ`¹ð|ÃÀµÃsÃà Ãp ÃÐ_Ã:÷ÃFÃpcàgàaÃð¹Ã`6ÃàñÃÀ,Ãà’Ã0hÀ¢ÃÐSÃÃ…ÃpìÃ0ÓÃÀ Ã@}àyÃ0ëÃð§ÃUëÃ0JÃPªà šÃ`NÃ@qàsÃöÃà†ÃP-ÃpQðçÃà÷à /ÃPžÃÐÜðÿÃRÃð¹Ã@Ã`¿ÃàtßðÃ`×ÃP!ÃsÃÀà ¸ÃüÃ0»ÃàýÃÀ>Ã0ÓÃpæÃà’Ãà÷ÃPýÃ`Hàgàgà šÃÞÀ„Ãð<Ã…ÃÕÃP†ÃÀÃpìÃÏÃðà´ ðùÃ0ÁÀ„ÃÀðÀ`!ÃÀÃиðˆð|àaðùà /ÃÐeÀ„ÃpKàÆÃ0Óà šñà ùÃÀÃpià àCÃPŒà )ðÃpÔÃÃ.ÃðÀ~ÙÃð¡ÃLÃFÃÀàUÃànÃ0>ÃmÃ@YÃоà$ÃI!Ã0ÙÃÕÀ–ÃÐÜÃ@YÃPÃXà ¨(dt ?@4 4ÿxunitsyunitsÀK hC (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿò% (ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec0 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsPM pO TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøP HEAPX O datadescription8  @œ@R q·—NM€SNODèO @à À8Ãöà ÿÃäÃöÃ0»ðvÀÃp]à Ã0Íà ŽÃ"ÃðÃpòÃêÃð•Ã`HðùÃÉðÿÃ`<ÃðÃàtÃÐMÃ@ôÃ@}Ã(ÃpKðˆÃpìÀ„àÆà |àØÃpàÃðÃP’Ã08ÃÀÁÃ@qÃpQÃpQÃàbÃÐÐÃ0&ÃpæñÃ`HÀ–Ãð$À´Ã@wÃ@_à[ÃpÚÀÃÀ,ÃÀ¯ÃP†ÃàåÃ:ÃÀÃpÚà ŽÃð§Ã@_àUÃp]Ã:Ã0>ÃÐeÃÀ8Ã0µðvÃ@qÃÃ×Ã0tÃ`ÅÃ@èëÃP˜ðjÃðÃàýÃÀ2ÃàtÃ¥Ã.Ã@îàÞÃàtÃpiÃ`ÑÃð¹Ãð*àÃ@qÃàñÃP€ÃÐ;àÆÀ–ÃÐÊßÃÐMÃ`HÃÐâÀ ÃpÔàØÀà ÃÐMÃ@úà 5ÃÐMà #ÃpoÃpæÃPÃÐ_ÃÃÃ08Ã@YÃÃÃP3Ã`¹Ã4À„ÃP¤ÃðÃpcÃpøÃàñÃ( Ã`6Ã0DÃÐâÃÀ8ñÃàëÃp]ÃÐâÃàñÃ0»à  à ¸ÃPŒÃ`$àOÀ–Ã0ÇÃäÃpìÃð0ÃmÃ08ðvÃÐMÃPzðàÞÃ`§ÃðÃP÷ð|ÃÀ¯à ÿÃ@Êà[Ã0ÙðÃÛÀrÃ¥ Ã( Ã@ÃоÃ.Ã0ÁÃP˜Ã@ƒÃð6Ã@kÃPÃ`<Ã0»ÃÐâÃ`HÃPÃðÃmà ÷ÃpÚÃиÃÐÊÀ~Ãð‰à ‚Ã@kÃPðÙÃ@Ã4À à šÃà€Ã@ÃêÃ.ðàOÃÀ&ð|Ãðð#à[ð|ÃP ÃaÀŠÃÀ»ðŽÃÀ¯ÃàbÃmðÃPŒÃàëÃЬ ÃpiÃà ÃpÔÃÀ£ÃÐ_àØÃðÃ`0à ”ñÃpþÃð0ÃpKÃàëÃÀ&ÃàtÃàëÃÀ,Ã0Pà ¬Ã0»à )ÃpÃ@SÃPÇ&Ã`¡ðÃP˜ÃLÑàðÃÀ2ÃàÃ@wÃàzÀ„ÃàßÃ(ÃÐÖÃ`¿Ã`BÃÀÃð§ð‚ÃоñÃàÀÃÐSÀÃpÈÃ@ÃpWÃ@_ÃPÃP!ÃöÃp¼ ÃaÀœÃpÃpìÀ„À–Ã@qÃàžðÃðHÃàÀ¢àäñÃà÷Ã"Ã( àOÃ@ÃàëÃÀ&À¢Ãð$à ÃP°ÃXÃ`¿ÃðÀõÃÀ¯ÀÃpæÃêÃP ÃÐAÃ`ÅÃÀ8Ã`›Ã°Û Ã`$ÃPžÃà†Ã0JÃ4ÃpÚÃÐÄÃ@èÃ@à ˆÃÀ‹àÌÃ@âà àÒÃ@}ÃÀ>ÃÐeýÃ@_Ã@úÃÀÇà àðÃ@}Ã:Ã0µÃ@kÃànàäÃ`ÝÃPÀÃ0>ÃPÃàñÃÀÃàÃP'à #ÃÐMÃP!ÃиÃà\ÃàëÃP˜à ²à ¦Ã@SÃ0©ÀrÃP†ÃÐSÃÀ©Ãð›ÃànÃÐèÃpuà ²à Ã@îÃÀ,ÃÀÃ@ÐÃpuÃ0ÁÃà€ð‚ÃP3à ²ÃvÃÃðŽÃFÃð›ÀõÃ0¯Ãð‰ÃÐèÃÕÃð­ÃPŒà /ÃFðˆÃ`ÅÃð<ðvñÃÀ¯à ÃÏÃ…ÃdàüÃpìÃàýÃ@âÃpìÃð§Ã@qà ðŽÃ@èÀ%ÃpàÃ@ôÃÐîÃ`BÃà ÃPðà  à ¬ÃpòÃ0PàOÀœÃÐÖÃð ÃÐèÃpòÃàÃÐÖÃðÃ`ÑÃLÃ`¹Ã`³ÃmÃ@âÃËÃP!ÃPžÃðÃànðùÃÃð¿ÃÃ4Ã@qÃànÃ08ÃPÀÃáÃÐÊàgÃpoÀŠÃ0ÁÀ1àyÀÃàýðˆÃüÃ0ÁÃÀ—Ã4ÃÀ2Ãpìà ¬ðŽÃðBýÃÃ@àaðáà šÃ0\Ã@}Ã@wÃÀ&Ã`ÅÀ¢ÀŠÃðÅà ¸ðšÃPðvÀ%Ã@ƒÀÀÃÐâÃ`HÃ0åÃsÃàëÃ0ßÀIÃpà‹à MÃpÃð×àöàØÀÃ`NðÙÃÀ»à )Ã`ÝÃÀ>ÃÃà˜àgÃ`BàØÃ@âÃ0&à ŽÃÃÀ8ÃàÞÃàýÃ0ÙÀœÃ`ZÃð0ÃsÃÃüà ;À7À1ÃÕÃ`ÝÃ@ôÃ0DÃ@eÃpÔÃ02ðšÃ@úÃð0Àð ÃàÃÐèÃdàaà À–à /ÃÛýÃàýÃà ÃðÃÀµÃRÃð³ÃÀ,Ã.ÃÃÃ@‰ÃLÃÀµÃÀ ÃÀ&Ã@ÃÐÜÃ@kÃ02ðÃÀÍÃ`TÀ+àUÃÀ—ÃP ÃPÃà ²ÀÃÏÃà!ÃP¼ÃÀÃ`­Ãð­Ã^Ã@úÃPðŽÃ‘ÃpÃ@ÃöÃ0bàüÃð¡ÃÀ>àaðçðóÀ„ÃP’Ã@eÃð¡Ãð§ÃpiÃðBÃ0bÃ@eÃÃÀÃÃÃÐèÃ0ÁÃ4Ã`ÅÃyÃð0ÃpcÃÐAÃ`§Ã0ÁÃ`ÅÃàñÃÃà’Ã0ßÃÀÁÃÉà ŽÃ¥ÃàªÀ´ÃÐ_ýÃpiÃpòÃ@ÃPýÃXàðÃð¦ð)Ãp“ÀÃ08àÀÃdÃÀ\ðšÃàð¦ÃÀ©Ã0JÃð­ÃpÚÃ@eàsÃÀ>Ãð¿ÃsÃ`0Ãàà )à ²ÃpøÃà!Ãð¹Ãð<ð¦à /ðÃpoÃ0JÃ0PÃ0¯ÃànÃ0>Ãà ÃÐkÃð$Ãp{ÃÀ©ÃáÃ^ðÀ¢Ã@}àmÃð³ð|Ãð ÃmÃ0ÍÀ–ÃPžÃÐeà )ð à Ã0&àIÃàÀ®Ãà÷ðÿà šÃð¹àÃà Ã0ñàððÃàzÑÃPÃ@}ËÃöÃ0ÓÃÃ`ÑÃðTÃÐúÑÃÀµÀÃàÙðÃ`ÑÃ0ÓÃöÃp{ÃüÃÀÁÃ^à ÃöÃ@ÃÀ,ÃP˜ÃÐÐàÃ…à ¬ÃÀ»Ã0ÁÃLðšà AÃÀ>Ã`NÀã ÙÃFÃLÃ0nÃ@_à  à AÀŠàIÀÃpæÃ@úà ¬Ã0ÍàOÀÃ0PÃàÃàÃP’àÌðŽÃð­ÃyÀà  Ãð›Ã@wàgÃP'Ã0¯ÃàñÃáÃp]Ãà÷ËÃjÃ:ÃàðˆÃàñàUÃ¥Ã0DÃÀ¯à ;ÃpÃ0åÃpìà )ðÃÀÁÃpìýÃ0>Ã`HÀÃ`HÃpÃÐ_ÃàŒðÃpæà ¬Ãà†Ã@‰ÃP÷ÃP¶ð ÃÕÃpþÃÀPÃÀ8ñÃ`Ýð”ÃÀ¯à /ÃÐÜà )ÃÀÍÃà¤àaÃ@ÃpÃ0åÃðHÃdÀœÃà˜ðÃ`HÃð6ðšÀ–ËÃdÃ`Åð à ¸Ã@ƒÃdÃÐèÃ0ßÀà ùÃ@îÃ@‰àÃ4ÃÀ»ÃP?Ãð6ÃPàmÃÐkðŽÃP°à ¬à #ÃÀ1Ã@›Ã`TÃPžÃ0ÓÃÐôÃÃÀÇÃà€à ¦À%ÃàŒÃð³ÃP°àêÃ…ÃP°ÃÐîÃÀßà ;ÀðÃRÃ`lÃÐîÃà€ÃP3ÃpÃà’ÃÃð0Ã@qÃà ÃPªÃð³Ã@úýÃ`TðŽÃsà ¬ÃÀÍÀ¢Ãà!Ã&Ã0ßÃ@îÑÀ7×Ã0JÀûð‚Ã@úÃpuÃÐeÃÀJà ¾ÃÀ8ÃPªÀ¨à ¦ÃÐôÃ:ÃpÚÀ%Ã@Ã@ðùàOÃÀÃÀÃðBÃÀÇÀ¢ÃíÃ@•Ãà˜ÃÀÍÃÐYðÿÃ`¹ÃÐÖÃ@_ð Ã@ðùÃÃpòÃÃØà !Ã@Üà[ßÃpcÃð6Ã^Ã@ÃÀ,Ã@âÃP†Ã`§Ã0ÁÀÃ0PÃ0DÃàßßàIÀÃð³àÞð”ÃÀµÃð$À ð‚ÃpæðÃÀDÃð*Ã0ÁÃ0ÁÃ¥À„ÃÐGÃL÷Ãð*Ã@wÃÀÇÃ(Ã`§ÃàtÃyÃ@kÃ@_Ã` "à ŽÃêàÌàOÃP€Ã0"Ã0ÓðÃ0¯ðÃÀ2Ãpìð”ÃÀ&ÃPýÃÃà\ÃÐAàØÃ.Ã@Ãð*ÃÀ»ÃöÃÀ©ÃP€Ãðà /ð²ÀÃàtÃpÎÃÌ Ã0µàäÃ@kÃà÷Ã`6ÃPýðáÃànÃÐAÃ@kÃÐ;ÀŠàÒÃðÀlà ‚ÃsÀ¢ýÀŠàØÀÃð$Ã@¸"Ã0‹#ÃpàðvÀñÃ0£Ã@ÐÃpQÃàzà Ãð$Ã[ÃÀ… À„ÃÐGÃÐMÃsÃðÃ[Ã0ÁÃ0»ÃÀ‘ÃàßÃpÈàCà ¦Ãà†Ã0ÍÃð à ÃðÀûà àUð|Ã`*ðÿÃÐSÃ@}Ã`NÃ`HÃpøÃÐkÃðÃ4ÃÉÃsÃäÃÀÃÀ8ÃÐYÃP!Ñà ;ÃFÃà˜à 5ÃÛÃP'ÃêÃà÷÷à /Ã@}Ã`HÃ@ÃÐÜÃÐeðÃ:Ã:÷Ã0ÁÃ08ÃÌ ÃÞàêÃààmà  ÃXÃóÃð³Ã:À ðÃÐâÃððÃðÃP¤ÃÐkÃð*Ãð*ÃÀÃÃ` ýÃFÃpìÀŠÃÞÙðóÃоÃÐGÙ"ÃÆ!Ã` ÃÀ‹ÃÀs#à%ÃPå!à1!ÃЈ&Ã`ô%à¨"Ã$Ó#Ã)ð«(Ão)Ã$à–%ð .Ãà.àï+Ãð#/Ãð²,À0)À³(ÃP0Ã@|,Ãà‘+àZ/À-ÃP£,àl,Ãð;+Ã@ó-ÃÀ¨/Ãp\0Ãàg2Ã33Ãðš0Ã33ðò1ê0ð/Ãð#/ÃÐÃ1Ãð4Ã0=0Ã`¦2Ã@L4Àô2À}1Ãð0Ã0®2ÃP2ÃPö3ÃÀ„5à :Ã5à Ÿ.ÃPs4à­6ê4à 1Ã06Ã`”5Ã`2ÃÑ4Ãðó6Ãб4Ã071Ãàm1ðì2ÃÀŠ4ÃPð4Ãð2Àq3Ãðÿ4Ãðÿ4ð]5ÃP2Ã0+3Ã07Ã0¨3Ã5ÃÀ1ÃÐ(6à­6ÀS8à06à 3ÃÐÃ1ÃÀ 4Ãðv6ÃÐÉ0Ã0%4ð3Ã07ÃB7Ãðˆ3Ãàê1Þ2ÃpÍ2ÃpÁ4ÃP2ð/Ãð /Ãð0ÃpÁ4à È<Ã0 8Ãð4Ãб4ð-Ä,Ã@F5Ã33ÃП7à ì6Ãà[4à06Ãàa3ð3ê4Ã`A.Ã@á0ÃP/Ã`Ä-ÃPy3Ã0¨3ÃÀŠ4Ã@R3À.ÃðŽ2Ãt9à {4Ã0=0Ãðš0ÃÐÃ1Ã@É4Ã5Ãð#/ð3ðà4Ã@L4ÃpV1àN1ð{0àB3Ã33Ãï/ÃP -ö.Ãð#/Ã05ÃàØ4ÃP0ÃpÓ1Ã`)2Ãàg2Ã@í.Ãàü.ÃðŽ2ÃÐ.5ðu1ÃÐR/Ãpß/Ãð /Ã?-Ã0À/ÃÐÛ-Ã0À/Ã012ðò1Ã0%4Ã0œ5Ã0Þ*à 4+Ã071à¿3Ã'1Ã0I.Ã0À/ÃP-Ã`A.ð .ÃÀ+/ðø0Ã?1ÃpV1ÃpV1Ã-0ðŸ*ÃP&,ð .Ãð¦.ö.ð,ÃÐÛ-ÃÔ-à 0Ã0¨3ÃÐF1ÃÀœ1Ãï/Àw2À›,À¡+À}1à 1Ã3/à×/ÃÝ2ð/ö2ð{0ö2Ã0I.Ã0Ò,ÃP£,Ãð¬-Ä,ÃÐv)ÃÐó)ÃQ*Ã@‚+ÃÐÕ.À,ð-Ã-ÃÐR/Ã*ÃЂ'Ã@‚+À³(Ãp*Ã](Ãp&Ã0ü%Ã`Ö*Ã*ÃЂ'Ã@ù,ÃðÊ(Ã(ÃÐá,àx*À›,Ãð/-Ã0Ì-ÃPµ)àx*à :*ÃÀÌ)ÃP>(Ã0a*ÃÈ+Ãph.à ·*Ãà )Ãà)Ãà£(Ã`_)à 'àŠ'Ãp&Ã?-Ã@”(Ãà)ð+Ã@ÿ+ÃÐv)à)Ã@+Ã@ˆ*ÃP»(Ãà*ÃÀI*Ã@ÿ+Ã0ö&ÃÐv)ð«(Ãà'ÃÀÌ)À$+ÃðÐ'à Ã(ÃÐv)ÃP»(Ã0%ÃÐó)ÃÈ+ð¥)ÃðS'Ãu$Ã`à R&ÃðÖ&Ãà'Ã@²#Ãp’'ÃÐá,à)À**ÃД$Ã@¾!Ãò$ÃК#Ãð_%Ãðè#ÀZ"ÃðÖ&ÃðÄ)ÃÐù(àl,àœ$Ãðe$à Õ%à X%Ãp'$Ãà¯&Ó#ð±'Ã0=0à R&ÃÀü!Ã"Ã)ÃÐŽ%à 'Ãà£(ÃÐ'Ã0%ÃÐ$Ã1%à1!ÃPÇ&Ãc'ÃÐ%à®!ÃÀÒ(Ã`â(ð.(ÀZ"Ãðe$ð:&Ã@5#Ã@”(Ãà—*Ã0ð'ÃPV$Ãðú ÃC"ÃPP%Ù"à Ã0 Ãpª#ÃðG)Ãp&Ã@#&Ãpª#ðÃ$ÃÀa&Ãà¯&ÃðÖ&Ã@#&Ã@;"Ãp!%ð.(ðÉ#ÃÀ"Àf à+"ÃÀy"Ã`k'ðŸ*ÃpQÃ@ÐÃÀg%àºÃPå!Ãp¶!ðçú#à 'ÃÀö"ÃàÁ#ÃPÙ#Ã@²#ÃЈ&Ã@Ä Ã€ã ÃÀ… ÃР"Ãðâ$Ãà©'ÃÀö"Ã` "ðÕ!ÃàÓ Ã#ÃPÇ&ÃðM(ÃÐ%ðL#ÃP\#Ã@MÃPn Ù"ÃÀØ'àœ$è&Ã`#ÙÃp°"ÃàÇ"ÃPn ÀÝ!ÃðçÃÀ!Ãðè#à´ ÃàëÃÀà p!Ã`q&à d#Ãpª#Ã0#à%#ÃК#ðpÃÌ Ã d#ÃðƒÃ0 à ùà v Ãà\à ‚Ã0—!ÃÀs#Ã@5#Ã`}$Ã@¬$Ç!ðX!à ‚ÃÀ!ÃÐŽ%ÃPn ÃàhÃàbà í!à v ÃÆ!ÃÐ%ÃPh!À×"ÃàÍ!Ã+&Ã0"Ã0 ðÏ"Ãø#ÃPÓ$Ã@SÃpÂÃ"ðÏ"àÀÃ`• ÀT#Ãðè#ÀûÃ@G à¢#Ã0#À„ßÃð ÃàÇ"Àf Ã`ÃÐ%ÃpŒ(ÃPå!À×"ÃpWà¨"à Ã@Mà=ÃUÃ`0Ã`*à¨"à ^$À×"Ã`‰"ðL#ÃÆ!ÃÐ#"Ãþ"Ã`›Ãðè#Ãu$à%#Ã@ÊÃ`#ÃÐ#"à ùÀûÃÐ/ Ã`w%Ã@²#ÃàÇ"Ã` "ÃPå!Ãвà v à v ðÕ!Ã@ÊÃ0&ÀxßÃÀg%Ã`è'À6(è&Ãæ&Ã0…$Ã`$Ãp¶!ÃàD#Ãu$Ãà¯&Ã`• Ã@¸"ÃÀy"Ãà2&à 'Ãp'$Ã0#Ãð_%ðR"ÃàÁ#ÃPñÃI!Ã$Ã`ƒ#Ã0#Ãà8%Ã"!ÃàP!Ãà>$Ãðú Ã°Û ÃPñÃ"!ðçÃpàÃ[à à ç"ðÏ"Ãp'$Ã0!ðÏ"Ç%Ã0$Ãp-#Ã0#à%ÃÐ%Ã#ðÃ$Ã@¾!Ã"Ã0%à¨"ÃàÇ"ÃÐ5ÃЬ Ã@ÐÀ`!à&à%#ÃоÃ$ðÃ$ÀÑ#Àf Ãðà ‚ÃÀä%à(Ã@Ä ÃÀf ÃàD#à&Ãà2&Ãðe$à¢#ÀéðÕ!Ã`!à ÿðóÃPh!Ã@¦%ð½%Ãø#à+"ÀïÃp&ÃW)Ãp†)ÃàJ"ÃpÂÃpÂÀ×"ðÃ$Ãð Ãð‰Ã`¡ÃиàCÃàåÃЬ ÃÐAà®!Ã`‰"ÃàP!àºðR"Ã@;"ÃPD'À6(ú#ÃP†à ‚ÃP€ÃÃÃ"!Ã@¦%ÃàÁ#ÃÆ!ÃÀÃ08Ãp¶!à F(Ãþ&Ã`}$à7 ÃÀ!ÃÐ#à L'Ã`q&Ã&Ã0,Ãðw!Ã`$ÃÐ5ðáÃ0$Ã&Ã@;"Ã@Yà´ Ã0 ÃÐŽ%ÃÀð#à !ÃÀä%à+"Ãð_%à d#ÃÀg%ÃК#Ã"!ÃÀ!Ã`#ÃÐ%ÃPß"Ã"!Ã` Ãðw!ÃPÓ$à Û$ÃpKÃ@SÓÃ0y&Ã0…$ÃÐ#ÃUÃК#î%ÃÀ‘ðáÃp°"ÃЈ&Ö)Ã`}$Ãp¼ ðX!Ã&à Õ%Ãø#ÃÀs#ðX!ðÏ"à%#ÃÀ"ÃÌ ÃÀÃ` "À`!Ã"Ão%Ã{#ÃÀs#ÃPß"ÃC"Ã`§Ã08àÀÃ"Ãþ"Ãð_%à¨"ðÏ"ÀïÃp? Ã@¸"ÃàD#ÃàÓ Ã°^ ÃР"à Û$ÃÀ!ÃàÙÃPtÃpKÃaÃ`ÃÀ!Ã0…$à®!à ^$ÃÀ ÃPß"ÃÐ$ÃàD#ÃàJ"ÃðÃp9!ÃO ÃÀ‹à v ðÕ!Ã`• ÃàbÃÀÃäÃÐGÀrÃp9!à ç"Ã`¡Ã0»ÃðÃPb"Ã0"Ãðq"à=Ã@YÃP€ÃÆ!Àã ÃpEÃиÃaÃ.ÃÀ—ðíÃ0µðÕ!ÃpEÃÐ5Ãвà v Ã02ÃðÃÀ!Ã@;"ÃPë Ã@/$Ãu$ÃÐ#"Ã[ÀàÌÃ` "ÃäÃ@wÃ`BÃ@Ä Ãp¤$Ãð ÃpKð^ Ã`*ÃÀm$ðÕ!ÃÞÃ0ÇÃpÃP†ÃÐ5à ùà ‚àÀà ŽÃоÃPh!Ã`#À×"Ã0—!ÃоÃP÷ÃaÃàñÃüÃPë ÃÀ ðdÃØàIÃ°Û Ã`$ÃðÃð‰Ã4ÃàJ"ÃðƒÃ` Ã@MÃ`¡Ã@MÃ@ÜýÀÃUÃðƒà v àCÃÀ©Ã0ÁÃàåÃÐ/ ÃÀy"à Ã@YÃ0PÀ„Ã@ÊÃ`0Ã`0ÃÐÐà à í!ÃÐ%ðL#à=ÃàßÃ08ÃÀ ÃÀ£Ã`§ñà¢#à ‚Ã@SÀlÃaà ÃpÚÃÀ‘Ã@âÃÀ ðX!Ã"ÃÐ;Ãp3"Ãð•ÃÀ&ÃÐ5ðpÃRÃ0,ÃÀ!à |Ãp¼ Ã`ú$à ”ÃLÃð*ÃpÃ0ÇÃÀ… Ãäàºà[ÃÏÃÏÃP€Ã¥ÃäàÌðíÃð$à ŽÃ0!ÃÞÀûÃ@îà ˆÃ0¯Ã@A!à ÿàOÃÐÄÃmÃPzñÃà†Ã0PÃpKÃ@ÐÃÞÃ.ÃÀÃUÃFÃàÀŠðóÇ!ÃPñà ŽÃ`§ÃàÍ!ÃàñÃpWÃð­À Ã@;"Ç!ÃàÃ0\à Ã0,Ã0,àØÃ@Yà¢#ÃàÍ!àÞÃRÃ0,÷ÃPÃPà ¦÷ÃÃPh!Ã"ÃP†ÃP’ýÃPtÃðÃÀ£ÃÐÄÃÀ£ÀéÃp¼ ÃÀÃpàÃð} Ã` "ðpàÒÀrà ùÃ0¯Ã°Û ÃÀÃÀÀã à |à Ã@kÃP àgÃpEðR"ÃpQÃ"!Ã4Ã`HÃànàÀÃà÷ÃPÃpEÃPå!ÃððˆÃ0\ÃðÃàV ÃÆ!à ‚ÃÐÊÃ`›à+"Ã@ÐßÀ–ÃpàÃ@eÃÐYÃpæàºÃðÃ0—!ÃðY&ÃÒÃ0¯ÃpEÃ°Û ÃàåàIÃPtÀõÃÀ‹à ŽÃ@Öð|ÃpÈÃÐŽ%Ãðk#ðL#ÃØÃÐ_Ã0>Ãànà ¦Ã@Üà®!à á#Ã`$ðçàÀà ŽÃO ÃðÃ0¯à ”Ã`›Ã"Ã`!ÀràUÃð*ÃÐ5ÃàbÃàhÃpÎàÀÃPÃgÃPðvÃaà šÃPŒàÒÃ`¿Ãà†àCà+"Ãðw!ÃêàØÃ`*à ˆÃ0&Ãð•àÌð”ñÃ0,ÃðÃÐÐÃÐAÀïÃpÈÃÒàIÃàýÃäðÃ$à ÃP€à´ ðL#ÃUÃpEÃ0ÇÃêëàÆð^ ðóÀðpÀïÃÀÃPŒÃàtÃ@ÜðjÃp? ÃPýÀÃ`ÅÃ.Ãð ÃÃ@_Ã@ôÃpÎÃÀÃPñÓàIÃ`0ñÃà\ÃÐGðóà7 Ã0¯ð‚ðóÃ@Ä Ã@ÖÃÀ—ÃgÃÃÃÐYà ðpà j"Ãp3"Ãðô!ÀõÃyð|Ã`¹ÃüÃÐ;ð·&ÃÀ"ÃFýÀïÃÐ/ Ã08ÃpæÃÀÃP€ÃÐAðpÃ:Ã0ÁÃpoÃ@âÃpWÃà€ÃÀ,À„Ãð ÃÐA÷ñÃPýÃвÃоÃäÃpàÃsÃðw!ÃвÃ0ÁÀûýÃоÃÞðóÃ08à šàÞà ŽÃpÈÃp9!à šðùÓÃP÷Ã0ÓÃ0>ÃàëÃ`à®!ÃÀ Ã¥ÃöÃðÃàÙÃÐSà  ÃÀðpÃÛÃáÃ0DÃð¡ÃÃsÃàhÃ`$Ã0>ßÃÐAÃðÃPàÒÃjÃð Ã@MÃàà /ÃpìÃ@_àÀÃP˜Ã0>Ãð$ÃP°ÃjÃàŒÃpòðÃÀ ÃpiÃPàUÃ0»ÃàŒÃ@èÃ0ÍÑÃ0Pðÿà ÿÃ0&Ãð#Ã`xÃÐèÃp]ÀŠðáÃ`0ýÃð*ÃÀ»ÃpQÃPzÃÀà ¦àgÃpÚÃÀ¯à ”Ãà÷ÃÀ£Ã@SÀðóÃÐÊÀŠÃàžÃ`ÅÃÀÇÃRÃ0ßÃpæñÃÀµÃ02à[ÃðÃðƒÃ0,Ã:À+ð¦àÞÃÐÄñÃÐSÃ:ðvÀ+Ã`N÷Ã@Ãð³ÃP’À¢ÃmðdÃsÃPÃ0VÃÐYÃà Ã0VÃP˜ðçÃÃP¤Ã`³àIÃ@ÜÃÀÃÀ,ÃpiÃpþÃÀ,÷ÃÐ}Ãð³àð÷Ã08àIÃPŒ÷ÃÀ£à ”ÃÐÜýÃ¥ÃðÃPÃÀ&Ã0ÇÃpàÃäàUÃ@âÃpcÃ@èÃð‰ÃÀ Ãð$Ã@wÃ@wÃÀÀ~Ã0bÃ`¿Ã@wÃÀà ‚Ã0ÇÃPzÀÃ0ÓÃÀ»ÃÀ£Ã@eÃÀµÃpøÃðàaÃÃ`­Ã@ÐðùÃêÃð›ÃàzÃÐSÀ ÃêÃ`ÅÃ0&ÃÐÄð|Ã0Áð|Ã@à ¬àÒÃFÃ0DÃ@}àÌàIÃ0\Ã@Ãð} ÃÐÊÃÕÃpQÃpQÃ(ðL#ðjÃ`0ÃyÃðBà ÃP9ÃàñÃðƒÃð Ã.ñà ”à !ÃÞÃpuà ¦Ã0ÇÃÐkÃÃÀëÃðÃð*Ã0\Ã0ÓÃà ŽÃð‰ÃðÃðàÌàOÃpiÃÐYÃð•Ã0»Ã@Ã08àÞà )Ãp]ÃpcÀÃ@0ÃÐSÃ0ÍðvÃ@Öà ùÃFàêÃP’ÃðÃ`0ð ðà /ÃPàCÃð§ÃpìÃð¡ÃàñÃð§ÃÀDÃ4ÃêÀ¢ÃÐSÃð*Ãð§ÃÀ©ÃðÃ:ÃÀ>Ã@îÃð*Ã0DàÆÃðÀ à ”Ã4Ã0Jàêð#Ã@ÃÐâÃ¥Ã0,Ã0ÓÃàöÃ@wàØÃüÃpiÃðÃ02àgÃp]Ã@âÃ^ÃÀ8ÃÀ8ÃÉà  Ã.àäÃpiÃ0VÃ`ËÃ0ÍÃ`³ÃpÎÃð§ÃFÃÐÐÃÕÃÐÜÃ`¹ÃmàÒÃ`<Ã0ÁÃpìÃ…Ãà ÃоÃêÙÃ`¹Ã(Ã.Ã@kàØÃÀ,ýÃвðpÃà÷Ã0VÃð<àUÃ0»Ãsà Ã…Ã`<Ã@èÃðÀð À7ÃíÃPÀ~Àïà ˆÃ0"ÃpKàaÃð³Ãð¡Ã`6à[ÃÐÜÃFÃ08Ã@_ßÃ0Áð”Ã0Áà ‚à à ”àÒÃpÂÃ`¡àäÃàÃÉÃPžÃÀ à Ã@èÃ@eýðÃpiÃp]ÃànÃ`<Ã`ÃÐ;ýà ŽÀxÃÀ¯ÃÐÖÃgÃÐYÃPÃÐÊÃpÚÃ"ÃpÔÃ0,ÃpøàaÃÐÜÃÃàUÃPªÃgÃPzÀõÃÃÐkàêÃ@YÀxÃ`­ÃPzà ”ÃPÃ÷À+ñÃðÃðƒÃÀ ÃÛÃpæð|àØÃ`0ðvàÒÃmà[Ãð­ðÀ%À„ðdÃ`0àÞÃ`<ÃÐSÃ0>ÀŠÃ@qÃÃÐÄÃÀ©Ãà÷Ã0»ð|Ãà ðpÃI!ÃàñÃ`§ÃиÃpøÃð­ÃÀ»ÀÀààgÃ.à Ã@ôà #ðvÀéðpÃ0ÓÃPÃ0ÇÃ`BÃ@îÃ`0Ã[ÃgÃðÃXÃÃð Ã0&à Ãsà Ãà€Ã`BÃ`ZÃpøÃ4ðÃÀ‘ðùÀÃpiÃ…ÃáÃÀÁÃÃ0»ÃpWÃÐâÃ@ôà ÃPÃ@úÃLÃ`­÷ÃÀDàÃPŒ÷ÃÀ2Ã(ÃÐSÃðÃpàÃð$à ð|Ã0ÇÃàñÀÃsÃð•ëÃ4Ã`¹ÃáàêÃÐâàIÃLÃ`TÃPŒÀŠÃð¹ÃÀ2Ã`NÃP°àüÃÀ¯à ð Ã0ÇÃ`§ÃP’Ãà˜Ã@îÃð•ÃÀ©Ãà Ãà†Ã(Ã…ÃÀµÃ@îÃ02ÃÐÄÃÐÖÃpøÃÃpàÀÃÀ Ã08ÃP!ñÀ~Ã`*ðÿÃFÃÃÃÐÜÃÐîÑÀ+Ã@wÃ:Ãð$ÃÞÃ`ËÃ"Ã¥à ŽÃÀÃð­ÀûÃpàÃÀ à ŽðÿÃÀ,Ã`$Ã`¡ÀÃð6Ãà†ÃàÙÃP÷ÃPŒà ŽÃ0JÃ@kÀ„Ã@ÃÃÐSÃðÃ0DÃ0ÍÃ4ÃPàCÃÐ)!ÃpQÃð›ÃpìÃP Ã:ÃÐYà à ”Ã"ñÃ0¯Ã0µÃ0Íà #Ç!ðóÃÐÄÃð•Ãð0ÃðÃ:ÃêÃð•ÃðÀrÃÀÃ`¿Ã‹Ã¥à Ã¥Ã`­ÃànÃ`ËÃ@îÃ@MÃÐÊàäÃ@ƒÃ.ÃêÃÐGàÌÃ@à šÃ@âà Ã@G Ã` ÃðÃ@Yà  Ã@ôÃ0ÙÃP Ãð ÃÞÃàñÀ¢Ã^Ã`ÅðÃ0ÁÀïÃ"ÃpÎÃ`0Ãð­à ¦ÃàaÃÀ&ÃÉà šÃöðÃPÃ0VÃ0bÃÐâÃàëÃöÃ@wð ÃÕÃáÃÀµÃ@eÃÐÐÃPà šýðÃ0\Ã0ÍÃ0Íà[Ã0\Ã0JÃPð|Ãp¼ ð‚Ã@ôð ÃÀ… à àðÃÏÃ@›ÃLÃ`<Ã0ÁÃ0ÍÃðBÀÃà÷àðÃpÔàêÃpþÃ0&ÃÃð<Ã`ËÀàmÃöÃ`<àÆðÿð”ÃоÃ`¿Ã‹ÀÃPªàOÀ„ÃÀµÃÐÖÃÀ£ÃànÃÐîÃÏÃP’àÒÃpoÃgÃpKàaðGàÃðN÷ðŽà #Ã`HÃXà ;à 5ÃÃà ;ÃÃðšàÃpoÀÃ0PÃ@kÃ08ÃÀ2Ã@ À®ÀÀÃ`éÃàÃ`¿Ã0PÃÐYÃÐMÃàà ²Ã0ÁÃ¥Ã0ÇÃ@À1Ã@ À–ÃÀ£ÃP ÃÀ‘à ¬Ã`ÅðÄÃÀJÃpiÃ@ð²ÃÀÁÃ…àÞðÃ`ËÃÃñÃ0VÃ&ÃÐÃà!Ãð×ÃLÃ@qÃaÃàñÃàñàgÃð¿Ã`Ýà 5ÃPÃØðÿÃà’Ãð$ÃÀ&Ãpòà #ÃpÚð Ãp™ð)ÃÐÊÃðÃpà ;àñÃÀ©Ã0»ð ÃàÃXÃüÃ@Ä Ã€ûÃÃÀPàäÃFÃàÃP3ÃÀDÃ@èÃÉÃ@úÃP°ÃÕð#Ã4ð Ãð¿Ã`Ñà ¸ðšÃ:ðÀ7ÃRÃpòÃð6ð)Ã``ð²ÃÀÍÃPÃ@úà ÊÃàžÃ0ÇÃP!Ã@wà 5ÃÐâÃÐÄÃ`¹ÃöÃ`0ÃÀ2Ãà÷à ”Ã0JÃ@}à ¦Ãð³ÃP!ÃÀPà ¾Ãð$Ã0,àaÃyÀÃ`HÀ–ÃÐSà /ÃÉÃ^ÃÐîÃÐkÃÐâÃÃ`TÀ–ÃpÃðBà šÀ–ðŽÃÀÍðÃ0hÀðÃ(ÃP'Ãð¹ÃpÃP¤Ã0VÃà€Ãð³Ã`Åà  Ã@îýÃ0åÃ:Ã0ÇÀ Ãð*ÃLàCÃÀDÃÀÙÃFà 5ÃÀVÃP’ÃÃðšýÃP°ÃÐèÃàŒÃ@Ãà˜ÃpÃpòÃð§ÃÀ2ÃàÃ^à /Ã@•ÃÐð¦ÃdÃ@ÊÃp9!ÃÐÜÃ0ÃP]Ã>Ã0ëð#Ãà˜àÃðBÀÃRÃà ÃdÃ0PÃ0ÁÃð¿Ãð#ÃÀ»ÃPªÃP'ÃÀÍÃ@ƒÃÃÃÃ@âÃPÃàÃÀ>ð”àäÃPÃÀÇÀà ¬Ã`ËÃsà šÃ^ÃÀµà ÃÀ¯Ã``Ã`¹Ã@Ã@}ÃpìÃà3à MÃáÃRÃP!ÃÏÃ@wÃ0÷Ãp™Ã0ÙÃ@kÃ0JÃàÃà†ðÃ`ÑÃ`ÅàmÃÐYÃÐAÃÐSÃÐqÃÐeÃ`§Ã0ÁÃ0\ÃP-Ã:À¢ÃÐ_À–ÃÐÜÃsàäÃ0ëàmÑÃÕÃÐèÃpuÃ0åðà ;Ã`TÃ0PÃ`ËàUÃ`ZÃFÃP°Ãð­ÃpàÃ:ÃÕàöÃàŒß÷à ÊÃ@ÃÐ_ÃÀ2Ã4à Ã`×Ãð6àäÃ@wËÃpiÃà€ÃjÃ0hÃùÀ+Ã0PÀœà MÃpÃÀ¯ÃyÃð›àgÃ`ÑÃp À¢ð#ÃP¶Ã@ôð ð Ã@àêÃRÃP-ÃvÃP°ÃÏÃÀDÃÏÃÐÜÃ@ à Ã^Ã``ÃPªÀ¢Ã@ àäÀÃÐèÃ@}ÃÐÊÃÐèÃáðÃÐèÃpuÃ@à ÖÃ0ëÃ``ÃÃðËÃÐà Äà[Àà #ÃP°Ã@}à  ÃÕÃP¤ÃÀ¯ÃP¤ÃP¼ÃP˜ÃÐYÃ`ÝÃ&ÃÐÃ0\ÃðTÃŽÃ…ÃðÃÐÜàmÀœð Ãà†ÃÐqÃÀ>Ã0tðAàaÃàð¬ÃÀDÃÐ}à‹Ã@Ã4ÃàñÃð6Ãð0Ãpìà )ÀÃð³ÃàÀ1Ã`HÀŠààÃ0tÀ%Ãð¿ÃP3ÃÐîÃÐ_ÃÀßÃÐkÃàžÃð³Ãð*Ãà†ðÃà ÃÐâÃð³ÃààaÃà†Ãà Ã0ëÀ%ÃÀDÃ0hÃ…ÃàËÃXÃP!ÃðÑÃà¤ÃRÃ0\ÃÃÃRÃçÃÐèÃÃÀPÃ0ëÃ`HÃØÃüÃ0÷Ãíà ÀÆÃ@Ã@Ã…àðÃà€ÃpWÃ@à ÐÃP9Ã`TÃð¿ÃP¼ðAÃÐà YÃÐwÃ@úÃP¼ÃàÃ0VÃÃÀJð¾Ãjð5ÃÀÇÃóÃÐúà /ÃP9ÃðˆðÃ0zàà ÃàýÃ0Vàöà ²À¨ÃpìÃ0bÃpÃà†ÃjÃ0ëÃpòÃ`éÃЃà…Ãp À%ÃàÃP¶ÃÀÇð¦Ã@ ÃÃ0nÃ`ÝÃÀßàöÃ0VÃÐeÃÛà ¦ÃP-Ã0DàmÃöÃ0>ÃPÃÕà AÃÀÇà ¬ðÃ0ÙÑÃ0ëÃ`<ÀÃ0JÃàžÃP?à[ð‚Ã0zÃ``ÃFÃ0ßÃpìÃPžÃ‹ÃÐôÃ0hà ¸ÃÏà ¾à[ÃÀDð#Ãð¹ÃÀVàgÃ@wÃ@àsÃvà ;àðÃÃpàðà à ²Ã‘ÃjÃ@ÀËÃpuÃ`BÃÀÁÃp{Ãp{Ã`• À~Ã0Dà[ÃàÃpæÃ@•Ã0bÃÀDÃ@ ÃÐîà šÃPÃÐSÃdð”Ã`Ëàmà 5Ãð*à )Ã`TÃÏà Äà ¾Ã…ÃàžÃà†Ã^À–ÃpcÃP'àsÃXÃyÃP3ÃÃð<ÃÐèð ÃP9àÃ0åÃPWð¸ÃpÃÐîÃ@ ÃÐYÃpþÃ`éÃð6ÃàÃRÃXÃÐeÃ`¿ðùÃàŒàöÀ¨Ã@ÃÃàŒÃÃàðŽàÞÃ@ ð ÃðHÃpÃÃÃÐèàÃÀÙÃàÀð¬Ãà3Ã`ÝÃP9àà‹Ãð$àyðÃ@ ÃP¶ð à ¾à ¾ðÃð³ÃÃÐîà GÃ@Ã@kÃÛÃ£à ²Ãð<Ã0hÃÐâÃÐwàÃðNÃÐîàöà ¾ðšàðÃp À%Ã@›ÃÀÙà ¾ÃPEÃ0nðÄÃP¼ÃÀ2ÃðHÃÏÃÃÃ0ÁÃÀ¢ÃðÅÃp ÃÐqÃ0ÓÃà÷ÃÐeÃpÃЕÃ0 ÃЉÃàÃ0hà ²Ãà†ÀÃ`f×ÃÕÃpøÃpuÃð¿ðà 5Ãà’Ãà˜àÃ`fÃpÃpòÃP3ÃàÃÀ¯ÃpÃðÑÃ@‰ÃÃÀDÃ@‰Ã…Ã0JàÃЉà ÄÀ1ãÃéÃ0bà ÃpuàöÃð³ÃÐkÃÐîà ¸Ã`HÃ0tÃ@•Ã`Ýà ²Ã—ÃÃ@›Ãíà ²à ¬ÃjÀÃÃ0tÃà-ÃÏÃP?Ã£ÃЃÃÀJà ²Ã@à Mð à ¾ÃP'à ¾Ã`TÃjÃpþàÃp"à ð À¨ÃðHÃà†ÃÐâÃ0nÃÀVÃP3ÃvÃÐð/Ã``à‹Ãð­à )àðÀÃàÃÃ0÷Ã`6ÃFÀœðÃ0ÁÀðà‹Ã@Ãpìð#×ÃðÃ`<Ãð6À¢Ãpàà[Àà )Ã…À´Ã0PÃàÃP'ÃðHÃPÃ@îÃð¿àäÃ@Ãà’Ã0ÍÃàbÃ@_ÃÛÃ0Óà ”ÃP!Ãà'Ã`×à #àÞÃÀÇÃ@Èð²Ã`HÃPªÃ0ÍÃðÃ.ðjÃ`­ÃÐâÃÃ`HÃ@kñà /ÃÑÃÐÜÃ@}ÃpoÀ®ÃÐ}ÃPžÃP'Ãð<ÀÃÃÃÃpoÃð§à /ÃPžÃàÃÀ¯Ã`<ÃÐúÃà Ã`³ÃÐ_ÃÀ>ÃpøÃà’ÃFÃÐwÀ7ÃðÅàðÃÃ@}ÃÀVÃ0\ÃpàÀ–À®ÃpøÃpuÃÏÃpøðàêÃà€À%Ãp ÃÏàÞÃÛÃÃ`0ÃÉÃP-ÃÃ…ÃsÃð›ðšÃЉÃàÃ0ÇÃð*Ã0JÃ`6Ã`BÃsñÃ@èÃð­ÃàüÃàÃÀ8ÃFÃÐkÃÐâÃ0ÇÃpÔàÒÃàëñÃ`¹Ãð$ÃÉðšÃÀ8ÀÃyÃ`¿ÃP¤Ã[Ãàhà Ã.Ã@îÃ0PÃÐÊÃC"ÃÐSððˆÃFÃ@ ð|ÃPÃP˜ÃÃRÃpìð Ã@qÃÃpìÃpÔÃFÃ@à 5ÃpcÃ@kð”Ãð”ÃyÃyðùÃmÃðÃ0ÁÃ0DÃ0ßÃð$ð|Ã0ÇàÞðùÀ„àmÃÃÃPžÃàŒÃ`<àÌÀlÃPýÃðÃ0ßàêÃaàÆÃ‹Ã0÷Ãð­ÃyÃÃp]ÃPžÃ0DÀÃ@ÐàUÃêÃ`*à ”ð”àsÀ%ÃXÃÐÊÃÐSÃÏàÞÃ@âÃÏÃ0DÃ`NÃpiÃÐSÃðàÆÃÀÃÐGÃð0Ãð*Ã`­Ãà€Ã@wÃÐYðjÃ4ÃÀ£Ãð­ÃÀ‘Ã"!ÃÃP¼Ã08ÃpÚðùàCÃðÃðÃÐYàgÃð$Ã0>Ã0µÃ@Ä ÃpWÃ@Ã`¿ÃpiÃ@èñÃÃ0¯Ãà\à Ãð*à 5ÃÀ2ÃpàÃ(Ãð<éÃð$àÆÃ0ÍÃð§ÃоÃàhÃàåÃðÃð$à Ãàzà Ã`›Ã`HðˆÃð•àIÃÀ,À–ÃÐYÃÀ¯Ã`<ðvÃð$Ãð6ÃÀ©ðçÃ`$Ã`<ÃàÃXàêÃ…ÃpKÃðÃÐÜÃöëÀÃÏàÆÃ@ÐÀŠ÷ÃpoðÃàëðvÃð¡ÃÐÖÃ@eÃàåðíÃ@_ÃÐÜà /àUÃPÃp{à AÃà÷Ã@eàmÃPýÃ`ÅÃÐwÃpÃ@eÃpÎÃàÙàÒÃð¡Ãà à ÄÃpoÃPžÃ0ÙÃPÃ`¹Ã0»ÃpWÀ+ÃP’ðŽÃmÃÃÃÐ_ÃÀ Ã@Ãüà ¾Ã@}à )ðÿð‚ÃRÃðÃ@eÃP˜Ã:Ã0ÍÃÀœÃ`fð ð#àmÀÃà’ÃÃpðŽÃð¹Ã¥ßÃ08ðùÃ`*à šÃð*Ã`ïÃ`ZÃyÃÃàýÃ…ÃÐYÃàÃ^ðˆðŽÃð0à Ã@wÃpæýðšÃpøÃÃÐAà1!ÀÃP'À¨à2 à‘ÃmÃ0VÃÀ»Ã0>ÃàñÃÃÀDÃP°Ã4Ã`³Ã‘ÃpìÃP-ÃPÃêÃÃÃyÃ0DÀûÃ0DÃpiÃ0ÙÃ`ÅÃ`HðˆÃpàð”Ãyà 5Ã@ÃmÃÃ^Ã`×Ã…Ã`¹ðˆÃLÃàýÃüÃ@YñÃpÃ0Jà ÃÏÃð§à šÃÕðŽÀà 5Ã@wÃð0Ã@îÃÀ£ÃÐ;ÃöÃànÃ`ÃPb"Ã0>ÃÀ>Ãð³Ãð0ÃàýÃP’ðˆð ÃP!ðùÃ`6ðˆÃÀPÃmÃàßð|Ã@à ÿÃp]Ã`³Ãиàaà #ÃpQÀxÃ@kÀ ÃP'ÃP ÃpàÃÃÃpÔÃ0ÁÃyÃ@ôÃöÃ@èÃ@ÐÃÐ5ðjÃpQÃàåð|à à ¬÷ÃÀ‹Ã`0Ã0»Ã@kÃpæÃÐÐÃð6Ã`×ÃÀ»Ã@_ÀÃÀ8ÃP-Ã(à ùÃpÚÃ0ÍÃ`×Ã:ÀÃ0ÍÃ0JàaÃ0VÃ0ÍÃpÚÃFàUÃ…ÃçÃpìÃð¡ðŽð‚à ÷Ã0»ðíÃ^Ã"ÃðÃ@SÃ0»ÃpàÃ`*Ã@qð|ÀrÃàzÃ`¿Ã@ÜÃ@ÜÃÀ>Ãàtà ÃpWÃ0>Ã(ÃðÀÃ0JÃÕÃÀÇÃÛðóà ¬ðˆàêðvÃÐÐà /ÃP€Ã`*à ŽÃ@wðÿÃ0»Ã(ÃàñÃÀÁÃ`$ÃaÃPžÃ08ÃÐSÀ„à ”ÃðÃP¤Ãà ÃpæÃ@eðpÃpEðdà ¦àöÃ@wÃàÃðÃÐAÃÕÃÀ ð|ÃÀ©Ã@‰Ã0DàOÃÐâà ¬àðÃ:ÃP˜ÃÀ2ÃsÃÀ,ð¦ÃàÃðÃPÃ.Ã`ÑÃ0PÃ…Ã`×ðÃÐ5à ÿÃpKÃpÎÃpoÃà†Ã4Ã(ðˆÃàÀ–ÃÀ»à Ã`ÅÃPÃ@wÃÐ_Ã.à /Ã0ëÃ`0à ŽÃÀ»ÃÀ2Ã0ÁÃÐâÃ`¹Ãp¼ Ãp]ÃÀDÃÀÇÃà’ÃpðÀðdÃgðùñÙÃ`$ÃP’Ã@èà ”Ãð*ÃPªÃ0DÃ`BÃÀµÀÃÕÃ`BÃP°Ã0hÃ@àaÃðÃPžÃÀ2ðóÃÐÊÃиÃpiÃÐôà GÃüÃPzÃÃßÃàhÃ@}ÃÀJÃ@ôÃÃpìÃ`ÑðÃöÃоÃpÈàÒàêÃ0ÇñÃ`<ÃÐYÃP’à ˆÃP†ÃpiÀÃFÃPŒÃP’ðpÃ0JÃ:Ã0ÁÃpcÃ@ÜÃÐkÃFÃpQÃ@ÐÃP€àÞÃLà ¦ÃPà ²ÃÀ>ÃÀ>Ãð Ãà€Ãà ÃÐúÃ@ƒÀŠÃÀ&ðçÃP¤Ãà!ÃLÃ@_Ã¥Ã`ÑÃà à ¾À%Ã`6Ã@ÜÃöÃPžÃ:ÃgÃÀÀ Ã0\Ãàñà ÃöÃÀ2Ã`ZàüÃð³ðvÃÀ2Ã4Ã@îÃð§ÃpæÃ`¹Ãð­Ã@kÃ0Dà ÃP À–ÃP°ÃÃÃXàöð)àöÃÛÃpìð¬ÃP¤ÃRÃ4àUàäÃÐÜÃPýÃRýÀxÃÏÃ^ÀàaÃð*Ã^ðŽÃÐâ÷ð|à /Ã0ÓÃ0\Ã02ÃÐÖàÞÃpoÃüÃÐÖÃÐGð Ã0ÁÀàØÃ@eÃÐÖÃà\ðÃpWÃ0µÃäàØðÃyÃð›Ãà÷à ²ÃXà  Ã@eðvÃ`³Ã0¯Ã`• Ã0‘"ÃÞÃ@Ãð ÃàÃ0ÇÃàýÃ0DÃ0PðÿÃðÀxÀÃP¶Ã0JÃàëÃ0¯à )ðŽÃð$Ãð›à ‚Ã0JÃà†ÃP’ÃàëÃ@A!à ðšÃÀµÃ02àºðpÃÐ_ÃÀ»ðáÃðú ÃÐGÃäÃpcÃÀàºÃ Ã@Ä Ã0ÁÃgðíÃP Ã0ÍàÞà àÆÀ„ðùÃP ÷Ãp3"Ã@ÊÃÀ ÃÉÃ@èÃsÃðÃÐ/ ÃPë À~ÀrÃPñÃFÃ0 ÃpÔÃ`*ÃÀ Ã0y&à Ãàñà´ ÃÀÃP’ëÃLð|Ã0&Ãð‰ÃyÃ0JÃPÃ`¹ëÃpQà Ã0DÃp¼ ðdÃð ðáÃO ÙðóÀxÃ`0Ã`¹ÃànÃPë ð‚Ã0JðíÃpKà à%#ÃЦ!à ùÃP ÃyÃPÃpÎÃ`0ÃðÃ@MÃpWÃ`Ãð­Ã0Và  Ã0 Ã¥ Ã`³ÃÀà ÿÀéÃð} ÙÃÐÄÃ`$Ã0µÃ0©ÃØÃвà p!Ã0"ðóÃÞà |Ã0 àÌÃP÷ÃpEÃ0µÃàV à j"ÃPn ÃàtÃ`³àÒÃÀ… ÃàP!à=Ã`§ÃðÀÝ!Ã7$Ãp? à7 à ”ÃàzÀ~ÃgÃÐAà1!Ã08àÞÃàbðçÃ`­ð Ãð6àÞÃpWÀrÃàÓ ÃpÂàºà=Ã0©Ã@¸"Ã`$ÃpÈÃø#Ãu$ÃPzà ÿÃ0&Ã°Û ÃPýð‚Ãp9!Ã0&àOÃ¥à d#ÃÀ‹ÃÐGÀðÿÃmÃ"ÃðÃ`Tà )ÃðàÞÃàñÃÀÃ¥ÃFÃ0VÃð$ÃFÀŠÙà7 à ”Ã0JÃ@èÃð­Ã0JÃÐÐÃP ÃaÃÐMÃP€ÃàbÃgÃ`$ÃpÔÃÀ&Ãð§ÃàðÃÀ ðvÃÉÃÀ—Ã[À Ã:ÃàŒÃPÃyÃFÃ`Ãp? ðvÃð$Ã0µÃÀ&ÃÃÃP˜ÃÐÊÃÞÃ@ôÃ`6ÃðÃP€ÃPŒÃÀ©ÃPªÃ`³Ã.ÃÀÃð³Ã0>ÃÀDÃà€à ÃÀ£à ²Ã@Ãð6Àf Ãò$àºÃà Ã(ÃàzÃÐÊðóÃ0PàÒÃP À„ÃÉÃmÃáÃP¤ÃPŒÃÐMàäÃFÃ…Ãàà ¬ÃpÔÃ@ôà ÃPå!ðÿð|ÃäÃð*ð#àaÃpÚð”à ²ýÃ0,ðáðÃÀ©Ã@ýà àIÃüÃà†ÃP'Ãð§Ãð6ðŽÃyÃPÃpWÃÀ,ÃP'à[Ã0>ÃpæàOà ÃÀ>à  Ã`ÑÃáÃÀ8ÃÐ_Ãð§ÃÀ—Ã0ÇÃàÃ`NÃÀ¯ÃÏÀŠÃ.Ã0Çà 5ÃpcÃÀü!Ã` ÃPÃàŒÃ`ÑàCÃÐGÃÐMÃÐSÃÀ¯ÃFÃð$Ã@Ãàhà šÃ`ÅÃð$ÃànðˆÃpÚÃÆ!ÃÒÃà€Ã`ÅÃàÃð*À+Ã`Tðóàaà ¾ëÃàzÃàÃà†Ã`Ãð$ÃÐeà ¦à ÃmÃðÃÀ,ÃíÃRÃ[ÃÀs#ÀrÃÀ,ÀÃÀ£à )ÃÐÖÃ…ÃXÃÀ—ÀÀ%à Ã`<ÃÐÐÃPÃ@SÀÃ@âÃÐAÃgÀ„Ã`ÅÀ„Ã`*Ã(ÀïÃáà ÜÃFÃÀ©ÃàÃpÔà ÃpKÃ02ÃÀ£Ã(Ã0ÍÃÐSÃ4ÃàtÃüÃpìà ÃLÃ0JÃpìÃ`BÃÐ;àUÃFÃ0ÁÃÐâÃà\ÃÀ‘ÃÀÃ`HÀÃ`ÑÃyà Àrà ÃpWÃàýÃüà[ëà ÷ÃàëÃà÷Ã@_ÃàßÃ@âÃ0Óà ¦Ã02ÃÃ4ÃÀ2Ã@kðà Ã.ÃöÃ.àgðvÃ0DÀ„ÃÀ¯ÃPÃð0ÃàýÃà†ÃPŒÃ(ÃÐSÃð6ÃÃ°Û ÃÀð#à ùàIÃ0Jà šÃpÎÃ0ÍÃ`Ñà[ÃðÃà€Ãp]ðóÃPýðÿÃRÃÃ@qÃÕÀ%àUýà ÃöÃaðjÃ@kÃðBð ÃP÷ÃàV ÃÃàhÃÀ—ÃàhÃ`³Ã`HÃêÃp{ÃÀÁÃ0JÃ0ÁýÃ…ÃRÃ`›à ŽÃÀ&Ãà€ÃàÃ02ÃàhÃàñÃðÃgÀÃ0Çà ¬à[ÃàV Ã0DÃ`ÅÃ`<ÃüÃ0ÁÃÀ£ÃpQÃ0&ÃàÙà Žà p!ð ÃðÃÕÃÐ_Ãà÷ÃP¤Ã`ËàØà ¦ÃPžÃmÃ@ÃÀÙÃÐÄÃöÃÀ8ÃÀ8à )Ã`ËÃ@qðÃð•ðçÃànýà ”ÃÀü!ÃÀ8Ãpì÷ÃüÃgÃ@èÃmà ¦Ãà†ÃÐwÃÐqÃýÃÐ)!ÃÃÐâÃà†ÃpiÃ`­Ã`§ÃÀ¯Ã`ÅÃ`ÝÃÐèÃÐYÃ@úÃp]Ãð¡ÀàgÀ Ã…Ãà Ã0PÃÀÓÃ0VÃðÃPÃ@úÃ:à ¦ÃÀ8ÃÉÃÀ Ãà¤Ã0ÓÃ02àäàêðÃ0Çàüð ÃüÃÀ,àUÃ@eàØÃ0DÃ0ßà ¸ÃpÀÀÀ¢ÃàÃÐâÃðBð¬ÃÉàØÃÀ©àðÀ¢ÃàžÃàÃüð¬ÃXÃ@úÃpòÃpoÃ0åÃÀ,ÃpcÃPªàüÃÐîÀÃà€Ã`6ÃpþÃ`6Ã@ÃXÃP¤ÃpÃðHÃ0Pà ¬ð ÃÀµÃsÀ ÃÀ&ÃüÃà ÃPÃð$Ã@eðÃà’Ãà†à #ÃàýÃ0VÃ@eÃ@qÃP°Ã@Ãð6à )ÃXÃÐâÃÀÍÃÀ&ýÃRÃ``ÃÐâÃ@îÃP-Ãp{Ã`ÑàaÃàýÃP˜ÃàzÃð6ÃP˜ÃððvðùÃðÃðà Ã`0ÃàzÃÀ,Ã0ÙÃà€ÃpEÀxÃpEðpÃPñð^ ÃP†ÃÐÐÃpæàäßÃ@ÖÃиÃ0 Ã7$Ã`›ÃpÈà Ãà šÃððÕ!à ^$ÃPV$à=ÃðÃp¼ ÃàV ÃðýÃpÚÃØÃàåÃP€ÃðƒÃàëÃ`• Ã@YÃð‰ÃàP!à ó ÃвÃÀü!Ã0,ÃÐ;Ã@5#Ã`!ÃЬ Ãp¼ à¨"ÃpEÃPë Ã#ÃÐ)!Ã` "Ç!Ã0"Ã0‘"ÃpÈÃP†ÃàhÃ"ÃpÈÃPÃP ÃP÷ÃÀ… ÃÀ"ÃPzàÆÃp9!à j"Ãp-#à7 Ãð à ˆðX!à á#à j"Ã4Ãp!%Ã@²#Ã0£ðáð^ ÃÐ/ Ãðî"ÀË$ÃàÇ"ÃPzÃPÃPn Ãà´ à !à d#à ç"ÃÆ!Ãðú ÀxñÃI!Ãð_%Ã0"à1!ÃC"ÃÀ!À`!ÃàP!Ã0!ß!ÃPh!ÃÀð#Ã0ä)ÃÀ7-Ã0m(Ãð ÃI!àºÃ`¿ÃäÃ0©à+"à X%ÃÐ%Ã+&Ãðq"Ã0!ÀZ"à p!Ó#Ã@¬$ô$à ‚ÃÀ Ã0£Ã( ÃÀ!Ã`ƒ#Ã@A!ÃÀÃð} ÃÐ &Ãþ"Ã@Ä Ãp¼ Ã0£ÃpÎÃ0©à R&Ã@/$Ã`$Ã`#ðR"Ãðú ÃÀ… Ãðô!ðçÃ`$à !à v à á#Ãp'$ÃàÁ#Ã0‹#Ãp!%Ãø#Ãð à1!ÃPß"ÃàD#Ãðw!Ãp9!Ãà\Ã`›Ã`#Ã@”(Ã0ü%Ãø#Ã0…$ÃÀ!à Ãüà ç"ÃÀm$ÃpKÃðÃ0µÃ`!Ãæ&ÃPJ&ÃÀ‘à ‚ÃЬ Ãp!%ÀZ"ÃPë à %ÃÐ &Ãò$Ãðî"ÃàÓ ÃÐAÃ[ÃиÃðƒÃð} ÀûÃpKÃÆ!Ã@¬$Ã`ƒ#à=Ã`›ÃàåÃI!à=Ãp!%ÃpÂÃÐÄÃÀ ÃàbÃÀ—Ã`$ðÕ!à !ÃÐÊà ‚ß!ÃPb"Ãp-#ëÃ.ÃðƒÃP†Ãоà j"Ã"àCÀûÃÀ"Ãp¼ ðçÃ[ÃàV Ã@¬$ÀË$ÃànÃPŒÃÀ—ðçÃÀs#Ã@ÐÃ@ÐÃC"Àã ÃàD#ðL#à¨"ÃðƒÃàÙÃpQàIÃÒÃp°"Ã`• ÃÀ!Ãp¼ ðóÃ`¡Ã0 Ã@G ÃàJ"ÃP\#ÃЬ ÃPh!à%ÃPýÃsà !ÃÀy"Ã°Û Ã`#Ãp°"ÃиÃÀ‹Ç!ÃÀü!ðF$ÃÐ)!à®!Ã@A!ð^ ÃÀ… ÃpQÀïÃà\Àf Ã¥ ÃàhÃÀà¨"Ãu$Ãðô!Ã`#ÓÃðÃpEÃàJ"àºðdðçÃ@ÃàÙÃÃPÃPýÃ@ÖÃp3"ÃЬ Ã0£Ã0£ÃsÀrÃ`6Ãð ð^ Ã02ÃPå!ÃPñÃðÃÞÀZ"ÃàÁ#ÃpWÃðú Ã`$ÃàÓ Ã°X!ÃÀ‘Ã0!ðíà )Ã`Ëà=ÃÒÃ02ÃUÃÐ#"ÃÀ‘ðvà  à Ã( ÃPß"ÃànÃÙ"Ã@¦%ÃÀg%ð^ À„ÃðñðÏ"ÃÀü!ÃPtà p!À¿&à á#ÃànÃ0µÀÝ!Ã@¾!Ã08Ã@ÖßÃ`$à |À¿&ð±'Ãæ*àÆÃð•Ã@kÃ@}à ÃPë ÓÃPë ÀõÃpÔÃÐ5Ãà !ÃР"à ùÃC"ðR"ÃÀ"ÃàÍ!Ãp9!ÃPzßÃ@Ä Ã`›Ãp¶!Ãàåà ÃðÀéÀõÃàåÃ@SÃpÚÃp]ÃàbÃPžÃPzÃPzÃЦ!à !Ãð¡ÃpæÀ ÃÐÄÃоÀûàIàÌÃ0 ÃàñÃ`¡à p!Ãàbà v à p!Ãðà v à ÃÀ‹Ã`¡àØÃ0¯ÃÀ ðÉ#à¨"à=ÃØÃð ÃàhÃàtàIÃ0£Ã à´ Ã Ã@âÃð¡Ã4ÃÀ!àºÃ@ÊÀxÃàzÃ°Û Ã@MÓÃðô!à ÿÃ( Ã=#ÀïÃÀÃÐAÀ„ÃàÓ Ã`§Ã.ÃP€Ã@ÖÃpààÌàÀðçÃUÃÒÃØÃ0¯àOÃð›ÀÃPå!ÃÐ5Ã0>Ã"à´ àIàUÃÏÃÐAÃÀÃäÃÀà Ãðú ÃÒÃàß÷ÃÀ—à ˆà´ À×"ÃàbÃÀ‹ÃÀ… Ã0&à=à7 Ã` ÃÀ‹Ãð›Ãð¡Ãð$ÃüÃäÃ`0àUÃ0©Ã0µÃàzÃ4Ã@SàÞàIñÃ4à ùà7 Ã`BÃÀ Ãp3"Ãp¶!àIÃànÃ`$à´ ÀÃ0DÃp? ðdÃð¡Ã0Dà ‚ÃPë àIÃ`­Ãоà ùÃ`*àgà ‚Ã0‘"ÃI!ÃÌ Ã v ÃêàIÃPh!Ã@èÃyÃÀ,ÃÀ¯ÃP˜ÃÐÊÃêàÞÃpàÃ"Ãþ"ÃO ÃðÃÞÃÃðÃpÂðíßà ”ÀýÃ0ÍÃÀà í!Ã02ÃÀÃpEÃàëÃPýÃpQÇ!Ã`­àUñÃ`›ÀŠÃ@›à ¸Ã`HÃðÃpiÃàzÃð§ÃÐ_ÃÀ©à ŽÃÐMÀÃÏÃaÃ0>à ŽÃðÃðÃðƒÃ`$Ã@ÃÀÃð‰à à ÃRà ¾ÃàñÃðàØÃ`¹ð|Ã@ÖÃà÷Ã0ÍÃC"Ã0‹#ÀÝ!ÃpWà ÿÃpQÃ"!à !àaÃÛà ;ÃÐ_ÃÉÃð¡ÃÀ‹ðpÃPžÃðÓÃ@YÃиÃ@Yà Ã0©à |Ãð¡Ãð*ÀrÃ0©Ã"à ŽÃP ÃàÃ[ðáÃ@Yà[ßÃÀ—à à ÃpKÃ0DÃÕëðùÃ@ÖÃðñÃÀ!à¢#ÓÃÐMÙÃÀÃsÃ:Ãð¡à  à=Ãð‰Ãð›ÃpoÃàÃ(à ùÃPð”àØÃpÈÃO ÃPë ÃàåÃPýÃÃÃPÃ`­Ã4ÃFÃ`­ÃPn Ãàbð‚Ã0©Ã( ÃmÃðÃ@ôð àÒÃ@Sà7 ÃpQÃð­ÃÀµà )ÃÐMÃà ÃFàØÃpàÃsÃðÃPà 5ÃÉà ŽÃÀÃ@èÃà ÀÃÀ©ÃêÃ…Ã@wëðjëÃ"Ã.Ã0¯àØÃÀ£ðšÃÐeÃÀ¯ðóÃ`›Ã@ôýà ÃÐAÃÀ&ÃÐÜÃ@ôðvÃpWàÌÃÀÀÃ^Ã0ÇàÀÀÃÐYÃ0ÍÃ"Ã@èÃ02Ã`¡ðˆð ð|ÃàýÃLÃ@âÃàÃ@wÃÃPÃ0JÃ@q÷ÀrßÃ(àIà )Ã`­ÃÐAÃP€Ã@_Ã:ÃàhðóÀŠÃP ýÃÐSÃÀÃ4Ãð6Ã0Óàsà ÃÀ©ÃP’Ãиð^ ÃÀàOÃ@à ”Ã"Ãànà ”Ã(ðvÃ`6Ã"Ã@èàUÃð$ÃÃð$Ã`¿à ÃPtÃ0&ÓÃPŒÃà÷Ã0\À„Ãð‰Ã0ÇÃð Ãp? Ã@ôÃêÃüÃáÃÀ©ñàäÃPÃ@kÃpÚÀûðçà=ÃàzðvÃÐÖÃÃpÔÃpÈÃÐÐà  Ãð Ãà\ÃоÃ`0ÃPÃÀ‹ÃP÷ÀrÃ`­Ã0¯Ãð} ÀûÃPŒÃÐÖÃÀ8ÃÐÄÃÐGÃàzÃ@ÜÃ(ÃPýÃÀ¯ð ÃÀ&àOÃð‰àÌñÃ4àIÃ0&Ãp? àUÃ@eÃÀö"Ã@Ä Ã°jÃPñÃP¤ÃÐâÀðvÃ08ÃgàØñÃ@eÃÐYà ¬ÀÃ`­Ã`*ÃpÔÃ0 Ã@¸"ÃpKÃ`›ÃÀÃÀ>ÃêÃànÃ7$ÃÐAÃð<ÃÏÃàhÃ@YëÃÀÃ0»à |ðÏ"Ã0¯Ã0¯Ã`ËÃPžàÒà ÃpiÃ0»Ã@à7 ðX!Ã0ÁÃ:ÃpæÃØÃp¶!Ã0©ðpàØà #ÃàåÃ@Ä Ã ÀÃ:ëà ùÃàP!ÙÃLÃð‰Ã`­ðjÃ@Sà |ÃàÙÀf Ã0$ÃP ÃàŒà àIÃpÎÃоÃÃÃð*ÃàåðáÃànÃ0Áð‚Ã@kÃpÔÀïÃP€ÃàhÃ( à |ÃP€Ã[Ã@Ã(ÃЬ Ã@¾!ÃÀàOÃÃÃÐ;Ã`­Ãð¡ÃpÔÃ0—!Ãp? à ÿÃðÃÐÜÃ`Ãð Ãà÷à ”ðçà ÃPtÃ0ÁÃLÀÃ0ÁÃ`§Ãp¶!ÃÀ—ÃàðÃ@Ãð•Ã` ÃðÃ0¯ðóÃ@èÃÐÖÃð‰ÃpEÃ`­ÃÒÃpÔÃpÈÃÉÃà÷ÃðÃO ÃÐâÃÐYÃPÃ$Ã0—!ÃmÃÐ_ÃðÃ`Ëà ¦ð ÃÐâÃ°Û Ã™ÃÃÃpWÃÀ£ÃÀ2ÃP Ã`<ÃàhÃPÃpWÃàtðpÃ`*ÃðÃöÀ ÃpàÃÀÃ@_ÃÐÖà ŽðçÃPë ÃÀ8ÃÃÃPªÃð6àÒàmÃpuÃ`Åà ÿÃ0,ÃPŒàÞÃ@ÃÐMÃmÃÐÖÃ@qðÃêÃ`¿ÃáÃð*àÌÃàÙÃ0»Ã ÃàtÃð$Ã0DÃÀ àUÃ0µà ˆÃ@ÜÃLÃpÈàÌð‚ÃpìÃ@}ÃP’ÀÃÀ,ÃÐGà #à šÃ:ÀœÃàŒÃÀ©Ã¥ÃànÃ@wà ¾Ã0Áà[ËÑÃÐ_Ã4Ã@à šà #Ãð§ÃPà Ãð›Ãp]ÃÐqÃpÚà ŽÃP’ÃpæÃpÎÃ0¯à à )ÃPžÃÀ2àÀÃàßÃ`›ÃÐeÃð§ÃP’ÃpoÃÀ&ðˆÀ¨ð#ÃÛðÿÃð6àÌÃànÃ@kÀrÃÀÃànÃöàmÃ@ôà /ðÃ@îðÿÃÐYÃpÚðíÀÀÃP!ÃÀµÀÃP Ãpc÷Ã0,Ã08ÃÀ2ÃÃÐMÃÀ,ÃàtðÃð0ÃÃÃð­À~ÃàëÃиàÀÙðùàØÃPzÃÀü!ÃpÔð ÃÐGÃÃpæÃPýÃð$ÃpòÀÃÃàåÃPñàäÀ¢ÃÀ—Ã`6ÃðÃ(ÃPÃÀ,Ã`¿À„ÀŠÃ0ÁÃ(Ã@îÃÐ_Ã@úÃÀ8ðóßÃÌ Ã@âÃÃÀxÀ~ÃpÈðùÃ@kÃRà Ã0ÁàØÃÐÜÃÐGÃàÓ Ã0!Ãêà=ÃðƒÃð‰ÃP÷ÃpÎÃÀ Ã:Ã0>ðíÀrÃ@âÃgÃÀ Ã0©ðjà àÌðjÃgÃPñÃ0©Ã0ÇàÌàÆÃÞÃð•Ã02Ã`$Ãànà v ÃP’ÃpìÃоÃ`0à ÿÀ„ÓÃ`*ñÃиÃÃ`*Ãð•Ã`6Ã`$à ÃaðóÃÀÃpÈàØðÿÃÐMÃP˜ð|ÀÃà†ÃàÓ Ãp°"ÃðàÞÃØÓÃ@YÃÏÃpÚÃpÔÃpàÃ`§ÃpÚÃðÃP€ÃpQðdÃ0µÃÐÐà Ã0>ýÃÐÐÃ@_ÃàzÃpiÃ@âÃ@ÐðpÃP’ËÀ à ÓÃÐÊÃPžðjÃ`• Ã0©ÃÀ&ÃpàÃpcÃ0¯ÃÐÄÃPýÃXñðjÃÃ@âà ‚ÃÀ!Ã{#Ãp-#ÃÀ‹à7 ÃÀ£àÌÀïàºÃP€Ã0ÇÃP˜÷ÀxÃ0£ðˆÃ0PÃ@YÃ0£ÃFÃÃÃ`³ÃÐâàOÃÐSÃð­Ã.Ãð¿ð”À–Ã@kÃ`NÃp]Ãàßð^ ÃÞàäÃоÃÐ)!àUàgÃ@YÙÃ0¯ÃØÃÐSÀxÃÀ ðÃPÃ0ÁÃüðëßÃð¡ÃpWÃc'Ã[ÃpÎÃpcÃà¤àöðˆðvÃð§ÃàŒÃð$Ã0¯ÃàÙÃÀ£ðíÃ0—!Ã@ÃyÃ0µÃðÃð0ÃÃ@A!ÀràaÃÉÃ0©ÃpWÃ`<Ã0PÃP†Ã@ÐÀã ÃàßÃоà=ÃpEÃpKÃàñàäÀÃð$ÃÀ Ã`­ÃsÃÀ£ÃpàÃÀ©Ãð<ÃÀðˆÀËÃÏÃP’À„ðÿàÞÃÃýÃ`ÅÃà†Ã0ÓÃà€Àf ÃRÃà†ÃP ñà šÃP˜Ã`¿ÃÀ&ðŽÃ:Ã0DÃêÃpWÃÃpKà šÃÀÁÃð³ÃpøÃ@}ÃmÃàýàäÃPà ‚ëÃð­ÃðÃ0Çà[à ”ÀŠÃ`6Ã@àIÃÉàsà Ã`×ÃP!Ãp{àÞð”ÃpæÃP’Ãð0Ã0DÃLÃð³ÃpÚÃàtà  ÃÐèàmðÿÃÃØÃ:ÃÐÖÃÐSð”ÃPÈà ÃRÀà ”ÃêÃPŒÃÃêÃ`HÃ`TÀ¨ÃÐkÃ0DÃ`§ÃÐâÃ@Ãpøð‚À¢Ãà†Ã&ÃÀÁàaÃ`¹Ãð$ð¦ÃÕÃp9!àºÀœÃðHÀ7à[à ²Ãð­à  ð#ÃÀ>à ÃPŒàmà À+Ã`éÃð•ÃÃp{ÃP3Ã08Ã@kÃ0Ùà…à ;Ã0PÃdàmÃ@îÃ08ÃpcÃ@qÃð*Ãà Ã`ÑÃàåàÀÃ@_ð”à ¬ÃðÃÀÃäÃðÅÃP?Ãð<àöÃ0VÃÀµÃ0VÃ`<ÃsÃ@wð‚Ã@ÃpøÃPžàUð”À–à ðŽÃÀ¯à[ÃðÃP€Ã@Ã0¯Ã.Ã`¿ÃpàÃ@YÀÃð0à )Ã`0Ã@ÜÃ0JÃð0ýÃð¡Ã0VÃ`HÃPžÃàýðvÃð Ã0ÇÃÀ2Ãð<ÃÐÖÃðÃ`0Ã@èÃ0ÍÃPà à  ÃÀ%ÃÃÀœðˆÃpÚÃöÃ`³Ãð*ÃÀÁÃð³Ã0>Ã.ÃàåÃ`‰"Ã4à )Ã`éÃ0zÃPÃàëàöÃÃÃ[ðŽÃ`ãàmëËÃ@ÃàžÃÉÃ0åð|À„ÃpiÃyÀÃ`BÃÀ>à[Ã0,ÃP’ÃàëÃÀÃ¥ÃPÃ4ÃP¼Ã@èÃÀ&ðˆÀÃpoÃÐâÃ`BÃRÃà÷ñà Ã`0ÃP†àOÃànÃ@_ßÃP’ð ÃP'ÃüÃ0,ðˆÃà†ÀŠÃàtàmð#Ãp]ÃPžðšÃpoÃ.àÆà[ÃÀÁÃPªÃpcÃpÈÃ0JÃð¡ÃÀ£Ãà€Ãðà[Ãpià Ã@úÃÒÃ(à ¦àäÃà÷ÃÐ/ ÃÐÄÃÀ à[à ˆà7 ÃàP!Ã`$ßÃà\ðjÀÃÀ¯ÃFÃÞÃPñÃpÔÃsðàêÃ`0ÃÀ©Ã:ÃàtðvÃPŒÃ`­Ã@âÃÐeÃànÃpKÃð›ÃÕÀð Ã@SÃp? Ã`ÃÐGà šÃ@ÃöÃà÷ÃÉÃ08ÃðÃàýÃ4ðÿÃàñðóÃÀÃ0Çà  Ã`6ÃP€Ã@ÃPà /Ã0DÃÞÃPÃÀµÃyàgÃðÃLà[Ã0ÁÃpæÃÐÄà Ã"ÃðÃ0JÃÀ2ðÃ`¿ðjÃ`§Ãð¹ÃpoÃêÃ0ÍÃêÃ@wÃ`¿à ”àÀðX!à Ã@îàðàIÃÐÄà #Ã¥Ãð$Ã08à šÃp]Àã ðpÃàýÀ~ÃPðÿÃànÃpàÃàŒàÃÐèà ŽÃÀ©Ã@ôÃÀ»ÃöÃ(Ã02ÃPÃpæÃÀ Ã08Ã`ÅÀ àüÃ@úÃäÃ0µÃàŒÀÃ@ÃÞÃ0¯ÃðÃ0JÃÐMÀŠà ¾Ãà!ðˆÃ.Ãp? Ãðà Ã@úÃð$ÃP˜ÃLëÃàñÃ08Ãð­Ã0©ÙàIëýà p!ÃÐÊÃ`ÑÃ0Dð|Ã@ƒÃð$Ã.ÃpQÃ`6ÃP€à !Ã4àäÃPÃpìÃsà[Ã(ÃaÃpª#ðÕ!Ãgà ¬à ¾à ðùÃpÎÃðÃð*ÃàÃ`¿Ãð*ðÿÃXÃÐÐÃвÃÀ©Ãpòà  àÞÃàÃ`BÀ Ã`ËÃ…Ã`$Ã@Ä Ã ØàêÃànÃöàUÀrÃpÚÃð›ÃÀ,Ã@eð‚ÃpÎà #À¢Ã08Ã0>ÃöÃP°Ã0Óðÿà ”ÃRÃð$Ã@_Ã0»àØÃà€Ã(ÃÀ©Ã0JÀŠÃÐGÃÀ£Ã0ÁðçÃP÷Ã…ÀÃ@_Ã0¯ÃPÃ¥Ãð³ÃÃp]Ã0»ÃpÈÃð$ðpÃ@ÃpiÃàtÃ@qðÃ0»Ã08à  ðóÃðÃ0»ÃpÔàÒÀÃðÃÀàUÃPàØÃðÃ@_ýà à ÃmÃÐMðíàgÃ0>Ã0hÃ@ôÃ0ÁÃUßà ÃðÃPÃð0ÃÀ,ðóÀŠÃFÃpuÃP?ÃdÃÀ à ŽÃsÃÐÐÃð¹ÃÐ_ÃÀÃöààmÀŠÃP˜Ãàà à šÃRÃpàÃ`6Ãàà /ðçÃ@Êà Ã¥ÃPÃ`ÅÃ`¹Ãðà ”ðvàgÃð§ÃÀ—Ã0>ÃÐúÃÐîðŽÃmà7 Ã0£ÃÐ5ÃP ÃàýÃ…Ã0µÃ`³ëÙÃðàØà ¦Ã`³Ãð*Ã[ÃêÃ4ÃÐÜàgÃRð|à ÃP¤Ã`ËÃð›Ã@ÃÐ_÷Ã@‰Ã^Ã`§ÃyÃà†ÃÐâÃð*ÃÀ8Ã0JÃ@kÃà’Ã@Ãð§ÃÀ,ÃÏÃÀ,ÃÐÊðùà /ÃsÃPÃоÃвÃ`*à  Ã@âñÃaÃ`$Ó#à p!Ã"ÃÀ¯Ãð<ÃP!Ãà˜ÃsÃ@âÃP Ã0»ÀrÃàÓ ÃðÃPzÃ`§àOÃP’ÃaÃàëÃÐAàÌÃöÃÐÊÃFÃ@SÃ`*ÃpÎðvÃ0&ðpÀ~Ãð›Ãà\ÃàbÃ`ÀrÃp]ÃÆ!à ó Ã0>ÃpìÃЬ Ãðú ÀõðíÃP€ð‚à d#Ã`ô%à7 ðjÀÃ0ßÃPÃPå!ÃÀ ÃpcÃÀ àCÃ( Ã`³Ã0,Ã0‹#ÃàV ðÕ!Ã¥ ÃÀ©ðpÙÃ0,ÃÀ Ã4ÃpcàÞà Ã$ðÃ$à ˆÃ0©à ÃÀ¯ðóÃ0‘"Ã$àÀÃ÷ÃÐÊÃ`‰"ú#Ã`*Ã@ÜÃPýàÆÃ¥ÃpWÃ`!ðáÀéÃàÙÃPh!ÃÐ)!ð^ Ã`¡Ã08Ãp]ÃPÃpàÃ0©Ã`0ÀûÃ:ÃPë à p!Ã@¾!ðjà7 Ãþ"Ã0!ÃàßÃÀÃ0©à ó Ãðú ðvàÒÃ`§à ó ÃP Ã` Ã4ÃÃ`Ã0&Ã( Ãpª#Ãðô!Àf ÃðƒÀÃ¥ÃÐÄÃÐÄÃ( Ã=#Ã"!Ã0£ÃpÂÃPß"Ã@G ÃиÃð‰ÃàëÃÀ,àUÃ`à ÃðƒÃ0 ÃðÀ~Ã0£Ã@ÃàëÃÀ‹Ã¥ ÃpÚÃ`§Ã@ÖÃ@ñà ÿÃ4ÃpÈÃоÙÃð Ãðô!ðóÃ"ÃêÃðú ÃP\#Ã4ÃÀ£ÃXÃp9!Ã@G à ˆÃðÃàÙÃðƒÃ.Ãð•ËðvÃ@kàÆà #Ã`¿Ã`ËÃà’ÃÀrÃp¼ ÃàhÃ0 ð½%Ã@/$Ã(ÃP Ã4ÀûðÃÀ2à ˆÃ`0ÃpÂÃÐ5Ã08ÃÀ¯ð ÃüÃP ÃP’Ã@YÃÐÐÃpàÃ@úÃ08ðíÃÐ5Ã08ßÀ–à  Ã`³ÃàðjÃ"ÃöÀð^ ÃPýÃP¤Ãð0À–Ã0©ÃÒÃð‰àOÃÀ8ÃpcÃêÃÕÃð*àäÃ@eà í!ÃpÂÃðÃ0>ÃêÃPtà´ Ã0µà !Ã@²#ÃàÙÃ4ÃàåÃPtÃ[Ã`!ëÃ@âÃPzÃ@Ä ÃÐ5ÃànÃ0µÃÃ`6Ã`!Ã0&Ã@îÃ0PÃ`NÃàëÀõÃÀàOÃð‰ÃÐ)!ÃÐ#"ð^ à ó ÃÀÃPŒà ”ÃàëÃ[ÃàÙàOßÃ`¡ðjÃp°"ÃàÍ!ÃÀÃ0,ÃàñÓàÒÃà»$à1!ð|Ã`0Ã`BÃàtÀõÃð$ÀÃ@eÃpÎÃ`$Ã4Ãðw!ÃàåÃ@MÃ0¯ÃÃà ó ÃÐ#"ÃоàºÇ!ÓÃ`§Ã`<Ã`ÅÃPà |ÃpEÃ`0ðíÃð§÷Ãgà |à ”Ãð‰ÃÀ ÃüÀ„Ã0Áà ˆÃ@èÃиÃðú Ã0"ðdÃвà ÃP’ÃUÃðô!ÀZ"ÀéÃ`$Ãà÷à®!ÃPŒÃÀ8àÒàÀÀàÞÃànÃÀ‘ÃоÃpÔÃaÃð›ÃgÃöà ”ÃÕà ‚Ã0¯ÃpQÃ@ÀxÃ`­Ãà÷ÃÐ5ÃñÃàP!ÃÐ/ ÀÃêÃÃ@5#Ãð} ÃðÃÃðÃöÃPýÀÃ0JÃØÃÐ;ÃðÃðÃÐ5À~ÃÐÄÀ„ÃÐÐÃP†Ã0µÃ`¡ÃpWÃ0Pà à à Ãà\Ã0Ùà Ã°Û ÃŸÃRà=ÃÀ‹ÃÀ&ÃÃÃÐâÃ@âÓÃ[ÀrÃ.Ã@kà ÿÃ`§Ã@ÜàäÃ"Ã`• à |àÒÃоà Ã@ÐÃÀ‘ÃêðÃ@ÜàÒÀŠÃÐ#"ÃàßÃ`‰"àÌÀÃPtÃàåÃÐÐÃ08Ãp¶!à ‚ÃÀ!ðjÀàäÃüÃ`¹à ”ðdÃ0"Ã0&Ã…ÃpìàIÃÐ#"Ã°Û ÃpQÃpÂÃPÃÉÃpcÃ@èÃà’ðˆÃPà v à ‚Ã@Ã`!Ã@MàÀÃ@Sà v ÃUÃÀ—ÃÀ¯Ã`¿à |Ã0,ÃÀ!ÃàÓ Ã@eñà ŽÃ0¯àºà |Ã@Ã@âÃ`‰"ðáÃp9!ÃP€Ã@SÃPÃÌ ÃO ÃÐYÃ0µÃð$à Žà7 ÃpEÃ0"ÃðÃ02ÃÀ‹ÃЬ à |ÃpÔàIÃиÃP÷ÃP÷Ãpààaà ”ÃsàÆÃÃ.ðíÃÀ‘Ãðà+"Ã`0Ã`$à ÃÌ ÃðÃP Ã`<Ã0&Ã@MàÆàIßÃÐMÃ@âÃÀ©ÃpÈÃàbÃÀÃðú à |Ã`¡Ãð} à j"ÃP÷ÃpiÀà šÀÃ0ÓÃXàgÃ@îÃRÃ[Ã`›ÃÀ—ÃÀÃ08Ã( Ã@YððÃð•Ã0>ÃP†Ã( ÃЬ ÃØð‚Ã@kÃà†Ã0Íð”ÀïÃ0&Ã@qà ¦àIðÉ#ß!Ã@Üà ÃPÓ$à ÿÃO Ã@qÃ`¿ðvÀ`!Ã08Ã@wàðàäÃиÃpÂÃÀ—ÃÐÐÃÐÊÃöà ÃP€Ã@qÃÀÃ@YÃ¥ÃÒÃðè#àIÃ0ÁÃ@ÃpÂÃpÚýÃmÃ0‘"Ãð‰ð‚Ã@ôÃð§ÃPà ”Ã08Ã@ÐÃиÃØÃPŒÃ0ÙÃ0VëÃpQÃàhðà )ÃP˜Ã"ð|Ã0ÓÃ0VÃððpÃÐSÃоÃð Ã08ÃpÚÃ0¯à à ÃÐâÀÃÐÄÃðà Ã@èÃ@Ü÷Ãp]ÃüÃP’Ã`¡ÃÐÄÃpÚÃÐÜÃð›Ã`­ÃàzÃ0>ÃÀ‹ÃÒàÌà ÃRÃðÃ`*ÃPÃ#ÃP\#÷Ã.ÃðÃ0µÃÐGÃPà ”Ã`§à[ÃP'Ã@qà ;ÃpiÃàhÃpàÃpæÃð*ÃpàÃ¥Ã0—!à+"Ã`¡à ”ÃPb"Ã0&Ãà˜ÃÐYÃyð|ÃP ÃpÎÀf ðÕ!ÃÐ;Ã@ÜÀïð‚Ã02Ã`›ðçÃð¡Ã0¯ÃàtÃ0µÃØÃpÈñÃ@îÃÐÄÃðÃÀ,ÃÒÃ@YÃ0DÃPŒà ˆÃÞÃànÃäÃ(ðóÃ@kÃP¤ÃpæÀÃð à®!ÃððóÃÀ‹Ã0»ðˆÃpæÃöÃgÃð¡ÙÃ` "ðX!ÃÀÀàÌàUðùÃàhÃP€àÆðíÃ(ñÃ`§Ãm÷ÃÀ,àºÃp3"ÃÃð*ðjÃÀ—Ã`¹Ã0>ÃñÃð§Ãp]ÀlßÃà\ÙÃPŒÃ[ÃàåÃpWÃPÃ08ÃÀ,ÃÐÖÃà€ñÃÀ‘à àÆÃðÀûÃÞÃÐ)!ÃÐGÃP¼Ãð­àUÃ0PÀf ÃàÓ Ãð0ÃÃ@•àêÃÀ¯Ãð*Ãð$À ÃFÃÏÃPžð”Ãð›Ãp]ÃÐÊàÒÃÐÖÃ`$Ù"Ã0µÀÃ@_ÃP’àÌÃÐMÃpÔÃ`0ÀàaÃ`0Ã@îÃ0ßÀœð‚ÃÐ_Ã@wðáà v Ã4ÃP€Ã@YÃ@ÜÃÀ ÃÃÐÊÃ4ÃàßÃÐ;ÃpWÃ0ÇÃ`HàÞÀÃ08Ãð¡Ã0ßÃÐÜÃ0JðˆÃ@ÃpÎÃ@Ã`6ÃPŒÃàýà ÃP’Ã…Ãà ðˆÃpKðÃ08ßàÞÃ@}ÃÃÃàÃ`HÃ`Åà )À ð‚Ã@àØÃ`BÃà÷ÀÃ@qÃ@_Ã"ÃÐâÃ0JÃ0Çà ˆÃÃà ¬à ¬ÃÕÃpcÃ@eÃP°ÃÃà ÃäÃàtà ¦ýÃÀ2Ãpcà šÃðÃ0JÃÀ&ÃàñàÒÃyÃ`×Ã@à  àºÃ`*ðˆÃP†Ã@ôðÿÃ0ÇÃ0ÁÃmÃ@ôÃ4Ã.ÃàtàêÃpìàÌÃð‰ðˆÃ0>Ã0Çà ŽÃà÷Ãà†à ¬ÃpWÃð­ÃLÃP˜àmÃP’Ãà’ÃÏÃFÃ0VÃ@ Ãð0ÃðÃðÃ0ÓÃ0ÍÃ`¿Ã0>ÃàŒÃðð¦ÃÐúÃP!ÃP’ðÃÀ>Ã"à )àØÃ@_ðàyÃÃpQà |ÃyÃpðˆÃ:à ¦ÃÐeÃP°ÃðÃðÃÀÃ@_à[Ã0ÍÃàtàÆÃðÃ0ÁàöÃ0åÃÀ»ÃùÃ:ðÿÃÐAÃð à #ÃüÃàtÃ`­ÃÀ¯àäÃP’ÃpÔÀŠÃÛÃXÃ`ÑàaàgÃ@îÃ@wÃÀDÃàªÃáÃpoÃð¿À¢à šÃ0>Ã.à ÃpþÃ`HÃ`6ÃàñÃÐÄÃ@kÃ`*àÒÃàbÃÀ ðšÃ@âÃ0&Ã0#àÌà[ÃpìÃÐAÃÀ»Ã`fÃ0hðpÃ`›ÃàßÃpWÃpàÃÀ2àðÃÀµÃpc÷ÃÀ»ð”ÃÐkÃàbÃ0PàyÃ0\Ã`fÃà’Ãà’à[ÃðŽÃP°ÃàýÃÐMð‚ÀÃ@úàðà ”ÃÐÊÃÐ_Ãð­ÀÃàŒÃð­ÃÐqÃP'À–Ãð•ÃàIÃp-#ÃðÃà†ÃÐMÃÐîðÿÃP'à ÃàýÃ@À ÃRÃð0ÑÃÕÃP˜ÃP’ÃPŒÃmÃ0ÍÃ@Ã`ÅàyÃÏÃÐG÷Ãð›Ãð6ÃpìÀ–à[ÃàýàgÃ@Ãà€ÀÃ0ÁàyÃÉÃð›ÃÀ!à ”Ãð§Ã@qÃÐèà ¦ýëÃ@ú÷à ÃÐGà ¬ðÃ`ÝÃÃëÃ`HðÃ@wÀ¨ÃÃ`*ÃÞðvÃpÚÃ0ÇÃP˜ðáÃàý×ÃÕà àØÃ`¿÷Ã@úÃ@Ã`<àÌà ˆÃ`6ÃÐâÃ0µÃPžÀ ÀÃÀ… ÃðÃ0JðšÃÕð”àÌðˆýÃ`ËÃ0ÇÃÐSÃÃpuÀxÃP€Ã`¹ÃÏÃÐÐÃàhÃ@ÃPžÃ0ÁÃ@ÃÐôÃ@ƒÃð6ÀûÃ0ÍÃ@qÃ0»ÃP-ÃÐôÃàŒÃ`ËÃ0>ÃàëÃ@ÃÀ8ÃÐkÃà˜Ãð$ÃPžÃà†ÃÀÃ`0à Ã`ZÃ0ýÃP¶ðíà[ÃpòÃàýÀÃpæÀà šÃ@ð ÃXÃ@ÃpcÀœÃÀÁÃà°Ã—Ãð6ÃP’ðšÃ0bÃàÃÀÃ0ÁÃPÃÀ»Ã@ ÃàýÃ`<ð”ðÃÀ8Ã@úÃàžÃðBÃà’àmà[ÃüÃð$ÃP Ã`ÑàöÃÀà šÃ0ÍÃRÃ@wÃð0ÃPýà ÃsÃð$àaÃÐ_àaÃ0PðÿÃ@ÃÃ@_À„ÃÃÕÃXÃÉÃ`<ÃÀ&ÃLà )ÃsÃ(Ãð¹Ã@$ÃPªà ÃàýÃÐkà Ã@èà  Ã@ÃÀÁ÷ÃpòÃáÃàŒðdà ÃÛàyÃP-ÃyÃ`BÀŠÃpàÃÐÊÃ@A!ÃàhÃàÃàŒÃ^Àºà‘ÃÀÙÃÛÃFÀŠÃ@wýÃ0ñÃÕÃjàmÃ.ÃðÅð¬ÃÐkÃð$ÃÐMð Ã0VÃÐÄÃØÃ@îÃP!Ã0ÍÃ08ÃÐÜÃÐâà ²ð¬Ãpþð ÃÐàêðÿËÃð­à ¸ððˆÃð*àÌÃð³ÃPªÃ`*ÃÀ‘ÃðÃ`ËÃp{à ÃpcÀ ÃíÃàäðÿÀ+Ãð¿Ã`¿Ã:ðŽà Ã0DÃàÃ`Hà  ðÃà˜ÃÀÁÃP†ÃpQÃðÃà ÃP’àUÃ@qÃÀ¯Ãà†ÀŠÃ@úàüÃ:ÃP¤à ¦Ãp]ÃsÃ`6Ãð ÃP˜Ãp™Ã0zýÃ0¯ÃÀ ÃÛÃP¤Ã@wÃÀµÃ|àäð‚ÀxÃpQÃ`6Ãà€ÃPà AÃÐÜÃaÃÐMÃÐâÃð<àUà ”ÃÕð Ãð6ÃÏÃð0ÃpÀ–Ã.à  ÃÏÃ`fÃ0ÓÃÃ4à[Ã0ÍÃ0Và ¬Ã@àaÃPžÃ@âÃà€ÃÐYÃ`¿ÃÛÃpìÃ0¯Ã"Ãà ÿÃÃ@kÃÀ2ÃÀ£Ãð0Ãà˜Ã@•Ã`×ÃyÃPÃ0ÙÃ@kðùÃ`¹àOÃ@qÃð*àsÃ@ƒàêÃ`<àÀºÃP'àäàsÃàÃ@ÃàŒÃ0ÓÃ0ÓÃyðÀ~à |à ÃsÀ+Ã`NýÃ`$ÃÉÃ`HÃ"Ã@ÃpÃP¼ðÃÀ©Ã`›ÃmÃPÃð›ÃÀ£Ã0©ÃpQ÷ÀœÃÃÃÀ©Ã@}ÃP'÷ÃpæÃpWÃ¥Ã0»ÃðÃÐÜÃ`fÃÏÃ0>Ã`HÃpiýà…Ã0åðšÃð<Ãà ¦Ã"Ã@ôÃ…ÃÐÊÃP’ÃPžÃ:ÃÐ_ÀŠÃÕÃÏàÒÃPð‚Ã`­Ã`ËÃÐwÃpuÃð³ÃàtðpÀðšàêÀœà ;ÃÐÐÃPžÃ@ Ã0hÃÛÃàŒàgð”ðùà ùÃÀÍð)Ã0nÃ`õà‹à ¸ÃÐAÃäàaÃÐôà‘ÃÀPÃ0\Ãð*Ã0VÃ0ñàmð”Ã0\ÃÀbÃÀVÃÀ>ÀÃÀ,ð‚ÃÃçàgà ¾Ãpoà /ÃàÃ`¹ðˆàêàäÃÐÐÃ`HàmÃP-ÃRà ðóÃÐSÃà†Ã0ÍàÃÐ}ÃáÃ@úÃPžÃàtÃ0DàêÃÐÃÐÜÃÐSÃð¡ÃÀ,Ãpæð”ÃÏÃÐGÃÃÐYÀðÀ+Ã`ZàöÃáÃÀ©ÃpoÀŠÃpuÃjÃ0ÙÃ``Ãð¿Ãð§ð Ã:ð¬Ã—ÃÐYÃöÃ@ ÃXÃðÅÃð$Ã`¹à ;à )ÃpøÃP-ÑÃ@úÀ¢Ã0ÙàêÃ``ÃáÃ2Ã`TÃÏÀ´ÃPÂÃð<àgÃð§ÃàýÃpcÃÀ>ÃÃÐÜÃÐGÃ@îðÃ0tÃð6ÃP˜ÃP˜ÃàÃÉÃ`ÅÃà’ÀÃpìÃpÃà€À–Ãð*à /ÃpþÃà’Ã¥ÃpcÃð$ýÃ¥ðˆàÒà àsàyðÃ@úàäÃÀ,ÃÐ_ÃáÃ@ÀÃpþÃ@úà šÃÐSÃ02ÃsÀ7ÃЃÃàŒÃ@wÃ0ÇÃÕÃdàsÃPÃP¶ÃP'ÃPŒÃPÃà€Ã`ËðŽðÀ+ÃRÃ0PÃÐèÃð6àmÃp{ÃРËðšÃ…ÃÐMÃð¡Ãð$Ã`¿ðšÃÐSÃà #ÃpÃPKà /Ã`ËÃÏà ¦ÃÐkÃ`BÃP!ÃðBÃà¤Ãà¤Ã0ÍÃ@ôÃ@Ü÷àaÃpuðŽÃ@úÃÀÇÃRÃð0ÃäÃà¤ð¬à ¦Ã@âà /à ¸Ã@wÃðBððpðŽÃÀÇÃÛÃpà ¾ÃðÅðšÃPžðÃ0ÙÃüÃð0Ã@qÃPžÃ0bÃàÃð0àÒÃÉÃ@Mà7 ðíÃ0JÃP˜Ã@ÃàÃ0VÃÀ¯À Ã0ÇÃFà )àað Àà )ÃÐ#ÃPýÃ`HÃàýÃ0bÃpÃP¼Ã`TàüÃð­ÃmÃ0»ÃðÅàgÃðÃP ÃÀ¯ÃÐÖÃPŒÃ4Ã@À„ÃÐÜÃà†ÃÐkÃ0DÃöð ð|Ã"Ã@ôðíÀÃyÃ`<÷Ãà€ÂÃÐúÃð$ÃFÃ0Ó÷Ãð$Ã@‰Ã`*ÃpcÃ@ÃÀ,ÃÀ‘Ã0ÁÃPžÃÐYðÃÀ¯àÒÃ`6Ãíà ¬ðÃÀ¯à ÃP-Ã`ËÃyÃÃÃðÃ@ƒÃÀÁÃÏÃP÷Ã`*Ã`¿ÃàðˆÃ0PàØÃp]ÃÀ,Ãà÷ëÃPŒð”à /àÞÃdÃð­àmðýÃ`ÑýÃXÃíà ð|Ã@kýÃà†Ãð¡Ãð³Ã@Ãà’ÃàzàCÃpòÃÕÃPŒÃpÚÃRàOðÿÃàýà ¦à /Ãð­Ãà’Ãð*ÃÐÄÃÃÃàzÃ@Ã@_ÃpKðŽÃà€ðáÃpÈÃPÃÀ»Ã0µÃpòÀÃÀÃÃÃ`­àäÙà ÃP ÃàbÃ`<à ¦ÃaÃ¥ÃP’Ã`³ÃàÃ`ÅÃpcÀ„Ã`›ÀŠÃÃÃ@ÃÐeÃ…ð ßÃÐ#"ÃÃÀ—à ùÀïÃpWÃ0©ÃàV ÃÀà )ÃP°ÃPÃÐGÃPzÃP˜Ã0,ÃÀy"ðçðvÃÐÖÃÃà€ÃP Ã`*ÃÞÃ4à ”Ã4Ãð$ÃÐÖÃànÃ@YÃP ÃP˜Ã0DÀrÃ0£Ã0µÃ`ÃàbÃ4Ã@âàÌÃàåÃðú ð^ ÃàåÃÃÀ—ðóÃоðáÃÀ—ÃÀ‹ÃÐ;à=Ã@YÃ`!ÃpKà ÿÃÀ‘àäÃÀ à ÃðÃ0 Ã@îÃPtðŽÃ@îÃЬ Ãp9!ÃÐ5ÃpÔÃðè#Ã0ÍÃàbÃ0 ÃpKÀûà ÃÀð#ÃÐMÃÐMÙÃÐ5ðçÃ`$ÃpÚðíà ‚ÃÃÃànÃÀÃàP!Ãðw!Ã[ÃÐÖÃ0Çà /Ã0ÇÃÉÃÀ—ðdÃ¥ÃPë à ÃP†Ã@A!ðçñÃÀ—Ãð¹ÃüÀ+Ãð¡ÃPÃÐâÀ„Ãà÷ÃÀ&Ã` Ã0&Ã`!ÃðƒÃ°Û Ã0>ÃpiÃaÃpEðóÃà€ÃÞÇ!ÃðÃÐÄÃÀÃ`¡ÃP’Ã@èÃàðÿÃÐÄÃàtÃPýÃðú Ã¥ ÷À„ÃÀ£ÃàýÃÐAÃð‰Ã0£Ã0©ÃÀ ÃÐÐàÞÃFÃð ÃPn ðçÃÐŽ%ëÃð*Ã°Û ÃЦ!Ã@ÐðùÃgðóàÌÃ@G Ã"Ã"ÃÃðà¢#à=ÃP€àØÃ`§Ãðî"à´ Ãð•ÃðÃPzÃ`<ÃàbÃPÃ@à ÃàÙÃ¥Ã`<ÃÀ8Ãà€Ã`¡ÃÀö"ÃðÃÀÃÐSàØÃPzÃàÇ"Ã`ô%ð:&Ãp9!ÃÀÃànÃàbÃðw!ÃO ÃР"Ã`• Ã02Ã0&Ã`­àÌÃP’ÃànÃ`$Ãp°"Ã"Ã` "Ã@A!Ãð} ÃPß"ÃÀê$ÃàßÃÃ`!ÃЦ!Ã"!Ãp9!ÀxÃP àOÃ0»ðˆÃ0!ÃàÇ"à j"ÃÀ‘Ã(Ãp¼ ÃÀ‹÷ÃPë Ã` ÃP÷ÃÐ;Ã0!ÃPß"Ãø#ÃàÍ!ð^ à p!ðÉ#à F(à F(à L'ÃÚ,àã-àé,ÃÎ*Ã`Y*Ã0O-À1Ã012ÃÐç+à ·*ð{0ÃpV1Ã5Ã-4ÃP…1Àq3Ãðˆ3Ã5ð]5ÃàÞ3Ãpb/ðo2ÃÐ:3à “0ÃpV1ÃpP2àB3à i7Ãð0Ã012ü1ÃP£,Ã`/1Ãðÿ4àË1ði3à 3ÃàØ4ðø0Ã-0Þ2ÃpP2Ãàê1ÃÝ2ÃN5ö.à ".Ãð5,Àƒ0Ã`/1àé,Ã0O-Ã@ó-Ãð1Ã@@6ÃP‘/Ãà-ð-Ã`Ö*Àú1Ãз3Ãàð0ÃW)à .,ÃÀ%0à`.Ã@+Àú1Ãàm1Ãà.ÃÈ+Ãpë-ÃÐX.Ãð”1Ã`¸/à /Ãð4àZ/ÃP‘/Ãà…-Ã?-Ã`;/ÃÐá,ÃÀ+/Ã0Æ.Ã0Æ.ÃÈ+ð()Ãpt,Ã0À/Ãð/-ð«(ÃÀI*ð+ÃÀÀ+ÃÀ=,ÃÐÛ-à×/ÃK/Ãp\0ÃÀ¢0à ¥-ð“,À›,ð™+À.Ã@+ð()ð.(ÃðA*ü-Ãpn-Ã92ÃP0ÃÚ,Ãx.ÃðÐ'Ã`â(Ã@ç/À.àû)Ã@Ž)ÃQ*ð™+Ã@v-À0ÃÔ-ÃÀI*ÃÀI*Ã@p.Ã`Ê,ÃP£,à (-Ã@‚+Ã%'ÃÀO)ÃðA*Ã`_)à(ð“,Àw2ÃÀ3ÃP/Ãpý*Ãæ*Ê+ð.(Ãà&(Ã@ &À¿&à Õ%àx*ð+ÃP8)Ã@)à Ã(Ãì)à ½)Ãð²,ÃÀ1.Ã0[+ÃðS'Ãø'à ·*Ãà )Ãà¯&à :*Ã`A.Ã@ˆ*ÃP,+ÃЈ&ÃðÖ&à&è&Ãpý*Ã@ù,ÃPD'ÃðÜ%ú#ÃPV$Ã0%ÃðÐ'À­)ÃðÖ&Ã@‚+Ã0ö&Ü(ÃpŒ(ð"*Ãp÷+ÃÀO)ÃPV$Ãø'Ã`â(Ãp€*ð:&Ã`w%ÃÈ+Ã0Æ.Ãp’'Ã`ƒ#ÃðÖ&àõ*ÃP,+ÃðA*ÃàÁ#ÃP\#Ãà¯&Ã@|,ð™+ÃЂ'Ãæ&Ãc'Ã(Ã`_)ð½%Ãðî"Ã%'Ã`è'Ãp¤$Ãpª#ÀB&ÃP8)ÃðM(Ã@5#Ã1%à ^$à É'Ã7$ÃàÍ!Ãðe$à Ï&Ã0Þ*à Ï&à R&à %Ãp'à Ï&ÃPÍ%ÃðÜ%Ã` "Ã@5#Ã`q&Ãðe$Ãp¤$Ç!ô$Ã$Ãì%Ãæ&Ãðè#à ^$Ã`• ÃPå!Ãc'ÃÐ#"Ãðw!Ã@5#Ã@#&ÃÐ)!ðL#ÃPÙ#Ãi&Ã`w%ð½%ÃðY&ú#à%ÃPÍ%ÃàD#à¢#Ã0#Ãà»$ÃPV$Ã`ƒ#Ãðe$ðF$ÓÃ¥ ÃÀm$à j"ÃÀm$ÃàÁ#à ÃÐ#ÃPÓ$ÃÀy"ñÃоÃp3"Ãà'ÀÝ!à |Ãþ"Ó#ÃÆ!Ã@'ÀÝ!ÃÐ5ÃÐ)!ÃÒà+"Ã@A!Ãp3"Ã@²#ÃPå!à+"Ã{#ðL#Ã0%à¢#à ÃЬ Ão%à Û$ÃðÜ%à&ÀZ"ÃК#ð4'ÃÀg%ë̯̼#à–%à%Ãò$à à í!ÃÀ!Ã0‹#Ã&Ã@5#Ã0 Ãðâ$Ãp&ÃÐ|(Ãpž%Ã0%ðF$à1!ÃPJ&à$à ó Ç%À<'à F(Ãp!%Ã{'Ã@(Ã`w%à Ï&ÃК#Ã`‰"Ã{'ÃЂ'Ã`ô%ÀÅ%Ãà¯&à–%ÀH%Ãà2&ÃK+ÃPÙ#à í!Ãà¯&à É'à¢#Ã{'ð.(Ã0y&Ã*à L'ÃÐÿ'Ãà—*Ã`â(Ãðe$Ã0%Ãpn-À.à @)à&à @)Ãpž%à j"à á#ÃÀä%Ã0Þ*Ã0Þ*ð()ÃÀO)Ã`_)à Ï&Ãàµ%ÃÀÌ)à ½)ÃÀØ'ÃЬ à%ÃPÁ'Ãø'à ·*ÃÐÿ'ÃàÁ#Ã@(Ãò(Ãæ&ÃÐ%Ã0%Ã0m(Ã+&Ãð¾*ÃÐ|(Ã7$Ã@)%Ãi&Ãø'Ã`è'à 4+Ãà*Ãi&Ãð_%Ãà,'ÃÀC+Ãc+ÃðÐ'Ãp!%Ãà8%ÃÐp*Ü(Ãp€*Ãà)à ½)Ã@)àŠ'Ãì%Ãà>$Ãp˜&Ãà)Ã*ÃðÜ%ÀH%Ãà©'ÃðÜ%Ãp'Ãp*ð+à(ÃPÓ$ÃPÍ%À¹'Ãð¾*ÃÐ$Ã`$ÃPÇ&Ãì)ÀÑ#Ãàµ%Ãp&ÃðS'Ã`î&Ãðk#ÃÀO)Ã@ˆ*ÃðA*ÃÐ%Ã`k'Ãp(à X%Ãp )ÃÀm$à1!ÃÀö"Ãp†)Ã`k'ÃðÜ%Ãà2&ÃÀ"à R&ð«(Ã@ *Ã0Þ*ÃP»(ÃЂ'Ã`k'Ã`k'ð:&ÃЈ&Ã@ &ÃPÍ%Ã@”(ÃÀä%Ã`k'Ã)à Ã(Ãp'$Ã](Ã@ÿ+Ãû-ÃPÁ'Ã@#&Ã@¦%à Õ%Ãà©'Ãp€*Ãà+ð±'Ãp'è&Ãð_%ÃЂ'Ü(Ã0ä)Ãà£(ÃðY&ÃК#Ãì%Ã#à X%ÃÀy"Ãò$Ã`w%Ãà8%à É'à&ÃÀê$Ãðq"Ãpž%Ãpž%Ãu(ÃPP%à @)ÃðÐ'Ã`ô%Ãu$Ã0 Ãðe$Ã`î&Ãà¯&ÃðÊ(ð4'Ã@;"Ã`ƒ#ÃPJ&Ãàµ%ô$Ã0…$Ó#Ãpž%Ã@¬$Ãðî"ð:&Ãà2&Ã$ð½%Ãà2&Ã`î&à&Ã(ÃÀê$à ó Ã@5#ðÉ#Ãàµ%ð@%ÃÀm$Ãðq"ðR"Ãà,'à Õ%ð4'Ã`ô%Ã@²#Ã0!Ã{#à&ÃP\#à v Ã`$Ãðâ$Ãp’'ÃÀ àÆÃ`!ÃPh!ÃPë ÃPß"à ç"ÃК#ÃÀ!Ãðk#Ã` "ÃðG)Ã`$ÃàJ"Ãp9!ðX!Ã#Ã0%Ãì%à d#ÃÐ%ÀrðçÃPb"Ó#ÃPë ÃPú#Ãðú à ùÃÒÃþ"Ãò$À`!à+"ÃК#àœ$ÃÌ Ã`$Ã0‘"Ãð} Ã@A!à´ ðpÃ0!Ã0‹#à ÃÞÃpWÃ@ÊÃ@¾!ÃaÃPtÃPV$ÃÀÃ0 à ç"à$ÃàÇ"Ó#Ã`$Ãðú ÃК#ÃÐ/ ÃÐ &ðÃ$à ÿðÏ"ðpÃÕÃÐAÇ!ÃЦ!ÃPV$Ã0‹#ÀrÃ@Ä ÃP†ÃäÃ@MÃ@¸"ÀÑ#ðdà Ã`î&ëÃsà í!ÃÀy"Àlð½%Ã@5#ÃÀ… Ã0&Ã`!ÃÐ/ ß!Ãþ"ÃP\#Ãò$Ó#Ã` "ÃàÙÃÀ!ÃàßÃðƒÃ0 ÃÀ… ÃPP%Ã0 ÃÀ—Ã0¯ÃPh!ÃPÇ&ÃàÓ Ã`‰"ÃÐ5Ã0,ÃÐ/ ÃàåÃÐ5à ç"à®!à®!Ã0—!Ã`!ÃPñà ˆÃðô!ðR"Ã@âà[à ÿÃgÃêà àÌÃPn ÃÀÃà»$ð@%àºàºÃ`$Ãð ÃÒÃPtàOÃ¥ÃÐ$Ã@ÊÃàÓ Ã =à¨"ÀõÃð•ÃðƒÃÐ#"Ã:ðdà Ã[Ãp3"ÀN$ÃàP!ÃÀ‘ÃaÃPë Ãðî"Ãp? à7 Ã@G À`!ÃÀ‘à ”ÃÐMà Ã0Ç÷Ãà\ÃàP!ñðL#à p!Ã`§àÀÃ0,Ã0©ÃpEÃP€ÃpÈÃ°Û Ã"à+"ÃpÎÃÀÃpWÃ@ÖÃ4à´ ðÏ"ÃÀü!à d#à ‚àÒÃP Ã@âÀ„ÃPn ÃPn Ãð‰àOÃ@;"ÃÀÃ0¯ÃO ëëÃ`§Ã@G ÃpKÃÐGÀŠÃ4Ã@SÃPb"ÃPzðÀà ÿÃC"ÙàÀðáÃ@#&Ù"Ãp'$Ã`#ëÃÉÀÝ!ÃUÃ0ÁÃÐÐð|ÃPå!ÃÀ‹ÃP÷ÃÒÃO Ã@¾!Ã0 Ãð›Ã0»ÃðñÃàJ"ÃPV$à´ à ˆà=àºÀÝ!à+"ÃÀy"ÃÀü!à®!ÃК#ÃÆ!Ã0©ÙÀlÃÃ(àÌÀ~Ã@Ðà ”Ãp]ÃÀ&Ã"Ã0 Ãp3"ÃØÃàtÃàÓ Ã`$ð|Ã`³Ã@qà /ÃPýÃ` ÃP÷Ã0©Ã0,ÃpQàOÃÒÃ°Û Ãà÷ÃÃpEÃÀ Ã@G Ã0>ÃàV Ã0—!ÀéÃ`›ÃpiÃÀ… Ãðô!Ã`ÃÀ‘Ãp? Ãà\à p!Ã@MÃ@YÃðÃÀ Ã0!ÓÃÐ;ÃÀ—Ã"Ã`ð‚Ã@ÃàhÃò$Ã°Û Ã Ãð ÃêÃðÃ02ÃоÃaà ˆÃðÃÐ/ ÃÀö"ÃPñÃPñÃðî"Ã@¾!ß!ÃÀ£Ã0VÃ`6Ã"Ã0,Ãð¡Ã`¹ÃÐGÃaðáà ÷Ã`§Ãàtà ˆÃPÀõÃ@ÖÃ@eÃ"ÃиÃpÎà ÀõàOÃ`³ÃP'ÃP!ÃP¤ÃyÃàhÃ`¡Ã`6ÃÐ5ÃPb"ÃPtÀðóÃP€Ãð•ÃÀ©ÃÀ Ã0µàÆÃÐMÃPÃgÙÃ¥ÃpààaÃÀÃðÃpæñÃ`³à$Ã$Ãà\ÃPzÀrÃ0©ÃàåÃUÀõðçÃ`¹ÃPzÃaÃ0ÇÃêßÃÀ©ÃÀÃàV à ÃLÃ`ÅÃ`*ÃPðÃÐGÃ@ÜÃиÃ@îÃ@úÃð‰ÃPtÃsà ‚Ã`¡ÃðƒÃÀö"Ãp? à á#ÃÐ#à v Ã`³ÃÐÖÃpWÃPÃànÃ0&Ãð Ã0¯Ã@YÃÀ—ÃÐÊÃØÃ0£ÃpEÃ@Ö÷ýÃÐÐÀrð|ÃàñÃ`HÃLÃ@úÀ–Ãp¶!ÃÀÃÀ£à ðÿÃ0»Ã`³ÃànÃüëÃÐeÃÀ»À÷ÃpààÆÀxÃ@âðÿñÃÐAÃÀ©ÃyÃ`Tð)Ã0ÍðóÃ@_ÃвÃÐAñÃР"à$ÃàÍ!ÃðÃÀ‹Ã`#Ã`!ÃиÃ{#Ãp’'ÃðS'Ãþ"Ã@ÊÃÐ#"Ãàbî%ÃðY&à Û$à Ã4Ã=#Ã@¬$ÃД$ÃÐ'Ã`ô%Ã{'ÃÀØ'ÃPë ÃàJ"à Ï&Ã`q&À6(ÃPV$Ãðî"à7 à+"ÃÐ#"Ã@ÃÐ;ÃÐ#ðÏ"â'î%Ãpª#ðÃ$ÃЂ'ðF$ÃpàÃÀ‘Ã` Ã` "Ã$Ãðq"ÃàJ"àœ$ÃPÇ&Ãi&ÃÀy"ðL#à d#à Ï&à Õ%à–%Ã0y&à$ÃP\#à !à%#Ãð_%Ãp&ÃðÖ&Ãp&ÃÀð#ÃI!Ãp¶!àŠ'Ã`q&ð±'Ã0g)Ã&ÀÑ#ÃÀ"Ã0‹#Ã0%Ã=#ÃÀg%ÃðM(ÃÀä%Ã@'à d#ÃPb"ðÕ!ÃÆ!ÀB&Ãpž%Ã](ÃP»(Ãþ"ÃЈ&Ã`$Ã`!Ã@;"à¨"Ã0s'ÃPÇ&ÀH%ÃPJ&Ã@'ðÃ$ÃUÃð ú#ÃðÖ&Ãà£(ðF$Ã`w%ÃðM(Ã@(Ãàµ%ÃÒÃК#ÃPÍ%ÃЂ'ÃÀm$Ãp(Ã@/$ðÃ$Ãþ"ÃÀä%Ãàµ%Ã¥ Ã0‹#ÃðA*àû)Ãu(à X%Ãp-#ÃPh!ÃPå!ÃÆ!ðÃ$ÃPå!ÃÐ/ à ÃР"Ãp-#Ã=#à¢#Ãà)À6(À`!ÃÐ/ Ãp-#Ã`#ÃàJ"à Û$Ãþ"Ã@5#àœ$À×"ÃPzÃ°Û Ãpª#Ã0‘"ÃPÓ$Ãø'Ãà8%à d#Ã`â(Ã`k'Ã@)%Ã`ƒ#Ãðw!Ãðk#ÃàÁ#Ã$Ã0#ÃPJ&ÃÀ"ÃÐ)!Ã0ê(Ãp!%ÃPñà=ÃÀy"ÃPÙ#ÃàßÃPÁ'ÃР"Ç!ÃÐÿ'Ã$ÀlÃàÇ"à¢#ÃÀa&Ãðk#ÀÝ!Ã@;"Ã`ú$ÃPÓ$ÃPb"Ãp3"Ãà»$à p!Ãp3"Ãp-#ÃÀä%Ã0y&ÃÀm$ÃÀa&Ã0%ÃÀs#ÃÀs#ÃÀð#ÃI!ÃÐ/ Ã"!Óß!Àã ðáÃ@¾!Ã"ú#ðF$à í!Ã0,ÃвÀf ðR"à+"ÃàÇ"ÃàÁ#Ã0#Ãðk#ðÏ"à ‚Ãð Ã0£ÃÀö"Ãð Ãðî"à1!ÃC"Ã`#ðX!ÃpWßÃ"Ã`$ÃÐ#ÃP÷ÃPå!ß!à šÃpEýÃÏÃðÃ`›ÀlÃ¥ à%#ÃàÓ ÃàÍ!Ã@Ãp3"Ãðk#à´ Ãà©'Ã`ú$ÃÐ &ÃвÓÃàÍ!Ãþ"ðáðvðáÃPë Ãp&à%#Ãpª#Ãð ÃÀ‘ÀÅ%ÃÀa&ÃPP%Ã0&Ã0#à ç"ÃÀ‹ÃàJ"Ã0£àIÃ0&Ãþ"ðÕ!Ã.ú#Àã ÃpÈà à=Ãð‰à Ã[ÃPÃÒà ÃàJ"à d#Ãðô!Ãð} Ã0¯ÃÃmÃðÃO à$ÃUÃÐ5à šðvÃàåÃ@YÃpÂðjÃO ÃàÍ!ñÃð Ã08ÃàÃ"!ÃÌ ÃPë ÃPb"Ã` ÃP÷ÃÌ Ã¥ÃЬ ÃO à=Ãð›ÃÐGÃÐAàIÃpàÃÐMÃ4ÃC"à7 ðjÃ@YÃЬ Ã@MÃ(ñà Ã@'Ã@ÊàÒÃðÃ@úàIÃÃpEà ˆÃð¡ÃÛÃÐ;Ã@_Ã`<ÃpÔÃpÔÃÌ Ã°^ Ã@G ÃP†ÃàV Ã"!Ã°Û ÃÃ`›Ã`!à¢#Ãð›Ã@ƒÃFÃpÈÃ[ÃPzà ÃàP!Àà ”ÃpKÃÀ à |ÃÀ£ðÿ÷ÀŠÃÐMýÃð›ÃPÃÀ&ÃÃоÃÐÊÀÃЦ!Ãðq"ÃPtÃ0µÃ0¯ÃðàÌÃÀ Ã[àCðX!Ã`§ÀxÃsñÃ`$ÃsñÃ@¸"ÃðÃÐÄÃоÃðàCÃ{'à–%ÃÒÃàßÃ¥Ã0,à |ÃÀ‘ÃÀðáà !àÀÃpÎÃðú Ã`• ðjÃ0£À`!à ÃàýÃàhà  Ó#Ã0£ÃäÃ@_Ã`³ÃpKà ”ÃsÃpàÙàCÃð•ÃÐÐà ‚ÃàÙÃÌ Ãp°"Ã@;"ÃðÃðÃLÃ`§ð|Ãðw!Ã0!Ã@Ä Ã@¾!ÃànÃ0JÃðÃC"ÃpÂÃðú ÃPn ÀrÃ4Ã@_à Žà ‚Ã0,ÃÐGÃàëÃð¡÷ÃO ÃÀ‘Ã@à ÃpÎÃ`*Ã4à Ã0 Ã@SÃÐGÃàåÃ[ÀõÃPn ÃÃP àÌÙ"ÃP àÞÃànÃÐAÃ`§Ãð ÃP àºÃàhÃ@YÃÀ… Ãà€ÃP˜ÃFàºÃ0ÇÃиÃI!ÃàtÃ`$ðdÃpEÃP Ãð à=ÃÐ5Ã@G Ã4ÙÃÀ‹Ãð›Ã0¯àCÃÐ)!ÃÆ!ÃP†Ãp9!ÃÀ—Ã@ÊÃpÚÃêàºà1!À¿&Ã=#Ãðô!à v ÀÃÀÃ@Ä ÃðÃÐGÓ#ýÃð¡Ã@âÃ@G ÃÀ ýà®!à´ à v ÃP÷à ÃpÎÃ`ÅÃÃÃpÚÃÀà ùÃþ"ÃPÓ$à v ð‚à ”Ã`$ÀZ"ðùÃÀ ÃPàCÃ@_àOÃÐSÀràCÃ0£Ã@ÜÃàzð^ Ãðe$Ãð à ŽÃPŒÃÐ5Ã`• ÃиÃ@YàCÃðú ÃpÎÃð›ÃиÃ08Ã{#ðÏ"Ã0©ÃàhÃpoð¦ÃðÃ`$Ãp]ÃÐ;ÃàbÃ@ÐÀf Ã0ÇÃyðpñÃ`0À`!Ãêà ÀàºÃ0©÷Ã@ôà  ÃàzÃÞÃÐÊð ÃaÃÐÊÃÀûÀ~Ãð ÃUÃ`$ÃüÃ:Ãð*àÆßÃ0 à ó ðÿÃP ÃpWÃpcÃöà ÃI!ÃÀ!à ðùÃgà v ÃàbÃð³Àà #àÒðíðóà ‚ÀõðvÃà Ã`Hà #ÃðÃ@qÃà†à[àäÃàÃÐÖÀÃpæÃàzÃ0 Àrà7 Ã@ÜàÌ÷ÃmÃðçÃ0!Ã`­ÃÐSàIÃÐSÀ–ÃpÎÀrÃ`6Ãð›à Ã08ÃðÃðÃ0µðùÃüñà ˆÃ¥Ã`ÅÃà€ÃÐ5ÃàhÃPŒÃ0Pà ÀûÃpÔÃàñðpÃP!Ã.ðùðvÃ0>Ã`<ÃPÀûÃàbÃ@ÃP Ã@kÀÃ0»Ãyà  ÃÀ2ÃP ÃPzàäÃ`ËÃ0,Ãð¡Ã@ëàOÃ@èðÿÃоÃÐÄà šÃP†Ã@MÃÞà ŽÃ0 ÃÃÞÀf ð|ëÃ02ÃP à ÃÐYÃ0µÃpQÃ¥ à ÿÃðà ÃÀ ÃðÃð•à ‚Ã`¹ÀÃLÃp]Àûà #ðùÃäÃ0DÃ02ÃàzÃ`0Ã0Dà à[Ã@èà ùàOÃäÃÀ£Ã"à ˆÃ@_Ã¥Ã`$Ã:Ãð§ÃüÃpòÃ@ÖàÞà šÃPh!ÃÐAðóÃÀ>Ã:Ã@wÃpòÃ@_Ã0µÃ"ÀïÃpÈÃÀ,àIÃgÃpæÃðÃPzÃàåÃÐMà ŽÀf ÃpcÃpEà ÃpcðvÃàhÃ`›ÃÞÃ@kàaà ˆÃPýÃàP!ÃpÔÃðú Ã08ÃðÃpÔÃ`0ÃÀÃ``àÞÃ0 ðvà À„ÃÐAÃ`ÃÃPžÀf à j"à #àüÃ@wÃðÃ@/$Ã0!ðdÃP˜Ãà ÃP°ÀÃàýÃ0JÃÃÃ4Ã@ÃÀDðóðÿÃÐSà ˆÃ Ãp? Ãð³ëÃÀ Ã@ÊÃÐGÃP’ÃÀ&Ã@ÖÃ`§ÃÐ/ Ã0&ÃÏà ÀxÃÀ‹ðÃ$ÃàV Ã`$ÃÐ/ Ã0!ÃàzÃàýÃ.Ã`ƒ#ÀlÃ08Ã0DÃÀ2Ã`­Ã( ÃÀ‹ÃpÂÃ`¡Ã08Ã0µà à ùÃÌ ÃÐ#"Ãpª#ÃÐ#"ÃÀÃ°Û Ã€Z"à ÃÀ‘ÃР"ÃК#Ù"ÀT#ÃUÃ°Û Ã v Ãðk#ÃP÷Ã@G ÃÀ!ÃPŒÀ~Ã@¾!Ã@_àUÃðÃP€ÃÐÄðáà à í!Ã0%ðÏ"ðíÃàåÃðÀ ÀlÃì%à !Ç!ÃÀ"ÃðƒÃÀ‹ÃðƒàIð^ ÃÐ'Ãp'$ÃÀ‹ÃÀ£ðpàUÃ`$ÃÃÀ‘ÃàÙÃ@Êà ^$à7 àIà+"Ã`‰"Ãðq"Ãp3"ÃàV ÃÀm$à¨"Ãp-#ðR"àÀÃpÎÃ`$ÃÐ)!ÃP÷ÃpÎÃ`!Ã°Û Ãø#Ãðk#Ã`*ÃpÔàÆÃÀ… ðÉ#Àf Ã@ÜÃ`¿ÃÀàÀÃ`§Óà¢#ÀÅ%Ó#Ã`›ÃÀÃþ&ÃPD'à ßÃ`0Ã"Ã.ÃàP!Ã"à ÃÀ… ÃØðdÃPzÃPýÇ!ÃÐ#à+"ÃÐ5Ã`³ÃÞÃ`›ÀZ"ÃД$Ç!àÌÃÀ!ÃäÃÌ Ã°Ï"ô$ÃPñðóà à´ Ã@;"Ãðq"à¨"à í!Ã0‘"Ã$ÃÐ#ðF$ÀZ"ÃÐ#àºÃÀ‹à ç"Ãp'$ÃPb"Ã@G Ãp!%Ã0ð'ð±'Ãà'Ã@/$Ãà,'ÀB&Ã@)%ÃÀa&Ãp3"à$Ã7$Ã0%Ãp˜&ÃÐp*à L'Ã@;"Ãà'Ã0%Ã7$Ã0…$Ã@#&à ^$Ùà=ÃPÇ&Ê+À¡+Ão%ÃP\#Ã&Ã`›Ã` Ã` ÃÀm$Ãp†)Ã`î&Ãp9!à %Ãþ"î%Ãp3"Ãðè#à ç"àœ$ÃðŽ2Ã$ÃàP!ÃÐÿ'à v ðdÃÐ;Ãà©'ÃPÁ'Ãðâ$Ã$ÃO Ãp°"ÃЦ!ÃPß"Ãp&ÃÀ"àŠ'Ã*ÃÀö"ÃUÃ0&ÃÀ Ãp¶!ðL#ÃÀ['ÃàJ"ÃÀ!ÃÀê$Ãu$Ã@;"Ã0#Ã`$ÃPÍ%à j"à1!ÃÀö"Ãp&Ãà'ÃðÖ&Ã`‰"à p!ÃД$Ãp¶!Ãp-#ÃP÷à7 ÃÐ)!ÃpÈÃp9!ÃPV$ÃÐ#Ãà\ÃPñÃp¤$ðÏ"ðÃ$ÃPÓ$Ãðw!ô$ÀÝ!à ó ÃÐ#"à7 Ã0—!Ã@;"Ã.Ã@5#Ã@ *Ão%ÃC"à Ãðú à !à í!ÃЈ&Ãø'ÃPÙ#ÃðÃØà ç"ð:&Ãðô!Ã`›ÃÌ ÃðÖ&ÃàÓ Ã€Ý!ÀZ"à–%Ãp'à=Ãpª#Ão%Ã0"ÃàP!Ã( Ã=#Ãà2&Ãà>$à ó ÃpÚÃ:ÃðÃð Ãðú àUà ÃК#Ãp¤$ÃЈ&ÃР"ÃpÂÃPß"à)à$à+"ÃPÙ#ÃpKÃ`‰"Ãàßà ó ÃànÃðÃPn ðÉ#Ã1%à$ÀN$Ã@ &à+"ÃPh!ÃÃ@¦%ÃPh!ÃÀà d#Ã0‹#ðjðóÃ"Ã`¡Ãðq"Ãpª#ß!ÃР"Ã@Sà d#Ã@¬$Ã`ÀT#ðX!ÃàÓ Ã0¯ÃàëÃК#àœ$à d#ÃÐ#"ÃPýð^ Ã0 ÃC"ÃÌ Ã¥ Ã(ß!î%Ã@)%ÀÝ!Ó#ÃPß"ð·&ÀB&Ã`ƒ#Ã{#ÃPb"Ã¥ ÃÐ$à ó ëðáÃPtðíÃpÎßÃ0!à7 Ã0!Ãðú Ã°Û Ã€×"ÀrÃÐ;ÃÐ5ÃUÃÀ"Ãi&Ão%à ùÃàzÃðÃÀ Ã"ÃàÙà j"ÃàP!Ã@_ÃÐÖÃð} Ã0#ÃЬ ÃÀ… ÃÐ#ÃР"Ã` Ã0,ÃÐ#"Ãp°"ÃÀü!à Ã0ü%Ã@A!Ã`‰"Ã`‰"Ã@G à®!À×"ÃÀ‹Ã à ÿÃàÙÃ@²#Ãðq"Ã"!Ã@Ä Ã ^$ÃPÙ#ÃPñð.(ÃPP%ÃÀs#Ã@Ä ÃвÃI!Ãp¼ Ã`³Ã:ÃÀÃ( ÃàJ"Ãp3"Ãðq"Ã$Ã`}$ðÕ!Ã` ðjÃ0"Ãðq"Ã` "Ã"ÃÀ ÃØÃI!à d#Ãà>$Ã`#Ã( ÃàßÃÀ!ÃàÙÃPtÃðú Ã0 ÃÀ"ÀÝ!ÃàbÃÀs#ÀT#ÀïðjÃÀü!à ^$Ã`â(à%ÃÞÃPàöÃP’ÃØÃàåÃÀ©ÃÓ#à®!Ã`• à Ã`Ã@;"Ã` "ÀÝ!Ã°Û Ã IÃgÃÌ ÃpKà Ã0,Ã"!ÃðƒÃ`}$Ãu$ÃP÷àØÃÐÐà àÒßÃÐ5ÃЬ Ãp? ÃÀ!ÃД$àœ$ÃàV ðçÃðÃÒÃ=#Ãþ"Ã"ÃÀ ÃäÀxÃàßÃ`›Ã0#ÃÞÃÌ Ãà\ÃÀ—Ã0µÃàbÃUÃð•ÃànÃ(ÃP†Ãð›à ˆÃÐGÃpàà ÃÐ/ à v à à àÞðçà í!ÃpKÀrÃ"Ã`!àCÃpÚÃÀ&ÃüÃ@YÃ`• àaà |Ã` Ãà\ÓÃ@YðóÃPŒÃÏÃ@ÖÃÐÊÀ%Ã`6ÀÃ`<Ã0»ñÃ0©Ã@Ã0,Ã@ÐÃÐ5ÃÐSÃÐÖÃð›à ¦Ã‹ÃÐSÃ0&à ‚ÀûÃgÃyÃXÃ0JàÆà ”ÃpKÃð›Ã`0ÃmÃpÔÃP†ÃðÃ0PàüÃ`0Ãð Ãà÷Ãð¹Ãà†ÃÐÄÃÐÄÃàhÃ¥ àÀ÷àaÃÐYÃÀÁÃÃÃ.ÃyÃÀ,Ã@àgà  ðùÃððóÃàñÃP€àÆÃpÔðÃP¤ðˆÃyðùÃØÃ@Öð|ÃPÃ@Yà ˆÃð¡Ã@îàÆÃpàÃÀ¯ÀñÃð³ÃÀ8Ãð§Ã`¿Ã`Åà ˆëÃ…Ã@_ÃüÃÐÐÃ0»Ã08Ãð³ÃmÀ–ÃÀ»Ã`ËÃà÷Ã`ÅðŽÃÐMà ŽÃpÚÃà!Ã@wÃsÃ`<Ã0>ÃÐÐÃÐGÃ@îÃÐÖÃ@îàOÃpQÃàhÃÐâÃÐMàÌÃàbÃàñÀÃ0JÀñÃpQÃ(Ã@ôàÒÃP†Ã`³Ã@eÃÀ£à ŽÃÛÃÀŠÃ08ÃÀ¯Ãð$÷ÃI!Ã`*ýÃÀ,àÌÃpÚÃ`­Ã0µÃ`¹ÃLÀ~ÃP€ÃàzÃÀÃÀ&ÃÀ‘Ãð•àÌàÒëÃpEÃиÃÐÖÃ0>À„Ãð•Ã@ &Ã:Ã`ÑàsÃPªÃð›ÃÌ Ã°íëÃоàaÙÃÐ/ ÃÀ£Ã@úñðpÃ(ÃðÃ"Ã0ÁÃ@MÃ.ð)ýÃ`Åð#Ãð¡Ã0©ÃÐAðˆÃP¤Ãð0ÃpæÃpÎà !Ã@;"ÃP Ã`³àÒð‚Ã`<ðà ¬ÃPÃðÃÃyÃ08ëÃ0,ðÕ!À~Ã`­ðùÃà÷Ã`¿ÃÐÊà ÃPÃ[ÃиÃÐ5à ˆÃ`¹Ã@ÜÃ`ƒ#ðíÃ`<ÃÃÃðÃðÃ0µÃÀÃÐÄÃðà ùà ç"ÃÞÃpÚà ðX!ÃàhÃpcÃ@qÃ`­Ã0#Ã` Ã.ÃðÃ0,ÃPtÃ02Ã(ÃpEðÕ!ÃP†Ã`*ÃоÀõÃ@âÃPžÃpWÃ¥ ÃpEÃàzÃpoà ðjðíÃ@qÃPÃaÃ@A!ÃàåÃÐ5Ãêà ‚ð ÃüÃ@kÃÀ—àaÃ@îà |ÃaÃöÃ@èÀõÃ`§ÃÀ‹Ã@ðóÃÐÐÃ@ÜÃPñÀÃ@_ÃÐ5ÃÀ&ÃÏÃp{Ãð­ýÃ4ðÿÃÉÃpàðŽÃà÷à šð‚ÃpàÃàŒÃÕÃP!Ã0>Ã@wÃPÃÀDÃpoÃ0»ÃpQà[àOà ÃP’ÃgÃð<ÃPžÃ0DàØñÃ@YÃpiÃ4Ã0>ÃÃÃ4Ã@àO÷Ã^ÑÃð*Ã4Ã`³ÃpÎÃ"ÃàýÃP’Ãp{ÃFÃànÃFÃð•ÃÐÐÃðÃð‚ÃpÚÃÐSÃ0PÃP˜àOÃ.ÃLÃð›À ÀÃ0©ÃÀ©ÃàÃÀ>ÃÐÖÃP˜ÃpðÃ@ÜÃðÃ0PÃPž÷ÃàtÃ`ËÃ`¿ðÀ%ÃFà šÃ‘Ã@À¨ÃÃÃÕÃpàÃàhÃP¤Ã‘Ã0JÃ@qà ¦Ãð¿Ãð*ÃÐ_ëÃ0ÇÃð¡ÃÐMÃàzÃ0ÁÃ0åàüÃ0\à  ðŽÃ@Ã@úÃÃ`­ÃöÃÀ ÀëÃPÃ0 à=ÃRÃàÃíÃ0tÃP9À ÃPÃ0ÇÃ`¹ÃÐAÃÀ¯Ãp{ÃÐ_Ãàzà ÃPŒàêÃ&Ã`ZÃ¥ðóÃyÃ.ÃpQÃ"àUÃpoÃjÃÀ&Ã0PÑËÃàžÃ@wÃyÃ@ƒÀœÃÐèÃÐÊÃ`›ÃÀ ÃpøðšÀ%ÃÏÃ@ôÃÀ»ÃÀ,ÃXÃÀ¢ÃÃÃÀ8ÃÛÃP!à[ÃáÃÐYÃPh!ÃàbÃÐYýÃà’ÃP!ÃpìÃöÃÉà )ðóà ŽðˆÃP'ÃÀJÃpiðÀ%ÃPà 5À%ÃÃ÷Ã@ ÃàÃ@‰ÃêÀ~ð”àäà #àäà Ãð•Ã0bà AÃà ÃpÚðÃÀ8ÀœÃÉÃÐÊÃàñÃÃ`$Ã`§Ãð§ÃÉÃ`¹ÃüÃsàüÃ@wðÿßÃ02Ã02Ã0»ðŽÃ0ÁÃpuÃPÃ0©ÃsÃP†Ã4àUÃpuÃÐYÃ`*Ãð•ß!ÃgÃ0ÍÃ0>Ã@úÃgÃ@ÃÐMÃ`6Ã0&ÃàëðvÃ@àðÃ@úÀxÃLð ÃFÃ`*ÃÐAëÃðÃ[Ã¥ÃÐÜÃ0¯ÃÀ&ÃÐÜýðíÃàßà ÃPEÃRÃàhÃ08ÃêÃàåÃ0¯ýÃÛÃpÃpþðvÃð§Ã"ÃàzÃÀÁÃP¶Ãà’àaÃàhÃ0&À%ÃPEÃð<ÀŠÃ@ÃàÃðÃ0PÃànÀŠÃ‘ÃFÃPtÃðÃ0£ÃPžÃÀÃpÂÃÌ Ã ÆÃ`*Ã@îëÃ`§Ãð¡ÃFÃP!ÀÃFàÀÃ`!Ãð‰ÀûëÃ0ÁëÃaÃÀ—ÃLà #ð)ÃÀ2ÃÒÃ@_ÀxÃàt÷Ã0VÃPŒÃP!ðÃ@qðˆÃpòÃ@ÜÃð‰Ã`$ÃPÃpcñðíÃ0¯ÃÀàOÃ0PÃ`ÅÃà÷Ãm÷ÃaÃpÔÃRÃPÃðÃ4À–ÃàëÀÃpàÃpìàÀÃPb"Ãà€ýàðÃà˜ÃÐwÃpÃÀ£ÃоÃÐ/ ÃÀ2Ãð¹ÃXÃ08Ã[Ã0Çðà ð|ëÃ0DÃàýðÿÃ`ÀÃÀ ÃðàIÀÃ:Ã@ÖðóÃ`¿Ã@îà ÃàýÃ:à  àØÀÃ`<ÀÃÃüðÿÃ0DÃÃÃpàÃ(àÀÃ@îÃ`ËÃ¥Ã0ÇÃ`$Ã0>à )Ã0ÇÃyðÃ0µà®!Ã`<ÃàÀûÃÀÃ¥ÃÐGÃpWÃ@îÃàýÃÐAÃÐMÃðÃ`*Ã0VÃ`BÃÐ_ÃP†ÃÏÃ@Ã0VÃÛÃàhð#ÃÀ£àCÃpcÃ@eàØÀÃÀàÞà à ;Ã02àÌÃ0åÃP-Ãà˜ÃàtÃÐÜà[Ã`*àUÃàzÃPªÃÏÃP¶ð¦ÃP¤ÃÀ¯ÃÐMÃàýÃ@kÃÃÃð•à ²ÃP'ÃdÃp‡à šÃP˜Ãð0ÃP˜ÃpòÃ4àsÃ0ÍÃP!ÀÃpWÃÐ_Àñà ²Ã`0à[Ã0>ÃÀ‘ÃÐÜÃüàÌÀxÃpÃð¹ÃpuÃ0>ÃöÃLÃXÃp{ÃPžÃ@úÃð­ÃPžÃàhÃà÷Ã@ÜÃ`<à /ÃP3Ãà[ÃäÃ@âÃ`TÃPŒÃ0DÃp]ÃP'Ã0ëÃsÀxÃÐYÀ–Ã0DÃÏÃÀµÃà˜ðÃð¹Ãð¡ðÿÃð0ÃàÃp? Ãp3"ëÃð§ÃpoÃð*à[ð”ðÃ0JÃÃàØÃ0»ðjÃ`6À~ÃÐ;ðvßðùÃàtà |ÀrÃÀ2ÃpiÃÐèàØàIÃ0µÃÕÃÐ_Ã0PÃÐAÃàbà ÃpiÃÐÐÃÀ‘Ã0µÃ`NÃêÃmÃð›ÀõÃÀÃðÃð•ÀxÃ[ðùÃ[àÌð‚ÃÃÃ@úÃLÀûÃP’Ãðà ¬à /ðšÃÐeà 5ÀõÃ`!Ã`¹ÃÉÃ.Ã`³Ã08ÃP˜ÃpæÃPýÃ@ÖÙà à /Ã0ÁÃpÚà´ Ã`³ð|à /àüÃ@}ÃÐâà ŽÃ@_ÃPŒÃPë Ã@eÃàÃPzÃp]ÃÐSÃÀ Ã0µà ÿÃÀ,ÀÃüÃêÃLÃ@ÃPÃPÃà€ð”ÃÐMÃ`¿Ã0Óà #ÃpWðáÃÀà  ÃP¤Àœýà šÃP˜Ã:Ã`BÃ02ÃPtÀûÃÐAÃ:ÃÐAàäÃ¥ÃaÃPŒðˆÃ`6ðùÃà ÃPªà #ýÃ0,ðŽðÃÀ2ÃÃà ˆðíðÃ`NÃ@ÜÃàßÃÀÃÀÃ0DðdÃ@eÃð­Ã@àmÀxÃàëÃ@eð|Ã.ÃO Ã@G ð ÃàÃÃ0&Ã@MÃ@ÃÐ_ÃP’ÃPÃ@ð¦ÃÐkÃp]ðíÃ`§ÃLÃð$ÀÃ(ÃÀ©Ã¥àÞÃð$Ã0»Ãàñà Ã@_ÃäÃ`¹ÃgÃ0µÃ`$ÃP!ÃyÃð›ÃÐÄÃÐMÃàÒÃ@eÃmÃ0&Ã`*ÀÃyÃÀ‘ÃÒÃpæëÃÐÐÀûÃ4ÃP Ãà€Ãð›ðáÃPb"ÃP ×ÃàÃpÔàaàäÃP’ðíÃ0>Ãðà=Ã0‹#Ãp-#Ã`$à ‚ÃàëÃð§Ãp9!ÃÀ!ÃpcÃÀ£Ã`§à ðvÃ"àCÃÀ‘Ã@ƒÃpøÃÐôÃàŒÀ~ÃÃp? ðóà ”ðÿÃ`<àäÃpæÃpìÃÀ©À¨ÃÐÜÃÏÃ0ÍÃ(Ãð³Ã@wÃÀ,ðjÃÐÊÃð¡ÀõÃÀ2Ãð6ðŽÃüÃÀ,ÃpÔÃÐÖÃP˜ÃFÃàzÃðÃ02Ã`$ÃÀ©ÃàÃà†à /ýðíÃ`$ÃÐSàIðíà7 Ã0DÃÐÐÃP€ð”ÀœÃpàðdÃð‰ÃвÃçÃ`TÃüðŽÙà[Ã0bÃ0hÃà ”À ÃPŒÃð•à ùÃäÃ0»ÃÐ;Àrð|Ã@èÃð*à #Ã0»ÃоÃàbðÿÃÐ_ÃP!Ãp]Ã@_Ã`$ÃÐSÃ0»Ã0»Ãð} Ç!Ãà»$ÃÕàäðíÃ`NÀð ÃPÃð›Ã`­Ã`³àOñÃPð^ ðáÃ¥Ãð§ÃP÷Ã@MÃ0¯ÃðÃ`­Ã`$àO÷àIÃÀ—Ã`§ÃÐÄÃð$ÃÀ£Ã@ÜýÃ@Ã`§Ã`§Ã@MÃ@ÐÃвÃpàà )Ã0,Ã@eÃØà[ÃÀDàmÃÉÀœÃPðŽÃÐSÃsÃð ÃpÎð^ ÃpKÃà†ÃêÃ( ÃP†àyàöàCÃÀ!ÃиÃ0JÃ@YðçÃð*ÃÀ©Ã`*ÃpÚÃ0&à ˆÃ@èÀÃØÃgÃ`6Ã`§ÃäÀà[Ã0ÇÃsÃpìÃLÃÐYÃð‰ÃðƒÃpQÃ0µà #ÃPÃ:àÞÃ@}ÃpÎÃP À ÃPà ”àäÃànÃÀ‘Ã0DÃp]Ã`­à #Ã02÷àÞÃ0µÃ.ÃàßÃgÃ0ÁÃàåÃàzðpÃ`­Ã0JÃ0PÃ"à´ Ã0&ÃPÃ`HÃsÃÐYÃ0µÃÀÃÐMÃ:ÃÀ—ÃpÔàÆÀàÞÃ@ôÃ`0Ã`­ÃÐÊÃànÃðÃðÃP’ÃêÃÐSÃàtÓÃ@ÜÃ`­ÃÐ/ à ÿÃð6Ã4Ã@eÃP!Ã@ÜÃà ‚Ã0¯Ã`6ÃüÃÃð‚à šÃ0Çà ˆðáÃ"àUàÌÃaà ŽÃ0ÁÃ@ÃÐSÃ`§Ã0£Ã@ÐàsðÃÐîÃÃÃêà ¦Ãð0Ãð*ÃÐîÃÐÖÃÐ5à ÃàtÃêà ÃÀ ÃÀ Ã`<ÃðÃÐâàäÃRÃpòÃpÈÃ"ðÕ!Ã@âÃpÔÀ`!Àf à Ã0>ÃpiÃàzÃpÚÃ0"ëà ŽÃpÔÃÐGÃmÃÐÜÃáÃ0ÍðjàÒÃ@MÃ@ôÃÀ£ð ýÃÐÄà Ã0,ÃоÃànÃyÃpàÃÃàñßÃÐÄÃÐÊÃ0JÃpià ¦ÃÐÊÃÀÃ`§À„Ã@ÖÃpÎðÃÀÁÃ`BÃ08Ãð§Ã@âÃ¥Ã0>à ”ÃÀ ÀZ"Ã°Û ÃŸÃpuÃÀ\Ã@ÃsÃÐÜÃöÃÐÄÃð6ýÃ¥Ã0 à ŽÃ0PÃÀ&ÃPh!ÃPŒà Ã`6÷À~ÃPà Ãp? ÃÐ5ÃÐAÙ"à ùÃàëÀûÃðà[à 5ÃöÃ0ÇÃ0DðçÃ0¯ÃP÷ÃÃpÔÃ¥Ã0JÃÀ Ãpààaà #ðçÃÀ ÀõÙàaÃPŒÃ0¯Ãð§ÃÃp{Ã`Åà ÃmÃÃÃàÇ"Ãð Ãð§Ã`³ÃPªð¦Ã@îÃÀµð ÃpòÃ@ÖÃÐÊÃPýÃ@ÖÃàëÃàÃànßÃPzÃ0£Ã@ÃÕÃàñÃPýÃÀ8ÃðÃàñÃÀ—ÀÃÀÇÃ@eÃð›ÃÀ¯Ã0ÓÃÃðHÃðÅÃPŒÃ@îÃ0>àÒÃ0&ÃPñÃ0,ÃÐÜÃð›Ã¥ÃP†ÃЬ ÃÐMÃÐâÃLÀ+Ã0»ÃPtÃ@ôð”à  ÃÐAÃ08Ã`³ëÃyðùÃàñÃÐGÃêÃFÃ`­à |À„Ãð•ÃPÀrÃàÍ!ÃÀ,Ã…ð|ÀðdÃ`0Ã`§Ãð³ÃLÃ02Ã@âñð”Ã@ÖÃÐÐÃ`NÃpKÃpæÃ0ÓÃ@ÜÃÃÃ4ÃÐGÃ0»ð‚Ã`³àÆðvàUðŽÀõÃ0£ÃpÎà v ÃP÷ÃaÃgÃ0µà ¦Ã0PðŽÃðà šÀ„ÃðÃ4ÃÐAÃPñÃp9!Ãðú ÃpKÃ¥ÃÐÐÃÀ‘ÃpÚÃPñðçÃ0¯ÃpÈð^ Ã@/$Ã¥ à šÃ"!Ã.àÆÃð‰ÃÃÀ!ÃI!ÃÐ#Ã`!ÃÀ‹ðçÃÐ;ÃÀÃðq"ðdÃpQÃàÙà¨"ÃðÜ%Ãðô!Ãðô!ÃÀü!Ãà>$Ãà>$ÃÌ ÃÐ;ÃоÀf à+"ÃpÂÃ@SÃ@²#Ù"À×"ÃÀ['Ã"Ã0£ÀõÃ¥ Ã0$Ãc'Ã`$Ãàåðçà à šð^ ÃÀ"Ã7$à1!à !ÀÝ!ÃÀ!à+"ÃиÃpàÃðÕ!Ã$ðÉ#ÀT#ÃpKà ‚Ãp¼ ÃÀy"Ã@¾!ÃP»(ÃO Ãð à !à ÃÐÄÃ0©Ã( à j"ðjÃ@/$Ã=#à ó à¨"ÃвÃpÎÃàëÃÐ;à=ÃÀ ÃàD#Ã°Û ÃPtÃ@ÊÃPÃÀ ú#Ãp¤$ÃÐ%Ãø#Ãð ÓàÀà ŽðÉ#Ãp¶!ÃÀ‹Ã@Mà Ã0$ÃàÁ#à+"ÃPë ÀÝ!ÃÞÃ@ÐÃêÃp? à¨"ÃÀ‘àUà ÃànÃ°Û Ã`• ÃðƒÃàV ÃPn ÃÀ!Ãð‰ÃоÃ`• Ãð‰ÃPh!ÃÀ"Ã@G ÃР"Ã02Ã@_ðÏ"à í!À„Ãp3"ÃpKÃðàÆÃI!ÃÀ!Ã`!à%#ÃЬ Ã"ÃPß"Ãðú ðÏ"ÃР"Ãpª#ÃPzÃ0µÃ@ôàUðvÃÀÃ^ÃÃàaÃàtÃðÃÃð‰ÃPë ÃЬ Ã02ÃàåÃàÓ ÃÐÄà ŽÃPýÃð¡Ãвà ÿÃP†À÷Ãp-#ðÕ!Àf ÃÀ… ÃPÃÀÃ4ÃpEÃàbÃpEÃàÓ Ã$ÃP€Ã`¹ð‚Ã@eÃÃ`!ÃêÃðÃàP!Ãp¶!ÃpEà àÆà ÃÕÃÐGðçÃP€à Ã@ÊÃàV ÀrÃ@_Ã@ÖÃ@¸"ÃÐ%ÃàÇ"ýÃ`¿ðùÃ08ÃàJ"ú#Ã`¡ÃpÎÃ0 à ˆÃÕÃPzà1!ðóÃÀ Ã`¹ÀÃàñà v Ã4ÃÐGÃÐAÃ`• à ó ÃPn ÃpÈÃàtÀ–ÃpæÃÀ,ðˆÃöÃ`³ÃÐÄÃ`• ðÿÃÐGà ‚Ã` ÀxÃÀÃp? àgÃàV Ã0»Ã0DÃоðíà7 ÃðjÀÃ`ËÃÐ_à ‚àIÃàÃ0ßÃÐeÃP˜Ã@_ÃàýÃ"Ã`• ðçÃPñÃЦ!ÃLÃ`BÃð$à ŽÃPŒÃ@âÃP†Ã0ÓÀ–Ã:ðÿÃP’ÃðÃ02à1!ÃÀ… Ã4ÃàÃgÃyÃ@úÃ:ÃÐS÷ÃàP!ÃUÀf à Ã@ÜÃð*ðÿÃ0>Ãð­à ‚à !ÃÐÊÃàhÃ@SÃ@MÃpÎà ”Ã(Ã`¹Ãð›ÃÀàOÃ`§à !Ãð‰à ÃsàaËÃðñÃ"Ã@îÃpcÃÐYÃp]ÃpÈÃвÃÀÃP÷Ã`¡ÃPžÃ`ÅÃÀ»ÃRÃP†ÃànÃ`Tà /àgÃöð‚àÞðùà ”ÃäÃ` à ”Ã0>ðíÃànÃÐYàUÃð­ÃÀÍÃçÃÀ©ÃáÃ0Í÷ÃðÃ( Ã@qðÿÃð¡ÃP˜Ã`¹ÃüÃp‡ÃàŒÃàzÃÃð­ÃLÃÐÜÃÐÐÃà÷à #ÃÐÄÃ`HÃàÃP’Ãð0ÃP°ÃàºÃÀ©Ãð$Ã`­à ²Ã^Ãð$ÀÃ@ðŽÃ0ÓàaÃ4ÃàýÃà’Ã(Ãð} ÙÃàÍ!ÃpìÃ`<Ã0»ÃÐÖÃÐÜÃPÃ@Öð Ã0JÃÐGÃ4Ã@_Ã`¿ÃP Ãð ÃmÃÀ©ÃpàÃP ÃPŒÃ4Ã:ÃàV ÃÃÃÃÃ0»À„ÃÀ£ÃÀ»Ã@ÃиÃp¼ Ã.Ã4ÃÀ,Ãð0ÃÀ8Ãà’Ã( ÃиÃàëÃÐÖÃ08ÃоÃP’ÃÀ©ýÃ@kÃP†ÃиÃ@qÃP€ðùàUÃpæÃðÃ.Ã0¯Ã( à ÀïÃpQðóà |Ã0,àUÃàñÃ4àÌÃànÃàÙÃð‰à àÞÃpuàgàI÷Ãpcà ÃPŒðáÃpÔàØÃ0µÃêÃàÃðàØÃÀ—Ã0ÓàUÃÀÃpàÃRÃpøðÃÀ ÃaÃ0ÍÀà´ Ãð} à ŽÃð§ÃàýÀ~Ãиà ÃP9Ã0»Ã.ÃиÃ08ÃpoÃ^÷Ã08ÃÉñÃÀ‘Ã0&Ã@Yà7 ÃЬ Ã`§à ùÃðð‚ÃÐMÃ"à ”ÃP Ãð¹ÃÛë÷ÃaÃàÃð¡ÃК#À`!à Ã@îà ŽÃ@ÖÃÀ©ÃPtÃð ð‚Ã.ðÿà ùÃ4ÃÐÜñÃPÃ@G à ‚÷Ã`ËÃð$Ãð§Ã0ÇÃàñÃàñÃàÓ Ãð•ÃðÃÐ_ÃÞÃ`$ðjÃðÃpiÃ0&ÃÐGÃÕÀÃð$ÃXÃpøà ðçðvÃ@ÖÃC"ÃÀ!ðpÃ^Ãð­ÃmÃ`§Ãð ÃðÃP-àaÃRà à #ÃàÀ„Ã`­ðóÃ.ðÃ0¯ÃànÃÞÃÐÐà ²Ã@MðíÃp{Ã@úÃàŒÃPÃÐAàØðÿÃÀ&Ã`BÃð³Ã.Ã0>Ãäà #Ã@ƒÃоÃÃð›ÃðšÃ`BÃ:ÃP’ÃÐÜÃöÃàëÃðà ¦Ã…ÃÃpìàÒà ÷ÀŠðÃàÃ0ÇÃàzÃÐSÃ`¹Ã:ÃpcÃP†Ãp{Ã`TÃÀ—Ã0 ÃðÃ0\÷Ã ÃØÃàëÃ`¿àaÃàtÃP ÃpKÃpKÃ0DÃsðíàÞÀõÃ0ÓÃÐYðˆÃ`NÃð­àCÃиÃ@wÃÀ2ÃÐ_àðÃÐ_ÃÐMÃ`$ñÀŠÃÐYÃÉð|ÃyðÃ@wÃRÃð­ÃpàÃpoÃð­ÃÏÃXÃð­Ã@îÃ0ÙÃ0JÃ0DýÃ@‰ÃÐôà šÃÃ``ÃðÅÀ®À+ÃàªÃÃ0ÁÃÃð‚àêàUÃÀ>Ã@ôðÿà /ÃÐSÃàzÃpìÃàžÃÐeÃpcÃ0¯Ã0\ÃÛð¦Ã0PÃ@îÃàýÃ`¿ðŽÃ`6Ã`ËÃÀDÃP-ÀÃpoÃð­ÃpÚÃà÷ÃÃÃÀßÃÀÍÃpuÃÐÖÃ`<àäð Ã0ÇÃðÃpàÃàÃ@ àaÀ–àyàäàað Ãð¿ýÃpKÃð¡à ²Ãð0Àf ÃpÔÃÐîÀ¢ÃÉÃ`TÃÀ»ÃÀµÃXÃP!ÃÐkÃÀ2ÃÀ&Ã08ÃÀ… Ã08à ”÷ÃpÔÃpcðàyðà ”ðŽÃÀ£ÃàÙÃpWàöðÃ0ÍÃPªà à #à ÃpEà[ÀºðˆÃ`6ÃXÃàŒÃðÃàÓ Ã«ðˆÃð¹ÃÐ_ÀÃaÃ0&Ã:ñÃpàð‚Ã@kÃà€ÃPàCÃ°Û Ã |Ã0VÃP-ÃÕÃ@­à 5Ã0JðçÃ`¹Ãà†ýÃPÃ0>ÃÐèð‚ÃàýðÿÃàýÃàŒÃàýÃ`³Ã0,ÃÐAÃð*ÃÐÐÃpuÃpæÃp]ÃpiÃð0ÀÃÐYÃ@ôÃFÃ0V÷Ãà€ÃpoÃ@èà  ÃpòÃ`6ÃÀÃÐSÃð*Ã`¿àgñÃ0DÃüÃöà ŽÃÀÃ`§ÃðÃäÃð*Ã08ÃÆ!Àéà ‚ÃpiÃpÚÃ`³ÃPÃàÃÛÃêÃàŒÃ`<ÃÐâÃ.àÞÃÀÃ@ÖÃ@èÃPÃðÃ02Ãà÷ÃpiÃàzýÃ0DÃÀ,à[ÃÀJðà ¦ÃpìÃP†àØà /ðŽðÃpQýÃà’ÃpòÃÐÄÃöÃÀ,ÃðÃðÃ@ÖÃ@âÃÀÀrÃÀü!àÆÃpÎÃ"ðjàUÃ`¿Ã0µÃðà[÷ðpð à Ãà˜Ã`<Ã"ÃP†Ã`³ÃÕÃ@eðóÀŠÃÐÜÀxàUÃÀ Ã`§Ãà÷ÃÛÃ0ÙÃð§ðÿÃP-ÃP¤ðÃÀ,Ãð‰ÃÐÜàÒÀ~ÃPzÃ"Ã`³à ²ÃÃ4ðí÷ðëðjÃ"!ÃÀ—ÀœÃ@kðpÃ`0Ã:ÃðÃànÃÐGÃÃð‰ðvàCÃ`¿àUýÃpQðpÃ02Ã0&ÃsÃpWÃ0Và /Ãð§ÃP˜ÃP’ñÃÐSÃÐÊÃRð Ãð­ëÃð<Ãð0ÃÞÃP ÃLÃRÃÀ8ÃàÃpæÃÃ`HÃÐÖÃmÀÃÐkÃXÃ`<Ã`6ÃоÃpcÃ`BÃ0PÃ@‰Ã@èÃ0»Ãð•à  ÃÐèÃ0PÃ0µÃ`¡à[À¨Ãp ÃÐqÃàñÃÐâÃ@Ã@}ðÿÃðÃ@èÃ4ÃÀµàmÃP°Ã^ÀÃ@à ¬ÃLÃÐYÃàÃ`ËàaÃðàÒð ÃÀ©ÃÐèÃPtÀrÃðÃ@èÃÐÖÃ`³Ãð*ððšÃÀµà ˆÃ(ÃàñÃà'À¢ÃÉÃà˜Ã@ôÃÉ÷ÃÐwÃpÃXÃàñÃ0PýðÃöëÃP˜Ãð0Ã@ƒÃ`ÝÃ0\ÃðÃàtÃ@‰ÃRÀÃ02Ã@qðÃàßðùÃ0µÃpÎÃð6ð)ÃpuÃ0VÀûàÌÃÀ©ÃàgÃ`NÃ0åÃ@à )ÃàëðÃ`ÅÃ0Çà )Ã0JÃÐâðšÃÐèÃÀðíÃpàÃêÃð*ÃP†ÃÐSÃ`<÷ÃP!Ã0åÃ0PÀœÃÐqÃRÃP!ÃÐYÃà€Ã`6Ã4ß!ÃP†ýÃà\ÃP†ðjÃPÃ@èÃÐ;à šÃRÃPà ˆà  Ã:ÃP†ÓÃ@}à 5à ˆðjÃ0»ÃXÃmà ÃPÃ`0ðvàÃ0Íð|Ã0»à )Ãð0ÀxðˆÃÐÄÃÉÃ`ÅÃP!ÃÐAÃ4Ã@YÃ¥Ã@Üð àsÃÀDÃÀÀÃàtÃ@qÃ4àUÀÃð Ã(Ã`HðŽÃ`ÑÃÀ©Ã`*ÃàzÃ@ôëà !ðˆÃà’à[ÀrÃPŒÃLÃ0ÇÃ`6Ãð$Ã0PÃ0hðdð^ ðÃÃÃÐMÃP ÃPŒÃPñÃ@_ÃÀµÃ0DÃàtàäð|ÃÐGÃÀ&ÃêÃäÃàßÃyÃüÃðà ”ÃÞðpÃÐÖÃÉÃÃàêÀ Ã`¹Ã`*ÃPÙÃ(Ã`<ðŽÃÀ¯àÌÃpoÃ@îÃÀ ÃÐÖÃ(à[ÃÐèÃÀ2ðˆÀ„Ãð‰ÃmàÞðvÃgÃ0ÍÃàñà ˆÃ:Ã:à[ýÃpKÃÐÄà ÃÐGÃà\ÃðÀÃÀ—Ã.Àà 5Ã@îÃÐÐÃð Ã"!Ã`Bà AÃpoÃÀ—ÃðÃÀ©Ãàßà ÿÃPÃ@ÖÃ@_ÃPŒÃüàOÃàÙðvÃÃ@âÃàÍ!ÃØÃÐAÃPŒÃ@Sðjð|Ã`§Ãð¡ÃöÃÐÐÃp]ÃÐ_ÃpÔÃ0>ÃàëÃÀ—Ã0,ÓÃÀg%ÃpQà Ã0DÃP¼ÃFÃPŒÃÀÃÀ&ÃàðŽÃà€ÃÐ;ÃP’ÃP˜Ã`$Ã[ÃÀ£ÃÃà†Ã0 ÃиàÀ÷ÃyÃàbÃÐMÃ0£ðíàmÃmÃPÃäÃÐÊÀÃ@âÃ@eÃ@úÃ0ÙÃà÷ÃÀ©ÃpKÃ`Ã`0Ã:ÑÃpÔÃð$ðˆðÀ–à Ã0PÃÐÄÃиÃð*Ã0,Ãð§Ãð§ÃP Ã`6ÃêðáÃ0¯ð‚ÀÃXÃ`ÅÃàñà ÃðÑÃ…ÃP Ã…ÃàÃ`TÃFàØÃp]ÃáÃð¿÷ÃðÃÐÄÃ@Ã"Ã@qà ðùñÃ@îÃsÃàÃð6ÃP!à ¬Ãð*ðÃÀ©ÃàåÃð‚à ²ÃÐSÃ0ÁÃ`Zð Ãð<ÃÐGÃ@ðÃàUà ÃpWÃ@ÃP÷ÃÃÃP’à ¬Ãð<Ã`éÀ%à )ÃàzÃP ÃÐâÃ0ÍÃ@wÃ"Ã0µÃ`HÃÃpuÃà ÃpøÃÃÃð¹ÃÀ>ÃÃ@wÃ`BÀ%ÀðÃÐMÀÃàzÃÉÃ@Ã`TÀœÃð›ðšÃð¿ÃÐGÃ@âÃðÀõÃð*ÃÐâÀ ÃÃðÃpìàIÀõðùÃ08Ã`$Ã@ÃÏÃÀDÃ.Ã"ÃsÃ0JÃP ÃÐkÃRðóÃ`*ÃÀ£ÀÃp{ÃÕð‚Ã@âÃ@ƒÀ®ð÷ÃLÀûÃ0ÓÃ0ÙÃ0ÓÑÀ„ÃpÔà ÃÐYðÃàŒ÷ÃP!ñÀÃàzÀûÃàtàgÃð­Ãà÷Ã^Ãàtðpà Ã`0Ã`<Ã0ÁÃ(ÃêÃ@âÃðÃÉÃ` ÃPŒÃP!ÃÃÃ0‘"Ã`$ÃÀ&ýÃðjÃêÃPn ðpÃ"Ã@îÃ…Ã0ßÃRÀëÃyÃ:ÃÐMñà  ðjÃð•ðpÃ`BÃ@qð|àÒÃ@e÷Ã@èÃ`¡à ŽÃ0>ÃP’ÃÐÄðX!ÃPzÃà€Ã`0ÃÐYÃyðˆÃð›Ã`0Ã`¡à=Ã0¯ÃPzÃð­ÃÀJÃ`ÑÃ@wÃ`³Ãpàð”À„Ã`§Ãp? Ãð Ã`¹ÃÀ!Ã`$à ŽàºÃÐMà ²ÃÃðÃÐ#"Ã@Ä ÃLÃÐÖð‚ÃÀÃÃ`0ÀŠà[Ã0JÃÀ¯ÃÉÃÀ ÷ÃPÃO ÃpKÀéÃ@#&Ã0—!à Ã`6àCÃàhÃð•ëÃðßÙ"ÃPñÃÀ©ÃàßÃàzÃ¥Ã0"Ã`³À„Ãð$ÃöÃàåàÆÀïýÃpÔÃ0>ÃÐYÃpàÃÀ£ÃÉàÌÃ`*Ã`ÃÀ ÃP¤Ã@SÃð} Ã@âÃP€Ãðw!ßÃð›ÃàßÃðú àØÃàzÃ"Ã0"ñ÷ÃØÀxðáðjÃ`¹Ã`›Ã"ÃÀ‘ðvÃPÃP€À–àØðÃàbÃpÈÃàëðíÀ Ã@eÃ0,ðvÃÐGÃ@èÃÐYÃ@eñà ÃP Ã0ÁÃsÃàP!ÃðÃð*ÃÀÃPh!Ã0 ÃðÃÕÃP'Ãð•ÃpiÃpÚÃp]àØðjÀÃàëðÃ.àUÃaÃpÎÃpàÃáàUðvÃ0ÁÃPß"Ã0»Ã`<Ã@A!Ãp? Ã0 Ã0>à  ðÿÃà Ãà†Ã0ÁÃÀ Ã0¯ÃÀ—ÃPýÃpÎÃ0ÁÃ(ÃÐ/ Ã"Ã0ÁÃ@ÃP!ÃÕÃ0>ÀûÃPžÃÐÖÃP’ÃÐÄÃððÃ`BÃpÚÃ`NÃpoðˆÃÐ_ÃÏðÃP’ÃpWÃ@wÃ:àäàäÃmÃ@èàäÃð•à 5ÀœÃ@kÃÀ©ÃÐYÃà ÃÕÃP˜ÃPÃðÃÀ ÀÃð0ÃRÃpæðà ²Ã0ÍÃ0ÇÃÀ»Ã`<àÞÃ@kÃgßÃànÃPÃ¥Ãð¡ÃÐÜàÒÃð³À ÃÐ_ÃsÃpæÃàÃðÀŠÃpìÃ`¹ÀÃ08ÀÃpcÃpòÃáÀ„ÃLÃpàÃ^ðÃPÀ+àäÃ@ÊÃP'Ã`ÝÃ@À1Ã0ÙÃð¡ÃRðà ;àgÃöÀ à Ãsà  Ã0\à ¸Ãð6Ãð¹ÃpiÃ@SÃÀ8Ã0Íð‚Ã`¿à šà[ÃÀ©ðÃàÃ`<ÃP-ÃðËÃ@qðóðpÃ`ÑÃyÃ0>ÃüÃ`BÃÀ,Ã…ÃÃàÃÀ¨ÃÀßð à Ã@îÃ`HÃÐwàöÃ0JÃRÃ0ÇÃ0ÇÃ@kÃÐAÀûÃðÅÃÀ»ÀŠÃÃà÷Ã0>ÃÐ_Ã^ÃÐMàIÃàßÃÐÜÃ`ÝÃÀ2Ã`0ÀÃÀ¯ðÿð”ÃàÒÃ`ËðšßÃàßÃ.ÃÐÊÃ0ÇÃÐÐà ¦ÃÀDÃ0nÃPÂÃÐèÃ0ÓàUðùÃöÀ¢à ¬ñÃ¥ÃPÃÀ8Ãð›àðÃP!Ã@à ;ð”ÃäÃ.Ã4Ã@èà šÃgÃ@kÃ@Ãð§ÃÉàØÃpÎàØÃ.à )ÀÃÀ,ÃÐÊÀ–Ã0JÃÐÐÃ0ÁÃpKÃLÃ@_à j"Ã@¾!Ãp]ÃPÃp¶!Ãðú ÃÐ#"ÃЬ À`!ÃЦ!ÃPP%ðÉ#Ãp(À¡+Ã`e(à ^$ÀÅ%à Ã(à)Ãì%ÃPë Ã0a*À6(Ã9.à 1Ãð¬-ÃÔ-ð‡.àï+ÃE,Ã](Ã`Ö*Ã0Æ.àã-Ãì)à×/ÃP‹0Ã@ó-Ã0=0ð«(Ã@š'Ãà,Ã`S+Ã@ç/Ãð;+ð/Ã~-à 1Ã@^1Ãð /àT0Ãû-Ãpë-ðø0ÃÐX.ÃÀ7-ÃÀ%0Ã@X2Ã`¬1Ãð0À•-Ã0ð'Ãà*Ã@í.Àk4Ã@X2Ã@d0Ã`50Ãpå.Ã@j/ÃÐÕ.Ã0Ò,ÃÝ2Ãã1ÃÀ1Ã@p.Ã0O-Ã`¦2à 0Ãû-Ã3/àË1ÃpÙ0àÝ.ÃÈ/Ãðˆ3àT0ÃpP2ÃpÙ0à Ÿ.ÃpV1ÃZ3Ã`²0Ã,ê0ÃÅ6ü1Ãï/ÃÀœ1Ã`A.À.ÃÐR/Ãpn-À,à×/à 1Ã`G-Ã9.àZ/Ã@d0ÃÂ,Ãà…-ÃÂ0ð{0ÃÐL0À}1àl,Ãp†)ð-àã-ÃÐ^-ÃÐó)Ã@ÿ+ÃÀC+ð“,ÃpÓ1Ã@v-ÃP2*Ãà*Ã0%4ÃÐ¥6à`.Ãà )à Ã(à~)Ã0U,À­)Ã&Ãp€*à +Ã@ *Ö)Ãà)Ãà…-ð/Ã@‚+ðŸ*Ã0Ò,ÃÐÕ.Ãà—*Ã@ó-Àƒ0à~)ð™+ð/à ±+à ™/Ã`/1Ã0ð'Ãà'ÃÐí*Ã`;/ð.(Ã@(à Ã(ÃQ.ÃK+ð .Ãð/-Ã`Ö*ÃP2*Ãu(Ãà,ÃE,ÃÐó)ÃP -àr+Ã@ó-ÃðA*ÃP£,Ãð²,Ãpý*ÃÐj+Ã`A.ð“,Ã@+ð-Ã0U,Ãð²,ð,Ãàm1Ã?-Ãà+ÃÈ+ÃÀ=,ÃðÐ'ð()Ãï/ð+ÃPµ)Ã~-ÃÔ)Ãð¸+Ã`Ä-à~)Ã@”(Ã,Ã`S+ÃQ*Ö)ÃÐÿ'Ãð¾*àõ*Ã)À0)ÃÀ%0ÃÚ(Ã`e(Ãp€*À›,Ãàm1Ãð¸+Ãì)ÃÐp*ÃÀa&À6(Ãà‘+Ão)Ã0ð'Ã0O-ÃP,+ÃP&,Ãp\0Ã`50Ã@Ž)à(Ã@ *ð+ÃP2*à 4+ÃÎ*àû)Ãð²,ÃÐd,Ã@'ÃÀº,Ã@ó-àf-ÃÂ,à Ÿ.ÃÀU(ÃÀØ'à Ã(ÃK+Ãpz+ÃÀI*ÃÐ|(Ã0y&Ãð/-ð‡.Ã*àr+ðŸ*àx*Ãi*ÃÀU(Ãà‹,Ã-Ã%'Ãp'$ÃPÙ#Ãà8%à&Ãpz+Ã,ð,Ã9.ð“,àû)Ã0Æ.Ã`Ü)ÃPß"à 'À0)à~)ÃÔ-Ãð¬-À,Ãph.ÃðG)à Ï&Ã@'Ã`M,À.ð±'ÃÀÞ&Ã@(àï+Ã`è'Ã*Ãà&(Ãð;+Ãð¸+À§*ÃÐd,à 4+ÃÐó)Ãi*à F(ðŸ*Ã-Ã`Y*ÃÐÛ-àx*Ã0ä)Ãp'ÃÐ%Ãà>$Ãì)ÃÂ,Ãà‹,Ãð¾*Ã)Ãð5,À‰/À,à ¥-ÃÐv)ÃðÄ)ÃÀI*à É'Ãp€*Ö)ð.(Ãð;+ÃÀ['à í!Ã@'Ã0[+Ãì)Ãì)à ½)à ±+ÃP,+Ã@+Ã0g)Ãp’'Ã`}$ÃД$Ã0a*Ãð¾*ÃPD'Ãà&(Ãð¾*Ã@ˆ*ÃQ*À<'ÃC"ÃÀÞ&Ãæ*Ãà&(ðŸ*ÃQ*à «,ÃP¯*Ãp˜&à L'Ç%Ã*Ãàü.Ãð¾*Ã@ÿ+Ãà)Ã&ÃÐÿ'ÃP»(Ãà2&à :*Ãà+ð:&Ã0y&ÃP»(À6(ÃðÊ(Ã`â(ÃPP%ÃД$à 'Ã0y&À<'ðþ/àÑ0Ã`Ü)ÃÐí*àé,Ã`Ê,Ã`2ÃPµ)Ão%Ã@¦%Ã0"Ãp˜&â'àŠ'Ãp€*ÃW)Ã`e(Ãì%ÃÀê$Ãp¤$Ãì%Ãà©'À§*Ãà )À¿&ÃÐÿ'ÃàÇ"à&Ã@ &ð()Ö)Ãp˜&Ã`Y*ð+ÃPµ)Ã`w%ÀÑ#à%ÃÀØ'à„(Ã@)à ½)Ãu(Ê+Ã`k'ÃÀä%Ãþ&Ã{'ÃP»(Ãà)à @)Ä,Ã`k'Ã0m(ÃpŒ(ÃPÇ&ð+ÃÐ'ÃðS'Ãpž%Ãp¤$ÃÀÞ&À¿&ÃÀÌ)Ã`î&Ãp€*ÃPÁ'Ãc'ÃÚ(Ã`î&à X%à ½)Ã0U,ÃЈ&Ãà,'ðÃ$Ã0ü%ðÃ$ÃPÁ'ÃÔ)ÃÚ(Ã@ &à(ð«(Ã0‹#Ã`ƒ#Ã`â(Ã{'ÃÀO)ð.(ÃPÇ&Ã@/$Ã0s'ÃP>(Ã0%ÃÐù(À6(ú#ÀT#Ã@)%ÃðÐ'ÃðÜ%Ã@¾!ð½%Ã@(ÃÐp*ð·&ú#à(à 'Ã0%à¨"ÃàD#Ã`!à Û$Ã0%Ã"ÃÐ$ÃÐ$Ãàµ%Ãþ"ÃЈ&ÃðÖ&ÃÐ%Ãðw!à–%Ã@ &ÃPÍ%Ã0y&ð«(ð«(Ã0%Ù"Ãðè#ðÃ$à¢#Ãp'$Ã{#à 'Ãà&(à(à á#à ç"Ç%Ãp¤$Ã`w%à$Ã0‘"Ã0‘"à7 ÃиÃЬ ðR"à X%ÃÐŽ%à É'ÃðÜ%Ù"Ãp°"ÃàÍ!Ã0"Àã Ãð Ãàµ%ÃðM(ÃðÖ&à !ÃðY&Ãà©'Ãpª#Ã@”(ð½%ÃPë ðÉ#à à ó Ã0‹#Ã0#Ã0…$ÃPÓ$ÃЬ ÃвÃàÍ!ðR"ÃÐŽ%Ã`‰"ÃànÃвÃPh!ÃàÁ#Ã`â(à R&Ã`!à 'Ãð¾*Ãþ&Ã@²#ÃÀ‹Ã"Ã0y&Ã0$Ã`ú$à á#Ã@/$Ã&Ãp-#ÃðS'Ã{'Ã0—!à ÃUà+"ÃPå!ÃàÙÃp3"ÃPh!Ãp'$à F(ÀZ"Ã$à L'ÃPJ&ÃÐ#"ÃàJ"Ã1%Ã&ðR"ÃÐ/ Ã@/$ÃÀg%Ãà¯&Ã`ô%à„(àr+Ãpª#àœ$à ç"Ã@ÐÀûÃpÎÃ0"ÃPb"ÀÑ#ÃÐ$ÃpEÃpÔÃÀy"ÃPtðíÃÃ` ÃàD#Ã@)%à ùÃàßÃÐ#"ÃðÜ%Ã"÷ÃÀ‘Ã@A!Ã@¸"À`!ÀT#Ã$ÃÀ… Ã.Ã0£ÃpKÃpÔÃ4à j"à R&ÃPJ&Ã0©àÆÃ`$Ãð§ÃPŒðáÃД$Ã@¸"ÃàV ÃÐ5Ã`Ã0&ÃUðíà ÃÀ‹ÃPÃpcÃàJ"à !ÃàÓ Ãð} ðvÃÃàD#ÃÀð#ÃO Ãp? Ã0 Ã@Ðà Ã02à ÃÀ… à d#ÀT#Ã`$ÃÐAÃ{#ðpà&ÃÀö"ÃpEÃ`!à ç"à !ÃP÷ÃPn à v Ãà8%Ãà8%ÃÀ!Ãp9!Ãp¼ à j"ÃàV ð|Ã` Ã@Ðà !Ã0 Ãà\ðçÃÐGÃ"Ã@A!ëÃÌ ÃpÈÃ4à ùÃвÃðe$ÃPß"Ã"Ã"Ã@²#ðL#Ã@MÃÀ2ÀûÃPýà ùÃ0&ðX!ÃÀä%à7 ÃØÃÐ/ ÃàJ"ÃÐ5Ãp9!Ã0»Ã`<ÃÐ5ðÏ"Ãðú Ã( à7 à ó Ó#à v àÆÃàJ"Ã0ö&à á#Àéà ˆÃ0 ðX!ÃÀ… Ã°Û ÃI!à=ÃàP!Ã0—!Ã@5#Ã`$àºÃÐ)!ÃÀä%ÃÐ#"Ã@Ä Ã™"Ãp¼ ÃÀÃÀ… Ãðî"ðL#Ã`!à¢#Ãðƒà ŽÃÃ0£Ã@ÊÃ@ÊÃÐ5Ãðú ÃpÈÃpQà=ÃàÓ Ã d#ÃÀü!ÃвÃÐ)!à®!ÃÐ5à Ç!ÀlÃ`#à ó ß!ÃêÃð} à ç"ÃP˜ÃÐÄÃÃðˆÃàñÃ@²#Ãðî"à à !ÃpÂÃp°"ÀÝ!ÀéÃ( Ãðƒà šÃÐMà ÃP÷ÃÞÀrÃðw!ÃЬ Ù"Ã"à v ÃêÀ~Ã``ÃP˜Ã%'ÀïÃð§ÃÀ—ÀrÃÐ;ÃàßÃвÃ0#ÃPë Ã`§ÀÃÀy"ð^ à ÀÝ!ðdýÃàbÙÃÒðdÃpÎà1!Ã¥ à ç"ðÏ"ÀÝ!ÃPb"ÃàÁ#Ã@¬$ÃÀê$ÃPb"à ”ÃànðÿÃÞÃ( à ùÃà÷ÃPÀûÃ0#ÃPtÃ0£ÀlÃÀy"Ã"!ÃÀ,ÃàÙà ‚Ãð¡Ãàhà ‚ÃP Ãð•Ãðè#ÃÐ5Ã¥ÃPýÃPn Ã°Û Ã0&àUÃ`³àCÃpÂðX!à ÿðpÃ@ÖÃPñÃ@ÖÃpæÃ`­ÃÐ;Ã0©Ã0%Ã`­ÃÕÃpÚÃ`ÑÃ`ËÃ4ÃànÃÀà v ÃðƒÃð•ÃÀà ˆÃ08Ã`*Ù"ÃàhÀf ÀÃ08ÃPÃpÎðdÃ0JÓÀlß!Ã4ÃÐâð|ÃðdÃ(ÃÐÄÃ0!Ã`• àÆàÆà Ãà\Ãð•àÆÃвÃðô!ÃÀü!ßÃ@YÃ0Óà ŽÃpKàØÃ@qðpà ÿÃÀ Ã0µÃàåðùýÙÃ"ÃàëÃàzÃànÃÐ5Ã( ÃÀ‘Ãð•Ã0¯ðùÃ`0ßà |ÃÐÄÃÀ àÌà àÒÃð¡ÃPÃÞÃÀÃ0JÃàzÃpÔÃgàaÃ@YÃÐMàºÀ„Ã`¹ÃUÃànà ðáÃpÚÃ0DÃPŒÃ@ÃàßÃRàêÃÀ2ÃÀ£ÃÐÄÃPë Ã@G ÃLðáÃÀ—ðíÃÐÊðùÃFà ¦ÃgÃànÃÐAÃ0ÍÃ4à ŽÃÃÃà†ð‚ÃPñÃPzÃPb"Ãà\ÃиÃÞÃ@_Ã@G Ã:ÃðÀlÃP÷ÃPå!à !ÃpKÃð•ýà j"ÃÀ£Ã0Jë÷Ã@ÖÃðÃð ðàêÃ@Mà ÃP†ÃоÃ`$ÃØß!ÃàhÃð¿ÃÕÃ`6ÃðÃ@ôßÃÐAðpÃÀµÃp]àºÃ"ÃðÃàD#Ã0©àÆà7 Ãà\ÃÀ‹Ã0>Ã4ÃàåÃ0ÁñÃRÃ@ÜÀf ÃÀŠÃàÃLÃØÃ[ÃàhðvÃÐÜà ÃpÂÃàV ðçÃ`¿à[ÃÀÃ02ÃàñàÒÃFà ˆÃ0©ÃоÃ`§ÃàhÃ`¡ÃPýÃàÃð¡Ãðà à |à ‚ÃpòÃaÃP€à=Ã.Ã0¯Ã`³àOÃ@SÃÀ!ëÃ`Ã`$ÃUÃpEÃàëÃðÃ"ÃàbÃ02ÃPžÃpÔðÿÀŠÃÃ( Ã` "ÃÐ#"à ŽÃÐ#"à v Ã`*à šÃmÃØÃÐ#"Ãðô!Ã@A!ÃàëÃpKÃ@ÐÃàëÃ0—!ÃÀà !à~)à R&Ã0,ÃpÎÃÐSà[àÞÃÀ à ˆÃЬ Ã`!à1!Ã.ÃÐGÃPñÃ`*ÃÐ;ÃUà+"Ã0 ðjà |Ãp¼ ÃÐ/ Ã@ÊÃð‰Ã0,à !Ã°Û Ãà»$à ùÃUÃ0¯Ã°Û à ÃàbÃÐ)!ÃPzÃÀÀlð^ Ãp? ðçÃÀÃиÃPýÃPÃP€ÃÃ"!ðR"ðX!Ãpª#Ã0#Ã@SÃðÃpKÃÀÃ@ÜÃ:Ãà\ÃàÇ"Ã( Ã0 ÓÃ0£Ã@Ä Ã°ùÃyÃ0µÃð‰ÃPh!ð±'ÃàV à šÃsÃ` Ã"ÀràCàÀÃ`‰"Ã`#àÌÃ0ÁÃPýà ùÃø#à=Ã0!à7 Ã@;"ðíÀÃ`¡Ã`›ÃÐ;ÃP’ÃmÃÃðpÃPh!Ã`‰"à ÿðjëÃ@A!Ãð ÃðÃ`0ÃpÎð^ à v Ã0 à Ãð§ÃÀ!à |ÃиÃ`‰"Ã0&÷ÃpcÃÆ!à ç"Ã0©Ãp'$à Õ%Ã0ð'ðF$Ãð ðpÃ"Ã"Ã`ƒ#ÃЬ ÃàÁ#Ã`}$Ãp!%ÃC"Ãðî"Ãà8%Ãp!%à+"ÃвÃàbÃ`¡Ã{#Ãðî"à ÃàëÃ@Êà À×"à$Ã@¾!Ã@ÐÃ"Ãðî"ÃÐ$ðíÃ@/$ÀË$Ãþ"àœ$Ãpž%ÃÀy"Ãþ"Ã@)%Ç%Ã`$Ã¥ à7 ÃPë ÃÀ ðR"ðdÃC"ÃPV$ðX!ÃÀ&À„ðL#Ã0#Ã#à+"ÃÐ;Ã@¬$Ã1%ðÃ$Ã4ÃÐÖñà |Ã¥ à¢#à à ùà+"à Ãðk#Ã"ÃàD#ðR"ÃÀü!à Žð^ ÃÀÃК#à ˆàCÃ`!Ã@A!ÃðƒÃ@;"Ãø#ÃP\#ðjÃðà |Ãp-#à ùÃ0—!ÃPñÀÑ#Ã@²#Ã0¯Ã@SÃP\#Ãp3"ÃвÃ@Sà1!Ã0¯ÃÐ;Ãpž%ÀÑ#Ãà\ÃÀ&Ã@_ÃÀàÞÃ`<Ãà\Ã¥ ÃPñÃÀ ÀÃ`­ÃÐ)!Ã0£ÃPå!Ã@ÊÃUÀã ÃPh!à=ÀûÃPÃвÃ@;"ÃUÃ@ÖÃÀ‘Ã¥à Ã@Ä Ã`ú$à ÃpÂÃÐ)!ÃP Ã@à  ÃÀ—àÌÃÀü!Ã`Ã@Öð|ðáÃðú Ã`¡Ã@_ÃÀ©àIàØÃÐÄÃpKÃ02Ã(ÃÒÃ@¾!ÃÀ‘ÃpEÃPÃàåÃ@YÃ`Ã`w%ÃPzÃ`­Ãð‰Ã@Mà ˆðvÃpÈÃpQÃÐÊÃ4ÃððÿÃÀÃÃÃÀ©ÃðàºÃð$Ã`*Ã4ÃÃPñÃp¼ ðÿð|àIÃ0,Ã0!ÃàëÃànÃð•Ã`­ð^ Ã`• ñÃLÃðî"ÀÝ!ÃðÀrÃPÃ0,ðçÃ02ÃP€ðˆÃpWÀûÃ`*ÃðÃЬ à¨"àIà ÿÃ`HÃpæÃÀ£ÃоÀõÃPtà+"àIñÃp¼ ÃPå!ÃàÙÃð‰ÃàÍ!ÃPn ëÀã Ãà\ÃàÙÃPŒÃ`§Ã0,ÃpKÃPtÃ@Ä Ã:ÃP àœ$à$ÃpÎÃP†ÃP†Ã.ÃPñÃðú ÃÀ… à  ð^ ÃÐ$Ã"Ã@ÖÃ`³Ã@Ã.ÃàbàÀÀ~à7 ÀZ"à¢#ÃàÍ!à |Ã`$Ãp9!Ã0 Ãp¼ Ãø#ÃP€Ãð} à !ß!à í!ÃÐ)!Ã@ÐÃ`›Ã`$ÃÀ!ÃÀ!ÀN$ðdÃO Ã¥ÃPñÃPzÃР"à ðŽà=ÃPtÃPzÃ(ðX!ÃPÓ$Ãàµ%Ã@;"ÃàëÃÐ$ÃO ÃPŒÃÀÃ0%À<'ú#Ã@G Ãðq"Ãðô!Ã@Ä Ã™à ÀxÃàåÃàÁ#Ã"ñÃöÃpÚàCà ÃPtÇ!ÃpÎðpÃ` "Ã`$Ã`6Ã[Ç!Ã@YÃp? Ã(Ã( Ã#Ã@ &ú#ÀN$ÃР"ÃÐÄà´ ðáÃиàÀÃàÓ Ã v Ã0—!ÃÀÃP†Ã` Ã@_ÃÀ©Ãð›Ãð‰ðíÃоÃ08àUÀÃà\ÃÌ Ã@MÃàhÃ@èÃ@YÃÃвÀÃð•ÃPð”ðvÃ`³Ãà÷ðçÃC"à v ÃÀ‘Ãðú Ãp¼ Ã@Ä ÃàåÃÐAÃp]Ã4ðdÃ"ÃàÍ!àÀÃÞà ‚ÃpÎÃÐ/ ÃàÍ!Ã`§Ã@âàØÃð¡ðŽÃ@îÃД$Ãp!%à1!ðùÃ( ÀÑ#ÃÐ5à=Ãð} ðR"à í!à ÿÃPë ÃPtÃ0…$Ãà8%ÃиÀrÃ`³ðjÃø#Ã"ÃPýßÃÌ Ã€xÃFÀûÃ"!ÃоÃPtÃ`‰"ÃPñÃ@¾!Ã0,Àf ÃÀ"ÃàJ"Ã[ÃPýðjÀxÃ@ÜÃpÈàUÃLðR"Ã+&Ã`ýÃÀÃUà=ÃðÃPŒÃàßà í!Ã`›ÃäÃ"ÃànÃ@âÃpàÃàñàØÃ`!Ãðk#ÀéÃÀü!ðdðáÃ0£Ã@Ð÷Ã@îà ÃPýÃвà ç"ßà´ Àl÷ÃÀ ÃàÙÃÀü!ÃÀ… ÃàñÃ@ôðpÃUÀõëÀ~ÃÐ/ Ã@ÐÃ0&Ã@ÐÃÀ!à=ÃP€ÃÀ!Ãðú à7 Ã@¸"à+"Ã#À**ÃðÜ%Ãp'$ÃЈ&â'Ãà )À0)ÃP¯*Ãp(è&Ã@¸"Ã`!Ão)Ãðâ$ÃÀê$ÃЈ&Ü(à~)À¿&ÃÀÞ&àœ$Ã`ô%ðÃ$ÃðY&ÃÀ['à%ÃðG)ÃÐp*Ãà&(ÃÐ'à&Ü(Ãà,Ãp€*Ãì%Ã0y&ÃÀÌ)Ã0ö&Ãc'Ã@ÿ+à&Ã0s'Ã@#&Ã0ü%Ã`è'à L'ð·&ð:&à Õ%ð±'ðL#Ãðe$ðR"Ã0%ô$Ã{#Ã@¦%ÃÐù(Ã@š'Ãp’'Ão%Ãp’'Ãc'ÃðÖ&Ã0%à¨"Ã0s'Ã0ä)Ã*Ãæ&à !Ã@#&Ã0‹#Ãà‘+Ã0m(Ãò$Ã],Ã)ÃW)ÃPµ)ÃÐv)Ãp'à(Ã0[+ÃÔ)à +ÃðY&Ãp )Ã@ó-àx*ÀN$à Û$ÃðA*Ã`Ê,ÃPD'Ã0#À§*Ã-Ã`Ö*à É'Ã+&Ãò$ð½%Ã](Ãp(à L'Ã`Ð+Ã0s'à–%Ãð²,Ã%'ÃÀØ'ÃðÊ(Ã`#ú#Ã@+Ã0m(Ã$Ã`î&Ã`M,Ã`â(ÃÀÞ&Ã`_)à ·*ÃðÄ)à L'Ã{'Ã0ê(à Õ%Ã#Ã@š'ÃÀÌ)ÃÀÞ&ð.(Ãpz+à~)À6(Ãà©'à «,ÃðM(à ç"ÃðÖ&àŠ'à Ï&ÃÀm$ÃW)Ãp'àr+Ã@Ž)ÃPÙ#Ãp'$Ãp'Ãr/ÃÀÞ&ÃðY&Ãà©'à à¨"ÃPÁ'Ãi*à(Ãæ&Ãp!%à~)Ãi&à ^$ÃÀð#Ã`w%Ãp'Ã0g)Ãpý*ÃÐÿ'ð:&à%#ÀB&à R&Ã@¦%ÃÆ!ÃÐ &À¹'Ã@'Ç%ÃPV$àf-à~)ÃÀä%ÃPD'ÃÀÞ&ÃðÄ)àr+Ã`è'à Ã(Ã0a*à :*Ãp˜&ÃÀð#Ã@¸"ð^ Ã@5#Ãþ&ÃÐ^-À§*ÃðY&ÃC"Ã"Ãp(Ã0g)Ãc'Ãp¤$Ã@”(Ã`â(Ã`q&Ã0ä)Ã`è'Ã@/$ÃðY&Ã0‹#à$À¿&ÃÀs#Ão)Ãp÷+Ä,À<'Ã0%Ù"ÃPP%Ãp'à Õ%Ãðk#ÃÐ5ÃPD'Ãp(ð:&Ãp˜&ð·&ÃÀs#Ãà¯&ðŸ*à%â'Ã`ô%ÃPV$ÃðÜ%ÃðÖ&ÃðÜ%Ã$ÃÀa&Ã@‚+ðL#Ã°Û Ã „(Ã](ð±'ÃpŒ(Ão)Ã0#ÃPJ&Ãp’'ÃW)ÃÐù(ðÃ$à(à +À³(ÃàÇ"ð¥)Ã`Ö*ÃP»(à¢#Ã0…$ÃðS'Ã@š'Ã@ &ÃQ*Ãø#Ã"!Ã0g)ÃP2*Ão%Ã"Ã@Ä Ãðk#ÃK+Ã@‚+ð:&Ã$ÃÀm$àû)Ã*Ã0ö&ÃЂ'Ãæ*Ã0O-ÃÐó)ð@%Ã`ô%ÃPÁ'À³(Ã0ð'à Õ%Ó#ÃÀO)ÃÐ|(ð±'ÃðÖ&Ãp(ð±'à%Ã(Ã@¬$à$Ãà»$à É'ÃP»(ÃPÓ$À6(Ã0s'ð±'àœ$ÃP>(Ãð¾*à Õ%Ã`Ä-ÃÐ$Ã`q&à %ðÏ"ðÉ#ÃPµ)Ãæ&Ã0‘"à$Ãðq"ÃP8)ÃÚ(ð·&Ã@A!ÃPÍ%ÃÚ(ÃE,Ãà,'Ã@#&ÃP\#ÃÀü!ÃÐ'Ã`ú$Ã0%Ã`$Ã0‹#Ãà)ð()ÃP¯*ÀB&Ãà©'Ã`w%ÃÀm$Ãæ&Ãà©'Ão%Ã@/$ÃP&,ð+Ã@Ž)Ãð²,Ãi&Ãà£(ô$Ã`ƒ#à Ã(ÃÐó)ð¥)Ã@+ðÉ#Ãø#ð+Ã)Ã(ð4'Ã`Ü)Ãp!%Ã0…$Ü(Ãà'ð@%Ü(Ãp'$Ã%'Ã`‰"ÃðY&ÃÀÌ)ÃðG)Ãp¼ ÃàÁ#è&Ãu(ÃðÖ&Ã0y&Ç%Ãpª#ÃÐ%Ã0ü%à à R&ÃPP%ÃÀm$ð+Ã&Ã@ &ÃðÖ&Ã*Ãà'Ã`ô%ÃPÇ&Ã`w%À¿&Ã0ê(ÃÚ(ÃÐó)Ãð).ð"*Ã0Þ*ÃðG)Ã0—!Ãpª#ÃÐÿ'ÃÐ &Ã0y&Ã0m(ð@%ÃPÇ&Ãà)Ã`ô%ÃàÁ#Ãc'ð.(ÃP8)Ã@ &ðF$Ã`}$Ã`w%î%Ã`#ÃÀØ'Ã0ö&ÃÀö"Ãu$Ã@²#à&ÃÐp*ÃQ*ÃP>(Ã+&Ã@)À<'Ãæ&ÃÀ"Ãp!%ÃP8)Ãì%à á#ÃÀÞ&â'Ã`ô%Ãà8%ÀB&Ã@#&ÃÐó)Ã@(à ½)Ãp(ÃðÖ&Ãp&ÃÐÿ'à L'Ã`ƒ#Ç!Ó#ÃÐŽ%ÃPÍ%Ãp3"Ã0%ð·&À³(ÃÀä%ÃÒðR"ÃðM(ÃðÊ(Ù"Ã1%ÃðY&ÃPÓ$ÃÀ!ÃÐ%Ã`#Ãò$Ãò(à&Ãø#ÃÐ)!ÃðƒÃ`ƒ#Ã&à ·*Ã@”(Ã0‹#ð½%ÃðÖ&ÃPÇ&à 'ÃÀg%Ã0ö&ÃPh!à j"à R&Ãpž%à d#ô$à É'Ü(Ã0ü%à @)Ã` "à+"Ã`ƒ#Ãðô!Ãp'$Ã`ƒ#à&Ã` "à%#Ãðâ$ÃPh!Ãà2&Ãà*Ão%ÃÐŽ%Ã0%Ã0m(Ãð_%Ãà2&Ãp˜&Ãà¯&à ^$à&Ã"à ó Ã`}$ðF$Ã`è'Ã`è'ÀB&Ãà,'ÃÀÆ*Ã$Ãàµ%ÃÐ|(Ãà2&Ã`ô%Ãò$Ã@¦%ð±'Ã1%ÃÀü!Ãðè#Ãðè#à Û$ÃPÙ#Ãu$Ã0!à ÃÀ… ÃÀs#ÃЦ!Ã`!à j"ÃÀ‘àCÃ0!À**ÃÎ*ÃÀm$Ãðe$ÃÀð#ÃPV$ÃUÃ@MÃ°Û Ãà8%à Ï&Ã@/$ðÉ#à¨"ðF$à%#Ã@'Ã`k'à1!àÆÃP÷à ç"Ãð ÃÐ#à ^$ÃPÙ#î%ÃÀy"Ã08ÃàÁ#Ãp-#à Õ%àœ$à+"ð½%ðÕ!Ã0,Ão%Ãðw!ÃPb"à&ÃPÙ#Ãp-#Ç!ÙÃ`• Ç!ÃðÜ%Ã@¬$ÃÐ/ à ŽÃ`¡Ãà2&Ãp-#ÃÀà ^$Ãu$à ^$Ã@¦%ÃPß"Ãðè#ÃÐ#à !Ãà÷Ã@ÖÃPn Ã0…$Ã@5#ÃÀê$ÃК#ðX!Ã@MÃÀü!Ãp¶!ÃÀ!ÃI!Ã`#ÃO Ã°Û ÃŸ!ðR"Ã@/$ðÉ#Ãà8%Ã`#Ã0#à&ÀÝ!ÃÐ#"Ãà\à ÿÃàÁ#Ã`ú$Ã0ö&Ã`w%Ã`!Ãp3"ÃЦ!Ã0%Ã`ÃpæÃÐ#"ÃЬ ÃиÃàbÃ`Ü)Ã$ÃÀ—ÃÀ‘ÀéÀlà¨"ÃÐ#"à ùÃàÓ Ã ÀÃÀy"Ãp&ðáÃ°Û ÃЦ!ÃPÙ#ÃÀy"ÃC"ÃЬ ÃÀ… Ã$à¢#Ã¥ Ã02ÃÀ!ÃP÷Ã0 Ã@5#Ã`!Ã`• ÓÃ[Ã`­Ãp? Ã` ëÀã Ã`$Ã@A!ÃÀ!Ã.Ã`#Ã@A!ÃàhÃ08ÃUÃ`#Ã` "à7 à®!ÃÆ!à ç"Ã=#ß!ÃàÓ Ã p!ÃC"ðÃ$ÃP\#ÃÀ"ÃÀÃ( Ã@²#ÃÃ0 ÃàJ"Ù"Ã@¸"Ã@A!ÃàÙÃ`¡ÃÀü!ÃÀØ'à1!Ãàëà ùÃ` Ã0#Ãðî"ÀZ"à¨"ðÕ!à ^$Ãðè#Ã0!à L'Ã0ö&Ãðq"ÃÀs#ÃPP%Ãà'ÃÐ)!Ãp°"Ã@¾!ÃÀ‘à |Ã"Ã.à R&à$à |ÃPb"Ã@ÐÃÀ÷Ãà+"Ã$à+"ÃPb"ÃPtÀN$Ãp? Ãð›ÃP’Ãðî"à ÿÃð‰Ã` ÃPÓ$Ã0m(ÃàJ"Ã`ƒ#ðÕ!Ã0µÃ0µÃÃ`›ðjÃ` ÃPå!Ã0£Ã@ÐÃ°Û Ã€Ý!Ãp-#Ãà»$ÃÀg%ñÃðq"ÃðY&Ãà )Ão%ÃÀ!ðL#ðdÃàbÃ`*ÀlÃðq"Ã0#ßÃp3"Ãp3"ÀÝ!ÀrÀrðÕ!ÓÃPå!ÃÐ#"ðÕ!Ã`›ÃÐ#àÀÃ`• ÃPn ÃÐ)!Ã@Ä ÃÃàP!Ãì%ÃPh!ÃÃð ÃÀü!Ãà8%Ã@A!Ã0!Ã Ã°Û ÃÐ &Ã0%ÃP\#Ã@¾!ÃÀØ'ÃðÖ&ðÃ$Ã0#à+"Ãp’'ú#ðÉ#Ã0$ÃðÐ'Ã`k'ÃPÇ&Ã@ &ðX!Ã@ÖÀ`!Ãø#Ã0£ÃPýðáÃÀä%Ã@ &ÃðY&ÃàÁ#Ãø#Ù"Ã"Ã`î&Ã1%ÃД$Ãc'Ãc'Ã"!Ã0‹#ÃЂ'Ã`Ö*Ã`Ü)ð()Ã{'ÀÅ%Ãp'$ÃÀa&Ã0y&Ã(à L'Ã0%Ã0…$ÃÔ)Ã`q&ÃàJ"ð:&ÃÐó)ÃPÁ'à$Ãðâ$ÃÐ|(Ã0ê(ðŸ*Ã@)%Ã`è'à L'à R&ð«(Ãpz+ÃÀÌ)à–%Ãc'ÃàÁ#à p!Ã0…$ÃðÜ%Ã@#&à¢#Ã0ü%ð:&à R&ÃPß"Ã@)%Ãà>$ÃÚ(Ãpñ,ÃPD'ÀT#ÀÝ!Ã7$Ã0…$ô$Ãà¯&Ãðk#à$ÃàÁ#Ãð_%Ãpž%ð4'ÃPÇ&ð:&Ãc'Ãpž%ÃPß"Ão%Ã0y&ÃÐÿ'àœ$ð@%Ã=#Ãì%Ãi&Ã@)%Ã$Ã@(Ãà,'ÃÆ!ÃÀü!Ãp°"ð^ ÃàV ðÕ!ÃQ*ÃðÖ&ðF$Ãi&ÃÀy"ÃÀ… Ãðî"ÃPJ&Ã0m(ÀN$à–%ÃÐŽ%ÃàJ"Ã( Ãp? ÃК#ÃPD'ÃÀa&Ão%Ã`ƒ#ðáÃàÁ#Ã`ú$Ã`k'Ã`w%àœ$Ã0%Ã`w%à¨"ÃC"Ãp? ÃPýÃ$Ãà'ÃÐ'Ãà2&Ã0‘"Ãp&ÃÚ(ÃÀU(Ã+&ÃðA*Ã`ú$à´ ÃÀ… ÃPb"ÃÐ#Ã#à L'à Ï&ðF$ÃÐ#"Ã`}$ÃÀØ'ÃPÓ$Ã0…$Ã0¯ðçÃPn ðÏ"ÃPÍ%Ãp-#à ÿà v ÃÌ Ã@¬$Ãp!%Ã@²#ÃÐ$Ãp&ÀË$ÃÀy"Ãpª#ÃÐÿ'ÃÐ'Ãp¤$à´ Àã Ãð_%Ãp°"à v ÃÀö"ÃàD#Ã@5#à j"Ãà»$ÃðG)ÃðG)à ÃÐ)!à´ Ã0!ÃÀ"Ãu$à+"Ã$Ù"Ã¥ ÃàÓ Ã( Ã{#Àã ðR"Ã@²#ðL#ÃàÁ#Ãp¶!Ã0!à7 ÃPP%ß!ÃàbÃ`!Ã&Ãæ&ÃÐŽ%Ãpª#ÃPJ&ðÉ#ðF$ðL#à Ã0©Ãp¼ Ãàåà à ç"ÃÀy"à%#Ã0—!Ãp3"Ãp°"Ãp? ÃpÈÃ=#Ãp3"Ãð_%Ã@Êð^ Ã%'ðL#Àlà¨"ß!ÃÀ‹ðÏ"Ãðà šÃPë ÃЂ'àŠ'à ç"Ã`!à Ã`!Ã"ÃÌ ÃÀ£à í!Ã`}$ÃÀm$Ãi&ÀZ"Ã@Ä Ã¥ Ãp-#Ã0%Ç!ÃÃpÈß!ðL#ÃÀÃ@MÙ"ÃPb"ÃÀö"Ã0£ÃÀ"ÃðM(Ç%Àf ÃO Ã@¬$Ã`‰"Ã` ÓÃI!ÃàÍ!ÃÀ‹Ã0©àÀÃpÂà¢#Ã¥ ÃÀ‹ÃàP!ÃPë Ã@A!ÃÀÃðw!ÃÆ!ÃЬ ÃÐ#"ÀZ"à®!àœ$à |ÃвÃ@MÃ@Mà ÷ÃêÃ`• Ãp!%Ã#à¨"Ãðî"àºà ^$ÃÀ… ÃàJ"ÃÐ;ÃÐ5À`!ß!ÃàÍ!ÓÃЬ à X%à%#Ãðô!à+"Ã4ÃPÃÃ` ÃÞðpÃPýÃ$Ã@¬$ÃàÇ"ðF$ô$ÃàbÃÐ#"Ãðô!Ã@YÃÛÀ Ã`!ÃÐ)!ÃÀä%Ãðú ÃàÙÃ`#Ã"ÃàÙÃØÃ0ÓÃÐMÃ@Ðà ùÃ@eÃPÃØÀ~ÃPýÃÆ!ÃиÃP€ÃPë ÃиÃpQÃ( ÃPÃР"ÃpÂß!àCÃ0!ÃÀy"ÃàåÃpÚ÷àÒÃP€Ã.Ã0—!à p!ÃÐÄðÃ0>ÃÀÃpÂÃ`#Ã$ÃPñÃàåàUÃP†ÃÒÃàÍ!à ‚Ã`*ð^ Ãp¼ Ã¥ ÃÀ‘ÃPýÃP†ÃиÃ0µÃPzÀÝ!à Ã0—!ÃPë Ã`³Ã02Ã0 Ã@G Ã@ÖÃP¤Ã0»ðáÃ0‹#ÃPb"Ã.à1!Ã@Ä ÃPñà ó ÃðÃpWÃ`0Ã0,ÃÐ;ÃÐ5à ùÃиÃP€ÃÃÃP÷ðÿÃP÷ðjÃ@A!ÃI!ÃÀ‘à ùÃðw!ÃP€Ã`¿Ãp? ÷ÃPë Ã0#ðçÃà ÃäàOÃPýÃÃÃPŒÃàhÃ"ÃÞÃ0µÃàßðáñÃÐÊðÿðùÃÐÐÀïÃÀ Ãðî"ÃpøÃàtÃ`!Ã0,àÌÃ(à[Ã0©Ã@¾!ÃÐ)!Ã`$ÃöÃ:àÆÃäÃsð‚Ãð•Ãðk#ÃÀÃpÚÃPn ÃpÈÃ0PàØàºà Ãð§Ã0,Ã` "Ã( à ŽÃ@qà p!ðpÃ@âÃÀ&Ã`HËÃp? Àf à7 ÃàtÃP÷Ãðú ÃоÃðƒÀõàIÃ0&à ÃpEÀõÃÐSÃpcàºà Ã`­Ã@Mà=ÃPýÃðÃ`³ÃÀ&ÃpoÃÀ—Ã@G ÃÃ@ÖÃÐ/ ÙðùðvÀýÀlÃðô!Ã@;"Ã@ÜàØÃ@¾!Ã`$ÃÀÃ@wàIÃвÃÒÃÐÄÃ0,Ã@/$ÓÃ:Ã`‰"Ó#ÀË$Ã`!Ã`³ÃP'Ãà€ÃpKà ”ÃÒÃPë Ã`$ñÃP’ÀT#ÃÐ/ Ã`HàIðR"ÃÀÀ ÓÃp? Ão%Ã0©àÌÃpÈàgÃmÃ`6Ã`HàÒÃ@èÃ:Ã0¯ÃpÎÃ:ÃàßÃPýÃPzàIÃpÚðÿÃÐGÀ~Ã@MàºÀlÃÒà ùÃÀÀrà ÃPýÃ@;"ðçÃÀ,Ãð0Ã:ÃànàØÃ0&Ã0¯àÀÃ"!ÃàV ðÕ!Ã0 Ã0 ÃàÓ Ãð‰ÃçÃP†Ã4ÀÃ0>ÃÀ2ÃðBðÃÐSÃ`¡Ã@Ä Ã@5#Ãð ÃàzÃ@wÃÀ,Ãð³Ã(Ã0,ÃÀ£Ã`¹ÃpÎÃðÃÀ2ëÃÐGÀ~Ã`³àmÃpàÃ`ÀûÃàåÃpWÃð§ÃàÃ[Ã0»ÃÐÐÃ:ÃÐ_à )Ã0µÃð›ÃRÃ`<À„Ã0ÍÃ`6ÀûÃpÈÃöÃðÃÀ&ÃÀ¯àØÃmÃÐMÃ0DÃ0ÁðßÃÌ ÃPÃànð‚ÃÃð¹ÃyÃÐÜÃPÃà÷Ã0ÁÃ@èÃP€Ã@âÃÃ0&ýÃÛÃÀ8ÃÀÃpEÃpQàÀÀ„ÀÃÐ_Ã4à ¦Ãð­ÃP ðvÃPýÀlÃp¼ à |Ã4ÃÃÃÃ@ôÃàÙÃÐAÃPžÃ0ÇÃLÃÐ_à ¸Ãð­ÃÐSÃ@úðjà ˆÃÐYðà ¦ëÃP’ÃàñÃÀ»à #ÃpþÃ`Bà šÃð$ÃàtÃ`<Ã0JÃpWÃÀµÃ0JÃP ÃÀ!ÃP à ð‚ð Ã`§ÃpWÃ`TÃ0>ðçàÒÃöÃ0>Ã`³ÃÀµÃà Ã0µÃp]Ã0ÇÃ@ƒÃ`³Ã@_Ã4ÃÃöÃà÷ÃPŒÃà ÃpÈÃ`¡Ã@_ýÃP°ÃÐ_ÀŠðíÃP÷ÃÀ2ÃpQÃ@SÃÐÖà ŽÃàÁ#Ã"à Ãà\Ãà€Ã`NÃ`NÃÞÃPÃpKàÞÃÐ_ÃLÃp]ÃsýÃÀµÃàñÃ@ôàðÃð›à ”ÃFÃPŒàÒÃ0 ÙÃ`›ÃàV ÃP ðÃ@ÃP˜àOà ÃÐSÃÃÀ8ÃÕÃ4Ã0ÓÃP'ÃyÃ`‰"à¨"ÃÞÃ`Ëð)ÃÃÏðóÃàßñÃmÃPë ÃPýÃpìÃRÃÀ»à )ÃÀ,Ã@kÃpKÙðùÃ.Ã0ÍÃð¡ÃpàÃpÎÃpøð‚Ã@kÃ0bÀ ÃоÀéÀ„ÃpÔÃgÃÀÃÀ2ÃÛÃpWÃPh!Ã@eÃà÷ÃÐâà ¦àÞÃsà ðùÃpWàÀÃÐÊÃ`<ÃPÃ`TÃpiÃð•ÃsÃpQÃ@²#à ÿÃ0ÍÃÀà=Ã@ðŽÃp? Ãðe$Ã:à ¸à #ðÿÀÃÐÜÃ0ÍÃöÀûð‚ÃÉÃp¼ ÃÀà ‚à[Ã0»à ‚Ã0»ÃðÃPàÀÃ` ÀlðáÃÃ@qßÃиà ŽÃgÀ„ÀÃPªà[Ã@_ðvàºÃ`6à  Ã0¯ÃP ÃÀ2ëà ”ÃÃpàà šÃÀµÃàzÀÃpcÃÀ… Ã0»ÃPÀŠàmÃ`Tà ˆÃsÃ0DÃàßÃ`6ÃmÃPzÃpÈÃ"ÃÐ5ÃÀ‹ÃÀ,Àà ‚ÃØÃðÃP÷ÃØÃPtÃpÔÃ`BÃÀ©ðçð^ ëÃÉËÃpÎà1!Ãðô!Ã`$Ãgà ”ÃFÃàÃ(ÃÐ/ ÃÐYð Ã@ÜÃ`‰"ÃPtÃ0>Ã0»Ã`³ÃàëÃÐÐà ‚Ã08Ã.Ã`³ÃоðùÃaÃ(ñðÿàÆÃÐYÃÀ>ÃÞÀ~ÃpiÃ:à ðvÃðÃ`¹ÃPÃðÃyà à ŽÃ(Ã@qÃ¥Ã08Ã@âÃð­ÃÐÊÃP’ÃmÃðÃ0>Ã@èÃP’ð|ÀœÃðÃ0ÁÃüàØÃÉÃð­Ãpi÷ÃÐÄÃàŒð¦à ”Ã`›÷ÃÀ©À ÃÀ ÃðBÃà˜ÃÐÜÃ@eÃpQÃÀ—Ã0VÃpþÃð*à Ã`HÃP-Ã`BÃàÃLð#Ãð¡à šÃÐâÃPÃPŒÃàÃàzÃpæÃÐèÃ@à  ð Ãpo÷Ãð•À–ÃíÃáÃÃ.ÀÑ#ÃÐÊÃÒàØÃÐ_Ãà÷àgÃ0ÇÃPªðÃdð÷ÃÀ8Ãð0ÀÃpWÃpæÃöÃLÃLðùßÃà€à ÃÀ¯ÃÃÃ`Bà ¬àaà ¦à /à ²À´Ã@îÃ`³Àà #ÃàÃXð”ÃPŒà ¦ÃpÃÐôÃp‡ðÃyÃà’Ãà’ÃЉÃÃ02à ¬Ãp{ÃÛà /à šÃóÃ`éÃàŒÃÐÐàOÃ0>ÃÀ&ÃsÃ`BÃyÃpiÃÐeÃð¹ð ÃFÃÐkÃà Ãð­Ãð<ÃÐeÃ@Ã0ÇÃ0VÃmÃ4à ÃÐqà ;ðÃpøÃP¤àðÃ`<ñÃ0ÁÃpoÃpÑÃÀÁÀ¢Ã4Ãð¡Ã@èÃüàüÃÐSàêÃ@ôà ÄÃÐeÀÀÃ`NÃöàaÃpòÃP’À Ã`HÃÕÃÐYÃÐÊàÞÃ@•Ã0ëà ¬ÃÃÃ:Ãð¹Ã@ôà šÃÀ»ÃpÃÉÃpøÃÀµÃ:ÃÀ,Ãà†Ã0ÙÃ`×ÃÛÃ0DÃ0D÷Ã4Ãð<ÀÃpQà ¦Ã`TÃ`ÝÃð‚Ãð*Ã`×Ã`HÃ`³ÃP'Ã@úÃ@‰ÃöÃð•àäÃ0DÃPŒÃpKÙðùÀ„Ã0JÃ0\Ã0ÇÃpWÃÀ2ÃÐkàØÃ`6ÃpuÃpiÃÐkà ;ÃgÃPðÃ`ZÃP!ÃP€Ã`­ÃÐÊÃÀ¯ÃpþÀ¨ÃFÃsÃð³ÃöÃ4ÃpÔà Ã`TÃÀÁÃÀDà ¬ÃàtÃÐYÃPªÃpààsÃ`×à ”Ã0ÇÀûÃðƒÃÃÃ`ZÃ`fðàºÃ@YÃPŒÃàÃ`Åà ”À–ÃÀ2Ã0¯Ãðà  ÀŠÃ`¹Ã@_ÃsÃP'ÃdðˆÃÀ£Ãà†ÃÐÜÃPÃpÎÃpòÃÀDÃ@qÃÐÐÃ@èÃP°Ãð¹ÃÀ Ã0JðùÃÐSÀ à 5Ã0ÓÃ`³ÃðÃ0DÃRÃpEàIÃÀ,Ãp{ÃpoÃpWÃà Ã0ßÀ%ÃÀ,ÃàJ"à1!ËÃ@ ÃP¼ÃÀÇÃ0ßÃyð ðÃpæà #ðˆÃpcÃ4ÃÐúÃÐMÃÀÃP¤Ãð<ÃÀµÃ‘ÃP¤Ã:ÃpæÃpWà ”ÀŠðvÃ`¿àäÃÃÀ£ÃÐkÃÕÃP'Ã0JÃ@îÃÀ2Ã0>Ã.Ã`<à Ãà÷à ÃpiàÞÃàŒÃÃ0hÃàÃ:ÃO Ã` Ã@ôàaÃð*ÃPÃ@Ãp“à /Ã:ñÃ0JÃàÀàaÃàŒÀÃ0ÇÃÀÍÃð¹Ã@}Ãð³Ã0\Ã@ÜÀõà ßÃ:Ã`fàêÃ`³ÃsÃdðÃ@èÃàÃLÃ0ÍÃFÃpÔàUÃ4ÃÃÃàÃpÃ@qà ¦Ã`¿à #ðÃ`­Ã@âðÃPªÃ0P×Ãð0ÃP€Ã0Áà  ÃÐMðpàÌÃpæÃ:Ãà†Ã0Jà ¦Ã@Ãà€Ãyà[à ”ÃàtÃP'Ã0bÃ`HÃ(ÃXñà ¬Ã0D÷Ãð*ÃÃP ð|Ãp{ÃpÃÕðÃÀ ÃÀÃ`¡ÃÀ©ð‚Ãð§Ã0ÍÃðÅÃÛÃÃp]ÃpÈàÆÃpQÃ@_Ã@kÃ0»ÀéÃ`<ÃÀÁÃÀ»Ãð§Ã0»ÃÐMàüÃ`NÃpuÃð0Ã0DÃpÔÃsÀ„ÃÀðvà ‚ÀûÃ0©ðáàmÃÀDÃP˜Ã@Sà ÃÐÄÃÃàzÃà÷ÃPýÃ°Û ÃÃöà ‚Àrà à ̴̯ÃÐÊðíÃPtÃ` Ã0£Ãð•ÃpÔÃÐÖÃPýÃ$ÃPå!ÃP€ÃÐÄà ŽàÒÃ.àCÃÐAÃÀÃðw!Ãp9!ðçàIÃpKÙÃð•à Ã`‰"Ã"Ã0#Ã4ÃàP!Ãàßà ”ðjà Ã@YÃPÃоÃ@MÃPñÃð} Ã`›Ã0µà ŽÃàñÃ`¡à |Ã`• Ã"ÃPÃàßÃà\ñÃ0>ÃàtÃ0 ÀxÃpÈà šÃPzÃ@A!ÃP÷Ã0ÓàÌÃ[à p!Ãø'Ã0‘"ÃÀ£Àà )ÃpKÃ@ÐðpÃð•ÃÒÃÀü!ÃànÃüàÒÃàëÃÀÃ`Ãð•ðjà |Ãð‰ÃP÷Ã( ÃÐÊÃà à ÿÃ02Ã@qÃðk#ÃO ÃÞÀlÃ(Ã`!Ã4ÃØà ùÃp]Ã08à |ÃÀ… ÃP€ÃPžÃ0»Ã0ÇÃàtÃÐ5ÀrÀÃ(Ã@ÐÃÀ£Ã0—!à ”Ãð•Ãà÷ÃÀÃP÷ÃÀÃ`6ÃpKÃЦ!ÃР"ÃPýÀœÃ0PÃPýÃ`!ðR"Ãp°"ðáàCÃиÃÐMÃ`§ÃPzà |ÃPÙ#ÃàßÃpÚÓÃpÈà ÃàñÃFà=à á#à j"ðáÓàÆÃ@èÃ@qÃ"ÃвÃ0&ÀrÃàß÷Ã0!Ãàbà ”ÃÐÊÃPn ÃоðR"Ã@¬$ÃàÍ!À„Ãàëðà )ÃðÃ@/$ÃàV Ã`*Ãà\Ãð} Ã@SëÃ`§Ã0 à+"Ã@Ä Ã@ÖÃ0»Ã0»ÃPÃÀÃ`*Ã@âÃ0ÁÃ.ÃpÈÃpEÃ0,Ãð•ÃÀy"ÃЦ!àOà ÃsàÆÃÀ‘ðóÃPà ”à ùÃ"!à®!ßÃÀÃÐ5Ã@A!ÃÀ‹ÃÐÄÃð³ÃÀ£Ã`­ÃpÎàÆà ˆÃ02ÃUà ÃÐÐà ¦ÃP†à ‚Ãðw!ÃöÃ0VÃØÃоÃÀÃ`¿ÃpoÃð¡ðçÃÐ;Ã(ÃÀ»à šðˆÀ„ÃÐAÃÀÃpiÃÀ„àUÃà€ÃpÔðçÃ`§Ã0»Ã0£Ã@Mðçà¨"Ãð‰ÃÀ… Ã`›à ðà šÃ`0ÃpàÃÀ&ðpÃànÃðÃð$ÃÉÃ:à d#ðdÃ@MÃà÷ÃÀ… ðjðáà ÃpiðóÃ@èà à7 ÃÐÜÃ0µÃ"ÃÐ;à ó ÃÀ—ÃàëÃà€Ã0>ßÃ¥ÃÕÃðÃðƒÃpWðÃpÎÃp]Ã0¯ÃàñÃpÎÓÓàCÃ0,ÃÐAÀ„ÃÞßÃP'ÃsÃP˜Ã@îÃðw!ÃpQÃ:à Ã`0à+"Ãà>$Ãð$ÃP˜ÃÀÀÃàýÃsÃFßÃ0,Ã`³ðŽÃ0ÁÃPŒÃàñðX!à ‚ð|ÃgÃ"Ã@ÊÃÐ)!Ã` Ã02Ã0©ÃpKÃÀ‘ÙÃp'$ÃI!Ã`$ÃÐ5ÃPŒÃP'ðÃ0>Ã"Ã@Ã…ÃpÂÃ"!Ã0,Ã@ÖÃðÃ`§à ÃàzÃÐÖð”ÃñÃÀ,ÃàÃÃàÌÃàŒÃ`<Ã.Ãð›ðà ÃP˜ÃpæÃäÃ08àIðÿÃpþÃP€ñÃ@kÃ@âÃ`¿ÃÐôà )Ã08ÃàÙÃàëàOßÃÐ5àUÃÐèÃ0µÃà\ÃÀü!Ã[ÃÐGÃÐ;ÃàtÃÐÄÃ"!Ã°Û Ã@èÃ@à à í!ëÃ0ÇÃ@èÃ@kÃ4ýÀÀ%ÃðHýÃpiàÒÃà€ÀðíÃ`³Ãð‰Ã@ÖÃ`§Ã0ÁÃ@eÃà÷ÃÐGÃ@èÃÀà ”à ÃPÃÀ8ÃàåÃ@ÊëÃpòÃgÃÃàtÃpÚÃàýÃÀ8ÃÀ8Ãàåà šÃÀ—Ã`6ÃP÷Ãðà ùÃ"Ãð•ð|ÃL÷Ã.Ã`­Ã.ÃØÃ` ëÃ@îàmÃPªÃ0ÁÃÀ£ÃêàºëÃð‰àCÃ0µÃP†Ãððÿ÷ðùÃ0»ÃÉÃàbðjÃPýÃð¡ñÃpKÃàbÃ@_ÃdÃ[Àf àUÃ@Ã0ÓÀxðvÙ"ÃÀ&à ”Ãp]àCÃ@âÃÐYÃð¡ÀÃÐ;ÃÐ/ à j"ÀxÃÃð•ÀûÃðÃ@Ã@ÜÃ4ÃÀÃÀÃPýÃ`¿Ã0\ÃPŒÃPh!à  ÃpcÃ4Ã¥ÃöÃàÃ@eýà ÀïÃàëÃ0ÇÃÛÃÕðùÃ`§ÃàzÃàÙà ŽÃpæÃ0»Ã0Pð|ÃÉÃP˜ÃÐMÃ0µÃÐÄÃpQà ÃPÃmÃ`$ÃÒðíÃ0VÃPŒà á#ÃPýÃðÃÐÄÃà ÃÐGÃð›ÃP†ÃÃÐÄðvà í!ÃFÃð³ÃpþÃÃ`×à à ”ÃpÈÃÞÃ@âÃÀPÃ@wÃ@ÃÐGÃ"Ãmà ÃоðóÃpÔÃsÃÐ_Ãpuà Aà ¬ðÃÐYÃ(ÃàzÃð§àäàUÃ`¿ÃÀ2ð‚ÃPžðÃ:ÃP'Ãð¡Ã@_Ãà àäÃpÎð|Ã@eà[Ã@qÃ^à à /ÃêÃÏÃÐYà Ã0VÃüÃÀ»ñðÿÃdà ¦ÃRÃà†àÞÃÐÖÃð6ÃÐ_ÃpìðˆÃÛàäÃ`6Ã@eðÀà šÃpoà #Ãð¡Ãð*ÀÃð*Ã`³ÃpÎÃÀ ÃPÃ``ÃP3ÃP¼Ã@úÃÃ0hÃÃà!Ã0JÃ@Ã@_ñÃÀ£ÃPñÃàÙ×ÃP?Ã@qÃsð ðÃÃP-Ãà†ðùÃP Ã08àCÃðÃàñàUà ¬ÃÀ»Ã@èÃ:Ã@kÃ@}ÃpøÃsÃ`6À~ðŽðšàgÃPàOÃÐSÃXðùÃyÃ@âÃ@wÃ0»ÃðÃgÃÐSÀÃ`6ÃÀµà ¦ð‚ÃpðàÞÃÐâÃÐÐÃÀ,ÃðTÃðÅÃð•ÃÐÖàUÃpWÃ`BÃàÃðÃ…ÃXð ÃpoÃÛÃpþÃ0DÃàýÃÀ ÃFÃPñÃpEÃÀ¯à ¦ÀÃ0PàsÃÀÃêÃ@ôÃpÚÃöÃ@îÃÐMÀïÃ@ Ã`ÑÃÃÃØÃð›ÃÐÜÃ`­à ÃP ÃðÃð³Ã`HÃP’Ã0,Ã`›ÃPàÌÀ~ÃÒÃÀÃPžÃð­à Ã0»Ã0µÃp]ÙÃ0¯ÃÀ£ÃÀ‘ÃP†Ã`ÅëÃиÃðô!ÃÉÃàhÃ0ÓÃÀÁÃÀ»Ãð§à ðáÃðÀ–à šÃ@Ã@èÃðÃ@wÃÀÁÃÕÃ0ÁÃààUÃ08àgÃ0ÁÃÃÃðÃðà[ÃàzÃFð ÀŠÃ@ÊÃ(Ãðà ‚ÃP÷ÃpÚÃàtðdà ÃÐÐÃp¼ ð^ Ã0PÃ0ÓÃà'ÃÐúÃ@wÃð³ÃpæÃêýÃÀ£àCÃÀ©Ã@SÃð ÷ÀÃpÎÃà\ÃÐÖÃÐSÃ¥ðóÃ(ÃÏðíÃPýÀ`!àÀà à ˆÃ@Ã0ÓðˆàÞÃPà ÿÃÀ©Ã0»ÃЬ ÃPzÃP†ÃPŒà ˆÃpÎà ‚Ã`­Ã(ÃLÃ0ÁðpÃ`$ÃpEÃð›Ã0ÁÃàýàUÃ@îÃàýÃàýÃàñÃ`6ÃpÚÃð‰ÃLÃpÚÃPzÃpKÃ@kÀ~ÃP’Ãð‰ÃàzÀÃ@Öà7 Ãöà ŽÃpàà )ÀlÃ@ÊÃUÃðÃ.à ˆÃиÃ0»À®ÃpuÃPŒà ùÃ"ÃPªÃÀ2ÃÐAÃ02Ã02ÃmàÒÃ` ð|Ã08ÃðÃÀ2Ã@ÃÃàåÃgÃÐYÃ@qÃPñÃ4Ã@âÃÀ,Ãàtà ç"Ã`Ã`Ãð§ÃsÃàbðdÃоÃÃ0ÍÃpÎàÀÃàtà ¸ÃÀ©àºÀ`!àUÃPÃ0£Ã@ÜÃ"ÀŠÀ¨Ãð­Ã`0ÃpàÃp]ÃPàÒàCÃ¥ÃànÃ@ÜàOÃà†ÃðàØð‚ÃÐÖÃ@qà šÃ`¹ÃPÃðÓ#Ã:Ãpìà ÃÐSÃàhÃ08ðÃàýÃPÃÐkÃÐîÃàÃð<Ãáà à ùÃànðŽÃÃ@ô÷ÃêÃÐ_ð¦à…àOÃ02ÃÐSÃà Ãð$ÃàhàU÷ñÃ`§àÞÃêÃàýÃpàÃ0PÃàÃüÃ`¿Àà[Ã@àIàÆð”ÃÐâðˆÃÀ2Ãð6À ÃÛÃàÃðHÃ0µÃPÀÃÐMÃÀ‹ÃUÃ¥ÃÐÖÃЃÃpÃäà  Ãp{ÃÀ2ð|Ã@îÃð¡Ãà€ÃPÃ0»ð à #Ã"ÃpKÃÀ©ÃÐeÃÀµÀûà ŽàÒÃ@ÃÀ»ýÃ@eÃÐâÃÐÖàCÃPÃàŒÃð¡ÃRðvÃð›Ã0JÃÀ8ÃàhÃpQÃ`!Ã(Ã4ÃP-Ã@Ãp{ÃRÃ02ÃPýðíÃÐèÃpæÃ@Ã0tÃ0ÇÃð¹Ãð¿ÃàtÀðšÃ…Ã02Ã@ÊÃ@ÜàäÃðÃàhàØÃ`×ÃÃà ˆà ‚Ãpàà ¦ðÃð§ðíà à Ã0ÁðvÃ`ÅÃàýÃàtÃäÃpàÃêÃÐÐÃàñÃÀ ÃRÃÀ©Ã0>Ãð§ÃpÃPÃ`6àØÃ4À ÃÐAÃpÚÃ08ÃàzÃP ÃäÃðÃFðùÃðàUÃpcÃð6ÃÛÃyàÒðÃ@ôÃPýÃÃà÷Ã:ÃPžÃÉÃ`­ÃоÃ@èàÌßà ”àÒÃðÃ(ÀrÃð­ÃXÃÐ;à |ÃPà ÃÀ,à ÃÀÃЬ Ãðw!ÃpEÃÐAÃÐeÃàÃÐYÃPzÃànÃPŒà Ãð‰ÃÀÀŠÃöàØÃð Ã0©ÃðƒÃÀ,àgÃ0ÁðáÃp9!Ã4ð ÃÐGÃpÈÃ`§ÃÀ‘Ãð$ÃÉÃð¡ÀZ"Ã`!ÃðÃLÃÐAðíÃàñÃP€àºÃ0,ÃPtÃ0DÃÃRðˆÃ`­àIÃÀ©ÃàñÃyÃ0©ÃpWÃPýÃpÎÃPñÃà ‚Ã`¡ÃоÃ0µðíÃð§à[Ã@kÃàbÃpWÃÀÇ!ÃpQÃFÃäÃÒÃÐMÃàëðóÃàbÃÀÃPzÃ`• ëÃÐ_ÀxÃUÀ~àäÃPðpðíÃpàÃ0ÁÃàbÃÐÄðùàÒà ˆÃ0©Ã@âÃиÃà÷ðÃ@èÃäÀlà àÀÃànÃ[Ã`§à ÿÃ@G ÃÀ—ÃÃÃàñÃ@¾!ÀûÃÐAÃÐÐÃ0>Ã`• Ãð} ðáÃgÃpàÃàhÃàtÃ`ÃÀ—Ã@SÃÀÃ`Ãðú ðçðùÃ`¹ÃÐÊÀõÃÀÃäëÃ0‹#Ã@ÐÃsÃPÃ[Ã@ÐÃàbÃÐGÃàhÃвÃp]ÃÐ;ÃвðvàØÃPðjà ˆÃàzÃ`ÅÃÀÃðè#ÃPÁ'ÃÀ£Ã0Çà ÃPÃêÃàñÃЬ Ãðî"ÃР"Ã@_ÃÀ©Ã@MÃÞÃUðÿÃ0ÙÃÐeñÃp]Ã0ÁÃpcÃP˜ÃÐÖÃPzÃpKÃpcàaà ÿà Ã`*ÃÀÃÀ2ðvÃð›à ŽÃp]ðŽÀ%À¢àäàÞÃÀÃ( ðÿÃpcà ŽÃÀÃ@YÀûÃànÀŠà Ã` Àrà ”ÃP Ã"Ã@âÃmÀ„à Ãp? Ãp¼ ÃðÃ`­ðvÃpcÀ´Ã(Ãðð ÃÀ»Ãð*ÃÐÐðíðvÃÐYÃÏÃ@èÃÀ£Ã@Sà ˆà ÃRÃ4à |Ã`¹Ã"Ã@âà  ðÿÃ`¡À„ÃÐâàÌÃPzÃpìÃàhÃÐÄðdÃäÃ:à Ã0JÃpQßÃð¹Ã@wÃP Ã0g)ðÕ!ËÃÐ_ÃaÃpcà ¬ÃPÃLÃPë à Ã0"ÃFÃ@èÃÀÃÀ8Ã`ËàêðÃ`NÃ`§Ãp¶!ÃpKÃ@ƒÃ`NÃÀ8ÃðÃÐGà ˆÃmÃÐÄÃpæÃÐÐÃ:ÃgÃÀ,Ãð›ÃÐÄÃP’Ã4à ¬Ã^Ã0©Ãðk#ÃàbÃÃ@qÃÉÃ0,ÃÉðóÃвÃÀ»Ã@}ÃçÃ0ÙÃP†àÞà ¸Ã`ËÃ0ÍÃ.ÃàtðdÃÃàØÃàåÃ0µÃÀ&ÃüàgëÃpÎÃðƒÃÐÐÃÃÃÃpòÃ0PÃFÃð*Ã`0Ãà÷ÃaÃàßðvÃPzÙÃð­à )Ãp{Ã0\à #ÃÃPðˆÃðÀ~ððÃà÷Ã@SÃàëÀûýÃÀ‹ÃÀ2ÃpòÃà˜Ã4Ã0DÃðÃÐ5Àã Ã(ÃàýÃFÃÕÃà\Ã`›ÓÃðƒà ˆÀ~À–ÃàëÃ@_ÃÀ&ðÿÃmÃ`<ÃÀ,Ã0JÃ…Ã@‰ÃÀÃpÈÃpàÃЬ à ‚ÃÐSÃ@eÃ@ÜàOÃÐÐÃ0>Ãpàà í!ÀûÀÃLÃPÃ@Ã`¿Ã`¡à$Ãð*ÃÀ,Ã`*Ã`BÃà€ÃÀ>Ãð•Ã`³Ã`›÷ÃpKÃ`­ÃÐ)!ÃÌ Ã°vÃ`­ÃmÃ@âÃ( ÃàtÃÀàÀÃyðvÃÀ—àÞÃ@kà ŽÃÐ5ÃêÃp]ÃÀàÒÃÀÃàÓ Ãð‰Ã`›ð|ÃððáÃðÃ`BÃàtÃð$Ã`¡Ç!ÃPh!ÃðÃÀ,ÃC"ðùÃð*Ã@eÃØÃ0¯À„ÃàhÃÀ—ðóÃðàÌÃ(à šÃ0Jà ó Ã@A!÷ÃpWÃàñà ÃpàñÃöÃaÃàßðvÃmÃÀ©ÃFÃPÃäðvÃ°Û ÃŸÀ„Ãð‰àÒÃLÃ`­ÃÐAàØÃ@eÃPà šðjÃ@ÖÃ`¡à ÿàÀà ˆÃ@YÃ4àÌÃ0¯ÃàbÃÀà ÿÃàbðjà á#Ã@¾!ð½%Ãðk#Ã4Ã0 ÃÀ‹Ã=#ÃàJ"à ÀïðáÃÀ‹Ã02à Ã@¾!ÃpEÀrÃ@_Ã0&ÃÀÃ.àØÃ.ÃÐSðvÃÀ Ãà€ÃàtýÃðÃpKðpÃpKà=ÃÀ©Ã0>ÃP†Ãð ÙÃpEÃÀ!à p!Ã0ÇÃmÃ0,ðóÃFÃànðóÃ0µÃ` "Ã`›Ã(ÃàñÃÀ!Ãð ðóàÀÃ"ÃFÃÀ&à ‚à À„Ã`³Àf Ã` "ÃpÈÃ`³ÃÏÃP˜Àf à |ÃRðjÃ0©ÃÞà ‚ÃLÃÀÃ@G Ã0»ÃÀ>ÃP†ÃàIàUÃ0Áà ŽÃPtÃÀÃ`¡ÃðÃPŒÃ0»Ãð¡ÃÐAÀ–Ã:ÃÉàÞÃÀ&ÃðÀõÃà÷Ã.ÃpÚÃð§À~Ã`³Ã`ÑàÞÃÀ,ÃÀ¯Ãð›ÃÀ©àÒÃ0\Ã0ÁÃ@Ã`­ÃP Ãðà ÿÃðàØÃànÃð*Ãsð ÀÃ0ÙÃànÃàýÃP ÃpKÃð¡ÃàÃÐYðŽà šñÃ`›ÃÀÃyÃ.Ãð¹ÃÀDÃ4ÃðÃaÃ0,Ã@ÜðL#Ãàhà ‚ÃðÃ@ð‚Ã.ÃpcÀ ÃÐâÃàýÃPh!ÃØÃÀ8àÞÃ@YÃ0,ÃgÃaÃà†àÞÃ`BÃà€À–ðpÃÐ;Ã4ÃàhÃp? Ãðú À~ÃFÃpÈÃp9!ÃgÀÃàtÀõÃpàÃà Ãð¹ð Ã` à ó Ã0©Ã"ÃpEÃPÃ0¯ÃðàUÃPŒÃðÃð‰ðáÃ4ðóÃÐ5ÃàÁ#à=Ã@ðvÃ@;"ÃPÃ(ÃPzÃÌ ÃÐGðùÃð§Ãà€àOÃ@YÃ@MÃàåÃð$ÃÀ»Ã@eÃmÃÛð‚ÃÀ‹Ã(Ã@eÃ`§à®!ðíÃ@MàÒÃpæÃ0©Ã0!ÃO à Ã0µÃ`§ÃÀö"Ã`¡ÃÀ&ð|Ã02ÃPzàÆÃ@¾!Ã`›Ãð} à¢#Ã@ÊÃàtÃÃI!Ãp3"Ã@Ä ÃÀ!ÃpEÃÀ"à´ ÃàåÃ`!Ãp¶!À~Ãð‰Ã0©ÃpÈÃp¼ ÃðÃP’Ã`$ÃðÃÐÖÃ`­ÃÐAÃÒÃ`• ÃÒÃp¼ ðÕ!ÃÃ`­ÃàÓ ÃàÍ!ðÏ"Ã@ÐÃà\Ãà\àÌÀ~ÃP÷àUÃÐGà ŽÃ`<Ã@eà ”ð‚Ã@Ãð­ðçÃÀ‹ßà à àºÃ`¹Ã:Ãp? À~ÃPÃaðíÃàåÃ@_Ãp]ÃpÎÃÐMÃàhÀÝ!ðùÃpWðdÃ`›ÃÐSÃÐâàØà Ãð•Ã@YÃ0DÃ`ËÃÕÃà ”Ã0>ÃPÀÃð ÃP€ÃÉÃmÃpÈÃÞà ÃÀÃÐSÃ0ÁÃFÃð•à ”ÃpÚÀïà1!ðvÃPñÃàOÃð ÃÀÀ„ÃàzÃsÃ"Ã@_Ã"!ðdÃð¡ÃÀ£ÃððùàÆÃüÀ àUÃPŒÃ08ÃüÃð6ÃöÀ„Ã0ÁÃÉÃÐÄÃÐMÃð•ÃÐÄÃ0JÃ`BÃ(ÃpÎÃðÃÏðóÃ`ÃÐ5Ãà\à Ãðà ”ÃðÃÀÃàhðùðˆñ÷ÃÀ8àgÃ02ÃðÃÕÃPå!ÃиÃ0ÓàØÃÐYàOÃÐSÃ`BÃàbÃÀ£Ã"Ã0 ÃaÃð$àsÃà÷ÃÐMà šÃmÃð¡ÃÃÃÀ&Ãð›ÙÃpiÀ Ãð‰Ã(ÃgÃ°Û Ã·Ãp{ÃÐÜÃàtÃpàðùð|ðùÃ^Ãð<àêÃpàÃaÃpÚýÃÀ ÃÉÀ Ãà\ÃÀ&ÃPžÃ0µðíÃ0ÁÃP!ÃàŒÃyÃêÃà†ÃXÃ0ÙÃ@Ã`HÀ–ÃðÃ`§Ãð¡Ã0ÇÃPÃð$ÃÀ÷ðÃöÃêÃsÃ0VÃ0ÓàÞÃÐMàmÃðÃjÃP¶ÃðÅð”ÃPŒÃð¡Ãà†Ãð6ÃpKÃÃpcà ”Ã`ËàÃàžÃ0åÃ@èÃðÿÃ0»ÃÀÀà…ÃàŒð‚ÀœÃ@}Ã@Ãêà šÃðBà GÃFÃàtà Ãð›ÃpiðšÃ@eÃ`ÃÐSÃêÃPÃÐMÃ0ÇÃÐâàðÃÃP'ÃPð”ÀàÒÃÐÖÃÐAÃð³Ã@èðpðÃàÃ@ƒÃÀÇÃÉÃàåÃ0,ÃöÃpoÃPžÃÐâÃ0bÃpÃÀ2à àØÃðÀ ð ÃÐeÃgÃ0µÃpÚÃÐÖðùÃ`0ÀÃ`HÃ@ÀÃP’Ãð¹Ã0VÃp{ÃÕÃóÃÐYÃàzÃÐ_àsÃíàgÃFÃ.ÃÐú÷Ã@úðˆàØÃpÔÃ@Yà )Ãð¡Ã@wÀ–ÃpWðùÃsÃð³ÃçÃpøÀ%ð‚ÃüÃÀ&ÃÃXÃ`0ÃPŒÃpcÀÃPÃ0»à Ãð¡ÃLÃ`0ÃÀ£ÃÃðÅÃÐ_ðŽÃP’ÀxÃàbÃàåÃàåàÌÃ@ƒÃÀVëÃÐÖÃÐâÃÐÜÃjÃÀbÃÀÁÃ`÷ÃÐYÀ à  Ã@kÃðÃð­ÃP9ÃàzÃàV ÃоÃ`BÃð­Ã@Üà ˆÃÐAÃàÃàýÃ@}ÃFàØÃÐ/ Ã@eÃð6ÃLÃð<ýðÿÃ(Ãðú àOÃðÃP˜ÃÀÓÀ7Ãp‡ÃP†Ã¥Ã4ÃÀ&÷à ²ðÃð•Ã@úÃ0ÍÃyÃ0PÃð­à ¬ÃÀ2à ˆÃàëÃpìÃÀ©àaÃXÃ0ÁÃÀ£ÃððÃÀÁÃÀ8÷ÀðÃ`¿Ã`¹Ã0µàÞÃ@úÃpøÃÐkÃвÃäÃиÃpQàÒ÷ÃpQÃ@Ã.ÃPñÃÀ,Ã0¯Ãêà ÃpàÃêÃ02ÃÐYÃÀµÃöà ¸Ã‘Ã`NÃð›ÃP÷ÃP˜Ã0ÇÃêÃ0ÁÃ4ÃpEÃ`BðˆÃ4ÃÃÀ‘ÃpQà Ã`BýÃ@îÃÐ5ÃÀ,ÃÐÐÃLÃPŒÀ~ÃçÃ,À¨ðjÃöÃÀDÃ`ZÃPžÃÐÜÀÃÀ2ÃÀ©ð‚àêÀ„à ‚Ã`­ð|ÃpoÃÀ à ŽÃ`<ÃüÃÐâÃð¡ëÃpÚÃLÃ`NÃ@îð ÀûÃÉð ÃÛÃà!à Aà )Ãð$àÞÃÉÃLÀ„Ã0©à ”ÃÃÐeÃXÃpøðð¦Ãð­Ã…ÃpþÀ%Ã0\Ã@îÃÀ£ÃÐÊÃPÃàŒà ¾Ã@ð‚ÃÀ,ÃðBÑÃ@Ãð0ÃÐMÃÃÃÐ_ÃоÃ0ÇÃp×ÃÀ»Ã0ÁÃêÃÐÐÃ^à  Ã`HÃÐYÃüÀœÀœÃpþÃð0ÃÃ^ÃÐÖÃ`ÅÃ@ÃsÃð6à ¸ÃÀVÃ0Và )ð Ã`ËÃ@kÃÐÜÃ@Ã0bÃjÃpìÃà€àØðùÃ0DàsÃíðŽÃöÃÐYÃ`TÀœÃà˜ÃÐâÃ0ßÃÀ,ÀŠÃ`Ëà ¦ðÃàëð|ÃÐqÃ0n×Ã:à ”ðŽÃÐkà Ãà /Ã.Ãgà ¦ÃpøÃà’ð¬ð#ÃÕÃpìÃÀÇÃ``ð ÃÀÇÃ@ÃáÃÃð<Ã@}Ã`Ñð¬Ã`ãÃ0JÃLÃ^ÃPÎÃP°ÃÀ2Ã` ÃÕÃüÃ`ÑÃ`lÃÐwÃ@ÃpìÃЬ ÀŠÃ@•Ã`­Ã^ÃpþÀ¢ÃÐâðvÃ0JÃð*À–Ã`ËÃPªÃÀµÃ@ÀÃ`BÃàtÃàžÃdÃàÃÀ©ð‚ÃpÔÃÐMÀrÃ0»Ãà†À„Ã`§ÃPb"ÀZ"à=ÃðÃ`0Ã`6ÃЬ Ãðw!à1!ÃPzÃð§ÃÀÃ°Û ÃðƒÃ0>ÃêÃ08Ã@Ä Ãðƒð^ Ã0 ÃPzÃ@kÃ`!ÃÀ ÀõÃaÀlàUÃÀÃ@G à1!à í!ÃPÃPÃàßÃ0 à ”Ã( ÃÐÐÃàñÃð›Ã@SÃp9!Ãp¼ ÷Ã08à ùÃ`§Ã0&à ç"Ãðè#Ù"ð^ ð|ÃÃÀßÓà ˆÃÀ ÃpEÃu$à(ÃðÃà€ÃðÀZ"ÃÌ Ã°X!ÃPÓ$à ÃðÃвÀõÃpÔÃÏÃpÂÃ=#à¢#ÓÀrÃ0&ð^ Ã`!Ãu$Ã0 ÃpKà  Ã@G Ãp'$Ã"!Ã` ðX!Ã¥ à ‚ðÕ!ÀïÃ` ÃPn ÀÝ!à ŽÃPzÃ@¾!ÃC"Ã` ÃÐÐÃð•ÃPn ÀlÃÐ#"ÃP÷ÃPå!ÃÀ‹Ç!Ã`!ÃÀÃàÆÃpÂÃ¥ ðíàêÃÐAà%Ã`!Ãð} Àf ÃÀ Ãð ÃPn Ãp°"Ãp9!Ãðú à¨"ëÃÐGÃp°"ÃàJ"Ãðô!àºÃPb"ÀT#ÃиÃPzÃоÃð à ó ðÏ"à¨"Ãðô!ÀT#ÀlÃðëÃPñÃþ"Ã` "ÀïÃàÓ Ãp¶!ÃàÙÃO Ãpª#Ãðè#ÃÀy"À`!à v ÃðƒÃPñÃ0&Ã0…$Ã0‘"à |Ãð›Ãø#à$Ãp9!ÃPn Ãðú ðóÃ4à v à ÃÀ Ã`ÃÀ!ÃpÈÃ"ÃÐ$Ã@Ðà ÃàÙÃ` ðóÃà÷Ã[Ã0£ðR"à ÃÀ ÃÀ ÃÌ ÃpÂÃ0©ÃÀ!ÀÝ!ÃpKÃð Ãð ßÃUÃð‰ÃÐ;Ã¥ÃaðÕ!Ã@MÃ@èÃÐYðvÃpEàºðíÃð›ÃFÃpÈÃ@¾!Ãðî"à |ÃpÈà ó Ã0µÃP†Ãð<ÃpÈÃð_%ÃsàaÃàzÃÐeÃððX!ÃpKàCÃÀÃpàÃÃà ŽÃpKðóÃ@Êð@%à á#ð^ Ã`*ÃÀð#Ãp-#Ã0ÁÃàtÃ0 ÃÀ… àºÃÀ‹Ã`}$Ã`w%ÃpÂÃ`Ã`›ÃPn ÃP†àºÃð ðçÃÐ;ÃÀàÌÃð•Ã`!ðpÃànà[ÃpÎÃp? àCà ŽÃÃ(Ã0»ÃöÃ@_Ã@ÐÃ4ÃP÷ÃðÃ@MÃ0µðpÃpÔÃðÃpÈÃ`¹ýÃð ðóÃPzÃð$ÀÃPÀ`!ÃÀ Àã àÌÃäÃиàÆÃÐÄà ŽÃÐÊÃPýÇ!ðvÃàÙðpÃÀ&ñàmÃpcÃP'ÃÐSÃ@ƒð/Ã:ÃðƒÃ`§Ã@ÃpÔÃO Ã0!ÃÀà ÿÃÀà=à1!Ã`#ÃPñÃàV Ã08Ãp]ÃðÃ@îàêà ð‚ÃêÃ4àÌÃÐMÃðÃÃÀïÃðƒàØÃ`BÃð¡à ˆàCÃ`6ð|ðùÃ@SÃpÚðíÃRÃaÃ`0Ã@kÃ:Ãà÷À–ÃðÃ`0Ã`¹ÃÀ¯ÃpKÀ~Ãð§ÃmÃÐkÃ0VÃÏðjðpÃpæðvðóÃP\#Ã@;"ðjÃÐSÃà€ÃPýà ÃÐ/ Ã0&ÃÀÃ@eÃ`*àÞÃÀÃ0,Ãð} à®!Ã@ÃÐGÃà€ÃpìÃ0£Ã@ÜÃüÀÃ`ÑðùàaÃäÃÀ—Ã`­ÃÐAÃgðíà ŽÃ¥ñÃ0µà p!Ã`‰"ÃPtÃ"ÃÃpàÃmÃÐ/ ÃàñÃð*ÀÃpQÃÀ‘Ã0#ÃðÃ°Û Ã™ÃàßÃÀ… Ã¥Ã`BÃà€ÀõÓÃpÚÃà Ã@èÃ`³à v ÃPŒÃ`¹àÀÃ@qÃà€ÃpcÃPn àIà ÿðáÃà÷ÃPÃ0>à ŽÃ@îÃpWÃ"ÃpWàOÃ0 ÃÐÄýÃ(ÃP€Ãp]ÓÃpKðˆÃÐÄÃ¥à !àCÃPÃÃð›ÃÀ… àCðpà=Ã4ÃÐ_ÃP˜Ãð¿ÃÐèÃ`ÅðÃð›Ã@àUÃ`§ÃвýÃ¥ ÃÀðçÃÀÃ`¿ÃàýÃ0ÁÃ`Ãð•Ãàëà  à[Ã`HÃÉÃànÃ.Ã:Ã4ÃÀ£Ã@_ÃÐúÃRàºÃоßëàOÃÀ¯ÃÀÃ( Ã@ÊàÞÃððÿÃ0ÁÃpKàÌà ÿÃð‰ÃвÃàhÃ@ÃpþÃ@wÃ@ÜÃàåÃpàÃP¤À~ÃpÈÃð ÃàñÃPð‚Ãð›Ãp]ßÃ¥ñÃ02Ãð›ðÿÃÃÃp]ÃиÃ0!ÃðÃð ðvÃpÎÃ0&Ãð§ÃäÃ…ÃÀ,à Ã@_ÃyÃRÃPð”ðÃÐMÃàØÃpQÃàëÃêàöÃpÃÉðÃ(Ã¥ÃÕÃpæÃàýðóÃ@qÃ0JÃÐÖÃÀ ÃP€Ã@YÃÐMÃpQÃàñÃ@ÜÃÀ£à ÃpÎÃP’Ãð­Ã0ÍÃ`³Ãyà ÃP÷ÃPŒÃ@úàIÃp? ÃLÃÐqàsÃÀÃÀ2Ã@qÃmÃðÃðà |ÃàßðóßÃð¡ÃÐMÃоñÃð0ÃÐSÃPýÃÐÄÃÐâð àºÃPzÃ@ÜÃ.ÀÃà ÃÐâà ÃàñÃ"÷Ã0µà #Ã0»ÀŠðà àÒÃpcÃÃ0»Ã@kðÃýÃà Ã"Ã0>Ã@ÃP˜ð‚÷Ã0&ÃäÃÐÖ×ÃÐGÃPÃ0ÁÃP Ã0VÃà÷ßÃ@kà 5ÃP'Ã@ôÃÛà[Ã@ßÃ`¹ÃÀ Ã`*ÃÐÐÃÐMÃpÂÃàßðÿÃpiÃp]Ã`¡ýÃÀ£ÃÀÃ(ÃyàmÃð›ÃLÀ–ÃP¤à  ðÿÃPýÃ08Ãð¹à Ã@ÖÃ(ÃàŒÃ@wÃÃð$Ã@ôÃPÃÀ Ã0>ÃpÂÃ0µÃ@è÷Ãà†ÃpøÃpþÃyðÀÀŠÃpKÃÀDÃP°ÃpòñÃà #ðÃ@_ÃÀ"ÃpÈÀxà ÄàÃð<àaÃÃÃààöËÃàÃ`Nð àÞÃP¶ÃRÃP˜ÃðÃÉàmÃpoÃ:ðŽà šÃÐ;ÃÀÃpWàØÃXÃ0µÃðô!Ã0»ÃðÃ4Ã`³ÀÃpEàÒÃpìÃPŒÃpÚÃ@âÃ`ËÃ0ÍÃÏÃRð‚ÃÀµÃÀ»à )Ãà†ÃÀ‘ð^ Ãð0Ã@YÃð‰ÀûÃpæÃð³à ¦ÃðÃ`¡ÃÐÖàÒÃð•àaÃàhýàäàaÃP-ÃyÃà€ðÿÃÐAÃ@MÀxÃO ðX!Ãà÷Ã@ÃdÃÀ Ã08ÃgÃð¡ÃÐGà AÀ–ÃüÃàñÃ¥à7 à Ã@qÃ02ÃI!ðóÃ@_Ã@úà À~ÃðÀ`!ÃÐ;ÃðƒÃð à ðÿÃànÃ0DÃ"àOÃàñÃðÃ02ÃÀ—Ãð‰àêÃÕÃ:Ãpcà ÃFÃPŒðíÃÐGÃànÃð›à v ÃàåÃà Ã`0À~ð‚ðóÃÀ,Ãð›Ãp9!ÃÐ#Ã0£à )ÃPžÃÞÃÀÃðÃ@Ã@_à à ÃàñÃàbÃàýÃÐ5ÃP˜ÃðÃð›ÃÏÃLÃÐÊ÷ÃàåÃànÃ`¡ÃàP!Ã@ÐÃÃ@}Ã`¹ÃaÃÐSÃ@âÃàëð Ã@kÃPzÃp9!Ã@ÜÃÃ@îÃÐYÃ0ÓÃÐâà ÃР"ÃðÃÀ©ÃÀ‘Ãp]Ã`BàÒÃpÈÃpQÃPŒÃÀ‘ÓÃÀ ÃànÃàÃà Ãöà Ã0ÁÃØÃPýÃpEÃ+&à®!ÃÏÃÃÀ‹ÃÀ2Ã`BÃàñÃpWÃêÃð•ÃÉÃpÈß!ÀlÃиÀrÃO Ã`• à |ÃðÃ@ÐÃmÃp]ÃàßÃ@Ä Ã ´ ðvÃ.ÃÀ Ãðô!àÀÃÀðpÃpQÃp9!Ã`¡ÃpÎÃàßÃ[ÃÐMðvÃ@ÖàCÀrß!Ãp? ÃÌ ÃàbÃ@MÃ"ÃÀ‹ÃÀÃÐGÀf Ã0#ÃÀ‹ÃÀ—ÃpÚÃ0…$Ã0%Ãp9!ÃàÍ!À–ÃöÃ0‘"Ãðq"à Ãð$Ã@úÃpQÃ@ÜÃ@ÃðÃ@kÃpÔÃÃ02Ã[ÃPë Ã`ƒ#Ã0!ÃP†à ó ÃÀ‹ðçðvàIÃðÖ&ÃР"ÃpKÃàV Ãð Ã¥ÃêÃðÃaÃ0£ßÃ@Sà7 ÃàV Ãpcà ”ÃØÀ`!à ÃPñðpÀõÃpQÀ~àºÃàßÃPýÀÀÃP†Ã`›Ãà\Ã0¯Ãð›Ã`$ÃPë ÃUà%#ÃPh!à=Ã`<ÃpWÃÐ;ÃàßÃp? à ˆÃ@MÃ0 ÃØÃ"Ã@ÜÃÞà !Ã@èÃP÷ÃàbýÀÃàtÀÃ0©Ã`›Ã@ÊÃpWÃ` Ã$Ã`Åà ¬ÃP Ã0,Ã`!à ùÃ7$ÃàD#ðjà à´ Ã`³ÃÐ)!à+"Ã08Ã`×Ã@ÖÃpª#ÀõÃ0—!Ã0©ÀûÃ`$ðáÃÃÐ/ à v à Ã`!Ã@YÃÀÃpKðùÃÐÄÃC"àØàÌà j"ÃÃðàºà j"ðÕ!àÀÃØÃð} àgÃÐÊÃà ÿÃmÃpQÃàßÃu$ÃP\#Ã:ÃÀ—Ãðî"Ã0 ÃpEà X%Ã@¾!Ãð ÀéÃp3"Ã@_ÃFÃ`*à v ß!Ã@;"ÃÐ;ÃPzÀûÃ@5#Ã0"ðL#Ãðè#Ã0©Ã@ÊÃÐ;ßÃØÃð‰Ã#Ã`#ÃàÍ!Ã{#à%#Ãðô!Ãp¶!Ãp9!ÀÃp¼ à ÿÃÀ… ÃÀs#Ã@²#Ãðè#à=Ã0¯ÃÃÃpÎÃ¥ Ã@¾!Ã`#ÃÐ;Ã4à1!à á#à®!à í!à šÃp3"à ç"Ã0…$Ãðî"ÀÝ!Ãp¼ ÃPtÃ@¸"à ^$ÃÐ;ÀrÃò$à í!à ÃPtÃp¼ Ãð àºëÃ@Êà ‚ÃÐAÃ0 Ãp¤$Ã`‰"à[ð^ àŠ'ÃÀð#Ãp'$Ã`ÃI!ÃÐ5ÃÐ5à ˆÃpÔß!Ã@;"ÃÀs#Ãðâ$Ã"ÃàÇ"Ãì%ÀÅ%à Ãà\Ãð‰Ã@YÃ`¡ÃР"ÃPn ÃðƒÃÀö"ðdÃð$ÃP ÃP÷ÃÀö"ÃÀÒ(ÃЬ Ãðô!ÃànÃLÃp]ÃI!Ã.ÃpÈðdÃàJ"Ãðw!ÃpÔà šÃ`ÃPÙ#ÃPýÃpQÃ0 Ã0 Ã02Ãðô!Ãà2&Ã0!ÙÃpKÃpQÃ@}Ã0¯Ã0‹#Ã@¾!ßÃP€ÃÐ;ÃàÙÃp9!Ã0 ðáÃиà®!ÓÃàÍ!Ã4àCÃaðÕ!ÃpQÃ4ÃÞÃ`!ÃÐ#Ã"Ã¥ Ã`!ÃÐ#Ã@ÊÃÐ;ÃpÂà v ÃpÂàÌÀïÃðq"ÀlÃàßà Ãp°"ÃàD#ÃÀs#à í!àÆàIÃàÇ"Ãà»$à¨"Ãp¼ Ã0"ÃÀ!à v ÃàV Ã0 ÃpEÃÀ‘ÃPn à1!ÃðÃ0,Ã"Ã@A!à®!ÃàÍ!Ã`!ÃðƒÃ02ÃpQà+"à+"Ã¥ Ã@ÜÃàßÃ02àOÃ@Üà7 à=ÃI!ÃðÃðƒÃP\#ðÕ!à7 Ã@ÜÃàbÃ@;"àºÃðƒðóà ðáÀrÃPzÃ.Ã0,Ã`$Ç!Ã@Yà à ëà j"Ã0&Ã02ÀN$Ãðî"ÃàßÃàhÃ:ßðjÃ@Ä Ã !ÃO ÃÀ—ÃàßÃ0»ÃàhÃÐÐÃð›Ãp¼ Ã`ú$à p!ð^ ÃàßàÆÃ`ƒ#Ã`• ÃàP!ÃpÂà=ÃpÎÃsÃ0"à%Ãp9!ÃðÃ0¯Ã`§Ãà Àà ùÃ`¡Ã`­ÀéÃ¥ÃÀÃиÃpEà ”ÃÐ5à ùðíà ŽÃ0"à Ã` Ã(ÃgÃ@ÐÃÀy"ðdÃ08à Ã0>ÃPŒÃÐÊÃ¥ÃàhÃÐ;ð‚ÀÃÕÃmÃ0»ÃÐGÃðÃPtÃÐ;Ã@eð|Ãð$ÀÃP˜ÃRÃP°ÃÐMÃàP!ÃðÃà Ã@}à àIÃоÃPýÃ0 ÀÃ`<ÃÐ;Ãp]ð|À¢Ã`0Ã0>ðŽðùÀlà[ÃÐAÃð›ÃÐ#ßà Ã:ÃÞà Ã@èÀ~ÃPÃPÃ@Ã:à ÃRÃ¥ÃÐîÃÐèÃ@ÜðdÃÃÃPýÀÃ@ÃÀ,ÃpÚÃÏà ²àÀÃ#Ãðƒà )ÃüàmÃÐeÃPÃ0>Ã@ÜÃÀ ëÀÃpÔÃ02Ãð ÃP˜Ã0DÃPðùÃ`­ÃyÃØà ”÷ÃàtÃ@_ÃоÃPn Ãp¶!Ã08ÃêÃ`<ÃêÃàhýÃð6ÃÐ_à ÃyÃ0DðÃàßÃð‰ðdà ÃP à1!ðÕ!Ã:ÃÀµðvÃð6ÃÐÊÃð•à ”Ã`6ÃFÃpWÃ0»ÃPýÃ0£ÃÀ‘Ã`ÅðÿÃÐ;Ã0»Ã¥Ãиà ”ðˆàÞÃ.ÃàÓ ÃÐÊÃP ÃPtÃ@MÃðÃ`¿àOÃPàÞÃàñÃ0ÇÃPÃð›ýðˆà Ãð³ðŽÃàñÃ0—!Ãðw!ÃÐ)!Ã0©ð|ÃP’ÃÀ… ðjÃ"ÃÐGÃÀÁà 5Ã@qÃLðjÃØÃÀ ÃÉÃà€Ãðƒà1!Ã`ðùÃð$ÃÐYÀûàÌÃmÃànÃÐMÃÐÖÃ0Jýà ùÃð•Ã@qÃÞÃÀ‘ÃÀÃðƒðíàäÃð¡Ã0>ÃFÀÃp]Ãàb÷Ã0JÃàë÷ÃpÎÃ02Ã0ÇÃ@_àCðùà Ãà€ÃÐMÃðƒÃÕðÿÃpÎÃÏà ¬ÃP à  Ã‘ÃÐeÃðƒÀrÃ"ÃpÚÃðð‚Ãð0ÃpàÃpQÃÃÃP˜à=Ãðô!Ã0#Ã4ÃÀ©ÃÐÜÃð­Ãð$Ã0µÃ02à ùàÒà Ã@_ð Ã4à ÃÀ2ÃÐâÃ0>ÃpcÃ0¯àÒÃ(ÃÀ&à ŽÃp¶!à  Ã`TÃà€ðdÃPtÃð¡ðùà /ÃàëÃpQðóðíÃäà ÃàzÃäðùÃÐ;ÃàßÙÃ0¯Ã0\Ãà†÷ÃоàCàgÃÀ2à šÃÐÖÃð Ã0»Ã`6ÃP†Ãpìð‚Ã02Ã@SàÆÃ`6à ¬ÃP3ÃÀ£ÃP’ÃðÃÃPà ”à ÃÃ@ÃàñÀ„ÃP¤ÃÃpcÃàýÃP’ÃP!ÃÃ@kÀÃPtà Ã@wÀœÀã ðóÃÀ Ã0PàÃð<ÃmÃ0Áà ˆÃÐÜÃ@kÃÃP-Ã0DÃÐÊÃ`*ÃÃÀµÃpiðpÃ0&ÃÌ ÃmÃüÃ`­ÃÀ—ÃLÃÀ,Ã0DÃpWÀð)ÃP¶ÃÀJÃ@eðpÃ@èÃÐ_ÃÛÃ0ßÃ0ÁÃ:àaÃLÃàhà ‚Ã@ÖàÌÃ`HÃÀ&ÃÉÃ`*Ã0åÃP°ÃÐGà ŽÃÐèÃ`<à ¬ðšÃÀ,ÃÐSßÃpÚàOÃÐGÃÕÃÀ©ÃàtÃ0ÙÃjÃ`Bàäà ²ÃÐâÃÐ;ÃÀ ÀÃpÃÀÁÃÀ¯Ã`ÑÃÐÊÃ:ÃÀµÃð<àyð”ÃpÈÃðÃ@_ðpà[Ã0ÇÃPžÀðšÃ…ÃÀ£ÃÏÀ¨ÃàŒà´ ÃÐAÃÐSÃpuÃÐqÃ`BÃ"ðçÃàåÃP˜ÃPÃð­Ã0VÃ@ÃÃÐkÃêÃÐkÃpæÃÀ2ð|à ÿÃÐâÃÀ©Ãð à ‚ßà #ÃÃð¹Ã`TÃ`TÃðà àäà )À%Ã0ÙÃ…ÃÐÜÃ`Nà |ÃpWÃ@qÃ0ÍÃàëàsÃ`TÃpcàÒÃÐâÃÃmà[Ãà )Ã@ôÃáÃpiÃÐèÃ…ÃÐYÃ`ZÃàð”Ãð0à ¦Ã`NÀÀ¢àäÃ`¡ÃànÃpÎÃpàðÃð ÃP†Ã—Ã0ëÃð*ÃÐÜÃPžàaÃÐèÃdÃ0JÃ0PÃðà Ã@eÃÀ2Ãp àöÃpìà ²ðÃP!ÃÃLÃP!àmÃÀ ËÃÃ`HÃÀ2Ã@îÃsÃà€Ãð§ÃÐGÃàëÃÐeÃÀ¯Ã@wÃ`ËÃÐÊÃ4Ãà†ÃPªðà  ÃàýÃàÃ@}Ã``ðšÃpWÃ4ÃgÃ0ÓÃ…ÃsÃP†ÃÐeÃÃàÞÃÀ ÃðÃÃÃÃ0JÃÐÜÃàýÃP÷ÃpÚÃ`BÃöÃpìÃð•àÞÀœðÿÃP˜À1Ãà˜ÃÐGÃp? ÃÀ©à ”ðóÃàŒðíà ÃÐYËÃ`ZÃÐ}Ã0JðpÃðÃRà Ã.ðvÃpìÃ0ÍÃàÃÏÃóÃLÃ[ÃàðÃÀ2Ãð§ÃÀ2ÃÐèÃ0»àgàÃP€Ã.Ã@qÀ–ËÃÐSÃ0©Ã@ÐÃÐAÃÐ5ðpÃØà ÿÃPÃð‰ÃRÃàà ¦àgà À ÃöÃP¤ðˆàÌÀÃêÀÃ4÷àaÃð ÃÃP\#ðóÃ0PÃmÃpEÃð} àÌÃ0»Ã@úð|ÃÐAð^ ðjÃP†à[Ã(Ã@_ÃPtÀ„ÃäÃ:Ãðð ÃðÃêÃÀÃÀÃ0ÇàÞÃPýÃ0 ÃÐ;à ”Ã@kà®!ðçðçÃPýÃLÃP¤ÃÐSðùÃ`<ÃàÃpQÃPzÃà\ÃÐMÃpÚÃ"!ÓÃÀ‹ÃØà Ã`¿Ã0»à ŽÃpæÃ0VÃÏÃÐSÃ`TÀÃÀ£Ã`¡ÃpKà ˆÃ0&ÃÐâàgÃðÃ0»Ã0»ÃðÃà ÃäðdÃоÃ0ÍÃàýÃÀÃp? ëÃ:àðÃÐâÃÀµÃP!Ã@wà  Ã0¯ÃpÔà ÿÃêÃ`ËÃà’ËÃP˜ðŽÃP°àOÃÀ‘à šÃPð‚à šÃÀÃpWà à ˆÃÐAà ”ÃàñÃ`<ÃàýÃpcÃ@kÃ@MÃÞÃÐÐÃÐÖÀŠÃ`¿ÃÀ»ÃÛÃ0J÷ðùÃ`*Ã`<Ãpcà Ãð•ÃØÀÃðÃmð ÃÐqÃpÚÃ0ÁÀÃ.ÃðÃPÃPžÃÐSàØà ðóÃàÃÐÐà ”ëÃÀ—ÃÐÖÃ@îð‚Àïññà ²ÃÀ,Ã@îÃ`›ÃpÂÃÀÃàŒÃpÃ@Üà ÿÃàzðÿÃàßÃyÃ`HÃP Ã@MÃP÷Ã`0ÃpÎÃ"Ã.ÃöÃðÃàðùÃàzàOÃpÈÃPýÃànðçÀf à ŽÙÃðñðjÃsÃpÚÃÐ_À¨ýëÃPÍ%ÃP†Ãð0ðùÃpøÀÃð›ÃP!àöÃоÙà Ãà÷à ÃàýÃyÀ„ÃÀÃmÀ+ðÃ`ÅÃ`<ÃÀ—Ã` "Ã02Ã@_ðR"Ã0&ÃÐÄÃðÃ`<ÃÐAÃ`§Ã0JÃÀÃ¥À~Ãð¡Ã@_à ÃàV ÃPžàyÃ.ÃPn Ãp9!ÃpQÃÐSÃÐGà šÃ0ÁÀ ðÃRÃàÃÀ—ÃUà$Ãðk#ÃÀü!ÃÒÃP˜ÃÐÜÃð$ÃP˜ÃÐAÃðÃàzà #àÆÃpQÃà Ã0>à À~Ã`BÃöÃð­Àà ‚Ã@ÐÃ`¡ÃÐGÃRÃ@ôÃ0ÍÃ0©ÃÞðíÃ0»Ã@_Ã( Ãà÷Ã`ËÃÀ,à )ËÃ@qÃÃÕÃànÃgÃÀ… Ã` ðvÃоÃÐMÃ02àêéÃFÃð‰ÃüÃpÔÃPn àÀÀ„Ã@úÀÃPýàIÃ@ÖÃÀà à !ÃpKÃ( à ðùÃ`³àØà ÃàzÃ0ÁÃ"à Ãð ÃàÙÃ`<àäÃÐ_ÃPÀéÃ@Ä Ã@ÊÃp]Ã`¿Ãà†ÃyÃðÃØÃFÃ`NÃ"ÀÃðñðÃ@èÃðà ¬Ã`<ÃàŒðˆÃpæÃÐMÃ02ÃØÃ(ÃPžÃ@ÖÃ(Ã`6Ã.Ãà€Àûà´ ÃP€ÃÐMÃsÃ0©ßÃà\Ã`¡ÃÀµÃPÃp]ÃpÚðáÃà†àºà[Ã0ÓÃ@ÃRÃ.Ã¥à ‚Ãàð à ”Ã[ÃànÃsÃpiÃÐMÃ`¹ðpÀûÃp3"ÃP÷àCàOÃÀÃ0,ÃÀµÃÀ&Ãêß!ÃÀ à ðˆÃÐÊÃð‰Ãð‰ÃÐÖÃ:ÃÐAàOà ”ÃP Ã@_Ãð$ÃöÃÃà[ßàÒÃð$ðjÃÐAÀ–Ãð³À%ÃsÃÀµÃàÃÃÃPà Ãàýàêà  Ãà€ÃðÃð$Ã`§ÀlÃà\ÃPh!Ã`›ýÃpìÃ`ÅÃPzðáÃ`<à ¸ÃÀ\Ã`ãð5Ãdà ”Ã@eðjÃ@ÖÃPÃÐGàüÃFÃpì÷ÃÐ;Ã0©ÃÐAñÃ@qÃÀÃàëÃðƒÃ`6ÃàŒÃP'Ã`³àOÃp]à )ÀÃÕÃPÃÐÊëð‚Ã@ôÃð›ÃÐÐÃP-Ã`ÅÃÐYÃÃPÃPžÃP!ÃÀ»Ãð³ÃÏà ¸Ãð0ðˆÀ~ÀœÃÐÜÀà #à  Ã:ðÃ`HàyÃpià #ÃçÃ@ôÃ@îÃFÃð³ÃyÃ@ôÃ@kÃ@Ã@âà /ÃÐqÃP!àyÃ0ÓÃ`ÑÃÐâà 5ÃÏà )ÃsÃÏÃLÃ`HÃÐMÃÃð<ñÃ:ÃààmÃÀÍÃà¤ÃàÃPÃ0DÃ`<Ã0JÀ¢Ãð­ÀœÃp{àÃpøÃ0VÃÀ8ÃP’ÃÕÃÉÀÃLÃdÃÀ>Ã`BÀûÃÐMÃð¡ÃÐÄÃÛÃ0bÃÐSð‚àañÃà˜Ã@q÷ÃÐGðŽÃ^À„Ãà€ÃÐSÃ@à[Ã¥Ãà€Ã0>ÃP?Ã0ëÀ¨à  àgÃjÃÀ¯ÃLÃ0ÙÃÀ Ã0ÁÃ`TÃ:à[Àà #à  ÃàÃà ÃpàÃ0ßð)à 5ð”à ¬à ¬ÃÐeà  Ãà ÃÃ`6Ã@ôÃ`NÃpuÃà€ÃðÃð6ÃP˜Ã@wÃËÃàŒÀ¢ÃÐÖà  Ã`ÑÃàtßÃmÃ`Nð#Ã0ÓÃð§Ã@îÃð$ÃÀ8ÃüÃÐYÃüÃÃpìÀàØÃÐÖà ¦à ²ÃàýÃüð|ÃXà[ÀÀŠÃð¡ßÃàÃðÃðƒðdðÃ`HÃ0PÀÃ`×ÃPŒÀã ðvÃÐèÃð*Ã0»Ã@wÃÀ>ÃàýÃ0»ðÿÃXÃpìàaëÃ@G Ã0PàüÃpòÃоÃsðÃP!ÃpiÃðà ÿÃpuÃ@ƒÃÐÜÃÀ¯Ã`*ÃPn ÃPñÃÏÀ¨ÃLÃÀ£ÀT#Ã0µÃpþà ²ÃÐúÃP¼ÃÀDÃ&ÃÐÜÃàŒà ;ÃÀ>ÃðÃÃðˆðdÃ^ÃÐâÃàëÀ„Ãàà  ÃßÃ@eà šÃÀÃ0ÇÃP¤Ã08Ãð$ÃáÃÐYÃ@qÃðBÃ@ôÀõàOÃ@úÃÀ>ÃÀ>Ã0åàsÃPÃÐ5ÃàýÃP!ÃðÃsà[Ã@îÃàýÃ0Pà ¬ÃpEÃÐGÃÀ©ÃpoÀ ÃоÃ@ÐðvÃPýÃànÃ0µÃäÃ@èÃÀ¢ðˆàIÃ`­à Ãð$ÃpÔÃ02Ã08Ã0µàÞÃÐÊÃ@ÐÃdÃPýðÿÃgà Ãð•ðùÃ`­Ã.Ã0,Ã@Ã@ÜÃ`• ÃP÷Ã@à ‚ÃÐÊÃÀ©ÃPÃ@;"Ã#Ã"à ÀûÃиðvÃàýÃPÃð•ÃÐMÃpWÃ0 ÃI!ÃÀ‘ÀõÃ0©àºÃ0$à d#Ãp¶!Ã¥ ÃððáÀïÃpKÃpEÃ02à ùÃÐ#"ðáà ç"Àrà ÿÃÀÃÐ5ÃÐ/ ÃO ÃÐ#"ÃК#ðÏ"Ã0!Ãà»$Ãp9!ÃO Ã=#Ã0!Ã=#Ã@MÃÐ5ÃpQÃ0,ÃÐ/ Ã@¸"Ãà\Ã@ÖÃàëÃ`³ðçÃÀ!Ã0ü%à ç"à1!ÀéÀT#ðpÀã ÃÀ‹Ã0©Ã`§ÃPë ÃðƒÃЬ Ãp¼ ÃàÓ ÃÐ)!ÃðíÃ`‰"Ãp°"Ãø#Ã0 Àf ÃPå!ÃÀy"Ã`‰"Ã`!àCÃÃÃpÔÃpEÃPñðX!à á#ÃÐ%ÃP\#Àf ÓÃÀ‘ÃpÎà¢#Ã0‘"ÃðÃÀ—Ãð‰ðjÃ@SÃ@G Ã@Ä ÃðÃpEà |ÃpÎÙÃвÃ`³ÃÀÃpEÀT#ðF$à=Ã0>Ã@ÖÃàbÃðÀlÀõÃp]ÃÀ ÃàßÃà\ÃPå!Ã0 à ¦Ãp¼ à v ÀïÃ0,ÃÞÃyà ÃI!ÃÐ;Ã@MÃPn Ã0&ÃàV ÃÀÃàhÃÐSÃðÃÐ)!ÃàP!Ã@MÃPÃð•Ã0µÃЬ à í!ÃÀ Ã0µÃpQÃpEÓ#ð@%À¹'Ã@;"Ã( Ã` ÃÐÄÃ@àäÃÐÖÃ(ÃpWÃ`¡Ãð Ãð•à j"ÃI!Ã0ÁëÃð Ã0,ÃÀÃpWÃ`• Ãðô!ÃPß"ÃÞÃàåÃ`³ÃÒÃ0>Ã:Ã0µÃðô!ÃPë ÃÀ‹à Ãà÷ýÀÃàýà à=ÃàÁ#ÃàhÃÏÃÐAÃ@ÃÒðíÃ( ðáÀŠðpÃÀö"Ã`Ã`Ãð•Ãð›à[Ã.Ã@îÃ¥à[Ã`¿Ã@eÃ0©Ã0»Ã@âÀT#Ã`#à í!Ã0‹#ÃPñÃ`³ÃpìÃð§ÀlàÀÃ0©ÃÀÃð¡àÞÃ@Êà ‚ÓÃ( Ã0&ëÃÐÜðpà v Ãð Ãàëà ÃPh!à j"Ã0©ÃpKÃ0£Ã`›ÃÀ À~ÀéÃ`<àºÃ0»Ãp]à[ÃP÷à ùà¨"ÃP€ÃÐAÃ.ÀïÃðÃäÃàÇ"Ãð ÃpÎÓÀxÃÐAÃ`¡Ã Ãp-#ÃÃиÃ`­Ãð›Ã:à ˆÃ`<ÀÃ0 àCÃpÂÃÀ£ÃÀ‘ÃPn àOàOÃÐ5ÃÐ;ÃP ÃpKÃðk#Ã`Ã:Ãð Ã.Ã0,Ã@Ä Ã`• ÃÐSÃÐÊÃÀ‹ÃpQÃpÚðÿÃànÃpQàÒÃ°Û ÃmðˆðíÃ@eÃÀ©ÃP!ÃpàÃUÃÐÐÃ0&ÃÀÃ[Ã0,àÒÀõà ÃPÃÒÃp3"Ãà>$à¢#à ó ÃpWÃÀÃaÃÀ‘ðR"ÃÀ Ã¥ ÃÀ‘Ã02À„ÃÀ£ÃPzÃÌ ÃPë ÃÐ;Ã0#ÃPtÃ`³Ã0¯ÃÐGà Ã@ÊÃÐSÃ@àIÃÐÜÃÐSÃ0»Ã@ÃPýÃpQÃP¤à )ÃÐ;ðL#ÃðÃ0JÃÉàêðX!Ãà\ÃàhÃpàÃP’ÃàhÃД$Ã@ðvÃPß"Ã0"ÃPñàÌÃpKÀõÃpÂÃPÃ`HÃ@qÃð‰ÃpcÃp]à ÃÀÃ02ÃÀàÌÃpìÃ0PÃ`ÃàV ÃP†àCÃp9!ÀïÃ"ðL#àCÃPñÃ08ÃÐÖÃ`¿ÃД$ÃO Ã`­Ã:ÀŠÃ@ÃàñÃ`àÆà !ÃpEà à7 ÃÀ!Ãðw!ÃàÙëÃ0DÃð‰àCÃ@_ÃÃÃàëÃ:à ÃÀ2ÃPÙÃ`6ÃðÃ`• Ã0µÃ`¡ÃÀ!Ã0¯ÓðX!ÙÃ¥ ðjÃànðóÃÀ>ÃðÃðÃP†àÀÃàtÃÐkÃ0¯ÃsÀ ÃUà p!ÀéÃÀ—ÃÐ)!ÃpÈà p!Ã¥ à´ ðóÃàÙÃ@_Ã`¡ÃР"ÃPë ÃÃà ÃÀÃÀÃpEÃðq"àCðÿÃpÎÃ.ÃÐ)!à ð|Ã¥Ã@eÃ`0à=ÃPýÃsÃиÃÀ¯Ã.ÃPÃàbÃÐ/ ÀûàÀà´ ÀïÃP ÃpÎÃ¥ÃPh!ÃÀðùÀÝ!ÃÐ)!ðÿà ùÃÀ"÷ÃpÈÃÐGÃàÃpKÃ@Ä Ã°óÃàýà ˆàÆà v ÃP Ã`*ÓÃ`#ÃÀ£Ã"ÃÐ;ÃÀ‹Ã:Ã` ÃPzÃ`­ÃpQÃà€ÃðÃ`0ÃÃðóÃÃÐGÃÀ&ÃàåÀxÃÐ5Ãà†Ãð*Ã¥ÀéÃp? àØÃ`ËàÌÃpKÃàÙñÃ0ÇàÞÃðÃ(ÀÃpÚÃÐeà Ã0>Ã(ÃØÃÐ;ÃÐGÃ@Ãð$à ”Ã08Ã`*ÃP’ëð|ð ÃpòàUÃàP!Ã0&ÃäÃ0>ÃÕÃ@èÃP¤Ã@wÃÐMÃ)à v ÃÀÁÃóÃÐèÃð­Ã`­ÃànÃ@eÃ`6Ã08ÃLà ”ñà ÃÃ0ÇÃðÃ08Ã0&ÃmÃpoÃP ÃP÷Ã.ßÃàhÃp]ÃpæàØÃÐÊÃÐÐÃ`6ýÃàÃ02àºÃÀ ðÃÀ¯Ã@ÐÃð¡à šÃð0Ã@âà à #Ãð›Ã0DÃ@ÐÃàýÃ0»ÃÐ;ëÃ`<ÀýÃ@à )ÃPÃpÚÃÀ—ÃÃðvÃÃð0ÃêÃFÃÐYÃà€Ã0¯ÀrÃ02Ã÷Ã`*Ã@Sà[ÃäÃpÈÃpEðjÃð§Ã‹ÃÐîÃXà )À~à |ðŽÃP-Ãà€ÃüÃÀµÃ0JÃð Ãà 5Ã`³ÃÀ‘Ã0>ÃP ÃÀñÃgàUÃð*Ã`¹ÃØÃpÂàCÃÀ>ÃðÃ:Ã"ÃP˜Ã`³à Ãð•ÃðÃ@eÃFÃàëÃÀ,Ã`6ÃÐAß!ÃgÃà Ã0ÓÃðÃÀ£àÞ÷Ã@îÃ0©àØÃàŒÃ@îÃ`Åà ŽÃ0DÃð§àÒÃ"ÃвÃ4ÃpÔÃðÃðƒÃð•À–Ã@}ÃgÃÐÄÃ@kÃsÃmÃ0ÇÃð à ÿÃ0¯ÃpÚÃÀÃsÃäÀlÃð‰ÃðÃÀ©ÃpÔÃÐÄÃÀ¯Ã@ôð‚à´ àÀÃP€Ã.Ãà÷Ã02à ¬ÃÐÜÃÐSÃð$ÃàtëÃP†Ã`§ðóÃ0,ñÃPzÃÕÃÐYÃP÷Ãð} Ã"!Ãàbà ˆÃ`‰"÷÷à ÃpQÃð•ÃPÃ@wÃÐGÃ@qÃ@îÃP Ãð›ÃP†ÃÐMÃ[Ã`­ÃàV ÃÐYàðùÃð} ÃP†Ãp]ÃÉÃÃÃ0ÇÃüÃоÀ~à ”ÃP€Ãà\Ã`0Ã`6Ã`¡àÌÃàbÃÀ2ÃÀ©ÃpKÀÃÀ2ÃàëÃPÃð6ÀàÀÃêÃà€ÃdÃPÃ(Ã0DÃàýÃsÃP†à Ã4ÃpààðÃÃàýàðÃð0ÃpÚÃÐâËÃ`6ÃàtýÀ%àaÃsÃ@èýÃà!ÃP’ÃðÃÐÖÃÀPð/ÃÃÃà€ÀÃ`NÃPÃðÅÃà ÀÃöÃP¤ÀÃð›ÃXÃ@úÃÐeÃÐ_Ã@ Ã`6ÃP˜Ã@ÀÃpàÀÃsÃPñÃpWÃоàOà  ÃüÃpþÃÕÃ0JðpÃÀ—ÃÀ¯ð#Ã@wÃÀ>à )Ã0hÃ@}Ã`HÃ0VÃÃÃÐYÃð¹ÃP˜ññÃ@}Ã0PýÃÀµà à #ÃÐ_ÃÀ>Ã^ÃÃÃX÷ÃPÃ@Ä ÃÀ¯ÃÉÃð$Ã0Ùà ;ÃP'ÃÐ_ÃÀ Ã"ýÃ`BÃPÃàŒÃ@ƒÃyà šÃ¥ÃmàäÃ`ËÃÀ2ð Ãð6Ã@kÃ`§Ã`§Ãð³ÃpìÃð¹ÃÏÃð0Ã`³Ã`6ÃpÚÃ…ÃÀ2à 5ÃP¤ÃÐ_ÃpQÃ`<ÃÃà÷ð Ã…Ã0»ÀÃ@èÃиÃ`³Ã"àUà !Ãp°"ÃðÃ0ÍðŽðóÃÀ&àäàêÃyàgÃ0ÇÃ0PÃð§ÃpWÃpæÃÐÄÃpàÃ@ƒàaÃðÃ@ôÃðHÃÐÖà Ã@îÃÀ ÃÀ,Ãð‰Ã¥ÃP’à ŽÃðÃ@eðùà Ã0¯Ã@YÃÐ5Àrà ó ðR"Ãp? Ãð›ñÃ0PÃP€ÃPýàÀÃaÃ`!à´ àCñÃP ÃpÚÀõððÃð$Ã0&Ã`³ÃpQÃPýÃðàOÃÀ&ÃÀ&à ùÀ Ã:àäàÀÃ0 ÃànÃ"ýÃ@SÃиÃànÃ@ÜÃÏðùÀÃàÃð Ã0¯Ã`³Ã(Ã4ðÕ!ÃPtÙÃÀÃÐâðvðˆÃÀ¯à àºÃоÀf Ã:ÃÐ_ÃÐèÃP°ÃPªÃ`³ÃPÃ4Ã( ÃÞðóÃ@Ä ÃÀÃ@eÃFà7 Ã@G ðpÃs÷ÃpWÃÐGÀõÃPzÃPð‚à ÀÃ0>Ãð àIÃaàUÃð•ÃÐGàOà ”ÃäÃð•ñÃsÃ02Ã¥Àûð|ÃPÃàåÃp]ÃaÃ`­ÃLà šÃ0£Ã`›ðpÃÐÐÃ"Ãð‰Ã0&Ã0µÃÀÃp? ðùÃÐSÃpKà ó ðçÃp? ÀïÃpEðvÃöÑÃÀ8ÃpiÃÀ&ðjÃ@SÃðÃ`!ÃàÙÃà÷ðpÀf Ãð Ã@ÜñÃPÀ Ã@YñÃüÃØÃmÃ@úàÆðíÃäÃ`<Ãð‰ÀõÃsëà ÃàUÃ0ÍÃO Ã@Ä ÃÀà á#ÃÒÃp¼ ðàðÃ`ÑÃÐÃÀ,Ã0£Ã@eð|ÃPÃиÃ@'Ãp? à |ÃÐâÃRÃàzÃ0 à ðÿÃà†Ã`HÃð0ÃP˜Ã0»Ã(Ã0ÍÃÐÐà |Ã`• ÃP†ÃàñÃð‰ÃàzÃÕÃÐÊðjÃð ÃpcÃ0\ÃÏÃ0µà ŽðíÀlÀÃPÃà÷ÃÀ,ËðÿÃÀ2ðˆÃP˜À Ã4À~ÃaÃgÀœÃ0DÃ@_Ã`¹ÃðÅÃÉÃPŒÃäÃÀ‘ÃðƒÃÐ)!Ã08Ãð} Ã°Û ÃàØÃÐÖÃüÃ@âÃÀ,ÃÐAÃ0PÃð³àÌÃ@Ã¥ðÃ`<à #ÃÐÜÃ@SÃP÷Ã"Ã`¡ÃàñÀlÃð•ÃFÃà€ÃÐAÃ0ÓÃP†ÃP¤Ã0>ÃÀ©ÃðÃ0ßÃÃ`Ã`6Ã0¯Ã0&ð^ ßÀÃð ÃàÙà7 Ã02Ã@Üà ¦à[Ã@ÊÃàÇ"ðdÃ`›à v À„Ã.àêÃ0ÇÃêÃ0 Ã¥Ãð¹ñÃP†à Ã0ßÃÀ ÃÐGÃ@âÃ(Ã08ÀðvÃÐÄàsÃ@ÐÃ@âÃÀ&àÞÃ¥ÃpæÃÃà #ÃRÃ0¯Ã`›ÃÞà Àf ðpÃ`³Ã.ÃêÃp]Ã08ÃàßàÒÃ02ÃPŒÃðÃ@ÜÃÃÃ` Ã[Ã0DÀÃpiàêÃÉÃ[Ã"àÒÃà Ã`$ÃÐÖÃ@qÃPÃÀ—ÃØÃ:ðjà ‚ð^ à Ã0ÇÃÀ,Ã08Ã@YÃÀà ŽÃpÎÃÉàÒÃ@èðpÃÃðú ÃàhÃ[ðÕ!àIà ¦ÃXÃ@Öà[ÃàýÃ@Ãð*Ã.Ã"ÃÐ;ÀðóàIÃ02Ãà ÃÃÐYàUà àUÃÒÀxÃ02Ã`BÃüÃpòÀ¢ÃàhÃPzà ÃÀ8Ãð*ÃÀà[Ã@}ÃàßÃ0 Ã0¯ÃpiÃð<ÀÃ@ÃÐSðšÃ.ÃÀÃàÙÃPÃFà ÃÀ—Ã`ËÃUÃð‰ÃpiÃ0ÙÀœÃ`éàêÃÉàØÃ`<Ã@âÃ@ÜÃ@G ÀõÃsÃðàCÃðÃð•Ãð à Ã`­ðjÃÐAÃ0DÀÃðÃ@ÊÃÀÃðÃ`­ÃpWàUÃð›Ã^Ãð¹ÃpiÃêÃI!ÃO Ã@A!ÃÕÃpÔÃÀ—Ã:Ã`BÃ`ÑÃÀ>ÃêÃpÔÃ0>ÃÀ,ÃÐGÃ`ËÀÀÃ0ÁÃFÃüÃpàÒÃmÃÞÃ`­ÃàbÃpQÃÀàÌÃÉÃÕàsÃüÀÃð§ÃÀ‹Ã`Ã0ßÃPÃgÃàýÃ`¹Ã0ÇÃÐÜÃвÃþ"Àã Ã@qÃ@àÒÃLÃpWÃð•àaÃð6ðŽÃÐÄÃð ÀÃà÷ÃRÃLÃÐ;Ã`<ÃpiÃFÃànà ŽÃP’ÃànÃ`*ÃpKÃpÎÃàhðdßÃÐSÃØÃàŒÀœÃð³àsÃÀ ÃêÃÀÃ( Ãp¼ ÃpcýÃ`NÃ`³ÃRÃP’ÀlÃÌ Ã0»Ã` ÃÀ©ÃP°Ãdà àÆà ÃÕÃP˜ÃÞÃàV ÃàëÃ4ÃP ðùÀõÃвÃ:Ãpøà ñÃÀ—ÃyÃ:ÃP÷Ã0—!àIÀûÃðw!ÃàP!ÃPh!à ó ÃÀ ðóÃÀ ÃðÃÐÊÃ¥ÃÀÃ0»Ãp]ÃÀ£ÃàñÀZ"Ã@ÊÃpÔàOà ð|ÃpcÃ0 Ã`¡à à v ÃàåÃ0£ÃpÎÃàñÃÀ‘ÃÐ;Ã@SÃ`›Ã7$à Û$Ãu$ÃàÙÃ4ÃÀy"Ã( ÃР"à p!ð Ã@YàÌÃÀö"Ãpž%à ç"ÃðƒàIà v ðjÃÐ)!à%#à ó ÃàbÃàhÃàñÃàëàIÃpÎÃ` Ã`§Ã`ÃÀ2Ãð³Ã¥ÃFÃððùÃP€Ã`BñÃäð^ ßÃ`6Ã`ÀlÃP€ÃÃÐ5ðR"Ãpª#ÃpÂÃ@SðÏ"ÃÐ)!ÀûÃLðpà ˆà ˆÃàbÃ0 ÃðÃðÃ`³ÃÐÜÃPÃàýÃÀ—Ã`Ü)àÀÃp]Ã@YÃÐ ÃP°ÃpàÃÀðR"ðçÃ`­Ã"ÃÐÄÃ.ÃÀ‘Ã4ð|à p!ÃðÃpæÃP!Ã`¿ÃàtÃ0¯ÃÐ;ÃØÃÀ—ð^ ÃpÚÃ0>à ÿÀïÃÃPÀ–ÃÀ¯ÃÃàÙÃÐ/ Ã@Öà ùÃpìÃØÙÃmÃоÀïð^ à ŽÃÉðóÃ`­ÃÐÄÃ@eÃöÃàåÃð Ã0 àÌÃpKÃ4ÃpÂÃ0µÃàåÀ~à ŽÀÃêýÃÌ Ã@MÃÀ‘ÃPë Ã@ÐëÃÐ$Ã0 àIÃ¥àÆÃÐ)!à ŽÀlÃpKÃвÃðÃLàÆÃ02Ãà\Ã`0Ã@ÊÃ@ÜÃPn Ç!Ã¥Ãðà1!Ã"!Ã@ÐàCÃ0,À„ÃÀ… Ã@G Ã@ÜÃ`*àIÃp¼ ÃpÂð|ÃPŒÃÀ ð|ÃaÃÐ;ÃÐ)!à à ÿÃ( Ã4ÃÐYÃ0ÁÃ`• Ã0$ß!Àã Ãþ"Ã&Ãðè#Ãðq"Ã0 à d#ÓÃêÃp¼ à7 Ã@Êà ÃàÍ!À`!Ãð Ã@A!ÀÝ!ÃÀü!Ãà>$ðR"ðáÃ@¾!ÃPß"Ã0‘"Ã0!à¨"Ã`¡Ã0 Ãp'$à®!àÆàÆðÏ"Ã0 ÃØà á#Ãà2&Ãu$ÃðÃà¯&Ã0y&à(Ãà'À¹'Ãc'Ã"ÃPýàCÀ×"ÃÀ!Ã@Ðà í!à v ÃÀs#ß!ÃàÇ"ÃPb"À6(Ã0%ÃÀs#ÃàD#Ãu$ÃPb"ÃÐ#Ãà>$ðÕ!ðÕ!ÃÀO)ÃÐ#Ã`• Ã0£Ãðî"ÃàÓ ÃÀö"Ã=#ÃPß"ÃPå!Ãp3"Ãð Ã@¦%Ãi&ÃPh!Ù"Ãþ&Ãpª#Ãò$ÃP\#ÀÅ%ÃÀ"Ão%Ãà8%Ã`Ü)À0)Ã0ê(à„(à X%à¨"Ãðq"à´ Ã@/$ÃЂ'Ã0ð'ÃÀs#Ã$Ãþ"Ã@5#ÃÀü!ðL#Ãðô!ðX!Ãp3"Ãp'$Ã`¡Ã0£à+"ÀÝ!ÃPÍ%ÀH%à1!Ã"ðL#ðL#ÃàÍ!Ã"à R&Ãp¤$Ã`‰"à j"Ã0&Ã@²#ÀÝ!à ç"Ãà»$ÃP\#ÓÃp¶!Ãpž%Ãþ&Ãæ&à F(ÃÀð#à+"ðÉ#Ã`0Ã@kÃC"à+"ÃPÙ#ð½%Ã0"ÀZ"ÃàßÃ` ÃàtÃ0‘"Ãp¤$ÃpÂÃÀs#ÃàP!ðR"Ãp*ÃC"Ã0¯Ç!ÃàÙÃÐ/ Ã@;"Ãðq"ÃД$ÃpÂÃð‰à$Ã0ü%Ãà8%Ã@5#Ã0"Ãðk#Ã0!ÃàP!Ã@A!Ã0&à í!ðF$à j"Ã`‰"ÃÐ#"Ã0…$ÃÀ!Ã0£ÀN$ÃÀð#Ó#ÃÀàÆÃ0&À×"à%ÃÀð#ÃðY&ÃàD#Ãð} ÃЬ ÀÝ!ÃàÍ!ÃðY&ðF$ðvà v Ã"ÃÐ#"ÃÀ‘à ëÃàÇ"ÀT#ÃÞÃp9!Ã@ÊÃpEÃ`#Ã0‹#Ãðî"ÃÀ"ÃÐŽ%ðÉ#Ã`*à ùÀràIÃÉÃ0£ðX!À`!ðÕ!Ã0—!ðdà Û$Ã"!ÃÌ Ã°çÃP\#Ã"Ã@¬$à í!ÃpÈÃàßÃàh÷ÃÀð#Ã`$àÆÀ~ÃÀ£ÃоÃðÃpàÃ`#à ^$Ã`• Ã`¡Ã@Ðà ùÃ$ðÉ#ß!ÃØÃ`›ÃàÍ!à´ à ùÃК#ÃÃÀðR"ÃàåÃ` "Ã"ÃPÃPn Ã"!Ãp? ðvÃ0&Ã( Ã@Ðà=Ã@SÀ~à7 Ã#ÃЦ!ðÕ!ÃpàÃðÃpÎß!ÃàßÃ`$ÃÀü!Ã+&ô$Àf ÃP€ÃÌ ÃC"Ã0 Ã0&ÃиÃ` ÃPtÃðƒÃpÂÃðÜ%ô$À`!Ãàµ%à1!ÃàÙÃ@G ÃÀy"Ã`¡Ã`­À~Ãð ÃиÃUÃ@G ÃÃÐ/ Ã°Û Ãpª#Ãðw!Ã( Ù"Ãp-#ÃÀ!Ã@¸"Ã0&ÃÐ;Ã0#ÃpÂÃ@SÃöÀf Ãà\Ã`$ÃвÃ"!ÃP†Ã@5#À`!ÃÀü!Ã`w%ÀÝ!Ãðú ÀéÃ` ÃpæðóÃиÃ.Ã0"ÃPå!à®!ÃÃPß"Ã`â(ð@%à ŽÃàhëÃPJ&Ã@²#à$Ã@G ÃÀy"Ã@G ÃÐ)!à í!ÃÀ©ÀÃ@A!à ˆàØÃàåÀã Ãð Ãp-#Ã@;"Ã"Ã0%Ã@/$ÃЦ!ÃР"Ã@;"ÃÐÄÃ0£Ã0&Ãp¶!Ã@ÐÃp¼ ð@%ðdÃPß"à v ÃPP%Ã@‚+ÃàÇ"ÀÝ!ÀõÃÀ£ÃÐ/ ÃðÃð‰Ã"ÃЬ ÃI!Ã7$ÃЦ!Ãà\Ã#Ãðô!Ã`§Ã0 Ãp¶!à¢#Ã` Ãðâ$Ù"ðÉ#Ã@âàIÃðú ëÃð›ëÃðè#ÀûÃðú ð^ Ã`à ùà®!ÃÆ!ÃÆ!à=Ã=#Ã` Ã` "à=ÃðÃ0—!ñÃ@eÃPb"ÃД$à–%ô$Ã@š'Ã$Ã.ÃЦ!Ãp¶!Ãàåà à ^$Ã`!ðÏ"ð^ ÃPå!Ù"Ã` "Ãð} ÃpKÃ`!Ã@/$ÃÞÃO ÃÐ#"ÃðS'Ã@²#Ù"ÃЦ!Ã` "ÃÀðjÃP˜ÃðÃ0©Ã`­àÀðˆÃÀÃðƒ÷ÃPŒÃðÃ+&Ã@'Ã`Ãð•ÀûÃp3"Ãð›ÀõÃðk#Ãu$ÃÐ$Ãpª#ÃÀ!ÃêÃ@G Ãð à à1!ðÕ!Ã¥ à Ã0 Ç!Ã"Ãp]ÃP€Ãp¼ à ùÃ@¾!ÃPýðpÃÀ!Ã$ÃC"ÀxÃPÃ(ÃPýÀûÃPzÃðÃP÷ÃàD#ÃÀÃ`›ÃÀÃÐMÃ`0ÃÐÊÃÀ!Ãиýðˆà ŽÃÐÄÃP à®!à=àIÃ"ðvÃÐ/ Ã°Û Ãиà šà ÿÃÀÃàtÃÃÃÃÃ( Ã"Àã ÃÀ!Àà  ÃðÃPtà®!ÃpÂÃоÃ0©ÃPzÃPÃRðóÃPn ÃðƒðçñÃaÀ`!ÀH%ß!ÃðàºÃp°"ÃÐ%Ã%'ÃàÍ!Ã#ÃÐ$ÃàÁ#Ã@¦%à Õ%à %à–%Ãþ&Ãð_%Ã`‰"Ãp&ÃÐ|(Ã@²#Ã@Ä Ãðw!Ã1%Ã0g)Ãà>$Ãp&ÃðÄ)Ãp )Ã&ÃP»(Ãà,Ãc+Ã@+ÃÐí*à~)ÃðA*Ã0m(Ã@š'à É'Ã%'Ãpý*à(Ãà*À³(Ãà©'Ã0"ÃР"Ã+&Ö)ÃÐ &Ã0ð'ÃÐR/ÃÀº,ÃðG)Ã0Ø+Ãp†)àŠ'Ã`â(Ã*ÃÔ)à L'à @)ÃP>(Ã`M,Ã@”(ð"*À¿&à ^$Ãà—*Ã](ÃЂ'Ã0ä)ÃP>(Ã0Ì-À$+À**Ãp†)ð"*àû)ÃP2*àx*Ã@ù,Ãðš0Ã~-Ã0g)À<'Ãp°"Ãc'Ã`S+Ã0ä)ð.(Ã`Ð+Ã@+Ãà©'Ã](à F(à %ÃP\#Ãp!%ÃÂ,ð+Ã{'à&ÃÀI*Ã@ù,Ãi*Ãàµ%ÃÀ['ð™+Ã0Ø+ÃðÊ(àõ*Ã0g)àï+Ãà)Ãà+ÃP8)Ã+&ÃÐ|(ÃðS'Ãpž%Ã@)Ãp*Ã`Ü)àŠ'Ã0%ÃðY&Ã{'à&ÃÐí*Ã`â(à R&Ã*ð™+Ãpë-Ãð¾*àû)à :*Ãp*ÃÐd,Ã@)%à&Ãpž%Ã0g)ÃðA*Ãp€*ÃÔ)Ã0ð'ÃP,+ÃP¯*Ä,Ãà—*ð()Ãì%ÃÎ*ÃÀC+ÃpŒ(Ãò$à R&ÃÀä%à É'Ãò(Ç%à L'ÃW)ð"*Ã`Ä-Ã0[+Ãp¤$Ã@ó-À6(ð.(Ã(ÀÅ%Ãp'$ð:&ÃPÓ$ÀÅ%à+"Ã`q&à (-Ã@+Ã*Ão)ÃP8)Ã*Ã0g)Ã{'â'à&è&Ãþ&Ã@Ž)Ãà&(â'À§*Ã`w%ð@%Ã0ö&ð"*ÃÀØ'ÃÐv)Ã0g)Ç%Ãð_%Ãà,'ÃÚ(Ãðâ$ÃЂ'ð+Ãp’'Ã@ &ÃЈ&Ãø'ð"*ð()Ã0ü%Ã@'ð½%Ã"ÀN$ð¥)ÃðÐ'Ãðè#Ãà>$ÀH%ÃÐ|(Ã`ú$ð½%à F(Ã0ä)Ãà&(Ã+&Ãà>$Ãà,'Ãà )Ã@”(à %Ãì%Ç%ÃÀê$Ãp(Ã0%ðR"ÃÀä%ÃÐç+Ã0Þ*ðÉ#Ã$ÃPb"à–%à X%Ãp'$Ã0…$Ó#ÃÀs#À<'è&à Ã(ÃPJ&ÃI!à j"ÃP»(ð«(Ã0%Ã@G Ã=#ÃPÇ&ú#à F(à Õ%à%Ã`è'à&ÃК#Ã=#ÃÀ"Ã0$Ã0ü%à j"à j"ÀN$Ãðe$ÃÐ$ðÃ$ð½%Ãæ&ÃÀØ'À<'Ã0s'Ã`e(ÃÀU(ð.(Ã@ˆ*Ã0ö&à É'ÃPh!ÃPÍ%à L'Ã$Ãðâ$à í!ð±'à%#ðR"ðjÃ@SÃp9!Ãðq"ÃPñà j"ÃPÇ&Ã@)%ð4'Ã`î&ð4'Ã"!ÃЬ ÃÆ!Ãðw!Ãðú Ãðâ$à¨"ÃÒÃ@5#à d#ÃÀs#Ã`ÃUðÉ#Ãàµ%Ã`#Ã`!Ã02à Ãp3"ÃàÓ Ã@¸"Ã0 Ã7$ÃÎ*ÃР"Ã`#Ãðe$Ã0‹#à¨"ÃðÃ` Ã`!Ãà‘+Ã@¬$ÀlÃ@MÃÐYÃàßÃ4Ã.ô$ÃPV$ÃÀü!à d#ÀT#ÃpKÃ@Ãp? ÀË$ÃвÃ0 à7 àUÃÒÀlÃ@èÀrÃp9!à´ ÃÀ&Ã0&ÃÀa&Ãðâ$ðjÃ0£Ãø#À<'Ã"ÃÀü!Ã0‹#ÃÐ)!ÀrÇ!Ã0‘"à v ÃPb"ÃàbÃ"ÃÀö"Ã@Ä Ã"Ã°Û Ã0"ÃÀ"ÃPÓ$Ãðâ$ÃÆ!ÃÀ!àºÃÒÃð Ã¥ÃÀà ˆàUÃ@_Ãp°"Ã0 à ÃÀÃÀ ÀÝ!Ã0»Ã@ÃоÀÃpQðçÃp'à®!ÃäÃPÃC"ÃЬ ÃUÃaÃpKÃÆ!Ãà»$ÃÐAÃðà Ã$Ã0 ÃàV ÃäÃ0£Ãp9!Ã`#à ó ñðçÃÀö"Ãðw!ÃððvÃ@_ÃðÃ0©Ã`$Ã08Ã¥ÃÞÃ0¯Ã`0Ãð­ÃsÃðß!àÆÃ0»Ãpæà ”Ã0&Ã0—!ÃÀ… Ã0 ÃÐ_àØÃÀÃaÀf ÃpKÃPtÃI!Ã( ÃÐ5ÃàV ÃàÙÃpÎà=Ã"!Ã0ÁÃð§Ã0,Ãaà ÿà |Ã`³Ã.à1!ÃЬ Ã`¹Ã`ÑÃ0JàÆÃ`*à !Ã@àIÃ0‘"Ã0$Ã`!ÃоÃð$ÃàÓ Ã ‚Ã`*ÃÐ;àØÃàñÃà\Ã@ÖÃ0¯ÃpÎÃÀ&ÃàåÃÐÊðóà í!ÃЬ ÃpWÃð*ÃвàÆÃPzÀõðóÃð•ß!à¨"Ã08ÃÀ£ÀûÃ@eñÀÀŠÃà÷Ãà€ÃàñðvÃ0&Ã0,ÃÀ Ãð ÃÐ)!ÃÐÄÃPñÃàÓ Ã"!Ãp°"Ã02÷à p!ÃÀ&Ãà˜ÃPðùÃ@SÃðú Ã@YÃà\÷à+"Ãвà ùÃpÚÃàñÃÒÃp¼ Ã@qÃð•Ã0 à ‚Ã"ðX!à àaÃ¥Ã@úð ÃP÷Ã=#Ãðî"ÃPtÙàUÃðÀ`!à¢#à j"à ó Ã`§àCÃð àØÃÐÖð|Ãð‰Ã@;"ÃàÓ Ã€ã ðdÃ0µÃÐAÃàbÃp¶!Ãp¤$àÞÃà˜à‹Ãð§Ã@eàOÃP˜ÃpàÃ`§Ã` ÃpÎÃ`³ÃP÷Ã0>Ã.Ã@âÃ4ÃØÃ@èÃPžÃð­ÃP’ðÿÃPÃpÚÃÀ¯Ã@à ÃÃP’ÃP’ÃÀ,ÃPÃðÃ0>Ã@_ÃPn ÃPàIÃPÃ:ÃÀ‘ÃPŒÃLÃP¤ÃsÃP¤Ã0ÙÃÐGÃànÃàñÃP’Ã0JÃ4ð Ã@kðvÃpiÃ@èÃð6ÃP’Ã0¯Ãà\ÃpEÃÞðÿÃàýÃÃÃà÷ÃðÀÑ#Ç!ÃP’ÃÕÃaÃ@ÊÃPzðpàCðÿÃÀ2ÃpÚÃ`<ÃäÃÐ;Ãð ÃвÃpàà à Ãð¡àUÃ(ÃaÃ¥Ã0!ÀéÃÀ‘ÃPn àOÃàÆÃÐ5Ã.ðvàaÃêÃ@Ã@SðÃp9!ÃPå!ÃsÃ`BÃàhÃPzÃ`• ÃÒÃàtÃ0Vð|ÃÀ ÃÀ£Ã.ÃpÎà´ Ã[ÃÃðóÀõÃÀ‹ñÃðƒà ”Ãð›ÃäÃÞÃ0JÃ`BÃ0£Ã`!à Ã`ðvà Ã@kà ÿÃà€Ãð$Ãpàà ó à ÃÒÃðw!ðvðáð|ÃÐMÃ0,ÀÃÐôà ŽÃpÔà ŽÃ@_Ã(ñÃ@kÃÃàbÀœðvÃðÃ@îÃ"ÃPÃвÃÀ Ã`6àÌðÿÃàýðð”ðˆÃð§Ã4Ã0ÍàØÃðà ¦Ã@îÃpÚÃPŒÃ`¿ÃÐSà ¬ÀÃÐîÃÀµÃ@úÃpiàmÃ0åÃ`<ÃÉÃàðùÃ0¯à ÃêÃÉÃpÚñÃÀ—ÃàýÃÐSÃ0ÓÃFÃÃÃàýð”à ¬Ã.Ã08ÃÐYÀ~ÃÃpÃÐèÃàÃÀµÃð§Ã0>ðóÃP°Ãàà ¾Ã`NÃð*ÃöÃ`6ÃyÃP3ÃpìÃà†ÃFÃXÃ0ÙÃ@}Ã0Ùð ðÿÃÀ‹ÃPÃ`ÅÃÐ_Ã÷ÃÀµÃàŒÃpøÃÐâÃP9ÃÐqÃ`àÆÃðŽÃ@ƒýÃÀ2ÃLÃöÃÐSÃðÃpoÃÐÜðŽÃÐÖà AÃP°ÃÀÍÃ0åÃ@Ã0ÍÃÀà à  Ã`ÅÀ–ÃÀ8àÀÃ` À–Ã`BÃ.ÃPÃ`<ðvÃàŒÃP¤ÃpøÃpþÃ@qÃP˜ÀŠÃ0ÁàØÃ@ÊÃÀÃ08ÃPà šÃ0ÇÃ`0ÃRÃpøÃÀ>ÃpcÃPàyÀàaÃ`¡ÃPà ÃXÀ–Ãà€ÀïÃÐÊÃíÃÀÍÃÃ`ËÃÀ©ð ÃpòÃp]ÃpàÀ ÃpÃjÀ„ðÿÃXÃ0ÇÃÉÃpàÃPžà  Ãð¡Ã@eà #ð‚ÃÐYà ˆÃPýÃp]ÃÀ&àØàsð”ÃÐYðŽÃÀDÃÃÐSÃ`6ÃÐSÃöÃÀÃpQÃð¿ÃÃàßÃ0DÃP?ÃðÅà  ÃpcÃÀ>Ã@qðÿÃpuÃPÃÐSÃPÃðÃ0VÃRÃpcÃÐMðíÃÐÄðóÃ08ÃàbÃÀ2Ã@eÃ@îÃ`0àaÃðÃ`BÃpìÀÃ@îÃÀÃ0µÃàñà ÃàñÃpàÃmðŽÃð¹À ÃÐâÃÐYÃPÃFÃÐÖÃ`<ðšð#ÃpuÃð›ÃÀ,ÃP!Ã4ÃÀ ÃjÃP¶ÃàŒÃÀµà ”àUà àUÃÀ£ÃpàðŽÃàzÃ¥ÃPžÃÐYàäÃÃÃÐÃ0VÃ"ÃÐÖÃpøÃpuÃP¶Ã©ððíðÿà  àØÃ¥ÃpÃ`ÅÃàýÃ`BÃà†Ã@âðíÃÐÖÃPžÃÐÄðˆðˆÀŠð|ÃP†ÃÀ Ã0»ÃP’Ã.Ãð›ÃÃ$ÃaÃð$Ã0ÇÃpæð”ÃÐÖÃðŽàØàÀÃPÃð<ðÃ@èÃ@ÐàÆà šÃÉÀ„Ã@kÃ4ÃÐÜÃÐeðÃ`<Ãà€ÃÀ©ÃP°à‹àÌÃP Ã0Dà ”Ãð­Ã0>àCÃ@âÃ@ÃöÃ0>Ãð­à[ÃpòÃPzÃÐÊÃðƒÃp-#Ã@eÃÀµàgÃP-Ã0Pà ¦ðvàØà àØÃ`BðÿÃàñÃÐÄÃ0 àUÃ`0Ãð•ÃàýÃsÃÐMÃðÃP¤ÃÀ,ÀûÃ`<à ¬à |Ã0 À ÃPÃànÃp]ÃÕà AÃ`6Ã`§ÃðÃ@èÃgà ÃàtÃÐGÃ`¿Ãà†Ã@ÖÃ0&àaà #Ã@qëðˆÃ@_Ã`<Ãêà ŽÃPÃоÃ0£ëÀœÃð6ÃÐÄÃÀàÞÃÀ¯Ãpøð”Ãà ÃÐSÃÒà Ã4Ãp{ðˆð ð”Ã0ÇÃpcÃ@Üà ŽÃ.ÃÐîà Žð ÃÐÜÀ ÃànÃ@ðˆÃ@qðˆÃ@}Ã@Ä Ã ‚Ãð<à ¬ÃÀ>ÃpòÃÀÁÃ`ËÀŠÀœÃà¼ÃpøÀŠÃ@kà  ÃXðÃðÃð Ã`¿ÃÐúÃàÃ`*ÃPýÃáÃv÷ÃàñÃPà Žà ²ÃðBà #àÌÃ`¿ÃÐÖÃð­ÀŠÃÐÄÀrðóÃ(ÃàñÃP!ÃÐ}ËÃP¤àUÃ`¹ÃÐèÃ.ÃàåÃÐ;Ã4ÀÃÐÜÃàà ¬àêÃÐèÃ0VÃ0ÍÃð*à à ¬Ãpæà ÿÃÀ©Ãð0ÃÀ,Ã0>ÃÃðpÃpìÃp‡ÃàÃ.ÃÀððšÃà÷ÃRÃÐîÃð*à ŽàUÃð³ÀÃð›ÃÀÃ@wÃÀ»ÃàýÃà ÃPÃP'Ã@ÜÃð$Ã0ëà[àÒÃÀ&ÃpÔÀ–ÃpìÃÐÐÃPàÞÃà’ÃÃ"ÃÐGÃpìÃÐÜà #ÃðÃ.Ã(Ã`³Ã`*Ãð•ðð¦Àðà ¦ÃÀ2ÃÐÐàÒÃð§ðÃð­àUðáÃ@îÃP¤Ã0JÃð§ÃÃàbÃ@Yð ÃmÃ(À–à #Ã4ÃÐGÃÐîÃ``ÃðÃ`BÃ0>ÃFÃ`<ÀŠÃÐkàgà ¬Ã`<ÃPžÃð­ð ÃpiÃPÃ`¿Ã@ÜÃ0ÇÃÀ©ÀœÃP¤ÃÐeÃPb"à #ÃíÃp“Ã0ëÃP-ÃLàÒÃ.Ã`0Ã@eðŽÃpþÃPžàêÃáÃ^ÃÀ,ÃÐAÃðàmàðÃmð‚àÒÃоàÒÃ@_ÃpKÃÀ… àOÃÐSÃðÃànÃÀ,ÀàUÃà Ã`0ÃàýÃPªðÿàÒÃ¥ÀûßÃ0ÇÃÉÃ`HÃp]ÃÀ ÃÃpiÃÀ¯Ã@G à ”Ã`BÃ…ð”ÃоÃàëÃ0ÁÃ@ÜÃÃÃ4Ã`¿ðšÀ ðùÀ–Ã0>ÃðÃLà[ÃÐÖÃànÃ4ÃpWÃð­à ¦ÃÐ)!à ÃÐYÃð¿à ”ð^ ÃÒÃðÃ`Hà ¦ÃÀàCÃÐMÃÀDàÞÃ0»Ã@YÃÐ;ÃÐÐÃàbðjÃpÈÃÐÊðˆÃP˜ÃpÃPñà šÃÏÃ`ÅÃÐÄÃ"Ã@kÃ@YÃØÃUÃàhÃ0&ÃàJ"Ã0!ðíÃÐ;ÃÐÖÀ Ã@_ÃðÃ0ÇÃÀ»Ãð$Ã"ÃànÃÐÄÃO ÃPŒÀ à ²Ãàtð‚ÃRÃÐMÃÐ/ ÃðÃàŒð|ÃÐ/ ÃÀÃ`HÃÐâÃFÃÐ;ÃиÃÀÃ`• ÃPýÃ@_à à à /àäÀðóà´ Ã àIÃð›Ã`$à=ÃЦ!ÃÀÃP!Ã0µÃ@;"ÃЦ!ÃиÃPÃ4Ã¥ðíÃ0µÃpWÀrÃÀÀûðóÃð•Ã4ÃP€à ‚Ãð‰Ãð•ÀŠÃ( ÃðÃ:ÃPŒðùÃ`*ÃP€ÃPë ÃÐÖÃà÷÷ÃXÃ@ôÃ0!Ã`!Ãp? ÀlðvÃ0>ñÃp9!ðÕ!ÃÀ—ÃêÃpÂÃPñÃÀÃP÷Ã02Ãà€à Ã0£ðpÃÃÃpÈÃàÓ ÃP Ã.Ã02ÃàñÃàåÃ`¡ÀlÃðî"Ãp9!Ã@âà Ãà†ÀûÃиÃ"!ÃÀ&Ãð§ÃpWàÀÃ@MÃ( Ã0¯à ðíÃÀ‘à ”ÃÀ¯ÃàñÃàÇ"ÃPß"ÃÀ… Ã0‘"àºÃà\ÃàßÃC"Ã0%Ã`k'ðL#àØà ¦Ã`¹ÃP˜Ãð$ÃÀà ÿà ŽÃиðR"ðùÃ0>ÃàëàÀÃ0!ÃaÃð$Ã` ÃÃPß"Ãðú Ã0,ÃÀ… Ãð} Ã0 ÃЬ ð@%ÃàÍ!àIð|ÀxÃPŒ÷ÃàÍ!ÃàJ"à´ ðóÓÃÀ!ÃàzðÿÃЬ ÃðÃÌ ÃÐÐÃÀ&ÃðÃ(Ã4Ã0 Ã"à ŽÃÐÄÃ@MÃ°Û ÃÐ)!ðdÃ`• Ã0‘"Ã` à !Ãðú à ‚ñÙ"Ã0‘"À~Ãà÷Ãp°"Ãà8%Ã"!ÃÀ—ð‚Ã"ðL#ÃpÈÃànÃ@qÃ@YðX!ÃäÃpKðáàÀðL#Ã`• à ùÃ0 ÃP÷Ã`!ÃI!Ãð Ãàhà´ Ãðú Ã.ÃPn ÃÀy"ÃPå!Ãðú ðjÃ`$Ãp? ß!Ã`!Ãþ"Ã`Ã`• Ãðè#Ãðô!Ãþ&à®!Ã@/$Ã°Û ÃÀ Ù"Ã°Û Ã°íÃ` "ðF$Ã@Ä ÃàJ"ÃÐ#Ãì%Ã¥ÃÀ… ðL#Ã"ÃÐ/ Ã0—!ÀB&Ã@¦%ÃК#à Û$Ãà2&Ã` "Ãðâ$ÃPÍ%ÀT#ðÉ#ð½%Ã@¦%Ã@A!ÃÀU(Ãàµ%Ã0 Ã0 Ãðô!ÃPzÃÀ!Ã0s'Ãø#ðÕ!ðL#ÃÀg%à Õ%Ã` "Ã"Ã1%Ã$ÃÐ)!Ã0m(Ãà©'ÃPÙ#ÃÀö"ð·&Ãðk#Ãðô!ÃÀa&ð½%Ãàµ%à&ÃPD'Ã@š'ðF$Ã+&Ã@²#à ç"Ão%Ãò$à´ ÃÀä%Ã`ô%à É'î%Ã`ƒ#Ã`}$ÀÅ%Ã@G Ã@ÊÃД$ð()Ã0%ÃÐ#"Ã@)%ÃÐ &ÀN$ÃPÙ#Ã¥ ÃÀs#ÃPÓ$ÃP»(À6(Ã$à%À×"Ã@Ä Ã –%à R&Ã"à+"ÃвÃàÇ"Ãu$Ãì%Ã0‹#Ãò$ÃðÊ(À¿&Ã`}$à 'Ãðè#à !Ãp˜&ÃÐ|(ÃД$àOÃàP!Ãðw!Ãp? Ã`$Ã`â(ÃÀ"Ã@)%à á#àCÃÀ"Ãð Ã"!Ãðè#ÃÃЦ!ÃI!Ãp¤$Ãp˜&à Û$ÃàÁ#ÃPh!à Ãp!%Ãðk#Ãpª#Ã`#Ãp? Ã0"Ãðq"ÃPë Ã`!Ã`!Ãp? Ã0©ÃÀ‹ÃàÇ"à p!ÃÀàl,ÃPÓ$ÃaÃþ"ÃоÃÐÊÃPýÃÀö"à á#ÃI!Ãð à v ÓÃ°Û Ã{#à Ã4ÃpiÃpÔßÃÐ#ÃpKÃÀÃPÙ#ÃPë ÓÀf ÃC"Ã0$ÃР"ÃàÙÃàV ÃàV ÃÀÃ0 Ãð‰ÀN$à ó ÃàV Ã(Ãp¶!à á#Ãàbà ˆÃ@;"Ãð ÃàåÃð›ÃöÀ`!Ã0!Ã@ÊÃ`§ÃàbÃpª#ÃP€ÃÐÊÃðÃpÔÃpÚÃ@k÷ÃàñÃ0»ÃpÚÃÀ… à´ Ã`NÃ0PÃ0!Ã"ÃpEÃàtðóÃPtÀxÃPýÃPh!ÃÞÃ@MÃ@Ä Ã@_ÃäÃÀ‘ÃPë ÃÀ8ÃpøÃp9!ñðùÃ0Dà%#Ã@kÃð6ÃP€à ÃðvÃpÔÃ0¯ÃÒÃÐ;Ã`6ÃÀÃpàÃð•ÃpEÀûÃ@îÃ@ÃÀ‹ÃР"à ùÃ@SÃ@ÐÃàhÃ0µÃ`³ÃðÃÀ!à¢#Ãð} Ã@ÐÃP Ã`¹ÃPÃ` ÃÐAðvÃ0,ð|ÃàëÀf ÃÀð#ÃpÈà%à ç"ÃоÃðú Ã.ÃpiÃP Ã`Ãð‰ÓÃ[à ”Ã`¹Ã0ÓàÞÃðàOÃàßÃÀ8ÃÐÖÀÃPðóÃ0>ÃÀðáÃ0ÁÃðÃð ÃPÃðÙà ð^ Ã`›àaÃ@}Ã4ÃðÃ( ÃaÃð›ÃÀ£ÃðÃUÃð›÷ÃpàÃmÃÐÖÃ:Ã`§ÃàÓ ÃðÃ"ðÿÃ@âÃP÷ÃPå!àCÀõà ùÃЦ!ÃpÈÃÞÃ0&Ãäà ”à ÃÀÃ@âÃà÷ÃÀ Ã0"ÃpÔñÃP’Ãð§ÃÞÃ@ôÃ`¹Ã0ÇÃÐÊÃàbÃP€Ã@eÃàÓ ÃÀÃÐAÃ0Áà ‚Ã0 ÃðÀŠàäàäðÿÃ0ÁðŽÃpEÃðà ˆàÀÃвÃàëàUà Ãà˜ÃP’ÃLÃÃ:ÃÀ Ã@èÃêÃpWÀ~Ã0©Ã"ÃP’ÃP¤À„ÀrÃà÷ÃÐMÃоðjÃPn àÀÀ×"Ãð ÃÀ ÃàJ"Ã@ôÃP˜Ãpoà ¸à ¦ÀlÃ@kÃÐÖÃpþÃ`HÃÀ—Ã`0ÃðÃðÃpQà À Ã0,Ã0,ÃÐYÃ@îàÞÃ`­ÃÏÀÃgÃ@èÃоÀlÀlÃ@èÃFÃÀà®!ÀxÃ0,ÃPn ÃðÃ0VÃPÃ@Yà ²Ã`BÃ`¹à Ã0>Ã@YÃð$Ã‘à ”ðáÃpÎà Žà ¦ÃÃ0»à #ÃðàØÀð|àÌàgÃð³ÃÐAÃ@kÃ0VÃð¿ðóàUÃpcÃüÀ–ÃP†à ÃpcÃP’Ã@eÃðÃ0ÇÃ0Pðóà ”ÃPýà ”Ãà j"àOÃ02ÃäÃÐâÃpæÃ`!ÃpÈßÃÀÃpcð|ÃÀàÞÃÐÖÃÐÊð‚ÃàñðdÀ`!Ã"ÃP!ÃpÚÃÐÖÃXÃ0åÃð­ðáÃpEÃpìÙ÷ÃmÃmÃð¡Ãp]ÃÀà´ ÃpÚÃäÃsàsÃ`¿ÃÞÃÀ&Ãð$Ãð§Ã.Ãð$à ÃÀ,À„ÃPñà7 ÀlÃPtÃ4Ã`§ðpÃPÃp]ÃpQÃÀÃPtÃ0µÃÐ5ÃÀ©Ã`<ÃÀ©ÃPà ŽÃ0ÁÃP’Ã…Ã`ãà #ÃðÃP!ÀÃ`­ðL#Ã@ÊÃ`HÃÐÄà ”ÃpÚÃpcÃ@kÃ@eðíÃpòÃÀ>Ã0¯ÙýãÃpàÃ`*Ãà ÃÐÖÃÐÜÃðƒà¢#àÆÃàýàêÀ ðpÃððÿÃP’À–Ã@À¨ðˆÃ…ÃÀ¯Ã`¹Ã@ƒÃÀÃÐAÃÀ¯Ãð³ÃP¤àÌÃÐÖðvÃ"ÃPŒÃ@îÃÀÁÃ`BÃð­Ã0ÁÃFÃPŒÃàëÃÃ`­àÒðÿÃPÃ0Ù×Ã`0ÃäÃ0»àUÀŠÃ4Ãà÷Ã`6ýà[ÃP˜ÃpWÃвÃ@âÃà€Ãà÷Ã@SÃðÃÞà Ãà\Ã@kÃàåà v ÃPýÃàëÃðÃpÂà !ÃsÃÕÃànÃ0©ÃðÃ:ðdÃðÃ.à šÃð­Ã@ÃÀ8ñÃP!Ã@èÃpìà[ÃP Ã0Íà Žð|ÃpÚÃàåÃÀÃ0PÃð0ÃÀ2à ¦ÃàzàUðáÃ@âÃð$ÃgÃð›Ãð0ÃpuÃоà |ÃàëàUÃÉÃÀ£ÃÐ_ðŽÃðÃ0DÃàýÃ@ÖÀxÃRðÃ@ôÃ`¹ÃðƒÃ@âà #à[Ã`Åð àyÃàÃPà àaÃ0ÁàsÃÃð¿ÃÕÃðÀ„Ã`6Ã[àÀÃpæÃ@ÃàtÃöà ¦ðÃÀ2ÃÀ¯à ÀxÃðÀxÀf ÃÀ£àÞÃpÔÃ0ÙÃP’Ã@}ÃÃà´ ð|ÃP’Ã@îÀŠÃàñÃÉÃÀÍÃÀ ÃÐG÷à àØÃp]ÃÀ2Ã0DÃPžÃ`Åà  àðÃÃýÃÐSð‚ÃaÃàñÀxÃ0,ÃÐÊëÃð*ðŽÃ@ÜÃ@SÃ02ëÃ@âÃàýÃÀ‘ÃaÃÕÃÐYÃÀ2à ”Ã`¿àØÃ@MÃPÃ0DÃ@qÃ@kÃ`BÃP’Ã0»Ãð*ÃpÔÃÀ—Ã`6Ã0»Ã`›àÀðóÃêÃP à ¦Ãð›Ãð àÀÀà ”Ã@qÃÐÖÃ02àÀÃpÔÀðáÃð‰ÃPŒÃàtà ”ÃÀ‘Ã@Ê÷àÒÃäÃàñÃÐGÀÃ(ýÃ0DÃPÃиÃàñàäàÒÃàåÃÞÃ:Ã4Ã@ÖàÒÃPÃpiÃ:ÃÀ,ÃÃÃpcàIÃÏÃ@‰ÃÐYÃÐÄÃÐÄÀxÃàýà ÃÐAÃPŒÃÀ,ÃP÷àÀÃðçÃPzÃpWÃFÃÀà ˆÃ0!ÃÐSÃÐYÃPÃЬ ÃpQÀ Ã…ð)ÃðTÃÉÃà÷Ã0,Ã@ÖÃànÃð¡ÃPÀ ÃÐMÃPtÃ@eÃ`³ÃÐAÃàåÃ¥àØÃ@kÃÐÊà ÃpcÃ08à à ŽÃàbÀõà ˆÃöÃð0Ã@îàOà[àÒÃ4ðpÃÐMÃÀ&àÞðáÃ0ßÀ+Ã@Ã`rÀ¢ðÿÃ4ÃÐÜÃðBÃ@kÃ0,Ã@ÜÃ0¯ÃÐÖÃÐ_ÑÃÀÁÃÐSÃÐSÃÀ¯Ã^àêÃð*Ãsà  Ã0ÍÃÏÃüÀÃðËÃð¿Ã@qÃmÃpQðÿÃP¤àØà ÃyÃ.ÃàzÃàhàOÃÐeÃð›ÃÐ_ÃLðšÃPžÃöÃ0Ùà #ÃLÃ08Ã`*Ã`§ÃàýÃоÃêÃPÃPÃà÷ÃPýðvÃP ÃÀÃоÃÃÐ)!à ˆÃüà ÃP’ÃPÃ0PÃ0!Ãp]ÃÐÖÃð³Ã(ÃPŒÃà÷ÃpuÃpþÃmÃ0,àsÃ`NÃðBÃÀ8ÃÀÃÀðóÃÐÄàmÃð0ÃFÃ0VðÃ0ÇÃÀ2Ãà€ÃöÃpàà 5Ãð0Ã4Ãð­à #ðvÃP’ÃöÃ`­ÃÐÐà 5ÃÀ»ðÿÃààÒÃp]ÃÐSÃÀ8ÃÐÊÃpÔÃà  ð ÃP’ÃP˜ÃÐÊÃÒÃP¤Ã@âà ”ÃàzàêÃ@Ã`›Ã@YýÃ`NÃÃPžÃÀ¯ÀõÃÐAÃð­àgÃànÃ:ðàöÃpøÃFÃ^à ¾ÃÀµÃðÃpW÷ÃÀ©ðÃ@ƒÃà ÃP˜ÃÀ&ãÃ0ßÃÀµÃ@Ã`TÃ`¿ÃÐÐÃÀÁÃ@qÃÐÐÃ`TàäÃPàIÃ`$ÃFÃáÃÐ5à ˆÀ¢Ã0ÓÃpÂÃÐGÃ4ð Ãð<ÃyÀÃ@eÃÀµÃàëÃ`<Ãð³ÃÐMðóÃðÃÀ8à ;ÃÀ»ÃÐSÃÃ`ÝÃ@Ã@àØÃÐGÃð6ÃÐkðàmÃLÃPà ¦Ã`¡Ãð$ÃÏÃpæÃXàØÃÐGÃàÃ`TÃÀJÃ.ÃàhÃpÚÃÃdà ¬À¢à  ÃRÃÃÃð¡ð Ãà÷ÃÏÃpæÀ–ÀŠàêàÌÃ0DÃà€à[à[ÃÀ8Ãð¿ÀÃðà ¦Ã0>ðvÃÐAÃàð÷à šÃÀa&ðX!àUÃà€àsÃðZÃ`õÃ0ßÃÉà ²ÃÐkÃpiÃ¥Ã08À%ÃÀµðŽÃÉÃ`ÝÃð­àäÃ:ðvÃÐÐðˆÃÏÃð0ÃÃ0VÃ0ßÃà€À~ÃЛÃLÃ¥ÀðÃ@èÃP÷ÃRÃpìÃpuÃ`Åð‚ÃpWÃÐÊÃLËÀ´Ãà à #ðˆÃäÃ0ÁÃ@îÃ@îðÃÏÃ`§ÃÞà šÃÃ0VÃÀ>ÃÐÜÃ0,ÃÐÖÀÃ0»ÃüÃÛÃÀµÃÃ`¹Ã`¹ÃpcàaÃð³à šàUÀð À¢ÃÀ2ñÃÒðvÃÀ£ÃPžÃ@Ãàn÷à ²ÃXÃ0ÓÃ@_ÃP Ã0ÇÃð6ÀàaÀÀŠÃ`BÃPð”ÃÀÇÃà˜Ã`BÃÐ_Ãà÷àÆÃ0,Ãðà /ýÃÃ4ð|ðùÀlÀ~Ã…Ãà†Ãð§à #Ã`ËÃpuðšðŽÀ~Ã0ÍÃ@wÃPžÃÀ»à šÃaà /àðÃpòÃP˜Ã0ÁÃaà à ˆÃ@Ã`BÃêÃpìÃp{ÃÐÊÃüÃpuð|Ã@ÖÀÃÀ‹ÃðÃÐôÃ0ßÃÐSÃ0ÇÃðÃ0hÃFÃðàÒÃÐÊðÃàŒÃ0,ÀxÃðà ”ðŽà[ð|ñðŽÃð¹ÃàzÃp]ÃðÃgÃ0>à ŽÃàåÃÐMÃð*ÃíÃð¹Ã`ËÃà ²ð”ÃÐ}ÃpæÃPýàðÃÐSÃÐÊà à ÃÐâà ¦àaàgÃÉÃpÃð0ÀŠÃ`¹à #ÃðàØà Ã@wÃ`ËÃyÃ`ÑÀ¨ÃÃpòÃÀ&ÃÀ£Ã¥ÃÛà ¬ÃÀµÃP]Ãà ÃÐâÃP°ÃðNÃð*Ã`ÑðˆàaÃpàÃÀDÃÉÃ`ÑÃðÑÃpoÃÐYÃRàäÃ0µÃÀ—Ã:ÃÀ2Ãð<ÃmÃ0\Ãà’Ãàà ŽÃ@ôÃð Ãð ÃÀDÃà¤ÃÀ,ÃpÃÐ#"ÃpWÃPªÃà-à ÃP¼ðšàØÀŠð Ãàà ²Ã@‰ÃÐeÃÐAÃÀDÃ0ÇÃÀ8àsÃà†Ã@ÃÀ8ðÃð¿ÃÐîÃ`ÑÃÀ2ÃàýÃð$àaÃÕÃÐèÀð ÃÐSÃ@ÃPžÃÀ ÃP ÃÐâÃ0åÀ%ÃÐèÃ`Hð ÃPªàäÃPªÃðÃPªÃ—éÃ@àäÃð6ÃpþÃÛð Ãð} ÀxÃpÔà ‚ÃÐGÃ`ZÃ0JÃRÃð*ÃpiÀlÃpÎÃ@}à ðÃLàÞàäÃÀ»ÃP˜Ãüà[ÃÀ8ÃpÃpþÃP˜Ã"ð”ÃÐèÃÐMÃð0Ã@ ÃLàêÃð¡ðùÃ0»ÃFÃàŒÃ@èðšÃP!Ãð§àIÃà ÃÕÃðBÃð³ÃÀÁÃ0Çà ŽÃà÷ÃyÃÀ2ÃÐeÃÐúÃ`ÑÃ@Ãð*À¢Ã0ßÃP¤àOÃ…ÃàýÃànÃpcÃpàÃP€ÃpQÃ4ÃÉÃ@kÃÐSÃÐÐà  Ãð6ÃÀ&ð Ãð¿Ãð<Ãà˜ÃP-Ã@ôÃàtà šÃ@ƒÃð›À–à /ÃÀ8Ã0bà àäÃ@âÃ(à ¦Ã¥Ãp]ÃpWðšà /ÃP!ÃÏýÃ@kÃ@ôÃð¹ÃÐ_ÀÃ@èðpÃÃÃ¥ÃÐÐÃÐÄÃоÃÀÃpcýÃ0DÃÐÊÃ0DÃüÀÃ`<÷ÃðàÀÃpEÃ0µÃpuÃÏÃÐúÃP¶à ÀÃàýÃ`¹àUÃpòÃðÃpÂÀûÃ@ÜÃgÀÃðÃP˜Ã`¿ÃP†à  ÃLÃÐèðŽÃÀ2Ã"ÃÀÃÐ/ ÃpKÃÀ©Ãà\à v àÌà šÃàñÃÐMðùÃÀ£À–À ÃÛÃà˜Ã0DÃàbýÃ0£Ã.ÃðÃàÓ Ã°íÃÀ,àüÃ`­ÃðÃLÃ@âÃpàÃÌ ÃpKÃàëÃPýÃpààOñëÃ@_ÃàzÃØðjÃ@_Ãà€ÃÀ&ÃÃsà Ã`0Ãð$Ã0&Ã0 à ¦Ãà˜Ãà†Ãð<ÃP˜àêÃUÃàåÃð*ÃPžÃÏÃ0ÍÃð¡ÃXàOÃPÃànÃ`¹ÃàñÃpìÃð³ð Ã0VÃÐYÃm÷Óà ŽÃÀ&ÀlÃ`ÃÃÃPÃp]ÃLÃÃð‚ÃöÃà÷àUÃ`§Ã0»ÃàzàÒÃÐMÃyÃ@ôÃð³Ãà Ãàtðà )àÆðáà=ýÃRÃÐÖÃÐÊð‚ð”Ã0PÃÀÇÃpuÃànÃÐeÃP˜Ã:ÃÀ&ÃÀ»ÃpòÃ`¹ÃðÃ`6ÃÕÃÐÖà šÃààêÃ0JÃ@kÀœÃ`BÃyÃÏÃÐÐàaÃP°àà ¬Ã0ÇÀ~àÃÐGà ÿÃà€ÃÀ£ÀrÃÀ£ÃÀÃPÃ@}Ãð§ñÃð0Ã@kÃ@îÃà ÀÃ0Áà ¦ÃÐÖÃðƒð|ÃÀ&ÃÃð‚ÃàýàäÀÃÐYÃ¥à ÿÃÃÃPýà ”àöàÃP’ÃpæÃÀ¯ÃÛÃ`¹ÀrÃ`ÅÃ`0ÃÒÃaÃ@kðùð‚ÃsÃP€à ÃaÃÐÜÃð­ëÃð¿À à àUðÿà ¦Ã0»Ã@èÀ–Ã@îÃpKÃ@Ä Ã€lÃ@YÃ(ÃàßÃÐÄÃ@Ã`<Ã4àÆÃ@kÃ0ÇÀÃÀ8à #Ãêà ¦ÃgàCà #ÃðˆðŽàÒÃ`<à[ÃàV ÃÀÃð¡à  ÃàhÃðÃàzÃàŒðÃ[Ãиð|Ã0¯ëÃàßÃÀÃ0ÇÃÀ»Ãà÷ÃmàÞÀÃÀ8ÃÀ&Ã@A!ÃиÃÀ,ÃÐMÃ`¿ÃànàIÃpQÃ`$ÀÃ@âÃÀÃð§ÃFÃ4ýÃàåÃÀÃÕÃÀÓà Ã0,à ÃÐèà ”ÃÀ!ÀxÃp]ÃpòÃXÃ`6àOÃÃ`6Ã@eÃ@eÃ:ßð|Ã@ÜÃ@âÃ0µÃÀ¯Ã`NðÃ`¹ÓÃÀàØàÌÃÃÃpòÃ@eÃÀ,ÃpÚÃUÃp'ÃpQà´ ÃÀÃP'ðÃPÃpWÃÐÐÃð§ÃÐÄÃÞÃ"ÃPªÃXÃÐâÃ0PÃp]ÃàÀÃÀÃ`­ÃÀ—ðpÃPžÃ"ðvà )Ã`ZÃ@qðÕ!ÃÐ5ÃоÀœðÃàñÃ0ÁëÃ0!ÃÏÃànÃ"Ã@_ÃàëÃÐÄÃPýÃÀ‘Ã`ðÿÃ0DÃ` Ã[ñÃÐ;ðdÃpàðŽÃðàOÃpÚÃXÀlÃ=#Ãðe$ÃЬ Ã02Ã0ÇÃÐGÃÐAÃpEÃ@YÃ0£ÃPñÃÐÄÃPŒÃÀ£à ¬ÃànÃЬ Ã0¯ÀlÃPå!ÃÀ Ã`!ÃÀ Ã@ÀßÃàV ÙÃàtà ¦Ãð¡Ã`*Ã`›Ã@SÃ0µÃðw!ÀõÃ(ÃðÃPë ÃpÈÀf ð|Ãp? ÃЦ!ÃàåÃ0 ÃàßÃ0 Ã"!à ÿÃÀ‘Ãð À„ð‚Ãð Ç!Ã:ð|Ãð‰ÃI!à í!ÃÀ‹Àlà7 ÃP÷ÃÐMÃð ÃàÙÃaÃ@kÃ`0ÃàÍ!à ÃP÷ÃÀ ÃÀÃPtÃÐ;à ”ÃP†ÃpÎÃиÃ`0ÃÐMà j"ÀïÃ0,ÃÀÃð•ÃP†Ã0 Ãàåà ‚ÃÐÊðíðçÃ` Ã4ÃàñÃPðdÃO ÃàJ"ÃàÇ"ÃàßÀÃ0»ÃUð|Ã@ÖÃ0£ÃpEðvÃPàêðíÃ0 à=Ãp]ÀûÃ0ÁÃ.à ÃÐSÃà÷Ã`6ðdÀf Ã@eßÃ"à ÿÃð¡ÃðÃÐMÃpWÀã à !ÃànÀ~àäÃLðóÃÐ;Ã@Ãs÷Ã"ÃÀ… Ã`0ÀÃð›ÃpKÀrðÕ!Ãð} ÃPŒÃàÃð­Ã@kàCÃàÇ"ÃpÎÃPðÿÃpKà ²ÃÀÁÃàëÃ@ÖÃ@îà À~ÃPŒà ÙÃC"Ã`0ÀœÃpæÃÐúÃà ÃÐGÃ`<àäÃêÃPÃ.ÃpÔà ÃàýÃ^ððÃà÷ÀéÃàßÃ@qð ÃÞà ”àÞ÷ÃpÂÃPb"Ã@YÃ@èÀ%ÃÃPžÃð0ÃFÃÃÃÕàêÃÐSÃpWàØÃP€ÃðÃäÀïÃ@îÃÐSÃÀ,àÃÐYÃPÃPŒÃÐGÃ`Ãp¼ ð‚Ãà˜ýÀxÃpiÃ@qÃð$à ÃÐMÃÐÊÃð6àØÃÀµÃàbðóÃ`6ÃpàÃð6ÃðÃà€÷Ã`§ÃÀ‘ÃÀ‹Ã`¡Ã"ßà ÃPn ðpðÃ@qÃðƒÃP€ÃàñÃ0ÍÃ0Vàaà ‚ÀlðíÃ`fàsà Ã`HÃàßÃ0DàððÙÃ@_ðíëÃ¥Ãð‰ýà[ÀÃ0©ß!Ãà\ÃÐÄÃ.àÒÃöÃàbÃ à ”À–à ÃàbàOÃàñÃ`<Ã¥ÃpÚÃ`³ð ð‚ÃðÃÀ—Ãà€ÃüÃpQÀûÃÐYÃÐèÃ`¹ÃÀ Ã0µÀÃ0ÁÃäà Ã0£ÀràÀÃpWÃpÚëÃ@îÃÕàÒÃ@îàÒÃ0ÇÃ@èÃànÃ@èÃðñÃ@eÃ`­Ã08À„ð”ÃsàØÃ"Ã`­à j"Ã`*ÃmÃÀ—Ã0ÍÃüÃÐÜÃ0VÃÐSÃ`›ÃÃÃð*À–ÃáÃ`0Ãàñà ŽÃpuàsÃÀµÃ@Sñ÷ð|ÃêàØÃP˜ÃP÷ÃЦ!ÃÐMð|ÃpiÀ–à ÃÐ_ÃÃà )ÃÐÐÃÐÐðˆÃ0JÃpiÃÉÃLÃð³ÃFÃÀ2Ã`³Ã@ÊðÿÃ`›Ã[Ã02àgÃÀ£ðçÃàzà ŽÃFÃPtà ÃÐGÃÀ,Ãð­Ã—à )Ã`¹àCÃpWðŽÃêÃ`›ÃUÃ@ÊðpÃ`Ñà ¦ÃpàÃ0,Ã`³ÃÀ2ÃÀ&Ãð Ãà÷Ã`NÃp]Ã@Sà ùÃ.ð Ã@wÃÀ,ÃðÃpKà )Ãð‚ÃÀÃ`$ÃÀÃÀ©À„ÃвðvÃP€ÃàýÃ`<ÃÃÃðÅÃ0ÁàaÃànÃ`$ÃpQÃ@èÃàzÃ`6Ãиà&Ã:à‹Ã@ÃÀ>Ã@eÃP÷ðÃÀ8ÃÀ,ÃÐSÃÀ,Ã0ÇÃ@eÃð*ÃXÀ ðpÃÐâÃÐÜà%#Ã`$ÃçÃà€Ã0Áà ˆð@%ÃÌ Ã ÒÃPÃäÃpàÃ0nÃP’ÃP˜ÃP Ãð*à /àaà ÿÃàÙÃàßÃ`§ÃðÀÃÐÊÃ@ÜÃð¿ÃÀÍÃà€à ŽÃpÈÃÉÃð ÃÀÃà÷ÃÀÃà÷ÃPÃ`6ÀxÃpcÃ@à[Ãàtà à šÃP’ÃÕýÃ0¯ð ÃàºÃÏÃÐeÃ0ÓÃ0ÍÃP3ÃP3à ¬Ã@}Ã0åÃPÃðÃP'Ãð¿Ã[ÃpoÃÐÄÃðÃÐ_ð Ã0ÇÃ0,ðŽðšÃPðÿÃ`*Ãð¡ÃÀµÃÐÊÃÐMÃÕÃP!à #àsð)Ã`<à Ã:Ã` Ã@ÃáÃÀ8ÃàtÃÐMÀœÃ02ÃpòàðÃð­ÃPà  àäàgðóÃÐ/ Ã0bÑàüÃð0ÀxÃpuÃðBÃà˜Àà Ã@qÃð§Ã0ÁàÒÃà÷ÃàåÃ0ÓÃLÃÏà  ÃÐSÀÃ`Hà ¬ðšàsÃpoàaàäÃ.ðÃ@kÃànàðàðÃÐÄÃð•Ã`¿ÃÀ©ÃÐôÃpÃð¿Ã0ÇÀ´Ã…ÃPŒÃàzðà ²Ã0>ðÃÕÃÐAÃgððÃÃ0>ÃàtÃ@qÃLÃððóÀûðùÃÀ©à AÃPÃpoÃàzÃ0ÇàUÃp]ÃäÀËàÞÃ@Ãð­ÀÃ(ëÃ@}ÑÃÃ0\Ã`×Ã0DÃÀ£ÃpcÃðÃ@kÃ0PÃpæ÷ð|àIÃð§Ã…àÞÃ0JÃ@àOà ÃXËÃ08ÃP€ðˆà ²Ã@ñÀ~àØÃ@èÃPà #Ã`¡à Ã0ÁÃà€Ã`Hà ðóÃmÃàëÃÀÃÐÐÃP'Ã0>ÃÀÃÏÃpEÃ`*Ã@ÃàzÃ0‘"à+"Ã@ôðÃÀÁð”ÃP’ÃpÚÃpÎà ÃP ÃPŒÀïðíÃ@kÃ@èÃÐGàOðpÃ`­ÃaÃànÃà\ÃpEÃ0µÃð•Ã0©Ã:Ã@ðˆÃÐGÃ0&Ã08ÃP Ã0¯ÀûÃ`¿àÌÃÐ)!ÃàñÃ@âÃ0µÃP†àÌÃÐÐÃ`ÅÃÐSÀûÃàÃ0\ÃÃÃ0ßÃÛÃ:Ã0©ÃäÃFÃ0JÃÐAÃÕÀœÃ`<àIÀõÃÕÃPÃÃÃ@ÃêÃ0»ÃpcÃÀÃÀ—ÃpWÃðÃÐeÃ4ÃÀ&ÃàzÃpòÃðÃmÃð§Ãð$Ã@kÃ`ÑÃ@wàÞÃð ÃÀ,Ãð$Ã`­Ãð•ÃmÃÀ>ÃÉÃP ÃaÃ0Và  ÃP†ÃÞÃÀ"ÃàÒÃ0DÃ0DÀ–ÃXÃÐÖàgàäÃàñà ‚ÃäÃà€àU÷ðùÃÐYÃð¹àÌÀûÃsÃÐÖÃðÃ0£àOÃFàUÃêÃð$À„Ã`$ÃpWÀ„Ã@âÃ`BÃ^àØÃ`ËÃ@îÃàŒà AÃÛÃmà ²ÃXÃÐÐà Ã@ÃÀ©ÃpiàOÃ0ÇÀŠÃÀ&ðçÃ@MÃÐYÀÃ`ËÃ4Ã`BÃÀ2ÃÐÜÃLÃðÃà ÃpÚÃð$Ã…ÃÃ@ôÃ0Vð ÃóÃÉÃ@ÃðÃÀ2ÃÐÜÃÀ2ÃÃ@}Ãð*Ã08ÃPýðùëàØà Ãð›Ãð$Ã0»Ãð Ã@îÃð§ÀðÃPÃÀ ÃÐSÃP ðvÃ`<ÃyËÃ@ ÃÐMðpÃ@èÃPŒÃpþÃP!Ã@ÜÃpàÃ¥àUÃ0>Ã@âÃPžÃÏÀ ÃpQÃð*Ãà÷ÃpEÃ`<ÃÀJÃÐYÃÀÃÐÐÃpÃÃöðùÃsÃLÃpuÀœÃpÃ@}ÃPð|ÃPtÃàåÃPzÃ@eðùÃðÃ0ÍÃPžÃ`ÅÃÕÃLÃðÃð•à ŽÃPÃÀ Ã`¹Ã0PàmÃp]àaÃàD#ÃO ÃÏÃð*ÃÀPÃÀ£ÃÀ‘Ã4ÃP†à ”Àf ÃÐ)!ÃPŒÃaÃpÂÃ0%ÃØýÃÀ Ã4ÃàëÃàÙÃ0&ÃÃP€ÃàëÃ"ÃÀê$Ã` "ÃÃÀ!ÃPß"à j"ÃPn Àõð^ ðçÃp¶!à ÃP÷ÃÀÃPŒÃàåÀûÃO ÃC"Ã@_Ã4ÃpÂÃ7$à ^$ðjÃÀÃÒÃ°Û Ã0,ÃиÃ`›Ã@Mà´ ÃðƒÃPñÃÀ!Ã` "à=Ã@_ÃÐ;Ãиà ”ÃàåÃÀö"à ðçÃЬ Ù"ðpÃð‰ÃðÃp9!Ã4ÃüÃØÃÐ#ÃðÃ`ÅàIÃ0‘"ÃÀ"Ã@MÃÀ£Ã"Àïà p!ÃC"à v ÙÃà÷ÃÐAÃàßÃð•ÃÀy"ÀlÃP†ÃPzÃðÀÝ!Ãð Ã@ÐÃÀàÀÃàåÃaÃ0£Ã@YÃpæÃÀ!ÃàP!Ã@Ä Ã ´ ÃàßÃ0£Ãð‰ÃO ýÃàëÃp¼ ðR"ð@%à d#Ãp3"ÃÌ Ã@Ðà ‚à ÿà¨"Ã0!Ã@YÃð¡àIÀéðáÃ`­ÃUà=à ÃO ð^ ÃÀ!ðóàÆð^ Ã@âÃ( Ãp!%ð‚Ã@âÙÃ@ÐðçÃиÃ.ðÃyÃ@YÃàÓ Ã€õÀ¿&à ^$Ã0µÃÀ‘ÃP€Ã{#Ã@ÊÃÐAÃp? ÃPñà í!ÃpWÃðÃ`$ÃpEÃ`$ÃsÃÆ!ÃÐ/ ßÃ"Ãð_%Ù"Ãp9!ÃmÃPÀûÃàÓ ÃðƒÃÀy"ÃÀ àºÃ°Û Ãàëà ”ÃLà Ã`$ÃpWà ‚ÃЬ Ãp'$Ã0!Ã@ÐÃpEðçÃ`ÑÃÀ!Ã@¬$Ã"ÃpÈÃ4Ã0 Ã`!Ã0!Ã0£à ùÃP†à ÓÃÐÄÃ` ð|ëÃ0Áà ˆðáÃЬ ðçÃð ÀïÃÀÃ0µÃ@YÃ.Ãêà p!Ã( Ãð›ÃÐ;à |ÃÀ‘ÃFÃ"ÃÐ/ ÙÃÀ!ÃÀ‹ëÃ`$ðáÃ@¾!ÙÃÀ… Ã@ÃP†ÃpÔÃÐMÃöÃÐSÃ"Ã0‘"Ã@eÃ`§Ã@wðÃ@ÃP Ç!à7 Ãp? Ã@MÃpÔÀÃ0åÃÐGÀà[Ã`HðáðÕ!Ã@¸"Ã.Ãð0àØÃ`0Ã`$ÃÀ©Ãð6ÃÀ&ÃPýÀ ÃpoðŽÀxÃpKÃ¥Ã0>Ã@qà[à  Ãð³àgÃÐMÃÀ—ÃpÂÃ0!Ãð ÙÃpæÃàtàØÃÐMà ²ÃÐYÃð›Ãð|Ã`Å÷Ã0ÇÃð³ÃaÃàëÃÀÃÀ>ÃpòÃgÃ@_Ã`NÃÀ&ÃðÃ`³Ã@qëÃàëÃð•ÃÀ‹àºÃP˜ÃpìàÒÃðÃP˜ÃÀ¯Ã@eàäÃ^Ã(ÃÃÃ@kÃLÃ0ÓÃÀ,ÃpQÃоðpÃ`ãÀà šÃP’Ã0åÃ^ÃÐYðŽÃ0©ÃÀÃ@_ÃðàÞÃ.Ã@èà v ÃðÃàýÃðÃÐÊà ÃpæÃðHÃðÃ0Çà ”ÃPÃÀ\ðÃð¡Ã`0ÑÃ`ãËàIÃpWà #ðóËÃÐÖÃPÃðHÃ@úðÃà ÃÐÊÃöÃðÃàÃð³ÃÀ©ÃpÔÀœÃXà ²ÀÃpiÃ@ƒÃ`<ÃàåÃð0ÃRÃ@}àÒÃÀ2ÃàtÃà†à ÃàÃàtàaÃ0Çð ÃÕÀŠà AÀÃ`¿Ã@kÀŠÃ`¿ÃP¤Ãð0ðŽÃ`­Ã(Ã@_à=ÃÕðvÃüÃ`ÅÃÀ8Ã`Bà ÀÃ@_Ã@_à ¬ð#àÃð¹ÃÀÃ@wÃð*Ã@‰ÃFÃ08ÃpòðÃsÃðÃP†Ã@ôÃ(Ã@kÃàÀœðÃ`BÃàzÃ@ÀÃFà #Ãð¿ÃpòðÃÐkÃ…ÃPzà |ÃPÃÃð#ÃÀ8Ã@âÃêÀ ÃÐâÃ`TÃà†ðdÃÀ‘Ã@ÜÃFÃ`*Ã@}Ã^ÃP¤Ã@}Ã0PÃàzà ‚Ãð›à[Ã0\ÃP Ã0!Ã@îàaÃ`<à ”ÃPzÃ0JÃ@ƒà ;Ã:ÃP!Ãð ÃÐAÃÐîÃFÃP-Ãp‡ðð¦ÃÐkàÞÃ`HÃàÃÕÀ%ÀÃÐÖÃP’Ãð§ÃPŒÃaÃ[Ã@îÃÐÐÃðÃ0,ÃPžÃ`NñÃ4ðvÃPß"Ã`6ÃP!Ã0bÃpøÃ@kÀÃ0Ó÷ÃPÃöÃàåÃöÃð¹Ãà÷ð Ã0ÍÃpoÃÐÄÃ0>ñÃpæÃÐÐàUàOÃðƒÃàÙÃ4ÃÀ»Ã0ÇÃ0,ÀûÃÐYÃ@eÃPÃPýÃO ÃPýðÃpàÃöÃ¥ýÃP¤Ã`<ÀÃàýÃ`ÅàÌÃàëÃFÃ0&àÀðçà ÃÐÖÃÃàUÃP†Ã08ÃÐ_Ã@eÃð‰ðóÃð6Ã0PÀ„Ã(ÃÐMÃÀÃÀ2Ã:à ð ÀÃöÃиÃLÃÐÜÃð$ÃÐÖÃ@Üà Ãð§ÃÀ2à ¬ðÿÃáÃÀ>ÃðÃpWàaÃÐ_Ã`ËÀÃ@îÀ~à /ÃàzÃÐîà Ã@à #Ã^ðÃà†ÃÐGÃð‰Ã^Ã@ÃÏÃÀ>ð Ã0VÃ0JÃ0ÍÃáÃÐeÃpþÃ`×ðÃÐ_Ã08ð|Ãp]àØÃ@ÃpæÃP°ÃÐkÃpcÃdÃàÃðàüÃ0JÃ0ÁÃð ÃànÃð6À Ã`³Ã@_à ÿÃ0µÃ02ÃpàÀð|Ã@eÃÐSÃ0VÃÀµðˆÃ@}àaÃ`­à  Ãð§ÃLëÀ+ÃÐwÃ`¹ÃsÃp{ÃpþÃpoÃÀ à ÃPð¦Ã@úÃàhÃÀ£Ãà†Ã`ZÃ0PÃ0ÁÃpiÃÐeÃ0ÍÀœÃPEÃ`¹ýà /ÃàÃÃð*ÃÐèÃ0åãÑÃPÃçÃLÃàªÀŠÃ@kà MÃàaÃðNÃóÃ`HÃð¡Ãpà ¾ÃÐqÃ`HÃ0VðÃÉÃ@ÃPžÃÕÃà’ÃÐwÃ^Ãð$Ã0ÁÃÏëÃàŒð)Ãà÷ÃP'ÃÏÃp‡ÃÐ_Ã`NÃ@qÃð³Ãà†Ã0JÀûÃðÃP¶ÃpÃ0ñÃ`ÝÃ:ÃPÃP à[ÃвÃð§à ;Ãpu÷ðàðÃXÃRÃð­Ãð³ÃÃP!Ã0ßÃÕÃð*ÃÀÁÃáÃ0Íà ¦ðÃ@à #Ãp{Ã0bÃ0bÃ`¹Ãð0ð#ðÃRà ÃÐSÃP¶Ã0ëðŽÃà’Ã@ÃP˜ÀœÃ0VÃpuÃàð²à—ð)ÃáÃÏÃpuÃ0DÀ%À1ÃÐqðšÃ@Ã@ƒÀÃ0ÓÃ0ëÃÐôÃP°ÃÀÁðšÃpWà šÃÐSÃÐAÃðÃàÃÐkÃÐôàðÃ@}Ã:à /ÃÐYÃÃÃð¹Ã0Jàäð¦ÃÐqÃPÃ`*Ã`BÃàº9Ãx¶…ÃøÊŒÃ°è‰ÃðŠ‰Ã ¡„ÃÈ‹ƒÃ¸pÃ@Š€Ã(€Ã`ä{ÃЄzÀÁyÃEuÃæoÃPÿpÃ@ÞoÃ`ÇkÃP#kÃ@üjÃ@ðlÀ°gÃ{lÃ@‘gÃ@eà ´iÃÐaÃldàdÃdÃdÃ@8aÃp$cà abÃ0#^ÃçZðê\ða^ÖaÃ0 ^à …\À{[À‡YÖ]Ãð-WÃð˜ZÃ%[Ãð\ÃP ZÃð¶UÃà•TÃpéWÃ0MWÃàSÀ·Qà ÇQÃà$RÃaQÃðæMÃ)PÃÀqMÃÀèNÃüPÃØRÃ0kRÃPÅPÃð]Oà VOÃCVàRà)LÃФKà nKÃÀHà tJÃ@¶LÃp+MÃ0}OÃPéJÃPËOÃÐ!LàMFÀùFÃ,IÃ`ŸHà nKÃGKÃðòKÃÀHÃPïIÃÊJà²JÃÖHÃÊJÃаIà ŒFÃPBÃP EïDÃPGÃ&Fà Hà¾HÃ2HÃ0$Ià †GÃJDÃ@òBÃ@àEÃ0ÑAàw?ÃP®?àî@Ã`ÃBÃ@@ÃwCÃAàô?ð°<Ãà¢=à ¶?Ãà¢=À;<Ã?ÃPCÃÐì?ÃBÃÀ6BÃÐæ@À)?ÃðL=Ãà1;Ã`R@Ã@¥:ÀG:Ã0TAÃàœ>À¸<Ãý;À¾;Ã`d=Ã>ó9à›9À;<ðž?Ã0ÑAÃ@.9à•:ÃÀÝ;ÃðX;Ã`8Ã@@6ðW6Ãðí7Ã0¢4ÃN5ù8Ã<8ðQ7ÃPÒ9ÃÀõ7ÿ7Ãp,8à Ú9Ãh;à9ÃB7Ãp :ðÎ7Ã8Ã-4Ãà=9ÿ7à 2Ãð 3àH2Ã@Ã5ðì2Ã0¢4Ã@Ï3Ã@Ï3Ãë:ð]5ÃpJ3ÃPÞ7Ãp¯7Àq3Ãà.Ã’4Àw2ð3ÃàÌ6Ã@L4ÃÀû6ÃàÒ5ðà4Ã` 3Ã7ÃpD4ÃpÓ1à<4Àè4ÃPö3ÃP&,ÃE0Ã0œ5ÃÀœ1Ãàg2Ã`/1ö.ÃÀ3à 3à 3Ã@@6ÃÀ„5Ãàð0Ãph.Ã071ð/Ã`M,ÃÐX.à 2à¿3ÃP‹0ÃP0ÃÐÉ0À}1ðo2Ã`A.Ãpñ,à 1à¿3Ãà.Ã@j/ÃP2Ãð‚4ÃÐ:3Ã0O-Ãpb/ÃÐX.À$+Ã0Ø+ÃP0À‰/Ãàs0ÃË5Ãð0àf-Ã`²0Ãð/-À.àÝ.à “0Ã071Ã`G-Ã`G-Ã~-ÃPµ)Ê+Ã071ÃÀ¨/Ã@ó-ÃP.à /Ã,Ã@v-Ã0C/Ã@ù,ÃÀ+/Ãà+Ãi*Ã`S+àl,Ã0ä)Ã@í.ÃÐL0Ãc+Ã`_)ÃP-àõ*Ã@d0ÃÚ,àr+Ãpë-ÃQ.àõ*Ã?1Ã?1Ãð;+Ã0g)Ãp€*Ã],àé,ÃÔ-Ö)Ãà*ÃÐX.ð/Ãû-à ±+à ½)ÃÐ^-Ãû-Ãc+ÃP0Ã`â(ÃÐp*ÃÐç+ÃP&,Ãpz+Ã0g)Ãð/-Ãð5,Ãð²,Ãpt,ÃPD'ÃД$Ãà&(ð™+Ã(à @)Ã(Ã0C/ÃÐL0ÃÚ,ð¥)à L'â'Ã9.À¡+àã-ÃÐR/À›,À•-Ã0Æ.Ö)ð±'à Ã(Ãi*Ã0Ì-ÃP©+Ã)À$+ð·&Ã`è'Ã?-à F(ÃP&,ð«(Ö)ÃPÇ&à X%Ã0ö&Ã0ö&Ãà+ÃÐd,Ãø'ÃÀê$ÃÐÿ'Ã~-Ãu(à)â'Ê+Ã0ê(Ãà—*â'à 'Ã0ö&Ão)ÃðG)Ä,à @)Ãì)Ãà-àé,Ã0ð'ÃÐd,Ã0C/àï+ÃÂ,Ãà‘+ÃÀm$ÃÀÀ+ÃÀ=,ÃðY&Ãc'ð“,ð-ÃðA*Ãp†)Ã@)ÃðÄ)ÃP¯*Ã@ &Ã`$Ãp˜&ÃP>(ð™+Ã0s'À¿&Ãì%ÃÀI*ÃPÇ&Ãð_%Ã`k'Ã)ÃÀa&ÃPÙ#Ã@'Ãpý*ÃPµ)ÃPÍ%Ãþ&ÃQ*Ã0[+Ãp )Ã0Þ*Ã0Þ*Ãð;+Ã0Þ*ÃPµ)ð()ÃÀC+Ã0a*ÃÐ|(àr+Ã`q&Ã@)àõ*ðŸ*àr+ÃÀa&Ãp&à$Ã{#àf-ÃÐX.Ã@ç/ÃP¯*À¿&ÃÀê$ÃpÂÃp3"Ã`â(Ã0y&à&Ãà*Ãæ*Ãø'ÃPÇ&ÃP¯*Ãp )à Ã(ÀÑ#ÃÀö"Ãp'Ãà+à)Ã`î&Ã`q&à ½)Ãæ*ÃÐ|(Ã$Ão%à 'À6(Ã`S+Ã@'ÃÀð#Ãà£(Ãæ*à ½)Ã`ô%àr+ð .ÃðÄ)Ã0m(ÃÐ &à Ï&Ç%ÃÀ['î%Ã0ü%Ã(ÃðÖ&ÃP»(ð@%Ãp3"ðÏ"Ãàµ%Ãà&(Ã+&ÀÅ%ð±'Ã0a*Ã`S+ÃÀÀ+ÃÀÞ&Ãp!%î%Ã@)%à :*À0)Ã`Ü)Ã"ð½%à Õ%ÃÐŽ%Ã0ö&Ãp3"à 'à L'â'Ã0ð'ÃðÄ)Ã@)ð@%ðdÃðw!Ãðk#Ã`w%ÃÐ'Ã$ð·&ÃÐó)Ãp¤$ñÃ@¾!Ã0…$ÃðÐ'Ã@A!Ãp&Ã`w%ð·&ð¥)à%#Ã@¬$ð4'ÃPP%ÀÑ#ÃÐ'Ã`e(ÃЂ'à%à Û$Ã@¬$ÃðÜ%à X%ÃÐ$Ã0‹#Ãp'$Ãpª#Ã@¸"Ãu$Ãi&ÃÀI*ÃPÁ'Ã`ú$Ãp¤$ÃÀ"à R&Ã&Ãc'ÃP©+à L'Ã@ &à X%ÃPß"Ã0…$àr+Ãp&Ãðk#à Ã(Ã$ÃàÇ"ðÃ$ÃQ*ÃPV$à Ï&Ãu(Ç%àŠ'Ã0m(Ã`q&à%à´ Ã@¸"ÃàJ"à ÃÌ ÃPß"Ã`}$Ã0"Ã0$ð@%Àã ÃðÖ&Ã0y&Ã0%Ã0y&ÀÑ#ÃðÃД$Ã`ƒ#Ã`$à j"Ã0…$ÃК#ÃÐ &ðF$ÃÐ$Ãðq"â'à ^$à%Ã{#ÃÐŽ%à É'à–%à¢#ÃÀð#Ãò$ðÉ#ðÃ$Ã`w%Ãp(à„(Ã`!Ãp9!à%#Ãðô!ðáà ç"ÃÀ"Ãpž%Ã`k'Ãð} Ãp¶!Ã`}$î%Ã`î&à Û$ð½%Ã`ô%ÃÀä%ÀN$Ã(Ã@)%Ãàµ%à F(ÀH%Ã"!Ã=#Ãpª#ÃPÇ&ÃÀü!à1!Ãp¤$À6(ÃÀ['ÃÐ#ÃиÃPå!à Û$Ãi&Ã`!Ã°Û Ã0y&Ãp )Ã`ô%ÃPV$Ã`$Ãpž%ð@%Ã`$Ã@ &ÀB&Ãð ÃÐ/ Ãà»$àŠ'ð«(Ã"ðÏ"Ã0‘"ÀH%ÃÐù(ð½%ðR"Ã@/$ÃðA*Ãp'Ã+&ÃÚ(ÃàD#à®!ÃÌ Ã0—!Ã` à¢#à%à j"ÃÀÌ)àŠ'Ã@MÃ`*ÃÐAÃÐ;ÃÀ‹Ã`›Ã°Û Ãðè#ðÕ!ÃÐŽ%ÃpEÃД$Ãp˜&Ã0!ÃàP!Ã"!ðÕ!ÃÀü!ÃðƒÃÐ;ß!ÀÑ#ÃàP!ðX!ÃPÓ$ÀB&Ã`â(ÃÀa&Ã`}$ð^ ÀZ"Ã0m(ÃÐŽ%ÃPn ÃPP%Ã0%Ã`ú$ÃД$Ù"ÀN$ÃР"Ãì%Ã&à á#Ã@/$à á#Ã0‹#ÃÀü!ÀË$ÃPß"ÃÒÃðú ÃÐ#à !à |ÃÐ &Ã`ú$î%Ã@/$Ãp¶!à p!ÃЬ ÓÃ@YÃ0—!Ã@/$à–%ÃÀü!Ù"ÃPP%ðL#ÃPÍ%Ãp(Ã`‰"Ã0‘"ðL#ÃÐ#"Ã`• Ã0ð'ÃÌ ÃPÙ#ÃÀ"Ã@Ä Ã€Z"Ã{#À¿&Ã0—!è&Ã7$à í!Ã"Ã=#ÃÀm$ÀÝ!Ãð Ã0#Ã0#Ãu(â'Ã0m(Ãðî"ÃК#Ç!ÃÆ!Ão%ÃP÷Ãðî"Ãpž%ÃPå!ÃPß"Ó#à%ÃЈ&Ãà,'à¢#ÃàÇ"Ã`!ÃÀ Ãðô!ÃPÓ$Ãp3"à ‚Ù"à%ÃPV$Ã0£ÃÀð#Ãp )Ã`q&ÃÐ)!ÓÃà»$ðÏ"ÃÐ/ ÃÀ!Ã0©ÃÀð#Ã@)%Ãi&ÃPÇ&ÃÀü!Ã@ &ð@%À×"Ãp9!Ãp'$à$à¨"Ã` "ÃPÓ$ÃД$Ã@#&Ãæ&à&Ão)Ãðî"Ã0ü%à !à L'ÃÐ%Ãp¶!ú#Ã0$Ãp¤$ÃÐ &ÃÐí*Ù"Ã`• ÃÐ$Ãðe$ÃÐ%Ãp'$ÃД$à X%Ã@”(ÃÐŽ%ÃPß"à®!ÃpQà+"ð¥)Ã`_)ÃPÇ&Ãà>$à Ï&Ã`e(Ö)Ãà )Ã{'Ã0s'Àã Ã`ô%Ã"è&Ã0ð'Ãð5,ÃP&,ÃÔ)ð«(à¨"À¹'Ã&Ãðô!ÃÀs#Ã`ƒ#Ã0%ÃÀa&Ãà»$ð·&Ã0ü%ÃPV$Ãu$Ã0%Ãвà$à Ï&ÃPÁ'Ãà&(â'Ö)ÃàÍ!ÃÐ'ÃÐŽ%Ãðe$Ã`#ÃPP%Ã`w%ÃàP!ÃÐ &Ãð¾*à R&Ãp&ÃÐ'Ã@”(ÃðM(Ã0s'Ã7$Ãà,'ð±'Ü(ÃPV$Ãì%Ãp†)Ãø'Ã{'ÃC"Ã&ÃPD'ÃðƒÃðô!à Ã(Ãð).ÃðÖ&Ãþ&ð½%à+"ð·&ÃÐ|(Ã`#à®!ÃPÇ&à d#ÃPÙ#ÃðY&è&Ãì)ÀT#Ç%à v Ã`›Ãð›à%#Ã0…$Ãp(ÃP»(ô$ÃК#ÀË$Ãpª#ð@%Ãþ&Ãp’'àœ$Ã$Ãðú ÃPP%ÃQ*Ã@ &Ã0ü%àœ$ÃðÃ0&ÃðƒÃpvÃÀddÂâþÁš €$+€XLÂ@µaÂ@8aÂ@gn $„ ¯ŒÂà?ÂàiˆÂ@“Â`õÂd–Âϙ =ŸÂ@Ž©Âà2¦Â`Ü©ÂÀö¢Â p¡Â@5£Â]¬Âà®Â`ЫÂ@ɴ€°Â€±Âà̶Â`RÀ ¹Â T°Â`´Â  ¼Â€#ÀÂÀ¡ÅÂ@«¹ÂàÀ¸ÂÀH¿ÂàÀÂàÂÂ@¾Â€ÿÅÂÀN¾Â,ÉÂÀH¿ÂÀ ÉÂàTÊ _ÃÂ`ËÂ`uÏÂÀGÔ€íÈÂàNËÂ`.ÆÂ >Ó€ÉÎÂÀGÔÂ@!РùÓ jÖ ÿÒÂ`uÏÂ@ÕÂ`¶ÙÂäÔ \ÎÂÀMÓÂ@ÓÜÂ@ÓÜÂÀùàÂ@ê€cßÂÀ ÚÂ@ßÚÂàÜÝÂ@>à€Kã„ä€9æÂà5ä çÂà/å sßÂ@µáÂàè€3çÂ@¯âÂà¾âÂà¦æÂ`8îÂ`ßç€Âä 7éÂàÿìÂHîÂ`DìÂÀÃé ¨ëÂàìÂ@ç ªõ€tñ ï Èð ?òÂà4ùÂ@œúÂàjð ÈðÂ@ûÂ÷ ¼òÂàçðÂ@ðì õó€©ý•öÂ@Æó ž÷ÂàŸü ¿üÂ€ÇøÂ ªõÂÀuö üÂÀuöÂ@ûÂèÃ÷€ ÿÂ0EÃpànÿ°‰Ã0QÃ0àÃ ×øÂàþÂpùÃ`ÆÃppÃàÃ@rà ³Ã`UþÂð®ðÃð1à\àåÀ—Ãà ¡Ãð1Ã`ÒþÂÐéÃ`ÀÃàà $Ã@éà ÀàÍÃÀÃ;Ã)Ã÷ððÃPþÃGàÀÃàÃ@`Àà Ã`ÀìÃPÃпÃbÃð–Ã` Ã0 Ã@H Ãð¨à $Ã5ÃÐTÃGÃP Ã#ÃPþÃÀ!ÃPæ Ãðx ÃP]ò ðâ à ƒ ÃàiÃpL Ã0 àÁ Ã@`æ Ãà] Ô Ãp± ÃpÉ Ã w Ã@Å Ã eÃ# Ã`ÃÐ* à8 Ã`Š Ãàc ÃÀåÃЉÃPì ÃàK ÃÀ Ãp@ ÃP{ ðS ÃЧ ÀUÀUÃíÃÀ Ã0’ Ã`éÃ@ ÃD à } Ã0¤ Ãp@ à } ÃÀ€ ûÃà¶ÃPì Ãp: ÃЉÃ@›Ã@*Ã0Œà© à£Ã°Ö ð²ÀÌÃÀtÃ) ðGÃÁ Ãp™ÃЉà ÖÃ0Ãpà© Ã0€ÃÐÃðlðÊÃÀÙÃPÂà ô ÃŽ ÃPKÃðÑÃà9ÃÀñÃ` ÃV ÔÃÀtÀ…Ãp: à YÃ`éð)Ã0ýÃ0÷ÀÌà ÄÃàžÃ`lÃðÝÃÃpþÃPÚÃ0 Ã`fðAÃÀñð;ÃÐ À´ÃPKà Yà Að5ÃP¶Ãà’Ã0ßÃà¶ÃÀëÃ``Ã8ÀOÀºÃpòÃðÅÃà!ÃÀ8ÃÐîà‹Ã@¡ÃÀÍÃð³Ã@ƒÃÐkÃP°Ã0ÙÃÀÓÃÐÃÃÃàÃÐ}ÃÀJÀ¢àüÃÀhÃ0tÃ0ëà GàÃàÃàà MÃvÃÐèÃðËàêÃ0\ÃP'ÃÀVÀÀÃpàmÃÀ»ð/àÃ`fÃdÃÐúÃ`ÅÃÐwÃ`õÃpàðÃÛÃ`fà ”Ã0>Ãð³Ã@}àüÃ@ÃÃíÃÀJÃ@ôàØÃà÷Ã`Hð¬à‹ÃàŒÃ0PÃ0ßÃðÅÃ0PÃ`ËÃÃÐèÃ0ÍÃ@îÃÀÃð³ÃÐúà ¸ÃÀ8ÃÐeàêÃÐ_ðšÃÀÍÃ÷Ã@Ã0µÃ`Bð Ãð$ÃjÃíÃvÃð*à ˆàmÃÃð<à ¦ÃpÚàmÃXÃà˜ÃPÃ08ÀÃà¤Ã0ßÃ0JÃÀ®Ã0\ÃpcÃÀÁÃáÃPªÃà˜àüàà ¾Ã`ZÃÐÜÃ@Ã…àäÃ`Zð”ðÿÃà†Ãp{àsð5àäÃ@ƒÃpÔðÃ0Íðð ÃÉÃ0Çàöð À+Ã0ÍÃPýàaËÃð0Ã@_ÃÐ;Ã0Jà ²Ã0ëÃ0bÃÀJÃ@kÃ0ßÃð§Ã0ÇÃpøÃ`ÑÃ@ ÃpàÃ0ÙËÃ0ÙÃ@îÃ`TàsÃ0,ÃP°ðŽàIÃ@úÃÐèà )ÃFÃpàÃÀ£Ã0"à ¬ÃÐ_ÃpþÃÀhÃp“ÃÏÃÀ,àÒðÃÀµÃÃFÃmÀ¢ÃðHàöÃð6Ã`¿ÃFÃÐúÃ0Ùà[ÃÕÃLÑÃ`¹À„Ã0»Ãà’Ã0ÙýÃÀ¯Ã@Ã@ƒÃPžààÞÃ@kð¦Ã0VÃà€ÃÕÃÛÃpÃpæð Ã0nÃð)ðÀ7Ã0ßð|ÃðÃÀ»à ¦ÃàÞÃÐwðÃ0&ÃaÃP¤Ã@eÃP’ýàmàmÃÐôéÃ`éÃ0ÙÃÐkÃpìÃPŒàØàöÃ…à Ãð‰àØÃ0>Ã0>ðóÃ0ßÃð¹ÃpøðvÃP’ÃÐMÃ@eÃpQÃ`6Ã0©à ”ðýàØÃ0>÷ÃpcÃ@}ãÃÃ`¡ÃàhÃ`×à #Ã0ÇÃP˜Ã@Ãð6ÃàýÃpiàIÃêÃÐSÃ@èà ”ÀÃ0ÍÃ0»Ã`$ÃmÃmà ¦ÀÃ0ÁÃ`­Ã`TÃð0Ã@úÃPðÃðÃ@âðÃà€Ã`³ÃpÔÃðà |Ã( ýÃgÃÛð#Ã0DÃ@ÖàºÃð ðvÃÐSÃpòýÃÀ—Ã0¯ÃÐSÃÀ&Ã@îÃÀÍÃP˜ÃÏÃ@ÐÃpcÃÐÜÃ`ÑÃà†Ã@_ÀÃpÚÃànÃ`ÅÃðÃ@_à Žà ÃöÃà†ýÃsÃpKÃgÃÀ—ÃàzÃÀ ðpÃñÃÀðÃÀµÃÐúÃPÃ@YÃ@_Ã`*à ”ÃFÃÀ©ÃÐÄàÌÃPžÃ@qÃ`0àÌÃð$Ã0¯Ã`*ÃàßÃpÚðÃP à ”ððpÃÐÄÃØÀÃ0&ÃpÎÃð›ð‚À¢ÃP€ÃàýÃ0ÇÃpWÃà\ðÕ!ÃÃÐYà #ÃÀ,Ãð*ÃÐ#"ÃиÃaàÀÃðÃð0Ãà€Ãp? ðdÃ0ÍÃÃpþÃ`HÃp]àÃP¶Ã@kÃÐYÃpWÃð•ÃÀµà /Ã`ÅÃð6Ã`ÑÃÃÃgÃ0,Ã0\à ¦ÃàÙÃÀ—à ÄÃÐeÃ&ààäÃÐ;ÀrÃÐMÀÃð¿Ã@âà ¦ÃP!ðð|Ã`¹àÌÃоÃp{Ãð0ÃP Ã0ÁÃ@}Ã‘à ¦ÃPŒÃÀ2ðÃ`§ðdÃ0JÃð§àÞà #ÃsÃð‰ñÃ`<ÃpiÃ@èÃð­Ã@ÊÃð ÃpÔÃð§à[Ãà€ÃÀÃÐèÃÀµðpÃPh!Ã@ÜÃ0\ÃÞðjà ‚Ã`<Ã0ÍÃ08ÃPÃð<ÃÐÖÃsÃðñÃðÃ@ðjÃð¡ÃFÃ@ÃÀ>ð ñÃPÃFà  Ãð³À®ÀðùðˆÃyÃÀ8Ãð­ð ÃPÃpÔðšÃ0JÃà ÀÃ`Nð/ÃÐèÃÀ!ÀÃð<Ãð¹ÃÀ¯ÃàëÃàåÃ0Dà ðˆÃð§Ã`*ÃP ÃÉð|Ãð§Ã`ÅÃFÃÀDÃÀ¯à ¦ÃÐMðˆð|Ã@âÃ@ Ãð­ÃP˜Ã(ÃÏÃÐeÃ@Ãð•à |ÃàD#Ãp9!Ã¥ Ã@ÖÃpÈÃð à ŽÃFàaÃàÃpuÃà†ÃpìÃðÃ`$ÃPŒÃ0JÃP3àêÃ@ôàOÃ@îÀ¨Ã0ßðàØÀ~ÃÀ©ëÃ@ðÃpàmÃÐÖÃàñÃÏð ÀŠÃpQÃêÃÀ,ÃÕðÃÈ+ÃÕÃÐwÃ`ZÃ0DÃêÃöÃ0JÃð6ÃpÃÐÜð|Ã`<Ã@ÃÀ,à Ãà†Ã@àêÀÃ0VÃ@qà ÃÃÃ@ôÃÀ ÃpìÃðÃ0ÍàÒÃ`<Ã.ÃÐAÃPÃ02ÃP ÃPŒà à  ÃÐYÃ0VÀ„ÃÐYàäÃ0ßÃðëà ÃÞÃ@àÆÃàßÃpÈàÞÃRÃpþà #Ãð$à[Ã@èÃpKÃ:Ã`NÃÃðÃðÃ0DÃ.Ã`6ðŽÃ`NÃà ÃÀ ÃàzÃ`6ÃðÃÀ»à Ã`<àäà àÒÃÐÊÃð§ÃpàÃ[ÃÐÐà ¦Ãð¡ÃRÃð<Ã0£Àã à ÃÀ,ð‚Ãð0ðà ²Ã0ÍñÃ@ôÀÃLÃà†ÃP!ÃÏÃ@âÃpÂÃ0JÃà†ÃP€ÃpàÃàñÃLÃð›àOðùð|Ã@ÃêÃàåÃÀÃààOðpÃÐèÃpàÃsÃpÔÃsÃà à Ã0>ðùÃFÃ(ð”ÃÐÖÃÀð”Ãð¡Ã0»ÃP!ÃmÃàtÃ:Ãp]ÃàñÃÐSð Ãà€ÃÀ£Ã@YÙÃÐ5Ãð¡ÃÐÊÃðÃÐGÃÐÐà šÃöà #à  à v ÃÞðóÃànÃ@îà #Ã`ÅÃpuÃpoÃðÅÃ`ÑÀŠÃ0 ÃpÎÃàÀÃÐGÃð­ð)ÃàÃ0DÃÕÃ.ÀÃÐAÃð*Ã0PðvÃÀ8ÃPªÃpcÃÕÃàà 5ÃP¤ßÃFÃ0ÇÃÐÖàÒÃPžàöýÃpcàØÃ@qà /àðÀrÃ0>Ãð§ÃÉÃXàäÃÀ¯ÃÐîÃ`ZðšÃ@ƒÃÉÃyÃP’Ãð¿àaÃpÔÃàhÃpæÃà ÃÐâÃàëÃÀ!ÃàñÃà Ã`ËÃÀÇÃ0Pà ¬Ã@úð‚àÆÃÀÇÃð<ÃÀ©à ²Ãð$ÃpÚàêÀà šÀ¢à ²ÃPÃP¶ðˆà ÃsËÃàÃð0ÃÀµÃpÔàÒÃ…ÃRð|Ã0ÇÃàŒÃÉðŽÃÀÇÃÛÀœðŽÃ0PÃP€ÃÀ»ÃP-ýÃ@wÃpìà šÃ@wð Ã:àmÃð<Ãð­Ã[Ãà ÃðNÃ0ßà ÃpWÃ`ËÃÕÀ¢Ã@qÃ`×ÃP!Ãà’à Ã0JðŽÃ…ÃÐeÃ:Ã@qàsàðÃPÃð0ÃðÃÉà À%à AÃÀ2àÞÃÐÜà ¦Ãð6ðŽÃP!ÃÀPÃPÃÐ;ÃÀÃàtÃ0VÃÐîÃÀµð ÃÕÃ0PàêÃPÃpuÃðHÑàmÃÕÀ%Ã0Vð|ÃpÔÃÐÄÃà ÃÀ2ÃÐMÃÀDÃÐYÃàëÃp? ÃÏÃíðÃçÃðËà ;ÃðËÃ4Ãð¹Ã0\ÃÏÃàŒÃð<àUðÿðŽÃ0ÇÃÀ£Ãð³ÃÐÃ`Hà )ÃXÃÐYÃð¿ð ÃÀŠÃà†àyÃÐ}Ãð6Ã`³Ã4ðšÃPŒÃÐYðŽÃ@èÃðÃ@îÃpàÃ0ÍàäÃ`HðùëÀ%ÃÐîÃ@ôÃáÃÐÃðÑÃP!ÃÀ»ÃÐÖÃÏÃpoÀ–ÃÀ2Ãð<ÃàžÃà÷ÃpìÃÏÃFÃ…Ãð¹Ã0ÓÃÃpþÃP-Ãpæàgð#à ¾Ãà'Ã`éÃpoÃ@‰ÃXÃÀ©Ã@_ÃpøÃP˜Ãð³ÃP3ÃÀÇàÞÃ:ÃíÃçÃÐqÃdÃÐÃP?Ã0ÙÃP'ÃpiÃLÃRÃ`­ÃyÃ0DðŽà /Ãà’Ã@qýÃð¡Ã4à ¦à ¦ÃöÃÐÊÃÐÐÃmÀàðÃpþÃÃ@ÃàÃRÃ0ßà Ã¥ ÃpEÃð*ðÃàzðÃ0DÃ0Íà…ÃÉÃð•à #ÃPžð ÃÐÊÃ0ÇÃpcð‚ëÀÃ0PÃ@wàaÃÀ,àaÀÃpÚÃ`<À„ßÃÛÃð­ð|ÃRà ²à Ã@Ü÷ÃçÀ–ÃÀ¯ÃP’Ã@îÃäÃ.ÃdÃÉÀ àIÃP÷ÃPÃpcýàÞÃ`ÑÃP-àÞà |ëÃð¡ÃmÃÐAÃÐèÀÃPŒÃ0ÇÃÃà à ”àêÃ0¯Ã`ÅàÃP-ÃP3àmÃXÃ0ÓÃà¤ÀàØÀÃ0DÀxà Ã@ÃÐMàaÃÀ‹ÃÐ;Ãà\Ã0µàÆÃ`6Ãpiñðóýà ÃðÃpiÃð•Ã`HÃ0,ÀûÃ0µÃLßÀ„ÃPÃÀ!Ã:ÃPÃ@ÜÃ02à ŽÃpcÃàåÃp¼ Àf Ã@èÃyÃàzÃÀ‘ÃðÃ`*Ãðk#Ãðq"Ãà\à ÿÃ`àÀÃPŒÃÀÃ`!ÃàV à |ÃPýÃpÈÀ6(Ãðq"ÃP à #ÃðËÃÀ&à®!Ã¥ ÃÞÃ` Ãp-#Ã@MÃ0‹#Ã"ÃàÙÃÀ… Ã`à7 Ã.Ãðà$Ã0#ú#ÃPë Ã(ÃÐAÃp¼ à ç"à ˆÃÀÃЦ!ðR"à p!ÃUÀûÃð} Ãp˜&ÃPß"Ã` ÃÀÃиÃpÚà ùðdÃ@ÐÀ~ðáàœ$ÃO ÃPà #ñÃp]ÃàtÃpÂà ÿÀf ÃpàÃ@_Ãð} à |à ÿÃO ÃÀ!ÃàhÃ@qÃ0¯Ã0 ÃàV ÃpÂÃàåðáÃP÷ÃÀ‹ðùÃ`­ðùÃpÔÃ@ÐÃÐ/ Ã`§Ã¥Ãð•ÀÝ!à |ÃÀ‹ÃÀ"Ç!ßÃ.ÃÀÃð‰ð^ ÃPtà ÿÃÃð­Ãð¹Ã`!Ã°Û ÃpæÃ`¡ðvÀ~ð^ Ã°Û ÃоÃ@YÃÀ‹ÃÀà j"ÃÀy"à šÃð ÃI!Ã0¯ÃÀ&Ã0>ÃÀÃÐÊÃpæðíÃpKÃ"ÃðÃpKà àÆÃ.ðjà j"Ã0,ÃàhðX!ÃPë ÀxÃ[à Ã`§àUÃÐÄÃyÃ.ÃPÃàtÃиÃ0¯ð^ Àã ÃàtÃ`­Ã`*àIÃpþÃpoà ¦Ã0ÍÃÀÁàaÃ0»ÃPtÃðÃ@YÃÀ&Ã@ÐÃЬ Ãð} à Ã0»ÃÒÃpÔà ‚Ãð‰Ãp]Ãà\à[ÃPžð|ÃàëÃPÃоÃððùÃpWÀ~ÃP€ÀÃsÃÀ2Ãp]ÃàÒÃ`ËðùÃ.ÃànÃ.à ”ÃpàÃFÃäÃmÃ02Ãиðpà+"ð^ ÷ÃàŒÃpuÃ@ƒÃиÃ08Ãð<ð‚Ãà\ÃsðóàOÃÐôÃ0DÃýÀ Ã@eÃ`¡Ã`#ÃÀ ÃàëðÿÃPÃpìàÞÃ¥ÃàßÃвÃ`6÷ÃP÷ÃÀðíÙÃ@ÜÃЬ à´ ÃÀ©Ãð$Ã0&Ã`<Ã…ÃÀ>ÀÃ`­ÃðÃÐÖÃpÎà ”ðpà |ÃO ÃÆ!ðÿÃ@YÃ`¹Ã@ÐÃ`­ðÿÃ@¾!Ãð‰Ã0 ÃPªÃP°ðíÃ`¡ðÿÃ0»àØÃüÃ0>ðjëÃêÃàåÀïÀõðóàºàÒÃ4Ã@qÃÐÄÃð Ãöà ðpÃÀßÃàV ÙýÃð$Ã@ÃàßÃ"Ã@ÜÃð$ÃðÃP†ÃpÚýàÒÃàýÃ@ôÃð›Ã`­ÃÀ&àØÃ0ÍÃÃÃàåÃüÃ@_À~Ã`›ÓÃàñÃ0¯ÃPtàIÃ`$ÃÀµÃÀ8Ã@_ÃpàÃ`*Ã0>ÃØÀxÃ`6à àÒÃ(ðÿÃÀÍÃgÃPÃ0>ÃÀ,ÃP-à Ã02ÃðÃPŒÃsñÃÀÃyÃ@Ã0»àÒÃ@qÃÃpWà !ñÃð$àÌÀxà ÃàÃð•ÃÐYÃ(ÃÐÐÃØðíðíÃ`6ðÿÃ@wÀà Ãð§Ã`¹Ã`*ÃÃàñàUÃ@wÃð§àØÃFÃÃÃpWÃÐÊÃðÃäÃà÷Ã¥À„ÃðàÌÃðq"ÙÃÉÃ@úàsÃððÿÃ`BÃ0VÃ`³Ã`0ÃÐÊÃÃpÂà ÿÃÀ©ÃPàÌëÃ@ÖÃ@ÜÃ4ÃÐÜÃpÎð‚à ÿÃ`!ÃpWÃPžÃ@Ã`­à ”à )à šÃоÃpKÃ¥Ã0PÃðÃgÃÀ¯ÃðÃ@kÃÐÄÃ@kÃÐÜÃ@}ÃpiÃ`NÃÀÁà )ÃðÃоÃ`6Ã@ÃÐMÃÀ Ãðq"à ÃÐÜà[Ãð›À–à Ã0 ÃÐGÃp? ðçÃ0µÃðð|ÃPÃpiÃüÃÉÃЃàgÃ@_ÃàåßÃÏÃpà÷ÃPªÃpÔÃPÃP!àgÃÃÃP€ðvÃP!Ã0DÃàÃà÷Ã`*ÃpQÃ0VÃàzÃp]Ã0ÓÃ:ÃP€Ãо÷ÃðÃpàÃ4ðpÃy÷ÃÀÃ`*Ã@À ÃmÀÃ0hÃÐÖðŽÃPžÃàÃàzÃ`¹ÃÐÐÃðˆÃ08ÃÐÐÃ`*Ã`w%ÃðÃ@Ãð<à…ÃdÃàÃpàÃÐeÃànÃPŒÃpiðÀœÃ4Ã`¿ÃP Ã0ÇÃ`0ÃP˜àsÃpÚÃØÃ`*À ÃpÔÃðÃ@ÐÃ0 Ã@ÜÃ¥ð‚Ã¥à #Ã@îðÿðíÃÃð­àOà šÃ0>ÃðÃP÷à  ÷àaÃüÃP€ÃPàäÃäÃðÃmÃÞàsðÃ`<ÃP-ÃÐÜàgÃÀð|ÃüðvÃÃðjÃpÚÃpÔÃ0ÁÃpoÃðàØÃÐGðóðùÃPÃÀ Ãà\àÆÃÐÊÃ@kÃyÃpcÃ0ÍÃÀµð|à ÃÃàtÃ0JÃaÃÐÄÃÀ8Ãð*ÃÐAðjÃÐÐÃ=#à´ ÃÃðà ÿàÒÃð6à 5Ã@Öà1!ÀŠðÃ@eÃ@MÃ`­Ã@îÃÀ,ÃÐÐÃðÀïÃPn ÙÃð0ÃFÃP¤Ã0JÃp? àÌÃ@eÃP€ÃpKÃàåðÿýÃP†ÃÀ… ÃöÙà ÀxÃ` Ã`6Ã°Û ÃØÀrÓ÷÷ÃàÙÃpÚÃ¥ÃÀ‘ÃO àÌÃ@ÖÃ0—!ÃP†ÀàÞàCÃÀ Ã`6àÀÃR÷Ç%Ãp3"àUÃðÃÀÃRðùÃpÔÃиÃ"à´ ÃÀü!ÃpÎÃ`ÃaÃPå!à v ÃPV$Ãð‰ÃàhÃP€àCÃÀ… Ãà2&ðáÃ`¹ÃÐMÀrÃÃÐÄÃàV ÃÆ!Ã`Ù"ÃðÃ@âÃ0£ÃЦ!Àã ÃP Ãànà ÃÀëÃÉà ùÃ@MÃÀ ÃðÃ0¯ÃÐ5ÃPýðíÃ¥ à v àºà á#ÀõàºÃÐÄÃ`§ÃиÃpQÙðdÀrÃ0,ÃÀ‘Ã@A!ÃPýÃ[Àã Ã@²#ÃÒÃ( Ã`!ÃвÃp]ÀlÃpEÃðk#Ã@ÖÃpÎÃ@ÃgÃЬ ÃpÂÃðî"ðR"ÃР"ÃÞà p!Ã"Àã Ã(ÃÀ©ÃÀ©ÃØÃp9!à šÃà†Ã@ÖÃ@¸"Ã$Ãp&Ã0,Ã:ÃÐ5ÃpWÃð ÃPñðçÃ`§Ã0—!Ã0µÃ0£ÃUÃàÓ ÃàV ÃÀ Àã ÃÀ!Ã@YÀÑ#Ã`!Ã@ÐðvÀ`!ÃpKÀŠà Ãp°"ÃàÓ ÃÀð#ÃÃÀ ÃÀ2ÃPå!ëÃPñðíÃÐ;Ù"à®!Ãà\Ã`!Àã Ã`‰"àºÃ@¾!à=ÃàÍ!à p!Ãp3"ÃPb"à |ÃàbðçÃð0Ã`$ðvÃ0‹#Ã0ü%ÃàÍ!Ã`!ß!ÃàÁ#à Õ%ÃP\#Ã#ðáÃ0¯ÃsÃp9!à=ÀïÃp¤$ÃPå!ÃЦ!ÃвÃ@ÊÃÀ!Ã@Ä Ã¥ Ã@A!à p!ßðjÃpÈÃ{#ðáÃp!%ÃPñÃàÙÃ0 ÃÀy"à+"ðR"à d#ÃàD#Ã@Ä Ã[ÀéÃO ÃÒÃø#Ã`ƒ#ÃPb"Ãðô!ðçÃÀ!Ã`*Ã@MÃ"ÃPn ÃpEÃp-#Ã1%ÃC"Ã@¸"Ã@;"Ãàµ%ðL#à+"Ã@A!ÃP÷ÃàÓ Ã`ÃÐAÃðî"ÙÃàP!ÃÐ)!ÃPß"ÃC"Ã0"à p!Ã.Ã0»Ã.ÃPn Ã°Û Ã°Ï"ÀïÃPtÃàJ"à®!ÃÐ#"Ã"ðR"ÀïðvÃ`¿à ÃpKðíà ÃàÙÃÀ¯ÃÀ©ÃиÃÀ!Ãp3"àIÃØÃК#Ãp¤$ÃUà ‚ÃàhÃÀ… ÃÀ Ã`›ýàÌà ŽÃð•Ã1%Ãp¤$Ãp¼ Ãp¶!à d#ÃÐÊÃPtà¢#Ã0£÷à ÿÃ@ÜÃ@Ã4ÃpKÃК#ÃÀê$Ã@ÊÙ"Ãðú Ãð•à´ àÆÃÐÐÃ0!Ã`q&ðL#Ã0—!ÃÀ!ÃÒà d#Ãp¼ Ã@ÜÃ` Ã@Sà Ã`¡Ã`¡Ã@YÃ`0Ù"à p!à |ÃP÷ÃàåÀÝ!ÃàV ÃPzÃPŒÙÃ`$÷ÃðÃÀð#ÃÐ)!Ã0#Ãp¼ ÃÃиÃð‰ÓðdÃ@SÃPb"à p!à7 ëÃ"Ãðô!ÃÀ ÃpKà=ÃPñÃÒà !ÃP†ß!Ã`‰"Ãðú àCÃ@ÖÃÀm$Ã` "Ã"ÃÐGà=ÃÀÇ!ÃPß"ÃÀ"Ãð$ÃÐ/ à j"Ãàµ%Ã@ÊßÃÀ&ÀÃðÅà ÃpQÃ0 à®!ýÃ@Sô$ô$ÃÀÃðú Ã@G à+"ÃÐ5ðíÃp? àUÃð‰ñÃàP!à v Ã`$ÃÀ ðáÃàÍ!Ãðè#Ã@5#ÃиÃ02ÀÀxàºÃ@ÖÃØÃàhÃP†Ã¥ÃpQà |Ã0…$ÃpQÃÀÃ(àCÃ`*àCÃÞà ùÃÀ,ÃÌ Ã€Z"À Ãpæà 5Ã0Óà7 ÃàßÃ¥ÃÀ£ÃPñÀxàÆÃÀs#Ã@ÃÐSÃàëÃà÷ÃpÎÃ:ÃÐÊÓÃð›à ðpÃP†ßÃ0&ÃPb"ÃPn Ã0&ÃÃÃàtðL#Ã`#ÃpÎÃFÃ.Ãð$ëÃÃPtÀxÃàP!à ÃàbÃ08ýÃ08Ã`¡Ã0%àCàØÃÀÃànÃP÷Ã`­ÀÝ!ÃÀ à7 ÃPå!ðdÃpÂà ”Ã`0Ã`!à ÿðóðdÃðß!Ã`³ÃÐÊÃðô!ÃðƒÀÃà÷ÃLÃ0VÀûÃàÓ Ã°ùÃ@MÃÃиÃà÷à ÿÃ0&à1!Ã0JÃ`­Ã`*ÃàbÃÀ‘à í!Ã@à ¬Ã@_Ã`¡ÃÀ!Ãà\Ã0JÃpÚðçÃpKÃØÃ0—!à ”à šÃÃ` À~ÃFð^ Ã`§ÃÞÃÀ!à ùàÌÃ`­Ã@eÃ0»ÃaÃðƒÃÀÃ4àºÃPh!à Žà=Ã.ÃRÃÐÜÃÞÃþ"Ã"ÀõÃp]ÙðdÃвÃ0ÓÃÐÜÃ:àÌÃ0©ÃÐÄÃоÃØÃÀ… À~ÃLÃðßÃÀxÃ4ÃÆ!ÃÀ!ÃPñÃ`!Ãð Ãиßà ùÃ"ÃÀö"Ãpª#Ãp9!Ã@¾!Ã`#ÃЂ'ÃPV$ÃÀü!À**Ó#Ã4à |ÃPµ)à~)Ã$Ãðk#Ã0s'ÃК#ÀH%à %Ã%'ÃàD#Ão%Ã@'à j"Ãðè#Ã@ &Ã0ä)Ãà2&ÃÐ#"ð«(à¢#Ã0%ÀË$Ã`e(ð«(Ãà2&Ãæ&Ã@ÿ+ÃPÍ%à–%Ãp!%ÃÀm$Ã(ÃÀØ'Ãðâ$ð.(Ãpb/ÃPJ&ÃÀ['Ãò$ÃUÀË$à 'ÃðS'Ã`î&àx*Ãp’'àœ$ÃàÇ"à Ï&Ã`ú$ÃÀ!à1!ð±'ð.(à X%Ã+&Ã0ê(ÀÅ%ÃPÁ'ÃÀg%à„(Ã+&ÃPß"Ã`_)ð()ð()ÃðÄ)Ã(ÃÐ'ÃÐù(à Û$à¨"à%#ð«(À<'ÃÐ'à%#ð()Ã@”(Ãu$ÃÐ &à d#ÃÀð#ð.(Ã`ô%À¡+à ^$Ã0%Ãàµ%Ãà¯&ÃÐ$Ãðk#ÃЈ&À¿&ÃPÍ%à Ï&ÃÀg%ÃÀ"ÃÐ#"ÀÅ%Ãì)à)Ãà»$Ãp? àŠ'à„(àŠ'à X%ÃPÓ$à Ï&ÃÐ'ÀB&Ãì)ÃÀ['Ãp'$Ã0ü%à R&Ã`w%à X%Ã%'ÀÅ%Ã`w%Ã`à 'Ã@/$Ãð_%Ã(Ã0ö&Ã`è'Ã0ö&Ãà-ÃД$Ã0"ÃÐ'ÃW)à)Ã`è'ÃÀØ'à %ðF$ÃЂ'Ã0y&Ãp'à X%ÃPë ÃC"Ãàµ%î%à j"Ã`ƒ#ÃÀö"Ã(ðŸ*Ãp'$Ãp¤$ðÃ$ÃÌ ÃÀ"Ã@Ä ÃÐ%À6(À³(ÃPD'ðÉ#Ã`$ÃðÜ%Ã@¦%à¢#Ãðâ$ÃÀØ'ð·&Ã0—!Ãà8%Ã0m(Ã$Ã0%Ã$î%à L'Ãðâ$à+"Ãpª#Ãðk#Ãò$Ã`q&Ã`q&ÃÔ)Ã](Ãp )Ãàµ%ðR"à7 à$Ã0!Ãp'$è&Ã`ƒ#Ã@š'à ½)Ãð_%ÃÐ;ðpÃÐ'Ãp€*Ö)ÀÑ#Ãæ&ÃÀU(ÃðÖ&Ãp’'à(î%Ã@š'ÃÐù(ÃW)ÃC"ÃàP!ÀÅ%À6(ÃÀI*ÃÀU(ÃÐ'à(Ãà&(Ãò$Ão%Ãp'$à L'ÃЂ'Ãðè#Ç%ú#ÀT#Ã@¾!ÃPÓ$à$à Ï&ÃÐ'Ãu$ÃPÇ&ÃÀg%Ãà>$Ã`• ú#Ã$ÃPD'Ã@¬$Ãò$ÃPJ&Ã0m(ÃPP%Ãðâ$Ã0‹#Ã](ÃÀä%ð4'Ã@¦%ÃPÍ%Ã0ð'Ãà¯&ÃÀO)Ã@'Ãà&(ÃPÇ&à 4+Ã`k'ÃPP%Ã0ö&ÃÀê$Ü(Ã@ &Ã@¦%ÃPÙ#ðçÃ"Ã0%ÃPJ&À<'ÃPÙ#Ã7$à ½)ðŸ*à F(Ã{'ÃÔ)Ã`ú$Ão%à %ÃÐv)Ãø'Ã"!ÃÒÃà>$à j"Ã0ö&Ã0ê(ðL#ÃÐ)!ÃÐ#à&Ãc'Ã0ê(À×"Ù"ÃÀê$à ÿðÃðF$à Û$À¿&ÃàP!ÃPb"ðÃ$Ã@¸"Ã0%Ã` Ãþ"ÃPh!è&ÃðÖ&ðÃ$à d#à–%Ãà»$ÀÅ%ÃPë Ãð ÃPh!ÃК#Ã@¾!ÃЦ!ÃÀê$Ã`#Ç!ÙÃ`• Ã"ÃÀ"ÃÌ ÃPn Ãðú ÃÀy"ÃК#à&Ã`è'à ç"Ã@¾!ÃI!Ãp? àœ$à í!Ç!ÃPn à í!Ãp3"Ãðâ$ÃPJ&ÃЦ!Ã{#Ã0‘"Ãp? à Ã` Ã`Ãà\Ãð‰Ã0…$ÃÐ#"ÃÀ—ÃÐÄÃ"Ãþ"Ãðâ$Ã#ÃÐ/ Ã` "ÃàV ÃP†ðÏ"Ã0‘"ÃÀ!ÃàÇ"Ãà>$Ãp3"Ã à ”Ã0!ÃpÔà ^$ÃPÍ%Ã0"ÃÐ/ Ãpª#Ã@;"ÀT#ðÕ!ÃPë Ãð} Ã@Öð^ Ã[ÃÐ#Ã@¾!ðX!Ã0$Ã"ðíÃ7$ÃpEÃ`­ÃÀ‹Ã7$ÃÀy"Ã0#ú#ÃÀ Ã0!Ã` "Ã0&ÃaàIÃ` "à+"ÃPtÃÀÃðÀéÃ@Ä ÃÐ5Ã@Ä Ãpcà Ã`!À×"Ãðî"à |ÃpKÃÀü!ÀÝ!ÃÐ)!ÃPb"ÃÀê$ÃÀa&ú#ÃI!ÃpÈÃðÓÃÀÃàßÃpEà ˆÃPß"Ã7$ÃÀÃ`!ÃðƒÃðÃ0"ß!ÃLÃÕÃ¥àUÃÌ Ã±Ã0 Ã0—!ÃànÃpÎÃ0£Ãð‰àUà ‚ÃÒÃиÃÀÃpÔÃ@²#ðíÃ$Ã0&Ãð*à ŽÀã ÃÀ¯ÃÐÊàCÃÒÃð} Ã0—!Ã@Ä Ã Ãð¡ÃànðjÃ"ÃànÃ0 ÀÃ@ÜÃÐÄÃð¡À ÃpÈÃ` "Ã{#ÃpKÃ`³Ã@ÐÃð} àmÃàñÃ`ƒ#ÃàÍ!Ã`­ÃpøßÃÐÄÃÃ@_À`!ÃPñÃ`Ã`§ÃÏÃ"ð‚ÀûÃ"!ÃðÃ0ÙÃäÃðƒÃð ÙßðáÃÀü!ðdÃðÃFÃ0&ÃPÃÃà Ãà\ÃÐ;ÃÀÃØÃðú Àã ÃðƒÃ$àºÃðàUÃP˜ÃàßÃ$Ãðú Ãðô!Ãð} ðÿÃð6ÃÐ)!Ã$Ã`!Ã`³à àIàUÃpQÃpWÃÒÃ`#Ã"!Ã@Mà ùÃðƒà ó ÀõÃ`*à à Ã` ÀlÃ`$ÃäÃ"ÙÃäÃüÃð›à®!ÃÀ ðóÃÆ!Ã@MàCÃÀ‹ÃàbÃ0ÇÃÐÄÃP†Ã:Ãø#ÃÀm$ßÃÉñëÃP÷ÃP÷ëà[Ã"!Ã@¾!ÃàÙÃðÃ0 à Ãð ÃPñÃP Ãð§ÀxÃ`!Ã[Ã@âÃÀ‹à L'ÃÀg%Ã0…$Ã.àÆÃ[Ã`6ðŽàÆÃÀÃàÍ!ðvÃ0»ÃPtÃ0&Ã@âÃоðdÃÀÃ@ÐÃ[Ã`0ßÃ@ÐàØÃÐMÃÀ‹ÃÐ;ÃàßÃÀ… Ãþ"ÙÃàñÃ08Ã0>àCÃÐ5ÀïÃUýÃ`Ãp? Ãp9!Ã0#Ãðw!ÃPýÀxÃ@ÖÀlÃÀ‘ÃðàÒÃÐAà ùÃðÃàåÃ` "Ã( ÃÐ/ ÃàzÃ@ÐÃàÇ"Ã@A!à ˆÃ@MðóÃ0Và ùÃÐAÃàhðjÃ@_ÃàëÃ` ëñÃð ðÏ"à®!ðíÀÀxÃоÃp]ÃpàÃÞÃöàºÃ` "Ã@ÐÃ@ÃÃÃðÃêÃ¥àUÃ`BðˆÃP€à®!àCÃ@_À„ÃpQÃ4ÀõÃRÃÞÃ`¡Ã( ÃÃ:Ã@âÃpÎðpÃð•Ã0 Ãиà šÃ@_Ã`<à ÀûàÌÃÐMÃO àUà ÃÐGàCÃÃ@eÃPýà´ Ã( Ãmà à=Ãð­Ã`¿àIà ‚ÃànÃàñÀéÃmÃ@ôà ŽÀõàÒÃ0ÇÃðÃÀ… Ãp]ÃLÃp{ëÃÐ/ ÃPn Ã$ÃI!ð|ÃöÃÐMÃêÃ`³ðÿàØðíÃð¡ÃàñÃPn ÃàßÃ@eÀ„àÆÃ0µÃêÃÐ/ ÃI!ÃðÃà÷Ã`6àIÀéÃC"ÀT#Ã` Ã`HÃöÃ@âÃmÃêÃ08Ã@SðíÃð‰Ã0>ÃPýà ŽÃÐÖÃðÅÃðÃÀ"ÃÀ ÃÀ¯Ã0PÃà’ÃÐ_ÃðÃðà ÃpæÃÏà ¦ÃÀ&Ã0>Ã0ÇÃ¥Ã@ôÃ`§Ã:ÃàßÃP’ÃÀ—ÃàñÃàtÃÐ;Ã0"ðáÃÐ#"àºÃ0»Ãð¡ÃP Ã0»ÃðàÞÃ`NÃpÚðçÃÀÃ`ÀûÃ@qÃð•à ŽàäàÞÃ0µÃUÃ(à ÃàtàÞÀéÃ@MÃpQÃ`6ÃáÃà˜Ã@Ãà  àUðÃðÃÐAÃ@_à[ÀÃÐYÃäÃ0&Ãäà ÃpÂÃðq"àºÙàCàCñÃðÃP’Ã.ÃиàÌÃP!Ã…÷ÀÃÐÊÃpæÃ0,ÓßÀxÃàhÃÉð|ÃPžÃÃ02Ã(Ã`*ÃpÂÃ` Ã`›ÃànÃÃ0£ÃpìÃçÃÀµàUÃP€Ã`­à[Ã08ÃÀµÃÐÄàCàUÃàÃ@Ã@YÃRÀxÃÃP Ãð6ÃÀÇÃÐèàCÃaÀÀÃ@_Ã`­Ã0ÇÃÀàCÃànÃ0µÃ@îÃð0Ãp{Ã.Ãð Ã@eÃÃÃÐYðíÃÃÃÀ©À„à ”ÃàñÀàaÃÃÀ2à šÃÐSÃÐ5Ã[ÃpcÃpøÃ0ëà ¬ÃFÃàtÃ`¿ÃyÃ@ÃÐGÃ0¯Ã0&ñÃpoÃpiÃP˜ÃàhÃ"ÃÀ—Ã4Ãð­ÃPÃ@îÃ`HÃ0¯ÀÃ`ÅÃLÃð•ÃànÃÐSðjÃ`6ÃàñÃ`<ÃàýÃmñÃð¡Àà AðšÃ`ËÃ@îà |ÃðÃ(ÃÐÄà ‚ÃÐ;ÃÃ.Ã@ôÃð0ÀÃP¤àäÃêÀ~ÀûñýÃÐÖÃ08Ã( ÀxÃðÃÐGÃöÃ`$ÃPýÃÐ5Ã@ÊÃàÓ Ãp3"Ã`0Ã`BÃP’ÀlÃð¡à=ÃÐ;ÃÐkÃ0>ÃpÚà ˆÃ@ÖÃàV ÃÀ‘Ãð ÃPß!ÃÀÃ@âÃPŒÃ@_ÃÉà ”ÃÐÐÃàëÀõÃ`à%#ðR"à ”Ã0&Ã@úÃ0ÙðÃвÙÃÐÄÃ0»Ã4ÃPtÃàtýÃÀ—Ã@;"Ã@5#Ã0—!à p!À„ðˆÃ`$À×"Ãà\Ã`­Ã@Ãàtà ¨(dt ?@4 4ÿxunitsyunits‚'h`Ä (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌ (š™™™™™©?msô¯=8é‡ pA¿F:”‰6 š™™™™™©?msô¯=8é‡ pA¿F:”‰6 š™™™™™©?msô¯=8é‡ pA¿F:”‰6 š™™™™™©?msô¯=8é‡ pA¿F:”‰6 š™™™™™©?msô¯=8é‡ pA¿F:”‰6 ˆ¨¸Ô ØÖ TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`Ø HEAPX øÖ datadescription8  @œÜ q·—NM€SNODP× ¨Ù  X¨(dt ?@4 4ÿxunitsyunitsÿÿÿÿÿÿÿÿM (·—NM (CLASSTABLE (VERSION3.0 8TITLEDescription of sec2 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsÐVðX (VERSION3.0ð‰ÃpÂÃÐ)!ðíÃð$à=ÃPn Ã@SÃÐ/ à ó ÃðÃP†à Ã0¯ÃP÷ÃpEÃ`¡Ã`*ÃЬ Ã4Ã`¹ÃàýÃÐGÃÐGÃànÃÐeÃ`¿Ã( ÃЬ ÃÆ!Ãp9!à ùðÉ#À~ÃpQÀéÃp¼ ÃPýÃØà´ ÃànÃÐÐÃpøÃPÃ[à #Ã@èÃððçÃ`• ÃÐGÃpiÃ@wÃà ÃÐkÃ`³ÃP÷ÃиýÃPŒÃ`0ðíÃàV ëðX!Ã` Ã4ÃyÃðÃpuÃPŒÃÀÀŠÃàÃFÃsÃ@Sà ‚ðpÃ@âÃpìà ðÿÃ`HÃиàÌÃpÎÃàP!à1!ÃPn à ÃÐÄñÃ:ÃPðpð|ÃÒÃ0,ÃÌ Ãðà |ÃPðŽÃÏÃpæÃ( ðdÃÀ&àÀÃàÙÃ@ÀõÃpKÃ@_àÞÃPtà7 Ã`§Ã`6ÃpWðçÃFÃ0ÇÃÀ»à àÆÃ0,ÃP÷Ã"ÃÀ&ÃÀ Ã0DÃöÀÝ!ñÃ`¹Ãð›Ã`0ÃöàØàOÃ08Ã0¯Ã0,ÃðÃ@èà ÃpÔÃÃÀÃàtÃÐGÃÀ—à ùëÃpW÷÷Ã0>Ãà÷ÃÀÃð•Ãà Ãàåà[à Ã`<Ã@qÃð•à Ã@wÃ0ÇÃÐYÃPŒÃðàUÃFÃðÃðÃÏÃ0>ÃÀ£ÃànÃ@_Ã0ÁÃ`¹ñÃ0ÁÃgÀ´Ãð6ÃÃàºÃäÃ0©Ãðî"ÃÐ)!ðíà Ã@_Ã0\Ãà’ÃpÂÃC"à1!ÃàëÃ4ÃàÓ Ã02à ÃpàÃ0ÁÃ¥ð|Ã@MÃà€ÃÃ`$ÃвÃðÃPh!Ãp3"Ã`• Ãð ÃЦ!Ã`!ÃвÃ`­Ã0µÃÐMÃ@MÃ`$ÃÐ/ ÀûÃÐ;Ã°Û Ãp˜&Ãp3"Ã[ÃëÃ^Ã`HÃ`³ðùÃP’Ã0&ðóÃ¥ÓÃÐÄÃ@âÃ0—!ÃàD#ðL#Ãp¼ à p!ÃÀ‘à ŽÃ.ÃÐ;à7 Ã0¯Ã@YÃðÃЬ Ã@¸"ëÃP˜ÀÃÀ£ð^ Ãðƒà !ÃЬ ÃðƒÃÀÃðà à v Ãðî"ÃЬ Ã`6ÃP€à ÃPýÃ`!Ãð‰Ã0¯à v Ãp3"ÃPn Ã@YÃÆ!Ã{#ÃД$ÃP÷ÃÐ5ÃP÷ÀxÀrÃà\ÃàÙÃà\Ãð Àã ÃÀ… à ‚ðàØÀõÃ"ÃÀÃ@ÐÃÀü!ðF$ðdÃÀ!Ã@Yðdðíà7 ÃI!À`!ÃÐ)!ÃÀ‹ðdà ˆÃ` Ã@¬$ÃI!Ç!Ã0©Ã`³à |ÃàÓ ÃÃp9!Ã@MÃ`!Ãp!%ÃÐ)!ðpÃpÎðX!à®!Ãp'$à ó à Ã`*Ãð›à ‚ÃUÃàÓ ÃPðpÃPtÃà v ÃоðX!Ã`§Ãà\Ã(ÃpÚÃ[Ã¥ Ã`!ÃP\#Ãð} ëà=ÃàåÃàtÃÀ£Ã@ÐÃ@²#ÃPb"à Ã@SÀïÙ"ÃÀm$ÃоàUÀŠÃPÀõÃpÎàºÃ`*÷à Ãðw!ÃàßÃвÃÐ#àÌÃÀ ÀÑ#ÃÀê$ÃÀ‘ÃànÃ`$ÃÀ!à%ß!ÃPß"Ãоà |Ã@¾!Ãðq"Ã0#Ã`›ÃÀ£Ã`›Ã0‹#ÃðƒÀõÃ0»ðjÃÐ/ à ŽÃàÍ!Ã0ö&à%Ù"ÃÀ ÃÐÄðçÃ[à Ã¥ Ãðè#Ãð_%Ã¥ Ãðq"Ã@¾!ÃЬ Ã`¡ÃPà ”à ðíÃP€ðçÃ"!ÃpEðáà ùÃ0 ÀrÃp¼ ÃàV ÃàÙÃК#ÃPh!ðX!à ç"à¢#Ã0 ÃPh!à í!Ã"!ÃÀ"ÃÀÀxðvà Ãðè#Ã{#Ã( à ‚Ç!à j"ÃÀ©ÃÐÊðX!ðÿÃðƒÃ1%ÃPb"ÃPb"Ù"Ù"ÃÐ)!ðçÃ02à¨"Ãðî"à d#Ãp? ÃàD#ëÃ`î&Ãæ&Ã0‹#ÃàbÃàßà ÿÃÀÃ0,Ãðw!Ãð;+Ãp9!à !ÃÐ5ýÃÀ ÃPb"Ã`• ÀÀxÃÀ—à !ÃPÃ`Bà ÿàOà ‚Ãp!%à$Ãðw!ÃÀÃP÷àÆÃÀ ÃPýÀZ"Ã`ô%Ãp¶!Ãp? ÃI!ÀlÃP€Ã@;"Ãp9!à šÀ„ÃPÃpEÃðî"Ãu$ÃàßÀrà ‚à ùÃàÓ Ã p!ÃÐ5Ã"Ã7$à Ã0>ÃÀ>ÃÐ5Ãðè#ÃÐ$ÀûÃPzÃÀ‹ÃÀ Ã@A!ðóàOðçÃ0‹#à%#Ã@²#Ã`‰"Ã` ÃàÁ#ÃÐ)!ÃPn Ã¥ Ã0—!ðX!Ã( ÃÐ#"ðvÃ0&ÃÐ%Ã°Û ÃØÃPýÃðú Ã@G ÀxÃ( Ã( à p!ÀZ"Ã`!ÀxÃpæÃàßÃ`$Ã` ÃÀä%Ã0"÷Ã`³Ã.Ãp¼ ÃàbÃÀÃ` "Ãà»$Ãðe$Ã0!Ãð¡Ã@/$Ã`}$ÃàÓ Ã ùà |à®!Ã@ÐÃÐ;Ãp'$ÃpÂÃPzÃPýÃÀà´ ÃвÃ`ðdÃÀü!ÃÀ"Ã0#Ãp°"Ãðe$ÃÐ#"Ã` ÃðƒÃ0µÃP€Ãp3"Ã@A!ÃÀÃPžÙÀ<'ÃÆ!à í!Ãþ"ÀlÃÐAÃÐÐà7 Ãàhà àÌÃðÃ"ÃÐÄÃÐÄÃPÃp¼ Àã ÃàV ÃyÃO à¨"Ã@Ä Ã0 ÃðƒÃà÷ÃðƒÃÃ0Dà ÿà Ãиà ‚ðùà Ã0©Ã@/$Ãðú Ã[ÃàP!ÃP€ÃàP!ÃÀm$Ã0£Ã0£à ÃàßÃðè#Ã0‹#Ã`!ÃPn Ã0#ú#Ã@MÃPÃPß"ÃÀm$Ã@ÐÃàhÃðú ÃÒÃÐ#Ã0—!ÃðÃà\Ãp? Ã0 à í!ð^ Ãðq"ÃÀ ÃÀðX!ÃäÃP†ÃÀ©à j"Ù"ðF$ÃØÀlÃ( ÃàåðáÃàÙàØÃàëÃ0JÃPýÃÐÄÃ@eà ÿÃ{#ÃPh!Ãð›ÃàbÃÀÃ0!à´ ÃÀ… ÃI!ðjà ˆàCà ŽÃÀÃð Ã`¡ÃPh!Ã"ÃFÃ`¹ðvÃвðçà !ÃànÃPzÃ`!àºÃ`$Ùà´ ÀrÃ@_Ã0©Ã`ô%Ã@5#Ã4ÃPÀ–ÃRÃÀÃð¡Ãð6àÌÃp¶!Ã@ÖÃàhÃUÃ@ÜÃ`³ÃÐÜà ŽÃÒÃàÇ"Ã@ÖÃðÃÒÃ"ð|ÃPžÃPtÃ"Àã à )Ã`*ÃÐ/ ÃÀÃàëÃàåÃ0‹#àÆÃ@ÖÃ0,ÃÀ©à ”Ã08ÃÐÊÙÃ0&ÃàV ßñðÿà ÿßÃÀ©ÃPÃ@SÃàÓ Ã |à ÿÃÀ ðçÃ@MÃ0!ÃP€Ãð³ÃpòÃð‰ðóÀ„Ãà÷Ãð‰Ã0>ÃäÀ~Ãà ÿÃ0¯Ã@¸"ÃPh!Ã@ÐÃàV Ã`*à |ÃàßÃO Ã@ÖÃ@kðÃànÃ4Àã ÃPë ÃFÃ0JÃÀ‘ÃPñÃaÃÃPë à àÞà ùÀûÃðÃ`¹ÃÐÖÃPžà #ÃàhÃP¤à Ã@_à šàÞÃàñÃpKÃðÀ~Ã0ÇÃ`§Ãp9!ÃPh!Àõà[Ã08Ãð›Ã0¯Ãð ÃÀðpÃÐ;À`!Ã@A!à !Ã@²#Ã4ÃàëÃà í!ÃÀÃPýÃð ÃpÂà ˆÃ0J÷ÃRÃð Ç!Ù"À`!ÃðÃвà ŽÃ"ÃÀ ÃÀ‹ÃÀÃоÃ`• Ã0!à d#à¢#ÃÐ)!Ã"Ã@¸"Ã`ƒ#ÃоÃ0¯à ˆÃ ÃP\#ÃàJ"Ãðw!ÃÐ/ Ã0 ÃЬ ÃpKÃоÃ"ÃP€Ã@MÃ0£ýÃÒà ó ÀN$ÃЦ!àÆàÆÀ`!Ã0…$Ã@#&Ü(à®!ÃàýÃànÃðƒÃ0&ÃÀü!ðÕ!Ã@ÜàÀÃPÓ$Ã0…$Ãþ"Ã@ÐÃ"Ãp-#ÃÀð#ðÏ"Ã"ÃàÍ!Ã(ñÃPh!Ã¥ Ãàµ%ðX!Ã`$àÆÃ`¡ð^ ÃpEðÏ"à¨"àCÃðÃ.ÃC"à X%Ãp&ðçÃàP!ÃД$Ãø#Ãànà ŽÃPÙ#Ãp!%Ã@G Ãp¼ ÙÃp9!ÃàÙà á#Ã+&Ãðw!ðáÃð ðjÃPh!À`!à p!ðÏ"Ãà2&Ã0m(Ã@¬$ÃÀ!Ã02ÃÀÃвðÏ"ÃàP!ÃÀs#à Û$Ã@A!Àf ÃÐ#Ãì)Ã0‘"ÃàëÃàßÃÀ—ÀlÃàP!Ã0…$Ã@²#à&Ã@¸"ÃÀs#Ãðw!ëÃÌ Ã°L#Ãþ"Ã@Ä ÃÐ$Ó#ÀÝ!ÃоÃÀ‹Ãðq"ÃР"ÃP÷Ã@A!Ã0#Ã02Ã@YÃÀm$Ãp9!Ã`0ÃP\#Ã0‹#Ã"ÃPV$à¢#ÀN$Ã#à=ÃÐ5ÃP†Ã0,ÃÀä%à ^$ß!ÃÀ!Ãpª#à á#ÃЦ!ÃÆ!à Ãà\Ãð Ã0‘"Ã{#Ãàßà Ãp3"Ãðô!ÃÐAðíÀÝ!Ãp9!ÃP’Ãð Ã0‘"Ã@ÖÀ~Ã"!Ã$à ˆÃ0£Ãp? Ã@;"à ^$ÃpEÃ`#Ãðî"Ãp¼ ÃPýÃÀ‹à¨"ðdÃ0>À~ðÏ"ÀË$ÃàÁ#ÃÀð#Ã"!ÃPn ðF$à p!Ã0»ÃPýÃÀð#ÃPå!Ã@/$Ã`!Ã0£Ã0¯Ã"ñÃ@ÊÃpÂÃp-#ÃÌ Ã %Ãðô!ð^ Ã@¸"Ãp!%ÃÐ'ÃPP%Ã4À„Ã$Ù"Ã0‘"à+"ÃpÂà ‚ÃÃ0 ðR"à ÿÃÐ)!Ã0 Ã`­ÃàÙÃÒÃЦ!ðóÀÝ!ÃPb"Àf ÃàV ÃpKÃð ÃPn Ã`0àaÙÃÀÃ"!àUÃpEÃäð^ Ã02Ã0µÃ[ÃÐ5Ã°Û ÃÞÃÉàUÃgÀÃpiÃð ð@%Ã@²#ÃàñÀ„Ã0µà v ÃPÃ¥ ÃÀÃ`$ðdÃ`¡ÃàV à®!àIÃÀ‘Ã` ÀZ"ÃpÎÃÐYÃPÃà÷ÃêÃ.Ã°Û Ãº#ÃàßÃиÃ0µÃðÃäÃð•Ã@âÃ¥Ãð•à1!à=ÃPtÃ[à ðÿÃ@ÜÃPÃgÃð›Ã"ÃÐ_ÃÀ2ÃpEÃÕÃpÈà ˆà ÿÃР"Ãàñðóà ÿÀûÃ`!à7 ÃpWÃ`0ÃP÷Ã` ÃÀ‹Ã[Ã`6ÃÐÄà7 ÃêÃÀÃÐÊÃ0&ÃF÷Ã"à ó Ãà\Ã`¿ÃP†àIÃðÃöÃàëðdÃÃðpàaÀ¢Ã@èÃàßÃpÚÃ02àÆÃPzÃp? ðjÃÀ&Ãàñà ÃÀDÃà€ÃÐÜÀlðóÃ`<ÃðÃàýÃðBÃÉàÌÃàzÃÐÄÃоÃ08ÃÐÖÃ0>ÃP!ÃÐ_ðÃ0JÃpWßÃà€Ã0ÓÃPÃ@qà ¸ÃànÃmÃàÃ`TÀûÃyàgðáÃpEà ”Ã@úÃdÃ`Ëàaà ¬ÃÛÃ`*ÃÐ)!ÃàV ÷ÃÀ8Ãà ÃàzÃ0>Ãpoà )à ²À¨ÃLÃP àOÃ`NÃÐYÃaÃðýÃPÃ0 Ã`*ð àsÃ`HÃ`­Ãàzà ˆÃ0©ðÿÃLà ŽÃp]ÀðpÃðÃ`$ÀZ"ðíÃ@YÃðÃ@YÃÐMàÒÃ`6Ã`³ÀûÃÐÊÃFÃ0DÃ@kÃвÃ@MÃêÃ`§ÃP’ÀxÃ¥ ÃaÀõÃàëÃð ÃÒÃðÃ@eÃÀðùÃÀü!ÃðÃðÃÐÐÃÀ Ã@YðvÃð0ÃÀ8Ã`¡ÃÀ‘à ”ðóÃàëàCà  ÃP!ÃðÃ@SàÞÃ0µÃð} Ã` Ã0µÀ„ÀrÃàÙÃp? Ã`¡Ãðà ŽÃ¥ðáÃpiÃвÃPß"Ãà\ÃsÃ0DÃÀ—Ã`6à[ðÃàñÃоÃÀ&ÃÀ À„ÃsÃð›ÀÃ@_Ãp]à ÃäÃ0ü%ÃàÍ!Ãp¶!Ã@âÃpQÃð­ÃÐAÀïÃpìÃð ÃàßÃpÎÃêÃð§ÃyÃpÎà=Ã`• Ã@ÖÃ` Ã@A!Ãðƒà ùÃ0µÃànÃиÃpÂàºÃÀ ÃÐ#"Ãðw!ÃàÍ!Ãðq"ÃÀy"Àf Ã0"Àã ÀéÃÀlñÃP€Ã`$Ã@SÃpÔÃàÍ!àCÃ` ÃÀ!ÃØÃpEÃpÔðvÃ@ÐÃ`ƒ#Ã@¦%à7 Ã@¾!ÃP\#à !Ã0¯àº÷Ã@YÃpcÃ¥Ã0»Ã"ÃÀð#ÃÀÃpÔàUÃÐGÃЬ Ã`$ÃpÂÃpÎÃ`›ÃP†ÀõÃÐ;ÃÀÃÐÖÀf àÀÃàßÃ`$Ãð àCðíÃ@âñÃPà ùÃÐAÃPzÀrà á#ÃI!ÓÀïÃØÃð} Ãi&ÃC"ÃÃðÿÃÐqÃ`6Ãðî"à ùàIÃ0&Ã0&Ã@SÃp? ÃÐ/ ÃÀü!ÃÀ"ÃPýÃЬ ÃPýÃ(Ã0,ðR"ÙÃÀ‘ÃÀ‘Ã@ÊÀf à v ÃÀÃà ÃPà$Ã@YÀ~àÆÃpKÃ@SÃ"!ÃP÷ð‚ÃP Ã0,ÃpÂÃpcÃàýÃgÃàñÃðÃPtÃÐ/ ÃP€ÃÀà ÃpcÃpWàÌÃÃpÎÃ0©ÃÞÃ0,ÃpQÃPýð^ àCÃpQÀïÃ`• ÃpKÃàP!à Ã@ÐÃ@;"ÃÀëÃ@ÐÃÒÃpKà7 Ã0—!Ã0¯Ã@eÃ@âÃàhÃÐGÃоÃ@G à Žà Ã@eÃðƒÃðÃpEÃp¶!ðÕ!Ã`• ÃàD#ÃÀÃÐÄà ŽÃàÙÃP÷Ã0©àÆÃÐ;Ãð‰ðvÃÀÃp]ÃP˜Ãð*ÃðÃ0¯Ãð Àf Ã@ÊÀ~ÃP†Ãà\Ãðà í!Ã@MÃÀÀõÃ0»Ã@ÜÃ`àCÃ@ÜÃ@YÀxÃÀ&ÃÐÜÃPÃðÃsÃLÃ@SÃвà ÀÃà÷Ã"ÃP÷ðóÃ0ÁÃ02Ã`6ÀûÃ`*Ãðw!Ã@ÊÃоÃPà ”àUÃоÃÀ ÃààUÃ`*Ã`¡Ã0£ÃP†àêÃ0»ëÃ0µðóÀ~ÃP÷Ãp¼ àØÙÃ`$Ã@_Ã`0Ã@SÃÀ¯Ã`ÅÃ02ÃpWÃ0 Ã[ðvÃвÃpQÃPÃð§ÃPžÃ@eÃ`¡ÃÀ ÃÀ‹ÃpKðˆÃ`­ðçÃð} Ã`!Ãð ðjÃÀ!àCÃpÚÃ`0Ã@ÖÃÐGÃð§àÆÃmëÃÐSÃ02ýÃð ÃØÀûÃÐÄÃP†ÃоÃÀ‘ÃÀ ÃpcÃÀÃ0£ÃÀ‘Ã@ÜÃPýà ‚ÃP’Ã`ÀïÀà Ã02Ã@ÖÃÌ Ã[ÃàP!ÃP÷ÃàhÃðÃÀÃ0 ÃÐ;Ã0µÃà÷Ã@Ðà p!ðvÃPë à ùðˆÃàñÃ@SàUÃ0»ÀŠÃð¡ÃàëàÀðdÃÀÃ`§ðˆÃàÍ!Ãp&ÃðÃPn ÃPýàÀÃFàIà=ÃÀà Ãpið ÃäÀÝ!ÃÐÄÃP’ðùÃÐGÃÐèÃ.Ãà€Ãð*ÃÀ¯ÃÐ;àOðùÃ@eÃ`NÃð•à !Ã0¯ÃàzÃÀ—À~Ãð›Ã@kÃÀ©ÃðÃðƒÃ°Û ðáÃðÃ`• Ã02à© Ã`ûðçÃpÎðˆÃpiÃ@ÊàºÃð•ÃÕÃÐkð‚Ã@âÃðÃÐÐÃüÀðóÃànÃ@âÃPŒÃPÃÐAðÕ!à ç"ÃÀ à[Ã@kÃdñà |ÃaÀûàäàêðùÃÃð¡à Ã`¿ÃÐÄÃP€ÃFÃ`ÅÃpÂÃPtàIàaÃPÃðÃ0©ðóÃ4Ã@wðšðˆà Ã`¹ðjàÌà ‚ÃpìÃÀÇÃà€à ŽÃ:ÃÀÃPŒÃ@MÃàhÃÀ»Ã0÷ÀÃÐÊÃ08ÃÐ_Ã`BÃàzÃÐÊÃ@ÖÃÀ£ÃO ðà Ã( Ã0»ÃgÀ„À%ÃpcÃp]ÃÀ£Ãð ÃpQÃØÃ@YÃ`ÅÃy÷Ã@wà 5Ãð¹ÃpoðÃÀ©ÀxÃyÃpoÃ0»Ãð0Ãð*ÃPÃêÃ:Ã`HÃ0ßÃÐÖðŽÃà\Ã4Ãð<Ãà ¬ÃÃP˜Ã@ÖÃàÀÃ`BÃð6àðÃ`¹ÃàýÀ~àÀð|ÃÀDÃ0ÙÃpoÃà€ÃÐÐÃ0>Ã0Áà Ãà\Ãð›Ã0ÓÃð­Ã@ÀðùÃ0JÃpÈÃ@âÃÀ8àaÃàÃ0ÙÃP!Ã@}ÃpàÃð­Ã@wÃà÷ÃöÃpæÃpòà 5Ãð*à /ÀœÃ@ à ;ÃÀµÃÀ£ñÃÐÖàÃÀPÃ`ËÃPªÃ@îÃ4Ãpuà 5à ;àÞÃ0DÃ0DÃP'Ãà˜ðŽÃÐÊà…ÃÕÃp“ÃsÃ^ðÃÏà 5àmÃðÃ0µà )ÃpìÃð­Ã@ ð)ËÃÉÃp? ÃÞÃð¹Ãà˜ÃðÅÃ@ÜÃ(à šð ÃàŒÃàÓ Ãp]Ãp‡ð/ÃíàaàÒÃÕÃPÃÐSÃ`6ÃðËàsÃð§Ã`ÝàyÃöÃð*ÃÐGðùÃFÃ0bÃùàØÃÐÜÃÐYÃð6ÃPÃÐÜàUàÞÃÛÃpiÃpcðšÃ0ÙÃüÃsð|ÃÐSÃ0ÇÃ0VÃð³ÃàÃð³ÃpòÃÉÃ@ÃÕÃRÀœÃÃÀÓà ÊðÀÃpuð À¢à  Ãð0Ã@ÜàÒÃð•ÀÃpuà šÃàÀÃ`¹ÃðBÃðHÃàýÃP†Ã`ËÃÐîÃÀÍÃpòÃ`BÃÀ¯Ã@}ÃPžÃÀÃÃàzÃPÃ4Ã@àOÃpÎÃÉÃð*ëÃP€À–ÃÐÖÃP’Ã@ôÃÀ,ÃàÃPžýÃð*ÃÏÃ``Ãð­Ã0ÍÃàzÃàýàmÃð<ÃpæÃpiÀÃP9ðˆÃPŒÃÐMàmðýÃ@ôÃP!Ã:ÃÐâÃpàÃ@kÃpÃ@îÃöÃð›ðšà ;ÃÃ:ðÿà  Ã@ÜÃÐeÃÐÜÃRÃÃÃFÃðàðÃÐÖð ÃàýðÀœàgð”ÃÃð§ÃpìÃð6à  à Ã`³ÃPýð”×ÃàýÃ`*ÀõÀà šÃð6ð/Ã0JÃaÃpÔÓÃ:ÃÀàÌÃààêà ÃsÃ0ÁÃð6ÃPžÃðÃ@àgÃÐMÃ0Dà Ã@ÃpQÃànÃP!À%àöÃ0ÇÀõÃ:ÃàzÃP9ð À~ÃÐAÃÀ—ÀŠðˆÃàÃðÃPÃÐYÃð³Ãð0Ã@qÃÐSÃÀµàðÃðÃPÃð­ÃÃÃð­àaÀÃpoÃð¹à  ÃÐÐÃÀ ÃPàêÃÉÃ[ÃÐAÃ`›÷ýÃPÃpæàaÃPªÃð³Ãð­ÃÐMýÃ0Çà Ã4Ãà€Àà ÃöÃáàüðÃð³ÃÐYÃÀµà ”À ÃP!ÃpÃP€ð|ÃpòÃð§àÒÃ`<ÃP€Ãà†Ã`ËÃpòÃ`Ñà #Ã02Ã`ÅýÃpcñÃÐÜÃÉÃ0\ÃÏÀÃà†ÃP?à 5Ã`BÃÀ Ãð¹ðšÃÀÃàbÃÃÃÐ_ÃÃÀÃ0Pà #Ã@‰Ã@›ÃpìÃ`ÅÃ:Ãðà ÃàŒÃоÃpÚÃPžÃÃÃ0ÓÃÿÃ0ÍÃÃ@qÃ@kÃ0ÍÃ(ÃpòÃÐAÃ@îÃð÷ð‚Ã@kÃpcÃpæÃ@eà ðÀœÃ`ZÃÏÃyÃP’ÃPªÃpþÃÀDðð àgËàyÃ^Ãð¿ÃRÃÛÃÀ»ÃPÃ0ÇàsÃRðˆàêÃÐSÃ:Ã`TÃ@Ãpø÷Ãà÷À–ÃÃ@‰ÃðBÃpæÃ0ÓÃÃ0PÃ0JðùàmÀÃ`*ðÀà ¸à AðˆÃ@Ãà ÃP'àsÃ`NÃÀ&Ã`HÃpcÃð*ÃXÃ`<ÃàtÃ0>ÃànÃP ÃÐkÃ@àsàaÃ`Ñð Ã0ÓÃpoÃ`Åð|ÃP!ÃLÃ@ÜÃàtÀ+ÀÃ0ÓÃ`<ðà  ÀûÃPð|àgÃ`ÑÃ0\ÃÀµÃàžÃàà #ÃP àØàUÃÀà ˆÃ`BÃP°Ã0ßÃ`<Ãð¿Ãð¡Ã08Ãð$Ãð§ÃàñðˆÃP'àððpÃ0>Ã0PÃà÷Ãà÷ÃP'Ã0VÃ.Ã0ÇàÃà˜ÃPžðð ÃÐÜÃ@Ã0ÙÃPEÃPÃ@A!Ãð‰ÃpìÃóÃüÃ0>ÃUÃPÃÀ2Ãð0ÃàÃP9ÃÃÃP3ð Ã0¯Ã0ÓàmÃÀ‘Ãsà[Ã0PÃÐÖÃ…Ã0ÓÃP†ðšÃ@îÃP-ËñÃÐMÃ@eÃpàÃÐÊÃðÀ¢ÃÐeÃpWà ÷Ãð0à[ÃàtàÒÃPà[Ã`³Ã¥ ðpÃðÃLÃp‡ÃpøÃPÃPžÀrÃPtÃ0©ÃàzÃpiñÃêÃÛÃ@úà ˆÃÀ‹à Ãð¡ÃpWà ÿÃPn Ãðî"à |ÃPÃ`<ÃÐeÃPªÃÏÃêÃpcÃðÃ@kà ÃÐYÃ`¿ÀÃоÃpWÃ`›Ã[À„àUÃð•ðÀÃyÃ`*Ã@îÀûÀÃð­Ã@¾!Ãð ÃRÃÀ©Ã:ÃÃðÿÃÐ;ÃàÃ:Ãð­àÆÃÐ)!Ã°Û Ã`§ýÃàV ÃPzÃPÃÀ,Ã@SÀlà šÃà÷ÃÐMÃÉÃPŒÃPå!à ùÃ.Ã[àCàÌðíð^ ÃÀ&Ãð à ÿÃàñàUÃð§Ã:Ã`§ÃäÃ0PÃÐÊÃÀÃвÃðÃPn Ã@ÜÃ@eÃðƒÃ`ƒ#ÃPýÀf ÃÀðdÃ@Ä Ã:ÃÃÀ‘ðáÃPë Ãð•Ãà\ñÃÀ Ã¥ ÃàbÃоÃ"ÃðÃ` ðjÃPà7 ÃØà´ ðíÃ`³ðóÃ`BÃ0VÃpWðjÀxÃàñÃðƒÃPzÃàtÃ0»Ã"ÃÐYÃ0PÃðÃ^ÃÏÃ`*Ãà÷ÃP€ÃÐ#Ã08÷ÃsÃöðùÃÀÃPñðpÃоÃ`• Àà ŽÃàÃàtÀûÃàP!ÃpÈÀûà ¦ÃPÃð•Ã`§ðpÃàëÃ0»ÃPzÃ0£ÃÐ;ÃÐYÀ–ÃdÃ0&Ã0!Ãà÷Ã0>ÃP˜ÃRàÒðíÃÀÃÀÁÃ4Ã4ÃÀ Ã@SÃ0£à ”ÃðÃðú Àf Ãð¡Ã0µÀ Ã`6à[ÃpÎÃàhÃð•Ãs÷Ã`¹ðdÃ@ÖÃ0&ÃP÷ÀûÃ0µðvÃð‰ÃиÃÐkÃÀ Ã@ÖÀÃpQà Ãð­ÃÀ—à¨"Ã0µÃP ÃPýÃàñÀûà ˆÀ~ðóÀÝ!à Ã( à7 Ã@Àðÿà àUÃÀÃpQÃà÷ÃpþÃpoÃð¡ðñÃpìÃ`¿Ã0ÍÃ0ÁÃp? ðdðóÃP’ÃàñÃI!àÆÃ0ÇÃÀ&Ã4ëÃà÷ñÃ.Ã@_ÃÐMÃÀ—ÃÐÄÃð$à #à #Ã`¡ðˆÃð¹Ã@ôÃ0ÍÃ0 Ãpž%ÃP÷ÃðÃÀ8ÃÃÃ08À ÃàëðáÃð›Ã…ÃÀ8ÃÀ¯àOÃàñÃàðóÃgÃ0JÃp¶!ÃÐ5ëÃÀ àOÃPÃpàÃ@G à ÃÌ Ã[àØÀœÃpòÃоÃp? Ã°Û ÃоÃÏÃ¥ À~à ÿÃÐAÃPzÃð} Ã`6ÃLÃPŒÃàåÀÃðÙðóÃ`³Ã@G ÃyÃ@eÃ(ÀxÃÐÜÃÉÃ@âÃ@Öð|àÒÃÐSÃPÃ@_Ã0>Ã0»ÃpÚðùÀxÃ0¯Ã.ÃðÃ0©ÃоÃp°"Ã4Ãp]ÃpEÃÐYÃP-ÃÐÜðóÃð*ÃÀµÃ¥Ã@èÃpKÃðƒÃP€Ã`§ðáßÃpÂàOÃÕÃÐîÃpWÃ@eÃÐÖÃð¡ÃaÃ`³ÃðÃRÃ`¿Ã¥ÃÃ`<À~ÃÒÃðà àÆÃäÃ@èÃÀ¯ðvÃàåÃp]ÃÀ8à ¦ÃÐMÃÐÄÃ:ÃÀ©Ãð§Ã0ÇÃ@MÃиÃ0,Ã@àaÃÐÊÃÉÃðÃÏÃð Ã08ÃpQÃ0µÃÃPŒÃP'ÃÐqÃpøÃ0µÃ@MëÃàåà ÃÀÃÞÃ`$ÀŠÃPÃ`0ÃÀ£ðÿÃ0>Ãð} ýÃàßÃÀ‘ÃàhÃÐ5ÃÀ ÃPÃÐGÃð*ÃÐÜÃÞÃàëÃàtÀ„ÃÃÃ"ñÃP Ã`ÑÀ–Ã@ÜÃànÃpàðóÃ…Ãð*àmÃÐâàØÃðÃaÃPŒÃ08Ã0>ÃFÃ`³Ã0Çà[Ãð¡Ã@îÃ`0Ã@SÃPýàað‚Ã@âðíýÃ@úÃFÃÀ»ÃP Ã0µÃ0>Ã@eÃ0¯Ãð­Ã0ÓÃFðˆðÿÃ@ÜÃ0»Ã`*ÃàJ"ÃaÀ%ð”ÃðÃpøÃðNàaÃ`¡ÃmàÞÃ`HÃPQÃðËÃÀ2ÃpòÃÀÁÃP˜ÃpÚÃpÈÃXÃpæàUÃ0DÃ^àäÃÐÜð”ÃÐYÃ`ÅàØÃ0>Ã@SÃÐúÃà¶ÃùÃÐSÃ@kÃPn Ã@)%àÌàðÃ@Ãà˜ÃÀ>Ãð¹àØÃ…ÃÀÍððˆàOÀ1Ãà-Ã:à )ÃPžÃ`<Ã0»Ã@ÃÀ&ÃP'Ã@kÃÐMÃàhÃ@kÃpiÃÀ8àsÃÐÄà1!àÆÃ0ÓÃÐSàgÃð³ÃÙÃ@kà ÃàzÃ@àyÃ0¯àØÃ0VÀÀÃÞÃð•ÃmÃ@eÃà€àÞÃðÃ08ÃPÃ…ÃÛÃüÃиÃPñÃ0VÃð­ÀÃ0>ÃáÃÛà ÿÃ08ÃÀ©ÃàtÃÀDÃÐÐÀ Ã0ÍÃ`Tà Ã`$à ŽÃÒÃFÃmÃðÃàýÃpÚÃÀÃ@SÃÐÐÀÃÀÃPV$à´ Ã@ÜÃgÃвÃP†Ã@wàaÃ@Ðà ðR"Ã( Ã@eÃÀ—ÀÝ!ðáÃPžÃ0DÃànÃ`­ðdðR"Ãu$àºÃÐ;Ã[à d#Ã°Û Ã°jÀõÃO Ã0,ÃÀ‘ÃÀ‹à+"Ã@;"Ã@_ÃyÃàåÃÐÄÃ@èðçÃ@Ä Ã ÒßÀxÃgÀxà ÿÃ`›ÃpÎàðÃLà ÃPñÃ@ÐÀ ÃÐGÃÏÃPëÃ@kÃ`à |ÃиÃpÂÃ0 ÃÐGÃ`0ðpà j"Ã=#ÃÆ!Ã@_ÃÐ)!Ãp? À ÃÀÃ@qÃð à ÿðíÃÀ ÃPðáà%#à ÿÃ`BÙÃ@A!ÀéÃ`}$à í!ÃÀÃÀ ÃÐÊÃàñÃ`6ÃPÀõÃP€Ãð ÃÀ Ã:ÀïÀÃÐÐÃвÃ7$ÃàÁ#ÃЦ!ÃÒÃ`‰"Ãðî"ðÕ!àÒýÃÉðpÃaÃ`­À~ÃpEÃI!ÃÃÐ;à[ÃðÃp-#à ÃàbðÕ!ÃPß"Ãðô!àÀÃ(ðvà=ÃP’ð ÃpWà ÿà Ãà\Ã{#ÃÐ5Ã@YÃàJ"ÃвÃàP!Ã0&ðŽÃ@eÃðƒðíÀxÃpKÃp? ÃPðvÃP’Ã`›ðjÃPýÃà7 à ÃвëàÀýÃöÃ08ÃpÔÃ@âÃ"!ðvà ˆàOÃàtÃÀàUÃð} Ã`§ÃÐ5Ã@SÃàzÃ@ÀxàOÃÀ£ðçÃàV Ã0£Ã(ÃàßÃ0>ÃpÚà Ãànà7 ÃpEÃP€Ã`6Ã@ÊÃPtÃ0,ÃÞÃêÃð‰Ãp¼ Ã@Ãð Ãàñà ÿÃ@MÃ0¯Ã` "ÙÃ@ÊÃëÃP€ÃP€ÃP’ÃpoÃ.ÃmÃ@¾!ÃвÃP€Ãà\Ã@MÓÃàhÃ`0Ãp9!ÃÃÃàzÃ0¯ÃêÃðÇ!Ã`• ÃÐÐÃÐÊðˆÀxÃàßÃ0µà Ã`¡Ã0&ÃP†Ãð§Ã`$Ã4ÃàhÃÐAðX!Ã`¡ÃиÃиÃÀ À~àºÃÆ!Ã`*ðçÃ0»ÃÀ¯ðçÃ`ô%à ÃPŒÃàåÃð¡àÞà[Ã@A!Ãp? ÃI!ÃиàUÃ`6ÃàhÃàP!ÃC"Àã ÃàëÃ0 ÃàÙÀïÃ`$ðjðR"ÀN$Ã0—!ÃðÃÐGÃPÀ~ÃáðÿÃÀÃÀÃ0©Ãp9!Ã0 ÃpÔÃ`$Ó#ÃÀ!ß!ÃPb"Ã`‰"ð:&Ãpª#à p!à ç"Ãð} Ã` "Ã0£Ã`$à ”à ÿÀ`!Ã`!à !Ã{#Ãðè#ðX!Ã@5#Ãð‰à1!Ão%Ãp'$Ão%à :*Ãæ&ÃÐ)!ÃÀê$à X%Ç%Ã0…$à ^$Ã@¾!ÃPV$à X%Ã`ô%Ã0y&ÃðÖ&Ãà©'ð()à +ÃÚ(ÃPP%Ãpž%Ã=#Ã$Ãp-#Ã$Ã`î&ð,Ã`e(à á#Ãpª#è&ÃÐÿ'ÃàÁ#Ù"Ãì%à ·*Ãð¾*Ã`_)ÃPÇ&Ã0ü%ÃðÖ&ÃðS'Ã`è'Ão)ÃðÐ'Ãi&Ãø'Ã0ð'ð«(Ãà+À<'ð"*Ã0m(à Õ%ÃàÁ#Ã0s'Ã*ÃÐ &Ãp&Ãà*À¿&Ãà )Ã@ &ð+ÃÐj+à F(ÃÐ|(Ã`î&Ã%'Ãò$Ã{#À¿&À¹'Ãð¾*ÀB&à F(ÃðÊ(à Ï&ÃPÓ$àœ$à @)à 'àï+ÃðG)à 'Ãà&(À¹'ð±'Ãà»$ÃÀÒ(Ãp†)Ã@š'ÃÐ|(ÃðÊ(Ãð¾*à–%à ^$à%Ã@¾!À**Ã0s'ð±'ð()Ãp*Ãð¬-Ãø'ÃЈ&ðÃ$ÃàÓ Ã Ã@¬$î%ÃP>(ÃÀO)Ãp )Ã0y&ÃPÍ%ÃàÙÀÅ%ÃÐÿ'à Õ%Ãp!%Ã`k'à 'Ãà'Ã%'à$À6(Ã`â(ÃÔ)ÃPÓ$ÃÐ#à(Ãp€*Ã0g)Ã`ô%ðF$À×"Ã0ö&ÃÚ(Ã+&Ã)Ã`q&Ã0ö&ÃÀÒ(Ãðî"ÃP\#ÃðM(Ã0$à=ÃPë Ã0%ð:&Ã&Ã](ÃÀð#Ãp'ÃP2*Ãà&(Ãà )Ãø'Ã`‰"Ã@5#Ã(ÃpŒ(ÃðÐ'Ã`è'ÃPÍ%ÃЈ&Ã`ú$Ãà»$ÃP>(Ã0%Ã(ÃÐ|(Ãp!%ÃÀ"Ãp3"Ãðè#Ã`è'à @)Ã`$ÃÐ#"Ã"Ãø#ÃP\#à%#ðF$ð·&Ã0ð'Ã`k'À×"Ã`}$Ã`w%Ã@)Ã@)%Ãþ&à F(ÃÀ!Ãðq"ÃðS'ðR"à v Ã$à %Ã&à%#Ã`ú$Ãpª#ÃàD#à F(à L'À`!à Û$Ã0‹#Ãð Ãà>$ð4'Ãðq"Ã0‹#ÃPJ&Ã{#Ã`$Ã@ &Ã@)Ã0ü%Ã&ÃàÇ"Ãà,'Ã`â(ÃPÁ'àû)ÃP2*Ã`e(Ã`è'Ã,Ãõ.Ãp )è&Ãð_%ÃÐp*Ü(ÃÐŽ%ÃðM(Ã@ù,Ãð;+à X%ðÃ$Ã`k'Ã&Ãà'Ã@v-À•-Ãð²,Ã~-À$+Ãðâ$Ã0m(ÃÚ,ÃP¯*Ã&ðÉ#à~)â'Ã0ð'Ã0y&ÃW)ð.(Ã0U,Ã@)Ã`k'ÃP.ÃQ*ÃÀÌ)Ãp€*ÃÀØ'Ã0ü%ð,ÃPµ)ÃÐç+à ¥-ÃðM(Ãp!%ÃP¯*Ã`G-Ãò(â'ÃÀÆ*ÃÐv)Ã0ö&Ã@/$à ½)Ã@ÿ+ð()Ãpý*àŠ'à Ï&Ã](ð¥)Ãæ*àû)À­)Ã0Ø+Ãà+ÃÀs#Ãu$ÃД$ÃÐ'ðŸ*ô$Àf ÃÐŽ%Ã0m(à„(Ã@(Ãi*Ão)ÃW)à„(ÃP2*è&Ã@#&ÃÐ|(à~)Ã0m(Ã`e(ð()à Ï&Ã0y&ÃÀØ'ÀB&ð«(à d#ð4'Ã0ê(ÃÀº,ÃPÇ&ÃР"ÃК#Ãpª#Ã@;"Ã0$À¿&ÃК#ÃР"ÃÐ/ ðÉ#ÃPÇ&Ãà£(Ãðe$Ã@5#Ã0$Ã`}$Ã(Ã](Ãàµ%Ã&Ãp’'à F(à%Ãp˜&Ã` "Ã+&ÃЈ&À¿&à X%ÀÑ#ÃàÇ"à¨"à ^$Ã$ÃÐp*Ã0…$ðjÃ@ÊàOÀrÃÀö"ÃÀÃÒÀéÃ0µÃàJ"Ã`#ð@%ÃPb"à à á#Ã@²#à&Ã@¬$Ã$Ãà>$Ãðô!ÃÀü!Ã@¦%Ã0&ÃР"ÃÀà ˆÃÐ#ÃPÍ%ÀT#Ã@¸"ÃP\#à$ÃÀ!Ãp? Ó#ú#à d#ÃPýÃ@²#Ã`ƒ#Ã+&Ãp-#ÃPn ð^ ÃÀ['ú#ÀZ"Ãp-#Ã` "ÃPn Ãðw!ÃР"à j"à¢#Ãð‰ÃÀ… ÃÀ‘ÀrÃP€ÀÀœÃоÃ0‘"Ãà\Ã`• ÃàÍ!Ã`!àÆÃpÂÃàbÃÀ ÃÀs#ð.(ÀÅ%ÃÀ!à¨"Ç!ú#Ã`#ÃàP!Ã`â(Ãæ&ÃàD#À`!ÃPÓ$Ã`q&ÃP÷ÃÞÃðƒÃàbÃ`Ã@²#Ã0…$Ãu(à ùÃ`0ÀõÃðÀõàÀðíÃ@MýÃ0!ÃPV$Ã.Ãð Ã$ÃÀ!ÃàhÃÀ©ÃÀü!Ã0—!àIÃpEÃp9!à=ðáàäÃ`¿ÃPŒÃàJ"ÃPñà¨"Ãвà ˆÃpEÃð›ÃpÂÃPn Ã@SÀÃÐMàOÃØà7 Ã@eðáÃpª#Ãp-#à ÀÃÐYàIðùÃàzÀÃÀ—Ã.ÃUÃàßÃÀ ÃP ÃÞÃ@ÐÃP à ÿÃÀÃÀ©ðóÀxÃð‰Ó#ÃàÓ ÃP†ÃmàÆÃ@èÃÆ!Ã0 Ãðô!ÃÐ/ Ãp3"Ãp? Ã0&Ã@Ãð*Ã(Ãð} ÃpWÀõÀ~ÃðÃ0©ÃÀÀûÃpQÃÀ‘Ã02ÃpiÃ@îÃ@eÃpÚÃ@èÃëÃpWÃêÃ02Ã`¡ðvÃ0&Ã@Yðóà |Ãð} Ã0£ÃÀ£Ãà Ãà÷ÃpWÃ`6Ã@ôÃ.ÃpøÃ0»ÃÀÀ~Ã¥Ã@ÐÃI!ÃPtÃ@îðpà Ã` Ã@YÃPzÃäÃ` ÃÐAÃ"Ã0µÃÀð ÀÃ(Ã`¡Ã0&ÃоÃ@ÐÃPÙ#à ÿðíàOÃð›ÃpÚÃ02ÃàhÀéÃ`¡ÃðÃÃpÚÃFðÃ@ÜÀûßÃP÷ÓÀõÃ@SÃ@YÃÀÃ@kÃ0ÁÃ…ÃàÃÃÐÊÃp9!ÃànÃP€ðÃ@èÃpÎÃ`6ÃpKÃÏÃPÃ"Ãð­ëÃ@_ÀÃà€ÃP’ÃÐÜÃ@kÃpÚÃð ðX!à´ Ã@G Ã`0ÃÐÖà ùÃàV ñÃpòÃRÃ`³à Ã0JÃÐAÃpQð Ã@èà ÃpÔÃ(à[ÃpìÃÀ,Ã@kÃÀ»ÃÐYÃðÃ"ÃànÃàëÃÀÁÃàzÃpKÀ ÃpiÃ`¹àÌÃ0DÃð0àÌÃÀ‹Ã@_ÃpKÃÉàOà #Ã@eÃP†ÃpæÃ0VÃÀ,ÃðÃ0µÃ@_ÃP àIÃЬ à Ã(ÃàhÃP€ÃÕÃP˜ÃüÃP€ÃàýÃ.Ã@ÜÃsÃÉàÆÃ@kà àÞÃÐAÃð³ÃüÀ„Ã:à ˆÃÐÊÃ`<ÃXÃpÂÃÐ;ßàäðˆÃpÚà[ÃpÚð ÃàåÃPzÀŠÃ0VÃàŒÃÀ£à ÃpÔÀ À~à ÿÃ`¡Ã@eðÿÃ0DÀ„Ã.ÃgÀ„ÃmÃð•ÃðÃàýÃÐîð‚àØÃ4Ãp]Ã@îÃ`<Ã0\ÃP!ÃpàÃ0VÃÀàÌÃÃ^ÃP3Ãð0Ã…ÃÐâð|ÃÐÊÃð÷ÃÐÜÃð0Ã`ÑÃ@Ã"ÃpÈà[Ã(ÃpcÃFàCÃPýÃÕðàüÃÐúÃÀJàUÃ`• Ã0D÷ÃÐ5à[ÃàÃ`­Ã0>Ã@_Ã@èÃàñÃpàÃ@Ãð­ÃÞÀ Ã`ÝÃ`làyÃÀ©÷Ã.Ãð­ÃðàUð#Ã0nÃð­à ²Ã‹Ã@âÃàýÃpoÃÐqÃà’ÃLÃ0ÇÃð¹ÃÐÜÃPÃpWÃÀ£ÃàbÃsÃÀ2Ã`¹Ãð<Ã`Åðˆà ;ðÃ`¹ÃLÃÛÃRÃÐèðÃÃÏÃà ëÃÐkÃÀ&ÃP ÃÐGÃÐMÀ%ÃÃð¿ÃÀÃ@YÃyÃ@ôÃ:ÃÀ,ÃÃ…àäÀÃp‡Ã@‰Ãð0Ãpª#ÃPÃ@ƒàüÃ@ ÃpÃÐâñÃÐèà ¾Ãp{ðÃ@ÃðBÃP¶ÃP!ÃÕÃÐ_ÃP-àmÃXÃP˜ð#à  ÃÀ©ðíà ˆð‚ÃP ÃÐÊÃXðšÃ`¿ðùÃ0ÍÃÃpìÃð•à[àä×ýÃàÃðÅðŽà ¬ðàmðÃ@qÃêÃ0ÁàmÃ4ÃÐ5ÃP ÑÃÃpìÃPžà àØÃPÀÃP’ÃP-Ã@}Ã@wÃpÔÃ`­ëÃà÷ÃPà šÃÀ&ëÃÐSÃÐeÃ4à ¦à[ðˆÃ@qÃPÀÃ`¿à  àðÃÀ¯ðùÃàhÃ@qÃÕð”Ã@èàÆà ”à 5ÑàÞÃ@}ÃàŒÃP’Ã@wÃð­à šÃP!À ÃPn ÃRÃXÃp{ÃÐwÃ@ÃØÃð¹ÃüÃ`BðÃ@èÃPÃPðÃÀ>ÃÐÊàÌÃÐÜÃоÃÐÜà ²À„ÃÀ>àyÃÃÏÃ(Ãð0Ã`NÃà /Ã`ÅÀ„ÃP°Ã`BÃ¥à[ÃpiÃ0PÃàÃP à[Ãð$ÃpWÃ@ôð”à #ÃmÃàzÃð6à Ãð”Ã@}Ã0ÁÀÃ`ËðŽÃÏÃÐeÃð­ÃjÀ–ÃsÃÏÃ.À~Ãð‚ÀÃÐèÀà ŽÃðÃÞÃ0DÃPŒàØÃÀà  ÀÃFÃ`<àÞÃpuÃP'ñðpÃ0PàöÃLÃÃÃð§Ãð0Ã@ôÃÐYßÃÃð¹à šÃ@ôÀ+ÃpøÀÃ0ÙÃ@ÃÀ—Ã@wðÀÃÀ¯ëÃ0ÁÃ0DÃ`HñÀûÃ(ÃÐSÀ Ã(Ã@eÃ0µàÞÃ0bð#Ã@}ÃÀ&ÃÐMðÃàŒÃð*Ã@îÃ@ƒÃPÃÃ`<Ã@îÃÀ—à ”à #ÃvÃÐqÃFÃ@ÜÃÐ5Ã0ÁÃ:Ãà ÃÐîðpÃÀÃð­ÃðBÑÃPýÃðÃaÃPÃÀPÃÐeÃLÃðHÃ`³ÃÀ Ã0åÃÐâÃðËÀ´Ãð0à ;Ãð0à ÃpìÃ@_ÃÐSÃpæÃ0>Ã0>Ã4ÃÃÀ»ÃÀ2ðšÃ`³ß!ÃоÃ0Và /ðˆÃÀ‘ÃP¤à #Ã@èÃð›àÌÃÐÊÃÐÖÀÃP˜ÃÀÃ`­à ÃÐYàUÃàbÃÀ8ÀÃÐeðÃpÚÃüÃ0ÇðÿÃLÃP€Ãð$Ã`0ÃP÷ÃÃÃÀ&ÃPÃÐ5Ã`*ÃpÎÃÃp¼ à šàÌ÷Ã`¿Ã¥ÀàOÃØÃ`¡ÃÐMà  ðjñàOÃP†à[ðÿÀ„ÃPb"ÃÀ!ÃpWÃàýÃ`TÃPŒÃ`›à ùÃP†Ã0ÓÃà÷ÃPn à®!ÃØÃpcÃ0µðóÃpWÃ@úÃ`ËÃ0,Ãð›Ã(àCÃ@YÃ@èÃð$Ã0©Ãð•ÃÐeÃP¤ÃÀ&Àrà ”àOà ˆÃ`Ãð•ÃpæÃð$ÃàŒÃ`§ðR"ðáÃ@_ÃpWÃÀ£ÀxÃÀ©ÃÀ&Ã@ÜÃp¶!ÃÐMÃðÃÐÜÃ0DÃP’Ãð0Ã@wÃð¡ÃgÃÐÖÃpÔÃÀ£ÃÃÃÃà ¦ÃpoÃ@MÃ`›ðˆà ˆÃPh!ÀxÃð‰ÙÃ@kàUÀ~ÃàbÀïÃPtÃÀÃPÃÀ©ÃÐÖðÿÃÃàzÃPÃPýð|ÃÀ&à  ÃpøÃp{Ã0ÍÃpWðùà ”ÃpiÃ0,à ‚ÃÀÃ`¹Ã0ÇÃàbà Ãp¼ ÃÐ;À„ÃPà  àUÃð›Ãð0ÃÀ à ŽÃ@kÃ0»àUÃpìÃ`³Ã0©ÃàzÃPŒÃ@Ãð­Ã`HÃðÃÐMÃð•ÃRÃ0ÁÃ0¯Ã0»ÃðÃànÃàÙàOÃÉÃ:ÃÐ_ð#Ã@îÃиÃ02Ã¥Ã`¿Ãð6à ó Ã"Ãð¡Ã@âÃ0¯ÃоÃPýëÃêÃ`¿ÃO ÃP€Ã`6Ã@ÜÃиÃ`à j"Ã` "ðíÃÐMëàIÃà€ÃÐSÃÐYÃ@ÐÃ0#Ã°Û Ã +"à ^$ÃÐÄÃPÀ„Ã@âÃPÃ@à ”ÀïÃàåÃPýð^ Ã0£ÃðÃ0>Ã@;"ÃÀÃÀ ÃRÃ08Ã@¸"ÃàÙÃ0JÃ0ÍÃÃðñÃ0¯Ã0µÃ"ÃUÃÐ)!ÃaÃàbÃp]ÃàýðvÃàåðjà !ÃðÃPÃpÔÃÀy"ÃàÙÃð$àØÃð•ÃäÃàåÃÐÄÃÐÄÃÐMÀÃ`³ÃgÃ`ÃP€ßÃÀÃ`¿à ÃöÀÃÀÃð­Ã02àÀà ŽÃð$Ã`!à7 ÃPë ðX!Ã¥àäÃpoð|ÃpQÃpìðíÃÃp]ðdÃÀÞ&Ã@MÃ`¹ÃäÀZ"Ã"!àOÃÐÖÃÕàUÃaÃð$Ã0PÃàhðÃð›Ã@YÃàñÃÉÃÀÃ[ÃÐGÃP€Ã@èÃÐÜÃÐÊÀÃÀÃÌ Ã@_ÃÀ,ðˆà ”Ã@Ãà÷ÃgÃ@MÃP ÃRÃð­ÃÐAà v Ã`§Ã@qÃÀ©ðvÀõÃÐÐà ÃàhÃÐ;à ð^ Ãð•Ã0©ÃÀ‹Ãp-#ÃàßÃPëÃpàð Ãð•Ã08Ã(ÃyÃðÃ0DÃð­à #ÃÀ&Ã0µÀÃ0ÙÃ0ÓÃ0ÇÃðƒÃ`!Ã0©ÃpKÃ`›Ã`›ÃÀ,ÃöÓÃüðóà ”àCðóÃ.àÌÀxÀõÃPzÃðƒÀŠÃàåÃPÃ` ÃpEÃÐÐÃàýÃ0>ÃÐÊÃ@èÃÀÃ@Ä ÃÀ¯ÃpiÀÃLðvÃàëÃ`›Ã02à ÃPb"Ãð•ëÃð} à ‚ÃàtÃ`TÃ@Ãð§ÃpWÃ.ÃPžÃ0>Ãð¡Ã0¯Ã`¹ÃÀ»Ãð¡Ã^ÃpWÃÀy"ÃÐGÃ0Pà ¦à šð|Ã0ÇÃÐÊÃÃëÃpcëÃpÂÃàýÃàýÃàzÃpQÃ[Ãpàà ¦ÀŠÃÀ‹ÃPb"Ã@_ÃP†àäÃ@A!Àã ÃÐSëð|Ãpcà ÃpÈð ÃànÀlÃàtÃиÃ4Ãàzà7 Ã°Û Ã€xà[ÃиÃàbÃð$ÃP ÃLÃpoÃð à ùÃPß"ðùà[ÃÃÃ`6ÃyàÒÀðÿÃÐAÃиà ÙÃ`Bà ¬Ã`$ÃÀÃÀ—Ã`0ðùÃpÔÃPñÃÒàÌðdÃ@ÐÃpàÃpÚÃ0µÃð‰ÃÃàëÃÀµÃ`0Ã`³ÃPà ”Ã`HÃÀ,àÒÃpÂÃÃ`BÃPªÃÀ£ÀûÃЦ!ÃPh!Ã`$à ÃP€ÃÀ~Ã`*Ã`Ã0,Ã@SÃ°Û Ã UÃLÃàñðíÃÀ8ÃÀ ÀõÃÀ&ÃpÔÃ`¡àUÃ@ÜÀf Àlà  ÃÀÃàtÃÀÃ`­Ã4ÃÀ,Ã.Ã0"Ãà\Ã(Ãànà ˆÃ@SðáÃ=#Ã@Ä Ã [àêÃ0©Ãþ"ÃpKÃ@_ÃPtÃànÃgÃðq"Ã0£ÃP˜Ã`¡ÃàßÃ@eÃpcÃFÃ@ÜÃ@_à=Ã0£à ùÃ`0ÃÃ@5#Ã.ÃðÃsÃ@_ÃpiÃð Ã0©ÃàD#Ã@YÃ0µÃÐ;Ã0 Ãð‰Ã`­Ã`¹Ãäà #àÞÃ¥ÃðÃPå!Ã0&Ã4Ã`ÅßÃÉà ŽýÃÐÐÃ°Û ÃвÃp¼ ð^ ÀlÃоÃ@Ä Ã IàgàOàUà Ã@_ÃPë Ã`!ÃðÃÉðpàÌÃð§àgðùÃP€Ã02Ã.à |Ã` ÃÃýÃð ÃððáÃ` ÃÃÀ ÀxÃP÷ÃÐYÃ0»ðpà à À¢Ã@qÃðÀrÃ`Ã`6àðÃPžÃðè#Ã0!Ã:ÃàzÃЬ Ã#Ã`!ð^ Ã0©ßÃüß!àÀàÀðíÃð‰Ã0 Ã0,ÃPýà !ÃPë ÃI!Ãðà ˆÃðú Ã4ÀrÃ4ðÃpÔðíÃp9!à=ÃpàÃäýà ÃÀ!à¢#Ãp-#ÃÞÃ`³Ã"!ßÃ@ÐÃÀÃ@Ä Ã[ÃàßÃàåðùÃ4ÃàhàÒð‚Ãà\Ã@YÃÀ!Ã0‘"ÃÀ!À„àgÃ@qÃ`ÃO Ãðè#Ã0ÁÃpuÃÃÃÀ>àUÃð$Ã@ÐÃÀü!ÃO à ŽÃ"Ã0µàÒÃ@èÃð6Ãp]Ã( Ã`• ÃàåÃÀÃpÔÃPÃÀÃgÃиàÆÃÀ‹ÃP†Ã0JÃÀ‘ÃPtàÀÃð¡Ã@eÃöà |Ã`¡ÃðÃäÃð§àÞÃöÃÀ&à |Ã`­Ã[ÃðƒÃpWÃ`¹ÙÀf ÃäÃÀ—Ãp]ÃPtÃ0¯àCÃð•Ã0µÃ0ÍÃpÎÃ` Ãððˆà ²Ãð Ã`• Ã"ÃpÈðpðùÃÀ2Ã0ÍÃ[ÃðÃÀàÀà Ã@ÐÃmÃðÃðÀõà ùÃðÃPÃ4ÃPÃpÔÃ@eà  Ã°Û Ã ÀÃÀ‹ÃðÙÃ`§Ã08ÀŠÃÐYà´ Àf ÃðÃðÀxÃFà ÃpEÃ08Ã`!Ã@/$Ã`#ÃÀ… Ãðƒð‚ÃÀ Ã0&ÃÀ£Ã` "ÃÀ‹Ãðåå Ãp¼ ÃÐYÃ@qÃmÃ0>Ã0©Ã"Ã`Ã02ÃÀ£Ãð•ÃðñðÃð$Ã08à ùð‚à )Ã@ôÃ@MÃ`!ÃP€ÃPŒÃðÃÀ Ã"ÃÀÃð*ñÃ08à ˆðÿÃð ÃPÃpQÃ0 Ã08ÃÐ5Ã@;"Ãp? Ãp-#ÃàÁ#ð|ðˆÃPñàÌÃÐ5Ã`<ÃpQÃ@SÃp¼ ðíÃ`³ÃáÃØÃ`ÃpEÃ`¡ÀéÃðÃ@;"Ã`Ã@ÐðóÃØÃÐÊÃÐ_ÃüÃÐÐà ß!ÃgÃàbÃðàÆÃ`›ÃPb"ðdà ÃànàUëÃÀðpÀ×"Ã0!ÀlÃp? ÃàhÃ:ÃànÃЦ!Ã0£ÃP€Ã:Ã0>ÃÐÄÃÐÐÃpÔÀ~ðvà ‚ÃàÙÃðú ÃsÃð*Ã0£ÃÐ5Ã4Ã`!ÃðƒàCÃ@ÜßÃ(ÃC"Ã`• Ãmà àÞà šàIÃPýÃpQàäÃpÎÃ0¯ÀûÃÀ ÃpÚÃPn ÃÀà ÃP€ÃÀ£ðjà í!Ãðà Ãð‰Ã0y&à&Ã0>ÃÐYàØÃP˜Ã0>ÃP’Ã`$ÀxÃàJ"à v ÃpKÃðq"ÃàÓ Ãð Ã4ÃÐM÷Ã¥ ÃPýÃ@Sð|ðdÃ4Ãäëà |ÃЬ Ã` "Ãp? ÃpKÃ@ÐÃ`<ÃPtà ‚ÃÐAÃ@YÃpEÃPÃ`Bà ”ÀõÃÀ‘ÃðÃ¥Ã`³ÃPýëÃmÃÀÃ`*Ãø#Ã@S÷ðvðçÃUÃàV ÃUÃÀ£ð^ Ã:Ã@YÀxàØýÃÀ ÃÐ;à |ÃÐ/ ÃÐ)!ðÕ!Ãð‰ÃÐÄÃ"Ã0µÃ@kÃ"ÃÞÃPë Ãð Ã¥ÃpÎÃäëÃ"ÃpàÃp3"À`!àCÃð­ÃÐÄÃàÓ Ãð ëÃPàÌÀéÃÞÃ@kÃàtÃàhÃðw!Ã@_ÃpKÃðÃ@èÃpcÃÐAÃPzÃàtÃ`¿ÃðßÃ@ÖÀ ÃÐÐÃð›ÃÌ Ã ùÃÃÃ0»Ã`$Ã@ÐÃ`• Ã`›Ã0£ÃÀ©ÃpWð|ÃÀÃ:ÀxÃ0&ÃÐÊÃÏÃPÙÃÐÊÃÐÖÃ08ÃàhÃöÃÀ©Ã0—!ÃàV àºÃ@¾!àCÃPŒàOà ŽàÌÃ0&Ãp¼ à ÃêÃp]Ã0»ÃaÃð•ÃpÔÃ.Ãàzà ðÃáÃ`ÅÃàzÃpÔÃð¡Ã0Áð|ÃPzÃpcÃðÃp]ÃpÎÃêÃ:Ã@_ÀïÃÀàsÃ`¹à=ÃdÃPŒÃÐ$Ç!ÃÀ ÃàëÃPªàäÃ:ÃpQà ¦ÃàÃÐGÃP†ðíÃÐÄà ”Ã@ÊðˆÃ4ÃÀ À~ÃÐÖÀœÃÀ©Ã@èàÌÃàzÃÛÃ0JÃð0ÃüàaðÿÃ@ÀïÃp]ÃÀ—ÃpÔÃ0‘"ÃO ñÃàýÃÛà 5Ã@Ã0ÍÃð§ÃP€à ˆÃ(Ã@âÃÀDÃP!Ã@âÃPÃðà ²Ãð¡ÃàÙÃ0!ÃÀàaÀÃàëÃÀÃàzÃ:ÃÏÃÀDà )ÃÀÃP Ã0JÃÀ8ÃÐYÃÀ—ð‚Ãà€ÃÀ‹ÃÐ5à ¦Ãð*ð5À®ÃÃÃPÃÐÐÃ`¹ÃÃÃ:ðjà #ÃLÃPÃ@ôðÃð6ÃððíðŽÃÀ©Ã` Ãàn÷ÃP!à ¬Ã4ÃpÔàÌÃÕÃ`Bð‚Ã4ÃsðvÃÐâàüÃ:Ãð•Ã@eÃ`¿Ã@ÃêÃð¡Ãð à ŽÃöÃP¤àÞÃÐMÃð ÃÀ2àöÃ0>ÃÐÄÃ08Ã"Ãð$ÃÐSà ˆÃàßÃÀ&Ã0JÃ0JÃpuàÒðÿÃðÃðÃÀ&ÃPÃÃÐeÃÐÜà Ãüà 5ÃpìÃPŒÃÀ&àØà  À~ÃÃpQÀõÃ`§ÃP’À%ðÃð Ã@qÃÀ—ÃÐMÃÃÃàÞÃPÃ0!ÃÐ5ðóÃàëàÒà ÀŠÃàtðÿÃmÃ0>ÃpÈÀõÃP†Ã.ÃÐSÃgÃP€Ã0P÷à )Ã`BÃÀ,ÃpoÃRÃ4ÃpcÃàà #à[ÃpWÃ`ÅÃÐAÀxÃpoÃð¡Ãð0À%Ãà˜ÃÛÃÐSÃ…àüÃÀ2à[ÃÀ2Ã@eÃ0ÇÃP˜Ãp]ð”Ã`Åð À®àÞÃ08Ãð•Ã`¿Ã0DÃðà )Ã`¹àOÃpÔßÃàëð ÃpÚÃpcà ²Ãð Ã7$ðóÃXðð”ÃÐÊÃP€àÒÃ0Jà Ã08ÃÐYÃ4Ã`¹ÃO ÃðƒÃðàÞà ”ÃÃ(à šÃÃ``Ã0µð|Ã0JÃÕàUÃ(ÃÃà ÀÃ0ÁÃpKÃp3"Ã`­Ãð›Ã`HÃP Ã@ÃpÔÃ4ÃP˜ÃPtÃðÿÃàzÃêÃp¶!Ãp3"ÃP’àÒÃ"ð^ ÃÐ5Ã02Ã`*àOÃà ðvÃ`­ÃÀ¯ÃPtÙ"Ãðú ÃPë àCÃöÃpÚÃPŒÃàtÃ`¹ÃpìÙÃpEÃÀÃ`$Ãäà à[à ¦ÃRðÃ@èÃ@Üð^ Ã@Üà ÓÃà€à  Ã0©Ã`BÀà ÿÃ"Ã`¿ÃP?À=Ãð¿÷Ã`­Ã"àÆÃÃÐYÃ(Ã(Ã@ÜÀ„Ã0>àUÃp]ÃÀ£ÃpàÃðñÃP ÃpÈÃÀ,ÃÐMÃpæÃÐYÃÐSÃÐÊÃPzÃÐ/ à p!Ã@îÃ`³ÃsÃgÃ0»à à ˆÃàtÃà à ¸ÃàzÃP÷Ã`¹ÃgÃP€ÀõÃÐÐÃð‰ðjÃàëÃ@èàÒÙ"Ã0,àÆÃàýðšðà ‚ðáÃÐYÃÐMÃÐÄà Ãp{ýÃ`³ðdÀã ÃÀ Ãð›ñÃ@eÃ@YÃàëð|Ãð§ÃFÃà†÷Ã0!ÀxÃоðpÃ0ÍÃÀ¯Ã0VÃüÃðÃ`›à¨"ÃP÷ÃPÃð*ð|àUÃêà #Ã@èÃ0©ÃÀ¯à ‚ÃPñÃ@ÐÃRÃ0VÃð*Ãà€Ãð›ëÀ~ðÿÙÃ`*ÃPtÃsàOÃàÀ¢ÃÉÀrÃÐYÃÀ£Ã`<Ã:ÃàhÃ0 Ã0ÁÃð$Ãð§ÃÀ—ÃFÃÀ»àaÃpæÃÀ£ÃÐGÃ0ÁÃPýÃ`­ëðÃðÃð•ÃÀa&Ãà’Ã0¯Ã:ÃpÚÃÃà÷À ðÃÐôà #ÃðÀxÃ`¹Ã`NÃÃÃ4ÃP÷ÃÀ£ÃоÃàñÃðÃ@wà ¬ÀŠÃàÃP†ÃpÔÃPýÃððŽÃ@ÃàñàÒð|ð ÃàýÃðÀŠñÃÀ—ðÃÀ,ð|àêÃ`ËÃÐèÃ`BÃÐÜÃ0ÁÃ.ÃÃLÃ`6ÀûÃðÃð¡Ã`HÃ:Ã@èÃpÔÃ@èÃðÃ02ðpÃÐYÃÀ£ÃÀ‘÷àIÃð§ÃyÃÀ Ã@èÃ`¿ëÃÐ/ Ãð ÃüàIÃ(Ã4Ãà ÃLà /àÒÃàbÃ0,Ãà€ÃFÃÐYÃÐMà  à ”ÃÀ»à šÃPªàðÃ@}ÃpòÃ0»ÃÐMðÃpàðÿÃsÃÕàäà  À+Ãà’ÃðÃ02Ã.ÃpÈÃ`§ÃpÔàUÃpòÃð_%Ãðú Ã@eÃÀÇÃÀÇÃyÃð$ÃÀ‘ÃànðšÃ@îÃÉÃ0bÃpòàäð^ ÀxñÃ#à ëà p!ÃpÈÃ¥Ã@kÃÐ;ÃÀ,ð|ÃÀ Ã`­ÃmÃÀ2ÃüÀÃgÃP†À„Ãà ŽÃ0»ÃFÃànÃ`0ÃàåÃpQÃpÈÃ( ÃP˜ÃdÀÃðÃmð|ÃÀ¯ÃÀ£Ãà\à ùÃиÃyÃ@kÃ°Û ÃPå!ÃЬ ðóÃÐÄÃ"!Àûà1!Ãð ÃÐGÃ`³Ãà÷ÃвÃ@ÜÃÃÃ0ÁàÒÃÀ2ÃàñÀã ÃÀ‘ÃÐÊÃp¼ Ã0&ÃpÔÃp¼ ÃpKÃ@ÐÃ°Û Ã4ðóÀõðÿÃ@MÃ`6ÃðÃ0»Ã[ðjÃÀ‹àäðÃ` ÃPñÃ0>à ˆÃð‰ýÃ@ÖàCÃÐ/ àCÃ`$ÃÀ… ÃP ÃÏÃÀÁÃ0VÃð¡Ã02Ã`¿à 5Ã0»ðdÃ`<ÀÃ`›ÀxÃPŒà šÃäÃ0DÃ@âÃ0‹#ÃвàØÃäÃaÃ0µàaÃð*ëð ÃÐGÃ@âÃÐâàêÃ0>Ã(Ãà ‚ÃàðóÃ4ÃàåËÀàÀÃ0µÃüëÃ.Ãð<Ã(Ã¥Ã@ÊÃ0DÀÀŠà à v àÀÃ:ÃàtÃ4ðdÃPÃ`$ÃpÔà Ã0Áà ”ð|ëÃ@âÃöðvÃðÅÃÐèÃÐ)!ÃÀ¯Ã0PÃÃÀ¯Ãð•Ã0ÁÃgÃ02ÃàåÃmÃÉÃPÀÃpìÃpÈÃ0µÃÐÜÃð*àÀÀ~Ãð³ÃÀ¯ÃPàmðpÃ`¹ÃPÃPÀÃüÃÀ©Ã0£Ã@ÊÃ^ÃP¶Ã@}ÀxÃÉÃëÀéëÃRÃð¡ÃÐkÃ0PÃð0ÀûÃà÷ÃÀ8àÒÀ¢Ã`¹ðvÃp]ÃöÃ@ƒÃPÃ`0ÃÉÀ~Ã0¯Ãpìà ¦ÃÌ Ã@èÃ@àÆÃàŒÃ0VÃÀ Ã08ÃÞÀxÃÐSÃ@}Ãà\Ã"Ã0VÃP°Ãà†Ã`TÃð0ÑàêÃàbÃà\ÃÀà ˆÃÃPzÃ@âÃÐÄàUÃÐ;ðjÃ@SÃÀ»àüà ¦ÀŠÀà ¦Ã`<ÃàëÃmÃ4ÃÀÁÃÐâÃÉàIÃLÃFÃð•ÃgÃPÃLÃFÃ@ÃÐGÃÀ,ðàOà=ÃÞÃÐGÃÐkÃyÃ`BðÃÀ%ðÿà ÃLÃP'Ãà†ÃÀ£Ãàë÷Ãð§Ãð•Ãð•ÃP’ÃÕÃpìàäÃ(ÃÀÃ0¯àêÃÏÀ´ÃÀPà ð ÃÕÃíÃÉÃ`¹Àûà ŽÃÃ08ÃP¤À–Ã0µÃêÃàÙÃð$ÀÃÐ_ðùÃp]àêð#Ã0»ðùðíÀàgÃ`BàäÃ`HðŽÃÕðÃP’Ã0DÃêÃ"ÃPÃ0ÓðíÃàh÷Ã"Ã@ðˆÃÃP†ÃêÃ`§Ã`*àUÃPÃÀð|à ŽÀ~ñÃÀ&ÃpÈÃÀ£ÃÐGÃpÔà šÃmÃàzÃðÃ@ÜÃÀ—àäÃà€ßÃ0 Ã4ýÃpÈðpÃçðùÃðÃàP!ÃP’àUÃàñÀÀŠÃpKÃÀÃpÂð|Ã`­ÃàýÃ@ÜÃàtÃоÃLÃðÃP†ÃpòÃðƒÃP€ÃðÃPzÃÀ©ÃÉÃ0bà )ÃÐYàÌÃpQÃpoÃà€Ãpæð Ã0ÇËÀŠðÿÀàÀðçÃP’Ã@}ÃP ÃPýàÌÃÀ‘Ã@îÃÀ‘Ã`$Àrà ÃÀ2Ã@e÷àäÃêðdÃÐ;Ã(Ã`³ðvÃpþÃ08Ã0©ÃP ðÃÐ;Ã`$ÃpìÃð›Ã`$Ãà÷Ã@ôÃP€ÃÀÃaÃàëÃäÃ:Ãà÷Ã:àsðÃð Ãð Ãð¹Ã@qÃ0>Ãð$Ã`›Ã.Ãð›Ã0ÇÃêàIðà ¸Ã0Óð à ŽÃ0>ÃÉÃðÃÀ&ÃàÃdà ²Ã`ÑÃÉÃÐ)!ðÕ!ÃP˜ÃÀ¯Ã0PÀÃ0ÇÃ@úà )ÃPžÀ„ÃpÎÃðÃÀ©ððÃð$Ã@ÖÃÀ©à[ðóÃPtÃ`Åà ¸ÃðÃÕÃpòÃpiÃÃsÃ0ÇÃÛðÀŠðpÃÕ÷ÃpàÃ@ÃÐ_à )Ã`NÃð} ÃÀ‹à 5àêÀ–Ãyà Ãð³ÃpøÃÀÃàåËÃÐSÃ@MÃ@YñÃÀÃPŒÃ@îÃ`HÀŠÃ@îÃð§ÃPÃ`¡ÃÀÃPžÃpìà šÃLÃð§ýñà ŽÃÐÊÃPzÃpiÃÐÐÃÀ&Ãàbà šÃ`$Ãð$à 5ÃÉÃ:Ã0>ÃÐSà ¦ÃÉëà ‚Ã@èðÃ:Ã0DÃ`6Ã`¹à ¦ÃÀ>Ã¥Ãð$ÃÀÇðŽÃpÚ÷à ¾Ã0DÃàñÃÀÁÃÀ2ÃpàÃÐîÃ0ÇÀõÃP€ÃðÃðÃFÃFÃPžÃ`BÃmÃÉÃÀ2Ã4Ã`0ÃàýÃð³ÃsÃP†Ã`6àÒÃ@âàgÃ0VÃÀ¯àÒÃÀ àIðÿÃÐÊÃ0>ÃÐâÃP'ýÃ`ËÃÀ©ÃÀ&ÃPªà )Ã`BÃàÃÕÃpoÃpÚÀÃÀ©ëÃpuàgÃÀ Ã@}Ã@ ÃÀÃ@eÃÀ©ÃpuÃÃÐYÃP!ÃÀ8ÃàÃRÃðÃPªÃp{Ã`ÅÃà÷ðÃP’ÃpÔðáÃðÃÃÃpæÃüÃ0ÇàðŽÃà†Ãð6ÃÕÃêëÃ`TËàêÃð¿ÃàŒÃp{ÃÀÁÃàÃ`<Ã`ÅÃ`ÑÃÐîà #ÃpæÃ@à  ÃÀ ðdÃÐYÃ@ôàmÀ1ÀŠàÞà #ÃÀµÀ¢àØÀŠÃ`NÃ…ÃPžÃ0\ÃP’ÃàÃP-Ã0µðpðÿñÃ@Ã`ËÃàŒà šÃ0ÍÃÐSÃp]ÃÐèÃÐâÀÃð0ÃÀ—ÃP÷à Ã@•Ã0JÃ0ÁÃ@ÐÃð­àüà 5ÃP-Ã@ÃÀµýàØÃ:à  Ãçð Ã@ÐÃP¤Ã…Ã0ÇÃpøÃà ð/Ãð‚à ŽÃPñÃ0&à ˆÃ:àOàÒÀÃÃÃ@èÃ0!ÃÐÐðÃàŒÃ@îàOðˆÃ`ÅÃPà ¬ðÃ@ƒÀ~ÃÐGà ¦ÃàåÃàñÃFàäÃ@èÃ`³Ãð›À%ÃpìÃ0»Ã@Üð|ÃÐÊÃÐÐÃ0ÓÃð§Ã`<ÃàtÃÉÃpÚðˆÃäà  À–Ã0ÍðŽðçðpÃàÙÃàhÃÐÖÃ@ÜßÀÃP÷à Ã.ÃÀ,ð‚ÃÀ¯Ãð³ÃðÃ.ÃPzÃUÃ02ÃP€Ã@ÖÃ@ÃÛÃÐMÃà\ÃÃ0µÃð›Ã@âÃàëÃmÃ`¹÷ðjÃpøÃÃ08ÃàV ÀrÃP†ÃÐSÃÐ;à šà ÿÃpKÃÐâÃ@qÃðà ¸ÃÀ¯Ã@âÃ4ÀxÀ„ÃðÃ@YÃ@_ÃÞÃpKÃ0©ÃPÃ@úÃðÃ@èÃ0PÃ`¡ÃÀ¯ÃRÃÐèÃÀà |Ã@ÐÃð›Ãàà #à ˆÃêÃ0ÁÃ@wàÒÃ`*Ã@âÃ(ÃØÃpÚÃð¡Ã@îÃ`<àÆÃ0,Ã0»Ãp¶!ÃpWÃ0,Ã@eÃÃíÃ@qÃÀÓÃÐqÃpÔÃgðÿÃ@Yð|ÃàV ÃP€ÃÀ ÃmÃÃÃð àOðùà šà /ÃpæÃ`³ÃÉ÷Àrð Ã`¹ÙÃÐÄðvà1!ÃÀ‹ÃÀ,ÀàOÃ0¯ÃÀÃ¥ ðùà šÃpàÃ`6ÃиÃð§ÃÐâÃêÀ~ÃpÔÃоà ÃPðóà ŽÃ`6à ð‚ÃàëÀûÃÀ ÃP˜ÃRÃmÃ`6÷à ‚ÃÐYð|ÃðÃàëÃPÃ`<ÃpÂÃÞÃÕÃp Ãà†ÃaÃð›ðà ÃÐ5ÃpÈÃ@eÃÀ£Ã0»Ã`­Ã.Ã@ƒÃàÃP†Ãðô!ÀÃpòÃyÃ0ÁÃÃPžÃ`BÃð­à šÃÐÐÃöàIÃ0ÇÃà€ÃÀ&àÌÃO à šÃPÃ0#Ãðq"à à ¬à MÃ`ZàmÃÐSÃpÎÃÐYÀÀ¨÷ÃÐÜÃöÃà÷Ã@ñÃ@eÃÀ,ÃÀPÃ`fÃ@}ÀÃ:ÃÀÃpÚà[Ãð›ÃàtÃð¡à ÃPÃÐÜÃUðjÃ`Ã@_ÃPå!Ã4À„ÃàëÃ.Ãpæð‚ÃäÃÒÃ@_à ÃsÃÀ&Ã08ÃÀDÃÐâÃ@ÃpQÃ0!ÀlÃÀ£ÃàÃmð|Àð‚Ã4Ã0»ÀûÃpcÀÀxÃÐMà ÃÏÃàýÀ„ÀŠÃÀü!àOð)Ãð<÷Ãà†Ã@îÃP¤Ã@kÃÐMÃÐ;Ã0 ÃЦ!ÃpÎÃÐ)!Ãðè#Ãp¼ ÃàtÃpEðL#ÀN$ÀéàIà´ Ãp9!Ã@A!àIÃ"ÀË$Ãp-#Ç%ÃPn Ãpàà ç"ðF$ÃpÔÃÀð^ Ã0"àºÃ`k'ÀÝ!ÃpÂÃðƒÃðú ÃPë ÀB&Ãu$à ñÀrÃàÓ ÃÀü!Ã0 ðR"Ã`• àIÃ`³ÃPýÃPn ÀlÃ"!Ã@ÖÃðq"ÃÐ)!Ãp¼ ÃÀ‘ÃÀ!Ã"ðR"à®!Ãp? Ã#à®!Ãð} Ã#Ã@¸"ÃàP!ÃàJ"à v ð^ ÃPJ&à%Ãðw!ÃPýÃ@Ðà Ã(ÃÌ Ã@/$Ã@A!Ã0 ÃÐ#ðvàÌÃÐÊÃвÃ`ô%ÃÐ)!ÃÀÃp'$à&Ã"ÀÅ%Ã0&ÃPñÃp? Ã0&ÃвÃ"!ÃàJ"à p!Ã@¾!ð^ Ù"ÀB&à |Ã@Mà ÃðƒÃ0—!ÃÐ/ ðX!Ãì%àºýà ÃP÷ß!Ãðe$Ãðô!ÓÃ`!Ã@MÃ@ÖÃàbÀf Ù"Ãpª#ðÕ!ÃPn ÃÌ Ã0ü%Ã`#ÀrðáÃðú ÃÀð#Ã`¡Ã0¯Ã0ÇÃÀÃ.ÃàtÃ@_Ã`#àÀÃð¡Ã°Û Ã`³àOÃ4ðdÀlßÃ0&à®!ñà ùÃàP!ÃàåÃð à á#ÀÝ!ÃäÃUÀÝ!Ã@SÃ[ÃÀ‹ðdÃÀ Ã0¯ð Ã0 ÃðƒÃð‰ÃÀ‘Ã@MÃP÷ÃPë ÃÀa&÷à àÌÃpcÃ0>ÃPŒÃ0©ÃÃàgÃÐGðÕ!ÃUÃà÷Ã`BÃà†àgýÃÀ… Ã0—!ÃÀ—ÃpøÃyÃð‰ëð|Ã08ÃpæÃ`­ÃÀ©Ãиëàsà 5ÃPªÃð*ÃpWðíÃàëÃ4Ã`0ÃÕÃ0DÃ(Ãà\ÃPzÃ.ð^ ðçÃC"Ãð‰Ãð¡Ãð›àÒÃRÃpæÃ0£Ãðe$àÀÃð$Ã¥Ã`<ÃPzà ùÃÃÐÊÃüÃà÷ÃÀ‘ÃPýðùÃðw!ðÿÃð­Ã@eðÿàðÃÀÃÒÃ`<ÃÀ£ÃPýà ÿÃàhÃpÔÀxðpàÌàºÃ@èÃ:Ã0VÃ@}ÃàëÃð‰Ã0&Ã"Ãà!à ÃðÃ`à ŽÃðÃ@âÃ` ð^ Ã`0à ¦Ãà€Ã@MÃÐâÃ@qÃ@kÃP€à à ²ÃP˜ÃpoÃ@îÃPð‚ÃàåÃ@èÃð0Ã`ÅÃ`³ðdàØÃ@èÃpìà ÃP†à ”À„àÞÃðÃà÷Ã(àØÃ@ôÃ`³Ãð*ëÃ`¡à ˆÃP ÃpÎÃ`<Ãp‡Ã:ÃÕÃàŒÃà€ð ÃPÃðà[Ã0µÃ@àIÀ„ÃðÃØÃpKà ˆÃÛàgÃ4Ã0Dà ¦ÃÐÜÃðùÃ.Ã0ÇÃðÃðÃ0JÃ0\Ãð§ð ÃÐèÃP˜Ã:Ã@èÃÀ»ÃðBÃ:ñÃÐSÃàhÃÀµà v à%#ÃÐÖÃ@}ÃÃànÙÃPÃ0PàÞÃPÃÐÐÃàtÃ02Ãð*ýÃPh!ð|ÃÉÃÃàÞÃXÃÀ2àÞÃPžÃÀDÃàŒÀ ÃP’ÃpÃàðíÃp? àÒýÃ0>ñÃÐAÃðà ¾ðÃFÃÀ,ÃàzÃ`BÃÀ àðýÃÀ¯àÞÀÃ`Tà ²Ã…Ã0ÍÃ@úÃP Ã`$Ã`³Ã0,à ÃàtÃ@ÖÀûÃ`ÑÃP!ÃöÃPzÃÀ£Ã@ÐÃ@SðÃ.ð‚ÀT#ÀõÃÐÐà #Ã0bÃðËà ¦ÀÃðÃöà #ÃPžÃððpÃgÀŠÃpøÃ@ÃÀ—ÃÐÐðˆÃÐGÃPÃð­Ãð­àÒÃàhÃÉÃàñÃPÃðÀZ"à Ã.ÃpcÃ0ÁÃ(Ãð0Ãð*ÃpÚÃPÀŠàöÃÐÄÃðÃÃàýÃPªÃ@àÒ÷Ã@ƒÃ‹ÀŠà1!ÃðÃØàIÃ`ÑÃàÃ@wðpÃÀ,à=Ãð•ÃÐÄÃ"Ã4ÃÐÜÃP¤ÀÃ02ÃÐ;ðjÃpKà ŽÃPÃ:àI÷ÀxÃ0£ÃFÃP˜Ã0VÃaÀÝ!ÃÐGÃÃ"Ã@ðX!Ã`§ðùÃÕà ¦ÃPà ”Ã@G Ãp¼ à ˆà šÃ`§Ã@G Ã`³ÃpQðdðjðçÃÀ£ðvÃàŒÃ` ÃÐ5ÃPñÃ@¾!Ã@ÐÃÐ#Ãp°"Ãà\ÃÀ"ÃÀê$ÃР"Ã@A!Ã`!Ã@¸"Ãp'Ãà)ÃðA*à ½)À.Ã*Ãà&(Ãp€*ÃÀO)ÃÔ)àï+ÀB&Ãì)ÃÈ+Ã0[+ÃÐR/Ã`²0ÃP£,Ãc'Ö)ðŸ*Ã'1àÝ.ÃÎ*Ã`M,ðŸ*à ±+Ãà,ÃP£,Ã@j/Ãl0Ãðš0ðò1Àè4ÃpÓ1ÃÂ,À /Ã'1Ãð0Ãàm1à “0ð/Ãà—*Ã0O-À /ÃàU5ä1ÃP£,ÃÐF1ðì2Ãð0Ãï/ÃpP2Ã`¬1Ãé0ÃPü2Ãð0ÃP‹0ê4Ãà[4À.Ã@ˆ*Ãpb/ÃÀ®.ÃÐv)Ãà+ö2Ã`50À‰/Ãï/Ã-0À.Ãï/àT0à ¥-Ãpb/Ãr/ÃÈ/Ã`/1ÃpV1à 0ü-ð .Ã`¾.à 0Ã×3Ãб4ðo2àl,àx*ÃÂ,ÃÔ-à 1ÃÀº,Ã3/ÃðÄ)ÃÐí*Ø3Ãày/Ãà+Ü(ÃÐj+ÃÐ^-ÃÀ7-Ãpß/Ãðˆ3àÝ.ð.(Ãà*Ã-ÃÀ+/ÃÐ^-Ã~-À.Ã0C/Ãð0Ã`A.Ãà+À.ÃÀº,ÃÀ¢0Ãð0Ã0U,Ã`G-Ãp’'ÃPÍ%àû)ÃðM(à @)â'Ãà£(Ãpb/Ã0C/ÃÐL0àé,Ã0g)Ã?-ÃÐ^-ÃÐp*Ê+Ã0I.Ãðÿ4ÃÐX.Ç%ð+Ãp€*Ãà)Ã*Ã0º0àÝ.à Ï&ÃÀI*ð()Ãà8%Ã`_)à 4+Ã`Ð+Ã0s'Ã)ÃÀÆ*ÃÚ(Ã`$ÃPV$Ã0#Ãà&(Ã~-àï+Ã0ö&Ã0"Ãðô!à F(Ãà‹,Ã`â(ÃЂ'Ã0ð'Ü(â'Ã@š'à&ÃP8)ðŸ*Ãø'ÃPÇ&Ãðâ$Ã0g)Ã0O-Ã@Ž)ÃPÍ%ÃЂ'Ã0a*ÃÚ(ð:&ÃÀØ'ð±'ÃPJ&Ãì)Ã`Ü)Ã`â(ð·&Ã0ü%ÃÐÿ'ÃЂ'ÃÀg%Ãà£(ÃðÖ&Ãpž%Ãò(ð½%Ã@Ž)ö.À /Ãp )à%#Ã[Ã`ô%Ã0y&Ã`î&Ãi&À¹'ÃÐŽ%Ã`Ü)Ãpý*Ã0ð'Ãà )ÃPå!Ãpž%Ãþ&Ãp!%Ã0$ðÉ#à F(à Ã(Ã0a*ÃPÍ%ÃÐó)ÃP2*Ç!Ãp°"Ã"Ã0%ÃÀO)à(ÃÐ%Ã"Ã0ü%Ã0s'ÃðÜ%ÃPÇ&Ã=#ÃPß"Ãì%Ãp'$ÃP>(ÃPÙ#à%Ã0#Ó#Ã0$Ã@)%Ã@¦%ÀH%ÀÑ#Ã@¾!ÃI!Ãp9!Ã0‹#ÃPV$ðÏ"ÃàÁ#ÃO à¨"Ãð_%Ã`q&ú#à j"ðL#À6(Ã@¦%Ã0‘"Ã@š'Ãæ&Ã@#&ÃPb"ÃàÁ#ÃàÍ!Ãø#Ã0—!à–%Ãðô!à¢#Ãp-#Ãæ&ÃPÇ&Ü(Ã0%ÃД$ÃLÀ`!ðF$Ãì%Ão)ÃÀm$ÃÀü!Ã`0ÃàP!Ã@#&àx*Ãpª#à í!Ã1%Ã@#&Ã#à j"ÀB&Ã"ÃÀ!Ã`#ð@%Ãø#Ãp&ÃàÁ#àœ$Ã@;"àŠ'Ã0%à7 Ãp9!à¨"à Õ%Ã@Êà$Ã0y&Ã0"ÃPV$ÃÐ)!àºÃ1%Ãp°"à%#ÀÝ!à®!Ç%Ãæ&à Õ%à %ÀT#Ãðw!Ã`›ß!Ã7$Ã0$Ã=#ÃÀ‹ÃC"ðX!Ã0&Ã@ÐÓà®!À×"Ãi&ÃÐÿ'à Û$Ãðq"à$ÃPh!Ã°Û Ã#Ã0%ðX!Ãø#Ãp’'Ãà8%Ã0 ÃвÃðe$ÀË$ÃðÄ)Ãðe$ÃÒà%#Ã@¾!ÃØà í!Ã@/$Ã`#à !Ã@²#Ãðô!Ç!Ã`‰"À×"Ãp9!Ãëà Ã0 ÃЦ!ÃàzÃвÃÐAÃÀ‘Ã[ÃpQÃ`*Ã@;"à v à%ÃÀÀ+Ã0 ÃàëðçÃ02àaÃ@SÃàÇ"ÃàÍ!ÃÀ`!ñðÕ!Ã.ÃÀ‘ðX!÷ÃÀö"à ÃðÃà\Ã@A!à=ðpÃ@SÃàßÃÐ)!ÃÐ/ ÃÀ!ÃвÃð‰à7 Ã@_Ã@ðˆÃÀñàCÃP÷ÃPh!ðdÃ0—!ÃвÃðw!Ãð} ÃЦ!À×"ÃO ÃPñà ó ÃPñÃÀ—à1!Ãð} ýÃp¶!Ãpª#ú#ÃP÷Ã"Ã4Ã`§Ã@G à7 Ãð•à ç"Ãð} ÃЦ!÷ÃÕÃðÃÞÃp? Ã0£àOÀZ"Ã0—!àÌÃð ÃÐ;ÃPýàÀÃ=#ÃàbðjÃ¥ ÃàýÃ(ÃàÍ!Ã`¡ÃÀ£ÃPŒÃ02Ã@²#ÃÐ#"ÃpKÃÐYÃ@ÃðÃ@ÐÃ@_ÃÏÃÀµÃ`0ÃàýÃ0Áà v ÃpÂÃ`§Ã`§Ãðú Ãðq"Ã0µÃÐMÃðÃ0"ÃðÃÀ2Ã`¹à p!ÃP÷ÃêÃpÎàºÃpÂÃÐÊÃàåÃð•ÃðÃ[ß!à |ÃÀ—ÃÀ‹ÃÃ`³Ã[ñÃвÃPë Ã@SÃàëÃ@eà ÃÀ‘Ãpª#Ã7$à ÃpìÃàñà ð^ ßÃ@SÃgÃPà  Ãà÷Ã0¯Ã`*Ã@G ÃPë ÃÐ)!Ãêà šðóÀõÃ`!ÃðƒÃ`*Ã`*ÃÐMàÌÃêÃÐGÃPÃpòßðÃáÃ@úÃpÂÃ0—!ÃàÃÐîÃ"Ã@¾!Ãðe$ÃÀ&ÃpþÃ@}Ã`!ÃPå!ÃðÃöÃÀ©Ãp¼ ÃêÃð0Ãð³ÃÀ,ÃÀ2Ã`NÃ`¹ÃP˜à ŽÃÐ/ ÃÐAÀxÀ~ÃP Ãêà àCÃ(ÀÃP˜Ã(Ã@îÃ`TÀŠÃð*ÃàñÃF×À%ÀœÃ@ÃðÃð¡ÃpŸÃp{à ˆÃ0 Ã0&ÃÃFÃP˜ÃàëÃðà[ÃPŒÃоÃðÃaÙÃp]Ã`BÃpæÃ@ÐÃÀµÃàbÃPÃÃÀ¯ÃÐYðpà !÷ÀÃÐÜÃÐÄÃ0¯ÃPzÃPŒÀéÃÐ'ÀZ"À–Ã^à…ð#Ã`HÃPýÃPÃP ÃðÃ@ÃàýàÒÃÀ à šàaÃðÃpcà ÃÀ2ÃpÔÃ@Ãpàð‚ÃÐSÃ@}ÃP˜ðvÃ0ßðÃpìÃ@SÃÀ2à ”ÃäÃ`³Ã( ð Ã@èÃà€Ã0\à ¾àgÃPŒÃP!à šÃÐÖÃ@kÃà†ÃP à ÿÃpàðÕ!ÃÀàÆÃÀ&Ã@îÃÀ£ÃàhÃÐMÃÀ¯ÃÀÁÃ@ðùÃàÙà ˆàÌÃðñðÿÃàzàUÃànàØÃ`NÃ@qÃ@ÃgÀf Ã0&À„ÀÃpþàäÃpÚà Ã0>ÃPëÃpæð À–Ã`¹ðvàCÃpEÀûÃgÃð0ÃÃÏÃðÀõÃpàÃàÃ`¹Ã4ÀŠðÃÐâÃð¡ÀïàÌà ÃàÙÃ`Ã`6Ã`ÅÃP'Ã`³Ãà ;Ãð0ÃàñÃÐÄÃÐ;à=ÃÞðjÃ`<à Ã4ÃàëÃP’Ã¥ÃÀ Ã@wÃ:àÌÀràUÃÐÐÃçÃàñðáÃðÃÐeÃÐAÃPýàOà à #Ãöð|ÃÃÃ@_àäÃà Ã4ð Ã`$ÃÃÐ5Ã0,ÃP€ÃpcÃ@qÃ@úÀ–ÃÏÃpÃ0Óà šÃ`ËÃ`¿Ã(Ã`§Ãð‰Ãð6ÃPžÃ@ôà ¦ÃpoÃ`³àØà ¦Ã@ÃÏà ð‚ÃÐMÃPð ÃLàÞÃð•ÃpìðùÀÃÐ;ÃÐGÃ0&ðóÃ@ÃP˜Ã0Jðà ŽÃÐGÃ@eÃ.Ã08Ã"Ã4àØÃpuàgÀ–Ã`ÅÃ@kÃÀDÃ`6ÃPžðÃ@ÃÃÃÀö"à ˆÃPžà‘ÃÀßð Ã0ÇÀÃàÃÉðvÃÒÃðð|ëÃpæÃ(Ã0©ÃpcÃ@ÃÐÜà ˆÃ4Ãà€ÃLÃà'Ãà Ã`HÃáÃÃ:Ã0>Ã0»ðˆÃÀµÃàŒÃ…Ã`ËÃÀ&Ã0©Ã@¾!Ã@wÀÃÐôÃPEÃ`ÑÃÃÐwÃ0nÃP'Ãð¹ÃRÃÃÐèÃÐGÃüÃÐÊñÃ@ƒÃàÃÐ_Ã0»Ã@îÃ0PÃ`³ÃàzÃP¤ÀÃàýßðíÀ ÃP'Ãð$ÃLàÃ`×ÃPªÃFÃ`<Ãà Ã^ðÃ`ÝÃðÅÃpøÃ0»ÃàëÃàzÃXÃð”Ã0hÃÀÇÃüÃ0!ÃÐ;Ã`³àOÃÀÃÀ2à #ÀÃLÃsÃpoÃÃ0ßÃ@à=ÃäÃÐMÃàÃÉýð Ã0ÁÃáÃà÷ÃmÃ:ÃÃ0ÓðvÃ@ôÃ`HÃRÃpàÃüÃ:ðàÒàÌÃ@eÃ`ÅÃà šÃP'À%ðÃP¤À–ÃpþÀ%ÃpÎý÷Ã@SÃFàUÃð•ÃÐÖà ¾ÃÉÃ`*Ãà÷ÃðŽÀÃ@qÃ0VÃ`ÅÃÀ,ÃÃpæÃFÃàÀ+ÀÃÀJÃ`fÃð­Ã`À~Ã"Ã0JàaÃ@èÃà÷ð|ÃpæÃLÃ@ð ÃàëàIÃpKÃpÚÃ@YÃ0ÁÀÀÃÐÐÃPŒÃ0©Ã0ÁÃ0JÀ%Ã0ÓÃ``Ãð¹à ¬ÃRÃ`¿ÀÃàŒýÃàýÃÐAÃ0>ð ÃÃÀÃÀDÃpòÃ^ð‚ÃPñà ÃÐèÃ@àäÃÃÐÖÃð›ÃðàOðvÃêÃànÃàýÃàýÃRÀ1À~Ã0&ÃðÃ@úÃ0Pà[ÃÐMÀûÃàsÃ`HàÀ„ÃàhÃÀ©ðŽÃÐÐÃ@_ÃðÃ@úÃÐèÃ`¿Ãð‰ßÃÃðˆÃÀ»Ã@_Ãð$à àÒÃ`¿Ãp‡ðˆÃPÃ^ÃLÃànÀûÙÃ0,ÃRà šÃÐYÃäÃpÔà )àgÃ0DÃP¤à ;ðˆÃpQÃgà )ÃàñàUÃ0JÃ0¯Ã@ÜÃÀ2Ã@ôÃ.ÃÐSÃ@ÜÓÃànÃ`¿ðÃ0bÃÐÖÃà†ÃàÓ ÃpÎàgÃpoÃPªÃàýÃP†àUÃP-Ãà ÃÐÊÃ0ÙÃPžà ŽÃpÃ0ÇÃp{ÀÃ@èðùÀÃÀ¯Ã`ÃоÃpoð ÃPªÃpòÃàýÃP'Ã0ßÃð*ýÃà÷àOà7 ðùÃ@ÃÃÃðHÃ`ÅÃàzÃ0>À ñÃðÃ0¯ÃpcÃ02Ãà ýÃöÃÐeÃð­Ãöà ¦ÃÉÀ ð‚Ã@ðÃgÃðÃÐÜÃÉÃ`<ÃPÃpòàüàyðÿÃÐâÃ02Ã`¹ÃRÀŠÃFðùÀðÃ@úÃÃP÷À ÃÐèÃp ÃÏÃ@ÃpæÃpøÃpòà ŽÃàÙÀïÃXà‹ÃÐwÃPÀðóð Ã0>àÒÃÀ8Ã0DÃð¡ÃÀ&ÃÀ&Ã`<ÃÐÊÃ.ÃÀ,ÀÃàhðˆÃ@ôÃÀDÃXÃ@}Ã0ÍÃ@èÀà ÄÃ0PÃpòÃÐSðùÃÉàaÃð§ÃÕÃÀ ðšàäðšà ¾ðÃÃÃð0ÃpiÃ@ÃP€ÃÃ@SÃ(ÃÏÃà†ÃÐAÃÐMà ”à7 Ã@âÃÛÃ0JÀ´ÃP'à ÄÃ@úÃ@úÃð§À–àÌÀ„Ãà’Ãð$ßÃà€Ãð§Ãsà7 à=Ãð•Ã`BÃÀDÃ0>Ã`¡ÃpÈÃsÃpcÃ`¹Ã0JÃP!ÃpWÃ@Yà #ð Ã0PàsÃ0JÃàzà=Ãð¡àIÃÒëðŽÃ02Ã@SÃÀ£ðvÃFÃÀ£Ã`0Ã@eàOà ðÿÃð­Ã`ÑÃpàÃpìðŽÃpøÃð0ÃRðÿÃÐÜÃÐÊÃð³Ã`Hà Ã0JÃÀ—Ã`³ÃðÃàhÃ( ÃàýÃ@ÃÏñßÃp9!ðÏ"à¨"ÃÀ—àÆÃÐGÃ@kÃ.ÃÀ»ðjÃÐ)!ÃÐAÃàåàIÃpìà ˆàØÃ0JðšÃöÃðËÃP¶Ãànà[Ã.ÃpàÃà’àÞÃÐGÃpcÃ`§Ã0»ÃÐâÃÀ©ÃpÎà ýÀÃP'Ãð0à[ÃÃà ÃP’ÃÐAÃpàÃ@Ã0ÁÃ`HÃFÃð•ÃP†Ã0ÍÃP’ÃpÎÃðÃP¤ÀŠÃð$Ã0JÃP˜Ã@ƒà Ãà€ð|À×"Ã`³àØÃpÚÃÐSÃ0ßÃÀÁÃànñà ‚ÃÀàUÃÀà ßÃð›ð”Ã@SÃÐÖÃð*ÃpÂÃ`*Ã0>Ã`BÃpcÃ0>À~ÃÀ‘Ã.ÃP†ÃP!ÃÃÃð6ÃÐ_ÃyÃð§àÒÃðÃP'Ã`NÃÃ:Ã`³ð)à #ÃÐÜÃ@_ðíðÿàOÃÐÄÃ4ÃPŒÃà÷ÃàåÃPÃàtÃиÃüà v Ãð Ã@SÃ`*Ã02À ðùÃ`6ÀÃpEÃ@eÃ@kÃöÃÐÄÃp? ÃpcÃÐMÃðàÌÃ.ÃÐAà ‚ÃÀÃàbÃ0»ÃPÃÏð|Ãyð)àgÃ08ÀÃиÃÛðˆÃÃàhñà ˆÃPŒÃLÃà˜à[ÃäàÒÃ@kÃÃðà ”Ã0DÃ@ ÃPªÃð›Ã`³ÃÀÃànÃ`³ðˆÃpòÃ0JÃ`ÅÃ¥ Ã0&Ã:ÃðÃà†ÃÐÐÃsÃ0ÙÃpþÃÏÃ`ÑàÒÃ0£Ãð§Ãð*ÃöàØÃP’ÃP˜Ã"àÒÃÉÃpWÃоÃÐÊÃ`HÙÃ`$Ãð§ÃpÎñÀÀ„ÃÃ.ÃÏÃ@ôÃÐ_Ã@ÃÐYÃÀ‹ÃÐAÃ08ÀûÃÀ©Ãð³ÃÐYÃànà ùÃÐGàCÃÏÃÀ8ÃÀ Ã0DÃ`0ÃÐÜÀœÃÀ,àmà[ðÃPýÃÐÖà ¬ÃPÃÐ;ÃPzÃ.à ßÃÐèÃÿÃÃPÃоÃ¥Ã`<ÃàÃáÃð ÃpKÃgÃP€ÃP ÀŠÃÃàÃpWÃpÚà Ãð•ÃP!ÃÕÃà’ÃÀ2Ã@ Ãpð|Ã@îÃpiÃ(ÃFÀ`!ÃpWÃ0>ÃPžÃð*Ã`¹ÃPÀŠÃð$Ã@úÃ`Ã@âýðˆàÃ0ÃÀ,ÃàhñÃP?Ã@ÃgÀ×"Ã(Ã@îÃ0>Ã`NÀÃ0bð#Ãáð|Ã@_ÃÐÄÃFÃÐ_Ã:Ãð*àäÀ„Ãð§ÃP˜ÃpÔðvÃÉÃð•ÃÀ,À´Ãà àÒÃ0DÃsà®!ÃðƒÃP’Ã0PÃà’Ã`BëÃpÚÃÐAÃð›Ã`NàaÃÃÃP’ÃÐîÃð­Ã0©à ðÃ@‰ÃpæðŽàüÃ0Và[Ãð$ÃpuÃ@îÃàÃ0ñð)ÃÀ©à[à #à ²Ã`ÅÃÐîÃ@ƒÃíÃ`×ÃLÀ¢Ã:Ãpà #Ã0ÍÃÀ©Ã`BÃPÃà†Ãð<Ãð§Ãàð”Ã@îÃ@Ã0VÃpòÃp]Ã`*Ã¥Ã0ÓðùÃPýÃ0>à[ÃsÃàŒÃÐÖÃpÔÃRÃ@‰ÃíÃÐSÃÐ/ àºÃpìÃsÃpiÃyÃPðÿÃð$ñÀ%à ²Ã`6ëÃpÈÃäàÌÃÐYÃPªÃ0bÃmÃàbÃpKÃðw!Ã`$ÃËÃ@ à Ã0µÃàzÃ@ôÃÐâÃÐSÀ~ÃpiÃ`HÃ`ÅÃðàCÃ`*ÃÀÃ@_Ãð§ÃäÃànÃaÃ`6ÀrÃpÈÃàtÃ`BÃ`NàÌàIñÀ–ýàUÃðƒàÞÃàëÃ@ÖÃÐ;ÃÐÄÃð0ÃPŒñÃ:ÃÀ>Ã.Ãðà+"Ã0©à |ÀàäðíÃüÃ`¡ÃÀ—ñÃpWÃàýÃ`<ÃвàºÃÐÄÃÐÄÃ@îÃ02Ã0"ÃÐÄð ÃàtÃ( ÀZ"ÃmÃ`³Ã0VàÌÃ0Áà  ÃP!À~Ã4Ãð Ã`¡àäÃÃÃÀPÃÀµÃäÃÀ2Ã^Ã@YÃ0,Ãð•ÃðßÀÃÀ—ÃànÀ–Ã0Pà ÃUÃð³ÃXÃ0ÇðùÃ`<ÃyÃPtÃ0"Ã@YëýÀ~ÃÐMÃ@eÃÐÊÃðÃ`¹Ã0»ýÃиÃàhÃ(Ãð‰à´ Ã"Ã`ËÃÐqËÃð<Ã0>À~Ã@eÃàëÃà€ÃPžÃð*ÃÃÃÀ8ÃöÃðÃ¥ÃÐÊÃpæàØÃ0JÃP’ÃÐAÃÒÃ08à |ÃÐAÃàåÃвÃ`• à%#Ã0 ÀxÃ`0ÃÀðjÃàV ðÕ!ÃpEÃðÃ@ÖÃðÃ0#Ã=#Ã@SðR"Ãpž%Ã"!Ã@_Ã0&Ã"ÃàÇ"ÃÀ£Ã@èÃ@èÃÒðíÃ0µÀõÀïÃà\Ã`ÃÀ"ðpÃP÷ðÏ"à7 À`!ÃÐ/ ÀrÃÐAà ó Ãð Ã@ÖßÃàV ÃàßÃ0!ÀlÃ0£ÃpKñà®!Ã@Ä Ãð Ãàhà¨"à ÃpWÃpÂÃР"à ó Ã"à Õ%ÃÀÃÐ;Ã0ÁÃ@ÖÃÐMÃpWÃ@_àUðdÓÃ`!Ãð ÃÀ‘ÃàV Ã`#Ã` ÃP ÃÀ ÃO ÃàhÃP’ÃðÃò$àCÃð} ÃpEðáÃðw!ÃàñÃ0µÃ`›ÃäÃ0 ÀxÃÀ—ÃpWÃàJ"ÃàV à à ÃÀ‘à  ÃpæÃ@ÜÃиÃÃàÙÃð‰à ˆÃðô!ÃpWÃ0£à ˆÃ`ÅÃFÃ`$Ãp9!à |ð à šÃÀ©Ã`*ÃànÃàñÃÐ;ÃPß"ÃиðŽðvÃ@Ã@èÃ¥ÃÃÐÖðvÃ@îÃð} ðvÃàëà àØÃàåÃ0©Ã` "ÃP÷Ãà\ðpÃpæÃànÀÃ@kÃÐÄÀÃð ðáÃÐ#"à®!à d#À~ÃÃð›Ãð§ÃpÚÃLàOÃ"!÷Ã0&Ã@ÜÃðƒÃÌ ÃÐMÃpcÃpìÃ@kÀÃ.Ã@MÃиñÃ`¹Ã@SÃPŒÃ@âÃ0ÁÃpWà Ã@èà ÃààUÃÀÃmðùàÒÃP˜ÃpæÃ0ÇÃ`¹ÃpÎÀéÃàëÃ`§ð|ÃàëÃ`!Ãðw!Ã@5#Ã0¯Ã@ÜÃàëÃPÃPn ðùÃ(à7 ÃPë Ãð‰ÃmÃ02Ã¥à[à[ð#ÃÐèÃ(ÃàbðjàÒàÒÃ:ðçÃ`#Ã0µÃàÞÃ0Ç×àÒàºÃ.ÃP†ðpÃоÃpWð‚àOàÀÃ4Ã`­ßÃPtàºÃÐAÃpWðóÃðú Ãp¼ ÃP€Ã`§Ã0!Ãp3"ÃЬ ÃPn Ã0 ÃÀ… ÃÐAÃ@âÃO Ã`§àUÃÐÐýÃÐÖÃ0>Ã@ÐÃÀ"Ãø#Ãp¼ ÀŠàOÃÐMÃÀ2ÃðÃàßÃоÃðÃàhÃ@SÃ08à à´ ÃO ÃpàÃ`­Ã`¡Ã@ÖàCÃ[ÃÆ!Ã@A!ÃÀ‹Ã@âÃ0&Ã`$Ã@Ðà ŽÃ`³à ÿÃ`­Ã@ÐÃpÔàaðŽÃ¥ÃÀ ÃpÎÃP†Ã0»Ã[Ã@¦%Ç!Ã@YÃPÃàßÃÐÊÃð ýàUÃpÈÃÐ%à=Ã@àêàÀÃðÓÃÀ—ðvà=Ãø#ÃÀü!ÃвÃ`¡ÃP†à ÃðY&Ã0 ÃÐGðçÃO Ã@ÜÃ@G Ã@_ÃàåÃ¥ÃàtÃ0Çà ÃPžÃà÷Ã`³Ã@ÃP†Ãð à ˆÃð Ã0Óàaà ŽÃðà ÃðÃðÃPh!ÀrÃ0 Ã"ÃàñÃ"Ãðw!ÃÐŽ%ÃPb"ðà ŽÃ08Ãüà7 Ã`!Ã0»ÃðÃ@ÊÃðƒÃÐÄÃÐÐàUÃpÂÃð_%àIÃàÃ@_Ã`§Ãà à #ÃоÃ`¿ÃP!ÃàåÃpæÃ`BÃÐÐÃ02ðˆà 5ÃÕÃà÷ðÿÃ0DÃð³Ãð¡ðpÃpÈÃðÃðÃð›ÃÀµÃLÃsÃÀµÃ`NÃðÃ`¡Ã.À–àðàÒÃ"àCà ”ÃpKÃ0Áà ÃÉðšÃÀ»Ã`0ðÃp{Ã0JÃPÃà’ÃP˜Ã@ÖÃÕÃð‰Ã0JÃð6àÞÃ@úÀÃpìÃ@qà )Ã@ýÃÀJÃpìÃÀ2ÃÃÀ2À ÃpìÃàžðÃàžÃÃyÃð§ÃP ÃÀÁÃ0ÙÃÀ2Ã@_àÆÃðÃÐÜÃêÃÐeÃüÃÀ¯À–Ãð6ÃðÓÃ@‰Ã@‰ÃÐ_ÃpcÃоÃC"ÃPýÃàŒà ¾Ãp‡ÃPªÃð0ÃÕàöÃpìÃ@}à ¦Ãð­Ã0»ÃP˜À ÃaÃðÃàÀ¨Ãàà ¾ÃÐkÃpÚÃPÃP†÷ÃP¤ÃààäÃÐeÀ–ÃÛà šàgÃp]à[ÃPÃ`ÅÃÀµÃ@ÃjÃÀ»Ãà÷Ã`HÃmÀÃàzà ¦ÀÃÐMÃàzÃyÃ`<ÃÐ5Ã:ÃP-Ãð§ÃyÃà€à 5ÃpæÃÀ»ÃÀ8ÃpÃ`<Ã@Ãà€ÃÀ>ÃàzÃçÀÃ@ÜÃ``À%ðˆÃ@ÐðùÀ¢ÃáÃÐèÃð ÃÉÃ.Ãà Ãà¤Ãð­à #ÃÃÃ0ÁÀ–àØÃ`¡Ã@ÊÃÀ,ýÃ@ÖÃð*ÃPžð ðÃð•ðóÃ¥ÃàßÃÀ‘ÃPýÃÀ‘Ã`›Ãp9!Ã`#Ã0!Ã"!ÀlÃ@A!ð½%ÃÐ'à®!ÃÀ"À³(ÃÀU(Ã$ÃP>(ÃÐ|(ÃÚ(Ã@¦%à)Ãà)Ã?-ð¥)ÃÔ)ÃÀ=,ð"*Ã`S+ÃpŒ(ÃPÓ$À0)Ã@ *Ã0a*Ãp’'Ã`ô%Ã`Y*ÃP\#à&Ã@(ÃðG)Ãð¸+Ã`Ü)Ãp€*à~)Ãp )ÃÀØ'Ê+Ã`Ö*ÃÎ*àï+Ã`â(ÃÀa&ÃP£,Ãp )Ãà+Ãi*Ãp€*Ê+ð“,àï+ÃÀÌ)ÃP -Ã@p.Ã@ù,Ã`Ê,à&Ã](Ãpý*ð,Ã`Ä-ÃðÐ'Ãi*ð"*Ãà )ÃPÁ'ÃÀ"Ã0m(ð()Ãð5,Ãà‘+ÃW)ÃÀº,ÃÀÌ)àû)Ã0Þ*Ö)ÃP>(Ã@ˆ*ÃE,Ã`_)ð¥)ÃPÁ'à @)Ãpñ,À­)ÃðY&à ±+Ãà)Ã)ð“,Ãc+Ã@ˆ*ÃP2*Ãà )Ã@”(ÃÀ… ÃP»(Ãp†)Ã`A.Ãp€*àõ*Ã@ÿ+ÃQ*è&Ã0s'ÃÐv)Ãø'ÃàÍ!ÃPÇ&ÃÐŽ%à :*ÃÀO)ÃP2*Ãì%ÃP>(à Ï&ÃÀÌ)ÃÀ7-à„(Ãp(ÃðÖ&ÃP2*À**ÃðA*Ã](ÃPD'Ã@ˆ*Ã@+ÃP8)Ã`$àû)à„(À0)Ãà»$à&ÃÐí*à„(Ãà£(Ã0y&Ãàµ%Ãð_%Ãp’'Ã&à F(Ã0ä)à„(Ãp€*Ãp'ô$Ã@Ž)àÑ0Ã0O-Ãæ&ÃÐ#"ÃР"à %ÃÐù(ÃÐŽ%ÀÅ%ð.(Ãðq"ÃC"Ãðw!Ão%Ã@‚+Ãp(Ãu(Ã0[+Ãæ&ÃÐ%Ãà+ð,ð4'ÀN$Ãp˜&Ç%Ãàµ%Ã&Ã$ÃÀa&à Ã(Ã@ÿ+Ã{'ô$Ã`q&ÃÀÆ*ÃðÜ%à&ÃPß"à F(Ã@(Ã0‹#ÃÀ"ÃÀÞ&Ã0ö&à ±+Ãà)Ãì%ÃÚ(ÃÀØ'Ãæ*ð.(Ãì)ÃÀÆ*àœ$ÃЦ!Ó#à Õ%Ã`q&Ãà,'à–%Ãi&ÃÐÿ'Ã*Ã@)%ÃЦ!à¢#ÃÀð#ÃPÍ%Ã`ú$ÀË$ÃÀä%à®!Ãà2&Ã0$Ã7$ÃÐ$ÃЦ!à á#ÃàJ"Ãðô!Ã@¾!à ç"ÃÀÞ&Ã0‹#ÃàÇ"ÀH%ÃP2*ÃC"Ç%ÃÀÞ&Ã0ö&Ãu(Ã`ƒ#à1!Ãp'$Ã+&Ã`î&ðÕ!ÃpÂÀÅ%ð½%à¢#ÃЬ ÃðÜ%à Ï&à p!Ãвô$ð"*ð4'ÃðS'Ã`k'Ã7$Ãò$Ãà»$ðÉ#ÃàP!àÀà¨"Ãpž%Ã0!ÀÅ%à$Ãi&Ãðe$ÃðÊ(î%Ã0—!Ã0 Ãà\ÃPzà ÿÃPJ&ÃР"Ã=#Ãp¤$Ã0y&ÃÒÃø#ÃPë ÃÐAÃ=#à%ÃàÇ"àCÃà %Ãà¯&Ãp¶!Ãðk#à%#Ã@Êàºà j"ÃàÍ!ÃpEÃP÷ðçÃР"ÃЂ'Ù"Ã0Áà ÃàÁ#Ãðw!ÃЬ Ãà»$À<'Ãð_%Ã0#Ã0$Ã@;"Ã0,ÃPn à%#Ã#Ã7$à v ð^ Ã0&ÃàÓ Ãþ"Ã0"ÀÝ!Ã`$à ÃpÎÃÀ‹ð|Ã`$ÃЦ!ÀÑ#Ãðî"à„(ÀT#ÃÀö"Ã"ÃPP%ÀÅ%à1!Ãà\Ã` "Ãpª#Ã@/$ÀT#ÃЬ à=ÃÀÃ@SÃàbÃI!ÃÀÃ@¾!ÃвÃPå!Ãà¯&ÃÀ"Ã¥Ã`›Ã` Ãp'$ðR"ÓÃ`!ÓðjÃÀ Ãðq"Ã°Û Ã€éÃÀÃ@;"ÃЦ!àœ$Ãp3"ÃÐ#"Ã`!ß!ÃЂ'à7 Ã`#Ãp9!à á#Ã`ô%ÀlÃ@5#Ã( ÃP€Ãð Ã0#Ãðe$à7 Ã0‘"Ãðô!ðóÃ4Àf ÃàÙÃðô!Ã0 Ã"Ãðk#Ã"!à Û$Ã@;"Ã0s'à ".Ç%ÃàÙÃpÎÃ¥ÃÀ£Ã:Ãc'à+"Ã`• ÃC"Ã`›ÃвÃÀy"ÃàÍ!ÃÀy"ÃI!ÃК#Ã0"Ã( à à %Ù"ÃЦ!Ãðà ÿÃ0 àÒÃЬ Ù"à Ã0"Ã@A!ðdÃp¶!Ãp¶!à X%Ã@Ä Ã`<Ã0DÃPÍ%ðÏ"ÃÐ)!ÃàP!ÃPñÃ0—!ÃР"ðÉ#Ãp¼ Ã@¸"ðçà ó Ã`ðdÃ@ÖÀ ÃàÙÃpEà ÃÀ‹ÃðÃ0¯ðR"Ãð‰ÙÇ!ÃPÃÀ&Ã.Ãp? Ã`!ÃàßÀéÃàåÃ@ÊÃP€Ãp¶!à ç"ÃÀ… ÃPn Ãþ"ÃÐ#"ÃPñà ‚ÀxÃðw!ÃÐ5Ã$à%Ãp˜&à$Ãà ÿàIÃ0 Ù"à v Ã`¹ðùÃðƒðÿÃ`6Ã:Ãðw!Ã`$ÃP\#ÃàÓ Ã0&Ã@SÃp]ÓÃÀðóÃðw!ÃÐAÃàÙÃPå!à¢#ÃPÇ&Ã`6ÃÞÃЬ Ã"à ÿàÒÃàñÃ`BðvÃà’Ã4ÙÃ0 à ŽðvÃÃÃàÃpQÃ#Ã°Û ÃŸÃ`$ÃоÃÀ‘ÃðÃàÍ!à®!Ã`§Ã[ÃàV ÃpàÃpÂÃ0µÀÃUëÃÀÃ0¯ÃÐSà šÃàzÃÉà ÿÃÐ;Ã.àÌÃP€Ã°Û ÃÀàÀßÃÐÊÃàhÃmÀ„ð‚Ã`³ÃäÀ~Ã@à  Ã`BÃ( ÃàÙàÒà ‚àIÀûÃð•à šÃàtàIà=Ãðw!ÃO ÃØÃÐÄðÃÃÃðÃp]Ãð¹ÃpÎÃðÃ@_à ‚Ãð¡À ÃyÃÃð›ÃÐYð|ÃpìÃ@YÃà\ÃàëÃÞÃàßÃàzÃàåÃPŒÀûÃ:ÃmÃ@Ã0»ÃðÃ@îà=ÃgÃ`<ðíðçÃÀ©ÃFÀõÃÀ‘÷ëÃ(Ã0¯Ã0µàÌà ùðçÃÐ;ÃPžÃ`ÅÃÐÊÃÀÃÀ&×Ã02Ã@ÐÃ0,ÃpÔÃÀ>ÃðÃP!ÃöÃàhðˆÃÀàÞÃðß!Àf à #ÃðÃàªÃÛÃÐMÃ0 ÃPn ÃÐGÃð§Ã`ÅÀŠÃвÃ°Û ÃàññÃ@A!à X%ÀéÃ02ÃPÃ@úÃp¼ ÃpWÃ0&ÃÀ&ÃpàÃиÃpÔÃ`­ÃàëÃÞÃ(Ã`$Ãð0ðíÀ~ÃÀ£ÃÃ@eÃàÃ0ÓÃ@ ÃP Ã:ðŽÃp]ÀrÃäÃPð|ðíàaÃöÃ0>ýÃð<ÃàÃ@_Ã@èÃpøÃÀÁà Ã0ÁÃ`*Ã`¹ÃmÃÃÃPŒÃàhÃ0µÃpòÃóÃà ÃÏÃPÃÐMÃððjÃ@¾!Ã°Û Ã€ûà ”ÃpiÃPà  ñÃêÀÀ ÃpÚÃàåàUðíÃPzÃ@îÃöÃðÀûÃ`0ÃàñðÃ`ÅÃàŒÃ¥ÃpÎÃÀ,ÃÀÃà÷àaÃpòÃÐkÃP’ÃaàCÃPzð|Ã`ÃÀü!ÃЦ!ðùÃPÃ0ÁÃð ðáàØÃ:ÀàUÃ0©à šÃ¥ÃÉÃÀ2ÃpÎàCÃàýÃüÃ@ôÃpòÃð<ÃиÃ@âðÃ4ÃðÃpàà  à #àÆÃ`!à ó Ãà\ÀÃÐYà à ˆàÀàÆÃÉÃÀ ðvà ŽÃ@îÃ`¹à ùÃÀàUÃ0ÙÃ0JÃð›ÃÐÐÃÐ_ÃÐMÙÃ02ßÃÀ£ðÃ08ÃêÃÃ0¯ÀlàÌÃ0!ÃPà ÿðçÃоðóÃPà ¬ÃÐSÃÀ Ã08ÃàÃpÔÃ`<Ã`­ÃpcàÒÃàbàOÃaÃÀÃPzÃЦ!ÃðÃFðÃð•àÌÃðÃ0ÁÃ0µÀÃàhÃ@Ã¥ð|àUÃPÃgÃP†ÃUÃ:Ã@ôÃÀ ÃÃ:ÃP’ÃÉßÃÀà ”Ãð›ßÃ08ÃpàÃ0ÁÃ0¯Ãð*Ãð*ÃP÷Ã.Ã@ÊÃððšÃÀ2Ãð›À~ÃyÃÀ£Ã@âàUð)ÃÐkà /Ã`¿ðvðùñðùÃÀa&Ã`*àÞÃPýÃÛÃðÃàñÃð à ùÃPtÃÐ_Ãp]ÃàbàUÃpWðçÃpcÃ@_Ã08Ã0 ÃpKÀÃ(ÃÃpÚÃ@ÃpcÃ0bàmÃÐÄÃÀ2Ã@Ðà ÿÀlÃÀÃðÃ(ÃÐGÀÃ`• Ã^ÃÃpÈÃpcÃ4ÃsàÆÃÞÃFÃ` ÀŠÃjàmÃ0\ÃÐÜÃð§Ãp? à ”Ãð*ÃpæÃàýà ¦Ã@ÜÃØàUÃð*ð Ã`ÅÃP à #Ã@ÃðÃ(ÃpìÃÐâÃð¡ÃPŒÃÐ;àCÃ0»ðjðÃP’ÃÐSÃàñÃÒÃÀàêÃ`ËÃÒðÿÃàzÃð¡ðÃàýðÃàýËÃRÃ^ðŽÃ0Áà ¬Ã`BÃyÃð³ÃÀ8Ã0PÃÀ»ÃÐÖÃyÃÀ,àaà Ãð¬ÃàtðÿàÃpìÃ`³ÃáÃ`ÝÃð§àØÃÀÃðÃRÃÀVÃÃÃ4ÃàhÃ`³Ã@wÀðùÃ4ÃPðpÃPtÃðw!ÀûÃÀ!Ã` à ó Ã@ÊÃ0!ÃP€ÃpÈÃ"Ãð ú#ÀÝ!Ã@)%ðÏ"ÃðÀÀÝ!Ù"Ã$Ã°Û Ã°Õ!ðL#ÃÀØ'ÃÐ|(Ã@/$ðóÃ@;"Ãp'Ãà2&ÃÀ!à á#ÃÀÞ&Ã%'Ã0a*Ã@‚+à É'ÃðG)Ãà)ð@%ÃÀê$Ã`}$â'ðÉ#Ãà&(à @)ÃÐ &ÃÐ%Ãà)Ãp'À6(à ·*à(à–%Ãðâ$Ã0y&Ã@”(ÃàÇ"ÀB&ÃÀO)ÃÐÿ'Ã@ˆ*Ão%ÀË$ð™+Ãp˜&ÃðÖ&ÃPÁ'Ã`_)ÃPÙ#Ã0#à F(Ã0ê(ÃPµ)à(à–%ÃPÍ%à :*Ã`ô%Ãà&(àl,Ã-à ".ÃÐÛ-ð¥)Ãæ&Ã&Ãþ&ÃÀU(Ãõ.Ã*à R&À³(à 'Ã0g)ÃÀU(à á#Ã0%ð()Ä,àõ*ÀÅ%ÃÀU(ÃÐ%ð±'à .,À§*ð"*Ã`Y*à .,Ã0m(ð·&ð+Ãp€*ÃÐ$ÃÐ#Ã`è'Ãàµ%à j"Ã0—!Ãà+ð-Ão%à%ÃpŒ(ÃK+ð“,ÃÐX.ÃÐù(Ão%à7 ÀÝ!î%ÃPÇ&Ã*Ãð¾*à %ÃÐ$Ã0…$ÃP>(Ã@ *Ãàµ%Ã`ô%ÃQ*ð()ð½%ÃPÇ&Ã?-Ãp€*Ãp˜&Ãpz+À­)Ãi&ÃÀs#Ãi&Ãp )À$+Ãð¾*Ãpå.ÃK+Ãp’'Ãà )Ã`Y*ÃÐv)Ãp*Ã?-Ã*Ãp*Ã+&Ã0ê(Ãp†)â'Ã0%Ãì)Ã0ê(Ãà…-Ã`;/Ãp€*Ãp˜&ð+Ãp'ÃP¯*ÃPµ)Ã`è'ð±'ÃðÄ)Ã~-ÃP>(Ãpž%ÃW)ÃW)àû)Ã0ð'ÃðM(à É'ð.(Ãp!%à F(ÃÚ(î%Ã`q&ÃÚ(Ã](ÃÀg%à R&ÃPµ)à)à É'ÃK+à~)Ãp )Ü(Ã0ö&ð½%Ã@)%ÃPÇ&à Û$Ãu(Ãà)àŠ'ÃÀê$Ã`ô%À0)Ã0ö&Ão%ð«(À­)ÃÐj+Ã*ÃÐ#"à d#Ã=#Ã`#Ãðe$Ã=#ð4'Ãðâ$Ãi*ÃPP%ÃÐ%ÃÀö"ÃÀs#Ãðk#à&ÃðÖ&ÃP>(ÃP»(Ü(ÃP£,Ã0%ÃPÙ#à F(â'ÀT#à !ÃÀy"ÃàbÓÃàÍ!Ãþ&Ã@²#Ã0‘"ÃàÍ!Ã0$ðL#Àf ðÉ#Ã0%Ãþ&ÃpŒ(Ã@¸"Ã0!ÃPß"Ã0%Ã0‹#ÃC"ðL#ðX!ÃÀü!ÀÑ#ÃpÂÃ=#ÀË$Ã0$à®!Ã$Ãp¤$ÀÅ%à®!ÃÆ!à L'ÃÀI*à Ã(à=Ã@Ä Ã0…$Ãp'$à á#ÃÀö"ÃPÇ&À¹'ÃÐ#ÃЬ ëà ÃP€à+"Ã{'à&ÃÀ‹Ã"à Ãðw!Ã@(Ã0ð'ð^ Ãð à j"ÃPJ&ÃÀ"à á#Ã@;"Ãø#ÃPÙ#Ã@¬$Ãðq"ÃÀ… à |ÃÐ%Ã@ &Ã@/$Ã`#Ã@ÖÃ0#Ã0#ÃäÃ@Ä Ãp¶!ô$ÃPå!Ã0¯Ã@G Ã"ÃàßÃPë ÃÀ‹Ã¥ ÃàV ÃpÂÃàhÃP†Ã[àÆýà ó Ãðî"Ãà*ÃÀÃ"à d#Ãðî"ß!ÃÀ ÃàbÃ`$à ùÃàÇ"à7 Ã@Üà ðíÃÀ‘ÃвÃ0 Ã`!Ãðw!Ã°Û ÃŸÓàO÷ÙÃ0!ÃO Àà ÃàÇ"ÃÃÃP†Ã0£Ã0JÃ`*ÃÀ Ã0ä)Ãp3"à #ÃpÚÃ`HÃÐYÃ02ðóÃ@Sà |Ã.ðÉ#ÃàhÃ`¹Ã`›ÃC"àÀÀ~ÃоÀéÀÃp¶!ÃàÇ"ÃðÃànýÃÀ‘Ãð ÃвÃ0…$ÃР"à7 ÃÀ—ÃàV à7 ÀïÃPh!ÃàÙÃðÃàåÃ08ÃPÃ@ÖÃPë ÀË$Ãðî"ÀïÃðÃÐ5ÃÒÃØð|Ã@MàºÃP†ÃÀ—Ãð ÃðÃyÃp9!ÃÀÃ`HÃ@îÃ@eà ÿÃO à7 ÃaÃðÃ¥Ã(Ã¥ÃÀ ÃyðdÃàbà ˆÃ0¯Ã@ÜÃðÃ0µÀ×"à®!Ã@Ä ÃpÂÃaðjàºÃиÃð•ëÃÃ02ÃpÈÃ`!à Ã[ÃànÃÐÐàUÃ`<ÃÐAðjÙÃàñÃP€ÃO À„Ã08ÃàÁ#ðÕ!Ã0&à1!ÓÃвÃPß"Ã0"ÃpÔÃPtÃUÃ@Ä Ãðô!ÀéÃpWàÀÃðw!à j"ÃUÃÐGÃ08Ãðô!ðíÃÐÊÃLÃð¡Ã`$ÃUÃ@ÊÃ`#Àf Ã0ÁÃ@SÃÐGÃgÃðð‚ÃðÃ`¹Ã0»ÃP˜ÃÀ À„ÃÐAà p!ÃI!ð^ ýÃ0—!Ã`ÃÀ‘Ã0»à=Ã`!Ã@YàÞÃpEÃ4ÃàtÃPñà ”Ã7$Ã7$Ãp? ÃPë ÃpæÃ`¹à šÀrÃ0©ðdà ÃðÃ@ÐÃ@èÃànÃpÔÃÀ ÀéÃðÃ@îÃÐSÃÐkÃàñðçà ŽÃ`$ÃpÎÃÐÊÃpÚÃ0µÀëðçà Ãð$ÃÐMÃð‰ß!ÃàÓ ÃêÃ` ÃPýÃиà |ÃàJ"ÃC"à àUÃ@à=ÃÐ;ðëà Ã0!Ã`ÅÑÃpuÃp{Ãð*Ã@Ã:ÃÐ_Ã.Ãð¡Ã@âÃð§÷ÃêÃð ðçÃà€Ã0bÃÀÃÀÃà€à 5À„Ãð} ÃÀà ‚Ã0©à ”ÃиÃpàÃðÃ[Ã0DÃ@qÃp]ÃpWÃð¡Ã@èÃðw!Ã`­ÃàñÃ[Ã#ÃpÚÃÐGÃððˆÃð0ðÃð0ÃÕÃÿÃpàÀÃ0µà ŽÃàŒàgà ŽÀõëÃðÃÐ;ÃÀÃPðíÃaÀŠÃFÃðÃ0¯ëð^ à v ÃÀ‘Ã0&ÃиÃaÃ0£ÃØÃ"àºÃЦ!ÃàÀÃ`HÃоðùÃgà ”Ãð‰ÃpWÃðÃÐeÃ`<ð|ÃððˆÃ`$Ã¥ Ã0,à ðÿÃ@ÃððvàOà ÃÐÊÃ0ÍÃäÃ@ÐÃ`*Ã`¡Ã0 à p!ÃÀÃð•ÀŠÃÐÄÃpWÃ@Yà ÿðvÀõÃP€àUÃàbÃ`§Ã08ÃpÚÃöàÒàOÃð¡Ã`HÃðÃ`!ÃàV Ã4à ¬Ã`ËÃÐÜÃP Ã@YÃêÃÀÃ`­ÃgÀ~àÆà ‚ÃpÂà ŽðšÃÐ_àUÀÃ@YàIÃöÃ4Ã4ÃàzÃPŒÃиÃÀÃÃðq"Ã02Ãð0ÃpcÃ`¹Ãð¡Ã`ÅàUÃÀ‘ÃðÃpoðŽÃ`0ÃPzÃà\ÃÐ5ÃÐSðX!ÃÐÊÃàñàÞÀÃPÃÐSÃÃýÃ@Ðà7 ÃP'Ã0ÓàOÃÀ£Ã@ôÀ~à ˆëÃ¥ ÃàtÀûÃ@ƒÃ0PÃàÍ!Àã ÃÃUÃÐAðÕ!ÃðÃ0DÃ0»ßÃ"ÃÀµà ÃÞà v Ã`<ÃöÃàtÃ`HÃÀÃ:àCÃ0µÃÐÊàOÓðdÃpQÃð¡Ã@ÐÃmÃÀÃ@ÖÀõÃðÃ[Ã@G ÃðùÃP˜à  ÃðÃ0,ñÃPzð|ÃÀ à  ÃàýÃÀ—ÃpWÃàtÃ`<Ã0ÓÃ`BÃð} à à7 ÃPh!Ã0 Ã02ðÿÃpÈàÒÃP˜àºðÿà[ÃpÔÃ`¡ÃиÃ@ÊÃ0¯ÃPÃоÃ( ðÕ!Ã@èÃPàÆà Ãð Ãpcà ‚ßÃÀ‹ÀûÃà ÃÀ£ÃÐAÃ`BÀûÃpž%Ã@¸"ðvÃÀ—à®!à à&ÃÀÃÃ0»ÃÀ»ÃðjÀlÃð•Ãp? ÃðÃ0©ÃððáÃàhàÆÃÀÃ0#Ãð_%Ã{#Ã0£ÃиÃð•ÃpKÃÆ!à=ÃК#Ã@¾!ÃвÃpàÃðÃPñÃК#Ã0£ÃUÃ@ÜÃ`0ÃÐYàÌÃ@Sà ùÃ0£Ãðw!à j"Ã`ýÀûÃÀ,Ã`¡ÃÐ;ÃÃÃÀ‹à í!ÃP÷Ãyð|ÃäÃàÓ Ãð‰ÃàñÃ.ðóÃàÍ!à j"àÀÃ#ÃÀy"ÃpKÃ:ð|Ã` "Ãð} Ã0©àêÃÀ—àÆà ç"ÃpÈÃ0©Ãð ÃàV ðjÃ@ÐÃÀü!Ãp¶!Ãðk#Ã0£ÃPë À à àºÃ@SÃÀ£ÃÀ ÃäàºÃðƒðóà Ã`#ÃI!Ã0©ðpðvÃPzÃ@Ä Ã0 ÃPýà j"Ãð} à ÿÃPÃ`‰"Ã#à´ Ãð} Ãp9!ðR"ÃÐ5à %ÃÀI*Ãpë-À0)Ãð²,ÃЂ'ÃÀê$Ã`Ö*à ·*Ã@)Ã`Ü)ÃÐd,Ãpë-ðŸ*à 4+ÃðÐ'ð4'Ãi*ÃðÄ)ÃÀ´-Ã`Ð+ÃðÄ)ÃðÄ)Ã`Y*Ãpb/Ã`A.À-à “0ÃP…1Ãð5,ð“,Ãð5,Ãà.Ã?-àl,Ãð;+Ãõ.ÃðÄ)à ½)Ã@#&Ãà‹,ðø0Ãàs0Ã@Û1ÃP©+ÃÐÉ0ÃÐá,ÃÀÌ)Ã0C/àf-ÃPJ&Ãp(Ãph.àû)Ã0Þ*ð+ÃP&,Ã@ˆ*ÃP,+Ã@ó-Ãp†)Ãp†)Ãð²,À§*à ".ÃP¯*ÃÀÌ)àr+Ãpn-À1Ãàð0Ãph.ÃÀº,Ãpñ,Ã`S+Ãàü.Ãð²,Ãð;+À-ð,Ãpb/à×/Ãð /ð“,ÃE,Ãà)ö.àõ*Ãà.à «,ÃðS'À**Ü(Ãà,Ã@ÿ+Ãò(Ã,Ãã1ÃÀ=,ÃK+à(à R&ð½%Ã,Ãã1Ãé0àõ*ÃP,+ÃP -ÃÈ+ÃpŒ(ÃðÐ'ÃðM(ÃÀÒ(Ã`Ð+ÃÀ´-ð™+ÃÈ+ÃP-àr+À1à Ã(àõ*ÃE,ð±'Ã`q&ÃÀU(ð½%À**ÃÐÛ-Ãpñ,ÃÐd,Ãæ*À¿&Ãp†)À­)Ã`e(Ã@)À0)à +ÃÔ)ÃÐp*ÃÐj+àŠ'ð4'Ã@'Ãp†)ÃðÄ)Ã-0ÃPJ&Ã`q&à :*Ã@š'à X%ÃÀa&Ão%ÃÀg%ÃÀs#à X%ð.(à L'Ö)Ãpž%ð±'ÀÅ%Ãì%Ã0…$ÃК#Ãp9!Ãi&Ãà>$ÃpŒ(àx*à Ï&Ãp*Ãp )ÃÐ &àû)ÃðÖ&Ã0%Ã(Ãø'ð4'Ã`q&à Õ%Ã0Ø+ÃÐç+ÃàD#à É'Ã](Ã0%ð¥)ÃP©+ÃðÖ&ÃàÁ#Ã0s'Ã@”(Ã`k'Ã0ê(ÃðY&Ãp˜&à F(Ãp†)Ã1%ÃPÙ#ÃðM(ÃðÜ%Ãp&Ãðe$ÃÀ"à %Ã`ô%À**À¹'à–%ÃðM(Ãà8%Ãð_%ð@%Ã`!ÃðÃÀs#Ã](À³(Ã$Ãp3"ÃPV$Ãì%ÃðM(à F(Ã`#À¿&À,ÃÀI*à„(Ãæ&ÀH%Ã0ê(ð@%ÃàÇ"Ã`ú$ÃÐ$Ãpž%à Ã(Ãpb/î%ú#ÃÀð#à Û$Ãø'à Ï&ÃP¯*Ãà )àr+À**À³(Ãp!%ðÃ$Ãc+Ã(Ãà‘+Ã0$Ã`ÃPÙ#ÀÅ%Ãà2&à–%Ã`ô%Ãp*Ã0a*Ã`w%ÃPJ&Ãp˜&ð:&à%#à)à :*à L'Ãp¤$ÀN$Ãp¤$ðdÃ0&Ã`k'Ãc+à ç"ÃÀð#î%Ãp’'à Õ%ÃPß"ÃðÊ(Ã1%ð()Ã0%Ã`q&Ã`è'ÃÐ &ÃpŒ(Ãp'$Ã0…$Ã,àû)à |Ãp°"Ã(Ã`â(ÃPV$Ã0ð'Ã@5#Ã0©à j"Ã@)Ãà )à&ÃPb"ÃàñÃ"ÀT#Ã`î&Ãà—*Ã](Ãp&ÃPß"Ãp'$à Õ%à R&Ãà8%ÃÀÞ&Ãðî"ÃP»(ð±'à$Ã@¦%Ãp'$à&ÀN$ÃÐÿ'à%ÃÀg%Ãp˜&à ^$Ãà»$Ã@)%ÃÐj+Ã`Ö*à¢#Ã0‹#Ã`}$ÃÀä%à Ï&Ã#ÃвÃÒðR"Ãð ÃgÀ×"Ãðq"ð¥)ð±'ÃÀ!Ã( Ãð_%Ã1%ÃÀØ'Ã0y&Ã0#ÀË$Ãàµ%â'ÃÀ['Ãp(Ã#Ãp¼ ðáÀZ"ÃÐ;ðvî%ÃÚ(à j"Ã0 Ã@¸"à F(Ãpª#ÃI!ÃPë ðdÃ@Ä Ã0%Ã`$Ã@G ðÉ#Ãp-#Ãðe$Ãp°"ÃàP!Ù"à%#ÃÀ!ð«(ð.(ÃP»(à Û$ÃPñÃ`³Ã@Ä Ã0—!ÃÀö"ÃpEà ùÃàV à Ã(à$à |ÃPz÷ÃPÀrÃ@A!Ãp-#Ã0‘"Ã0—!ðjà$à á#ÃÞÃðƒÃàP!î%Ã@²#ÃÀy"ÃPn à ‚Ãà\Ãðq"ÃÐ#"ÃÐ/ à p!ðÕ!ðL#ðR"à=ðÕ!Ãàµ%Ã+&Ã0&ëÙÃÀ Ã(ÃÀ ÃpÎà í!Ã0…$Ãp°"Ãð ÃЬ Ã@G ÀlàºÃp¶!ÃàëÃpÚÃ@Ä Ã |ÀéÃ0 ÃC"ÀûÃpÚÃÐ5ÃðS'ÃÀð#ÃpÎàÆÃ(ÃÃ`}$ðdÀûÃÀ,ëÃðw!àIÃ0¯Àã Ãðô!Ãäßà ó ÃI!Ãp3"Ã0—!ÃUÃpcÃP€à Ã0£ÀrÃêÃоàOñÀrÃ@ÊÃðÃàbÃpÈÃÐ/ ÃоÃðƒÃ@ÃàßÃЬ ÃpEðçÃpÎÃÆ!ÃÃP ÃP÷ÃàÍ!ÃвÃaÃgà |ÃPÃ@_ÃPzÃÐMÃ0£à à¢#Ã0‘"ÃP€Ã` ÃàßÃÃP€Ã`• ÃØÃÐ)!à7 Ã`³ÃðÃ@SÃðk#ÃÀ ÃàßÃP€Ãð‰ÃÐ5Ã@A!ÃðÀÃ¥ Ãpª#à ^$ÃgÃàÓ Ã€éÃ`$à !ÃÀÃàP!Ã`*ÃиàØÃ`§Ã@Ðß!à ùÃP\#Ã7$Ã@ÖÃànÃäð|ÃànðdÃ02ÃÐÐÀ×"ÃðÀ„ðùÃC"À×"ÃÐGÃêà |ÃàåÃÀ2ÃÀ2ÃðÀxÃðà Ã0!à Ãp]Ã@ÃàÓ Ã€Z"Ãà\Ã@ÖÃ@ôÃ¥ÃЬ ÙÀ Ã@âÃ@A!Ã@ÜÃ0!Ã`­Ã0»Ã@èÃ`›ßÃ(ÃÀ‹à=Ã0!ÃЬ ðíÃàßÃP’ÃPzÃÀ—Ã@kÃ@âÃ`³ÃÀÃÀ‘à ÿà à à$ÃàÓ Ã@_à+"ÃÌ Ã0»Ã0»Ã@_ÃÞÃÀÃÐGÃPýðùÃ@âð|÷ÃÀ©Ãà†ÀrÃÀ&ÃÃ`­Ã02ð|Ã.À~ð^ ÃPtÃpcÃÀ&à ÀŠÃ0ÙÃð¡ÃP€ÃP€Ã@ÜÃÐ/ ÃP€ÃÃø#ÃöÃà÷ÃpæÃP-ÃÀ&ÃàP!Ã"ÃäÃÐAÃPýðóÃ@SÃàëÃ@à´ ÃÀ!ÓðF$ÃP€ÃpEÃ$ÀõÃ0 ðÏ"ÃÌ Ã ÌÃPn ÃÀs#ÙÃ#Ã+&ÃÀê$Ã@ÊÃðè#Ã{#ÃÒÃàbÃ¥ à p!Ã@G ÃÀ—ÃÀ!Ã0%à$ÃPn à7 Ã`à$Ã@MÃPtÃÀ ÀÝ!ÃÞÃPŒà=Ã`‰"Ãp°"ÃвàÀÃÀ&Ã0DÃ`‰"ð^ Ãp3"ÀÑ#Ãðw!Ã=#ÀûÃÀÃðÃàåÃ4ÃpÂÃ` ëà í!Ãðk#ÃÀy"Ãi&Ã0!ÀlÃ@;"Ã`#ÃP÷à Û$Ã+&Ãðq"Ãà&(ÃàÍ!ðR"Ã@YÃàbÃ.ÃÒà ÀéÃ4ÀÑ#Ã0"ÃPtÃÀ¯ðáÃ@š'Ãà8%ÀéàÌÃàtÃð•Ã`­ÃÐ#à j"ÃЬ Ãðô!ÃPV$Ãð} Ã0¯à ‚ÃÀÀõÃàåÃ0 Ã0&ðçÃð•ÃpKÀéà á#ÀË$Ã@#&Ãðâ$Ãðî"Ã0©ßÃàbàÒÃPn ÃД$Ãp-#Ã( Ã0 Ãp¼ à à%#ß!ÃO Ã0¯ÃPŒà´ ÃÀ ÃàåÃ0&ßÃÀÃÀ Ã[Ãиà á#Ã@Ä Ã€Ã0,Ã0 ð^ ÀéàºÃ4àCÃàÙÃ`!Ã`›ÃpÔÃ¥ÃPñÃð} Ã` Ã@MÃpæÃÀ—à ÀïÃØÃ"Ã@è÷ðíÃgÃ` "ÃÀÀÃpWÃ0£Ã°Û à®!à7 ÃàßÃð<ÃÃàßÃ0 Ã`<Ã4ð|ÃÃPÃ0ÓÃ@wà šÃÀ£Ã`0ÃPn Ãð‰ÃsÃPzÃp]ÃàtÃ`<ðˆà[ÃpÈÃPÃÃ"ÃPë Ã.ðŽÃp]ÃÞÃÐAàÌÃP’ðÃpQÃвÃЦ!à ˆÃ@_Ã0—!Ã@_Ãð•Ã@îðjÃpQÃ` Ãp? ñÃÀ2Ãð$àÆàUÃ@ôÃÉÃpÔÃÀ¯Àrð^ Ãgà[ðÿà ŽÃànÃÀÃàýà  Ã02ÃP÷Ã0©ÃI!ðÕ!ÃÀýÃÐYÃpøÃPn ñÀ àÌÃà€À~Ãp9!àIàÆÃð‰Ã@ÖÃðÃ0>à ó ÃÐ)!ÃPh!àÆÃÐAÃÀ&Ã08à®!à |à ‚Ã@¸"Ó#ÃpÂÃ`›ÃP€Ã4à1!à !Ã@MÃ` "Ã0£à=ðçÃànÃ"!ðíÃ@_àCÃ`§Ã0"Ãð‰Ã¥ÃðÃ{#ÀéÃÐ)!Ã7$ðdÃðw!ÃК#Ãðe$ÃÀ ýÃÀÃ0 À`!à´ à=ÃÃ[Ã`§ÃØÃ°Û ÀlÃÀÃ0!Ãì%à v Ãêð^ Ão%ÃPb"Ãp9!ÃàåÃàÙÃàÍ!ÀÃÐÄà ‚ÃÀ‘Ã`­Ã@Ã02ÃàÓ Ã0#Ã`³Ã02ÃpKÃ@ÐÃyÃ@wÃPb"ÃÀm$Ã0£Ã0µÃðÃ`³Ã0&Ç!ëñÃUÃàJ"ÃàÙàºÃàV à1!Ã(ÃвÃ`*Ã`¡Ã`›ÃЬ Ã@¾!Ã`¡à ó Ã0©Ã0 ÃPë Ã`$à Ãp]ÃЦ!Ã` "Ã@A!Ç!à p!ú#Ãp? ÃàÓ Ãðô!ÃÒÃÐ;àOà ”ÃÐÄÃpÂÃàhÃ@MÃðÃ0,ÃpQÃ@YÃPß"ÃÀ… à p!Ç!ÃÐÊÃÀ Ã0%Ã0s'À`!ÃpÎÃàëð‚ÃàÍ!ÃвÃI!Ã( ÃPñÃ¥ ÃÐ#"ðF$ÃpKÃpWÃPtÃØÃ`­Ã08Ãð ÃP’Ã@ÜðjÃ0,ÃÃÃ@kÃPtÃ@A!àœ$ÃÀàÒÃ@âÃ0,ÃÀ… Ã0 Ã"ÃPzÙà ˆÃ@ÜÃÀÃP†Ã@âð^ ðpÀf Ã@;"à ÃÃ@MÃ0DðáßÃ@ÖÃ@SÃÀÃÞÃðw!Ãð} Ãàbà ÃpÂà ùà¢#Ã0%Ã`¡Ã0©ÃÐ;ÃpKÃàÍ!Ãp-#ÃP€ßÃ08Ã4à ÿÃ0 ÃPh!Ã0£Ãà\Ã"!à ÃÀ Ã0µÃÀ!àCÃ02Ãp¼ Ã@)%ÃÌ Ã€éàÆÃ`• àÌÃÞÃ0Ó÷ýÃ0 à d#Ãð ÃðÃmðáÃð‰ÃpìÃ`BàÌÃ$Ã`§à à àðÃ`¿ðÿÃöÃ0©Ç!à v ÃP˜Ã.ÃÏÃ`Ëà[ðíÃ@MÃðÃP’ÃвÃ.ÃÐMðÃêðÕ!Ã¥Ã(Ã`›ÃPýàOÃ@ÐÃ@ÐàÆÃ@Ã0£ÃP’ÃÀ—à ÿàÆà à v ðçÃàhÃÐSÃ0>Ã02Ãð$Ã¥àÒÃäÃpàÃÃ0JÃLàUÃPzàØðšÃPžÃ@qÃP†ÃðÃ0>Ãp¼ ðÕ!Ã@G ÃpQÃà÷ÃÃÃ`<ñÃðú Ã`• Ã4ÃÃPŒÃpÔÃоàIÃàŒðÃ0ÁÃððvÃ0©à ‚Ã`*Ã:ÃðÃRÃLÃàëÃàñÃ`*ÃPÃ.Ãð§à )ðÿà ŽÃð›ÃÐ;ÃÐ;ÃÐÐÃ@wÃÀ©ÀõÃaÃÏàÒàÆà ÃmÃ0!ÃÐ5ÃpÈðÃðÃàtÃPžÃÀµÃàŒÃÀ—Ã0µà=à ŽÃðÃðÃÉÃàtÃð›ñÃÐ;ÃpEÃðƒÃÞÃðÃðÃO ÃpÎÃàñÃÐSÃð•ÃpQà ‚ÃäÃ.Ãð$ÃpÈÃ@YÃO Ã¥ð‚ÃÃ`ËðpÃ0,Ã0‘"àØðóÃÐÊÃ`• ÃðƒÃpÔàØÃP’à[ÃÐÖàÞÀÀ„ÃêÃÞÃÀ¯Ãð‰ÃPzàÆÃP€Ã0ÇàÌÃP’ðpà ˆÃàzÃ4ÃpÈàÆÃP'Ã0PÃàhÃÃàyÃà†ÃP ÃÌ Ãð ÃðÃððÃ.ðÃ@qÃ`<ÃÃðùÃØÃ0>ð Ãð§ÃP†ÃP Ã`NÃ`BÃÐkà  ðÿÀœÃmÃP ðáÃ@èàmÃ`<Ãð§ÃàëÃÀÃ0ÁÃgÃиÃ0>Ã0PÃÀ,ÃÀÃPñÃ0>Ã@îÃÀÇÃÐeÀ ÃpuÃ0ÇÃð¹ÃàëÃ#Ã0>ÃàÃPà ÷ÃÏÀŠÃÀ!ÃäÃð›Ã0\ÃLàÆÃЦ!Ãð›Ãð‰Ã0µÃ@èÃ`$Ã¥ÃÀÃp-#ÃàD#ÃàzÃÀ&ÀÃÀ,ÃÐSÃðÃpàÃP˜ÃÀ–Ãð×ÃÐkÃÐAðíÃ`$ÃðÃ@SÀàOßÃ`!Ã"Ã0ÁðpàÆÃðÃLÃ…ÃyÃÞÃðú Ãð Ãp? à Ã(ÃÉð ÃàýÃ0!ÃPtðjÃPn Ã`³Ãà\ÃÀü!ÃàbÀ~Ã@G ÀéÃ0>Ã`§Ã0&ÃÀ‘ÃPŒÃFÃpÚÃgÃ"à7 Ã` à Ã@_ÃàtÃÀ ÃPžÃPzÃ0—!ÃÒÃO ÃðÃ@Ä Ã@ÊÃI!Ã0&ÀïÃðÃÀ‹ÃàtÃðÃ0 ÃpÂÃÐ)!Ã@MÃpEðùÃð•ÃpcëðL#ÃUÃØÃðú ÃÀÃPn Ã`BÃ0>Ã`ƒ#ÀlÃÆ!ÃaÃ`*Ã`›à¨"Ã`#ÃPë Ã( àºÀ×"ðÏ"Ã@¾!Ãðú Ã.Ã@kÃ¥ÃpàðÏ"Ã@;"Ã0!ÃaàUà #ÃP!à  ÃàëðÏ"ÃpEÃÀÃPb"Ù"Ãò$ÃК#Ã0%Ã"ß!ÃðƒÃp? ÃpKÃ:ÃðÃP†Ãð›Ã` ÃÀy"ÃPtÃ0,Ã0—!ÓÃP Ãð*Ã@ÐÃÃÆ!ÃÐ$ÃàÙÃð ßÃÀ&ÃpQà à+"à á#ÀõñÃ¥ à v Ã0,ÃpààºÃ.Ãðô!ÃÀ!à ÃpÈÃPzÃоÃðÃ02ÃàßÃ0µà ˆÃ`6Ã0ÁÃPÃÐGÃPtàÀÃàV ÃPtðpà Ãp? ðùÃpæÃ@eÃ`¹Ã0,ÃpÎÃàbà ‚àØÃàñÃàzÃð›ÃÃ0£ÃÞÃ0¯Ã` "Ãp? ÃÐSÃÐ/ ÃÐÄÃànÃP†ÃàtÃP†ðvÃðÃðÃÐÄÃP àÒÃÀ,ÃpÎÀûàÞð‚Ã`0à àUÃ0VàêÃ0&ðjÃ`!ÃØÃP÷Ã0&ÀÃPýÃ@ÖÃ0PàðÃP˜à ˆÃ`!ÃЦ!ñÃÀ,Ã0ÇÃP’ÀÃð›ÃÐ;à |Ã`›ÃÃPðX!ÃðýÃðÃpÂÃ@ÖÃp!%Ã0Ø+ÀõÃpìÃPzÃà-Ãíà ðL#Ãp9!à  ÃàhÃ0!ÃPýÃð•Ã0Ùà ð|ÀxÃ0&Ã08ëÃs÷Ã`BÃà Ã`¿ÃPžà ²ÀŠÃ"À~ÃÀ&Ãpìà  ÃpàðˆÃðw!ÀZ"à v ÃàV Ãð•ÃP’Ã0µÃ0£Ã"ð|÷ÃÀ©ð‚ðpà Ã0 Ã@Yà Žà Žðpà šÃÀ2Ã@ÜÃØÃaÃðàaÃ@eà )ÃPÃ0£ÃP˜ÃLà=Ãð‰Ã[Ã@âÃ(ÃêÃÀðpÃиàÌÃP˜ÃpÎÃpÔÃ0»Ãðw!ÃpÎÃÀÃÐÖð|ÃÀZ"Ãð} ÀrðjðˆÃàÙÃÀÃ@ÐÃPŒÃ`›ÃÀ… Ã4àÆÀõà ¦Ã`*Ãp9!Àã Ãà÷Ã:Ã4ßÃ`¹ðR"ÃÐÊÀïÃ`­ÃpÎà Ã@SÃ@¾!ÃPë Ã"Ãp3"Ãð‰àØÃÀ"ÃðÃPë à7 ð^ Ã`ƒ#ÃðÃmÃPŒÃpWà à v ÃPzÃ0!àOÃ"ÃO Ãþ"Ã` ÃÀrÃp? Ãp9!Ãp'$ðçÃàÙÃàßÃ[ÙÃmÃðà[Ã`• Ã`ƒ#Ãp'$à v ðX!ÃI!Ã0©Ãp3"ÃЦ!Ãp°"ðÃ$à j"ÃÀÃÀ… Ãðk#à ðdëÃðƒÃàÁ#ÃàÇ"ÃÀ"ÃÀö"Ã`ƒ#Ãì%à7 Ãð Ãp¼ ÀÑ#Ã0s'Ã0…$ð^ ðáÃ0©ÃàP!Ã( Ã0 Ãð Ã`‰"ÃPn Ãðô!ÀË$ÃÀÃÀ!ÃàJ"ðÕ!Ã0…$ÃÃÐ;à ”ÃpàÃàßÃ0‘"ÃI!ÓÃPh!Ãà8%ÃàJ"Ã`*ÃàV ÃР"ÃàÍ!ÃÀ… ÃР"à v Ã`¹À~ÃÐ;à$ÃpKÃÀ—ÃP÷Ã`­à+"ÃÀ"ðçÃ@SàÌÃ0©ÃPñÃà\ÃPn Ã@²#Ã@MÃ`Àã à ”ÃàV Ù"ÃPb"ÃØÃ0&ÃPb"ÃÌ Ã°áÃвÃpEðpÃÀê$ÃàJ"ð^ ðíÃPÃP Ã@ÐÃÀö"Ã0$ÃÐ#"Ã0%ÃðS'à ó Ã0£ÃàÃöÃÃÃpEÃÐMÃpÔÃpKÃ"ÃÃ@YÀ~ÃðÃpàÃpòÃpàÃ0>Ã@SÃ@A!àOÃÀ¯Ãоà v ÃC"Ãp9!ÃpKÃàëÃP’ð|ÀlÃpÈÃÐeÃP˜ÀŠÀ ÃsÃÀà ÿà Ã0ÇàOÃ@YàäðùÓÃð‰ß!Ãàßà !à ŽÃð•ÃpÈÃ`0ÃÀ£ÃÀ¯À„à !Ã`­ÃLñÃ`ÅÃÐîÃ@èà ÿÃà€ÃàåÀûÃð Ã`³ÀïÃÀ—Ã0ÙÃP¤à šðáÃpWÃUÃÀÃ@kÃÐÊÃÐ/ ÃPå!ÃÞÃ@eÃ0ÁÃÐÊ÷ÃP’Ãgð|ÃöðÿÃ@YàUÃpÎÃ`¿ÃÃÃ`*ÃàëÃÉÃ0>Ã`!ÃàV ÃÒà àÆÃ.ÃPzÃP!à #Ã0 à ‚ÃpKÃÐGÀ„ÃpàÃÐÐÃRÃð0ÃXÃ`­Ã@kÀÃàtÃ0&àÀÃÀ&ÃP’Ã0>à )à ÃpÃ@wðŽÃ@}Ã0bÃ`<Ã`³Ã0&ÃpQÃ4Ã0Pð¬Ãà Ã@ðíà ¦Ã0Và ¦Ã@ÃÀµÃàtÃàýÃÐÊà #Ã@kÃÀ¯Ã"Ãð•àÀðçÃ0—!Ã0©Ãà Ã`TÃÐÐÀÀ%ðšÃðBÃÀ2ÃÐSÃÐGà Ã`*à ˆà À¢à ”àÀÃàÃÐâÃ@Ä Ã ÒñÃ`*ÃÀê$ÃàbàyÀ Ãð§ðà )ÃPÃÃ`Hà Ã02à Ãp]ÃpÚÃPªÃðÃàýÃöÃPðX!ÃàßàOÃÀ>àüðÃÐGÃP¤ÃpQÃ`§Ãð›Ã`ÃPà Ã`ÑÃ0ÍÃÐYÃpWðùÃàzÃ@SÃ@¸"ëÃÀ2ÃpWÃpcðvÃP˜Ãà÷Ã@Ã`ÃÐ)!ÃÀ ÃP˜Ã`ÅÃ0¯ðçà ˆÀ–àmÃð*ýÃàhÙÃÀ2à Ã`§Ãà÷Ã`¿ÃàýÃÀ—à´ Ã:Ã^ÃöÃ(Ãà€ÃàÓ ÃÀm$ÃÐMÃÀ&à ŽÃðNÃ0÷ðÃPÃÐÊÃpQÀ~Ãà\ÃÐAÃüÃÐMÃð­ÃP¤ÃyÃвÃÀÃ`Hà ðçÃàbÃpWðÃàñà ŽÃÐÊÃPŒðpÃÃÐGàOÃÐÜà šÃàÀœÃàñÃPýÃÃ.÷à ŽÃ@ÊÃà\ñÃðÓàÆÃpàÃ@èÃÐÖà ŽÃPÀûÃÀ Ãp°"ÀŠÃÀµÃ@ÖÃPžÀÃ`6ð|ÃsÃÐÖÃ`¹ñÃ08àÆà1!ß!Ã0ÇÃ`ËÃpcÃÀ¯Ã`¹Ãp]ÃaÃð•Ã4ÃàhÃpiÃRÃP-Ãà Ãdà Ã`0ÃàñÃ@eÃÃ02ÃàzÃ`³àmßà |ðíð^ ÃðÃ@kÃ@ÜÃ0 Ã0¯Ã08ñÃÀÃP†ÃÀµÀ Ã…Ã`*Ã@kÃ^àÒÃ02ðÿÃÀÃP Ã`$àÒà  ÃððùÃÀ©Ã:à šÃ4Ã0¯ÃpÎÀ~ÀÃ``ÃpuÃ@èÃð§Ã0VÃÀ»ýÃÀ»Ã0ñÃPÃÀÃð À¢ð‚Ã@ÖÃPð|ðóà /À„Ã0ÁÃêÃ.Ã@eà[ÃÀÃÃÃ0ÇÃÐÜÃàëÃ@ÖàäÃPÃÀ¯Ãp]ÃÀ àØÃ`¡à ð|Ã0»àaÃÀ2ÃÀ©ÃFÃpòàmÃpàÃLÃÀ,Ã`Bð)Ã@îÃmÃpcðjðóàÀÃPÃpæÀŠÃ0ÁÃð¿À–Ã`<ÃÐeÃÐkà ¦Ãð¹Ã0PÃð*ÃPžÃ0>ÃÃpoà )Ã(ð^ Ã`ËÃ`TÀ®ÃÀ£ÃÀ,ÃÕÃ`6ýÃàÃsÃpàÃP'À+ÃP¤ÃàýÃÀ£Ã`ÅÃyÃ`ÑÃÃà ÃÐÊÃàzÃà’ÃÐkÃmÃàýÀœÃ0ÁÃÃ@úÃPÃP!Ã0DÃð•Ãðð ÃpoÃ02Ã0JÃpiÃáÃPžÃ0Jà ¦ÃÀÁÃðà !à #ÃànÃÀJàsÃà÷ÃpQÃÆ!Ãð­à ÊÃP3ÃíÀ¢ÃP!ÃÀ©Ã4ÃðÃ4ÃPÃ@ôàgÃÐÜÃ`¹ÃFÃàžàêÃÃ`ÑÃ0åàðà /Ã0ßÀÃÛÃjàüÃ(ÀûðÃÃÃÀJÃàýÃ[àäÃpìÃ`ËÃÃÃà˜Ãà˜ÃÐÐà ŽÃ@âÃpæÃÀ&ð‚ÀÃð0ÃÐkÃÛÃð¿ÃÐÊà ÿÃPÃÐ_ÀœÃPªÃ0ÓÃààÞÃPÃXÃ@wÃ0ÍÃàzð”Ã0ÙÃPÀ ÃgÃpæÃRÀ%ðˆ÷ÃüÃ@ÃÐeÃ`­ÃÃÉÃ0ÙÃ`*à p!à ‚ÀÃÐSÃÐÖÃÐGÃ`0ÃPýÃÀ ÃP ÀõÃð¡ÃÕÃpàÃÐAÃP'ÃP’Ã0\ÀëÃpWÃÐÜÃ@èÃ@ÐàIÃäÃ0¯àaÃà÷Ã@wÃ0PÃà÷ÃpæÃ0DýÃ0DÃFàOÃà€Ã0\à ŽàÞðÿÃàëÃ4ðpÃà Ã^ÃpoÃLÀà #ÃÐÐÃ@YÃ( ÃÐGÃyÃ0¯ÃÀÁÃ@wÃàñÃ°Û ÃpiÃà ÃpòÃüÃÀÃÀ… Ã0©ÃðÃà€ÃÐeàÌÃpÔÃÐÊÀ„Ã:à  ÃÐÜà ÃçÀÃ`³ÃÀðŽÀÃpoÃ0Íðà ¸ÃpøÃ0ÍðˆÃ@îÃð6Ã`¿ÃÃÐâÃð•ÃÐÐÃÆ!ÃÞÃ`¡ÃàÓ ÃÀÃ0»ÃÐYÃÀ—à |Ã@îàaàÒÃÀÃ0»ÃÀ8àCÃð‰àÀÃÀ‹Ãð‰ÃpcÃÀ8Ã@ à ¬Ã"Ã@ÜÃPzÃ"Ã0ÍÃP àÞÃÀ ÃÐMÃÐÖÃàzÀxÙÃàëÃ0DÃ0µÃP!àêÃP!Ãð*ÃðÃpWÃÐÊÃ`¹ÃÃ@èÃ@YàÆÃðÃà˜ÃÀ—Ãð›ÃÏÀ„ÃP’Ãð•ÀïÃÃÃð¿ÃP˜Àà ¸ÃFÃüÃÐèÃàÃ08Ãð§ÃpuÃÃÐÖÃ0ÙÃêÃàÃà ÀŠÃp'$Ãà÷àÒÃàýÃpà ¬Ã`HÃ0ñÃÐwÃà˜àIñÀœà #ÃÐ/ ÃÐ/ Ãð›Ã`NÃpòÃ0ÁàOÃLÃ0ÁÃ@èÃÀ&ÃÐÊÃ¥àÆÃÐeÃÀ8Ã4à ðvÃ`*ÃgÃð$ÃØðáÃpÈà ÃmÃ¥ÃpÈÃÀ… à ÃÌ Ã@YÃO ÃЬ Ã0y&Ã0ö&Ã@)%à %ðíÃI!Ãp3"à®!à$Ãðè#àœ$Ãp¤$Ã@¾!à®!Ãp!%ÀÑ#À×"ÃÀ‹Ã°Û Ã0‹#ÃðƒÃ0 ÀH%Ãà*ð@%à+"àÀÃgðX!Ãð} ÀlÃÀy"ÃàD#Ã$Ã0 ÃPå!Ã`ƒ#Ã1%Ãp(Ã¥ ÀûÃ`• à p!ÃàbÃ@Ðà á#Ã@5#ÃàÇ"Ã@¾!ðX!ÃЬ ÃÀö"ß!ÃвÃðq"ÃÐ5Ã@âà Õ%Ãp¤$Ãp-#ÃÐ)!Ã"ÃPÙ#Ã@/$à+"ßÃð‰à j"ðÃ$ÃàÓ Ã`$Ã°Û Ã°Û ÃàzÃPzà p!Ãà8%ÃPÙ#Ã"ð·&Ã`Ãðú ÃÐ#"ÃÀ!Ã@Êà7 à ðR"ÃиàCÀÃ`§ÃÀ ÃЬ Ã`• Ãp]ÃÃyÃànÃÐ/ Ã`¡ÃЦ!ÃÀÃ@¸"Ã$ÃÐ/ Ã4ÃвÙÃÀ àUÀõÃÀ!Ã`#ð½%Ã( ÙÃ(à7 ÃPýÃÐÊÃÐAÀ~ÃpQÃàP!Ãà\ÃPÙ#ÃØÃPýðÕ!Ãðq"ÃÀÃÀy"ÃÀü!Ãp¼ ÃPë ÃÃà\Ç!Àã ëÃ0¯ÃÐAÃÀÃP÷ÃpÔðR"Ã$Ã0‘"à7 ÃàßÙ"Ã`• Ã@Üà¨"ÀÝ!ðçÀ`!à àIÃð} Ã( Ã@âà ÿÃоÃàýÃp3"Ã0£Ã`¡Ã@ÊÃðÃð Ã@¸"àºß!ÃÀ—ÃPÃàhÃ0#ÃÌ Ã %ð:&Ãp¶!ÃÀÃ0"Ãà\ÀõÃ@MÃàtàÌð^ Ãð ÃÃàbÃ$à%#ÃÒàÌà #Ã`­ÃàJ"Ã"!ßà=à àÀÃð ÃÀÀlÃÀ‹ÃàëÃ@wÃ"ÀÃÐÄÃpÎÃ0‘"à á#ÃÀ!àOÃà†Ã@wÀÃÐSÃ0»ðvÃ0µëÃ0"ÃÐ$ÃàbÃ`¡ÃpÎÃÀÃPýÃð›ÃP÷ÃpÔÃpQð|Ã@îÀ„ÃÀÃpÂß!Ã"ÃÀÃð0Ã`<à ÿÃp9!ð|ÃÀ£ÃàhÃàëà ”ð”ÃsÃ@YÃ08Ã@kÃ`ËÃ@eÃp? ÃÀ‹ÃÐGÃ.Ã`­ÀõÃ@à Ã`¡ÃUðçÃp9!à ÿà ðùðvà[Ã@MÃPb"Ã@YÀŠÃpÚÃ`§Ãð} ÃPtÃPÃ@Ã`BàäÃPŒÃäÃ"à j"Ã@ÊÃ`›ÃÀ!ÃpEÀûÃÐÖÃpoà ðpÀœÀõÃЦ!Ã0©Ã@âÃPë ÃðÃÐèàÞÃPÃ@qÃÀ ÃPÃPÃÀrÃànÃð¡Ã0,ÃUÃ`*àÒÃððóÃêÃÃÃüàmÃ`‰"ÃP\#ÃØÃð§ÃPžÃ@G À`!ÃPÃ`­ÃÐ5Ã02ÀÃÃÀ»ðà  Ã@èÃ08Ã@úÃmÃÐÊÃÀõà  à šÃsÃ@ÖÃðÃ`TÃpWÃ0¯Ã:ÃÐAÃÀ ÃsÃPÃ`Ã¥ÃàzÀ~Ã0ÇÃÀÃðÃ¥ÃO ðóÃpKÃàtÃP°ñÃ(à[ð|ÃÐMÃ@îÃàñà Ã0ÍÃоÃpÚÃsÃ:ÃàzÃP€Ã`$Ã0£Àà[Ã`<ÃP!Ãð6À¢à[Ãàñàðà Ã0 ÃàëÃ@èÃPzðÿÃ0DÃP!ÃððpÃpcðdà ‚Ã@YßÃà÷ÃmßÃÀ!à !ÃÀÃ0¯Ã08ÓÃ`6ÀÃpWÃð¡àÞÃànðóÃðÃðÃLà À´Ã@ÖÀlÃðàmÃÐGÃ@îÃ@‰Ã0JàsÃ@ Ã`×Ãà šðÃ`³ÃÐÊð Ã0Pà šÀïÃ@YÃàÃÀÃ0>ÃÀ àÒÃà Ã`!à„(ÃÐîÃ4Ã@ÊÃP˜Ã@âÃP€ÃÐÐÃà ¬ð|Ã@;"Ã@ÖðÃ`¹Ã:Ã^ÃsÃPŒÀÃ@ÐÃàåÃðÃÀ¯Ãð$àäÃ@}ðÃ`Hà 5Ãà ÃððÿÃÃÃàýÃ@}ÃÐwàgÃsà Ã[ÃðÃÐAà #ÃÀ>Ã`¹ÃÀ,Ãð$ÃpìÃÐôÃpðšÃ@ÃÐÜÃ@}ÃPÃ0»ÃpoÃöÃÀµÃpàÃ0»ÀœÃÐèðàUÃоà Žà ¦Ã0ßà ÃÐMðvà ÿÃð¡ÃmÃ0ÍÃLÃ0>Ãð³ÃÃàtÃÐSðŽÃ‹à ”ÃðàðÃàð)Ãàzð”Ãp¼ ÃUÃð*Ãð›ÃàåÃð|Ã`×àêÃ0VÃpìÃð›ÃÏà=à ˆÃaÃUÃpiÃpòÃaà ˆÃ@eÀõÃ"à p!Ã0¯Ã@A!ÃàÍ!àÆÃ@ÖÃð‰ð‚ÃàåàIÃ@MÃ0—!à ùÃÐ5Ãp¶!ðX!Ãà»$Ã0 ÃÀ‹Ãð¡Ã0µÃ`*ÃàbÃÀÃPë Ã@MÀÑ#ðL#à ‚ÃàßÃ0»Ã`§Ãðî"Ã0,Ã0©Ã°Û ÃÀð#ÃÀ—Ãðô!Ù"ÃànÀÝ!Ã`$Ó#ÃàJ"ÃÀs#Ã@¾!à ùÃ0—!Ã&Ç%Ãð} ÃàåÃÀm$ú#à ó ÀŠàIÃp¶!ÃC"ÃPh!ÃàÇ"Ã0&ÃàßÃ0©à í!Ãðâ$Àã Ã0¯ÃpÂÃ@;"ÃÞà=ÃÀ Ã@ÖÃÐÊÃð Ã0#à ùÃЬ ñß!ÃÐ &Ã0!Ãpª#ÃÀÃÀ—Ãà\ÃÞÀxÃ`!Ã1%Ãp3"Àf Ã{#Ç!Ã@ÊÃ0¯ÃpEÃpÎÃàhà ó à ÿà ÿð^ ÃÀ‹ÃPtð^ ÃpEÃ[ÀïÃaÃ`!ÃàbÃ¥Ã@;"ÀT#àºÃp°"ÃàD#Ãp-#ß!Ã[À~àÆÃUà ÃÃàJ"à j"Ã"Ãðè#ÃÐ/ ÃaÃP€ðáÃmÃðÃ0‘"ÃàÍ!Ãоà=Ã`6Ã0µÃð‰ÃP\#Ã`¡ÃÐGÃàåàCÃP Ã0ÇÃàtà+"ÃÀê$ðçà ‚Ãmð‚ðpÃàßÃ#ÃÀs#ÃðÃÃßÃüÃöÃP÷ßÃÞÃ`›ÃÀ¯ÃPÃÃÀÃвà ˆÃ08ÃØà1!Ã`• ÃÀàIÃÀ&ÃpQÃPV$Àrà ÿðíÃðÃ0,ÃðçÃÐÐÃÀà à )àaÃÀÃК#ÃÀ… ÃPë ÃиÃð àOÃàñÃp]Ã@¾!Ã"À„àºà ç"àÀÀÃPÃÀ—Ã0 ÙÃðƒÀlÃ@ÐÃ@ÜÃð›ÃpKà í!Ãðw!Àf Ã@SÃÀ£ÃàtëÃP€ÃàåÃÀ‹ëÃ:ÃÌ Ãp¶!Ãð ðˆÀõÃàñÃ@âÃÀ—ÃP†ÃànàIÀûÃÐÄëÇ!Ã0JÃàzÃÐÖÃ.ÀÃpÂÃ0©ðÃ@âÃPñÃ08ÃÀÀßÃpÈÃ0©Ãaà Ãð‰ÃÒÃ`§À À„Ãp? Ã"ðˆÃ(Ã@SÃÐGÃÀ… ðX!ÃÐÄð÷ÃÐÜà ÃØÃPn ÃPÃ`³ÃPñÃðà[ÃüÃp]ÙÃÀ!Ã`¡ÃP˜àyÃpÂÃ`§àÀÃÐAÃ02à à ÃÐ/ Ãð à1!ÙÃ`$Ãðî"ÃÀ—ÃP÷ÙàºÃð›ÃpÎÃÃ0©Ã#à í!ÃðƒÀà šÃ@îà=à1!ÙÃaÃ` ÃO ÃPtàÀðçÃPß"Ã0£ÃÌ Ã`• Ã0,Ã@à v à7 Ã@5#ÃP÷ÀrÃ`!ÀlÃÀ‘Ãà\à ó ÃðÃ0,à=à ÿÃ`¡÷ÃÌ Ã [Ã`ÃÀÃвÃÀ&Ã@Ä ÃÒÃpWÃ( ÃÀä%ÃPb"ÃÀ‘ÃpÎÃpEÃ`$ÀrÃàëßðçÃ0&Ãðw!Ã@A!ÃÀü!ÃàÇ"à´ Ãðî"à p!Ã`$Ã0&ÃЬ à$ÃÀü!ðjÃ02Ã0—!ÃÐ5ÃÀÃÐSà ”Ãp¶!Ã`›Ã0¯Ã`§ÃàbÃ@/$Ã` "Ã.ÃP†ðjÃÀ ÃLÃ0µÃÀ"Ã@5#ÃPn Ã¥à ÃÒà d#ÃpEÃ¥ Ãð_%ÃàÁ#ÃØÃ0…$ÃPß"à´ Ãà©'à+"Àéð^ Ã`$Ã@_ÃÀ—ÃPýÃàÙÃÆ!Ãð‰ðdÃ0£À~Ãðô!ðjàÆà j"ÃÃÐAÃÃPb"Ãð} à+"à ç"à¢#à ÃÀÃPë Ãðè#ðÕ!ÃpEÃP\#ëÃÀÃÆ!ÃÃàÓ Ã ç"à p!Ãðè#Ã¥ ÃÀÃaÃоÃ@A!à !Ã{#Ã`­Ãà\ÃàÍ!Ã`0ÃmñÃиÃÀ"ß!Ãðú Ã@Mð^ ÃÐ5ÃоÃàëÃÀ‹ÃÃ"ÃоÀÝ!ß!ÃÀ‹Ã0,ÃÐÄÃþ"àºÃ@Üà ÃI!ÃД$Ã` "ÃàP!ÃÐAàÒÃЬ Ãò$ÃàÓ Ã %à´ à |ðdÃ¥ Ã` Ã@MÃðpÃÃP÷ÃÐÄàÆÃð ÃPë ÃPtÃ@SÃ` ÃpÂÃ(ÃI!Ãà\àCÃ¥à Ã(Ãð­Ãð¡Ã0¯ÃðÃàëÃоÀ„À à šðíÃÀÃ"ÃÃÃ.à ÿÃиÃ02ÃàåÃ@MÃðƒÃÕÃðÀõÃðÃàßÀÃpÔà Ã0¯ÃàbÃÐ;à7 ÃÐAÀrñðáà àCÃ`• à¨"ð^ ÃÐ5à ˆÃðƒÃaßÃ08ÃPÃð0÷Ãà\Ãð ÃÃpìÃPë Ãp-#àÞÃÐYÃ0 Ã@YÃ0£Ãðw!Ã0 à ÿÃ0PÃ@ƒÃоÃPÃPŒÃð¡ÀŠà ÃÃÐ5Ã02ÃØÃ0©ðçàOÃÉÃ`*Ã.àmàgÃ@_Ã`0Ã@âÀÀÃ@âÃÉðpÃ4Ã4ÃpæÃàzÃðÃ@_Ãà÷ÃPÃ.Ã@ÜÃPzÃFÃÀ¯àêÃÐGÃ@_ÃsÃÐMÃP€ÃиÃ.Ã.à ñÃpÈÃp3"ÃàÇ"Ã@SàUÃsà 5Ã0DñÃÀü!à ÿàOÃ`­Ã`­à ÃÀðçÃð Ãp¶!à Ãàbà ÃàëÃpEÃðÃ^Ã@àÞÃpWðíÃpWÃPtÃÀ!ÃPñÃàhÃsÃÀàÌÃànÃPýÃ@²#ÃÐÄàÌà1!ðšÃÀ&Ã@èÃÙÃÐÊÃàŒÃ`0ðÏ"Ã@G ÃвÃÐ5à=Ãð} Ã4àCÃ0DÃÀàÌÃ@ÖÃ0&à Ã@G Ã@âÃÐÊà Ã`›Ãàßà |Ã`0ÃÀÃPýÃЬ ÷ÀõÀ ÃÀ&ÃpiÃ0ÁÃÐÐðdÃI!Ã@ÐÃPýÃ°Û Ã ó ðvà ¬ÃÀ2ÃPÃÒÃØÃð›ÃpæÃ:Ã`¿ÃÐèÃð0ÃPëÃðÃð<Ã@ÃànÃ`¹ðáÃÀÃUÃP÷à1!ÃÀ‹Ã`¡à ŽÃFÃpÚÃ"Ã@Ðà ”à ÃÀð#Ãðú Ã`­Ã0—!ÀrÃaÃÀÙÃð§Ãp]àÒÃ`§à ÀïÃðÃöÃÐÊÃp? ÃÐGÃànÃ0»À Ã0 ÃЬ Ãð§ðX!ÃÐ#"Ã@;"ÃPn Ã0&ÃpÎÃPn Ãø#ÃÀm$Ã`‰"ÃpKÃI!Ã`$Ã"ÃàD#Ã@¬$ÃPn à ÃàëÃÐ5Ã0—!à á#ÃÀ"Àïà ŽÃ@ÊÃð•Ã@SÃPñÃðô!àÀÀõÃ` "ÃЦ!à ùà ÃC"ÃÀ"Ù"à¨"ÃpÈÃP÷ÃЬ Ã"!Ã`¡ÀÑ#ÃpKÃàV Ã0,Ã0!ÃPzÀf ÃàÓ ÃÀ ÃÐ)!Ã0 ô$ÃÚ(Ã0%ÃàhÃO Ã:ÃðÃÐGðáÃðk#Ã@/$Ã"ÃØÃàP!Ã` "à í!Ãð Ã`!Ãp'$ðóÃ@YÃ@ÜðF$à Ï&à p!ÃP÷Ã@ÜðjðóÃÐ;ÃPb"Ã"Ãþ"Ã@_ÃÌ Ã`#à=Ã[ÃPñÃpÈßÃàbÃÃpÈÃÐMÃЬ à !ÃоÃð ÃÃPh!ÃàJ"Ã"à á#ÃÀ"ÃPå!ÃUà ó Ã0 Ù"à ÿà ðçß!ÃàV àÀàÆÃÛÃP€Ã@¾!ÃðÕ!à v Ã[ÀÃð•ÃäÃ`§ÃPñÃ"Ã`‰"Ã°Û ÃUðíÃÀ‘à7 ñÀlðdÃ$Ãp-#ðÕ!à ÃÃÀ ÃÃà ÀïÃÀ—ðÿÃ¥ Ãð à R&Ãà\ÃÐ;÷Ã@ÃðÅÃÐqà ŽàÀà p!Ã`§ÃÐGÃpKÃ( À ÃÐÖÃ.à ˆàOÃ`0Ã@ƒÃP’ð‚ÃäÀõà ˆÃpÂÃÀ—ÃÐÄðvÃáÃ0,à¨"Ã[Ãp]ÃÐSÃP†àÀÃÀ,ÃÐÊÃPzÃ0 àÆÃpæÃ0ÍÀÃðô!ÃоÃðóÃ@ÃàÃоÃðÃpàðÃÃÐ;Ã@Ä Ã@¾!ÃöÃð³ÃÃà ”ÃPžÃàbÃpÚÃàñÃP àÆÃ"!ÃÃmÃpòðjÃpKÃ@ÖÃ`0Ãð‰ÃPÃ@Sà ð Ã:ÀõÀxà Ã`›ÃàåÃàåÃp¼ Ãð‰ÃÐSà ¦ÃàÓ ÃànÃðÃmÃÀ,ð ÃÀ¯Ã0µÃ02ÃPÃвð^ Ã` ÃÀ—Ã(ÃÐ/ Ãà÷ÃàtÀõÀÀïÃðú ðL#Ã`<Ã0¯ðjÃPýÃPýÃPðX!Ã02Ã@qÃ@qð ñà ”ÃиÃ`$Ãð³ÃÀ©Ã@ÖÃÃ@G Ãð} ÃÀ!ðŽÃ0VÃ@MýýÃ:Ãêðóà ‚à ÃðÃ0&ÃpÚðpÃÀàÒ÷ðÃÐ;Ã0,ÙÃ"!ßÃ4Ã[ÃÐSÃ@úÃàhÃP÷Ãà€Ãp]ÃÏÃ0PàaÃ@eÃð$ÃÐÄÃ"!Ãà\ÃиÃp¶!ÃäÃ:Ãð¡ÃàhàCÃ0ÍÃð§ÃpcÃ`ÀÃ4à&ÀN$à+"ðdÃðÃFÃàhÃ0µÃ[à Ãp'ÃðY&Ã1%ÃÐ#"ÃÐAÃÇ!Ã`$Ã"!ÃêðX!ÃPå!ÃàÙÃÀÃиñàCÃp3"ÃÀ… ÃиÃðè#ÃÐ#"ÃÀ… ÃàÓ ÃO ÃpÈÃPtà%#Ãi&Ã=#ÃàÓ Ã ÆÃàÓ Ãp°"Ã@A!à ÃÀ… ÃàbÃPå!ÀÑ#Ã@¬$ÃI!ÓÃàÓ Ã`ƒ#Ã7$ÃpÎÃÐ/ ÃPÓ$à¨"ÃPtÃ0‘"ÃàÁ#Ã@ &ð½%ú#ÃвÃp9!Ã( Ã@MÃÀÃO Ãp°"ÃÒÃp¶!ÃÐ#"ÃP2*Ãðú Ãð‰ÃÐÐÃÐ_àØà d#Ãðú Ã`¡À~Ã0©ÀÑ#à ^$À6(ðR"Ã0 Ç!Ã@Yà ùàIÃ02ÃÀÃÀ‘ÃpÔÃоÃp-#ÃC"ÃÐ)!àCÃÀü!ðÕ!Ã0‹#ÀÅ%ÃР"ÃàbÃ@YðvÃPß"ÃÀg%Ãðô!ÃðƒÃð‰àºÃ.Ã` ÃPë ÃgÀT#ÃÃPtðÉ#Ã0 Ãð‰Ãðî"Àã Ã`‰"Ãp¶!Ãð Ã02ÃsÃ^à ‚ÃÀ!à¨"à àUÃ@âëÃ`!ßÃyÃÀ&Ã0 Ãp3"Ã°Û Ã0¯Ã@MÃàP!Ã0 ÀlÃàýà |à šÃpuÃð Ã@ÐÃÀ÷Ã:Ãp°"ÃÐ#Ã`Ãp]ðÿÃ@ÖðvðˆÃLÀrÃpÈÃ@ÖÃaÃPÃð•Ã0 Ãþ"à=ÀûÃ@SÃp¼ ÃpKÃ@ÖÃäÃàýàIÃð•ÓÃàÙÃ02Ã0»ÀT#ÃÀ©à[à ŽÃ0‹#ÃðÜ%ÃÐ5à Ãpàð|ÃÀ‹Ãp? Ã@Mà šà ÃàÓ Ã0&àÀÃоÃ0»À~Ã4Ã@èÃ`NÃ`­àÀàÆÃ@G ðíàCÃO Ãðà ‚Ã4ÃPzðjÃоÃàñÃRÃÐâÃð›Ã0ÁÃÀ£àyà[Ã`$Ãð à[ÃàýàgýÃ"ÀéÃàbÃ`³ÃÐSÃàðÃð³àÒÀ`!Ãp¶!ÃÐ#"ÃPŒÃ`6Ã4Ã(Ãð³Ãà ÃÐAÃ0>Ãà\À„ðóðjàa÷ÃpÔà ”ÃàßÃP€ðçà ÃP’ÃÀ»Ã@ÜÃànÃ0DÃP’ÃàÙÀ„à[Ã@ðˆÃÀ>ÃÀlÃ`¿à[ÃLÃ0ÁÃÃÃÀ àÒÀ–Ã4ÃmÃÐÖÃpÎÃÀ©ÃP€Ã¥ÃÃ0Óà ;Ã@úÃpÚÃP’ÃPÃ.ÃðZÃP'ÃP ÀÃpKÃgÃpiðpÃ`ÃàtÃLÃ0ÍÃÀ‘ÃP†ÃyÃpìð#ÃPŒÃRÃÐ_ÃÀ¯àÒÃäÃpoàØÃpàÃð ÃêÃð­ðÃpÃ`ûÃÐèàgÃÀ£ÃÀ©Ãp ÃjÃöÃÉàäÃð•ÃPn ÃP˜ÃÐèÃðÃ`0ÃàzÃðHÃpÃÀÍÃP¤ÃPýÃ.ÀœÃ`BÀ¨ðàäÃP¤Ã`¿ð‚ÃFÃP'Ã4ÃP’à ”ÃÏÃ:ÃsÃ`³ÃÀ&Ã@ôÃðBÃ0bÃ.Ãà†àmÃmÃ`*Ã0»Ã@SÃð§ÃÐqÃÐYÃ0ÍÃ0ÓÃÐSðÿÃöÃÀJÃsÃpæð‚ÃLÃð¡Ã4ÃÀÃpÚà ÿ÷ÃÐâÃ0JÃêÃÀ¯ÀÃàtðˆÃPÀxÃ0 Ã@SÃ`³ÃP€Ãð$Ã:ÃÐÐÃоð‚Ã"Ã0Dà[ÃàßÃð‰ÃÐGÃÀ©ÃðÃàåÃgÃðÃðÃ@îÃPÃ`¿ÃàtÃð³ÃpøÃ`6àÀðóÃpæÃÉÃàåÀxÃ0©Ãð‰Ãð ÃPñÃÌ Ã@ÜàÌÃÀ£Ãð•ÃÀÃоÃpÚÃLÀrÃðÓðpÃðÃ`*Ãà€àUÃpÚðdÃp? ÃpÔÃ@Ä ÃÀ ÃPzÃàÙÃpEÀŠàIÃÌ ÃÐ/ ðóÀõÃ0DÃP˜Ã`¿àaÃÀ!ÃP€ðóÃ@A!àOàÒÃ@ÖÙÃpÂà  Ã@èà ”ðjÃUàÆÃgÃÀ… Ã{#Ã"ðíà !Ã`#Ã`›Ãp? Ã`6ÃLÃ0!Ã0‹#Ãþ"ðáÀÃP€Ã0 à ‚ÃpWÃ@Öà !Ã4Ãð ÃO à ÃàhÃðçÀxàÆÃ`³ÃÞÃPtÃ0DÃ0>÷Ã0Dðáà à ‚ÃàÙÃ0ÇÃP’ÃÀ£ÃLÃgÃоÃPà à Ã0%àIÃpàÃêàCÃP Àà ú#Ãð à |ÃàP!à ˆÃÐ5ÃÀs#Ã`³ÃPÃ@ÖÃоÃ4ð ÀÃð§Ã`<ÃÐSÃÐÐÃÀ©ðÿÃFÃð§ÃР"ÃC"ÃPh!Ãp3"Ãp°"ÃPýÃ0&Ã0»àÌÃðƒÃ@5#à v ÃFÃðî"ðÿÃÐYÃ`¿ÃàÃLÃRÃ02Ãp? ðÕ!ÃÐGÀ–Ã0,ÃPðvÃÐ/ ÃоÃ`BÃÀµÃÀ©ÃP†ðÕ!Ãàtð ÃÀ—ÃàñÃÐYÃÐ_ÃRÃ@ôÃð³ðóðíà ”ÃPŒÃðÃÀ‘ÀõÃÀ ÃpæÃ0>Ã02ÃиÃðÃð•Ãp]ðáÃàßÃðÃàëÃðÃpcÃ@ÃdÃ¥Ãð ÃÀ¯ÃÐ;ÃÒÃ@MÃpÚÃÀ,Ãð›ÃUÃ@èÃÀ¯ÃÐ/ Ãð à ‚Ã0©Ã0"ÃÀ‹ÃÞà #ÃÀ¯ÃàzàØÃêÃð§ÃpÔà #àÒÀ`!à šðvÃLÃоÃàåÃFÃsÃÕÃ@YÀŠàUàÆÃ0ÁÃ0JÃpþð”Ãð§ÃÐ)!ÃðÃ@îÃêÃgÃ`³Ã`­ÃpÃàtÃ@kÃÃpàÀlÃð$à )À„ðÿÃà Ã0ßÃP-ÃpààyàðÃpiÃ0JÃêÀ„à ”Ã@ÜÃð*Ã@ð|ÃÐMÃ0VÃ@Ã02×à )Ã`6Àð|ÃÐÜÃ^àÞÃÞÃPzàIÃÐÖÃà÷ðvàgÃð¿Ã``ÀÃðƒà ÃàŒÃ@ƒÃ`BÃÀ&Ã02Ã0ÁÃÀÃ"Ã@ÊÃð•à ;àÌÃÀ£Ãð0Ãð¡Ã`<ÃÐÜÃXÃà†Ã0ÍÃðƒÃÀ‹ÃàëÃð$ÃP’Ã0DÃÐA×Ã0\Ãð} ÃðÃpWÃÃÐSÃðÃÃà ð”ð#ÃXÃP ÃÐÐÃÀ»ÃànÃ0‘"Ã`<Ã0\Ã`ÑÃ"Ã@èÃðÃ0>Ã0»ð‚ÃpWÃgàaÃLÃ@wÃðÃI!ðvÃpÈÃP€Ãð§ÃàtÃ`<ÃêÃÀ… ÃиÃø#ëà àUÃ@Yàyà 5Ã:à7 ÃmÃ¥Ãð›ÃÀµÃÐÊÃ@YÃPàäà ‚Ãð ÃÐMÃàðÀÃÀõÃðÃ`BÃÃÃ`¡ÃÞÃpÎÃ`0Ã@ÜýàØÃàëÃPå!Ã.Ã^ÃÀ Ãp°"ðçÃpòàðÃÀ»ÃdÃ^ÃÀ—ÃÀàÒÃ0»ÃPzÃ@SàOÃgÃ0>Ã`6ÃÐSÃ08à  Ã@èàÌÃ@_ÃÀ,ÃÃð•ÃpWðÃàëÃÃPtÃp]ðà ÃÀ… ÃP†àIÃØÃ0,Ã.Ã`6ÃpKÃð$ÃÃÃ.Ãa÷Ã`<ýÃ`BÃÀ»ÃpoÃäà )ÃÏÃ0ÁÃÐ;ÃÆ!ÃðÃ0ÇÃPÃ.ñÃ@ôÃP˜Ã:Ãà†àaÀÃaÀrÃÐSÃ@îÀÃUÃ`$Ãà€ðð|ÃðÃ`6Ã`›ÃÉà Ãp{ÃànÃànÃpQÃÀÃP’ÃP¤ÃpàÃP!ÃpàÙÃFÃ`¹à ¾Ãð6ÃÃÐAÃð*ÃsÃÀ&À„ÃÏÃ`¿À Ã0»ÃÀÃ`¿Ã`¿ÃÏÃÀÀÃ`$ÃÀ»àmðdà p!Ã`!ÃpEðpÃÃÃÐMàÀÃP Ã0ÍÃPžÃpàðÃÐ_ÀÃPžà #à ˆÃÐÖÃàà  Ãð¡àaàaÃRð‚ßàØÃ`NÃRðùÃ`6àºÃpKÃð*Ã4Ãðw!ÃàJ"Ã0ÇàaëÃÀàØÃð§àäÃp]Ã^àÞ÷ýÃ0€Ã‹ðŽÃ@eÃPŒÃð•àUðùÃàÙÃmÃ@qÃÀ2Ã`*Ãоà Ã0ÁÃpWÃÐÖÃð§Ã0JÃð ðvÃðÃpKÃ@ÐÃpcÃpuÃXÃ@Ã`<à ¬à GÑÃP!àÒÃ@ðšÃ`×ÃÀµÃ@SÀÃÐMÃP˜ÃRÀõÃLÃ0»Ã@_ÃPýÃà÷Ã`Åà  ÃpKÃmà…àäÃð•ð|Ãð‰Ã08À„ëÃPtà Ã@kà šÃ`!ñàäÃ0ÓÃÉÃà†àäÃÃàäÃð›Ãð§ÃmÃð³Ãð§ðdÃÀ,Ãð$Ã(ðpÃFà ”À~Ã`<à šÃÐÄÃ@ÜëÃpÈÃ`¹Ã0,àgð ÃpcÃ`• ÃÃÐèð)à Yàä÷ÃÀ»ÃpòÃÀÁÃ0ñÃÐèÃöÃ`<Ã0\Ãð­àgÃ@qÃÐYðíÃàýÃÐÖÀ–ÃRÃ@èÃвÃÐÐÃpìÃÐkàêÃ@ÃPžÃ`¿Ã`HÃÀ£àUÃÐÖðóÃPÃð³ÃP’ð|ÃÐ$ÃpÔÃêÃ@âÃpcàêÃ^Ãð¡ÀŠÃêÃиÃ`<ÀœÃð*ðÿÃÀÃÀ‘ëÃP!Ã@kÃpÚÃÐÄÃ0µÃð§ÃÐÄÃÀÃ02Ã@_ÃðÃÆ!à ‚ðˆÃpìÃ@úÃÀ£Ã4ÃpQÓàºÃÀ‘à v ÃPn ÃP†ðùÃ02ðóÃÐèÃÏà Ã@ÊÃ0Dà ˆÃPzÃÐAÃÀ—ðíà ‚ÃpÚÃÀ©À„ÙÃP†ÃPÃpÈÃÃ0»ÃÐ)!Ã@_ÃÐ;ðjà¨"à Ãоà ÃPë ÃP†ÃàýßÃÐÄÃ0»Ã@îàÆÀÃ(Ã¥ÃÀü!ÃaÀf Ã`$Ã0‘"ÃPë Ã(÷ÃP\#Ã`›ýÃ02ÃÐ/ ðpÃÀÃÀ Ã`• ÃàñÃP€àÌÃÀà šÃð¡Ãp]àaÃÐGÃgÃgà j"ÃpÈÃÀÃ0 Ã@ÊÀ~à Ãà€Ãp]Ã.ÃPzÃ0£ÀéÃÀ ÃÐÄÃðÃ¥ÃaÃpWÃðÃð•ÃÀ—Ãð à Ç!à šà[ÃÙÃà\ðÕ!ÃÀ©ðpÃ0 ÃpEà ŽÃàëÃàzÃRÃÀ,Ãð*àIÙÃpQÃ0»Ã@ÊÃð} ÃÐ5ÃЬ ÃpWÃ@_Ã@SÃ`0ÃðÃиÃàÓ ÃàV Ã`6Ã0VÃpiÃ0 ÃPÀïÃиÃ{#Ã@e÷Ãp°"ÃàÓ Ã`¡ÃÉÃPðdðvÃpiÃ`¹à |ÃÐ$Ã0£ÃàñÃpÈÃ`$Ã0 ÀûÃpKÃÐ/ ÃaÃpàÃ@àÒÃaÃÐÄÃpÈÃ`$ÃÀ—ÀÃP’Ãêð|ÃpWÃÀ©ÃàßÃÐ5ëÃPðdðóÃÀÃmàOÃ`*Ã@/$ÃÐ%ðjàUÃ08ÃÐ_Ã0Çà ”Ã(Ã@kÃ0>ÃpÔð‚ÃðÃà€ÃànÃpQÃ02ÃpiÃ@èðáÃÒÃ@ÐÀrÃàëÃÞÃ`§Ã0ÁÃÐÊÃpÎàÒà[ÃðÃð ýÃP\#ÃàßÃ0£ÃðÃÐÜÀàOÃpàÃpÚÃð ÃàhÃPŒÃÀ—ÃPýÃ4ÃÀ—à Ã@ÖÃpÔÃ0µÃÃÃ02ð|ÃpcÃ"ÃpÚÃàñÃðÃð›ÃP ÃÐGÃÀ¯ÃÐAÀ„Ã0ÇýÃððùà ÿÃLàØðÃ`BÃ4ÃPÃ0 ðX!à ðùÃÀ—Ãp3"à ð|Ã0\Ã`<Ãà\ÃÒÃÌ ÃgàgÀ àaÃPð‚ÃÃpcÃ@G à ÃP†ÃÒÃ@MÃ0>Ã`›àÒÀf ðóÃÏÃ@âÃ.Ãànà=à j"Ã0DÃ0JÃ.À„À¢Ã@}à ÃpcÃ@âÃÀ£à ÃоÃ0ÍÃð¡Ãð‰àOÃàëÃÀ&ÃÐÊÃÀ&ÃPÃ`ÅÃ0ÍðíðÃðBÀ–À–ð ÃgÃ(ÃPñÃðóÃÃÃpÎà ”ÃÃpcÃóÃ.Ã(Ã.Ã@ÐÃ¥ëÃ0DÃ@ÃÀ,àgà ðíÃ@YÃöÃÐèÃP˜ÃÕÃàñÃàtÃÐâÃà÷ÃsÃÀ©ÃÀ¯ÃÀ,àêÃàÃP€Ã@èÃð•Ã(à àCàêÃàëàØð”ÃàŒÃ^Ã@ÃÐÐÃ@ÖÃð$ÃpÔðjÃ`¿Ãð§ÃоÃð$ÃpÚÃ`¿ÃÀ»Ã`¿Ãð§Ã@qÃÀÇÃÐÊÃpEÃ`­ÃиàÞà #ÀàØà šÃÀ£Ãð¿àaÃ@Üðùà ˆëà #Ãà†Ãð¹ÃðËÃÐeÃ@Ã¥ ÃÀ&à à ‚Ã`à Ã@ôÃ0ÇÃð§Ã08ÃÀ8Ãà à /ÃP ÃP€Ãð§àOÃðÃàbðjÃpQÃ`­àgà[Ãà=Ã` ÃÀÃPà Ã0ÇÀïà Û$ÃpEàäðùÃpøÃ—ÃðÅÃÃà÷ýàOÃ`0àIÃI!ÃоÃÐGÃ0,Ã@G Ã0#à ¦ÃànàÌðvÃ[Ãp]Ã`§ÀõÀéà ŽÃ@úðX!ÃÐ)!ÃÀ!à´ à ÿÀf Ã0 ÃPýÃgÃÀ>Ã0µÃиÃàÙÃPðçÃЦ!ÃpÚÃÉÃÀ©Ã0µÃàëÃ0£Ã@G ñÃÞÀxðçÃ@¸"ÃÀÃ0,Ã@âÃ@²#ÃÐ5ëðíà ˆÃaàOÃð§ÃpìÃ`HðpÃPñà šÃ08ÃÞÃ0&ëÃ0ÇÃÀÃP’Ã0&Ãð àÒÃð­Ã`­ÃÐMÃ`§ÀõÃð›Ã:Ã`<ðçÀÃÐGÃPÃ¥Ã0µÃðƒðÕ!Ãp]Ãêà v ð^ Ã[à à[ðjÃpìàyÃ0¯ÃPÃXÃÉàOÃ0¯Ãð‰Ã:ÃЦ!à v Ã0>ÃÀÃÀ£ÃÐMÃÀ&àÒñàºÃàÓ ÃиÀÃÀ2à ˆÃ:ÃÀ£Ã@SÃ@SÃ0 ÃpÔà[ðvÃLñÃPÃÀ&à ùÀÃpcÃиÃPýÀÃÐeð ðáàÆÃàëÃPªÃ0»Ãà€Ãêà ŽÃP'Ã0DÃÐSÃÀ&Ã@SÃànÀlÃyÃàýÃàbÃäðÀ~àÆÀ àUÃÌ ÃàëÃpÔÃ@ÜÃ@ÜÃÐAðáÃ0£ýÃ`BÃ`­ÃÌ ÃFàØÃðÃpQÃ`§à Ãð›àOÀÃà÷ÀrÃP ÃpEÃ@ÃPtÃpàÃ@qÀðjÃpÔÃð$ÃÀÃÃ4ÃpQÃRÃ[ÃPh!ÃO Ç!Ã@eÃðÃ0ßÃpKÙðíÃàÓ Ã€xÃpÂÃ0,Ã0ÁÃpKÃð§Ã0>ÀrÃP’ÃyÃиÃÀ‹Ãp¶!ÃÐ#"ÀÃ@ÐÃÐAÃàßÃ`• Ã@_ðùÃÞàCÃð ÃðƒÃ`à ˆàaÃð} Ãþ"à´ ÃPzÃÀ—ÃàhÃàßÀõÃàñÃp¼ Ãþ"Ã`ƒ#ÃPß"ÃP’Ã`*ñÃ`­Ã@YÃ`0ÃÐ5Ã¥àÞà Ã0DÃäà ðvÃÐÊÃÃÀ Ã@kÃà Ã`¿ÃPýÃ0ÁÃ@qð Ãð›ÃÐMà ÿðóÃPýÃ`!ëÃиÃPë ÃðÙÃÞÃàhÃà€À„Ã@Ä Ãêà7 ðáÃðô!Ã` À`!ÃÀ—ÀõÃ`³Àrà šÃ@Ã@G Ãu$ÃPP%ÓÃÐAÃ:Ã0£ÃÀ‹à ùà |ð^ Ã`*Ã0 ÃO ðÕ!ÃÐAà |ðÕ!ÃЦ!ÃÀö"ÃpKà ùÃ` Ã@kðjÃðà ˆÃþ&à R&ÃPtÃ`›ÃÀÃðÃ`¡ÃðÃ`¹à=ÀlÀrðíÃ"Ã"Ã@_Ã02ÃpKÃRÃàÙÀf ðÏ"Ã02àCÃÀ ÃàV ÃðÃ`$Ã0—!ÃÀs#Ãðú ÀË$Ã@/$Ã0%ÃàP!à´ Ã"Ã[ð^ Ã0%Ã0%ÃàÇ"Ãðú Ãð ðáÃp9!ðR"ÃPb"ÀN$ÃÐ$à !ðÕ!Ãp&Ã"ÃÃð Ã`§ÃPP%ÃPÓ$Ãðq"ÀH%Ãðw!à ç"ÃÀ‘ÃàD#Ãpž%ÃàD#ÃÀg%à v Ã@ÐÃиÃ0>à´ Ã@5#Àf ÃàP!Ã@MÃ0…$ÃÀs#Ãpž%ÃàÍ!Ã@5#ÃÌ Ã±ÃÐAÃ@MÃ0$À`!à¢#Ãà2&ÃÀy"Ãp¶!ÃÃPn Ã0‘"ÃÌ Ãðk#Ãðú ÃÀ!à ^$Ãðk#Ã`k'ÃC"ÃP à ç"Ãp°"ÃPñÃÒàÆÃ`}$ð4'Ã0‘"Ã( Ãàåà ÿÃ@G ÷Ã¥ÃÀü!ÃÀs#ÃàP!à®!ÃO Ã0 ÃиÃpÔÃ`§Ã@SÃÐAÃàbÃ`à j"Ãþ"ÃÐ)!ðF$Ãþ&à¨"ÃPV$è&ÃO ÃàbÃ:ÃàÓ Ãp9!ÃÐ$ðR"ÃàD#Ã`­àØÃðà[ÃPtÃ@G ÃÆ!ÃpKà7 ð^ Ã@SÃÐÐÃ0$ÃàÁ#ëà Ã@_ÃÃð ðR"ÃД$Ãðî"Ãò$ÃàP!ÃðƒÃð Ã"!ðÕ!Ã@G ÃÀ!ÃÃ0 à á#ß!à ùÃ@ÜÃÐGÃð ÃК#Ãp'Ã@G À„ÃàÙàgÃÐAÃÐ)!Ãðî"Ã0!à ^$ÀT#Ã{#ÃO ÃàëÃ@kðùÃ`w%à Û$Ãp? ÃвÃ`*Ãp¼ ÃàD#ÃÀ!Ã°Û Ãp°"ÃвÃàñà |ðR"ÃàV ÃPß"Ã`ô%Ã0ü%Ã"À`!ÃàJ"Ãð} Ãàhà šà ˆÃàÙÃpàà=ÃP†ð‚Ãà\ÃPß"ðÉ#ÃðƒÃàÙÃÌ Ã0%àœ$à ùÃ( ÓÃ`‰"Ã@MÃP÷à !ÃpWÃà÷ÃÉÃ@;"ðÕ!ÃàzÃ"Ãðw!Ã`ƒ#ðáñÃ0&Ã@G ÀlÃPn Ãþ"Ãp˜&ÙÃà\ÃO ÃpEà®!ÃÀö"Ãp3"ÃPzÃPzÃPë à ùýÃpÔÃ@kÃPžÃÀ2Ã"à ÿà Ã@ÐÃàV ÃpÔëÃp-#Ã@âÃ@ÐÃ{#Ã$ÃC"ðà ÃÃñÃиÃвÃPÃÐÖÃöÃàzÃpiëÃðÃÀàÀÃ`­Ã@âÃÀ—Ã0!ÃpKÃø#ÀZ"ÃÐYðvà ÃpÎÃ0&ÓÃC"Ãp¼ ÀxàÒà Ã#Ã@ÜÃ`$ÃÀÃàV ÃÀ… Ã@MÃðw!ÃÞÃà\à ”àÞÃP ÷Ã4ÃÆ!ÃP àOà ÃpÚÃð‰à1!Ã"Ã@A!ÃPÙ#Ã0¯ÃpÔÃpÈÃPn À×"ÃànÃUà1!à j"ÃÐ5Ãð à í!Ã@²#Ã`›ÃðÃððçÃ(àºÃC"àgÓÀïÃ` "Ã`‰"ÃÀ—ÃÀà7 ÃÀ… ÷à´ Ã.Ã0,ÙÀ×"Ã@A!ÃàñÃ`¡Ã¥ÃpEÃPë Ã0…$à+"à í!ÃàÓ ÃÀ ÃPh!ÃÀÃоÃàÍ!ÃàP!ÃPn ÃàÍ!Ã=#Ã0µÃÐMðáÃàP!Ãà»$ÃÀÌ)Ãp¤$Ã@Ä Ãò$Ã+&Ã@ÐðÕ!à´ Ã0—!à ‚à à ùÃ@SÃ0%à%#Ãu$à ÃPn Ã@¾!ÃÀg%Ãp!%Ù"Ãà>$ÃàP!Ãðú Ã`‰"Ãð_%Ã{#Ã1%à¨"à í!Ãà2&Ãà&(à–%Ãp9!Ã@à ùà Ãà\Ã0#ÃÐ#"Ã`q&ÃPÇ&Ãp&à&ÃÐ#"ÃÌ Ã€ÃP’Ã`6ÃÒàŠ'à&Ã0ö&ðR"ÃК#ÃðÜ%à&ÀlÃàÓ Ã %#ÃÀê$Ó#ÃÐ$ÃÀ"à v ðÉ#ÃPV$ÃÀs#Ãàµ%Ãþ"à |Ã"à Ã@Ä ÃÐ%Ãà»$Ã°Û ÃðàºÀ×"Ãàbà Àrú#ÃP÷ÀûÀZ"Ãðî"à=ÃÀö"ÃO ÃÀ‘ÃPh!Àf ÀïÃØÃo%ÃЬ à´ à%#Ã`à àÆà ÿÃ0&à j"Ãp¶!ÃPD'Ã0m(Ãp'$à+"ÃàD#ð·&Ã`}$ÃPtÃPb"ÃÐ#à p!à j"ÃР"ÃPß"Ãp†)Ã0"ÃðÜ%Ãì%à ÿÃàV Ã0…$Ãþ"àºà ùÃI!ÃÌ ÃÆ!Àf Ãðq"Ã7$Ã0 ÃPñÃ0 ÃðS'Ç!Ãà\àCÃ°Û ÃPP%Ãà8%Ã0‹#ÀÑ#Ã`ƒ#Ãp9!Ã0&ÃÐÄà p!Ãp¼ Ã0—!Àf Ãp? Ã"ÃàÍ!ðX!ÃÐŽ%ÃP\#ÃÐ#à ç"à ó Ãp¶!ÃÐ;Ã@Ä ÃÐ$ÃÐ$ð4'à ÿÃðÃp&ÃàÁ#ðÏ"à1!à í!À×"Ãðú ÃpKà p!Ãðè#Ã`#ÃPÙ#ÃPh!à+"ð·&Ãò$ÀË$Ã[Ã@ÜÃ`*ÃÐ)!ÃPå!Ãp-#Ãþ"ÃI!Ãp¼ ÃÐ%Ã0 ÃPýÙ"ÃpÔÃP’à |ÃÀê$ÀÅ%ÃàÍ!Ãp3"ÃÐ;ÃР"ðíÃð} Ã0‘"ÃÐÄðdÃäÃp¶!Ã( Ã@ÊÃàhÃPh!ÃpEÃàbÃ@;"Ãðq"à ùÃàßÃ@A!ÃÀ!Ã0#à v Ã0#ÃЦ!ðdðjÃàÓ Ã°X!Ãp3"Ãp!%Ãðk#à í!à ÿÃÐ#"Ãp¼ Ãð‰à ùÃð­ÃàýÃÒà ó Ã@5#À`!Ãp'$ÃÌ ÃpEÃð•Ã0µà7 ÃàhÃÐÐÀlÃðô!Ã"÷à7 ÃÀ Ã@SÃÀ‹Ã0,ÀÝ!ÃðÃ`<ÃàJ"à ó ÃØÃÏð^ Ãðú ÃpÂÃÐÄÃ"àÌà Ãp9!ÀÑ#ÃPñÃ`!ð^ àÒÃÐ$ÃÌ ÃÐ#"à ùÃ0,àØà )àØÀïÃ{#ÃÀö"Ã08à v à1!à |àêÃÐ)!ÀÝ!ÃàßÃ@YÃdà #Ãð§ðpÃ`§Ã0£ýÃ`Ãaà=ÃÐÊÀõÃðî"ÃÀ‘Ã.ÃpWÀ~àºÃ.Ã@eÃ0JÃgÀûÃà\àCà !ÃPP%Ãþ"Ã0£ÀZ"ÃðÃð‰ÃàÙàäÃ`*ÃPå!ÃPh!Ã:à ðáÃp-#Ã0µÃÐÜÃP†ð|À Ã@ÖÃàÓ Ãp]ÃÐÄà ÃànÃ02Ã0©ÃÒÃ0 Ã4Ãg÷Ã0&Ã`!Ã@âÃ"!Ãð‰Àf ÀïàºÃð‰Ã`• Ã@SðpÃÀÀûÃ`›Ã@MÃÀÃ¥ÃsÀõÃàßÃPë Ãöà[ÃðÃ0JÃpQà=à  ÃÃÃaÃàtÃàßñÃÀÀf Ã¥à ÃpÎÃpWðˆÃÐYÇ!ÃÀ Ãð0àUà ÃàÇ"Ã"ÃÀðíÃ08ÃÐGÃð­ðpÃPtà=ð Ã"Ã@;"ðpÃ08ÃÐYÃÐYÃPŒðùðÃ`Nà Ã@Ä Ãðú ÀéÃàhÃÃÃ08Ã0£ÃÉÃоà=ÃàV ÃpKÃpKà Ã`}$Ãp9!à ðjÃ`<Ã`ðpÃÀ,Ã`ÅÀïÃØÃиÃ0©ýÃ0 Ùà Ãp9!ð|ÀàÀà7 Ãð•Ã0>ÃÀ&Ã@ôðŽÃà€Ã`*ßÃðÃ08Ã` Ãðî"ÃÐ5Ã`ƒ#ÃP€Ã.÷ÃÞà ”ÃвÃPzÃÃp¼ ðçÃÀÃоÃ@ÜÃÀ‘ðÏ"à |Ã0£Ã"ÃàýÀ„ÀÃÀ2ÀïÃmÃð6ðÃ[Ã0&Ã@ÐÃ@ÖÃ@âÃ`!ÃPë Ã`³ÃàëÃ@A!Ã` Ãp¶!àÆÃиÃà÷Ã¥ Ã0 ð|ÃàhÃ0—!Ã`*ÃÐèÃ`ÅÙÃp9!ÃÀy"Ãðú ÃàbÃðÃ@eÓà ÃàOÃÐ;Ã`!ðçÃ@eÃàÇ"Ãà\Ã0—!Ã0%ÃàV à |Ãp¶!Ãp'$Ã0 ÃðƒÃàëÃ`$Ã@Ðà ”Ã`›Ã{#ÃàV à ùÃ"!Ã@5#Ã&à d#àÌÃ0»Ãà÷Ã`ËÃöÃðÃpž%Ã`›ÃàzÃÉÃäÃ0—!ÃÀ‹ÃÐGÃ08ðùÃàåÃ.Ã`‰"à ç"Ã@ÊÃpÎÃêÃpWÃ@îÃà\Ãð•Ã@èÃ0»àÞÃàåðÕ!ÃàñÃ.ÃàÙÃPñÃ:ÃpÈà ùÃaðùð@%Ãp9!ðóÃgðR"ðÉ#ðL#à ˆÃpEÃ0£ÃÀ—ÃððáÃиÃ0&ÃUÃ0,ÃPñÃàëÃÀ—ÃÆ!ðíÃ`!Ã[ÃP ÀÃÞà%#àÌÃÀ£ÃÀÃÀ&à Ãp¶!Ãp3"ÀïÀûëà Ã@ÃÐÄÃ`0ÃÀ!ÀïÃ( Ã`¡Ã`$ÃPb"ÃpÎðpÀŠà àÆà v Ã0 Ãp]Ã@âÃàtÃðÃÌ Ã ÌÃðƒÃð›Ã`¹ÃÐÐÃ0©Ã0»À Ã`0ÃàtÃð*ðŽÃàzÃØÃÛÃPýÃpEÃ`¿ÃFÃÃðÃÃð¿ýà Ã@ÐÃ0,ÃpWÃäÃ`³à ˆÃðƒÃ@SÃ@ÐÃÐ;ÃànÃ0>ÃÃÃÀÃ`!à |Àœð5ðÃð›ÃÀÃÐÜàaÃ0»Ãð} Ã@A!Ã`§ðˆÃP˜àÌÃÐÜàsÃ`Bà ðdÃàtÃpcÃ(ÃO ÀõÃ(ÃpÚÃPÃpcðvÃ@YÃÃpÚÃ( à !à |ð^ àUÃ@à  Ã`³Ãà÷ÃPÃP†ÃÀÃFÃ@_÷ÃÐÊÃð*ÃXà à #Ãà ”ÃÐMÃ0ÇÃXÃ`6÷à[ÃÀÃð ÃpKÃÐAÃpÈÃÐÄðçÃ0ÍÃpoÃ0>ÃaÃðÃPà šÃPzàÒÀxðvÃsÃðÃ`³ÀÃpàðˆÃ:ÃÀü!àºÃPà ²Ãà˜ÃÀÃ@ÖàUàÞÃà÷ýÃPÙðdÃ@ôÃ0JÃÀ©Ã0¯Ãðq"Ã`!Ã@eðÃðÃ0»ÃÃpÔÃpÎÃpÎÃ@MÃð›àaà v Ã0 ÃÐÐÃÐSÃ0¯÷Ã@ÜÃo%Ã`$Ã0ÇÃ0JÀœÃP-ÃÀÃÐeÃíÃà ÃP˜Ã`¡ÃðÃÀÀã ÃÃ@ÃÃ0 ÃÀ!Ã`ÅÃP’ÃpWÃ`§ðçÃ.ÃàëàOÃ@ÖÃ@Sðçà šÃвÃà\ÃÉÃÐAÃ@YÃ°Û Ã@ÜÃPŒÃðú Ã0¯Ã"à ÃpÔÃð ÃàÃ0JÃpàÃÃÃð$ÃP†÷à  ÃÀ&ÃÀ2ÃàëÃððvÃPÃpòÃð¡ÃFÃÐèð‚Ãà€Ã`$à ˆÃ@èð|àOÃáÃ@ôÃ08Ã@eÀàÒÃ@wàUÃ08à ”à Ã`¹Ã@wÃÐGÃ0µÃ0©Ã@îÃÐYÓÃpWÃ@eÃàbÃpÚàaÃàÃàžÃáÃ@À1Ã"À`!Ã0"ÃFÃð*ÃàÃÐMÃ0>ÃÐMÃà Ã@ÃpàÃàåÃàÙðvÃàñÃð$ÃÉÃàV ÃÐMÃàÀûà%#ÀïÃ4ÃpÈÃpcÃ4ÃÀ2àgà šÃ@ÖÃÀü!à ”ÀrÃ°Û ÃÃ`*Ãð¡Ã@èëàUÃ@MàÌðjÃÐÊàÒðˆÃyðŽÃàzÃð¡à ðvÃàßà !à1!Ãà÷ÃÐÖÃpcÃàÃ`¹ÀõÃ0&àOà |Ã`!Ã`6ÃÐÖà Ã`BÃÀÃоÃP˜Ã`ËÃÀàCÃ"Ã(ÃàëàØÃÉÃàzÃ02ð‚÷ðÃð*ñÃPžÃPzÃPzÃ@ÜÃPÃàzÃà’Ã0ßÃÐÊÃöÃ0ÁÃÐeÃð§ÃpÚÃ"Ã@_Ã@èðùà ÃPýà à #ðÿÃöÃpuÃàbÃ[ðáÃsÃ0ÇÃ0 Ã0 àØðùÃ@YÃÐAÃÀ—ÃÀÃоÃ@âÃpWàÌÃ@_Ã0>àØÃ:ÃÐÄÃÃFÃÀ¯À ýÃÃÃLÃ0ÍÃpWÃÃ`­ÃpQÃ`­Ã`¹Ã`¿àmÃÐÜÃð<Ã0DÃ`§àÆÃ¥ Ã.ÀÃsÃPÃ`• à ÿÃð$ÃpoÃ@¾!Ãu$ÃÐÜÃpÚÃàëÃ0ÇÃÀ2ÀÃð$Àà´ ÃP’ðëÀrñÀœÃÐSëÃ0ÁÃðHÃðÅÀÃÐMÃFÃà÷Ã0JëÃàbÓÃP†ÃÀ8Ã@àüàØÃ:ÃpÈÃP€ÃÀ&Ã0\ñÀÃànÃp{ÃÐSÃPÃð›ÀõëÃ@kÃPÃLàIÃyÃÀ8Ã@ÀÃüÃpiÃÐYðàÞÃ08ÃÀ¯Ã0ßÃ@îÃð›ÃÀ£ÃàßÃ0ÙðÃFÃP’ÃðÃöÃàÃÀµÃ"ÃpÈÃðw!ðáÃÐSÃà÷ÃP'ÃÐÜÃPÃÐGà Ãäýñà ÃP’ÃP†ÃP†Ãà€ÃàýÃð§Ã@âÃðð ÃöÃÀ£Ã`BÃ0ÍÃ@âÃÐGÃ@eÃ.Ãàßà ŽÃêÃ`• ÃÐ/ à  Ã@âðùÃÃ0>Ãð§Ã0 Ã0µÃÀ>ÃÀ&Ãànà ÃÐ#Ãà2&À~àmð|à ÿÃpÚÃpàÃ0¯Ã"ÃP ÃàÙÃ`0Ã0>ÃäÃÒà ŽÃ`0Ã`³àºÃðƒà ”ðà !ðíÓÃ"ÃÀµÃÀ,à |ÃPñÃÀðíÃÃÀ… àÆÃÀÃ¥À~Ã:ßÃpÎàÌàÆÃpEÃиÃð›àIÃPñÃpÎÃgÃP€ÃÀÃPŒÃ@kàg÷ÃàÇ"ÃàÙÃ@Ã0,Ã"Ã[à ‚Ã@­Ã`BÃ( à ÀË$Ãð›àÞÃàhðóà ‚ÃðÃÒÃ0µÃpcÃ0ÓÃ0Çß!ÃЬ ßÃð•ÃmÃ02Ã`§Ãð*ýðóÃàñÃÐîÃÃÐMÃ`TÃ`6ÃP ÃÀ‘à ÀÃ`HÃP’ÃÀ2ðùÃ0DÃ0>Ãàýà7 àÞÃ@wÃPÃPñÃP€àÆÃàhÃ0»ÃFÃÃð§ÃpQÃÃÃð‰Ã@âÃÀ»ÃêÃàßÃàëÃвÃ0µÃð6ÃÐÐðùÃÀ¯à #Ã@è÷Ã@eà ÃP†Ã¥À ÃÀs#Ã0ÁÃÀ,àIðvÃÀ>Ã`HÃàýÃ@Ã0Dà ¦Ã`*ÃPýÃÐÊð‚àØÃPÃÞÀûÃ0£Ãð¡à /ÃmÃÐSðˆÃ@}Ã@îÃ`¡ÃððÃmÃ@YÃÀ… Ãð$ÃÐÖÃP†Ã@eÃ`HÃÐeÃ…÷Ã0>àCÃоÃÃÃ"ðùÃ0»Ã`­à7 Ã0…$ÃÐAÃð0Ã0\ÃÀJÃpæÃ@èÃ@eÃànÃP ÃÀµÃ0ÍÃÐGàIðX!àIÃ`§Ã@eÃ`¹ðjÃ@qÃÐwÃÀ»ÃÐÖÃð¡Ã0VÃÀPÃ`6Ãp]Ãà€ÃpcÃLÃð›àÆÃðú Ã`*Ã0ÇÃ0ÇÃàñÃ`¹Ã0Áà ŽÃpæàsÃÃÃ@Ãð} ÀrÃ`­Ã.ÃpøÃð¡Ã4ÃpWÃÏÃP ÀÝ!ÃÐ/ Ã0,Ã0DÃPñÃ¥Ãð§Ã¥à ‚Ãðà Ã4ÃÀ©ÃöÃ0ÍÃàtÃðÃÀ»à ²à à[ÃpÔÃðƒÃsÃLÃÀ£Ã`×Ã0hÃmÃðÃäÃð•Ãð•ð|à  ÃàhÃ0£ÃÒÃPzðjÃÏÃÐÖÃ0£ÃPtÀŠàUÀ„ÃpWÃpÎÃàýÃÀ&Ãàhà Ã0©ðÕ!ÃpQÙÃñðˆÃ@YðjÃð•à  Ãð*ÃàŒÃgÙðáÃÀ2Ãð•Ãð§ÃP÷Ã@ÖÃP÷Ã0 Ã0£ÃÀ‘ÃpàÃð§ÀÃëÃpÎÃàëÃPà ÃsÃöÃpið|ÃÀ&ðà à ˆà |à=ÃPn à p!ÃÐSÃ¥ÀéÃð ÃÀ£Ãº#ÓÃ@YÃ`¹ÃàzàÆÃÀ!à´ ÃÐ#ÃЬ Ã0£ÃpÔÃÀÃÀ&ÃÏðpÀ¿&ÃC"ÃI!à Ãànà v ÃÐÐÃÐÄÃp? ÃÐ#"Ãðw!àºà v Ãðq"ÃÀÃð Ã@MÃÌ Ã°ÿÃà€Ã@¾!ðX!ÃвÃÀö"ÃP÷à®!à ÿÀéÃPb"ÃC"Ãðq"ÃpÎàÒàÒßÃPn Ã`­ÃÐ)!ÃðƒÃPÃpEÃpª#ÃØÃÀ2ÀÃ0JÃêÃ.Ãp? ÃÀü!Ãðk#Ã0—!ÃàÍ!à¢#ÃвÃ0µÃàD#Ã`à ðóÃ.Ãpª#ÃðÃ0©ÃÀü!ÃgÃpKÃØÃpQðçÃ0&ÃÃ`$ÃÀö"Ã¥ à1!ÃC"Ã0µëÃØÃЬ ÃP÷ð^ ÃÆ!ÀéÃ`›à7 ÀlÃ`­ÃÐ)!Ã°Û Ã ÀÃàÇ"Ã0 Ã@ÖÃÀÃ@Ä Ãðq"Ã0!ÃP\#ÃÀ ÃàßÃ`¡Ã¥Ã0 à àØÃgÃà\à í!Ã.Ãð›ðáÃ0»Ã@G ÃPb"ÃÌ ÃÀÃ@A!ÃвÃ@;"ÃpKÃÐ5ÃàÇ"Ãðô!ÃÀÃ0µÃð‰Ã0 À×"Ã` Ã@Ã`¡Ãà\ÃÉàÀ÷ÃàÓ Ã`‰"Ã0!Ãp¶!Ãp? ðçàaÃPtà%#Ãpž%Ãà2&Ãðú ýÃ¥Ã0©ð^ ðpÃÀ÷ðÕ!ÃÀm$à=ÃpEÀã ÃPå!ÃðÃÐGÃàtÃÒÀõÃвÃÐ$Ã@eÃ`BÃpàÃPýÃPýÃÃßÀxñÃàñàÌÃÃÃ[ðjÃ:ÃðÃ[ÃäÃÆ!à Ã0©Ã=#ÃpÎÀà à¢#àÒÃLà7 Ãà ÿÃÐ_ðˆÃpQýÃpìðšÃ08Ã( Ã@YÃPŒÃFÃO ÃàhÃPzÃ0£ÃàbÃàÙÃüÀxà Ãp? Ãà>$Ã@;"ÃàÍ!ÃpÂÀxÃàñà=ÃP÷ÃpQàÞðçàÆàÆÃàýÃäÃ@ÐñÃÐGÃP˜Ãðú Ãp? Ã@MÃÐYÃÀ&ÃànÃðw!Ã[Ã`NðvÃp¶!Ãp? Ã@ÐÃвÃð ÃgÃ@ÃäÃ`0Óà7 ÃpÚðóÃ[ÃPë ÃpÎÃðw!Ã`›Ã@Ä Ã Ã@èÃÃÒÃÀ¯Ãð÷àOÃà÷ÃpÎÃвÃÀ—Ã(ðpÃØÃÐGÃ4à )Ãàtß!ýÃ`¿Ã0ÇàÒÃO ÃmÃ:Ãà†ÃÿÃPðÿðÿÃ0&Ãðà ùÃ(ÃP†Ã@úð|ÃpKðšÃÃÃ@ÃÀÙàOÀã ÃÆ!ÃFÃÀ8ÃÀ,ÀõÃ`$àØðóÃà\Ã"ÃðÃÀ¯Ã`­÷Ã0ÍÃÀ8ÀûÃÐGÃð›Ã@YÃÐ5Ã@MÃ@ÜðóÃÐÊÃà€ÃPð”ÃP¶ÃPÃ0©ÀÃpQðÃàëà ‚ÃÀ2ÃpQÃ`0ÃÀ Ãð} Ãà ŽàaÃ@ÃðçàÀà  ÃP€ÃÃpÎÃЬ ðX!ÃpÈÃðÃÀ‹Ãp9!Ã` "Ã@A!Ãànà ˆÃÒà p!ÃpWÃ`›Ãàµ%ÃP\#ð^ à j"ÃÀä%Ã`ƒ#ÃPÙ#ÃàV Ã[à Ã0#Ã°Û Ã4Ç!ÃàJ"à%#Ã0£Ã.ÀïÃ`§ðpÓ#Ã`ú$à ÿà®!Ãp? à j"à ^$à%Ãðk#Àã ÀZ"Ã@G ðÕ!Ãà\Ã0&ÃÒà %ðR"à%#ÀË$ðÃ$à í!ÃàÓ ÃÐGÃàåà ç"ÃPÇ&Ã0 ÃpÈà=ÃàV Ã`¡ÙðpÃÃ` "ÃÐ#Ã@SÃвÃ0!ðjÃPžÀ„ÀÝ!à¢#Ãp!%Ãp¤$Ãæ&ÃÀU(Ù"à$à Ã@;"Ã0 ÃàhÓÃPtðdðÃ$Ãðe$ÃC"ÃÀØ'ÃàÇ"Ãðq"Ã0 ð½%À`!Ã0 À`!ÃÒÃ0$à$Ã°Û ÃÀ!ðX!ÃPñà p!Ãp-#Ã@ÊÀB&Ã` "Ã@G à ÿÀlÃР"Ã@;"Ãð_%à %ëÃ.À„à´ à á#Ãàßà=ÃÞà ‚Ã@MÃ@âÃ0£ðíÃ0£àºÃPë à !ðL#Ã@)%Ã`‰"ÀéÃp? Ã( ðáÃ0µÃ0!ÃððjÃÐ)!Ã"!Ã0,ÃØÃиÃ@Üà ÃÞÃÀÃ` Ã0‹#Ã{#à ùà ÃPñðóðvÃðô!ðíëÃðÃPn ðdÀlðdà ÿà Û$ÃÐ#ÃÐ;Ã@ÊÃðÃÐ;ÃÃPtÃиÃP†à ç"Ã0#àIðçðçýÃsÃàtÃð‰ðÃÐ;ÃЦ!ëñðX!ðL#ÃPV$àºà ÀïÃàD#à /ðàmÃÃgÃP÷ðjÃ4ÃsÃð¡ÃgÃpÔÃðÃ0!ÃÐ5ÃI!Ãð} ÃÃÀÃ0»Ã`§ÃÀÃpEÃð¡ÀõÀûÃpÎà ÿÃð ÀÃpiÃ02Ã.ÃÞÃpWÃ`§ÃðÀûÃ`§Ãàbà Žà ÿßðvà ŽÃà€ÀŠÃpKÃ"Ã¥ÃÐSÀlÃP€ëÀÃP˜À~ÃÀÃpQñÃ@_ÀõÃ0>Ãàtð|ÃPÍ%ÃÀê$ÀÃ@kÙÃ0!ÃPtÃð$ÃPÃ0µÃЬ ýÃàtÃÀ ÀÃà€Ã@ÐÙÃyð‚ÃØÃÀ Ã0PÃäñÃ.Ã.à ˆÃð¡Ã@ÐÃ0£Ã@MÃ0ÇÀõÃØàOàÌÃð àOðˆÃÐYÃÀÃ[ÃPzÃpàÃÐ5ÃÒÀõÃ0¯Ãð ÃPýà ðŽÃPýÃàzÀ`!Ãø#Ãð‰Ã@ÐÃ@ÊÃÐAÃ:Ã@_Ã0 ÀrÃ( Ã08ÃpàÃð•ÀÝ!ÃиðçÃÐÊ÷ÃàbÀrÃЬ ÃP€à šÃà†ÃPÃpÚÃÀÃ@ÊÃ0&ð‚Ã`BÃð‰ÃÀ©ðÿÀ–ßà ‚À„À„Ã`HÃ`Åà šÃ`ÅÃ`ÅÃLÃ4Ãà\ÃÀ¯ð¬àUÃ`¿Ãsà ¸à ¬ÃÐ;à Ãðq"Ã`­ÃÐÐàÆÃ(Ãð¡ÃÀ2ÃêÃð<ÃpiÃ0bÃÛÃ4ðÿÃ0DÃ0ÓÀ„àÀð|Ã0ÇÃðw!à v ÃFÃP ÃÐGÃPàÌýÃ^à ¦ÃÏÀxÃ[Ãpià 5Ãà€ÃоÃ"à ùÃP Ã@ÜÃðÃ0ÍÃÀµðÃà ¦ÃpWÃ"Ã@îà ÃpÔÃàtÀ¢Ãð³ÃsÀûÀŠÀ„Ã@_Ãð¡àOÃPýàêÃFà ÷àêà[À ÀÀÃÀà ÃpQÃpàÃ@úÃÀ¯ÃaÃÀJÃÀÁÃàtÃð0ÃÐÄÃà[Ã0ÍÃ0"Ã0#ÃÀ¯ÃÃ@‰ÃíÃà’Ã0ÁÃ0V÷ÃPÃ`›ÃàP!Ã@kÃP’ÃPŒÃÀÃ`¹à À~ÃpÚÃpÈÃØÃоÃP†ÀxÃÀ—à[Ã`³ÃðÃÞÃÐÄÃÐAÃpÚÃÀ,àUÃmÃàëÃ0»ÀÃ0JÃêð|ð‚àÒÃ`*Ã`6ÃÀ—Ã:Ã`ÅÃ@ÖÃÀ‘ðóÃ4ÃP†ÃÐAÃÀÃÀy"Ãð à ”ÃPýÃ@ôÃàtÃ`‰"ðX!ÃÀÃPtñÃpoÃàßëÃÀ»ð à ‚ÃPÃ0,Ãð‰ÃI!ÃÀÃàÙðvÃÐ#ÃpKðpÃ@ëÃÐ;Ã08ÃP÷Ã0 Ã@A!Ã0ÁÃ@ÊÃ@G ÃP Ã@âÃ0>Ãàà ²ëÃpÎÃÀÃP À`!Ãðw!ÃàÇ"Ó#ÃäàÌÃ0µÃ[ðíÃ`<ÃÀ,ÃÞÃÀÃàzÓÃ0&ÀïÃp¼ Ã@G ÃиÃ[ÃP€Ã@kàUÃÐÄÃà€ñÃÐÄÃÉÃÀ&Ãgà ˆÃÀ,Ãð¡ÃPÃÐÄÃP˜ÃpøÃ0ÁÀÃÐSÃÛÃPñÀŠÃöÃðÃðÃ02ëÃLð”Ã0©Ã4Ã0»Ã0¯ÃànÀrðùðX!ÃÐGÃP¶ÃÀÁÃpÚÃPzÃÐâÃàzÃPÃð‰Ã@ðvÃ4ðÃÀ£ÃðÃ@èÃÀ©ýÀrà ‚ÃPzàIÃÀ ÃÃàýÃ^À„ÃÐSÃpQÀrÃоÃ`BàÞÃPÃpìÃ@ÃàÃPÀŠÃ0µÃpæà ¦Ã`NÀà ²ÀÃÀÁÃ`ÅÃ@eÃÀ£àmà /à[ÃÀ¯ÙÀ~Ã0JÃð¹Ã0ßÀÃ`fðˆàÞÃP°ÃíÀ¢ÃÀ&Ã0JÃ@eÃ`6ðÃ0JÃ`ãÃPÃ4ÀÀÃÉÃPÃP˜ÃÐqà ²Ã0Pà 5ÃàÃÀð ÃàØðÃÐâÃ`*ÃpòÃÕÃÀÇÃpìðˆð”Ã08ÃpuðàyÃ`TÃÐkÃÐîà ”ÃÐeÃÐÐÃÃà 5ð¦Ãð0ðjÃà’Ã`ËÃð÷ÃpoÃ0VÃð­ðÿÃpìà[ðÿÃÐÄÃÐÄð|À ÃpøÃÀ>ÃP¤Ã`ÅÃÐqà ¦Ãà€Ã@âÃ`¿À%ÃÐ_ÃdÃÐÐÃÀ&ð^ àÆÀûÃ`NðÃð§Ãð0ÃÀ2Ã@îÃpcÃ0>ðíÃÀ,ÃFÃ( à ÿÃaÃÐSÃ`*ÃàtàIàØÃ@âÃ`<àÆÃØà d#Ã`#ÃÐÄÃ`<ëÃÀ… ÃЬ ðíÃàÓ Ã°pÀ Ã`§Ã`­À`!ÃК#ÃÀy"ÃI!ÀŠÃ@èÃpÈÀã à$ð4'à ç"ÃC"ÃäÃÀ"ÀË$ÙÃàÓ ÃÀ‹Ã0$Ãp¶!Ã@_à Ãàµ%À`!ÃPzÃPtÃàÇ"Ãð•ÃвÃ0©ÃÕÃà\Ã`!Ã0—!ÃpEÃ@SÃàhðpà ”ÃÐÊà ‚Ã` ÃPñÃpÂÃàÍ!À~ÃÐÜðvÃ0µÃp9!ÓÃ.ÃÀ©Ã.ÃÀ—ÃÀ‘Ã0 ÃØÃàP!Ãp3"ðR"àÀàIÃÀÃ`• ÃÃà ˆÃ@kÃÕÃÀ… Ã@)%ô$Ã`›ÀÝ!Ã0£÷Ã02ÃP€Ã"Ã`›Ã02ÃØÃ@ÃàñÃ0¯ÃÐSÃmÃ@YàºÃ Ã°Û Ã“Ãð­Ã`*ðóÃ[Ãà€ÃpKðdÃ"Ã.Ã@_à d#ÃPb"ÃPŒÃpKÃ(Ã`›Ã0,Ã@G ÷ÃPŒðíÃ`!ÃêÃpcÃpÚÃ@_ÃÐÐÃ4ðóÀŠàÆÃàð‚ÃpÈÃÀ Ãð ÃÀ,ðvÃÐSà šÃÀ&ÃP€ÃÐ)!ðçÃ`§Ã` "Ã@èÃêðçÃpÈÃÃpÎÃàÍ!ÃPŒÀûðvÃpuñÃPÃÀ¯àaÃàtÃà€ÃðÃ"!Ã`›Ãp]àOÃàëÃ@ÃpÎà ÿÃàëñÃð‰ÃÀ©ÃpÔÃ:ÃP¤À„Ã02ÃPzÀrÃ`<ÃÀ&ÃÐAÃàñÃmÃ0>ÀÃäàÌÃÐ;ÃÐMñÃ`*Ã:à ÃР"Ã%'ÃPÃð¿à )à 5ÀïÃ02ÃyÃÀ>à ùà ÃàzÃmÃP†ÀÃ0 àgÃPñàºðpðùÃ:À Ãð<Ãð¹Ã…Ã0ÍÃÐÊÀéÃ0ÁÃ:ÃÀ©ð|Ãp]Ã@Ã0ÍÃàýÃà!ðÃÃÃsàÆà ç"ÃPÃ0ÓÃÉÃÐkÃð‰Ã`6à ŽàÒÃ0VñÃànÃ0DÀ„ðpà à šÀ¢ÃPÃpKÃgÃp¼ ÃFÃÀ,àäÃÐeÃÀ¯ð”À„ÃÀ Ã`0ÃÃÃà÷Ã`¹ÀûÃÃpòÃðÃ0µÃ`<Ãðð^ ÃP†à ”ÃÞÃÐÜßÀÃ0ÓÃ0ÓÃ`NÀœÃPÃ@èÃ02Ã@ôÃpòÃ0ëÃ@Ã`<ÃÐèÃà ÃpuÃöÀŠÃPžÃÀ8ÃöÃPÃð6ÃpÃpàÃP€Ã`³ÃP¶ÃÀJÃRÃÃÀŠÃ`0à ˆÃ0Íà ²ÃànÃpìÃÐâÃÏÃ`*Ãð•ÃLà Ã@Ãð$ÀœÀûÃpKÃð6Ãp? Ãð*Ã0ÍÃpàäÃ`¿ð”ÃpæÃð*ÃÐGàÌÃpìÃ0ÍðËàØÃäÃ4Ã@úÃP¤ÃpòÓàUÃàýðÃP€Ã@ôÃ0ÍÃP-ÃÐèà Ã:ÃÀ Ã@ƒÃÉÀ Ã0ÓÃÐYÃ0ÍÃÐ;ÃàP!Ã08ÃpuÃð§à ÃàýÃ@âÃpcÃÀ»ð#Ãpcà ÃÀÍðÃXÃÃ@ƒÃÀµÃ0ÍÃP'à  Ãð*Ã@qÃÐSÃP ÃÀ&ÃÐSÃçàêÃÀ&ðÃÐkÃàËýÃ`HÃÀ»ÃpæÃ@èÃ`¿ÃÐMÃpiÃÐYà #Ã`TÀàØÃ0VÃÐôÃÃð$Ã@‰Ã0bÃpÃð§ÃÐ5Ã`¡ðÃÐÖà ÃpøÃ`ZàØÃÐYÃyÃÀ£Ã@ôÀÃÐèÃÀµÃ‹àmÃêÃÀ¯Ãà ÃÐSÃ`­ÃÃÃÃÀ,Ã@_ÃàÃÐ}ðšà ÃpÂÃ@qà´ ÃPŒÃÐîð/ÃÀbÃP¼ÃjÃ`ZÃðÅ×à )Ã"ð‚Ã0>Ã`ËàðÃLÃ0ÙÃpæÃànÃpKÃ:ÃPªðˆà ÃÀÃÉÃð<à AÃP¤Ãð ÃÐèÃÏÃðÃðÃÐeÃàÃP'À1ÃÃPÃ`0Ã0ÍÀÃPžÃüÃPÀ ÑÃÐÖà ÓÃ@èÃÀ©Ãpæð ÀÃ@eà ¦ÃÀ©Ã@ƒÃÃÀÃ`<ÃÀÓðÃð•à ²Ã0ÙÃ0VÃ`³ÃP€ÃÐAÙðÃÃ`ÅÃàýÃ0ÇÃàzÃ0>à Žà ”ÃàýÃ@à šÃ@eÃÀµðvÃ[ðùÃÐîÃÀ>Ãà†À®ÃÐúð Ã4ÃêÃ@qÃpþÃ@èÃPžàðÃ.ÃÀ£Ã@eàØÃ.Ã@ôàêÃÐ_ÃP†ÃFð|Ãð§Ã08Ã`¡Ã0¯Ãð§Ã0ÙÃÀ,àÌÃpÔÃ0\Ã0bÃÀ ÃaÃ.ñÃpWÀœÃXÃàýð‚Ã…ÃàŒà #À–Ã`BÃÐîÃÃànÃ0»ÃÐÊÃ`ÅÃðHð¦Ã@úÃ`ÝÃð<Ã@Ã:ðdÃ@wÃÀ>ÃP¤Ã`¹àÒÃ@qÃÏÃÀ©ÃFÃ`BÃáÃ@§ÃPÃðÃÐÐÃð¦ÀÃÐÖÃyÃð0Ãð­ÃàbÃà÷ÃpÃÛÃüÃFÃPžÃP†ÃàñÃ@ÖÃðàêÃð*ÃüÃáÃ`ÅÃÐÊÃàÃ^à ²ð”Ã0ÁÃ0ÙÃjÃpøÃÐ_Ã^Ãð$Ã`NÃð*Ãð0àêÃ`*À ÀlÀÃpuÃP'Ã`×Ãð$ÃðÃ`TðŽÃP'àÞÃÉÃpÃLà Ãð¹ÃyÃpìàÀÃ@ÃpÚÃÐ_à 5ÃàŒà ¦à ¦ÃLÃ`ËÃ@ôÃpoàÃðHà Ã0PÃÀ8ÃXÃÐÖÃÀ£Ã0>ÀÃ@ƒÃàÃ`ÅÃðBÃÐeÃP-Ã`ZÃà€Ã…Ã:ÃÀ£ÃÐSÃüðÃàzàsÃàåðáð#À´ÃðBÃÐ Ã`ãÃà àgÃ`ZÃ@À Ã0Dà ÃàýýÃÀ2Ã@ÃÀµÃð­Ã(àØÃÐÖÃmð‚À„ÃÐÊÃpcÃpÚÃ@ÜÃ`6ÃPŒÀïÃP†Ã08ÃüðˆÃyÃð$Ãà ÃÉÃ`ãÀÀà )ÃÐúÃÀ©Ã0ÙÃ@}Ãà Ãð¹ÃÀDð”Ã0VÃpøÃpuÃ@Ãð¹à  Ãà˜à ÊÃÃ0ÍðÿÃÐ}Ãp‡Ãà’Ã0\ðŽÃÛÃÐwÃ(ÃÐAÃpàÃyÃpòÃàtÃÐMÃÐâà=ÃàýÀÃÀ¯ÃyÃpcÃÀàCÃpKÃ@úÃ@}Ã|Ã0ýð)ÃpuÃÐèÃÃ`×à AÃÀ\Ãdð;à ÊÃð¡Ãsà ñÃð<àmÀ%Ãð³Ã@ÃÀ>ÀÃðÃpÔàaÃ¥ÃàzÃ@qÃ@îÃ0»ðÃÐâðŽÃàÃÀ£ñÃ0VÀÃØÃÀ2Ãp{Ãp{Ã0ñÃàÃ@èàaÃ@ƒÃ0ëÃ0>ÃP'Ãð³ÃpìàöÃ…ð¦ÃÃÃ0>Ã`¿ÃP à[à šÃ@èÃ0ÙÃÐîÃPªÃð•ÃäÃ0,Ã08ðÃ4ÃðÃÀ»ÃÐGà #ÃÀµðÃpiÃ`¿ÃPÃ0\Ã`ÝÃpoÃàzÃ`¹Ã@ð ÑÃ`ÑðˆÃÀ ÃÏàðÃàÃP¤ÃÃ`NÃÃÃ`×ÃÀµÃ0ßàÒÃêÃÀÃÀµÃ0ÇÃÀÃÉÃPžÃ`<ÃÀ÷ÀŠÃ0ÇÃP!ÃàÃP’ÃpcÃ[Ã08ÃP†à ÃPŒÙÃpKð|ðŽÃsÀÃ0µð”ÃêÃ`ÅðpÃоàÒàaÃðÃðˆÃÀ2Ã0ÇýÃP’Ã`6Ã0µÃàbÃÀ!Ã"ðˆÃ0ÁÃ`­ÃÀà ˆÃpQÃðú ÃàëÃ@ÜÃиÃ0»ÃP˜ÃPýÀÃPŒÃPn À„ÃöÃ0>ÀõÙÃàzÃPÃ`0àØÃàÃ`³Ã`w%Ã`³Ã`Ëà[ÃÃ0ÍÃ@Sðvàmà ÃÐGÃ@èñÃàhÃÀ‹Ãmà Ã@wÀÃ`<ÃPÃP†Ã0ÙýÃ(Ã02ÃÐAðíà[ÃFÃÃðÃÐÄÃPýÃêð ÃààaÃàñÃ`­ÃÐÊÃàÃÀ©ÃPÃ`NÃpàÃðð|Ãð$Ãà÷ÀïÃpWÃPÃàëÃàtÃ(à[ÃàÃÐ5ÃÃð÷ÃFÃyÃ@eÀÃðÃ`$Ã@ÃpÈÃÐÄÃ@SÃpÎà ˆÃpÔÃ0£ÃP ÃäÃ0ÇÃP˜Ãp°"à1!Ã.ÃÐ_Ã0ÇÃÕàOÃPÃP¤Ã`ËÃÃpÈàØÃð¡à ˆÃàëàÒàÆÃиà Ã4Ã@eÃ.ÃÐMÃÐMÃPŒÃàtÃÐÜßÃP†ÃP Ãà\à Ã@ÐÃàßàOÃÐÄÃàbÃP Ã@ÐÃà÷ÃàŒÃàŒÃ@ÃP€ÃPn Ã@âÃàÓ ÃPà ŽÃðÀxÃP†Ãäà ŽÃÀ‘ÃöÃ`¿Ã`6Ã0»Ã`HÃ0DðçÃ02ÃàëÃpWà ŽÃ@k÷ðíÃpìÀÃð•ÃLÃÐÖÀ Ã@ÜÃàÃ…ÃÀ&ÃÀ Ãð›ðjÃPÃиÃÃÐYÃP Ãp]ÃÀÃpEðùÃÀ>Ã@ÖÃÀ‘À ðÿà[Ãð ÃàñàÀÀïðÿÃöÃÐMÃоÃðÀÃ`ËÃÀ ÃÀ Ã08Ã0ÇÃ@Ä ÃUÃ`›ðçÃÀ,ÃÀÃЬ ÓÀxÃ`*Ã0DÀ~Ã`³ÃP à ŽÃÀÃоÃPtÃp9!ÃÀ—ßðíÃðâ$ÃPtÃÀ©ÃÐAÃPë ÃPë ÃàP!Ã@ÖÃÐÊÇ!Ã`• àÆÃ.Ã` "ÃÃÐ5Ã@G Ã@Ã`HÃ(Ã"Ãp¼ ÃP÷ÃpÎÃ`§à ÃðƒÃPñÃÀ!à |ÃpWðjÃÀ‹ÃÀÃ0"ÃàP!ð|À~ÃÀ‹ÃðÃÀ‹ÃÒÃ@ÐÃànÃ0DÃàÃ@eÃð à1!Ãp¶!ÀûÃ@eß!Ã0 ÃиÃ@qÃÀ»à ðáÃàÙàÒÃðÃ@ÜÃ`¿ðçÀlà%#Ãà>$Ãð àOÃ@MÃp9!Ãp¼ àCÃà÷Ãp]Ã@MÃ"Ãp3"Ãpž%ÃðÃÀ,Ãð} Ã.ÃPV$ÃI!Ã`¡ÃpÔðíà !ÀéàºÃÆ!Àã àIÃ@ÖÃPtÃöÃÐMÃaà Ã@G ëÃpc÷Ãp? ÃPë ßÃ0!ðjÃ@ÐÃÀ Ã.ÃÀ‹ÃàtÃüÃPtðáÃ0,Ãgà à1!ÃвðdÃ08ð^ Ã¥ðvÃ¥Ã"!Ã@YÃÐSÀÃP€ÃPýÃà÷ÃÀ… à´ Ãp¼ ðX!Ã$Ã"Ãð à=Ã@ÐÃÀ ÃP à ÃP ÃgÃpQÃ`NÃ`¿Ã08ðÿÃиÃp¶!Ã@G ðíÃ0µÃÐÄðóÃ0£Ã`­Ã:Ã0»Ã0!Ãð Ã0&à ÀïÃ@ÊðpÃàbÃp9!ÃàëÃàñÃððÿÃêÃp]Ãð›Ã0£ÃpWÃÀÃànÃð§Ã`§ðíÃpÚÃ@úÃ`NÃüÃP†ÃpWÃ` ÃÀ‘Ã°Û ÃоÃ`§ÃöÃ@_ÃüÃ@qà |Ã0!à ùÃp]à #à ”Ãð›Ã`<ÃpÚà #Ãpòà ¬ÃðÅÃ@ðˆÃ`BÃ@SÃ( ÃpQà À~ÀlÃÀà=ð‚ÃpiÀÃ0>ÃP Ãà†ÃÐMÃpiÃ08Ã@ÖÃÕÃÏÃ`³ÃÐSÃ0»ÃPžÃ`ÑÃÀ2ÃÀ8Ã`fÃpòÃpWàIÃpÔÃàtÃðÃpiÃð<ÃüËÃRÃÀðóÃ@÷Ã@èÃð6ñÃðÃÐYÃpuÃð§ÃÀœÃð0Ã^Ã@wÀ àØÃpÚÃP¤ÃP°ÃÀ2àäÃ`³ÃpuÃP°Ã`Hàêð‚ÃÐkÃ`TÃ@ƒÃÐÊÃ0>ÃÐkÃpìÃ`HÃà GÃÛðÃÀÁÃ@qà ”ðÃà†Ãà¤Ã0JÃ0DÃÀ8Ãð$Ãð6Ãà÷ÃsðÃpøÃPªðŽÃàýÃàÁ#ÃPžà 5ðˆÃP°àÃðËÃ0ÍÃ`ËÃà†ÃÐÜÃ0>ÃÐ_ëÃÐÄàIÀ à #ÃðÃPÃÀ¯ÃüÃdÃÐeÃP¤ÃöÃÀ,ÃçÃPÃpìð‚ÃpÚà ðàäÃpoÃÀÃpÚÃàÃÀ>àgà )ÃsÃ0µÃÀ ðóÃÀ©Ã@èà ðšð”Ãð$Ã`ÝÃjÃöñÃ0ÙÃíÃ@qÃÐÖÀÃ`ÑÃð§ÃpWÃ0ÇÃÀ„ÃÕÃÀ©à /ÃLÃP!à  ÃpoÃP¼ÃÐYàØÃàñÃsÃFÃÐYÃ`¿à  Ã@ôÃÐeÃpæÃ`­ÃÀ2ÀœÃ0\àaÃàð à  ðÃÐÖðšÃð0ÃÀ>ÃàÃÐYÃÏÃÐkÃpøÃpà ;Ã@qÃ@à /ÃpæÃ0VÃÃpÔÃà†Ã`¹ð ÃÐúÃðZÃÏàgðÿðÃàëÃ0ÇÃÀ2Ãð¹Ãð6ðÃàŒÀÃÉÀœÃÀ‘ÃÐÖÃ0hÃ@eÃÐÄÀ~÷Ã0¯Ãp¶!À„À~à /ÃÃàýÃðà /ðà #ÃàýÃFÃp]àÌÃÀÃ.Ãp{ÃðÃ`$à  à ùÃüÃÛðjÃöðˆÃ@ƒÃ4àÆÃ`$Ã0JÃð$ñÃP!ÃpÎÃ`• ÃäÃðÃpEÃÀ‹ÃÀ©ÃðÃÀ,ÀÃðÃP÷ÃpWÃð›ÃÀ‘à ”Ã0ÇÃp]Ã@kÃÀ©ÀûÃ@YÃÐAÃLÃÐGÃð•÷ÃöÃ`¹Ã0>Ã0»ÃÐ;ÃÃðÃPžà šßà àä÷ÃàñàUÃ0µÃ ÃPŒÃð‰ðL#Ã.ðÃFÃP ðíÃ`³Ãà†ÃànÃ0µÃPÃPŒðpÃ¥Àõà ŽÃpKÃà\ÃpEÃÐÄÃ`6ÃоÃðÃÀÃðÀlà v ÀïÃàzÃ0©Ãð} Ã`›Ã0 ÃвÀéÃPzà ÃP÷ÃÞð‚ÃÕÃP†ÃpÚàØà #÷ÃUà p!À„Ã0PÃçÃÀ»ÃPžðÃÀ2Ã@âàÀÃÐ)!Ã02Ãöà  ðdÃØß!ÀxÃPñÙ"à ˆñÃ`¹÷àØÃPªÃ0\Ã`ËÃp]Ã@Ä Ã à ¬ðÃ0JÃ@ÜÃ`<à ˆÃÐMÃPŒÃ08ÃpÚà 5ýÃPÃиÃÀÃpìÃPÃP!À„Ã`³Ã`BÃ`ËÃ(ÃpcðÃà ðÃ@eÃ0¯ÃÐSÃà€à /Ãð6ÃÐSÃ@Ã08Ã@ÜÃP€ÃP†Àã ðíÃp{àgÃÉÀ+Ã@ÜÃ0ÁÃ`›àUÃÐYð Ã`HÃÀ,Ãpð Ã08ÃP3ÃÕÃpìÃà€Ã`TÃÉÃ`ËÃðÃPzÃ@SÃFàÀœÃ0\ÃpiÃ0bÃðNÃFÃвà ÿðùÃP!Ã0Ùà  ÃLÃÐkÀ%ñÃð$Ã`<ÃÀ ÃðÀrÃ`¹ÃàzÃgÃ@qÃ0DÃjÃpòÃ0ÇÃð0ÃpÃ`ËÃP’ÃPÃÞÃÀ,Ãð›Ã0©ÃO àCÃPÃpQðáÃÀ£à #Ã…ÃàŒÃ@úàØðÃà’Ãð¹à ¦Ã`ËÃðÃpòà ŽÃÐAÃÀ ÃÕà ¸ÃÐSàUÃð*à ÃpòðÃÏÃ0ÁðÿÃÀ>Ãð¹ÃpÃÉà ˆÃàŒÃ@kÃpæÃÛàgÃöÃsðdÃ`¿Ã@wÃð³Ã@wà ÃPŒÃpoÃP’À ÃÉÃ@ôÀ%Ãð¿ÃÕÃÐÊÃ@qÃ(ÃðÃ`ZÃÃÃÏÃpòÃ0ßÀ¢àaÃ`³ÃÀà ²ÃLÃpcÃÐÐÀrÃpÎÃÐ_ñÃPÃÀ¯Ã@ ÃPªàmÃànÃ4ÃÃ`6ÃÆ!ðíÃànÀûÃ`¹Ãpìð ÃpìÀà ¦Ã`<ÃàÃÏÃ0>ðÿÃÀ8ÃÀ ðÃà€ÃÀ&Ã0ÁÃð¹Ãà˜Ã.ÃP Ã@YÃð•ðíÃpcÃð¡ÃÀ2ÃP’àÒñÃàtÃ`¹Ã08ÃÃÃ"ÃÐGÀÃ@qÃÀVÃXÃðàyÃêàOÃà Ãð6Ã0ÍÃ`¡ýÃ¥À–ÃÃ@wÃpoÀðŽð‚Ã@ÖÃÃÃmÃ:ÃÃÐMÃ@kÃÀ—ÃP3ÃðÀ~ÃÀÃ@ÊÃpEÃgàÞÃ0ÓÃpÚÃ0ÍÃànÃàñÃRÃ@ôà 5à ¾àÒÃ@ÐÃð$ÃÐÄÃ@kÃÀ8à šÃ@ôÃPŒððÿÃmÀ Ã@Ã`$ÃÃàñÃð*Ãð•ÃpQðùÃpiÃÉÃÀ»Ã0ßÃP¤ÀÃ@_Ã(Ã@ôÃÉðÃÀ ÃPýÃÀ¯ÃàhÃêÃpcð”àØÃ0bÃ@Ã:ð|Ã0ÇÃðÃpìÃÐÐÃ@îÃàðÃpìÃÀ©ÃXÃ0ÓÃð¹ÃFà Ã0JÃ08Ãaà Ã@‰ÃRÃà€ðÿÃpàÃÀÃ@îÃ`TÃXÃ`<ÃàßÀ„ÃÀ8ð ñÃ@ÖÃð­à #Ã¥ÃàV Ã`*Ã@ÃP!Ã`0Ã@èÃð0àOÃpWÃÉÀŠà šÃaÃ@_Ãpþà ¬ÃðƒÃàV ÃêÃpuÃ`fàÃ^ÃÃÃÐAÃPÃàëÃÀ£ðŽÀŠÃÃÃp]Ã¥ÃðÃÕÃàÃÐ_ÃpàðàäÃ`HÃ:ÃàhàOÃÛÃÀ>Ã4àÌÃRÃÛÃÃP¤Ãð¹Ã0ÍÃ0DÃÐÊÃð6Ã…Ã@úÃpàÃöÃð¹ÃÀ ÃÀÃP-ÃÃ@wÃ0JÃð6ÃÃÐâÃð§Ã‹ÀÃpìÃ@}Ã``Ã…ððÃ`Bà ;àgÀ–ÃPÃ`³ÀàaÃàÃð§Ãà ÃÕðÃÐkýðùàOÃPÃRÃ@qÃÀ¯Ãàýà )àÞÀ¢à ÄðÃRÃðBðÃRÃP3à ¸ÃÃ`HÃ0VýÃËÃsÃXàgÃpøÃp{÷ÀÃpæà 5à ¦ðÃPÃ@qðùðíÃðÃüð¾àmà7 Ã0ÓÃp]ðÃ0ýÃPžÃ0VÃPªÃÃÐkÃÐÜÃüÃPÃ@wÃÐÖÃöàÆÃ4Ã`$Ã`<àmÃÃÉÃÀ>ÃÏÃðð²Ãð<Ã`$Ã02ÀxÀïðˆÃà 5Ãð•ÃàV ÃÀ8Ãð­ÃPÃÐôà ¦Ã0ÍÃðÃpcÃêÃоëÃÐMÃ`×Ã@úÃ@îÃ@eÃðÃp? ÃPŒà  à Ã`BÃànà=ð ðŽÃP’ÃàýÃð$ÃÐ_à[ÃPŒà ðóÃ@_ÃÕÃLÃP˜àIà ˆÃêÃPÃ`HÃ`NÀ„ÃpÔÃäÃP ðÃ0JÃ0£Ãpuà ¦Ã4à ýÃ0µÃðàÌÃÐGÃÃ@ÖðÃLÃPŒÃ08ÃÐ;Ã08ÃêÃ@kÃÀ&à |Ã`*ÃàzÃàñÃ"ÃàÙÃ@eÃ0PÃ:Ãà€Ã0ÁÃP÷à7 à ˆÃàŒàöÃÀÃ`¡à !àÆÃànàºÃ0¯ÃÞà ‚Ã[ÃPë à í!ÃFÃð³Ã@Ãð¹ð‚Ã(ÃpQÃÀ©ëëÃànÀõðùÃ`³Ã08Ã@ÖÃUÃ`ÑÃ`ÑýÃpÚÀŠÃáÃpKÃÐGð‚ÃöÃÞÃ`¡ÀÃÀ£ýÙÃ`$ÃP àäÃ0ßÃLÃPzÃpcÃðÃ"ÃpEà )Ã@ðdà ”ÃP÷à ‚ðpÃ0 ëÀéñà ŽÃðð|Ã0>ðˆÃ0µðˆÃ02Ãðú ÃgÃÀ‹ÃÀ‹Ã@G ñÃ`BÃ@îÃÐÐÃð•à ˆÃ`0ÃpiÃÀ¯ëÃ`<ð‚ððpðáàÆÀ–ÃP†ßÀ`!Ã°Û Ã°íÃÌ Ã°áÃ08Ã@Ã`*ÃÃÃàëÃ0,Ã:ð^ Ã` ÃðÃðÃPýÃ4à ”ÃpàÃFðùÃ0¯ÃpæÃ`Bà 5ÀßÃà\ÃFÃ0»Ãð‚ÃpæÃ`HÃÐSÃÀ ÃpÔÃ@âÃÞÃ0>Ãð¡ÃÐYÃ`­ðR"ÙÃðÃ@Ãàžà—ð à1!ÃÀ… àÀÃ0©à ¦ÃPà ¦àaÃ@Ãð­ÀÃÀ,ÃpcÃ`H÷ýà$Ã`$Ãà÷Ãà÷ÃFÃÀ—ÀÃ0DÃÀ»Ãà€ÃPh!àÆÃÃ0åàgÃ@ÜÃäÃ0ÓÃ`HÃgÃaÃPÃpÚÃànÃPžÃÀà À~ÃpWÃð$ÀrÃpÈÃ0©àIÃà†Ã@Ã@SÃ@ôÃð*Ã0DÃ`0ÃоÃ(àØÃ0 Ã0µÃàýÃð›Ã0»ÃäÃ0ÇàäÃÀ»ÃàbÃÐSÃÐÐð ÃÀDÃð¹à  ÃpàÃð} Ã`Ã( Ã`0Ã@_ëÃ0»à ŽàÆÃ0Á÷ÃyÃðÃÐèðÿÃPÃàØÃ`­ÃÀ&ÃpøÃ`¹Ã`0ÃÐSÃÀÃðà ðàaðÃð0Ã@îà šßÃpæÃÐÊÃpÔÃPÃÀ‘ðçàÒÃPýÃÀ8ÃP˜ÃPžð Ã`*Ã`BÃÐYð|ÃP†ÃÀ ÃànÃpKÃ4ëÀ~ÃвÃ0¯Ã@îÃÀÁÃ`³Ã0µðÃPžÃ@ôÃpKà ÃsÃPÃÐÐ÷ÃðÃpÃ`HÀ+Ãð¹À~ÃÀ©ÃÀ2ð‚ÃP ÃÐÖÃð0Ãð§÷÷à Ã0JÃ@ÃyÃ`¿ÃpiñÃ`<àÒÃsÃàzÃP Ã`­ÃÀ£ÃÀÃäÃð§Ã`ÅÀàäÀ¢ÃÐYà  à ¦ÃÐeÀÃ`³ÓÃà€ÃðNÃÀÇÃðÃ`¹ÃÀÁÃ08ÃðÃ@kÃàŒÃð0ÃP!ð‚à #ð ÃP˜ëÃ0ÙÃð0Ã`6ÃPàgÀ¨à /Ã0ÓÃ0DÃ@ÃÃ0DÃÞÃàßÃÏÃ`¹Ãð•ÃPÔÃjàÌÃðÃ`NÃ0VÃÐâÃð¹ÃpiÃpøðÃ`¿Ã0Áà #Ã`ÅÃPÃÀÃLðvÃØÃ:ýÃÕÃÀ¯Ã.ÃgÃð*Ã0PÃ`ÅÃpÚÃpàÃFÃsÃ@YÀZ"ÃànÃ0ÁÃÐqÃðfàsÃÀ—ÃÀ—Ã"ÃÃ`Ýðð”Ã0,ÃÀ ðÿàmÃP˜Ã0\Ãp{ñÃàñÃÀ&Ãpþðð|Ã0ÓÃ`Åð‚Ã`ÅÃ@ÜÃP˜ÃpÚðóÃ:Ãð§ÀÃPÃÀà=ÃP†ÃÀ ÃÞÃàhàUÃ`ÑðŽÃ`¹à Ã`¹ÃÀ¯ÃP†ÀlÃ0 Ã0 Ã@kà ÿÃиðáÃ(Ãð›ðˆÃ@úÃP ðjÃ`­Ã@G ÃpæàaÃð6àmÃ0,÷ÃpÈà1!ÃpÔ÷Ã`• Ãp¶!Ã0 Ã`!ßÃànÃÀ2ÃÐ_ÃÀ¯ßÃ08Ã(àIÃàÍ!Ã4Ã0µÃ¥ÃO Ã( ðùÃÐ_ÃpòÃ@kÃÉÃÐGÃð›ÃÐkàaÃðëÃÏÃäÃÀ‘ÃØÀxÃÐèÃðÀõÃ`­ÃÃgÃ0,ÀrÃPÀÃ@ÃpcÃÞà ŽÓÃP€Ã0,Ã`*ÃPß"ÃàÍ!ðX!Ã`¡À~Ã@ÖàÆÃàñÃpEà+"ÃÀ à ó Ã@îàgÃ@èÃ4ÃÐMÃ@kàIÃ@ÖÃðàØÃmÃ(ÃÐGÃÐGÃpÚÃ0>Ã`³Ã0µÃàtÃ`­ðvðÃ…ÃÀ£ÃÀÀõà àØÃsÃ@ÃàýÃXÃÐeÀ Ã0»Ã@eà )ÀŠÃ0&Ã@ÜÃ`*ÃFÃÀÃÌ ÃÐÄÃÐ/ ÀÃ0Íà Ãà\Ãð ÃpÎÃ0VÃ`6Ãà÷ÃjÃ@îàÒà ÃàhÃmðàØàÆÓÃpWÃ`<ðšÃ`<Ã@ÖÃðÃð•à ÃØÙÃP’ÃPŒà ó à àØÃð*à ÿÃp? Ã@YÃpuÃ0&à ÃpcÃ0 Ã`›À ÃðÅýÃðÃð*Ã@ÖðíÃ@ÜÃ@Sà ˆà ‚Ã0,ÃðàÀÃ@eà ŽÃ@ÜÃÀ,Ã08Ã`¹ÃP Ã` ÃЬ ÃвÃ@_ÃÐÄÃ` ÀrÃ` ÃpKÃÃPÃPÃ4ðÃ$Ã`›ÃàëÃ`ZÃP3ÃàßÃ0 ÃPtÃÀ‘Ã@âÃpEÃ`¡ÃðÃàP!à Ãð›Ã`BÃP†àÒÃ0ÍÃ`­àÀÀïà  ðpÃ`­Ã0Çà ŽÀÝ!Ãp9!Ã0£ÃðàäÃÀ»À–ÃP†Ã@ðóÀŠÃÒÃð Ã`›à !àOÃsÃ`¹ÃÛÃàtÃ08ÃÀàºÃÐ;ÃpKÃðÃ`ÅÃð›Ã°Û à ˆÀ„ðpÃÐGÃP€ÃÐAÃ0ÇÃpÚÃàñÃmÃàëÃÀÃ@YÃÐÕ.ÃPÃ`TÀrÃpQà ùÃÀÃPýÃàåÃ`­ÃÀÃ0µÃpÔÃðÿÃêàäÃð•à à šð‚Ãð§Ã`Ã.ÀÃ0»ÃÐÜÃöà àUÃ`ÅÃàññÃ0ÍÃà’Ã02Àf ÀûÃàýÃ0»Ãð*Ã0ÇÃ`­ÃàñÃpiÃ@ÃPà+"ÃÀ!ÃpiÃpWÃÀ£Ãà÷À„Ã@ôÃðÀÃànÃP’ÃàÃpcßÃ`­À~àOÃêÃP-ðvÃàñÃpìðÿÃð¡ÃçÃ@•ÃÃÃpÔÃàýÃÐ5ÃPÃÐYÃ@wàÞÃÀ—àCÃànÃÀ Ã0ÇÃÐèàÞÃ@âÃÐ5Ã`›à ÿÃÐAÃÀö"à1!ÃPh!ÃàD#àÀÃвà á#Ãp¼ ÃàÍ!Ã@A!Ã0&ÃàÓ Ã@Ä Ã p!ÃÀÞ&ÃPD'ÀN$ÙÃPn Ü(ÃÀØ'à&Ãà&(Ãàµ%Ãð;+ð@%Ã@š'à 4+Ãò$Ã(Ã&Ãpž%Ã0‹#ðÉ#ðF$ÃP8)Ãò(ÃP»(ÃP8)ÃP£,ÃÈ+à @)ð()Ã0s'ÃðÄ)à +ÃÀØ'Ãþ&ð«(Ã0‹#ÃÐŽ%Ãi&à X%Ãð¸+Ã@v-Ãà©'Ã@)%à~)ÃðÖ&Ãð;+Ãà&(Ã1%à%Ãðw!Ã0%Ãà¯&Ã=#ÃàÇ"ÃPÙ#Ã0g)ÃPµ)Ü(Ãò$è&À³(Ã?-Ã0%ÃI!Ã`_)Ã*À³(à–%Ã`ƒ#Ã`q&ð½%ÃðÖ&Ç%ÃÐ &ÃÀØ'ÃÐ|(ð4'Ãpt,Ãð¾*ÃK+Ã"Ã@ &Ã`q&Ãp†)Ãà)ÃðÊ(Ãà£(ÃQ*Ã&ÃP&,ð@%Ã`• Ã( Ã@ÊÃI!Ãà'ÃÂ,Ãà£(ô$ÃPÓ$à&ÃÐ'Ãì%Ã0"Ã`ú$Ã@ &ÃÐ'ÃÐj+Ãð;+Ãà'Ã0g)Ãà©'Ã`ô%àû)à ½)â'Ü(ð±'Ãðè#à R&Ã%'ÃÐj+Ãpt,Ãi&Ãi&ÃPÍ%ÃÐù(Ã@)ÃðÊ(ÃÐí*Ã0a*Ãø'Ãì)Ãp*à Ã(ÃÀC+àõ*ÃðÊ(ÃW)ðF$ÃðS'ÃÀÌ)ÃÀU(Ã@Ž)Ã@ˆ*î%Ã`S+à)ÃPD'ô$Ã`k'ÃÐÿ'Ãð;+ÃP0ÃÔ)Ãðú Ã@²#à Õ%àŠ'Ã0y&À›,ÃÐ'Ãà¯&Ãàµ%à Û$ÃÐ|(Ã`ú$ÃÀC+à ±+Ã`k'À¿&à„(Ã0g)ð+Ãp†)ÃÈ+Ãðe$Ã@)%Ã`ú$Ã0ü%ÃPV$ÃÀö"ÃP»(ð.(Ãi*Ö)ÃPJ&ÃPV$Ãpª#Ã`#ÃÀÞ&ð±'ÃÐù(ÃpŒ(ð4'Ãà8%Ãp(à Õ%à¢#ÃPD'ÃðS'Ã0s'ÃÀ"ÃÀm$À<'ð™+Ã](ÃÀð#ÃPÓ$ÀH%Ã0#Ãæ&Ãà8%ÃÀO)Ãð5,à É'ÃðY&ð·&Ão%ÃÀä%Ãà'Ã@ &Ã@)%À­)ÃðS'à Õ%à–%Ã&Ã{'Ãpª#ÃP2*Ü(ÃÀä%Ãø#Ã@)%ÃðÜ%ÃðY&à%#ÃÐ#À×"Ãp¤$Ã@”(Ã@(Ã`}$Ãp'ðF$ÃÆ!Ã0‹#ÃÐ%ÃðÜ%ÃÐ%à Ï&ÃðÐ'Ãðâ$Ã`q&à É'Ã%'Ãæ&ÃP>(ðÃ$ÃÀ"Ãиà%#Ã@5#Ãà£(à L'À6(Ã@#&à á#Ã0‘"Ãðô!ðX!à¨"ÃPÙ#Ãp!%Ã0m(Ãø'Ã@ˆ*ÃðY&Ã{'à®!à d#ð@%Ã0$Ã@²#ÃÀg%Ã%'Ã$ð^ Ãðw!ÓÃðô!ÃÐ#"ÃÐù(Ã0ð'Ã0ê(î%à ç"ëÃ`!ÃðS'à Õ%Ã+&Ã`ƒ#Ç%ÃÌ Ã0 Ã"!Ã`ƒ#ÃÌ Ãà2&ô$ÃÀs#ÃÐ)!ðçà á#ÃPb"à X%Ãp!%À×"ÃPÙ#ÀË$Ãð ÃÌ Ãà2&Ãà»$Ã@/$ß!ÃàÍ!Ãðô!ÀÑ#Ãp-#Ã0—!Ã0!Ãp¤$ÃÐ &ÃP\#Ã`#ðÏ"à á#ð½%Ãp'$ÃР"ÀT#ÃÀy"Ã`ƒ#ÃÀ"ÃàbÃà\ëÃO Ãà>$ÃÐ#"ÀZ"ÃPå!Ã0ê(Ã`ú$ÃàßÃ"!Ãäà Ã0£ðóÃÃpÂÃ`!ÀÅ%Ãà»$Ù"Ãð‰Ó#Ãà»$ÀT#À`!ÓÃ0&Ãð Ã`w%Àf ÃÐ#ÃPh!Ã[ÃÒÀÝ!ÃpÎÃ@MÃ.À×"à$ð±'ðL#ðpÃI!ÃUàÒà šÃO Ãp'$à v Ãðô!ÃÃpÈÃ1%ÃPß"Ã"Ã0—!Ã@/$ÃÐ|(ÀT#Ã¥ ÃpÂð^ ÃÀ… Ãàbà1!ÃpKÃO ÃÐAÃ"!ÃàÍ!ÃpQÃ`*ÃÀÃ0£Ãp¼ ÃàV ÃàhÃÌ Ã0!Ã0 à ^$ÃàÍ!Ã` à ÃÐ/ Ãðw!ðÃ$Ã¥ ÃÐÐÃ02Ã1%à j"ÃÐ#"ÃpQÃ@ÖÃC"ðÃ$Ãp-#Ãðî"ÀlÃðú Ã°Û Ãu$à j"Ã0µà ÿÀÑ#Ã`• ÃÐ)!ðX!Ãì%ðçñÃàÇ"àºÃвÃp°"ÃÀÃP†ÃÀ£àÀÃЦ!Ãà ùà Ã@G ÃPtÃÐ)!Ã`¡ÃàÇ"àCÃpàÃàn÷Àã à¢#àºÃ`$Ã0!Ãð Ãðô!ÃP ýÃð‰ÃÀy"Ãвà+"Ç!÷ÃÀ—Ã@SÃþ"Ã`­Ã@ÊÀïÃð›à ”Ã0µà ÃäÃЬ Ã`#à ŽÃsÃ@ÜÃ0&ÃÞàØÃиðX!ÃÀÃPå!Ã@A!ÃÐ)!àÌÃP÷ÃÐÿ'ÃÐŽ%Ã@ÐÃànÃ`¡Ã=#ÃUÃÒÃЦ!ðÏ"Ã0 ðçÃ@MÃ¥à ùÃaðíÃ@G Ã`6ðvÃÒà=Ã`$Ã[Ã0&ÃØÃêÃÀàCà À`!ÃÌ Ã !ÃÒÃàtÃÐ_ÃÀÃp3"ÀðàêÃ`¹à®!ÀïàOÃÌ ÃÒÃpEà®!à¨"à šðˆÃð•Ã@ÊÃ08à ðíÃ`§Ã@èÃ`• à=ÃàV Ãð} ð ÃàtÃÃиÃaÃ`¹ÃðÃÐÄÃÀ—Ã.Ã.ÃÀÃиÃÐÊÃÐwÃ:ÃÐÖÃ02ßÃ0ÇÃ4Ã08Ã4Ãð$ð^ Ã0£à Ãð›ÃðÃàtÃ@ÐÃpÔÀŠàœ$À~Ãà†ÃFÃyÃ@kÃ@âÃ0>Ã`³ÃиÃ@Ã`­ÃÆ!Ã`$ÃàÃpæÃ0¯Ã.Ã`• Ãð$Ãp]à šÃÀàÆàÆÃ0JÀ~àÆÃ"ÃàtðpÃðô!ÃðÃ0»ÃpiÃ.ÃgàêÃ`¿Ã@SÃPtÀ~ÃÀ£ÃPžà[ÃmÃpQðdÃàV ÃsÃêÃ@âÃ0¯àOÃ@eÃPtÀrÃpWÃpàÃPžÃ`ËÃ0µÃpÎÃð Ã4Ã`¿àIÃpEÃpÂðvÃdÃP-ðà ùÃÐYÃ0ÁÃ`• ÃÀ… Ã`0Ã0»ÀÃÐAÃиÃPŒÃ08Ãð Ã:ÃÀÃÀ£Ãp]ÃÐÄÃÀ£ÃÐÄýýÃÀÃ`$àÌÃ4ÀÃ0\ÃP˜Ãð•ÃpÎÃÐGÃ¥ÃP˜àêàCðvÃpcà Ãð Ã`³ÃP€ðpÃànÃpÔÃиÃàbÃð0Ã0ÁÃðóðdÃ`›ðùÃpÚÃ@ÜÀ~ÃÐ;àOýÃpìðÀŠÃ`¿Ã@ÐðpÃPŒÃPÃ0VÃsà[ÃàtÀxà Ãà’à šÃ(à ÃPÃP€ÃÃ@ÜÃàzÃmÃ0ÍÃð§ÃpìÃPzÃêÃàñÃpÚÃPýÃ0»Ãð‰Ã¥ à ”ÃpKÃ@ÜÃàñÃ0,ÃPzÃ0µà ÃpQà ÃàëÃðÃð*Ã`¹ÀûÃ`Ãð} ýÃ@èÃðÃöÃP†ÃàýÃ@eÃàtÃpcÃ`³ÃàhÃÀ‘Ãð$ÃàåÃ@wÃ`TÃpæÃðÃaÃP ÃЬ Ãp3"Ã0,ÃFÃð*ÃpæÃàzÃð¡ÃÀà ¦ÃðßÃ@ÜÃÀ—ÃüÃàbðÿÃÀ&À~ÃÐÄÃ@YÃPzÃPÃ`$Ã0»àÒÀÃPÀŠÃpEÃ@kÃpæà ùÃ@_ðíÃ`6ÃðÃpEÃоÀrÃ4ÃàÇ"Ã4ÃÀà ÃÀÃàëÃ4Ã`§Ã0"Ãð} ÃäÃPžÃÀÀxàCÃð›Ã`¿ÃÀà ÿÃpÂÃò$ÃPV$ÃÐÄÃÐÊñàaÃ08Ã0 ÃpÔÃ`BÃpcÃвÃð‰ðvÃð ðóÃP†ðáðvÃÐ/ ðX!ÃPýð^ ÃÀ‹Ã@âÃÐÐàIÃ`›ÃPtÃÞàÌÃ`0ÃÃÐ)!àÀÃÐÄðpÃpoÃP Ã@Ã@Mà$Ãð Ãðú Ã`§Ã0 Ã`!ÃPñÃP÷ÀïðíÃÀÃêÃ@SÃ@SÃànÃð•Ãð›Ã@ÊàCÃêÃ0&ÃpÈÀõà ˆÃüð”Ã(ÃmÃиÃP÷Ã( ÃPñÃPŒÃ`§ÃàñÃpÔÃÀ©Ãpæà ÃàýÃPýÃ4Ã`³ÃàëÃ`­Àã à ÀÃ0µÃÐSðíà ”ðà ¦ÃPñÃÌ Ã`0à ÃÀ‘Ãð§ÀœÃ‘ÃPÃüÀïà ‚ÃðƒÃPÃ0>Ã`6ÃpiÃPŒÃpKÃð} ðÏ"Ã0 ÃÀ‘àO÷ÃI!àOÃð•ÃpiðÿÃpÚÃ:Ã"Ã@SðjÃÀ—Ãêð^ ýÃpÎÃPÃÀ>ßðpÃÀÃÀ©Ã@ôÃð Ã0—!Ã@_ÃÀ&Ã@ÜÃ@YÃ`6ÀõðŽÃÀ,Ãð•àÌÃ@YÃÐÄÃmÃÐÄà Ãàåð|ð‚Ã08ÃpÎÃp9!À„ÃÃàOÃpÔÃÃàzÃÀñÃgÃÀÃ`$Ã`¿ÃPžÀÃÀÃgÃÐAÃ`<ÃPÃLÃÀ,Ãð ÀÃLÃàÃFÃоÃP ÃpWÃð0Ã`¹ÃðëÃвÃÐâÃ0>Ã0»ÃÃà )Ã`NÃyÃ0>ÃÐ_Ã`¿ÃpcÃpÚÃêÃpÈàØÃyÃsÃ0Áð|ÃpcÃÀÃÃÀ,à ÃpiÃàýßÃüÃÐÐà àÞÀœÃ@eÃÀÃíÃ0åÃàÃÒÃà\Ã@ÜÃ`­Ã0JðˆàOàðÀœÃà’Ã@wÃP9ÃpìÃ@qÃÐGÃ(À~Ã`*ÃðÃÀ©ÀÃÐ;à[ÃPëÃsÃð*Ãà ÃàÃ`*Ã0ÍÃÀ‹à ¦ÃÀµÀ¢Ã&ýÃÐeÃÐÜÃmÃ0ÙÃ0DÃÐAÃð¡Ã`6ÀÃàbÃð•ÃоÃÐÄÃàð”ÃàÃÀ©à šà /àØÃðà´ ÃÐÐÃpàÃ@_ÃÐAÃ` Ã0£Ã`§Ã@àCà´ Ã@kÃÉÃ@ÃÀÓðvÃpKÃpÚÃ[à p!ÃÀð|÷Ãð‚Ã@eà ÃÐ5ÃÀ‹ÃðàÆàIÃ0£Àf ÃP÷Ã`§Ã0µÃðw!À„ÃP!à[ÃmðáÃЬ ÃР"ÃàÓ Ã°vÃpWÃpEÀrÃ@ÃÏÃà Ã`$ÃÀÀT#ÃЦ!Ã0&Ã$ÃÀ!ðóÃÀÃ@ÐÃð§Ã0,ÃÐ)!Ã@ÊÃP†ßà åàIðvÃ@ÃpWÃàV à7 ÃpÂÃð÷àºÃp¼ ÃPtëÃ0VÃPžÃÐMÃÒÃÃÃyðpßà ‚Ãð‰ÃðƒÃ`›Ã`• Ãð‰ÃÀ¯Ãð0Ã0ÇÀéÃP ßÃpìÃ0ÁýÃ(Ã0>Ã4ÃвÃ`Ã`­ÃÌ Ã`³ÃðÃyÃà†ÃÀ‹ÃÐGÃ@ÜÃ@YÃàbÃP¤Ã…àCà Ã@G ð|ÃLÃ@Êà ùÃP€ðÃÐ_ÃPàaÃ0»ÃвÃ0©ðíÃ08à ÃsÃ0DÃà\ÃÃÀ à À„ÃÉÃ@eàÞÃäÃÐÐð‚à ”ÃP!ÃÀ£ÀràUà ðáÃð} Ã@îÃÃÃ@qÃpæÀõÃðÃðÃpcÃÐYÃP'àUàÞÃmÃàëÃ@_à Ã0ÁÃ@èðÃð$ëÃàzÃ@ôÃüÀ„àØÀ„à #à #ÃÀ2à /Ãà’Ãà’ÃÐúÃÐèÃpøà )Ã`³Ã@SÃêñàØÃÀ&ÃpìÃ@Öð‚Ã@_ÃäÃà Ã:ÃPàUÃà÷Ãð§Ã4Ã`<à7 Ã`¡ÃÐGÃ0>ÃpiÃà€Ãð<ÃàÃÀDÃçàaÃ@ôÃð›ýÃÀ>ÃpiÃð‰Ãp¤$Ã@¬$ÃP’Ã0ñà…Ã@ÃÐeÃFÀõÃÐÊà ÃÏÃÐYÃ0ÁÀà ÿÃ02Ã@îÀð Ã¥ÃöÃÀÃpoýÃÉÃêÃ`à v Ãêð‚Ã0»Ã@_À„Ã@}àsÃpÚÃ@Üð|ÃðÃ0JÃPÃêÃäà ¬àOÃpKðvñÃ02ÃXÃpæÃ`¿à  ðíÃÐÐÃP’ð|Ã@îÃÀ‹ÃÐSð|Ã0»Ãð•Ãàbà ”ÃàŒÃFÃÃÃÃpìëÃ0ÓÃêàäÃ@wÃêÃ0,ÃäÃ0JàOÃ@_àIÃÀ ÃPŒàUàäÃP àºÃpKÃ0ñðˆÃÀü!ð^ ÃÀ‘Ã0£Ã:Ã0PÃ0©ÃP\#Ã¥Ã`¹ÃÐÊÃð¡ÃÀ¯Ã`0ÙÃpcÃêðíÃpWÃð‰àÌÀõÀ~Ã`¿Ã(Ã"ÃàhÃ@wñÃPŒÃêÃÃ@ÊÃàëàØÃà ÃÐGÃàhÃàhÃ4Ã4Ã0#ðáÃÃÕÀÃPÃpWÃÃàßñÃÃàëðjÃð ÃP†ÃêÃðÃpcÃ`­Ã@ÜÃоÃ`‰"ÃÀ!ÃpÔÀûÃÐÖÃÀ,Ã@à ‚ÀéàäÃ0DÃ0©Ã0>ÃÐ)!ÃpQñÃàñðÿÃ`³à[àaÀ×"ÃPb"ÃàëÃðàaÃ`ÅÃÞÃàzÃð¡ÃÀ‘ð|Ã`­ÃüÃUÃüÃÐSÃI!ÃàhÃоÃ`ÅàÀÃ@MÃÐÄðùÃð‰àUÃ0»ÃP’Ã`­ð|ðÿÃànÀ~à ŽÃ`¹À~Àà #Ãð*Ã:ÃðÃ@èÃêÃà ÃyÀ Ã`ÅÃpWÃPë ÃPÙ#ÀràÒÃ`¹Ãà†ÃÀ2ÃÐMÃðÃðÃLÃÐÐÃànà #ÃyÃ@ÜÃpWÃÀ©Ã‹ýÃp{ÃÀ¯ÃÀ,ð ÃÐÖÃÀÃ`$Ã`­ëÃUÃ:ð‚ÃÀ©ÃpQàUÃ0»Ãà |Ã0 ÃpKÃ0DÃ@à[Ã0¯Ãì%ÃPh!Ãp{ÃÀJÃpÀÃ0ÇðÃ`ÑÃÐ_ÃÐÄÃpEÃÏÃP˜Ã0ÇÃ0ÓÃ(Ãð•ÃPž÷ÀÃsÃÐSà ”Ã`*ÃäÃ.Ã0»ÃàðˆÃ@èÃPð¬ÃPÃÐÊÃpÎÃÞÃ4ÃgÃ@ÐÃ0&ÃÞÃPtà  Ã02ÃÒëÃðÃÀ—ÃàtÃ[ÃÐAÃàzÃàëÃÐÄÃpÎÃ(ÃpcÃà÷Ã0¯ÃàåÃ@_àØà 5ÃöÃ@à ÃÀ£Ã@ÐÀ~ÃÀ8ÃÀ¯ÃÀÀlÃÀÃÐSÃàzÀ%ÃaÃð0ÃXð|À„Ã`­ÃLàmàgÃ`¿Ãp]ÃP ÃÐÊÃP†àgÀ–ÃpQÃ@ÊÃð Ãyðjà #Ã@ƒÃ0Áà ”ðvÃ0»ð”ðÃ@eÃÀ©ÃÉÃP÷ðvÃà†ÃÀÍÃÀÁÃÀ£ÃêÃ@SÃsà AÃ`HÃð³ÃpøàÃÐîÃjðšÃÃÃØÃàhÃÕÃ0\Ã@_àaÃÀ!à ŽÃð§ÃaÃàzÃyÃð§ÃO Ã@_Ãð›ÃÀ&ðÃð0ÙÃÒà ‚Ãð§ÃRÃÀÃÃ`§ÀÃLÃ@ÙÃÀ ÃpKÃsÀŠðíÃÞÃ` à v Ã@A!Ã0ÍÃ@ôðˆÃ0DÃÐÄà ßàêÃpø÷ÃðƒÃ@ÜÃáÃÉÃàtàaÃpæÃaÃÐAÃÒà ó Ã4Ã` Ã0JÃÐÜÃðÃ`6ÃpKÃ4Ã0£ÃÐSÃpoÃ0&ÃpEÃÒÃàÓ ÃàÓ Ã´$à d#ÃðÖ&à%Àã à®!ÃPÍ%ÃÐ &Ã`î&Ã0a*Ã0s'ÃÀa&ÃÐù(à :*ÃPD'ÃЬ Ã`e(à F(à F(Ã%'À**ð()Ö)à–%Ã`î&Ã*Ãà‹,ð«(Ãðè#Ãð_%ÃÀÀ+Ãp÷+ð-Ã`S+Ã@+ÃP©+À•-Ê+ÃÚ,ÃP-Ãà.ð“,ð+Ãp÷+ÃÐç+À.àÝ.Ãé0Ã0=0ÃP&,Ãpt,Ãp÷+Àú1ð/à ·*Ãõ.Ãð|5ð/Ã`Ü)ÃðA*Ã`Ð+ÃЫ5ÃÐ44À$+ÃÐd,Ã@'ÃÀÌ)Ã9.ÃÀÀ+à 0Ã`50àT0ð/Ãl0àÑ0Ã0À/Ã@|,Ãà-Ã0Ì-ÃÐÃ1Ãð2àN1Àú1ÃŒ5Ãà.àé,Ã@v-ÃÀ´-Ã0´1Ã@j/ÃP.ÃÈ/Ã*Ã@ù,àT0Ãð1Ã@Õ2Ãð¦.Ãàö/Ã`¾.Ãï/Ã'1ÃÀ´-Ã071ÃÐ^-ÃÀÌ)Àƒ0Ãà.ÃÈ+Ã@j/Àk4Ãà.Ãà+ÃP,+ð.(Ã0U,Ã9.ÃÝ2ð .ÃÔ-Ãàü.à ·*À.Ãph.à “0ÃÎ.ÃÐù(ÃÐd,ê0ÃP-ÃÐR/Ã`50ÃP/à 2ÃÐÏ/À›,Ãû-Ãðš0Ãr/Ã!2Ãð1à +Ãð²,ÃP—.ÃÂ0Ãpb/à ¥-àõ*Ãð¸+À›,àl,Ã@|,Ã3/àl,Ãr/à ™/à :*Ãð#/ÃÀ¢0Ãà*Ã0ä)ð+Ä,Ã@ *Ã0g)Ãð;+àÝ.Ãð¦.Ã,À-À,à ™/Ãð0Ã0C/àû)à :*Ã0O-ÃÐÕ.Ãàs0Ãõ.Ãpn-ðŸ*ð+ÃP…1Ãã1Ãû-À0)Ã)ðþ/à 1À /À-Ã@|,ÃÔ-Ãð¬-ÃÀO)ÃÐ'Ãà+Ã9.Ã@ù,Ãð¦.Ã@ó-Ã9.ÃQ*Ãì%Ã)à„(Ãpz+ÃP‘/Ãpë-ÃÐj+à @)ÃK+ÃÈ+àõ*Ãà©'ÃðÊ(Ãph.Ã`G-Ã?-àï+ÃP»(Ãi&Ã0ö&ÃÐó)Ãà*à~)Ãðâ$ÃðÄ)ÃÚ,Ü(Ã`_)à +Ãc'Ãþ&Ãc'Ãð;+Ã0Ò,Ã@ÿ+Ã0a*Ã0Ò,À§*Ã@í.ð,Ãï/Ã`¸/Ãàê1Ã,à×/à “0Ã012Ã05Ã@Ï3àB3Ã`4Ãð2Ãð‚4ÃÀ3Ãé0Ãð /Ãã1ð3ÃàÞ3Ã3ÃÀŠ4Ã`¬1À0À}1Ã@Û1ÃÐ:3à³5Ã`;/ÃPm5ÃË5Ã06ÃÐ44Ãб4Ã@É4Ãàa3ÃË5Ã` 7Ãн2Ãðp7Ã`š4ÃT4Ã0®2à ø4ði3ÃÀ1.ÃpD4ÃH6à¹4Ã@F5à­6ÀÜ6Ã@d0Ãp\0Ã-0ÃÀ¢0Ã`/1Ã012Ã`²0Ãàê1ü1Ãõ.ÃP -Ã@ù,ÃK/à 2À‰/Ãð /à 2ê0Ãé0Ãpb/ÃÀ%0Ã`2ÃÐÕ.ÃÂ,ÃÂ,ü1ÃÀ1.ÃpÙ0Ã0¨3Ã`)2Àƒ0Ã`S+ÃÀÆ*Ã` 7Ã0=0ÃPµ)ð,ÃÀI*Ãpz+Ã@ÿ+ð{0àé,à ".ÃÐÏ/Ã@X2Àô2Ã0C/Ãr/àT0Ãð¦.ÃÀ%0Ã`50Ãà.ÃÐÏ/ð/Ã071à ±+Ü(à Ÿ.Ã0I.à 1Ã`A.ð“,Ãpß/Ãpb/ÃÈ+ÃP8)àr+Ã@ç/à ™/Ã`Ö*Ã0[+ÃÐá,Ã0U,Ã@Ž)Ãà+Ã`Ä-ÃÀº,Ã@ˆ*î%Ã$Ãp(ð“,à (-Àƒ0Ã@í.Ãpn-Ã,ÃÐó)Ã@Ž)Ã@(ð¥)ÃE,ÃE,Ã0O-ÃÐd,ð"*Ã(à ·*àx*ÃðM(À¹'ÃPV$ÃÂ,ÃÀ®.ð"*Ã@(À**Ã0º0Ãà£(Ã@)ÃðG)ðŸ*À**ÃP©+ÃÔ)ÃPµ)Ãà‹,ð¥)ÃÐç+ÃP,+Ã0[+Ã`Ð+Ã@ù,Ãð5,ÃÐ'Ö)àŠ'ÃðS'Ã0[+àr+ð“,àé,àx*Ã`S+ÃÐó)ð™+à .,Ã`Ð+Ã`¾.ÃÀO)à ^$Ãà&(Ã*à~)Ã@¬$ðL#Ã@š'Ãà8%à Õ%à Û$ÃÐ%Ãc'À6(Ã)Ão)Ã0ê(ÃÀg%Ãì%ð¥)ÃP&,Ã@'ðÕ!ÀT#ÀÅ%à Õ%Ã0ö&Ãp÷+Ãp÷+Ã`w%ÃÀÞ&À­)ð:&Ã`Ö*Ãø'Ãp(Ãp3"ÃàÇ"ÀH%ÃÀy"Ã$Ã0y&ÃÀU(Ã0m(Ãà*Ã@š'ð«(à É'Ãðe$ÃðY&ÃP -ÃP>(Ã*ÃP»(ÃÐù(à Ã(ÃðÐ'Ã`Y*ÃÀÞ&ÃÀØ'Ã0a*Ã*Ão)à 0Ö)Ãà2&ÃðÐ'à «,Ã`Ê,Ãð;+Ã`Ü)Ã*À¡+Ãp€*Ãðâ$Ã0%Ão)Ãà&(Ã@+ÃÐÕ.ð“,ÃÀO)ÃðM(ÃÀÌ)Ã`î&ÃÀa&Ão%Ãà£(Ã@í.Ã0U,Ãà2&ÃðÐ'ÃP2*Ã@|,ÃðÜ%ÃP\#Ã`â(Ãp(Ä,ÃPÁ'Ã`è'ÃÐv)ÃÀ7-Ãà*Ão)Ãæ&À­)Ã`â(à Û$ÃÀU(Ã0…$à¢#ÃÐç+Ã9.Ã?-àf-ÃðG)àx*À0)Ã0Þ*ÃÐp*ÃÀê$Ã+&ðF$ÃàJ"ÃàV Ãp†)Ã`Ð+À.Ãæ&Ã0g)ô$ÃÚ(Ã@|,ÃPÇ&ÃÐ &Ã`â(Ãø'ÃðS'ð@%ÃÐv)ÃÀa&Ã0%Ã0ö&À³(ÃÐ &ÃPÍ%ÃP>(Ã0Ø+à~)Ã@²#Ã@'à Ï&à$ðÃ$ðL#ÃÀê$Ãþ"ÃÐŽ%Ã*À-Ãi&Ã¥ ÀlÃ0 à=Àã ÃPJ&Ã`w%ð·&Ãp&Ãp'$ð4'Ã@Ä Ã@G Ù"Ãpž%Ãðq"à ç"Ãp¼ Ã0‘"à&Ü(ÃðA*Ã`ô%ÃÐó)ÃÀm$Ãp'$Ã`}$ÃÀä%Ã`$Ãp¤$Ãp¶!Ãp&Ã](ðF$Ãà8%ð.(â'ÀË$ÀÑ#ðÃ$ÃÐ%Ãðk#Ãðú ÃÀs#ÃЂ'Ãò$ÃÐ'Ãp'$Ã%'Ãu(Ã{#Ã7$ô$Ç!Ã0&ÃàJ"Ãðe$Ãà2&Ãp&Ã0$ÃÀö"Ã0‘"ÀZ"Ã@/$Àã Ã0&Ãp¶!ÃPV$ðÏ"ÀlÙ"ðÃ$Ãp¼ ÃP÷ÃPÙ#Ã"ÃàåÙà í!Ã"Ãðw!Ã0!Ã`$Ãðw!ÃðÃÀü!Ã@5#ÃPñà v ÃàÓ Ã ÃÀð#à®!À¿&Ó#ð½%ð:&Ãþ"Ã`w%Ãþ"ÃÐ%ðÏ"ÀÝ!Ã"Ã@;"Ãðe$Ãp3"Àã Ã"Ã@Öà ÿÇ!Ãà>$Ãp3"ðjàºÃPb"Ãà»$Ãà2&ÃÀê$ÃиÃP€à=Ãp? à®!ÃPtà ó ÃÆ!ÃÐÄÀT#à í!ÃÀÃð Ãp? Ã0#Ã@ÐÃð•ÃððR"ÃàJ"à |Ã`ÃÀy"Ã@/$Ã0‘"Ã0µÃÀ!Ãø#Ã0!ÃO à ÃPtÃÀ‘Ã0,ðdðÃpòà À~ÃÀy"à í!à=à®!Ãà\ÃððíÃ@ÊÃP÷Ã`‰"ÃPÓ$ÃиÃêÃ0£Ã02Ã:àºÃpÂÃ0!ðL#ðÉ#Ã0‘"ÃPñÃ"à®!ðX!À×"ÃÐ;Ã@ÊÃÀö"Ã0&Ã"Óà+"à+"Ã0&Ã@š'ÀH%àCÃPŒÃàP!Ã0µàIÃ@ÊÃ¥Ãàåà í!Ã`!À`!ÃÀÃиÃÐ#"Ãp!%ÃàP!Ã"ð^ ÃÀ"Ãp¶!Ã à ŽÃÀ"ÃPå!Ã0"Ãð¡à v à í!à%#ÃÀ!Ã08ÃÃP\#ÃpEÃàßÃ`$Ã$ÀÝ!ÓÃÆ!Ã0$à ÃàV à !ÃàåÃPn Ãà ˆÃðÃÀö"Ã@SÃ@_ðçÃðàCÃpÂÃpÂà !Ã@SÃàbÃPV$Ãàëà !ÃàJ"Ó#ð½%ÃPtÃÀÌ)Ãp9!ÃðÃð‰Ã0DÃêÃP'àºð^ ÃàV ÃPß"ÀxàºÃu$Ã7$ÃP\#ÃÀ‘Ãp? Ã0"ÃÐ)!ÃàÙÙÃpKÃpÈÃàÓ Ã +"Ã0 Ù"Ã0%Ãð_%Ãp'$Ã@;"Ó#Ã%'Ã7$à ùÃðô!Ã0ü%ÃàD#Ãp°"Ãp'ÃÀy"Ã@¾!Ã`}$à Û$Ãò$ÃPÓ$Ãðè#Ãðâ$Ã+&Ãp9!ð:&Ã](Ãp˜&ÃPÙ#Ã1%ÃÀO)ÃÐ#"Ãp'$à–%ÃPÇ&ÃÐ &Ãðk#à j"Ãp°"Ãc'Ã(Ã@¸"à ç"ÃPýÃ"Ãp’'Ã`e(ÃðS'ÃоÃ@G ÃÀy"ÃÀ"ÃI!ðÃ$Ã$Ã`k'ÃP»(Ã`ƒ#Ã0&Ã1%à Ï&Ã"Ã0s'ðF$Ã%'À0)Ãp'Ãàµ%ÃÐ$ÃÀ"Ã],ÃÀº,ÃPÍ%à$à d#Ãþ"Ãð_%Ãp†)Ã@#&Ãp(ÃÀØ'Ã@'ô$Ã`è'ðR"Ã0!ÃàÁ#à%#Ã0$Ã`k'à 'ðÏ"ð^ ðÉ#ÃðG)ÃÀð#Ãø#ð.(Ã@)Ãp’'Ãpž%Ã`ô%à+"à¨"ÃÀü!ÃÐ#Ã@¦%Ã(Ãu(à p!Ã@#&Ã0m(Ã0g)à Õ%Ãà>$Ãp'$Ã`$Ãà¯&Ãp’'Ã7$Ã"à ó à%#Ã`ô%ÃÀö"ÃÀÌ)À­)ÃðÜ%ÃàJ"ÀÝ!Ã@”(À¿&Ãà>$Ãp¤$À<'ÃðÜ%Ã@š'Ãà'ÃÀ!Ã¥ Ãu$À¹'Ã@)ÃÐ#ÃК#ÀT#à ç"Ãp˜&ÃЈ&Ãpž%Ö)Ãà )à„(Ãà£(à¨"î%Ã@¬$à–%ÃPD'Ã0ü%à L'Ã0%ÃД$Ã@A!Ã`‰"ÀÅ%ÃPD'Ã&ð±'ð:&Ã@š'Ã0%ÃК#ÃÀ['Ã(Ã0y&Ã0‹#ðjÀf Ã@²#Ã0$Ã`‰"ÃÐŽ%Ã0—!ÃPÓ$Ãðâ$ÃPtÃ@š'À¿&ÃpŒ(Ù"à ˆà ç"Ão%Ãp3"ÃÀ‘ÃàÍ!Ãpª#Ãì%ÃЈ&ÃàÇ"ÃPÍ%ÃPÇ&Ãp˜&Ã`ô%ÃÐ$ÃÎ*Ãø'à ^$ÃàJ"Ã0$ÃPÓ$à¢#Ãp!%ð4'ÀH%ÃPV$ÀÝ!Ã@Ä Ã@;"Ãì%ÃPÓ$Ãðw!ÀË$Ã@#&Ã`w%ðÉ#ÃÆ!Ã@/$ÃPë Ã`*Ã¥ ÀûÃð Ãò(ðŸ*ÃÐ#Ã1%Ãðâ$ð@%Ã1%ð½%ú#ÀÝ!Ã( Ã`$ðvÃ0!Ã@5#Ã"Ãðk#Ãðw!Àã ÃÐ5à ó ÃÀ!ÃвÇ!Ù"Ç!Ãp¤$ÃÀö"ðX!ÃàV ÃàÓ Ã` ÃI!ÃÀy"Ãp3"à Ï&ð@%Ã@;"ðF$ÀlÃPzëÙÃpQÃàbÃPn Ç!ÃЦ!Ã0"Ã=#Ãðq"ÀT#ðL#ÃP\#Ç!ÀéÃ.Ãðè#ÓÃàzÃpÔà ÃЦ!Ã°Û Ãp-#ðÃ$Ç!ñÃ0,ÃÀ—Ãð ÃÀ… ÃÐ)!à ˆðáÃК#Ã°Û Ã@MÃð Ã`Ã@_à v Ãðâ$Ã@¬$ÃpÈà Ãþ&à X%Ã`ú$ÃàÙÃàbÃp? à¨"ÃàP!Ã(ÃÉÃ0…$à®!à1!Ã0 Ã@A!Ãp¶!à !ÃÆ!Ã`¡Ã`!Ç!ÃpcÀûÃpÂÃ0‹#Ã&Ãà2&Ã0#Ãp¶!à ‚ÃàÓ ÃðÃPV$Ãò$à ˆÃ`‰"ÃC"ÃàÙÃà\ÃðÃÀ!Ã0 ÃO ÃpàÃO ÃÐ)!à |ÃP€Ãp¼ ÙÃ0—!Ãðw!Àf àÀà=ÃàV À×"Ãà¯&ÃPñÀéÃÀg%À`!Ã`‰"ÃC"ðÕ!Ã0‘"Ãà¢#ñà=à®!Ãþ"Ã@²#ÃPñÃ`ƒ#ðÕ!Ã0"ð@%Ã0£ÃÐ5à®!Ã0"ÃPtÃpàÃ0 ðíÃmÃPn ÃÃÀ"Ãðú ÃÀ©ÃиÃ`• ÃC"à v Ã` Ã`ÃÀ Ãð} Ç!ÃÀ‘ÃpÈðÕ!ðóÃðú ÃPtÃÀ£ÃPn ÃÀa&Ã.Ã0,ÃðÃðô!à ”Ã0ÁÃÀðX!Ãà2&Ã.ÃÀ‹Ã0©ÃÐ5ÃàV ÃÀ… ðÏ"ÃÀs#à ^$àºÃI!ÃÀ‘ÃàÍ!Ãp¼ ÃPP%ðX!ðX!ÃPV$Ã0"Ã°Û Ã 7 ÃÐ5Ã@Êà ÃPtÃp¶!Ã0,ÃÀy"ÃÀs#ú#à´ ÃÐSÃ0>ÀõÃÐ5Ãðú ß!Ã"Ã@ÐÃpÂÃ=#ÃPb"ÃPh!ÀxÃ02ðdðáÃð§Ã@âÃ0>ÃÐ)!à ùÃð ÃÀ Ã.Ã"Ãp°"ÃÀð#Ã08àUà ùÃPýà v ÃÒÃP÷ÃPß"ÃÀ Ã=#à F(Ã@/$ÃàV Ã¥Ã`§ÃðÃÃÃ@ÖðX!ÃÀ"àUÃ¥Ã@;"ÃÐMÃLÃÀà ŽÃð} àÆÃ@Ä Ã`#ÃPn Ã0¯ðçà Ãðú#ÃP÷Ã0©ÃÐAÃPÃ`6ÃP÷Ãø#ÀË$ÃðÃÀ‹Ã.Ã0 ÃÀ ðóÃpQÃÐAÃàP!ÃÌ Ã ÌÃà÷Ç!ÃÆ!ÃP€Ã@SÙÃÒßÃp°"ÃPß"ÃÐ%ÃÀ!Ã0©Ã Ã`$ÃК#à ^$Ã`è'ÃÐ &Ã@/$ÃPë ÃPn Ã0!Ç%ÃC"Ã{'Ãðq"ÃàJ"ÃàÁ#ÃÐ)!Ãðq"Ç!Ã@)%Ã@š'ÃP\#ÃÆ!ÃPb"Ãðe$Ã"ÃàP!Ã#Ã0ü%ÀÝ!ÃpÈÃ{#Ù"ÃPV$ð4'ð^ ðÏ"Ã7$ÃÀs#Ã`!Ãi&À<'Ã.ÃЬ Ã0#ÃÌ Ã ^$Ãà,'Ã{'Ã*Ã+&ÃÀð#ÃàbÃp-#Ãu(Ã0‘"Àã Ã`ú$ð½%Ã`ú$ðÏ"àÀÃ`ú$Ã@‚+ÃÀ['ÃÀ… à í!Ãø#À­)ÃÀg%Ã@A!ÃД$Ã@)Ãþ&ðL#ÃàV ÃO Ã4ÃPÍ%Ã@;"à7 ÃPë Ã7$Ã+&Ã`‰"ÃP€à+"Ã0‘"Ãì%Àã Ãp¶!ÃPb"Ãp˜&Ã*Ã@/$Ãp°"àœ$à´ Ãp°"ÀT#Ã"à1!Ã"ú#ÃàÁ#ÃÐ%Ã`w%Ãà>$ÃpÎà ÿÃиß!ÃÐ$Ã$ðÃ$ÀZ"Ãð‰ÃUà%Ç!Ã{#Ãþ"Ãðî"à d#ÃÐ%Ãðú à1!Ã`!Ã@#&Ã0ö&Ã@¾!à !Ãðw!Ã0 Ã0 Ãà>$ÀÝ!ÀlÃ`›Ã0$ÃPb"Àã ÃÀs#ÃPV$à Û$ÃàÇ"à |Ã"!Ãþ"ÃpQÃиÀéÃpÈà+"Ó#à j"ÃК#Ã"!Ù"ÃÐ)!à %ÃÃ0,à v ÃàP!Ã@A!ÀÑ#ÃÀ‘ðóÃ`• Ãp!%Àf ðÿÃ@ÜÃðÃ`!Ã°Û ÃPñð^ ÃÆ!à+"Ã0 Ãðî"Ã`k'Ãì%Ãp'$Ã`è'à%#Ã0£à1!ÃЦ!Ã@¾!À`!ð@%ÃP\#Ãðú Ã02Ãðú à ^$à7 Ãðw!ÃPß"Ã`ÃàÓ Ã á#ÀÑ#Ã"à Õ%Ãì)à j"Ã0µÃ@kÃ`6ðjÃàÇ"ÃД$àÀÃÞÃ0¯Ã`¡ðR"ð½%à ç"ÃPýÃðÃ0!ÃàëÃиÃp-#à j"Ãpª#ðR"ÃànàUÃàÙà Û$à %ÃPb"ÃàÓ Ã |ÃpÈà ÃpÈÃÀÃР"Ã"Ç!Ãðw!ðáÃ`³Ã`*àIÃàÓ Ã ÀûÃÐ#"Ã"ÃÀ‹Ã@YÃ¥ Ã0£Ãð} Ã`• ÃpKëÃ@MÃÀy"ÃÐ/ ÃЬ ÀT#Ã°Û Ãà»$ÃÀ!Ã$À×"ðX!à+"ÃØð·&ÃPV$Ãp¼ ðÕ!à%#à(Ã°Û Ã Ã0…$Ã1%Ã#ðpÃ@Ä ÃPå!Ã`ú$ÃðÄ)Ã`ú$ÃÀØ'Ã0%À¿&à–%à Õ%Ão%Ã0&Ã@MÃ0ö&ð±'Ãàµ%ÃÐ &à–%ÃPÙ#ÃД$Ã0a*Ã`_)Ã`e(Ãp&Ãp'$à í!à+"Ã0‘"Ã`q&ÃðS'ðÏ"Ã0 ÃðY&Ã{#ÃÀÌ)Ã%'Ã+&À**àû)ú#Ã"Ã=#Ã@#&Ãà8%Ãæ&Ãà,'à Û$ð()Ã$Ã{'ÃðÖ&Ã.ÃUÃPh!ô$Ã0%Ã`ú$à ^$Ã@#&Ãp!%ÃК#ÃPD'ÃPß"Ãì%Ã0s'ÃÐv)Ãà¯&Ù"ÃÀ['î%Ãò$Ã&Ã1%à X%Ã0%ÀË$à%#Ãðq"à ^$ÃÀm$Ã`#ÃÐŽ%à p!à p!Ã0ä)Ãø'ÃÀö"ô$à%#Ãþ"à7 Ãp¤$Ãðâ$ÃÆ!Ù"Ã0!Ãðè#Àf à Ã@5#Ãp-#Ã0>Ã0—!Ã`ô%Ãðè#Ã@ÐðáðáÃp¶!ÃÀ!Ã` "Ãp˜&Ãp˜&Ã@²#ðR"Ã.à Ï&à j"Ã@/$Ã0#ÃPÙ#Ãp˜&ÀõðR"Ã1%Ã`ú$Ã0y&Ã`ƒ#à !ÃÌ Ã` "à p!à ó Ã`›ÃP÷Ãà,'ÃPb"ÃpÈÃ"ÃPP%à®!ðÕ!ÃàP!ÃpKÃÀÃ@MÃaÃðƒÃp¶!ÀZ"ÃPh!ß!Àã ÃàÍ!Ã"ÃÒÃàbÃ@¸"Ã`$à !Ã`­à ÿà ÃP÷ðÕ!à$ÀË$à Ï&ÃðM(ÃÀ['Ã0%Ãðw!ÃpÂÃÀ!À×"ÃP÷à=à à ðíàCÃp? Ãp°"Ã`›à%#Ã@;"à v Ã`$ÀïÃàßÃ0 Ãðè#Ã`‰"ð^ Ã.Ã@ÖÃPn Ãò$ÀZ"Ã"!ÃÐAÃ0&Ã@G ðáÃPñÃ` Ã¥ ÀÃ0 Ã@A!ÃÐ)!ÃpÈÃ"ÃPb"ÃÀg%ÃàÍ!ÃàÍ!Ãðw!ÃÐÐàÌÃP÷ÃàåÃ@ÐÃðëÃu$àºÃàhÃaÃðq"Ã0»ÃÀ à$ÃÐ#Ã` "ÃUÃð ÃÐÄÃ`6ÃäÃ02ÃЦ!Ãà !ÃÐ#"ÃpKÀT#à+"à v ÃвÃ0‘"ÃÀÅ%à %Ã"ðÏ"ÃÀ à ó Ãðe$ðÃ$Ã"Ãp¼ Ã`$ÃPýà |ÃPýð^ ðvÃ"Ã@ÊÃ°Û Ã ÌÃpÂÃ@/$Ã.ÃÀ©ÃðÃК#Ã&à Ã( Ç%ÃЬ à d#Ãðq"Ãp¼ Ã"ÀN$Ã¥ ÃPzàäÃpKð^ Ã"Ã$ÃЦ!ÃЬ Ãp¶!Ã@Öà¢#ëÀïÃPh!ÃPë ÃÐ5ÃàCÃ`!ÃpÈÀrðóÃ0©ÃP÷Ã[ÃàP!à v ÃPtÃànà´ À¿&ÀÝ!Ã`• àIÃ0DÃ@G ÃsÃP ÃЦ!ÃC"Ãðíà1!Ã0&ÀN$Ã0!ÃPÃÀßÃÆ!ÃPýÃ`¹ÃàëÃÀf ÃÆ!ÀõÃ:Ã0>Ã@SÃ`!à1!Ã0#ÃpKÃàÙà=ÃPn ÃиÃàÇ"Ã@èÃ`­Ã@MÃ°Û Ã“ÃÀÃP€Ã@ÜÃpÚÃ¥ À„Ã4Ã0,ðùÃÒýÃêÃ`¡Ã0—!ÃpÈÃðƒÃ0 àÀÃ`§Ãð} Ã"!Ã0 ÃÀ‹ÃaÃÐ;àCßðùÃÀs#ÀÝ!à šÃàtÃ`¡Ã0 Ãðô!ÃI!ÃðÃиà ŽÃ`­ÃÞÃ"Ã@G Ã`$ßÃÐAÓÀ`!Ã¥ ÃÀü!ÀxÃpEÃàñà ‚à ðvÃC"ÃàÍ!ÃЬ À Ã` Ã`‰"Ã"!ÃÐAÃØÃ0©Ã`<Ã@îÃàÍ!Ã@ÐàOàÆÃ02Ã08ÃÐ;Ã0&ð‚ÃPðÃðÃà»$ÃÀs#Ã`¡ëÃ0©ÃP’ÃP˜ÃäÃ7$ÀõÃp]ÃðÃànà d#ÃÀ‹ÃÏÃ02à ‚ÃÐ;à ÿà&ÃC"ÃO Ã"Ã`}$à ÃàÙÃð‰ÃÀÃððùÃàzÃÐMÃ0&Ã`$ðdÃ`• Ã@ÖÃ`¿ÃPŒÃ`¹Ã0&à í!Ã@âÃð<ÃP€ðÃ$ðáÃ`¹à šÃ@këà Ã0PÃpæÃ@ÊÃàßÃàÙÃÀ—Ã@G Ã@MÀà[ÃÀy"Ã0…$Ãp9!ÃàV ÃPë Ãp3"Ã0£Ã@MÃàßÃÐÜÃ0VÃð›ðÿÃ"ÃPŒÃà÷ÃP†ñÃaàÞà ¦Ã0JàgÃPtÀÃ0ÁÃ@_ÃP’ëÃÀðáÃpÚÃsÀûÃpKÃÀ—Ãp9!Ã[Ã0—!ÃÐ;à ŽÃ`BÃ0,à ÃÐÄÀrÃÀ»à ÿà Ãð¡à ˆÃ"Ã@¾!ÃànÃ0ÓÃpEÃ0JÃPÃð‰Ãð›ÃÐMÃÛÀœÃ0JÃ( à ‚Ã`§ÃP÷ÃðÃPŒÃ`6àUÃ`¡à Ãp? ÃP†Ã@YÃ¥ÃaÃоà šÃÉÃÐ;ÃàëðˆÃpòÃ@Ã`¿Ã.ÃÐYÃPà Ã@èÃ0DÃpøà ”ÃànÃ@ôÃRÃ`¹ðÃð•ÃLÃ@îÃPýÃ@ÐëÃðÃ.Ã@À~à[àÌà ˆ÷ÃÐÐÃpìÃðÃyÃðÃpæÃÉÃPÃ`ÅÃpìÃð›ÃpÎÃPýÃP€ÃàëÃÀ£àöÃ¥Ã0µÃPàUàCÃ@ÃaÃ`0ÃPÃ0DÀ Ã@ôÃPÃ(ÃÀÃð ÃPtÃ0!ÃÀ2ÃàñÃÐÄÃPzÃpÈÃ`³àðÃÛÃ0»ÃÀ£ÃÐYÀ~ð ÃàtÃàßðvÃ0Óà ÃPžÃÀ&Ã`­ÃÀ£ÃàñÃPýà Ù"Ó#ÃÀ‹ÃÀµÃà ÃPÃ@ƒÃPŒà àgÀ~àÌÃ:Ã¥ðçÃpÔÃÀ&ÃðÃÛÃPà  ÃýÃðÃPzðíÃÐÖÀÃ@wÃÐèÃà†ÃÐ5ÀõÃ02Ã@ÖÃÀ"ÀïÃÐ_ÃðÃpcÃ0VÃÀ&ÀlÃ0µÃоðjà ÃaÃ@¾!ÃðƒÃFÃLÃ0ÁÃp°"ÃPb"ýÃÏÃ0©Ã0µÃ@âÃFà ²Ãp]ÃÀ£Ã0»Ã`NÃ`HÀûàÒÃUÃÃUÃЦ!à ÿÃðÃ`§ÃgÃ:Ãð¡Ãð¡ÃyÃÏëëÃ°Û ÃÀðpÃ@YðdÃÉÃ.Ãð$ÀÃÀÃ0¯ÃpKÃÀ‘Ã@MÃPÃÐèÃpcÃ@ÊÃàåà |Ãà\Ã@YÃO Ã`$ÃpæßÃP÷Ã@YÃ(ÃðƒÃиÃà÷Ãð›ÀÃ"ÃpÎÃ0!À~ðùÃêàIÃ@A!ÃpæÀÃàýÃpÈÃЬ à ˆà[ÃpÚÃ¥Ã`$ÃpÎÀõðvàOÀxÃO ÃàÙÃ0JÃP à ‚ÃäÃànÃ@_ñÃ0&ÃÀ Ã0—!ÃP Ã@ÜÃ`¡ðóÃ`¹ÃàhÃðÃPÀûÓà ÃO ÃðÃÀ£ÃÃP˜ÃÀ—ÃÌ Ã0‹#Ãp? àIÃ@ÜÃÀ‘Ã`• ÃpWÃ.Àïà ÿÓÃð‰ÃP÷ÃðÃ`0ðvÃ@YÀÝ!à Ã(ÀïÃP÷ÃP’ÃpæÃpKÃPh!Ã0#Ã0!ðç÷ÃàhÙ"Ã`§ÃPÃPzðçÃàV ðÏ"Ãp-#à p!ÃàÓ Ã@¸"ßðjßÃàßð^ Ãàëà ŽÃ`§ÃÒÃ`#ð‚ðÿðíÃàëÃp? ÃЬ ð^ Ãp? ÃÐGÃFÃð$Ã"ðpÃ@ÜÀÃÐAÃpÚÃpÂÃgðvà ÃI!ÃÐ/ ÃÐ)!Ã0¯Ã`³ðíÃÌ Ã 1!àCÃ`• ëÃ@A!ÃPë ðdàÌÃÀÃ0 ÃÀß!ÃÀ—Ã4ÃPñÃ`!Ã0!Ã`0ÃàŒÃP€Ã`¡ÃPzÃpÔà à®!Ã`!ðçÃànÃÐAÀ„ÃðÃêÃ4Ã` Ã"Ãðq"Ã°Û Ã€Ñ#ÃР"ÃàbÃpKà ˆÃÀü!ÀN$ëÃ7$ÃPë ÃÐ#"Ãp? ÃPžëÃÀs#Ãp°"ÃPñÃ0Íà šðÃ@SÀrÃð$Ã02Ã0 Ã0—!ðvÃ@ÖÃpEÙëÃ` Ã0¯ÃÐÄÃ0DÃànÀéÃpWÃàbÃ°Û Ãð} Ãðú ÃÐGÃPŒÃsð|ÃPñÃ`¡ÀÃàbÃPë Ã`¹ÃðÃp]àØÃ@ÐàUÃàzÃà†Ã.ÃpÂÃ0!ðÿà ”ðùÃÃp? Ã`#ÃðƒðX!Ã0DÃð Ã"ëÃ@_ÀõÃ`›Ãp? Ã°Û ÃðƒÃÀ—Ã`!à ”Ã@YÃ@eÃP†ÃÐ)!ÃPå!ÃpÈÃPå!ÃàV ÃpKÃ0»àIà !ÃI!à Ã"à šÃàÙÃðÃPë Ãp-#ðóÃàåÃ¥ ÃàÇ"ÃàD#ÃàbÃp? ÃC"Ã0¯ÃЬ ÃðƒÃð ÃpEÃp3"à ùà ‚àÆð‚Ã`¡à j"Ãð} à=Ã0>Ãp]à !ÃЬ ÃÀ!Ã`!ÃpEà®!ðáÃвÀf Ã` à ÿà ùÃP€à ŽðçÃÐ5ÃÀ‘ÓÃmÃêÃ`§Ã1%à ÃàýÃpoÃ@âÃÀ‹À~Ã0©ÃäÃ0µà p!Ã`• ÀxÀÃpìÃ`*Ã0 ÃÌ Ãðw!Ã0Pð‚Ã0 ÃO Ã`¡Ãà÷ÃðÃ0¯Ã( à®!ëÃð àÆÃp3"ðdÃPh!Ã4ÓÃÀà šà ùÀZ"ÃÆ!Ãðk#ÀZ"Ãp«ÃpàÃ"Ã@MÃ`§Ã`§Ã`¡Ã0»ðáÀã à+"à1!ÃO ÃPñÃÉÃÃÀ©à ˆÃpQÃÐ5Ã@YÃI!ÀlÃaà Ãð‰à ÿÃ.ðdà=Ãðw!ÃоÃ@eàºÃàV ÃpQÃpÈÃ`‰"à ó ÀN$Ãp°"Ãà»$ÃÀ!Ã:Ã@ÜÃàëÃØà ÃðÀf ÃÐMÃÐMà Ã0©Ãð} Ã@MàºÃ@MÃ`³Ã@èÃð$Ã`¹Ã@kÃ0!Ã¥Ã"ÃÃ0¯à í!Ã`¡ÀxÃ@ÖÃFÃðà1!Ã0#àOÃ:À~ÃPýÀûÃ`ÅÃÐèßÃ0¯ÃPå!à=÷Ã@;"ÃÀs#Ã`³Ãpoà ÄÃÛÃ:Ó#ðçÃÐ)!Ã@îÃP€Ãp]ÃP†ÃðÃpiÃиÃ0¯ÃÀ ÃFÃ@ð ÃÐMÃð›ð|ÃðÃÀ£ÃpcÃ:Ã`¡ÃÉÃLÃP’Ã`§ÃPñÃp? ÃpÚðáðçÃpÂÃ02ÃÐeÃpøÃàÃP˜Ãð0ÃmÃ`§ÃgÃ0>Ã4Ã0»ÃÞ÷ÃêÃàbÃðÃaÃà€ÃÐ;ÃPÃ@âÃðÃàŒÃ0Jà ÃÐÖÃÐeÃ"!ÃÀ Ã@}Ã0ÓÃð$Ã@ÃðƒÃ`³Ã`$ÃP†ÃÀÃÀÃpWðÃÐ_ÀœÃFÃaÃàJ"Ã@ÜÃpWÃÀÃ0ÙðvÃÞÃðÃ@Ã`HÃÀµÃLÃÀÃð§Ã@âßÃðÃpÚÃ``ÃàtÃÐÊëÃ` Ãð àCÃPðdÃpÔÃàzÃð à Ã0»Ã( À~ÃpÈÃÐYÀŠÃÐGðóÃÀ,ÃÀ¯ðùÃ@Ãð‰ðˆÃàð|Ã:à ”à ¬ÃÐâÃðÃÐÐÃ`¹àmÃ`ÅÃиÃ0ÁÃÐÄÃ0 Ã:ð ÃÉÃPýÃsÃà Ã`HÃpæðíÃpKÃÀ,ÃÃÃpÚÃðÃ@ÜÀlÃ4ÃLà ùàÒÃàßÃðÃ`<ÃpWà ŽñÃ08ÃRàsÃÐSÃöÃ@Mà Ã@Öà í!Ãp°"ðvðX!ÃÀ!ÃPñÃ0—!àäÃ`¿Ãpcà  ðóÃ@âÃÀÃð›àIÃÃP-Ã@âðX!àCÀ`!ÃpÎÃàëÃ@_ÃFÃÐÄÃO Ãp¼ ÀrÃ@_ÙÃ`­ÃоÃÀ‘Ãàëà®!Ã0 Ã@ÐÃð Ãð<à šÃðÃàýÀlÃàåð|Ã0»ÃÀ Ãà\àÆðjÃðƒÃ`6ÃÀ8Ã0>ÃÃ@SÃPh!ÀïÃ@YÃpÚÃpÔÃp¼ Ã`‰"ÃPå!ÙÃöý÷ÃÀÃ(Ãð ÃÀ!Ãpª#Ãðe$ÃPtÃ4ÃêÃð‰àØÃð$ÃP÷ÃðàÀà |Ã`$À<'ÃðÃÀ£Ã`<Ãð§ÃàýÃ"ÃpKÃ02ÃP†Ã0&à Žà ùÃàñà ŽÃ@_à ”àÒÃRÃðà ÀÃÐÄÃ`6ÃÃÃÀÃ0¯Ã@ÖÃÀÃpæÃиÃ@âÃ`BÃ0µðjÃ@SÃÀ‘ÃpuÃ@wàÀÃPtÃP÷ÃmÃ`¹ÃвÃð¡àÒÃ`*ÃànÃ02Ã`­ÃÀ~Ã@SÃ@YÃÉÃß!ÃÀ‘Ãà ÃpÈà ÃPtÃàëÃO Ã0—!Ã`!àIàÒð^ ÃÀö"Ã@#&ÃPÙ#Ã0,ÃäÃgÃÐAÃpQÃÀÀã ðáÃÀü!ÃÀy"Ãp&àÆÃðÃàßÃÐ/ ÀlÃ0 ëÃP÷ô$ðÏ"Ã`ƒ#à šÃaÃ0‹#à 'Ã@;"ÃÀÃ@âÃp3"Ãp9!ÃPå!ÃPÓ$Àf ÃÀ… ÃpÈÃp¶!Ã@¾!Ã°Û Ãu$Ù"ÃP÷Ã`§ÃP˜Ãð•Ãðk#Ã°Û Ã`¡à ÃpKÃÀ‹ÃPh!àºÃ¥à®!Ã`›ÃÐ5Ãð‰ÃÌ ÃÀ‹ÃàP!Ã@eÃ:ÃPå!àÆÀÃp&ÃPn ðáÃð ðÉ#ð«(ÃÀü!Ã@ÓÀÝ!à=Ã@Ä Ã°jÃàtÀïÃð_%Ãò$Ã@¾!ÀT#à á#ÃàD#ÃÐ/ ðÏ"Ã( Ã[Ãðà ÃР"ÃðñÃPñÃP†ÃàåÀlÃ0 ÃÀ ÃP†ÃP ÃàzÃ:Ãð§ÃPh!ÃÀ"Ãðô!ÃÀ"Ãð‰à¢#ðF$ð@%Ãðk#ÓÃÐAÙÃÐ#"Ã@ÐÃàhÃÞÃЬ Ãp9!ÃànÃ@ÜÃ:Ã`$à ˆÃêÀÝ!ÃÀ ÃÀ‘Ã@SÃ0>àÌðpÃÐMÃpcÃ`­ðçÃÞÃ4ÃaÃÀà=Ã`$à ÿÃ:Ã`‰"ÃPh!Ã@qÃ0¯Ã"ÃÐ)!ÃÀy"À`!ðjñÃsÃêÀûÃPn Ã`<ÃP’ÃÃäÃp]ðÃÀ‹Ã.Ãà÷àØÃàhÃ`0ÃP†à ‚ðÃÀ¯ÃÐGÃpÂÃÀÃ@ÜÃÀðùÃÀÃP÷ÃР"ÀxÃÐMðÃàV Ãp¤$ÃðÃ`<ðÃð¹ðùÃÃP€Ã0©Ã0»Ãmà ÃPýÃà÷ðpÃ0ÍÃÐMÃPtÃ`$Ã`$ÃÐGÃP†ÃUÃ4ÃRÃ0»Ã¥ÃÐ)!÷ÃgÃ"à j"ÃðÃ@Üðù÷Ã.Ã0©ÃÒÃ`§ð‚Ãà÷Ã"ÃÀÃÀÃPÃÀ‘ÃàßÃp]Ã`6Ã4Ã@îÃðÀà Ã(ÃиÃðÃpWÃ@îÃà÷Ã0 Ã.ÃP Ãà\ÃPh!Ã`‰"Ã`<ÃàÙÃàJ"ÃaÃ@qà ”ÃðÃP†Ãp? Ãàåà ó ÃðÃpcð^ à |ÃêÃPýÃàðš÷ÃÀü!à v ëÃÐÖÙÃ@ÊàÆÃ@SÃP€Ã@Ä ÃPzÃÀÃmÃ¥ÃðÃàßðóÃ`§ÃÀ£ÓÃÐ#"ÃÀ—à  ÃP÷àIÃ0ÇÃàåÃ@eÃ@}Ã`ÑýÃäÃÐMÃð‰Ã`*ÃÐ#"ñÃ`HÃÀ©ÃÐGÃðà ”ÃÐGÃ`¡Ã"Ã0&ÃÐ)!ÃðÃÐGà à Ã@YýÃàßÃàÍ!ðçðáÃðñÀxÃÐÐÃàtÃ`$à¨"Ã` "Ã0DÃÀ ÃpWÃÀ2÷àUÃÀ‹ÃpEÀË$Ãà€ÃgÃÐ;ÃðÃpEÓÃ02Ã@eÃànÇ!Ã"ÃÐSÃRÃÉÃànÃðÃàýÃÌ Ã](ðR"Ã"À ÃàŒÃPÃÐÐÃÐâÃ@qÃgà Ã0!Ã`!ÃàëÃ0JßÃpÈÃPë Ã0&Ã0ÁðdÃp9!ÃÀ!ÃpÔÃ@¸"ÃÀ ðpðóÃàÓ Ã0&ÃÀ ÃðÃ.ÃðÃ.àÒýÃ0>ÃÀ£Ã`¡Ãð à1!ÃоÃpàà ÃàÍ!ðÕ!ÃPë Ã¥Ã.Ã`0ÃgðˆÃPðvðˆÀ„ÃPýÃ`0ÃPñÃ0¯ÃpÔÃp]ðÃ@ÜÃP ÀŠÃÀà Žà ÃXðˆà |Ã@ÐÃpKÃàëÀlÃÀ—ÃPÃ`BÃ0DÃP€Ã`<àUÃ@ÜÃpcà ÃД$ÃpÈÃÃdð5ðˆÃÐMÃpìÃÀ,Ãð•Ã0&ÃàÙð|ßðóÃ:ÃàÇ"ðdÃàåÃ0»Ã(ÃðƒðjÃÀ—ÙÃ0,ÀxÃ0£ÃPb"Ã`• à ˆÃpÂÃðÃ`§à ^$ÀõÃÐÄà í!ÃðÃaÃðÃpÎÃ@SÃêÃ°Û ÃàD#à´ ðíÙà¨"ÀlÃ`!ÃPÙ#Ã( Ãð à ÃpÚÃaÃ0#Ã@/$Ã@/$ÃÐ$ÃP\#ÀË$à ÃÐ#ÃP€ÃPtÀÝ!ðjÃpKà1!ÃPýÃÀg%Ãæ&Ã`ƒ#Ãà8%ÃÀa&Ã@”(Ã0"ÃàJ"Ã@¾!ÃàåðÿðX!ÃPÓ$ðÿÃ0&ÃUÃàÙà7 À¿&à í!Ã0$Ã"à ^$Ã=#Ãpª#ÃЬ Ãp°"Ã@ &ðÕ!Ãðe$à¨"Ã`!Ãðe$Ãp°"Ã@/$Ã0ü%Ã0!ÙÃàåÙÃPå!ÃÀ‹ÃaÃàßÃPb"Ã@²#ÃÐŽ%ðíßÃ0©Ã@G à&à ç"Ã@Ä Ã0 à X%Ãì%à ÿÃÀ‹Ã`ƒ#Ã0%ÃК#À×"ð±'ÃðY&Ãà»$Ãþ&Ç!ÀH%Ã` "ÃÀü!ÃÌ Ã$ÃÐ &ðÉ#à p!ÃP€Ã@G ô$ÀÑ#ÀÅ%Ãðw!à p!ÃÐ5Ã"Ã{#ÃPå!ÃðY&ð^ ðóÃ0‘"ÃÀy"à j"Ãp˜&Ã@¸"Ã@_àÀÀã ÃÀ"à á#ðjÃð ÃÀê$Ãà»$à ÿð^ Ã@5#ÃÀ['Ã"!ÃàV Ãþ"Ã"à ÿÃÀ—ÃЦ!ÃÀ—Àrà ç"ðáÃ@¬$ÃÀê$ÃÐ5ÃÀ Ã0&Ã`›ÃpÔÃÀð#Ãp'$Ã@¬$Ã#ðÕ!ÃР"ÃPV$Ãà»$à j"ÀlÃPb"Ãðâ$Ãp’'ÃàP!à´ Ãà8%Ã` "Ã0£Ã`!Ó#ú#à´ Ãðî"Ã0$ÃÐ)!ÀlÃ"Ã`ô%Ãpª#ÃЈ&Ãp'$ð^ à¨"ÃÐ$ÃиÃUÃ0!Ã"Ã"ÀZ"Ãðâ$ÃÀs#Ã@A!ðÕ!Ã0 Ã:ÃàÙÃ` àCÃÀ!ðX!ÃК#ðdÃ¥ Ãp°"à Õ%ÃÀy"Ãð Ã`¡à ŽÓ#Ã`ƒ#Ãðw!ÃÀs#ÀN$Ãð ÃÀy"Ãð_%Ãl0Ã0…$Ã`!Ãànà´ ÃÀü!Ã.ÃPå!Ã°Û Ãþ"ÃàÙà ‚Ãp3"ÃÀü!Ù"ÃÀs#ÃàD#Ã0&ÃÀ!Ãi&ÃP\#ð@%Ãà8%ÃPb"ÃO Ã`›ÃÀü!Ã"!Ã0#ÃÀ"Ã0—!Ã0"÷Ã"Ã`‰"Ãð§Ã`$Ãp¼ à ‚à®!Ãð} Ãp°"Ã@;"ÃÐ/ Ã0&Ã"!Ã@5#ÃpEÃØÀf ÀT#ðÏ"Ã"!Ã0‘"à+"à ^$Ã@/$ß!Ã¥Ã[Ã"!Ã"Ãðq"Ãþ"à ^$ÃàÇ"Ãp'$à+"ÃÒÃ`!ÃД$ÃÐ#"ð½%à ÿÀf ÃPë à !Ãp3"ÃÐ'Ãp¶!ÃPß"ÃPß"ÃÐ%ô$ÃàP!à1!ÃÐ &ÃPÍ%ÃpÂÃðî"ÃàÁ#à1!ÃàhÃК#Ã@²#ÃÀê$ÃPë ÃPë ð^ ÃÀ‹Ã7$ÃpÂÃ@¸"ÃÀa&ÀÑ#Ã@)%Ã0‹#Ã@#&à Ã(Ãðè#ÃàD#ÃЦ!Ã@ÐðÕ!à !ðçðdÃàµ%à X%Ã"Ãàµ%ÃÚ(Ãp’'Ã0ü%à Û$ðÃ$Ã`!Ã0%ÃàÇ"à%#ðX!ÃpÎÃðÃp&Ã"Ãðè#Ã0#àœ$ð()Ã@5#Ã@¾!Ã` Ã@/$Ãp˜&à ó Ãàµ%Ã0ð'ÃPÓ$ÀB&ðF$ÃЬ ÃpÈÃàJ"à í!Ã=#Ãp’'Ã`î&Ãò$ÃPÇ&Ãì)Ãà¯&ß!Àã à Õ%ÃpŒ(à ^$Ã`w%Ã{'è&â'Ãà>$Ãp¶!ðR"ÃàÇ"Ãpª#ÃàÙÃÀö"ÀZ"÷ú#Ãðâ$Ã@¾!Ãu$ÃК#Ãð‰ðáÃà\Ã0 Ã0¯à |ÃÀ!à„(ð()ÃÆ!à j"ÃðS'ÃPÇ&Ãðâ$ÃPD'Ãðk#ðÉ#ð±'ðÏ"Ã` Ãø#ÃPb"ÙÃp¶!Ãðâ$Ãðî"Ãà8%Ãðô!Ã1%ð.(ð:&Ã"ðL#Ã7$ÃÃp°"ðL#Ã@5#ÃÆ!Ãmà Ã@MÃp-#Ãi&Ãà)Ã`k'Ã0…$ÃàD#à1!ÃÐÖÃðÃÀ ÃI!ÃК#ÃÀm$Ã`e(Ã#ÃÐ)!Ãp¶!à ç"à–%ÀÑ#à–%Ãà>$Ã`#Ãp'$Ãðe$Ãp¶!Ù"ÀéÃ@YÃ1%ÃP>(àœ$Ãp¤$Ã"Ã0…$Ã`‰"Ãðô!ÀûÀÃì%Ãpñ,ÃÐ'Ã@A!Ã@;"àCÀéàœ$ÃЬ Ã0!Ãp°"ðÕ!Ãðw!ÃàÍ!ÃðÜ%ÃðÜ%Ã0&àÌÃpEÃàÁ#Ã{#Ã0‹#Ã"ð·&Ãðk#ÃК#Ãð ÀZ"ðX!ß!Àã ðÏ"Ã@)%à p!à É'Ã0%à%#Ã`ú$ÀH%ÃðÐ'à¢#Ãà\ÃÀ Ãp3"Ãø#ÃР"Ã@A!ÃPV$ÀN$Ãu(î%Ã@5#Ãp¼ à à%#ÃPë ÃÒÃ"ÀË$ÃàJ"ÃàÓ Ã 1!ÃÀê$Ã%'àŠ'Ã@²#Ãp¤$Ã1%Ãà8%ðF$Ã0¯ÃàÓ ÃÀ!ÀB&Ã@5#ÃàÙÃÌ ÃPÇ&à$Ã"à !ÃàD#Ã@¸"À`!ÃÀð#ðF$Ãðq"Ã0…$ÃàP!à !ÀT#à Ã(Ãp¤$ÃàÍ!Ã@Ä Ã€×"Ã0#Ãðî"ÃÀ… ÃÀm$Ãðe$àOà p!ÃàÁ#Ãp3"Ã0"Ã0!Ã1%à Ãðk#ÃÐ#Ã@²#ÃР"ô$ú#Ãp!%Ã`ô%ÃÀä%ÃÐ)!Ã`‰"ÃðÖ&Ã@'Ã`}$ÃД$ÃP»(Ãà,'à Ï&ÃðY&ÃðÖ&Ã7$Ãpª#Ãþ&ÃÐ)!à í!ÃPV$Ãp-#Ã@¬$à |Ã0$Ãà£(Ã`‰"ÃÀy"à%#ÃðÀlÃ0ü%Ã0 ÃI!ðR"ÃÐ%à F(ÃÀ"Ãð Ãðw!à !ÃÀ"ÓÃ`è'à 'Ãþ"ÃÀê$ð½%Ã$ÃPb"ÃàÍ!Ã@;"ÃÀ"Ó#ÃPÍ%ÃЂ'ÃPb"Ã`ƒ#Ã`$ðR"Ãðô!ÀN$ÃPÁ'à®!ÃP÷ÙðF$Ãðk#Ãðw!ÃÀ!ÃÀü!à´ à7 ÀZ"à+"Ã`›à1!ðÏ"Ã0%Ã0$ÃPÙ#Ã`#Ãp¼ Àf ÃР"ÃPÃàÓ Ã`}$ÃP\#à á#à ÃÀs#è&Ã0%Ã"ÃPb"ðR"ðL#à %à %Ã`ú$ÃÀü!Ã@5#ðÏ"ÃÀê$Ã.ÃpÂà í!Ã=#ÃPJ&Ã0#ÃP\#à ùÃðe$ÀÑ#ÃЬ ÃpcÃÀ!Ãà'Ã`#Ã`!Ã`ƒ#Ã` "ÃД$ÃPß"Ãpª#Ãp'$Ãø#Ã`ô%à%Ã"Ã@A!Ãpª#Ã`$Ãàµ%ÃI!ÃÀ‹Ã@Ä Ãº#Ã`ú$Ãi&à X%ðL#Ãp°"ðjðÿÃàV à ùÃ`ú$Ã0%à%#ðçÃPÙ#Ã@(ÃÐv)ÃØÃ0£Ã°Û Ã`ÃР"Ã0$Ã0‘"à ÀûÃиÃ`}$ðL#ÃÀs#Ãp3"à ç"ÃÐ#"Ã0$à j"ÀÑ#Ã`ƒ#Ù"Ã`k'Ã`ú$ð½%Ã#ÃPn Ã@Ä ÃÀ… à¨"ÃÀü!Ã0"Ã`‰"Ão%ðR"ÃpEÃ@MÃÀ… ðÏ"Ã{#Ã( Ãp'$ÃàÍ!ÃPtÃp9!ÃÀü!ÃÌ Ãà»$Ãp9!Ão%Ã@;"à¨"Ãðú ðÉ#Ã@¬$ÃÆ!ÀéÃÀ!Ãp¼ Ã`‰"Ã"ú#ÃÀ!ð½%Ãðe$Ã0!ÃO à ‚ÀlÃà\Ã"Ã¥ Ã0‘"Ã{#Ãð Ã`• à X%ð:&À¿&ÀZ"ÃÀ‘ÃðƒÃ`$à7 ÃP ýÃpEÃ`§à ÿÃ@5#Ãà\ÀT#Ã0ü%à ó ÃO Ãðô!ÃÀ"Ã@#&ðF$ÃÀê$Ãð•Ã¥ÃPñÃð} ÃPb"ÃÒÃ"!Ã{#Ó#Ãp3"Ãðú Ãp¼ ÃÀ!à%#ÃàÓ Ã`*Àã ÃPñÃàJ"ÃÐ/ ÃðƒÃPÍ%à ÃððóÃð Ã"Ã0‘"ñÃ`§Ã@A!ÃÐ;Ã[ÃpÂÃPtÃ@5#ÃPn Ã0!Ã`!Ãp¶!ÃÀýðóà !ÃÀf à=ÃpÂà |Ã`³ÃàV Ã@MÃðq"ðF$Ã0 ðÏ"Ç!Ã"Ã@ÐëÃ0¯Ãð‰Ã0!ð½%à%#ÃÆ!Ã0‘"à7 ÃÀ!ÃÐ%ÃÀ… à #ÃðÃ`• ÃàJ"Àf Ã@G ÃPß"ÃÌ ÃÀ!ðF$Ãp3"ÃðÃO ðÃ$ÃO à ùà ഠÃ0‹#Ã@¬$ðÉ#Ã0—!ÃPV$ÃP>(à7 ÃàåÃpÈÃ0‘"ÀÝ!Ãp¼ ÃP’Ã0,ÃaÃÐ/ Ãp!%ÓÃÐÐàOÃ(à |Ã0£Ã0‘"ÃÀö"ð@%ñà ÿÃPÇ&Ã@¬$ÃI!Ãp9!Ã` "ÃЦ!Ã@A!ðíÇ!Ã@ÐÃp? Ãðà ÀÑ#à !à®!ÃðÃ` Ãp-#ð^ Ã@_Ã0»Ã@MÃàV ÀlÃ`!Àã à%#Ãò$î%à p!ÃðÃÀ,à v Ã@Ðà7 ÃPb"Ã`‰"Ã0 Ã( ÃàÍ!ÃÐ$à ç"àÀÃ@ÐÃ02à ‚ñÃpEÃЂ'Ã`}$ÃÐMÃÀÃ`<ÃpWÃ0,Ã"ÃI!ÃÐ'Ã@¸"à7 Ãð àCÃЬ ð^ à Õ%ÃàV ÷Ã@ÖðÕ!Ãðw!àCà ‚Ã@;"à¨"ÃàV ÃpÂà ùÀf à ˆÃÐ)!à ó ÃpÈÀÑ#ÓðX!ÃÐŽ%À`!ÃpEà p!ÃÀ"à ç"ÃÐ#"ÃР"Àã Ã0%ÃÀê$Ã0"à ó Ã@A!Ã0‹#ÃðƒðáÃ0»ÃPýðóÃðƒÃp¼ ÃpQÃÀg%ÀN$àºÃ0&ÃpEÃÐ)!Ã@5#Ã` ÃÀ!ðóÃÀ!ÃÀ"Ã@G Ù"ÃÐ5ÃPn Ãðô!ÃPn ðáÃÀ—ðÕ!Ã` "ÃÒà ŽÃº#ÃÀ!à+"ÃÐ)!Ã#Ã@;"à1!ÀË$Ãðè#ÃàÇ"ÃÐ/ Ã0 Ã@;"à à+"à%#Ã@5#Ãp¶!ÃÆ!Ãðô!Ãp¶!à+"ÃР"Àã Ãp¶!Ã"!ÃpQÃðw!Ã@5#Ã@MÃð‰ÃàbÃ`ÃP\#ÃÐ%ÃÐ;Ã@¸"ÃPV$ðÃ$Ù"Ãðî"à ÿÃ"!À×"À`!ðjÃ"ÀlðpÃÒÃ0"Ã`¡Ã`$ÃÀ… Ã"Ã@ÖÃ`­Ã`*ÃÐÐðÿÀ„à ð^ ÃÀÃðô!Ã0 ÃÐÄÃàýÃ`*à´ Ã0¯Ãиð|Ã@¾!ÃàV ÃUÃÀ£ÃðÃØÃÀ‹à ùÃÞð‚ÃÃðq"Ã@ÊÃð àCðÉ#ÃpÂà ÃÀ—ÀðóÃ@¾!ðÕ!ÃðÃÐÊÃ"Ãðî"Ãðk#Ã`Ã@úÀŠðˆÀéÃоÃ@ÊÃ`!Ã`<Ãmà àÀÃPýÃ0£ÃðÃðÃð Ãà\Ãð} Ã0ÁÃ°Û ÃŸ!ÃÀ… À„ð”à ÃÐ_ÃÐÐà ùÃÐÊÃ0,Ã`$ÀZ"ÃàÙðà ÃpWÃоÃàhÃp]Ãð ÃàhÃ@ÐÃàßà |ðáà p!Ãð•ÃpQÃ`0ð Ã`ÀZ"àÀÃyÃ0©ðL#Ã`*ÃðÃO ÃÐ/ ÃÀÃ`$À ÃÃ@MÃpÎÃÀ¯Ã@eÃ0"Ã@ÊÃ@Yßà7 à í!à´ ÃÀ!Ã`­Ã"!ðdÃàtÃPn Ãpž%ÃFÃ@qÃà\ÃðÃ0ÙÃ.ð|ÃmÃÐ#"ÃÀö"Ã¥ Ãð­à  Àõà |Ã0©ÃP÷ÃÐ/ Ã@SÃÀ—Ã@Ä Ã0£Ã@¸"ÀrÃ`0ÃÐÜëÃÀÀûÃ@ÐÃ` ÃO Ã`­Ã0»ÃÀ¯à ˆÃ0‘"ÃàbàÀÃÀÀÃ@èà7 ÃPV$à j"Ã0!ÃFàäÃ:ÃàÇ"ÃPn Ãp]Ã:ÃÐGÀÃêà í!ÃÐ5Ã:ÃЦ!Ãp? ÃàP!ÃàD#Ãpª#Ã@G Ã0£à p!Ã0 à1!à ÃàbÙÀf à ó ÃвÃPtÃPtÃ°Û Ã0ü%ÃК#à¨"Ã"!Ã0 Ã0£àCðdÃP†ëÃ{#à7 ÃР"à%#ð½%Ã#ðjÃÀy"ÃÀy"ÃÀs#Ã0y&ðL#ÃиÃ@G ðL#Ã0y&Ã`w%ðçÀÃÒÃð} Ãp¼ ÃД$à á#ðÏ"ÃPÇ&Ã(Ã@'Ã0$à R&ÃÀ"Ã0"À¿&Ãc'à–%À6(ÃД$Ã0$ÃÀy"Ãðq"Ã"!î%Ã@Ž)ÃÀê$Ã"Ã@¾!ÃÀ—à=Ã@ÊÃÐ#ÃÀs#ÃàÁ#Ã@/$à %Ãi&Ã0‹#Ãðà !ÀéÃ`w%Ãþ"ÃàP!ÃÀy"Ãæ&à Ï&Ãò(À<'ÃÐ$à d#à ^$Ã@¾!ÃàÙàœ$ÃÀê$ÃPb"ÃàD#ÃC"ÃàD#ð½%ð:&Ã`}$Ãì%Ã0ö&à%àœ$Ãðk#Ãð_%à ðÃ$ð:&Ãæ&Ãp'ðX!Ã@ÐÃàJ"ÃÀê$ÃPÙ#Ãà©'à Õ%Ãà>$Ãø#Àf Ã`}$ÃPP%ÀT#ÃÀa&ÃPñÃÃPå!Ã1%Ãpž%ÃC"ÃÐ#"Ã0$àºÃ` "ÃÐ#Ãà8%Ã0"Ãp'$ÃPß"Ãp!%à p!à&ÃР"ðáÃ.ÃØÃaÃðÖ&ÃÀü!ÃpQÃÀð#Ã"Ãp°"Ã`q&Ó#Ã7$Ã`!ÃPë ÃÀ"ÃЦ!ÃÐ%ÃÐ)!ÃÀ‹Ãðk#Ã@ &ÃàD#ô$Ãà»$ðR"ð@%ÃÐ%Ã(Ã0s'à¨"Ã`k'àŠ'Ã` ÃO Ãp? ÃàÍ!Ãu$Ã@/$ÃÀa&ðÏ"ô$Ã@A!Ã"!Ã"Ã0£Ãì%Ã@²#ÀÝ!Ã0%Ãðâ$à Ï&À**ð¥)Ã$Ã`}$ÃpÂà ‚ÃðÃ"Ãðâ$Ã`w%ÀË$ÃPb"à ç"ÃPP%Ãà2&ÃPß"Ã7$À×"ÃÐŽ%ÃðÖ&Ã0‘"Ã0&ÃÐ%Ã`$à 'Ãà©'ÀÅ%Ãp3"ÃÀê$Ã$ÃР"Ã` "Ã`• Ãð‰Ã`!ÃД$Ã0—!à ^$ÃÀð#Ã0m(ð4'ÃPb"à=â'Ã0Þ*ÃÀð#Ã`‰"Ã0 Ã`‰"Ãp3"Ãà8%à–%Ã`ú$Ã0‘"ð:&Ãðè#ÃвÃД$Ã0%Ã"ÃC"ÃÀê$ÃК#ÃUÀÝ!Ã"ÀéÃ0¯ðL#Ãþ"Ãu$ÃÀð#Ã0 Ãp-#ÀrÃLÃ[ðL#ðX!à¨"Ãà>$Ã0…$Ãà\ÀN$ÃвÃÀ Ç!ÀË$Ã0y&ÃàßÃ0,Ãø#àœ$Ã@Ä Ã`!Ã`• ÀÑ#Ã@;"Ã` ÃPtÃÀ Ã`¡Ã@'Ãp-#ÃàbÃPÃÀÃ1%Ã0©ÃЬ ÃPß"Ã0…$ðáÃpQÃ@MÀT#è&ÃÐ$ÃД$ÃI!àÆàºðÕ!ÀrÃ0µÃвÃp¶!Ãp¼ à d#ÃpQÃ`HÃÀ‹Ã0&Ã08ÃÐ/ Ãðw!ú#ÃO ÃP\#à ùðÿà ÿÀlÃ` "ðçÃpKà v Ã0!Ã`¡Ã`!ÃP÷à |à á#ÀË$ÃàJ"ÃpKÃàßÃÐ/ ÃaÃp¼ àIÃ@/$Ã` à í!Ã0&÷ðX!ÃÌ ÃPzÓà=ðÃàýÃ[à !à ð‚Ã` Ã"ÃÐ#Ãðe$à í!ÃÀÃР"à d#ÀéÃР"ÀÝ!à À ðùà ˆÃPn à !à p!ÙÃ0,à ˆÃÀs#Ãp¤$Ã@Ä Ã ÒÃÐ/ à ˆÃmà ÃÀÃ0&à p!Ãðƒà ùÃðÃÐYÃPÃР"Ãà»$Óß!à X%à%#ðáÃÀ!ðdßÀxëðÉ#ÃÀü!à šðÿà ÃÀ… Àã ÃPå!ÀûÃàßð^ ðpÃиÃPÍ%Ã"ÃÀ Ã`$à=ÃàP!ÃpÔÃ0µÃ@;"ÃЈ&ô$à ÿà Ã@¾!Ã0 à p!Ã`k'ÀÅ%à ó Ã0©ÃÀÃPÃàÙÃÐ$Ã@âÃpEÃ0"Ã1%ÃPµ)ÃPtÃÒÃP’÷Ã`<Ã`¡Ãp¤$à !Ã7$Ã@¸"ÃÀ"ÃвÃðÃ0%ú#ÃPå!Ã`!ÃPß"à R&à %ÃàÙÃ0%Ãp&Ãø'àCÃPÃÀ"Ãpª#ðdÃ`­ÃÀ‹ð^ à%à$ÃвÃ0 Ãðè#ÃàÓ ÃXàCà v ÃÀm$Ãðq"à$Ãp'$Ã0%Ã0 ÃÐ/ Ã`#à´ ÃPV$ÃвÃ@A!ÃÐ)!Ã$Ã` "Ã0"Ã@#&Ã&Ã](Ã0ü%ÃðÊ(Ã@ˆ*ÃÀº,Ãà-Ã@ç/Ãph.ÃðA*Ãpý*àT0ðu1ÃÀ2ÃÀ1ü1ÃÝ2à 1Ã`)2Ã’4ÃàU5ÃЙ8Àô2ÃÀ„5Ã@X2à u5Ãðÿ4Ã<8Ã@¥:ÃàÆ7ÃPö3ðÂ9Ãñ9Ãp&9Ã0–6ÃÐ(6ÃðÛ:Ãå;Ãp>Ã09ðª=Ãp…>ÃÀË>Ã0f>Ãà®;à :Ã`‚8Ã@™<ÃÀé9ÃÐ<Ãp:Ãà=9Ãà%=ð’AÃ0l=ÃðÏ<ÃPO:ÃPÀ<ÃЇ;à @Ãp>ÃPÒ9Ã0r<ÃÀB@à 9?Ã@ ?ÃÐø=Ãp<Ã0`?Ãð4AÃp—;Ã`á=Ãð4AÀ²=Ãý;Ã0~:à Q;Ãð:@Õ>àq@Ã\=ÃÐu>ÃÐò>ÀG:ÃðÏ<À¦?À²=ÃÀ`;à Ô:Ã@=Ã=Ã0x;àw?Ã`d=ÃÐo?ð¤>ðª=ÃÐæ@Ã@@ÃÀé9Ãp¯7à :à;Ãp;ÃÀé9à ¼>ÃðR<à‰<ÃÐþ<Ã<8Ã’8Ã`í;Ãb@Ãàœ>à K<à W:ó9ð3<ÃÀf:Ãh?ÃðF>Ã`‚8Ãp?Ãàœ>ÃPO:à•:Ã@±8ÃPä6ÀY7Ã@@6à­6ðÎ7ù8Ã@";Ãð@?ÃðÛ:ÃPØ8ÃT4Àè4ÃÀÝ;Ã@±8ÃŒ5Ã@½6Ã@F5Ã÷8Ã0+3Ã×3Ãð0Ã!6Ã0¨3ÃðŽ2à<4à9ÃП7Ãpµ6ÃÀ„5Ãð2Ã0C/Ã`)2ÃË5à o6ÃPð4Àe5Ã@½6À‰/ÃpÇ3Ã`4Ãï/ÃÀœ1Àk4Ã`6Ã` 3ÃPs4ÃN5Ãàm1Ã@F5ÃZ3ðu1ÃÈ/àË1ÃÐ@2À›,Ã`5ðc4ÃàÌ6ÃðŽ2Ãp\0ÃÀ+/Ã@^1ÃPs4ÃàÒ5Ã`¦2ð/ÃÐR/Ã`/1àH2ÃÀ¢0Ãàm1ö2Ã`#3ÃÝ2Ã@X2à ".ÃP/Ã7ä1ð“,ÃpÓ1Ã`2Ã0Ò,Ãpý*Ã0Ø+Ãà£(À.Ã`G-à ¥-Ãpë-Ã0U,à`.Ãà.Ãàg2Ãð1à 0Ã0Ò,Ã`Ê,ö.ð/Ãõ.Ã@ˆ*ÃP…1Ãé0ÃÀÆ*Ã`Y*ÃÐÕ.Ãph.Ãx.Ã~-Ãà+Ã-ÃÈ+àÝ.Ãp )Ãø'Ã9.ÃÐF1ÃÔ-ÃÐá,Ãà)Ãpt,Ã`Ê,à @)à @)à +ÃP -ÃðS'ÃPV$à ½)ü-Ãpñ,ÃP2*ÃÐÏ/à Ÿ.À.Ã0C/àé,Ãð5,à ½)à)Ã(à~)ÃÀº,Ã0C/Ãû-Ã@š'Ã0ð'ÃÎ*ÃP/ð/Ãà&(Ãþ"Ü(ÃÐF1Ä,ÃPÁ'Ã0ö&Ã`#Ã0ö&Ãà*À6(Ã0%ðL#Ãæ*àr+Ã`è'ÃW)Ãà)Ãð5,Ãà*Ãp&Ãà2&à ·*À¡+ð«(ÃPP%à .,Ã@'ÃP-Ãp )ô$Ã@¬$àï+Ã0ð'ÃÀa&Ã`Y*Ã@ÿ+ú#à¨"Ã&ÃÀm$à Ï&Ã@'à F(Ã%'ÃÀg%Ã`$à)ÃÐí*Ã`_)ÃÀÞ&à á#ÃЈ&ÃðY&à X%Ãðô!ÃÀö"Ã`Y*ÃÐí*ÀË$ÀË$ÃPb"ÃPë ÃàÁ#ð4'ÃД$À0)Ã{#Ã`ú$ð4'à(à 'ð4'Ã`Ü)Ãðe$à X%à ½)à Û$Ã0a*ÃPD'à ^$Ã0&ÃàÍ!Ã,Ã@#&ÃР"Ã`$ÃðY&ÃðÜ%Ã0©ÃPÍ%ú#Ão%à¨"Ãàßàœ$ÃÀØ'Ãà2&À<'Ã$Ãà2&Ãà»$ÃðÜ%Àéà7 ÃÐÿ'ÃÀm$ð@%ÃPJ&ÃPÙ#Ã` "ÃàD#ð@%Ãp¶!à%#Ã$Ã`#ÃàD#à&Ãp'Ãpª#Ã+&ð¥)Ã1%Ãðâ$Ãp¶!Ã`!àIÃäðF$Ã0#Ã1%Ã`ƒ#Ã$Ãpž%ÃÀ… ßÃ0!Ã&Ã1%Ão%ÃР"à ó ÃÐAÃ@ÖÃ@Êà7 à !à–%ÃД$ÃÆ!ÃÀä%ðÃ$ÃPÙ#ÃÐ$ÃðÖ&à É'ÃpÂà |ÃÐ5ÃàÙÃp? ÓÃ0—!Ã{#Ã` "ÀÝ!ÃpàñÃð} Ã0¯Ã°Û Ãà\à j"à ç"ð^ ÃgÃ0!ÃPÙ#Ãà¯&Ã0£Ã0&à+"Ãþ"Ã02ÃpKà ùÃC"ÃЬ à ðvÃ`­Ã0©Ã@;"ÃP\#ÃP€ÃÐ'ð±'ô$à j"Àð|Ã0 ÃиÃÃ@Ä Ã =ÃоÓÃ0¯à+"Ã=#Ãðk#ÃðÜ%Ã=#Ã@ÖðdÃà\ðíÃ0"à ÃðÃþ"Ãp'$àÀàºÃðw!Ã`$àÀú#ÃàD#à%#ÃpÎÃÒÃàD#à7 Ãð} à%#ÃàÍ!Ã4ÀÝ!ÃÃð›ðÕ!ô$î%ÃÐ#ÃC"Ã%'Ãðq"Ã`• Ãиà !Ã[ÃPh!ÃðƒÇ!ÃвÀÝ!ÃÀa&Ãì%ÃÀs#ÃÒðçà ŽÃðà ÃpQÀã ðÉ#Ãðk#ÀT#ÃÐ;ÃUà Ãp9!Ãðî"ðL#Ãp°"Ã¥ À`!à&ÃàD#Ã0%à v ÃÒÃØðáÃ@¸"ÃЦ!Ãðî"à %Ãò$ÃàÁ#ÃÐ$ÃЦ!Ã( Ã@Üð@%Ãp*Ãp*À¡+ðŸ*Ã0ä)Ã@'ÃК#ÃÐ|(Ã`Ö*ÃÔ)à ·*àï+Ã0Þ*ÃP©+à +àZ/Ãàö/à 4+Ã0[+ÃP&,ÃÐÉ0Ãà‘+ÃP2*ÃðG)Ãp*Ã0C/ðo2Ãpå.ÃÐÏ/À›,Ã`¾.Ã],Ã,Ã@+ð¥)à +Ã@ç/ÃpP2Ã@^1ÃP…1Ã0Æ.Ãà…-ð+Ã0Ò,Ã0Ì-ð .Ã0Ì-ÃP—.ÃP-Ã`S+Ã0Ø+à ·*àõ*ÃÐç+Ã`Ö*À§*ð+ÃÂ,ÃW)Ãu(Ãð).ÃÀÀ+ð/Ãpå.à ·*Ãi*àH2Ã@Ï3à 0Ã0Ò,Ã`Ö*Ã`Y*Ãpå.Ã0C/Ã`;/ÃÀ¨/ÃÀº,Ãà.Ãà.à ·*Ã`â(Ã0Ø+ðþ/ÃP0Ã?-Ãà )ð“,Ã@Ž)À6(Ã`Ê,Ãà.À,ÃW)Ã0a*À•-Ã`Ö*Ã0[+Ã`q&ÃP»(Ã0U,Ê+Ü(Ãpt,Ã9.ð,Ã@ó-ÃÀ´-ÃÔ)ÃÐÿ'Ã`Ð+à «,Ãpn-à 0Ãðš0Ä,ð()Ãì)Ã@+Ã`Ð+À,ÃðÄ)Ãà‹,àZ/Ãà+ÃÐá,Ãà‹,À,ÃðÐ'àã-à (-Ãð¾*Ã0ö&à @)ð/Ãi*Ã0[+ÃÎ*ð,ÃÐù(Ã0[+ÃÐó)Ãð5,À-Ãð¸+Ã0[+Ãø'Ãà¯&Ão)ÃQ*ÃP2*Ãò$à É'Ã`â(ÃP©+ð«(ÃPÁ'à ·*ÃðÐ'Ã1%ÃÐj+à~)ÀT#Ãà+ö.ÃP&,ÃP2*ÃðS'Ãðú à ç"Ã@¬$Ãò(Ã$ÃÐ#ÀH%Ã`S+Ãæ&Ã%'Ãà,'ÃЂ'Ã`ô%Ã`Ö*ð+Ãà )Ã@¸"Ã7$ÃÐÿ'ÃPJ&ÃЂ'àœ$Ã@#&ÃÚ(À¹'à(Ã{#Ã$Ãp(Ãðâ$Ãc'Ã0g)ÃP»(Ã@²#ÃP\#à ·*Ãð¾*Ã@(ÃðM(ð()ÃÀC+Ãà8%à Õ%ú#À³(Ã@(Ãðâ$Ã@;"Ã"ÃÐù(Ã`ƒ#Ã@#&Ã0ê(ÃðA*à L'Ãðâ$Ã](î%ÃI!Ã0ö&ÃÐÿ'à$Ãðk#ÃàÓ Ã`ƒ#Ã0g)À¡+ÃÐ &ÃÀð#ÃPJ&àœ$Ã@/$ÃÆ!Ã0%Ãðâ$ÃàD#ÃPJ&Ãp’'ÃÐ#Ãàµ%Ã0m(Ãu$à ùÃàP!Ã`w%Ã%'Ã](ÃÀØ'ÃÀa&Ãð_%ÃP\#Ã#ÃPÍ%Ãì%à7 ÃðÜ%ÃàÁ#ÃÐ$Ãà2&Ãà»$Ãpª#ÃðS'ÃÐ$Ãp¶!ëÃð_%Ã(ÃÐv)Ãà»$ÃàÓ Ã"à„(Ã0ð'Ãpž%À`!à í!Ã`³À×"Ã`k'àœ$ÃÐv)Ã0y&àÆÃàÓ Ã j"ÃÆ!Ã@#&ðÉ#Ã0—!àºÃ` "Ãðk#ÃO Ã0‘"Ãu$Ù"ÃÐAÃ`• ÃPh!ÃàßÃ0¯Ã$ÀH%ÃPP%Ã`‰"ÃpKÃ`›ÃÀö"ÃÌ Ãäà ”Ã@ÊÀ<'ðÏ"ÃPñà |ÃÀ… Ãp9!ÃPzÃêà ŽÃàV ÃPh!Ãðô!à&ÃÐ/ ÃÐÊÃpÎÃpEÃpEÃ@MÀã ÀéÃp? ÃI!ÃC"Ã@ÊðR"à®!ÃЬ ÃC"ÃиÃ`¡ÃàD#àCÃ0,ÃUÙÃð} Ãðî"Ã@A!ÃàåÃ0£ÃPýÃPb"Ã"Ã@MÃ`§Ã°Û ÃÐ5÷Ã@;"à´ à á#à j"ðX!ðÏ"ÃÀs#à ç"ÃPzÃ4à ç"Ã`• ÃàP!Ã:Ã@_ÃPë ÃgÃ@âÃиÃвÃ°Û Ã€xðjÃ4Ãàµ%Ã@ &à ùÀrÃpKà À`!Ã.ð^ ÃÀ—ÃàÓ Ãð ÃPë à ùñÃàÓ Ã0£ðáÃäÀrÀéàÆðçÃÒÃЈ&ÃÆ!à ˆÃ0 ðL#ðÏ"Ãp°"Ã`³ÃPå!ÃC"Ã`›ÃO ð^ àÌÃPÙ#ÃÀð|Ã@SÃ"Ã0»ÀrÀ×"ÀN$ÃÀü!Ã@SÃð§ÃÀ ÃÐÄàIÃÀ—ÃPýÃð} ÃêÃð§Ãà€ÃÐAÃPtÃÀ~ÃPŒÃpÎðçÃ@G Ãð} àÌàOÃÃØà ç"Ã@A!Ã0,Ãð à ÀxðvÃÀ×"ÃàÓ Ã`$Ã`ÅÃàhÃ@ÊÃ`*ÃðÃPýÃaÃàßÇ!Ã.ÃÌ Ãgðjð|ÃpQÃpQð|Ã`³ÃPýàÀÃоÃ08ÃÃÀ‹ÃPå!ÃpKà 5Ãà÷ÃàbÃÀ à Ã@SÓÃиÃPn Ãиà |Ãà\ÃPP%Ã"ÃÐÄÃàýà ”Ã@úÃ0ÁÃ(ðçÃ`!Ã0ÁàÒÃgÃäà ÿÃÀ!Ãp¼ àIàöÃ0ÙÃЬ ÃPýÃaÃ` ÃàÙðjÃ0"ÃPtÃPŒð|à ùÃðÃ>Ãøî†ÃxtðYŒÃhúˆÃÀž‡Ãt…ÃÖƒÃ`C„ÃĂÀ&ÃÐl~Ã0i|Ã@7vÃðytÀßtÀ\uà ãvÃPvrÃpÖoÃÀ™pÃÐÒmÃÐÞkÃÀ.mÃ0ÏkÀlÃ@änÃÅnð¢hÃ`ÓiÀkÃÐeÃpwjÃÐðhÃ0pfÃp•eðÌaà(aÃÐdÃ`Œ`ÃЩ_à m`ðÞ^à ö^à ê`ÃÕ]Ã@Ç^Ãp§bÃ`˜^Ãàe\Ãàè[Ãð'XÃ@V\ÃÀù`ÃÃ`Ã`?XÃÐÍYÃ0)]ÃP[ÃÿVÃð9UðWàdWðüYÃÐPYÃ`9Yà µTÀXÃäTÃgPÃ0qQÃðÈRÃÒSÃpõUÃpSÃÀÖQÃÀÖQÃüPÃpSÃðàNÃ;MÃPÃ@@Ã0Z@Ãà%=ð†CÃÀ6BÃÐcAÃÐÎDÃà~Càw?Ã0Z@Ã0ÅCà -AÃP==à W:Ãà+<Ãp…>ÃÀf:ÀÐ8á<ÃÀFÃ@KIÃ`^>ðQ7Ã>à:ÃÐ<Ã@“=ÀÐ8Ã06à:à ?>Ãp?Ã=Ãðá9Ãà1;ÃPÌ:Ãð^:Ã`ù9Ã`í;ÃÀ`;à Q;Ã`|9à ?>Ã0ï<Ãz8ÀS8ÃPä6ÃŒ5Ã0:ðE9Ãz8ÃðÛ:Àk4ä5ÀÖ7à¹4Ãp:Ã`6ÃPê5ðE9ÃàÀ8ÃЙ8Ãñ9Ã`‚8Ã@@6Ã-4ÃЫ5à æ7Ã`|9ðÎ7ðÚ5à ]9Ã`4Ã0 8Ãð‚4Ã@48ÃB7Ã0®2Ãн2ðà4Ãðv6Ã0%4ÃŒ5à9à 3Ãàm1ÃPö3Ã@^1Ã@Û1ÃÐÉ0àT0ÃÀ3à<4Ãpb/Ãз3ÃÐÏ/À.Ã@j/ð/ðò1Ãðÿ4Ã`/1Ãð1Ãàm1àB3ÃÀœ1Ã0º0Ãp>5ðì2Ã`2Ãð¦.àN1ÃÐÛ-àT0ö.àT0Ãr/Ã0´1Ã071à 6Ã4Ã`¬1Ã`²0Ãé0ÃPð4À}1ÃpÙ0Ãàä2Ã@d0ÃP£,Ãð¬-Ã`50Ãð#/Ã`2Ãà‹,ÃP/ä1ÃÐá,Ã`4Ãðˆ3à /ÃP1Ã0º0ÃÀœ1ÃÐÕ.Ãð).à 0ÃpÓ1ÃP2à<4ÃH6Ã`5Ãf1Ã0Æ.ÃP¯*ÃÀ¨/Ã`/1ÃЫ5ÃÀ¢0ÃP8)Ãph.ÃP—.Ã071Ãà.Ã`A.Ã?-ÃP0Ãð/-Ã@p.ð‡.Ãpñ,Ã],à 4+Ã0I.ÃÐd,ÃP -Ãð;+ÃÐ|(à «,Ãà.ÃÐá,Ã@ÿ+ÃÀÒ(ÃÎ.Ãð¬-ÃàU5ÃàØ4Ãðù5ÃPü2Ãà.Ã`Ä-ÃÐp*àã-àÑ0Ã?1ÃÐá,ÃÀI*Ãð²,ÃP/Ã`²0ÃÐL0Þ2Ã`¦2ð-Ãì)ÃÐj+ÃÀ+/à .,àÑ0ÃW-ÃÐÏ/ÃÂ,Ãpn-Ã`¾.à /ÃQ.Ã0I.Ãpñ,Ã0Æ.ðu1Ã-0Ãû-ð/ÃÀ1Ãð).Ã@ÿ+À,Ãp*Ãà—*Ã0Þ*Ãà )Ã`k'ð‡.Ãð¬-ÃP-À1à 0Ãû-à (-ÃÀ1.Ãà+ÃP -Ãà-ÃÈ+À /ÃÑ4ÃÐR/ÃÀ¢0àã-Ã0Ø+Ã@v-Ãà+Ãз3Ã@v-Ã@ÿ+àé,ÃpÙ0ÃÀ1.Ã0a*àé,ÃP‹0àï+Ãï/Ã0O-Ãpb/ð-Ã0º0À.Ã`Ê,ÃÈ+ÃP,+ÃÀÆ*À§*Ã@”(ÃðM(ð-à 1àé,ÃpÙ0ÃÐR/ÃÐí*à ·*Ãð¬-Ãð).Ã`Ê,Ãà…-ÃË5ÃÈ/Ã@+Ãû-ÃÐ|(Ã0ê(Ã`S+À0Ã-ÃÐÕ.Ã,ÃÀ¢0ÃÀº,ÃW-Ãð|5Ãàs0Ã0À/ð‡.ÃÀ®.ð{0Ã?-Ã0À/Ãð1ÃÂ,àÑ0À0ÃÀ1Ã~-Ãàü.Ã@á0Ã@í.À1Ãàs0Ãн2ÃN5Ã3ÃðŽ2Ãðÿ4ÃPð4à 1Ã`;/Ãà,À /Ã8ðÈ8àÑ0Ãàa3ÃpÁ4ð3ði3ÃT4Ã'5ðò1Ã?-Ãð4Àe5Ã@L4Ã!6ÃÑ4ÃpP2ÃÀû6à þ3ÃÐ@2à 2à 3Ãñ9Àe5Ãp,8ÃPÒ9À7àH2ð{0à 6à W:ÃÀ 4Ã’4Ãà[4ÃÐ9Ãh;Ãp:Ã0û:Ãý7ÃÐ¥6à ì6à æ7Ã07ÃЫ5Ãp£9ÃŒ5Ãð”1ÃPð4Ã@.9Ãp :ÃàO6Ã*;ÃЙ8Ãð‚4ÃPÞ7Ãб4ÃÐ44àŠ'ðE9Ã` 7Ãð 3ÃH6Ãp¯7í:ÀS8ÃŒ9ÃÐ:Ã0¢4Ã0¨3Ã7Ã×3à 6ðÂ9ÃPÒ9ÃB7Ãðp7à$8àB3ÃP2à u5Ã05ÃàÒ5ÃP[8ÃpÁ4Ãз3ðÚ5Ø3Ã@½6Ã`8ÃÐ.5ÃÐ.5Æ6ÃÐF1Ãl0ÃÀœ1à ò5ÃàO6ÃPy3ÃPy3ÃÐ.5Ã92ÃN5ÃÀ~6ÃÈ/Ãð‚4Ã'1ð{0Àq3Àw2Ã0¨3à o6Ãð”1ÃPê5Ã07Àâ5ÃP2Ãàa3ðø0ð/Ãp¯7ÃÀ6Ãp27àH2ê4Ãðù5Ãз3Ã05Ãû-ÃP1à­6ðc4ÃÐ:3Ã`50Ãð”1Ã`¦2ðò1Ãð0Ãàm1Àî3Ãð4Ãð 3Àe5À7ÃЫ5ÃÈ+Ãð5,Ã0Ì-ð‡.Àw2Ãpë-Ãpb/ÃpD4Ã92Ã`¾.Ã0I.àT0ÃÀ3ÃpÙ0Ã-0Ãp»5Ã0+3Ã0C/ðþ/Ã`¦2ÃÀ¢0àé,Ã0Æ.Ãàü.Ã@ *À.Ãpb/Ã`50À-À‰/Ãr/ÃÐj+ÃP/Ã`¸/ä1Ãàü.ðŸ*ÃP¯*Ã`G-Ã0U,ðò1ÃÐv)Ã)Ã0=0Ã0®2ð-Ã-Ã`A.Ã0ê(Ã],Ãpb/ÃÐÏ/ö.ÃÀ¨/ÃÐ:3ÃÚ,Ãà )à Ã(àf-ÃÐR/ÃÐí*ÃÐj+ÃÀ´-Ãà…-Ã,Ã`S+ÃP&,Ã)Ã0g)ÃP¯*ð+ÃÐÛ-ÃÂ,Ã`A.Ä,Ãû-Ãð¦.Ã`Ü)À§*Ã?-ÃW-ÃðA*Ã`Ð+Ã0ð'Ã0…$ÃÚ,À•-à Ã(Ãæ*Ã@Ž)ð™+Ãû-Ã0s'Ã`Y*Ãð/-Ãpn-Ê+Ãp )Ãà)ðŸ*ü-Ã`Ä-ÃP&,Ãx.ÃÀÞ&ÃP&,ÃÐá,ÃP -Ãð¾*À6(ÃÀO)ÃÔ)Ãà—*Ã@v-ðŸ*Ã@ù,Ã`Ä-Ãï/à 0ÃЂ'Ãp!%Ã`â(ÃP¯*Ãp*À**ÃÈ+Ã0Ò,ÃE,Ã@(Ã*Ã0y&Ã`Y*Ã0m(Ã0g)Ãpz+Ã@(Ã`Ð+Ã0Ø+Ã@ˆ*ÃP¯*Ã@|,ÃðÐ'Ãà>$Ã`q&ð,Ãæ*ÃPÁ'Ãð5,ð-ÃðÊ(ÃðÊ(àr+Ãp )ÃÐ &Ã0#à¢#ÃðM(Ão)Ã`Ü)ÃÐù(Ãà'ÃÐp*Ã+&Ã@ˆ*Ã@|,ÃÐç+ÃE,Ãpñ,Ãà‹,Ãð;+ÃP2*Ãpë-ÃP/Ã`S+ÃP>(ÃÀI*ÃÐp*ð4'ÃðÖ&ÃЂ'Ã*ð4'Ã-Ãð¬-à d#Ã`î&Ãp€*À¡+ÃðG)ÃPµ)Ãð_%ÃÐ|(à ½)Ãà£(ÃÐv)ÃÐÿ'à d#ÃÐ%à Û$Ã0m(Ãà+Ãà'Ã@'ÃÀU(è&è&ÃÔ)Ãp'Ãp†)à(Ãì)à Ã(Ãp’'ð()ÃÐó)ÃÚ(ÃPµ)ÃÀ=,À$+Ã`ƒ#À¿&Ãð¸+Ã%'Ão)Ãu$ð:&Ãp’'à L'ð()Ãp&Ã*Ã0s'Ã0g)è&Ã0#Ãp†)ÃðÖ&à L'ð4'ÃPß"Ãæ&ÃÀO)à Û$Ã0ð'ÃP\#Ãà,'Ã@”(ÃÀC+è&ú#Ã@(Ãà—*ÃðÄ)ÃðM(Ã](Ãà'à Õ%à–%Ã+&À³(ð4'à Ï&Ã=#ÃàJ"Ã7$ð±'ÃÀa&À§*Ã+&ð+à ·*Ãò(ÀN$Ã0"Ã0g)Ãc'Ãp'$Ãðe$ÃÐ|(ð.(Ü(ÃÐí*Ãà»$Ã`ƒ#Ã0ü%ÃÔ-ÃÀO)ðL#ÃðÄ)Ã`k'ÃPÓ$Ã7$Ãà'ÃðS'Ã3/Ã0[+Ã)à)à R&àŠ'ÃðÜ%ð.(Ãà'À­)Ã`â(ÀH%Ãà8%Ã@+Ãp€*Ãþ&Ãà©'ÀH%ß!ÀÅ%Ãc'ð«(Ã0ä)à%àŠ'Ãø#à @)Ãð_%ÃÀð#Ã*ð½%Ã`q&Ãpž%ÃðÊ(ÃðA*Ã`ú$ÃðÜ%Ãc'àŠ'Ã7$Ã@'Ã&ÃPÁ'ÃàÁ#ð.(à F(ÃPÓ$À­)à Ã(Ãà8%ÃPÍ%ÃÐ%ÃP/ð.(Ãp¤$ð+Ãp¤$ÃÀg%ð·&ÃÀØ'ÃðÊ(ÀË$Ã`ú$ÃPÇ&Ã`q&ÃÐ &à Ï&ÃÐ|(Ã0y&à$Ãp˜&ÃÐ'Ã0s'Ã0%Ãò(Ãà,'Ã@(à(Ã`Y*Ã`ú$Ãð¸+ð¥)Ã`w%à X%ÃÀg%ð()ð .ÃÀÆ*àŠ'Ã@²#Ã@)Ã@ *ð·&ÀÑ#à–%ÃPP%Ã@'Ãp&Ãà2&Ã`Ü)ÃP{ Ã$t“#ÂÂ0€XLÂsRÂ…O€žjÂà™€Âà ƒÂàQŒÂ``”Âàž”Â 7 Â ®¡Â€6¨Â€<§ÂÀa¦ÂæªÂà©§Âà‹¬Âà®Â`¬±Â i·ÂàUµÂ`‚¸ÂÀ¶Â`óºÂàÆ·Â ³µÂà¿Â ÅÂ2ÈÂà ¶¿ÂÀ§Ä€ˆÄ 5ÊÂ`"ÈÂà`ÈÂ@iÄ ²Ê pÕÂ`ËÂöÑ€½ÐÂÀîÍÂmÓ çÖÂÀÚÂ@÷Ö ùÓ€:Ñ€vÇÂ@bÚÂàØÂ ‹Û ‘ÚÂÀÿß äÂU×€oÝÂ`ñäÂà;ã öÞÂàè ´éÂà¸ã +ë€-è€Qâ–áÂà²äÂ@Æó àì 倘ë í iëÂàìÂ@®÷ÂàÃàçð ï rô€ÁùÂàRôÂ`zãÂlèÂÀo÷ÂÀWû 3ôƒùÂ@ÿ€hó‰øÂÐfÃúú€&þÂ}ú€&ÃÀæøÂàÉõ Åû zà ³ànÿÂÀWûÂÀKÃÀWûÂ`öøÂà«úÂ@~ÿÂ;ÃÀ°Ã@ïÃÄÀÃà] ÃÀ ÃP¥Ã;ÃÙ Ã@éÃ`ÆàëÃÐéÃp|ÃzÃÐÃð®Ã0ÈÃ0ÈÃÊÃ5Ãð®Ã0ÎÀ ÃÐãÃ`IÃð%ÃÀ ÃÓ ÃÀ'Ã`OÃ`Ià8 ÃÀ’ Àm ÃÀ!ÃÐÑà Ãàøðk Ã# à Ã0ª Ã`– ÃpÉ Ã0¼Ã°Ü Ã°Ü Ã` ÃС Ã0’ Ã0ª È Ã€Ø Ãð`ÃðéÃ0ŒÃ0†Ãÿ Ãp· ÃàQ ÃàÚ Ã > Ãp½ Ã# Ãð Ãð~ ÃÀëÃ`Ãp«ÃPQÃÐÃ@ZÃÀz ÃÀnÃ0ðРÈÃPWðÄÃpÃЉà k ÃÀnÃðÑÃp(Ã0ŒÃPKÚ ÃPWð¦ÃÐõûÃ|Ãp™ÃPÚÃŽÃ`Ãp(Ã|Ã0Ã0zÃPÂÃ0>Ã0©àà MÃ`ràD Ãpà ÃðËÃ@Ã`ãð Ã`éÃPKÃ`Š Ã°5ð)Ã@$Ãð6ÃàÀœÃ@›ÃЃÃ@ Ã``à ÐÃÀëÃðï Ã0bÃ`×ðÃ`fÃ`HÃà ÃÐwÃÀ>ÃÐSÃàýÃðBÃ@ƒàöÃðjÃ0Óà ¦ÃÃ0ñÃ^Ã@‰ÃÐôð”à ¦Ãð6ÃÐîÃPžà ¦ÃP˜Ãà /Ã0PÃ`Ñà #Ã^Ã@qÃ`0À´ÃP˜à  Ã``ðÿÃ@îÃXÃÐkÃð­ÃöÃÐôÃpuÃð6ÃçÃ`BñÃØÃ"ÃÀµÃ0»ÃpKà ŽÃÐÖÃ`¹ÃàñðˆðÃP!Ã.ÃÀ&Ã.ÃÀ©ÃÀ8Ãp‡Ã0DÃð‰ÃÀ—Ã( Ã0©à+"ÃPýà[ëÃpÎÃ@_ÃàåÃ`Ã`¡Ã0ÁÃ^àaÃÀ—ÃàßÃ0&ÃàhÃÀð^ ðíÃ0»à ‚ÃpEÃàëàCÃPtà ˆÃ0ÇÃàzÃÀ£ðóÃgÃC"Ã0!ÀrÃ`$ðpà ó à ‚ÃÀ‹ðíÃpWÃ.à ùà=Ã`à®!ÃÏÃ0©ðˆÃðÃÉÃpoÀð‚Ã`¡Ã0©ÃPÃpuÃð$À„Ã`0ÃUÃpÈÃÀ¯ðùÃ0,Ã08ÃððÿÃ0>Ã@A!ÃÐAÃpÈÃ@ÖÃP ÃðÃ@ÊÃp¶!ÃÀ£à®!ÃÒÃðÃyÃsÃÀ2ÃRÃÐSðà ÃàßÃàñà ˆÃ0 ÙðvÃ@Sà Ã[÷àUà Ãð ÃàÙÃ@YÃ@ÜÃ`¡Ã`ÅÃ0JñÃPÃðk#ÃP Ãà÷Ã@_Ùà !ÃêÃð Ãsà  à ÃP’Ã[Ã@MÃUÃ0Ç÷à1!àUÃ@SÃ¥ÃÀ£Ãð Ã@èÀÃÀ,Ãà Ã@wÃPžàÀà ”à ÃÐÊÃ`¡ÃàåÃðÀõÃ`¿Ã0>Ãð‰Ã"Ã0 Ãà€ÃÃÃ0>ð|ëà[ÃвÃ.Ãð àÀÃPå!Ã4Ãðî"ÃPë ðçÃ0¯à=à ÿÃÀÃànÃÐ5Ãp¶!Ã@ÖàÀÃð¡ÃÃÃ0!Ã:Ã@à ÿÃðƒÃ@Y÷ÃàëÃ@SÃØÃa÷ÃÃÀ‘ÃP\#Ã`0ÃðÃß!Ã`*Ã`6ÃFÃàÓ ÃÐ5à ùÃ0—!Ã0¯Ã0£ÀõÃиÃ`§ÃàbÀ`!Ã`ú$Ã0…$À`!à !Ã°Û Ã@SÃð•ÃÒÃðw!à ‚ÃàJ"ÃÐ)!ÃpÂÃÀ!Ãp°"Ã@¾!Ãðú ÃÐ/ à ‚ÃðÃðÃÌ Ã0—!Ãð à®!ðÉ#Ã`ƒ#Ã`!ÃØÃ`$ÃÞÃ"ÙÃ0µÃëÃpKðvÃ¥Ãð} ëÀ~ÃêÃ`³Ã( Ãànà ”Ã@èÃ@ÜÃ@/$Ã0&àÒÃàåÃaÃÃPë ÃК#ÃðƒÀlÃ"ÃР"Ã`‰"Ãð} Ãp9!ÀrÃàÇ"ÃÐ#"Ã@eàIÃàßÃàV Ã0‘"ßÃ@kà ¦ÀéÃPtÃÀ ÃP†ÃÃÐ;ÃpÔÃÐeÃpÚÃ{#Ãp3"ÃÆ!ÃP÷ÃpQÃPn ÀN$Ãpª#Ãà»$ÀN$à´ à Ãpª#à ç"ÃPß"Àf ÃàåÃaÃà\ÃpÎàIà ÃÃÀ!ÃàJ"à ó ÓÃp9!ëÃPå!ðçÃÌ Ã°ùÀf Ã`!Ã0>ÃÐMÃÐ)!Ã` Ãp-#ÃpÎÃоÃвÃ`#Ã`!Ã@ÖÃ`Ãð Ã`Ãàhà ŽÃ"!Ãðà à%#ÀZ"ÃðÃ"!Ã{#Ã$ÃÌ ÃUÃ0 Ã`}$Ã` "Ãðî"Ãðe$ðÕ!Ã°Û Ãð_%ÃPJ&Ã0…$ÃÀ… Ã@A!ÃPV$Ã@¾!ÃÀê$Ãp'$à$Ã@G Ã@5#ÃД$Àã Ão%ÃÀØ'ÃðM(Ã( ÃPå!à í!Ãp3"Ão%Ã0%è&Ã`q&Ãà8%ÃÀð#Ãðô!Ã0s'Ó#ÓÃ@/$Ã( ÃÐ#Ã"!ÃPñÃPå!Ãðq"ÃPå!ÃðÊ(ÃðS'Ãðî"ÃÐ)!Ã`#ðáÃàzÀÝ!ÃàJ"Ãðè#Ã$Ã=#ÃÐ$Ã@ÊÀrÃp-#Ãðk#ðL#ÃPÙ#à Õ%Ã@²#ô$à ç"Ã@¾!ÃÐ'ðX!ÃpEÃÐŽ%À›,ÃPñðÿÃð¡ÃÉà=Ãðè#Ã$Ãðq"àºÃðú Ãð} ÃЦ!ÃÐ)!à ðR"à p!Ãþ"ÃPë Ã+&Ã0"Ã@Ðú#ÃðƒÃÒÃPå!Ã@¾!Ã0"ÃPÍ%Ã0y&ð«(Ã`!ÃðàÆÃ@/$à à´ ÃðÃ`¡ÀéÃ0‘"Ã`!Ã@ÖÃ@;"ÃР"ÃPtÃpÂÀÝ!Ãp¼ Ã0ö&ÃÀO)ÃàJ"À`!à+"ÃC"ÃàÇ"Ãpž%à Ãp3"ÃÀ"Ãþ&Ãò$ÃàbÃànÃ@ÐÃp!%ðÉ#Ã{#Ãà8%Ãc'ÃÀy"Ãðî"Ãi&ÃPÍ%Ãðî"Ã` à ˆðáÃЦ!Ãð} ðÏ"Ãø#Ã0%ÃÐAÀrðjÃÐ5Ã@Ä Ã¥ à Ã@ÐÃPP%Ã0y&ðíÃ@¾!Ç!ÀéÃ`!ÃоÃ@š'Ã` à Ç!ÃPå!ëà ó ô$Ã.ÃàV ÃpQÃàtÃø#ÃàÙÃÀ‹Ã@âÃàP!Ãðe$à ùÀÝ!ðX!ÃÀ!Ãà¯&à¢#ð@%ÃК#ÃàÙÀûÃ@ÖÀ`!Ã`0Ã@ÊÃÐ#Ãðw!Ãì)à Û$Ã`ƒ#ÃЬ Ã@Êú#à1!à í!ÃpKú#ÃPÙ#ÃÀö"Ã{#Ãðè#ÃÀ"ÃPP%ÃpQÃpQÀ`!Ã( ÃÐ#"à´ ÃÆ!Ã` "Ã0"Ã`ÃÐ5ÃPë ðáÃàP!ÃК#ÃÀg%ÃК#Ã0 ÃPÙ#à ÿà í!à®!ÃPJ&ÃI!Ã0"Ã0 Ã"ÃàD#ÃPb"ÃP†Ãp¼ Ã`ƒ#ðX!à1!Ã`#à¨"Ã0"Ãà>$ÃÀy"ÀË$ÃÐ#ÃД$ÃÀ"ÃsÃÀ!àCÇ!Ãðú Ãp!%Ã{#ðX!Ã0%Ã0#Ãðô!ÀéÃO Ã@A!à R&ð@%ÃPJ&ÃÌ ÃpÂÃp'$Ãp&ÃPD'Ã@G ß!à ç"Ã`• Ã`¡Ãp¶!Ã0ä)à Õ%à %Ã`§ÃPh!à ó Ã"ÃpÂÃ"Ã`!ÃЬ Ã"ú#ÃÀ‹à´ ÃР"à ^$ÃPÙ#ÀÝ!ðL#Ã@)%ÃðÜ%Ã$ÃPÓ$ÃÀä%ÃPÙ#ÃÀ"à !àœ$Ã=#à ó Ãà>$Ã0ü%ð½%è&à j"ðÃ$ÃÀä%Ã@)%Ã#Ã@š'Ã%'à ^$Ã0 ÃPh!Ã`ú$ÃK+Ãpt,ÃÚ(ð:&ðóà7 Ã`#ÃÀg%ÃÐ$Ã{#ÃàD#Ã{'ÃàÁ#ÃÀð#â'ÃPë Ãp-#Ã0‹#ÃЦ!ÃðY&ÃàD#ÃC"ÃàÙÀïÃPÙ#Ãø#ÃC"ÀË$Ã0m(Ã@¬$ÃÆ!ÃÀ!Ã@ÊÃp¼ ÃPD'ÃðÐ'è&ð·&à$Ã0%ÀÝ!ÃPýÃäÃø#Ãpž%à L'ÃÐ &Ã`w%ðR"Ã`‰"Ãà8%Ã@)%à d#Ã%'à X%Ãp(Ãà£(Ã0s'à Ã(ÃÀa&Ã0ð'ÃP>(ÀB&ÃÐ5Ã"Ã`ú$Ã@š'ÃðÄ)Ã@#&Ãc'ô$Ãø#Ãp )ÃðS'ô$Ã=#ð4'ÃÀÞ&Ã+&ÃÀm$è&Ãà2&ÃÀÞ&Ã`}$Ã0ö&ð±'ÃðÐ'Ã0y&ô$àºÃp-#Ã&ÃK+à @)ÃÐ &ÀT#à$Ã7$Ãp3"à ó Ã0 Ã0 ÃР"ðÃ$à Õ%ÀT#Ã0‹#Ãp!%à í!à¨"ÃÐ'ÃPÍ%ÃÀê$ÃPÓ$à Û$Ã`ú$Ã0$Ã@;"Ã0ü%Ã0#Ã@Ã0©ÃpÂÃ0‹#Ã@MÃÐ#"Ã@ &ÃðG)ÃðÖ&Ã{#Ãð‰ÃàÍ!Ç%Ã0%à %Ãì%ÃðÄ)à R&ÃP\#ÃÀ!Ã@5#à ç"ÃÐ#Ã`k'Ãðô!Ãþ"ÃPV$ÃÀð#Ã@A!Ã"ðF$Ãp3"ÃÐ)!à R&ÃPå!ÃPñÀÑ#Ã%'Ãð} ÃÀ!ÃÀê$Ã@¬$ðÃ$Ã`!Ó#Ãð à´ Ãp¤$ÃÀÞ&ÃðS'ÃÐŽ%ÃÀê$ðR"Àïà ðçÃð ÃÀð#àŠ'Ãæ&ðçÃ7$ÃðÖ&Ã+&ÃPÍ%Ão%Ãpª#Ãðq"ÃÐ5ðL#ÃР"Ã"Ãp¤$Ã7$è&Ã`â(Ãðq"ÀÑ#ÃÀ"ÃÀg%ð@%Ãp˜&ÃðÄ)Ã@#&Ã`#ÃPÙ#ÃàJ"Ã0$Ã0$ÃÀ"à d#Ãþ"Ã`w%Ãðî"ðÕ!Ã0y&Ã0‘"Ãà2&Ã@¾!Ãi&à®!Ã`• Ã@MÀéÃp'$Ã@)ÃPP%Ãp¤$ÃÀ"Ã0#Ã@#&ú#Ãp¤$ÃÀ['ÃÀÀ+Ãp-#Àlð^ Ã@¸"Ã0%Ãì%à Û$ÃÐŽ%Ãà»$Ãæ&Ãð_%ÃÀð#Ãàµ%à @)ÃД$ÃК#Ãðâ$Ãðq"Ã@”(ÃÀm$à%#Ãp9!Ã0,ÃР"ðÏ"ÀT#Ã0—!ÃК#Ã`ú$Ã`q&Ã@š'Ã0y&ÃÐp*ÃàÓ ÃPñÃÀy"ÃÒÃpÈÃÀa&à¢#à ç"Ãp°"Ã0‘"ðáðL#Ã0ö&Ãø#ÃPJ&Ã7$Ãp9!ÃÐ$à%ÃÀa&Ã@/$Ãð Ã@/$Ãþ"Ã@¦%à d#ÃД$Ã`}$Ã(Ãà»$Ãp!%À¿&ÃÀa&Ãpž%ÃÀy"ð.(ðF$ÃÀy"ð@%ÃP\#ÀïÃPÓ$à¨"Ãðq"ÃÀü!à ùàCëà–%Ã&ÃÐ%Ãà2&Ã@5#Ã@G ðR"Ãp'$à ^$ÃàP!ÃàÇ"Ã@/$Ã](Ãp )Ã%'Ã`}$ÃPP%ÃðA*ÃPV$Ã0ä)à Û$à&ÃQ*ðÃ$Ãðk#Ã@”(Ãp*Ãðè#ÃÀ!Ãðe$à–%Ã](àœ$Ã@¦%Ã0ö&ÃД$ÃðS'ÃÀ['à Ï&Ã0g)Ã@/$à–%à%ÃÐ'ÃÐ'ô$Ãþ"Ã0‹#Ãì%ÃÀØ'à(Ã=#àCð·&ÀË$à%Ã0ö&Ãðè#ÃÀä%à Ï&ðÏ"Ãà'à&Ãà»$Ãø'Ó#ÃPh!ÃÐ)!ÃÐ|(ÃPh!Ç%à d#Ã0#Ãðâ$ÃÀö"Ã{#ðF$Ã`#ÃÐ/ Ç!Ãà,'ÃPß"Ãðô!Ã`w%àœ$Ã@Êð4'Ãà)ÃÀ['Ã`q&Ã`ƒ#ÃPÙ#à ^$à$ÃðS'Ã`$Ãðw!ÃР"Ãpª#Ã0ö&Ãp'$ÃÀg%Ã@(Ãà»$à¢#Ã` "Ãà‘+ÃP2*ÃPÁ'àŠ'Ãðô!Ãðq"Ã&Ã0ä)Ã`Ö*Ãð_%Ã0…$Ã"ÃÀU(Ãà2&ÃPb"Ã0%à¢#ÃðÖ&Ã@¬$Ãà*ðŸ*Ãà©'ð«(Ãþ&Ãp†)Ã{'Ãp¤$Ãì%à j"ÃPP%Ã0%ÃPÙ#Ãò(ÃðS'ðÏ"Ãð} Ão%Ãà'À×"Ã`‰"Àã Ãpª#Ãà,'à)ÃðÐ'Ã0%ð½%ÃÐ &Ãò(ð@%Ã0%à Ã(Ã{#ÀÝ!â'Ãæ&ÃPÓ$Ãu$ÃÀa&ÃÀs#Ã#Ã(Ã`w%à~)ÃðÜ%à R&Ão)Ãp'$ÃÐ$Ã`q&Ã@/$Ã`î&À0)à É'Ãp(à R&àŠ'ÃР"ÃД$Ãà+Ã],Ã+&àœ$Ã`è'ð·&Ã0Þ*à (-ÃÈ+ÃЂ'ÃÀÒ(Ãp&Ã0‘"Ã$ú#Ã7$ÃP2*Ã0Ì-Ãpt,Ã(Ó#Ãà>$Ãà»$Ã0ö&ÃðM(ÃðA*ÃÐ$Ãø#ÀH%Ã7$Ãðâ$Ã`î&Ã(Ã`Ü)Ã0"Ãþ"ÃPë ÃоÃ"ÃPÙ#Ã@/$Ã`#Ãc'ð.(ÃÀm$Ã`ƒ#ÃЈ&ÃðÖ&Ã@²#ÀN$Ãp(Ã0y&ÃðY&à X%à+"ÃPP%Ã@'à 'ÃPß"Ã@²#Ã+&ÃÐ$Ã`î&Ã0ü%î%àŠ'Ãp˜&Ã@#&à á#Ã`ƒ#ÀÅ%Ã@/$ÃЈ&ÃpŒ(Ãà+Ãà)à R&ÃÀ"ÃPÍ%ÃÎ*à~)ÃÐ &Ã0‹#ÃPÙ#À6(ÃPÍ%ß!Ã0‘"Ãp&ÃÀg%ÃPP%Ã&ðÉ#ô$Ç%ÃÐ'ð·&ÃЦ!à–%Ãò$Ã°Û Ã7$à ç"ëÇ%ÀB&ðX!à ÃÀÞ&ÃÐv)à í!Ã@¾!Ãu(ÃðY&ð@%à$à p!ðL#ÃpÎÃàJ"ÃÆ!Ãp3"Ãà)Ã`#ÃP»(Ãpž%Ã0‹#Ãò$ÃPn Ã&À×"ÀT#àŠ'ÃÀy"Ã0©à7 Ã#Ã0‹#ÃЬ ÃР"ÃpÂÃ`!Ã`ô%Ãà,'ð4'ÃPë ÃÐ#"àœ$ÃÐù(Ãi*Ãà»$ÃP\#Ã0…$Ã0ü%ÃàÁ#ð:&ðL#ÃÐ5ÃÀ!Ãðw!Ãp’'À6(ÃàÁ#ÃÀ… Ã@MÃÀö"Ã`ƒ#ÃвÃð_%À¿&Ãþ"ÃðY&à á#Ã`}$à´ à X%Ãp¶!ÃPtÓÃpª#Ã$ÃÐ$Ã"ÀÝ!ÃÞÃÀ"à X%ÃÒÃÀ"Ãðú Àã ÃÀy"Ã@¬$Ã` "à Ã@¬$ðdÃ0"à F(àŠ'Ã0‹#ÃÀ!ÃД$Ãp'$Ã"!ÃPñÃàÍ!ÃPV$Ã@¬$Ãi&Ãà¯&Ã$Ãp9!Ã.ð½%ðÃ$Ã=#Ãà,'Ã`î&ß!ÃPå!Ãðk#à%#ÃUÃàV ÃàD#Ã=#Ã@/$à !à Ã(à :*à–%ÃÐÄà !ÃК#ÃP\#ÃàÍ!ÀrÃðî"ðL#à%#Ãðî"Ãþ"à j"ÃÐ#"ÀT#Ç!ú#ÃàV ÃÀm$ð()Ãò(à&ÃÐ'Ãp¤$ÃC"Ãà»$Ã0#Ã0#ÃÀê$ð±'ÀN$Ãà)ÃÐp*Ãð_%ð¥)à&Ãðú ÀÝ!àœ$Ã.ðÕ!Ã"ÃÐ5ÃÀÃ"Ãðe$à ÃàÁ#Ã`k'Ãà2&Ã0"ÃÀð#Ã`#à ^$Ã`‰"Ãà,Ã0ä)Ã{'ÀÅ%Ó#ÃPh!Ù"ÃЦ!ÃðÃðâ$Ã@(Ãà©'àœ$Ãð¸+À<'Ã`‰"ÃðÃaÃ` "Ãà8%ÃàÙÃÆ!Ã@¾!ðÕ!ô$Ã@²#à Û$ÃPÁ'ÃàV Ã@5#Ã#Ãpž%Ã0#à¢#Ã`ú$ÀH%ð·&Ãæ&ÃP\#Ãà¯&Ã1%À³(Ã@¦%Ã$Ã&À`!ðÉ#Ã0ð'àr+ðÕ!à %ÃÀa&àŠ'Ã0ð'Ã0%Ãpž%Ã0ü%Ãà¯&Ã7$Ã@Ä Ã$Ãà>$ÃàÍ!ÀH%Ã&Ã`k'à 'à&Ã`w%ÃÀ… Ã0$à R&à L'à&Ã0…$ðF$Ã0‹#Ãð_%Ã@ *Ãø#À¿&ÃPh!àœ$Ã@ &ðÃ$Ãð Ã@¾!ÃðM(àœ$Ãðe$ÃÀü!à¢#Ã@'à„(Ã#ÓÃpQÃ7$Ã@”(Ã)Ü(À`!Ãp¤$Ãð_%ð«(Ãp€*Ãpz+ß!Ãp3"à !Ãò$ÃÀ!à ÃÀ!Ãà©'àx*ð@%ÃÀð#Ãà>$Ã0 ðÕ!Ãà>$Ã`#Ãp-#ÃÆ!ÃЦ!à%àCÃЦ!Ã@Ä Ã( ð^ Ãpž%Ã`è'ð@%ÃpŒ(ðF$Ù"ÃР"ÃàÓ Ã á#ÃðS'Ã$À`!ÃÀ… ð^ Ã0‹#Ãà£(Ã`$ÃÀð#ÀÅ%Ã#ðÕ!à %ÃК#ÃP\#ÃàÇ"à p!Ãà\ÀN$ÃÐŽ%ÃÀØ'Ã=#Ãø#Ã0‘"Ã0…$Ã0$Ã0 ÃPë ðÕ!ÃÀê$Ã"ÃàýÃ`ÃPb"î%à %Ã0—!ÃÀ—ÀïÃðw!ÃPV$Ã0 Ã(ÃÀ… ÃÀ—Ã"ÃPV$ÃàJ"ðpÃäÃØÃвÃвÃðe$à í!ÃвÃà\ÃpÈÃÀy"Ã`ô%Ãp-#à®!à v Ã` "à Û$ÃÀð#à„(ÃPb"à Ã` "à X%ðÏ"ÃI!ðçÃàJ"Ã@¬$ÃPÍ%Ãðî"à á#ðÕ!ëðÉ#Ã`}$Ã0 à j"ÃPn à R&ÃPÙ#Ãp¼ Ã{#Ã@¾!ÃÐ#"ÃêÀT#ÃÀ‹Ã0—!Ã%'ÃÀê$ÃàP!à®!Ãð‰ÀÑ#ÃÐ5ÃPñÃ`ú$Ãà»$ßÃ@èÃÀy"Ãðq"ÃpÈðÕ!Ã0ö&Ãð¾*ÃК#Ã`‰"ÃpÈÃðw!ðÃ$Ã0#à+"Ã`ú$Ã@)%Ã@5#ÀË$Ã0‹#ÃPb"ÃД$Ãà8%Ã@²#Ãp? à%#ÀH%Ãpª#ð½%Ã0%ÃPÓ$Ãðâ$ÃЂ'Ãà£(ëÃàP!Ã@A!Ãð§ÃЦ!ÃðY&Ã@”(Ã0‘"Ã( Ã`¡ÃPýÀxÃ.à ^$à Û$ÃÀy"Ãp-#à 'Ãðô!ÃЦ!ðÏ"À`!ÃÀy"ÃÀm$Ãi&ÃÐ#Ó#Ã0$î%Ãp¶!ÃÀü!Ã@(Ãp(ÃPå!ÃànÃ@ÐÃðk#Ã@”(ÃÀm$ÃиÃðw!Ã`‰"Ãø#à j"ÃpÈà$Ã0#ðÏ"ðáà p!Ãp3"ðX!Ã`#ðR"Ã@¸"ÃàP!ÃÐ)!à%#ÃÀü!Ã0#ÃàÓ Ã“à p!Ü(Ã@;"ÃP€Ã"Ã@G à !Ã@5#Ã0 Ã`}$ÃÐÿ'à X%Ãp¼ ÃPh!Ã0#ÃðƒÃò$ÃÀg%Ãà>$Ã`‰"ÃÐÿ'Ãpª#ÃÀÒ(ÀÑ#Ãðw!ÃÀg%Ã0ö&ÃPÍ%ÃÒÃPß"Ã@#&Ã0y&ÃðY&Ãp’'ÃÐ%ÃÀy"ÃPÍ%ÃPzÃ`§Ã`}$ÃÀ['Ãà»$Ão%Ã0"À¿&ÃPÁ'ÃPÁ'ÃÐ%Ù"ÃÀÞ&à$Ãð_%ÃиàIà&à&Ã@5#ðÏ"ÃP2*à ½)Ã(ð4'Ã&ÃO ÷ÃÀ"Ãþ"Ã`!à1!ðL#à$Ãp-#Ãà2&ÃàJ"Ã$ÃðS'À¿&ÃÐ%ðX!Ã0,à L'Ã](À×"ÃàÓ Ã“#ÃР"Ã@Ä Ãp )ÃÐ &Ãp'$à ç"Ã0‹#ÃК#Ã0…$ÃÀ['Ãðw!Ãðè#ÃÀ"ð^ Ã0£à Ãàµ%ð4'Ã@/$Ã0m(ÃÐ%Ã¥ Ãà»$ÀÑ#ÃÀI*ÃàÇ"Ãðú Ã`#Ã`Ö*ô$Ã0"à Ï&ÃØÃÐ/ Ã` ÃPb"Ã"Ã0#Ã`#Ã0#Ã`#Ã"!ÃpQÃUà®!Ã0$Ãp&Ãð} ÃPV$Ã@²#à !à´ Ãàµ%Ã`è'à ^$Ãà»$à–%Ã"Ãi&Ãì%ÃÀO)ÃPb"à p!Ã@G à í!ÃÀê$Ãðq"Ã0y&ÃðM(Ãþ"ÃPP%Ãþ&Ã@YÃðà ”à%#Ã0$ÀZ"Ã`‰"ÃÀü!ÃàÓ ÃàÍ!Ãðw!ÃPÙ#Ã0—!à !Ãp'$à+"Ã0!Ãðq"ð()à$ÃpÂÀéÃÀÃ@Ä Ã€`!Ã`ú$Ã0$Ãðk#ÃÐ#Ã`Ö*ÃðÜ%ÃÒÃà8%Ã`‰"Ã@/$ÃÌ Ã %ÃØÃоÃàÍ!Àã Ã@5#Ãвà p!à¨"Ãþ"Ã0Þ*Ã@)%ðÉ#à ˆÃ@kÃ0 à p!ðdðdÃ`• Ãp¶!à í!ðF$Ã0‹#ÃàÇ"à d#ðÃ$ðáàÀÃPÍ%ÀË$à$Ã`}$ðçÃÀ‹Ã0 Ã` "ÃÀ Ã@YÃPtÃÀ… à´ ÃPå!Ãì%Ã@ &Ãu$Ã0—!ðíðdÃð Ã@Ã`ðÉ#ÃÀm$ÃðY&Ã@¾!Ã{#ÃPå!ðL#Ãðƒà L'Ã1%Ã@²#Ãþ"Ã@Ä Ã Àú#Ã.Ã`#ÃPñðpÀZ"ðR"Ã"ÃЬ ÃÒÃ0!ÃÐ)!Ãðe$ÃÀ!Ã7$ÃC"à ç"Ã`ÃðƒÃàÁ#àÀÀéÃÐAàCà v ÃO Ã`!À~Ã`§ÃÐ)!Ã0¯ÃÀ!ÀÝ!à v ÃPýàaÃàµ%à¢#Ã@5#ðvÃÐ;àœ$ðL#Ã`}$Àã ÃðÃpQÃÀ Ã`!ÓÃК#ÃàJ"Ã@ÖÃ`0à Ó#ðçðùà ð^ ÃÒÀéÃPn Ãðú Ã0"à ‚à Ã0£Àïà d#Ã`¡ÃàhÃ1%ÃàV Ã0#ÃÀ!ÃÀ‘À~Ã`­ðóÃàbÃ¥ ÃPå!ëÀÝ!à v ðáÃÒÃÐ/ àÆàIàØÃà v ÃP\#ÃPýÃPtÃP†Ã@Sà ùÃàåÃpÎñà |À×"Ã0!Ã0,ÃÀ à v ÃpKÃPn ÃàåÃäÃ@Sð^ Ã`!àœ$Ã@¸"à Ã(Ãà‹,Ãð#/Ã012ÃÐ:3Ã`š4Ã0+3ÃÐ44Ø7Ãp£9ÃPO:ç;à§7à Ô:Ãn>Ãb<ÃÙ=ÃÀÅ?ÃP?ÃVBÃÇ@Ã÷<Ã0HCÃJDÃÀ³BÀEÃ`"HûBÃ@àEÃÀ­Cà_CÃPCÃÀ}KÃJÃJDÃ&FÃÀHÀÿE×LÃÐ9HÃpaDÃð¥CÃàïEÃPDà GÃ@cEðJMÃÐ’NÃðþIÃÐEFàGGÃPûGà¸IÃ@9LÃмGÃ@ÔGÃMJÃ`KÃмGÃð{JÃ`¥GðVKÃIÃà`HÃP`LÃÀ IàOÃ@ÈIÃ0JÃÖHÀÛKÃ@EJ×HÃpÀIÃp1LÃàOÃФKÃÀ}KÃ0›JÃÀJÃÐ'KÃðæMÃLÃ` Là²JÃp=JðßIÃPrIÃð‡HÃ@?KÃLÃeFÃ@ÚFÃ@EJÃpºJàAHÃKà/KÃÐMÃALà †GÃkEÃðGÃ`JÃ0 MÃОLÃPéJÃà×IÃаI×HðåHÃKÃÀJÃ0JÃ0$IÃÀ$EÃÀGðzEÃ0­Gð÷EÃð{JÃÐ-JðnGÃ@ÎHÃÄKÃàxDÃ@oCÃpy@ÃàŠAÃÀ$EÃ8GÃð{JÃÀGÃ0§HÃ,EÃÐ9HÃàfGÃp[Eð Cà žCÃÜGÃpäCð CÃ0¹EÀóGðbIÃ0×@ÃP¨@ÃðFÃP–CÃÐÈEÀíHÃ@EJÃLà ¤BÃÁAÃpIHÀˆDÃàéFûFÀAàƒ=ÃðŸDõGÃÐò>ÃÍ?Ã0BDÃpÒFÃ`«FÃPŠEÀpHéEÃ0×@Ãp…>ÃÀË>ÃÙ=ÃÍ?Ãð"DðŒBÃP+@ÃàBÃÐu>ÃÀË>àô?ÀCà °@Ã0`?À/>à ?>ÃpðAÃÐ]BÀ¸<Ã`X?ÃðÕ;ð'>ðAÃPœBÃÐ{=Ã\=Ãp?Ã@“=ð˜@ÃPÌ:Ãn:à <ç;ÀA;ð°<ÃÙ=ÃÀN>à>ÃÐ:à :Ã`p;ð¶;Ãp<Ãàœ>Ã0f>Ãpö@Ãp?Æ:Ã0:ðÂ9Ã@¥:ÃN5ÃàØ4Ãðó6À_6ÃPm5ÃË5à <ÃÀ`;ðÎ7Ã0:Ã0x;Ãp86ðW6ÃÀ~6Ãz8Ã`ó:ÃŒ9Ã`”5Ãðá9à;ÃàØ4ÃЙ8ÃPO:Ãp£9Ã0%4Ã09ÃÐ(6ê4à¹4ÃPØ8ÃÐ ;Ã`ˆ7à 6ÃH6ÃЙ8Ã7ÃÀŠ4à Ú9ä5ð]5ÃàO6Ãб4ÃT4à 0Àî3Ã7ÃPs4ÃÀï8Ãðá9ÃÐ:ÃàI7À_6ÃÀ5ÃpÙ0ðÚ5Ã@.9Ãpµ6Ãr/ü1Ã`4Àâ5ÃÀõ7ÃàC8ÃpÁ4ÃàI7Ã@F5ÀÖ7Ã5Ã-4ÃÐ"7Ã9Ãn:ÃPy3ÃÐ@2ÃÀ2Ã-à þ3Ã@:7ÃàI7Ã0®2à 1Ãàa3à*7ðÔ6ÃÀ3Ãp&9Ãý7ÃT4Ãà7:ÃÀ5Ø3Ãð”1ÃÐ@2ÃÀ3à¹4Ãð^:ÃPm5ÃP2Ã4ÃPm5ÃàC8À_6Ãp>5Ãðp7ÃГ9ÃàÒ5Ã0À/ö.ÃW-ÃPs4à u5Ã'1Ãp»5ÃàÞ3Ã07ÃÐ9í:ÀÐ8Ãp>5ÃÀ~6Ø3ÃPÞ7ÃГ9à06Ã`5Ã`/1ð3Ãpµ6Ã@Ï3à³5Ø3Ã012Ãðó6ü1à “0ðo2ÃÑ4ÃÀé9ä5à u5ÃÐ9ÃÀ5Àô2ðo2Ã`¸/ð‡.Ãl0Ã0Ø+Ã0+3Ãã1Ãõ.ÃPy3à<4Ãàä2ÃÐ:3ÃÀ6àN1Ã0®2Ã`¬1Ã@ç/ê0ÃPs4à¿3ÃÐÃ1ðo2Ãp86Ã-0à`.Ãн2ÃP-ÃP0ÃÐ^-Ãàö/Àè4ÃÀ%0à ".ÃÀ¨/à 1ð]5Ã@X2à (-Ã0º0Ãð1ðø0Ãl0Ã`A.ÃÀ1À‰/Ã`)2àH2ðø0ÃP1Ã@ç/Ã0+3ÃP2ðo2Ãàm1Ãð1Ãð /àH2Ã0º0À§*ÃpJ3ÃÀõ7ÃpÇ3Ã@‚+ð .Ã0À/Ã0Ì-ÃP-Ãà*ð-Ãð1à Ÿ.ÃP2ðo2Ã@ù,ÃÐÕ.ÃÐR/ÃÎ.Ãðš0ÃÐÕ.Ã`A.ÃP/Ãàm1ÃÀ´-ÃÐj+Ã0=0ÃÀ%0ÃP©+ÃP&,Ãð¬-ÃpV1Ãð²,Ãà,Ã9.Ãp\0Ãð²,Ã0O-Ãà.ð/ÃÀ®.Ãàê1Ã0Æ.Ã~-Ãð /Ãàö/Ã@j/àï+àf-Ãx.Ãpñ,Ã@ù,ü-ÃP.Ã071ÃÐÉ0ðø0àx*Ãà+ÃÀC+ÃÀÆ*ÃK/Ãi&ÃP£,Ã0O-Ãx.àx*ð¥)àõ*Ã0g)Ãð¾*ÃÀ7-ð¥)ÃPÁ'À­)ÃÀ=,àé,à Ã(à Ã(Ã*Ãð²,Ã0Ò,Ãû-àl,Ã@ *Ãx.Ãì)Ã~-Ã@ó-ÃÐv)Þ2Ãàê1ð/Ãð;+Ã@d0ÃÐd,ÃP©+è&ÃðY&Ã`S+Ã0Ø+ÃðÖ&Ã0Þ*Ãp€*àé,Ã@+Ã@ &Ão%à 4+Ã0Ø+Ö)î%à .,Ã](ð()Ã](Ã0m(ð.(À**Ã0Ì-Ã0a*Ã@)à @)àl,ÃP&,ÃÀ1.ÃÀ7-Ã0´1àõ*ð™+ÃÐÏ/ð"*Ã?-àû)ô$ÃPh!Ã`Y*ð/ÃP&,ÃÀO)à É'Ã0$àŠ'ÃðÖ&ÃðÄ)Ã](Ãà+Ã0U,Ã0ä)àŠ'Ãò$ÃP2*àr+À³(à É'Ãp€*Ã*à 'Ã0s'à&Ãp’'Ãþ&Ã`î&Ã%'Ã`w%Ã@'Ãp*à .,Ãp÷+àT0Ã`G-Ãpž%Ãp )Ã0‹#Àõà É'ð,Ã`S+Ã`q&Ão%Ãpý*Ã@+ÃÀä%ÃÐ%Ãi&ÃPÙ#Ãp!%ÃÀØ'Ãà£(ÀÅ%ÃÀê$Ãæ&ÀÑ#ðÃ$Ãpý*à ·*ÃÐ|(Ã`â(Ãà8%Ã0%ÃPÓ$ÃpŒ(ÃÐ|(ÃPµ)ð-Ã0g)Ãp’'Ã@ &à Ã(ÃPñÃPÙ#ÃÐù(à~)ÃðG)Ãþ"ÀÑ#ÃðM(à ½)Ãp˜&ÃPÍ%Ã`è'Ãæ*à&ÃÐù(ÃðM(ÃЈ&ÃД$Ã@)Ã0ä)Ãp’'ÀH%à X%Ã1%à %Ó#ÃðS'Ã1%Ã`q&Ç%à%è&ÃðS'à F(ÃðÊ(à :*Ãà&(à Õ%Ã`î&ÃÐŽ%Ã=#ÃÀ['Ãp˜&Ã@/$Ã`è'ÃÐç+ð·&à„(Ãpý*À¹'à Û$ÃC"Ãþ&Ã0ö&Ã0s'àï+Ãà*ÃP2*à d#à ‚Ã`!ð4'À¹'Ão%Ã0ð'Ã&à ó ÃÐ &Ãc'ÃðÊ(Ãc'Ã`k'ð@%ÃðÊ(ð.(ÃPJ&Ão%ÃPÇ&ÃPÍ%Ã&Ãp¤$ÃðY&ÃÐp*Ãà8%à ó ÃP\#ÃP8)î%Ã0…$Ãi*ð.(à L'Ãp’'ÃðÐ'Ãà*Ã`î&Ãp'$ÃPn Ãp'$Ã`e(ÃÀg%Ãp&ð±'ÃÀU(ú#ðR"Ã0"àœ$Ã&à R&ÃàÁ#ô$Ãp!%ÀN$Ãp9!Ãp'Ã$ÃPJ&Ãp˜&à Õ%ÃК#ÃpŒ(à~)à(Ã0s'ÃpŒ(ÃÀm$Ãp'$Ã1%ÃÀm$Ãp3"ÃPÙ#ÃÐ$Ã(Ã0…$Ãp&à&Ã`ƒ#ÃPß"À³(Ã0ü%Ã`q&Ãp(àû)Ã@'Ã0‹#Àéà®!Ã%'à L'Ãp’'Ãp†)à X%à~)Ãp˜&ÃÀg%Ã7$Ã0#ÃÒÃÔ)ð .ÃÚ(Ã@Ä ÃÌ Ã°É#ð·&Ã`è'ÃðA*Ã0O-Ã`ô%Ã0$ÃàÁ#Ã@#&Ãà'ð"*ÃÐ$Ãà»$Ã`_)à F(ÃÐ%Ã"Ãà»$Ã@/$Ã@5#Ãu$à R&Ã`q&ÀB&ÃW)Ã0%Ã@;"Ãà¯&ÃPÍ%Ãò$ÃÔ)ÀÅ%à%#ðÃ$Ã+&à&à~)À**ÃÐŽ%Ãpž%Ã@š'Ã@Ž)Ã`è'Ãðî"Ãà¯&ð·&Ã@/$ÃàJ"ð½%Ã0s'Ã*Ãp'Ãì%Ãþ&Ãò(Ãð_%Ã`ú$Ã1%Ãp'$Ã@;"ÃðÜ%Ã@”(à .,Ãðš0Ã~-à&ÃPzÃ`›Ã08ÃàÇ"ÃP8)À¹'ÃÀê$Ã$ÃÐó)ÃðÖ&À<'Ãà )Ç!Ã%'ÀB&à ^$ÃÀü!à á#Ã0Þ*ÃÐ &Ü(Ã,ÃP\#Ãp'$ÃðÜ%ÃðÐ'ÃЂ'ÃÐÿ'à„(ÃPÍ%ÃÀm$ÃpŒ(Ã`Ö*Ãø#ðdÃ@#&Ã7$Ão%à$Ãðe$ÃÐ$ÃðÐ'â'ÃÀÞ&ð.(Ã0%ÃO ÃI!à–%ÃÐv)à ½)Ã@)ÃÐ &Ã0—!à X%Ãð_%Ã@¬$ÃÀm$Ã@#&àŠ'Ãþ"Ãp¤$ÃД$à :*Ãp†)Ãpž%ÃðÖ&Ã0ê(ðF$ÃP>(Ã0ö&ÃÀÒ(Ã@²#ÃÀØ'Ã`k'ÃðÊ(Ãò$Ã@)ð«(à)ð4'Ã`Y*Ã0%À¿&Ã1%ÃЂ'À¹'Ã0ä)Ãø'Ãp*Ã`Ð+Ã`M,Ãpz+Ç%Ã0%Ã0"Ã`!Ã`ƒ#ÃÐ'Ã?-ð½%Ã"Ã0%à Õ%Ãi&ÃÀa&ÃðÖ&Ã0m(Ãu$ÃPÁ'ÃÀØ'ÃÐ'à„(Ãæ&Ãà»$Ãð_%ÃP»(Ãà—*ðŸ*Ãì%Ãp )àŠ'Ã`â(ð±'Ãæ&ÃÐ#"Ã@/$Ãp’'ÃàJ"ÃÀ"ÃÐ#ÀN$Ãà'à¨"ß!à Ï&Ãð¾*Ãð¾*Ãà'Ãu(ðÉ#Ãp˜&ð"*Ã@”(ÃÀs#Ã0 Ã@¸"Ãò$à R&ÀË$à ç"Ã0s'Ã0m(ÃðY&Ãp*ÃÐ &Ãpª#à ç"Ãi&ÃК#Ã0%Ãà'Ãp&à |Ã` "ÃÀO)à L'â'ðÃ$Ã`‰"ÃàD#ÃpŒ(Ã0g)ð·&ÃPP%Ãàµ%Ã`}$Ãðî"Ãpª#à X%à X%Ãæ&ÃPb"ÃÀê$Ãà£(ÃðÜ%Ã`$ÃÀê$ÃÚ(Ã`è'Ã@/$Ã`}$à í!ÃPV$ð^ Ãà»$ÃÐù(ÀÅ%ÀT#ÃÐ &ð"*Ã@#&ÃðY&Ã{'Ãpž%ÃЂ'àû)Ã0ä)ÃÀ"ðÉ#ÀT#à=ÃpÎÃ"ÃP>(à R&Ãðú ÃÃ`!Ç%Ã"ÃÀg%à p!ÀN$ðL#ÃÀê$ÃP2*À<'Ã+&Ã&Ã0m(Ãpž%Ãð ÃPÍ%ÃPÇ&Ã0y&î%ÃàÓ ÃP\#Ã0ü%ÃðS'Ãà2&Ã`ƒ#Ãu$ÃÐ%ÃpŒ(À`!Ãà*à %Ã0g)â'Ãþ&ÃÐ#ÃвÀéÃPzÃÃø#ÃК#ÃÐŽ%ð,ðF$ÀN$à p!ÃÔ-à É'ÃPh!Àf ÙÃo%à&à Õ%ÃÐ#Àã à1!à v Ã0‹#Ãðe$ð4'Ã@š'À³(Ãà,'àœ$ÃÀy"Ã`î&Ã0m(Ã`$à á#Ã`ƒ#Ã`‰"Ã`!ÃàÁ#Ã`î&Ãp9!ÃÐÿ'ÃÀU(ÃP>(è&Ãpž%Ã°Û Ã0"Ã&ÃPJ&ÀË$À¿&à´ Ã@A!ÃI!ÃPß"ÃÀö"ÃàÓ ÃÐ &ÃÐ &Ö)ÃðÊ(Ã1%ÃàJ"Ã0$ÃpKð‚Ãðw!ðF$ÃPÇ&ÃК#Ã@5#Ã@¾!Ã@¦%Ãðe$ÃÀö"à Û$ÃðÖ&ÃÌ Ã`• Ã@¬$Ãp˜&ÃÀy"Ã( Ãp¼ à v ÃàÍ!ÀN$ÃÐ#"Ã0 Ã@MÃC"à d#Ã0"ú#ÃЬ ÃO à í!à+"Ã@²#Ãp3"Ã`ƒ#Ç%ÀH%ÃC"Ãð‰à ÃÀs#Ãþ"ÃàV ÃPë Ã0‹#Ã`ƒ#î%Ã0%ÃpKÃPb"Ã"ÃI!ÃЬ Ã0‘"Ã0—!ÃpEÃàP!ð^ Ã@MÃ@5#Ã0#ÃÐ#ÃÐ)!ÃàÓ Ã0£ÓðF$Ã`‰"ÃÀä%Ãp3"Ã@Öà1!Ã( Ã`Ãðk#Ã0 à Ã0$ÃÆ!ðáà !ÃI!ÃP\#Ã=#ÃUÃÀ… ÃÀö"Ã`#Ãðq"Ã+&ÃЈ&Ã`e(À¹'Ã@Ä Ã*Ã0%Ù"Ã0…$ÀZ"à j"Ã@A!à+"ðdÃ=#à~)ÃК#ð½%Ãp!%Ã{#Ã0—!ðdÃàÇ"ÃðÜ%Ã¥ Ã@/$ÃÐ &Ãp¤$Ù"Ã{#Ã@¬$ÃÀm$Ã`• ðíðÏ"Ã0$Ãà>$Ã@5#ðçÃÐ/ ÃàD#ÃPÙ#ÃÀ‘à ÿÀlÃàbÀ¿&ð@%ÃPÇ&ÃÀg%ÃÐ#"Ã0ü%Ãà»$à F(Ã`î&Ã0$ÃД$ô$ð@%Ãp¤$à´ ÃPÍ%Ã0#Ãðî"Ã"à d#ÃÀ"Ã@¬$à ç"ÃPn Ãp3"ÃД$à R&ÃPV$Ãà,'Ã@#&ÀN$Ãpž%à d#ÃPP%ðÃ$Ã`q&Ãp(ÃÀm$Ã:à î%Ãp-#Ã0%ÃÀÞ&Ãc'ÃàJ"Ã`w%Ãðe$Ã@ÊÃ`î&Ãà>$Ãp&ðF$Ã{#Ã"ÃÆ!Ãðk#Ãðè#ð4'Ãp¶!Ã$Ã0%Ãø#Ãp°"Ã`›ÃÀð#Ã`ô%Ãi&Ã@”(ð()ÀZ"Ù"ÀË$ÃР"À`!Ã@”(ÃðS'à Õ%Ã@¸"ÀrÃ`• Ã$à+"è&Ã@¾!ÃPß"ÃÀa&Ãþ"ÃÐ%ÃPÇ&àŠ'Ãàµ%Ão)ÃPtÃàP!ð()ð·&à%#ÃPzÃ"ß!Ãp!%ð¥)Ã`è'Ãp'ÃÐ%ÃоÃP÷à®!Ã`ú$ÃÐŽ%Ã0$Ãp’'Ã0‘"Ãàµ%à%ÃÀä%Ã`î&à%#Ãðq"ÃÐ &Ã@/$Ãð_%ÃTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Î (ê(·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxZ8HEAPXHYdescriptionsection_0section_1section_2 Hn_sections ðc¨À[ ·—NM (CLASSTABLE`Ü 0SNODhY˜d(hå88fTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(8Ü ÿÿÿÿÿÿÿÿ @TITLEDescription of channel 2 8 FIELD_0_NAME n_sectionsÀdàfTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿhhHEAPX gdatadescription8  @œ°iq·—NM€SNODXg°Úà…-Ã0Ì-Ãà+ÃÂ0Ãàg2ÃP1Ã?1Ãl0ÃPü2Ã@ç/ÃP,+ÃðR<ÃàI7ÃàÌ6ÃàÌ6ÃP,+à +Ã0¨3ÃP‘/ÃP0Ã0=0ÃÀÀ+ÃÀ–2ÃpÓ1Ã@j/ÃÈ/ð/à×/Ãð¦.À0Ã0=0Ã0Ì-Ã0¨3Ã@j/Ãpµ6ÃPü2à 3Ã`G-Ã0=0À‰/Ã{'àõ*Ãàê1ÃÐç+Ãp!%à Ï&Ãû-ÃP1Ã5Ã0¨3Ã`;/à 2À /ÃPy3Ãpz+Ãx.ÃÀ7-Ã*Ãð#/ÃÈ/àT0ð/Ã`¬1Ãàä2Ãï/ÃÀ„5Ã`A.ð‡.àÑ0Ã33ÃP0Ãr/àr+ÃÐX.Àè4à Ÿ.Ãð#/Àƒ0Ã4ÃÐ:3Ãàs0à (-Ã0O-ÃÐÉ0ü1Ø3ÃÎ.Ãu(Ã0º0Ã`Ä-ÃP/ÃP/ÃÐÏ/ÃPö3Ä,Ãð”1Ãàä2ÃÀ¢0Ãp\0à ".Ã33Ã0Þ*Ãp€*ÃÚ,Ãpn-Ã@ÿ+Ã`Ö*Ãð /ÃK+À$+ÃÀ7-Ã0Æ.Ãà.Ãàö/Ãr/Ã@í.ÃÀº,ÃÐ^-ð/ÃÀ–2ÃE0ði3À /Ã0O-ÃÐÃ1ðø0ÃÀ 4Ã-0Ãð /ÃP -à 0Àw2Ãp'$ÃP¯*ÃP,+Ã@ù,Ãðš0à`.ð‡.àœ$Ãà )ÃÀ®.Ãàö/Ãð¸+Ã0[+Ã0O-ÃP1À-ÃÀ1ÃpÙ0ð-Ã05à 3ÃÐL0ÃE,à Ÿ.Ã*àf-Ãà,àû)ÃÐF1Ãpn-ö2ÃÀ5Ã@Õ2Ã@L4ðø0Ã@p.Ã0À/ð4'Ã0º0ÃÀ+/ð“,Ã@Õ2Àƒ0ÃW)Ã@ó-ð3Ãï/Ã`Ð+Ãð¬-à×/Ã’4àÅ2à ¥-Ãà )à 4+Ãày/Ã-0ÃÈ+Ã0Ò,ÃÈ+ÃÑ4Ã`”5ÃÀœ1Ãð 3ö.ÃpJ3à­6ÃpÁ4Ãð¦.Ö)àf-Ãph.à ‡2à (-ÃP…1ÀÖ7ÃÀx7ÃÐ44ÃÐL0Ã0À/à ".àZ/Àw2Ãc+àf-à ò5Ã`8ðà4àã-àÅ2Ãï/Ø3Ã@|,ÃÀº,ÃP,+ÃP1à 1ÃpV1ÀÐ8à o6ÃE0ð·&ÃÀ 4ÃÀ1Ãõ.ÃP‹0Ã0º0ðì2Ã`50ÃÐÕ.Ãà‘+Ã@ù,Ã-0ÃpJ3Ã@R3Àô2À›,ä1à 0À1Ã-0ÃP2ÃpP2ðW6Ã<8ÃÀr8à {4Ãp»5Ãà[4ÃÀI*ÃP2ä1ÃPs4à ò5Ãp©8à 1ê0Ã0 8Þ6àË1Ã@Ï3àH2ÃÀ¨/ðÈ8Ã@R3Ã@Ï3Ã÷8ÃPð4Ãz8Ã5ð“,Ãpn-Þ2ÃP0à­6Ãð‚4Ã`‚8Ãðj8Ã0¨3ÃPü2à<4Ã?1à`.Ãp¯7Ã@(:ÃÐL0Ãðj8Ã0x;à ò5Æ6Àe5Ã@F5ÃÐF1ÃPð4ÃPÌ:Ã`”5ÃpJ3Ã-4à06Ã`8Ã33à 1Ã`²0ÃZ3à i7à ì6Ã@@6Ã0¢4ÃàU5Ãp—;Ã0+3ÃàØ4Ã06Ã`‚8ÃPg6ù8Ä,àB3Ã`š4ÃÐ(6Ãðp7ÃП7Ã*;Ãàê1ÃH6ÃÐþ<ÃÀ5ÀA;ÃÐ<Ãp©8Ãð /Ãðÿ4à u5ÀY7à ‡2ÃàC8ðo2ÃH6ðø0Ã@É4ÃÀx7Ãp»5Ã=Ãp:Ã07à ]9Ã@½6ÃÅ6ð9;ÃPØ8ðò1à ]9à§7Ãðp7Ã06à 3Ã?1Ã@^1Ã@á0Ãpñ,ð/ÃÀ5Ãб4ÃPü2Ãðó6ö.Ã@·7Ã@Õ2ðu1Ãàm1ÃàÆ7ÃÀ2ÃPO:Ã`6Ã071à$8à Ÿ.Ã@ó-ÃPä6ü1ÃàO6ðÔ6ê0ÃPä6Ã06ÃpÇ3à ]9Ã`50Ãà—*Ã3ÃPO:Ãn:Ã7àÑ0Ã@F5àB3ÃÑ4àH2ÃðŽ2à<4ðo2Ãð 3Ã@.9à›9ÃpJ3ÃÀ´-ê4Ã@Õ2ÃÀŠ4Ãt9ÃÀr8Ãðÿ4à•:Ã-4ÃÀÀ+Ã7ÃÐ"7Ãà.Ãð4à ‡2Ãàä2Ã`”5ÃPs4à¹4à³5ðÔ6Ã9Ãp27Àô2ÃpD4ÃPy3ÃÀŠ4ÃPy3à c8Ãðÿ4Ø3Ã0x;ð¶;Ã@^1ði3ÃÀã:à ì6Æ:À}1Ã05Àú1Ã`š4Ã`ˆ7À‰/ÃQ.àN1Ã`d=Ã`”5ÃÐX.à æ7à<4à 2ÃàØ4ð{0ðÔ6Ãp86à*7Ã@:7Ã@";Ã0¢4ð‡.ÃÀ%0ðÚ5ÃPä6ÃðŽ2Ãpµ6Ã@X2Ã0 8à W:à9Ãz8à<4Ã`5ÃÀl9ðÚ5àH2Ã92Ã07ÃPä6ð3Ãàð0Ã0=0Ãàê1ÃÐ¥6Ãðó6à 2à :Ã÷8Ãà[4Ãà®;ÃП7à§7Ã0„9ÃÀr8Ã@Ã5Ã7À0Ã4ÃÀf:Ã@48ÃÐÕ.ÃÐ(6Àè4Ã@F5àN1ð/Ãàö/Ã0Æ.Ø3ÃÀ–2Ã05Ã0Ò,ð3ÃÀ5Ã06Ãðù5Àô2ÃÐ(6ÃN5Ã`‚8Ãp\0àZ/Ãð”1Ø3àÝ.ÃŒ5Ã7ÃÀ6Bà‰<ÃPº=Ãðù5ÃÀØ'À.ÃÐ¥6à Ú9Ã05ÃPm5ð‡.Ã`)2ÃÀr8Ø3ÃP—.ÃPð4àT0Ã`¬1Ã0¢4ÃB7Ã`Ž6à ø4Ãpß/ÃÈ/à ø4ÃàU5ðø0ÃP‘/ðÚ5ÃpD4ÃÀ2ðc4ÃÀ3ÃE0Ãàg2Ä,ä1Ãàä2ÃÐ8ÃÐ:3ðþ/Ã!2Àî3àH2Ã92ÃPö3ÃpP2àB3Ø3Ã0¨3ÃÀŠ4à o6ÃE0ÃPü2à 1Ã0¨3ÃP‹0Ãð0ÃpÓ1Ø3ÃÀï8Ã0I.ê4Ãàm1ÃP,+Ã0%4Àe5ÃpÙ0Ã’4Ã!6à “0ð3Ã0+3Ã5ÃpÁ4ÃPm5Ã0O-ÃÀ['Ã`4Ã0œ5ÃpD4ÃÀ3Ã7ÃP´>Ãз3ÃŒ5à Ú9ÃЫ5ÃpJ3à$8ÃPÌ:ÃàI7Ã-4ÃÐ ;Ã0%4Ã@:7Ãðÿ4à ø4à Ô:à E=ÃPg6Ã012Ã@F5Ã`5ÃÑ4Ãý7ÃÀ3à­6Ã9Ãp&9Ãpµ6ðc4ÃË5ÃП7Ã`Ž6ÃÀ~6ÿ7Ãð4Ã69Ãh;ü1à$8Ãp&9Ãß@ÃÀN>Ãà%=Ã` 7à¿3Ãß<ðBà ì6àH2ÃPÆ;à {4Ã`ó:Ã0–6ðQ7Ãh;Ãß<à :à Î;Ã0–6ç;Ã0x;Õ>ðE9ð¶;Ãå;Ãðp7Ã@.9ð¶;à06à <Ãà7:àƒ=À;ÃÀõ7ÃB7Ã0ï<à ø4Ã`v:Ãë:ÃPs4ÃÀ~6ÃÐ:ó9à @Ã@oCà Q;Ãp©8ÃÐ8ð?:ÃÐø=ÃPð4Ã07à:ÃPØ8Ãðp7Ã@á0à65Ã*;à§7Ãà[4Ã@Õ2à i7à Q;Ãñ9ÃN5Ã` 7à$8ÃÐ ;ÃàÆ7Ãð|5ÃpÁ4ÀÜ6À7ÃÀ×<á<ÃPÌ:ÃÅ6Ãðd9ÀÖ7Àk4ÃPÒ9Àî3Ã`|9Ã0œ5ÃpÁ4à c8ÃÀã:à 3Ã07Ã0œ5ÃPÒ9Ã'5ðAÃp…>ÃÀ¿@ðñFÃàÆ7Ã`ˆ7à;ÀM9Ãh;à Q;à È<ÃÀZ<Ã@Ï3Àƒ0Ã`²0Ã`¦2ÃÀ`;Ã0f>Ã@L4ÃpÇ3ÃPð4ÃÀ5à ]9Ãðç8Ãб4Ãàa3à Ô:ÃP[8ÃÐ8ÃpÙ0ÃPö3Ãà´:À¸<ÃÐ<Ã`Ž6Ã`ù9Ãàœ>Ã@=Ãz8ÃÀã:ÃÀû6Ã9Ã07àô?Ã`š4ðÎ7Àè4Ãp©8Àk4À_6Ãpµ6à ì6Ã?ÿ7ðÎ7Ãð|5Ã-ÃÀ6ÃÐF1ðW6à06ÃП7Ãp£9ÃЙ8ðì2Ã0º0Àw2ÃN5à i7Ã@±8Ãt=ÃB7Ã0l=Ã`ù9Ã`8ÃP2ÃpD4à­6Ãã1á<ÀÜ6Ãp>5à¡8ðQ7ÃÐÉ0ÃàÌ6à;Ã!6ðæ3Ãðí7ðÚ5á<ÀÜ6Ãp©8ÀÜ6ð¶;Ãðp7à i7Ã0–6ÃàÀ8à :Ã`”5ÃÐ.5Ãb@ÃÀl9Ã`”5Àâ5Ãðj8Ã`A.à*7à06Ã`j<à×/ÃŒ5à06à ò5à•:í:Ã`5Ãl0ð'>ÃÀ¨/Ã`Ž6Àè4À1Ã@¥:Ã92Ãp¯7à {4Ã@Û1Ãð5,ÃðŽ2ÃB7Ãàº9ÃN5Ãp»5Ã?ÃÀ6Ã@É4Ãз3à u5Ãð”1ÃP2à {4ÃÅ6Ã06Ø3àÝ.Àƒ0à Ô:Ã’4Ã'5Þ6Ã@^1Ã`M,À0Ã@^1ÃÐR/à<4Ã`²0ÃPs4Ã'1Ãà‘+àË1Ãàð0à06à 6Ãðˆ3ÃЫ5ÃÀ~6Ãðv6ðW6ÃàÌ6Ã’8ÃPU9à65Ãp¯7ÃÐ¥6ÃÐF1à 2ðu1Àe5ÃP -ÃÐL0Ã@d0ÃÀI*Ãàö/àÅ2ðà4ÃÀ3àZ/Ã@·7àN1ðø0à «,Ã`š4Ã0À/Ã0~:ÃÀœ1Ã0Ò,À‰/à×/à 1ÃÐ@2à9ðu1à<4ÃÀr8ÃàO6ÃÀ1Ãð‚4ÃP—.Ã!2à 2Ãàs0Ãð0Ã@Õ2à 3ðQ7Ã`A.Ã-0à³5à K<Ã@Ã5Ã0¢4ÃàU5ê0Ã`;/àH2àË1ÃP -Ã@É4Ãàä2Ã33Ã8ÃÂ,Àw2Ã05ÃpÁ4Ã0®2ê0Ã-0ðà4Ã@·7Ã@Õ2àÝ.ÃpD4ÃÀf:ð°<Àè4ÃÑ4Ãàä2à 0à W:Ãðˆ3ÃÀ6Ãé0à 6ðò1Ã@Ï3Ãз3Ã0®2Ãð4Àƒ0Ãõ.Ãð /ÃPö3Ã7ÃÀ~6Ã@X2ÃÀ3Ãàê1ðò1à c8ÃàO6Ã?1à 3Ã`A.Ã@Ã5Ãðp7ðÔ6ÃÐ:3Ã0Æ.Ã@Ï3ÃàÌ6ÃÐ"7ÃpÇ3Ã`2Ãð”1Ã@ç/Ã3àË1ÃT4Ã`Ü)Ã9.Ã`5ÃàO6Ãpµ6Ã@48ÃË5ÃN5Ã@Õ2Ãàö/à 0Ã92ÃH6ÃГ9ðW6Æ6ÃÂ,Ã0®2Ã0+3À‰/Ä,ü1ù8ÀM9Ãp‘<Ãð·@ÃÐì?Ãp :Ã`v:Ãpå.à 1ÃÀ¨/à ™/Ãà[4ÃP0ðK8Ã5Ã`/1Ãðó6Àw2ð-ÃÀ®.Ã@·7Ãð^:Ã@.9ÃPm5ðQ7ÃT4Ãf1ð/ê4Ã@Õ2Ãà´:ÃÝ2Ã@F5Ã0=0àË1Àq3ÃpÇ3ðQ7Ã`ˆ7Ãðó6ÃÐ44ðÚ5Ã@±8ðc4à<4à ò5Ãð4ÃàÀ8Ãñ9àÑ0ÃÀf:Ãн2Ã!2ÃÝ2Ã×3ÃP1ÃPØ8ðW6ÃÀ+/Ãн2Ã×3Ã@É4Ã`#3Ã0º0Ã012ÃÈ/ÃpÍ2à 3Ã@í.à 1Ãz8àT0Ã0O-Ã@:7à u5Ãà[4ÃÀ5Ãб4ÃàÀ8Ã`¦2ð/Ã0%4àB3Ã@L4ÃÑ4ÃÐ.5Ã-0ÃÝ2Ãp\0Ãà[4ÃÀ–2ÃPö3Ã-0Ãàö/Àô2à K<Ã@Ï3ÃÅ6ÃQ.Ã0¨3ÃN5ÃŒ5Ãà¨<ÃÐ(6Ã`50à<4ö.ÃË5Ãàg2ÃÀ„5ÃàU5ÃÀ 4Ã@Ï3Ã@L4Ãpñ,Ã@F5à¿3ÃÐL0ÃpŒ(à 3Ãà.Ãp27Ãpß/à ™/ÃÀ%0Ã@Ž)ÃÐÉ0ðò1ðÔ6à þ3Ã'5Ãð¬-Ã@Ï3à06Ã@F5Ãàm1ÃÀ–2Ãpµ6Ãð²,Ãà—*Ã`50Ãðš0Ã`¬1ÃÀ5àN1Ãàm1Ã3/ðo2ÃÐÕ.Ã`50Ã’4Ã@á0ÃÐÕ.à o6Ã0´1Ãp€*Ã`;/Ãàä2à 3ÃÀØ'Ã0C/ÃPü2Ãð5,Ã-à o6Ãð).ð,Ã@ó-ê4Ã0®2ð-ð/ÃÐ:3Ãðv6Ã7Ãà‹,Ã06ÃàÒ5Ã`M,Ã!2ð+Ã0À/Ã@ó-ð]5Ãðj8Ãà*À›,ÃpV1àr+Ãà.ÃK/Ã0O-à Ÿ.ü-À.ö.àZ/Ã@Õ2Ãð”1ÃP‹0Ãð¬-À.Ãàö/Ãð 3Ã0œ5ÃP.Ã9.ÃÀ7-Ã0Ò,ÃZ3ÃpÁ4ÃE0ÃW)à 3Ã0¢4ÃÀ%0Ã?-Ã`2Ãð 3ÃÀ=,ÃE,ðu1ÃpÇ3àH2ÃÀ+/Ã`²0Ãàs0À›,ÃÀ1.Ã!2ÃpJ3Ãì)Ãàð0ÃP0àZ/ÃpÓ1ÃP1Ã@š'Ã@ˆ*ÃP -ÃÐ^-ÃP -Ã`Y*ÃÐR/ÃP2Ã'1ÃÐ^-Ãð /Ã3Ãð).Ã@Û1Ã` 3à 6ÃpÁ4Ãð|5Ãã1Ãpë-Ã0U,Ãð#/ÃÐd,Ã071Ãày/ä1ÃP -ð/ÃÀœ1ÃP2ÃÀ7-àH2Ãàº9Ã06ðc4Ãðí7à 3ÃK+àï+Ãpb/ÃÀ¢0ÃpJ3Ãà-Ã`/1ÃPy3ð3Ã`2Ãpn-Ã0g)Ã-0ÃÔ-ðÔ6ði3Ã'5à æ7Ãàä2Ãз3ð-ÃÀ2ÃÂ0à³5Ã06à /Ãày/Ã`¸/ðo2Ã@@6àT0Ãð /Ãðš0Ã0–6àõ*Ã0¨3Ã`¸/Ã` 3ÃP,+ÃÀ1.ÃP—.ÃÐj+ÃÀ3Ã@á0Àq3Ãf1ö.ð-Ã@Õ2ÃÀ¨/Ãï/ÃÐv)Ã0C/ÃÀC+ÃÀ¨/Ãðˆ3Ã0®2Ãð 3ÃP-Ãæ*ÃP0Ãà‘+Ä,Ø3ðì2ü-Ãð¦.Ã0´1Ã`;/à /àõ*Ãð”1Ã` 7ðæ3ÃÐÕ.ÃP‹0ÃP0Ã`S+Ã`¾.Ã3/Ã@Õ2ö.Ã0Æ.ÃÀ~6à×/ð{0Ãð²,Ã3/Ãé0À_6Ã0¢4àé,Ã@p.ÃÝ2ÃÀ5ð¥)Ã@ù,ÃP1Ã`Ê,ÃpÇ3ÃP2Ã`2Ã0º0Ã0º0à ¥-À§*Ãà‘+Ã@X2àB3Ã@Ã5ÃðŽ2à (-Ãð).Ã012Ãðš0Ãà[4Ã!2ÃP-ð .Ã@É4Ã!6ÃPü2à¡8ðo2Ã0C/à ø4ÃP&,ðø0ÃP-Ã@p.à 0Ã],À$+ÃÀ1.à ".Àú1Ãp*ÃP.à ‡2ð/ÃàÞ3ÃP&,àõ*àB3ü1ÃÀ¢0ÃP2*àõ*ÃÐF1Ê+ÃP©+Ã@v-Ãàü.À0ð/ÃÀ1Ã@R3ÃÐ@2Ãà.ð/Ã`/1Ã7ÃÀ 4Ã`M,ÃÀœ1ÃÐ:3Ã0C/ÃP&,ð-ÃÐ44ðo2ÃÀ–2Ãð2àT0ÃÐF1Ãàm1Ã@Û1àZ/Ã0=0Ã071Ãã1Ãày/ÃÝ2Ãà.Ãû-ðÚ5Ã’4Ã`Ð+ÃÀC+ÃÐj+ÃP1Ã@Û1À}1àÅ2Ä,ÃÐÉ0à­6à¹4à Ÿ.Ã`â(ÃP©+ÃÀ¨/ÃÐÛ-ð,Ã9.Àú1ðo2ÃPö3ÃpÍ2Àƒ0ðþ/ðo2ÃÀ 4à ".ÃP.ÃÐj+ÃÀÆ*ÃÀ+/Ãà.Ã@í.ÃÐÃ1ÃÎ.ÃÐÕ.Ãð/-ÃE,Ã071ÃP0Ã?-ä1à “0Ãð¦.Ãð¸+Ã@j/ÃÐá,Ãð‚4ÃP1ÃÈ+ÃÀ3Ãð#/ð/ð/ÃP1ÃÐF1ü-Ã@L4àZ/ê4à à8Ãf1Ãõ.à “0Ãr/ÃÚ,à ø4ÃÐ^-Ã`/1ÃpÙ0ÃÂ,Ãð²,ð.(à 1ÃÂ0À¦?Ãð0ÃÀ6Ãð|5Ãð;+ÃW-Ãp\0Ã@í.ð+À.À.Ãà+àH2Ãз3Ã4Ã3/ÃpÇ3Ãð|5ê0à ™/à ".Ã!2ÃðŽ2ÃðÊ(ÃP‹0Ã@É4Ã(ÃÀ2Ã`M,Ã`;/ÃÀ¨/Ãðš0à 3ÃÐÛ-ÃÀ®.Ãð‚4Ã?1Ãà.ðø0ÃZ3ÃÀ®.àZ/À}1Ã{'ÃQ.Ãph.ÃÀ¨/àÝ.À,Ãpt,ÃP‘/ÃÀ¢0ü-ÃQ*À-Ã0I.ÃpV1Ã0Þ*À¹'ÃP-Ã@Õ2à 2ðÂ9Ê+ÃÐç+Ã?-ÃÀ®.ÃÐX.ðò1Àú1à 1ð/Ã0Æ.ÃW-ÃÔ-Ãày/Ãàü.Ãð0ÃÀ®.ÃP…1Ã~-Ã0C/Ãð‚4ÃÐá,Ã`Ö*ÃÐ^-Ãà—*ÃÐ8Ãpb/Ãà£(Ãàö/ÃP£,Ãf1Àô2Ãð|5à„(Ãp*ð()Ã`e(Ãàs0Ã0I.à 1ÃP/Ã@p.Ã@|,Ãð¦.Ã`A.ÃÐL0à ì6ÃÐL0àÝ.Ã`M,Ã`¬1ÃP.ÃP»(Ã`¦2ð"*ÃÐv)ÃE,ÃP‹0Ãp÷+Ã0Ò,àÝ.ÃÐR/Ã`)2Ã@ù,Ã@ù,Ãð /àŠ'Ãàm1Ã×3À›,Ã0=0ÃÐ^-Ã`50Àk4Ã?1À•-ÃÐj+Ãðù5Ã@ç/ÃP/Ã@Ž)ÃpP2ÃpD4Ã`¸/Ãàê1ÃPê5Ã`#3Ãp(àr+Ãé0ÃÔ-ÃÈ/Àú1ð]5Ãàö/Àú1ÃQ.ÃÂ,ÃÈ/à 2ÃÐÕ.àr+ð{0ÃÐL0à 2ÃE0ö2Ã`¾.Àw2Ãàö/ÃÐÕ.Ãàð0ÃPµ)Ã0%Ãн2Ã0º0Ã`Ä-À­)Ã@ÿ+ð/ÃÐó)ÃÀ®.Ãpß/ÃÐÏ/ÃPm5Ã`Ö*Ã`Ö*Ã-ü1Ãpb/ÃÀ1ÃðŽ2Ã@|,Ã@:7Ãð /Ã0C/Ãàs0ÃÔ-Ãð 3Ãf1ðo2Àƒ0ÃÀ3ÃÚ,Ã0º0Ã@";àã-ü-Ãx.Ã@L4ÃÐÃ1àf-Ã`Ê,àã-Ã@á0Ã0C/Ãðˆ3Ãð#/À}1Ãàü.À1ÃpP2ðo2Ã’4ê4Ã0–6ÃÝ2Ã7ÃÀ¢0ê4ÃðŽ2Ã0%4ÃÐ:3Ã3Ãé0Ã`¦2ÃÀ1Ã8Ã@ç/Ã06Ã@Û1ÀÐ8Ø3Ã`¸/Ã0%4ðu1Ã`¬1ö.Ãðš0Ãн2à¿3Ãðù5Ã`¾.Ã@É4àN1ÃPð4ÃÐ@2ð«(ÃpV1ÃP…1Ã`6Ã0œ5ÃàU5Ã@(:Ã@“=ÃàBÃ7Ãpµ6ÃpV1àN1Àâ5à “0ÃPÞ7ÃÀr8Ã` 3à u5à 0ÃÀ2Ã`6ÃÀ 4ÃÀx7à­6Ã'5ÀÊ9ÃÀr8Àî3à*7Ã33ðQ7à*7ó9ÃPê5ÃÀ2à u5Àk4ÃÝ2Ã`š4Ã@48ÃÀN>ÃàÆ7à þ3Ã`8ÃË5ÃPð4À7ÃÅ6ÃðÕ;Ã`#3à 3Ã0„9Ãз3ð’AÃå;Ãp—;ÃPm5ÀÐ8ÃÐ"7ù8ÃàÀ8à o6Ã0œ5ÃÐ ;ð?:À²=Ãb<Æ6ÃÐ44à ò5à<4Ãp‹=Ã0–6ÃPö3ÃÐ:3à ]9Ãðv6Ãб4ÃŒ5Ã33Ã`”5Ã@á0à 2ÃÀû6Ã0û:Ã`ó:ðÈ8ÃÀû6Ã@.9Ãp>ÃÀÝ;ÃPO:Àâ5Ã`6Ã@X2à*7ÀÐ8Ãðp7ðE9í:Ã@(:Ãp&9Ãn:Ã0~:àB3Ã`š4ÃàU5Ãàö/À7à i7Ã7Ãà[4Ã@R3Þ6ÃN5Þ6Ã05Ãàä2Ã`Ê,à 1ÃÑ4ÃÐR/ðþ/ÃÐ@2Ãðp7Ã`5ÃÐL0Ã0+3Ã-Ã@d0Ãp»5àB3àN1Ãð0ö2Ã`‚8ÃðÉ=ÃÐ:ÃÎ.ÃðÛ:ð9;ÃðŽ2àÑ0Ã3à þ3Ã9Ã8ÃP‹0Þ2Ã×3ÃpD4Ã`5à<4ü1À}1Ã`50à ™/ÃÐX.Ãpå.àË1Ã0C/ÃÐ.5Ãз3ÃÀ2Ãн2Ã<8Þ2Ãà.Ã@ó-Ã0–6Ã7Ã`¦2À7ä5ð3ÃÝ2à`.ÃÀ5ÃpÁ4ÃP‹0Ãàð0à (-ÃÀ3Ã`¾.Ãà-ÃÀ–2ÃÀ3Ã0ä)Ã`50Ãðˆ3ÃT4à65Ãày/Ã0Ø+Ãà‹,Ã@á0Ã@Û1Ãàü.ÃW-Ãpß/Ãàð0Ã@|,Ãpµ6Ã0œ5Ã@^1Ã0Ø+ä1ðc4Ã3/Ãàg2ÃÐX.ÃP2ðò1Æ6Ãé0ÃàÌ6àÝ.ð .ÃPð4à ì6Ã`4Ã`4ÃpV1à¿3ÃP-à 3Ãàê1Ã0´1ÃÀû6ð/Ãp\0ð,ÃpJ3À_6Ã`#3ðø0à 3à¡8Ã0º0À.ÃE,ðu1Ãн2Ãà-Ã`Ê,Ã`S+à 4+Ã’4à ‡2à “0ê0ð/À}1Ãà-Ã0Ò,Ão)Ã0Ò,Ã`S+à³5à×/Ãpñ,àÑ0Ã5à u5Ãà—*ÃÐd,Ãð2À1ÃP‹0à×/ÃÀr8ÃðŽ2à ".Ã0–6Ã7ÃpÁ4ÃÀœ1Ãð /Ãpñ,Ãð#/ÃP/ÃP‹0Ãð).Ãõ.Ã9.ÃÀ¨/ð-Àú1ÃÚ,Ã`Ä-Ã+&Ã9.ÃàÀ8ÃpV1ðò1ðu1Ã`²0ÃPJ&Ã@ÿ+Ãp86Ã`”5ÃÀ2ÃP0ð/Ã@d0Àô2ÃÂ0àT0Ãð0ÃPs4ÃP2ÃÐÛ-Ã`è'ÃÐv)Ã`G-Ã?1ð/ÃPö3ÃPm5ðÎ7ÃÔ-Ãà©'ÃP/ÃÀŠ4ÃP…1ÃÂ,ð .Àƒ0Ãl0Ã<8Àw2ð]5Ãð /Ãàê1Ã0À/Ãð /ÃÀ2ÃÀ3Ã@í.ÃP…1Ã@Õ2ÃP1ÃP/Ã0®2ÃPm5Ãн2à 2Ãð²,à /ðì2Àè4ÃPm5Ãð¸+Ã`;/Ãì)ÃÂ,ÃPð4à {4Ãï/Ã@|,àÅ2ÃQ.ð/Ã5ê0ÃpD4Ã0¢4ÃÀ5à 3Ãðp7ö.Ãpz+ÃP/ÃÀ3ÃPy3ÃE0ÃŒ5Ãðš0ÃàÒ5Ã`Ž6ÃÀÆ*Ã'1ð3ö2ðu1Ã0¢4Àô2ÃÀ+/ÃÐÛ-ÃpÍ2ðÎ7ÃÐÏ/Ãð”1à 3Ãð¦.Ã`G-àZ/ðÚ5Ã@Ï3àé,Ã@L4Ã`#3Àƒ0Ã4ÃÐ44ðc4à u5ÃP‘/àÑ0ðŸ*àH2ÃàU5àÝ.à 0ÃÀ–2à×/Ã`#3à§7Àô2Àe5Ã'1ÃÑ4Ãpz+ðø0Ã@|,Ãr/ÃàÞ3Ã33ÃÐ.5Ã0Ì-Ãð2ÃÐÕ.ðà4Ã-ÃP‹0à*7Ãé0Ã09Àè4Ãð1à 1à¿3ÀÖ7à ‡2Ã'1Ãàa3ÃÀ3à 1ðc4Ãð”1Ãðš0Àô2Ã5à:Ã0–6Ã`50ð{0ÃÀŠ4Ã?1ÃP‘/Ãpz+ÃЫ5Àq3ÃE,Ã0®2Ã`6Ãб4Ã`‚8ðæ3Ã0:Ãf1ÃÀI*à «,à :Àâ5Ãб4ðø0Ã0º0Ãàü.ÃÐR/ÃpÁ4Ã@^1àT0À‰/ÃpV1Ãàm1à 2ÃÐÉ0ÃðL=à W:ÃГ9À¡+à Ÿ.Ãб4ÃÐ¥6Ã@Ï3ÃÀ2Þ2Ãðp7ð‡.ÃÐd,Ãð0à i7Ã`”5Ã@Õ2ðc4À.àÝ.Ã0´1À-àf-À­)ÃÐÉ0ÃP1Ãp27ÿ7ÃðÛ:ð/à65ÃÀ–2ÃZ3Ã0À/Ã0U,Ã`¬1ð/ÃàÒ5Ã0+3Ã@R3Ãp86Ã`#3Ãð#/Ãàs0Ãð#/Ãàü.Ã@Ï3Ã-Ã-4ÃE0À1Ã!2Ã\=Ãà®;ðu1ÃÀ„5àË1à 2ðu1Ãàm1Ã@Ï3ðæ3ÃP‹0à «,ÃÐÕ.Ã×3Ã@Ï3Ã`;/Ã@R3ÃP‹0Æ6Àú1Ã@Û1ÃÐ.5ÃÀ2Ã`è'Ãï/Ãñ9ÃpÍ2Àè4ÃP[8ö2ÃPö3ö.à ".Ãð/-Ãû-ÃPy3ÃÀI*ê4ö.à 0Ã0Æ.Ã`G-ÃP/ÃÐL0ÃÐ:3Ãày/Ã÷8Ãðù5Ãày/Ãàö/Ã071Ã!6ÃàO6Ãpb/Ã0+3ÃP‹0ê0Ãðˆ3ÃP0ÃpÓ1Ã@Õ2ÃÀ2Ãðv6Ã`¦2Ã?1Ãð¸+Ã0´1ÃÂ,ÃpV1Ãp>5ÃÀœ1Ã’8ÃÀ¨/Ã071Ã0œ5Ã'1Ãð¾*ÃPs4Ã0%4À0Ãp86Ø3ÃPê5Ãpz+à~)ÃÐÏ/Ã0Š8Ã0+3ê4Ãà‘+Ã`Ä-Ã@ç/Ã@ó-ÃÐÏ/Ã`¸/Ãàä2àN1ü1ÃPs4Ãð5,Ã`²0ÃT4ÃÐÉ0ÃpV1Ãð1Ä,ÃpÓ1Ã`)2Ã0œ5Ãðš0ÃW-ÃP2Àâ5ÃP2Ã-0Ãб4ÃÐ:3Ã?-ÃàÞ3ÃW-ÃW-ÃÐÕ.ðò1ÃpV1à×/Ã0º0Ã0º0ðÈ8ÃÐ:3ÃÐL0ÃÐR/À‰/Ã,àl,ÃÐÃ1Ãð 3À‰/ÃN5Ãpb/ðþ/ÃÎ*Ã@p.Ã`G-Ãàê1Ãc+ÃP&,ð,Ãû-ÃPö3ðì2ÃÀ+/ÃÐ"7ÃàÞ3ÃÐÉ0Ãp,8Ã0¢4Ã` 3À /ÃP£,ðÈ8ÃPÞ7ÃÀ¨/àT0Ã@«9ä1Ã-Ã0Æ.Ã@|,ÃP…1Ãðÿ4Ã` 3Ãð”1à*7àT0ÃÀ„5ÃÐ:3Ãð1Ã33ðo2Ãà.Ã'1ÃÀÞ&Ãp*Ãàm1à ì6Ã@á0Ã'1Ãà.Ã@ù,ÃÐX.Ãà*Ão)ÃÀ%0Ãr/Ã'5ðþ/Ãð0Ã0À/Þ2ÃÑ4Ã`š4Ã4ðÚ5ÃÀ5Ãðù5ÃÐ@2à ‡2ÃP2àB3àN1Ãày/ÃP—.ÃÀ 4ÃÐÉ0Ã@Ã5à 0Ã` 3Ã0¢4Ãp86ðc4Ãt9à;Ã0û:Ã@É4ðæ3Ã@d0Ãà…-ÃË5Ãð‚4à c8Ã-4Ãàa3Àú1Ãн2Ã3ö2àÝ.Ã0¨3Ãp&9ÃàÀ8Ã0®2Ã0Æ.ÃP‘/À0Ã@X2ÃÀZ<ðQ7ÃH6À1Ãз3Ã@ç/Àô2Ã-4Ã-à i7Ã@X2ÃPy3à06Ã0Æ.ÃÀ´-à~)Ãà)Ãð¬-Ã3/Ã`/1ä1Ãðí7Ã@Ã5Ã`)2Ãp;Ã@R3àf-ðÔ6ÃPm5ÃÐÃ1Ãðÿ4ÃP‹0Ãð‚4ü1Ã`²0Ãð|5À‰/ÃÀ+/ÃP©+Ãàü.ÃÔ-Ã@^1Ã0¢4ÃÀr8ÃÐç+Ã`;/ðæ3Ãph.Ãï/Ãr/ðà4à Ÿ.ðu1Ã`8ÃÅ6Ã`‚8ÀM9Ãp©8Àe5à ø4Ã@R3à à8ÃPö3ðu1ÃЫ5Ãðš0à 6ÃÀx7ÃŒ9ðÚ5à 3Ã071Ã@R3Àî3ð-Ãàs0ÃÀ6ÃN5à}>Ã9.à65Ã`4Ãðí7ÃÀ–2à`.ÃÀ 4Ã0%4ÀÊ9Ãð‚4ÃpÇ3Ãð).à³5Àî3ÃàÌ6Ãp€*Ã`¾.ÃÐÕ.Ãð2àÅ2à¿3Ã` 3Ã3/ðø0ÃàU5ðW6Ã7Ã0¢4ÃPy3Ãã1Ã-ÃÀ=,ÃP/àï+à¹4Ãðv6Ã@d0Ã@ç/ÃP…1ÃÀ7-Ã@Ã5Ã`4Ã3Ãàs0Ã`5ÃpÇ3ÃPð4Ã0+3Ã@48Ã`¦2Ã012Ã0+3Ãp»5Ã`A.ðà4ÃÀŠ4ê4ði3Ãp»5ÃÝ2ÃÐ^-Ã`)2ÃP…1Ã!2Ãý7ð/À0Ã'1ÃË5ÃË5ÃàÆ7ð{0Ã`8Ã`2à ™/à 0Ã`/1À0Ã4Ã`²0ÃB7Ã` 7ð .ðø0Ã@±8ðø0Ãàä2ÃÀ1ÃÀŠ4Àw2ðW6ÃPü2Ã@L4ÃÐ.5Ã@Ÿ;Ãp>5ÃÀŠ4Ã`2Ã` 3ÃÐ44à <Ãðv6ð3Ãð‚4ÃÝ2Ãб4Ãн2ÃPs4ÃN5Ãpn-Ãð2à ‡2à¹4ÃàÌ6ÃH6ÃT4Ã0x;ÃpÁ4Ãð /ðò1ÀG:àË1Àƒ0ðQ7ÃÀl9ðc4Ãã1ÃÐ44Ãàö/Ã0I.àÅ2Ãð‚4Ã3/ÃðŽ2ðÚ5ðà4à 2ÃW-À-Ã],Ã0º0Àk4à i7ÃàÒ5ð/àã-Ã`¸/ÃðÊ(ÃÝ2Ãð /ÃÐ¥6À.ÃP©+Ã0À/ÃPÇ&ÃP…1À /ÃP/ÀG:à u5Ã@Ï3ð“,ÃP‹0ÃÐL0ð]5Àq3ði3à 6Àk4ÃðŽ2à ò5àN1à æ7ð‡.ÃÂ,ÃP,+ÃÐÉ0Ãpµ6ÃpV1ÃP…1Àƒ0Ã`¸/ÃPü2ÃÀŠ4ÃÀ¢0à Ÿ.Ãà…-ÃP -Ã0a*ÃÀœ1Ã0Þ*ÃpÓ1ÃPg6ÃàÌ6Ãpb/àT0Ã@R3à ™/ÃE,Ã@É4Ãà‘+Àú1ÃÐÃ1ÃZ3ÃÀl9ÃÐÃ1Àú1à ‡2ÃpÁ4ÃP%AÃàÌ6Ãï/ðà4ðø0ð“,Ã@|,Ãàê1à ™/ÃÐÛ-ðÚ5ÃàÒ5Þ6Ã33à 1àN1ÃŒ5Ãp27à:Ãà.Àî3Ãð4ÃPs4ÃP‹0Ã0º0Ã0Æ.Ãð/-ÃP2Ã0¢4Ãï/ÃÐÏ/Ãl0Ê+Ã`²0Ã×3Àô2à›9ÃàØ4Ã@ç/ÃÀ%0Ãp\0Ã0¨3Ãý;Ã-4ÃÀŠ4ð/ðo2Ã×3ÃP2ð]5ÃP©+ÃÀ5Ã0œ5ÃP/Ã!2Ã07ÃÀ–2Ãr/Ã`/1ðæ3à o6ÃÀ1ÃP0ÃÐù(ðŸ*ÀS8À}1à×/Ãr/ÃÀ–2ÃÀl9ÃÀ3ÃPö3ÃPy3Ã-0Ãpñ,Ãð‚4Ã012à ".ð‡.ÃÀ1ÃÈ/ÃÐÏ/Ã012Ãû-àH2à:ÃÀ–2Ãн2Þ2ÃK/Ã0I.ÃÀº,ðo2Ã`¾.Ãð¾*àË1Ãàm1àŠ'Ãðÿ4Ã@v-à`.ÃÐ8ÃP0Ã`š4ÃÐL0ð/ÃÀœ1Ãð0à Ÿ.à 3ÃP2Ãàm1Ãð¦.ÃpJ3Ã@d0ÃP -à /Ãé0Ãà-ÃP -ÃP‹0ÃÐÏ/Ãðç8ÃPy3Ãpn-ðì2Ã@R3à¹4à*7Ãàä2Ã33àÝ.ÃpÙ0Ã0–6Ã`ù9Ãð1Ãp86Ã@Ï3Ãð¬-Ã?-Ã@L4ÃPÒ9ÃÀ%0Ãp¯7ÃpJ3Ãàä2Ãp»5à i7Ã012Ã@ç/Æ6Ãp&9Ø3ÃÐÏ/ðÚ5ÃPO:ÃÔ-À-Ã@Ï3ÃÐ.5Ã33Ã@R3Ã0%4Àô2Ã?1à³5àB3ÃÀ¢0ÃpJ3Ãpb/Ã0´1Ãð|5à³5Àú1ðo2ÃÐÃ1À0ÃàØ4ê0ÃàÌ6ÃÀŠ4Ãàü.Ã06Ãð‚4ÃÅ6Ãð¬-ÃP‘/ð]5ÃPð4ðK8ÃÝ2ÃÐL0ÃP/ÃPê5à ‡2Ã@j/Ã@@6ÀÐ8Ã4Ãн2Ãðˆ3Ãp\0Ãð1ÃB7Ã`‚8Ãï/Ã0¨3à¿3Ã`#3ÃPU9À0Ã@ç/ð“,ÃÀl9ÃPU9Ã`50ð/ÃÐ:ðò1ÃPð4Ø3Ãз3Ã-4Ãðp7À}1Ãð).Ã@ç/ÃÐ:3Àî3Ã`)2Ã0´1Ã` 3ðø0ÃPO:ð/à 6Ã7ÃZ3à o6ÃÐ"7ÃP…1Ãà,ÃP…1ÃÐÃ1Ãp&9ÃÀã:ð+ü-À•-ÃP1ÃP—.ÃÐ^-ðc4Ã0¢4Ã`2ÃÐ:3Ã?1ÃP»(Ã@ˆ*Ãð¬-Ãàä2àÑ0À$+ÃÐF1ÃP2Ãñ=À;<Ã@É4Ãph.ÃP.Ãày/Ãàs0À,ÃP2Ã0¨3Ã0œ5Ãàg2Ãàö/ÃÀ–2Ãн2ä1Ãp&9Ãð‚4Ã@X2Ã0=0ÃP/Ãï/Ãà[4Ãð”1Ãé0ä5Ã@á0Ã9.ÃP/Ã`_)Ãf1Ãpb/à<4ÃàÒ5ÃPö3ÃÀ2Ãð;+À‰/àÅ2ÃË5Ãã1ÃÀõ7ÃàÞ3ÃpP2à 1Þ2Ãpë-ÃP1Ã0À/ÃÐÃ1à<4ðÔ6ä1À-à×/Ø3Àú1ÃÐá,ÃpÙ0Ã@‚+Ã0Æ.ÃpÇ3Ã0º0Ãph.ÃÀ1ÃpÍ2à 1àÝ.Ã9.ÃÐÃ1Ãð2ðþ/ÃP—.Ã0=0àé,Ãpn-ÃÐ:3Ãàð0Ã`;/ÃPm5Ã3/ÃP.ÃW-Ã`Ð+Ãph.à “0Ãpt,Àú1ÃÈ/Ãð²,Àú1ÃpD4Ãpý*ÃP£,ÃÀ1ÃÐÃ1ÃÐá,ÃP‹0Ãð5,Ã`G-ÃÐí*à «,à³5ðc4ð“,À‰/À¡+àN1ð"*à 'Ã~-Ãï/Ãf1Ã@^1Ão)Ãð5,ÃàÒ5ðQ7à ]9Ãi*À¡+ð-Ã@É4ÃP -ÃÀ=,Ä,ÃP2Ã@Õ2Ãà.Ã@+ÃÚ,Ãr/Ã9.à§7Ãà+àZ/Ãð 3Ãpå.ÃP/à (-Ã@‚+ÃP-à ‡2ÃÐ ;Ã0=0À.ÃpP2Ã`2ÃP0à~)ð™+ð«(Ãpb/Ä,ÃÀÀ+Ãpt,Ã` 3Ãн2à 2ÃpÁ4ÃÀ6Ã92ð/Ãl0Ã05ÃPy3à “0à 1à 0Ã0º0ð‡.à 0Ã,à «,ÃÈ+à o6ÃÐÃ1ÃÐL0À.Ãб4ÃÐÉ0Ã0Þ*ÃÂ0ê0Ã`”5À}1ÃK/Ãàö/Ãà.Ã<8Ãàs0ÃP¯*ÃT4ä1Ãõ.À7àB3ðc4à 1ÃÀ~6Ã@·7Ã071Àô2Ãp86Ãpë-àH2Ãì)Ö)ÃP.À•-ÃÀ2Ã×3Ãð1ÃÐá,Ã'1ðo2àr+ð-Ã@ç/Ã@Ï3ÃÐ9Àô2ðø0ÀS8à 1ÃÀ+/Ãà.Ã@Õ2à9à 3ÃPð4Ãà‘+ÃÈ+ÃðŽ2ÃPg6Ãà.Ã@p.ÃpJ3Ã5Ãàm1Ãpb/Ã0Æ.à¹4Ã0=0Àî3ÃŒ5àZ/Ã`A.Ã@d0ÃðŽ2Ã0+3ðò1Ã-0ÃÀ¢0ÃP2ÃpÍ2ÃT4Ã0®2ÃÂ,Ãpë-ù8Ãðv6à þ3ÃÐR/Ãà…-ÃÀ3Àô2Ã`d=Ã`8À‰/Ã`S+Ãð²,ÃÂ0ÃÐ44ðo2ÃÐF1ðÂ9Ã`;/àÅ2Ã0O-ÃŒ5Àô2ü1ÃÐL0Ã`¾.ÃÀ3ÃP‹0ÃPö3Ãðˆ3àÅ2Ã`4Ãp27Ã0´1ÃQ.Ãàð0Ãн2Ãp»5Ã?-à`.à .,Ãpb/à ]9ÃÐ:3Ã-4Ãðˆ3Ãб4ÃPÞ7Ã!2Ã`¦2Ã0 8à¿3à þ3ä1Ãð2Ãàä2Ã0C/Ã@j/Ãpµ6à ì6Ã`¸/ÃP/Àô2ÃPö3Ãp,8à<4Ã×3Ã7À1Ã@½6Ã4ÃP1ê4à c8Ãð 3à :*Ã-4Ãðÿ4ðò1ði3Ãpn-àÝ.Ãt9à ò5ÃpP2ÃÂ0ÃÀº,ð-Ã4ÃP -Ã0¢4Ã5ÃÐ"7ÃÑ4ðu1Ãpb/Ã0–6Ã@j/Ãð¦.Ãàg2à 1Ã07ÃÀx7Ã@L4ÃÐX.Ãð 3ÃP/ÃP1ÃÐR/ÃŒ5Ã0œ5à¹4ÃP/Ã9.Ã`Ž6ði3Ã012ðþ/ðÎ7ÃP1Ãõ.Ãð2Ãã1À /Ã-4ÃpV1ê0à 1ð-Ãð 3Ã9Ã'1Ã071ÃpV1ÃÀ2Ã`Ä-ö.Àw2Ã`Ä-Ãàs0ÃPü2ÃÂ0ÃÎ*Ã4Ã4ÃpP2Ãðç8ÃÀ2ÃÐí*àÅ2Ãp27Ã@L4ð/Ã@ó-Ã@X2à­6Ãð/-Ã@ç/ÃП7ÃB7Ã0À/Ã`¦2Ã`¾.Ã`4àõ*ÃÐF1Ãp»5ÃPy3ÃÚ,Ãàm1Ã@^1Þ2Ãð¬-Ã0I.ð"*ðø0Ã@d0àã-ð/à ¥-Ã`;/ðò1Ãðp7ðþ/ÃÀO)Ãpz+ðþ/ÃÐÉ0ðc4à³5Ã@ç/ÃÐ8Ã@R3Ãp÷+Ã@+ÃÐF1Ã`Ž6ð,ÃÀ¢0ÃpÍ2Ã`²0Ã’4ð/Ãð²,ÃÐÃ1ÃN5ÃÀr8Ãð¦.Ã`Ü)ð .ðW6ÃP1Ã`)2ÃÀ%0Ã92à :*Ãð¸+à æ7Ã×3ÃÈ+ÃP…1à 1ÃpÙ0Ã0®2Ã0Æ.Ã0C/Ãð|5Ãõ.à 1àã-ÃðÄ)ÃpÁ4À0à (-ÃT4àÑ0Ãàö/ÃÐ"7ÃàØ4Ãx.Ã012ÃÐR/ðc4Ö)ð/Àƒ0Ã@^1à ½)à<4Ãàê1ÃÐç+Ãi*Ãpë-Ãpñ,Ã0C/Ã@á0Ãà,Ãpz+Ãph.Ã0À/ÃÀ´-Ãàü.Ãàü.à ±+ð@%À›,à :*à /ÃÈ/Ãpë-Ãð¸+Ã0U,Ã@Õ2ðÚ5à ì6ÃP[8Ãl0à³5à­6Ã*à ".Ã@)ÃP1À•-Ãà.Ã0´1Ãð0ÃÐ44à¹4ð-Ãpë-ÃP2Ãð²,Ãàê1Ã@d0à :*Ã3ÃP2Ã@j/Ã0U,Ãû-Ãà—*ÃÀ®.Ãàä2Ã@á0À-ÃpÇ3àÝ.Ãàü.ÃðŽ2ÃÀ=,àÑ0ÃP.Ã-0àË1Ãàð0ÃPÁ'ê0Ãð¬-Ãp÷+Ã`¬1Ãû-à¹4ó9Ã0¨3Ãð2ðþ/Ãày/Ãl0Ãàa3Ã,Ãð1Ãð¦.ðø0Ãph.ÃP0À1Ã0®2ÃÐ44Ã0º0ÃÀ1ð‡.à 1Ã0=0ÃZ3ð/Ã`Ð+Ã`¦2À_6Ã@«9ÃЫ5Ã0é=Ã92ðþ/Ãð#/Àk4Ã@±8à o6Ã@^1Ãðù5à +Ã@p.ÃE0à o6ÃP…1ÃàØ4ðo2àB3ÃPs4Ãf1Ã?-Ã`)2Ãð5,à:Ãà[4ÃÀ¢0ÃàÆ7ÃH6ÃP‹0Ãû-à o6ði3ÃPö3Ã`5Ã`)2ÃN5Ãðù5à ±+Ã`¸/ÃÐ(6Ãà.Ãl0ð .Àƒ0Ãðv6Ã@R3Ãз3à`.ÃÐd,Ã'1ÃÐL0à þ3Ãpå.Ã05Àq3Ã0C/ÃZ3Ãpn-ÃÀï8Ã@48Ã@·7ÃàU5Ãpt,à 0ÃàÒ5Ã@@6Ãðÿ4Ãà+Ãõ.Ãð 3ðÔ6Ã3Ã`š4ÃÀ´-Ã-0ÃPö3ÃpP2à¹4Ã@‚+àÝ.ðò1Ã?-Ã0Ì-ÃÀõ7Àƒ0À}1Ãt9ÃÀ3ÃË5Ã@Û1ÃP¯*Ãf1ÀÖ7ÃÝ2ÃÂ,ÃP,+Ã`4ÃÈ+ð‡.Ãàm1Ã?-ðì2Ãàßà 2Ãi*À•-Ã0+3Ãr/ÃÐÏ/Ã0C/Ã’4ÃÐF1Ãðp7Ãpt,Ã@ç/ÃpV1Ã33Ãf1àN1Ãàö/ÃP2ä1Ã@Ï3Ãàü.Ã`/1àÑ0àT0Ã33ÃÀx7Ã@L4Ãàä2ÃÀ3Ã0+3ÃŒ5ÃÐL0ÃÀœ1Ã*Ãàm1àÝ.Ãpå.Ã0%4Ãc+Ã@F5À0Ã0Æ.Ã`$Ã`e(ÃÀ3ÃÐÃ1Ã`6à æ7Ã0Ì-ð‡.ÃpÁ4ÃË5ÃÎ*ÃÈ/ÃP2àB3ÃPê5Ãðš0Ã0+3ð/Ã012Ãpµ6Ãð#/Ã'1Ãpë-ÃPä6ÃP0Ãð0à ™/ÃÔ-Ãpß/Ãðç8à65Ã@á0ðo2À.Ã@R3Ãà )ÃÀ´-ÃP/ÃT4Ãð‚4ÃÀ3ÃP -ð/Þ6ðÂ9Ãà,à$8ÃP1Ã0´1Ã9Ã],Ã0Þ*ÃÐÏ/Ãðv6Ã@v-Ãf1Ã`Ð+Ãàü.àé,Ãð0Ã33à ‡2ö2ÃÐj+ÃП7ðÈ8À‰/à 1à «,À}1Ãð2Ã@Û1ð"*Ã0Ò,Ãì)ÃP1àÝ.Ã@í.Ãà.ÃK/Ã3/ÃK/ÃÐÉ0ÃÐ44ÃÀœ1Ã9.ðì2ð/Ãàa3Ãà=9ÃÐÉ0Ã`Ä-à`.ÃàØ4ÃÀO)ÃÂ,ÃP»(Ã0[+ÃP0Ä,Ãð”1Ã0º0Ã`”5Ãp\0ð/ÃÐÃ1à¿3ÃP.Àè4Ã@X2àB3ÃÀ=,Ã`50ü1Ã@X2ÃÑ4Ãày/Ãð|5Ã@í.ÃÀ„5ðþ/Ã`¬1Ãðˆ3Ãðÿ4à ¥-ð/Ãб4ðò1Ãpb/Ãr/àN1Ã05Ã!6Ã@Ï3Ã0¨3à 3ÃPö3Ãàö/Ãàê1ÀÐ8Ã`Ê,ÃP-Ãp»5ð‡.À1ðÈ8Ãã1ÃpP2À /À /à ±+ü1ÃÀ„5ÃÐÉ0ÃÐF1àË1Ã@Ã5Ã@á0Ãp27ÃPg6àl,ÃÀ„5Ãà.À§*À‰/Ã4ÃÀ1Ãl0Ã` 7àÑ0Ã?-àÝ.ÃÀ%0Ãð2Ãàü.Ä,ÃË5Ã`¸/ðø0Ã`/1Ã0%Ã@ç/Ãàa3ÃT4Ãàm1àÑ0Ãr/À.ÃÚ,àË1Ã@d0ðo2ÃÐL0Ã0¢4ÃÝ2ÃÈ+Ã0Æ.ÃðŽ2Ãf1ðu1ÃË5ÃÀ¢0Ãз3àH2Ã@Ã5à É'Ã0[+àH2ÃÀõ7à 3ÃÐR/Ã0U,ÃÐù(à 1À-ÃÀ+/Ã`Ä-Ãû-Ã?1Ã,àï+Ã071Þ6ÃP2Þ2Ã0Þ*Ã’4ÃÀ´-Ãàð0ÃÐR/Ãð5,Ã0O-Ã@j/àÑ0Ã@Ï3ÃÐí*ÃÐd,Ã0%4Ã@p.Ãà…-ÃÐÏ/ÃÐ@2Ãà‹,Ã~-ð-Ãpß/Ã~-ð¥)à„(Ã`A.ÃÐ^-ÃK/à~)ÃK/À}1Ã)Ãpz+ÃW-à 2Ãx.Ã?1ðì2Þ2Ãàü.ÃP2Ãз3ÃP©+Ãàð0Ã`M,ÃÀ%0ÃÐÕ.Ã)Ã@^1ÃЫ5ö2À‰/Ã0C/ÃÐÛ-Ãt9Ã`¸/Ãð”1à 1Ãàm1À­)Ãð²,à³5Ãà+Ã@ù,ð{0Ãðˆ3ðQ7Ãph.ÃP&,Ãð¸+ÃÐÃ1Ã)Ãð).Ã@Õ2ÃÝ2àË1ÃðŽ2ÃpÍ2ð/ÃÐÕ.Ãp86ÃP-à «,Ã@F5Ã012Ø3Ã9.ði3ðÚ5Ãà1;ÃÀ3ÃÐ¥6ÃpP2ÃPÇ&Ã@R3Ã@p.Ã@ç/ÃpÇ3ðì2ÃÀ+/Ãpå.à ì6Ãðv6ÃÐÉ0ê0Ã`Ê,Ã`¦2à /Ã012Þ2ÃPð4ÃpV1ÃP0àã-à 1Ã-Ãpß/ÃpÙ0àÝ.Ã`)2ð-Àq3ÃpÁ4à¿3Ãàs0Àk4ðæ3Ã@d0à /ÃÀ1.Ã`50Ã3/ÃàU5ÃÀ6ÃPg6à (-ÃÀÌ)ÃpÓ1ê0ÃP&,ÃÂ0Ã0œ5Ã0´1Ã05à +Ã0=0à ™/Ã`50à×/ÃÐR/Ãc+àÑ0ÃÐ:3ðø0Ã0a*Ã`4ÃPy3ÃP…1Ã@ù,ÃÐ:3Ãi*Ãpý*Ãð”1Ã`Ä-Ã@á0Ãð2À‰/Ãà.Ã`Ê,Ãpå.Ã`/1Ã@|,Ã`Ð+ÃP.Ã`Ê,ÃP©+Ãн2Ã0U,Ãï/àÝ.Ã0Ò,ÃÐÉ0ÃÐÏ/Ã@+Ã?1Ãð).ÃðG)Ãà+ÃÂ0ÃÀŠ4Ã-Ã@ç/àZ/Ã92àÅ2Ã@p.Ãì)Þ2Ã@±8Ã@‚+à «,Ãþ&Ã@^1Ãì)À0ÃÝ2Ã)ÃÑ4ðø0Ãp\0Ã0À/Ãp÷+Ã@|,ÃPg6Àe5ÃÀ=,à Ã(à 1ÃàÒ5ÃPö3ÃpÁ4Ãl0ÃÀ1.Ãàü.Ãày/ÃP0Ã`M,ð-ÃÀ„5ÃÀ–2ð‡.Ãà.Ã06Ãé0àÅ2Àe5Ã`Ð+à¹4ê0Ã@p.Ã0´1ÃÐj+Ãàä2àT0Ãà[4Ãз3Ã7à .,Ãp¤$Ãpý*Ãð#/ÃP1Ãr/ÃpP2Ãp>5Àú1ÃÀ+/àã-ÃÀ–2Ã0®2Ãð 3àÑ0Ãp>5à ì6Ãð1Àô2ÃÅ6àÑ0ÃÐX.Ãph.Ãi*À1ÃÀ 4ÃÐ44Ã@í.Ã@|,ÃÀ1ÃPü2à “0ÃÐ^-ð{0àT0àf-Ãà.Ãàa3àÑ0Ã`4Ã~-ÃÝ2ÃÀ1Ã@Õ2ÃðÄ)Ão)Ã@ˆ*ÃÐj+ÃE0Ãð0à (-Ãàm1ÃpÍ2Ãpb/ÃpD4Ã@ó-ÃW-Ã9.Ã@‚+Ã0–6ÃÂ0à×/ÃÀÆ*ö.Ã33Ã7ÃPµ)Ã*Ãð¦.àB3Ã-0Ã0a*àé,à×/Ãph.Ãà'Ã` 7Ã3ÃPü2ÃPö3ÃÀœ1Ãõ.ÃÐp*Ã@^1àï+àZ/Ãp86ÃÀ6Ã@^1Ã`¦2Ãð#/à06Ã0´1ÃW-À7ÃÐ.5Ã0´1ÃÐp*ÃÐ"7Ãà[4Ãf1àé,ÃP2*àZ/Ãàð0ð]5ðu1ÃP‘/Ã@48Ã!2Ã0º0ÃÀ3ÃÀ®.À,ÃP1Ãû-ðò1Ã3ÃP©+Ãæ*ÃÐÕ.à “0ÃP1ÃP2*Ã~-Ãp\0À.ÃàU5Ãà‘+ð™+Ã0®2Ã0´1ÃðA*Ãàg2ä1Ã`¸/Ã0´1Ã@É4Ã!2ÃP…1Ã0®2Ã@‚+ÃÂ0Ãpb/Þ2Ãð¦.Ã!2Æ6Ãàð0ÃÐó)Ã?-ÃQ.ÃÔ-ÃÀ¨/ÃÐ|(ÃÐÏ/ü1Ã012Ã`š4Ã0À/Ãð”1ÃK/Ã`¸/Ã'5ÃPÒ9à 3ðø0Ã?1ÃÀ¢0ÃÀ1.ð-ÃÈ/ð-Ãpý*ÃÐX.ÃÀÒ(Ã0C/Ã`š4À•-ÃÀ=,Ãpå.Ãà-à W:à³5Ã0Þ*Ã’8ÃÐ.5Ã@^1Ê+ÃP0Ã@p.Ãà‹,Ãð0ð.(Ãð /ðþ/ði3ÃðŽ2Ã05Ãð¸+Ãàü.ÃQ.Ãàä2à×/ðÔ6à “0Ã?-ÃÐ:3Àƒ0Ãàä2Ã0C/Ã@X2ÃË5À$+î%ÃP2àÅ2ði3Ãàö/ÃP—.àï+ÃP‹0ðò1ðc4ÃÀ®.Ã@v-à 3À­)Ã`;/Ã@|,Ã`Ð+ÃÀ3Ãðù5ÃpJ3ðò1ÃÈ/ÃÀI*à ™/ð“,Ãpt,Ã@Û1Ã05ÃP/Ã@É4Àq3Ãàü.ÃÈ/ð·&Ã0C/Ãp¯7Ã3ÃàÒ5Ã@X2Ãð4Ã0À/Þ6ÃPy3Ã`Ð+ÃP-Ã@d0à ·*ÃÝ2Ãp\0Ã3/Ã3/Ã`;/Ãð4Ã05ÃQ.Ã!2ðø0ÃP—.ÃÐ44Ãé0Ãàa3Ã@:7à9Ã@d0àÑ0À1àH2ÃÐ@2Ãp÷+ðò1ÃZ3ÃÀ®.ÃÐ44ðo2Ãàm1àl,Ãð#/ði3ÃÐL0àN1Ãà.ÃÀ=,Ãû-ÃÀ 4Ãð²,Ø3Ã`¬1Ã0+3À}1Ãày/ÃpÁ4Ãð1Ãà.ð/ðò1Ãàü.Ã06Ãð2Ã0Ì-Àô2Ãàm1ð/ÃÀ3Ãðj8ÃÝ2Ãð¬-Ã`M,Ãð¬-Ã0O-ÃÐd,Ãõ.Ãû-Ãð¬-à ".Ä,ÃðG)À.ÃK+Ã@í.Ã-0àZ/ÃðS'ÃÀ´-Ãc+Ã@Ï3ÃP…1ð]5Ã0=0À‰/ÃP…1Ãc+Ãàð0Ãð2Ãð¦.Ãi*à`.ÃP0Ã071Ã@^1À‰/ÃÀ6ê0ÃÀÆ*Ãð²,Ã@|,Ä,àT0ÃÐ:3Ã0º0Ã0À/Ãpå.ÃpÓ1Ãз3Ãõ.ÃÐ:3Ã0=0Ã`;/Ãà.ÃÈ/Ã)ÃÐd,à06Ã@É4ÃE,Ãð /Ã0ð'ÃÐj+Ãp\0Ãà)à .,ÃP,+Ãpñ,Ã)À-Ãð1ê4Ã071ÃÐá,Ã-0Ãð1Ã`¬1ÃÚ,Ãi*Àî3Ãl0À /ÃÐv)Ãpn-ð¥)Ã`M,ÃÀ®.Ã0g)à¿3ÃP©+À.Ã0Ø+Ãðš0à ø4Ã` 3Ãph.ðo2Ã4Ã@v-ÃÐX.Ãà )À**Ãà©'Ãpý*Ãõ.Ã0Ì-ÃP/Ã`Y*Ãà—*Ãð0Ã@ÿ+Ã`#3Ã`2Ã@^1Ã012Ãà+Ãà+Ãàs0ÃÐp*àÝ.Ã0ä)Ã@ *Ã0Þ*Ã`G-ÃÐÃ1Ã](À0ÃW)Ã`¾.à 0Ã`#3ÃPü2ÃÐ^-Ã`M,à 2Ã0%4À**Ã@p.Ä,Ãû-À-àT0ð‡.ÃÐX.ðQ7Ã3Ã?1Ãб4Ã@v-ÃÐL0Ãàö/Ã?-Ã`Ê,ÃðŽ2ÃÀ%0ð/Ãàö/Ã`G-Ãu(à06Ãð1ÃÐÏ/àé,À¡+à .,ðþ/ÃK/Ã@ù,à Ÿ.Ã`5Ã0I.Ã0Ò,ÃÀÀ+Ã@ù,Ã@F5Ã0=0Ã`¸/ÃÐj+ô$Ã+&Ã@(ÃÝ2à ™/Ãà‘+ÃP—.Ã012ÃK/Ãày/à ø4àH2Ã@š'Àô2Ãð2à ±+ÃðA*ÃW-ðø0ÃP—.ðþ/Àw2Ãð¸+ÃP¯*ÃP¯*à ¥-ÃÀC+ÃPÁ'ÃÀÀ+ÃP -Ãàä2Ãàö/ÃP-Ãp'Ãpt,À /Ã0À/Ãà-àû)àB3Ãð¦.ð/Ã`/1àû)ÃÀ%0ÃP£,Ãpñ,ü1Ã9.ÃÚ(àf-à65Ãð¬-Ãð²,ÃP -Ãpñ,ÃÀC+Ã0U,ÃÐÕ.Ãð¦.à ‡2ÃÀ¨/Ã`2à /àï+ÃK+Ãõ.Ãé0ÃÐÃ1Ãð¬-Ã`ˆ7Ã@p.à “0à ø4àH2Ãf1ê4Ãàü.ð-ÃH6ÃàØ4Ã'1Ãàü.Ãø'ÃÀ7-Ã×3à ™/Ãp*ÃÚ,ÃÀ%0À_6ÃpJ3ÃÐF1Ã0õ;ð˜@à 9?Ã*;Ã5ÃPa7à 3ÃÀé9ÀÄ:Ã@Ï3à%#ÃðS'ðþ/ÃpV1à×/ÃP…1Ãï/ÃK+à ™/Ãpñ,ÃP/ð“,Àú1Ãð”1ü-ÃÀÆ*ÃÀÀ+Ãp86Ãp>5Ãàm1Ã,Ãðˆ3ÃÀû6à¡8Ãàm1àÝ.Ã@p.À1ÃàI7Ã0Æ.À-ðE9Ø3ÃÀ5ö.Ã@á0Ãf1ÃÐ(6à ì6Ã69Ãp,8ÃB7à:À²=Ã÷<Ãàê1Ã`Ä-Ã0O-Ã33Ãðp7Ã5àÅ2àf-Æ:Ã@.9ð]5ÃB7ÃÀx7Ã@á0Ã@Ï3Ã!6ÃÀÃÐø=à u5ÀÜ6àƒ=Ãp¯7ÃÐ<Ã`‚8à;Ãðí7Ãt=Ãp‹=Ã`ù9ÃPC<ÃPC<Ã*;Ã@É4Ã0À/à à8ðÈ8Ã0ï<ÃàC8à$8ÿ7À¬>Ã;ÃàÞ3Ã0r<ÃPÌ:à$8à06Ãë:à›9Ã9ÃÐ¥6à>Ãp27Ã@·7Ãp=à ¶?Ãðp7Ã9Ãà´:ÃÐ"7ÃB7ÃPÞ7À¸<ÿ7à¹4ÃPº=ð¼:Ãà1;à u5ÃàÆ7Ãz<à c8ÃàI7ù8à=ÃÐ<Ã@@6à à8ÃPy3ð°<ðW6Ãàg2ÿ7à ‡2ÃÀõ7Ã@ ?à à8Ãp27Ãp27í:Ã0:ÃÐ"7Ãð4ÃPÒ9ÃÐ9ÃP1Ãàö/ÃÀŠ4Ãp86Ã071Ãàa3Ã0~:Ã`Ž6ÃðÏ<Ã0„9Àè4ÃP1?à›9Ã`5Ãð2ÃÀ+/ÃÀ–2à­6ðÚ5Ã012Ã0Š8ðW6ÃÀ„5Ãàº9Ãp‹=ðì2Ã`8Ãh?Ã0f>ÃÐæ@Ãp:ÃÐ¥6ÃðF>ÃÐ:à:à ì6Ã7ÃÀ1Ãà1;Ã0r<Æ6ÃpÁ4ÃÑ4à 3ÃðÕ;Ø7à‰<à§7Ãð:@ÃPI;à 3Ãð|5à Ú9ÃàI7Ãз3ÃPÞ7ÃPü2Ã05Ã`ˆ7à*7ðÚ5ÃÀ5ÃàÌ6ÃÀ`;ÃàO6àÅ2ðQ7ÃP7>ÃÐø=ÃÐ¥6Ã9ðc4Ãé0Ã’8ÀY7ÃPØ8Ãð‚4Ã7à 6Ã!2Ãp£9ÃàC8Ã09Ã`‚8ÃPÆ;ÃÐ"7à æ7Ã@<Àî3ÃÀ–2Ã@Ã5Ãà[4ÃàØ4Ãã1Ã07Ã`|9à ì6Ã@½6ÃÀ5ðK8Ø3ðo2Ã012Ã@";ÃÐø=Ãðá9Ãðù5ÃÐ(6ÃÅ6à i7àT0Ãé0Ã0~:Ø7ÃH6Ãz<à=Ã4ÃÀ–2ÃpJ3ðÚ5ðÈ8ÃÀ3ó9Ã@É4Ã`ù9Ã`8ð]5Ã@Ÿ;ð9;Ãð|5ÃN5ðÔ6Ã0:à à8Ã`Ž6Ã@=ÃÀ2Ã07ÃÀ%0Ã0œ5ÃðL=ÃÀ×<ÃàI7Ã`|9à Ú9Ã`5ðc4ÃÀœ1Ã0–6À¸<à 3ÃÐÉ0Ã0U,à ò5Ã!6Ã’8ÃPÒ9Ã@L4Ã09ðW6ÃPê5Ã0 8à u5ÃPC<Ãðó6Ã0+3Ãð|5Ã8Ãðÿ4ÃPs4Ã`š4Ã5Ã`5ð3<Ã0 8ÃÀé9Ãp;Ã5Ãз3à ™/Ã@¥:Ãp;ù8ÃÀ¢0ð3Ã0 8Ãý7Ã@L4ðæ3Ãð2Ã0O-ÃÀx7ÃÀ~6Ã0~:ÃàÌ6ÃÀ„5Ã69ÃàU5Ãp86Ã@¥:ÃÐ:3à o6Ãð4Ã@Û1Ã@L4Ã@@6àZ/ÃÀŠ4ÃÀŠ4ÃÀ~6Ã0=0Ãð).Ã0 8à i7ð]5À_6Ã'5Ãp£9à 6Ã0:à «,Ãx.ðW6ÃàI7À.Ãà=9à ø4ÃÚ,Ãé0Àâ5ði3ÃÀ6ÃPs4à æ7Ã9.Ãð0ð9;ÃpV1Ã8Àe5Ã8Ãàº9ÃÀ 4ÃàÀ8à u5ð]5ç;Ã06ÃЙ8à u5ÃÐF1Ã92ÃpÓ1ÃÀ3ÃH6Ã@R3ÃÀf:Ã@«9Ã@É4Ã’4Ãà[4Ãà.Ã×3Ã0¨3Ãpµ6Ã@Ï3ðÔ6ÃpD4àé,à 0à ™/ÃP -ð]5ÃàØ4ÃÐ8ÃÀ5Ã`¦2Ã`#3ÃàÒ5à­6ðà4Ã06à æ7Ãp©8à {4ÃW-ÃPð4à 2ÃÐ(6àH2Ã`4à ]9à­6Ãð1ðo2ÃpÁ4Àw2ÀÖ7Ã`Ä-Ãp»5ê4à 3ð3ê4à u5ÃЫ5ÃÐÃ1à 6Ã@ó-Ã0®2ÃàC8ÃÀŠ4ðc4Ãàä2Ãн2Ø3Ãàm1à$8ÃÐ44Þ2ÃpP2ðò1Ã9.ÃÐÛ-à ì6ÃÐþ<ÃÐp*àN1ÃàÞ3à 6à 3ÃÑ4à æ7éEÃÅ6Ã`6ê4Ã0Æ.Ãc+Ã` 3ÃPö3Ã?-Àâ5Ã`4Ãpb/ÃÐÕ.ÃàÀ8Ã@Ï3Ã`Ê,ÃÐÉ0Ãàä2ÃK/ÃP2ÃàÒ5à 2Ã0¢4ÃP…1à u5Àe5À}1Ã0U,ÃPy3Ã0U,ÃÐç+àl,Ãð0Ãpß/ð“,ði3Ã07ÃN5Ãð‚4ÃàU5Ã@^1Ã’4Ãð4Ã0I.à ±+Ãàê1ð{0à 3Ã0œ5Ãàü.Ã`50Ãàð0ÃàØ4Ã`5Ãð‚4à Ÿ.Ã0´1ÃÂ,ÃP©+ðò1Ã@d0Ãð4àÑ0Ã@v-ÃÂ0Ã@d0Ã@½6à:à i7Ã-4ðc4à þ3Ã05ðW6Ã’4ÃÑ4ÃÀx7Ã071ÃPê5ö2ÃÐÕ.ÃPs4Ãð#/Ãà.Ã@Û1Ã`4Ãàs0ÃÀ3Ã9.ðo2ÃÀ2ÃP‹0À›,Ã@á0Þ6ä1Ã`6ðà4ÃÀr8Ãз3ÃPs4ÃT4ðŸ*Ã@R3Ãpµ6Ã3ðc4Ã@L4ÃÐ44Àî3ÃÀ3Ãз3ÃÐj+Ã@j/ÃE,ÃðŽ2Ãx.Ã0Ì-ðQ7Ã@Û1ÃÐ44Ã06ÃÀ´-à @)ð]5Ã@48Ã@Õ2Ã` 3ð/ÃÀ 4Ãàa3Ãðp7Ãз3ðø0Ãf1à 6Àƒ0Ã@X2ð-à65Ãpb/à×/à /À}1Ã0=0Ã],ð,à¹4Ãàa3ÃÅ6ÃP…1ÃPs4Ãàs0Ãà…-Ãàs0à ".ð+ö2ði3àÅ2ÃE0ÃH6ÃÐÏ/Ã0I.ÃÐÃ1Ãp>5ÃpÍ2à 1àl,Àq3Ã071Ãð2Ã?1Ã@á0Ãð/-Ã`¦2Ã@Õ2Ã3Ã0U,ÃPy3ÃàO6Ã’4à «,À¡+ðo2Ãï/Ãàm1ÃÀ%0Ãð4ÃàÞ3Ã<8Ãp>5Þ2Ã`Ä-Ãð#/Ãl0àH2Ã5À7Ã@ç/Ã5ÃÀf:Ãз3ðQ7ÃÀŠ4ê0Ã`Ž6Ãp—;Ã5ÃÐ"7Ãàº9Ã0®2ÃZ3ÃÀ5ÃP…1Ã@½6Ã0Š8ÃPm5ð/ðÎ7ÃP+@à ò5Ã’4Ãà®;Ã07Ãp,8Ãß<à¡8Ãp86ÃPØ8ÃðÛ:Ãp…>Ã07à65ÃЫ5Ãз3Ã0´1Ãp :ÃÀ6Ã`/1Ø3ÃàØ4Ã0–6ÃÐ{=à o6à:ðQ7ð9;Ãà®;Ãå;ÃPÞ7à65Ã0Š8à¡8Ã5ÃÅ6Ãß<ÃJ@Ãðç8Ã*;Ãp»5Àâ5ÀS8ÃÑ4Ãàa3ÃÐ.5ÃÀï8éEÃÀl9Ã÷8Ã`”5Àe5Àè4ÀÜ6à {4ÃN5ðþ/Ã@·7ÃPa7Ãðˆ3Ãðç8Ãð|5ðQ7ð°<Ã@™<ÃàÌ6à 3ðE9Ãà>ÃÀx7ðQ7Ãp?à Â=à65à65Ãt9Ãð½?ðW6Ã@·7à9Ãà+<ðà4ðò1À_6Àe5ði3ä5Ãý7Ã69Ã`¦2Ãð4Ã@±8Ãp©8à;ÃPä6ÃPð4à 2ð‡.ðK8ÀÊ9ÃÀ„5ðQ7ÃÀ3Ã`8Ãt9Ãà+<ÃpD4ð/Ãñ9Æ6ÃÅ6Ã0¨3ÃàÀ8À_6à Ú9Ãðp7à W:ÃàI7ð°<à Â=ÀÐ8à {4Ã0œ5Ã`4Ã@½6Ã@·7Ã@^1ÃPð4ÃÐ8Ã@¥:Ã÷<Ãp:ÃÐ.5ðÂ9Ã!6Ã`6à65Þ2ÃÀÝ;Ãh;Ã@X2Ãp&9à*7Ãà=9ÃðÛ:Ã4à§7Ãp,8Ã-4à06ÃÀ3ÃÍ?Ã@Ÿ;Ã`ù9ç;Ã÷<ÃàO6ÃT4ðò1ê0Ã@R3ÃE0ÃPÞ7à×/ÃÀû6à à8Ã'5ÃpV1Ã07Ã05ÃPC<à•:à 2ÃpP2Ã@:7Ã`2Ãðó6ðW6ÃÀ„5Ãp&9ÃPö3ÃŒ5Ãpß/Ãà[4Ã@á0ÃÀ–2à ò5à›9ÃPÒ9àÑ0Ãð2ÃPs4Ã07ðà4à (-ÃÝ2Ãpß/ÃpP2Æ6à c8ðÚ5ÃГ9ÃPm5ð/ÃZ3ÃÐ:ÃŒ9Ã012ÃÀŠ4Ãày/ÃÐ(6ÃPÆ;ÃÀf:Ã05Ã0´1ÃT4Ãà,ÃpÙ0Ã9.ÃÐ.5Ã`”5Ã@½6ðà4à<4Ã-0ÃŒ5À_6Ãß<à×/ö2à i7Ã0¨3ÃÐ"7ÃP‹0ÃÀŠ4ÃÐÃ1Ã'1ðÚ5Ãðˆ3Ã](ÃÀº,Ãð/-Ã`4Ãб4ÃÐF1Ãé0ð .Àô2Ã0®2Ã`/1ÃP2Ã@á0Ãà‹,Ø7à`.Ãàê1Ã0 8ÃÀf:Ãpë-àH2ðc4Ã@Ž)Ã`²0ÃE,Ãàa3ðÚ5Ã`S+ÃPm5à 1Ã012ÃÀx7ÃQ.ÃÂ0Ã0C/Ãl0Ãð#/ÃÀ®.ð .ÃPm5ðþ/Ãð/-ÃÀ~6Ã’4Ã0º0ÃÀ®.ÃpÍ2Ã0Ì-ÃP-Ã@Û1ÃÐ:3ÃP2à ±+ÃÐá,àË1ÃÀ=,ÃðŽ2ÃpÙ0À.Ã`2ÃP…1ü-Ãpt,Ã`²0ÃpÙ0Ã05ÃP&,Ãð¦.ÃÀ5ö2Ã@ù,à ".à ò5ö.Àe5ÃpÍ2Ãð‚4ÃÀ3ÃpÙ0Ã@ˆ*Ãàê1ÃðŽ2Ã@d0àé,Ãð¦.Ãpñ,ÃÝ2ði3ÃP0ÃP2àf-àB3Ã`;/Ä,ÃPy3Ã`¬1à<4Ãð0ÃpÓ1ÃÀ–2Ã012Ã@d0ö.ÃZ3Ã-4Ãé0Ã`;/ÃP1ÃP—.À,Ã`/1ö2àé,Ã],Ã`Y*Ãà‘+Ã0À/à «,Ã@Û1Ãàê1ði3ÃQ*Ã?1Ã0a*Ãà.ðc4ðÂ9ÃÐÛ-ð-Ãã1Ã@Õ2ÀÜ6Ã`A.à 0àã-Ãl0à 1Ã012ÃÈ/ÃË5ÃÐX.Ã@R3Ãé0Ã`Ö*À.Ã@ç/ÃpP2Ãð”1ÃP/À1ÃðG)Ã!2àÑ0À}1ÃЫ5Ã69à ø4Ãàa3Ãf1Ãн2Ãp86Ã@X2àÝ.Àî3Àq3Ã0¢4ÃðS'ð,ð .Ãðÿ4Ã!6à ‡2ÃðŽ2Ãr/ä1Ãàm1Ã0 8Ã@^1ðì2ÃÀ~6ÃpJ3ÃÐ.5Ã`50ðþ/Ã@É4Ã`2Ã05ÃH6ÃÐ8ðà4Ãàm1à 1À‰/ÃpÙ0Ã0+3Ãp )Ãn:Ã?1ÃÐF1Ãð4Ãðˆ3ði3ÃŒ5Àƒ0ÃЫ5ÃP/ÃP2Ã0Ò,ð{0ÃÐL0Ãpý*ÃÐÕ.Ã@Õ2ð{0Ãð 3Ãð‚4ÃT4Ã92Ãõ.ÃÐá,Ã0œ5ÃàØ4ÃPy3Ã012ðø0ðu1Ãð¬-à /ÃP—.Ã0–6ÃPy3Ãp86ÃP2Ãz8Ã`#3Ãà-Ã`6à 3ðø0ÃàC8à i7À7ð¥)ÃÀ1Àƒ0Ã0À/à<4Ã`¦2ÃpP2Ã-Ãð 3ÃÐÏ/ÃPÇ&À•-Ã`4ðæ3Ãð4ÃÂ,À‰/Ã`¸/Ãн2Ã0 8ÃPð4À;<Ã`ó:à³5Ã`6ÃÐj+ÃàØ4ÃГ9ÃÐF1àÑ0Ãp :Ã@R3Æ6Àô2ÃpD4Ãã1à 0Ãé0Ãðÿ4ÃpÇ3Ã`š4Ãð|5ðÔ6ðQ7Ãð|5Ã9.ÃÂ0ÃPg6ÃàÞ3Ã` 7ÃÐ@2Ãàm1Ã@á0Ã`4Ãðˆ3Ãðš0ð™+ð/ÃÀ5Ã0C/Ã@^1Ãp£9ÃPs4ÃP‹0ÃPÆ;Àú1à¿3àH2Ãõ.à ò5Ã0+3Ãð 3À.Àú1Ãðd9ÃÐ.5Ãðp7à65Ã4Ãn:ÃP‹0à 0Ã4ÃPü2ÃQ.À$+à 1ÃÐÏ/Ãt9Ã92Àq3Ã071ÃP/à /Ãðv6À‰/Ãõ.Ãðv6ÃpÁ4ÃÀÑ=Ã07Ã@48ð]5ð/ÃÐá,ð/À,ÃPy3ÃàO6à 2ÃàÞ3ÃÈ/ðì2Ã@Ï3ÃÐF1ðø0ÃÀ+/Ãpb/Ã@48Ãð|5Ã`50Ã05à .,à¹4Àâ5Ãà-Ãàü.Ã`²0ÃÐ:3ü-Ãõ.ÃP/ÃP£,à þ3Ã@á0Ãà.Ã9.à ¥-ÃÀÀ+Ã9.ÃÀ%0ÃPs4ÃP0ð/À›,Ã`¬1À.ÃÐd,Ê+Ãàð0à o6ÃðŽ2à 1ÃÐd,Ã`¬1Ã`2ÃpV1Ãðˆ3àN1Ã×3ÃЫ5Ãð|5ÃPy3ðø0ÃPü2Àô2ð‡.ÃÚ(ÃQ.Ãày/ÃP‹0Ãð¦.à :*Ã@v-ÃÐÃ1Ãз3ÃàÒ5Ã0Ø+àË1ö2Ãàs0à u5Ã0´1ÃP‘/à 3ð/ÃÀ3ÃPü2Ã0®2ð™+ð/ÃP2Ã0C/Ão)à ·*à×/ÃÀ¨/à 3ÃpÁ4À‰/ÃÀº,ÃpJ3ð .Ã`Ä-Ã3/Ãз3ó9ÃÐ44Ã`50ÃP,+À}1ÃÎ*ÃPg6ð3ÃÐ:3Ø3ö2ÃpJ3à`.Ã@d0Ã0Þ*Ã` 7Ãàs0Ã`4Ä,ð3Ã?1ðW6ü1à 2Ã`¾.à ".ÃPü2Ãàm1Ãð1à «,Ãï/àË1ÃÐÕ.ö2Ãày/ü-ÃÀ3Àw2Ã0C/ÃP2*Ã0g)Ãðí7ÃÝ2Ãpn-ÃÐR/ÃK/Ã0®2Ãpn-Ãp27Ã@F5Ãð2Ã@á0ÃE,ðc4ðW6Ãpå.ÃpP2Àú1Ã0¨3ÃÀ„5à×/Ãpå.à 1Ã!2Ã`2ÃÐd,ÃÂ0à65Ãày/Ãpn-àï+à 1Ã@p.Ã`Ê,ÃP‘/Àú1Ã'1ÃÀ®.ÃPm5Ã33ÃpP2Ãp>5Ã@R3Ã@(:Ã0º0Ãàä2ÃÀ¨/Ãàä2Ãàg2ÃpD4à¿3Ã`¸/ÃÐF1Ãðš0ÃPö3Ã3ÃГ9Ãð /Ø3à «,ð/ÃÀœ1Ã@R3à 0ðc4Ã@Û1Ãð0Ã?1Ã0º0Ø3Ãl0ðu1Àî3Ãð|5Ã0À/Ã`G-ö.Ãàm1ÃÐv)ê0Ãð0Ã@F5ü1À‰/Ã`/1ÃPm5Ã’4Ã’4à ì6Àq3Ã0C/Ã@L4à`.Ã`2ÃðŽ2Ãpn-Ã0¢4Àq3Ãàa3ÃPê5ÃÀ 4ÃpV1Ã07ðW6ÃÀx7ÃÐÃ1ð{0ð.(ðQ7Ã0´1ÃÐÏ/ðo2Àè4ÃPö3Ã?1Ã!6ÃÀf:ÃpP2Ã0¢4à æ7ÿ7ÃЫ5ÃPê5Ã071Ãph.Ã@Û1ði3Ãpå.ÃÀœ1Àw2à ".Ã@ó-ÃðŽ2À1Ãð1Ãp(ÃP/ÃÀÀ+ÃÐÛ-Ã0+3ðæ3ÃPØ8Ã`”5à 1Ã07Ã3/ÃÔ)Ãð¬-Ã`/1ÀÖ7ö2à 3ÃÀ1.ÃÀ1.Ã'1ÃPö3ÃP2à ¥-Ã`2ðo2ðW6ÃÀ 4Ã@p.Ãõ.À7Ã9Ã'1ðo2Ãð 3ÃPa7à Ú9àB3Ã3/ÃPü2À /Ã÷8ÃK/Ã92Ã`Ð+ÃÀ+/Ãðù5ðc4ÃÐd,Ãph.ö.ð-Ã0®2Ã@á0à ".ðæ3Ãðÿ4à c8ü1Àe5ð3Ã0Š8Ãàs0à 3ÃÝ2Ãð0ÃPö3ÃðX;Àk4ÃàÞ3ÃE0Ã@48à o6Ã`4Ãpñ,Ã0=0Ã0O-ÃðŽ2Ã05Ãz8Ãp©8Ã@F5ðK8Ãб4ÃàU5Ã0%4Ã3ÃPü2ÀÜ6ÃàÒ5ÃpÇ3ÃÀ¢0Ãð /Ãà[4à³5Ãày/àã-Ã0x;ÃÀ+/Ãà[4ð/ðò1ù8Ã06À1Ã`Ä-àB3ÃðX;Ã9.ÃÀ 4Ãðˆ3Ã0¨3ÃЙ8Ã7à ø4ÃPê5ÃPØ8ðÚ5à§7Ãà7:Ã0%4Ãà.Ã`_)ði3ÀG:ÃÀ5ÃP…1Ãp©8Ã3Ãpb/Ã’4Ãà[4ÃÀx7Ã`A.Ãð‚4ÃpD4Ã@R3Ãàº9Ã@";Ãph.Ãp27ÃàU5ði3à Q;ÃpÇ3à ‡2ÃÐ44Ã`;/Ã0=0Ø7ÃT4Ãð#/Ãð”1ÃPê5Ã92ÃÀ%0Ãðˆ3ÃPü2ðà4Ãð1Ãàä2Ã@É4à 1à u5ÃàÌ6Ãt9à:Ãàä2ÃÐþ<Ãt9Ã0ï<Ãà=9à>Ãà–?Ãð|5ÃP[8à‰<àƒ=Ãà7:ð9;Ãp>Ãà–?ÃÀf:ç;Ãp£9ð'>Ã0„9Ã`Õ?À¬>É@ÃÐo?ÃPU9Ã@™<Ã0l=Ãà?à•:à ?>ð'>à 9?ÃÐo?ÃÀû6à:Ã69Ã>BÃ@=ð!?Ãð‡HÃ@";ÃГ9Ã?à 3@Ãý;Ã0TAÃ?ÃÓ>Ã`Ï@ÿ7Ã2DÃÀÅ?ÃÀû6Ãà>À#@ÀÜ6Ã0„9Ãp;Ã0ËBà W:Ã`Õ?ÃÀl9à}>àYDÃ?à§7Ãp27ÃÐ<àú>ð†CÃp<Ãp…>à È<Ã0Ý?Ãð@?Ã@";Ã0Š8ðÎ7ÃpaDÃàûCàî@ÃÀZ<Ã?Ãz<Ã`Û>ð>Oàw?Ã;Ãñ=Ã0%4Ã@¥:Ã`d=ð?:ÃP+@ÃPº=Ã}Bà=ÃPI;Ã0õ;Ãð±AÃ@«9àú>À¬>Ã8ÃÍ?Ãà–?Ãn>ÃPŠEÃ\=ÃðÏ<ÀA;à Ú9ÃÀÑ=À/>ãFð'>Æ:Ãðj8Ãp=ÃÐþ<à ?>Ãp?Ã@>à @ÃPÌ:ð€DÃ`4EÃp27Ã0¢4Ã`^>ÃPœBÃ@@ÃpsAÃàœ>À#@Ãp?Ãð^:í:Ã@.9ÃÀÅ?àú>Ãð·@ÃÍ?ÃÐ9ÃÐ¥6Ã`ç<Ãð±AÃ@‡?à È<à Ô:á<ÃÐàAÃP–Cà ?>ÃÀT=à›9ÃÐþ<ÀG:à ]9ÀAðª=ÃÍ?ÿ7Ã07Ãh;à <ÃP–Cà åLÃÖHÑMà GÃpÌGÃLà ˜Dà;ÃP%AÃÐ<ÃP==ÃPC<Ã@¥:à ?>àâBÃ0Ã@>ÃЙ8Ã@Û1ð3<Ãë>à W:ÃÀé9ÃЇ;Ãð|5ÃT4Ã@±8Ã`ˆ7Ã*;Ã`j<Ãp—;Ã?à›9ðBðE9ð¤>Ãp—;Ã>ó9À;<ÃÀ×<í:ðK8Ã0l=ÃÐÔCÃàÒ5ÃP1?Ã8Ãà–?ÃpsAÃpµ6ÃÀõ7à Q;Ã0:Õ>Ã@·7Ã`|9Ã0–6Ã$<Ãð@?ÃÀÝ;Ø7ÃP%AÃpö@à§7ðW6Ã`ó:Ãà´:àq@ÃЇ;Ãp;Ãp<Ã$<Ãà>ÃPœBàèAÃp86ðÚ5Ãðj8À;<Ãp :ÃP2Ã`6Ãðp7Ãð4À;ð¶;Ãå?ÃPO:Ãàœ>àî@Ãà´:ÃŒ9ÀA;ÃðŸDà È<Ãp?Ã$<à•:àú>ÃðÉ=ÃPm5Ã0Š8Ãà?àq@à Â=À¦?Ã09ÃPÞ7á<Ã@:7ÃPØ8Ã`š4Æ6Ãp,8Ãà„BÃh;ÃЙ8àeBÃz<ÃPÌ:Ã0Z@ÃÐ9Ãà7:ÃÐ<ðK8ÃЫ5ÀÖ7Ãt9Ã`ù9Ãðù5Ã@@Ã@±8Ã` 7ÃÀã:ÃЇ;ÃÀZ<à :à:à>àkAÃÑ4Ã÷8ÃP==Ãn>Ã@";Ã?Ã8Ãàº9àw?Ã7Ãß@ð-=ÃPI;à}>ÃPI;ÃP…1Ã0%4ÃàÒ5ÃàO6À¾;Ø7Ãb<ðÂ9Ã@É4ÃB7ÃÀÑ=Ãß<Ã0l=À;<Ãp—;ðE9Ãp27Ã09ÃÐ ;à9ÃÐò>ÃЙ8à$8Ã`A.à o6ÃŒ5Ã`”5ÃPa7ÃPa7ÃPÒ9ÃP[8ðÂ9à i7ÃÙ=Ãß<ÃŒ9Ãp»5ÃÀ5ÃÀr8Ãà[4ÃÐ@2à o6ÃЇ;Ãðí7ÃPê5Ã@R3ðE9ÃÐ<ÃÀ3ÃÀ3ÃPa7Ã@½6Ã07Ã0:ÃpD4Ãt=Ãð4Ã7ÃÐ"7à 3ðÔ6Ã@½6ÃË5Ãð0Ãp86Ã!2ÃŒ5Ã0®2Ã09Àè4Ãàm1à­6Ã`|9Ã0:ÃN5Ã@É4Ãë:Ã`2à W:Ãàê1Ã`ˆ7à c8Ã0œ5Ãt=ð{0Ãð0à65ðW6ð{0À1ð?:Ã@X2ÃÐ44Ã`#3À7Ãb<Ã`8Àq3ÃЫ5ÃÂ0Ãp\0ÃàO6à :ÃÐ9ÃÐL0ð{0Ãpß/Ãp,8à9Ãï/Ãн2Ãðˆ3Ã`š4ÃÐ@2Ã0é=Ã'1ÃPð4Ãp;Àk4ðo2ÃPm5ÃPü2Ãàä2ÃÀÀ+Ã3à «,Àî3à {4ðà4ÃÐÃ1Ã@Õ2ö2ÃÀ¢0Ã@R3Ãà.Ã`#3Ã-0ÃP.ÃP£,ÃÀ„5à×/ÃÀœ1Ã×3ÃÝ2Ã0Ò,Ã5ÃðŽ2Ã0I.Ãðv6ÃpD4ðì2Ã`¸/Ãp¯7ðc4ÃPð4Ã`¸/à×/Ã`Ä-ðþ/Ã3ÃЫ5Ãз3Ãàä2ÃÐÛ-ÃpP2Ã<8ÃÀ3Ãð”1Ã~-Ãð0À¡+Ãr/Ã@½6ÃàÌ6Æ6à “0Ã!2ÃPg6àH2Ã`M,ÃE0Ã@v-Àú1ÃÐÕ.Ã0C/ÃË5Ã0¢4Ãðš0ðc4Ø3Ø3ÃÐL0Ãà)ÃP0ÃÀ+/Ã`4Æ6Ãp,8Ã@ó-Ã'1ð/à (-À‰/ÃðÛ:Ãz8ÀS8à +Ãû-ä1Ã`/1Ã@ÿ+ði3Ã` 3Ã@”(Ãn:Ã0 8ÃàÀ8ÃÚ,Àô2ÃàÒ5À.Ã0I.ð{0Ãp27ÃÑ4àÝ.Ã`/1àÝ.ÃÀ 4à Ú9Þ2Ã!2À7Ã@X2ÃP2À1ÃÐF1ÃÀ2ÃT4ÃP1à 6ÃàO6ÃPð4ðø0Ãðù5Ã<8ÃPÒ9ÃÐ.5Ãà…-ð-Ã`²0ÃÐÕ.à ¥-ðo2Ãз3ä5à 1ÃÀ+/Ã4Ãàð0Ãpå.ÃpP2Ã0r<Ã@48Ã!2à Q;ÃÀ2Ã@d0Ã`4Ãð1à 1Ã8à 2À¡+Ã`)2Ãðí7Ãðˆ3Ã@Õ2ö.ÃÀ®.à 1ÃÀï8ÃPÀ<ÃÐj+ÀY7Ã`”5ÃÐF1ÃpV1Ãpß/àT0ÀM9Ã0º0Ã0º0Ã`5Ã'5ðæ3ÃÀ„5à¿3ÃpJ3à ‡2Àƒ0ÃÀ¨/Ã3/ÃE,Ãé0ö.ÃpJ3à þ3Ã4Ã0¢4Àî3ó9ö2à×/ÃÐÕ.Ãp27ÀÐ8ð9;Ã0%4Ãpå.ÃP2àZ/àB3Ã@^1Ã@½6Ã`/1Ã@48à$8ÃÀ6Ãðù5ÃÐj+Ã3/à ‡2Ã`š4Ã@Õ2Ãàm1à 3ÃÀ–2àT0Ã0¢4àË1Ãð4à Q;Ãð¬-à ™/ÃpD4Ãн2Ã`¦2Ã`6Ãp27ÃàÒ5à 3ÃPä6à=ÃPa7Ãp©8Ã`/1ÃÐ9Ã`)2à 6àl,Ã@@6ÃpV1à 1Ã33ÃPs4Ãàm1ÃpÙ0ÀÖ7ÃÀ–2ÃPð4Ã!2Ãl0ÀS8Ãðv6ÃPê5ÃÀÒ(ðc4Ãp©8ÃPÞ7à i7ÃZ3Ã0=0À-ÃPg6Ãð2À}1Ã@@6Ã0 8Ãðù5Ã@Ï3ÃPö3Ãph.à ‡2Ã0œ5Ãp&9ä5ÃK+Ã0Ì-Ã`4ðæ3ÃÐ^-Àâ5Ã@@6ÃÀf:Ã×3Àî3Ãð|5Ã’4ÃÐF1ÃÀ+/À.Ã3Ã4Ãàä2Ã` 3ÃpÁ4Ãàs0Àâ5ÃŒ5ÀÄ:Ã0œ5Ãз3à ¥-ÃÐÃ1Ãà´:Ã`8ÀÜ6Ãý7à æ7à›9Ã0–6Ãï/à c8ÃN5Ã`ó:ÃÀ 4ä1Ã`|9Ãàa3ÃZ3Ãr/ð/ÃP‘/ÃÐÃ1Ã’4Ã@·7Ã?1ÃP.àB3Ã`2Àk4ÃàÞ3ÃÀ~6Ã@É4Ãðš0ÃÐ:ÃÐÏ/ÃPy3Ã0Š8Ãðù5Ãà´:ÃÐ@2Ã@á0Ã@á0Ãðó6ÃP2Ãàä2à /ÃpÓ1Æ6ÃÐ44Ãpß/ÃÝ2ÃP0ÃP—.À1Ã`²0à­6ÃPm5ÃàU5Ã0À/ÃÐù(Ã'1Ã'5Ãð”1ÃÀœ1à 3À /Ã@X2Ø3Ãðš0ðþ/ÃàÒ5ð{0À¡+Ã@+ðc4à Ã(àÑ0ÃÀ3Ã!2ÃàI7Ãð”1ÃÀ1.à 3ÃPü2Ã0I.ÃP/à 0Ã0Æ.Æ6Ã`š4Ã071ÃÀ3Ø3Ãph.ÃÐç+Ã`50Ãf1ÃP1Ã33à`.ð,ðò1ðø0ðÚ5Ã07ÃÀ×<à à8Ãð¦.à9ÃPä6ÃàO6àf-Ã@á0ÃPy3ÃÐ(6Ã0=0Ãi*ÃÀ2Ã`¸/Ãr/ÃPü2ÃÑ4ÃÐÉ0Ã`Ä-ÃàÒ5à Î;Ã@48ÃÐ9Ã`p;Ã0œ5Ãp¯7Ã33ÃpÇ3ÃÀÝ;àƒ=Ã!6ðÔ6à³5Ãà1;ÃðR<ÃpsAÃ69Ãðj8à<4à æ7Ãð:@ÃðF>ÃЙ8Ã@½6ÃPØ8Ã0„9Ã0r<ÃÐÃ1Ãp86Ãðÿ4Àâ5Ãà¢=ÀÐ8ÃPI;ðÂ9ÃPÀ<Ãå?Ãà>Ã`ó:ð@Ã@.9à=à;ÃP[8ÃÀŠ4Þ6à$8Ãà=9Ø3ð'>Ã0ï<Ãp:Ãp¯7ÃPØ8Ã0Š8Ã0–6Ã`v:Ø7ÃÀŠ4ÃÎ.Ã’8à Q;ÃГ9Ã@«9ÃðÉ=Ãà=9Ã07ðK8Ã@«9Ã` 7à=Û=ÀY7ðÈ8Ã0×@à æ7ÃðR<Ãðù5Ã@48Ãðj8ÃÑ4ÃÀf:ÃPÒ9ÃðÛ:Ãh?Ã`|9Ã@(:À¾;Ã`ˆ7ÃPð4ÀÄ:Ã0é=Ãðd9Ã?Ã0NBÃ@L4Ã`X?Ã@48Ã69Ã`‚8Ãt=Ãà®;ÃPO:À7Ã`ó:Ãp&9à›9ÃÀx7à>ÃÀï8ÃPI;Ã69Ã@·7Ã0l=ÃP==à {4Ã×3Ã0–6ÃÐ.5ÃГ9ÃP[8Ã÷8Ãp :Ãý7À¸<Ã`Õ?Ãà=9Ãp…>ÃP¨@ç;ðì2à ¶?ðž?Ã0:ÃÐ.5à‰<Ã09Ãà®;Ãb<ÃB7ÃÐ8Ãñ9Ã@Ã5Ã7à=ÃPÒ9Ãp86Ãp©8ó9ÃÍ?Ã`Û>ð'>à i7Ãt=Ãp?ÃPO:À_6Æ:ðQ7à06Ã÷<ÃPC<ÃÀï8ÃVBÃÀx7à 6Ãt9ÀÜ6ÃÀ×<ÃP[8ÃГ9Ã@Ÿ;Ã`8ÃÀN>Ã@<Ã69ÃЙ8à È<à;Ã`v:ðà4Ãðj8Ã0„9ðK8ÃŒ9à o6ð]5ÃàU5Ã’8ÃÀl9Ã@½6Ãz8Ãðó6Ãp&9Ã`ó:Ã0ã>Ã0û:ÃT4Àe5Ãàº9Ã`ó:ÃàÀ8ð¼:ÃPO:Ãz<ðE9Ã÷8à;à¹4ÃЇ;ðK8ÃÐ<ÃÐ¥6Ã’4Ã0´1ÃðÛ:Ã`p;ðK8ÃÀx7ÃP1ÃPa7à9Ã0~:Ã`4Ã@@6à¡8Ã`8ÃP…1à³5Ãà´:ÃðX;à06Ãà´:ÃP2ÀÐ8Àk4ÃÀ3ðì2ÃÐ9Ãt9à³5ÃÀ1ÃÀÝ;Ã@‡?Ã`ÿ8Ã@(:ÃàC8Ãàœ>ðÈ8Ã0l=Ãp;ÃÐ¥6Ã@^1à×/ÃPð4ð]5ÃÅ6À_6ÃÀl9ÃpÁ4ÃÀ 4ÃÐ:3ðo2ö2Ãf1ÃpÁ4Ã92Ãt9Ã@:7ðc4àT0ÀÜ6ÀÖ7à þ3Ãà7:Ã07Ãý7ÃÀ¢0Ã@·7ÃÐ9à 0Ã0®2ÃPÒ9Àâ5ÃPÒ9ÃÐ44ð/Ã`”5à 3ÃÐ44ÀÄ:Ã0Š8ÃàØ4ðò1à 1ÃÐ9ÃП7Ã`Ž6à à8à i7ÀA;Ã`2Ãàð0ÃÀ¨/ÃÀ%0Ãðv6Ãð4Þ2ö2à06ÃÀ~6À‰/Ãð 3ü1ÃP—.ÃÀ¨/Ã0œ5ÃH6Ãp\0àÑ0ÃÂ0Ãã1ÃP2Ã@L4ÃÂ0Ã0C/ü1Ãð1Ã@d0ÃP‹0ð3ÃPs4Ãày/ði3à o6Ãð2Ã`Ž6ðo2ðÂ9àB3à o6ðø0Ã8ÃÐ"7ðu1ü-ÃË5Ã×3ÃП7ÃÑ4à ™/àÑ0ÃÀ3ðÈ8à c8Ãðÿ4Ãf1Ãàö/à 2àÅ2Àk4Ã5ÃÀ3ÃÐR/Ãà[4Ø3àH2Ã`š4ð-=à Ô:Ã0+3Ãàä2ðÚ5à æ7ÃÐ"7Ãf1Ã0C/ÃÐR/Ãð4ðu1ÃZ3Ã@j/ÃZ3Ãð 3Ãðí7Ã05Ã?1ÃpÓ1Ã3à§7Àâ5Ãp»5ÃP2Ãp©8ÀY7ÃpÇ3àT0ÀÖ7ÃàU5ÃÐ¥6ðÂ9Ã0º0Ã0œ5ÃP1ÃÀ¢0Ãð 3ð/Ã@Û1Ãë:Ã7ÀÜ6Ãð).à (-Ãð /ð/ÃÀl9ÃÀ`;ÃÝ2à i7ÃPÞ7à ‡2Ã@X2ÃT4Ã`2ðo2à­6Ã@·7Ã@«9Ã`ù9ÃPö3Ãð|5Ãf1Ãз3Ãð‚4Ã69Ãðˆ3ð-ÃÐ.5ÃÐ44à ]9Ã07Ã0x;Ãé0Ãp27Ã@É4ÃPs4Ã÷8Ã@j/à 6ÃpÙ0àË1Ã012í:Ãà.ÃZ3Ã`4Ã06Ãðù5ÃÐ44ÃÀ3ÃP©+ÃÀ3Ã0º0ÃpP2Ãàg2Àe5Ãl0Ãày/ðÎ7Ãp»5à Ô:Ã-àT0ê4ÃPÆ;Ã@X2Ã`6ö.ÃP2Ãpb/ÃP[8Ã;ÃP2Ã@Õ2ðæ3ÃPa7Ãé0Ãà.Ãpñ,Ãð/-Ã0Ò,Ã0–6ÃðŽ2ÃpÇ3Ã0Š8Ã`/1à “0Ãàm1Ã`M,ÃÀº,ÃÀ3ðÎ7Ãàa3Ã`¸/Àô2Ãf1ê0Ã`Ê,Ãû-ÃpÁ4Ã0œ5Ã@p.Ãð/-Ãp&9Ã@¥:Ã0´1àN1ÃÐR/ü-Ãl0ÃP2ÃpP2Ã?-Ã?1ÃÀœ1ð .Ãð‚4Àw2Ã-0Ãð4ð/Ã0Š8Ã@Ã5ÃpÁ4Ã0=0ÃÀ%0Ã@F5ÃàÞ3ÃP‹0Ãàð0Ãà.Ã0+3Ã0¢4ðÔ6Àú1Ã0º0ð/ðc4Ãð”1ÃP2Ãðù5ÃÀã:Ã`6Ã0¢4Ãð‚4ÃT4ê4à o6ÃPü2à þ3Ã4Ãð4Ãðù5ÃÐF1Ã0º0Ãð1ÃЫ5Ãp27Ãàm1à þ3Æ6à¹4Ã`”5Ã@d0ÃàU5Ã`Ž6Ã@ù,ÃÀ®.ÃÀŠ4Ãã1à ™/Ãpß/Ãý7ÃPÆ;Ãpµ6Ã0 8Ø3Ã3/Ã0®2ÃPÞ7ÃЫ5Ã0¨3Ãб4Ã0C/Ãf1ÃÀ~6à ì6à o6ð/Ãày/Ã`¾.ðì2ü1ö.ÃpD4ÃЫ5Ãàa3ÃP—.Ã!2Ãé0à Ô:ðW6ðo2Ã0C/ÃP/ü-Ãðˆ3ÃÀœ1Ãpn-Ã@R3Ãàg2ÃP0Ã` 3à {4ÃB7ö.Ãà*ö2Ø7Ã` 3Ãt9à o6ÃÀ%0Ã@á0ÀÖ7àN1àã-Ã5Ãðˆ3ÃpÍ2ÃÀŠ4àT0à /à ò5ü1ÃÐ44ðà4Ã33ÃPm5ÃÀ~6Ã@R3à 0ÃÀ–2ÃPy3Ã0À/ÃpJ3ÃÅ6ÃÐÏ/Ã×3à i7ÃB7Ã`#3ðø0Ãf1ÃT4Ã`²0à :*ÃÎ*à o6à :Ãàä2ÃpÙ0Ã@^1Ã0º0ÃP…1ð3ÃÐL0Ã`50àÝ.àT0Ãð/-Ãð¦.ÃÀ–2Ãà‘+ÃÐó)àÝ.Àq3ÃP2Ã5ÃàÞ3à u5ð3ö2Ã’4Ãàa3Ãà[4Ãû-ÃP‹0ÃpÇ3ÃÀ1ÃÀ5ÃpÁ4à ‡2Ãpb/ðc4Ã0À/ÃT4Ã@Û1ê0ÃP/à 0Ãx.Ã@í.ÃPö3ÃÀû6Ã0Æ.ÀÖ7Ãpb/à .,Ã0s'ÃÀŠ4ÃÀé9ÃÀŠ4Ã0%4Ã0´1Ã'5Ã?-Ãph.Ã@X2Ã@p.Ãàð0Ãð0Ã0a*à /Ã@Õ2Ã@Õ2Àw2à 3ÃÝ2Ãc+Ãp>5Ãðó6à¿3ÃÐd,ÃÀ2ÃÀ+/Ãph.Ãàü.À7Ã0ê(Ã@v-Ãð4àB3Ãpb/À0à /ÃP‹0Ãpµ6Ã0´1Ãï/ÃÐ(6Ãà‹,Ãðˆ3Ã0C/Ã0´1Ãpý*ÃÀÌ)Ãð 3ö.Ãð”1Ã-Ãày/à Ú9Ã`M,ÃÀ%0Àú1à 3ÃàÀ8Ã0+3à “0Ã@R3Ä,ð-Ãpý*Ãð2Ãð2Ãб4ÃÀÌ)ÃPm5Ãï/à .,Ã06ÃðŽ2Ã@j/Ãà.ÃÀI*ÃŒ5Ãàa3ÃP£,Ã-0àl,ÃÐ"7à 2ÀG:À1ÃðG)ü1Ã0–6ÃП7ðÚ5Ãð”1ðu1Ã`;/Ã` 3Ã’4ðo2ðc4à Ÿ.Ã071À1ÃP&,Ã`²0Ã@F5Ã`5Ã@í.Àî3ÃÐó)Ãpñ,Ãp>5ÃP2Àq3àÅ2Ã`ˆ7Ãз3Ã`¦2Ã0Æ.Ãðv6Ã@É4ÃH6Ãp»5Ãà1;Ãàð0ÃpD4à¿3Ã`6Ãà1;Ã’4Ãð”1Ã0`?À @à Ú9ÃðL=Ãpµ6Ã@<Ãë:ÃðÏ<ÃPä6ÀS8Ãp=à E=Ãpü?à ]9Ãt9Ã@½6À/>ÃP´>Ã`ç<à›9ÃÀé9ÃÐo?ÃÐþ<ÃЙ8Ãt=ÃÀã:ð°<ÃPÌ:Ãà%=Ã`|9Ãñ=Ãà AÃÐo?À¦?Ã@«9ÃÀÝ;Ãz<à ¼>ð¶;ÃÐ44à 9?Ã@{AÃÀõ7ÃÐ:ÀA;ÃÀã:Ãz8àî@Ã0¿DÃPü2ÀM9Ã`Û>Ã0r<Ãð±AÀ¸<ÃЙ8Ãà–?Ã`d=Ãp?à °@à Â=Ãp—;Ãð.BÃ`X?à È<à È<Ã0ï<Ã@uBÃ÷<Ãp;à Ú9Ãn:À¾;ÃðGàq@à Â=Ã`í;Ã0ï<àâBàkAÀAÀšAÃÐ{=Ã>BÃð4AÀ)?ðE9ÃP´>Ã@<À)?ÃAÃÐ:ÃÐ8ÃBÃ0×@Ã@>ðAÃ}BÃð@?ÃpêBà žCÃJ@Ãh?Ã0NBÀ5=Ãà®;ð@ÃðF>ÃP¨@ÃÀé9à‰<ð°<Ãp=ÃÙ=Ãð.BÃPI;ÃPº=àq@ÃÐø=Ã0NBÃà+<Ã0„9Ã0×@Ãå;ÃP¨@Ã`Ï@Ã@“=Ã`p;ÃÀN>ÃÀl9ÀÊ9à Ú9ÃP´>à Â=ÃÐàAà•:à›9Ã09Ã0õ;ÃÐò>ÃÀÅ?ðK8àH2À5=Ãàê1ÃÀË>Ã0ËBÃàBðÂ9À5=ÃÀl9ÀÐ8à Q;ÃÑ4ÃPÀ<ÃPÒ9ÃÀé9Ã<8ÃÐ ;à‰<Ã`j<ÃÐ8Ãp¯7Ãp:à Q;ÃpmBÃ\Aÿ7Ãðd9Ã0Š8à à8à W:à à8Ãà1;Ãb<à ?>ÃÀZ<àÅ2Ãðó6Ã\=Ã0û:ð¼:Ã?À5=ÃPU9ÃðÏ<ÀÐ8ð°<ÃÐ9Ãðí7ÃÐ.5Ã`4ÃPä6Ã@½6à E=ÃÀ3ÃЫ5À)?à;ÃpmBÃ\=ÃP7>ð°<ÃàÒ5à¿3Ø7ÃÀ`;à W:ÃÝ2Ãð 3ð-=É@í:ÃÀ 4Ã'1Ã07Ã=à06Ã0:Ãðù5ÀS8Ã9Ã@½6ÃÐ<ÃÐì?ÃðÉ=à ‡2ÃPU9ðW6à þ3Ãàº9Ãðj8Ã`‚8Ãà=9ÃàU5ÃŒ5ÃÀZ<ÃV>ÃÐ ;Ãð^:ÃPg6Ã@É4Ã06Ã@Õ2à 1Ã0Š8à$8Ã÷8ÃàI7ÃàU5Ã0:ð?:À;<Ãh;àB3ðÚ5Ã0:à c8Ã@·7à$8Ãp:à§7Ã`p;Ã@F5à þ3Ã69Ã@.9ÃÀ5ÃP[8Ãàg2à¹4à c8à W:à­6Ã`2Ã` 7à$8Ãh;ÃГ9à u5ÃàÌ6à>ÃPÒ9Ã`ç<ÃÐÃ1ÃPO:ÃÀ`;à à8ÃÅ6Ã!6à65Ãðí7Ã'5Ãz8Ã0„9Ãà[4ðÈ8ÃPÞ7à06Ã8Ã`ÿ8Ã`‚8Ã@:7ù8ÃП7à ì6Ã`|9à c8Ãp—;Ã071à ".ÃÀõ7Ãðv6ð3ÃP0Ãà?Ãà+Ã@ç/à•:ÃP©+Ã5à ø4Ã0¢4Ãàð0ÃàÒ5ÃÀx7Ã@Ã5à {4ðW6ð3<ÃPð4ÃÝ2Ãб4ÃЙ8ÃÐ¥6Ãý7ÃÐ(6ÃÐÉ0Ã`Õ?à i7à Q;Ãàº9ÃàI7ÃÀ+/ä5Ã@(:ÃT4Ãp>5ÃàÌ6ÃpD4ðæ3ÃÀõ7ðæ3Ã@F5ÃàÀ8ÃÐì?Ã`Û>ÃÐ(6Ã0Ò,à³5Ãðó6Ãp,8àT0Ã`)2Ãp>5Ã09ÃÀZ<Ã×3à /ÃT4ÃÀŠ4ÀS8ÃàÆ7Ã-0ÃÀr8ÃЫ5Ãà[4ÃÀŠ4Ã3/Àè4Àk4Ã7Ã@X2Ã!6ði3Ã`5ðW6à06ÃÀr8Ã`5Ãñ9ð]5Ã@:7Ã0¢4Ãðù5ð]5ÃàU5à×/ÃÀ3ÃÐÉ0Ã`‚8Àw2ÃPy3ÃÐ@2Ã92ÃpJ3Ãàê1ÃÐ"7ÃÐR/ÃN5Àe5ð™+ÃÀ–2ü1à i7Ãð.Bð’Að9;Ã\=Ã@>ÃP+@Ãð·@Ãb<ÃPä6à 1Ã@p.à (-Ãà.ÃP‹0ð]5ÃàÞ3Ã0C/à Î;Ã0õ;à$8ÃPg6Ãp¯7ÃPÞ7À0Ã@F5ÃàÞ3Ã3/Ã0Æ.ÃÀ®.Ãàg2à¡8Ã@.9Ã3/Ã0%4ðo2Ã05à¹4Ãr/Ã@í.ði3à³5ÃpÇ3Ã@@6Àk4Ã`8Ãp>5ÃÑ4ÃÐ9ÃÐ44Ã0´1ÃÀN>ð?:à*7Ã@Ã5Ãp†)à ".ð3ÃÀ3à*7à¹4Ã5ÃPy3Ã`v:ÃÐ:Ãð|5Ã×3ð/Ãï/Ã05Ãpµ6àÑ0Ã@á0ÃÀ 4Ãàs0ÃpÙ0ÃpD4Ã3à æ7Ã`|9Ãàm1Ãð1Ã`5ÃT4Ãð4ð{0Ã-4ÃN5ÃP…1Ã0–6Ã@X2Ãð0Ãð2à ‡2Ã`6Ãp¯7ÃÐ<Ãp27ÀM9Ã`#3Ãð¬-ð‡.ÃPs4Ã@@6Ãà1;Ã`ç<ÃÐ44à «,Ã@á0Ãà1;ÃÐ¥6ÃPy3ÃP2ðÚ5Ãz8Þ2Ã`¸/Ê+à “0ÃÀ„5Ãð2ðì2Ãã1ÃÝ2ÃH6ÃPÌ:ÃàC8Ãðá9ÃP‹0Ã`50ÃàØ4Ã0C/ÃÀ3Ã0+3Ã`)2ðo2ÃÀï8Ã`)2Àq3ÃpÓ1Ãp27ÃàU5ê0Ãr/Ã0œ5ðà4Ãðˆ3ÃH6ÃÀ¢0Ãðÿ4àT0Ã3Ã5Ã7ÃPm5ðÚ5Ãð|5Ã`6À‰/ÃpV1Ã`ˆ7à o6ÃpÇ3Ã0I.Ãx.Ã!6Ã0º0ðc4ÃÐ"7ä5ÃЫ5Ã09à {4Ã@X2Ã` 3ÃàO6Ã@F5Ãp\0Ã@@6Ã@·7ð¼:ÃÀ3Ã@X2ÃÀ1.àÑ0Ø3ÃŒ9Ãð4Ã0´1Ã3àH2Àî3àH2Ã’4ðæ3ÃPð4ÀÊ9Ãz8Ãp :ÃPð4Ãз3Ã0%4Ãðˆ3ÃPy3Ã@|,à¹4Ãp27Ã0=0ði3Ã!2Ã92Ãàa3ðK8Ãë:À‰/Àq3à Ú9À7Ã07ÃPÒ9ÃPØ8Ãð 3Ã'1Ãp86Ã0r<à=ÃÀ1.à›9à$8Ã`²0àã-Ã0®2ðo2ÃàÌ6ÃÑ4Ã`Ž6ÃàÀ8Ã` 3ðK8ðo2Ãàä2Ã`²0Ã`6ÃÐ44À_6Ã`#3ÃàÞ3Ãð¬-ÃP0ð/ðæ3Þ2Ãp:Ø7ÃP/Ã0I.Àq3Ã`š4Ã’4à 3ÃpÓ1Ã3Æ6Ãà=9ÃT4Ã-0ðà4ê4Ãб4ÃÀ3Ã?1ÃÐL0ÃàÞ3Ãr/Ãð /ðà4ðò1Ã3/ÃPa7Ã0´1ÃÀ¨/ð{0ÃP…1ÃPa7Ã0Æ.ðu1Ãð#/à ‡2ê4ÃðŽ2Ãà7:À‰/ð/ðÔ6à 6Àî3Ã3Àú1ð/ÀS8ÃÀ3ÃP‹0Àâ5Ã@|,Ãð5,ÃÀ+/Ã0–6ê0ÃÀ3Ã0–6ÃÝ2à þ3ä5à<4ÃP1Ã@ *ÃÐd,ÀY7í:ÃÎ.ÃàU5Ãз3Ãà—*àÅ2Ãð^:ÃÀŠ4ÃPg6à /Ã` 3à¿3Ã`¸/Ã`2ÃP/Ãp*ÃP2ð{0ÃP0Ã@j/Ã`5ê4ÃàU5ÃH6ÃP‹0Ãpß/à ·*ðo2ÃÂ0ÃÐ:3Ãp»5Ã@ç/Ã0Ò,ÃÀÀ+Ã-0Ã`50ÃÐX.ÃP2Ã0 8Ãû-Ãàm1ä1à 3Ã×3Ã0I.à 1ÃàÞ3ÃàÀ8ÃPê5Àè4à “0ÀY7àl,Ãð#/àf-ÃÐÏ/ðW6ðW6Ã92ÃàØ4Ãl0Ã`2ÃPÀ<ÃàC8ÃÐ.5ðþ/Ãp*ÃÚ,Ãðÿ4Àƒ0ð“,ð/à9àÝ.Ã@É4Ãæ*ÃÀ['Ãð5,Ã@p.Ã@á0Ã` 7Ã0%4ÃZ3Ãàs0Ø3à<4à ¥-Ãp’'ð .ê4à ™/Ã?-Ãà[4Ã0–6à§7ÃÀ7-Ã@í.Ã@É4ÃàO6Ã@Û1Àq3ÃàU5ÃPä6à u5À0à~)Ãx.Àú1ÃÀ2ð+Ã0Æ.Ãc+Ã5Ãð^:àé,Ã3/ð/àT0àH2ÃàØ4Ã`ˆ7Ãà…-ÃPÌ:ÃP1Ã-Ãã1àN1Ã`¬1ÃPg6Àú1Ãpµ6Ã`¦2ÃŒ5ÃÀ5Àè4Ã3/ÃÐ@2ð .Ãð¸+Ã`4Ãð|5ÃÀ–2àÅ2Ã5Àú1ÃE0ðÔ6Ã`50ÃÈ/Ã0+3à “0Ãð¦.ð¶;ÃP.Ã@í.ÃÀ~6ÃàÞ3ö.àË1ðQ7ÃQ.ðu1ÀS8ÃÀx7àB3ÃP2Ã09Ã`2ÃЫ5ÃÐÃ1Ã05Ãpb/ÃÀ 4ð3à ø4Æ6Ã`Ž6Ã@(:ðò1ÃE0à¿3Ã0¨3Ã07ÃÀ 4Ãð 3ÃpÁ4àN1ÃT4Ãp»5ÃЫ5à ‡2ðþ/Ãн2Ãðp7ÃË5ÃÀõ7Ã÷8Ã@@6ÃPÌ:Ã`š4Ãý7à$8à þ3Ã@X2Ãp¯7Ã0:Ã` 3ÃP2ÃÐ@2ðÔ6Ãð”1Ã`j<ÃðÏ<ÃàÌ6ÀY7ö2Ã@@6Ãðç8àÅ2Ãï/ÃàÆ7Ãðš0ÃÀÒ(ÀS8Ãàä2à ì6à›9ÃÀl9Ã0 8à o6à ‡2Ã`”5ðÎ7Ãð4Ã` 3Ã0¨3Ãé0Ãàä2Ã4ÃàÒ5Ãðç8ÃГ9Ãðí7à 3Ãpµ6Ã0¨3ÀÖ7à u5Ã`4à›9à06à 1ÃÀ6à u5ÃàÒ5ÃH6Ã`v:ÃÝ2Ãp&9ÃZ3Àè4ù8ði3à9Ãðù5Ãð4ÃÀã:Ãð‚4Ãðí7À7Ã0=0Ã0U,ÃP -Ãàä2àÑ0Àk4ð-àB3ÃàÞ3ÃÑ4ÃÐÛ-ÃpJ3ü1ÃÐ44Àâ5Ã?1Ãà[4Ã4Ãà¢=Ã@Ï3Ã@Ã5ÃÀÑ=Ãð|5ÃPö3ðo2ð{0Ã92Ãà‹,ð¤>ÃàC8Ã`/1Ã7ÃÀÑ=Ã@(:Ã0´1ÃÀõ7ðQ7ÃàÌ6ÃП7ÃÀ2Ãpµ6Ãàä2Ã`50ÃÀ–2ó9Ã92ðÎ7Þ2Ãàg2Ã`š4Ãðv6Ã0+3Ãp\0à c8àH2àB3Ãðš0ö2Ã`v:à 0ÃÐ"7Ãðv6ðW6ÃP2Ã0œ5Àw2ê0Ã071ÃpÙ0Àe5ä5Ã4ðo2Ã@í.Ãð /ÃàÌ6ÃÐÃ1ÃpP2ð-à06Ã@j/Ã@^1ðo2à ".àB3ÃpJ3Ã0À/à ø4Ã`/1ÃZ3à ø4ðì2à×/ðW6ÃÀU(Ã?1Ãàð0ÃP…1ÃÀ3ðc4à {4ÀÜ6ÃÐÏ/Ã`¾.Ã@(:àq@Ãð^:Ãàs0Ã7Ã7Ã<8à*7Ã9ÃÀÑ=Ã7Ãp£9ÃðX;Ãh;Ãà®;à u5Ã0~:Ã`j<ðQ7ÃÐ9À;ðE9Ã`Ž6Ã0Æ.ÀÜ6Ã@";à i7ÃÐ:Ãp :Ãp86Ãà‹,ÃT4Ãå;ÃðR<ÃàI7Ã<8Ã`4à ]9ÃÐ<ÃÀÝ;Ãp27ÃÐ(6ÃàI7Ã0û:Ã@«9àw?Ãp©8À)?àô?ÃV>Ãà–?ÃPg6Ãz<ÀA;Ãp£9ÃÑ4Ã33à•:à Q;Ã`|9à­6à*7ð'>ÃðÕ;Ãà®;Ã÷<ÃÐo?Ã`^>ÃÐu>ÃðÕ;Ã@<Ãp&9Ã@¥:ÃP´>Ãðá9ÃðR<ÃP1?Ãà+<Ã0NBÃàCà;Ã@ ?ð÷EÃ`ÃBÃà>Ãð"DÃÇDÃ0ÅCÃ`½Cá<ÃpsAá<Ãp&9Ã`±Eð’AÃAÃÐ{=ÃAÃp…>àSEÃ,EÃBÃÀ$Eð˜@àú>Ã@>Ãð@?Ã@ìCÃÀ³BÃÙ=ÃeFÀšAÀŽCà>ÃkEÃpö@Ã0Ý?Ã=ÃðL=ÃÐ9HÃЇ;àkAÃ06FÃÓBÃÀ$EÃÀ0CÃP%AÃà%=ÃðÛ:ð@Ã@¼KÃàÝHÃôCÃPûGÃpðAÃDAÃàõDÃP EÃ@ÔGðzEà zIÃàûCÃÐcAÀ)?à ¶?Ã2DÃ0ÅCà>Ã÷8Ã0NBÃ`R@Ã`Ï@Ãð«BÃà@ÃÀÃ0ÅCÃÐàAÃà¿MÃ06FÃ`"HÃÀ³BÃz<Ã`ó:Ã0³FÃPDà zIà ¤BÃÓBÀÿEàSEÃÀf:Ã@iDÀ¬>Ãà@ÃÐÂFÃ@uBà EÃwCÃàõDÃÐcAÃJ@Ãpö@ÃÐò>ÃÐcAÃpgCÃP%AÃÐþ<àô?Ãð½?Ã06Fà ¶?É@Ã`R@ÃÙ=ÃP+@à Â=ÃpÞDÃPDá<Ã@æDÃð4Aàƒ=Ã0Z@Ã@ÂJÃ0à žCÀ5=Ãp<Ã0Ý?ÃÐEFÃpðAÃ@‡?ÃPC<á<ÃP%AÃ@øAÃn:Ãà–?Ãà®;à -AÃð½?Ã`ù9Ãt=ð-=Ãðá9à ?>Ã0ã>ð¤>Ã`p;ÀÊ9Ãà?Ã;Ã07ÃP–CÃÐÔCàkAð'>ÃðL=Ã*;À”BÃ0TAàw?Ã0„9ÃÐ<à ¶?ÃðŸDð3<Ã`4Ã69Û=Ã`X?ÃPÀ<Ãn>ÃðX;É@ÃPDÃ\=à <ÃP¨@Ãpy@ðAÃ`ó:ÃÐ<Ãð@?ÃŒ9ÃPg6Ã0ÑAÃàœ>àƒ=Ã`j<Ãà„BÃ0ã>Ã`á=ÃÀN>ÃÀ×<àkAÃ=Ã0Ý?Ã0¢4Ãðù5Ãðv6à °@ÃP==Ã`”5ÃpÁ4ÃP®?ÃPC<Ã@";ÃPº=à$8Ãðÿ4ÃÐ:Ã!6Ãp27Ã÷<ÃÀZ<Ãðp7ÃpD4à ø4ÃЙ8ð9;ÃPÀ<Ãà¨<ÀA;ÃPÞ7ÃÍ?Ã@uBÃ`á=ÃðF>Ã`ó:Ãë:Ã@þ@ÃÐ ;à ø4Ãðó6à Q;Ãà=9Ã0œ5ÃГ9à :ÃàU5ðE9Ã@«9Ã0œ5Ãë:ð¶;Ã@.9ÃPê5Ãpö@Ã0:Ã09à æ7ÃÀf:Ã@½6ÀS8ÃàÞ3Ã0´1Ãë:Ãà1;ð¼:ÃPI;Ã0œ5Ãðí7ÃÑ4à­6ÃÐ"7ÃPy3à u5ÃŒ5ÃÀ2Ãðj8à¡8Àô2à þ3ði3Ã0–6ÃÀï8ÃÀË>à•:à K<Ã4ÃPy3Ã06Ãp,8ÃàÆ7Ãðç8Ãàä2ÃPs4Ã8ÃÐ.5Àw2ÃÀ¢0à65à ø4Ã@.9Ã’4Ãp»5àú>Ãp—;Ã@·7Ã07ÃH6à 1ÀÊ9ð¼:ÃÀ5Ã`X?Ã7ÃZ3ÃpD4ÀÖ7Ãp£9Ã@Ã5ðÎ7ÃT4Ã92Ã-0Ãp86ÃpD4Ãðí7À_6Ãõ.Ã@É4Ã@«9Ãðç8Ã@@6ðo2Ã3Ã0ã>ÃÀT=ð9;ÀS8Ã@«9Ãpµ6ÃŒ9Ãðù5ði3Ã'1Ãt9ù8ðo2à:ÃЙ8Ãðç8ðÔ6ÃPU9ðo2Ã@@6Ãz8ÃÐ9ðÚ5Ãp©8ÃðÉ=ÃÐ:3Ãp»5à o6ÃN5à 1à ø4ÃàÞ3Þ2Àè4Ã0®2ÃPm5Ã@F5Ãà=9Ãàm1Ã`G-Ãð/-ÃpÙ0Ã@Õ2ð3ÃPy3àÑ0ÀÜ6Ãpµ6Ãðj8à 3ð¼:Ãà,Àk4ÃÀ2Ãf1à¿3Ãðp7Ã@@6à ]9Ã@ÿ+Ã4Ã@48Ãð¬-Æ6ÃÀ–2ÃÀ+/ÿ7Ã0¢4ÃÐL0ðo2Ãðˆ3ðÚ5ÃŒ9Ãp&9Ãà=9ÃPü2ð]5ðÎ7À7Ãp27Ãõ.ä5Ã0®2à 1ðø0à ø4ÃpÁ4ÃÐ44ðW6ÃàÒ5Ãð”1ÃpÁ4ÃÐ@2Ãt=ð!?ÃPö3Ã-4ÀY7Ã@ ?Ãð‚4Ã07ÃàI7Ã@·7ÃÀ 4à 3ðu1ÃÐ:3Ãñ9Ã'5ÃPä6Ãàð0ÀS8Ã@=Ã09Ã0 8ö2Ãз3ÃÀ–2Ãp86Ã÷<À_6Ãï/Àî3à¿3ð/à¹4Ã09Ã`¦2ÃpV1Ã0´1ÃÀ3Ãн2ÃÝ2ði3à06Ãб4Ã@<Ã@±8Ã4Ã3ÃÐÉ0à i7Ãð‚4ÿ7ÃPÆ;Ãà¢=ÃÐÉ0À7Ã!6Ã@í.Ãз3Ãp;Ãp©8Ãðù5ÃÀ„5Þ2ðì2ÃÐÛ-ÃÐ^-ðÔ6Ãðp7Ã4àÅ2Ãð‚4ÃP‹0Ãз3Ãàö/à þ3Ã0º0ÃðŽ2àT0Ã3ð/Ãð 3ðc4Ã`¾.ÃÀœ1Ãðš0à`.Ã`”5Ã@·7ÃàÞ3ÃÂ0Ã0–6Ã`ç<ðK8à=ÃÀ5Ã09ÃðÛ:ÃP[8ÃPg6ÃP0ÃPü2à 1Ãðó6à 6à¿3ÃP,+ðc4ÃàÆ7Ã`4Ãðv6Ãðp7ÃÀ2ÃÐL0Ã5Ã@É4ÃK/Ãpß/Ã?1Ã071Ãàä2Ãf1à ò5à§7Ãð|5à 6Ãð 3ÃÐ:3Ã@d0àN1ðÚ5ÃÀx7Ãpý*Àâ5Ã0Ì-à×/Ãðÿ4ÃÐR/Ã-4Ã`²0Ãðp7ð¼:Ãðó6Ã5Ã-4ÃŒ5ÃT4ÃàÌ6Ãн2à 3à 1ð/ÃÈ+ÃPy3Ã@±8ÀÜ6Ã0%4à þ3ÃpD4Ãðÿ4Ã'1àx*ÃðG)Ã`²0ÃÀ„5ÃZ3àÝ.Ã92ðc4Ã’4Ã’4à<4à¿3à “0Ã92ÃÐWCÃpÓ1ÃpÍ2Ãðÿ4Ã0´1Ã0®2ÃÀ2àl,Ã0U,Ãé0ÃÐÛ-à`.Ã-à³5ÀÜ6ÃpD4À0àÅ2ê4Ã0Ì-Ãp>5ÃE0à 1à 0Ãð#/Ãð¾*Ã0Ì-ÃpV1À}1ö2à<4Ã@í.Ã0´1àÝ.Àè4ÃàØ4ÃE,ðo2ðò1àÅ2ÃàU5Ã0¨3Ãl0ÃÐF1ÃÐÃ1Ã*àŠ'Ã*ÃÐÃ1à ".ÃpÁ4Ã`¬1Ã`A.ÃpÙ0Ã@:7Ã@É4Ãpb/Ãà,ü1Ã`”5Ã-4à$8ÀÜ6à þ3Ã@R3ö2Ã@ÿ+à Ÿ.ÃÐÛ-Ã@ÿ+Ãð²,Ã`Ä-Ãl0Ãð¦.à`.ÃÀ–2À}1ä1ÃÀœ1Ã0%4Ãðš0ÃÀ2àÅ2à`.àN1à¿3Ã0œ5à i7Ã],Ä,Ãpñ,à 3Ã`¬1ÃÐ9Ãàö/ÃÐÕ.ÃÀ%0ÃÐR/àÝ.Ã`¸/Ãàö/Ã@p.Ãð5,ÃpÓ1Ã`Ð+Ãi*Ãð¦.Ã5ÃЫ5ÃÀõ7à þ3ÃP2Ãàs0ÃpP2ÃpÇ3à Ÿ.Ãã1ÃPa7Ã`²0à Q;àl,ÃÀ7-Ãl0Ã5à¿3à «,ÃpJ3Ã!2Ã0¢4ö2à ™/Ã@Û1ÃP‘/Ã`#3à ‡2ðE9ÃÀ3Ã`50ÀÜ6ð9;Þ2Ãðš0Ãн2Ã@^1ÃÑ4Àw2ÃÂ0ö.Ã`Ä-à “0ÃàÒ5à`.ÃÀI*ÃÀC+Ãõ.à 1Ã0Ò,Ã05Ãã1Ã@á0ÃÀr8ðu1ðu1Ã×3Ã'5Ã`50Ê+Ãð;+À$+ÃPü2ÃÑ4Ã`¾.Ã`_)Ã0®2ðu1Àw2Ã012ÃP1ÃÐ:3Ãl0Ãð#/Ã@í.ÃÀœ1ðÚ5Ã!2àl,Ãû-Ã`Ê,ÃP -ÃàU5ÀS8à 1ÃÐÉ0À.Þ2Ãн2à ·*ÃÐp*Àw2ðK8ÃàI7Ãðó6ÃPü2Ãð/-À_6ÃàC8ÃÐ@2à 0Ã3/Ãàö/Ã`50à ‡2àÅ2à*7ðQ7Ã0„9Ã@F5ÃÀ2Ã@F5ÃÐ"7Ãp&9Ã3ö2ÃÀ–2Ã?1à “0ÃÀ1Ãàü.ðþ/Ãp\0ÃpÍ2Àî3Ãðá9ÃП7Ã0´1à³5ÃðÛ:Ãã1àZ/Ã@á0Ã8Ã0I.ÃÔ-Ã!6ÃPm5ÃP/ðW6À²=Ã@X2Ã@X2ÃÀï8Ãà®;Ã05ÃpV1Ã0~:Ã@½6à<4Ãàº9Ãý;Ø3ÃPU9Ã@·7ÃðÕ;ÃÙ=à ò5Ãà®;Ãp—;Ãà–?à¡8ÃPU9Ãn:Ãàm1ÃPm5Ãp,8ÃP…1Ã7ÃPg6ÃÀû6Ãðÿ4à ‡2ð°<ÃàÆ7Ã`ÿ8ÃpJ3àÑ0Ãp©8ÃÐ:ÃÀ`;ÃðL=Ãpµ6Ãë:ÀG:Ãß<Ãp&9Ãt=ÃÐø=ÃÐ:3Ã0:ð-=ÃÐu>Ãà@Ã9ðÎ7ÃÐ44Ã05ÃÀ 4à•:ÃÐ{=Ã@½6Ãðv6ÃàO6Ã0+3à :ÃPö3ÃàÀ8à9Ãб4ÃðŽ2ù8ÃB7àË1ÃÀŠ4ÃÐ.5ðQ7Ãp—;Ãб4Ã`;/Ãàº9ÃÀã:Ãðù5Ãàº9Ã0 8ÃàU5à›9Ã@>à c8ÃÀÝ;Ã$<Ãp :ð¼:ÃPy3ÃPm5ÃГ9Ã0`?Ã?Ãðp7Ã@(:à æ7Ãn:Ãý;Ãp>5ðÚ5Ãp&9à;Ãà+<Ãðv6Ãð 3ÃPö3Ã@=ÀS8Ãðp7à 1ðW6Ã`ˆ7À²=Ãå?Ãp,8ðK8Ã÷8À7Ã@½6ÃPØ8ÃP[8Ã0x;ÃÀf:ÃPÆ;Ã`4Ãp,8ù8ð°<Ãðp7Ã0®2ÃÀû6ÃÐ.5Ã`8Ãà1;Ã7Ãà¢=à ¶?À²=ÀÜ6ÃÀZ<ÃPÞ7ÃÀû6Ãðp7À)?ðE9Ãðj8ÃÐ:Ãp¯7à ]9ÃpÓ1ÃPy3ÃP[8à­6Ãðó6ÃàØ4Ãðp7à¡8Ãà7:à›9ÃÐ ;Ãb<Ã@:7ÃÀr8à 6ðc4ÀÜ6Ã`5ÃÀ„5à È<ç;ÃàU5Ãß<ÃPÒ9ÃÐ:ÃË5Ã@48Æ:Ãð‚4Ã69Ã3ÀÄ:À¾;Ã` 7Ã@·7ÃðÉ=Ã`6Ã09ÃÐ<Ã69ÃÀZ<ð¼:Ãp‹=ÃЙ8à$8Ãë:Ãðá9Ãðp7ÃÐ"7ÃГ9ðE9Ã0Š8Ãб4í:à Î;Ãðÿ4Ã@«9Ã@";ÃÀÝ;ÃàÒ5ÃÀï8Ãàê1Ã`ÿ8Ã07à :à*7ÃÐ ;Ãð).ðì2ÃÀZ<ÃpP2Ø7Ã@¥:Ã69ÃPð4Ã@Ã5Ã0–6À;<ÀS8Ã06ÃpP2à¡8à c8à u5ÃÀ6Ãp86ðÎ7ÃP[8À7Ãp¯7Ã!6Ãð4à «,ÃP[8Ã`8Ã0û:Ã`‚8ðæ3à o6ÃK/à E=Ã0Š8ÃàÆ7Ã0¨3à 1ÃpÁ4ÃÀ5Ã0+3Ãp»5Ãp27à9ÀÄ:ÃÐ44Ãàm1Ã'5ðæ3ÃÐ9Ã`ù9Ã`ÿ8ÃÀ 4ÃPs4à:ÃðŽ2ÃП7ÃpÇ3Ã'1à <Ã7Ã@d0Ã0~:Ãðj8Ã`5Ãðj8Ãp=à Q;ÃN5Ãà-ÃË5Ãàü.Ã@R3à 6ÃPy3Ãàm1ÃPy3Ã@Û1ÃPÞ7Ø3Ã0–6à³5Àk4à 2ÃÐ.5Ãß<ÃÀr8ÃÑ4ÃPO:ÃÑ4à 0Ã×3ü1Ã`d=ÃÀl9à¡8à i7Ãp—;Ãp?Ã`5Ãz<Àè4Ã0f>ÃÐ8Ãð 3Ã`|9ÃPä6à i7ÃÐX.Ãб4Ã@R3Ã@48ÃP2Ã05Ãð 3Ãp©8Ã0 8ÃP2à Ÿ.ÃP2ðÂ9à Ô:Ã@ç/ÃQ.Ã4ÃàÞ3Ãý7Ãp>Ãðí7Ã`‚8ÃÐ@2ÃÐÕ.ÃÀr8ÃPö3Ãl0ÃÐ44ðà4à 2Ã0À/à*7ð]5ÃÝ2ÃPü2Ê+ÃЫ5Ãpñ,ÃpD4Àk4Ã05Ãð.BÃ@uBÃBÀ5=Ã?Ã?ð!?ÃÀ 4ðø0ð]5Ãpb/Ãðš0ÃZ3ÃÀ3Ã3Ã`”5Ã`8ÃÐ9Ãðd9Ã05Ã0º0ÃPy3à§7ÃÀH?ÃPU9Àú1Ãàs0Ã0º0Àq3ÃN5ÃÀx7Ã0x;Ã`4Ã@@6ÃÀõ7ÃP[8Ã06Ø3Àô2ÃàU5Ã@L4ÀÖ7ÃÀ5Ã0¨3à 3ÃÀ5ðþ/Ãày/ÃpV1à 3ðþ/ÃpÇ3ÃÀ~6ðà4ÃÀ1.ÃàÞ3Ã071Ã4ÃðŽ2ðc4Ã`ˆ7Ã92Ã'1à /ÃÂ0Àî3Ã@Ã5à :ÃZ3Ã@Õ2Ãàê1ðò1Ãàg2à³5Ã0é=ÃÐ.5Ã92Ã@48ÃÀŠ4Ãë:Ã0º0Ã05Ã` 3Ãp»5Ã05Ã06Ã<8ðW6Àè4Ãà[4Ãб4Ã`²0Àè4Ã-4ÃП7Ã`ù9Ã0®2À_6Ãн2ði3ÀÖ7à65Ã0º0ÃÐF1ÃÎ.à <Ãp<Ã@";ð]5Ã` 7ÃàC8Ãp27à i7à¡8ê4Ã0õ;Ã0û:à65Ã`²0à<4ÃàÌ6ðÚ5Ã`/1Ãë:à•:ðQ7à W:ÃPg6Ãà®;ðc4ÃàØ4ÃÀ~6Ã5ðc4Ãp&9ÃPê5Ã`8à§7ÃÐ8Àe5Àk4ð-=Ãðv6À;Ãp©8Ã@±8Ã@É4ÃÀr8Ãà[4ê4Ø7Ã0%4Ã69à à8Ãñ9à›9ÃÐ:à <à Ô:ðÂ9Ã`2Ã’4Ã0x;Ãð^:ð¶;Ãà=9ÃÀõ7ÃB7ÃðŽ2àB3ÃðX;ÃðÛ:ÀÊ9à à8ÀY7ð3Ã@d0Ã'1Ãðç8ÃÐ8ÃB7ðò1Ãp :ûBÃ!2Ãp;Ã07Þ6à¡8Ã0:Ã@Û1Àk4à¿3ÃÀ2ÃÀ6Ã8Ã8Ãp<Ãð^:Ã7ÃÐ¥6ÃÐ:Ãp=ÃÀõ7Ã$<Ã@‡?ÃÎ.Ã÷8Ãpß/Ã07Ãðš0ðK8ÃpP2Ãà[4Ã`|9Ã`#3ÃÐR/Ã`Û>à c8Ã` 7Ã<8àT0Ãàö/Ãà1;ðE9à ì6Àe5ÃÀx7Ã7ä5Ã'5à È<ÃP/ðà4ÃП7ÃPÒ9Ã0Š8ÃÀf:ðà4ÃÀ~6Ãðˆ3Þ6ð9;ÃP==Ã0–6Ãp86ÃP1Ãt9à¡8Ã`Ž6à³5ÃpÁ4Ãn:Ø7ÀM9ÃàÒ5ðæ3Ã@d0Ã7Ãp86ÃÀf:ðÚ5Þ6ðÚ5àN1ÃàÆ7ê0ðÚ5ÃE0Ãð”1Ãå;Ãð).à “0À1ÃpJ3àT0Ã÷8Ãà¢=Ã@<ÃË5Ã@á0Ã@d0ÃÀ¢0ä5Ã0~:Ã`v:ðÎ7à u5Ã3/Ãðó6Ã5ÃPÞ7ÃË5Ãð‚4Ãp>5àB3Ã`_)Ãàg2ÃP2Ã@Ã5Ã0~:À5=Ã`2ÃP-àN1Ãà…-ÃË5Ãà[4ÃÀ~6ÃðŽ2ðÎ7ÀÜ6Ã@L4Ã!6Ãð4Ã0¢4Ãð#/ÃÐF1Ã` 7ÃÀ3à­6Ã05ÃÐ(6Ã@^1Ã4Ãðó6ÃÀé9Ãàs0ÃÀœ1Ã@48Ãðí7Ãp,8ÃЇ;ÃPI;Ã05ÃË5Ãà%=ÃÀ6À1ÃÂ0Ã`5ð/Ãé0à þ3Ãã1Ã0Æ.Ã33ÃÐÏ/Ãã1à à8ÃЙ8Ãz8Ãpµ6Ã0®2Ø7ÃÀã:Ã0 8ðu1Ã0¢4Ãàa3Ã5Ã0–6à ø4ÃP£,Ã012ÃðŽ2Ã÷8ÃàC8àB3Ãðp7ÀÜ6Ã`6à 6ÃPm5Ãë:ÃÀx7ÃàU5ÃPä6ÃZ3Ã0„9Ã4à³5ÃPö3ðQ7Ã@";ÃÀï8Ãpµ6Ã@j/Ã@.9àB3Ã@F5Ãðÿ4ÃÐ"7ÃÀl9ÃÀ¢0ÃÅ6à ò5Ãðÿ4Ã4ÃÀf:ÃÀ 4Ãà=9à þ3ÃÐL0ÃàO6Ã0Š8Ã`ÿ8Ã`;/Ã0´1Ã`8Ãl0Ã`š4à¡8à¹4ÃpÙ0ðE9ÃàÌ6ÃÂ0ÃàÆ7ð9;ÃPI;à {4ð3Ã0+3Ãн2Ã0¢4Ãàa3Ãà[4ÃZ3ÃàÆ7ÿ7Ãð1ÃpÍ2Ã071Ãðˆ3Ã4Ã!2ð?:Ã0:ÃB7à¡8Ãt9ÃÀ5Ãðp7ÃÀŠ4à 1ÃŒ5ÃÀœ1ðÔ6ÃpðAÃpy@Ã0 8Ã06ðì2ÃK/ÃPm5ÃÐ.5ÃH6Ãñ=ÃÐ44Ã-0Ã0¢4ÃàÀ8à¡8Ã0„9Ã@Ï3ÃÅ6à 9?Ãn:Ã3à 3Àî3Ãàö/Ãð”1Ãðp7à*7ÃÐ<ÃÐ.5ÃPü2Ã`ˆ7Ã@¥:Ã0®2ÃB7à ì6Ãß<Ã@.9Àe5à Î;Ã\=Ã`ˆ7ÃH6ÃÐ¥6Ã-4Ã`ˆ7Ãà´:Ãб4Ã`50Ãð^:ðc4Ã`8ÃÐ"7Ãp&9ð/ÃÀ®.Ãðÿ4à³5ç;Ãð”1Ã9Ã`|9ÃÐ:ÃðL=Ãf1à ‡2Ã0ï<À_6Ã`50Ãp,8ÃÀ6À;ÃЇ;Ãðÿ4ÀÐ8ÃÐ<ä5Ã0–6ðÚ5Ã@á0Ã`M,ð-ÃË5ÃP2Ã0¢4à Ú9à 3Ãð‚4ðo2Ãðÿ4ÃàO6Ã` 3Ã`;/à 1Ã7à¹4Àî3Ãàa3à i7àÝ.ðò1ðÚ5Ãàs0ðò1Ã0–6ÃàÌ6ÃE0ÃàØ4ÃÐ(6Ãð‚4ðò1Ãp\0ÃÀ5ÃðG)ÃÐÏ/ê0ÃЙ8Ãl0ÃÀ6Ã@F5Ã@L4ð,ði3Ã0Ì-ÃÐÉ0Ãz8ÃPü2À_6ä5ÃpV1Ã`¸/à¿3Ãpn-Ã÷<Ãà=9Ãð0ÃPs4ÃP…1à ì6Ã071Ã`š4àN1Ã@Û1Ã012ÃH6àl,ÃQ.Ã@Ï3ðÈ8Àú1ÃP0Ãн2Ã!2Ã@:7ÃàÒ5Ã`4Ã@@6à•:Ã` 3Ãp :Ã@@6Ã92ÃP.ð+Ãð|5Ã'5Ãз3Ã!6ÃàÞ3Àw2à06ÃÂ0ÃpÇ3à æ7ÃpÙ0Ã!6À‰/ÃÀ–2ÃÀ3Àw2Ã`4ðþ/ÃÀ3ÃZ3ÃÅ6ÃPa7Ã05ðo2ÃÀ3Ã012Ãã1Ã*ÃÐL0Ãð2ÃÐL0Ã@Û1ð/à`.à 1ÃÀ1Ã@d0Ã`/1ð-ÃÐÃ1Ãp27ÃÀœ1Þ2Ãàö/ÃP-ðÚ5Ãð‚4ÃÔ-Ã`²0ÃÀC+Ã0À/Ã`#3Ãð 3Ã0 8Ãð”1à ò5Ã0¨3ÃT4ÃN5ÃPs4ðÚ5Ã0û:ÃÀœ1Ê+ÃàÞ3Ã` 3Ã-0Ã`Ü)Ã`2ðo2Ã`2ÃÐÃ1Ãð|5À}1Ãpz+ÃÀ3à*7ÃÐF1ðæ3ÃÀ7-Ã`5à65Ã0C/ÃT4Ãàü.Ãà-à³5à*7ðW6ÃàØ4à ‡2ðø0Ã@Ã5Ã0º0ö.Ãàs0À•-Ã-4Àk4ÃÀ1Ã3/Ãà-Ã?-Ã0¨3ÃÐæ@Ã`²0Ã92Ã`Ê,Ãpn-Ãx.ÃP‘/Ãð).Ã@ç/ÃpP2ÃÎ.à “0ÃÐ@2ÃpJ3àT0Ã012ÃÔ-ð{0Àâ5ÃpV1ÃÐ@2Ãû-à (-à 0Ã`Ä-Ã`#3ÃÀû6ðø0à9Ãð2ð{0ÃÐÃ1ÃÝ2Ã8ÃP—.ÃÀ®.ÃÀ~6Ãб4Ã@X2Ã@48ÃPê5Ã0¨3Ã'5à;Ã0¢4ðÚ5à06Ãð‚4Ã33Ãpë-ð3Ãpn-Àè4Ã`ˆ7ð/À}1Ãf1Ãp>5Ãðj8Ã0„9ÃÀ–2ÃPö3Ãpë-Ãð/-Ã-4ÃÐ¥6ÃpD4ðo2ÃP1Ã`‚8Ãp :à 2ÃÐj+à¹4àÅ2Ã0%4Ã0%4Ã@Õ2ð .Ã@í.Ã`/1Ãàö/Ã33ÃpV1Ãð /Ãx.Ã@á0ð‡.Ãз3ÃÀ´-ÃpP2Ã5Àú1ÃÐ.5Ã`8à 3ÃàØ4Ãpµ6Ãð#/ÃÀœ1ÃPy3ü1ÃÅ6Ãà-Ãõ.Ãp27Àk4àN1Ãà.Ã`2Ã@L4ÃË5Ä,ÃðŽ2ÃÑ4Ã`¸/Ã` 3ÃpD4ÃÀ„5ö.ÃÀœ1Ã`v:Ã0Š8ÃÀ5ÃÐÛ-ðu1Ãàö/Ã0–6Ã07Ã3à þ3ÃÐ.5Àe5à06Ãðó6à§7Ã@d0ÃÀ3Ã012ÃÀ6Àk4Ãàa3à 3ö2Ãl0Þ2ÃË5Ãpn-Ãl0Ã`6ð{0à×/Ãà‹,ð-Ãà‘+ê0ä1Ø3ÃÀœ1ÃP—.à 1ÃÀ3à ‡2ÃГ9ðæ3ÃZ3Ãpß/ÃÐ.5ÃPð4Ã`5à¹4Ãà…-ÀÜ6à¿3ÃÀ1Ãày/Ã`¸/à 3ÃpV1à þ3ÃÀ¨/Ãpß/ÀÜ6ÃÀx7ÃT4Ãð1Ãàg2ÃPs4Ãàs0ÃÐ:3Àè4Þ6ö2ÃÐ@2Ã33Ãð|5ÃÂ0Ãx.Ãï/Ã`Ö*Ãé0ÃÀ1.Ã@ù,Ãð”1àZ/ó9Ã@í.ÃÐ^-àã-à ".ÃpÍ2Àâ5àÅ2ÃÐ44ÃàC8Ø7Ãt9à­6Ã'1à à8à 1Ãðÿ4ðæ3ð9;Ã33à È<ÃÀ 4Ã@·7à65Ã`ˆ7Ã@½6ÃàI7Ãðv6Ã5ÃàI7Ãðˆ3ÃB7Ãp>5Ã@í.ÃÐ¥6Ãðç8ÃË5Ã06ÃÀï8à c8ÃPU9ç;Ã@R3Ãp»5Ã`ÿ8Ã`¦2ÃÀ`;Ã`/1í:ðo2Ã@48Àk4à06Ãp<à;Ã0f>ðQ7ÃàÒ5ÃPê5Ã*;Ãp=Ã`^>ðÔ6ðà4ÃЇ;àN1Ãpß/Ã0û:Ã`ˆ7Ã`”5Ã0~:ÀÄ:Ã0x;ÃÐ8Æ6ÃàU5Àè4ÃàØ4ÃÐR/Þ2Ã@F5Ãý7Ãàº9à ø4Ã0„9à 6Ã`ˆ7ðÔ6Ãàg2Ãн2Àk4à Ô:ÃÐ8Ãàä2Ã0®2ÃÀ3ÃÀ3Ãð 3Æ:ÃpÁ4Ã@<ÃàU5Ã@@6Ã'5ÃP2Ã@±8ÃàÞ3Ãð^:Ã×3ðK8ð¶;ÃP2Ã0:ÃÀõ7ÃE0Ã012Ã÷8ðà4ÃPä6ÃàU5ðÈ8Ã07Ãð”1Ø7Ã4ÃÀx7Ãðí7à æ7ÃPy3Ãp£9Ã7Ãà–?Ã`LAÃt9Ã@X2Ã`”5À²=Ã-4Ãp>5àú>Ã@48à à8Ãðç8ÃPÞ7ÃN5Ã0 8Ã'5à³5àZ/ÃÀï8ÃàI7ÃàO6ÃpÇ3ÃP/à¹4ðE9Ãðv6Àk4ÃPÒ9Ã÷8ÃÀ„5ð3à¡8à Q;Ãðç8Ã@Ï3ÃP.ÃT4ÃÀ6ÃÀû6Ãàö/Ã012Ã0+3à {4Ã`š4à à8Ãàê1Ã8Ãpn-ÃÀ 4Ãp,8Ã3Ã@48Ãð 3ðQ7Ã`8Ã×3Ã0–6ÃÑ4ÃЙ8ÃÀ¢0Ã7ðQ7Ã`š4ÃÀ 4À /à}>à§7ðà4à u5ÃŒ5ÃPê5ÃpÇ3ÃPÒ9ÃŒ5ðþ/ÃPs4Ã0À/ÃÐ¥6Ã!6Ãã1Ãàa3Ã`ù9ÃPð4Ãб4Ã@48Àƒ0ð¼:Ã@>ÃPü2Ã`4Ã@Õ2Æ:ÃpJ3à “0Ã`¬1Ã33ÃÀ„5Ãf1À7ÀM9à¹4À_6ÃÐ.5ÃPä6à:Ã@X2Ãàê1Ã@«9Ã@";ÃÐ"7Þ2Ã×3à}>Ã@™<ÃÝ2Ã3ÃÀõ7ðo2ÃàÆ7Ãp&9à ø4à9Ãpö@ÃË5Ã06ÃH6À‰/Ãàä2Ã@.9ÃP[8àË1Ã0¢4à 1Ãp,8ÃÀ+/àB3Ø3ÃP…1ÃàU5Ø3ö2Ã@^1À5=Ãðí7Ãðˆ3ÃP…1Ã0À/ÃPê5Ã×3Ã`#3Ãp27Þ2Ã`#3à æ7ÃÀû6ÃK/ÃN5à<4ÃðŽ2Ã4Àè4Ãp27Ã0 8ÀÖ7ð]5ðø0Ãp»5Ã0–6ÃàÒ5Ã!2Ã0¨3Ã@½6À_6Ãå;à 2Ã@|,ÃÐ9Ã@.9Ã`d=À/>Ã!6ÃPÒ9ÃÀ–2Ã`¦2à$8ä1Ã07ÃàO6À7Ã`‚8Ãб4Àî3Ãp>5Ãp>5Ã7ÃN5à;Ã=Ã*;Ã@±8Ã'5Ã0º0ð{0ÃK/ð¼:ð¼:À;<à•:Ã`5ÃÅ6Ã*;Ø3ðE9Ã`”5Æ6ÃÐþ<Ã0+3ÃH6Ã0û:Ã`8Ãñ9ÃPÆ;àƒ=Ã0+3ÀÐ8ÀA;Ãß<à æ7Ã-4Ã’4ÃÐ"7ÀY7ÃЫ5ÃÑ4Ãp,8À;à­6Ã@Õ2Ã`”5Ã`”5Ã÷<Ãp,8Ã8ÀG:Ã07Ã`v:Ã@48ÃPÞ7ÃPØ8Ã0+3Ãã1ÃN5ÃП7ÃÐ:3Ã÷8ÃPg6ÃŒ9Ãðá9Ã33ÃàU5Ãð@?Ãt=Ã@.9Ã!6ù8ÃÍ?Ã;à Ô:Ãб4à Î;ÃÐ:ÃÀÝ;Ãp<ÃÀû6ÃPö3ÃЫ5ÃPä6ÃPä6ÃЙ8ÃðÕ;ÀS8ðc4ù8à :ði3à65àú>ÃÓ>ÃÐ9Ã9ÃÀ2ÃPð4ÃÀ~6Ãðd9ÃÙ=ðÂ9Ã@@6Ãt=Ãðÿ4ÃÐ(6ðu1à•:ÃÐ:ðÚ5Ãðv6à­6à ò5ÃÐ8ÀY7ÀÄ:Ãh;à›9Ãà?ð¼:Ãðÿ4Ã?1ê4Ãp©8ÃÀï8Ã3/Ãðó6à à8ÃÀ2Ã’4Ãàg2Ã0+3Ãpµ6Ã`š4à;Æ6Ã'1Ãàa3Ãб4ÃT4ÃpÍ2ðø0Ã`¸/Ãð).Ãp,8à 2Ã@R3Ãàm1ÃPg6à i7Ãp»5ÀÜ6ÃÐÃ1ÃT4Ãðç8à ]9Ã?-ÃW-ÃP…1à¹4ÃÐ44ÀÖ7ÃP2Ãp»5Ã*;Ãp¯7ÃàÞ3à 3ÃŒ9Ãð4à 3Ã0C/ê4Ã`;/ÃÂ0Ã`/1Àw2ð]5ÃPm5ê4Ã~-À­)ÃP8)ÃÀI*ð{0àZ/àé,ÃpÇ3Ã`5Ãé0Ã33ÃPê5Ãз3ÃpD4Ãð1ÃÀ 4ÃÐ44ðò1ü-Ãàð0Ãðÿ4ÃB7ÃpÁ4ÃÀ–2Ã4ðæ3ÃPö3ÃÀ5Ã0À/ÃPg6à i7Ãàg2Ã@F5Ãð2ÃP‘/à 1ÃÐÃ1Ã×3ü-Ã0´1ÃàI7àN1Ãp\0ÃÑ4Àq3à ò5ÃÀŠ4Ãàä2Ãr/ðæ3Ãp,8ÃP¯*à 3Ã`/1Ãr/Ãð0Ãð‚4Àè4Ã0À/à 1Ãf1Ãàm1Ã0À/Ã0C/ÃPy3Ãp‹=ù8ê0à<4Ã07ÃГ9Ãàm1ÃàÞ3ÃB7Ãð‚4Ã`¸/ÃðÛ:Ã0®2ðì2Ã`50Ã` 7À;<Ã0:ÃП7Ã0¢4à 1ÃB7Ãð‚4à³5ÃBÃAÀ;ÀM9ÃÂ0Ãб4à$8Ãðá9ÃÀõ7Ãp27à Ô:Ãàº9à à8Ã@½6Ãз3Ã9Ãб4à•:Ãn>À/>Ãàœ>à o6Ã`d=à Ô:Ã0é=Àk4Ãðp7àq@ÃÐø=Ã0r<ÃÀ6ðK8Ã÷8Ã@F5Ã0:Ã@¥:Ã@";Ã0Š8Ãà¢=Ã\=Ã0:ÃÀŠ4ðW6à ò5à³5ÃÐ:ÃÀõ7ÃàO6Ã`^>ðÎ7Ã`)2Ãà®;Þ6Ã@Ã5ÃàI7ðÚ5Ãp>5à<4Àk4ÃðÉ=à§7à³5Àî3Ãh;Æ:ÃÀ*Dà Q;Ãðv6ÃÀ6Ã06Ãð^:Ã@·7Ãðš0ÃpÍ2ðæ3Ã0œ5Àe5ÃàU5Ã69ÃV>à$8à à8Ãp£9ÀÊ9Ãp‘<ÃÐ ;Ã0x;à Ô:ðE9í:Æ:ÃH6ðÔ6à ò5Ã;ÃàC8ä5Ã0%4ðc4ðÂ9ÀG:Ãz8ÃÀ3Ãðù5ÃpÇ3Ãðÿ4Ãp»5Ãн2Àq3ÃPC<À#@ÃÀ„5ÃpV1ÃPä6ð?:ÀÄ:Ã07Þ6ÃàU5ÃàO6ðÈ8à @Ã@";ðÂ9Ã7à Ú9Ãðç8ÃPÞ7Ãð”1Ã07Ã-4Ã012Ãp>Ãðó6ð3<Ã0x;Ãà1;Ãp?Ã0 8Ã@@6ÃÀõ7à 6à o6à ]9Ã0l=Ã0r<Ã`á=ðK8ù8Ãp :ð°<ÃŒ5Ãð2à ì6ÃN5Ã7ÃŒ9ÃPO:à :Ã0:ðK8ÃÐÃ1ù8ÃH6Ãp86Ã*;Ã` 7ÃÀé9ÃÐ.5à ø4Ãp86ÃÐ(6Þ2Ã@:7Ã`ÿ8à;Ãð½?Ãt9ÃÐþ<Ã@Ã5ÃP…1à 2Ãñ9Ãñ9à ø4à ‡2ÃÐ8ðÎ7Ãp»5ðE9à:Ã@Ã5ÃÐ9à ‡2ù8à¹4àN1ÃГ9Àô2ÃÀ–2ÃÈ/Ãб4Ãp:à 6ÃpÓ1ÃàU5Ã@á0Ã@Û1Àâ5Ã<8Ãp27Ãðj8ü1Ã0Ì-ÃPö3Ã8À7ÃÀx7Ã@X2Ãp :Ãë:Ãз3Ã`;/Ã!2à 1Ãàä2Ã'1Ã@ç/ÃT4Ã`|9Ã8ÃÐ"7Ãðí7ðc4Ã@á0Ãðd9Ã`¦2Ãð‚4ÃàO6Ã69ÃÀÆ*Ã@Ã5Ãp86ÀÜ6Ã07ÃË5Ø7Àq3ÃàÆ7à<4ÃàÌ6Ã@É4à06í:Ãðj8Ã33ðæ3Ã!2ÃPö3Ãë:à65ÃŒ5Ãp&9ÃPð4ÃÀ3ÃðŽ2Àô2ÀM9Ãð”1Ãp\0ÃÐ"7Ãàð0ÃÀ–2ù8Ãp\0ö2Ã'1Ã`)2ð/ðÔ6ÃB7Ãàa3ðæ3Ãp\0à*7ÃÀ–2Ã012Ã@j/ÃÐ44ÃÐ44à*7ÃðÕ;ÃB7ÃŒ9Ã?1Ãð4ÃN5à Ô:ÃPm5ÃP1Ãàä2à 2ÃPI;Ø3à³5Ã0%4Ã@½6ðQ7Ã@p.ä1Ãð‚4Ãðˆ3ÃÐ@2Ãr/ÃÀŠ4ÃÀ5ÃÀ¢0Ãp86àB3ÃЫ5ÀÊ9ð/ÃT4ð+Ã<8ðÔ6ÃÐ8ÃÐÕ.ÃÀ3Ã` 7Àe5Ã`²0ÃPU9Ã@.9Ãà=9Ãàg2Ã@R3ÃpÇ3Ãð0Ãàm1Ã`5Ãpb/à$8ÃÀõ7ÃZ3Ãp»5ÃŒ5Àè4Ã@@6Ã` 3Ãàê1Ã-4ÃÀ 4ÃP/Àè4Ã`š4ÃP1àË1À-Ã-0Ã`”5ÀÖ7Ã@Ï3Ãð2Ã4Ãð1Ã0û:ü-ÃPö3ÃpD4Ã`A.ä5Ãàü.ðW6Ã`5ÃPð4à /Ã`)2àZ/Ãàê1Ã071Ã`6ÃpÁ4ÿ7ÃT4ÃPð4ði3à ¥-Ãà[4ÃE0ÃÀC+ðì2à Ÿ.ÃÀ%0ÃÐF1À}1Ã0C/à­6Ãë:ö2Ãf1à 2ðò1ÃÐ44Ã@v-Ãàö/ÃÀx7ÃP1à`.ÃÀ%0à ™/Ã33ö.ð3Ã07Ã0º0ÃpÍ2Ã~-À0ÃÝ2à•:À /À.ÃàÌ6ÃàÞ3ð .Ã0+3ð]5à æ7Ã],Ã0U,à ‡2Ã’4Ã@Õ2Ã0¢4à 1Ã~-Ãз3ðì2Ã@L4À›,Ãн2Ã0º0ðW6ÃÐ44Ãr/ÃÑ4à 1ÃPm5Ã4Ã`¾.Ã3Ãðá9Ã`š4ÃàÀ8Ãp£9ÃÐ:3Ã0–6Ã`ó:Ãð2àÅ2ÃpJ3Ãðÿ4ÃàÒ5Ã`5ðÚ5Ã`#3Ãð¦.ÃÀr8ÃÐ.5Ã0œ5Ã0´1Ãpß/ÃP1ÃPê5ÃpÇ3Ã’4ÃðŽ2Ã`¬1ÃB7ÃÐ9àË1à06ÃÀ5Ãð^:Ã@ÚFÃÐi@ÃÍ?à Â=ÃÐ8ç;Ãb<à§7ê4ðÔ6Ãð#/Ã@ó-Ãpb/à 3ü1ÃÀÑ=ÀY7Ãðj8Ãð1ð3à ò5ð¶;ð]5Ãàü.ð]5ö.Ã`¸/Ãàg2ÃPö3Ã33ð‡.ÃÎ.Ãð”1Ãðÿ4Ã92ÃP2Ãðš0ð-ÃpJ3ä1ÃÐ(6Ãðù5Ã`A.Àk4à ‡2à¹4Ã@Ï3ÃN5à‰<ÃàU5Ãà-ÃÐÏ/ÃÀ7-Ã`²0Ã×3Ã5àN1Ãã1ÃpD4Ã0¢4ÃÀ–2ðÚ5à×/Ã÷8Àq3Ãà+ÃàO6Ã33ÃÀõ7ÃPy3Ã@p.Ö)ÃÀ+/à 6Àî3Ã`ˆ7ÃÀ1Ã0C/ÃT4ÃÀ¨/ÃÐÉ0à u5Ãà®;Ãà[4ÃP2ðø0Ãб4àõ*Àô2à þ3à 2Ã3/Ãðš0Ãð‚4Ãû-Ãð0ù8à ò5Ãàö/ðo2Þ2Ã@á0ðà4ÃÐ:ð/À-ÃÐÃ1à ò5Ã69Ãб4ÃÐR/ÃÐÃ1Ã~-ÃÎ*ÃÀ5ðò1ÃPö3Ãð|5Ãp\0Ãp÷+àË1à ì6à06Ã5à þ3Ã@ç/Ã`ó:Þ6Ãàä2àÅ2à 3Ã`š4Ãàa3Àq3Ã0´1ÃZ3ÃÀœ1Ã@±8Ãf1ð .Ã0a*Ã@ó-Ãr/Ãðd9Ã-4Ã9.ð]5Àú1ÃpÓ1ÃÀ2Ãpß/à /ÃàÞ3Àô2Ãph.Ã`M,Ã`2à à8ÃPØ8Ã012À}1ð/Ãð‚4ÃÐ44Ãà…-à ½)à Ÿ.Ãpë-ÃÐá,ÃPü2Ã`¸/à F(à ".ÃP2ÃÐR/ü1Ã0y&Ãàê1Ãðù5ÃÂ0Ã?1Ã071ÃP.à ì6ÃPü2Ã`2ð .Ãàm1ÃЫ5ÃÐÕ.Ãð 3Ã@í.à ø4ÃÐ(6ÃÀ3ÃÀ7-ÃÐX.ð-Ãðˆ3Ã33Ã`G-Àq3Ãr/Þ2Ãl0ÃÀC+à (-Ãà…-ÃK+ÃE0Ãàö/À,Ã*ÃQ*à<4à×/Ãpz+ð™+Ã'1à`.Àô2Ãï/ðW6Ã`¦2Þ2Ã0O-Ãæ*Ãð5,Ã@ù,ÃE0Ãl0ÃP»(À³(Ã!2ÀÑ#ÃÐç+àZ/Ãà+Ã`;/ð()Ã!2ð/Ã0Ì-ÃK/Ã0g)Ã`A.Ãн2Ãàs0ÃP¯*ð,à ¥-ÃÐR/ÃÀ®.ÃÀœ1Ã!2ðæ3ù8Ãph.Ãð /ÃP…1Ã`;/ü1Ãàs0à (-ÃÀ3ÃŒ5ÃP.à ".Ã`Ü)ÃpV1Ã33ÃÐ:3ÃÈ+ÃÂ0Ã`¸/à`.à ¥-ÃP/ÃP2à¹4Ãpß/à ½)Ã0Þ*Ã`G-à “0ÃE0Ã~-ÃÐó)Ãpz+ðæ3Ã@j/àû)À.Ã33Ã`Ð+Ãày/ÃÐX.ÃZ3À**Ã@v-à (-ðò1à ¥-ÃÐÿ'Ã`î&à +Ãà‘+è&ÃÐv)Ãð²,ÃP—.Ã`Ž6À.àÝ.ÃÂ0Ãðp7Æ6àB3Ãàð0à&àŠ'Ã@ó-ÃP©+Ãpñ,ÃðÖ&Ãì%à «,ÃÀœ1Ãð/-ÃÐÉ0à)à–%ÃÂ0Ã@í.Ãpt,Ã0º0À¿&À-ü1ÃP©+àû)ÃÐX.ÃP—.ÃP1Ã0[+ÃW-Ã`S+àÝ.Ãð¬-Ãð¦.Ã4ü1Ã*ÃP -ÃP‘/à 4+Ã@á0Ãð2Ã-Ã@p.ÃP£,ÃÐF1Ã`;/Ã`Ü)ÃðG)Ã`è'Ãð”1ÃÐÉ0Ã@‚+ÃÐp*Ã0ö&Ã0[+ÃpÓ1ð .Ãà.àr+ÃÀ+/àZ/àõ*àT0Æ6ði3ÃK/ÃðÄ)Àq3Ã`M,ÃK/ð™+àï+àÑ0Ã@ù,Ãà…-àB3Ã@‚+Ã*Ã`Ð+Ãð0Ãàö/ÃpD4ð]5ÃÀÆ*Ãã1À.ÃŒ5ð‡.Ã0I.ÃÀØ'Ã,Ã`/1ÃK+Ãà.Ãà+àZ/ÃÀ3ÃÐj+Ãï/ÃQ.ÃP/À-ÃÐF1Ã@ç/ÃpÙ0à ±+Ãð”1Ãн2ÃE,Ã0À/ÃÐÃ1ÃÐ9ÃÐ@2Ãõ.ÃÐX.Ãp(àÅ2ÃË5Ãp86ÃPg6ðÔ6Àî3ÃPü2Ãl0Ã@ç/Ãr/ÃÀ¨/Ãp*àN1Ãàm1ð-à ¥-ð]5Ãàê1Ã@ó-Ã~-à`.Àô2ð,Ãð0Ã` 3Ã`¸/Ã0Ø+Ãð1à×/Ã@@6Ã@.9ÃÀ3Ã'5Ãã1ÃÐ"7à þ3Ã`Ä-ðò1àã-ÃpÓ1Ãpz+ðæ3ÃÐ¥6Ãn:ü1à`.Ã`5Ã@½6Ã@Ï3À›,Ãà,Ã0¢4Ãpµ6Ãõ.Ãpß/Ãý7Ã0À/ÃÀr8Ã@á0ÃÀ+/ÃÝ2àN1Ãð4ÃГ9Ãð|5À‰/ä1Ã`6ðÚ5ÃàÞ3ÃÀ®.àã-Ã`4Ãðe$ðþ/ÃP/Ãð¾*À1à {4ÃP0Þ2Ãàö/Ã@í.Ãà[4Ã`¦2Ã@Û1ðÚ5Ãð 3Ãð”1Ãàê1ÃpÍ2Ãã1ÃPa7ÃàÌ6Ãð”1ÃðŽ2à ]9Ãl0Ã`50à +Ã@ç/à65à «,À_6à {4Ã@v-ÃP©+à ø4Ã?1Ã'5Ãàð0ÃÐÕ.ðà4À}1ðì2ÃÀï8à 6ð-ÀÜ6à ™/Ãpn-Ã`¸/ÃË5ÃE0ÃÀœ1ÃpV1ÃP2à ".Ã@^1ÃÔ-Ãð /Ã7à ø4ÃÐF1à¹4à 1Ãð”1àÅ2Ã@á0ÃÐ8Ã`š4Ã0À/ð-ÃË5Ãð|5Àè4ð/àË1Ãý7Ãðù5Ãð /à à8ÃP2Ã`Ê,Ãï/Ãðˆ3ð .ÃÈ+Ãàð0ÃÐÛ-Àè4Ã0+3ÃÂ0Ãé0ÃK/à 3Ã@ç/À_6Ã3/ÃÀ–2Ã-4ÃpJ3Ã!2Ã@^1Ãx.ð/Ã0O-Ã`A.ÃÐL0ó9ðÔ6Ã@ç/àZ/à06ðì2ÃàÒ5Ãð¦.Ã`A.Ã0®2Ãð‚4à³5ÃÀ2Ã7Ãp\0Ã0Ì-Ãpµ6Ã@X2ÃP…1Ã@|,Ãðš0Àƒ0Ã`Ä-Ã9.À§*ð]5à­6à Î;Ã@^1ÃÀ2ÃðÐ'Ãày/Ãpn-Ãà,Ã` 7ÃðÄ)Ãþ&àN1Ã@Û1ÃP0ÃÐ@2Ã@á0ÃpV1à +Ã33Ã`M,Ãð5,ÃP,+Ã0=0Ãàs0à 2Ãàü.Ã@Õ2à ¥-Ã0I.Ã@p.Ã'5ÃPö3ÃpÍ2Ãp€*àË1Ãx.ÃðG)ÃÀ¢0Ãõ.Ã0Ø+à`.à Ÿ.Ã`ÿ8Ãx.Ã3/ÃÎ.Ãз3Ã`)2ÃàÞ3Ã@ÿ+à ½)Ã0C/Ãà—*Àî3Ãp÷+ð/ÃPµ)ÃÐÃ1ðo2à .,ÃW-ÀB&Ã0´1ü1Ãph.Ãà+ÃÐv)à ".ÃP»(àã-ÃÀÆ*Ãà‘+ö2ÃÀÌ)ÃN5ÃZ3Ãà+à 0à ™/À•-Ã0[+ÃÀ¨/À0)Ã0Ò,Ã@|,Ã`Ð+Ãà+ÃÀ¨/Ã0º0àé,Ã3/À.à ±+ÃÐÕ.ÃÀ7-ÃÀ1.Ãà*Ãp\0À-ÃP‘/ÃPü2Ãà-ð-ÃpÁ4ðu1Ãp÷+À¡+à 0ÃÐí*Ãð/-ÃP1Ã@#&Ã@X2ÃP—.ÃP‘/À§*ÃÐ^-Ãàm1ÃÀ3ÃP/àé,àï+Ãï/à ¥-ÃÐ@2Ãph.Ãð).ð“,Ãð /Ã`/1Ãб4Ãp(ÃÀ=,ÃÐÛ-Ã3/ð{0Ã,ÃP‹0ö.àã-À.Ã0O-Ã,À**Ä,Ã`;/Ãð1Ãpë-Ãàm1ÃP -Ã0®2ðø0ê0Ã@^1ÃB7ÃàU5ÃpÇ3àT0Ã0¢4Ã`¾.Àq3Ãð”1À /àl,Ãp>5ðu1à þ3ÃPê5Ãðó6ÃÀé9à;ÃpÓ1ÃÐ.5Ã0¨3Ã0r<Ã0Ý?ÃPÆ;Ã@L4ÃÐ¥6ðK8ÃðX;ÃðX;Ã09ÃPÞ7ÃÀ`;à E=Ã05ÃðÕ;ðÂ9à›9Ã`8Ã0–6Ãp£9ÃÀl9Ãà=9ù8ðQ7ð]5Àw2Ã0œ5Ãðá9ÃPÀ<ÃÀ×<Ø7Ã8ð°<ÃàÞ3Ãðó6Ã@.9à Î;ÃkEÃðó6ÃðL=ðž?Ã`ó:Ãðd9ÃPÞ7ðÈ8ü1À1ÃPÆ;Ã’8Ãà7:ðÈ8ðQ7Ãp»5ÃàU5à›9ÃÑ4ÃàO6À7Ã07Ãt9ÃàÀ8à§7ÃГ9Ãз3Ã`Ž6Ã`ÿ8ðà4Ã0Ò,ðW6À}1ÃpD4ÀÊ9À;<Ãà®;Ã<8Ã`í;ðÂ9Æ6Ãà%=à u5ÀG:Ãp£9àB3í:À¾;Ã@·7Ã@¥:Ãp,8Ãp¯7ÃpÁ4Ã@F5ÃàÆ7ÃPI;ÃðÛ:Ã@";Ãpµ6À;<Àe5ÃÐ(6ÃÐ{=Àâ5Ã06à>ðà4Ãðí7Ã@>à•:à¿3Ãð|5ÃÅ6à o6Ã0û:Ã`8À¾;Ã@™<ÃðF>Ã5Ãз3ð3<Ã@æDÃb<ÀY7à -AÃà AÃ>BÃà?à ]9ÃðÛ:à žCÃ2Dð€DÃP–CÃ`:DÃÐEFÃ8CÃà„BÃÀ0CÃP%AÃå;ÃÐKEà¾HÃà×IÃ@QHÃð¥Cð†CÃPxHÃÀHÃÐÈEÃÀ×<ÃpÞDÃeFðnGàî@ðzEÃðÕ;ÃÓ>ÃîDÃÐQDà †GÃ@ìCÃ`JÃ0$Ià5JÃ0Ã`ÃBÃÀÅ?à Â=Ã2DÉ@Ãð·@Ã@cEÃà×IÃÐÔCÀŽCÃàrEàâBðtFÃPBÀEÃà~Càî@àGGÃð™Eà ªAÀ @ÃÐÚBÃP¨@Ã0`?Ãà„BÃðF>Ãà~Cà žCàÊFÃP¢AÀŽCÃ?Ãð·@ÃpIHÃÐWCð!?ÃÐcAà !CÃÀ¡EÃÐWCÃð±AÃÐWCÃ0­Gà hLà GÃPŠEÃðF>ðAÃ06FÃ`FBð†Cà FàâBÃÀ`;Ã>FàèAÃÇ@Ã@þ@ÃP„Fà DÃAÃÀ­CÃ0`?Ãh;Ã0x;Ã0:Ãà–?ð9;Ãà–?ûBÃàÝHÃ}BÃ`R@Ã0ÑAÃ`:DÃqDÃ?ÃPFÃÀB@ÃJDÃ0ã>Ã&FÃPº=ÃPI;Ã`Û>Ã`@CÃðX;Æ:Ã09ðž?ÃÀ§DÃ`Õ?Ãn:ÃÐæ@Ã`±Eàî@Ã=ÃðR<Ãðù5Ã0f>ÃàlFÃ2HÃV>ÃÐ:ÃJDÃÀGðŒBÃpäCÃp£9ÃÀÑ=Ãð·@Ãp‹=ÃÀT=Ãp>ÃÀ­Cà FÃÐ]BÃ,EÃp‘<ÃÐ<Ã0x;à>ÃPC<ÃPÌ:Ã0û:ÃPº=Ã`X?ÃÐcAÀBÃPBð¤>ÃÀÑ=Ã`‚8Ã@@ÃÀÝ;Ã@™<ÃP1?Ãý;Ã`R@ÃPI;à:Ã`v:ÃÐ9Ãðç8Ã0Z@ÃÐæ@Ã0r<ðÂ9ÃÀ×<ÃPº=Ã`p;Ãb<Ã`‚8Ã>BÃ0x;à;Ã@ ?Ãð½?à W:Ã@™<ÃðF>í:ð¶;À5=Ãp=à*7à›9ÃÀÝ;À;<Ãß<Ãð½?ÃÐì?Ãý;Ã@48Ãð^:Ãà1;àú>Ã0Z@ÃðÕ;Ã0û:Ã09Ã\=Ã@þ@Ãp>ÃÀÝ;Ã0~:ÃPCÃ0Ý?à Ô:Ãà=9ÀS8Û=ó9ÃÀ×<à @ÃÀé9Ãðd9ÃÐ{=ÃðÉ=Ã`Ï@Ã`^>ÃPÒ9Ã0õ;ð˜@Ãb<ÀEÃŒ9ÃÐo?Ã` 7Ãðj8à ?>Ãp—;Ã$<Ã@:7ÃÀf:Ãà%=ÃÐ:ÃÀÃ@@Ã@‡?à <à à8Ã07Ã@=Ãñ9Ã`ç<à È<ÃPBÃðj8Ãðj8Ãå;ÃÀ~6ð'>Ã`ÿ8à¡8á<Ãàœ>à>Ãå;ÀY7Ã0é=ðà4Ãz8Ãà¨<àî@Ã`ÿ8Õ>ÃÐø=à}>Ã÷<ÃðÉ=ÃàÞ3Ãð‚4Ãå;ÃPÆ;ÃÐ<Æ6Ã0Š8Ã0ã>à <Ãñ9Ãà=9Ãà´:À;<à:ÃPÌ:Û=àÅ2ÀG:à•:Ã0Z@à;Ã`ˆ7Ãë:Ãà%=ÃÙ=Ã0ËBÀ;<à K<ÃðÕ;ÃPê5ðÎ7ð9;Ãà´:Ã@ ?í:à ]9ÃàC8Ã`4Ãà[4Ã`6ÃPÆ;ÃàÀ8Ãpµ6Ã`j<Ã?ÃàC8à i7à W:ÀY7À5=Ã@¥:Ã!2ði3ÃB7à c8ÃàÀ8Ãð2ÀÖ7ÃГ9ÃðF>ÃÀ 4ÃÀõ7Ãp<ÃÀã:Ãt9Ã@.9ÃN5ÃPy3ÃÀé9Ãà7:à à8Ã`8à Î;Ãz<ÃP7>Ãn:à§7Ã09ÃÀÝ;Ãp86ðì2ðì2ÃPü2Ã07Ã`Õ?ÃPC<ÃÙ=Ãp:ÃÐá,ÃÐ.5Ã`á=À¸<Ã`8ÃË5ö.ðQ7ðW6ðÈ8ÃðÛ:à æ7Ãð1ÃPØ8ÃàI7ð]5Ã9Ã`/1Ãp©8Ã`‚8ÃÀ 4Ã07Ãн2ÃPs4Ãà[4Ãðp7ÃPØ8à65ÃÀ¢0ÃÀ¢0ÃП7ÃÀl9ÃPÞ7Ã×3ðÎ7ù8ù8Ã07Ã0r<Ãà[4Ãàê1Ãðj8Ãp86ðÔ6ÃPä6Ã09ÃÀr8ÃÀf:Ã@½6ÃÀf:Ãàg2ÃB7à§7ÀÖ7Ã@48à þ3Ã`)2Ãp&9ð¼:Ã0:ðà4ð/ÃÀ„5Ã0I.Ãðd9ÃÀ¢0Ãàa3Ã`5ÃpJ3Ãðv6Ãðá9Ã7ÃÐ44ÀA;Ã’4Ã0:À‰/Ãp27à ì6ðÔ6ÃÐF1Àe5ÃÅ6Ã`”5ó9à¿3à ì6Ã0:ÃЇ;Àe5À;<Ãàä2ÃàÒ5ÃàÀ8ÃZ3ðo2ÃP1ÃpÇ3ÃPÒ9ÀÖ7à ì6ä5Ã@«9ÃÐ8ÃV>Ãà¢=ù8à³5ÃàÆ7ð]5ÃpÁ4ÃÐ¥6ðæ3àË1ÃÅ6ÀÄ:ÃÀõ7ÃÀ5ÃÀ1ðK8ðÚ5àÝ.ÃÀ3Ãðd9Ãå;ÃÀ¢0Ã’4À¸<Ãð4à à8à³5Ã<8ü1Ãp\0Ã0¢4ÃÐÃ1ÃàÌ6ö2Ã@d0Ã3Ã`”5ÃpÇ3À.Ãð1ÃÂ0Ã07ÃPê5Ã7ÃÝ2À;<Æ6Ã@Ï3Ãð^:Ã@±8Ã0+3ÃÀ–2à æ7ðà4ÃÀ¢0ÃÀ2Ã07ÃÀŠ4Ãz8Ãð‚4à 3ÃpÓ1ÃP1ðÎ7ÃZ3Ãðó6Ã`ˆ7Ã33Ã0C/Ã@ *àT0ÃÐ9ÃPö3À7Ã`¾.ÃK/Ãp¯7ÃpÓ1Ã@ó-Ãã1Ã@±8Ãàa3à ò5ÃàC8Ã` 3ÃÀ3Àâ5Ãðš0Àk4ÃpÓ1ü1Ã69ÃK/Ã0=0ÃÂ0Ãð¸+Ã0–6Æ6Ã`¦2Ãà-Ã`50ÃÀ¨/ÃÀ3Ãб4Ã0é=Ã012ÃÑ4ðu1ÃpÇ3À_6ð‡.ÃÈ/Ãà´:ÃpJ3Ã` 7ÀS8Ã0C/Ã'1ÃB7Ãp;Ã@48Ãð4ðø0Ã`ˆ7Ãpß/ð-Àî3Ã09ÃP…1Ãñ9Ãp :Àî3Ã`š4Æ6Ã`‚8Ã06à i7Àk4À_6Ãà-ÃÀû6Ãà+<ðK8ÿ7Àî3ÀM9Þ6ÀÖ7Ã@X2Ã?1Ãp\0àÝ.Ãpß/à 1Ãã1Ã`#3ÃÀ5Ã`/1ð'>à °@Ã@±8Ãàg2ÀÖ7ðø0Ãн2Ã×3À-ÃÐ:3ù8Ø3ÃH6à {4ÃP‹0à 1Ø3À•-à /Ã;à›9ÃPy3Ã06ÃÀx7ðÂ9Ã0:Ãðù5Ã` 3ÀÄ:ÃÀx7Ã`”5à ì6Ã0I.Ã@@6Ãðp7Ã!2Ãð 3Ã@É4Àe5Ãà´:ÃàÆ7ÃП7Ãðù5Ã@É4ÃÀ1Ã0´1ÃàÀ8Ã@";Ãðd9Ã@@6àB3à³5Ãð 3ÃPm5Ã012ÃPö3Ãp>5à i7Ã÷<ðæ3à›9ÀÜ6Ã69à Ú9Ø3Ãpß/Ã÷8ÃàI7ù8Ãpë-Ã0¢4ÿ7ç;À¾;ÃðŽ2ÃÀ–2Ã@L4ê0ÃÀÝ;Ãàa3ÃГ9ÃPO:Ãà¨<Ã0„9ÃàI7ÃÀ1.ÃZ3Ø3Ã`5ÃP.ÃÀ1.ðø0ÃàØ4à ò5ðà4ÃPÞ7Ã<8Þ2Ãб4ÃÐX.ÃP0Ãб4ðà4ÃÐ9Ãp\0Ã0œ5à ò5Æ6Ãp©8à Ô:Ãl0Ã` 7ðÂ9ÃÝ2Ã;Ã`4Ã`6ðø0à à8Ãðˆ3Ãðv6Ã07Ãð¬-Ãð4Ãàa3Ãð1Ãà=9ð/Ã@±8ÃÀ`;Ãðó6Ãð‚4Ãðó6Ãà[4Ãз3Ãï/ÃH6à¹4Ã0~:Ø7ð-à i7ÃN5Ãà[4ÃÐ(6Ã0®2Ãpn-ð/Ã`5ö2ÃQ.ÃPê5Þ2Ãðp7à 2à (-Ã0º0à ò5Ã!6Ãà=9Ãðv6Ã`G-à 3ÃË5Ãð /ÃÀ3ÃP2àN1Ãðš0ÃŒ5à ‡2Ãð¬-Ã`/1Ã0®2à “0ÃÀ 4Ã0C/Ã0%4Ã0%4ÃÐ.5Ãàü.Ãp€*Ã@Û1ÃPs4ÃE0Ãpå.Ã`2Ã?1À‰/ÃT4Ã@Õ2ÃÀ´-ê0àZ/à 3Ãpå.Ã@ç/Ãà…-ÃPö3Ãðá9ÃÀ 4à 1àx*Ãl0Ã’4Ãб4Ã<8Æ6à Ÿ.ÃÐÉ0Ãðÿ4Ã3/À§*Ãàs0Ãpå.àÅ2ÃÑ4ÃÐ9Ãp»5ð{0Ãf1Ãðš0ÃPg6Ã@ÿ+à ‡2à 3Ã0U,ðò1ðÎ7ÃÐ44àZ/ÃÐÉ0ÃPð4à “0à ™/ÃÐ¥6ÃPU9ÃPØ8ðc4Ãx.Ã`²0Ãà[4Ã’4à¹4ê4À_6Ã`²0àx*Àw2ðÚ5À•-Ãp27Ã`2Ãû-à 1ÃÐX.Ãà.À‰/Ãàö/Ãð‚4à «,à:ÃZ3Ã@p.ÃÈ/ð¥)Ã@ *ÃðÏ<Ã`#3Ãð2Ãàö/Ã@ù,ÃÂ,à Ÿ.Ãð1Ã`¦2à (-Ãpå.ÃP‹0ð‡.à 1À7ÃÂ,Ã` 3à ò5ÃÝ2à ·*à`.à ™/ÃP¯*ÃÐv)Ã@v-Ãб4Ã@^1à /Ã@^1àB3ÃÀ–2Ãðù5à 6à Ï&À$+Ã-à «,Ã%'Ãé0ÃÐR/ÃP—.Ãà‘+Ã@p.Ãð#/Ã`è'ÃÂ,Ã`A.ÃP&,ÃÀ1.ÃpŒ(Ã`G-Ãð‚4Ãз3ÃÐÃ1Ã*ð,Ã`2Àƒ0à 3ÃÐp*Ãð4Ã0¨3Ã`²0ÃP/à 0à ·*Ã@í.ÃP-Ã`Ö*Ã@Ž)ÃÂ0Ã@^1àõ*ê0ÃP-ÃÈ/Ã@+àÑ0ê0Ã9.Ãà )ðþ/Ã`Ð+Ãð”1Ã07ðc4ðª=àMFÃ0f>Ãý7ÃàC8ÃÀ3Ø7Ã`ÿ8Ã09ÃÐç+à$Ãp(Ã0%Ãày/Ãð‚4ÃpÍ2à³5ÃPU9Ãðù5ÃP2Ãàs0Ã@ç/àË1Ãð¾*Ã9.à @)Ãàs0àB3ÃPm5Ã@í.àZ/Ã@ÿ+Ã`A.ÃpÍ2Ã`/1Ã0–6ÃÀ5Ã3Ã@ˆ*Ã@L4ÃP&,Ã9.Ãð;+Ê+Ãð¦.àÝ.à×/àï+ü-ÃP1Ã'1ÃW-ðþ/ÃpÙ0Ã0Ì-ÃE,À¹'ÃK+ÃÐç+Ã3ÃP‘/ð‡.àÑ0ÃP…1Ãðš0ÃÀ3Ã` 3à (-À.ÃЫ5Ã×3ÃÐL0à þ3Ã0Þ*ÃÐŽ%Ãð²,Ã@p.ÃpP2ð-ÃÂ,Ã4ÃÀ3ð{0à¹4Ã'5ÃÐX.Ãð/-ÃP.Ã`¸/ÃpP2ÃÀ1Ã?1Ãàê1à ò5Ã@É4ÃðY&ÃÀÀ+Ã`A.Ãp>5ðo2ÃPä6Ã0%4Ã`Ü)à 3ÃPs4Àw2ÃÀ3Ã0C/Ãð0ÃÀœ1Ã33à06ÃpD4Ã`¦2àT0Ã@·7Ãð²,Ã@:7Ã@Û1ä1Ãàs0ÃPö3ÃÐí*Ãp†)à ±+Ãð”1Ãpå.à 0Ãðÿ4à³5Ã@ç/ÃÐd,àZ/ÃÀ´-à 1ÃpÓ1À-Ãð).ÃP‹0À•-Ãàê1ÃP/Ã`S+Ã0¢4à×/À0Ã0=0Ã@Ï3ÃpV1ðc4à ¥-Ã@Û1ð+Ã`Ü)ÃÐÛ-À /ð3Ã0=0Ã`Ê,ð"*à (-ÃP1à @)À-ÃÂ,àË1Ã0Æ.ê0Ã@ù,ÃÝ2À.à 1ÃP…1Ã@j/à ‡2ðþ/Ã`4Ãàm1ÃÀ1.À0Ã0¨3ð-=ÃÂ0à`.ÃÐÏ/Ã0Þ*Àe5àã-ÃÀº,Ãð¬-Ã0C/Ãph.Ãà+À0Ã0º0ÃpD4àÝ.Ã`²0Ã06à¹4ÃPö3ÃP-À.ÃÎ*à L'ÃÈ/ö.Ã@^1À‰/ÃPy3ÃP/À­)à :*à~)àœ$ÃÝ2Ã`/1ÃÐ^-Ãr/àÑ0Ã-Ãõ.ðþ/ðþ/Ã`Ä-ÃÐ44àH2ÃK+ðì2ÃP»(Ãð#/àã-Àè4Ã@X2Ã0C/ÃÀ%0ÃÀx7ÃÀ1Ã×3Ãp )ÃÀ2ÃÐÃ1ÃPê5Ãàö/ÃÐù(Ãpý*Ãàü.Ãà…-ÃÀ®.àZ/Ã0[+ÃP‘/Ãr/Ãï/Ã0%4Ã`2Ã0À/Ê+ð3ê4Ãð”1À-ö.à +ÃÐÕ.Ã`#3ÃÐ¥6Ãð2ÃÀ2ðì2ðì2ð .àr+Ãð5,ê4Ã`¬1Ã@p.ð]5Ã`#3ö2ÃpÙ0Ã012ÃE,à .,ÃpŒ(ÃPÍ%ÃÐj+Ã0x;à ø4Ãð¬-ÃÐÉ0Ã`/1Ã3/ðì2ðì2ÃpŒ(ÃÐç+Ãàü.Ã`¾.ÃÐL0ÃpÇ3ðo2Ãp\0ÃZ3ÃÎ.ÃÀU(à (-ÃÐá,Ã!2ÃÀ1à «,ÃÀ3ÃPö3Ã7Ãý7Ãð /Ãpå.ÃàU5ÃÀ~6Ã)Ãpñ,Ã@p.Ãi*ÃÀÌ)ÃPm5Ãà,Ã0ê(Ã0=0à ¥-ÃÐj+àZ/ðò1Ã@Õ2ð-Ãàä2Ãf1Ã06Ãû-à Ÿ.Þ2Ã`50Ãph.ÃÐ:3ÃÀ¢0àË1Ã`6ÃÈ/Ã0º0Ãð/-ðÔ6ÃPs4Ãp )ÃÀ=,ÃÚ,Ã` 3Àq3ÃÀ¢0Ã0º0ð{0Ã~-Ãpý*ð/Ãf1Àú1ÃpÍ2Ã`Ð+Ãð#/à 2Ã`;/À.Ã'1àH2ü-Àƒ0Ãc+Ã`”5ÀS8Ã`/1à ™/Ã'1ÃpD4àT0ÃÐ^-ÃÐ@2à “0ÃpP2Ãày/Ã@d0Ã@á0ðo2Ãp*ÃÐL0Ãã1Ã0a*Ã5Ã@ó-Ã@X2Ã@R3ÃK/Ã~-Ãpë-àÑ0ÃÐ:3à ™/Ã0+3Ã0g)Ã`_)Ã9.ðc4Ã!2ÃÀ2Ã071ÃÔ)Ãà…-ÃÝ2Ã4ð+Ãà…-Ã`;/Ãà=9ö.ÃÐÉ0ð™+Ã0U,Ãà…-àH2ÃP1ê4Ã?-Ã0ä)Ãf1ÃP/Ã`e(Ã@ç/Ã3/ÃÚ,Ã012à þ3Ã`M,Ãàa3Ãà-Ã0®2Ã`50à ì6Ã` 3àl,ðò1Ã0TAÃPØ8Ãb<ð/àÝ.ðc4Àè4Ã@R3ð,À_6à 1Ã0C/ÃÀ~6àï+Ã07ù8ÃàÞ3Ê+Àƒ0Ã33Ã` 3Ã`50Ã`M,Ã`¾.Ã@Û1Ã~-ÃÀŠ4à¿3ÃÐÃ1Ãû-ÃÐá,Ã~-Ãðš0à ø4Ãð1Ã0®2Ãp£9Ã` 3à ì6À.Ã`/1Ãï/Ã0®2à “0Ãà>í:Ãàa3à 2ÃÈ/Ãð /Ã`ó:Ãt9ÃÀ1àH2Ã4Ãð/-ÃP—.à {4ÃpV1Ã’8ÃÀ6Ã`50à ".ÃË5Ãà+Ã92ð]5à*7Ãõ.ÃE,ÃP…1à¹4à 1à «,Àú1ÃЫ5ÃÑ4ÃП7Ã9Ãàð0Ã05Ãàê1ÃPs4Ãt9Ãàü.Àw2Ã3Ã07Ã×3Ã*Ã0[+ÃàU5Ãðp7à {4ÃÐL0ÃP/ÃPð4ÃÅ6ÃÀ2à65ÃÐ@2ÃÐ:3ÃP2ÃÐÕ.Þ2ÃpÓ1Ã`Ä-Ãàð0Ãð²,ÃpÓ1ÃЫ5Ãl0Ãз3Ãà-à 2Ã'1Ã!2Ã`¬1Ãõ.Ãpë-ÃÐÃ1À0à ì6Ãð”1Ã0%4ÃàU5Ãày/ê4Ã5Ã@í.ÃZ3ðà4ÃàÒ5Ãz8Ã@í.ÃpP2ÃÐÃ1Ãp©8à§7ðø0Àî3Ãl0ÃK/ÃÀ1Ãàä2Ãð#/Ãày/Ã0¢4À•-Ãõ.Ãõ.Ãà+Ãï/Ãðá9à 6ðo2ÃÐá,Ãà-àÑ0Ã`6ö2Ã@ÿ+ÃÎ.ði3À**Ãà+à<4Ã-4ÃP1Ã`¦2ÃÝ2Ã0Ì-Àw2àH2Ã0œ5ÃÐÃ1Ã’8Àq3Ã`50àf-Àw2à /Ãpn-ÃP©+ÃÐÏ/À}1ðø0à 6àT0à 4+Ãpb/à06Ãàê1ÃÀœ1ÃàU5Ã4Ãàö/Ãx.ÃÀ1.Ã'1Ãðš0ð"*Ü(ðø0À,àB3Ãà…-Ã0a*Ãàö/ÃÅ6ÃÈ/Ã@á0Ãð2ðò1à þ3Ã*ÃpÓ1Ãð0Ã@p.Ã@á0À•-ÃP&,Ãpë-ÃÈ/ÃPm5ÃK+àã-Ã`¦2Àq3àË1ÃÎ.à 0Àô2Ãð5,Ã8ÃpÍ2ÃÎ.À§*à F(Ã~-Ãpn-Ã@í.à /ÃðA*ðæ3ði3À_6Ãð”1Àƒ0ðŸ*ÃÀ–2ðu1ð+ÃÎ.Ã`¬1ð]5à 2à ·*ð .Ã’4Ã0¨3ê4ðÔ6Ã`Ü)Ãàä2à ¥-Ãðj8ÃÀœ1ÃQ*Ã`²0Ã@ó-Ã@v-Ãé0ÃÀ+/à á#ÃÐÕ.à (-Ãà*Ãpå.Ã33À_6àB3Ãàä2Ã`¾.Ã@j/ö2Ãàê1Ãàs0ÃK/Ã0C/Ã@á0à /ÃpÓ1à “0Ã@á0ði3à 1Ãð1à ".Ã@p.ÃÐL0Ãpå.Àk4ÃpÍ2ÃP.Ãã1ÃK/Ã@R3Ãðd9ÃÀ1.ÃK/ÃÀõ7ÃPÌ:ÃPê5àË1ÃàØ4à*7ÃpÇ3Ãà.ÃW-ÃÀ–2ÃPg6Ãàê1à³5Ãàê1ÃÀ3ÃÝ2à 1ÃÀ¨/Ã’4Ã`/1Ãp86À_6ð‡.à (-ÃË5ÃÀ~6Ã0¢4ð/àÑ0ð/àÝ.À1À_6à9ÃÔ-ÃàÞ3ÃÀ®.ðà4ÃÐÃ1à›9ÃÀ2Ãð#/Ã0û:ÃPð4Ãà-Ã0¢4ÀÊ9Ã`¦2Àq3Ãð2à 3ðo2Ã@j/ÃÐ@2À}1ÃЫ5Ãàa3Ã`4ÃpÙ0Ãp86ÃPy3Ãð0ÃàÞ3Ãàa3ÃÀ7-ÃZ3à i7ÃPÞ7àH2Ã`”5ê0Ãé0Ãàä2ÃÀ5Ãpß/À.Ã`/1Ãн2ðÔ6À7Ã` 7Ã],ÃÐÃ1Ãà…-ÃpÁ4ü1ÃPö3Ã7Ãðÿ4àÅ2Ãð|5Ãð4ÃÀ~6Ã@½6Ãàa3ÃÀ®.Ãpb/ÃP1ÃÐÉ0ð]5Ãð1Ã0O-ÃE0Ã@F5ÃÐ<Ã0C/ÃЙ8Ã!6ÃPÞ7ù8Ãð2ð/Ãp©8Ã`)2Ãp27Ã7ÃP‹0ÃÐ44Ã@R3ÃÐ<ÃÀŠ4à:à 3Ã@:7Ãï/àÑ0Ã@F5ÃË5à o6Ãý7ÃPm5ÃàU5à<4ÃÀ%0Ã0 8Ãð‚4Ø3Ã0=0ÃB7Ã0é=àã-Ãp¯7ÀY7Ã7ÃPO:ÃÀ 4ðW6ÃГ9ÃÝ2Ã@É4Ã3ÃÐF1ÃЫ5Ã07ÃPê5ð?:Ã<8ÃÀû6ÿ7ÃÑ4Àî3à×/Ã0¢4Ã` 3Ã`)2ÃN5Ã@:7Ãë:ÃPs4Ã07àN1ê4ÃÐÉ0Ãpµ6ÃàO6Ã!2ÃPs4Ã071Ãð‚4ÃÀ+/Ã`4à×/ÃPü2ÃPm5ÃPð4ðò1ð/Ãé0ði3Ã0:À_6Ãб4Ã@X2à 6Ãàm1Ã0¨3Ã0®2ÃB7Ã92à /Ã@ç/ÃE0ÀY7à ì6Ã`Ž6Àâ5Ã`”5ÃðŽ2à 4+ÃÐÃ1ÀÖ7Ã`2Àú1Àw2ÃpÓ1ðæ3ÃpD4Ã@F5à 3à¿3Ã-4ÃT4à­6à9à “0ÃÐ:3ÃP2ðò1ð/Ãðš0Ãx.Ã`S+ðì2à ™/ÃÀœ1ÃÀõ7Ã0%4ÃpÍ2Ø3ê0ÃÐ:3à¹4Ã`8ðò1Ã×3Ã4ðu1Ã`X?ÃË5ÃðÐ'ÃÀŠ4Àw2Ã` 7Ãl0à ¥-ÃP1à¹4àT0Ã@j/Ã@ó-Ã3ðÔ6ÃÐ(6ÃŒ5ðà4ðþ/Àô2à 2Ã`5ÀY7Ãð4Ã012Ãã1ÃPü2Ã-0Ã0º0ÃÐ"7Ãý7Ãð4ÃP‘/Ã0=0Ã`¸/àH2ÃpV1Ã0À/Ã05ÃÀ–2ÃÀ+/Àâ5Ã` 3Ã0 8Ãàg2àÅ2Ãàg2ði3Ãðó6Ãf1ÃГ9Ã0À/ÃpP2à þ3Ãð¦.ðE9à­6ÃpÁ4ÃP[8ÃpP2Ã@d0ÃZ3ÃPð4Àk4Ã×3Ã0œ5ðÚ5à 1Ãð /à 2ÃÂ0Ãph.Ã`50Ã'1Ã@·7ÃPö3à {4ÃÐ:3àN1àB3ü1Ãðv6ÃQ.ÃàU5Ã@ç/Ã!6Ã05Ã0–6Ã0®2ÀÐ8ç;ÃÀr8à<4Ãð 3àÑ0à¹4ÃPg6àT0ÃP/Ã'5Ã`Ö*ÃPü2Ã'1à<4ðÔ6Ã0œ5Ã`”5ÃP2À§*ÃÐd,ÃpP2ðc4Ã0¢4Ã0Š8àB3Ã`¬1Ã`¬1ÃðŽ2ä5Ã0´1Ãpn-à i7Ã`Ž6Ã`/1à ".Ãp©8àB3ÃP‘/ÃPg6àÑ0Ã`²0à×/ð?:ð?:ÃÀû6à Ú9Ãàð0ÃÐ¥6ÃPg6ÃpÁ4Ã`Ž6ÃàO6Ã@Ã5Ã@j/Àw2à 0Ã@·7Ã@Ÿ;Ãpµ6Ã`¬1Ãp>5Ãp:ÃÐ:Ã` 3Ãà@Ãà7:Ãý7ÃÀf:à•:àƒ=Ã09Ã` 7ðÈ8Ãh?Ã`Õ?ÃN5Ã0Š8ÃðÛ:à ?>à ¤Bç;ÃP´>Ãà AÃÀ¿@ÃÀË>à <Ã?Ãð½?ÃÐò>Ã0¿DÃàéFÃà AÃà¨<À¦?Ãð:@Ãà@Ã0Ý?ÃÐi@ÃÓBÃÀ¿@ÃPCÃÀ6BÃÐ!LÃÀ*DÃðìLÃÁEÃ&FÃ@ÂJÃÀ IéIÃð™EÀCÃжHÃp[EÃ@øAÃðiMðJMÃÀ•GÃàTJÀ½PÃ`Kà5JïDÃp=JÃêOÃ0èRÃðoLÃ`4EðhHÃ06FÃ2HÃpÆHà ñJÃðÎQà GÃ@ÎHÀvGà hLÀÕLÃ0NðÁNÃ@QÃ0}OÀÕLÃ;MÃpIHÃ00Gà zIÃ#QþLðDNÃ@ TÃplWð¯QÃ`{NÃyM×LðÇMà ÷Ià €HðhHÃàÑJÃ0$IÃP×MÃMÃàfGÃp+Mà VOÃ`JÃðQQÃÀYQÃ`IÃ@¼KÃ0¡IðµPÀ«SÃðæMÃp´KÃ`ÂWÃð'Xà tJÃ`oPÃPfKÃИMÃüLà 2UÃÞQÃÐOÃPéJÃ0LòNÃ0›JÃà*QÃðøJà#MÃÐOÃSÃIÃðuKÃ0 MÃÀkNàˆQÃ@žPÃ`þMà”OÃÀÜPÃmSÃÐOÃ#Qà ©VÃ`òOÃöQà ëKÃpQðÁNÃðIÃðIÃ`øNÃðìLÃ;MÃ0ôPôXÃ@˜QÃà$RÃpÒFÃPÅPÃðcNðPLàNÃPfKÃ@ÎHà¬KàŽPÃà6OÃ`Jà#MÃÀeOËNÃÀ_PÃPÅPÃp RÃ`™IÃÐ’NÃ5NÃALðåHÃЪJÃIÃ0LðµPÃÐ'KðVKÃ@EJÃà³OÃüLÃpÆHÃðuKÀXLÃàNKàOÃàÝHÃRÃÌTÃ@?KÃÀ¡Eà ÓOïHÃPrIÑMÃðoLÃÀGÃÀHÃðøJà²JÃ@øAÃJDÃàà ˜Dà FÃ`FBÃß@ÃPfKÃð.BÃð¥CÃ0Z@ÃÐu>ÃpäCÃð@?Ãð:@ÃÐo?Ã`”5ÀAÃ0ËBÃÇ@àw?à È<ÃÀN>Ãð.BÃÐø=ÃàBðDÃ`·DÃP+@ð¤>Ã@øAð˜@ÃÐi@à 3@Ã@iDà ªAÀ @Ãp:ð-=Ã`ÃBÃÇ@Ãðá9ðª=ÃðÏ<À#@ÃDAÃà¢=Ãpy@ÃP+@Ãp&9ÀˆDÃ0Z@ÃÐø=ð'>Ã*;à 3@Ã7ÃP+@ÃwCà -AûBÃ0é=À#@Ãp :Ã>ÃP®?ÃP®?Ãð.BÃ0`?àƒ=Ã`FBÃP1?Ã`FBÃ@.9à @À#@Ã0Z@àî@àô?ÀÊ9Ã0Š8Ã}BÃ`j<Ã0r<Ãp?Ã`d=ð!?Ã=àq@à 3@Ãð«BÃp?Ãb@Ãà¢=à Î;à Â=À²=Ã`d=Ã0TAðE9àw?Ã09à›9ÃV>Ãà+<Ã@{Aó9Ã@(:Ã@ ?àeBà c8ÃðÃ>Ãàœ>Ãp;Ã0:Ãðá9Ã@";ÃÀf:Ã’8à :Ã@:7Ãt9ÃP®?à 9?à ò5ÃÐ9ÃðF>Ãp,8À7ÃÀr8Ã8Ã0`?Ãð:@à Q;ÃðF>à‰<à Â=Ã0õ;Ãð«BÃ`ÃBÃÀË>Ãp?à ªAÃPC<ÃðÛ:à @Ã0x;Ãpü?ÃÀé9ÃÐ:Ã@48Ã`j<Ã0:Ã`Ž6àw?Ã`ù9ÃpÁ4ÃPØ8à ?>à65à ø4Ã`ÿ8Ã0é=Ãð:@ÃГ9Ã` 7Ã07Ãp?À7Ã` 7Ã@¥:àƒ=Ã@>ÃÀï8Ã0:à E=í:Ãðj8ÀÐ8Ãp©8Ã7Ã0`?Ã<8ÃPg6ÃÐþ<Ã0û:Ã!6Ãð"DÃÀr8ÀM9Ãh;ÃÐ¥6à*7Ãà¨<Ãð^:Ã5Ãð0Ã@F5ÀM9ð¶;à È<Ãý;ÃPO:Ã0~:Ãà[4Ã`6ðE9Ãp=Ã@>Ã7Ãàº9ÃPa7ÃÀõ7ÃP[8Ã8ÃPö3ð3ÃÐ(6ÃPC<ÃÀT=Ã@=Ã`”5ÃÐ.5à þ3à W:À)?Ã`ÿ8Ã@48Ã`‚8Ã0~:àH2ÃpÁ4Ã07Ã@48ÃàC8Ã@Ã5ÃàÒ5Ãðá9Ã0ã>Ã7ÃÀû6Ãðí7ÃPü2Ãàä2Ãpµ6Ã@";à i7Àî3Àô2Ã012à¡8ÃpD4Ã÷8ð]5Ãðd9ÃÐ:Ã@™<Ã05Ãz8Ã`ÿ8à65à¿3Ã`¦2Ã4Ãï/Ãðù5ÃàI7ð3Ã0„9ó9Ãp©8à Ô:à<4Ã×3Ã`^>É@ÃÀZ<ÃàÌ6à­6ÃÐ44Ã`Ž6ÃàÌ6à 1Ã@«9Ãð‚4À0ÃÑ4ÃÀû6Ãp,8Ãà[4ÃPg6ÃP[8Ãp86Ãð|5ÃÀ3ðà4Ãp27ÃŒ5Ã'1Ã0+3ÃÀ–2Ãð”1Ã×3ÃÐ@2Ã@R3Ã@F5Ãz8Ã@^1ÃP0Ãàð0ÃÐ@2Ã0´1ÃpÇ3ÃÐ.5Ãp&9ÃpD4ÃPö3ÃÀ~6Ã0œ5Ãðó6Ø3Ã`”5Ã@R3ÃÐÏ/Ã0f>ÃH6à³5ðc4ðÎ7àÑ0Ã`4Ã`5Ã0~:Ãpµ6Ã`6à*7ði3Ãàê1Ãpt,ü-Ãàä2à “0Ãàs0Ãðá9ðÎ7Ãð¦.à /Ã`ˆ7ÃÐ44ð]5ð]5Ãpë-ÃЫ5Ãà[4Ã` 3ðø0ÃPs4Ãð1àË1Ã9.Àw2ÀA;Ã@R3Àk4Ãàö/Àè4ÃÀ5ÃP/ÃW-ÃPä6ÃP‹0Ã012Ã!2ð/Ã07Ã071Ãð).Ãà—*à 4+ÃÐ^-Ãà.Ã0®2ÃÐR/ÃP‹0Ã0À/Ãð1Ã0 8ÃPð4À.Àw2À¡+ÃÐ &Ä,ÃÀ+/Ã@ç/ÃPÇ&à +Ãû-ÃÎ.Ã@^1ÃÐÉ0ÃpV1ÃP1à “0ÃP1Ã`”5à «,Ã`Ê,Ã0´1Þ2Ã3Ã`;/à×/ÃÐÕ.à ¥-Ã@ù,ÃÀC+Ãp€*Ã0Æ.Ãð²,Ã0+3Ã@Õ2ð,à 0ÃP¯*Ãé0ÃP -ÃÐÛ-Ãð1ÃÐá,À /ÃÀI*à×/Ã012ö.ÃÀU(ÃP2*ð/à 1ÃP…1Ã0ê(Ãð¬-Ã@ÿ+ÃÀ®.Àƒ0Ã7Ã@j/à F(à ™/Ã-0Ã`4àË1ÃP&,Ãà…-ÃÐF1Ãpn-ÃÈ+ð-Ãl0ÃpP2Ã0C/ÃÔ)Ãpn-Ã0I.Ã`G-Ã`¦2Ã`4ðà4ÃÀ=,ÃK/Ã`2Àú1ÃÐÛ-ÃP-Ãû-ÃÎ.Ã0º0Ã0Ì-à ™/Ã5Ãày/Ã@á0Ãã1ÃP/ð-ðu1ÃpÙ0ÃpV1Ã],àx*Ãð1ÃP…1à×/à Ÿ.ÃPy3À-Ã`A.ÃP8)ü-Ã?-Ã`A.Ã5ÃÀ=,Ãà.ÃÐ^-À,à F(ðŸ*Ã`;/Ãò(à 1ÃÀ1.Àú1ÃP2Ã@p.Ãà*Ãð 3ÃP‹0ÃÐ%Ã0Ø+À.ÃÀ+/ÃP0Ã`Ä-Ã0Ø+àN1Ãðp7ÃÀ+/Ã33àr+Ãpå.à {4à 2à`.Ã@Õ2Ãph.ÃÀI*Ãðš0à ".Ãpñ,à×/Ãé0Ã0À/Ãн2Ã`ÿ8à o6Ã@½6à o6ÃÐ44À-À}1à¿3Ãз3Ã`Ð+Ã`ô%À×"Ã0C/ÃÀ7-ÃP2À0ÃÂ0Ã@L4ÃpÁ4Ã@ˆ*Ã-Ãpz+Ã@Õ2Ãày/Ã`¸/ÃP»(Ãpë-ÃP2Ãpb/Ãl0ÃÐÏ/à /Ãx.Ãðš0Ã@L4Ê+Ãpñ,ÃÀ%0ÃÂ0ÃГ9ÃÐ(6Ã0À/à³5Ãà-ÃP.Ãpý*ÃÀx7ÃÂ0Ã@j/Ã@|,ÃK/ÃÀO)ÃÀÌ)Ã`/1ðc4ÃpÙ0àN1Ãà+Ã%'ÃÀI*Ãï/ÃpÍ2Ã@d0ÃE,Ãf1ð™+ð()Ã?1Ã`ˆ7ÃÐ@2ÃÂ,ÃP-à¿3ÃðŽ2Ã@·7à¿3Ã`/1Ã`Ê,àÅ2à 3à /ÃÐ:3àB3àã-àT0Ãc+ð“,À,ÃE0Ãf1Ãà.Ãà‘+Ã`Ü)ðø0À›,Ã@j/ÃÀ1ÃÐL0ÃÀ2ÃE0àT0Ã@á0ð{0Ã0O-Ã9.ÃP2Ã@Õ2Ã92Ã`#3Ã×3Ã`8àf-ÃpJ3Ã0Æ.Ãàs0Ã0Š8ÃÝ2À /Ã`S+à ±+Ã071ÃÐÉ0ê4Ãph.ð .Ã5Ã@á0ÃÀC+Ã`Y*Ãðÿ4àf-ÃÐX.ÃP£,à L'àã-ÃpV1Ãpn-Ã@)ÃÐí*ÃÐX.Ãpn-ÃÐó)Ã0œ5Ãð /ÃE0ÃÐp*Ã`Ð+Ãõ.Ãr/ð()Ãð5,Ãð2ð/ÃÐF1Ãp\0à þ3ð3ÃÀ 4Ã`Ö*Ãi*ð/ÃÐ@2Ãà‹,ÃÐ^-ÃP -ÃP¯*ö.Ã0Ø+Ã@#&ðK8Ãï/Ãé0ðò1ÃP/àã-Ã,à «,Ãàö/ÃÀ3à`.Ãx.Æ6ÃÀ®.àr+ÃÐ^-ÃP-ÃÐX.Ãàð0ÃÔ-ÃP0ÃPµ)ÃÐù(Ãpë-Ãpt,ð-ÃT4Àô2Ãð5,Ãï/àr+ÃÀº,ÃP2Ãp»5ü1Ãà-Ã071ÃÐd,ÃÀ„5ÃP…1Ã-Ã@ÿ+ÃÐL0Ãàü.à 2ÃÚ,ÃW-Ã@p.ÃP2*Ãàg2Ø7ðæ3àÑ0ÃPü2ÃÐÉ0ÃÀÒ(ÃÀÆ*àã-Ã0[+ÃÐX.Ã@á0Ã0=0àÑ0ÃÀ5Ã0C/Ãà'ÃÈ+à×/Ãà)ÃpP2Ã@ù,Ã,Ã@í.Ã`î&ÃðA*Ã0®2À$+à /ö.Ã0ð'Ã0Ì-Ã0C/à «,ÃÀC+ÃP—.à Ÿ.ÃÐF1à×/À-Ãã1Ã`¦2à @)Ãð²,Ãðš0Ã@+Ã@í.Ã@^1ÃÔ)Ã0ð'Ã@d0À0ÃÎ*Ão%Ãæ&Ãð;+ÃQ.À•-ÃP -ÃÀC+Ã0g)Ã0s'ÃÎ*Ãæ*ÃàU5Ãpn-ÃÐÛ-à 1ÃpÇ3ð/ö.ðà4àH2Ãð¬-Ã`Ð+Ã-0À}1ÃÐ|(Ã,ÃP2*Ãн2ÃpJ3ÃpV1à`.Ãð¦.Ã9.ÃÈ/À-à (-Ã@ *Ã`Ð+àï+ð“,Ãð5,Ã`G-ðÎ7Ã0=0À_6Ãð4ÃP2*Ã0g)ÃpÓ1ÃP»(ÃP>(Ã0g)Ã],ÃÀ¢0Þ2Ãày/Ãà‹,Ã0g)Ã*ð“,Ã`Ð+àT0Àô2ÃÐÏ/à .,ÃPs4À}1Ão)í:Àk4ÃÐá,Ã0Æ.ÃÀ+/à 3ÃÐÕ.ê0ÃP,+Ãð¾*ÃÀ®.Ãàð0Ã@ù,à 4+Ãð 3Ãl0Ãpñ,ÃÈ/àH2ÃÀÀ+Ã012Ã05ÃPs4Ãp€*à ·*ÃÀO)Ã@Õ2Ã`A.ðþ/ÃðM(ÃE0Ãà.Ã`;/Ãð /Ã05à 0ðQ7Ã`¾.À›,Ãr/ÃÐÏ/Ãð#/Ãàð0ð{0Ãi*ðŸ*àÝ.ü1ÃP2Ã0Ø+ÃP¯*ÃÐX.Ã`Ä-à 0ð‡.À /ÃpV1ð“,Ãp¤$ÃàÞ3ÃÐF1ÃÀ['Ã`¾.Ãc+Ãpå.Ã-ÃP»(Ãl0Ãðˆ3Ã0C/Ã@ç/Ã'1ÃÚ,ÃPm5ÃpD4Ã'1àT0Ã@v-Þ6àï+à þ3ÃÀ 4ðþ/ðò1Ã'1ÃÐ.5Ã0Þ*Ã@”(ðø0Ãx.Ãà,'Ãà+ÃÐÉ0Ãàg2ÃPö3ðì2Ãpå.Ãï/ÃÀœ1Ã`¦2ð,Ãà )à F(ÃàÞ3ÃÐX.Ãàs0Ãð¬-à ±+Ãr/Ã0 8Ãð4Ãpå.À}1Ãp€*ðæ3Ãð#/Ã`A.ÃÝ2ð]5Ã-Ã@á0Ã0=0ÃPa7Ã92Ã@É4ðu1Ã3à 3Ãàm1ÃÀÒ(Ã@Õ2ÃP‘/ÃP©+à¹4ÃÎ.Ãð /À-ÃÐ.5ü1Ã@á0ÃÀ¢0ÃÈ+à Ï&Ã0Þ*àÝ.Ã@‚+ðÎ7ÃP2Ã'5ðì2Ã@Û1Ãð 3À-Ã`;/ÃPü2à /Ãà,Ãð¸+à 3ÃÐ@2ÃP2Ã@í.Ãð).à {4à /Ã0¢4ÃPü2Ãp*Ã`#3Àú1Ø7ÃP…1Ã0O-ðæ3Ã09ÃÐX.Ã9.à 1Ãàg2Ã`A.Ãð0Ãð2ü1Ãð¾*À›,Ã`4Ãà‹,Ã0I.Ã`e(Ê+ÃT4à ™/Ã@ç/Àâ5Ãð|5ÃàU5à Ÿ.ÃÈ+à Ã(ÃP2*Ã@ÿ+Ãà»$Ãà…-Ã@d0Ã@Õ2Ã0%4ÃÐR/Ã0Ì-ÃÀ%0àÑ0À.Ãàð0À.Ã0+3À0Ãl0À0Ã0º0ÃP -Ã`;/ÃpP2ÃPð4à þ3ÃP…1ÃP0à ™/ÃàÞ3Ã`²0à„(Ã0=0ÃP1Ãàa3Ã4Ã4ÃQ.ÃÀœ1ÃÀl9Ã!6Ã0=0ÃP -Ã`š4à o6à 2ÃÐ@2Ãé0à ·*À0Ã`6Ã33Ã@ÿ+À,ðþ/ÃÀ 4àË1àB3ÃPö3ÃàÞ3Ã`;/ÃÀ´-À /ð-Ãàü.à¿3à<4Ã0Ì-à u5Ãà‹,Ãà-ÃÀ¢0ÃP‹0Ã3àã-Ã92ÃÐ^-À,àT0ÃÐ@2Ã0O-ÃE0ÃÐó)Ão)ÃP…1Ã`Ð+à «,Ã0O-ÃÀ 4ÃÈ/ð .ð{0à ™/ð/ÃÐ:3ÃW)ÃP‘/à Ÿ.Ã`¾.Ãp&Ãàü.ÃZ3ÃÀ®.Ãð#/Ã`¦2Ã0I.Ã@É4ÃpJ3Ãðš0àl,Ãp'ÃÐd,ðu1ð/à)ü-à ø4ÃpD4Ã`#3ÃÀ2Ãp\0ÃÚ,ð«(ÃÈ/Ãð 3Ãà)Ãà*ð .Ã@j/Ãð5,Ã`Ð+ÃP2ÃP…1Ãà—*Ãpb/Ãpý*Ãr/Ã-0Ã`S+ÃÐL0Àw2ÃÀ1À7Àî3ÃÐv)ÃÐÉ0ÃðG)À$+Ãð0à ".ÃÀ7-ÃÚ(À•-Ã@Û1Ã-0Ãð;+ÃÐv)Ã5ÃZ3ÃÀÀ+À$+ÃðM(à`.ÃÚ,Ã0[+Ãà.ÃP&,ð+Ã0Æ.ÃPü2ü1Ã@^1ÃàÞ3ð{0Ã071Ã`¾.ÃP.ÃÐÿ'Ãð5,Ãf1Ã*Ãà—*Ãð5,ÃP8)Ãõ.À›,ÃÐá,Ãð²,À.àã-ÃP/Ã@^1ÃP -àf-à :*Ã@v-Ãà.Ã`50Ãp>5Ãp )ÃÐX.Ã` 3ðì2Ã0Æ.Ãà‹,Ã0ä)ÃP—.Ã9.ÃPD'À}1ÃP‘/ð“,àZ/ÃÑ4ÃPs4Ãàö/ÃPð4ÃP&,àx*à .,Ãàð0Ãà…-ÃÀ=,Ãà+Ãàa3ÃP2â'À /ÃpÇ3Ã0®2ð/Ãpb/Ã0U,Ã`¸/Ãpb/Ã0À/ð()Ã(ÃÀ¨/Ä,à ™/à 4+ÃPÇ&Ã0Ò,Ã0Ò,Ã~-ðŸ*ÃÐL0Ã3/ÃÐá,ð‡.Ã33Ã0º0ð .ÃÀ7-Ã'1Ã@ÿ+Ã0O-Ã0À/Ã0C/Ã@ù,Ã`M,ÃP2ÃÐÃ1à Ÿ.à 0À,À<'ð,Ãà.ÃðŽ2Ã@Õ2ÃÀ%0à 1Ã`G-ðì2ü1à 4+Ãð¬-ð3ä1ÃÐ"7à 2Ã0=0Ã0[+ÃÝ2ð“,Ê+ÃPö3À‰/ÃÐ^-ð/À**ÃP&,Ãà—*À-À›,ÃÐR/Ã0´1àÅ2À}1ÃK/àB3ð"*ÃP,+Ãpå.ÃÀ¨/ðÚ5ð+À1à Q;À}1ÃÀŠ4ÃÀ„5Ãà…-Ã0Ò,à ™/à +Ãpå.Ãð‚4Ã0U,Ã0À/Ã~-Ã@ *Ãð5,Ä,ð/Ãðv6Àk4ÃÀ¨/À¡+ÃpÓ1Ã@Û1Ão)À,ðì2ÃÎ.ÃàÞ3ÃB7Ã@á0Ã3ÃÂ,Ãà—*ä1Ã@É4Ã0C/Ã`¦2ÃK/Àƒ0Ãàa3ÃpV1Ãà+Ãàê1Ãàü.Ãày/Àƒ0Ã'1Ãàð0Ã@p.Ã@p.Ã?-Ã012ÃàI7ä1ÃÐí*à “0ÃÐ44Ãðv6Ã@L4ÃP-Ã0ä)àZ/ä1ÃE0ö.à Ã(ÃÂ,Ã@d0ÃP -Ã`8ÃÎ*Ä,ÃZ3Ã@á0Ãн2Ã0=0à (-ÃÂ0Ã`¾.ÃÐ@2Ãð1Ãr/Ã-4ÃpP2Ã0[+Ãpå.ÃP‘/ð,Ãæ*àû)ð,Àw2à 6ÃÐ ;ÃàØ4Ã`¾.à~)ÃP2ÃpP2Ã`4Ã@L4Ãð¦.Ãà+Ü(Ã!2ðÔ6à×/Ã`S+Ã@L4Ãðv6ÃÚ,À•-à ".Ãà…-àT0ðò1ê0Ä,ÃàÒ5ð/ÃP,+à 0Ã0´1Ãðš0Ã0º0Ã`¸/à +Ã-0Ãf1à ".Þ2ðø0Ã@R3à 1Ãð¦.ÃE0àÝ.à×/Ã@Ã5Ã@F5Ã@L4À.ÃP/ÃÀº,ÃpJ3Ãà[4Ãp÷+ÃÀ´-À›,ÃðŽ2Ãà…-Ã`²0Ãp¯7ÃÑ4Ã`S+Ã92ð3Ãû-ÃÀ5ÃÀ~6ÃPü2Ã012Ã`¬1Ã'1àf-Ãб4ÃàØ4À‰/Ã`2à þ3Ã0º0Ã`Ä-Ãðç8Ãp¯7ù8Ã0%4ÃÐÉ0àË1Ã0a*ð“,ÃÀ1.ÃP—.Ãày/Ãà‘+ðì2Ãð1ÃP-Ã-Ã`²0Ã`¾.Ãàê1àÝ.Ã@‚+ÃP8)ðþ/ðŸ*Ãðš0À•-Ã`¸/Ãàm1ÃÐ^-ÃÀÀ+Ãàä2ðÚ5À•-à<4ÃP©+À‰/Ã'1ÃPê5Ã@á0Ãpn-ðu1Ãx.ÃÐÏ/Ã@Û1ÃÀ 4Ã@½6Ã@ç/Ã`e(à (-ÃpÇ3ÃpÍ2Ã0Æ.Ãû-Ã`Ü)ÃÐF1ð“,ÃÎ.À1Ã0%4ÃP‘/ÃÐd,àé,ð“,Ã`8Ã0À/àË1Ã012ÃÂ0ÃP2ðÎ7ÃŒ5Ãày/ð/À-ÃpP2ÃÀ 4Ãà.ÃÀ=,ð]5ÃÐÉ0À}1Ã@d0Ã5ÃP2Ã`6ÃPm5Ã` 3ÃÀ7-Ã`;/Ãpå.À}1ÃpJ3ÃP0Ã0´1ÃÐ(6ÃЙ8ÃÀœ1Ã0%4À,Ãà.Ã`¦2ÃÐv)Ã@ÿ+Ã3/Ã`G-Ã`Ð+ÃPs4à ".Ãc+Ã`¬1À-ÃpÙ0àé,ÃÀÌ)Ã0a*Ãð1Ãï/Ã0º0Ãðš0Ã~-Ã` 3Ãàm1Ã0¢4ÃÀ~6àT0ÃàØ4à /à 3ÃÀ®.Ã`S+à 6àB3ÃPð4Ã0¨3ÃÀ¨/ÃÀI*ÃpÇ3ÃŒ9ð/Ã`#3ÃðŽ2Ãp86à :À³(Ãò(ÃÐX.Ãðj8Ãpë-à×/Ã’4ö2Ãðˆ3ðAÃZ3Ã`‚8Ãà+à “0À_6ðÚ5Ãàö/Ã@á0ÃP1Ã7ÃÀŠ4ðà4Ãðó6ð¼:ð9;ðu1Ãà.ÃW-ÃÐÃ1ðu1Ãà¨<à¿3à ‡2ä5Ãp27ÃÈ/Ã33ÃÀx7Ã@±8Ãp86ðÎ7Ã`5ÃP2Ã@^1à*7à o6ÃàÌ6ÃÀr8ÃÀã:ð3Ã0=0ÃpÍ2ÃPö3à à8Ãp&9Ãðp7ÃPÌ:ÃÐ:Ã0%4ÃÐ9ÃÀã:ðE9ÃÐ:3ð-Ã92à¡8Ãý7ÃH6ÃPÌ:à¡8Ã0º0ðÚ5ÃÐ"7ÃÅ6ä1ðo2Ã`5Ãðó6ÃN5À;Ãp»5à ‡2ÃÀ–2ð .ÃÀ+/Ã0+3ÃÐá,Ãpß/ÃpJ3Ãp27ÃZ3ÃÀœ1Ã@^1ÃP…1Ã7Ã!2Æ6ö2ÃÀ¨/à o6Ãz<Ã05à¿3Ãp86à 6Ã92ÃÀ–2Ãðó6Ãpn-ÃpV1à¿3ÃЙ8ÃÎ.Ã`#3ÃPs4Ãð”1ù8Ã06Ã0Æ.à 0ðÈ8Ã07Ã0Æ.Ãp’'Ãð).Ã-0à 3Ø7Ã@X2Ãðí7ÃÀŠ4ÀÜ6ÃpÇ3Ãð4Ãðÿ4à06ÃpÓ1Ã×3ÃÀ´-ÃÀ3Ã`¬1ÃàÆ7ÃP1Ã@^1Ã0 8ðæ3ÃðÛ:Ã@";à³5ÃÀœ1Ã@Ã5ÃÀ¢0Ãðÿ4Ãb<à¿3Ãð^:ÃPa7Ãp>5Ãp;Àq3ÃpÍ2Ã@j/à o6À¸<à¡8ÃPØ8Ã@á0ðÎ7ÃÀ®.à*7ÃàO6ðÔ6Ã`ˆ7Ã0:Ãr/ÃÐÛ-ð‡.à ì6ÃPð4à ±+Ãr/Ø3Ã0´1Ã@Û1Ãë:àN1ði3Ãàð0ÃàU5Ã@¥:à 3Ã` 3Àâ5Ãà=9à<4Ãб4Ã`50Ã33ÃP‘/Ãp27Ãðˆ3Ã(ÃpÇ3Ã07ðÂ9Ã`)2Àú1Ãð”1Ãpß/àB3Ãð#/Ãp\0ä1À0ÃÀœ1ÃH6Ãà[4Ã`ˆ7à æ7ÃàO6Ã@Ã5ü1Ão%ÃP©+Ã?-Ã`S+à`.ð/ÃPö3Ãðš0Àw2ÃP2Ãpn-ü1ÃPs4Ã0º0àf-Ãà.Ãð‚4Ã`Ä-Ã`/1à ".Ãé0ÃB7ÃZ3ÃÀ¢0Ãpß/à ¥-ð-Ã0®2Ãð2Ãã1ÃÐj+Ãp†)ðu1ÃÂ,Ãx.ö2À1à 0Ãàä2ÃP—.à 6Ã4à×/Ãð#/Ãpë-Ã`;/ði3Ãð¬-Ãàg2ä1Ã0º0Ã@‚+ÃÐv)Ãl0ÃpÙ0ÃÐL0Ãæ*Ãpß/ÃP…1Ãð¸+Ã@+Ãà.Àk4Ãé0Ãð¾*à /ÃPð4ÃàÒ5Ã@Ã5àT0ÃÀI*Ãpå.à×/Ã@j/Ã`²0Ãl0Ã33à {4à ™/Ã0+3À$+ÃpP2Ãû-Ã@Ï3Ã5Ã?-àé,Ãð¾*àT0ÃE,à Ÿ.à “0Ã0I.ÃðŽ2ðæ3ÃpÓ1Ã`è'àl,ÃP1Ã0=0ÃðA*ðþ/ÃÔ-àõ*Ã)ÃPg6Ã`¾.Ãð /ÃN5ä1Ã0Æ.ÃK+Ãàð0Àk4ÃÐ(6Ãðš0ÃðA*Ãpb/ÃÎ.Ã`”5Ã@@6Ãðš0àl,Ã@ç/Ã-4Ã`¸/Ã@j/ÃÀ¢0Ã!2Ãp\0Ã071Ãð /Ãr/ÃP0ÃQ.Ãp†)ÃÐv)ÃE,à þ3ä5ÃÐá,Ã@ù,Ãð²,ÃPê5Ãà[4Ã@X2Ãàê1Ã3/Ãpb/à 3ÃK+Ã3/À›,Ãð /Ãl0Ã],ÃÀU(Ãð /ÃÔ)ÃÎ*ÃP.Ãf1ÃP2à`.ÃW-Ãpñ,À}1Ã0[+Ã~-Ã0U,ð3Ãpß/ð{0ÃÐR/ÃÀ+/ÃÀ®.ÃP‘/Ã`¸/Ã0Æ.ÃÐç+à ™/ÃpÓ1Ãr/Ã@‚+à ø4ÃÐí*ÃPð4ü1Ã@L4Ã`2ÃPy3Ã@Ï3Ãн2ðþ/Ãàä2Àw2à ø4Ã0+3Ãã1Ãà&(Ã?-Ã×3à ì6à`.ÃðŽ2Ã3/Ã@ÿ+ÃÀ3Ãàm1À.Ã~-Ã@ÿ+ü-Ã`e(ÃÐ|(ÃP¯*Ã`50ðà4Àô2à&Ãà…-à ™/Ã92ä1Ã`/1ÃÈ/ð/Ã071ÃÝ2ÃÀ1.à 0Ã×3À-ÃÀ1ÃÎ.ÃÐ:3Ã@Õ2ÃP-ð‡.Ãðp7Ãz8Ãðÿ4ê0ÃÀ3Ãx.Ãб4ÃP1Ã0¨3Ã@|,àr+Ã0=0Ãf1Ã'1ÃP©+Ã0º0Ãà&(Ã`Ê,ÃpÁ4ÃPÞ7Ãàê1Ã0+3Ã@í.Ãð‚4à :à<4ÃÐ¥6Ãé0Ã@+ÃÐj+àN1Ãp27Ãp\0Ã0[+Ã'1àH2Ã071ÃÐá,ÃP&,Ãl0À.Ãð2à 2Ã0Æ.ö.ÃÐÛ-ÃÂ0Ãàa3Ã071À‰/à×/ð{0Ãð1ÃÀ®.ÃÐp*àã-Ã0O-à ¥-ÃÔ-Ã!2Ã@:7ÃpV1Ã0º0Ã'1Ãð|5Ãp27Ã`¦2ÃÀ2ä1Ã0º0Ã@j/Ãð¦.ÃÐ@2ÃpP2ÃPê5àT0Ã4ÃW-ÃP,+Ãàg2ÃÀ®.à 1Ã`Ð+Ã0ä)à .,Ãð /Ã-0Ã`¬1à 3Ãp86Ã0C/Ãà.ÃÐ@2Ã@p.Ã0´1Ã3Ã06à 1Ã0O-Ã`Ð+ÿ7ÃÀ%0à þ3àï+ÃÐÛ-Ãð2Ãà.Ãð 3ÃE,ÃP -Ãð).Ãpß/Ã-0àT0Ã`/1À•-ÃpV1ÃE,ÃÐí*ði3à ø4ðò1ÃpÓ1Ãpñ,Ã`#3Ã0®2Ãã1Ã4àÅ2Ã],Ãð /Ã@X2ÃÀŠ4ÃÎ.Ã0U,Ã9.Ã,À}1ÃP2ÃP8)Ã0Þ*Ã`š4Ãpt,Ãà‹,ÃÂ0Ã0=0Ã`50Ã×3ÃW)ð-Ãð;+Ã0À/Ã0ä)Ã@ç/Ã3/ö2Ã0 8Ã@ó-ðò1Ãà£(Ãà‘+ÃPä6ÃÀ´-Ãð/-ÃPü2Ãpå.Ã`50Àú1à ".Ãð¦.ÃpJ3À.Ãé0Ãpå.Ãû-ÃPö3ÃÐÛ-ÃpÍ2Ãpb/ÃÎ.Ãpn-Ã`Ê,Ãàm1ÃÀ®.Ãû-ÃÐd,ÃÐF1ÃP…1Ãpz+ðì2Ãpn-À‰/Ã0Ì-Ã?1Ãàê1Ãð#/à ™/ü-ÃPJ&ÃÀ1.Ã*Ã0a*Ã`M,ÃÀO)Ã@+ÃÐí*Ã-4Ã0®2Ãà-Ãx.Ã@Ï3ÃP‹0Ã@ˆ*ÃÀO)Ãàê1ÃÀ%0Ãðˆ3ü1ÃP2*Ãø#Ãpß/ÃàO6Ãàs0ÃË5à 3ÃÀº,ÃÀ¨/Ã~-àÝ.ÃÐ44ÃP—.Ã@|,àf-ð“,ÃÐL0Ã@|,à<4àZ/àÑ0À}1ðu1Ã0Ò,àx*Ã3Ã`5Ãð0ðæ3Ã@á0Ãph.Ãàs0ÃpP2Ã`²0Ã0%4ÃÐÛ-à 1Ö)ÃE,Ãð1à ¥-ÃÀ3à ".ÃpÙ0ÃÀ1ÃÀ=,Ã33à×/Ã0I.ðø0Ãf1Àq3ö2à 0ÃÚ,Ã@ó-Ã0=0Ãð4Ãð¾*ÃÀ1.ÃP -ÃÐá,Ãà‹,ð"*ÃÀ„5Ã`Ž6ÃE0Ã3/à ".Ã`â(ð‡.àf-Û=ä1ÃpÙ0Ã0+3Ãé0ÃpD4Ã`G-Ã@Û1À0ÃÑ4Ã0Ø+à³5Ã`50Àw2Àî3Ãз3Ã@F5ðæ3à ¥-Ã@j/Àô2ÃÀ1.Ãà )À}1Ãp÷+ð()ÃðŽ2à Ÿ.Àô2àx*Ãpn-à×/Ãp>5ÃÐF1Ãз3ü1À‰/Àô2àN1ÃP,+ÃÀ+/Ã07Ã`2àf-Ã`¬1ð3ÃpV1àT0à (-Ã`î&Ãàs0ÃÀŠ4ÃÐ44ÃP/Ã`”5ÃÀœ1à¿3Ã0 8àZ/ÃW)ÃP…1ÃÐÃ1ð]5Ã@X2Ã0œ5Ãð0À /Ã×3Ã`)2Ãp\0ê0ÃÀ„5Ã@Û1Ãз3Àw2à×/ð“,à 3ðu1Ê+ÃP‹0Ã×3ÃðS'Ã@‚+ÃðÄ)à (-Àƒ0ä5ÃP%Aà ¼>Ã`Õ?í:ðæ3ê4à 3Ã0õ;Ã@á0à×/ðÃ$ð¥)à$Ãà+Ãð¾*ÃÐÏ/à`.Ãð|5Ãé0ðQ7Ãt9Ã0À/ÃÐL0Ã5ÃÂ0Ãð;+Ã@X2Ãpt,Ãàð0à ±+Ã33Ã@ù,ÃÐF1ÃK+ÃÀÆ*Ã-0ÃÐÏ/À1À0Ãã1Ã`2Ãð;+Ãc+ÃàØ4Ã0a*Àî3Ãpn-Ãì)à×/ÃÀ¢0ÃH6ÃP-ÃP2*Ã`¾.à 3ðÈ8Ã`Ê,Ãàö/ÃÀC+À}1ÃK/ÃpÙ0Ã0À/ÃpÙ0Ã3Ã×3Ã`Ä-Ã9.Ã'1ðø0ÃÐ:3Ãð|5Ã`¸/Ãpë-à /À-Ã`e(ðø0ÃQ.Ãð¸+Ãà*À.ÃÐÉ0Ãï/ÃÐX.Ã'1Ãðv6ü1ÃÀÌ)à×/ÃZ3Ãð^:Ã5ðu1À}1à`.Àâ5Ã@p.à Ÿ.Ã0À/ÃÀº,Ã`²0ÃË5Ãàa3Ã3/àÑ0ð/Ã0Æ.Ã0I.Ã@í.ÀB&ÃÀ´-ÃP—.à)Ã`e(Ã@á0à ™/ÃQ.Ãàê1Ã0®2Ãðš0ÃÐX.Ã0–6Ãi*ðø0à~)Ã`;/ÃÀÀ+ÃÀ¢0Ã0º0ð-Ãðš0àé,À1ÃÀ1.Ãû-à ½)Ã'1ÃÀ=,Ã0[+ÃP»(ÃÀ1.ö.Ã0Ì-Ã0Þ*à`.à þ3ðÚ5ÃÀ['Ãf1Ã0Ø+ð/Ã0C/Ãàg2Ã0Ø+ÃÀ2à 1àÑ0Ã@X2Ãàö/ð()à Ÿ.Ãàü.ÃðA*àã-Ã0Þ*Ã0Ò,ÃPy3à 6Àƒ0ÃÐÏ/Ãx.ÃP&,ÃÀ7-Ãpß/ü1ü1Ã0+3à ò5Ã`8ÃP…1Ã@d0ÃÐL0À$+ð .ÃÈ+à (-Ãàm1Àƒ0Ãð¾*ÃP2Ãpý*ÃÐ@2àN1ÃK/Ê+à 1Àƒ0àH2Ãð /Ãð /ÃP1Ã?-Ã`)2À‰/Ãñ9Ã@^1ÃÎ.ð‡.Ãðó6à 2ÃÐ^-àf-ÃP—.Ãpß/ÃàÞ3ÃÀ+/Ãàð0Ã`š4ÃÐÕ.Ãðš0ÃK+Ã`¸/Ã0Æ.Ã`¸/Ã,Ãà*Ã0Æ.Ã@X2à þ3Ã`S+ÃP-Ã@ˆ*ÃP -ÃÐd,Ãû-à (-Ã@+Ã`2ÃÀI*ÃÚ,Ã0º0ð-à 4+àx*ð{0ÃðG)Ãà,ÃÀ%0Ãà‹,ÃÐ@2Àw2Ã0U,Ãà+Ã0Ò,ÃW-Ã?-ÃÀ¨/Ö)Ãàê1ÃP1À,ÃÀ=,Ã?-Ã`4Ãà-ÃP2Ã071ÃÈ+Ãpb/Àk4Ãð2ÃðA*ðu1Ãð;+Ã`Y*Ã@ &Ã0Ì-Àw2à&ÃÀÞ&ÃÐ^-Ã0Þ*ðì2ÃÀÀ+Ãð#/ð-Ãðš0Ãà,Ãð5,Ãc'Ã-0ê0ð¥)à 1à(â'Ã`;/Ãà,ÃÐá,ÃÐÉ0Ãðˆ3ðæ3ÃÀº,Ã0g)à 3ÃÀ–2Ãàa3Ã'1Ã@ÿ+Ãàö/à ™/ÃP2Ãp86À1ÃPð4ÃÀÀ+ð/Ã`6àl,ð™+Ãà£(Ã'1ð{0ÃÐj+ÃP2Ãн2ÃÀ7-ÃP2à 1Ãà‘+Ãã1ÃP1Ãàü.Ã’4ÃZ3ð,ÃÐÕ.ÃÀC+ÃP…1ÃP1ÃP‹0Ãph.ÃW-Ã0À/Ã?1Ã0%4Ã@|,Ãàg2Ãl0àõ*ÃP‘/Ã`50Ãз3Ã9.à ]9Ãб4ðæ3Ãr/Ãð0Þ2Ãf1ÃÐF1à¹4ÃÐÏ/ÃÀÆ*Ãà©'Àw2à06ÃP…1à 1Ã0C/ÃÀœ1ÃðÕ;ÃÐ44Ãp»5Ãб4à L'Ãpå.Ã071àË1Ão)ÃÀ3ÃÐÕ.Ãð0ÃÐ:3ðæ3À0Ãàê1àN1ÃE,àÑ0Ã`”5Ã3à 0À}1Ã`2Ã`/1Ã33à Ô:Ã@½6ÃÀ®.Ãð2ÃpÇ3ÃÀ1.Ã0Æ.Ãpë-ÃP£,àÑ0ÃÐá,ðþ/Ã0+3ÃП7à¹4àé,Ã~-Ã05Ã'1Ãp27à ø4ÃÀ~6ðo2ð/ö.ÃP‹0À /À‰/Ãp\0ÃÀ¨/ÃÐL0Ãàº9ÃP2àB3Ãàð0ÃÀ1.Ãà[4à 1Ã3/àé,Ã@:7Ã@^1à ø4À³(Ãé0ÃP1Ãðí7Ãph.à ‡2ä1ÃÀ2À /Ãû-ÃÈ+ÃÐÛ-ð/ÃÐ^-Ã@Ã5ÃP&,à o6Ã0C/Ã9.ðò1Ã0U,Ã0´1Ã,Ãð).ÃpÓ1ðu1Ãà-ÃÀ 4Ã`/1ÃZ3Ãàð0ð/ðo2Ã`5Ã@.9Ãàa3à~)Ã@R3à þ3Ãõ.ð/Ãàs0ÃÂ,ÃP-Ãàa3ð"*à +ðo2Ãx.à 0ðo2ÃÀ¨/Ã071Ã3/Ã`50ÃQ*ÃP0Ãà-Ã`A.Ã0U,Ã@Õ2ÃÐR/À›,Ãàê1ÃÂ0Ã×3À /Ãð;+ÃP£,àõ*àB3Ã`;/À,ÃÀ2Ã?1ð"*Ã~-Ãà.Ãàö/Ãû-Ã@Õ2ÃP-Ã0I.À.Ã071Ã0C/Ã@)ÃÈ/à(ÃpÓ1à×/àf-ÃÀa&Ãà…-àã-à 1ÃpÙ0ÃÀÆ*Ã92ÃÐÃ1Ãpñ,Ãã1àl,Ã0Ø+ÃÐá,Ãp\0Ãð#/Ãð¦.ÃÐó)Ãн2À /à ¥-Ã`¸/Ãð 3ÃpV1ÃP-Ãà‹,À¡+ÃÐ^-Ãpå.à 0ÃpÓ1Ã@|,ðà4ÃP‹0ÃÐá,Ã071Àú1Ãàm1ðÚ5Ãàö/ÃÚ,ÃÐÛ-ÃQ*ÃÈ+à×/ÃP,+Ãð²,Ãpt,ÃÔ-Ã9.Ãà.ÃÐí*Ãð5,Ãp )ð-Ã,Ãpb/Ãpå.Ãð;+Ã?-Ã@ó-À•-Ã,À.Ãðš0àû)ÃÐd,ð/ÃP/Ãx.Ãà.à 2À›,Ã0Ø+Ãð).àé,à ·*à Ï&à Ÿ.ÃÀ=,ÃÀö"ÃðÐ'À›,à06ðò1Ãp»5Ã@j/Ãpt,Ã`S+ÃÀC+Ã`²0ÃÔ-ÃÐÛ-Ãi*ÃP0ÃpŒ(Ãpb/Ãð#/Ãì)à ·*Ãc+à ·*ÃP£,Ã0Ø+Ã012Ãpn-ÃP‹0Ãðš0ü-Ã0y&ÃÀ1Ã-0Ã@í.Ã],ð±'à Ï&à Ï&à ·*Ãp )Ä,ð¥)Ãàµ%ö.ð .Ãpn-ÃPÇ&Ãà+Ã0Ø+Ãc+Ã`Ð+Ã0a*Ã@#&ÃP&,Ã`M,Ã`;/ÃðA*ÃÀ1.Ãpë-Ãð¦.ÃÐd,Ãàs0Ã`Ö*Ãð²,ÃðÄ)Ã0s'Ã0ä)ÃðÜ%À$+À0)Ã`k'ÃðÄ)Ãr/Ã`M,ðø0ÃQ.ÃÎ.ÃÀ=,Ã-0ÃðM(àõ*À-Ã`²0Ãð5,Ä,ð/Ãà…-à ™/À0Ã0Ò,Ã0ê(ÃPµ)Ã0ä)à`.Ãé0Ã`Ü)À³(Ã`50Ã`¾.ÃP—.ÃB7Ãp*Ãà.ÃÀU(Ãc+à×/Ã`G-à F(ÃðÄ)Ãx.Ãp*Ã4à ò5Ã0Ø+Ãx.ÃÀI*ÃÐj+ÃE0ÃÀ3Ã@ó-à¿3Ã@+Ã`Ü)Ã'5à «,àé,Ãà-Ã*Ãû-ÃÐX.Ã@@6à(Ã0a*ÃðA*ÃÀÒ(Ã@v-À¡+ü1ð‡.ÃPÁ'Ãð¬-ð“,Ã@”(Ã@v-Ãàü.ÃP©+à «,Ã$Ãà-Ã012Ã`;/à ½)ÃP2*ÃÎ*ÃP‘/àN1Ãð¬-Ã`G-Ã`â(Ã](ÃÐÏ/Ã`50Ã`Ü)ÀH%Ã@ *àã-ÃÐç+À0)ÃE0Ã012Ã],Ãð#/ÃP-ÃÈ+ÃP…1ð‡.ÃÐÃ1à 0ö.Ãð).Ã@j/Ãð;+ÃÈ/ÃðG)Ãð¦.ðò1Ã?-àã-Ã@v-à /ÃÎ.àl,ÃÐ'à %ÃÈ/Ãà,àï+Ãpß/ÃÀa&Ã](Ã`M,Ão)Ã@+Ãp€*Ãð¦.Ãï/À /ÃP/Ãp’'à “0à /ÃÐó)ÃÐ.5ÃÀ%0Ã*ÃÐ|(Ã`S+ÃP&,ÃÀC+ÃÐó)Ã`S+Ã`Ö*à„(Ã0a*Ãà—*Ã0Æ.À0ê0Ãû-Ãp†)Ãû-Ãà.à «,Ã@ *Ãàµ%À›,ÃÐÃ1Ã`A.Ãph.ÃP¯*à Ÿ.Àƒ0ÃP2*ÃÚ,Ãpë-Ãp÷+Ã0a*Ãph.ÃE0À.ÃpP2Ã`¦2Ãà-Ã0+3ÃP&,ÃÀI*À³(À<'Ãð²,Ãx.Ãpý*Ã0%Ã@ó-Ã0Ò,Ã0Þ*Ãð/-à`.ÃÐd,ÃÀ„5ð/ÃE,ÃÀU(ê4Ã07ð‡.À¡+Ã0C/Ã071ÃÐ^-ðø0ÃÐÕ.Ãà)ÃÀC+ð,ðò1ÃÐX.ð+Ã0[+ÃP-ÃÐÃ1Ã*à @)Ãpt,Ãð/-ÃpÓ1à`.à .,Ã@É4à “0ÃÐç+àf-Ã0Þ*Ãà—*Ã`²0ð{0Ãpý*Ãpß/ÃÔ-Ã`Ü)ÃÀO)ð{0ÃP2*Ã33Ã`²0Ãà‹,ÃP—.ÃÀº,ÃÀ1.à «,Ãp˜&Ãà£(ð@%ð,à 'Ã`Ü)Ãpñ,ÃP2Ã@í.Ãï/ö.Àk4Ã0=0Ãpt,àõ*à /à 1ÃPJ&Ãæ*Ã@‚+à Ã(Ãpn-àõ*ÃW)à ".À.Ãph.Ã@|,Ã@”(Ã(àH2ÃÔ)ÃðM(Ãà+ÃQ*ð .Ä,Ã],Ãpn-ÃP -ÃÐÉ0à ™/ê0Ã`â(ð«(Ã@ *À-Ãð 3À}1Ã&à ½)Ã0ö&ÃЂ'à ±+Ã0g)ÃÐ44Ãàs0Ã0Ò,ð .Ã@ç/ÃÀØ'Ãàö/Ãàs0Ãð;+ÃÐj+Ã-0ÃÀŠ4à «,ÃPD'à ·*Ãû-Ãà )Ãàð0à 1Ãà2&Ãà©'à Ã(Ã0ü%Ãæ&ÃðA*Ã@ó-À /Ãà—*Ã`¸/Ã`M,à%Ãàð0àZ/ð/Ã@ù,ÃÀ¨/ð .Ã0O-ÃP.ÃPÙ#ÃQ.Ãð5,Ãæ*Ã`Ü)Ão)ÃP¯*Ã%'Ã@v-ÃÈ/Ã@”(À³(ÃÐç+Ãp'ÃÀº,à ™/ÃQ.Ã`Ü)Ã06Ãàê1Ãõ.Ãp(ÃÀm$Ãã1Ã@+Ã0ð'Ã5Ãpß/ðì2ÃP2*ð™+ÃPÁ'Ã@p.à /Ã`G-Ãà¯&Ãà.Ãf1ð+Ãpž%Ã@š'Ãà+Ã0O-Ã9.Ãã1Ãpb/ÃðM(ÃÀ+/Ã@¬$ÃP -ÃÈ/Ã`Ä-ÃÎ.ÃÐó)Ãì)à ¥-ÃPh!Ãðî"À$+ÃpÍ2ÃÀ7-ÃÐÿ'Ã0Ø+Ã@‚+Ã`Ö*ð/Ãà,àË1àf-ð,ð()àr+ÃÀ1ÃP.ð.(à (-Ã],ÃpŒ(ÃðÄ)Ã-0ÃÈ/Ã@Õ2Ã`Ð+ÃP2Ãð0àã-Ãp'Ãðq"Ãp€*Ã@|,ÃP2ÃÐÛ-ÃP8)ðŸ*Ãì)ðø0Ã0Þ*ÃK+ð,Ãà—*ÃQ.ÃP©+ÃPD'ÃQ.Ão)àã-Ãð¸+À.à .,Ã0®2ÃÐÛ-ÃÀÒ(â'Ã`Ö*ÃP&,à @)Ã@|,À•-Ã`Ð+ÃÀ´-Ã-0Ã`Ü)Ãà&(ÃP.ÃP -Ã`è'ÃÀ+/À-Ãà‘+À›,ÃÐç+Ãàa3Ãð¬-ð:&ÃÐ'Ãp )Ãà+ÃP>(ÃÐí*Ã0a*ÃP‹0ÃPm5Ãpå.Ã,ÃP.ð™+à~)ê0Ãpý*ÃK+À /Ã0Ò,à ·*ÃÐù(Ãpå.À<'À¡+ð,Ãà&(à :*ÃPÁ'àl,Ã`50Ã0U,ÃÀ+/ÃÀ+/ð{0Ã0g)ÃðÄ)ÃðÊ(ÃÐÛ-Ã3/Ã`Ð+ÃP/Ã-4à Ÿ.àé,À}1ÃP‹0Ã33Ã@R3ÃÀ1.Ã@j/Ãl0Ã`¦2Ãð²,à`.ÃPy3Ãð”1ÃPÁ'ÃP -À.ÃÀÌ)Ã0y&Ã0[+Ã-À•-Ã@ÿ+Ãpb/Ä,Ãð0Ã@ç/ÃP0ÃÐÛ-À‰/Ã`²0Ãé0ðu1Ãpn-Ãàö/à Ã(à {4Ã?-Ã@ÿ+Ãà…-àé,Ãàü.ÃË5ÃPm5à ".à ò5Ãé0Ã`ˆ7ÃÐ^-ÃP&,ÃÐ^-à ±+Ãð0Àw2ÃP©+Ãph.Ã`50Ã`A.Ã`¬1Ã@d0À¡+ÃÀ¢0À.Ã@ÿ+Ãð5,ðø0ÃÀ=,Ã0%4Ã0À/ÃÐÕ.ðø0Ã012ÃE0ÃpÙ0ð/Àú1Ãàð0àÝ.Ãð¦.ÃpÇ3Àô2ÃpV1ð/ÃP‘/à «,Ã`¦2à «,ÃÐj+Ã@d0Ãàm1ÃÀ2Ãð/-ðo2ÃÀ®.ÃP2àÑ0ÃÔ-ÃÐÉ0à {4Ã0´1ö2Ã0Æ.ð“,Ãpn-Àƒ0à ø4Ã9.ð/à (-Ã!2Àî3à ™/à ·*Ã`S+ÃÀ´-Ã`Ö*Ã`A.Ã~-Ãð5,Ø7ä1Ã@”(À›,ÃÀØ'àé,ÃpÓ1Ã33Ã`¦2Ã0´1ÃP—.àl,Ã*ÃÀ+/ÃÀ´-ÃK+Ãà.Ã@É4Àú1Ã0‹#Ãl0ÃPµ)ÃÀ´-Ã`;/Ãà‹,à×/Ã9.Ãpå.Ãà )Ãð/-ÃP -ÃÈ/ÃP©+Ãð;+ð-Ã@ˆ*ðø0à)ÃÐÕ.Ãpë-ÃЈ&Ãðˆ3ÃÀº,Ã`¸/Ã@Ž)Ãà-ÃÀ´-ÃÐd,Ã0Æ.ÃÎ*ÃP-ÃÀ7-àl,Ã0C/Ã0$Ã@)Ã`Ê,À0ÃÐÉ0àÝ.ÃE,Ã?1Ãð¬-Àƒ0ö.â'Ã0U,Ã`Ê,Ãpå.Ã@)ÃÀI*à ¥-à /Ã0U,ÃPÁ'Ã0œ5Ã],Ã0[+ð{0Ãð /ÃðS'ð¥)Ã'1À•-Ã`¬1Ã0+3Ãà)Ã`Ê,ÃÐÏ/Ãð).À§*à<4ÃÀ¨/à Ã(Ãà‹,àé,Ã0a*ÃÐç+Ãà…-Ãà.ÃÈ+à +Ãð/-Ã0[+À¡+ÃÐ'Ãpb/à 4+Ãx.Ãð¬-ð/à /À•-ÃÀ–2ÃÐÏ/ð™+Ãà‹,ÃÐÏ/ð{0Ãæ&ÃP-Ã@Õ2Ã0¨3à 1ü-Ã9.Ãà‹,ÃP©+Ãpë-ÃÀ7-ð,Ã`S+Ã0[+Ã0a*ð+À•-ÃÐ'Ãpz+Ãpz+ÃP.Ã*ÃÀ=,Ã`4Ãà.ÃpÙ0Ã~-à X%àr+ÃÐj+Ãp¤$Ãu$ÃÐ%ÃP8)ÃðA*ð:&â'ÀÅ%ð/Ã`G-ÃÔ)ð-àZ/Ãp'Ã%'Ãõ.Ãû-ÃP/À¡+Ãày/ÃP.Ãð/-ÃP2*ÃÀs#Ã0m(Ã1%à (-ÃÀ 4ÃW-ÃÐd,Ã0Ò,Ã`Ð+Ã`S+ð«(Ã-Ãpë-ÃÀÆ*ÃÐ|(à (-ÃE,ÃÀð#Ã0a*è&Ã`;/Ã`;/ÃÐv)Ã0º0Ãà…-Ãp÷+À6(Ã@ *ÃK+ö.Ã@ÿ+Ã@|,Ãð#/ÃÎ*Ãp\0Ã0=0Ãà…-À0)Ã9.à 2Ã`¦2Ã`50à “0ÃÐ^-ÃÀI*Ã33ÃPö3Ã9.ÃZ3ÃÀ7-Ãà.ÃPJ&ÃðA*ÃPy3ÃQ.ÃÀ1ÃÐR/à “0ÃÐ9ÃP2Ã`50Ã`Ê,ÃÐÉ0Ãà‹,Ãð /ðÎ7à ™/À›,Ãr/Ãàê1Ãàg2Ã@‚+Ã92Ã0+3À$+Àw2Ãp&9ðþ/Ãàg2Àk4ü-ÃàI7ÃàÞ3Ãà[4ÃÐF1Ãà‘+Ã@X2à «,ÃÀº,À}1ÃP0Ãà,ÃP©+Ã`¸/Ãr/Ã0Þ*Ã?1À.ÃÔ-ÃÐL0Ãðÿ4Àk4ÃPö3Ê+Ãàö/ÃÐF1Àî3ð,ÃpP2ÃÝ2Ãàö/Ãà‘+ð¥)ÃP/À /ÃP0Ãpß/à ±+Ã@á0ÃK/ö2Ã@)Ã`50Ãày/Ã`M,Ãà‘+àZ/ÃÐÉ0Ã`/1ÃàI7Ã07Ã@R3Ã0 8Ãð2ÃÐ^-ðþ/Ãð /Ã@|,ÃÐÉ0Àú1Ã@L4Ãp>5ÃÀ´-Ã-0Ãð¦.Ã0–6ÃÀ–2Ãp27ÃÀœ1Ãpë-àã-ÃT4ÃÀ 4Ã~-Ãð 3ÃP‘/Ã071ð .ð/Ãð2ÃÐX.Ãàê1Ã0º0Ã@ó-Ãð¾*Ãà.Ã@‚+à`.Àw2Ã0+3ü-ÃQ.à9ÃÐ.5ð .ö2Ã*Ã@F5Ãð”1à /ÃPs4Ã@ç/ÃÈ/Ãð /Ã0+3à ·*ÃÐ44Ã92Ãðš0Ãã1ÃE0ð/ÃpP2Ã@d0à “0ê0à×/Ã`4Ã`¾.Ã0®2Ã?-ÃÀ2Ã@Ã5Ø3Ãð2ÃP‘/ÃÀ+/Ãl0ÃPg6ÃÀ6à 0ÃPÁ'ÃЂ'Ãð /Ãð”1ÃÀ=,Ã012Ã@R3ÃÂ0Ã`G-ÃÈ/Ãx.ÃàÞ3Ã0O-ê4ÃÐÃ1Ã@ˆ*ÃPy3ði3ÃP2Ãð‚4ÃÑ4Ãð2ÃPü2ÃP…1àf-ÃpÍ2Ãð0Ã@:7à 1Ã`¸/àÝ.ð@%ü-Ø3Ã!2ÃàØ4Ã@|,ê0Ãé0À¡+À.Ãàm1Ã@d0à 1Ã0+3ðø0Ãð /Ã~-Ä,Ã@í.Ä,ÃW-ÃÐ(6àN1Ãpt,Ã0´1à «,Ã5Ãr/ÃP1àZ/à ·*Ã@v-ÃK/à 4+àã-Ãн2Ã@‚+Ãày/Ãà—*À.Ãph.ÃP…1Ãày/Ã’4ð/ÃPð4Ã`)2ð3àB3àT0Ö)ÃÐÛ-àN1Ãpë-Ãr/Ãé0Ã0=0àÑ0Ã@Ï3Ãà,Ãph.Ã012ÃP2ð-Ã0a*Ãð¦.à Ÿ.Ã@R3Ãàð0àT0à 3Ã!2Ãà.Ãà-ÃÀ´-ð‡.ÃP1àN1ÃÀ%0À-ÃÀŠ4àZ/Ãð5,Ã'1ÃÐÏ/À<'ÃÐR/Ãx.Ãà,à`.Ã0Ì-Ã0Æ.Ãà*Ãà+Ã?-Ã0C/à (-Ãàä2ÃÐ(6Ã@Û1Ãð#/Ã`Ö*Ã`M,À1Ã@ç/Ã`4ÃÐÛ-Ã-0Ãày/ÃpJ3ðu1àN1ÃP‘/ÃÂ0ü1ÃÐÛ-ð‡.àé,ÃP&,Ã`A.à 0Ã0Þ*ÃÀ®.àZ/à06Ã,À.ÃÀ~6ÃàØ4ÃP1Ãà.ö.Ãà‹,Ã0º0Ã`5ÃÐ^-ðæ3Ãã1À‰/Ãï/Ãà…-àZ/Ã-ÃP2Ãày/ÃÀ¨/Ãx.àB3ÃP—.Àƒ0Ã0º0Ã3Ãàð0Ãб4à ".Ã@ù,Ã`¦2Ã`Ü)ÃÂ,Ãà…-ÃÝ2à /ÃÀ1ðc4ÃPê5Ãð|5Ãàö/Ãé0ð‡.Ãpå.ÃÔ-Ãðš0ÃÀ2Ãæ*Ãà‘+à @)ÃÈ+ð‡.Ãð¸+à Ÿ.Ã4ÃðM(Ãpë-Ãð¦.ÃpP2àË1ÃP‹0ðì2Ã@^1ð/Ã!2ÃÀr8ÃÀ„5ÃP.ÃÀÌ)Ãàa3ðo2À1ÃàU5Ã`Y*ÃP/à W:ÃPg6Ã@ç/Ã@«9Ãï/Ãà[4ÃE0Ãз3à 1Ã9.ð{0Àú1ÃÀ®.à<4Ãp*ÃÈ+Ãðˆ3ð"*ðo2à “0ÃQ.Àƒ0àï+Ã-0Ã@)Ãàð0ÃÐ.5ð™+Ãð²,ð/Ã@ç/ð“,Ã@‚+Ãf1ÃpV1àË1ðà4à æ7ÃpP2ÃÀ 4ä1Ã0=0ÃpV1Ãð).Ã`A.ÃZ3Ãð¦.Ãð5,Ãð¦.ÃN5Ã@É4Ã012À /ð¥)ÃÀ®.ÃP.ÃÀ%0Ã@Ï3Ã!2ÃP -ð .Ãàð0à .,Ã-àx*Ã92ð-=Ãà–?Ã=Àq3ÃP?à›9ÃPØ8à 3ðò1Ã@)ÃðS'Ã`S+àN1Ã,ÃÀ+/ÃÈ/Ãx.Ã@X2Ã`¸/Ã071ÃpP2ÃP1Ã`Ž6ÃpÓ1Ãr/ÃÐL0Ã0I.ÃÀ¨/ÃW-ÃP -ÃÐ%àŠ'Ãþ&à +à X%Ã0O-à Ÿ.à×/ÃÀ®.Ãr/Ãà.ÃP—.À‰/ÃÐÃ1Ã@Õ2ÃÀ2ÃÂ0à 2àl,à„(Ã`_)Ã`Y*Ã0a*ÃZ3Ã`Ð+ü-Ã-ÃÐÏ/ðæ3àé,Ãð²,Ãà+Ãàä2Ã`A.Àú1Ãf1À /ÃP0à “0Ã~-ðc4Ã0Ò,ð/Ã`Ð+À.Ã-0ÃP—.ÃÐ44à ™/ÃP£,Ã0U,Ãàö/Ãðv6ÃQ.À¹'à @)Ö)Ã0C/ðo2ÃP1ÃÀ1Ãð¸+àõ*À /ðo2Ãæ*Ãò(Ãð#/à ‡2Àƒ0Ö)Ãp÷+àé,ÃÀ=,ÃP8)Ãð¸+à ".ÃÐX.ÃP2Ã@Ï3ÃPa7Ã9.ÃÀ 4ði3ÃÐL0ÃÐÛ-Ã3/ÃT4ê0àÅ2ÃN5Ãð0Ãpz+ÃÐj+Ãз3Ãà2&ÃÔ-Ã`Ê,àÝ.à (-ð-Ã`;/Ãpb/ü1ð()Àƒ0ÃÀœ1Ãã1àZ/àf-ÃE,Ãé0Ã'1à .,ÃP0ÃÐÏ/ÃÀ1.Ãà…-À.Ã0=0ÃP.Àw2Ã@ç/à Ã(ÃÀ 4ÃpV1Ãàü.Ã÷8ÃÐv)Ãð1À6(ðø0à 6Ã0O-ðà4Ã-0Ã-4ÃÐù(Ãð¸+Ãà+àõ*Ãpñ,Ã,Ãp†)Ã`Ä-ðà4àã-à ½)Ã@Ž)ðo2Ã`š4Ãf1Ã9.Ãà…-ð‡.ÃÐá,ÃÀ®.Ãp÷+Ã@j/Ã`¸/Ã-ÃPµ)ÃÐ^-À¡+Ã`¬1ÃÀ2Ãà+à “0ðø0ÃÐp*ÃP1ÃÀ+/Ãàä2Ãp£9ð“,ÃP‹0Ã`;/ð]5Ã`2à F(à ".ÃÐ.5à .,Ã3Ç%ÃÀÀ+Ãð¦.ÃPö3ðÚ5Ãàs0Ã-Ã0´1à 2Ã`A.à 1Þ2Ã0+3ÃE,ÃÐj+Ã],Ãp\0ü1ÃP -Ãpå.à Ÿ.à “0Ãpë-Ã@á0Ã-Ãð/-Ã,Ãpý*Ã`Ö*ÃÎ.ÃÈ/À1Ã0À/ÃP -Ãàö/à 0Ãu(àN1ÃP2ÃP/Ã@(ÃÀ¢0ä1ü-Ã?-Ã{'Ãð¸+Ã0Ì-ÃÈ+ê0Ã`;/ð"*Ãr/Ã0U,ÃÀ1.àr+Ã`k'Ã`Ä-ü-ÃP‘/Ã0Þ*àZ/Ãp÷+Ã`A.Ã@p.ðà4Ãð).à (-Ãpý*ðø0À§*À¡+À³(Ã0=0Ãðù5Ã@X2Ã0Ò,Ã`Ö*À,Ãàü.Ã@ù,Ãx.ÃÐX.ÃÂ,à 1Ãàð0Ãõ.ÃÐó)Ã0º0À.ÃP,+ð/àZ/ÃÀ¨/Ã`_)À0ÃÚ,Ãpö@Àe5Ã0´1Ã@á0Ã@ÿ+à Ã(Ã0a*ÃPP%à 0Ã9.à «,à {4Ãp\0Ã`š4ð/Ãàü.Ã@d0Ãp*ÃPy3Ã@á0Ãà-ü-ÃÐL0à (-ÃÐX.à ·*Ã@ÿ+Ã`¾.Àú1Ã{'àõ*à (-Ã*ÃP2ð/À§*Ãз3ÃPy3Ã@d0Ãàa3ÃÐÛ-Ãà,à~)Ã@L4Ã@X2Ãà*Ãð²,Ã`50Ãð/-ÃÐç+Ã@d0Ã0C/Ãà…-Ã`/1à ".Ã0s'à @)À•-À›,ÃÐó)Ãð0ÃÀ´-ÃÀC+Ãû-ÃÈ+à @)Ã@ÿ+ÃÀœ1Ã7ÃP2à ±+ÃðÄ)Ãu(Ãpñ,à «,Ã0%4ÃP2àÑ0Ãpt,ÃÀ2Ãpb/Ã`)2ÃÐÏ/Ãð/-Ã`Ä-Ãp\0À‰/ÃQ*ÃÚ,ðæ3ÃP1à Ÿ.Ã!2Ã`A.ðu1Ãr/Ã×3Ãp>5Àú1Ã?1ÃPü2Ã0Ø+ÃW-ÃPy3ÃÐÏ/Ã@j/ÃðS'Ãð5,ðø0À-Ã`â(Ãð¬-ÃÐÏ/ÃÐ:3ÃÀ7-Ã0Æ.Ã0º0ö.àé,àZ/Ã`¬1Ãàð0ÃÐÛ-ÃÐÉ0Ã0º0Ã@.9ÃP/Ãð¦.Ã@d0Ãx.Ãp86Ã@Ï3ÃP1àË1ü1ÃÐÕ.Ã07Ã`;/ÃpP2Ãày/Ãð0Ãàg2Ã0Ò,ÃÐF1Ã-0Ã9.à “0ÃÐ:3ÃK/ð-Ã’4Ã`¸/Ãð/-ÃZ3Ãõ.ÃPü2àN1ÃÐÛ-Ãà-ÃÐÃ1ð/ÃÝ2Ã`¬1Ã`²0Ãà+ÃÐR/ÃpP2Ã0=0ÃÚ,ÃP‹0ð3Ãph.ð.(Ã@#&à×/Ã0C/à ".ðÚ5Ã`G-ÃÀ¨/ö2ÃàÞ3ü-Àƒ0Àƒ0ÃPü2ÃN5Ã],ÃP—.Ãð¾*Ã0=0ÃP—.Ã`¦2ÃÀœ1è&ÃÀ3ä5Ãf1Ãн2à .,Ãðˆ3Ã4Ã@ù,Ã4ÃÀC+Ãð¦.Ãpë-Ã@d0ÃÀõ7Ãà‘+àï+Ãð‚4Ãày/Ãp†)Ã0º0Ãp÷+à ‡2ÃP2ü1ÃðŽ2Ã`A.à 3Ã@Ï3Ãpë-Ãàü.Ãð).Ãé0Ã` 3Ãp€*ö.Ã`;/Ê+Æ6ÃPö3Ã92à (-ÃP-ÃàØ4ÃP‹0ÃP…1Ãàö/Ãð;+Ãpn-Ãàm1Ã`A.à 3Ã0º0à 3ð3Ãð#/Ãþ&ÃE0Ã`A.ÃpÍ2Ã@Û1à ¥-Ã9.Ã`5à¡8ð/ÃÀ3Ãð /ÃpÓ1Ãàm1Ã~-Ãà-à .,ðQ7ÃpÍ2Ã92à ".ÃP,+À1à³5Ã7à ".ðø0Ã@|,à`.à 4+Ãpß/ÃW-ÃQ.ÃT4Àw2Ã@|,ð/ö.ÃÀº,ðþ/Àƒ0à (-Ãp»5À0Ã@X2Ã@d0ÃÀÀ+Ã(Ãð”1ÃpP2Ã`#3Ø3ÃP-Ã4Ãн2Ãà-ü-Ã0º0ÃÐd,Ã)Ã0U,Ã3/ÃÐç+ÃÀŠ4Ã?-Ã9.ÃÐÏ/Ã0º0Ã@Û1Ã@Ž)Ãæ*Ã0Ò,Ã@p.Ã012Àî3Ãû-Ã0Ø+À0ÃðG)ÃÐ:3ðo2ÃP&,Ãpt,À<'Ãà—*Ã`e(Ã@p.ÃP‹0ÃpÙ0ÃÐÛ-ÃW)ð™+àZ/ð‡.Ã@ˆ*Ãà+Ãàa3Ã'1ð"*Ãà+Ãàê1à ½)à F(Ã`²0ü-Ã`Ð+Ã@j/à ·*ð+Ãp’'ü-ÃP8)Ã`Ð+ÃÀ´-Ã*à 4+Ãpå.ÃP&,Ãà…-ÃÔ-ð“,ÃÀI*ÃðA*Ã0Ø+Ãò(Ã0ä)À¡+ÃÐÿ'à L'ÃД$ÃÐv)Ãpt,ÃÀC+Ãø#Ã-à ‡2ÃÀU(À /Ã0m(Ã`Ü)Ã%'Ãð;+ðþ/Ã@á0Ê+Ãð5,Ãõ.À.à 1àã-Ãi*Ã0À/Ãr/à Ã(À<'à :*ÃÎ.Ã@p.À$+Ãl0ÃP0Ã0º0ðø0Ãf1Ãà‘+Ã0"ÃE0ÃðÄ)Ãpt,Ã0Æ.Ã`A.ê0Ã`š4Ã@á0Ãp€*Ãà-ÃP—.ÃK/ÃÐç+ÃP,+Ãp!%ÃðÊ(ÃàP!ð™+Ãð²,ÃP -à ±+ÃÐ^-Ãð4Ãð²,Ã@^1ÀB&ÃÐR/Ã`G-Ã0ê(ÃÀ2à 'ÃðÊ(Ãày/À›,ÃP.à ½)Ãà.Ãõ.ÃðÄ)ÃÚ(Ã@í.Ãpß/ÃÐR/ÃÚ(À0)Ãp\0Ãf1ðu1Ã,à ½)Ã0Æ.Ã`)2ÃÀœ1Ã`S+Ã`Ð+à ".ðþ/à$8àÑ0Ã@‚+ð‡.ÃE0Ã33ÃÐF1À§*Ã0m(Ãà&(ÃP-ÃÀ7-Ê+ÃP‹0Ã0®2ðþ/ÃP2ÃpJ3Ãx.Ãà‘+ÃÐF1ù8À0Ãàð0Ã@ÿ+ÃÐd,ÃðG)àZ/ðæ3Ã`Ö*ÃÀ7-àT0Ã@É4Ã`¦2Ã0Ø+ð/Ãl0Ã`50Ãðš0à 4+Ãp\0àB3À.ð/ðþ/à 0Ã@R3Ãàm1Ã?1ê4Ã@d0Ã0ö&Ã0C/Ãн2àZ/Ã?-Ã@ç/àB3àN1ü-à <à9ÃÐ:3ÃÀ+/Ã`;/Ãð/-à ½)àN1à .,ð«(ÃP/ÃP2Ä,Àô2àã-À0Ãc+Ã0U,Ãpz+Ã-0à ".à ¥-Ã1%Ãã1Ã],Ã@í.Ãàð0ÃÐç+ÃÀ=,Ã@ç/ðþ/Ãà.àN1Ãàg2Àƒ0ÃÀ1À›,Ã@ù,Ã'5ÃP‘/à ·*ÃÀ1.ÃpÍ2ÃðA*Ãàm1Ã012ÃÐX.ÃÂ0Ã3/ÃÐ@2Ãr/ÃP.Ã`;/ÃP/ÃPg6Ãx.ÃÀœ1À0Ãð0Ãà…-Ã@+Ã`A.ÃpD4ÃPü2ÃÐp*ÃP/Ã@p.Ã?-Àƒ0àÝ.Ã`_)Ã5ðò1ÃÀ%0Ã0º0Ã0À/à “0Ã`4Ãã1ÃÐù(ÃÐX.ÃPy3ÃÈ+ÃP—.ÃÐÛ-Ã`¸/àé,ÃP‹0Ã@ó-Ã`50Ãà.à`.Ã0=0Àw2ÃPð4à§7ð4'à Ÿ.Ã`¦2Ãà…-ÃÀ¢0ÃÐR/Ã012Ã`²0Ãph.ÃÐX.Ãr/àÑ0Ãpë-ÃÚ,ü-ÃÀ5ä1Ã`#3Ãé0Ãð#/ÃpP2àé,Ãð).Ãp>5à<4Ãp†)Ã9.Ã`#3Ã0À/ð{0ÃÐR/ÃÀ1Ãàä2ÃÀº,Ã@ù,Ãé0Ã0I.ÃÀ2Ãб4Ãàü.ðø0ð+à~)ÃP2Ã@Õ2ÃK+Ãð¸+Ãpë-Ã@^1Ã`50Ãû-Ãr/ÃÐÏ/Ãû-à 2Ã@ÿ+Ãò(Ã0a*Ã@Û1ÃГ9Ã`¾.À6(Ã0®2à Ú9Ã0¨3Ãð1àZ/Ã92ÃP/à .,ö.Ã`Ê,Ãà—*ÃP/Ã0U,Ã-À,Ã@d0À1àÑ0À‰/Ãé0î%Ã`_)Ãð¾*à “0ÃÀ1.Ã0a*ÃÐÏ/Æ6ÃÎ.ÃT4ÃÐÕ.à ±+ÃÐí*Ã@”(Ãà.à ¥-Ã@ÿ+ÃH6Ã` 3Ã`Ö*ÃK/Ãø'àé,Ã3/à 2ÃàI7Ã@R3à³5àõ*Ã@j/Ãà.ê0ÃÔ-ðø0à þ3à ™/Ãpt,ÃÐj+À.Ã@^1Ãà.ö.ÃP2*Ãð /Ã-0Ãà©'ÃÐ^-ðŸ*à<4Ã~-À‰/Ãl0Ã@j/ÃE,Ã0I.Ãð 3à ".Ãð²,Ãp€*Ã`Ð+Ãð¬-ÃÐ^-Ã071Ãð0àH2à Î;ð/Ãõ.Ãð1Àw2Ã9.Ãà…-Àƒ0ÃÀ2Ã`²0Ã@v-ÃÐÛ-ÃP2*Ã0Ì-àï+Ã0¨3Ã!2ÃPs4Ãpý*ÃÐÛ-Ãð5,àã-Ãð²,Ã07ðì2ÃðŽ2Ã0Æ.ÃP»(à ±+à 3ðu1ÃP‘/À.Ã0%4ð,Ã0[+Ãû-à&ö.à`.ÃP—.ÃpJ3Ã@á0À•-Ãàð0Ãpb/à ¥-ð±'ü-Ã0Ò,Ãpt,Ã`)2àB3Ã0Ò,ÃÀ=,À‰/ÃÐF1Ã0+3Ãð5,àŠ'ÃÀ7-À­)ð,Ãà.ÃÀÌ)ÃP©+Ãpt,ÃÀI*Ä,Ãày/Ãð¾*Ã0À/ÃP-à “0à ·*ÃÀ=,Ã0Ì-Ãà*Ã`²0àl,à (-ÃÀ+/Ãà‘+Ãø'ÃP -Àú1Ã@d0ð:&ðÃ$Ãà©'Ãà+Ã0º0ÃP0àZ/Ãpë-ÃÀ2Ã@ó-ü-ÃÀ3Ãp£9àõ*Ã`¾.ÃÀ1ÃÐá,ÃÐX.ÃÀI*Ã`²0Ãã1Ãð /ÃðM(ÃÐí*ÃP©+à .,Ã@í.Ã,Ãò$ð:&Ã0Ò,àr+À$+À.Ãàa3Ãà‘+Ã`Ê,Ü(À0Ãà+à ½)Ãà.Ãp\0Ãph.ÃÐÉ0Ã@|,Ãpñ,Ã@ù,Ã`¸/ÃÀI*Ã0=0Ãã1Ãà )Ã`}$Ã@ó-à ™/Ãà‹,à ½)Ãà£(ÃÀ7-Ãà*Ã9.ÃðÄ)à Ã(ð+ÃÀO)Ãpn-ÃÐÕ.Ã0Æ.ðø0ÃpV1à 'ÃPØ8Ä,Ã` 3ÃÅ6Ãà‘+Ãph.ÃP0àé,Ã@X2À,Ãà.ðu1ð-Ãr/Ãp÷+ÃðA*Ã`Ð+ÃÀº,Ã0À/ÃÐX.Ã!6Ãé0Ã`²0Ãp )à .,Ã!2àË1ð±'ÃP»(Ã0®2Ö)Ãà,ÃÀC+Ãp†)à ™/ÃZ3ÃàÞ3Ãàð0À-ÃЫ5àÑ0Ãàs0ð™+Ãpë-Ã@á0ð-ÃÐL0Ãph.ÃðA*Ã@ó-Ã@|,Ãàm1ð“,Ã0Ø+Ãð 3ÃÀº,ÃÂ0Ã@Û1ð,Ãpt,ð .Ã0+3ÃðÄ)Ã`6à þ3Ã0´1à 1Ãð2Ã@X2À1ÃÐÉ0àË1Ãð²,ÃP2*Ãàð0ÃpÓ1Ã`6ÃpÙ0Ãð).ÃP.àN1Ã@R3ÃÂ0ÃÐj+ÃðG)Ã0Æ.À}1ÃÐp*Ãà+Ão)Ã@|,Ã@ó-Ãp&ð/ðò1Ãpý*à “0Ãày/Ã@j/À**Ãð0Ã0ü%Ãð²,ÃPs4Ã@ç/Ã@(Ã@ˆ*ÃW-ÃpV1ÃÀO)ÃP&,ÃpÙ0ä5Ãð/-À,ÃЈ&Ãà.ð‡.à :*àã-Ãà‹,Ãì)Ãð5,Ã@)Ãpë-Ãpå.à Ÿ.Ãà‹,Ãæ*ÃðY&Ã@Ž)Ãz8à 1ð/À³(à(Ã`_)ð“,ÃÐj+ð«(Ãu$ÃC"À-Ãð¾*àx*ði3Ã0=0à ±+Ã@j/àã-ÃðS'à @)Ã0g)Ã`e(Ã`k'à «,À-Ãðˆ3À‰/Ã0+3ÃpD4Ãpý*Ã{'Ãà2&Ã,À¡+ÃÔ)Ã@|,à (-ü-Ãð /Ã0a*Ãð0ÃP1àé,Ãн2Ã-0ð/ÃpJ3Ãð2Ãpz+à «,à×/à “0ÃÎ.ðþ/ÃÀÀ+Ã`S+Ão)Ã0Þ*à®!Ã@ç/àã-ÃP1à .,Ã,Ãð/-Ã`/1ð/Ã`Ê,Ã`¾.Ã{'Ãð¾*Ãp\0Ãpß/ÃðÊ(Ö)Ä,Ã@ó-À-ð‡.Ãàm1ÃP -Ãpý*Ãà—*Ãõ.Ãp*Ãà+Ã`A.ÃÀ+/ÃðG)àl,Ã*Ã(À›,ÃÀÆ*à +àÝ.ÃW)ði3ÃÐR/â'Ã*Ãà¯&ð™+Ãà.Ã`/1À›,ÃàÇ"Ã`è'Ão)Ãð).ÃP/Ãà-Ã?-ö.Ã@Õ2Ãà‹,à “0ÃÀ=,ÃÈ+ö.Ãà—*à :*ð-ÃP—.Ã0¢4Ã0a*ÃÀ7-à (-ÃÀ1Ãà‘+Ãpn-à +Ã`M,Ã0U,Ãà)Ãàg2Ã0Ò,Ã`Ê,À•-à~)Ã0I.Ã9.Ã)ÃÀÒ(Ã@v-ÃðÄ)à Ã(Ãà&(ÃðS'à L'Ê+À,ÃÐd,ð«(Ã],à 4+ÃÐÏ/à /ÃK/ÃÐÉ0ÃÀC+Ã0a*Ãpž%ÃÀÆ*àõ*Ãà2&ð-Ãð2ÃÐL0Ã4à .,àã-À¡+Ãà*Ã~-ð{0àã-Ãà )Þ2Ã0U,Ã`¸/ÃÀI*Þ2Ã@ˆ*ÃP/Ã],Ã@”(Ã@ó-Ã0Ø+ÃÐ@2À}1Ã@ç/Ã@ó-ÃÀC+À¡+à :*Ã@)Ãu$Ã0Þ*ÃP8)Ãà+Ã@ˆ*ÃÐ^-àÑ0àZ/Ã0Æ.àT0Ãp'À¡+Ã@ç/ÃÔ-Ã0s'Ã`q&Ã@p.àf-ÃÐá,ÃÐÉ0Ãàü.à 2Ã0®2Ãð2Ãà.ð“,à ".ÃÀÌ)Ã@v-ÃÐù(Ã@v-ÃP—.Ãàm1Ãà-àõ*ÃP2*Ã@ó-ÃÐL0à «,Ã@á0Ãà‘+ÃðÜ%ÃÐj+à 4+Ã0Ì-Ãì)Ã&Ê+Ö)Ãð5,Ãp*ð-Ã@í.Ã`Ê,ð™+Ãp¤$ÃÎ*Ãi*àé,Ãp»5ÃÀ3Ã`;/Ãàð0ð¥)Àƒ0Ãàö/Ã`M,Ã0=0ÃÀ¨/ÃpÁ4Ãr/Ãð#/Ãà©'Ã@Ž)Ãc+Ã`M,Ãàü.ü-à Ÿ.Ãð¾*Ã`Ä-Ãæ&ð¥)ÃPü2à×/àï+à .,Ã`M,Ãpb/à 1Ã92Ãð).à ±+ÃP,+Àq3ÃP¯*ÃÔ-ðþ/Ãæ*Ãà‘+Ã3/Ãpñ,àã-Ã0Æ.ð‡.Ã@ù,à ".ä1ð¥)Ãà‘+ðò1Ã@R3ð-Ãàê1Àq3À0Ã@ç/ÃpŒ(Ã`Ä-ê0à 1ÃàÆ7ÃÐL0ðu1Ã@d0Ãàm1Ãp\0Ã@½6àl,Ã`#3ð™+Ãð5,à ±+Ãpb/Ãð¦.ÃP1Ã0Ì-ÃÀ2ÃpV1ð‡.Ã!2ÃP2Ãàm1Ã@ù,à 0Ã`4Ã0m(ÃÐX.ÃÐ^-Ã'1ÃÐÉ0Ã`¦2Ãp»5ðu1Ã*Ãl0Ã9.ÃÐp*Ã0I.à 1à 1ÃÐç+ð-Ã@|,Ã-0àŠ'Ã~-ð/ÃP.ÃÀê$Ü(Ã@v-à /ÃÀ´-ÃpÙ0ÃpÁ4Ãàs0À.ð-Ã%'ÃÀO)Ã,ÃÐj+Ãð/-ÃP8)ÃQ*ð/À0Ãà+Ãõ.Ã@ˆ*ö.Ãà…-Ã`A.ü-ÃK+Ãàä2ÃPy3Ã`;/à /Ã`â(À1Ãз3à 1Ã@í.ÃÀÒ(ÃÀÀ+à Ÿ.àr+ÃN5Ãõ.à 1Ã05ÃpD4Ã0´1Ãà)Ø3ÃPð4Ã0g)Ãз3Ãð²,à×/ä1àx*Ã@(à ±+Ãàs0Àe5ÃpÙ0ÃÈ/Ãà.ÃàU5Àw2Ã?1ä1ÃÀÀ+ðì2ÃÂ0ö2Ãp>5Ã@Û1Ãph.ê0Ã`)2Ã0Æ.Ãð1ÃPy3ÃP2À,ÃP0ÃPm5ÃÐL0à ¥-ä1à 3Þ2ÃK/ÃÀ5à þ3Ãpn-Ãà.Ãl0ÃÀ1.à u5Ã`6Ãà.Ãð¸+ð¥)À /Ã@j/Ã@F5Ã0Æ.Ãx.à¿3ÃÐ^-Ã@F5à 3àB3Ãðÿ4ÃÀ1.Ãð4Ã`Ž6Àƒ0À‰/Ã`50Ãp>5Ãð”1À§*Ãз3Ã@R3Ãð”1Ãp»5ÃÎ.à¿3à~)Àƒ0Ãõ.ÃP‘/Ãpë-Ã`5Ã`;/ÃÀº,Ã0¨3ÃÀ%0à ™/ÃH6Ã0%4Ãàm1Ã0º0à ‡2Ã`Ž6Ã@”(Ãà.Þ2àB3ÃÐ44ð3Ãà2&Ã`Ê,Ãp>5Ãàð0ÃPð4Ãàê1Ã`6À³(Ãðù5ÃN5ð™+ÃpÇ3ÃÀÆ*ÃÎ.Àw2Ã0[+ÃÐ:3Ãàä2Ã@(:Ã7Ãð0Ãp\0ð-Ã`G-Ã-4Ã`6ÃÀ®.ÃpV1Ãpå.Ãð#/Ã`â(ð“,Ãpb/Ã,ÃÀ¨/À‰/ÃÀ1.à R&Ã`²0à 3Àè4ÃÀ1Ã'1Ã@Ã5Ã`¦2ðÈ8ÃPê5ÃðŽ2ÃÀ7-Ãu(Ã0º0À /à 3Ã0º0ÃpD4àN1ÃPð4ÃÀ6ð .ÃÂ,Ã`¾.ð/ÃpV1ÃP©+Ãà,ÃP0Ã@v-Ã0Æ.Ã3/ÃÐí*ÃpP2Ãð1Ã@v-Ãæ*Ã0Ø+À.Ãð0Ãà.Ãð”1Ãàm1Ã@ó-ÃP0Ãp\0Ãàm1ðu1Ã92Ãà )Ã`¾.ð,Ãàð0Ãð|5ÃK+Ãàm1Ã`¬1ÃÎ.ÃÀ2ÃÀ5ðø0À‰/à /À_6ðc4ÃP2*Ãð/-Ãà=9à ™/à06Ã`š4ÃÐu>à ]9Ã@L4Àq3ÃP2Ãàä2Àw2ÃÀ5Ãð|5ÃPö3ÀH%à&À¡+Ã-à “0à`.ÃÀ´-Ã92ü1Ãн2Ã@L4À1à ]9ÃP2ÃPê5ÃÀ–2Ãð¬-ÃP—.Ãl0Ã0®2ÃE0Ãð;+ÃÐ^-Ã3à ™/Ãà.ð .Ãðš0ÃpÓ1ÃðŽ2À.Ã@Û1Ä,Ã0–6Ãðš0Àâ5ÃÐp*àx*ÃPm5ÃP/Ãày/Ãð¸+ð“,ð .ÃPg6ÃPg6Ã@ç/Ãà[4Ã0Þ*Ãàö/ð-Ã0¢4Ã0Þ*Ãàm1Ã@ç/Ãpß/ð™+àÅ2Ã`)2à ø4Ã@Õ2Ã@ó-ÃÀ+/Ãõ.Ã`²0àË1ð“,à i7Ã@ó-Ãé0àÝ.ÃÀ1ÃPÀú1Ã0[+Ã@Ž)ÃPð4Ã0=0Ãà*ÃPµ)Ãø'Ã0=0À-Ãàg2Ã`Ä-àH2Ãï/à ½)ÃÀÌ)ð()ð/Ãà…-ÃÀ´-Ã9.ð“,ÃP‹0ÃÂ0Ãà+Ã0Ø+Ãã1Ã'5Ãp»5Ã`2Ã@d0Ãx.ÃàÞ3ÃÀ®.ÃÂ,à ‡2ÃÔ-ÃÐ@2àË1Ãpå.ÃÈ/ÃÀ3ÃÐ@2ÃPa7ð“,ð .à 4+Ãø'À-À0)Ã0I.ÃP©+À•-àé,ð-à .,ÃÀC+Ãàü.ÃÐF1Ã@Ï3Ã`â(Ã@ù,Ãð;+Ãð#/àÑ0Þ2Ã@í.Ãx.Ãàm1Ã@)Ã@(Ãð).à 0ð“,Ãph.ÃQ.Ãð).à ".ÃPs4Ãì)Ãð2ÃË5Ãàm1Ã`}$ÃÀ+/ÃÀ1Ã0À/Ãð1ðu1ä1Ãà…-Ã`è'Ãà—*ÃPÌ:à E=Ã`50àÝ.ð/Ã0Ì-Ãx.Þ2ÃÎ.ÃÐd,Ã` 3ÃÐ$à ¥-Ã`50Ã-0Ãð1Ãð5,Ã`G-Ã`Ö*Ã`²0à þ3ÃЈ&Ã0ö&Ã*Ãà.Ãx.Ã`5Ãð).Ãp÷+Ãð¬-à 0Ã0Ì-àï+Ã3/ÃÀ´-àŠ'ÃP0ð“,Ãu(ÃÐj+àÑ0Ãð /Ã`¦2ÃK/ÃÀ1.Ã0Æ.Ãx.Ãð 3Ã@ù,ÃÀÀ+ÃÐ^-ÃÀ=,Ãpb/ð-Ã`_)Ä,ÃÀ®.ÃP,+à~)ÃÐÏ/ÃÐX.ðò1ð+Ãà.Ö)Ã0ê(Ãà+Ã`¬1ð/Ã@p.ÃÀ%0Ãc+Ãpß/ü-Ã@ó-Ã0 8Ã'1Ã0a*ä1Ãã1àT0ÃE,Ãr/ð™+à 1Ã@Û1ÃÔ-Ã%'àT0à ·*Ã0a*àã-À‰/Ãæ&ÃQ*Ã0Ì-ü1ÃÀ%0ÃK+ÃÈ/ÃÐp*Ãð/-Ã0O-ÃPü2à {4à ‡2ÃÐù(Ãð1àÑ0à 0ÃÔ-À0ð/à +Ãà¯&à ±+ÃpŒ(àl,àï+Ãf1ÃÐù(à 4+Ã@)à ¥-À7ð“,Þ2ÃP0Ã@j/à 0ÃP—.ÃÐÛ-À§*Ã@ˆ*Ãp*ÃP,+ÃðS'Ãpë-àï+À-ÃðÄ)Ãð;+Ã0I.ÃP.Þ2ÃàÞ3ê4ð/ÃPµ)Ã@p.Ã0ê(Ã0ê(ÃÐ|(ÃPÍ%Ãà )Ã`¸/ÃÐ.5ÃK+à`.à×/Ãpn-ð±'ÃP£,Ã0I.Ã`S+àï+ð"*Ãà.ÃðG)Ã'1ÃP -ÃÀÀ+Ã@|,Ãx.ÃÀI*ÃÀ¢0ÃÀ¨/Ã"à L'Ã@p.ÃÐ:3à ™/Ãi*Ãà©'ð«(Ãð#/Ã`;/ÃP1Ãp†)ÃÀC+ÃÐÕ.à ¥-Ãr/Ã@ç/Ã@L4Ã`2Ãpñ,À}1Ã`)2Ã7Ã@‚+Ã0º0ÃÀû6Ãà,ÃðG)à 1ð/Ãàö/à Ã(Ãà.Ãæ&Ã0À/ÃÀ=,à (-Ãð).Ã0a*ðŸ*ÃÂ0ð{0ÃÐó)Ãpz+à /Ãð¦.à É'Ã@)ð-à 1Ã@p.Ãð).ÃÀº,ÃÀœ1Ã`š4Ã0Ò,Ã0C/ÃQ*Àƒ0à 1Ãð0Ê+ÃP/ÃÐR/ð/Ã`Y*â'Ãð1ÃÅ6Ãl0àl,àÝ.ÃÐÃ1à ø4ÃÂ0Ã`M,Ãà+ÃÐR/ÃÐó)ÃÀ=,Ãð²,Ãð/-à¿3Ãð0ðo2À‰/Ãp†)Ã*ÃðG)À /à­6ÃÐ@2Ãð|5Ãï/Ãpb/Ãð /ð“,Ãð0ÃÐj+Ã`â(Ãð¾*Ãpý*ä1Ãð¬-Ãà-àl,ÃÀÀ+ð-ÃPÇ&à×/ÃÀœ1ð,à 4+Ã`¸/ÃP,+à Ã(Ã@48ð{0Ê+ÃÀœ1ÃÀ3ÃPg6ð+Ã@ÿ+Ã,Ãðš0à (-Ã@F5Àô2ÃÀœ1à i7ÃÝ2À$+Ãp&à„(Ã0º0Ãf1Ãà+Ã'1Ãð¬-ÃÐd,Ãðv6À‰/Ãæ*Àƒ0Ãp\0Ãà.Ã0Æ.à×/Ãð¦.Ã33ÃÐ@2Ã@É4ÃÐÉ0Ãà-Ã'1ÃPy3Ã`G-ÃÐv)à Ÿ.ÃÐÕ.ðø0Ã`2Ã%'Ã0Ø+Ã-0Ã@Ï3ü1àT0Ã0C/ðŸ*Ã@ˆ*ÃP&,Ã`5à×/Ãc+ÃðÖ&Ãp€*ÃÀ2ÃÎ.ÃÈ+À•-À¡+Ã@Ã5Ã0¨3ÃT4à ‡2ÃPê5ð]5à Ÿ.à Ï&Ãr/ö2ÃP,+ÃÎ.Ãt9Ã@í.ÃÐR/Ã0ö&ÃÐÉ0ÃÐÉ0Ã`”5Ã!2Ã!2ÃP‹0à`.Ã0Æ.Ãð /Ã0[+Ãð”1Ã-ÃÐÕ.Ãн2Ã`#3Þ2ÃP-Ã`2à$8Ã0œ5àË1Ã-0ä1Ã0®2À1À.ðŸ*Ãð1àï+Ã0[+ÃP2Ãàs0ÃÀ¢0ÃÐÏ/Ã`S+Ã0O-Ã071ÃÀ´-Ã0Þ*À.Ã`)2ÃP¯*Ã(àN1Ãl0ÃP£,ÃÐÏ/Ãð;+Ãpt,ÃÐÕ.ÃpÙ0Ã0a*Ã`S+ÃàÆ7ÃpÁ4ÃÀ–2ÃðA*Ã`S+ÃЂ'Ãð#/Ã`¾.ði3ÃÀ1.Àq3Ãà-ÃP¯*Ãp†)Ã92àÑ0ÃÐ@2à³5ÃK+ÃP.ð.(ê0Ãð¬-ÃP©+ÃÀ7-ÃÈ+Ã@F5ÃÐF1à “0ÃÀ®.ÃÎ*À›,Ã07Ã@p.à 1àé,à /Ãà…-Ãð‚4ðì2Ã@d0ÃðÄ)ÃpV1Ã`²0ÃE,ÃP -Ãà‘+Ãf1Ãl0Ãl0Ãàs0Ã-0ð‡.àû)Ã3Ãpn-Ãà,'à @)ÃW)Ãpt,Ã`e(Ã`Ö*à×/Ã-0àx*Ãì%Ãðˆ3Ãà»$ÃÀ+/ð‡.ÃPÞ7Ãõ.Ãð²,Ã0C/Ã`¬1à ¥-Ãà¯&Ã?-ð-ö.Ã0C/Ãp˜&Ã@|,àœ$Ãð0ÃÀ´-ÃP£,Ãà+ÃW)Ã@í.Ãà&(ÃÀ´-ÃÀœ1Ã'5Ãàä2ð-ðL#ÀB&àï+à «,àT0ð+ÃÐù(ð/ÃÐ"7Ã\=Ã0ä)Ã`;/Ã3Ãà—*ÃP—.ÃP¯*À›,À$+ÃpP2Ã@ó-ÃÐÕ.Ã`¬1Ãpt,ð™+ð«(Ãà.Ãàs0ÃÈ/Ä,ÃÐj+Ãpn-ÃàO6à 3Ãð2Ãðˆ3ðo2Ã`¾.Ãp*Ã`Ö*Ãp÷+ÃÀ=,Ã`A.ü-ÃàØ4Ã@j/ÃP…1ÃÐÕ.Ãð).Ã`Ð+ð{0ÃP/ÃÈ+Ãð#/ð{0ÃÐF1ÃÀ+/Ãpë-Ã0Ø+ð™+Ã0º0Ãp>5ÃÐ.5ÃPê5ÃŒ5Ãã1Ã0¢4Ã`;/Ã0Æ.ÃðÐ'ÃÀ¨/Þ2Ãð‚4àõ*à (-Ã@á0ÃPg6à65à “0Ã-Ãpb/ÃÐ:3Ã@ *ÃÀ¢0à {4Àw2à (-Ãà‘+ð-ÃT4à Ÿ.ð"*Ã`q&ÃP -ðu1à65à 1ð“,Ã@v-Ãб4Ã`/1ÃpD4ð/Ãð0Ãà£(àB3à ".ÃП7ÃPð4ðò1ÃE0Ã0I.Ã`¸/ÃÀ¢0Ãз3Ã012Ãð;+Àú1Ã@p.ð]5ÃpÍ2Ãpß/Ã?1Ãpß/Ã×3à /ÃÐá,ÃÐF1à /Ä,Ã0®2ÃЫ5ù8Ãð 3ä1àN1ÃÐv)Ã@Ã5Ãð1à (-à /ÃPØ8Ã~-ÃpÙ0Ãf1Ãà¯&Ãé0Ã`¦2ÃZ3À‰/ÃP©+Ãàð0àB3Ã`4ÃPy3Ãн2à 4+Ã-4Ã`50Ã0Ì-ð/Ãð0Ã<8ÃpÇ3Ã-Ãàa3ÃÐF1Ãpµ6à þ3Ã@j/àÑ0à ¥-ðÔ6ä1Ø3Ã0œ5Ã@F5ð{0Ã@·7ÃPy3ÃÀ6ä1Ã@F5Ã-4Ãð¸+ÃðŽ2Ã@í.ð‡.Ã-4Ã`/1Ã0œ5ÃÀ1Ãð0Ã?-à×/Ãé0ÃP,+à /àH2Ãàs0à×/ÃÀ~6ÃÐd,à 0ÃP2ð-Àô2ÃÐÃ1ÃÎ.ÃÝ2àZ/Ãpå.À0Ã0´1Àƒ0ÃP1à ‡2Ãà.Ãpý*Ãð0Ã`2à ™/ÃÐ^-à ‡2àr+ÃpD4Àô2Ã@)ð/Ã3ð“,ÃÀ+/à×/Ã0Ì-Ãã1Ãð2Ãðš0Ã4Ã3/ÃÐá,Ã@^1Ã0+3Ã0C/Ãp )ÃÐ.5Ã0[+Ãà,Ã012Ãð1Ãн2ö2Ã`š4Ãðˆ3Ãð1Ã0Ì-ð/ð·&Ã`²0Ã`Ü)ÃÀ¢0ÃPµ)ÃП7Àe5Ãð²,à¿3ÃP0à`.ÃÐá,ÃÀœ1Àw2ðæ3à “0Ãàö/À.Ãð|5ð .ðì2ÃÀx7ÃpD4ð{0ÃÐÃ1ÃpÍ2Ã0U,Ã`/1Ã071Ã`è'Ãã1Ã@Û1Ãàä2Ã012ÃP‹0àË1ÃÀ3ð()ÃPm5ÃÐ.5à 0Ã0º0Ãr/À,ÃÐ:3ÃÝ2Ã92Ã`¾.ðÚ5à¿3ÃÂ0ÃpÙ0Ãr/ÃÈ/ÃÀû6Ã071Ã?-Ãpñ,Ã-4Ã'1ÃÀ1àT0à {4ÃPä6Ã`”5Àô2Ãx.Ãpn-ÃP/ÃP.Ã@ÿ+Ãõ.Ãl0Ã0+3Àw2ÃÎ.Ãð1ÃÀ®.Ãð2àÑ0Ãàê1ð™+ö2Ãð¸+Ã0I.à ¥-Ã-àõ*Ãà…-ÃP&,Ã0Æ.Ã*ÃÐí*Ã05Ãl0ÃÀœ1Ãû-À**Ã@ &ð·&ð¥)Ã@ *ÃW-Ã*ÃPö3ÃÐÃ1à ™/Ã@v-Ã0Ò,Ã0´1à ¥-Ã`G-ð‡.Ã`e(Ã@X2Ã0%4ÃP‹0àH2ÃP.Ã`Ä-Ã`Ð+ÃP‹0ÃÐX.ö2ÃÀÒ(Ã`S+Ãðˆ3Ã@p.Ã?-àã-Ãà.ÃÐ:3Ãl0Ãð2Ã`G-ÃÐd,Ã`Ê,Ãð1Ãð0àN1Ãpý*à 4+Ã@p.ÃÐÕ.ð-Ã`/1Ãã1Ãã1à*7ÃÐ:3Ãð2Ã0Ì-Ã0C/Ãàs0ÃÎ.ÃðÊ(Ã?1àÑ0Ã` 3Ãð”1ÃàØ4Ãð#/ÃÐL0Ã`)2À /ð/Ãf1ð .Ãà.Ã`M,Ã0U,ÃP,+ÃÀÀ+Ã@í.Ãðš0Ã0Ì-ÃP‹0ÃpÇ3ÀY7ÃàØ4Ãà,Ã0U,à 2À›,Ã`/1ÃÝ2Ã`/1ÃÐd,ÃP&,ðø0Ã@ÿ+ÃÐR/Ã0¨3ÃPä6ðò1Ã@v-Ã@^1Ãpµ6Ãàg2Ã`_)ÃPö3àÅ2Ã@@6ð3Ãr/Ã`#3à á#Ãpý*ð/ÃPü2ÃÀŠ4ðu1ÃÀ2ÃÀ+/ÃàO6ÃP©+Ãð#/ÃÐÏ/à /Ã?1Ã012à 3ÃP0Ã`5ÃÝ2ÃÐÃ1ÃàC8ÃP1à 1Ãf1ÃPO:Ãpå.àB3ÃÀ–2Ä,ÃP-Ã'5Ã0®2ÃPg6ä1À0ÃðG)Àƒ0ð .Ãë:ÃP—.Ã`S+Ã@R3Ãн2à {4à æ7à ¥-ÃÐR/ÃPa7à c8Ã0I.ÃÈ+Ãàg2ðu1ÃÎ.Ã`Ä-à ±+Ãð¸+Ã@ó-Ã@ &ÃP1à .,Ã`¸/ð-Ø3Ãз3à¿3à`.Ã,Ãàü.Ã0–6ÀY7àZ/ü1à ì6ÃZ3ðà4à þ3Ã0Ø+ÃÀÆ*ÃÀœ1ðÚ5ÃBÃå;ÃP‘/ÃЫ5Ãàs0ü1ÃÀº,ÃP -Ãpt,Ã~-ÃÀœ1Ã0´1ö.ði3Ã!2Ãð).ÃÎ*Ã0C/ði3ÃpÓ1Ãàg2ÃÚ,Ã0I.Àú1Ãf1à<4Ãày/àÅ2Ãf1Ã3ÃÀ1.Ã0O-ÃÀ2àÑ0Ã92ðo2à ¥-Ã@ù,ÃP1Ãp>5ð‡.Ãà.Ã@Õ2ÃàI7Àô2à×/ÃÝ2Ã`M,Ãà.Ã@F5Ã@·7À1Ãpå.Ãp÷+Ã@X2ÃP.Ã@^1Ãày/Ãð).ÃpÍ2Ãà‹,àé,à 1ÃH6Ã4Ã0À/ð,ÃP—.Ã0®2Ãû-ÃÐL0ÃZ3à 4+ÃÀ´-àË1ÃàO6Ãà[4Ãð¦.ÃÐL0ÃpV1à 4+à ‡2Ã`²0Ã@Û1Ãò(à<4Ã@j/à<4ÃpP2Ã'1Ãн2àË1ÃÀ®.Ã@R3à Ÿ.Ãpñ,Ãpë-à­6ÃP2*Ãp\0Ã0´1à u5ÃÐ:3ÃP-àï+Ã?1Ãàð0àZ/Ãã1ÃÐ(6À0Ã4Ã7Ã`S+Ãï/Ã4Ã`/1à 1Ã`²0ÃÐÉ0ÃpÓ1Ãð2à›9àÅ2Ãæ*ÃÀ1À}1ðu1À**ÃP1ÃPs4Ã@Õ2ÃÐ44Ã0I.ÃPm5Ãðù5àH2Ãr/Ãз3Ãpµ6à ¥-Ãà'ÃP/ÃÝ2ð/ÃÔ-Ã012Ãð”1Ã9.ÃÐá,à ±+Ãðˆ3ÃðŽ2ÃÐç+Ã`¾.Ã`50Ãpb/ð/Ã@Û1Ãàä2Ã?1Ãàð0ÃàU5ÃÀ+/Ã`;/Ã@í.ÃÐ'à {4Ã`)2ÃP.Ã@^1Ãû-ðþ/Ã012Ã`S+ê0Ãàö/Ã0Æ.àr+ü-ÃP©+ð+à 4+Ãàö/ÃÀ2àÝ.ÃÐF1Ãàä2Ã?-à 1Ãð¸+Ã0U,ä1Ã0Æ.ðà4à`.ÃÀ´-Ãà,ð-Ãû-ä1Ã`¦2Ãà*Ã@í.Ã`Y*àõ*ÃP1ÃÔ-Ã@Û1Ã0œ5Ãl0Ã0I.ÃÀ+/àB3Ã4à /ðø0à`.Ãx.ÃÐp*Àƒ0À7Ã0C/Ãà.Ã],ÃÐÿ'àf-Ã`S+Ãð1Ã0U,À§*ð/Ãpn-Ã`S+ÃÐÛ-Ãðÿ4ÃP0Ãà,'Ã` "ÃP&,Ã0º0à~)à ‡2Ãð /ÃÚ,Ãã1Ã0I.Ãf1Ã,Ã0g)ÃÐÉ0Ãc+Ãl0Ãé0Ãð /Ã0Æ.ÃÀ¨/à :*Ãð4ðc4Ãl0Ãpë-Ã~-Ãà—*Ãû-ÃÀÆ*Ã09ÃÀ5àH2ð{0ÃÚ,Ã0C/ü1Ãð5,Ã!2Ã0Ø+Ãà—*Ã@ù,à Ÿ.Ã012Ã`_)ÃÐX.Ã@p.Ãõ.Ã@(Ãï/ÃÐá,ð .à +Ãð /Ãðˆ3Ãà.ÃÐí*Ã0Ì-ü1à 3Ã`;/Ãày/ð/Ãн2ÃÀ7-Ã@p.à «,Ãà£(ÃP-ÃP.Ã`/1Ãð).Ãpb/À¡+ðò1Ãàs0Ã0=0Ã0Ì-Ã`#3Ãõ.Ã`/1Ã`Ü)Ã@”(ð+Ãp’'ÃP/à 0Ã`;/Ãð 3Ão)Ãàê1ðø0Àk4Ã@á0ÃÀ¢0ÃK/ÃP.àõ*ÃàÞ3ÃpJ3Ãàs0ð{0à`.Ãæ&ð"*àÑ0Ãàö/Ãï/Àè4ÃÐj+ÃP—.Ã3/Ã0´1Ã`k'Ã0ê(Ã0U,ðì2ü-à×/Ã` 3Þ2Ã33à R&à ·*Ãà…-ð/Ãð2ÃÐÛ-à 1ÃT4Ã`)2Ã-0Ã`Y*Ãpª#Ãð5,àû)Ãð#/Ã`Ö*Ã`¦2Ã`Y*ö.ÃÈ/Ãàm1ÃÐ^-ði3Ãr/àB3à 1à (-à ¥-à “0ð-À6(Ã0Ø+àZ/ê0Ãð).Ãpå.à×/ÃÀO)Ãp )ÃQ*Ã0Ì-Ãð /Ãð¾*ÃðŽ2ðc4ÃÀº,ÃK+Ãõ.ð3àT0Ãà+ÃÐX.à65ÃЙ8Ãã1Ãð‚4Ãpn-ð-ÃQ.À.Ã`¸/Ãpå.ÃÀ3Ã@j/Ã@^1ÃP0ðø0ÃP2À}1ÃP‘/Àw2à¹4ÃÀÌ)Ãð /à .,Ã0Ì-Ã`¾.Ãð;+Ãàä2Ã`¦2ÃÀ%0Ãð;+Ã`2àT0ÃP -Ãr/Ãàa3Ãpë-Ã@«9ÃàU5ö2Ãàê1ÃP2ÃPð4Ã0[+ðu1àN1à þ3Ãðp7ð/ä5Ãð”1à ‡2à /ÃÀ%0Ã0Ò,Ãpë-ÃP2ÃE,Ãð#/ÃP.à 1ÃB7Ãà…-Ãà.Ã@ç/Ãp>5ÃÐR/ÃP…1ð,ÃŒ5Ãð0ÃPä6ÃÐÏ/à*7Ãð 3ÃÀ¨/à¡8ÃÐÕ.Ã@±8ÃÀÀ+Ãpå.ÃÐÕ.Ãз3Ãз3Ã92ðÚ5ÃpÓ1Àô2Ã0û:ÃÐÛ-Ã0Æ.ðà4Àô2à 6Ã07Ã@Õ2à;Ø7Ã8Ã@·7ðo2Ãðd9Ã0:Ã*;Ã@.9Ã@É4Õ>ü1Ã!2Ã@¥:Ãðš0Ã<8à*7Ã0¨3Ã`#3Ã0¢4Ã@(:ÃÐ ;à•:Ã`|9ÃàI7Ã@«9À_6ðW6ÃBÃÙ=ç;Ã>Àw2Ã0¢4ÃÐF1Ã÷8à›9Ã0l=ÃÐ:Ã@±8ÃP7>Ãà´:Ãý7Ã0 8à=À¾;Ãp¯7Ã@:7à Î;Ãå;Ã09ÀÊ9ÃðF>à @Ã`^>Ãðí7ä5Ãðÿ4Ã0r<Ãë:Ã69ð¼:Ã@™<Ã`|9ÃÀ 4ð¶;Ãp…>Ã09ÃÐ<à þ3ÃP0Ã0Š8ÃŒ9à›9Ã0~:Ãðù5ðK8ÃPU9Ã’8ÃП7Ã@«9Ã92Ãà[4ÃPm5àH2ÃàÒ5À;ÃpmBÃ8Ã06ÃÐ¥6ÃÓ>ÃÀã:Ã!6ÃÀ~6à Ú9ð¶;ÃPØ8ÃÀ×<Ã`í;Ã@«9Ã;Ãp<ÃÇ@ÃÐ<ÃЙ8à ]9Ã`8ð?:Ã`”5Ãðá9ÃðL=ÃàBÀ5=ÃPº=Ã`v:Ã0õ;ÃÀZ<ÃÀT=ÃÀN>Ãàº9Ãðd9ÃÐ:ÃÀ5Ãh;Ã`^>ð’AÃà¨<Ãz8à 3@ÃB7ÀÄ:Ãб4Ã>Ãt=à ¶?ÃÀB@Ãà7:Ãp,8à à8Ã`^>Ãp?ð@ÃÙ=Ãàœ>à ]9à :Ã@48ÃP7>ÃÍ?ÿ7à•:à ]9Ã`5Àe5Ãp;ÃàÌ6Ã0ï<Ã*;Ã*;ð9;ÃЇ;ð3<à c8ÀÄ:Ãpö@Ãh;ÀA;Ãp<Ãn:ÃPm5ÃðL=ðÎ7Ãð4ÃÙ=ÃÀõ7ðÚ5ÃpÇ3ÿ7Ãð@?Ãý7ÃЙ8Ã`4ÃPg6ð3<ÃàÀ8ð¼:Ã`8ÃPg6Ã`p;Ã`v:à 6ÀY7Ã5Ã0Š8à ò5Ãp :Þ6Ã0–6ÃðR<Ã<8ÃN5à :Ã!6Àk4ÃðL=Ãt=à Q;Ã`ÿ8ÃpJ3Ãpö@Ã`í;ÃÐ9Ã`5Ã@É4Ã2DÃp…>Ãà=9ðE9ù8Ã`á=á<ÃPü2ÃÐ<ðÂ9À²=À²=ÃàÆ7Ãàa3Ã0®2ðc4Ãp©8ÃàO6ÃÐ:Ãðd9Ã0 8Ã@=Ã@±8Ã@:7ÃÀx7Ãp—;Ã5ÃÀx7Ãàê1Ãð 3ÀÜ6Ã8ðÔ6ð?:Ãp :ÃÀf:Ãðí7Ãp©8Ã'5ÃpÁ4ÃÐ<Ã8Ãðç8Ã@(:Ã0¨3ðo2ÃP[8Ã!6ðK8à Q;ÃPC<ÀÊ9Ã0l=ÃÀï8à o6Ã9Ãà7:Ãý7Ã0r<à;ÃÀé9Ã`8ð¼:à•:Ã0¨3Ã7ÃÀ„5à W:ö2ÃÀ~6Ã÷8Ã@48ÃŒ5Ãz8Ã`v:à i7ó9à c8ð9;Ãp£9õCÃÁAÃàº9ðc4à06Ãð|5Ãб4Ã@48ÃPm5Ã@L4Ãp86Ã012À}1Ãà1;Ã07Ã9Ãà[4ÃÐ ;Ã÷8ÃPä6àÅ2à Q;ÃÐ(6Ã06Ãð^:Ã@±8Ãp;à c8Ãà=9à à8ÃPI;Ãðv6Ø7ÃÀû6ÃÀ3ÃPØ8ÃÐ(6ÀÄ:ÃàÞ3ÃPa7ÃÈ/ðæ3Ãà7:ÃÀ×<ð¶;Ã>Ãh?ÃÀ×<Ãðù5Ãp©8ÃÀ3Ã0l=à*7Ã`”5Ã@«9Ã@X2Ãp86Ãp27ÃÀï8Ãý7Ãб4ÃÐX.Ã`¬1à :Ãë:Ãð|5ÃP…1Ã69Ã<8Ã@É4Ãàg2Ã`5ÃÙ=ÃЫ5ÃÀ´-Ã05ÃÀ„5Ã0=0Ãn>Ãð|5Àâ5Àâ5Ã@F5ÃpÁ4à06ðE9Ãз3Ãt9ÃÀ6ÃÐF1Ã@.9Ãð|5Ãðù5ðE9Ã@½6À7à³5ÃÀ3Ãðp7à þ3ÃP7>ÃŒ9Ã7ÃN5ÃÐÏ/ÃÐ44àH2Àú1ÃB7ðW6Ã0 8ÃPs4ðþ/à 1Ã`š4à i7à þ3Ã0¢4ÃÀ1.à¡8à à8Ãðù5ä1à 1Ã09Ã`j<Ãðí7Ã0Ì-Ã`/1Þ2Ã7Ã@Õ2ÃðŽ2Ãð1àB3ÃàÞ3ÃË5Ãðù5ÃpÍ2Ã07Ã0œ5ðo2ð]5ÃP2Ã@½6Ã7ÃPö3ðQ7Ã0–6ð/ÃÈ+Ã?-ÃÀº,ÃÀ–2ð/ðŸ*Ã0Ì-Ã],Ã@‚+Ã?-ði3ðþ/ð]5à (-ÃP-Ãð¸+à /ÃÐF1ÃT4ð{0ðø0ÃH6ð/ð+Ã012Ãp\0Ãû-À­)Ã`S+Ãà,Ãн2Ãàa3ð]5Ãð‚4Ãðó6à ø4ÃPs4ÃPð4Ãàð0Ãx.àf-ü-ÃðŽ2Ã`²0à 3ðc4Ã3/ÃW-ð-Ãõ.ÃpÇ3Ãpë-ÃðÐ'Ãз3ðþ/ðì2Ã012à65Ãpå.ÃK/Ã@ˆ*Ãðˆ3ÃÀ1Ã'1ÃP1Ãp\0Ã-0ÃÂ,ÃP‹0Ãà[4ðW6ÃPy3ÃЙ8Ãðd9Ãp\0à ±+ÃP…1Ãð#/à)Ã@ó-Ãã1Ãðÿ4Ã?-ÃpP2à i7àB3Ã@‚+Ã@|,Àk4ð‡.ÃPü2Ã`¾.à×/Ãàê1à³5ÃÐ@2Ã@Û1Ê+Ã`e(ÃÐí*ê0Ã@Ï3ðo2Ãð0Ãð”1Ãð#/ÃÀÆ*Àú1à ™/à þ3à×/à Ÿ.Ãpë-À‰/à c8Ãð”1Ãàœ>ÃÅ6àË1Ã`”5ÃÂ,Ã0Ì-Ã)ÃÎ*ÃP…1ÃpJ3ÃÀ1.ÃpÙ0À-Ã@^1ð4'ÃÀ®.ðò1Ã9.ÃàU5ÃpÓ1À-Ã0=0Ãû-Ã0Ø+àH2Ãð /Ãð¾*Àw2Ã0+3à`.ä1Ã0%4àï+Ã@í.ÃÀ+/Ãpb/ÃÀ1.ÃÀï8Ãr/ÃpP2Ã`¬1ÃÀC+À.ÃPg6ÃT4Ãàa3Ãàm1ä1Ãàð0Ãh;Ã@d0Ã`²0Ãé0Ã0%4ÃpJ3Ã`50ÃP-Ãpn-àã-ÃÀ®.àB3Ãз3à¿3à 1Ã`¸/Ãз3à 1Ã`50àã-Ã`#3ÃÀº,Àè4Ãf1Ã@R3Ãð|5Ãpå.ÃP0ÃÐ8ÃЫ5Ãp»5ÃpJ3ÃÈ/ÃÐF1Ã`²0Ãf1Ã`¦2ÃP.ÃÀ3Ã0Š8ÃÐ:3Ãðp7À‰/ÃÀ´-Ã0O-Ã-0Àw2Ãðš0Ã`Ê,Ãð²,Àî3ÃÐí*Ã@Ï3Ã'5Ã` 7ðþ/Ã@48Ö)ÃÐÛ-Ã012ð/Ãàü.ð‡.ÃPü2Ã'1ÃÐÉ0Ã`4Ã0´1Ãàm1Ãp\0Ãàê1Ãð 3ðu1ÃE,Ã`;/ÃÀû6ðu1ÃÐ9à³5Ãå;ÃP0ðu1ÃpÇ3Ã`Ð+ð"*Ã0º0Ã@v-Ãð1Ãð1Ãpz+Ã?-àZ/ðW6ÿ7Ãà[4àZ/à u5Ã`50ÃP.Ãph.Ãp*Ãr/ÃÀ%0Ã`2ÃÀ–2Ã@ó-Ã@R3ÃpP2Ã?1Ãàm1Ã7Ãð|5à 3ÃÀ´-Ã`²0ÃÀ3Ãð¦.Ã`Ž6Ã`8à 3ÃÈ+ÃPs4ÃÐ"7ðò1Ã-0Ãà,ðò1Àe5Ã`Ä-ð .Ã@|,ð/ÃE0ÃÂ,Ã071Ãàð0à ".Ãàð0ÃÀœ1ÃÎ.ð‡.ð()à +ÃÀ–2Ãàä2Ã@j/ð“,Ã3/Ãð0Ã0Æ.Ã`²0Ã0Þ*À}1Ãð 3ÃÀ+/ÃÐp*ð"*Ãð#/à {4Ã<8Ã@d0Ãpz+àÅ2ÃÀ„5Ã92à ò5ÃZ3à (-ÃP&,à ø4À_6ÃÀ2ð{0ðà4ðÂ9Ã-0àï+Ã0Ì-Ã`A.Ãà…-Ãï/ÃPê5Àú1à 1ÃP-ÃŒ5à :*ÃÀ1ÃH6Ã@½6ÃP -ð-ðþ/ÃP/Ã’4Àô2ÃÐ@2ðÎ7Ãàê1Ã07ÃT4ÃÎ*Ãàö/àN1ÃÀ¨/Ã@á0ð-ÃÀŠ4Ã@j/ÃP2Ãðó6à “0Ãðˆ3àï+Ã0C/Ã@Û1Ãð¦.ðW6Ãp27àH2ÃP0Ãà+ÃP»(ÃÐ.5àN1ÃpV1ð‡.ÃP0ÃÐó)ði3ÃpP2ÃÐÕ.Ã`A.ÃÀœ1ÃP2Ãð‚4À,Ã`Y*Ã`M,Ãðš0ä1Ã`Ä-ö2Ãp£9à c8Ã0Ò,ÃP&,ÃP©+ÃP&,Ã`e(ÃP8)ÃP—.ð,ÃPü2ÃP‹0ÃP-Ã`M,ÃÀ1àf-ÿ7Ã`¬1à 0Ã`A.Ãpñ,Ã@)Ãï/Ã`Y*ÃÀ%0à 4+À•-ðø0ðò1Ãà-Ã`¾.Ãà.À,àf-Ã0C/Ã`²0ÃÀ´-Ãð;+À.à~)ÃÐÛ-Ã@X2ðà4Ãàg2Ã0Ì-ÃðÐ'ÃW-Ãpå.ÃP1à ".Ãàä2Ã` 3Ãà.ÃP1àÑ0ÃÀO)Ã!6ÃÐj+Ãð2Ãpb/Ãàä2ÃP&,àË1Ã`2ð-Ã-Ãõ.àx*ð/Ãð2à Ÿ.À0)Ãpt,àZ/Ã0À/Ãà—*Ãp*Ã`;/Ãð4Ã0À/ÃP/ÃÀ2ÃÀœ1ü1Ã0Ò,àÝ.ÃÐÛ-Ãpñ,Ã`¬1àZ/Ãàa3ð"*ð+Ãc+Ãð1Ã0Ì-Ã0s'ÀÅ%Ã@p.Ã0º0Ãà.à Ÿ.Ãr/ÃÐÛ-ÃP.ð()Ã012À /Ã@F5Ãph.À}1ÃpÓ1À-Ã0Æ.ÃÐd,ÃPð4Ã@L4ÃP/À.ÃpÓ1Ã0º0ÃÐÏ/ÃàÞ3Ã`2ð‡.ÃÀÌ)Ãý;ÃN5ÃÀ1.Þ2ðW6à 2Ãpn-À›,Ã`2ÃàI7ÃB7ÃPg6ÃÐL0Ã0Ø+Ã0=0Ã-0ð{0ê0Ãr/Ãày/Ã0I.àT0ÃP.À,à 1Ãõ.ð3ð .ÃE0Ã`Ü)ÃP0à 1Ã@^1Ã`50Ã05Ã@±8ÃZ3Ãà…-ÃP/Ã0œ5Ã`4Ã!2ÃÐ@2ÃÀ%0Àe5ÃPy3ÃÀõ7Ã@á0Ãàs0Ã0´1ÃÐL0à «,Ãpb/Ã3Ã0%4ÃàÀ8Ãàð0Ã`¦2Ãé0Ã@ó-Ãà+ÃpÓ1Ã@L4Ã@^1Ø3ÃP/Ãàa3à Ÿ.Ã0À/àN1Ã@ˆ*ðÈ8Ãp>5ÃpV1Ã`Ê,Ã0º0Ã`¦2ÃP8)Ãé0Ãpå.Ã@^1ÃpD4ðW6Ãàm1Ãз3ÃpÍ2Ã0=0Ã`¬1À•-ü1ÃpD4ÃPü2ÃÐÉ0Ã@L4Ø7ÃpÇ3ÃZ3Ã@^1Ã3/Ãà-à65Àú1À}1Ã0U,Ãб4Ãé0Ãðš0àï+Ã@j/Ãð2ÃÀ–2Ã0º0Ã`;/àx*ÃÀ3ÃðÏ<Ã4Ãð /Ã@X2ÃE,Ã@j/Ã?1ÀÐ8Ã@R3ÃÐÉ0À.Ã,Ãð¸+à 2ð-ÃPm5à 3Àk4ðÚ5Ãpb/Ã!6àÅ2Ã`¬1Ã@R3ÃÎ.ÃpÍ2Ã`4Ã`Ž6Ã69Ãàä2ÃP,+Ã`²0à 3ðÎ7Ã!2ÃÐù(Ã@j/Ãð 3à 4+ÃÚ,Ã`Ü)Ã],àÅ2ÃÀ6ÃpÁ4àZ/ðo2Ãp,8ðø0Ãð).Ã`/1ÃÐF1Ã0%4Ã`¾.ÃpÁ4Ã0Æ.Ãð1Ã0 8ÃàÞ3Àî3Àî3ÃðŽ2Ã0´1ÃE0Ã@p.Ã071Ø3Ã@d0ÃàU5Àô2à 3Ã`)2Ã05Àî3àT0àB3Ã(Ã×3À-ð]5àZ/Ã!2ÃÐÏ/Ãð4ð/ðæ3Ã@X2Ã@^1ðò1Ã33Ã` 3ÃT4Ã@p.Ã0Æ.à 3Ã0I.Ã`¾.ó9à ì6Ãðí7ðc4Þ2ÃÑ4ÃÀ6Ãð4à Ÿ.Ã@Û1ÃÐ.5à 6à¡8ÃЫ5ðø0àN1ðø0ÃÀ¢0ÃàÒ5Ãð 3ð]5ÃÑ4ÀY7Ã@X2ÃPü2Ã92ÃP-Ã0´1Ãz8Ãð5,Ãpý*ÃÈ/ÃP2à “0Ã`#3ÃÀ=,Ã0O-Ãàê1Ãð1Þ6ÃP0Ãpµ6Ãðÿ4Ã0À/Ã*Ãð¬-Ãpý*ÃÀ 4ðo2ÃE,à×/ðì2Àî3ðæ3Ãð2àZ/Ã@É4Ã0º0Ã`50à ™/ÃP/ÃPÞ7à•:ä1Ã'1Ã0º0Ã@ç/àË1ÃðŽ2ÃÐÏ/Ã],ðu1à¿3Ã`A.à ¥-ÃÐÏ/À.àË1àZ/Ãph.Ã?-Ã?-Ãõ.Ãàä2ÃÀC+ÃN5Æ6Ãð /Ã-0Ãàð0ÃP/Ã'1ÃÔ-ð,Ãð‚4ðo2ÃÐ@2Ã`š4à «,ÃpP2à ".À‰/Ãé0Ãà…-Ã@j/ÃpÙ0Ãð#/ÃpP2ð“,ðà4à ¥-ÃZ3à06ðæ3ÃÀû6À-à «,Ãà‹,ÃÂ,Ãð 3à×/ÃpÓ1à~)Ãpå.Ãб4ÃÐd,ÃpÙ0Ãpz+àÅ2Ã@X2ðì2ÃÀx7Ã@v-ð™+ðþ/ÃÐX.ð-ÃÔ)Ã`Ä-Ãàö/Ã`Ö*ÃÀ+/Ã,Ã@½6À1Ã*ÃP£,Ãð”1ÃÐp*Ãàs0à`.àË1Ãð1Ãб4ð{0à 0ÃÈ/Ãðš0ÃàÆ7à ¥-ÃÐÛ-Ãpß/ÃÐá,ÃÀä%Ã0À/À-ÃÀ®.Ãàm1ðu1Ã0+3Ã@X2Ãà.ÃŒ5ÃàÞ3Ãû-ÃÚ(Ãà.ÃÐ^-À.Þ2Ãp,8Àe5Ãï/ÃÑ4Ãpt,Ã`è'Ã],ÃÀ1ÃE,Ã*Ã@Û1Ãð).ê0ð“,Ã@Ï3ð“,ÃÀ¢0Ã~-à06ÃÀ¨/ÃP‹0Ãé0à ±+ÃE0àÝ.ÃÐR/Ãpn-ÃÀŠ4ÃÐÏ/Ãpñ,àÅ2Ã0%4ÃÐ44Ãð1ê4ðà4Ãð²,Ã`4ö2Ãàs0à (-àû)ÃP2à 3ÃÐÃ1ÃPö3àÅ2Ã3ÃÝ2à ™/Ã@Û1Ãpt,À}1ÃÀ„5Ãð2ÃpŒ(Ã@ÿ+àB3ÃÀ%0ê4Ãï/Ã@ˆ*Ãõ.àÅ2ÃP-à /À-Ãàö/À-à {4Ãðp7Ãðš0à 3Ã`¬1Ã`¾.Ãð4ÃàØ4ÃpJ3Ã4Ãàs0Ã4Ãз3à /Ã0´1Ã0®2Ãàº9ÃÀ¨/Ãð|5à Ÿ.àï+ÃP…1Ãàs0Ãàa3ÃÐÉ0à 3Ã` 3Ãpb/ðþ/Ãpë-Ã`4Ã0À/ÃÂ,à Ÿ.Ã@ó-ÃÀ%0ÃÀ1Ãã1Ãày/Ãl0àé,àé,Ã@v-ÃÈ/Ã`8ðÂ9Ø3ÃpÁ4Àw2Ã0¨3Ãf1ö2ð/àN1Ã`ˆ7Ã@Õ2àé,Ãõ.ÃÚ,à ™/à 3à o6ðø0Ãð¬-ÃpP2Ãð /Ãà+Ã`”5Ãpµ6ÃЇ;ÃP2Ã0[+à ".à 3ðo2Ã3ÃÀ–2Ã071à /Ãàa3ð .Ãpý*ÃW-Ã0Ø+Ã@Õ2À.Ã`²0ÃH6À1Ã`50Àk4à65ÃpÁ4ðø0Ãð¬-Ãï/ÃpV1Ã`4Ã012ÃpV1ÃÈ/ÃÀ„5Ãl0Ã@ˆ*Àƒ0Ã`5Ã<8ÃÐÉ0ÃN5ÃÐL0ÃÀœ1Ãðj8ÃÀ1Ãpt,ð/Ã0I.Ãï/ðu1Àè4À.Ã3Ãp<Ã?1àã-Ãàä2ÃÀ¨/ÃpÇ3Ã@@6ÃPü2Ãàa3Æ6ÃÔ-À0Ã071Ãf1àr+Ã`)2Ãl0Àâ5àË1Àk4Àè4Ã3/ÃàU5Ã0Ø+à ·*ðu1Ã33Ãð²,À-Ã@Õ2ÃÀC+ðà4Ãàg2àH2à 3Ã0´1ÃPð4ÃÎ.ÃpV1ÃPa7à 1ð-Ã3/Ãàs0Ã`2ðþ/Àâ5à ¥-ð,ÃðŽ2Ã!2Ã@½6Ãàü.Ãý7Ã` 7Ãp\0Ã-0Ãà[4ÃÀ~6Ã@^1ÃpÁ4Ãp&9àB3ð¼:Ã@:7Ãr/ÃP„FÃPº=ÀG:Ã÷8Ã?-ÃÐF1ðÚ5ÃЫ5Ãpë-ÃpÁ4Ãðˆ3À_6ÃPs4Ã×3à`.ÃÑ4Ã4ÃÂ,Ã`#3Ã3Ãð0Ã`¦2Ãð 3Ã0Æ.ÃPö3Ãn:à 6ÃÝ2Ã0Ì-ÃÀŠ4ÃÀõ7Ã0 8ÃÐ:Ã012Ãð2Ãß<Ãà7:ðK8Ã`v:Ãð2Ã@F5Ãph.Ã0¢4Ã05ÃÐø=ÃÐ:Ã*;Ã`¦2Ãð‚4ÃÐ¥6Ã07Ã@½6Ãð|5ÃPü2Ã<8Ã0 8àB3Ãà.À.Ã0´1à 3àH2Ãðù5à 2ö.ÃÀ2Ã0Æ.ÃÐj+ÃP1à 3Ãï/Ãð‚4Àk4Àw2Ã@á0Ã0®2Ã'5Ã0Ø+ÃÐÕ.Ã×3àl,ÃàÞ3à 1Ãàa3à 3Ã012Ãð4ÃPg6Ã0º0ÃÔ-ÃÀ 4Ã`Ð+ÃÀU(Ã`2Ãð#/à¹4à ".à*7ÃÀ®.ð{0Ø3Ã@ç/àË1Àw2ÃpÁ4àï+àÅ2à 3Ãàö/ÃÐ44À.à`.à Ô:ÃÐ¥6ÃP‹0Ãð /àx*Ãð”1ÃE0à¡8ÃpD4Ã@Õ2ÃÀ3àN1ðÚ5ÃÀ¢0ö.à ¥-ÃÀ¢0Ã?1Ãàä2ÃÀ3ÃpP2ÃT4ÃP[8Ã*;Ã`#3à ‡2ð .Ãð¬-Ãà[4ÃP‹0Ã5Ã0=0à ‡2À_6ÃÝ2àÑ0Ã`2ÃQ.Ã` 3ÃP1ÃÐÉ0ÃÎ*ÃÀÌ)ÃK+Ãð).Ãð0ÃÀ 4ÃP2àN1Àe5Ã@Ï3À}1ÃpD4Ã0O-ÃÀ2Ãý7ðc4Ãð2à¹4ðo2Þ6Ãàs0Ã@d0Ã0®2à§7Ã`5Ã0¨3à u5ÃàI7Àî3ÃÐ.5à 1Àú1ÃE0Ã0%4Ã@Ã5ÃP&,Ã012ÃÐp*ðì2Ãðó6Ãð /ÃÀ®.ÃÐ@2ä1à Ã(Ã@p.ÃÀ3ði3Ã` 3Ãð4Ã@á0Ã0º0à§7Ãð 3ÃpJ3à¿3ÃZ3ðo2ÃŒ9Ãà+<Ã@á0Ã0C/ÃÀ5ü1ÃÀé9Ã'1à 3ÃÐR/Ãз3Ã@^1Ã`5ÃP[8Ã@d0ä1ð .ö2Ã`¸/Ãðš0ÃàÞ3Àâ5Ã`#3Ã0œ5à ì6Ã`#3Ã`š4à +ÃÐó)àÝ.à u5ð/à “0Ãð¦.ÃP0ðÈ8ö2Ãl0Ãx.ÃPö3Ã0¢4ð‡.Ã0+3Ãð2Ãðp7ÃÐR/Ã@X2Ã06àÑ0Ãð²,Ã`G-Ã`2ü-ö.ÃÀ5à o6Ã`á=Ã@Ã5Ãp :Ãý7Ã0g)Ã012À.àÝ.ÃЫ5ÃÐF1ÃE0ðæ3Ã0s'Àƒ0Ãà+Ãàa3Ãð”1à65à<4Ã`š4Þ2Ãpµ6Ãà-àB3àN1ÃЫ5ÃàC8Ã0û:ÃZ3Ã`ÿ8Þ6ðo2ÃÀ®.Ã071Ã!2Ã’4Ãp»5ði3Ãý7Ãðá9à­6ð/Þ2ðò1Ã`50ÃÐÃ1Þ6Þ2Ãp—;Ã<8Ã` 7Ã@Ï3ðu1Àe5ÃpÇ3Ã-4ÃÀ¨/àÑ0ÃÐX.Ã92àZ/Ã@ÿ+à 0ÃÐF1ÃÀ¢0ÃÀ%0Ã`|9ðæ3ÃPs4ð/à 1ÃP2Ãà[4à 6ð‡.ÃðA*Ã`¦2ÃPa7ÃЫ5ÃàU5Ãà.Ã`;/Ã`#3Ãб4Ã@L4à ]9ÃЫ5ÃÀ¢0àT0ÃÀ3ÃðŽ2Ãàä2ðì2à {4Ø3ÃÀû6Ã`”5ðÚ5Ã0®2ÃàÞ3Àâ5ÃÐL0ÃE,Ã@F5À1àN1ÃÀ%0ÃÝ2Ã@Û1ÃÝ2ÃE0Ã0´1ö2Ã5Ã@É4ÃÀ+/Ãðš0Ã0=0ÃP1À7Ãðí7ÃÀ~6ÃÐ:3Ã@Û1ÃpÙ0ðø0ðì2À_6ÃÀ„5Ã`4Ã`²0àT0àT0Ãp\0ðì2Ã@j/ðæ3à “0Ã`¦2Ãà=9ÃÐ"7ÃÐÏ/ê0ÃÐÉ0Ã0À/Ãé0Ã@í.Ãàê1ÃàØ4Ãà‹,àr+à «,ð‡.à¹4ÃàÞ3ðW6Ã`š4ÃàÀ8Àî3à65ÃÀ1.à Ÿ.Ãàê1Ãð4Ã@d0Ãðÿ4Ã!2Ã`Ž6Ã'1ÃP/Ã0®2ÃÈ/ÃP‘/à “0À,ÃÐ44ðc4Ã0I.à (-ä5ÃpÁ4ðu1Ã0¢4Ãï/ÃÀ3à×/Ø3Ãà…-ä1ÃÔ-àõ*ÃÐó)ÃÀ 4à`.À /Ã@ù,ðò1ð]5àË1ÃP2à 1Ãr/ÃpP2ÃÀõ7Ãû-à Ã(Ã`e(ÃÐ &Ã`;/ÃÀ%0ÃP/ÃÐF1à 1Ãày/ö.Ãàs0ÃË5àÑ0Ã~-Ã3/ðŸ*ÃÐ"7à<4ÃPs4Ã!2Ã@ÿ+ÃÀ®.Ãàð0Ãày/à (-Ãp÷+Ã@ç/Ã@á0Ã0Ì-ÃÂ0Ãð).ðò1ÃÀ=,Ã@‚+Ã-0Ã`;/à “0ÃÀ´-Ãpñ,à 2Ã'1ÃP/Ã`#3ÃÐÃ1ÃÐj+à65ÀÜ6ÃÐ44ðc4ÃP/Àƒ0Ã0%4à {4Ãàm1àã-Ã0À/Ø3Ãl0ÃPü2Ã0C/Ãз3Ãh;ÃH6à 1ÃT4Ã0%À.à 3ÃÈ/Ãàa3ÃÎ*Ãï/à ò5Ãr/ÃÐ@2Ã@R3Ãàg2Ã`G-à 2Ã4Ã0C/Ã`²0ÃÑ4Ãð /Ãày/ÃÐX.Ãr/ÃÐÃ1ü1à /Ãr/Ã0¨3à 3ÃPä6Ãн2Ã`Ð+Ãp,8Ã@ó-Ãð4Ã3/Ãpn-Ãð/-Ã0´1Ã`G-ÃÚ,Ãpë-Ã],Àk4Ã0%4Àƒ0ð{0Ã05à65ÃÀû6À}1ð/ÃÀ1ðà4ÃÝ2Ãàs0ü1ÃÀ1.à¹4ÃE0Ãp»5ÃP2ÃÝ2ÃpÍ2ä5Ã`4Ãàg2Ã` 3Ã7ê4Ãн2ÃP2ÃÐÏ/Ã-4ÃÀ5Ãðù5ð‡.Ãð¬-Ã0´1ÃÀœ1Ã@½6ù8Ã` 7à ò5ðÚ5ÃÀ%0Ã`Ž6Ãà[4Ãðÿ4Ãð|5Ãï/Ãð‚4Àè4Ãàa3ÃàÌ6Ãàº9ÃÑ4Ãðj8Àâ5ð .ÃÀ3Ã<8Ã@";ÃpÁ4ÃÀ–2Ã@Ã5ÃàO6Ãð”1ÀÊ9ÃÀû6ÀÊ9Ã@ ?ÿ7ÃPê5à u5Ãt9àB3Ãp:ÃðR<Ã@";ðW6ÃÀŠ4Ãàs0ð{0à$8ð'>Ãñ9ÃÀï8ðì2Ã@É4Ã@Ÿ;Ã’4Ã@½6à¿3Ãб4Ã0r<Ãt9Ãp;Ã@«9ÃPg6Ãб4ÃPö3à {4à K<Ã5Ã*;ÃP´>ÀS8à “0Ã09à W:à‰<Ãp=Ã0¢4à c8ÃÀr8Ãb<Ãp©8ÃÅ6ÃÀ3ÃP[8ð9;ð?:Ãð4ÃÀ3Ã0„9Ã`v:Ãàa3à¡8ÃPg6ÃàÌ6Ã@@6ÃT4Ã0œ5à9ÃÐ"7Ã0%4Ãðù5ðBÃ0Š8ÀÐ8ÃàÆ7ÃÀH?Ãð^:Ãp>5ÃŒ5Ã@É4ðÎ7Ã69ÃPð4ÃÐ.5ÃÐ"7Àk4Ãà7:Àq3Ã5Ã@.9Ã`í;ð¼:Ãðÿ4à¿3Ãp¯7Ã÷8ÃÐ(6ÃÀé9ÃÀï8Ãp»5ÃЇ;ÃЇ;Ãt=à¡8ðÈ8Ã@«9à W:ÃË5à o6Ã3ÃÐ44í:ÃàØ4Ã92ÃÀ3ÃÐ{=Ãðd9Ã@·7ÀY7Ã`ÿ8ÃÀœ1ðÎ7À1Ã@X2ÃÀ5Ã`Ž6ÃÑ4à³5Ã@>Ã0œ5ð¤>Ãh;ÃÀ6ÃÐ¥6àN1à E=À7Ã@Ÿ;Ã@(:ÃàÀ8ÃàÒ5À_6ÃÐ:Ã÷8ÀÖ7ÃT4Ã@±8Ãë:ÃðX;ðo2À0ÃÐÃ1Ã@½6Ãàg2Àî3Ã09Ã<8ûBÃ`ÿ8ÀY7Ã@R3ÃŒ9Ãðp7Ã@p.Þ2à ]9à65ÃpÁ4Ã09àÑ0à<4ðE9ÃÐ9ÃðÛ:Ã07ÃÀ3ÃPØ8ð]5ðÚ5ü1ÃpV1Ã0:ÃPÀ<Ãàº9Ã`š4Àk4Àq3Àk4Ã0¢4Àî3Ã@±8Ã@@Ã0õ;Ã` 7Ã`6Þ6Ãðÿ4ÃN5Ã@Õ2Ã`)2À_6ð3ÃP2ðÔ6Ã0Æ.ÃÐR/Ã`50ÀÜ6ü1Àâ5Ãp£9Ãß<Ã@X2Ã`ÿ8à*7Ã` 3Ã],ü1ði3Ãð 3Ã4ÃT4Ã5Ø3ÃP2Ãàü.ÃPy3ÃpD4ÃàØ4Ã7à ‡2Ã`)2ÃN5ð]5Ãð‚4ðu1Ã0:Ã@:7Ã-4Ã?1Ã0À/Ã0ð'Ã`6Ãpå.àÝ.ðà4ÃàÌ6ÃË5Ã@F5Ã0´1Ãày/ð]5ÃŒ5Ã`)2ðì2ðà4ÃÐ(6ð{0ðà4Ã`50Ãð4à¹4ð3Ã-4ÃÐ8Ãðó6Ãph.Ã`¸/ÃÐ"7Ã@48à þ3ÃPs4ð/Ãàä2Àè4Àq3à 6Ã8ð{0ÃP[8ð3Ãà®;ð¼:Ã×3Ã;ÃÐ@2ÃP/Ã33À_6ÃT4Ãàs0ÃP©+Ã`¬1àB3ÃðŽ2À_6ÃÀ1Ã`v:Ã`¬1Àw2Ã4Ãàð0ði3Ã,Ãà )ðæ3à 6ä5Ãë:Ã`5ÃÀé9Ã07Ã012ÃàU5Ãàä2Ã`¦2Àè4Ãàs0à 1Ã!2Ã'1ÃP2Ãð2àT0À$+ÃÀ1Ãàð0Ã071Àw2Ãàö/ÃÐç+àZ/ð/Ãð 3ðu1ÃÈ/Ãðˆ3Àâ5ði3Ãp<à*7Ã`#3Ãð/-Ã],ÃP.Ã0Š8ÃpD4Ã0¢4ðc4ÃÐ8ðà4Ã@Ï3Ãn:Ãз3Ãð2Ã3ðÈ8ÃàU5ðþ/Ãð/-ÃðÊ(Ãpz+ÃÀ5ö.Ã0®2Àe5Ãб4ÃÀ6ðì2à 3À0ðò1Ãp\0Ã0Æ.À1ÿ7ÃPü2Ãã1ÃÀf:Ã@R3ð“,à*7Ã`#3ê4Ãp£9ÃPö3ÃðX;Ã0r<Ãðÿ4Ã05ÿ7à ò5Ã@L4Ã07ÃàÒ5Ã0¨3ÃÐÃ1ÃÀ%0ÃpD4à 3Ã~-Ã@Û1Àk4Àè4ÃN5Ãàa3ÃpÁ4Ã0:à 0ÃÀ1Ãp¯7à à8Ã`2Ãé0Ãà.Ãн2Ã@@6ÃÐ¥6à K<Ã@±8Ãðš0Ãð /Ãàð0Ã0:ÃN5ÃÀ1.Ãð|5Ã@á0à þ3à¹4Ã`ô%ÃP.Ã`)2ð/ÃPy3ÃPa7Ã`/1Ã@Û1ÃÀ~6Ã`¬1ð/Ã92ÃÐ@2Ã`Ž6ÃàÆ7ÃÐ(6Ã@.9Ã0–6Ã0+3Ã3Ã@:7à<4Àô2Ãp¯7ÃPö3Ã@p.ÃàØ4ÃÀ„5Ã06ÃàI7Ãp>5ð/Ãð0ÀÖ7À.à ‡2à {4Ã`5Ã`”5à9ðÈ8à9ÃÀx7ÃÀ+/ÃP -Ãз3ðu1à Ÿ.ÃÀ2Ãðÿ4ÃÐ.5ÃàI7À_6Ã-0Ã` 3à u5ð?:ÃÀ¢0ÃÐR/àT0Ã` 3Ãp>5ÃÐL0ÃÐ:ä5ÃÑ4ÃàÒ5ÃÐÉ0ÃPy3Ã` 7Ãz8Ã?1Ã012Ãð0à 2ÃV>Ã@Õ2Àâ5Ãà[4Ã`š4à {4Ã0Æ.Ãð /ä1à 0Ãð”1ð/Ãl0ðÚ5Ãà´:ÃÀl9Ã`)2Ã3ä5Ã7à 3Ãõ.ê0ÃÔ-àã-ÃÀ–2ðò1ÃП7Ã7ð3Ã`;/ÃÑ4ðc4ÃÀŠ4Ãàä2ÃàÌ6Àq3Ã0+3Ã@^1Ãf1Ã07Àô2Àâ5Ã@^1ÃÀ7-à ™/Ã`¾.à 3Ã`Ä-ðþ/ÃpÇ3Ã69ÃÀ5Ã0[+à «,ði3ÃpP2Àô2ÃPü2ÃÐÏ/ÃÀ´-ÃЫ5Ã-4ÃK+Ø3à³5ÃpV1ÃÐ(6ÃÀ2Ã0À/ÃÀÀ+ä1ÃÀœ1ÃÐ44ÃÐ:3Ã`Ê,Ãpý*ä1Ã69ÃÀõ7Ãpß/ÃP£,Ã@48ÃÀ3Ã0À/àT0ÃÀœ1Ãàm1ð/À_6Ã0Ò,Ãl0Ã@d0ð]5ÃPê5Ø7à u5Ã@R3ÃÀ¢0ÃZ3ÃÀ–2Ã~-àÅ2ðÚ5Ãàê1àË1ÃP&,Ãx.Ãàs0à­6Àe5Ãàa3àH2ÿ7ÃÑ4Ãpñ,ÃÐX.Ãp¯7Ãð”1ð“,ð‡.ÃÈ/à 6ÃÈ+Ã@^1ÃÐ:3Àw2Ã0¨3Ãðó6Ãà-Ã07ÃÐ:3ÃpV1ðæ3ÃP1Ãý7Ã?1ÃpÓ1À0Ãp,8À7ÃPs4à¿3à ™/Ãpt,ÃÀ7-à ì6À›,ÃP0Ã0=0ÃpP2Àw2Ãàü.à 3àl,Ã`G-ÃW-Ãû-Àw2Ã@Õ2à¿3ðò1Ã@á0ü1Ã0¢4ÃÐ.5ÃÀ3Àú1ÃPö3Ãð).Ã`5ÃpÁ4Ã`Ž6ÃðX;ÃPð4Ã07Ã`²0Ã9.ÃÐÉ0Ã33ÃЫ5àÑ0ÃÀ3Ãl0Ãn:ÃP¨@à06Ã@F5Ã` 3À-Ãpµ6Ãð0à «,ðÔ6Ã@Õ2Ã0´1Ãн2ÃP/ÃÐR/à 0Ãé0ð3í:Ã`ÿ8Ãà.Ã071àÅ2Ã0¢4ÃpÍ2Ã-0Ãé0Ã0+3ÃP£,àÑ0ä5Ãàð0Ãðp7Ãð|5Ãà=9Ã3/Ã4ÀÜ6Ãз3à<4Ã@:7Ã@á0à ™/ÃpP2Ãàg2à 1Ã012à ‡2ðu1Ã` 3ðo2ðÂ9ðQ7ÃpV1à¿3Ã!6Ãð0Ãàg2Ã@j/à “0àÑ0Ãð2Ãpß/ÃP0Ã@Õ2Ã05Ãàê1Ãàg2à 3Ã0%4ÃГ9ðE9Ã0 8à ø4ð/Ã?1à ‡2ä5Ãðˆ3ÃÈ/ÃP1à>ð]5ÃÐÏ/à`.Ã`A.Ã071Àq3à 2Ã`š4ÃÈ/Ãð0Ã0º0Ã-4ÃÐÏ/ÃpP2à u5Ã` 3Ã`Ð+Ãpë-ð/ä5ÃàÒ5Ãàg2ðæ3Àô2Ãð4à “0Ãp*Ã`¸/ÃÀ 4Þ2ðò1Àô2Ã@Û1Ã`5Ã`2Ã` 7à­6Ã`”5Ã0U,Ã07Ã`50ÃГ9Ã@L4Þ2Ã@F5Ã0Ò,ÃÀ3à 1ÃàØ4ÃÀ¢0ÃP0Ã`¦2ÃÐL0ÃP2ÃÐÏ/Ã?1Ãðš0ÃPê5Ãpb/Ãð¾*ÃЙ8Ãñ9ðc4ÃP1Ã33àH2ÃPs4à æ7ÃàO6Ã69à (-Ã92ÃÀ2ÃÐ@2ÃPs4Ã`2ÃPü2Ãб4ÃàØ4Ã`Ð+ði3Þ2Ã@Û1ÃP2Ã@½6ð¶;Ã0I.ÃðŽ2Ã@±8Àú1àN1Ã0C/Ã@½6à {4à «,Ãð‚4à ò5ÃÐ"7à o6Ã’4à¹4Ãðù5Ãp,8ÃÐ:Ãàä2Àâ5àN1Ãð2Ã0´1à 3ÃÐ ;ÃÑ4Ãðˆ3Ã` 3Ã`4ÃPg6Ãã1ð¼:ä5ÃЫ5ü1ð]5Ãb<ðÂ9Ãз3ÃPä6ðo2ÃË5ÃÐ44ÃÀH?Ãp£9ÃÀ3Ã`²0Ãð±AÃPÆ;Àô2ð]5ÃЙ8Ã0%4ÃàÌ6ÃPa7ÀÐ8Ã0=0ÃÐ@2ð9;ÃpêBÃðá9Ãðó6ÃàI7ðÈ8ÃP.À‰/Ã`4Ã÷8Ã@R3ÃP‘/ÃPa7à 2Ã0„9ÃÀõ7Ãðj8ÃP?à i7ÃP[8ÃPU9ÃÐ:À/>à06ÃÀã:à=À/>ðÚ5à ™/Ã07à ]9ÃЙ8ðÔ6ÃÀ5À_6àH2Ãðá9ÃÐ:ÃPÞ7Ãðv6ÃPs4Ãpö@Ãh?À}1Ã`š4Ãp‹=Ã!6Ã0ï<ÃÝ2Ã0U,Ãðí7à Q;à;ÃPy3Ã@í.ÃÐ@2ðÔ6ÃPÌ:ÃPü2Ãðç8ÃÀõ7Ãðù5Ãð4Ã0À/Ãðó6ÃàØ4À;ÃN5Ã8Àô2Ã0I.ÃÝ2ÃàØ4Ãp:ä1ÃàÌ6à*7ÃÀã:Ø7à:Àâ5ÃÀx7Ãpß/Ãðj8Ã7ÃÐ"7Ãp27Ãðv6ÀÐ8ðc4à :Ã@·7Ã@:7Ã0œ5Ã06Ã÷8Ãðí7ÃPö3à ø4à=Ãðj8Ã`‚8Ã06ÃpÁ4ù8à ì6àN1Ãð4Ã@48Ãð|5àB3ð¼:Ã06Ãб4Ã`50Ãp©8À/>ÃPº=Ã@·7ÃÐ.5Ãh;Ãðç8Ã@±8ù8ÃP2ÃPy3Ã@Õ2ÃÀ6À¸<Ã0´1ÃPO:ÀG:ðÚ5ÃÀõ7Ãðp7à$8Ã`6à65Ã`5Ã<8ê0Ãð2à¿3ÃP2À0ÃÀ–2Þ6Ã` 3ÃÀ5ÃàÒ5Ãðó6Ã@F5Ãàü.ÃPs4ÃÐÃ1Ã@ç/Ãð|5ð¶;à {4ÃPä6àƒ=Ãàä2ÃÀÝ;Ã@X2à c8À.Ã0œ5Ã012Àw2Ã07Ãðš0ÃPä6Ãðˆ3ðQ7Ø7ÃP2àË1ÃЫ5ðÎ7ÃÀ®.Ã7Ã0 8ÃÀû6Ã'1ÃP2Ã’4ÃP—.Ãpñ,Ãp»5Àq3Ã0¨3à 1Àô2à¿3Ãð 3à 3ÃÀx7Ã0œ5Ã@:7ÃÀû6ðì2Ãðˆ3Àq3Ã@±8àB3Ã@ó-Ã'1ÃŒ5Ã@X2à ".Àè4ÃPê5ÃÀ 4à i7ÃP2Ã0û:ÃðŽ2Ã0[+ÃÐ:3Ãðš0Ã8ÃpÇ3ÃP2Ã0¢4Ã`)2à 6Ã`;/ðo2ÃpP2Ã-0Ã`/1Ãà=9Ã3Ã`¦2Ã@@6ðo2À‰/ÃÐF1à¹4Ã@Ï3Ãpµ6ÃÀ~6à à8ä5Ã`5ÃPÌ:ÃÀl9ÃÐ44ÃpJ3Àq3Ã÷8Ãàm1Ã`¸/ðÚ5Ãðv6ÃÅ6ÃàU5à 3ÀÐ8à Ú9ÃÀ3ÀY7ÀY7à*7ä5à u5Àî3ÃÀï8Ã’8ÃPð4ÃÐÃ1Ã`š4Ã0 8à•:ðò1ÃÐ@2Ã0:Ã0¨3Ã5à$8Ãàa3à 2ÃpÙ0ÀÜ6Ãï/ÃÐ9à65à­6Ã7ÃÀ`;Ãp :ðE9ÃÐF1ÃP‘/ÃÅ6À1ÃB7ðÔ6ÃÐÃ1Ã'1à “0Ã` 3À7ð?:Ã3ÃT4à¡8à c8ÃÀ³BÃà¢=ÃÀ1.Ãàä2Ã0À/Ã0–6Þ2Ãf1ÃÀl9Ã92Ã0º0Ãàa3à ‡2ÃpÙ0ÃÀr8Ø7Ã`²0ÃÐÕ.Ãð|5Ãà+<Ã3Þ2à ‡2ÃŒ5Àè4Ã0x;Ã69Ãp»5Ã0¢4à 1Ãp,8Ã@É4Ã0¢4Ã5Ãðÿ4ÃPy3Ãð|5à à8Þ2ÃàO6Ã@¥:Ãn:Ã@Õ2Ãï/Ã-0Ø3ÀS8Ãàä2ÃT4ÀY7Àè4à i7ðø0Ãð2Ã0 8ù8Ãðÿ4ÃPÞ7Ãé0Ã@F5ù8Ãp¯7ÃÀû6Ãðˆ3Ã0®2Ã@F5Ãt9àË1ÃPê5à 3ÃË5ÃÑ4Ãû-ðu1ÃN5Ãp=ÃÑ4Ã@Û1Ãð4Ã@X2Ãày/Ã33Ã`/1Ã33ÃÐ:3ÃpÁ4Ã9Ã'5Ãð1Ã0I.Ãpb/ðæ3ðò1Ã`2Ãð1ÃÐç+Ø3Ã`ˆ7àÅ2ÃÐÃ1Ãð1Ã` 7à›9ÃpÍ2ÃE0ÃÀ¨/Ãp;ä5Ã-4Ã7Ãðÿ4ÃÀ3à o6à ‡2ÃË5ðø0ðþ/ÃÀŠ4Ã@v-ÃÅ6Àe5Àq3Ã;Ã05Ã’4ð/Ãp©8Àw2ÀÖ7Ãë:Ã?1à 3ù8ÃÐ@2ÃP0ÃÐL0Ãðÿ4Ã`¸/ü1ÃÐÉ0Ãð0Ã!6à ‡2ÃàC8ÃZ3Ã4ÃàU5ÃðR<Ã5ÃH6Ã0%4ÃðÕ;Ã@48Ã@^1ð‡.Ãð¸+Ãp:ê4Ãp,8Ãðí7ö2ÃÐÉ0ð™+Ã`S+Ãð¦.Ã0œ5ÃZ3àÅ2Ã`Ž6ÃPy3ð/ÃÔ-à*7Ãph.Ãàü.à þ3Ã’4ç;Ãý7ÃðŽ2ÃE0ÃÂ,Ã3Ã`;/ÃPö3Ã`¬1Ã`6Ãà[4àã-ÃP2ð"*ðo2ÃðŽ2ÃЫ5ü1Ãp\0Ãàs0À•-Ãð#/ÃðG)ê0Ã`Ä-Àú1Ã012ÃpP2ö.Ãð1Ãx.Ã?-ÃZ3ði3Àq3ÃÐÏ/Ãæ*ÃðŽ2Ø3Ã'1ð{0ÃÐL0ð+ÃÐÉ0ÃK/Ã`50ÃÑ4Ãà…-À1Ãï/Ãé0Ãðí7Ã@";Ã071ð/Ãðš0Ãï/Ã`Ê,Ã0Þ*Ãàö/Ãàð0ÃP,+ÃÈ+Ã`5Ãpb/ö.ð‡.Ãðç8ÃÐX.Ã`Ö*àH2à~)ÃpV1Ãï/Ãàä2ÃÀ3ÃÔ-Ãpë-ðþ/àÑ0Ã0[+à ".à ".Ãàm1ÃÀº,Ã`ù9Ã`š4àT0ÃpJ3Ãp&9Ã012ÃP‹0Ãðš0Ãã1Ãðš0ÃP.ÃÂ0Ãàs0Ãày/ÃÐ¥6ð .à ø4ÃÀ¨/Ãf1ÃÐÃ1ÃK+Ãð0À.Ã0U,Àú1Ãi*ÃpÁ4Ã3/àH2Ã@ù,À•-Ã0U,Ã`â(ð“,ðø0ÃÐ¥6àH2Ãàä2àl,ÃÐÿ'ÃÀ+/Ãð²,Ã0º0ÃÐ^-Ãð”1Ãà-ð“,Ã`¾.àŠ'ÃpP2ÃÀõ7ð“,Ãð/-À­)ÃPö3ÃðŽ2ÃÀ7-ÃP2ÃÐç+ÃÐL0Ãpn-Ãà+Ãàü.ÃP1Ãàs0Ãï/ÃÈ+àï+Ã@ç/ü1à 4+ê0ÃÐÏ/Ã!2ÃK/à 1À}1à /ð¥)ð{0Ã3/ÃÐá,Ã0Þ*ÃÐÃ1ÃK/ð .à 4+Ãàö/Ãà,À$+ð3Ã9.Ã`Ê,ÃÐá,ÃP-Ã012ÃÀ¢0Ã`G-Ãpb/Ã<8Ã5Ãpñ,Ä,Ã~-Ã@É4Ã`2ÃpJ3à¹4ð{0Ã92Ã`G-àH2Ã@R3ÃÐí*ð-Ã0º0Ãð2ÃÀ´-À1ÃÐL0ÃÐ^-ð/àÅ2Ã0%4Ãð²,Ãpå.Ã@.9Ãð2ðŸ*Ãð/-Ã@+Ã@á0Ãpb/ÃÀ1ÃÚ,À.à ±+Ã`¬1Ãp»5ü-Ã`/1ÃÀÆ*ÃÈ/Ã@p.à 2Ã~-Ãð 3Ãàg2à ™/à Ÿ.ÃH6Ã0¢4ÃÔ-Ãp>5Ãð¦.à ".Ãðj8Ã` 7Ãp )à 0Ã@ÿ+àZ/àZ/Ã@Ã5ðK8Ãé0Ã`¾.ÃPÇ&Ã!2ÃÀC+à «,Ãày/Ã0Æ.àÅ2Ã`²0Ãpt,ði3à9Ãpb/à «,Ö)Ãà+ÃÐí*ÃE0ÃpÓ1Ã0I.à .,Ã`Ž6àÅ2Ã`¾.Ãð /Ãp27Ø3Ãý7à­6Ã0¨3ðþ/Ãàm1Þ2ÃÀÆ*àÝ.Ã'5à¡8Ãðù5Þ2Ãà,ðÎ7ÃÀ5ÃE,Ã0®2ðì2Ã0´1Ã`²0À /ÃP1Ã0®2Ãð /Ãr/Ãðÿ4Ã?-Ã0U,ÃPs4ÃpÍ2ÃpÓ1Ãõ.àÑ0Ãàä2Ã0Ò,ÃP…1Ã07ÃÀ3ÃE0Ãr/Ã@R3ÃÀ1Ã0+3Ãx.À}1ðc4Ã0+3Ã0´1Ã@ù,Ã0Ø+Ã@L4à ‡2ÃÀ´-àÝ.ü1Ãàg2Àú1Àú1Ã3/Ãp*Ã@^1ÃpÇ3Ã%'ÃP2Ã@í.ðþ/ÃPs4Ãàa3Ã`š4Ã` 3Ãæ*Ãðš0ð‡.ü1ÃP -ÃK/à×/Ãàê1ÃÀË>Ãl0Ãàö/à¡8àZ/Ã`/1ÃP2Ã!2Àw2À}1Ãà+ÃÐ^-ÃðŽ2Ã06Ãp¯7ÃÀ–2Ã~-Àî3ðu1Ã`5Ãà.à /ÃQ*à 2Ä,ÃÐÕ.ÃÀ–2Ãàö/Ã09ÃÐ44Ãðó6Àƒ0Ã`50à¿3àZ/Ã×3ÃÀû6ÃŒ5ÃÀ%0Àƒ0ði3ÃpÍ2ÃPs4ü1Ã`#3Ãàa3ÃàØ4ÃÀ„5ÃàO6Ãt9ÃÐ44Ã0C/àË1ÃpÇ3Ã06à<4à 2Ãàä2Ã07Ãðó6à þ3ÃT4ÃPg6ÃH6Ãð 3ÃÀx7à*7ð-Ãpt,Ãð2Àe5ÃÀ 4ÃÀ3àË1Ãðó6Ãp>5Ãðj8Ã@48ðc4ÃH6àN1ð/Ãз3ðc4ÃPg6À0à {4Ã0®2Ã@Ï3ÃÐ44Ã`4Ã@á0àË1ÃpD4ÀY7Ã@:7ÃÀï8ÀM9àÝ.ÃÐ@2Ã`4à u5Ã!6Àw2ÃpJ3Ã06à 3ÃàÞ3Ãp86Ã@L4ÃàÌ6Ã@F5Ãà[4ÃPs4ÃÐF1ÀS8ðÚ5Ã’4Æ6ÃÐR/ÃPa7ÃÀr8ðÎ7ÃÀ1Ã0¢4Ã3Ã@Ã5ð]5Ã0–6ÃàO6Ã`š4ÃÀ5Ã`|9ÃÀ3Ãàê1Ã`š4Ã@±8Ãp©8à 1Ãàa3Ã06ÃpP2Ã@ó-Ã!6ÃÐ@2ÃàU5Ãàð0Ã@48Ã`¦2Ã`A.Ã0´1ÃÀ1ÃpÁ4ÃÀ 4ÃÀõ7Ã9Ã@Ï3Ãн2Ã33Þ2Ã@Ï3Þ2ÿ7Ãã1ä1àZ/Ãàê1à 3ÃÐÃ1à×/ÃpD4à 3ÃP2Ã0„9Ãð¦.Ã@F5Ãàä2ä1Ã@F5ÃpÁ4ÃðÕ;Ã4ÃÐÃ1Ãàg2ÃàÆ7Ã3ÃH6ÃÐ:3Ã0:Ã5Ã@L4ÃÀ%0Àq3Ã`2Ã7ðÎ7à .,ÃN5Ã@(:ÃPO:ð¼:Ãàs0à×/à 2ÃpV1ð«(Ã0C/Ã`8ÃðL=ÃàÀ8Ãð‚4ÃPä6í:Ãàº9Ã5Ãð#/Ãà[4Ã@«9à ?>ÃÐ:3àN1Ã`¦2Ã@d0ÃÀ¨/ÃÀ5ÃÐ"7ÃZ3Ã`4à 1Ãp\0ÃpÁ4Ã`4àÅ2Ãà=9í:Ã@Ï3Þ6àH2à×/Ãàs0Ã’4Ã!2Ã!2à Ú9ÀG:Ã`6ÃÑ4Ã`¦2ÃÐÉ0àÑ0àH2Ã0C/ÃÐ"7Ã@.9Ã`Ž6À0Ã`6Ã0û:ÃÐ:3Ã@±8ÃPÀ<ÃP2Ã`”5Àè4àB3Ãðÿ4ÃÀr8Ã@.9Ãàm1Ãt=ÃÐ@2ö2Ãðv6Ãà.Ã0–6Ãp\0ð]5à³5Ãðj8Ã5Ãàg2à þ3Ã9àB3ðc4Ã;ÃÀx7Õ>ð‡.ÃÈ/ÀS8Ãï/ü1Ã>Ã0À/Ã33Ã@>ÿ7ÃPm5à¹4à¹4Ãp;Ãf1ÃP1ÃH6Ãp»5Ã`6à ‡2Ã0º0à ‡2ÃÐ@2ðÚ5Ãð#/Ã`Ä-Ã@F5ðu1Ãð‚4ÀG:ÃÀÝ;Ã` 3Ã0¢4Ãðÿ4ðc4Ã0:ÃŒ5ÃP[8Ã-4Ã0%4ÃÀ„5Ã`¸/Ã0À/Æ:ÃPü2ÃÚ,Ãpµ6Ãðç8àB3à­6ÃpÁ4à¿3Àq3à ".ÃàÒ5ö2ÃŒ5ðþ/ÃP2ÃŒ5à¡8ÃÀx7Ã@^1Ã`²0ÃÅ6Ã7ÃP,+Ã0Ì-ÃP…1Ã@L4Ã],ÃPs4Ã'5Ø3ÃP0ÃÀ3ðæ3Ã0œ5ÃÅ6Ãàä2Ãðù5Ãp>5Àô2ð/à ì6Ãн2ÃÀ„5ÃÝ2ÃÑ4ÃÑ4Ã@Û1Ãph.à65ði3Ã@É4Ãp,8àB3Ã`/1Ãph.à Ÿ.ÃàÞ3Ã07ð3à c8ÃÐ.5à`.Ã@É4À_6ÀÜ6ðQ7Ãà[4Ãà*Ã0=0ÃH6ä1Ãðÿ4Ã0„9Ãà )ÃP/ÃÐ¥6Ãý7ü1ÃÀ5à à8À1ðþ/ÃPü2ðæ3ÃZ3Ã`5ÃàÞ3Ãð‚4Ã'5àË1à ø4ÃÀ3Ãû-Ãp86Ã@d0ÃpÙ0ÃÀ2ÃàÌ6ÃPs4ÃpÁ4ÃЙ8Ãб4Ã@Ã5Ãðj8Ã`5à 2àT0àé,Ãr/àT0Ãð1ÃPö3Þ2Ãt9Ã0´1Ã0Ò,Ã)ÃPa7Ãp\0Ã?1ÃÐá,ÃðŽ2ä1ÃàO6Ã`¬1ÃE0Ã`¸/Ã@ó-Ãà…-à 2ÃÐÏ/Þ2à u5Ø3à 1À‰/ÃÐv)Ã3/àT0Ã07ÃÀ„5à c8à {4à {4À1Ãà[4ÃN5Ãý7Ãàg2Ã071ÃÐù(ÃÀï8Ã`Ê,Ãàü.Ã`¾.Ãï/Ãð1ÃàI7Ãð²,Ã0º0ÃÀ¨/Ã'1ÃðŽ2ðc4Ã09ÃK/ÃW)ÃÀ3Ã`S+Ãð5,Ãõ.ð,ÃÐÉ0Àw2ÃPa7ÃE0Ã`6ÃÝ2À.Ãð¾*Ã@p.À•-Ã0®2Ãàg2Ãf1Ãð 3ÃÀ´-À0àÑ0ÃPê5Ã0´1à @)ÃQ.ÃÐ(6ÃàÆ7Ãн2Ã@Ï3Ã@d0ÃŒ5Ãðp7Ã0À/Ã5ÃÅ6Ø7ÃÀ1À¿&Ãõ.Ãx.ðò1ÃP,+Ã’4à ™/ü1ÃÐÃ1ÃP…1Ã`;/Ãpb/Ãð2À0ÃàØ4Ãàü.Ã`#3ÃP2Ãð¬-ÃÐL0à c8ÃÀ–2à þ3Ã` 3ÃŒ5ÀÊ9Ã@·7ÃÐ(6Ã-0Ã0O-Ãð¬-ÃÔ-ÃPg6ÃÀ1.à “0ð3Ã@·7ÃÐ@2Ãðÿ4ðì2ðæ3Ãà+Ã-Ãpb/Ã0¨3ÃP…1ÃP…1àÅ2Ã@d0ÃÅ6ðW6Ã33Ãø'ÃÀO)Ãpb/ÃÑ4Ã@Û1àÅ2ÃÀ´-Ãp\0à¹4ðø0À-àB3À /ÃPs4ÃpÁ4À.àé,ðo2ÃpV1Ã`Ž6ÀÜ6À}1Ãr/àã-à ‡2Ã0=0Ãp\0ÃðŽ2À}1à³5Ãð0ÃÀ1.à~)Ãð).àÑ0Ãð¸+Ã0Ò,ÃW)Ã`¦2ÃPm5Ã`/1Ãà…-ði3àZ/Ãàs0À.Ãðˆ3ð-ÃP1ÃÀ¢0àÅ2Ã0À/ÃÀÀ+ðþ/Ê+Ã0+3ÃH6à×/Àk4ÃPy3ÃÀ7-Ã0´1Ãàa3Ã’4ÃP—.Ãû-ÃP‹0Ã92Ã0´1ÃPy3Ãð1ÃPÇ&Ã0Æ.Ã`2ÃP2ü1ðŸ*Ãð4Ãàä2ÀY7ÃÀ6Ãp*ÃðG)àl,ÃÎ.Ãp>5ÃPö3Ã`50Ãàa3Ã×3Ãðí7Ãpn-Ã0Ò,ÃP/ðì2Ã@Ï3à65ÃPü2ÃÔ-Ãp\0ö.Ã3ÃÀ1Ã0´1ÃPØ8Ãðó6Ãð 3Ã0º0Ã-ÃT4Ã@X2Àƒ0Ø3ÃE0ÃÔ-à<4ÃÈ/Ãð”1Ã`”5à³5Ãà[4àŠ'Ã`)2Ã0C/Þ2Ãðš0Ã4à þ3Ãp,8Ã0®2ÃpÍ2Ã`/1Ã`p;Ãàa3ÃZ3ÃÐ:ÃPü2Ã0¨3à 3Ã012ä1Ãð/-À}1Ã7à¡8à65ÃàU5Ãàö/Ø7à¿3ÃÐ(6Ãz8ù8ÃÐj+À.Ã`5Ã÷8à {4Ã@É4ÃÂ0ðÔ6Ãðá9ÃÙ=Ãàm1ÃPg6Ã`2Ã@Ï3ðo2ä1Ãà=9Ãp»5À‰/Ã3à¹4ÃPä6Ã@R3Ãp&9ÃÀ~6ö2à06Ã4à 6à§7ÃÅ6ÃàÒ5ÃpÇ3Ã0Š8Ã@.9Ãðí7ÃÐ@2Ãð‚4ÃЙ8Ãp£9ði3ÃàØ4à³5Ãð1ÃÀ2à­6ÃÐ.5ÃP0Ã`²0ÃP1à06Ã@L4ÃÀŠ4Ãð).ð{0à 1Ã0=0à ¼>ÃÐ.5ÃpÇ3Ã0C/ÃPs4Ã0I.à «,Ãx.Àk4ðu1ÃÀ1ð/Àe5ð¼:Ãàs0Ãðš0Ãð /Ã3ÃP2Ãpå.ÃP-Ãð¸+Ãpb/ÃP…1ÃQ.Ã0[+à /ÃÀŠ4ÃàO6à³5Ã071Ãà.ðì2ðì2Ãàü.Ã0º0Àô2Ãð#/ðu1Ã’4Ã9.ö.Ã0Ø+À /Ã`;/ðò1ÃpÇ3Ãày/à “0Ãp\0Ã@|,ÿ7ðò1ðø0Ãð¸+Ã`2àZ/à×/ðì2ð‡.Ãt9Ãp,8Ã`²0ö2ðà4ÃЫ5ð3à<4Ãx.à 0Ã@F5ÃÐ"7ÃÀï8ÃpV1Ãàö/ð3Ã0m(ÃÐÛ-Àî3Ã`#3à i7Ã@j/Ãàü.À /Ãpt,Ã`2à~)ÃÐÕ.à ".ÃÐ44à06Ã`Ž6Ãõ.ü-ÃÀÀ+Ãð²,ÃQ.ÃÀÆ*Ã0=0Ã071Ã`²0ÃK+À /à 1Ãð²,Ãð).Ãðù5ð“,À /Ã`)2ÃP1Ãðp7ÃÀ2àû)Àô2ð .àé,ö.Ã@@6ê0ÃÀ¨/Ã@ç/ÃpÇ3à 0à +ö.ÃN5Ãð 3à ç"Ã0y&Ã0[+ÃÐ^-à¿3Ãð0À_6Ã@½6Ã`¦2Ãà,ÃE0ÃÐF1ÃÀ6Ãà[4À0Ã'1ÃÀ6à 2Ã` 7ÃpÁ4Ã’8ÃÀ1ÃP1Þ2Ã0+3ÃP2ÃpÍ2Ã4Ã5Þ6Ã071ÃpV1ÃN5Ã0º0àÑ0àé,Ã`;/Æ6ÃÀ5ÃPg6Ä,Ãð¾*Ã@Õ2Ãð2ÃPü2ÃÐÏ/ÃpÓ1Àk4ÃÀ1.à 1Ã3/à i7ÃŒ5ÃÐ44à 2ÃPg6Ã`”5ÃÐÃ1ÃÀ%0Ã0œ5ÃÀ3ÃÎ.àÑ0Ãà.ÃZ3Ã@48Ãph.Àe5Ã@Ÿ;Ãðv6ÃÀ„5à 1Ãð0ÃP-Ãx.Ø7ÃÐç+Ãàö/Ã@L4Ã@ó-Ã0C/Àw2ðc4ÃH6À‰/Ã0¢4ÃÀ2ÃÀ3Ã0%4Ã`¾.ü1ÃÐÏ/ÃP/à¿3ÃàI7à “0Ãp27Ã0Š8À-à “0ÃÀœ1àË1ÃÂ,ðþ/Ãàa3À$+Ãl0à$8ÃàI7ð-ÃÐ.5ÃB7ÃPö3ÃÐF1Ãðv6ä1Àe5ÃàI7ÃÀ+/Ã0¨3ÃZ3Ã'1Ã@j/Ã9ðW6à 2ÃÀ2Ãð”1ÃPü2Ã-0ÃP‹0Ãðÿ4ÃÂ0Ãà‹,ÃÈ/Ãàs0ð™+ÃÀ3Ã@Û1Ã@(:ä1ÃPs4À5=Ã`2à 6ðÎ7À•-ÃpJ3Ã33Ã`”5ÃàØ4Ã@Ï3Ã06Ã`6Ã`/1À›,Ã`¸/ð/ÃP2Ãðš0ÃÀ5Àe5Ã0º0ÃÀÒ(ÃÐÃ1à06ê0Ã`Ö*ð™+Ã@|,Ã0I.ÃË5Ãð¦.ð{0ÃÀœ1Ãà.à ±+Ã@ç/ðø0Ã3/Ãàm1Ãpt,Ãf1à³5Ãt9ÃPy3ê4ÃÐÛ-Ã`#3ð/à à8ÃPö3Àe5Ã@Û1Ã@^1Àk4ÃP1Ã@d0Ãàü.àË1Ãàê1à¿3ÃÀI*ÃÀ2ÃpP2Ãð/-à 4+Ã`š4Ãð/-Ãð1Ãày/Ã@+à 1Ã06à “0Ã?1à 1ðu1à­6À_6Ã×3Ãp27ÃÐL0ö2Ã`¾.Ã@ç/Ã@X2ð .Ãðš0Ã0Æ.ÃW-àx*Ã0º0ð‡.à ±+Ãà[4ÃÑ4Ã`/1ðu1Ã`Y*ÃÀ1.ÃÀ%0à¹4ê0ÃW-Ãð¸+à 1Ã0À/Ãï/ÃÀ®.Ã`Ä-Ãð).Ãà)ÃŒ5Ãp¯7Ãàm1àZ/Ã`Ö*Ã92Ãà-ÃÀœ1Ã@É4À.ð/ÃàÞ3ð/Ã0´1ÃpÍ2ÃÀ7-Þ2ÃpJ3ÃÐd,Ã0ä)Ã9.à ¥-Ã@R3Ã`¾.à /Ã@|,Àô2Ãàö/Ã'1À¡+Ãà'Ã`M,ÃÀœ1ð/Ã@+Ãpñ,ÃÀ1.Ã0–6ÃÀº,Ã@í.Ãé0Ã071Ã9.Ã`G-ö.ÃÀœ1ðà4Ãà+Ã@ù,Ãï/Ãþ&Ãàa3Ã0:ÃÐ:à 1ÃP‘/Ã9.Ã`;/ÃÐX.Ãp€*Ã0À/ÃpP2Ã?1ÃÐ.5ÃÐÉ0À.Ãð5,à 0ÃT4ð/ÃÀ1ÃÀ3ÀÖ7Ã0ä)ði3Ã@|,ÃðG)ð+Ã@É4à ‡2ðì2Ã0C/Ã@Û1Ãï/Ãà.àH2à ".à³5ÃPð4Ã0®2Ø3ÃÂ,à×/Ãðí7Ãàa3ÃÔ)Ãà‹,Ãàð0Ã@ó-Ã@á0Ãàa3Ã05Ãàê1ðŸ*Ã0º0Ã0C/à c8Ãðp7À /Ã0=0àï+Ã071Ã@X2À•-àÑ0Ãã1Ãp>5ÃÀ3Ã` 3À7Ã`/1Àô2Ã3/Ã0´1Ãx.À›,Ã`;/Ã@É4Àè4ê0ÃÐÕ.Ã`â(Ãpß/ÃÀº,Ã0C/ÃÀŠ4à ½)ð‡.àT0Ã`ˆ7Ã0®2Æ6Ãðç8ðæ3Ã@L4Ã?1à ·*À¹'ÃÐF1ÃpP2ðì2ÃÐL0í:ÃP%AÃ@(:Ã`ˆ7Ãp¯7Ãð”1Ãp,8ÃÐ"7Ãð 3ÃÂ0à c8ðW6ÀÊ9à Ô:ÃË5ðQ7ðÚ5Ã!6Ã@^1Ã@±8ÀA;Ãp£9Ãà¨<Ã`ç<Ãp£9Ãý7Ã@¥:Ã`R@ÃàU5Ã0Š8ÃÐ9Àô2ÃP…1ÃÀZ<Ã0r<à þ3À¾;ÃH6Ãpö@ð?:ðÈ8Ãp>5ÃàU5ðW6ð¼:ÃPØ8Ãà®;Ã`ó:ÃàC8Ãp—;À7à}>Ã0Š8à§7ÃÀÑ=àw?à Ô:Àk4Ã`|9à}>Ã’8Ã06ÃÂ0Ãp,8Ã`2ÃðX;ÃЫ5ÃpP2ÃàÆ7ÃðÉ=ÃPm5à¡8Ã@@6à$8à K<ÃðX;Ãàº9ÃÀ 4ÃŒ5Ã0+3Ã0+3ÃÀl9à Â=Ø7à ì6Ã8CÃÐ:ÃPC<ÃðL=ÃðÏ<ÃPÌ:À¸<Ã@™<ÀÐ8Ã0ï<Ãp‹=Ã0~:Ã07Ãp :ÃÐ ;ÀM9ÃPa7Ã0 8À7à06ÃàÌ6ÃЙ8à i7àw?Ãà1;à›9à ì6Ã`4Ã@=Ã×3ÃðŽ2ÃpD4Ãx.ÃPÞ7Ãðp7Ãð”1Ã`v:Ã09Ã0:ÃàÞ3Ãà®;Ãp&9À_6Ãð|5ð¼:ÃPØ8ð¶;Ãn:ÃŒ5Ã3/ðÎ7ÃÐì?Ã$<à ò5ÀS8ÃÐ"7ð3<Ã@Õ2ÃЫ5ðE9Ãz<Ã@";Ã0~:ÃÐ ;Ãpµ6ÃÀ„5Ãp&9à¡8Ã'1ÃpÍ2ÀÐ8ðÚ5ÃÚ,Ã0 8ÃàC8Ã@øAð!?Ãð2ÃpÁ4À0Ã`/1à•:Ã!6ÃÀ„5ÃÐ¥6Ãð1à•:Þ2Ã`²0ÃÀ5Ã`#3Ãð4Ã0œ5à à8Æ6ðE9Ãë:Ãð2Ã@L4ÃPä6ç;ÃÀr8ÃÀx7Àú1ÃP1Ã0®2Ãðá9Ã06ÃàÆ7ÃàÆ7Ãð0Ãý;ÃÀ–2ðþ/ÃÐÕ.Ã-4Àk4Ã`2ÃÀ3Ãpµ6ðÚ5ÃÐ(6ÃðÛ:Ãà=9ÃÀ6ÃÐR/Ã3ðu1Àw2ÃÀ2ðþ/à Ú9Àú1Ã`p;à o6Ãð#/Ãàö/Àe5à ò5Ã92Ãà‘+Àô2Ã9Ã@.9Ã`ˆ7Ãpë-Àî3ÃàC8Àè4ÃpÇ3ÃpÁ4ÃÚ,ÃÐÉ0ÃPg6ÃPð4Ãt9ÃpV1ÃpÙ0à à8àB3ðò1à65Ãp,8Ãб4ÃÐÏ/à ™/à K<ÃÅ6ÃPÀ<Ã@(:à ì6ÃÐ@2à c8Ã0:à<4ÃÑ4Ã0¨3à Ú9ði3ÃðÛ:Ã0Š8ÃPs4ÃàCÃ05ð?:Ãð 3ÃÀ¨/ÃÀ3ÃPê5ÃÐá,À;À_6ê0Ã3ÀÊ9Ãý;à ø4Ã`#3ÃÐ@2ÃE0à¿3Ã@Õ2ÃpV1Ã0®2ÃÐá,Ã@Ã5Ã@L4ÃÀ+/ÃÐF1ðu1Ãé0ÃÀ„5Ã69ÃPê5Ã`A.Ã@j/ÃÀ6Ê+àÝ.Ãà1;Ãt9Ãà.Ã0+3Ãp86Ãà[4Ãf1À‰/Ãð2ÃÀ–2Ãð”1Àq3Ã@Ï3ðc4ÃÀœ1Ãð|5Ãðÿ4ÃÐþ<Ã`8Ã@F5ÃÂ0Ã@í.Ã@É4à þ3Ã’8ÃàÒ5ði3ÃÐ¥6Ã`ó:ÃpJ3Ã@^1Ã0%4Ã5Ãàä2Ãé0ðK8ÃPØ8Ã`4Ã0¢4Ãï/ðK8À_6ÃÐ:3ðò1Ã@·7Ã0À/ÃÀ6ÃPÌ:Ã@@6ÀS8à³5ÃЇ;Ã0ã>Ãë:ÀS8Ã0+3ÃH6ÃP1?Ãp»5Ãz8Ã@þ@Ã`ç<Ãp¯7à ]9à Ô:ÃðÃ>Ã`ç<ÃÀx7ÃÀï8ÃÐ ;à E=ÃÀï8Ãp…>Ã0~:ð-=À#@ðª=ð-=ÀG:Ã;ÃeFÃ@‡?Ã>Ã@";Ãp?ÃÁEÃPÌ:Ã0ã>ÃÐø=Ãý7ð˜@ÃÀÑ=Ã@=àq@à Â=À/>ð-=Ã`Ï@Ãð.Bð†Cð'>Ãð·@Ãð4Að@Ã`ÉAÃÀ*Dàô?Ã`Û>ÃàûCÃ@ìCð’AÃà1;Ãà>Ã0¿Dà²JàeBÃð:@Ã2DÃÀ³BÃ@‡?ÀpHûFÃpy@À”BÃ00GÃ@æDÃÀ­CÃ}BÃÐÂFÃP EÃ>BÃð«BÃP+@ÃÀ¿@ÃÀÑ=ðŒBÃeFÃ0Ý?ÃÁAÃpÀIÃpØEÃ@æDÃÀ›FÃ@ÈIÃð‡HÀvGðDà>àw?ÃÐEFðŒBÃpü?Ã`LAà GÃ0HCÀ¸<ÃðÃ>ÃP„FÃ0BDÃ&JËJÃpaDÃ`ç<ÃÀ*DÃúBÃP–CÃ0`?ÃÐÈEÃ0Ã0ã>ÃDEÃà`HÃèEà nKÃ@uBÃ@øAÀ”BÃÀ›Fð˜@ÃÀ$EÃSIÃP„FÃ`±EÃîDÃpgCÃ0­GÀÿEÃ@WGÃîDÃ0¿DÃPõHàÄGÃð HÃ0TAà È<ÃÙAÃмGàâBÃöMàÖDÃDEÃðFðŒBÃP EÃ0BDÃ0ÑAàÜCàÜCÃàxDð’Aà ¤BðDÃàZIÃPFÀ¦?À DÃÜGÃÐÔCÃPœBÃPŠEÃ0³FÃðIà ÷IÃÐWCÃÀ*DÃà`Hà €HÃÖHÃHÃ`·DÃÐcAÃ0•KÃÀ§DÃÐQDÃwCÃpsAÃ`Õ?à ŒFÃPDÃpðAÃ@þ@Æ:ÃÀÅ?Ã,EÃð±AÃYHÃ@oCÃàCÃÀGÃ`Õ?ÃP¨@ÀvGÃÍCÃàlFÃ`±EÀAàYDà ¤Bà=ð@Ãå;ÃP®?ÃÐQDÃ0`?ÃpðAÃ0àeBÃÐ<Ã0ÑAÃPéJÃÍCÀÐ8Ã0ÑAÃàéFÃÀH?ÃÓBÃà+<Ã`FBÃÐWCÃð¥CÃàõDÃð^:ðž?ÃpmBÃà@Ãpy@à ?>ÃPC<Ã`ÉAÃ`R@ð9;Ãß@à -AÃpmBÃp?ÃÀ§Dð3<ÃÐ<ÀBÃÓBà ?>ÃÐ<Ã0Ý?À @Ã`^>Ã?ÃÀ¿@Ãñ=ð¤>Ãð™Eð'>ÃPº=Ã`^>Õ>ÃГ9ÃÍ?ÃÀË>à:ÃÀ×<Ãðd9Ã0BDÃ`«FàâBÃpy@Ã0r<Ã\=Ã@«9à 'BÃÐWCð CÃð@?ÃÀÃp :Ã0û:Ã`Õ?Ãpü?Ã@øAÃ`ÉAàSEÃ8CÛ=ÃÀã:ÃðL=ð¼:à 9?ÃVBÃ0l=Ã8ÃðX;ÃpsAàú>Ãå?àq@Ãb@ù8ð-=Ãß<Ãp?Ãh;á<Ãp…>Ã`Ï@ÃAÃ@:7Ãà®;ÃÀÅ?ÃÐþ<Ã@‡?ÃPU9ð°<ð˜@ÃЇ;Ãð4AÃP–CÃ0l=Ãñ=Ãp—;ÃPÒ9Ãh;Ãðp7Ãn>à>ÃÐì?Ã0õ;Àâ5Ã@(:ÿ7ÃÓ>ÃPÒ9ÃP1?à u5à ?>Ã`^>à ?>à Q;à$8Ãñ=Ãà1;Ãà+<ÃÍ?Ã@uBÃÀÝ;à­6ð?:ÃàÌ6ÃÐ:ÃÐ]BÃÀT=Ãp£9ÃàÒ5à ì6À²=ÃàÀ8Ã07Ãà7:à‰<ÃàI7à @Ã@þ@Ã`š4Ãz8Ãð«BÃÐu>Ãà¨<à;Ã`á=à9à W:Ãp£9É@ÃÀ­CÃN5ÃPº=ÃÐ"7Ãð0ÃÐ9ÃPØ8Ãb@ÃPC<Ãb<Ãp£9ÃÐu>ÃÐ:Ã`8ÃPð4ÃÀÅ?Ã`R@ð3<ðÂ9ÃPä6ÃЙ8ÃЙ8Ãðv6Ã0x;ðÂ9Ãp:ÃÐ ;Ã7à à8ÃÐ:ÃPü2Ãà[4ù8ÃPÆ;Ã0–6ðQ7Ã>Ã@Ÿ;Ã09à¹4Ã@½6Ãpµ6Ã-4ÃŒ9ÃðL=Ã@";ÃàÆ7Ãðj8Ã`”5ÃÐ(6Ãðá9Ãà–?Ã0×@Ã>Ã@“=Ãb@Ãà´:Ã@<Ã;à i7Ø7Ãðç8ÃÐ¥6ÃÐ{=ð3Ãp27ÃðX;ÃV>Ãà´:Ã5Ã’8àq@Ã@:7Ãpµ6Ãp :Ã@«9à$8ÃÀõ7Ãðj8Ãpµ6ðø0Ã`6à Ô:à ò5Ãt9ð¤>Ã0~:ðÈ8Ã`v:Ã`Û>ÃË5ÃP®?àq@ÃЙ8ÃPÆ;ðÔ6ÃÐ(6À¾;ÃÐþ<à§7ÃÀû6Ãt9Ãpµ6Ã@Õ2Ã` 7Ã`6Ãà=9Ã0l=Ã`8Ã`v:ÃÀï8Ãð2Ã@Ï3Ãp»5ÃPÌ:ÃÐ:ÃàC8ðK8ÃPØ8ÃPU9ðÎ7Ã5àB3ÃpÇ3ð3ðQ7Ã@>ù8ÃÀf:Ã@“=àkAà :Ã0õ;Ãp©8Ã÷8Ã0f>Û=ÃÀ¢0Ã@É4ù8ÃÐo?ÃЙ8Ã@½6Ã0:ÃÐ(6ÃN5Ãðj8Ãp&9Ã0„9ÃPð4ÃðX;à ì6ÃðL=Ã`¦2Ã7Ãà7:ÃàÀ8Ãz<ðÔ6Ã`ÉAà;ÃÀã:ÃP[8ÃPa7ÃÀ2Ãðd9Æ6ä1Ãz8Ã@ ?Ã0¢4Ãp:Ãp,8ÃàO6ðÂ9Ã;ÃP==Ã0û:Ã’8ð¼:ÃðÛ:ð-=à‰<Ã`v:ÃÀõ7ÃPC<Ã0`?Ã0¢4ÃÐ8ÃÅ6ÃPO:ð¶;Ãà´:ðÈ8Àe5Ãp:Ã>ÃÀï8Ãt9ÃÐþ<à Â=ÃPÆ;À7à;ÃÐ8Ã7Ãý;ÃÀÝ;Ãp86Ã`ù9Ã07Ãn:Ã09ð9;ðž?ÃàI7ÿ7ÃÐ ;ó9ÃàU5Ã@.9ÃЇ;ÃÀË>Ã$<à W:à 3@Ãà@ÃP–CÃÐ{=Ã>ÃÀB@Ãà®;ÃÐì?Ã?Ã0l=ÃðL=Ã0NBÃÐ ;Ã÷<ÃV>àSEÃÀB@ïDà Fð’AãFÃJÃÓBÃP7>Ã@>Ãp :ÃPDÃÀ¡EÃPCÃ0ï<Ã`Û>ÃP%AÃ00GÃ@þ@ÃÐàAÀvGÃpsAÃÐÔCÃt=Ãß<À”BÃà¢=ÃPGà žCÀ¦?ÃÐàAïDÃôCÃîDÃ0HCÃÀf:ÃpðAÃP7>Ã0x;Ã0TAÃÀÅ?Ã@@ÃÀ¡EÃ@oCÃðFÃÙAÃpö@à}>ð'>ÃÐ:Ãp…>àú>Ã`4EÃPŠEÃh?ÃÀl9Ã`LAÕ>Ã`Ï@À/>ð!?Ãà+<Ãpö@àî@à ¶?Ã`ÃBð!?ð†CðAÃÀ³BÃ@þ@Ãð½?Ã8CÃAÃðEÃ0ÅCÃÐàAÃP~Gð†Càô?ð˜@ÃðL=ÃÐ"7ÃÐÔCÀ”BÃb@ÃÐò>à‰<ð˜@ÃÀ¡EÃðÉ=ðAÃà?ÃPO:ÃpsAÃ*;à$8À”BÃÀ×<Ã@@ÃàŠAÃ`R@ÃÐ<Ãpü?Ã0Z@ûBÃp?à•:Ãë:àkAà -AÃpsAÃðL=àú>ðBà 3@Ãå;Ã0õ;Ã@@Ã`ù9ÃPº=ð9;Ãà´:ÃàI7à‰<Ã`·DÃà®;Ã0é=Ãp©8à;Ãp:ÃÐþ<ð?:Ãý7Ã0x;ð3<á<à æ7Ã09Ãp:ðW6Ãp=Ãð^:ÀÖ7ÃÀf:Ã;ÃŒ9à Ú9ÃðÃ>Ãß<À_6ÃðL=Ã<8Ã*;Ã@Ã5Ãð^:ÃÀã:Ãp…>ÃàC8ÃÀÝ;Ã`Õ?Ã>Ãà7:Ãp?ÿ7Ãp :Ã=ÃÀ6ÃÀ5Ã`d=À¬>Ãp;Ãp‹=Ã`ÿ8Ãà´:ÃÀZ<à$8Ãt9ÃÀõ7ðæ3ðò1Ã@=Ã;Ãðù5Ãðí7Ãt9ÃPU9Æ:Ã33ÃH6Ã'5ÀÖ7Àâ5Ã`|9ÃÀõ7Ã7Ãp£9Ãý;à ]9Ã@@6ÃÐ44Ã@:7Ã@‡?Ø3Ã'1Ãp»5Ãp86ÃÀf:ðQ7Ã92Ã@";àú>ÃÀõ7ÃЙ8Ã@Ï3Ãà7:ç;Ã`j<à o6Ã×3ÃÐ¥6Æ6Ã0ï<ÃÀï8ÃÐÉ0Ã@±8ÃÐi@à³5ÃP‹0ÃàÒ5ÃpÁ4Ã`v:ù8Ã33ÃpÇ3À}1à;Ãb<à à8Ã`ó:Ãðp7ÃH6Ãpµ6Ã`#3Ã5ÃPä6ÃP==Ã`|9àú>Ãz8Ãà=9Ãn:ÀM9Ã@F5à06Ãðj8Ãp&9Ã0l=Ã`ó:ÃPÒ9ÃÀZ<ÃÀ„5ÃÐ9Æ:ÃÅ6Ã`ÿ8ÃPm5ÃŒ5ÃðR<Ã@™<ÃàÞ3ä5ðQ7Ã@á0Ãh;ÃàI7Ø7Ãý7Ã`‚8ÃÐ¥6ðK8ÀÖ7ÃÐ"7Ãðá9Ã`‚8à 1à:ÃPÞ7Ã0:ÃÐ<Ã@(:ÃPg6Ãà7:Ãp?Ãð½?Ãðç8Ãë:ÃÐ(6ÃЇ;ÃÐcAà•:à$8Ãà®;ÃÀZ<à9ÃÀœ1ÃП7ÃPü2Ã@½6Ãý7ÿ7ð¼:á<Ãh?Ã012Ãp>5Ã06Ã<8Àâ5Ã'5Ã`v:Ã@Õ2ÃÀ`;ÃP%AØ3Ã` 7Ãñ9Ã@É4Ã07à:ÃÀ„5ÃàÒ5Ã@±8Æ:Ãà1;ÃÀ6Ã07ö2à65À5=à§7Ã012ÃÀ1Ã`š4Ã09ÃP2à ø4Ãð 3Ã@@6Ã`²0ÃÐ¥6í:Ã5ÃN5ðà4Àq3Ãà7:Ã`5ÃH6ðÚ5ÃPU9Ã`‚8à Ú9Ãp :ÃðR<Ã*;Ã`Ž6ÃÐL0Ãàê1Ã-0Ã06ÃÀl9ÃðX;ÃàÌ6ä5à‰<Æ:ðu1Ãp»5ÃPm5ÃpÙ0ÃÀ6ÃPÞ7Àî3Ãã1Ã`¸/Ã@";À_6à65à*7ÃÀx7Ã`Ž6Ã@Ã5Þ2Ã@R3ÃP-Ãp»5Ã@@6Ãp£9ÃÐÃ1Ø7ÃÐá,Ã@X2ÃpÁ4ÃPä6Ãà[4ÃpP2ç;Ãн2ÃÀ5Ãб4à³5Ã`6ÃP2Ã9.ö.Ãб4ÃÀ3Ã@d0Ã`Ž6Ãñ9Ã÷8ð]5ÃÐÃ1à;Ã’4ÃPa7Ã9Ãàä2à þ3à ™/Ã`Ä-ÃPä6Ã0œ5ÃÐÏ/ÃpP2ðc4ð3<Ã`6ÃPê5Ãpn-Ã`p;ÃB7Ã0–6Ãð1ÃÐ.5Ã`6Ã-0ÃÀœ1Ãð2Àú1ÃÑ4ÃPØ8Ã`2à ì6ÃpD4Ãðp7ÃàÞ3Ã071àf-Ãðç8ÃPð4ÃÝ2ÀÐ8Ãð1ÃÐ9ÃÀx7àB3Ã0®2Ãà7:Ãà7:ÃN5ÃN5ÃË5Àè4ÃÀ3ÃPö3ÃЇ;àH2à ò5Ã@X2à c8ÃÀr8ði3à ‡2Ã!6Ãpµ6ÃÐ:Ã` 7Ã05ÃàÌ6Ã@Ï3ÃË5ÀY7à Q;Ã0~:Ã0é=Ãp,8ðò1Ãðp7Ã@“=ÃÐ ;à i7Ã7ÃàÌ6À7Ãð|5ÃH6ó9ÃPä6Ãp86ÃÀT=Ã@F5á<Ã0Š8ÃðÉ=ÃÀï8ðc4ÃÐ9à¡8Æ6à*7ÃpÍ2ðò1ÃP1ÃÐ8ÃP´>à ]9Ãðí7Ã0:ÃpD4ÃÀ 4Ãp,8Ãß<ðÂ9Ã@>ÃðÛ:Ã@·7ÃàC8Ãý;Ã’8Ã`¸/ÃÀ5ÃÀû6ÃÀf:Ãn:ðE9Ãðç8ç;ÃZ3à¹4ÃðŽ2Ãp27ÃÓ>Ãà7:ÃÀf:Ã@¥:ÃPÞ7à¹4Ã0û:à_CÃh;à*7Ãñ9ÃÀ®.ÃN5Ã`)2Ã7Ã0„9à ì6ÃT4Ã@Û1ÃÀ+/Ã@ÿ+Ã`)2ÃП7Ãн2Ãàa3ÃЙ8Ãðó6à 2ÃàO6ÃPð4ðc4ÃPÒ9Ãà7:ðÎ7Ã0O-ðc4ÃÀ6Ã`)2Àè4Ã`5ðQ7ÃPa7Ã0+3Ø3Ã012ÃàÀ8ÃÑ4ÃP2ÃPm5ðì2à¡8Ã07Ã@É4à 2ÃÐ^-à {4ÃÐ9ÃP‹0ç;Ã@·7àÑ0ÃPm5Ã’8ÃÀû6à:Àâ5Ãн2Ãp©8Ã@Ï3Ãp86ÃÀ6ÃPs4ÃГ9Ã@F5ÃàØ4Ã@ó-ÃàÀ8Ã`v:à<4ÃЫ5Ø3ÀM9ð]5ðà4ÃH6ÃÀ–2ÃàI7ÃÀr8ÃPÀ<ÃàÒ5Ã`¦2À7Ã@·7Ã09ÃàC8ð3Ã012Ãp>5Ãð^:àB3ÃPÞ7ÃЙ8ÃpÍ2Ã06Ã'1ÃZ3Ã0%4Ã07ä5Ãý7Ãàm1Ã0¨3ð¼:ðE9Ãpµ6ÃП7Ãð4ÃÀï8ÃÀ~6ÃÐ¥6Ãðj8ÃË5Ãf1ê4Ãñ9ÃŒ9ÃàØ4à c8Ãð‚4ÃàØ4à*7ðÔ6Ã@X2Ãð#/ÃГ9Ã`‚8Àq3ÃP&,Ã`5à9ÃÝ2Ã?1ÿ7ÃÀÑ=ÃàI7ðÔ6ÃpÁ4ð/ÃÀŠ4Ã@½6Ãz8ðÔ6ÃP[8à¹4à i7Ã3ðE9ÃðÕ;Ãà[4ÃàÞ3Ø7Ãàê1àH2Ã@·7Ãp:Ãðí7ÃðR<ÀS8Ã`¬1àN1Ãð|5Ãðˆ3ÃàØ4ÃàÒ5ÃÐÃ1ðÈ8Ãàg2Ãàg2Ã0–6ÃП7ðÔ6à E=Ãp\0ÃÀ„5Ãðj8ÃpP2ð/Ã`A.ð3Ãðó6à³5ÃÀ„5ÃГ9ð-à`.Ã0+3ÃÐL0Ã0–6Ãð2Ãà[4ÀÄ:ÃÝ2Ã`/1ÃÀ„5Ã@ç/à<4Ã@Ã5Ã` 3ÃP2ä5Ãз3à06à ‡2Ãf1ÃPm5ÃÐ44ðø0Ã`Ä-Ã~-ÃÀ®.ö2Ã@@6Ã`Ž6Ã0®2ðc4Ãl0Ã-0ÃÈ/ÃPy3ÃЇ;à¿3Ã`²0À¡+Ã'5àN1Ã@ç/ÃÐL0à «,à 3à 3Ãpý*ÃE,À /ð{0àZ/ÃpV1ÃÀ2Ãp,8Ã69ÃPy3Ã`)2ü-Ã`¸/ÃГ9ê0Ã3/ÃË5Ã@R3à 2ê0Ã0®2ð]5Ã4Ãðv6Àî3à­6Àô2ÃpV1Æ6Ã0º0ÃÝ2ÃÈ/ÃÀŠ4Ã=ð!?ÃÐ@2Àe5àË1Ãð2Ã3Æ6ÃpÓ1à›9ÃPº=Ã`ù9Ã0 8Ãðp7Ãà AÃ`X?à K<ÃP==ÃPº=Ãð±AÃÐo?Ã@{AÃ0NBÀ#@ÃPœBà ªAÀçIÑIÃÁEÃP´>Ã`ç<àî@ÃpÒFÃÀ¹AÃ@]FàSEÃ0ËBÃqDÃ@EJðåHÃPCÃP¨@ÃîDÃÐ-JÃGà GÃÀT=Ãð"DÃ@QHéEðAÃà¨<ÃV>Ã0¹EÃpÆHÃ@'Oà_CÃ`4Eð€DãFÃJÃФKÃpÞDïHÃ@WGÃPœBÃÀ›FÃp¨MÃPrIÃPŠEÃÀGà)LÃ`ŸHÃ@àEÀpHÃ@ÔGÃ`{Nà åLÃ@@ðåHÃp[EÃDEÃàïEÃð"DÃ@ÈIÃpgCàw?à EãFà †Gà;IÃpUFÃP EÃðIÃ@QHð’AÀŽCÀ DÃ&FÃ,EÃ_GàSEà KðÓKÃP%AÃà¢=ÃàéFÃàõDãFÃPCÃpÆHÀíHÃpü?Ãà~CÃP~GÃ@]FàMFÃð Hà FÃ0¹EðtFÃ0³FÃpÒFÃàûCÃÄKÃ`:DÃàïEÃàfGÃ&JÃ@QHÀŽCÃkEÃpCIÃÀƒJÃPxHÃ0ÅCÃðL=ÃÀ6BÃ0BDÃ`@CÃ0ÑAÃp‹=Ã0•KÃð HÃpºJÃð±AÀ¬>Ã}BðVKÀÕLÃ`.FÃ@òBÃÀ›FÃÀ§DÃPGÃÀ­CÃÖHà HûFÃÐQDÃ@@Ã?Ã0f>ÃpgCÃ`^>ÃPC<Ã0TAà ¤BÃp;Ã@oCÃ@uBÃ@øAðBÃÙ=ÃÐÂFàÖDà EÃÀ³BÃ@ÚFÃ`:DÃÀ¡EÃà„BÃBÃðFÃ0ÅCÃpOGÃðÃ>ÀAðëGÃpaDÃàrEÃP EÃ@]FÃPDÃÀ³BÃPûGÃ`LAà 9?Ã0¿Dàq@à 9?ÃDAÃpIHà ˜Dà ’EÃàBÃ@þ@Ã0×@Ã`Ï@ÃÙAÃ@øAÃp>à ¶?ð˜@Ãpy@Ã@oCÃ0TAÃ2DÃ2DÃàûCÀ#@á<Ã`Û>Ã0Ý?à ¶?Ã,EÃ@@ÃÀ×<ÃÓ>ÃжHÀ|FÃPDÃP7>ðž?ÃðÃ>ÃpIHÃ`Õ?ÃpÞDÃ`ÉAÃ0×@ðDÃÀ0CÃp©8ð?:ÃV>Ãà®;ÃàBÃ@oCð!?Ãp7KÃàrEÃð¥Cà @ÃB7Ã@";Ã@øAÃ@oCà ¼>àƒ=À;ðýDÃ0NBÃàº9Ã0û:Ã`X?Ã0~:ð9;à;Ià ¼>ÀšAà ¶?À²=Ãp?Ã0NBÃ@ ?Ãp;Ã@ìCÃP?ÃÐ ;Ã@ ?Ã`:DÃ0ÅCéEÃ0é=Ã`p;Ã0û:Ãp‹=ÃÐì?Ã0~:Ã@“=ÃV>Ãð«BÀ @Ã*;Ãý;Ãðj8Ãà+<ÀAÃ0¿DÃp?Ãß@ÃàI7ÃÙ=ÃÓBÃP¨@ÀÖ7Ãàº9à;à æ7Ã0ï<Ãà@ÃÀÑ=Ãà¨<ÃÐi@ÃÀ„5Û=ÀAÃðŸDÃðÏ<à*7Ã0x;Ã@‡?ÃðÃ>Ã`Õ?ÃП7ÃðL=Ã0Z@à 9?Ã@@à Î;Ã0:ÃPU9Ã@™<Ãp=à;Ãðd9Ã`ç<ÃÀÃ<8Ãñ=Ã`j<ÃP´>ÃÙ=Ã`í;ÃPê5Ã`50à§7Ãð·@ðÈ8ÃàC8à <Ã@Ï3Àâ5ÃÐ9Ãp;ÃJ@Ã@>ð!?Ãt9ÃH6Ã0~:ÃPC<ÃË5Ãz8í:ÃðF>à E=Ã09à¹4Ãb<ÃП7Ãp£9Ãý7ÃðX;ÃZ3Ãp<Ã`v:ÃÐ44Ã012Ã`‚8Ã`á=ó9ÃÐ9ÃŒ9Ãp,8àƒ=Ãh;Ãp27ê4ÃPð4Ãðj8ÃðÕ;ÃŒ9à$8ÃPm5ÃÀõ7Ãp‘<ÀÐ8ÃàO6À‰/Ã`í;Ã@¥:Àe5Ã!6ÃðÕ;Ã’4Ã@:7ÃàÌ6Ãð‚4à•:Ãð 3À¾;à;Ãðù5ÃÀû6ÃÀZ<ðE9Ã!2Ã`6à ò5ÃÐ:Ãp=à 9?Ã0:ÃZ3àƒ=ð¼:à ì6Ãt9Ãp>5ÃðÉ=ÀÐ8à c8ÃÐ"7à ì6à65Ã0œ5Ãp>5Ãàð0Ã92ÀÄ:ÃpÁ4Ãp>5ÀÖ7Ã0Š8Àk4Ã@=Ãp;ÃpÁ4ðò1Àw2Ã@<à 2ÃÀœ1à³5Ã'5Ãà®;ÃàÀ8Ã`6Ã0œ5Ã0+3à$8Ã@á0Ã*ÃÐ@2ÃàÞ3ÃpD4ÃàÆ7Ãðˆ3Àî3ÃàØ4Ã-4ÃàÒ5Ã0:Ã`Ž6ÃP[8Ãh?ð¶;ði3Ã@á0à o6ÃÐ<ÃГ9Àk4Ã0+3ÿ7ÃÑ4ÃÐ44ÃÅ6ÃÑ4ÃP0ðò1Ãf1Ãðv6ÃPü2Ãðš0ÃÐ ;àï+Ã@ç/à (-Ã’4Ã@ç/ðþ/à$8Ã`ÿ8Þ2ê4ÃàC8ÃÐ¥6Ã33à 6ÃÀ3ÃðŽ2ö2ÃàÒ5Ã012Ã`²0Ã0%4ÃPð4Ãñ=ð°<à ø4ÃÀ5Ãð¬-àZ/ê0Ã92ÃÐÃ1Ãàü.Ãl0ðo2ÃpJ3ðÂ9ÃPä6ç;Ãð4Ãp\0Ãr/ÃÀû6ÃN5Ã3/à 1ÃpJ3Ã-0ð{0Ãðó6Ã@@6ÃàÀ8àl,ÃàU5Ãp»5ÃP2Àî3Ã`#3ÃÀ3ÃpV1ÃE0ÃÝ2ÀÄ:Ã@R3à <ðQ7ÃÐL0Ã@X2Ãh;Ãt9Ã`”5Ãr/ä1ÃàÒ5Ã@Ï3Ãб4Ãà=9Ãðÿ4ÃÀx7ÃPm5ÃàU5Ã@ç/ÃH6Ã<8ÃÀr8Ã012à ¥-Ãà.à Ô:Ã`2ÃpÇ3ÃP[8Ã92ÃPs4ÃP2Ã0Ì-Ãðš0ÃÅ6à æ7Ãp©8ÃÐR/Ã09ÃH6Ãà,Ã07ÃPy3Ãé0Ã`6à¡8Ã!2ÃpÍ2à ™/À1ÃP‹0à³5Ã@Û1Ãì)Ãl0ÃZ3ÃÐ:3Ãn:Ãp27Ã'5ÃÐ@2ÃÐ(6ÃP[8Ã~-Ã0=0Ãà1;Ã` 7ÃÐ@2à ™/ðo2Ã0´1Ãp\0ÃÈ/ðK8ó9ÃÐ:ÃàÀ8Àq3Ã0¨3Ã0%4ÃP0ÃÐL0Ã@R3ÃPü2Ãðš0ÃðŽ2Ãàm1Ãp:ÃàO6Ãðˆ3Àô2í:ÃpÓ1Ã06Ã3Ã0x;à§7ÃÐF1Ã5ÃPU9à*7à 2Ã`8Ãðí7Ãp\0Ã@Õ2ÃÐÉ0ð3ü1Ãð‚4Ã@F5à u5Ã`ˆ7ÃàÞ3Ã0¨3Ãð‚4À}1ÃpP2à à8Ãå;ÃH6ÃPa7ê4ÃÀ–2à<4ÃÀZ<Ãàa3ÃГ9à 3Ãð1Ã’4ÃH6ÃÐ9Ãà1;Ã-4à¡8Ãð4ÃÀ–2Ã?1ÃH6Ã` 7ðc4Ã@X2Ãð 3à¹4Ã0–6à /À.Ã0=0Ã-0ü-ê0Ã0+3Ã@R3ÃÐF1ÃÀ2ÃÀ7-Ã@X2Ã`”5ÃÐ.5ÃPm5ÃÐ^-à ™/Ãð2Àè4Ã`¾.Ãà,ÃP2à*7Ãðù5ÃàØ4ÃP1ÃP2ÃÀº,ÃP‘/Ã~-ÃÐL0ðÂ9Ã@Ÿ;Ãpå.ÃÀ3Ãp86Ã-0Ã012ðÎ7Ã0¢4ÃÀµÃ0I.à*7ÃÐ.5Ãð”1Ã`/1Ø7Ã!6Ã0®2Ã@^1Æ6Ã@:7Ã7Ãàa3ê4Ã012Ã0®2ÃPð4àT0ÃÀ6ðÎ7Ã3ÃÐ:3ðo2ÃÀ5Ãàs0Ã@Û1Ã0´1Ãã1Ãðˆ3Ã@X2À1Ã×3Þ2Ãàð0Ãàa3ÃŒ5Ã@L4Ã0¢4Ã`M,Ãðp7ÀY7ÃZ3Ã07ÃV>Ã@^1ê0Ã07ÃÐá,Ãpµ6Ã`5à “0à ¥-Ãp»5à06ÃŒ5Ãàü.ð3Ã0O-ÃÔ-ÃÀ1.Ã012àr+Ã`S+Ãàs0ÃPÞ7ÃP—.ÃÀ6Ã0º0ÃÂ,Ã`2ÃÐ"7àÅ2Ãp©8Ã` 7Ã0C/Ã`50Ã0 8ÃÀ 4à¿3À$+Ãð0ÃpÇ3Ãé0Ãð|5ÃZ3àZ/Ãà‘+ÃP.ÃÐp*Ãf1ÃP2Ãf1Ãày/ä1Ã09ð"*Ã@d0ÃÈ/ð .à*7ð{0Ãàü.ÃÀ®.Ãé0Ã`²0Ãð¦.Ã@É4Ã4Ã],ÃÐÃ1Ã`4Ãp»5à ".Ã@á0ä5à ø4ÃPØ8Àî3Ã`”5Ã`²0Ãr/Ã’4Ã`4Ã9.ÃÑ4Þ2Ãн2ð/Ã!6ÃP0Ãp\0ÃP1Ãð|5À}1ÃÚ,Ãà.ðø0Ã@ÿ+à ì6ÃpP2Ã09ðæ3Ãð4ÃPê5à³5Ã@Ï3ÃPð4ð3Þ2Ãà.ðò1Ã`50Ãp,8ÃÐ@2Ãàg2Ãð‚4Ã@j/Ã,Ã`¸/Ã!2à ø4ÃÀ¢0à ò5Ã`50à “0Ãð|5Ãðv6Ã`6ðø0à ±+Ã0®2Ã0–6Ãï/àé,ÃÀ´-ÃÔ-ÃÐÏ/ÃàØ4Ã05à×/Ã`#3à 1ä1Æ6Ã0I.Ã~-àï+Ã0Æ.Ã@É4Ãз3ÃÀx7ÃPm5Ãp¯7Ãн2Ã92ÃpÇ3ÃЙ8Ãðˆ3Ã06Ã0´1Ã0 8Ã@Û1Ã`G-ÃàØ4à 0À}1Ã071Ãðš0ðŸ*ö.Ã012ÃT4Ã`¾.ÃZ3àB3ÃP…1ÃÀ%0ÃàU5ÃpP2Ã`Ä-ðì2ð-Ã0Ø+Ã?-ÃPm5Ãà[4Ã-0Ã07Ã69ÃÀ¨/Àw2Ã`G-Ã`Ê,ÃÝ2Ãàð0àB3ð{0Ãð”1ÃPs4àl,ð/Ã`M,ðu1ÃÀ„5à 3ÃP/àB3À7ÃB7ÃÀ+/Ãà*Ãð).Ãð5,Ãï/Àî3ÃÐ@2Ã@í.è&Ã!2à 1ÃP&,Ãx.ÃàÞ3ðþ/àf-Ãàg2Ã3/Ã@L4Ã0¨3ÃàÒ5ð/Ã`)2ÃpJ3Ãp\0Ã@(:Ã`¬1Ã`6ÃÀ5ÃàÀ8À‰/ÃP,+Ã0Ø+àÝ.ÃàÌ6ÃP…1ðu1Ã07Ãð4Ã`²0à u5ÃPä6Þ2ÃpP2À‰/Ãðˆ3à ì6ÃpÇ3à65Ãàä2ÃÀ–2Ãpñ,Ãpë-ÃPö3Ãð²,ð-ÃÎ.Ãý7à‰<ÃT4Ã@Ï3àÑ0Ãò(ð{0Àw2Ã@É4Ãз3ÃP -ðÚ5ÃÐ.5Ã012ÃÀ´-à 1Ãã1Ã@@6Ãpt,Ã92Ã@:7Þ2Ãpb/Ãr/à ¥-Ã`Ä-ðu1ÃP2Ãàê1Ã@|,ÃàÞ3Ã92ÃÀ6ÃÐ@2Àô2Ã92Ã0Ò,ð3Ãàm1ÃP‘/ÃpÙ0Àƒ0Ãàm1ÃÐç+ðæ3Ãp>5Ãñ9Ãð²,Ãf1ÃÐ¥6à³5ðì2ÃÈ/à ".Ãã1ÃPÞ7à 6ÃP0àT0ÃÀ–2Ã@j/ÃP2ÃpP2ð/Ã@X2ä5Ãð#/Ãàü.Ø3à æ7Ã5ÿ7Ã@L4ÃP-Ãð0Ã@á0à;Ã!6ð-Ã0®2Æ6à “0Ã~-Ã`A.ÀY7Ãð”1ÃpJ3ÃPä6Àô2àT0Ãp÷+ð .Ãàm1ÃpÇ3Ãã1Ã0Ò,ði3ÃÀ2ÃÐ¥6Ã`M,à 1ðì2Ãp,8ÃŒ5Ãr/Ã-4Ãpµ6À•-à 3ÃÀ–2à æ7Þ6à 3ÃPg6àf-à “0ÃÀû6Ã`¦2Àe5Ãà´:Ã8Ã`|9ÃÐ:3Ã0Þ*Ãð|5ÃP©+Ãàê1Þ2à ø4Ã3ÃÀ3à ø4Àî3Ãз3Ãp\0Ãð‚4ÃÀ¨/ÃP/Ã`¾.Ã071Þ2Ã0Ì-Ã@á0à ¥-ÃPs4Ã~-ÃÐÉ0Ãð1Ã92À¡+Ãàm1ÃÐd,Ãàs0Ã`G-àZ/À /Ãàü.ð/àB3Ã’4ÃÐL0Ãàü.Ã@ó-Ã`²0Ã`5Ã`ˆ7ÃÀ2Ãõ.ÃPg6àã-à “0Ãx.Ã0%4Ãx.À,à 1ÃÐd,Ã0Ì-Ã-0ÃÐÏ/Ãàð0ÃP0ê0à Ÿ.Ã071Ãpå.Ãð²,àZ/Ã@í.à (-Ã`A.ÃpJ3à (-ÃP1Ã`¬1Ãpb/ÃpV1ÃÀŠ4Ãp\0Ã0U,Ãð2ÃÀ¨/À‰/ÃÐ:3ðò1à`.ÃP1Ã@@6ðÔ6ð-ÃÐ@2Àô2À-Ãðÿ4ÃÀ„5À1ðo2Ã`)2à @)À.Ã*Þ2à ™/Ãà+Ã0=0Ã0º0Ã@^1Ã`#3ÃàÒ5ÃÀ–2Ãð”1Ã0Æ.ÃÐÉ0ÃÐR/ðþ/Ã3ð3Ãàg2àN1Ãp27Ø7Ãày/àT0ÃP2ÃpÙ0ÃÀ%0ê0à ±+ðò1ÃП7Ã0–6Ã`Ä-à ·*Ã0U,Ãpß/ÃPð4ÃÚ,Ã,Ã@ˆ*ÃÐ¥6Ãð0ðÎ7Ã0–6ÃÐF1Ã9.Ã`Ä-Ã33ÃAÃÀ6ÃÐX.Ã0º0ÃÐd,à 4+ðc4Ã@^1ÃàC8Ã@^1Ã`;/Àô2à þ3Ã`50ÃÑ4à06ÃÀ+/ð{0ÃPð4Ãð‚4Ã4Ã`”5ÃÀ 4ÃÐ(6ê0Ãðó6à 2Ãl0ÃàÒ5Àâ5ð“,ÃÈ/ÃÐ(6Ãðˆ3Àq3ÃП7Ã@p.Ã`Y*À•-Ãб4Ã5Ø3Ã`ù9Àe5à 2ðæ3Ã`¬1Àƒ0Ãà¯&Ã@j/Ãàê1Ã@v-ÃðG)À-Ã@á0Ãð¬-ðc4Ã!2ÃpP2Ã-4ÃÀ3Ã012à 0à­6ðà4ð‡.ðK8ê0ÃàU5ðW6ÃPy3ðþ/ði3ÃÀ1Ã`/1Ã`Ž6ÃÐj+ÃE0Ãã1ÃZ3à u5Ã0®2àB3Ãàö/ð+Àw2à¹4ÃÀ¨/Ãà‘+ði3À0ÃàI7à Ã(ÃZ3ÃÀ¨/ÃÐ"7ÃPm5Ãp>5Ã` 7ÃPs4ÃàØ4ÃÀ6Ã’8àB3ðà4ðc4Ã@:7ÃÀ+/ðo2ÃP -Ã4à ]9Ã9.Ãðˆ3Ãpå.à65Ã!6Ã'1ÃPD'Ãàg2Þ2ÃðX;ÃÐ(6ÃŒ5Àî3ÃЙ8ÃPy3Àô2à ™/ÃÀé9ðÎ7Ã`2Ã69Àe5Ãàö/ÃPö3À.ÃÀû6ÃÀ„5Ø3àZ/ð/ÃP‘/Àw2ÃP£,Ã@X2Ã`Ž6Ãà1;Ã07Ã5ÃàÞ3Ãðó6à¿3ð .ÃpV1à*7ÃðŽ2ÃPÌ:ÃPü2Ã@^1ðc4ÃÀ–2ÃÀ5Ã@ç/Ã`)2à ì6Ãð4à 2Ãð|5ði3Ãð/-ÃÐÃ1ÃÐÃ1Ã@Ã5Ãàm1Ãpn-ÃP0Ã@@6Ãðv6Ã0®2àÑ0àZ/ÃpÙ0Ãð4Ã`ù9ÃÐÃ1ä5Àw2Ã05Ãp\0ÃP1ÃÀ¢0ÃÀ–2ðo2Ã0O-ÃÑ4Ã÷8ÃPg6Ãï/ÃÀ1ÃÐ:3ÃE,Ã@·7Ãàð0Ãàm1ÃpÁ4Ã@ù,ðŸ*Ã`¬1ðQ7ÃÀ%0ÃàÒ5Ã@Ã5ÃP©+ð-Ø3Ã@|,Ã×3Ãð 3Ã`ó:Ãð”1ÃÀ–2à þ3à§7ÃÀC+Ã@ù,Ãpz+à ò5à Ô:ÃP2Ãð¾*Ãp86Ãðˆ3Ãû-Ã0U,Ãàü.ÃP©+Ãà+ÃÀ3àB3ÃÀº,Ãpn-ÃP -À•-àÅ2Ãàa3Àe5ðW6Ã012Ãc+ÃpÙ0Ã@p.Ãàð0Ãð¦.Ãð /Ãé0ÃÈ/Ãð”1ÃàÞ3Ã'5Ã0I.î%Ã`50Ã0Ø+ÃÀ3Ãð2ÃÎ.Ã`ÿ8à$8Ã0+3à¿3à “0ð3ÃП7ÃP&,ÃpP2Ã0[+Ãr/ÃÀŠ4Ãà‘+ÃÐ^-Ãð#/à ±+Ãàä2ÃÐÏ/Ãp>5Àô2Ã0+3àH2ÃÀé9ðæ3Ãp\0ðþ/Ãðí7Ãàê1ÃpÓ1Ãæ*Ã×3ÃÀ 4Ã`|9ÃP…1ÃÀ¢0Ã@ç/Ãð0Ãð¦.à 1Ã07ðÎ7Ã` 3ÃÀ1.ÃÝ2ÃpJ3ÃÐ44Ã’8ÃP2à þ3Ãpµ6ÃÐÏ/ð-ð/ðŸ*Ã@ *ÃÐL0ÃÐL0à¹4ðÔ6Ã'5ðo2à þ3Ã@L4ð/Ã?1Ã`Ð+àN1Ã!2ÃÐR/ö2Ãð”1ðà4Ãà-ÃÐÉ0Ã`¾.Ã0O-Ã012ð™+Ãàü.ÃÐÃ1Ã0Ò,à`.Ã@R3Àè4ÃÀÀ+À}1ÃP,+ÃW-À‰/ÃpÁ4Ã`¾.À /ÃP.Ãð2Àk4à {4Ãàs0Ã`#3ÃÀ5Ã0%4Ãà7:àË1Ãà*ð‡.Ãðp7Ãé0Ã'5Ã×3à ]9ÿ7ÀÖ7Ã`Ž6à æ7Ã0%4Ã07Ã’8ð-=ÃpÁ4ÃàO6Ã7ÃÀ~6ÃPä6Ãðù5ÃT4Ã7Ã0é=ÃPU9Ã`j<ðÂ9ðW6Ã0:Ãp…>Ã<8à W:ÃàÀ8Ãà7:Ãp27à ò5ÃPg6Ã0é=ÃPÀ<Ã@Ÿ;ÀÄ:ðÂ9ÃÀã:Ãp‹=Ã÷<à E=à Â=Ã0ï<à*7Ãðí7ÃÀx7Ã`ç<Ã@“=Ã`X?ÃP®?ÃÀx7Ãðj8Ã0Š8Ã`|9Ã@>Ã07à­6àq@ÃÇ@ÃÐò>Ã`^>Ã`j<à=ÃàŠAÃP´>Ã@æDí:ÃÐ ;à ¶?Ã`Õ?à à8Ã×3ÃP==à ?>Ã0Z@ÃÁAÃ$<à­6ÃDEÃàûCÕ>ð3<ÃP´>ð'>Ã0r<ÃP==Ã÷<Ã69ÃÐ<ÃP®?Ã0NBÃ0l=Ã÷8Ã`”5Æ6ÃÀN>Ã`á=ÃP®?ÃŒ9Ã÷8Ã@:7Ãp?ÃЙ8à ¶?ð¼:Ã@‡?Ã`Ï@ÃVBà 3@Ãp?Ã`j<Ã`v:ÃPO:Ã@48í:Ã÷8Ã@=Ã@ ?ÃÀf:í:Ãë:Ãðd9ðK8Ãð^:Ãàœ>ÃPÌ:ð-=ÃÀÑ=ðQ7à¹4à K<ÃÍCÿ7Ã0:ÃÀr8Ã0:Ã07ÀÐ8Ã0:àƒ=à‰<ÃÀ`;Ã0û:ÃÐ<ÃÀT=Ã`ù9ÃÀ`;Û=ÃàÆ7Ã0HCÃ`í;ÃÀ0CÃpÌGà K<Ãðç8ÃÀû6ÃÀõ7Ãn:à È<ÃpðAá<ÃPg6Ãpö@Ãå?Ãp£9Ã<8Ã`š4à à8à*7Ã`š4àã-ðÂ9ÃÀÝ;à W:í:Ãn:àú>Ãpµ6ÃÐ:Ã@<Ã8ðà4ð]5ð{0à<4ÃÐ<àô?ÃÀT=ç;Ã`ç<ÃŒ9Ãë:À_6Ãz8à Q;Àq3Ã07à06ÃÀ`;Ã`ù9Ã09Ã@=Ãp=à‰<àƒ=Ã!6ÃÀl9Ã$<Ã0ã>ÃP1?ÃÀl9ð9;Û=ðK8ÃÐ(6Ãp©8à þ3Ãð^:ÃPÌ:Àk4ÃЇ;à›9Ã!6à ì6Àƒ0ðæ3ÃÈ/ðc4ÃÀf:À}1Ã0%4ÃÀ~6Ãpy@ÃÀé9Ã`|9Ãà´:Ã`d=À¸<Ã@>ðæ3Ã×3Ã`‚8Ãë:ÃÀÝ;Ã69Ãp :à 6à ò5ÃÀ„5Ã>ÃPI;ðª=Ãý7Ãt9à c8Ãp27ÃÐ.5ði3ÃP[8ÃÀé9ÃN5Ã0%4ÃÀ%0Ã@Ã5ÃÐ(6Ãðù5à06ÃÀã:Ã`ˆ7Ã÷8Ã07Ã@:7ð]5ðæ3ÃðÏ<à§7ÃÐ9Ã07Ã06Ãð|5ÃðÏ<à;ÃÐ8Ã` 7Ãàg2Ãð 3Ã7Ãt9ÃЫ5ÃPs4Ãp&9à 6Ãn:ÃPÞ7ÃŒ9ÃÀT=Ã`”5Ãàê1ÃP[8ÃàO6à$8ðu1À5=à ]9ÃÀf:Ã0:à¹4Ãðv6ÃÐ¥6Ã`|9à¹4Ãàs0à65Ãàg2à¹4Ã7ÃðÛ:ÃÀr8ðÈ8ÃЇ;Ãàä2Ãàê1Ã@^1ÃpD4Ã07ÃÐ8ÃPm5ðÂ9ðE9Ã`ˆ7ÃЙ8ÃP/Ãph.ðæ3Àk4Ãp,8ÃÀ3à þ3ðà4Ã@:7Ã0®2ÃÅ6ÃÀ3ÃÐ.5ÃPs4Ã0Š8Ãp>5ÃàØ4Æ6Ã@X2ÃÐ8ðW6Ã8ÃàC8Ã0:à ø4Þ2Ã` 3ÃZ3ÃPa7à;Ã@¥:Àè4Ã0œ5ÃðÕ;ÃÀ5ÃÀ 4ð¼:Ã05Ã@48à ò5ÃÀï8Ãh;à 3à i7ÃÐ(6ÃÀ5ÃPO:ð,Ãp\0Ã`/1Ã`A.Ãàä2Ã<8Ãñ9À}1à ò5Ãðù5Ãðv6ðc4à 3Ãàs0ÃÀ1ÃÐ¥6Ãñ9ÃÑ4ÃN5à “0Ãð|5Ã-0à {4Ã5à$8à i7ÃP0ÃP—.ÃpP2àB3ðo2ÃW-À}1ÃÀ¢0Àô2ðà4à*7Àw2à65ÃP.Ã-0ÃP…1Ãàa3ðà4Ã@Ã5ÃPö3ð3<à à8ÀY7Ã33Ãp,8ÃÀ„5àÝ.ÃÀ3Àè4à<4Ã`G-Ãàö/Ã@Ï3ÃŒ5ÃPa7à 1Ã×3à¿3Àk4Ã<8Ãàê1Ã`5à {4ÃГ9ÀS8à Ú9Ã`ù9Ã` 3Ã0¨3Ãðí7ÃÀû6ÃÐ¥6Ã05ÃÐL0Ã@=Ã`|9ÃÀ7-à<4Ã`8Ãð 3ÃÀ~6Ãðj8Ã`”5Ã@á0ðà4ÃàÞ3ÃE0À}1Ãã1Ãðp7à ò5ÃPð4ÃÀŠ4ÃP -ÃЙ8ÃðŽ2ÃE0Ã`/1Ø3Ãp&9ÃŒ9ÃÀ6ÃÐ:Ã`6à 2ÃÀé9ÃðŽ2Ã`Ä-Àq3Àî3Ã06Ãз3ðþ/Ã×3ÃÀé9Ãp=Ã0Š8ÃÝ2ÃÐÏ/à06àB3ä5Ãð¬-Ø3Ã@¥:Ãz8ÃPO:Ã@«9Ãð /Ãб4ÃЙ8Ãl0Ã?-Ã-4ÃÐÛ-à­6Ãp»5Ã`”5Þ6Ã<8ÃPÞ7Ã071Ã`2Ãð0Ã`8Ã`v:ÃpÇ3Ã`¦2Ã@L4Ã@Ï3Ã@·7Ãf1Ãt9ÃPÒ9Ã0+3ÃÀõ7à³5Ãз3ðÚ5à*7ðW6ÃPÆ;Ãà=9ÃÀû6ðÂ9ÃП7à:Ãp\0Àw2ÃÀõ7Ãñ9ÃÀr8Ã7Ã0C/Ã`ç<ÃÀ3ÃÀ–2ÃpÁ4Ã0®2Àq3à o6àB3Ã@É4Ã@Û1ÃÐÕ.Ãàm1Ãpµ6Ãàº9à 6ÃÐ44Ãðˆ3ÃÀ5Ãõ.Ã0+3Ã@:7àT0ð?:Ã`v:ÃP2ð .Ãh;ÃPO:Æ:à­6Ãð|5Ãl0Ãà[4ÀG:ÃÐÉ0Ãp\0Ã0û:ÀY7ÃàO6Ã`p;ÃÀ3Ã09ÃPg6ðu1ÃÐL0Ã`8à æ7Ã0®2ÃPg6Ã`¬1Æ6ÃÐL0Àw2Ã0®2À›,Ã0U,Ãàê1ÃÀ 4à 6Ã’4à Î;Ãày/àB3ÃPü2ÀM9ðW6Ãàä2ÃÐ44Ã06à c8À7ðK8ÃÀ6ÃŒ5Ãpµ6à æ7Àî3Ã@48ÃÀZ<ÃÀ~6ðo2Ãðˆ3Ã5Àw2Ã4Ã0¨3ÃÅ6Ã0®2À}1Ã@Û1Ãàä2Ã@½6Ã@Õ2à ¥-àÅ2Ãàð0Ãз3ÃZ3ÃPs4à¹4Ãp©8ÃàÆ7ÃÀû6Ã`;/ð¼:Àe5Ãl0Ã*ÃPa7à {4ÃPü2ðþ/Ø3Àƒ0Ãpå.À1Ãð|5àZ/Ãàö/ÃÀ3àÅ2ð]5ÃÐÉ0à`.À1ÀM9Ãph.Ã?1Ã`²0ÃK/À}1Ã!6Ã!2Ã`Ä-ÃÀ×<ðE9à ‡2Ã7ð"*Ã@v-ÃÀ+/Ãð¬-Ã@ *À-Ã0´1Ãàä2Ãб4ÃÀ2à`.Ãû-Ã0û:Ã@Û1Ãð‚4ÃPm5Ãf1ÃP0ÃP1Ã`”5ÃÐ"7Ã0Þ*Ãé0Ã0:Ã07Ã`G-ÃP,+ðò1ðø0Ã0C/ÃÀ7-ÃÐ@2Àè4ÃÀ 4ÃÀl9À}1ÃP2Ãðš0Ãð”1Ã`;/Ã@ó-ÃÐX.ÃÈ+ðW6ÃŒ5Ø3Ã`Ö*ð .Ã@É4Ãày/Ãàg2Àô2Ãðš0à 3Ã@á0ÃÐL0Ø3Ãà.à «,Ã'5ÃpÓ1ÃÐÛ-Ã@ÿ+Ãð²,Ã0O-Ãpn-Ã@'ÃÀ5ÃðŽ2à ·*ð,Ãp»5ÃpÓ1ðæ3Ãàa3ð{0ÃŒ5à ".Ãà-ÃðS'ÃÐ^-Ãà‹,ÃP&,Ä,Ãpz+Ãï/Ã`;/à ø4ÃpV1Ãð0à„(àÑ0ÃÀº,Ãà,Ãp\0ÀÐ8ÃÀ~6ÃpP2ÃðŽ2à¿3Ã07Ã`#3àH2ÀY7Ã`Ð+Àî3ð3Ã`/1à .,ðQ7Ã’4à /ÃÀ¨/ÃP-ÃQ.Ãàs0ÃPü2Ãн2àl,Ãàm1À•-à «,Ã`A.Ãð¸+ÃP0Ãp\0Ã-àN1Ãð2àÝ.À /ðæ3Ãï/ÃÐj+ÃPö3ÃÐd,Ãð¸+ðc4ðò1Ã`2ö.Ãpñ,Ã@R3ð+Ãð).Ãr/ÃÀ1ÃE0Ã'1à 2Ãð¦.à 1ÃT4ÃP‹0ÃpÓ1Ã@:7ÃÚ,Ã@v-Ã@ç/Ã@ó-Ã*Ã` 3ÃЫ5ÃPð4ÃÐX.Ã`¾.ÃP2*ÃÈ+Ãð2àû)Ã@X2à .,Ã@v-Ãðš0Ãpb/ðì2Àw2Ã!2Ã-0ÃÐF1À}1àÝ.ÃÀ=,Ã`Ä-Ãà‹,Ãà.Ãf1ÃÀ¢0ä1Ã,Ãð¬-Ãpn-Ãé0ÃÐL0Ã0=0Ã@p.Ã-0ÃPy3Àî3Ãð2ÃÐÕ.à (-Ãð /Ã@R3à “0Ãð /àf-Ã`A.ÃÐÏ/Ãõ.ê0Ã?1à 6ÃP…1Ãàê1Ãpß/ÃB7Ã`²0ÃpÍ2Ãà[4ÃÀŠ4Ã`50Ãàg2Ãð”1Ãû-Ãpn-Ãàð0À}1Ã@j/Ãàê1Ã×3Ã0[+ÃpŒ(ÃZ3ÃÀÆ*ÃW-ÃÐj+Ãà.À,Ã` 3Ã!2ÃÐ^-ÃpD4ÃÀ3Ã0Æ.Ö)ÃP/ðu1ÃP—.Ãð²,ÃÀº,Ã0Ì-Ãé0Àk4Ãàä2à 0ð“,À.ÃP.ð .Àq3Ã@ó-Ão)Ãà[4ÃP2Ã`2Ãð¸+Ãà )ÃÀ1.Ãï/Ã@48Ãàg2ðà4ð{0ÃðM(à 1ÃÐá,àï+Ãðˆ3Ã@Û1Àâ5ÃÀ1Ã0=0ÃÐL0à ™/ÃE0Ã@á0ðø0Ãàä2Ãpb/Ãàê1ÃÀ´-ðæ3Ã`¾.Ø3Ãð”1Ã@á0Ã@É4à ¥-Ãpë-Ã`2Ã@@6ÃŒ5ð .Ã0Ò,Ã`50ÃÑ4ð™+Ãà+à i7Ãp>5ÃÐ@2à 2ÃPð4à ì6Ãàê1ÃÐR/àÝ.ÃP-Ã`A.Ãðó6Ãð 3Àw2à æ7Ãð4Ãàä2ÃÀ¨/ÃÐ@2À1àÅ2ð-ÃÎ*ÃP£,àé,ÃÐç+À}1ÃW-Ã3/Ãà.ÃÐÛ-ð/Ã0O-Ã@Õ2ÃÀ2àÑ0Ã@p.Àú1Æ6à ø4Ã92À}1ð/ÃP—.ÃP‘/ÃP -Ã,ÃE0ÃÀº,ÃÀ~6ÃÐ:ð3Ãpt,Ãx.Ã`S+ÃPy3ÃP&,Ã0U,ÃÀ´-Ã@R3ê0Ã0+3à 1Ãð”1Ã@d0Ã0I.À.Àú1ÃÀ7-ÃÀI*ÃðŽ2ÃàU5Ã0º0ðu1Ã@Ï3ÃÐd,ÃK/à 0ÃÐç+àã-Ã@á0Ã@v-Ã~-ði3ð{0Ã0U,ð‡.Ä,à “0à›9àË1à 1Ã`¦2ð{0Àk4ÃpÍ2Ãð¦.à¡8Ã33Ã0Æ.Ã0O-à /à 6ÃÐÉ0ÃÀ 4ê0Ãàü.ÃÐF1Ã-0ÃÐd,Ãà'Ã&Ãï/Ãàg2Ãð1ÃÀ3ÃÀ1.ÃPy3Ã!2Ã`Ð+Ãph.ÃÀº,Ãx.Ãph.Ã`¾.àl,ÃÀ1Ã@ó-Ã5À7Ã?-Ã`¸/ð/Ã`¸/Ã`/1ðo2Ãð /Ã`A.Ã`G-àã-ði3ð‡.ÃàU5ðc4Ãà-Ã@í.à Ÿ.ÃÀ¨/Þ2à 1Ã`e(Ã0[+À³(Ã4Ãà[4Ãð1Ãð /ÃP/Ãp€*Ã`š4ÃÀ+/Ã`/1ÃQ.ÃP1Ãà+ÃÀÞ&Ã0Þ*À•-Ãн2ÃÀ%0Ã*;Ã@+à :*à 1À‰/ÃÐX.à 2Ãàs0ð-À§*ð:&ü-Ãr/ÃPP%ÃÀØ'ÃpP2à @)ÃÐ:3à “0Ã0Ò,Àî3à ™/Ãð5,Ãà.Ãð).ÃP¯*ðþ/ÃÎ.Ã@ *ÃP&,ÃÐÏ/à 3à 3ÃðÄ)ð±'ÃW)ð.(à 4+àÝ.Ãð¬-ÃÀC+Ã~-À6(Ãàs0ÃÐÉ0ÃÐÕ.Ãï/Ã`¦2ðø0À­)Ãðù5Ã9.à u5Ã`)2Ã`Ê,Ã%'À1Ãàð0ð-à /ÃÐd,Àw2Ãð1ÃÐÏ/à ¥-À­)Ã0g)ÃÐÕ.Ã`¦2àï+ÃÎ.Ã`¬1Ã`G-ÃÎ*ÃP -ÃP‹0Ã`4Ã@^1Ã@|,Ã@^1Ã`²0ð .ÃÐÏ/Ãà-Ã`G-Ã0C/Ãû-Ãp’'Ã0=0Ã`Ä-Ã0m(ÃÀ7-àÝ.à .,ÃP©+Ãpb/Ã~-Àq3ðþ/Ãð¸+ÃP8)ÃPs4ÃàÌ6Ãf1Àú1Ê+ÃàO6ÃP‹0Ãx.ê0Ãð1Ãp(à 4+Ãàg2Ã`Ä-àT0ÃÀ=,ÃÀC+Ã`¸/ÃÐÿ'Ãpt,ÃK/Ãн2À‰/ÃP©+Ã5ø?žÃ?­Ã¸tªÃ ¤Ã€N¤ÃÀs£ÃPtŸÃ˜nžÃÀ œÃ€›Ãˆk˜ÃÛ—ÃXy—à )˜Ã¸o–Ã0h”à ¾”ÃH|Ã(:ŽÃàÃX&ÃhSÃp±Ãpà8‹Ã°âŠÃX>ŒÃuŒÃÈü…ÃH¬ˆÃÐBˆÃH)‰ÃˆÑ‡ÃXÓˆÃXb†Ã(p…ÃP‡‡Ãxª‡ÃhˆÃ`=…ÃÀ3„ÃÈ…Ãpj„ÃG‚Ãk€ÃÈ€ÃÀ?‚à *ƒÃh„ÃÐ`ƒÃÀK€ÃÐé~ÃÀÈ}Ã@„Ã@û‚Ãà™€Ã †{ÃÐõ|Ã0c€Ãðº~Ã0xÃp¬vÃ@{à NzÃ`Ø}Ã@ }Ãg€Ã -uðéqÃ0ŸsÃ3xÃPFzÃðsuÃPùqÃМvÃÐakÃp5uÃÈtÃð[yàQoínÃÀ«mÃ0FmÃÀ¥nÀVvàÈpùlà œmà mÃ`tðûnÃ`jÃ0ífàÚmà jÃÐÌnÃ@slÃ`>mÃPšlÃHjÃpfÃÀFiÃ0áhÃp•eÃ0^iÃÐêiñcÃïgÃ`jÃThð+gÃÀ_Ãp•eÃF`Ã0`Ã`€bà«`ÃÀjcÃàÖ^Ã`ýbÃp¡cÃ+^ÃPÐcà cÀZÃð[à ‹[ÃÒWÃPƒ[ÃÀddÃPk_Ã`9Yðð[Ã0/\ÃðnaÃP[àÏZÃPq^Ã0¬\ÃP}\ÃàîZÃð!YÃpfXÃ0MWÃ0_TÃ`-[ÃàôYÃÀ[À“WÃ@ýUÃÐÇZà:^Ã@÷VÃÐÙWÃà¡RÃP ZÃÌXÃ7\ÃP­TÃàúXÃ`3ZÃ=WÃÀ¬XÃð¶UÃ@Sð—UÃÀAUà >Sà >SÃÀ;VÃP³SÃpZZÀŸUà »SÃ0ÊWÃÒSÃ@ŒSÃÐÍYÃ0ÐVÃP­TÃð!YÀ4RÃÐhUÃP­TÃ`WTÃ@¤OÃP­Tð TÃP6Sà¸IÃÐPYÃàÐ_Ã0qQÃPÃ@ìCÃð HÃàxDÃpö@ÃÐ9HûFÃÀ0CÃ`^>àYDÃàrEÃàûCÃ0BDÃÀH?ÃðIÃÐÔCÃÓ>Ãà~Cð\JÃ@KIðýDÃ@ ?Ã@]FðzEðñFÃpUFàÜCà !CÀšAÃP+@ïDÃ0NBÃpØEð†CàÜCÃàœ>ð9;À @àÖDÃ>BÃPº=ÃÀÅ?ÃpäCàYDð€DÀpHÃÐ{=àeBÃpmBÀAÃP®?Ã`FBÃPCÃPDÃð.BÃ?À @Ãð±AÃà@Ã`@CàÖDÃ`á=àYDÃP„Fð†CÃ@@ÃpÆHÃP EÃà AÃ\Að˜@ÃJ@ÃàCðBÃ@‡?ÃpðAÃ@(:Ã0BDàÖDÃp>ÀAà_CàYDÃ`½CÃ0Ãð“Fà GÃúBÃp‘<à_CÃDAÃÀ*Dð!?ÃÀ³BÃð4AÃÀN>ÃÀ›FÃ0§Hð'>ð'>ÃÖHÃ@ÔGÀŽCà ¤BÃà¢=Ãð:@ÃÍ?À5=Ã0f>ÃðÃ>ÃàBðýDÃà?àYDÃÐÔCàSEÀšAà FÃ`ç<Ãt=Ã\=à=ÃVBÃ_GÃ@{AÃ;õGÃ0`?à tJÃÇDÃ0é=ÀÊ9ÃP EÃ&FÃ`^>àÐEÃBÃÐu>ÃAà ªAÃ`@CÃPDõGÃ`Ï@ÀšAÃÇ@Ãà¢=ÃÐÎDðBÃ06FÃ`X?ÃÐÔCÃÓ>Ã`á=ðBÃJ@ÃPI;ÃôCÃP„FÃHÀ5=ÃpUFÃDEÃð"Dà}>Ã0:ÃÐWCÃ`@CÃ0ï<Ã>À @à 9?Ã`X?ÃàŠAÃ@òBÃ@øAÃà%=ÃP1?ÃÙAÃP?ÃâFð'>Ã`Õ?à ?>Ã`ÉAÃ8GÃÐÚBÃôCÃp…>àâBÃàœ>àq@Ã=à ?>ÃÀ6BÃàº9ÃðÉ=à ¶?Ãà AÃ>BÃÀB@ÃP==Ã0é=Ã@Ÿ;ÃBÀ¦?Ã0ËBàƒ=Ãý7à 9?Ãë>ðž?à Î;ð@ÀCÃÐQDÛ=ÃÀÑ=ÃÀ×<Ã0~:À¬>à ªAàèAàw?Ã@“=ÃÐu>ÃP%AÀ¬>à 3@Ãð½?Ã`½CÃ8CÃà7:Ãà>Ã@(:ÃúBÃ`·DÃ@@Ãà[4ÃÀ­CÃðF>Ã`á=Ã0l=Ãp‹=ÃÐu>à K<ðÎ7Ãp‹=Ãà®;Ãð«BÃë>ç;ÃpsAÃ0ï<ÀšAÃÐKEÀ#@Ãà7:À¬>Ã?Ã`ç<ÃÀf:ÀÊ9Ãt=àâBÃÐÔCÃð Hà‰<ðBÃðR<ÃðEð-=Ã$<ÃÀÃÀ6BÀ¦?À²=Ã>ÃpäCÃà@Ãð·@ÃÓBÀAÃð¥Cà È<Ã<8ÃP®?ÃðÉ=Ã@øAà žCÃpy@ÃÀ³BÀAàw?ÃP7>ÃðÉ=àkAÀ#@Ãð4AÀ5=ÃðX;Ã0TAÃ0HCÃðÉ=ÃÐÎDà ¼>à Â=Ã`j<Ãà¢=Ãñ=ÃpêBÃ`^>ÃÀ×<ÃÀ`;à žCÃà?Ãà AÃÇ@ÃôCÃÐ:ÃP´>ÃèEàw?ÃÀN>ÃPÌ:Ã@Ÿ;ÃÁAÃðGàâBÃà¨<ÃÁAÃp?ÃðÉ=ð!?àSEÃ0ËBÃ?Ãß@Ã0ï<ÃÐì?ÃÀB@ÃÐQDà ¼>ÃP¢Aàô?ÃpØEÃÐÎDÃwCÃ0Z@Ãë>Ãà–?ÃðÕ;Ã0x;Ãð(CÃpö@Ãh?ç;àw?Ã`d=ÃP+@Ãà+<ÃàŠAÀùFÃPº=Ã`X?ÃPDÃ@{Aà•:à=Ãð«BÃAÃ0ÑAÃPC<Ãðv6ð°<ð˜@À²=Ã`d=Ã?ÃðFÃà?ÃÐ ;ÃÀ6BÃ@@Ãð@?ÃÐu>ð9;Ãð±AÃDAÃPÆ;Ã0:À²=ÃAÃPä6Ã`ˆ7ÃPõHÃ`:DÃÐi@ÃÇ@ÃÐu>ÃÐu>ÃpðAÀ¬>ð!?ÃÇ@ÃÐÎDÃð@?Ãp‘<Àe5ÃP®?Ãð½?ðª=Ãp‘<ÃP+@ÃpaDà æ7à;Ãð:@à DÃVBÃP®?ÃðR<ÃÀÅ?à:Ãb<à 9?Ãå;Ãà@ÃÀÑ=Ã@<ÃðL=Ã?À¬>ÃP¨@ÃÀB@Ãà1;Ãp?ÃAÃpmBÃà–?à W:Ã`4EÃ0TAÃb@Ã=Ã`Ï@ÃðL=Ãb@ð?:Ãð.BÃ@“=à ¼>Ãà@ð3<Ã`·DÃ`±EÃ$<Ãð«BÃ0ËBÃÐo?Ãp>À)?Ãë:ÃPa7Ã`^>ÃÀN>ðAÃ0é=à 9?Ãb@Ãz<à W:Ã@ ?ÃpêBðW6ðÎ7Ã\=ÃÐò>ÃðÏ<Ã0é=ÃPO:Ã÷8Ã@<Ãp—;Ãp‹=ð¤>ÃðR<ÃPC<ÃÐÔCðÂ9Ã0­GÃqDÃ0f>Ãp[EÃÀ§DÃP7>ÃÁAÃ`d=ÃP–CÃ`@CÃÐEFÃàCð¶;õCÃÐo?Ã0×@ÃP==Ãp?ÃÀÃàCà žCðK8ð¤>ÃðÛ:à -Aà Î;ÃVBÃpy@ÃH6ÃPC<ÃÀr8Ã8CÃpy@Ã`ç<ÃP¨@ð€DÃå;Ã0ã>Ã0f>ÀÄ:à=ÃðÏ<Ãà Aàô?ÃÀB@Ã>ÃP¢AÃ`X?ÃàU5à Î;Ã`j<Ãpy@à}>ÃðŸDÀCÀ)?ÃBÃÀ³Bà È<á<ÃÀl9à ¼>ÃÍ?Ã!6Ãà>ÃÀ×<Ã?Ãñ=Ãz8Ãå;Ã@Ÿ;ð°<Ã@òBÃð½?ðª=Ã$<Ã@“=Ã@þ@ûBÃÀÑ=ÃP==ð!?Ã2DÃpö@à=Ãàœ>Ã?Ã`j<Ãp…>Ãë>ÃÀã:À²=Ãð 3ÃÐ<Ã@àEÃðL=Ãz<ÃÐì?à E=Ã0ã>ÃPÆ;ÃPº=ÃJ@ÃàŠAÃðç8ð!?Ãà>Ãà¢=Ãp‹=À#@ð¤>Ã@òBà Î;Ã0é=ÃÐi@à <ÃðR<ÃðR<Ãå?Ã0Z@Ã`Û>ÃÐò>Ãà>Ãn>ð˜@Ã0:Ã9ÃPØ8ÃÀ×<Ã@>ð¶;ÃDAðÂ9à Ú9Ãà@ÃÐ<ÃðX;à;ÃÀH?ÃP[8Ãp :ÃÐu>ÃàC8ðª=ÃPU9À¸<Ãà+<Ã;ÃÐo?À”BðQ7Ã`‚8Ãp,8ÃÓBÃ0„9à È<Ã`Û>ÃPÌ:Ã`p;ÃP+@Ãðá9Ã@É4ÃÐ8ÃJ@ÃÙ=Ãp>Ã}BðE9À)?Ãpü?À¦?Ãp‘<ÃÀB@Ãp‘<à;Ãà=9ÃðR<ÃÀZ<Ã`”5Ã?1Â;ˆÁ€¬¾ÁÀ€Ñ#Â7€±RÂlh€÷pÂãiÂÀeO³qÂÀÂ~Âà‚ ñÂàΌ ü”Â`}¤ÂÀ œÂ@MŸÂ`  ´ Âà€™Â൥ œ¤Â€Ý¡ÂÀ~¶Âu¨ÂàÀ¸ÂiªÂ`§Â <´Â`RÀÂà®ÂÀ`»Â€vÇ ½Â€Å 5ÊÂ@"»Â ÏÂ`Â×Â@]ÆÂ`¥ÇÂ`à÷É€@РjÖÂÀqÍ€^Ë åÌÂ`iÑÂÀ#ÚÂà•Ô€cßÂÀ߀ÈãÂ%߀ÚàÂàGá€cßÂÀÉèÂÀˆÞºÛÂà¸ãÂ@£äÂ@,ã ´é „ñÂàFöÂ`êÂõÂ`&ñÂHî€ï€ÓöÂ@´öÂ`—óÂö ˜øÂ ÂñÂ`õÂ`öÂ`ÁìÂÀ óÂàíïÂÀøõÂàFö Âñ€£þ Œú HûÂâÃÐÃàÃöÂ0KÃà“àåÃpíÃkÃÀàùÂôûÂ`[ÃGÀÃùÂ`aüÂ@xÃpçðôÃÐ0 ÃP"ÃÖÃýÃ` ÃÀžÃPÃÀ-ðk ðk à k ò Ã0 Ãp½ à ð;ÃÐ* Ãðr Ã0ž ðâ ÃPÃp½ Ãðõ ðôÃ0Ã0 Ã@6ÀüÃà?À%Ã°Ö Ã€ä ÃáÃÐÃðï ÃðÝÃP¼Ã0ÙÃ0zÃ0÷à ¬àÃp.à‹à‘ÃÐeð|à ð¾ÃÀtÃà†àÃPc ÃPEÀ–Ãà˜ÃpæÃXÃXÃ`×Ã0ßÃÃÏÃ0Çð”Ã[Ã0ÇàÒÃðBð¦ÃLÃP¤ÃÀ£Ã0ÙÃáÃÀµÃ`¹ÃàaÃà¤Ã@ÃRÀxÃaðdÃ^ÃP!ÃàñÃÀ»ÀÃð§Ãà’Ãáà ¬Ãð•Ã4ÃÐGÃÀÃÏÃàJ"ÃPŒÃÃpiÀ à ‚Ãàßð|À%àØà´ ÃØÃ0!ÃüÃ@Ã0µà Ã0©Ã@•ÃäÃðÃà\Ã@‰Ãà÷Àf à ùÃpÎÃ@;"ÃpKà ‚Ã@ÊÃPzÃðw!ÃðÀxÃ0#Ãðî"à ”Ã`§ðçÃ0ü%ÃÒÃà£(Ç%ÃàbÃð•Ãðw!à&À³(Ã`q&Ãp¶!Ãðî"ÃàñÃ@ÊÃà+ÃPë Ãð¡Ã@¸"Ã@ *Ãà,'ÃÀ"ÃÐ/ à%#Ã0#Ù"Ã`ô%Ãp°"Ã7$Ù"Ã@²#à%#Ãpª#Ãðè#ÃaÃ@Ž)ð4'ðÕ!Ãà»$Ç%àf-à Û$Ãðe$à |Ã0ü%Ã@²#Ãp÷+ÃPÍ%ÃР"Ã=#Ãø'Ãì)à .,à ç"ÃP¯*Ãà¯&Ã0%Ã0#ÀÅ%Ãpž%Ó#Ão%Ã{'ð@%ÃpŒ(ÃÐ)!ô$ÀB&Ãà'Ã0ê(Ã0g)ÃP>(ÃQ*ÀH%ð.(Ã` "Ã0Ø+ÃÐÿ'Ã@²#Ã@;"à «,Ã`e(Ã0 Ã0%ð:&Ã`}$ÃÀC+ÀN$à Ã(Ão)à ".ÃP -Ã@ *ÃðÐ'ÃE,Ãà‘+ÃPÍ%Ãà+ÃÀ7-à Õ%ÃPb"Ãp&Ã{#Ãà+Ãp&Ã@(À­)ÀB&ÃÀC+Ã@²#À**Ã@)À­)ÃðÄ)Ãpñ,àr+ðò1ÃÀC+Ãp&ÃPÓ$ÃPÍ%ÃPÙ#Ãà-à (-ÃðY&ÃP,+ÃÐd,ð/î%ÃK+Ãà.àl,ÃPD'Ãàµ%ÃP -Ãðš0à 1ÃÐÿ'ÃÀê$Ãì)ÃÔ-ÃP>(ÃÐj+à–%ÃÀ=,ÃPÍ%ÃÀº,ÃÀ¢0ÃðÜ%à 4+Ã@)ðø0ÃÔ-Ã0Þ*À§*Ã0a*Ã](Ã0º0Ã0=0Ã@v-Ã],Ãpñ,Ãõ.ü1Ãà.Ã0Þ*ÃðY&Ã*Ãà.À.ÃpV1Ã~-Ã@‚+Ã`ô%à¨"ÃÐ'ÃP&,Ã0ä)ÃÀ®.ÃpP2À$+à ^$Ä,ÀB&Ãû-ÃÀ1.Ã@j/Ã`¸/àû)à @)Ãp€*à&Ãæ&Ã@ *à)àx*Ã0ä)Ã(à ±+Ãû-Ãà.Ã0Æ.ð±'Ã*Ü(Ãi*à É'à„(Ã@‚+Ã0Ì-à ·*ÃÐÉ0ÃPP%ÃO à$Ã-ÃÀÌ)à 1Ãð1ÃÐL0ÃÀC+Ãæ*Ã`Ö*ð½%ð™+Ãp )Ãày/à ".ê0Ã*àõ*Ãð#/Ãð¬-Ãà&(ÃP2*Ã0g)Ãi*ÃÐó)ÃÀ2Ã`A.ÃÀ+/ÃÀ®.àT0Ãï/Ãðâ$Ã`Ð+ÃðG)Ão%Ãà,ÃðA*Ãàö/Ã*ð‡.àr+Ã@|,Ã0O-Ãð;+Ö)Ã0ð'Ãà,ÃÐF1Ãpý*Ã@í.À‰/àï+Ãpë-à ç"à «,ð‡.ÃÂ,Ã@p.Àƒ0Ãò(ÃÀÆ*Àú1Ãã1ÃpÁ4Ã`Y*Ã0O-ð™+ö.ÃÐí*À,à Õ%Ã@)Ãð#/àf-Ã0m(Ãi*À0)Ãð1ÃÐ|(à R&à)À6(Ãà)à @)Ãpt,Ã0O-à ¥-Ã@v-ÃPµ)Ãph.à`.Ãð#/ÃPµ)À6(ÃÐí*ÃÀÌ)ÃÀ7-Ã@‚+ð/ÃW-Ã`;/Ãpb/Ãð).Ãp\0à @)Ã`î&Ã@Ž)Ã@ˆ*Ã@p.Ãpë-Ãpë-ÃP,+Ãz8ä1Ã0º0Ã@+ä1Ãàm1Ã`²0ÃPµ)Ãà+Ã0´1ÃÐÉ0Ãàü.Ãpn-ÃÀœ1ÃÐÉ0Ãð0Ãà.ÃP‘/Ã*Ã1%Ãpt,ÃÀI*Ãpt,Ãpå.ÃP2*Ã0´1ÃpJ3Þ2ðu1ü1Ã`Ö*Ã0Æ.Ã@F5ð3ÃÀ=,Ã@|,À,ÃÀI*Ã0+3Ã@Ã5Ã?-ÃÀ1Ãày/Ãpý*ÃP¯*ðþ/à .,ÃÐá,Ãà—*ðŸ*ð/ÃpV1À¡+Ã0À/ÃÀC+Ã0=0ÃÀ2ÃP©+Ãpë-Ã3/àZ/ü1Ã`A.Ã@j/àÝ.Àƒ0ÃÀ®.ÃP>(Ä,Ã`G-Ã5Ã@v-ÃP2À-à 0ð‡.ÃÐÕ.Ã!2ÃÀ–2Ãð²,ð¥)Ãàê1Ã@ÿ+ÃÐù(Ãà,ÃÐL0ä1ÃP‹0Ã9.Ãà-Ã4ð-Ãû-ÃÐÛ-Ã`2Ã@ˆ*ÃÈ+Ãpb/ðø0ðu1ÃP2ÃÀ1ÃP.Ã@ó-Ã`;/ð"*ÃÈ+Ãpb/ðæ3Ã012ÃP‘/ÀÐ8Àú1Ã@ *Ã`²0ê0Ã`)2ð‡.Ã~-ÃÔ-Ã0Æ.àÝ.àH2Ãàm1à ¥-ð-ÃP -Ã`¾.Ãð 3ÃÀ´-ÃÐ44ÃÀœ1Ãðó6ÃpV1ÃÐ44Ãpb/ÃÐÛ-ð .Ã`/1Ã`¾.ÃP.ÃQ*ÃÀ¨/à 0ÃÀ=,À.Ê+Ã`¾.ÃÀ1ÃPg6À‰/Ã0C/Ãð1Àô2Ã0ä)àT0Ã`/1À‰/Ãï/à ±+àé,Ãð5,ÃÐX.Ã0I.àN1àï+ÃÐÏ/ÃÐL0Ã`Ž6ðQ7ÃÀ–2à ì6Ãà…-Ä,ÃP -ÃÐó)ð .Ã'1Ã@Û1Ãã1à +ðu1ÃP0àË1Ã@^1ÃÐL0ÃP‘/Ãp>5Àq3Ãðv6à o6Ãð0ÃÀ–2Ã`;/à×/Ã`¦2Ã0%4Ãà&(Ã`¸/ð]5Ã0¢4Ãз3Ãpb/ÃÀ%0ÃQ*ÃP…1Ã`ˆ7ÃÀŠ4ÃÀ+/ÃÀ3ÃPð4ÀG:ÃÀ´-Ã@v-Ãpµ6Ã@‚+ÃP0ÃPm5ÃP0Ã9.ÃðŽ2Ã0®2Ã`S+ð-ÃP&,ö.à /Ãð /Àî3Ã@R3à 0ÃÀû6àé,ð,ÃÐÕ.ÃP—.Ã@X2ÃÀ2Ã,àõ*à :Ã09ÃÎ.à 2Ã@Ž)ÃÀ¢0Ã@Õ2ÃPü2Ãl0Ã~-ÃÐL0Ã0º0Ã@^1ð-Ã@ó-àr+Ãð;+ÃÐÏ/Ãpå.ÃN5ÃP…1Ãû-à :*ÃpŒ(ÃpV1Ãðš0Ãpb/à 1ÃZ3ÃàI7à 1Ãðÿ4Ãð1ÃP1ðŸ*Ã@+ÃÐL0Ã0U,Ã@á0À.ð-Ã`â(Ãðù5Ã`#3Àƒ0ÃN5Ãàê1ÃÀ3Þ6Ãï/Ãf1Þ6à×/àË1à (-Ã0+3ÃÐí*ÃpÙ0ÃÀ2Ãà.ÃÀ¢0Ã0I.Ã0=0Ãàê1ÃÐÕ.Ã?-à o6ÃÀx7ðo2ÃP£,ÃP»(ÃÀC+À}1àÝ.ÃpJ3À$+Ãàg2ÃP…1ÃÂ0ÃpV1ÃÀ=,Ã@@6Ã!2Ã@½6Ãðˆ3ÃÐí*ÃÐ^-àr+ÃÐá,À¡+à 1à ‡2Ã@í.Ã0®2ÃÀ~6À.Þ2Ã0Ì-Ã`š4Ãp»5Ã@^1Ã0%4Ã92Ã071ÃÐá,ÃÐí*Ãðˆ3ÃÀÆ*Ãõ.à .,Ãð”1ÃÀ–2àr+Ãà-Ã@L4ÃÀ¢0Ã@j/Ã0œ5ä1Ã0®2ê4ð‡.Ãðš0Ãp\0ÃE0ð+ÃÐÛ-Ã0Ø+Ã0Æ.à`.À /ÃpÇ3ÃQ.À§*à Ÿ.ÃÀ5Ãàg2ÃÀœ1Ãð1ÃÀ®.Ãàê1ðø0ÃÀ=,Ã0ö&Àq3Ã0O-Ã0œ5ÃÀU(Ãà-ÃÚ,Ãé0Ãð 3ÃÔ-Ã@L4Ã`A.Ãàä2à 2ÃÀ 4Ãð¦.ÃÎ.ÃP2*à 3à ‡2ÃÀÆ*Ãàä2Ã@Û1Ãð;+ÃP/à u5à Ÿ.ÃP2Ã0%Ãp¤$Ãð5,Ãpß/ÃÀ„5ÃÀ1.ÃÀO)Ã@+ê0ö2ÃpV1Ã~-ÃP>(Ãàm1Ãàm1ðì2ÃÐÏ/Ã`A.ðÔ6Ã@d0Ã@Û1Ã`)2Ãз3à “0à¿3à9À.Ãàü.ÃÐó)Ã@j/à`.Ãðˆ3ÃÀI*à)àÑ0ÃÐ^-Ãû-Ãб4ü-Ã~-ÃP,+Ãб4ð/Ã012à ".ÃpŒ(Ãà*ðø0ÃP£,Ãph.ÃàÞ3ÃÀŠ4Ãð /à 1ÃÀ+/Ã5Ã`2ÃÐv)Ãð²,ð{0ð{0Ã@p.ÃpÇ3ÃH6àB3ÃË5Ãà-Ãï/ð+à (-à +Ã@ˆ*ÃЫ5Ãàa3Ã!2Ãõ.à “0Ã071Ãpý*Ãà*ÃÂ0ÃP‘/à 3Ã0U,Ãõ.ÃÀ1Ãpå.Ãà.Ãà*ð-Ãà )àr+Ãà+ÃÔ)Ãð”1ÃÀ®.Àú1ÃÐÉ0àf-Ã`50Ã0Ì-Ãð¦.ð/Ã`Ê,Ãð).ÃP2*Ãày/àT0àÅ2Ã`w%ÃQ.À-à +ðà4Ã0Ì-Ã`;/Ãp÷+Ã@^1Ãã1à /Ãð5,à Ô:Ã'5Àú1àr+Ã?-à ±+ÃÀ´-ð{0ÃÔ-ÃÀÌ)ê0Ãp>5Ã@Õ2ð.(Ãà…-Ãõ.ð‡.Ãpý*ÃÐF1ÃK/à`.à`.ð‡.ÃÀœ1Ã0g)ð“,Ã@d0Ã-4Ã0I.Ã0Ø+Ãpë-Ãð¦.Ãð#/ÃPJ&ÃP2*Ã0ä)à (-ðŸ*Ã0ü%ð¥)ÃÔ-Ãà‘+Ã`;/ðò1à (-Ãû-Ã@á0ÃP¯*ðì2ÃÐÛ-Ãé0ÃÀ 4Ã@ù,Ã`Ä-àã-Ãàö/Ãày/Ãà,Ãð0Ã0À/Ãð_%Ãx.ÃÐó)Ãpý*À­)Ã@‚+Ãð;+Ãpß/àû)À³(Ã@ó-Ä,Àè4Àƒ0ð‡.Ãà-Ã0a*ð/ü-ÃQ.à)Ãø'Ã0À/Ã`¸/ð/ÃÂ0ü-Ã0º0Ã`M,ð-ÃP¯*à @)à (-Ãp÷+Ãàg2Ãð5,àÝ.ÃÔ)Ã@ó-ÃP0Ã0ä)ð‡.ð-Ã`š4à “0Ãpñ,Ã@p.Ãp÷+ÃÐX.àx*àŠ'à ±+ÃK+ÃðÊ(À‰/ÃÀ´-Ã0%Ã0O-Ã0®2ÃPµ)Ã@ÿ+ÃÀ1à ¥-ÃÐá,Ãø'ÃÀÒ(Ã`Y*ð .àr+Ã`w%Ã92Ãph.Ãp€*ÃP©+ÃÐj+Ã@ù,ð“,Àe5Ã`Ê,àÝ.Ãð#/ÃðÊ(Ã(Ãpý*Ã-Ã0Ì-Ã0a*ÃP¯*Ãàð0Ãpß/ÃpV1ÃK+ÃE,Ã`Ð+Ã`S+ÃÐv)Ã-ðu1ÃÐÛ-Ãà+àf-À1à Ÿ.ÃÐF1Ãpz+À§*Ã`Ð+Ãðk#Ã@ &Ãð²,Ãpb/ê0Ã)ÃÐç+ÃðM(ÃÐF1à ™/ÃÀ¢0àã-à ·*Ã@F5Ãp€*ÃÐ|(À6(Ã`â(ð{0Ãõ.ÃÀx7ÃpÇ3à(Ã@#&Ã0a*à +àZ/Ãu(Ã@ˆ*àû)à~)ÃÂ,àõ*ÃE,À$+ð:&ð@%Ã0‹#à L'ÃPÇ&Ã0Ø+ÃPy3Ã`G-ÃÀ¢0ÃP©+Ã0y&Ãà&(Ã0‹#Ã@”(ÃÀ+/Ãf1Ã012à×/Ãн2Ãày/À›,à ½)à %Ã`k'ÃÀ¨/Ãl0ÀB&Ã`e(à ·*Ãp(Ã`5À0à ¥-Ã0s'Ã0O-ð‡.ÃP£,Ãà—*Ã`Ð+ð/Ã](Ã0Ì-ÃÐ^-ÃÔ-Ãpt,ÃÀ%0àÝ.ðu1Ã`è'ÃP£,Ã`Ð+àé,à “0Ãà+Ã@‚+Ã@'ð-À}1ðL#à «,à<4Ãà.ð-Ã3/Ãpý*à~)ÃÐp*À¹'Ãpt,Ãp!%Ã`A.à ò5ÃÐÛ-ÃÐj+Ã`G-ð+àã-à(ð"*à :*Ãpt,Ã0Æ.à “0ð¥)àû)Ã@Ã5ÃÈ/ðu1Ãð).ÃÀÆ*ÃP2*À›,Ã~-ü-à +ÃðA*ÃP£,Ãæ*ÃÐÛ-ð"*Ã0ê(ÃÂ0Ã`¸/ÃP©+Ãu(à 3Ãàm1ÃÀ7-Ã@á0ð@%ÃÐí*Ã@Û1Ã`¾.Ã*à ¥-ÃÂ,Ãн2ÃÚ,ðŸ*Ã@+Ãp€*ÃP2Ã`¸/ö.Ã`A.Ã?-Ãð5,Ãà+Ãàê1ÃPÇ&ÃP©+Ãàö/àr+ö.ÃÀÌ)Ãp*Ã@|,ÃP©+À0Ã`Ö*ü-Ã~-Ãðˆ3Ãз3Àƒ0Ã@v-Ã@v-Ã?1ði3Ãpž%Ã@š'ÃÐj+à «,Ãæ*ÃÐv)Ã`â(Ã@|,ÃÀÆ*Ãã1ü-Ãà£(Ãð /À•-Ã0ö&Ã@ç/ÃÀ®.à ".ð±'Ã0Æ.Ãн2Ã3/ÃÐ'à :*ÃðÐ'Ã`Ö*Ãà‹,ÃÀ+/ÃÂ,Ãàð0Ãp€*ÃÀÀ+Ãð4Ã@v-Ãò(ÃpV1Ãð0ÃP£,Ã0C/À1Ãð¬-ÃÐÏ/Ã*ÃðA*àé,Ãpz+ÃÎ*Ã@í.Ãàm1Ã33Ãàê1ð-ÃQ.Ã0Ø+ÃP£,à :*à “0à 0Ãpë-Ãàm1Ãà+ü1àé,ÃÐÏ/ÃZ3Ã0´1ÃàÞ3Ã`/1ðò1ÃÐd,Àk4Ã`e(ÃP£,ÃÂ,Ã`/1Ãàü.ÃÀ+/Ãpñ,Ã0Æ.Ãé0ÃE0àZ/ÃP—.Ãpñ,ÃPJ&Ã33Ã0[+ÃÈ/Ã],Ãp€*ÃK+Ãõ.ð"*Ã@ó-ÃÐÏ/à ½)à “0Ãày/à 3Ã@d0Ê+ÃE,Àú1À­)Ãð0Ã3/ð/Ãr/àT0à 4+À-Ã`²0àï+Ã0Ì-Ã@|,À¡+ÃðS'Ãð²,Ã@š'à (-Ãr/Ã3Ãpz+ÃpŒ(ð()ð/Ãé0ÃÐ^-Ã`¾.ÃÀO)àË1ÃàÌ6Ã07ðÚ5à;ÃÀr8à Q;ÃÑ4ä5à9ÀÖ7ði3ÃàC8Ãh;Ã@@6ðà4ÃÙ=à Q;Ã69Ã<8ÀÐ8ÃPÞ7Ãp:Ã`j<ÃÀ¿@Ãà–?ÀM9À;ÃÀÝ;Ã06Ã@oCàú>Ã0l=ÃPº=ð°<àî@Ã;Ãb<À¾;à=ÃAûBÃàBÃn>Ã@>à>ð€DÃð·@Ã@Ÿ;ÃÀ5ÃàŠAà Ô:ÃPÆ;ð¶;Ã0ã>Ã@=Ã=ÃÐàAÃqDÃÐcAðAàƒ=à ªAðAà Î;ÃpðAÃt=ÃPI;Ãh?Ãà–?Ãð±AÀ¸<Ã0`?à -Að-=ÃÐu>Ãp :ÃÐ{=Ãå?Ãð«BÃà?Ã÷8Ã`ù9ÃJ@ÃÐ{=Ã`ˆ7ÃàŠAà 3@ÃP®?ðÈ8ÃðÕ;ÃÁAÃt=ÃðÃ>ÃðL=à <Ãðv6ÃàÀ8Ã`ó:àƒ=Ã@@à 3@àî@ÃÐì?ÃÀ„5ÃÓ>Ãðp7ÃÀé9Ã09ÃÀf:ÃàÌ6Ã?à ¶?à Î;Ã@>À¬>Ã`^>ÃÀé9Þ6Ãðç8ÃðÃ>Ãà=9ÃÀÝ;Ãà¨<Ãð«BÃÙ=ÃöMÀY7Ãë:Ãð½?ÃP7>Ãý;Ãp£9ð°<ÃPº=ÃBÃp=Ã@>ÃÀã:À¾;Ã0NBÃ@48àú>Ã0 8ð?:ÃÐ:à;ÃЇ;ÃPº=ð¼:à 'Bà¡8Ãð|5Ãp>5Ãp‘<ÃPÒ9àq@Ã`í;Ãb@Ã`LAÃ@·7ÃÐ8Ø7Ã0õ;Ã`v:Ãp©8Ãp :Ã0œ5à9à æ7Ã`¦2Ã`‚8ÃÀ`;Ãðd9ÃÐ:Ãpö@Ã\AÃÀ„5ÃÂ0ÃàC8à à8ÃÀã:ÃÀr8ÃðR<Ãð^:ð¶;À¾;Ã7Ãp‘<à;ð'>á<ÀY7ÀÄ:àH2ð?:à:ÃP[8à i7àH2ðÂ9Àô2Ãp£9ç;Ãp—;ÃП7ÃPO:Ã>ð'>ÃÀ§DÃPØ8ÃV>Ø7Ã\=Ãp…>à‰<ÃPä6ÃÐ¥6Ãàê1ÃÀõ7ÀG:Ã` 3Ãz8Ãë:ÃÐ ;í:ÃàC8Ãà®;Ã`ç<Ãñ=Ãà7:Ã0~:à W:Ã0~:Ã*;Ãë:Ã=ù8ÀM9Ãp©8ê4À7ÀÐ8Ãð|5Ã@48ó9Ã012ÃÐ9Ãb<àèAÀ)?à•:Ã@<ÃÀé9Ãp :Ãz8ÃP´>Ã69Ã9ÃpP2Ãз3ÃPÒ9Ãpü?ð’AÃPº=Ã=Ã`ç<Ãà=9Ã@oCÃPg6ÃÇDà}>ÃPÀ<ÃB7Ã3Ãn:ÃÀ~6Ãàº9ÃÀ×<Ãðá9à ]9ÃË5ÃÀZ<Ã07ÃàÆ7Ãn:ÃÐ9à K<ÃÐ"7Ã0x;Ãp:ÃÀx7Ã8Ãðá9À_6Ã@¥:Ãn:ÃÀÑ=ð¶;ÃÀ¿@í:Ã0õ;à ¼>Ãp;Ãn:ÃpmBÃÐ8ÃàBÃpü?Ã`6Ãt9ðÎ7ÃÀx7ÃðÉ=à i7ÃðÉ=ÃÀf:ð¼:Ã`^>ð¤>àw?ÃГ9ðE9Ã@@Ã@";Ãà7:ÃPÀ<ÃÁAÃГ9ÃAÃPg6à W:Ã0õ;ÃðX;Ã@«9ÃÐ"7ÃÐ ;ÃPg6Ãð|5Ã-4í:ÃÐò>à <Ã@F5Ãz8Ã?ÃpÁ4à¡8ÃÀB@Ã`^>ÃÐ9Ãàg2à c8ÃàO6à à8Ãp&9à;Ãp=à Ô:Ã`ù9Ãn:ê4Ã@Ã5ÃàU5ÃÐ:Ã@>í:Ãà´:à ]9Ã`‚8Ãp&9ÃPÀ<à È<à¡8ÀÄ:Ã`j<Ãðp7Ãz<Ã@«9ðW6Ãðù5Ã0%4Ã`Ž6ðÎ7Ãñ9ÃÀN>Ã@(:Ã09ÃàÞ3à ì6Ø7ÃÐ8à :ðW6ÃÐ@2ÃÀ~6Ã06ÃÐò>à Ô:ðE9Ãà=9Ãp;Ãàg2à65Ã0:Ã69ç;à 6à c8ÃPÞ7Ãn:ç;Ã’8Ã`ç<Ãà®;Ãðá9ö2à­6Ã`š4Ã`|9Ã`á=ÃÀN>Ã@“=à 3@Ã0–6ÃÀ3ÃPÒ9Ã0+3ÃPÆ;ó9à¡8à›9Ãð”1ÃÀœ1àË1Ã`¸/Ã`v:Ã÷8Ã0À/ÃPð4ðQ7ÃàÒ5ä5à {4à :ÃП7Ã`ˆ7ðò1Ã07ÃÀx7Ã<8ð¼:à 6à <à 6Àk4à¡8Ãp>5Ã@:7Ã3Àk4Ã69Ã05ð'>Ãp>5À.Ã@±8à§7ÃП7ÃàC8ÃŒ9Ã@½6Ã@¥:Ãð2Ãp86à¿3Ã`¬1Ãp»5Ã@Ï3Àƒ0Ã@á0Ãph.ÃÐ.5ÃàÒ5à 0Ãð 3ä1Ã` 3ÃÀ–2ðu1ÃN5ÃÐ:3ÃÑ4ð]5ÃÀû6à¹4àT0à ‡2ÃÐ(6ÃÀ%0ðc4ÃÐ(6à ]9ÃpJ3Ã;Ã071À_6ÃPä6àf-Ã33Ãx.ÃÀ6Ã06Ãð”1Ãpn-ÃÀŠ4Ãð1Ãpµ6Ãë:Ãz<àB3ÃÀl9Ã@X2ÃÐ44ÃÅ6à “0à W:Àî3à {4ÃH6ÃpV1à 1ÃÅ6Þ6ÃÀx7Ãp86ÃÐá,Ã<8Ã0%4à 6à æ7Ã`6Ãðó6Ã@48ÃH6Ã07àÅ2ÃÀ5ÃpP2Ã@Õ2Ã`¬1Ã@48ÀÜ6Ãp27à<4Þ2Ãà[4ÃŒ5ÃPä6ðÔ6Ø3Ã!2ÃÐ9Ã`8Ã’8à o6Ã0:Ãpb/ÀY7Ãð 3à ø4ÃÐ@2Ã`#3Ãð²,Ã`/1Ã0%4àÝ.Ã@F5ÃÐÉ0Ã@F5Ã@R3Ãz8À}1ÃE,Ãàö/À1Ã@F5Ãн2Ã?1Æ:à$8ÃàO6Ã@Û1Ã7ÃpÙ0ÃàÌ6ÀY7à­6Ã0%4ÃÀ 4Àâ5Ãðd9Ãðš0ÃP.Ã5Þ6Ãн2Ãp :à ø4ÃpJ3ÃPy3ð‡.ÃP…1Ã0+3ðu1ÃÀ1Ãàm1ÃÐí*ÃÀ¨/ÃÀ 4ù8ÃÀŠ4Ãõ.Ãp>5ðà4ÃàI7ÃàØ4ÃQ.Àâ5à {4Ãð 3Ãp&9Ãà=9à¹4à þ3Ã-0ÃPÞ7ÃŒ5Ã0Ì-Ãà)Ã@Û1ðQ7Ãð4Ã@á0àÅ2àT0Ã@ó-ÃÀÀ+ÃÀ2ÃàC8Ãàœ>ÃÐ¥6Ãðˆ3Ã0º0Ã@±8ÃÀl9Ãð0à 3Ãf1Ã@F5ÃPO:Ã9Ã`4Àú1ÃÐÏ/ÃÐ:3ÃàÌ6ÃÅ6Ãt9Ã07Àî3Ãày/Ãà‹,Ø3Ã`8ÃÐ:3À1à «,à65à {4ÃÀ2Ã@Õ2ÃŒ9Ãðˆ3Ãpb/àÅ2Ãð2Æ6ÃÐ44ÃPs4Ãðd9ÃPê5ÃÑ4ÃpÍ2Àk4ÃÀŠ4ÃÅ6ÃðÛ:Ãð‚4Ãàg2Ã@@6Ãà[4Ã@±8ÃPs4Ãðù5Ã09Ãpë-Þ2ÃÐ9ÃPÞ7Ãð‚4ü1ÃPm5ð3Ã`j<ê0Ãð 3Ã@:7ÃPm5ÃðÕ;Ã$<Ã`/1à¿3à*7ÃP[8ÃÀx7Ãp>5ðà4ðø0ÃŒ5ÀY7Ã7ÃÐÏ/Ã0é=àË1Ã0¢4Ã`š4Ãб4ÃЫ5ù8ÀÄ:Ãðj8ÃÀ–2ä5ÃÀ„5Ã3/Ø7Ã0œ5Ã×3Ã9Ã` 7Ã?1à 4+Ãз3Þ6Ãp©8Ãp¯7ðÚ5ÃÐ"7ðo2Àâ5ÃPð4ÃH6À_6ÃT4ÃÀZ<ÃÀ„5Àâ5ðc4à Ú9ðK8Ãàä2Ãðd9ÃŒ5à9ÀM9à ø4À$+Ãàä2Ãðˆ3Ã92ÃB7ÃÐ(6ÃàÒ5Ãàa3Ãðù5ÃpP2ÃPy3Ãàê1Ã-4ÃÀ2Ãн2À-ÃPg6à {4Ã0+3À1Ãàa3Ãpb/ÃàÀ8Àe5ÃЫ5àH2Ã@‡?ÃP¨@Æ6Àô2ÃÀ®.ÃÀû6Ã`^>Ãðv6Ãðç8Ã07ÃÀ~6Ãñ9Ãðj8ÃàC8Ã@·7ÀÊ9à u5Ãz8Ã@j/ðþ/ä5Ãt9Ãð|5Ã09ÃÐ"7à {4Ãз3à c8à¿3Ã@í.ÃZ3à$8ð¼:à “0À7Ãp»5Àâ5Ãðÿ4Ãðj8à›9à à8ð]5Ã@·7ÃÀl9ÃÐÉ0ÃàU5à ‡2ÃÀ3Þ2Ã0¢4Ãày/Ãð).ðE9Ã0œ5à•:Ãpb/Ãð‚4ÃÀ2ðE9ÀG:ðK8Ãð4àË1Ã`50Ã@Û1Ã09Ãpµ6Àî3ðà4ÃË5ÃÐÛ-Ã×3Ã4à þ3à­6Ã69ðÚ5Ãï/ÃðX;Ã@Õ2ðþ/ä5ÃN5à ø4Ã` 7Ã@v-Ãà*à ø4Ãp86Ã0¢4Àw2ÃàÒ5ÃÐ8ÃÐ@2Ãé0Ãpñ,Ãï/à ™/ÃÐÕ.Ã@Ã5ÃÐÏ/Ã@R3Ã@@6Ã0–6ÃÐ ;ÃÀŠ4Ãàs0Ã0Ò,Ãp÷+ðì2Ãp,8Ã`G-ÃÀ´-ÃÐR/Ã0I.Ãàa3ÃP2Ã5ÃÀ–2ðÚ5àT0Ã`50ðo2ÃÐ.5Ãpë-Ã7ðQ7Ã*ðo2ÃÐd,ÃK/Ã0a*Ã`50Ã`;/ÃpÁ4Ã`²0ÃÚ,À›,Ã`/1Ãàð0Ãð#/Ãàä2Ãpñ,À0Àe5Ãðí7ÃÑ4ä1Ãp>5ö.Ãð¦.Ãã1Ãð4Ãàa3Ã`5Ãðí7À}1Ãà+Ã@Ï3ÃÐF1À /ÃÀ1.ÃP—.ÃÀ=,Ãà…-Ã`2Ã@:7À›,Ã0I.ÃÐÉ0ÃàÌ6Ã-0ÃЫ5ÃÑ4àÅ2ÃÀ~6ÃPy3ð3Ã` 7Ã0%4à›9Ã0%4Ãph.ÃZ3ÃP‹0à 1Ãà[4ÀÜ6ÃàØ4ÃàÞ3à «,À.Ãð2Ã071Ãàð0à³5ÃÀr8ÃÑ4Àw2Ãð 3Ã`A.ÃÐ@2ÀÜ6ð-ðo2Ãl0Ã`¬1à§7À‰/ÃK+à 3à ™/ÃP‘/ÃÐF1ÃPê5Ãf1ÃPê5Ã`)2Ãð 3Ãðÿ4ÃPð4Ãà[4Ãð).à Ú9àH2Ã`50à «,ÃpD4Ãp\0ÃPs4Ã-0ÃP2*ð‡.Ãàa3ê0Ã0œ5ÃÐ:ÃpÓ1ÃÀx7à06ÃÀ~6Ãp&9Ã0=0Ã?1Ãà*ÃÐÕ.ÃÀC+Ãàg2àÝ.Ã0À/à “0à ™/Ã@^1à Ÿ.ÃÀÀ+ÃÀ–2Ãàð0Ãà‹,Ã?-Ã?-ÃÀ7-Ãc+Ãð /à Ÿ.Ã@v-à65Ãðˆ3Ã@«9à•:Ã-4Ã@ó-Ãð/-À.ÃÐ44Ãà‘+Ã0Ì-Àî3àZ/ÃpÓ1Ã@L4à 2Ã-4ÃÀÌ)Ã`#3à×/Ã0®2Ã`¸/Ãàg2ÃÐ(6À-ÃÝ2Ãн2ÃP.Ãðÿ4à65àÝ.ÃÀØ'Ãpñ,ÃÐp*Ã`)2ÃÐ@2à (-Ãðˆ3Ã`50Ã@X2Ãï/Ã`Ö*ÃpÓ1ÃÀ–2Ãð 3ÃÂ0Ãpb/Ãpë-ÃP‘/ÃPê5à ò5ÃpÙ0ÃPy3Àú1Àk4ð/ÃÀ´-Ã`¬1ü1Ãàa3Ã07àH2ä1ðþ/ÃÀÝ;ù8ÃÅ6à<4ÃÀ+/Ãph.Ã!2ÃPö3Ã@d0Àw2Ãð1Àe5Ã`Ž6Ã@Õ2Ã`50à 3Ã-4Ã5Ã0œ5Ãð¦.ÃÅ6ÃpÁ4ÃÅ6ÃÀ¨/ÃÐ.5Ã0À/ÃPð4Ã071ðì2Ãð¦.Ãr/Ã`2Ã3à`.ÃÐ8Ãã1Ãàä2ÃP—.ÃP-ÃÐ.5ðæ3Ãp86Ã`#3à Ÿ.Ãï/ü1àË1ü1Ã9.ÃE0àT0Ã06ÃÐ¥6ðÔ6à (-Ã`2Ã`)2Ã0+3ÃÐÛ-ÃÐ:3Ã0Æ.Ãð4ö2ÃPü2ÃP‘/Ã0¢4Ã@R3ð{0Ãà—*ðà4ÃÀŠ4ÃÀ¢0ÃP-Þ2Ãf1Ãàð0Ã`A.ÃÀ1Ã@Û1Ãf1ðæ3ÃPy3àÝ.ÃÐá,Ã`¦2Ã@Ã5àB3àB3Ãà.ð‡.Ã0I.à “0Ãð‚4ÃÀ¨/àl,Ãàö/Ã`M,Ã`|9Ãðp7Ã0®2à «,ÃÀÆ*ÃÐç+à .,ÃÀõ7Ãã1ÃÚ(Ãð|5Ã33ÃP2àB3Ãð#/ð‡.ÃÀœ1ÃÐ@2àÑ0À /à 1Ãp\0Ãàä2àÑ0À­)ü1ÃP1Ãðš0àl,à 0à ™/ÃpÓ1Ã`M,ÃÀ¨/Ãà.Ãc+ÃÐÕ.ÃÐL0ÃÐ@2Ã~-Ã@Ã5Ãày/Ã`M,Ã'1Ãð²,Ã`#3àû)Ã`k'ö.ö.Ã0º0Ã@R3ÃÀ 4ÃÀ´-Ãà*ÃP&,ÃP‘/ÃÐí*Ãpt,Ãr/Ã’4ÃpV1Ã0Ì-Ã0a*à /Ã33Ãã1ÃÀ7-Ã@|,Ã`ô%À›,ÃpV1Ã~-Ã@d0ÃÐç+ðø0Ã@ˆ*Ã@v-à×/Ã3/Ã&ÃP¯*ÃÐv)À1ÃÐ44Ãpß/Ãr/àZ/ÃP/àT0à R&Ãï/ÃàÞ3Ã071Ãð”1àã-ÃÈ+Ãà+ðæ3Ã`5Ãàs0àT0ÃÀ7-Ã@Ï3Ãàü.ÃÀÞ&Ã'1ÃPa7ÃpD4Þ6Ã×3Ãà©'ÃÀC+ü1à «,Ã`50Ã071ÃÀ1.Ãé0Ãà+ÃÀ7-Ã`Ä-Ã@ *ÃÀÆ*Ã0y&Ã,àl,à`.à 2à 0Ã071ð/Ãp\0Ü(ÃÎ*Ã0O-Ã0+3Ã0®2Ã`²0Ã0ê(À0)Ã0C/ðÚ5àË1ð-à­6ÃÀ¢0ÃE,ÃP,+Ä,Ãðˆ3Ã`M,Ã`/1Ã@^1ÃÐ^-Ãr/ð .ÃP‘/ð™+Ãð5,Ã*ÃðÊ(Ãð2Ã`/1Ä,ÃàØ4Ã`q&ÃP¯*ü1ÃP/Ã33Ã`¦2Ã)àf-Ãð /ÃÐd,ð/Ã0Ì-Ã@‚+ÃP…1Ãð#/ÃЙ8Ãð/-Ã%'Ãðš0Ã@j/Ãpt,Ãæ*Ãx.Ãð5,À›,ÃÔ-ði3Ã0º0ÃÐ(6à×/Ã0I.à L'Ã0ü%ÃÀÒ(ÃÀ¢0ÃÐL0Ã0Ò,ðc4Ão)À¡+Ãà‹,ÃE0Ãày/Ã33Ãð‚4à 1Ã?1à «,Ã`Ð+Ã0U,àõ*Ã`¬1Ãð).ÃP.Ã`/1Ã`Ð+Ãpn-Ãð2Ãà.ÃN5ÃPê5ÃP2à ì6ÀS8Ã`;/Àƒ0Ãn:Ãp>5ÃÀ7-Ãã1ê0ÃP.Ã`/1Ã3/Ãpt,Ãàs0Ã!2Ã9.àZ/Ãõ.Àe5àË1Ã-4ÃÐÉ0ÃpÇ3ÃðŽ2Ã@+Ã`/1Ãàä2À•-ÃÐj+Ã`S+Ã0%4ÃÐá,Ã` 3ÃÐ@2Ãf1ð/Ã'1Ã`A.ð/ÃPy3ÃP.Ã@Û1ÃÂ0ÃÀ 4À1Ã`50Ãð;+Ãpb/Ãð0àÅ2à 1ÃP1à ‡2ÃE,À›,Ãp\0Ãpñ,Ã`²0ÃÐX.Ã’4Ã-Ãð”1ÃÐR/à ™/ÃP-Ã0O-Ãæ*Ã@p.ð,à 2Ãð”1Ã`è'à ò5à 2à (-Ãà )Ã0Ì-À /Ã0O-Ãð;+ÃP,+ÃPü2ÃP-ÃÐF1Ê+ÃP -ðø0ð‡.Ã`¾.Ã-Ã@Ï3à ±+À§*Ã@Ž)Ãàü.Ã@ó-Ã0´1ÃÐá,Ã`¬1à (-ÃW-Ãð²,Ã`k'Ã-À0Ã],Ãõ.Ãpt,Ã0=0ðò1À•-àx*Ãi*Ã`/1ÃÀ7-ÃPµ)ÃÀ1Ã!2Ã@v-Ã`Ð+ÃÐÏ/ö.ÃÐÏ/Ã%'à 4+Ã`¾.ÃÂ0Ã`G-Ã0Ò,ÃÀ1ÃPm5Ä,ÃÀ¨/ÃP0Ã`A.Ãl0à ™/ÃpÓ1Ãð2ÃQ.Ãï/ÃÔ)Ê+ÃÐd,ð+Ãph.à Q;Ã@ó-ÃÚ(àx*ÃPÓ$Ã](Ãð /À›,Ã0[+Ãðˆ3Àe5Ã`/1à Ÿ.ÃÐ:3ö.Ã0%4À /Ãp÷+Ãæ*Ãû-ÃP¯*Ãð5,À /À**ði3ÃQ.Ãà.à×/Ãà)ÃP‹0Ã071ÃÎ.ÃÀO)ÃÀ´-ÃÀÀ+Ãày/Ã~-Ãp÷+Ãpn-Ãæ&à`.Ã0O-Ã@p.ÃÎ*Ã0C/ÃÀ1.Ãð/-à d#ÃK+Ãð/-Ãp¤$Ãð2ÃÐd,Ã-0Ã0Ì-ÃÐR/à Ÿ.ÃÐR/Ãf1ÃÀU(ÃÐç+Àw2à<4àË1Ãp )Ãpå.ÃP—.Ã,Ãþ&ÃÐç+ð±'ÃÐÃ1Ã`¦2Ãà—*ÃÐv)Ã0Æ.Ã`/1ÃP.ÃPÁ'Ãà‹,Ã`G-ÃÀ®.àõ*à ".Ãð¦.À$+Ã0Ì-ð()Ãàm1À•-Ãpt,Ãpý*ÃÐp*Ã,ðÃ$ÃÐp*Ã0[+ÃÀð#Ã&à «,Ãð/-À¿&à~)Ãu(Ã0U,àr+ð/Ã!6À,À.ðŸ*ÃP -ÃK+Ã@ˆ*À‰/à ·*ÃÐó)Ãà…-ÃÐÕ.Ã`_)Ã`G-ÃK+À<'À6(Ã0Þ*Ãà‘+ÃÀU(ÃÔ)Ã@á0ð/àZ/Ãðô!ÃP—.Ãà.ÃÀÆ*ÃP‹0ÃÈ/ÃÀ1.ðþ/Ãæ*Ã0=0À-ÃÀº,Ãàð0ÃZ3Ãp€*À•-Ãà2&Ãpn-À›,Ã'1Ã3/Ãð/-Ãà.ÃE0Ãð5,Ã@|,ÃÐp*ÃÈ+Ão)ð()À‰/ÃpÇ3Ãpn-Ã@á0Ã0O-ð.(ÃЈ&Ãà…-ÃP£,ö2ðà4ÃÐL0Ã@p.à 4+ð/ÃÐL0ÃQ.ðu1Ã`_)Ãà )Ãc+À›,Ãð¦.Ã`â(Ãðÿ4Ãpt,àé,Ã@(Ãû-Ã0º0ÃÔ-Ãp’'Ã@ÿ+À /ÃÀû6Ã`²0Ãpn-Ãð²,ÃÀ7-Ã@ó-Ã@í.ÃÐÛ-Ãàm1Ãð¸+ÃPµ)Ãr/ÃP‹0ðo2Ã@j/ÃðŽ2ð/Ã-à×/Ãp\0ü1Ãpß/ðc4Ãpn-Ãð5,Ãð/-Ãðš0Ãi&À­)ÃÀ7-à .,à :*àé,À‰/ä1Ãà£(ÃP…1ÃP.Ã?-Ê+Ãp\0Ãàm1Ã0´1ÃÐ(6Àâ5Ã'1Ãà.à þ3àT0ÃP¯*Ã0+3ÃP-ÃÐÃ1ÃÎ.ü-Ãò(Ãf1Ãày/ð+Ãà-Àq3à “0ü-Ã`Ü)ÃÀ1ÃpÓ1ù8Ã*Ãc+ÃE,Ã0Ò,Ã0œ5Ã33ÃÎ.ÃP‹0Ãp(Ã0a*àË1ÃÀI*è&àï+ÃPµ)àÑ0Ã~-ÃP£,Ã0Ø+Ê+ÃÀ¨/Ã0Æ.ÃP-Ãà¯&Ãð /ÃÐ@2à ".À§*ÃðÄ)Ã0Æ.ðŸ*Ãõ.À0Ãf1À›,Àq3ÃÐó)Ã@+Ã@Ž)Ã9.à .,ü-ÃP2*ÃÐ@2Ã0g)ÃðA*à 1àÝ.ÃðÄ)ÃP -Ãà‹,Ã0ä)ÃðŽ2ÃÐ@2Ãx.ÃÐí*À¡+à /ÃW-àœ$Ã@ç/ü-Ãð/-àZ/Ãàê1ÃÐÉ0àã-Ã`/1ÃÈ/Ã0Þ*ÃÐR/Ã0ä)Ã`Ö*à 4+À-Ãé0ÃW)Ã0=0Ã0I.ÃK+Ãð5,À6(Ãp )Ãà-à ‡2ÃÀ´-Ãp†)Ã9.ÃÐÕ.àÑ0Ê+àõ*ÃÈ+à³5ÃP.ðŸ*Ãpz+Ãà+Ã'5Ã@Ã5à ‡2ÃÀ1ÃÀœ1Ãý7Ã0U,ÃÀ=,Ã0º0Ãp\0àf-Ã×3À‰/Ã@|,ÃÔ-Àú1Ãð/-ÃÂ,ü1Ã06Ãз3À0ð·&à ¥-Ã`Y*ð¥)Ã0Ò,àã-Ã@í.Àƒ0ÃpV1À0Ãð).Ã@ó-Ã],Ã@í.à 2ÃÚ,ÃPD'à ±+À›,Ã0=0Ãð5,ÃÐ'à`.ðò1Ã-0À /Ãà—*Ã06ðu1àH2Ãð1Ãpz+Ãàä2ÃÂ0à «,Ã071Àq3ÃP¯*ÃP2Ã3Ãr/Ãé0à þ3Ãð/-Ã@L4ÃÀ¨/Ãã1àû)Àú1ÃÀ3ÃQ*ÃÐp*Þ2Ã@í.ð/Ã`¦2ð/ÃZ3Ãp»5ÃPg6Ã`¦2Ãðù5ÃÑ4ÃП7Ãð|5ÃàU5Ãð^:ÃÀ5ÃpV1ÃP7>Ãp£9ðÔ6ÃÀf:Ã0–6à ]9Ã0„9ð¼:Ã33à•:Ãð^:Ãp :Ã0`?ÃЇ;Ã`š4Ã÷8Ãз3Ãå;Ãð|5Ãà®;ðÈ8Ã@Ï3Ã06ÃÀ%0à Ô:ÃP7>ÃpD4Ã`8Ãðó6ÃàO6à Â=ÃÀN>ð¶;Ã@¥:ÃÑ4ÃÙAà›9ðÂ9Þ6Ã0„9Ã09ÃðÛ:Æ:ÃàÀ8ù8Ãp¯7ð¶;ÃàC8Ã9à ¶?à æ7ÃГ9ÃÀÝ;ÃÀl9ÃPg6ÃðX;ÃЫ5Ãë:Ãpµ6Ã06ÃPä6Ã@½6ÃÐ(6ÃP[8ÃPO:Ã`ó:ð@Ã@.9Ãð0à i7ÃЙ8ðAÃ`p;Ã@@6Ãð|5ÃË5ÃP[8Ãp…>Ã=à•:Ãh?ÃÀH?Ãp‹=Ã0õ;ÿ7Ã@@6Ã0%4ó9Ã9ÃàÀ8Ã-4ÀY7Ãý7ÃÐ8Þ6ÃàC8ÃPg6ÃÀé9ÃàC8Ã’8Ãn:à E=ÃÀé9Ãp<ÃŒ9Ãp¯7Ã8ÃÀ„5ÃàÒ5Æ:à>ÃPO:ÃàÆ7ÃPg6À¾;ðÎ7Ã07Ã`š4Ã0:à ¤BÃå?ðÈ8ÃÀ¢0ÃP -ÃàÌ6Ã`š4Ãn:à§7Ã33Ã`|9Ã!6Ã`Ž6Ã`ÿ8Ã`Ž6Ã@@Ã`d=á<Ãà¨<ÃЇ;ÃÙ=Ãàð0Ã@Ï3ÃPä6Ã`ó:ÃB7ÃÐ9Ãàê1Ã9à:Ãp;ðW6Ã0x;ÃЇ;Ã`5Ã0ã>Ãñ9Ã`”5ÃÐ.5ÃÐ:Ã\=ÃàO6Ã071à à8Ãý7Ã0+3Ã07Ã@É4Ãà–?ÃÀÑ=ÃàO6ÃPä6Ã0:Ã0x;à‰<à;Ã0–6Ã`4Ã@=à‰<Ã9ÃðÏ<à‰<ÃPØ8à}>Ãp>5Ãp¯7Ã@L4Àè4ÃП7Ã;Ã@@6ÃГ9Æ6à¡8Ã÷8à‰<Ãp=ÿ7Ã0~:à <à Ô:Ã@48Ãpµ6à {4à ø4ÃÀ 4Ã07Ã0–6ÃÀ×<à 6ÃB7Ãà=9à à8Ã`Ž6à à8Àw2Ã;à Q;ÃB7ÃÀõ7à ø4ðÈ8ÃP+@Ã`p;ÃPI;Ã`á=ÃÐ9à K<Ã` 7Ø7Æ6ÃÀ3Þ2ÃZ3Ã7à65Ãp :ÃÀ3ÃЙ8ÃàÀ8à o6À7ð9;Ã@:7ÃàÆ7ÃÀr8Ã`8ÃàÀ8Ãðˆ3Ã`j<ÃàU5Ãз3Ãðá9Ã7Ãð^:Þ6ÃðX;ÃàÆ7Ãp&9Ãõ.Ã@:7Ã`v:ÃVBà ?>ÃÎ.ü1ð9;à 6Ã07ðæ3ÀÜ6à9à=ÃЫ5ÃЙ8à<4Ãpµ6ê4Ã!6ÃÀ6Ã@L4Ã7Ã8Ã`‚8í:ÃðL=ÃPO:ÃË5À1ÃàÆ7ÃÀï8Ãðˆ3Ãð4Ãàm1ÃÀ3ÃÀ„5ÃÐ@2ÃŒ5Ã`2Ã0®2Ãp©8ÿ7à /ÃЫ5Ã<8ÃÀZ<ðÔ6Ãðç8Ãn:Ã@@6ÃPê5Ãб4ÃP2à ø4Ã@:7Ãp,8ÃÀr8Ã`#3Ã69à³5ÃPy3ð°<Ã@¥:à<4ÃŒ9ði3Ã0 8Ãl0ð3Ãp86ÃÀl9ÃP0Ã012ÀÜ6ÃàO6ðc4Ãà+ÃPÒ9ÃPÒ9Ã@Ï3ÃP1Ã0ä)Ã69ÃÅ6ÃN5ÃpÙ0À0ÃP/ðÎ7Ãðv6ÃŒ5Ãà7:àÑ0àB3ði3ÃàO6ÃÀœ1à ¨(dt ?@4 4ÿxunitsyunitsähÐÛ (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°Ï (ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec0 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitså°çTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8éHEAPX Ðçdatadescription8  @œ€êq·—NM€SNOD(è€[012Ã@F5Ãð‚4ÃP,+à›9Ã-4ÀÜ6ÃH6àl,ð .ÃÀ®.ÃP…1Ãé0à¹4ÃÂ0ÃàØ4Ã05ÃÐR/ði3ð/Ã!2Ã@X2àT0ð,ÃÐÛ-Ã3Ã`A.ÃÀõ7à³5ÃðŽ2Ãpµ6ÀÄ:Ã`|9Ã!6à 0Ã0%4Ã@Û1ÃP[8Ãàs0Ãðš0Ã@^1Ãðó6Ã`š4ÃàÀ8ÃÐ.5Ã@·7ÃÐ:3ð]5ÃÐL0Ãpµ6ÃpÇ3Ãà‹,ÃpJ3Ãà.Ã@F5ÃP1Ãн2Ã?1Ã0À/ÃPü2Ãx.ðæ3ð3à 1Ã@R3ÃàØ4Ã@Õ2Ø3Ã`4Ã`¬1ÃÔ-Ã`A.À.ÃÀ3Ãðˆ3ÃP/Ã@d0à×/Ã4Ãàö/ÃP>(Ãàa3à­6ÃÀ–2àf-Ã@ù,Ã@p.ðæ3Ã3ÃpD4ð{0àÅ2Ã?1Ãàê1Ã` 3Ãà[4Ãpå.Àƒ0Ã@R3ÃPü2Ã06Ãð#/ä1ÃpJ3ö2à<4Ãð0Ã@½6ÃpÓ1Ã` 7Ãé0Ãr/ÃÐ44Ã@j/Ã`G-ÃÐÉ0Ã@p.ð“,ÃPs4Ã<8Ãpb/Ãé0Ã@F5ÃÐL0Ã@Û1ðÔ6Ã@É4À‰/Ã`¸/Ã`4à u5Ãð¬-ÃÐ@2ÃPy3Ãày/ÃÐd,à “0Ãpn-Ã0®2Ã`Ð+Ãp\0ÃË5ðŸ*Ãc+Ã`Y*À›,Ã0+3ÃP0Ã`/1ðE9Ãpt,À.Ãð#/ÃàO6ÃàU5à65Ã@Ã5Ã0´1ðu1ÃE0à þ3Ã07ÃÀ%0Ã05Ã0Ì-Ãð‚4ðþ/Ã,Ãðÿ4Ã` 3Ã`8Ã@±8ÃÐÛ-ÃÀ®.à þ3ð,Ê+à¹4Ã!2Àƒ0ÃÀ7-À.Ã0º0ÃÀ1Àƒ0Ãàê1ÃÐ@2à {4À}1Ãp»5ÃÝ2Ãн2Ã0+3à ·*Ã0Ì-ÃÀ%0ÀÖ7ÃÑ4Ãà‹,à 0Ê+Ã*ð3ÃpÙ0ðo2ÃÀ5ðò1à 3à /ÃP‘/à65ÃÎ.Ãf1ðu1Ãã1àÝ.ÃÐ44Ãp>5ÃÐÕ.ÃÀ%0ðu1Ãpµ6Àú1àÅ2ÃÀ1Ã0¨3ÃPs4ä1ÃÀ¢0Ãpµ6Ã9ÃðŽ2Ãày/Ãàð0à 1À1ðÎ7ðæ3Ã0¨3ÃpV1à06Ãð4Ãpb/ÃÀ5ÃàÀ8ÃÐ.5ðþ/Ã` 3Æ6ÃÔ-ÃPä6Ã`¦2ðo2ÃPy3ÃPm5À‰/Ã071ÃŒ9Ã@(:Ãð /à$8Ã` 3ÀÖ7À1à “0ð-ÃÈ/à o6Ãr/Ã0¢4Ãàa3Ãðš0Ã@½6ÃpP2Ã`5ÃÔ-Àú1à 2Ã@á0ÃàÞ3à “0Ãé0Ã@Ã5Ãð 3Ãð 3ÃpÙ0ÃpÍ2Ãð#/Ã@ç/à 3Ãàº9à¹4Ã@|,Ã012ÃÀõ7ÃPs4Ã@ó-Ã05Ãð”1Ãð2ÃP -Ã0=0Ãб4Ã<8à ™/Ã'1Ãf1Ã0=0Ãà[4ÃP/ÃÀœ1ÃÈ/Ãð¦.Ãñ9ðu1Ã@L4Ã@·7Ãз3ðu1à³5ÃàÒ5À.ÃP©+Ãðù5ÃpÓ1ÃÐ8Ãðv6Ã?1À1Ã@F5Ãpµ6Ãðÿ4ð .àN1ÃÀû6Ã-4Ã0º0ÃÀ3Ã-4Ãý7ÃÀ 4Ã07Ãp86ÃÐ(6à›9Ã`;/àl,Ã0%4À,Ãàs0À›,Ã9.Ãðj8ÃpD4ðu1À¡+ÃÀ3à 6ÃÐ^-à ‡2Ã`”5ÃÀ2ðþ/Ã@p.Ã3à þ3ðà4ÃÀ„5Ã,ÃZ3ð-ÃÀ2Ãàä2Ã`ˆ7à o6ÃpÙ0à þ3ÃPö3Ã0®2ÃÐÏ/Ãpß/ÃP-Ã33ÃpÇ3ðo2ði3à ò5ÃÐF1Ã@@6ÃÀ–2Àâ5Ãб4Ãðš0à ¥-Ã`A.àB3Àô2Ãã1À›,Ãð¬-à ‡2Ã`Ê,Ã`Ð+Ãpý*Ã@)Ã0´1ð .ÃÐ(6ÃÀ3Ã0[+Ãð0Ãã1ÃÂ0Ãpñ,àr+àã-Ãàs0àN1ÃT4ÃÐF1ð{0Ã@É4ðo2Ã33Ã-Ãð /Ã`4Ãpå.à ò5À1Ã@á0ð{0ðò1Ö)ðŸ*ÃÀ~6ÀÖ7ÃÐ@2Ã@p.Ãàð0ê0Ãðˆ3Ã0%4Ã@@6ö.Ãàð0àZ/Ã0Ì-Ã@p.Ãà‹,Ã-ÃÐÿ'Ã0C/àH2Ã?1ðþ/Ã0C/Ã@Û1Ã@|,ÃЈ&Ãà,àû)Ãpß/ÃÀ 4Ã`¬1Ãð¦.ÃpV1Ãi*ÃP£,ÃÐ44ÃP1ÃÀ=,ð/ðì2Ã0Æ.Ãpz+Ãp’'Ã],ÃPö3Ã0I.ÃP‹0Ã'1ä1à “0à /Ãp÷+Ãpý*à 0Ø7ÃPØ8Ãã1à¿3Ã05Ã@‚+ð/ÃPs4àN1ÃÐp*Ã@±8àB3Ãð‚4Ãp27ÃPy3Ã0–6ðQ7ÃP1Ãàs0à­6ÃÐ:3ÃÑ4Ãðš0à•:Ãl0à­6Ã`”5À0à ]9Àe5à ì6à9ÃPÞ7Ã`ó:Ã7ÃÐu>Ã@(:Ã`Û>Ã69ð¶;Ã5ÃN5ÃÐ8Ãp»5à ™/Ãt9ÃðÉ=ðW6Ã@48Ãp :à ø4ÃÀZ<ðQ7ÃPð4Ã4à­6À¬>ÃÀ×<à‰<à*7ÃÐ¥6à=ÃAðBð!?ÃàÆ7Ãå;ÃPÆ;Ã@L4Ã`|9àú>Ãð@?Ãp=à;ÃÀã:ÀÊ9à}>Ã@¥:ðÈ8Ã0:Ãp;À5=Ã`d=ðQ7à³5ÃÍ?Ã`@Cà 9?ÃPa7ÃB7à o6Ãp<Ã0û:ÃÐ"7Ã0ÑAà;ÃP[8à­6Ã`ÿ8ðª=Ã0Š8à ]9Ã@Ÿ;Ã0ã>ÃðL=ÃÐ{=Ãý7Ã69Ãp>ÃàU5ÃðÛ:ÃÐ"7Ãp :ÃÀf:ðÈ8Ãý7Ãp»5Ãp<ÃÀ`;Ãðá9Àw2à§7Ãå;í:àô?à Q;Ã`|9Ã'5Ãðó6Ãp,8ÃÐ44Ã@Ã5Ã7À1Ã`p;ÃàÒ5Ãà>ÃÀ„5À5=ÃðÏ<ÃPÒ9ÃÐ9Ã07ÃàÆ7ÃPÌ:ÃàÆ7ÀÊ9à;Ãë:ÃðR<ðÂ9Ã`‚8Ãý7ÃPO:à¹4ÃP1?ÃP[8à ‡2Ãðá9Ã0r<Ãp<Ãà7:Ãðv6Ãðí7Ãà´:Ã`‚8Ã0+3à ò5ÃÓ>Ãp&9Ã7ÃàØ4ä5Ã0=0Ã@^1à æ7ÃÀŠ4Ã0¨3à þ3à06Ãh;ÃÐ8Ã@Û1Ãð½?ÃB7Ãp‹=Ãp©8ÃÀT=Ã÷8à c8ÃPU9ÃÀZ<Ã7Àe5À7ç;Ã<8ÃPCÃÐ8ÃPÒ9ÃÀË>ð]5Ø3Ã`ó:Ã@«9Ã@";Ã3Ã0r<ÃPÀ<Ã5Ã06ÃðL=Ã4ÃPg6ÃÀT=à c8Ãðó6ÃÀx7à‰<ÃÍ?ÀS8ÃÀT=Ã0:ÃPÒ9Ãðv6ÃàI7Ãðç8Ã0+3Ã0+3Ãp&9ÃÐ8Ã`p;Ãðˆ3à þ3à þ3Ã0–6Ã’4ÀÐ8ÃÀ„5ù8ÃÀx7Ã33ð{0à ì6à È<à o6Ã`Õ?Ã0Š8ÃÅ6Ãl0àZ/Ã`8ü1àr+Ã09ó9ÃPÌ:ÃÀŠ4ÃË5à¹4ÃÐ:ÃГ9À7ð/ÀÐ8Ã`^>ÃàC8Ãpµ6ÃÀŠ4Ã`Ž6Ãð4ðo2Ãà®;Ã0 8à 1à {4Ãë:Ãàê1ÃPs4Ã0–6ÃH6ÃP==ÃàÌ6Ãã1ÀY7à u5ÃPÞ7Ã@½6ÃàÞ3à§7ÃÀ~6Ã@F5Æ6Ãð4Ã`ç<ÃàU5Ãð1ðà4À_6à¹4Ã`#3Ã0–6Ãý7ð3<Ã0œ5ÃÀ`;Ã@>Ã0¢4àÑ0ÃÀ3Ã0º0Ã9.Ã`²0ÃÀ¢0Ãðÿ4Ã!2Ã0%4ÃàÆ7ÀG:Ã`)2Àe5ÃH6Ã7ÃàÆ7Ã-4ÃàØ4ÀS8à ø4ðW6ÀG:ÀY7Ãà[4à ø4ÃPm5Ãð‚4Ãз3à ™/ÃÐF1í:ÃÐ(6Ã`¦2Ãàü.à`.Ã0œ5ÃP0Ã`¦2Ã`ˆ7ðÎ7Ã@L4ÃÐ.5ÃP2ÃÀœ1ÃÀ3Ã0®2Ãб4À0Ã’4Ãh;Ã0œ5Ã07Ã`Ê,ÃP1ÃpD4Ã@L4à06Ãб4à 3ðæ3à<4Ã`4Ãpt,Ãë:ü-Ã0–6ði3àÅ2ÃàI7Ãðç8à*7Ãàê1À7ðE9ÃÀ„5Àè4Ã@:7Ãб4Ã-Ã5ÃÀŠ4à ™/Ã@ù,ÃÐ@2ÃP0ÿ7Ãàg2ÃàØ4Ã'1ÃÐÏ/Àƒ0ð+Ã@R3Ãàä2À_6Ãp\0ÃP -à ‡2ðu1à /Ã0º0àË1Ã0%4Àk4Ãн2ü1ÃÐ:3Ã7Ã'5Ã@|,Ã`Ð+Ãàê1ð]5Ã0œ5ð/ÃÐÃ1Ã’8ÃЫ5ÃàÀ8Ã06Ã3Ãp:Ãðd9ÃPa7À_6à o6ÃÐF1ÃÀ1ÃÐÉ0ÃÀ1.ÀÜ6ÃpV1ÃÀõ7Ãph.ÃpÙ0à³5Ãð‚4Ãàü.Ã`¸/Ã`ó:ðc4Ãð”1Àe5ÃPö3àH2Ã`ˆ7Ãð 3Ã07Àô2à65ÃÀû6Àè4ðæ3ó9Ã’4à ™/ÃÐÏ/ÃP/ÃZ3Ã@á0Ãpn-ÃÐj+Ã3ÃàØ4ÃÀŠ4ÃàÞ3ÃE,à ™/Ã@X2ÃPê5ÀY7Ãðv6ÃÅ6Æ6àN1Þ2ð“,Ã`5ÃàÆ7ÃÅ6ÃÐL0à`.Ãð0Ãð1Þ2Ã`¸/à 1À.ÃPê5Ã!2Ãp»5Ã5Ã-4Ã'1ðW6à þ3Ãf1ÃÔ-ÃÐ:3Ãð2Ãày/ê0Ã`¾.à 1Ã0Ø+Ã4Ãà+ÃÀŠ4ðo2ÃP1ÃP‘/Ã@‚+ÃÀ3Ãl0Ãpë-ÃÎ.ðu1Ã0Þ*Ãð|5à*7Ã0+3à ¥-Ãp*ÃpÇ3Ã0=0ð,Ã0=0ðo2ÃW-Ã@á0Ã!2Àú1ð/ð‡.ÃàO6à {4ðþ/à “0Ã*ðþ/Ã4ÃÀ–2à*7Ã0%4àÅ2ÃÅ6à ì6Ãð0ö2Ã92ÃÐ@2Ãðj8ÃЫ5ð]5àT0à ™/Ãàê1ðþ/Ã?1ÃÀŠ4ÃË5ÃГ9À;<ðW6À7Ã’4ÃÐ:3à 1àZ/ÃP…1ði3ÃH6Ø7ÃП7ÃŒ5ÃPð4Ã`²0À**ê0Ãð/-ÃPö3À‰/Ã0=0Ã9.ÃÐp*Ãé0à ì6ÃÐ^-Ãp»5Ãðó6Ã`5ðu1Ã@@6Ãàä2Ãðˆ3ÃB7Ã@Ž)ÃP2Ãð¦.ð“,ÃE0ðo2ÃPy3ä1Àô2ÃÀ 4à u5Ãà-ä5à æ7Ãàg2ÃP/ðà4Ã92ö.ü-Ã0º0ÃÀ–2ö2ðà4Ãà.Ã0º0Ã0®2Àî3à .,Ãð|5Ã0œ5àB3ÃÐd,Ãà+ÃÀ3ÃpJ3ÃÀ1àï+Ãðí7Ã0œ5ÃàU5ÃÀx7ä5ÃPs4Ãð/-Ã`Ê,àÑ0ÃP‹0ð{0À›,Ãph.àZ/Ã0´1ÃÐX.ð/Ãû-ÃÀ–2ÃÐÛ-ú#ÃÀÒ(ÃÂ,Ãð /Ã`¸/À‰/à¹4ÃÐÏ/Ã@Õ2ÃP -Ã`A.Ãø'ð“,ðþ/Ãà.à 1ÃàØ4Ã-4Ã0´1àT0ð-à (-Ã0C/Ã` 3àË1ÃÀœ1à ¥-ÃÂ,ðÚ5ÃpÁ4ð+Ã~-ü1à «,ð-ð‡.à .,ÃP>(À1Ãý7Ã@d0ÃÀ3ÃT4ÃP—.Ãðš0ÃÀ3Ãàs0ÃP…1ÃP/à`.ÃK+ÃT4Ãàa3Ã’4ÃÀ%0Ãà,ði3ÀÄ:À0Àq3Ã0=0Ã@Ã5À­)à&Ã’4ÃÂ0Ã071À‰/ÃÐÉ0ð]5àZ/ê0Ã0+3ÃÐá,Ãð /ð,ÃPy3ÃpJ3àï+Ãày/ä1ÃH6à ™/Þ2ð/ÃÐù(ÃÀ=,ÃÐX.Ã*Ãð¦.Ãà.à<4Ã@ÿ+à +Ã0º0Ãð).Ãpn-àT0Àk4Ãð#/Ãð”1À.ð‡.Ã0=0Ã!2Ã012ÃpŒ(Ãl0ÃÐd,à 1ð9;à³5Ã0Þ*ÃÂ,Ã`‚8à þ3ö2Àè4À,À0à ¥-ÃË5Àî3Ãày/àZ/ÃÐF1Ãpë-ü1ÃPs4Ã0O-Ãð¬-Ã0Æ.à 2ÃpJ3Ãpë-ð“,à Ã(Ãð).à×/ÃpJ3ÃÂ0ÃàU5Ãp\0ÃÔ-Ã@.9Ãð /Ã`)2ÃpD4ÃÐR/Ãð1Ãò(ä1àõ*À0Ãpb/Ã@á0ÃÐ.5à ".ðo2Ã`Ä-Ã`G-àÑ0Àè4ÃÀ1Ãà,'ÃÀ´-Ã4Ãl0ðø0ÃP‹0ö.Ãàs0à ‡2Ã` 7À5=ÃPÞ7ÃÀl9ÃÀ–2ÃP‘/Ã071ðà4ÃP2ð/Ã0œ5ÃÐÉ0Ãð).Ãð0ÃE0Ã3Ã?1Ã33à Ÿ.à 1à×/ð/à;Ã-ð“,Ã`²0àH2à¿3Ã0À/Ã071ÃP2ði3Ãàä2ð™+Ãð2Ãð5,Ã012Ã0´1Ã`G-ÃàI7à³5Ã@R3ÃàU5ÃðŽ2Ã!2ÃPü2Ãàð0Ã'1ÃÀ®.ÃÐ@2à 'ÃÀ1.Ã’4Ã@^1Ãàä2Ã×3à³5ÃÐR/ÃŒ5ÃP…1Ã0I.Ãàm1Ã`5ÃP…1Ãpn-Ãàð0ÃÂ0Ã@í.ö.ÃT4Ã`¸/ÃPy3Ãð#/ÃpV1Ãð;+à Ÿ.Ãàü.À1Ã0„9ÃP—.ðþ/à 3à ì6Ã@ÿ+àÝ.Ã`Ä-ð+Ã`A.Ãàê1Ãà.ÃP0ÃГ9Ã` 7Þ2Ã'1Ã`6Ã@L4Ã` 3ÃP0ÃpP2ðþ/Ãà…-Ã×3à þ3ÃPg6Ã05Ã4ðà4Ã*Ã@ù,à (-ê0ÃÑ4Ã0Æ.ÃÀ3Ãð1Ã`M,àÑ0ÃPö3ÃpÍ2Ã@í.ÀÐ8Ã5Ã@Ï3à³5Àô2ð{0Ãб4Ãàê1ÃÐd,ÃàÞ3Ã-0Ã@‚+àé,Ã`”5Ã0¢4Ãð4Ãðd9Ã5ä5à 3ÃÐç+Ã-0ê0Ãày/ÃPa7Ã@F5à 0Ãðù5à 2ÃP2à ò5Ãpñ,ÃPü2Ãà[4À0ÃÐÃ1ðà4àf-Àq3Ãpë-Ã@L4ðÎ7Ã0Ø+Ã` 3Ãõ.ðþ/Ã?1Ã!2Ãðš0ðþ/ÃÚ,à ‡2ü1Ã@^1Ã0–6ÃP‹0àB3ÃàI7Ø3ÃЫ5à “0ÃÐÛ-à ì6Ã'5à`.Ã@á0Ãàs0àÅ2ÃÀÒ(à<4ÃP2Ãðÿ4Ã`#3Ã0œ5ÃP==Ã-0ÃÐÏ/ÃP…1à`.à³5À /Ã@ÿ+ð .Ãðp7Ã0–6ÃÐ"7ÃP‘/Ãðš0ÃT4Ãð2Ã`¬1Ãà+ÃÀœ1ÃП7Ã0–6ÃÐR/Ãàä2Ã`6ÃpD4Ã@48Ã0%4Ãð¬-Ã`50Ãàö/ð/Ã`5ðò1Àƒ0Ã`/1àT0ðQ7à 3ð"*Ãà-à ¥-à¿3Ã@ˆ*Ã`;/ÃÐÛ-ÃÎ*Ã3ÃK/Ã69ÃÀõ7ðò1Ãx.ÃÀ+/Ãû-ð/ÃË5ÃÀ2ÃÀÆ*ÃÀŠ4Ã@Ÿ;Ã92ÃÐ¥6Ã@É4À‰/ÃpÓ1ÃpV1Ãз3ÃÀœ1ÃPö3à<4Ãðˆ3Àk4Ãðÿ4ðW6ðþ/ÃÐÃ1Ãàm1Ãàä2Ãpë-Ãpë-ÃÀ 4Ã071ð/ð‡.à Ÿ.ÃÎ.à 0ÃP.Ãà-ÃÀº,ÃÀ´-ðc4à ¥-Ãày/Ã~-Ã0ê(Ã`A.Ã'1ð“,ÀÜ6à þ3ÃÀ3Ã0=0à Ÿ.à Ÿ.Ã9.ü1Ã`;/Ãp€*Ã@)Ä,àé,Ãï/ÃÀŠ4Ã`š4ÃÐ(6ð-Ãõ.Ã’4à æ7Ã09ÃP2À0ÃE0Ã0º0Ã~-Ã`M,Ãðˆ3Ãé0Ãðÿ4Ã@Ï3Ã@+Ã@‚+Ãé0àN1Ã`²0ÃH6ÃàU5ÃÀû6ÃT4Ãà…-à /ÃQ.Ã’4Ãð¦.Ãpë-Ã@j/ðò1Ã0C/àx*ÃÝ2Ã`_)ÃÀ7-ÃÀº,ÃpV1Ã@d0Ã-ÃP0Ã~-Ã@Ž)Ãð4ÃÂ0Ã0C/À}1Ã0Æ.ä1Ã-0Ã`2ÃK/Ã`;/à «,Ãà.ÃÈ/Ã0À/Ãà&(ÃP -Ãì%À-ÃÐÕ.Ãà.Ã0ä)Ãð /ÃÐL0ÃK/Ã@d0ð/ÃÐÉ0Ã0O-ð+ðu1Ã@#&à ·*Ã@p.ÃÀ=,ð-Ãpñ,ÃP/Ã@|,ÃÐÉ0Ãð0Ã`_)ÃðÖ&Ã`G-à65ÃP1ÃP,+Ã0Þ*ÃQ*à ø4à 1ÃP0Ã@ÿ+Ãð¦.ÃÐÕ.Ãû-à +à 3Ã@+Ã`Y*ÃÐ|(Ãï/à 0ð™+ð™+Ãø'Ã)ð“,ÃÐv)Ãp )ð/ÃÀx7Ã4ÃÀ¨/Ã3À¡+Ã3/Ãpë-à 1ÃPê5ÃÈ/ÃpJ3Ã0À/ÃpV1Ã@p.ÃÐ^-À1Ã!2ÃK/Ã~-à Ï&Ã012Ã0®2ÃÂ,Ãðù5ð/à 1à¿3à 1Ã,ÃÀI*ÃpV1ÃÝ2Ã@ó-ÃðA*À0àZ/ÃÐd,Ã0U,ÃÝ2Ã`Ê,Ã@j/Ãõ.ðò1à «,ÃP/àã-à “0Ã0[+ÃÀ 4ÃÐç+à¿3Ã0´1Ãï/ð/à +à ½)Ã0+3à ¥-Ã0U,Ãû-Ã@j/Ã`/1ÃÐÏ/Ãàä2Ãpñ,ðà4ÃpÍ2Ãà.ÃÐX.Ã=#ÀÅ%Ãðš0ÃÀI*ÃÀ+/ÃZ3Ãà=9ÃÀ 4ÃpÇ3Ãpz+Ã@p.ð/ÃÐ@2à¿3Ãàa3àï+àÑ0ÃÐR/à ¥-ði3à¹4ÃP2Ã@Ï3Ã0À/ÃP1Ã`2àé,Ã,Ãà+Ãð).Ã@^1Ã?1ÃÂ0ð/Ã0Æ.Ãpë-ðò1À}1ð3Ãàm1Æ:ÃÐ:3ðQ7ÃÀ+/ÃÐX.Ãpb/Ã!2Ã!2Ãr/ð,Ãl0Ãï/Ãð²,Ãi*À.ÃP/Ãðˆ3Ã`‚8ÃÐÕ.Ãð¦.ð™+Ãðÿ4Ã0=0Ãàü.Ãà…-Ãõ.Ã0¨3Ãðÿ4Ã0I.Ãàa3Ã92ÃP2Ãð5,À•-ÃÐR/Ã`š4Ãp86Ãð /ÃÀ„5Ãï/à .,ÃP-ÃÐÏ/ðÚ5ÃP2Ã0U,Ãà&(à 1àT0ÃàI7à³5Ã05Ã3/ÃpD4Ã012ÃÀ1.ÃÀ1Ãð‚4Ã`4ðò1ÃÀû6Ã`6Ã`2à þ3ÃpÍ2Ãp¯7Ã?1ðà4Ãl0Ã@Û1ðì2Ã0û:à¿3ÃÀ%0Ã0+3ÃÀÀ+à +Ãðe$Ã0U,Ã0Ò,Àè4Ãp\0ÃÀÆ*Ãð4à u5Ã`)2Ãð5,Ãð¦.Ã@í.Ãc+Ãày/Ãð¬-Ãû-ÃE,Ãð”1ÃB7Ã`G-ÃP-ÃÎ.Ãpß/Ã33Ã@X2Ãx.ÃÀ+/àË1Ãб4Ãf1Ã@ó-ÃðŽ2Ã-Ã`¾.Ãð5,àÝ.À0Ãf1Ã012ÃÀ+/Ã0À/àB3Ã`¾.Ã0%4Ã0´1Ãl0ÃàØ4Ã@p.Ãð5,ð{0Àq3ÃÀ2à×/ÃP.ÃP,+Ã92Ã@ *àr+à`.ÃÀ7-ÃÐ:3Ã`50Ãð).Ã~-Ã071Àq3ÃPö3àã-ÃP¯*Ãr/ÃP2Ãà[4ÃÀé9Ãà.Ãph.Ãà-Ãð4ÃŒ5ÃÀ%0à 6Ã@v-ÃÀ¨/ü1Ãðù5Ã@½6Ã0Ø+Ãà.Ã0Ò,Ã0ä)À³(ü-ÃÐX.ÃÀI*Ã`¾.ÃÀº,ÃP0Ãб4ÃÀ®.Ã,Ã`G-ÃÐ^-Ãpn-ÃЈ&Ã`¾.ÃpÙ0Ã`/1Ã@L4Ã@ˆ*Ãð1Ã`²0Àè4ÃÐÏ/à Ã(Ã-ÃP£,Ãï/Ã0O-ð-ÃÀ1àã-Ã071Ãpn-Ãà )ÃQ*ÃpÙ0Ã`Ö*Ãpý*Ãð0ÃÐ:3Ãpt,Àú1Ã0[+Ãàü.ÃàU5ÃÀ+/Ã0=0Ãàð0À‰/Ãà‹,à ±+ÃÀ=,ÃH6Ã?-Ã@Ž)Ã@ÿ+à +Ã@É4Ãpß/Ãï/Ã@ç/àã-Ãð5,à 4+Ãà+Ã0ð'Ã'1ÃP,+Ã3/Ã071Ã`;/À.ÃðA*Ãà*Ãðš0ÃP©+Ãpn-ð .ü1À-ÃÐ:3Àú1à 1ÃÐR/à(Ã`k'Ãl0àé,ð-ÃÂ,Ãpñ,Ã`¸/Ãà…-Ã-0À}1Ã0O-Ã?-àï+Ã?1à 2ÃPö3ÃÀx7ÃpP2à ò5Ã@á0Ã`Y*Ã@)à Ÿ.Ã`S+Ãpë-ÃÀ7-ÃÀ2Ãàs0ÃÂ0Ã0Ø+Ãð¬-Ãàg2Ãð1Ãð).Ã@X2ÃÐ^-àf-ÃZ3Ã`¬1Ãr/à 0Ê+Ãp*Ã0´1Ã9.à «,À¹'ÃðÄ)ÃÐj+Ã@á0ÃÀO)ÃÔ-Ã`Ä-ÃÚ(ÃP—.à ·*àl,ÃÀ7-Ãæ*ÃÀ%0Ã0®2À$+à (-Ãà…-Ã071Ãp86à¿3Ã@”(Ã@á0ÃÀ–2ÃPð4ÃP-ÃÀ1ÃE,Ã@+ÃÐR/Ãàö/Ã?1ÃÀ%0à 4+Ã`/1Ãpë-ÃàÒ5Ã!6ÃÀõ7Ã,Ã,ÃàØ4Ã`¬1ÃÀÀ+Ã9.ð,Ãpn-Ã@|,àx*ÃP‹0ÃÀ®.Ã`¸/àï+Ã?-ðu1Ã0Æ.Ãà-ÃÀa&ÃÐç+à “0Ãðš0ÃÀÌ)à ±+Ã*Ãpn-ÃQ.ÃpP2ðþ/ÃÀ®.À}1Ãà…-Ü(ÃP‘/ÃÀº,Ü(Ãé0Ã-ÃP,+ÃP,+ÃË5Ãr/ÃÀÀ+ÃpJ3ÃÐR/ÃP-Ãày/Ãày/ÃÎ*ÃÀ['À**Ã`¾.Ã`;/ÃP—.Ã0=0Ã`A.Ã92Ã0I.ÃÎ.ÃPg6Ã`5ÃÝ2Ãp÷+Ã`;/ÃÐj+àÅ2ÃÀ%0Ãà-À-Àe5Ã~-Ãð”1Ãð/-Ã0m(ÃP.Ãpn-Ãàð0Ã`”5Ã`50ÃÀU(Ã0U,Ã@Û1à +à Ÿ.ÃP/Ã`/1Ãà-Ã0U,ÃQ.ÃÀ1.Ã@ *Ãàü.à /Ã@^1Ã@F5ÃpÇ3ÃÝ2à ™/Ã`¦2Ãз3à×/ÃK/Ãð 3Àe5ÃÀ1.Ã0®2ÃŒ5Ãà‘+ÃT4Ãà )ÃP1Ãpß/ÃPy3Ã`#3àZ/Àq3à þ3ÃË5Ã`4Ã@á0Ã],à «,Ã@Ï3Ãð”1Ãðá9àé,àã-ÃÂ0Ã`5Ã`²0Ã`50Ã@v-ÃÀœ1ÃP2ÃÚ,Ã@ó-Ãàä2Ã0¨3àÑ0ÃÐd,ÃÀõ7ÃðŽ2ÃàÌ6Ãñ9Ã],Ãày/Ã0À/Ã`2ÃÀ¢0Ã],ÃÀ1.Ãð¦.Ã`#3ÃPü2Ã`;/àï+Ø3ü1Ã@Ï3ÃŒ5Ã@á0Ãà—*ÃðŽ2ÃP/à 1ÃÐÏ/ÃP-Ã`;/ÃP…1ÃÐÏ/àx*ÃÝ2ÃP‘/Ãð0Ã@v-Ã0O-ÃPÇ&Ã`â(à 2à 1à /ð{0Ãp€*Ã`¾.à~)À /Ã0Ò,ðò1Ãpn-à 2Ã@+ð"*Ãð#/ÃP&,Ã3/Ã9.ù8À5=Ãðù5Ãp&9ÃÐ9Ãð¦.Ã0s'Ã@ *Ã0º0Ã?1ð"*Ãò(Ã@ç/Ãp>5Ã-0À‰/ÃÐ@2Ã0Ø+ÃŒ5Ã` 7ÃÀœ1Ãpå.ÃP,+ô$À /ÃÀ2Ãû-Ãð).Ã`/1ÃP/Ãpß/Ãõ.Ã@ *ÃP-ÃÐd,Ã`Ž6Ãé0Ãp\0Ãð5,Ã@)ð,Ã0g)Ã*à þ3ð()ÃÀÒ(à 2à ".à É'ð.(ÃÀ7-Ã@+Ãàö/ðø0Ã@|,ÃŒ5Ã'1Ãf1ÃðÄ)Ã@d0Àe5Ãàs0ÃÐ|(Ãpt,ÃpD4ÃÀ®.Ãpñ,Ã`G-ÃpP2Ãà*Ãàä2ö2ð3Ãf1Ã012ÃP2ä1À.ÃP‹0Ãà-Ã@|,Ãpå.ÃP -Ã`Ö*àû)ÃÐÕ.Ãr/ði3à “0ÃP¯*Ãp-#Ã@”(ð,À.ÃðÊ(à ·*Ã071à×/À<'Ãà*Ãð¦.ð/ü-Ãû-Ã0Þ*àÑ0Ãà.Ã012ÃE0Ã@ó-àã-ð‡.ÃÐÏ/Ã`M,àr+Ã*à 3à 0Ã@R3à ø4ð/ÃÎ*Ã0Ò,à×/ÃpÙ0Ã@j/Ã@ù,àB3à ·*Ãàg2ÃP…1ðu1à +ÃðS'àï+ÃÀ¢0ð«(Ãà—*ðø0àÑ0ð‡.Ã`Ê,ð‡.ÃPö3Ã012Ãàü.ð+Ã`¾.ÃÀ¢0ÃÐX.À.ÃÐF1ÃQ.à +Ãà.ÃÈ+ðþ/ÃÀ%0Ãà.ÃZ3Ãpë-ÃÀ+/Ã`50ÃÐí*À /ÃÈ/Ã@Ï3Ã@ç/Ãб4Ã`/1Ã`¸/àl,Ã@¦%à<4Ãð5,Ãàm1àZ/Ãp€*ð4'à (-ð/Ã@^1ÃP/Ãð”1ÃÐR/àÅ2ÃE0à ‡2ÃŒ5ðò1Ã~-ÃÐ^-Ã0Ò,àl,À›,Ã~-ð .à ì6Ãà=9Ãà[4Ã@ç/à þ3ðc4Ãf1àH2à³5Ã5ÃP0Ã3/ä1Ã@d0ÃQ.àÑ0ðì2Ã@ó-Ãc+Ã@í.Ã0´1Ã0®2ÃàI7àH2Àw2Ãû-Ã`4àÅ2à¹4Ãð1ÃpÁ4ÃÐù(À›,ÃN5ÃpÇ3Ã@v-ÃPy3Ãpn-ÃÀ7-Ãpß/ÃÐ(6ÃÐ@2Ã0=0Ã0–6Ãà.ÃÈ/Ãð2Ãàs0ÃpÁ4Ã`)2ðc4ÃÐ44Ãðˆ3à Ÿ.ðò1Ã@@6Ã9.ÃÐá,Ãàü.Ã`A.À0)Ãàs0Ã`2Ãàê1Ã'1Ãðˆ3Ãð0Ã@Õ2Ãp»5Ã-4Ã@¥:à9ÃÀ~6àB3Ãàê1ð"*Ãàs0ðà4Àè4À1Àâ5àÅ2Ã@í.Ãð/-ÃÀ3ÃPs4à 6à æ7à 0ðu1ÃPÌ:ÃÀ¨/à o6ð-ÃÀ®.Ãàs0Ã`¬1Àk4Àâ5Ã0´1Ã?1Ã@Ï3ÃÀ1.Ãз3Ãн2Ãpß/ÃP2ê4Àè4ÃÐF1Ãàü.à 3Ã@L4Ã3/ÃÐ@2ÃÀs#ÃÐd,ÃÐÕ.Ã?-Ã0ä)À /àÑ0ÃÀ1Ãð¸+ÃP1àH2Ã@ó-À6(Ã@v-à³5Ã@·7ÃP2*Ã0C/à /ÃÀ–2Ã`5Ãà.ö.ÃàO6ÃÀ~6Ã0¢4à ‡2ÃÐj+Ãày/ÃPg6ÃpÁ4ð{0À¡+À$+àB3ÃÐ@2À0à¿3Ã06Ãàð0ÃÐ9ÃÀœ1Ãp\0à<4ÃP…1Ã0º0Ã`Ð+Ãà-Ãé0Ã@Õ2ÃÀº,Àƒ0Ã@p.Ã`¬1À.Ãð/-Ãà—*Ãpß/ê4ÃPy3Ãp>5à 3ÃPs4Ãf1Ãàa3Ã@p.à 2Ã`;/ÃP0ð‡.ð{0ÃÀœ1Ãp»5Ã`Ê,Ãà-Ã`4ÃÎ.ÃÐL0ðì2ÃàI7Ãðù5Ã@d0Ã`5Ã0À/ÃPs4à 1Ã92ÃÐ44Ã05ÃÐF1Ã0:Ã0¨3Ã?-Ã`A.à×/ÃŒ5Ã0º0Ã-0Ãr/Ã071àH2ÃPy3ðþ/ÃÀ1.Ã`;/Ãà—*Ãàð0Ãð|5àû)Ã~-À.ÃP0ÃP£,À›,À$+Ü(ÃPs4Ã`)2Ø3Ã0Ì-ðÔ6Ã06à06àÝ.à (-ðà4Ãr/Ãà+Ãà)Ã`2Ãàm1Ã0=0Ãðv6Ãõ.àN1ÃÐF1ÃP2ÃÀ3à×/àã-Ãà-ÃPg6à9Ãàm1Ã`2Ã`;/ðo2Ã0À/Ãpý*Ãð /ÃP0àf-Ãð1ÃpÓ1Ã@”(À6(ÃÀ+/ÃÐ@2ð-ü-À§*Ãà*Ã`;/Ã`;/ÃÀ®.ð,Ã@^1Ã0Ì-Ã4Ãà.Ãr/ÃP»(Ã@v-Ãð/-ÃÐù(ÃÀÀ+Ãà-Ãð¬-Ã@«9ÃŒ5ÃPP%Ã0´1ð/è&ðŸ*àf-ÃÐ|(ÃÔ-Ã`¾.ÃÐ &Ã`w%àû)Ã@ÿ+ÃÀC+Ãx.ÃP—.ÃÐç+ðŸ*ÃÐí*ê0ðŸ*ÃÈ/Ãð5,ÃE,Þ2ÃÐù(Ã*ö2Ã0¨3à ò5À-Ã],Ãð”1à ‡2ÃP&,Ü(ÃðS'Ã0a*ÃPs4Æ6Ã0C/àõ*ÃÈ+Ãà.À0Ã0®2Ãpz+ÃÀO)Ãð5,ÃP‘/Ã0Ì-àl,ÃÐá,Ãï/ð3ÃP1à<4Ã`Ð+ðo2Ãð¦.à F(Ãà©'Ã@ˆ*Àq3ðu1Ã`Ä-Ãð).Ãàü.Ã0+3à 1ÃÐá,ð{0ê0ÃÈ/à×/Ãð”1À§*Ã@)ð“,ð .ü1ÃpÙ0Àƒ0ðæ3Ã3/ÃpV1Ã0=0Ãð2Ãàö/Ã0Ì-ê0Ãx.ÃÎ*Ã0[+Ã3/à 1Ã`/1ÃðÊ(Ã'1Ã'1ÃÀ´-àÅ2Ã`4ÃàÒ5ÃP‘/ü1à ‡2ÃP‘/Ã071Ã@ç/àË1Ã`5Ã@‚+Ã@ç/ÃÐ¥6ÃpJ3Ã@F5ÃPy3ÃÀÌ)ÃÐp*ÃÀ%0ðŸ*ÃÀ+/Àƒ0à Û$Ã`¾.ÃP2Ãàs0À•-ÃÀ%0Ãð¸+ÃÀC+À-ÃÀº,Ãc+à ½)Ãà,'Ãà.Ã0Æ.ÃK+À,ÃP&,à ¥-Ã@á0Ã3Ã-0à 1ð™+Ãн2àÝ.Ã`š4à~)Ã`ú$Ãp\0Þ2À.Ã0C/ÃÂ0Ãð”1Ãàm1ÃpV1Ã0Ø+à­6ÃP2Ãx.Ãàö/Ãàö/à`.Ãàä2ÃP‹0Ã3à`.À.à ±+Ãà…-Ãð¬-à ¥-ÃÀ=,ü-ð/À§*àÝ.Ãð¬-Ã@|,ÃЈ&Ã@)Ãph.ÃÈ+ð .Ã-0Ã0C/Ã0m(Ãàð0Ã`â(ÃÀ=,Ãpå.Ã-Ãpë-ÃP2*à ™/ê4Ã-4Ãàg2ÃЫ5ÃÂ,ÃÀº,Ã0Ø+Ãà'ÃP-Ãï/Ã0U,à×/ÃÀ3ÃàU5Ãý7ä1Ã0´1ÃÐÏ/ðì2ÃЫ5ð·&Ã-Ã0Ò,ðò1Ãн2ÃÐá,Ã@”(Ã0Ò,Ãð2Ã`/1Ãà+ÃÐp*Ã0ð'Ã012Ã0C/Ã0À/Ã`Ü)Ãpñ,ÃP&,ð-ÃÐó)Ãpn-Àô2ÃÑ4à 3Àƒ0À¡+ð{0Ãðˆ3ðø0ð/ÃP&,Ãð0Ãð /ð±'Ã0O-Ãà…-Ã*Ã@‚+ä1ð3Ãð;+Ã3/ð/ÃP0Þ2Ã@F5ð™+Ã%'Ãl0Ã@½6Ãð¦.Ãð¬-Ãà-Ã`¾.Ã@‚+Ãà‘+ÃQ*à F(À$+àN1Ãð²,ÃÐ'àN1Ã@Õ2à ™/Ã`Ð+à 3Ãàü.à ¥-ÃÂ0Àw2ÃP»(Ãà,Ã0º0Ã0U,àf-Ã0=0Ã0Ì-ÃÀI*Ã`M,ÃÐF1àl,ÃÈ+Ã`G-ÃÂ0Þ2Ã`Ä-ÃP2Ã9ÃpÇ3àé,Ãày/Ã@Ž)ÃàÞ3Ã0+3Ãð¬-Ãà*Ãðî"Ãðe$ü-Ã`;/à (-àï+Ã-0ÃP.ÃP¯*Ã`Ä-Ã)ÃÐÉ0Ãàü.Ã`)2à .,Ãð¸+ð/Ãpý*àÑ0Ãðš0Ã0Ò,ÃÀ¨/ÃÚ,Ã`;/ÃÀ®.Ã-4À**à)ÃP£,ÃÐç+ÃÐv)ÃP8)àH2Ã0Æ.ÃÀ=,À.Ê+Ãpñ,Ãx.ÃÀ®.Ãà.Ã?-Ãàa3ÃÀ1.ÃW)à .,Ã`#3ÃàÌ6à ±+à 0Ã`Ü)àZ/Ã0Ò,ÃÀœ1à ø4ÃPä6Ã`;/ÃÈ/Ã0I.À.Ãæ*Ã`¾.ÃP1À.ÃðA*Ãð¦.ÃP1ÃÈ+ð/ÃÈ+Ãàð0Ã`²0Ã?-ÃÎ*Ã@‚+àÝ.à 0Ãx.Ãõ.Ãp\0ð/Ã*à L'Ãc+à 'Ã@ˆ*ÃÀ´-Ãð/-Ãð¬-Ã`¾.Ö)Ã@ˆ*ÃÐç+ÃÀ%0Ãpß/Ã@š'Ãpå.Ã*Ão)Ãð²,Ãr/Ãðˆ3Ãà-Ã0ä)À}1àf-à ¥-ð¥)à ·*ÃÀ¢0ä1Ã071ð/Ãpb/À$+Ãà*Ã0ö&Ãð²,Ã`}$Ã`;/ÃPD'ð¥)ÃÂ,Ã0Ø+ÃP©+Ãà—*Ã071ð .à 4+ÃÐL0À}1Ãpt,ð,ÃP2ðà4Ã`;/ÃpV1à (-Ãi&àr+Ã0Ø+Ãþ&à /ð-Ãð/-ü-ð/Ã@ç/Ãà+à×/ä1ÃP.à Ÿ.à(ð/Ãà2&Ão)ÃÐL0ÃÐ^-Ã@ˆ*à`.ö.Ãàs0ÃZ3àr+Ãà£(Ã012ÃÀ–2ÃW-Ã0…$Ã0Æ.ÃpV1Ãð /ÃpÙ0Ãr/Ã0Æ.ð+Ãð4Ã`¾.Ãp\0à¿3Ãðš0ÃÐÛ-Ãðâ$ð{0Ã`4ÃÐ"7Ã@É4Ãà‹,Ã0a*Ãð;+Àk4ÃÐ'Ã0ö&Ã0[+Ã@j/ÃpD4Ãf1Ãð5,ð‡.à`.À.ÃP.ÃÂ,Ã`_)Ã@p.ÃÀœ1ÃpÙ0Ã@Û1ÃP -ÃN5ÃpP2Ãï/Ãpb/Ãà‹,ÃP -ð+ÃÐ|(ÃP.Ãé0ÃpV1ÃE,ð“,àH2ÃP,+ðþ/à$8Ãpt,Ãpb/Ãp,8ðæ3Ã-Ã0C/ð-à ½)Ã@ç/Ã@L4à “0Ã`5Ã@v-Ãpë-Àk4à 1ð/Ã`;/ÃÀ['Ê+à 2À$+Ã@í.Ã071ÃÀ¢0Ã@Õ2Ãx.Ã@‚+Ãà[4Ãðù5Ã0:ÃЇ;ÃÀ~6Ãà‘+Ã012Ã`²0Ã-0à Ã(Ã`e(Ãpë-Ã0O-ÃÀ®.Ãà+à ½)ÃP1Ã` 7Ãð#/ÃP‘/Ãpt,ÃÐX.Ãà'ÃÎ.ÃÐF1Ãà.àr+àã-À**Ãl0Ãp»5ÃÐÕ.ÃP£,ÃP‹0Ã*Ã0Ò,ð‡.Ãð /ÃP,+ð .àH2ÃÎ*ð"*ð/ÃÝ2àÝ.ÃÐÏ/Ãðš0ÃÐ:3Ã`Ê,Ãð;+Ãà…-ÃË5àB3Ãà‘+Ãà.Ãàs0à 3Ãð¦.ü-ÃP -Ã`â(ÃðA*Ãu$àx*ÃÀ¨/Ã`#3ÃÀ7-à Ÿ.à “0ÃÐó)Ã0Ø+Ã&Ã`¬1ð/Ã`Ä-à ½)À-ÃÐ^-à 1Ã92Ãà.À.ÃÐç+Ã`Ä-Ã33à ‡2ÃPJ&ðø0ü-Ã@ *ÃÀ´-àB3À}1Ãàm1Ãð¾*Ãpb/àx*ÃÐj+Ãpt,Ãð).ÃpÓ1àB3Ãpb/À,Ã`Ê,ÃÐ^-Ã,ÃÐ8ÃÐR/Ã0º0ÃÐX.à Ÿ.À1Ãà£(ÃÀ+/Ã`;/Ã-0ÃP/Ã@Õ2à ™/ä1Ã`;/Ãð).ÃÀœ1Ã@ó-Ãpå.Ã@X2ð/ÃpV1ÃÀ2Ãpn-ÃP -Ãð0Ãð²,Ã@j/Ã`)2Ã`M,ð/ÃÀC+ÃЂ'Ã@ÿ+Ãû-Ãàm1ÃQ.ÃÈ+Àô2Ã@v-Ã0´1Ãð¸+ÃÀ5ê4ÃP‹0ÃÐç+à F(à 0Ã@É4Ã`50Ãph.Ãð2ÃÐÉ0ÃÀ¨/Ã@R3ÃÝ2à ±+ÃP‘/ÃE0À.Ã@ *ÃÀ´-Ã0g)ÃÐÏ/ÃÔ-Ãð¬-Ã`Y*Ã@j/ÃÀº,ðÚ5Ãðš0Ãé0Ã~-ÃpP2À}1Ãp€*ÃÀ+/Ãð/-ÃÔ)Ãf1ð™+Ãàg2Ã0=0à .,Ãà+À›,ÃP-ÃÀ%0ð,àT0ÃÐá,Ãð¦.ð‡.Ã@v-Ãð¦.Ãày/ÃP2ÃÀ¨/àT0ð-à R&Ã3/ÃðŽ2à /Ã@ó-ÃÔ-Ãð/-Ãà+à .,Ã@ù,Ã@j/ÃPD'ÃQ*ÃpV1ÃQ.ÃÀÌ)Ã`50à (-ÃÐÛ-ÃP1Ãr/à :*Ã0‹#ÃÐù(Ãph.Ãà…-ÃÐá,À•-ÃÐ^-ð+à (-ö2Ãà‹,ÃpÇ3Ã012ÃÐj+ÃÀ+/À‰/À**Ãð¸+À0Ãpn-Ãp*ÃÐÏ/À /Ã@(ÃÔ)à~)ÃP0Ãð¸+ÃP©+ÃP‘/Ãã1Ã0Ò,Ãày/ÃÀÞ&ÃpŒ(ÃPü2Ç%ðu1Ãð#/à 6Ã4ð‡.ÃÀ+/ÃðÄ)à 4+Ãð¾*Ãà&(àã-à ".ÃÐ:3à .,ÃÂ,ÃÎ*ð“,à×/Ã`¾.Ãì%Ãò(ÃðS'Ãð¸+Ãp\0Ã0O-Ã071ÃðG)à 1ÃP£,Ã`#3Ãà-ê0Ãð1ÃðG)ÀN$Ãø'Ã@j/Ãpt,Ã`Ä-à 1ö.ð+ÃÐá,Ã0[+Ãн2Ã@É4ÃÐá,Ãà8%à É'ð+Ã`S+à ½)ð()Ãð1ÃW-ÃÀ%0ð¥)â'Ãð /ÃpÍ2ð .ÃP—.ÃÐ|(ÃW)Ãà&(Ãpž%à„(à ".Àƒ0Ãð¸+Ã@p.Ãp\0Ãð#/Ã0U,ÃÀ2ÃÀI*ÃP-Ãð /Ã~-Ãàü.Ã0ä)ÃÐF1ÃÀ7-à 4+ÃÂ0ð‡.à .,Ã`;/ÃP1ÃP.Ã0´1Ãày/ÃpÓ1Ã05Ãð4àÝ.Ãиà 'ÃÈ/Ã@X2Ãð /Ã@ù,Ãð/-ðþ/Ãé0Ã`Ä-Àî3Ãp†)àÝ.À­)Ã0Ò,Ãà+Ãð 3ÃÀÀ+À­)Ãp\0Ãp»5Ã0º0ÃpÇ3Ã@F5ÃP/Ã@ù,ÃÀ7-Ã@á0Ã×3Ãðù5Ã@@6ÃpÓ1ðì2à +Ã`2ðø0Ã-4Ã0I.Ã@j/àZ/ÃW-Ã05ÃQ.Ã'1À‰/ÃÈ+ÃP1ÃÐÕ.ÃP‹0À›,Ãæ*ÃÀÆ*ð‡.Ã@ó-ÃÚ(Ã0Æ.ÃàO6àf-à /ÃàC8Ãà[4ÃàÒ5Ãà¯&Ã](Ãl0Ãà)ÃÐÕ.ð-Ãð#/à (-Ãð;+Ãé0Ãàö/Ã@ç/Ãf1Ã071ÃÀÀ+Ãày/Ãðí7Ãàs0ÃÀI*Ã0O-ðu1Ãpß/à ¥-à ".Ã9.ÃÐá,ÃÀC+ÃÐÃ1Ãf1à Ÿ.Ãã1ðþ/ð/À}1Ãàö/Ã@Ž)ÃP.ÃÀ®.Àw2Ãà.Ã],ÀÅ%ÃP.ÃÐÕ.Àú1Ã@v-Ã@ÿ+À¿&ÃÐç+àï+Ã@p.ÃW-ÃÀ7-ð™+Ã0Ì-Ãé0Ãð¸+ÃPs4à +À.ê0ÃP2ÃpÓ1ÃÀ¢0Ã0Æ.ÃÐá,Ã@ *à +à +Ã0=0ð,ÃÀ´-ÃÀØ'ÃÀÒ(Ã*ê0Ã0I.Ãà…-ÃÐÛ-àû)ÃE,ÃÀÆ*Ãàm1ÃP©+Ãph.ÃðÊ(ð.(Ã@d0ÃP2*ð“,Ãpb/Ã@ç/ÃE0Ã`¸/à 3Ãàö/Ã`50ÃÐ:3ÃÀœ1Ãp÷+ÃÐL0Ãp>5ÃÑ4Ãð;+ÃÀ1à%ÃP0Ã`;/ÃP¯*ÃP -ÃH6ÃÐ"7Ãæ*ð±'Ãà,'ÃÐ &Ã0ð'Ã`Ê,ð-Ãð2ÃðM(Ãpž%ÃPñÃ@p.ÃH6Ãàa3Ã@L4ðø0ð¥)à +Ãp>5Ã`¸/Ã0C/Ã0U,ÃÀÌ)àï+ÃE,ÃÀ„5à ".ð¥)Ãà»$Ãr/ðæ3à`.Ö)ÃP>(Ãà—*À‰/ð"*À6(Ãì%Ã@+Àî3ð™+à ™/Ã0g)Ã],Ã,àï+Ãà&(ÃP.ÃÀ´-À6(Ã$ÃPÙ#à)Ã`Ð+Ã%'ÃÀÆ*ÃpŒ(Ã@ˆ*è&àr+àl,ÃP&,ÃÀO)Ãà,Ö)ð .ÃP8)ÃÐp*Ãà…-ÃÀC+Ã`ô%Ãp¤$Ã0ê(Ãpñ,À.Ãà‘+ÃÈ+ÃàÞ3ÃÀÆ*Ãp†)ð™+Ã0Ì-ð .Ãà-Ã`A.à ±+Ã`e(à ¥-Ã-0à (-ð"*Ãp*Ã`}$ÃðÊ(à ½)Ã0%Ã0Ì-Ã`_)ÃP,+À-Ãpn-Ã0O-Ã@)ÃÀÀ+ÃÀC+ÃÀ7-ð/ÃÀI*ÃÀO)ÃPÍ%Ã`Ð+Ãà.ÃÀÌ)ÃÀ"ÃÀ®.ÃðG)Ã0m(à ".Ã*ÃÐç+à 0à)à F(Ãæ&Ãc+àé,Ã@ÿ+Ã,Ã0À/ð½%À§*Ã~-Ãì)ð·&Ãà )Ã@ˆ*Ã@ &ð+ÃÀÌ)ÃÀä%ð4'Ã`Ê,ðò1ÃP.Ã`è'ÃÈ+Ã0ü%à R&à ±+Ã,ÃÐ^-Ö)Ãæ&Ãpz+Ã@|,à /à ".ÃPÇ&Ãà£(À³(Ãc+ÀB&ÃðŽ2ÃW-Ã`2Ãà…-Ã`Ü)à 'Ã@š'â'Ã`Ð+à ·*àÅ2ÃðÄ)Ã`â(Ãp*Ã0U,ð .Ã0m(Ã&Àã àõ*Ãà*Ö)ÃÂ,Ã`è'Ãþ&Ã`S+Ãph.À›,Ã0C/ÃÐ^-ÃÐv)ÃÂ0ÃP&,à (-ÃPµ)ÃpÓ1Ã33ÃÀO)Ã@í.ð™+Ãp†)À**à /Ã`Ü)ÃÐj+Ã-0Ã0%4ÃP&,Ãpt,Ãà+Ã0Ø+ÃP/ÃÐj+ÃW-ÃÀÆ*ÃðÖ&ÃÐí*ÃÂ,Ã@|,ÃÐç+Ãph.Ã`²0Ãà+ÃP¯*Ãàö/Ã@‚+ÃpP2Ãàð0ÃÐj+ÃP©+Ãp¤$Ãpý*ÃP—.ü-ð/Ã-Ãpz+ðì2Ãð;+Ãp*Ãà…-à :*ÃÀ1.ÃÐÏ/Ã0[+Ã`š4Ãp’'ÃÂ,À¡+ðŸ*Ãc'Ã=#Ã`S+ÃðÄ)Ãl0Ãðí7Ãàê1ÃðG)ÃPÇ&àû)àË1ÃÀ1à ¼>Ãð^:Ãðˆ3Ãz<Ã0¢4À7Ã`ù9à Î;ð°<Ã`Ž6Ã@±8Ã`ù9ÃðF>ð˜@ÃBÃ@Ÿ;à 9?Ãpü?ÃðÉ=à ?>À‚EðBÃ0ËBÃàœ>Ã0Ý?à ˜DÃÐþ<àw?ÃÀHÃÀ0CÃð@?ÃàBÃpCIÃP Eà -AÃPBÃGÃÐÔCÃ0ï<Ã0ÃpmBàÐEðBÃÐ9HÃÀHÃ0é=ð¶;àSEÃà~CÃÜGÃpäCÃ0¡IÃð™EÃ`·DÃPFÃÐ9Hà GÀˆDÀšAÃ`R@ð'>Ã`@CÃSIÃP´>ÃDEÃðàNð CÃn>ÃÀ³BÃ>FÃ`IÀŽCÃ0TAð†CÀ‚EÃ`«FÃ0¹EàkAÃ0BDÃÐo?Ã@ ?ÃpmBð-=ÃÀN>ÃÀJÃÙ=Ãp?ÃÀ0CÃwCà ¤BÃë>ÃÐ<àSEÃ0§HÃ0ÃP%AÃPDÃ`ÃBà ªAÃð¥CÃ`«FðDÃpsAÃÐì?àÖDðŒBÃPœBÃP®?Ãp?Ãà+<Ãð¥CÃpü?ÃðÉ=ÃPU9Ãð@?õCÃP?ðAÃÐì?ÃÙ=Ã@ ?Ãð4AÃÐàAÃb<ÃðŸDÃP EÃÀÑ=ÃðÃ>Ãý;ð-=Ãàœ>ÃÀÅ?ÃP%AÃðÃ>Ã9ÃP==à Ú9Ãp…>ÃPÌ:ÃÐ<Ã@(:à E=ÀEÃÀ*DÃ0×@Ãp‘<Ãp=ÃÀ0CÃ>Ã09Ã0`?ÃÀ×<Ãz<ÃÐ:ð˜@ÃÐu>Ã@{AÃë:ÀÐ8Ãp;Ã`ç<Ã@";à EÃÐò>Ã@>Ã@";ÃÐi@Ã0é=ÀAÀ5=ÃÀf:ðÚ5ÃPÀ<à -AÃp>ÃÀ6ðE9Ã0 8À;ÃÀH?Ãàœ>ÃPÀ<ÃÐKEÃàº9À/>ð¤>Ã0:Ã`ù9Ã0:Ãðj8ÃÅ6ÃP==Ã0l=ÀA;Ã@ ?Æ:Ãå;Ã@<Ã0:Ã@É4ÃPg6ÃðÕ;ÃП7ÃàU5Ãb<Ãz<à¿3ÃП7ÃÀl9ÃŒ5Ãp>5Ãàº9Ã@:7à ì6ÃàO6Ãà¨<Ã`|9ðÚ5à Î;Ãð@?Ã@Ã5Ã07Ã@F5à ì6ÃàÒ5Ãp»5ÃÀŠ4ê4Ã0~:Ãp»5àÅ2Ãз3Ã06Ãðd9à Î;ÀÖ7Æ6Ã@@6ÀS8à¹4Ãð|5ÃË5Ãðç8Ãñ9ÃÀf:ÃÀT=Ã0œ5ÃÀû6ÃÀ3ÃPU9ÃÇ@ÃÀZ<Àe5ÃPö3Ã06à u5à 3ÃH6Ãðv6Ã×3ðÚ5ÃÀ„5ÃPU9ÃPm5Ã0õ;ÃÅ6Àî3Ãp;àÅ2ÃÀ+/ÃpP2Ãb<ÃPO:ÃàI7ÃÀ6Ãp»5àÑ0Ã5ÃÐ¥6ÃË5ÃPÞ7Ãz8À7Ã`j<ðò1ÃÐ44Ã7Ã@48Ãðó6à È<à :Ãðç8ÃÐ:ÃàÌ6ÃPs4Þ6ÃPO:à W:ÃPö3ÃÀï8ÃPC<ç;ÃÐ:à Q;ÃГ9Ãp£9Ãp,8ð-=Àe5Ã07Ãðç8Ã012Ãà7:ù8Ã`8à:Àk4Ã@·7ÃPä6Ãàä2Ã`j<Ã`ç<ÃÀÝ;ÃÐ8Ã`ˆ7À7à 3ÃÐ.5Ã`ÿ8ðø0À1Þ2Ãß<Ã`5Ã÷8à*7ÃP1Ã8ÃŒ5ðø0Ã@p.Ã`X?Ã0x;ÃP‹0ÃÂ0ðì2Ã-4Ã`ù9Ã07ÃPð4ði3ÃÐF1ÃPs4ðW6Ãðù5Ã0 8Ã0:Ã` 7Ã@:7Ø3à­6Ãp\0ðÚ5Ãðˆ3àÅ2ÃÅ6Ã`p;ÃЙ8Ã@±8À.àN1ÃЙ8ÀÐ8ê4ÃB7à Ô:ÃÝ2à³5ÃàÌ6Ã0„9ÃPä6Ã×3ÃpD4Ãp»5à à8ù8ÃŒ5Ã0+3Ã`”5à 6ÃàÞ3ÃÀf:Àâ5ÃPa7Ã@R3à þ3Ã0–6À0ÃàI7Ãðó6à <ÃÀ5Ãp,8Ãàs0Ã×3à9àË1ÃЙ8Ãðp7Ãà[4Ã@(:À7ÃÐ¥6ÃP2Ãðv6Ã`5Ã69à 3Ãp>5Ãðd9ði3à “0Æ6ÃÐ9à 3ð,ð .Ãàm1Ã0U,àT0ÃÀ3àÅ2ÃpÍ2Ãà7:ÃÐ8Ãàs0ÃPa7ê4ÃÐ:3Ãp©8Ãð).Ãð‚4à i7Ãб4ÃPg6Ã@ç/Ãpå.Ãr/Ãð‚4ö2Ã0À/ÃpÍ2Ã0¨3ö2Ã?1Ã0œ5Ã012ÃàØ4ÃÀ¢0Ã?1à 2Ãà.Àô2ÃÀ1.Ãà…-ÃÀ1àË1ÃÐ¥6Ã` 7ÃàØ4à u5ÃpÇ3Ã@X2ðÔ6à*7ÃPÒ9ÃP…1ðò1Ã0=0ðÚ5ÃÐ:3À•-Ãб4ÃÀ3à ø4à 2Ø3à {4ÃpÍ2Ã@½6Ãp,8Ã` 3Ã@É4ÃÀœ1Ã-0à×/ÃPg6ÃÐÕ.Ã'1Ã`ˆ7ÀM9ÃH6Ãàa3Ä,ÃPö3Ã@ó-Ãà+ÃÐ:3Ã0®2Ã`‚8Ã8ö2ÃÐ@2Ãð#/à ¥-Ãð#/Ãp<Ã@L4Àq3à à8Ãð”1à06à 3ÃÐÃ1ö.Ãð¸+ÃÔ-Ãàa3ðø0à 3Ã`¦2Ã`2Ãð”1Ã@ÿ+Ãu(ðþ/Ã`¦2à`.Ãp*ÃP/À1Ã0®2Ã0®2Ãï/ÃP‘/àN1Ãf1àZ/Ø7ðà4ä1Ã`š4Ãð2ü1à 2Ãàð0ö.à i7Ãð2Ã3ÃÔ)À1Ã@^1à «,Ãð;+à ™/Ã@^1ÃÎ.ÃP‘/à Ÿ.à þ3ðþ/ðæ3À-à (-à 4+Ã`Ö*ÃÀ„5ÃPm5ÃpD4ðo2Ãð¬-àÝ.Ãð¸+ÃW-Ãp\0ÃÎ.Ä,Ã0C/Ãà,ÃÐÉ0à 3ÃP -ðÔ6Ã?-Ãà+Ê+Ãà.Ã@ó-Ã`M,Ãàa3ÃàÆ7Ãp&9ÃÐ.5Ã0´1Ã’4Ã@|,ä1à ±+Ãà.â'ÃÚ,Ã@ç/ÃÐá,à ½)ÃP£,Ã`Ð+ÃP2À1Ã-Ã0a*ÃP»(Ã9.Ã`;/ÃÚ(àl,Ã@(Ãày/Ã`¦2ÃP.Ãð/-àã-Ã`/1ÃÈ/ö2à Ã(àT0ÃÀ´-ðæ3Ãз3Ã0U,Ãðš0ð-Ã0À/ÃÀ¢0ÃP -à„(ÃP2*Ãpñ,Ãð).Ãû-ÃP -Ã0º0Ãðù5Ã'1Ã0œ5Ãày/Ã0º0Ãàm1ÃÀ+/À.Ã0º0Ã@^1Ã`¬1ÃÈ/Ê+Ã`Ü)Ãi&Ã,Ã~-àã-Ã@v-ðø0Ãà…-Ã`Ž6Ã`4àr+ÃÀ®.ÃP8)Ã`2À<'Ã*ÃP£,Ãx.ÃÀ+/Ã92Ãpn-ÃÀ%0ðc4Ã`G-Ã@ó-ð™+Ã@p.ÃP‘/ð{0ÃÀl9ÃP2ÃÀ1.Ãð0Ã`G-Ã@í.Ãð¬-Ãà+Ãf1Ãà)ÃÐR/ÃÐí*ÃÀ®.ÃK/Ã@j/Ã'1ÃÐç+Ã0º0ÃÀÀ+ÃpV1ÃÀ2ÃK/Ã`â(Ãà—*À /ðø0Ã`Ä-Ã`Ö*Ãr/ÃpD4Ãé0Ã@Ï3Ã0U,Ãðš0Ãàê1Ãp\0Ãðš0Ã@(Ã0I.Ãx.ÃÐÉ0à`.À0ÃÐç+À0Ã@Õ2Ã07Ãp÷+Ãpý*À³(Ã@d0ÃÐá,à /ÃPö3ÃÀ6à Î;Ã07À¬>ÃàBÃpÙ0Ãð:@Ãà¢=À;Ã012Ã`;/Ã0%ÃÐÉ0Ã×3Ã`;/ê0ÃÐ¥6ÃÀé9ê4ÃÀ¨/Ã`v:Ã07ðÚ5à65ÃpP2Ãf1ÃPö3Æ6Ãà.Ãð¦.ÃN5à /ÃðŽ2ðK8Ã0„9Ã@Õ2Ãû-ÃÀ5Ã0À/àB3ÃðŽ2ÃÀ1àN1Ã`8Ã4Ãpn-ðŸ*Ã?-àã-Ãà‹,Àƒ0Ã@p.ê4à þ3Ãàö/Ãàê1À¡+ö2Ã@á0Ã@:7Ãp\0ÿ7ði3Ãð /Ãð /à¹4ÃÀ¢0Ãð /Ã-0ÃÀ+/ÃP.à 0à§7àË1àÅ2Ãàm1ÃP—.Ãð²,Ãðš0à:Ã07ÃPð4À1àË1ÃpV1Àô2Ã’8à /à65à³5Ã`Ê,ÃÀ3Àâ5Ãã1Ã0O-Ã3Ã@|,Ãðš0ÃP2ÃPö3ÃàU5ÃÀ–2Ãàð0Ã07ÃPð4à 6ÃÐ.5ÃP2Ã'1Ãðí7ÃðŽ2Ã?1ðþ/ðÈ8Àƒ0ðì2Ã'5Ãðç8ÃÐ:3ÃðŽ2Ã`Ä-à ‡2Ãð¦.à 2à o6Ãðó6ÃÐX.à65Ãpë-Ã@d0Ã-4Ã`¦2ä1àË1Ã3/À1Ãàä2ÃP—.ÃÀ¢0ÃN5àÝ.ÃPð4ÃPØ8À³(Ãp\0ÃÐF1Ã`¾.ÃPö3à 4+à×/ÃpÓ1Ãб4Ã@d0ü1Ãð 3ÃÐX.Ã`#3Ãà…-ÃP0Ãà‹,ÃŒ5Ã-4Ã0Æ.ð«(Àq3ÃË5ÃÐ:3àl,Ãpñ,Ã92Ãàa3ÃÐ:3ÃÐ:3ÃP1Ãð”1ÃPö3à06ÃP2Ãpë-Ã@L4Ã3Ã0=0Ã5Ã0¢4ÃÀ1.Ãï/À0ÃÐÏ/ÃÐj+Ã`G-Ã`6ðc4ÃP©+Ã@p.Ã'5ÃÀ 4Ø3Ãp86ÃP/ÃQ.Ãé0Ã`2ÃP1àË1ÃÚ,ÃÐç+Ãã1ÃpÙ0Ãð”1Ãr/àH2Ãð‚4À0Ã0¨3ðì2Ã012Ã`Ö*À•-Ã`¾.Ã0´1Ãp27ÃÅ6Ãx.Ãà‹,Ãph.Ã@Õ2ÃÐL0Ãà‘+ðc4à ‡2Ã`¬1Ã@í.ÃpV1ÃÀ3ÃÀ7-ÃÀ+/ÃQ.ÃP—.ð‡.ÃP…1Ã`¸/Ãð¬-Ãc'ð .Ã@ù,ÃÎ*Ã3/ÃÀ1.ÃÐÃ1àË1Ãp\0Ã@|,ð‡.ÃK+Ãã1ÃP—.Ã@)Ã0®2à(ÃÎ.Ä,ÃÀÀ+Ãpß/Ã`/1ÃÀI*àã-à`.Ãf1Àƒ0ÃP—.ä1ÃÐ^-Ã0´1Ã-0ð/Ã`Ð+Ãû-Ã`Y*Ã0À/à @)ÃP©+ÃÐù(Ã0À/ÃÐÉ0Ã`;/ÃE,Ã`S+ÃÀ1.ÃÐÉ0Ãà—*Ãà—*Ã0®2ÃP0ÃÚ,Ã3/ÃÐR/Ãð¸+Ã@š'ðì2à «,Ã`š4Àk4Ãé0Àk4Ãpb/ÃÐó)Ã,ÃQ*à ™/àT0àã-ð()Ãph.ÃÂ0Ãph.ÃÐ@2ðø0à ".Ã{'ÃÐd,Ã@R3Ãàü.ð/ÃPð4Àú1Àâ5Ã-0Ãp€*Ã`;/ÃÂ,à ‡2Ã`Ä-ð‡.Ãð¦.ÃpÓ1ÃPü2Ãðˆ3à “0Ãày/ÃðŽ2ÃàÞ3Ã-0ÃÀ®.à «,Ã'5ÃpV1Ã0=0Ãf1Ã` 3àÑ0ÃÀ3ÃÝ2Ã`”5Ãl0àË1à «,ÃÐÃ1ÃpV1Ãã1Ã` 3ÃÀœ1ÃpJ3À0ÃÐ:3ÃÀ´-ÃÐj+ÃP0Ãpn-à þ3ð .àH2Ãðš0à 0Ø3ÃP/ÃB7ðÎ7Ã` 3Ã0O-À­)Ã9.ó9Ãðˆ3à¹4ÃÐ(6Ãðp7à65ÃP2ð«(Ãl0à ™/Ãà+àl,à «,Ãày/ÃPð4àT0Ã@^1à›9Ã0Š8Æ6ÃÑ4à 1ÃÚ,Ãp\0À.Ã`Ö*Àƒ0Ãà[4ÃÀ´-Ãàð0Ã@.9ÃàU5Ã0¢4ðæ3ðò1Ãp»5à 1Ã9.ÃP/ð{0Ãàs0àÅ2ÃB7ÃPÒ9Ãàê1Ã9.à`.Ãp€*à “0ÃЫ5Ã`6Ã`¬1ÃÐ¥6Ãàö/Ã@j/ð3ÃPð4ÃÀ´-ÃÐ.5ÃÐÃ1Ã@d0Ã0®2ÃP[8ð,ðø0Ã071Ã`A.Þ2Ã3Ãp )Ãph.Ã%'Ã`š4Ã'5Ãð2à “0ÃÀœ1Ã@v-Ã`¸/À_6ðc4Ã071Ã0¨3à 3à¹4ÃÐÉ0ÃH6ð]5Ãðj8à<4ðK8à u5ÃÐF1Ãà‘+Ãà—*ÃP-Ã06ÃŒ5Ãàa3ÃK/Ã?1ÃÀ2à (-Ã@Õ2Ãз3ÃÂ,à`.ÃÀ 4Àe5ÃN5Ã`Ê,Ãàð0Ø7ÃÝ2à ™/Ãàð0à ì6ði3ð3ÃÀ1.ÃP‹0ÃP…1ö.Ãð 3ä1ÃP2Ä,Àî3Ãã1à ™/ÃQ*Ãàä2Ãн2Ã8Ãé0Ã~-ðK8Àô2à×/ÃÀ6àã-ÃW)ÃÀ®.Ãï/Ã0¨3Ä,ð+Ãàð0Ã'5À.Ã`50Ã0Æ.Ã0®2Ã~-Ã*ÃÀ®.à 1ðò1à Ÿ.Ãï/Ã’4À}1ÃÈ+Ãà‹,Ã@í.Àô2ÃÐÃ1ÃÎ*Ã0Æ.Ãз3Ãð¸+Ãõ.ÃpÍ2ÃpŒ(Ãã1Ãà‘+ÃÐ|(Ão)Ã`Ê,à /ÃP/Ãðˆ3Ã@d0Ãð”1àZ/ÃÂ,ÃÐ:3ÃÀ®.Ã@^1Ã0ü%Ã@ *ðæ3Ãà.ÃÐX.Ãð4à ø4À}1ÃP…1ÃÀ7-Ãð¬-Ã0C/Ãàa3ÃpÓ1Ãày/Ã,Ãð).Ã012Ãà‹,ÃP©+ð{0ÃÀ%0ÃÐj+à .,Ãб4Ãð¸+Ãàê1àã-À­)Ã`è'Ãé0Ãà,Ãðš0Ãð”1ð“,ÃÐd,Ã`¾.ÃÀ¨/Ãpn-Ã`Ä-Ãû-Ã`;/Ã0Ø+ÃP&,Ã@v-Ãð5,ÃàÞ3ÃÀÆ*ÃP©+ÃÀ¨/ÃÀ¨/ÃÀ=,ÃÐá,Ã)Ê+Ã](ÃÀ®.À1Ã@Õ2ÃPö3Ã`;/Ã@+Ã0Ì-ÃÎ.Ãpë-Ã0[+ÃÀ1ÃP-ÃÀ¨/Ã0I.Ãð).à /à×/Ã0ö&ÃpV1Ãð2Ã`50à Ÿ.Ãpå.Ãð2ÃP>(ÃpÇ3ÃÝ2ÃW-à +àT0Ã@d0Ã@Ã5ÃP.à 'ÃÐÛ-Ã@j/Ã@p.ÃP/Ãp\0Ãàg2ÃÀ–2ÃÀŠ4Ãàg2à /ÃÐF1Ãr/Ø3Ãðÿ4À6(Ã`Ê,à ".à 1ðò1ö.ÃÀ7-à`.àH2à 2Ãн2àT0Ãpë-à65Ã0%4ÃÐÕ.ð/Ã3/ÃP&,ÃP1Ãi*Ãð#/ÃðM(ÃÀ¨/Ã`;/àÝ.Ãàö/À.À1ÃÀ=,Ã-0Ã0ö&ÃP&,ÃK+ÃPs4Ã9.À**Ã`G-Ãõ.ÃÀÌ)ÃÀ=,ðo2Ã`Ü)ð .Ãpë-ð/ðþ/Àú1ÃÈ+à 4+ÃÔ-Ãð”1Ã`²0ð,àr+ð™+À0Ãû-Ã`_)Ã0À/Ã92Ã0%4Ã!2À.ð .Ã@Õ2Ãð 3Ãï/Ã`M,Ã0s'ü-ÃÐÛ-Ã`¬1Ã`¸/Ã*ö.ÃpP2ÃP¯*À³(ÃÐÿ'Ãн2Ãp»5À•-à ±+è&Ã@j/Ã@L4Ãð1ÃÀ¨/Ãph.Ã` 3Ã`50Ãàa3ð/ÃÀº,ê4ÃÎ.À,ÃP,+ÃP¯*ÃÀ¢0ÃP0Ãð¦.Ã)ð-Ãpn-àZ/Ãï/Ãï/Ãì)Ãð¦.Ãð‚4àf-ÃÐÿ'Ã`Y*Ã`Ê,ð,àH2Ãð|5ÃÀx7Ã@d0ÃÐÛ-àT0Ãð/-à×/Ãàa3ÃPy3ÃPü2à (-Ã`¾.ÃÀ%0Ã4Ãð4Ã0I.ÃÐ^-ÃÎ.Ä,Ã`)2Ãp\0Ã3ÃðŽ2Ã0=0Ãï/Ã-Ã`M,Ãï/Ê+àf-Ãpñ,Ãò(à ".ÃÔ-à +ÃÔ-Ãðˆ3Ã33ÃP…1à Ÿ.à<4ðo2Ãàö/Ã0º0À•-ÃÐd,ð-Ã@+Ãð1àÑ0à 1Ãà-àT0à 1ÃÐR/À}1à ™/Ã0Ò,Ãð”1ðW6ÃÐ@2Ãf1Ã`/1Ãð#/ÃP£,Ãp\0àl,Ã@ù,àl,ÃÐÕ.ÃÔ)Ãæ*Ãð0Ã`²0àÅ2Ã@ù,ÃPm5ÃÀ3Ãà-à ™/Ã@L4ÃpD4Ãб4Ã`#3à {4Ã`50Ã@j/Ã@v-Ãð¸+ÃÝ2Þ2ÃÀ%0Ãpb/Ã0¨3Àô2ÃÈ/àÝ.ÃÐá,ÃP‹0àé,ÃÀ¢0Ãб4à06ÃpÓ1ÃÀº,Ãð4Ã33à³5ðo2àÝ.àË1Ãð/-Ãà-Ã`Ê,Ã`Ê,ð{0Ãà.Ã`Ê,Ã0Þ*Ãðˆ3Ãà-Ãð²,ð™+Ã0=0ÃÀ®.Ã`¸/à ‡2Ãõ.ÃpÙ0à ™/ÃÐÿ'ÃÐ@2Ãpn-Ã`¸/ÃÂ0ÃðX;ðþ/Ãð¾*ðø0Ã`Ä-à ±+ÃÐL0Ã4àB3ð/ÃÐÏ/Ãà‹,ÃÀ¢0ðæ3àé,ð.(Ã0Ø+Ã],ÃP.ÃP…1ÃÀ2à ™/ÃÀÀ+Ãx.àã-Ã@ù,À}1àÝ.ÃÐX.Ãpý*ÃPÁ'ÃP-à @)ÃP©+Ãp*ÃP,+Ãð5,Ã`Ä-À§*À‰/ð-Ã+&à%ð/ÃP»(ÀB&Ãàm1ÃÈ/ði3Ã@d0Ã-0ÃÀ®.ÃP -Ã?-Ã@ *ÃP1ÃPs4à 1Ã`š4Ã,Ãà‹,Ãð /Ãpë-Ãð /Ã0À/àr+Ã@^1ÃÐ.5ÃÀ3Ãpß/Ã`50Ãu(Ã`)2à 2ÃÐç+ð-ÃÂ0àr+ÃÐX.àx*ÃЈ&À6(àã-Ãï/Ã*ÃÐÉ0ðà4ÃÐ@2Ãð/-Ãà…-ÃÐÿ'à :*ÃÐù(Ã`k'Ãð¸+ÃÀC+À}1Ã@‚+Ã`ô%Ã0%àl,Ãpt,Þ2Ã`#3ÃP‘/à «,Ä,ÃK/À1Ã`;/Ãpz+ÃÎ.à ·*Ã@d0àï+à ™/Ã`)2ÃÐ(6À0ÃPg6à ".ðø0Ã0C/ÃÐÛ-Ã@j/ðu1Ãû-à (-Ãð”1ÃW-ðò1Ã0Þ*Ã?-Ã@í.Ãð#/à 3àé,ÃÀº,ð‡.Ã?1Ã@j/à~)Ãà‘+ð-Ã](ÃP‘/Ãpž%Ãð¬-Ãp'ÃÐÛ-Ã-0Ãã1Ã@‚+Ãæ*ÃÀØ'Ã0Ø+à(Ãà‘+ð+Ãp*ÃÐR/À•-Ãð²,Ã`e(Ãò(Ãpn-Ã`A.Ãà )ÃÐç+ð"*Ã06Ã0+3Ã@í.Ã@";ÃÀ%0Ãàü.Ã@j/ÃÐp*àé,Ã0º0ÃW-Ã0ä)À³(Ã@#&ð"*Ã0g)ÃÚ,Ãð).ÃÐÛ-Ãð¸+àï+Ã0Ò,à~)ÃÀ¢0Ã0[+ÃÀ2à)ÃÀU(Ãf1ÃÀ5Ãàü.Ãз3ÃÂ0Ã@‚+ð@%Ã`¸/ð/Ã`q&ÃÀÌ)Ãà‘+ÃÀ¨/ðò1ÃP2À‰/Ãà+ÃE,ÃÀ=,ÃÀœ1Ã0Ì-à +Ã`e(Ãû-ÃÐ^-ÃP£,à Ã(ÃÀg%Ã?1Ãз3Ã0I.Ãpý*à„(à ™/Ã@ˆ*ÃÀI*Ãà…-Ãà-ð+Ãl0Ãð”1Ãpz+Ãà‹,Ãð¾*à F(ð .ÃPy3Ãðˆ3Ã@#&ð-À,Ã`è'ÃÐÛ-Ã`Ê,Ã`/1ð+Ã`Ð+ÃÐÿ'Ã0Þ*Ã?-ÃÀ¢0Ãpb/ü-Ã@j/ð+à 1àõ*ÃÀ2Àî3Ãð/-Ã~-Ãà¯&ÃÐ%Ã0s'Ãà£(ÃÐX.à`.ð‡.ÃÀÀ+à Ÿ.ð/ð+Ãà‹,Ãà-à&À6(Ãf1Ã071à 1à {4ÃpP2ÃP2ÃÀ%0ÃpJ3Ã`Ð+ð“,ÃÀr8Àw2à @)Ã0ü%ÃÀº,ÃK/Ãà+Ãà…-ÃÀ´-Ãà‘+Ã0U,Ãc'ÃP2à ".Ã`#3Ãð1Ã-à /Ã@Û1Ã-0ÃðŽ2Ãp†)Ãð¸+à «,à Ÿ.Ãp*àf-ÃQ*àl,ÃPÞ7Ãб4Ãpß/ÃÐÉ0Ã0O-Ã3à ø4Ãàs0Ãð;+à +à 0Ã@É4Ã,Ã?-À‰/àT0ÃÔ)Ã@ç/ÃÐí*ÃT4Ã0Ò,Àƒ0Ã,Ãð¾*à ".Ãð;+À‰/ÃPy3ð-Ã0a*ÃQ.ðø0Ãph.Ãð¬-ÃÀº,Ã`Y*Ã0[+ðþ/ÃpV1Àƒ0ÃÐÉ0Ã0Ø+ð™+Ãp÷+Ã@ÿ+ð,Ãн2ÀÜ6ö.Ã`è'ÃÐŽ%ÃPÁ'Ã0ä)ü1Ã@X2Ãð”1ÃðS'ÃÐÉ0Ãð /ÃÀ=,À›,àH2Ã@p.Ãð5,ð±'àï+ÃP -ÃÂ,Ã@^1ÃÀº,Ãpz+Ã`Ð+à ".Ã’4ÃÐj+à 4+àl,Ê+àÑ0à 1ÃP&,àr+Ã`A.ÃpÙ0ÃPy3Ã@v-Ãì)Ãpå.à 3Ã@É4Ã9.ð .Ãõ.Ãð0à 1Ãp’'Ã)Ãp )ÃP.Ã@ó-ÃÀ2Ãpñ,Ã0º0Ã`Ê,Ã@í.Ãð‚4Ã@á0à /ä1Ãð2ÃÐÛ-àf-ð .ÃP-Ã~-Ã*ü1Àô2Ã0¢4Ã`8àf-Ã`e(À¡+Ãàa3ÃÀ3ÃÐj+À¡+ÃÀ7-à 1Ãàä2ÃŒ5À-à .,Ã3Ãpñ,ÃW)ÃðÄ)Ã`Ö*À}1à {4Ã?1à /ÃÀ 4ÃЙ8Ã0Ò,ÃP‘/ð¥)Ãð /Ãà+à 4+ÃÐÏ/À /ÃÀ%0à /Ãðˆ3Ü(Ão)ÃðS'Ãp(Ãà+à “0Ãày/àõ*ÃÂ,ÃÐ^-Ã@‚+Ã`²0ð-À¡+Ã?-Ãl0ä1à .,Ã`Y*Ãû-à /À,Ãðâ$Ã?1ÃÐF1Ãð;+Ã(ÃP -Ãà‘+Ãð;+ð,ðø0Ãpå.ÃÀ+/Ãpn-ÃðÐ'à`.ð4'ÃÀ+/Ãà+Ã`;/Ã0I.ÃðÊ(Ã`M,ÃK/Ãæ&Ã`Ð+ÃÐd,àÝ.ÃP,+à “0Ãpz+ÃpŒ(à ¥-ÃÐù(à 4+ÃÎ*Ã0ê(àã-Ãð5,À$+àl,ÃP©+Ãà‘+Ã@)%ÃÈ+ÃÀ®.à„(ÃÐù(ð4'Ã@ç/Ã@|,à`.À.Ã0Ì-ÃP‹0Ã`/1ÃK+ÃW)ÃPð4àr+Ã9.ÃP‹0Ãï/Ã-0Ã` 3Ã@‚+Ãû-ð«(Ãpn-ÃÈ+Ãðš0à 1ÃðM(àé,Ã`²0à “0Ãð0À0)Ãà*Ãà.Ã`Ê,Ã@ó-ÃÐç+à .,Ãàð0à +ÃP2*ÃP0ÃÐR/Ãp€*Ãp )ðŸ*à (-À›,Ãð¾*Ãà©'Ãð¸+ÃÀC+Ã@ÿ+ÃP2*ð“,ÃP¯*ÃÀ+/ü-Ã-0ÃE,Ã~-Ê+Ãà&(ÃÀÀ+ÃP,+ÃÐ^-ÃP8)àx*à :*Ãð/-à 1ð3à R&ÃÀØ'Ã0ä)Ã@á0ÃÚ,À•-Ãà&(À›,ð/ÃÀ+/Ã0I.ÃðM(Ã`Ð+ð¥)àé,ÃpV1Ã?-Ãð/-ÃÐd,Ãà*ÃP0à ·*ÃÐç+Ã-4ð{0ðu1ÃP£,ÃàÁ#Ãp†)ÃÐ%Ã0‹#ð/Ê+ÃÐX.Ãð#/ð“,ÃÀC+Ãà—*ÃÀ 4Ã`e(ð¥)ÃP»(àZ/ÃÂ0Ãð1ÃÀ%0Ãð¬-à 1Ãû-À}1ÃP‹0À}1Ã0À/ÃÀÀ+àÅ2Ã`#3ðæ3ÃÔ-Ãæ*ÃP2Ãð¸+ÃÀ1Ãàa3ÃpÁ4Ãà*à É'Ã-0ÃÐX.ÃÀ+/Ã0U,ä1Ãз3ÃÈ+ÃÐÛ-ÃÐ¥6ðu1Ãà…-àl,àl,àé,Ã?-Ã-ÃPm5ðu1Ã0Æ.à Ÿ.ÃK/ÃÀ3ÃPy3ðc4Ãðˆ3À7Ã0%4Ã`Ê,ÃpV1Ãð0ÃP2Ãàm1Ã05Ã×3Ã'1ÃPg6ÀG:Ã0®2ÃÀ%0à¹4ðo2Ã` 3Ã0Ì-Ã`¬1ÃàÒ5ä1Ã071ð‡.ðQ7Ãf1ÃÐ(6ÃPs4àõ*Ãð/-À /ä5Ãl0Ã0Ò,ÃÀû6Ã`2ÃÀ3ÃPy3ÀY7ÃÀº,Ä,ÃÀf:ði3ÃPö3Ã-4Ãr/Þ6à65Ãp©8ðì2Ã@X2Ã0+3Ã@Ï3àZ/Ãð¬-à×/àH2Ã`²0Ã0 8Ã3à 1ÃÐ:3Ã@Õ2Ã3ÃË5À¡+Àq3ÃP‘/ÃpJ3Ãp,8ê0Ã×3ðø0Ã!2Ã0Ì-àã-Ã,ðò1Ãé0ÃÐç+Ãàü.Ã7Ã92Ãà,ÃÀ–2Ã0%4ð-Ãpñ,Àô2Ã?1Ãp€*Ã@ç/Ã`š4à 0àN1ÃÀ´-ÃK/ði3Ã{'ÃP…1ÃÐj+Ã`50Ã`#3Ã@L4Ãp(Ã-àT0ü-Ã0®2Ã`š4à~)Ãpz+Ã@|,à 1à ±+Ãð5,Àƒ0à 2Ãð1Ãp÷+Ãõ.ÃP2*ÃÀÒ(ÃpP2ÃpP2ÃÀ¢0Ãà.àÝ.Ãð /Ãðó6À$+À•-Ã`;/Ã`)2ðæ3Ãà…-à 2à 1ÃÀ3ÃàÌ6ÃP£,ð¥)ÃP&,ðQ7Ã`S+ð"*Ãû-Àú1àH2ä5ÃPê5ð .Ã`¸/ÃÔ-Ãð5,ÃPü2Ãð4ÃðŽ2àÝ.Àâ5Ãðÿ4Ã3/Ã0[+ðo2Ã`50àB3ÃPy3À7Àô2à 0Ãæ*Ã`Ä-ÃðŽ2Ãà,Ã`#3ÃÀ„5Àú1ÃE0Ã`”5Ãp>5ü1ÃK+Ãpå.Ãà.ÃP…1àZ/À¡+ÃÐá,Ã0®2ÃpÇ3Ãð²,àZ/ÃÐL0Ãp\0À0à Ÿ.à ¥-ÃP£,Ãð¬-ÃÐR/Ã`)2ä5ÃZ3Ã@ç/Ãàê1Ã`50Ã0I.Ãð /à`.ÃÂ,ÃÀ1ÃÀŠ4ÃT4Ãð|5ÃP2Ãð#/ÃÀC+ÃÐ.5ÃP‹0ÃP-Ãpµ6Ã@d0Ã`Ê,à ™/À.Ãã1Ã@í.ÃÂ0ÃÐ@2Ãi*Ã~-À}1Ãà&(à /Ã@j/ÀÖ7Ã0®2Ãàü.ÃQ.ðø0àé,Ãð¬-ÃÀ1.Ãð²,Ã@á0Ãp(ÃP,+ð,ÃÐ44Ãð /À¡+Ã`M,Ã0U,ÃpP2à ½)ÃÐ^-ÃÀ¨/ÃÔ)À­)àN1Ãpß/Ã0À/ÃÀÒ(Ãà.À•-Ãб4ÀÐ8Ã69Ãðó6Ãpë-Ãð”1Ã`/1ð/ðo2ÃP -ÃP©+ÃP.ÃpD4Ãð¾*à +Ã`G-ðþ/à 0ÃÀ3à ‡2ÃÀœ1ÃP1Ãpå.ð-ÃÈ/Ãð1Ã],Ã?1ÃÈ/Ãàð0à65àã-ÃÀU(ð"*Ã`A.ÃP2Ã0º0à ™/ÃpÓ1Ã` 3ðþ/Àƒ0Ã0+3ÃÀœ1à ™/ÃÀ=,ÃP¯*Ã`Ð+Ãðˆ3Ãн2Ã`Ð+Ã0®2à Ÿ.Ã`A.à ½)Ã0y&Ã`)2Ã@½6Ãð”1ÃÀ3Ã0C/ð/ÃÀõ7Ã@F5Ãàê1Ãï/Ãà+Ã`50Àq3Ãàê1à ™/Ãl0Ãð¦.Ã*à`.Ãày/à&Ãï/Ã`)2À.Ãà¯&Ã0ê(À.à 1àZ/àf-ðo2ü-Ãc+Ã@j/ÃÐ44Ã3/Ãï/À•-Ã`¬1Ã@^1Ã`Ä-Ãàö/Ã`2ÃÐÉ0Ãðš0ðþ/àô?ÃPI;ÃÀÝ;Ãp>5ÃÀ~6ÀÜ6ÃÀõ7ð3ÃÐ.5ÃP/Ã@ˆ*Ãàü.ð .ÃÐR/Àƒ0ÃÐ44Ã×3À.à Ÿ.Ã`¦2Ã0ä)Ãàg2ü-À§*ü1Ã0º0Àƒ0Ãl0Ã0a*Ã0=0Ã0O-Ã@ˆ*ÃÀ´-ÃàÒ5ÃàØ4À,ÃàÞ3ÃÀŠ4Ãð2ÃÐÕ.ÃÐ.5ÃP,+ÃP -Ã0%4Ãà,Ãpñ,ÃPü2ÃP2Ãp»5ðæ3Ãpë-ÃÀ1.ÃP0ÃÐ"7à ¥-Ãpt,à 3ÃðA*Ãàs0Ãð¦.Ã@ÿ+À<'À›,Ã0O-Ãi*Ã92à þ3ÃÐX.à`.ÃÐL0ÃP…1À.Ãð#/Ã@ó-Ãû-Ãl0À.Ãc+à×/Ãàä2Ã0O-ÃN5ÃÐF1ÃÀO)Ãø'Ã{'à(À¡+Ã`_)Ü(ÃÐ:3Ãàê1ð .à ¥-àÅ2Ãð0Ãi*à 3ÃK+Ãp†)à&ÃW-Ã@d0à :*à {4Ã`6à (-ÃÂ,ð .ÃÐL0ð‡.ÃÀI*À.ðþ/Ã@Û1Ãàð0Ã@^1Ãà—*àã-Ãpn-Àú1Ã0O-ð,Ãph.ÃÐj+ÃðM(Ãà…-Ã0Ì-ÃP0Ã0À/À•-Ã0Ì-À.ðŸ*Ãàö/À,Ã`/1Ã?-ð™+ð™+Ãà—*À.Ã0À/Ã0Ò,Ã0ö&àZ/ÃÈ/Ã?-ÃP.Ã@ÿ+àã-ü1Ã`A.ÃP2*ð:&Ã`2Ãà)ð½%Ãð¸+Ãà‘+ÃÀ¨/Ãð#/Ãi*ÃPÇ&Ãpý*à;à ‡2Ã!6Ãpz+ÃàÍ!ÃP2*Ã@í.à 1Ä,à¹4à`.À /ÃÐÿ'Ãp€*Ã0O-Ã3/Ãï/ÃpP2Ãày/ÃÐÃ1à ò5Ã@í.À¿&ÃK+Ã`¾.ÃÀ=,Ê+Ã0[+Ã0Æ.ö.Þ2ÃÀ¢0Ã0ü%Ã`²0Ã!2àZ/àZ/Ã`š4Ãpn-Ã0ä)ÃE0Ã@L4Ã@^1Ã@ÿ+Ã9.ÃÐj+ÃÐç+ÃË5Ã`S+Ã0Ì-Ãã1Ãï/ÃÐF1Ãà‘+À§*À-à @)Ã@ˆ*ð .ÃÎ*à¨"À¡+Ãàm1Ã`Ð+Ãà.Ãã1ÃQ.Ãð /Ã@v-ÃÐ^-à„(Ãà.Ã0+3Ãæ*ð-Ãð2Ãà-Ãð0Ã`50Ãp\0À$+à&ü-Ãà+ÃÐF1ÃÐÉ0ÃP2*Ãà£(ÃÐp*Ã`S+ÃÔ)ÃÀ´-Ãpý*ÃðA*Ãp&Ãð2ð,ÃÀº,Ã@v-Ã0Æ.ÃÀ1.Ã0º0Ã0Æ.Ãã1Ãàö/Ã(àõ*ÃÐí*ÃðÄ)ÃÀÆ*Ãr/Ã0Æ.à ½)ÃÀÀ+Ã@ç/ÃÎ.Ø3ÃP—.ÃP>(ð4'ÃpJ3Ã@Ã5à 3ÃP0Ãà‹,Ã`;/Ãðš0Ã@^1Ã0Ì-Ãpb/à`.ÃÀU(ÃP…1ÃðŽ2ðo2ö.À§*à “0Ã`;/ÃPü2Ã3/à ½)ÃQ*ð-Ã@Û1Ãr/ÃP.Ãà‹,à&ð“,Ãpå.ÃÐç+Ã`M,Ã`Ê,à ·*ÃŒ5ðø0ÃÐL0ÃP—.ÃPü2ð“,Ã9.Ã@^1Ã@^1Ã@Û1ÃÐd,ðì2ð3Ã0%4Ãà-Ã0%4Ã012à 3àN1Ãàö/Ãx.ÃÔ-Ã@@6Ãð).Ã*àf-ÃÀ®.Ã0Ò,àÑ0Ã92Ãpý*Ãð²,ÃÀ¨/Ã@Ž)à ™/Ã`;/ÃÀ%0Ã@p.ÃP.Ã`_)Ã0º0Ã,ÃÈ/ÃP2*à ½)Ãà‹,Ãæ*Ã`Ö*ÃÀÌ)Ãð1à Ÿ.ü-Ã0º0Ãpb/ð+ÃÐÛ-Ãðˆ3à “0Ã0Ò,ÃÀ3ÃðM(Ã0ä)ÃÐ|(Ã@+ðø0ÃÂ0Ã071Ã@^1Ã@(ÃÐv)Ãð¬-Ã012Ã(ÃÀÆ*Ã0Æ.Ã9.àN1ÃÀ3à×/Ã0ð'Ã@ó-Ãàü.ÃÀ2ð-ð+à (-ÃP£,àr+ÃðÄ)Ã-ÀH%ü1à “0Ãð¦.À$+à “0Ãpb/Àƒ0ÃÐ^-ÃÐù(Ã?-ÃE,ÃÐ|(Ãà‹,Ãr/Ã×3Ã-Ã0Ø+Ã`Ê,à ™/Ãpn-ðà4Ã07à .,ÃÐp*À‰/Ã`Y*ÃÀ®.À0Ãð¸+ÃpÙ0Ã0Ø+Ã0I.àÑ0À›,ÃÀ+/Ãì)ÃPg6Ã@|,à .,Ã0I.ðŸ*ÃðÊ(Ã@ÿ+Ã`ô%ð“,Ãx.ÃW-ÃÔ)ÃpÙ0ÃÐp*Ãà—*Ãà—*Ã0[+Ão)À¹'À§*Ãc+Ãpß/Ã`;/Ö)Ãû-ÃÐÛ-Ãpz+ÃPÍ%À§*ÃÀ¨/Ãpý*Ãà…-à «,Ã*ði3ÃÀÆ*ð™+Ãpå.Ã0Ø+ÃE,Ãp'Ã@¬$ð()ÃÐp*Ã0%Ã`è'Ã],à$À³(Ãc+ÃÐó)à 0ü-ÃÐó)ð“,ÃpÇ3ÃP&,À**à L'ÃÀ1à R&à ÃЂ'à %Ã@v-ÃÀ7-Ãà )ÃÀ=,ä1à @)Ãf1Ã0Ì-ÃÐp*Ã`¾.Ã0Ò,Ãû-Ãpt,À.ÃÐ:3Ãày/Ã@|,À**ÃÂ,ÃÐ^-ÃQ*ÃÀÒ(Ãð/-àN1ÃÀ1.Ã@ÿ+ÃðS'ÃÀ"Ã'5ÃÐ@2ÃÐ@2ÃÎ*à Û$ð"*ÃÐ'Ãð_%Ã`Ä-Ãl0Ã`Y*ÃP,+ÃÀ+/Ãé0ÃÐ|(Ã&Ã`A.ÃÀÀ+ÃÀ%0Ãx.Ã0O-à 3ÃP,+ÃP8)ÃðÄ)Ã@+Ã@v-Ã`M,Ãð;+à 1Ãð0Ã!6ð¥)À$+Ã0a*ÃÐó)ÃP1Ãò(Ã@|,Ãàm1ð{0À,Ã0ê(à×/àŠ'Ãì)Ãà-ÃÚ,À6(ÃÀ=,Ö)Ã@‚+Ã@ç/ð]5ðŸ*ÃÐp*ÃðS'Ãà¯&ÃK+Ãl0Ãð0Ã'1ÃÀ%0Ã?1ÃpÁ4Ã`¬1Ã`¾.ÃPð4Ãз3ü-Ãð¦.Ãp&Ã`G-Ã`;/À¡+à (-ÃÀ=,ð-Ã`¬1ÃpD4ü-ð/ÃÀ+/à ·*ÃP.à ·*ÃÈ/àT0àÝ.ÃÂ,À-Ãà‘+ð‡.Ã0Þ*Ãpz+à R&Ãày/à 0À**ÃÀØ'ÃðÖ&À­)Ã0Ì-Ã`Ð+Ãà‘+ÃPÁ'à&ÃÐX.à ·*ÃP©+ÃÐç+ÃÐj+ÃPÍ%Ã?-ÃQ.Ã0U,À$+ð/à “0ÃW)Ãà‹,ÃP.à`.Ã0g)Ã?1ÃP&,à ±+à 4+Ã`î&Ão)Ão%Ã~-Ãì)Ã`S+à¢#Ãð¦.Ã`S+Ã`Ê,À­)Ã0Æ.ÃÀ%0ÃÀ3Ãàg2À§*Ã`50à /Ãæ*À•-Ãp÷+Ãà'ÃpP2Ãð;+ÃK+Ã@)À1Ã0Ò,Àè4ÃðS'ÃÀÞ&Ã0x;Ã0´1ê0Ãõ.Ã`k'ÃPÙ#ÃÐL0Ã@5#Ã@‚+ÃÀI*Ãpt,ÃÀœ1ÃP,+Ã`Ü)à «,Ã-0Ã5Ãp†)à 4+ðþ/àf-Ã,À‰/Ã)ÃP—.ä5à*7ÃE0Ã0´1À1Ã7ÃP2à ".Ãð#/Ã`S+ÃE,Ãàm1à Ÿ.à(ÃðÊ(ð-Ã0O-Ã`2Ãpå.ð‡.ö.àÅ2ÃPÁ'ð()À§*Ãï/Ãl0Ã@ç/Ãà‘+Ã-Ã@|,Ã`Ê,Ã0Ø+Ãf1ÃÐ@2Ãpñ,ÃÀ¢0À›,Ãc+Ã@‚+ÃÈ+Ã0s'À**Ãp€*Ã`Ö*ÃÐÛ-À.Àô2ÃP&,Ãð¾*À³(ÃÐá,Àú1Ãð/-Ãð /ð+Ã`2Ãà)ÃPµ)Ãð;+À¡+ÃÀC+Ã`â(Ãð#/Ãð1Ãp€*Ã`Ä-ð‡.Ã@v-ÃÐ@2ð‡.ÃÀ´-Ã@^1ÃP\#Ãp*Ãp )Ã?-ÃÀÒ(à ½)ÃW-ÃP£,Ã0C/Ãx.Ã-à ±+Ã0g)ÃÀ„5ÃП7Ã’4Ã@ó-à (-à “0Ãðš0Ãð;+à(ÃÀU(Ãàs0à L'à (-Ã`Ê,Ãx.Ãé0Ã0[+Ã0O-Ãà‹,Ã0g)ÃpÇ3àõ*Ã0À/À0)Ãà )Ã0ð'Ãpn-ÃÐí*àH2ÃÀ1.ÃðA*Ã0Ø+ÃP‘/à “0Ãн2àÝ.ÃÀ=,Ã`Y*Ãà'Ãpb/Ã9.ÃÀ7-ÃÀ®.Ã`2ÃpP2À6(ÃÐç+Ã@ *Ãð¾*Ã0®2Ãp\0ð .à 'Ã@v-ÃP1Ãà¯&ÃP-Ê+Ãð#/ÃpD4ðo2À‰/àZ/Ã@Ï3ÃP2Ãð 3ÃP&,Ãà—*àZ/À§*ÃðÄ)Ãæ*ð+ÃÀœ1à)Àî3Ã0C/À•-Ã0=0ÃP‘/à «,Ã-ÃÀÒ(ÃÐv)Ã0Æ.Ã`Ö*ÃÐí*à ".Ã`2à 4+À.Ã@Ï3ÃpV1ÃÐ^-Ãàm1Ã-0à Ÿ.ÃpÓ1ÃpJ3ÃP2ÃÐL0ÃÐÕ.à o6ÃP1ðE9Ã0¢4Ãðÿ4à§7ÃÀ¢0ÃÀ6ÃÀ`;ð'>ÃpÁ4À /ÃàÌ6Ã`š4Ãð‚4Ã@:7à u5Ãð|5Ã0Š8Ã`á=Ã0:Ã` 7Ãp<ÃàÌ6ÃàÆ7ÀÄ:ÃÂ0Ãàä2ÃÀf:Ã06à W:ÃÐ:3ÃГ9ÃPg6ÃÐ ;ÀY7ÃPs4Ã07Ã@:7ÃàÌ6Ã8Ãà=9Ã`ù9à;ÃP7>Ã` 7Ã7Ãã1ÀG:Àk4ÃPÒ9à­6Ã@±8ð!?ÃÐo?à <Ã`X?Ã`¬1Ã0–6à 3Ã0x;Ã`”5Ã`”5Ã0 8Ãз3Ãàs0à 6Ã0–6ÃPö3ð¶;Ã`v:ÃàU5Ã`¬1Ã0û:Ãðù5ÃÐ¥6ÃZ3Ã@F5Ãn:ÃП7ðc4ÀÜ6Ãp»5ÃPy3à$8Ãà1;Ã`d=Ã07Ãé0Ãý7Ã0l=Ãpë-à 1Àî3ÃÐ(6ÀÄ:Àâ5Ãë:Ø3à þ3Ãàs0Ã@Õ2ÃP2Ø7ÃP…1Àe5Ãàs0à 1ðø0ÃÀ3Ã3/ð?:Ã@|,ä1ð/Ã@á0ÃPä6Ã33ð+Ã`S+ÃГ9Ã@Û1ð]5ðu1Ãã1ÃP…1Ãð1ÃÐ9Ãðç8Ãñ9Ãz8ðÔ6ÃP2ÃW)Ãp\0Ã<8ê0Àî3Ã07ÃÀ2ÃÀ–2Ã0U,À-Àè4Ã0Ì-Ãàä2Ã0–6ÃPü2à {4Ã5Ã`”5Ãàa3ÃàÒ5ÃT4Ã7àé,à {4ðÔ6ÃÐí*ê0ðþ/ÃPä6ÃÈ/ð-à<4à<4ð]5Ø7ÃÐÛ-Ãà…-ê0Ãàm1à ø4Ãày/Þ6ð]5ÃàÆ7Ãp>5ÃPy3à 0ÃàØ4ð]5ÃÀ7-ÃÈ/Ã?1àÝ.Ãðˆ3Àè4à æ7ê0Ã@Ï3Ãð4Ãàð0à 3Ãð1àH2À‰/ÃÎ.à “0Ãð4Ã0º0ÃÀ®.Ã?-ÃpÇ3Ãàg2Ã@v-ÃÀ–2ó9Ãàa3ÃPØ8à*7ÃŒ5à ø4À7ÃPä6à ™/Ã’4ÃN5à 0Àk4Ãð2Ã@Û1Ãõ.à 4+ÃÂ,Ãp>5à 3Ãð4Ãð 3ÃpD4Ãp\0ÃÐ(6Ã@F5Ã071Ãàü.Ã`/1ÃÈ/ÃàÞ3Ã@@6Ã` 3Ãpß/Ãн2Ã07Ãt9Ãp :ÃPU9ÃPö3Ã@@6Ã` 7Ã` 7Ã`)2Ã÷8à*7ÃЫ5Ãз3Ãðù5ÃÀï8Ãà%=Ãàº9à‰<Ã`‚8Ã` 7Ã06Ã`š4à c8Ãà[4à ‡2à u5à :à :Ã<8Ãз3ÃÀŠ4ÃàO6ÃË5à06Ã`š4ù8à06Ã!2Ãðó6Ãàð0à :À¸<à ]9Ã0¨3à {4Ãàs0ÃPü2Ã`v:à­6ÃPm5Ãp27Ãõ.Ã`Ž6Ã8à {4ÃÀ¨/ÃÀl9Ã` 3à¡8Ã0–6ðK8ÃГ9Ã07ÃPm5Ø3Ã`5ÃÀï8Ãp¯7ðK8à¹4ðÈ8à c8Ã`‚8Ã@";Ã7ÃË5ÃÐ:3Àî3É@ÃÐ:ÃpD4ðK8àË1Ã4à Ú9ÃÐF1ÃÐÃ1ê0Ã8Àq3à o6Þ6ðÈ8ÃP.Ãð4Ã@p.Ãt9à9Ãp£9Ãp‘<à65Ãðó6à W:à¡8ÀÜ6Ãàa3Ã`)2à 1ÃÀ~6ÃpÁ4Ã@á0à65Ãàg2Ã33à c8Ã`ˆ7ð/ÃàÌ6ÀM9ÃÀ~6Ãt9Ãàs0ðQ7à 6Ã`ˆ7Ã`”5Ãàa3Ã@É4à ¥-Ã@X2ÃK/Ã0´1Ãp,8à i7ÃÐ9Ã9ðÈ8ÃŒ5ÃÀx7Ã33Ãp86à Ô:Ã@½6ÃÐç+Ã`#3Ãp¯7ÃÑ4Ã@F5àË1à ‡2Ãp:Ã5ÃÐ"7Àú1Ãð 3Ã`5ðà4Ã÷8ÃÝ2Ãàð0ÃP[8ÃP‘/ÃpÍ2à ".Ãpn-ðQ7Ã’8à 1À_6ÃÐ.5ÃÀ1ä5ÃN5ÃÐ@2Ãã1à 1ÃÐF1Ã`¦2Ã0¢4à<4ÃP‘/Ã-4àÅ2Ãàð0Ã@^1ÀY7Ã7ðE9Ãàê1Ãð 3Ã8Ã0:Ã@^1ÀS8Ã@+Ã@ç/à<4Ã`#3ÃÐá,Ãð‚4Ãpß/Ã`4ð{0Ãðp7ÃPü2Ãl0Ã0À/ÃÐR/ðc4Ãàä2à¿3ÃPa7ð{0Ã`4Ãàð0Ã’4ÃÅ6àÑ0ÃÀ~6à$8ÃÐ¥6ÃpJ3Ã0–6Àî3àf-àB3Ã0œ5Ãp—;Ã`5Ãpz+Ã@L4Ãàg2Ãðˆ3Àq3à¹4Ã4Ã<8Ã`¬1Ãàº9Ã`š4ÃÀœ1ÃÐR/ðo2ê0ÃP‹0À}1Ã'5ÃPö3ÃÐd,à­6Ãð‚4àÑ0Ãàê1ÃN5à o6ÃP…1Þ6ÃPê5Ãн2Ãн2à 1Ã@ù,Ãà[4ÀÊ9ð]5ÃÀŠ4ÃÀû6ÃPÞ7Ã?-àÅ2Ãð¬-Ãðˆ3ÃÐX.à {4ÃpV1ÃÀr8Ãð/-Ã?1Þ2ÃpÙ0ê4ÃàI7ÃP[8Ã0~:ÃàØ4ÃÐ¥6ÃÐ.5ðo2Ã`”5à³5ð{0ÃàI7ÃÀr8Ãf1Ãé0À0ÃP.Àk4ÃPê5Ã0Š8ð?:ÃÀr8ÃPm5Ã0U,à 0Ãï/ÃðÐ'À**Ã@ *Ã0U,Ãpt,Ãð1Ã` 3Ã0º0Ã`2à 0ÃÀœ1Ã0O-Ãðˆ3Ãðÿ4à`.Ã0–6Ã` 3Ãã1Ã`;/Ãph.Ãpt,Ã`¬1Ã0À/Ã@:7Ã@48Ã`Ê,ÃP£,ÃÐX.ÃPð4ÃÂ0ð“,Ã-Ã0+3Ã3ð/Ã`;/ð,Ã`#3Ã0l=ÃÐ.5ÃÀ7-àB3ÃàÞ3Ãðí7à<4Ãð2Ãf1Ãðv6Ãl0Ã0À/ðø0Ã`4Ãà…-ÃÐ.5Ã`)2à<4àr+Ã@)à 4+Ã@p.Àw2ÃK/Ãp÷+Ãàê1ÃÔ-ðu1ÃðŽ2àé,àH2Ã`2ðu1À-Àâ5Àâ5ÃP&,Àq3ÃP‹0à 2Ãн2ä5ÀÖ7Ãð‚4Ã0À/ö2à­6Ã0´1Àî3à¿3ÃÀ¢0ð-ðø0ÃÀ+/àZ/à Ÿ.Ã0Æ.Ãð#/ÃÐ@2à³5Ã’4ÃÐ@2à$8ÃðŽ2àH2à¿3ÃÂ0Ãðù5à<4ðþ/à ±+ÃP2Ãpn-ðÔ6Ãð1Ãp\0Þ2ð"*Ã!2ÃÐ^-à “0Ãàü.ÃP0Ãàð0ðc4Ã×3Ã`¦2À_6Ãr/ÃÀº,ðc4ÃÎ.ÃÂ,Ãб4Ã`¸/Ãð1Ãà.Ã’4ÃŒ5ÃÈ/ÃàÞ3Ãàê1Ã@Û1ÃÐ:3ðò1ÃÐ@2Ãà.Àƒ0Ãà‹,Ã`;/ð-ðu1Ãàg2Àú1ÃP&,ÃÐ^-Ã`Ä-Àè4Ã'1Ãàö/à ø4ÃÎ*ÃÀ´-ÃpP2ÀÖ7Ãб4Ãé0àË1ÃP0Ã`50ÀÖ7ÃÀ„5Ã×3ð™+Ã071Ã`Ê,Ãf1Ã×3ð/ÃÐÛ-à 2Ã`ÿ8ÃÐÕ.ÃPs4Ãðù5Ã`²0Àk4Ãð2Ãð0ÿ7ÃàØ4à¿3ÃÂ,Ãà[4Ãà…-à<4Ã0%4Ã3/à u5Ãàä2ÃPy3Ãp©8àÑ0à .,ÃÐ:3Ã@í.ÃÐp*Ã`4À›,Ãðp7Ã`Ž6ÃÀ1.Ã7à ‡2ð-ð-Ã@É4ü-Ã`A.Ãý7Ãà*ÃE,ÃÀû6Ä,àé,Ã0Æ.ÃÀ1àN1Ãc+ÃP0Ã`¾.ÃPa7À}1Ã0ê(Ã3à~)ð/ÃP&,ð™+Ãð¸+Ã0a*Ãpë-Àô2Ãph.ÃÀ„5Àú1ð-Ã071ÃpÓ1ÃW-ÃÐÿ'Ãàm1à 1àH2Ã@L4Ãðˆ3Ã`2ÃÀ3Ãð0Ãr/Ãpn-Ã` 3Àk4Ã`)2ÃÈ/Ã071Ãpñ,Ãð /Ã`50ÃÐL0Ã0À/àé,À}1Ãð‚4ð/ÃÐ^-Ã@X2ÃZ3À.Ã` 3Ê+ÃÐá,Ãpt,À0ÃÐÉ0àH2àé,Ãpb/Ã`5ð-ÃÐR/ÃP2à*7àZ/Ãðˆ3ÃQ.ÃÂ,Ãp\0ð/Ã0O-ÃÀ3à<4à 1Ã@ù,À0ÃÐ.5Ã@í.ÃPÆ;Ã`Ž6ÃÐd,àZ/àr+ÃÐj+Ãð;+Ãã1Ã`2Ã!2À}1ÃÀ1à 1ÃÀä%À0Ãã1à 1ÃÐR/Ã0a*Ã0º0ÃÀ–2ÃÀ+/Ãà)ÃE,À.Ãàg2Ã-0ÃÐÕ.ÃÂ0Ã×3àÑ0Ãû-ÃÐL0Ãð¸+Ã@d0Ãx.Ãàä2ÃÚ,Ã0Ì-Ãpß/Ãðš0ðò1ÃÐ:3ÃP/ÃpÁ4ÃP2ð .à ¥-Ãpë-ÃÀ1.ð3Ã-0Ãp )à 1ä1Ã`)2àf-Ãõ.ÃÀ 4ÃàØ4Æ6Ãû-ä5Ãð¸+Ã`ˆ7Ã9ÃàÌ6À}1à 3Ãð#/à¹4Ãõ.Ã`2Ãà.Ã05à ø4Ãf1Ø7àN1Ã@j/Ã9ÃV>à³5ÃPê5Àk4àN1Ã0Æ.Ãð¬-Ã@ç/ÃÐ:3Ãpµ6Þ2Ã33ÃÀ„5Ã`¾.Ãðš0à o6Ãp\0Ãð4À,Ã3Ã0®2ÃPs4ÃðG)ð]5Ã0´1ð/ÃPð4ÃÐF1Ãðš0à ".à +ÃÀ2ð“,Ãà.ÃÅ6ÃðŽ2à ™/Ãðš0ÃÀÆ*À‰/à ¥-ÃÀ~6à 6Ã@p.Ã!2Ã0O-Ã@á0Ãз3Ãàg2ÃQ.ÃÀ®.Ã@R3Ã-4ÃpÇ3ÃÐÛ-àË1Ãpn-Ã` 3ÃPa7ÃpÍ2ÃK+ÃP2Ãðù5Ãp©8àÑ0àr+à ì6ä1Ã`G-ÃPy3ÃpÓ1Ã@X2ÃpÙ0ÃPs4ð3Ã@p.Ã0I.Ã0+3Àq3À}1ö.Ãr/Ã0Ø+Ã-0À}1Ã`Ê,ÃÐX.Ãðù5Ã` 3Ã`G-ÃP1Ã?1ÃpV1ÃÐ@2À7à i7Àî3à 3à 1ðE9Ãl0à 1Ãð).ÃðA*ðQ7Àq3Ãï/Ã0+3Ã0À/Ãà.ÃÐÃ1ð/Ã`A.àÑ0Ãpµ6ÃpP2Ã7à ™/ÃP2à ‡2Àú1ÃÐd,ÃP -à /ÃÀ5à65àË1Ãðù5à 2ÃÐ"7Ãð /ÃÐÕ.Ã@L4àB3ä1Ãõ.ÃðŽ2Ã0%4àË1Ãã1Ãf1Ãàð0Ã` 3Ãð2ÃPê5Ãð 3Ãæ*Ã`A.Ã@ÿ+Ã`#3Ã0¢4Ã@Ã5Ã`5à³5ÃPÆ;ÃP–CðAÃp?À¬>Ã`ˆ7ä5ÀS8Ãз3Ãðp7à ø4àf-ÃÎ*ÃÀC+Ãð”1ÃT4Ã06Ã`5ÃPg6ðÈ8Ãð”1ÃÎ.ð-Ã@Û1ÃÀ3Ã@Õ2ÃÀ 4Àk4ÃÐX.Ã`#3à ‡2Ã`5Ãp,8Ã@X2àH2Ã` 7Ã0´1ÃPg6À•-Àw2ÃpJ3Ãày/Ãð 3Ã’4Ãð2ÃpÙ0ÃàÞ3À¡+ÃK/à³5Ã0¨3Ãðí7ÃàÞ3Ã@á0Ã@X2ÃàÞ3À.à65ðu1à u5ÃÐ9Ã0¢4Ãð1à­6ÃàÞ3ðþ/ÃPê5ÃPg6ÃÀ~6Ã`ó:ðø0Æ6ðà4Ã0º0à­6àÅ2ÃàI7ðÈ8ÃàO6Ãpë-Ã0´1ÃÀ3à06à ‡2ÃpÇ3Ãð#/Ã’4ðK8ÃÐ44Ãà[4Ãàð0Ã@R3ð3ðc4àN1Ã@";ðE9Ã@(:à:à ì6Ã@·7Ãé0ÃÅ6Ã5à 6ÃpÓ1Ã`)2ÃÀr8ÿ7ÃPÌ:ä1ÀÐ8Ã4ÃpÙ0àB3à c8Ã`Ž6ÃÐ:Ã÷8Ã`#3Ã0Š8Ã69ÃPÒ9ÃPØ8àË1àÝ.Ã'5ÃT4Ãн2à:Ã`ó:Ãð4Ã0®2à§7Ã7Ãp<Ãðó6ù8Ã<8ði3ÃPö3Ã9ÀÜ6ÃÅ6ÃT4Ã4Ãà.ð‡.ÃÀ¨/ðW6ÃpP2ÃT4Ãpz+Àe5ÃÀN>ÃT4ðc4ÃPÌ:Ã05Ãàº9Ã0Š8Ã0U,ÃÀ~6à 3à65ÃŒ5ðÔ6Ãz8ÃГ9ÃЇ;ÃpD4Ã@Õ2Ãðí7ÃГ9ÃpP2Ãt9ðÎ7à 1Ã`ÿ8Ãà%=ðò1à ø4Ã'1Ã0–6ÃÐ.5à þ3àN1à o6ÃÀ„5ðÔ6Ã@48ð9;Ã0¢4ÃÀ„5ÃpÁ4à§7ÃpV1à¹4À_6Ãp:Ãð”1Ã92ÃàÀ8Ã69à É'ðì2à ì6Ãà.à 2Ã@d0à “0ê4ÃAÃ0+3Ãн2Ã’4ÃZ3ðc4ÃÀ¢0Ã0–6Ã`4Ã@í.à ™/ÃÀŠ4ÃÐÉ0Ã!2ÃP1À.Ã0®2Ã'5Ã`6À_6Ã05Ãðš0ÃP2àN1Ã@F5ÃÀ„5ÃpÓ1ðu1ÃP1ÃÐ:3Àk4Ã0–6à “0ÃÐÃ1à×/Ã3Ã'1ÀY7Ãðç8ðà4ÃÐF1ÃÀ 4ÃpP2ÃpP2Ãl0Ã`50Ãf1ÃÐÕ.Ãð4Ãàê1Ãà¨<ÃPÌ:ð]5Ã7Ãz8ÃPg6Ãð²,ÃÂ0Ãð¦.Ã'1ÃÀ3à 3Ã`G-Ã'1Ãé0ÃT4À0Ã@^1ðò1ÃP2ÃÀ5Ã0´1ð+Ãà.Ãðv6ÃÐ.5à¹4Àw2Ãð¬-Þ2ÃÐ^-ÃpÙ0Ãpå.Ã`¬1Ãн2Àk4ÃÐ ;Ã`Ž6Ã-0Ãp©8ÃÑ4ÃPü2à­6Ã`¸/Àî3Ã0¨3à /ÃK/Ãàs0ð{0ÃÐ:3ÀY7ð{0ÃàÒ5À›,Ã'1Ã*Ãàä2ði3à (-Ãû-ÃPü2ÃÀ~6Ã@Ï3Ãà…-àé,à (-Àƒ0ÃÑ4Ã`#3À•-Ã@ç/ÃE0ð .Ã071Ãð2Àâ5ÃÀ5Ã@Õ2ÃÀ7-ÃÐ@2Ã3/ÃÐ:3Ãàa3ÃÀ~6ÃPü2Ãðó6Ã5Ã-ð/Ã0®2ÃÐÉ0Ãõ.ÃðÜ%Ãð#/àõ*Ãpß/Ãï/Ãr/Ã@X2ÃP2ÃÀº,Ãàa3ÃÔ-àÅ2ÃÐí*ÃÝ2Ã~-ÃpÙ0Ã`Ä-ÃÀœ1ðo2àT0Ã0º0Ãн2Ãð1Ãf1Ãë:Ãpt,Ãl0Ã@ù,à`.àÅ2àË1Ã@Ž)ÃÀ¨/Ã5ÃÐ@2ÃÐ:Ã’8à 3Ã@í.Ã`)2ö2ÃP1àT0ð‡.ÃÐ44Ãð/-ÃpÙ0àÑ0ÃÐ:Ã` 7ð/Ã`)2à «,ð¥)à 2àr+Ãð²,ði3ÃZ3à þ3ÃÀ5Àè4ÃÀ=,ÃðS'Ãpt,ÃpÓ1ÃÀ1Ã`2ÃÀœ1Ãðí7ÃÐX.Ãc'ÃPÁ'Ã`¦2Ã?1Ã@Õ2ðE9Ê+ÃÈ/ê0ö.ÃЫ5Ã0O-à ™/ä1Æ6Ãl0Ãð /Ã3Ãpå.ð“,ð/à .,Ãp\0ÃÐÕ.Ãà…-ÃE0Ãðù5Ã` 7à (-ÃPð4Ãà.ð/àl,ÃŒ5Ã7ÃÐÉ0ÃPa7Ã`2Ã@Õ2ÃÂ,Ãpå.à<4à9ÃP2ðì2ÃÐ(6Ãð|5Ã0´1Ãð‚4àï+Ã0+3à ø4ÃË5Ãð 3ÃP0Ãðv6à u5ÃÐÏ/ð-ð‡.à¡8ÃP[8ÃÝ2à:Ãðv6ÃÐ.5à•:ÃÐ.5à ò5ð™+ÃpJ3Ãàð0ÃÂ0Ãf1Ã0œ5ÃðÕ;ÃpÓ1à ".Ã’4Ã×3Ã@@6Ã`6ÃPü2Ã@F5ÃPU9ðÂ9ÃÀÑ=Ã@";Ãß<ÃÐ:Ãh;à c8Ã0TAÃà%=Ã0ã>ð?:ÃPÌ:ÃÐ<Ã@@6Ãp?ÃÐo?Ã`·DÃ0NBÃDAàeBÃP~Gð¤>Ãà+<ðŒBà EÃDAÃôCÃð:@ÃPBÃÐQDÃÙ=à ªAðÙJÃpÒFÃ0ÑAÃÀH?ÃÀÃ@ ?À DÃð HÀˆDÃ`±EÃð±AÃ0f>ÃÀ6BÃ}BÃPxHÃ@!Pà}>ÃàrEÃ2DÃ@oCûBÃ0HCÃqDÃÀ•GÃ`·DÃ@‡?Ã?Ã`:DÃÐÚBà Ú9à @ÃÐ]BÃ`(GÃð.BÃpy@ÃÐø=ÃÐu>ÃôCÃ0Ý?ðÓKÃ@‡?Ãb@Ãàœ>ÃpgCÃÀN>à_CÀM9Ãp<ÃPDÃà„BÃ`|9Ãp&9Ãð^:ÃÐò>ÃÀ¿@á<Ã@=Ãpy@Ãh?Ã0×@ÃÀf:ÃÓ>ÃÐWCÀ”Bà ¶?Ã0õ;ÃÀf:à Â=Ã@iDÃÐàAÃP==à @ð CÃ`ç<Ãà>àeBÃ=Ã0ÅCà FÃàBà Î;Ã0„9ðž?à=À¦?Ã`ÿ8Ã`¥GÃà AðDÃîDÃÐæ@Ã@uBàw?É@à;ÃPÌ:Û=Ã@>á<ÃwCÃPÀ<ÃÐo?ÃÙ=Ã`í;ÃÀ¿@Ãp—;ð!?ÃðL=ÀBÃpy@ÃÐo?à ¶?ÃÐu>ÃúBÃ@@Ãb@à 9?ÃP1?ÃpgCÃ`|9à ?>à ’EÃðÃ>ÃPº=ÀCÃÀ¹AÃ@<Ã0×@í:à:ÃPU9Ãà%=Ã`p;ÃP[8À_6Ã0ËBÃp?ÃpOGÀÄ:Ãp=Ãb@Ã`|9ÃP¢Að¶;ðÂ9Ãp‹=à 'BÃP==ÃÀl9ð’AÃå?Ãà>Ãt=à 9?Ãp—;ÃÀ`;à:àw?ÃP´>Ã0x;Ã@‡?ÃàŠAÃ`í;ÃV>ÃŒ9Ã0~:ÃÐ:à$8ÀA;Õ>Ã@{AÃPBà‰<Ã@‡?Ãð:@Ã`Û>ðÈ8à Â=Ãß<ÀG:Ãà%=Ã`d=Ãp:Ã`Û>ÃÀ¹AÃ0é=Ã`j<ÃP7>Ãð:@á<ð¶;Ãp…>Ã`í;Ã`á=Ãå;Ãðd9Ãð^:Ãp86ÃÀ¿@Ã07ÃPa7Æ:ÃÀ×<Ãp<À7Ã07ÃÐø=ÃÀÅ?Ã0x;Ãð@?Ãðá9Ã0l=ÃÐ8ó9ÃPÀ<Ã0x;ÃPO:à•:Ãp=Ã`ç<ù8ÃÐ<à§7Ãð4AÃÀã:ÀÊ9ÃPI;ÃPÌ:Ã`d=Ãà¢=ÃPO:Ãt9àeBÃ`Ï@Ã@.9ÃГ9Ãð.Bà !CÃàº9Ãp,8Ã09à @à:à Â=À¬>Ã`‚8ÃÀf:ÃÐ:ÃàÌ6Ãpµ6Ãðù5Ãp,8Ãn:ð¼:ÃPC<Ãå;à -AÃp;ÃPC<ÃЫ5Ãðç8Ã@«9ÀG:Ã0x;ó9Ãðù5ÃàC8à¿3Þ2à ?>Ãp<Ãp‘<Ã*;Ãà¢=à;Ã*;Ãb<Ãz<Ãt=ÃÓ>ÃÀõ7ÃÐKEÃÀH?Ãñ9Ã09Ã` 3ÃðX;ÃðÃ>À5=ÀÄ:Ã`5à Î;Ãà–?Ã` 7Ãß<Ã`FBð¤>ÃàÆ7Ã3Ã0:ðÂ9ð¼:ÃÐ9Ãp£9ÀÜ6Ãð2ÃPm5Ã0Š8Ã$<ðž?Ãp>ÃN5Ãp\0ÃÀl9ðÔ6Ã’8à*7Ã`8Ã0û:Ã'5ÃÀû6ÃÀ6ÀÜ6Ã`š4à 6Ãðj8í:à¡8ÃP¨@ÃÀï8àT0ÃÐ:ÃÀé9Ã5ÃÐ@2à;à9ðc4ÃÈ/Ãý7Ãñ9À7ÀS8ÃГ9Àô2ÃPm5ÃÐ¥6ÃÐ9ÀÜ6àH2Ã0œ5ÃÅ6Ãp>5Ãð‚4ÃpD4à:Ã`Û>Ã@.9ÃÀû6Ã7À¸<ÀA;Ã@@ÃP´>ÃЇ;à ø4Ã0l=ÃPØ8Ãp86àH2à Î;Ãñ9ÃP[8à o6Ã0:ÃÀ¿@Ã0õ;à$8à9ÃPs4ðK8Ã@<ÀÊ9à ]9Ãp‘<Ãàa3ù8Ãå;Ã`#3ä1ðo2à§7à;ðE9ÃðÉ=Ãñ9ðª=ÃPÒ9Ã0¨3ÃЇ;ðæ3ÃðÛ:Ã0 8Ã0–6Ã@Õ2ó9Ã`j<Ã0:à­6ðÈ8ÃÀT=Ã0ã>Ã@¥:Ãðd9Ã0%4ðQ7Ãðj8ÃPg6ÃPØ8Ãð1Ãàa3É@À¾;Ã@«9ÃÀf:Ãðù5Ã05Ãb<ÃÀr8ÃÀr8Ã0:Ã`^>Ã`‚8Þ6ÃÐ.5Ã?1ÃÀŠ4ðÈ8àƒ=Ãï/àZ/Ãp :Ãà+<ÃÀÅ?àB3à c8Ãp¯7Ã`ˆ7ÃB7Ã05Ãp27Ãàº9ÃÐ"7ðE9à­6ðc4ÃH6ÃPC<ð'>Ã`ó:Ã@½6ÃðÛ:ÃàU5à æ7Àâ5ÃP…1Þ2ÃàÌ6Ã0`?ðì2Ãàm1Ã`¦2Ãðç8Ãp>5Ã0–6Ã÷<Ã@«9Ã@½6ÃÀf:ðW6ÀÊ9ÃÐ"7Ã0Z@Ã@¥:Ã`‚8Ãð^:Ãp&9ÃЫ5ÃÀ5Ãð^:Ã`í;ÃP[8Ã$<Ã@«9Ã`”5à¡8ÃÀ¨/ü1ÃPö3Ã@<à c8ÃpÙ0àƒ=ÃàC8Ã@R3Ãn:Ãб4ÃÎ*Ã0%4Ã`p;Ã`ˆ7Ã`‚8Ã`6ÃÀ3Ã`Ž6ÃPä6Ãà–?ÃŒ9ÃàÆ7à 6à 2Ã`ˆ7Ãn:Ãpµ6Ãз3Ã7Ãðj8ÃÀ 4ÃÀé9Ã`2ÃÀl9Ã@Û1ÃpÍ2à65Ã@Õ2ðÎ7ÃH6ÃPä6Ã@¥:ðo2ù8ÀG:à ò5ð3Ãà[4Ã!6ði3Ãð‚4Ã@@Ãp>5Ãðç8ÃÀf:Ãý7à65Ãðá9Ã@>Ãðv6Ãpn-Ãð0à*7Ã'1Ã@F5ä5ÃÂ0Þ2Ãðó6Ã`#3Ã`”5ðo2Ãð^:à›9ÃÐ"7ÃPð4Ãà=9à­6Ã07à06Ãà=9Ã7Ãz8ü1Ã` 7À}1à ".Ãp>5Ã0¢4à o6Ãð /Ã0º0ÃpP2ÃÀ2Ã!6ÃH6Ã@48Ã5Ã!6Ãðp7Ã09ÃÝ2ÃP1Ã`”5à ‡2Ã0Æ.Ã×3Ãð4ðW6à u5Æ6À;à65Ã3/ÃÀŠ4Ã0~:Ø7ðc4ð{0Àè4à 2Ã071àB3ÃàÒ5ÃÀ 4à 3ÃT4Ãàm1Ãp86ÃÀr8Ãб4ðE9ÃÀõ7Ãp27ðø0Ã!2Ã?1à þ3ÃГ9Ã@·7Ã0 8ÃÐL0ÃH6ðÔ6Ã`Ž6ðà4ÃÐ(6Ã@X2À_6ÃàÒ5à u5Ã0–6ðø0à ø4ÃpD4ðo2Ãp86Ãð¬-Ã09ð3ÃË5à§7À}1ÃH6ÃÀ~6ÃàÌ6ÃÐÛ-Ã0~:Ãðá9à¡8ÃpP2ðÈ8à<4Ã`¬1à 1Ã`‚8ÃPg6ð]5Ã`ÿ8Ã0 8Ã×3ö2Ãà=9Ã69Ã`š4ÃPö3ð]5ÃÀ„5ÃÀ6Ã@¥:ÃÀõ7Ã`Ž6ÃàU5ÃàÒ5à þ3Ãз3Ã`ó:Ãp&9ÃàØ4Ã69Ãp?ðK8ðæ3Ã@±8àõ*Ãð/-Ã0º0Ã`²0ÃP1ÃàC8Ãð1Ãð‚4Ãz8ÀS8à9ÃÑ4ðÔ6ÃZ3Ãé0Þ2ÃÐ:3ÃP1Ã0–6Ã?1ÃÐ:3Ãàa3ðo2Ã@ç/ðW6Àk4ÃÑ4À‰/ÃZ3ði3à 6Ãpn-ÃàU5Ã’4à¹4Ã071ÃÐ44Ãà[4ÃÀ3Àâ5Àe5ÃÀ3Ã` 7àB3À.Ã`)2Ã@Ï3Ã8Ãàü.ÃP1ÃpP2ÃÀ2ðu1Ã@Û1Ãàg2Ãð4ÃPü2ÃN5Ãð0Ã0+3Ãð‚4ÃÐÉ0Ã0À/Ãðí7ÃÀû6ê4ÃÀ6ä1Àƒ0ðo2ÃPê5Ãã1ÃÀ®.ÃÀû6Ã0%4ÃàØ4àT0ÃPs4ð9;ÃÐ:Ã05ÃB7ÃPa7ÃàÌ6ÃPI;Ã@“=Ã0„9Ã`d=ûBàw?Ãð@?ð˜@Ã`ÉAà$8à u5ÃP®?Ã`^>Ã@@ûBà ¤BÃàZIÃP1?Ã`ÃBà °@Ã`·DàYDÃ,EÃ8GÃàûCûBÃ0¿Dð€DÃ0§HÃ0qQÀùFÃèEÀ^KÃb@ÃÐ<Ã0BDÃ`KÃàÑJÃÓBà5JÃÀHÃ@àEÃ@ÈIÃИMÀRMÃ@æDà¸IÃPõHð,RÃàÑJÀpHÃÖHÃÀƒJÃÐ3IÃgPðÓKÃÞQÃИMÃð°VàùSà ñJðÇMÃà*QÃ0›JÃðæMÃp=JÃP³SÃ`MÃÀÐRÚRÀ·QÃÀGTÃÐ PÃ0ôPÃPZMÃÐNÃ0_TàvTÃgTà 2UÃÀ_PÃyQÀ“WðVÃäPà^XÃð[à ¯UÃCZÃàÜ]àíUàóTÀŸUÃ@’Rà ÁRÃ@Uð—Uð…XÃPXÃíYà ‘Zú[ÃmSÃ0qQÃ@†TÃŽTÃÒWÃ@ñWàùSÃð3VÃð’[ÃPWÃÐzRÃ@ªNà YÃ`¼XÃ@÷VÃÀ²WÃP ZÃ]ÃpõUÃ@>`Ã`¤\à ‹[ÃàwYÃð¼TÃ0)]Ã^\Ã%[ÃÐ8]ÃàƒWÀi^ðYÃл\Ã`¼XàXYÃе]À‡YÃêSÃpfXÀì]ÃpË\Ã@nXÃ`ª[à [cÃ`-[à:^à XàÉ[à.`Ã0‚cÃ`'\àXYðTÃðªWÃàXÃ@ñWÃP[Ãá[ÀWaàÃ\à YÃ@ TÃPú\à \ÃÐ2^ÃÀ/XÃ0²[Ã0¾YÃÐ\WÀu\ÃÒWÃÐ\WÃÀ¾Uà XÃ@÷VÃÀZÃ`?XÃpûTðVÃàXÃ0ÐVàÕYÃÀ‚_ÀWÀ‡YÃ@nXà ÁRÃ`QUÃpÝYÀþZÃ^Ãp`YÃÀ/XÀ¥TÀ¥TÃ0YUðYÃ=WÀWÃàqZà ZÃp¿^ðm\ÃP[ÃVÃ@UÃ=WÃ`ÂWà XÃÐtSð‘VÃ`WTÃÐVXÃp`YðUÃp`YÃðZÃÀ5WÃðÈRÃ`àRÀZà _ÃUWà >SÃ`àRÃ@ýUÃðªWÃÆYÃ|WôXÃ[VÃpQàÛXÃP\ÃðZà 8TÃ@ëXÃ@ëXÃÀâOÃ0‰MÃÐnTàáWÃÞUÔSÃЀQÃð°VÃ0;ZÃ05[ÃÐñSÃPBQÃ@†TÃðRÃàTÃ0YUÃ@SÃ@RÃP×MÃÐŒOÃÆUÃP\Ãà•TÃàúXð…XÃ`øNÃà VÃ0kRÃŽTÃpQÃmSðVÃpYÃŽTÃ`ÔTÃ@†TÃà§Qà &WÃ@÷VÃ`æQÃaQÃ@QÃÀÜPà ¯UÃ`WTÃ`ÔTÃðÚOÃÐOÃðÚOÃà§QÃà¡RÃà³OÃüPÃP§UàOàùSÃ`iQÃ@ýUîYÃ`ÈVÃpéWÃÐ’NÃLÃð-Wà ÍPÃ`iQÃêOÃgPÃmOÃðàNà DRÃÐnTÃŽTÃ`{NÃpxUÃ`òOÃäPÃÐMÃ0kRÃ@¤OÃÐNðJMÃpPÔSÃP›WðTÃ`KÃà³OÃÀôLÃàƒWæPð8PÃðÂSÃP×MÀ·QÃ0 MÃKÃ0›JËJÃð¼TÃLÃðÚOÃðàNÃàBMÃ0 MÃ/OÃ0kRøMÃ0NÃIÃÐ3IÃ`ŸHÃà×IÃ0KÃöMÃpPÃð9UÃÀîMÃжHà ÷IÃÀ_Pà hLðÓKÃÖHÃpÒFÑIà tJÃаIÃ@!PæPÃðWPÃ@ÂJÃÐMÃàNKÀçI×HÃALÀRMÀÛKÃ`JÃð]OðµPÃ`ÚSÃsNÃ@-NÃ`ŸHÃ`oPÃðFÃ00GÃÐEFÃpºJÃ0}Oà¦LÃИMÃðæMà ÓOÃðcNÔSÃP`LÃð{JðåHÀÿEËJÃ@EJÃ` LÃÀúKÃÐŒOÃà¹NÃpºJà MÃPfKÃÀúKÃp®LÃ@QHÃðøJÃHÃàÅLÃÐ3IÀEãFÃ8GÃp¨MÃ@ÔGÃpÞDÃ…OÃÐWCÃPãKÃüLÃ@¶LÀvGÃÐàAÃ`±EÃ`FBÃGÃkEÃÀ0CÃÐ'KÀùFÃàõDéEÃðEÃ0$IÃðòKÃÐEFðhHÃ@‡?ÃP~GÃ`ÃBÃPCÃüLÃà×Ið!?ðýDðÙJÃÁEÃpgCÃ0×@à FÃ@æDÕ>ÃP1?à €HÀ|FÃpUFÃ>FÃpmBà <ÃжHÃð«BÃPBÃжHÃÀ}KÃSIàGGÃ@ÎHð†CÃ@{AÃðFÃà`HÃðIÃ0¿DÃÁAÃpÌGÃ@ÚFÀvGÃÐÈEàkAÃ`R@ÃBÀ @ÃÀÅ?Ã@QHÃDEÃP¢AÃÀN>Ã`±EÃ@ÔGÃàfGÃ@iDÃà–?Ãß<Ã@uBðDÃñ=ÃÀH?ðzEà @à !CÃÀFÃ\=Ãà~CÃÐi@ÃÐ{=Ã,EÃàŠAÃP`LÃð¥Cð?:ÃÀã:àq@Ã`.FÃÀl9Ã?àô?Ãà>ÀBÃÐKEÃð(Cð÷EÃ0Ý?ÃpðAÃà´:à Î;ÃðÉ=Ã@@Ãà~Cð°<Ã0×@Ãb@àú>Ã0f>Ã@]FÃpsAð'>ÃAÃJDðª=ÃPa7ÃAÃÀ­Cà>ÃÍ?Ã0ËBÃð«BÀ¦?ÃPU9Ãà Aàƒ=àkAÃP?ÃÐWCÃ@iDÃPBÃpaDÀ @À/>Ã`p;à‰<Ãp‹=Õ>ÃÀ§DÃP EÀ”BÃ`^>À²=ÀˆDÃ@cEÃ`ÉAàeBð¤>Ãà@Ãp¯7Ãp—;ðDÃpaDÃ`p;ù8Ã*;à E=ÃPDÃP+@ÃÀ`;ÃÀB@Ã`@Cà ¶?Ã`½CÃP¨@Ã0×@Ã0é=Ã0„9ÃÓBÃ&FÃP Eðž?Ã@“=Ãp[EÃ0TAð’AÃ@{AÃ`X?Ãà®;Ãà@ÃpØEÃ÷8Ãð¥Cð@Ãð½?ÃÀÅ?ÃàŠAðÂ9ð CàkAÃ\=Ãp :ÃP1?Ãðv6Ã`FBÃP®?ÃÀN>à °@Ãà¨<Ã`Õ?ðAÃÀÅ?ÃP–CÃ\=ÃðÏ<À;<ÃP1?Ã÷<ÃÐæ@ÃÐÚBÃÐ]BÃðL=Ã`ÃBÃÀÑ=Õ>à=à<4Ãå;ÃàC8àèAÃð·@à 'BÃ0é=Ãb<à}>À¦?Ãz<ÃÐi@Ã`@CÃ`X?Ãðç8ÃÀ¿@Ã0ËBÃë:ÃpðAÃЀQÃà¿MÃ@3MÃPxHàèAð9;ðDÃÇ@ÃðÕ;Ãà>Ãz8À7Ã`‚8Ãàœ>Ã}BÃAÃÇ@Ãð·@Ãð™EÃpðAÀˆDõCÃPº=ÃÙ=Ã`Õ?ÃÀû6ðBðª=à ¶?ÃBðÂ9Ãp&9Ãð^:Ø7Ãð«BÃ$<À;à ?>Ãp\0Ãp:ü1à ]9Ã0û:ç;À¾;Ãðv6ÃÀË>Ã`:DÃ÷<ÃPÆ;ð'>Ã0õ;ÃÐò>Ãp27à u5ÃàÀ8ÃPÌ:ÃúBðª=Ã`ç<Ã0„9Ã0Š8ðE9ÃÀÑ=Ã0l=à æ7à ¼>Ã9ð¼:à i7Ãý;Ã@<Ãðí7à Ú9Ãðv6Ãà>àƒ=Ã@±8à W:ðQ7Ã0Š8Àq3ÀÄ:ðK8ðÔ6À)?Ãð|5Ã0û:ÃÀf:à;ÃÐ@2ÃÀ×<ÃÐ{=Ã@±8ÃÐ8ÃPê5Ãp>ÿ7ÿ7Ã@¥:ÃP[8ÃPa7ÃЙ8ÃPI;Ã$<Ãp:ÃpÁ4Ãt=Ø3Ã`|9à à8Ã@";Ãðá9à9Ã÷<à ò5ð?:í:ÃÀT=Ãp=à þ3ÃPC<ðK8à;ÃP[8à ¼>ðÈ8ÃÀN>ð¼:Ã`j<Ã@>ÃÀx7ÃÀï8Ã06ÀÜ6Ã`ˆ7Ãp»5à à8à ‡2ó9Ã@™<Ã`5Ã0¢4Ãà?ÃÀf:ÃðÉ=Ã÷8ÃЫ5Àâ5ðE9ÃpÁ4ó9Ãðá9Ã@ ?Ã`‚8Ã`ˆ7ðæ3Ã`ÿ8á<Ø7à*7à ì6Ãt9Ã`Û>à;ÃàØ4Ãðá9Ã@·7Ãp,8Ã05ÃÀŠ4ÃPü2à <Ø7Ã0:ÃPC<Ã@d0ÃpP2à ò5Ã`6ÃP1?Ã’8Ã7ðK8Ã0Š8à æ7Ãp,8Ãðj8Ø3ÃàO6Ãðó6Ã0+3ðc4ÃàO6Ãðó6Ãp¯7Ãð‚4àB3ÃÀx7ðÂ9ÃЇ;Ã06ÃÑ4Ãà¨<ÃÀ6BÃÀ6Ã`ˆ7à o6Ãp&9ðþ/Ã`š4ÃÀ1ÃÀx7ÃÝ2à*7ð¼:ÃÀõ7ðW6ÃPä6Àq3ÃÐÏ/Ã@:7à 0à u5Ã@½6Ã×3Ã@(:àN1á<Ãp27à:ð]5Ã’8Ã92à06Ã69ð¼:ÃàU5ÃPy3Ãl0ÃÐ@2À7à¹4à­6Ãà%=ù8ðW6Ã012Ãðó6ÃÀœ1à<4ðÚ5ÃàÀ8ÃP[8Ãp»5ÃàÞ3Àè4Ã`5Ãp©8Ã` 7Ãû-ÃPy3Ã@Ã5ÃÀ6Ã0¨3Ã`²0Ã@";Ã07ÃÐ8Ã`2Ã3/Ãð#/ÃP2ÃpÍ2ÃàC8Ã0+3Ã'5Æ6Ãp©8ÃÂ,à¹4Ãðó6Ã@F5à=Ã@<à à8ÃB7Ã`6ä5à*7àÑ0Ã`50Ã@@6Ãý7Ã0´1ÃàU5ÃPs4Ã@Ã5Ã0%4à*7Ãðù5Ã012Ã`ù9À5=ð .à o6Ãp>5ÃpÁ4Ãð4ÃPs4Ãð#/À1à “0Àq3ÃàU5ÃPê5ÃZ3ÃÀÝ;à þ3ð?:ÃÀx7Ãà7:ÃÀ„5Ãàa3Àq3à65Ã0~:Ãðí7ðæ3ê4ÃÐ"7ÃàÀ8ÀÜ6Ãà´:Ãà[4Ã0º0À1à§7Ã@Ã5à 6ðW6Ã7ÿ7ÃÐÃ1Àè4ÃpD4Ãð /Ã@F5ÃÐ(6à³5ð¶;ÃPm5ÃÀœ1ÃÐ^-à 2ÃÝ2Ã`Ž6Ãð).Ãà[4ÃÐ9Ãà1;Ãðÿ4à ¥-à;Ã7Ã`š4Àî3ÃÀ3ði3ðì2Ãp—;ÃpD4à¹4ÃðX;Ãðí7Ã@:7à u5Àô2Ãp>5à o6ðK8Ãб4Ã<8ÃZ3ÃpV1ÀA;Ã’8ö2ÃÐ.5ÀÐ8ÃpJ3ÃP1Ã`¸/ÃðŽ2Ã`š4Ã`5Ãh;Ã0:Ã@«9ðQ7Ã@Û1Ã`”5Ã07ÃÐ@2Ãï/ÃÐX.Ã5à 3Ã?1Ã’4Ã@Õ2Æ6ÃðŽ2ÃàO6ÃЫ5ÃpÍ2ÃpJ3ÃZ3Ã0=0Ãp¯7Ã@:7ÃÐÏ/ÀÜ6ÃÀé9ðÂ9Ã$<ÃÀû6Ã92ÃÀ6ÃàC8Ã`Ž6ÃÀx7Ã5Ã3Ãà‹,Ã0a*ÃP…1à*7Ã0+3Ãб4ÃT4ÃN5à ì6Ã0´1Ã`Ž6ÃÀ–2ÃPð4Ãб4Ã07ÃP0Ã`¦2ÃPä6Ãàê1ÃN5À}1ÀY7Ãp86ÀÐ8à 6ÃPs4Ãp :Ã!6ÀG:Ãp,8à§7ÿ7ÃÐ.5Ãpµ6Ãðp7Ø3ÃPÞ7à 6ðo2Ã7ÀÜ6Ã`;/à ò5à u5Ã8ÃàÞ3à ‡2Ãp,8Ãz8Ãðó6Ã@±8Ãpß/Ã5Ã07Ã$<Ãp»5À›,ðÂ9ÃpÓ1Ãï/Ã-0Ã012à­6à i7Ãp27ÃÀ3à 1à 0Ã` 3ÃÐ¥6ù8ÃàU5Ãàm1ÃÐ(6ÃÐ"7Ã7Ã` 3Ãàa3ÃpJ3à§7Ã@Õ2ÃPü2Ã3Ãf1À0Ãû-Ãpå.Àw2ÃpÙ0ÃÝ2ðK8à ì6ðæ3Ã`2Ãàa3Ã3ÃpD4Ãб4ÃÐ(6ÃPs4àH2Ã0+3Ãày/Ãp,8Ã$<Ãàä2Ãp»5Àw2Ã@Ï3à 1ÃÀ„5ÃPö3Ã07Ãð”1ÃÐ ;Ãðˆ3Ã0%4Ã0¨3ÃPs4ÃÐÃ1Ã09Ã0®2à¿3Ã`#3ðu1Ãð|5à­6Ãpß/ÃÐÏ/ÃB7ÃÀã:Ø3àT0ÃàØ4Ã`2ÃÐÕ.ðu1Ãàö/ÃPê5À‰/Ãð2àT0ÃŒ5ÃZ3Ã`50à*7ÃP1àZ/ðu1Ã`Ž6ÃЫ5ÃÀ–2ÃpÇ3Ã3Ã~-ði3à$8ÃÐR/ÃPö3Ãx.à ‡2Ãàs0ÃPa7ä1À /Ãp¯7ðà4ÃÐÏ/ÃP&,ÃÐ^-Ã-4Àô2ðÚ5Ãàº9ÃàØ4Ãàº9Ã@F5ÀÐ8ÃÀx7Ãб4ÃÐL0Ãðÿ4à 6Ãðp7Ã0®2ðÈ8Ã3ÃQ.Ãà.ÃÀ„5Ãð1Ãl0ÃP2ði3ÃÐ¥6Ã`5Ã0Ì-ÃPa7ÃÀ2Ã?1Àî3ÃÀ%0àË1Ø3ä1Àô2À /à<4à ".Ãàg2À.Ã@ç/Ã`¸/Ãàg2Æ6Ãà[4ðì2àï+Ãï/ðQ7ÃP.Ãðç8ÃÀ~6Ãà+à ±+Ãà-àr+ÃÐÉ0Ãð|5àB3Ã!2Ã92Ã`2Ã`2Ã@p.à×/Ã@Û1ÃB7ÃP‘/Ã@Õ2Ã0=0ÃÐÛ-ü1àl,ê4ÃÝ2ÃK/À‰/Ã@ç/Ãðÿ4Ãà+À}1ÃPC<Ã` 7Àe5à 3ðŸ*ðì2Ã`¦2Ãð|5ÃÀ3ÃP2*Ã÷<ÃÐF1Ã`ù9ÃPÞ7Ã3/Ã@š'Ã071ÃpÍ2à þ3Ãàð0Ã@d0ÃÐF1Ãp£9ÃÐ(6Ãðš0ÃP2àË1à 1ÃpP2àN1à¿3ÃàU5àã-Ã@ó-Ã33à W:ðW6Ã×3ÃK/ð-Ãp\0Ãà[4Ãð/-Ãð1ÃÀ+/à65Ã`”5ÃpP2ÃP1ðì2ÃP‘/ðì2à*7ÃÐj+ÃP/Ãàº9ðo2ÃPö3à 6ÃÐX.àË1ÃÑ4Ãà )Ã`;/ÃpÙ0à 0Ã`”5à 2ÃÀZ<Àè4Ã`¸/Ã0À/à 6Ãp86à ø4à 3Ãð4Ã`#3Ãð2àZ/ÃPö3Ã`¬1ð-ð/Ãð 3Ã0 8ðu1Ãàs0ÃÐ44Ã@X2àÅ2Ã012ÃT4àN1Ãàð0ÃPö3À1ÃàØ4ÃPa7Ã33ÃK/À.ÃPs4ü-ê0Ãp\0Ãp¯7Ã8ÃpÁ4ð/ü1à 0ÃÀx7ÃÀ5ÃàÞ3Ã0œ5Ã0®2ÃÀ1.ÃP-àN1Ãp\0à æ7ÃÀ2ðþ/ÃÐd,Ã0Æ.Ã`8Ã@F5ðo2Àw2à 3ð“,à (-ÃpÍ2Àk4ÃЙ8ÃÐL0à Ÿ.Ã`ó:Ãï/Ã@d0Ã`50À.Ãr/Ãð 3Ã@X2à “0Ã0Æ.Ã÷8ÃPm5ði3Ãð /Ã@|,Ã@í.à /Ã`M,ðì2Ã@@6Ã@R3ÃP1ÃÀ2Ãàm1à “0Ã0+3ÃpV1ÃÀ„5àr+À-ÃPµ)ðò1Ã7Ã@F5ÃðŽ2Ã`š4à 1ÃP2ÃP…1ÃÐÏ/ÃÂ,ÃT4Ã3à 1Ã`_)ð/À1ÃÐá,Ãðš0ÃÀ+/Ãph.Ã@p.Ãð¦.Àâ5Ã0U,ÃÐÃ1Ã0=0à ™/ÃpD4Ãàö/Ãõ.ÃpP2Ã?1à¿3Ãð‚4Ã4Ã@^1Ã012ÃÀ1ðà4ÃP2à 0Ã`ˆ7Ãð /ÃÐÃ1Ã`¦2ÃÂ0Ã05àË1à /Ã`4ð/àÅ2Ãðó6àB3Ã0C/Ãà—*Ã-Ã`²0ÃpÇ3ä5Ã@X2ÃÀÆ*Ã'1Ã*Ãð/-Ã`ô%ÃP—.ÃP…1ð/Ã3/Ãàö/Ãð2Ã@Ï3ð/Ãð#/Ãf1ÃP&,Ê+Ã4Ã@R3ÃP/àN1Ã`M,àH2Ã@R3à65ðo2àB3Ãð²,Ãàê1à ø4Ã`k'ÃPÒ9Ãðó6Ãà+ÃP»(ÃÚ(Ãб4Ã@Ï3ÃpÙ0ÃÐF1à 0à /ðø0ÃPü2Ãu(Ãð¬-à ¼>À#@à ò5Ã-4Ãàm1à 4+àË1à Î;Àw2ÃÀ´-Ãðš0Ãf1ÃÀœ1Ãð#/Ã@d0Ã0=0Ã0%4Ã` 7Ãà[4ÃP2ÃpÙ0Àô2Ã5Ãð).à i7Ã33Ã`¦2ðu1Ãà[4ÃÀ¨/Ã`Ü)Ã05Ã`/1ÃP.À,à Ÿ.à65Ã'1ö2à ".Ãð/-Ã92Ã5Ãð).Ã0´1ÃP1ÃÔ)ÃÐv)àf-Ã0Ò,ÃÔ-ð{0ÃpD4Ãð/-Ã012àË1Ãð1ÃQ.Ãà&(Ãà+ðæ3Ãз3Ø3ÃpÓ1Ãpñ,Ã0Ø+ÃÀØ'àÝ.ÃÂ0Ã@+Ãàs0Ã33ÃÎ.Ãà.ÃÀ1.Ãð4Ãà+ÃK/Ãpë-Ãpý*Ãð¸+à Ÿ.ÃÐX.Ãp )Ãð/-ÃP—.Ãp\0ÃÀÀ+Ãð²,ÃÀ¢0Ã@Û1À•-Ã`²0À}1ð/à .,àx*ÃP/Àî3Ã0Ì-Ãpý*Ã@p.à ±+ð/Ã`2àã-ÃÀ=,Ã@ *Ã@^1ÃPµ)ê0Ãà'àé,ÃÐF1àZ/Ãc+ÃÐv)À,Ãð”1Ãàä2Ãf1Ã5Ãà‹,Ãð¦.à F(ÃP—.ð/ð/Ãpt,Ã012Ãð0Ãð).À§*Ã`Ê,ÃÀ1ðc4ð‡.ÃQ.Ã)ð“,à ™/ðø0Ãн2ÃÀ+/ÃÐX.ÃÐX.Ã`A.à)Ã0º0ÃÀ1Ãpå.ÃÎ.À<'Ãàö/àÝ.àB3Ã`6Ãx.àã-Ã0À/Ãàð0ðŸ*Ãð¦.Ã92Ã0I.ÃÈ+ÃP>(Ã`Ö*Ãà*Ã@v-ÃÀO)ðþ/Ã0¢4àË1Ã@Ã5Ãðÿ4Ã’4Ãðù5à þ3Ãàg2ÃPy3ÃЫ5ÃQ.ÃÐ"7ê4À}1Ã-4ÃP-ðu1À1Ãà[4ÃÐÏ/ÃГ9à06Ã@|,Ãc+ðu1Ãàö/ÃÂ0Ã0¢4Ã012àZ/à ò5Ã×3Ãàð0Ã0O-Ã@ç/ÃpD4ÀÜ6ÃÀ~6Ãý7Ãðí7ü1à :Ãðí7ÃpJ3ð{0Ãp÷+Ãà+à (-Ãp27ÃàO6ÃÀx7Ãðù5ÃpÙ0Ã@á0ù8Ã0+3Ã@ó-Ã`í;ÃàO6Ãàg2ðK8ÃÅ6Ãh;ÃPê5Ãðv6Ã`‚8Ã-4Ãàa3ÃH6ÃPö3ÃГ9ÀÖ7Ã`2Ãp86Ãp<Ãðí7Ã`²0ÃpÇ3ÃÀT=ÃЙ8ÃŒ9ÃN5à “0à 4+Ãðˆ3à i7Ã0+3ö2Ãð|5ÃÐL0Ã`5Ãp;ÃÐ"7Ã@Õ2ÃÀ6Ã`Û>ð]5Ãf1Ãà+ü-à ò5Ãï/ÃPê5Ã@d0à9Ã0Æ.ðc4ðQ7ÃÐ<Ã07Ã0C/ÃÅ6ÃÑ4Ãн2Àw2Ã0:ÃÀf:Ã0–6Ã0À/Ã5Ãà[4Ã0:Ã@«9ÃpÍ2Ã7ÃÐÉ0ÃÔ-Ãб4Ã92Ã0º0Ã!2ðo2Ãð /ÃT4Ã`²0Ã0O-ÃÀœ1ÃàÞ3ÃÀ2Ãàg2ÃP0À}1À_6ðW6Ã05ÃPÞ7Ãз3Ã07Ã0®2ÃPs4ðø0ð]5ðÚ5Ã`Ž6Æ6ð-à Ô:Þ2Ãï/Ã`¬1Ãpß/Ãð|5ÃÀû6à ]9ðì2Ã@·7Ãp£9Ãðó6àË1ÃÀC+ÃP—.à c8À.ðo2ä1à æ7à ™/Ãn:à 6à “0ä5àË1Ãp>5Æ6ÃÀ–2ÃÐá,Ã`)2ðW6Ãà.àË1Ã92Ã@½6ð/ð]5ÃЫ5Ø7Ã0+3ÃÀ„5Ãl0ÃPä6ÿ7ðc4ðW6ðW6ÃàC8Ãðˆ3àN1Ãý7Ã’4ÃÀr8Ãé0ÃpV1ÃQ.Ã5Ãàg2ÃÐX.Ãàð0Ãp>5à ø4ÃPØ8Ã@É4À7ÃÀ3Ãðj8Ãp»5Ã@L4ÃpJ3Ã` 7Ãðv6Ã-4ÃP‹0Ã7í:Ãp27Ã’8Ãf1ÃàÌ6Ãð‚4Ã0¢4Ãý7Ã@(:à 6ÃPg6Ã@.9à Ô:Àƒ0ÃPê5Ã0®2ç;Þ6à65À}1Ã@Ã5ðÔ6Ã05ðW6ÃPÞ7Ã`2ÃB7ð¼:Ãðó6Ã@R3Ãðv6ÃÐ.5Ãp\0Ã0Š8ÃÀË>Ã5ÃPö3ðÔ6ÃÀZ<Ã0Š8à$8ÃË5ÃàU5Ã0:Ãp<À;Ãp>5Ã@ç/Ãý7Ã`5àw?Ãp,8Ãð4Ã` 3ÃPy3Ãðù5Ãð|5Ãðp7Ãp;Ãz8Ã<8à c8à {4ÃÐÃ1ÃÀ5Ã`2Ã0 8à$8Ã’8Ãà[4ÃpÁ4Ã0¢4Ã09Ã`4Ã` 7Ã@ù,ÃÝ2à$8Æ6ð/Ãï/Ã` 7à¿3ÃP2ÃàO6Ã`‚8ÃÐ8ÃÀ3ÃŒ5ÃPg6À_6ÃÐ:3ÃàÒ5À @ð?:Ã@@6Ãp,8Àe5à o6Àk4Ã012à$8ÃÑ4Ã@^1Àq3ó9Ã×3Ãð2Ã@L4ÃË5à Ô:Ãàs0Ã0Ý?ð“,Ã`²0ÀS8à o6Ã`4àB3Ø7ÃÐ44ÃàÞ3Ãn:ÃÐ44à u5Ãý7Ãp27Ã@Ï3Ã07ÃP==Ã\AÃ9ÃðX;Ã012Ã@‚+ÃàI7à;ÃpD4ÃÀ3ÃPÆ;ÃPð4Ãð 3ù8Ãðó6Ã0¨3à {4À1ÃpD4à Î;Ã@.9ÃPØ8ÃÐ ;ð/ðæ3Ãz<Ãp‹=Æ6à ø4Ã0+3Ãpß/ÃPö3Ã`4Ã0¨3ÃàI7ÃPy3ÃðŽ2Ã!6Ã`Ž6Ã0–6Ã05ÃàÌ6ÃPa7ÃpÇ3ðà4Ãf1Ãðˆ3Ãз3ðæ3Ãðj8ÃPØ8Ãðó6Ã0œ5Ã0–6Ã`ÿ8Ã`‚8à$8ÃÀ6à ø4ÃÐ"7ÃPð4Ã-4Ãp27Þ6Ãðˆ3Ãн2Ã`ˆ7àB3ÃpÁ4ÃP2Ã;Ãðp7à06Ø3ÃpD4ÃÀ~6Ã@«9àÑ0ÃÀ~6ÃЫ5Ã`)2Ã`50à§7ÿ7Ã0%4ÃÐF1Ã`)2ðo2Ã0œ5ÃÐ44Ãð|5ð{0ÃÝ2Ã`|9ðì2àT0ÃÐ¥6ð9;Ã0 8ÃÀ 4Ãðv6ÃàO6Ãp»5à­6ðÚ5Ã`”5à Î;ÃPÞ7ÃPÒ9Ã0¢4à u5à ì6Ã÷8ÃÀx7à :ÃàI7ÃPÌ:Ãàa3Ã`š4à¡8ÃП7Ã×3Ã@±8Ãð|5ÃÐ44Ã?1Ã÷8Ã`¦2Ã!6à65Ãàa3Ãð0Ã`‚8Ãðç8Ãðˆ3ðì2ÃàU5Ã`8Æ6Ã@d0Ãl0ÃE0Ãà´:à u5ðc4ÃÀ2ÃPs4Ãàm1ÃPê5ÃË5àB3ÃÅ6Ãp&9ÃÀ„5Ã07Ã0œ5à o6Ã0–6Ã06Ãð2ÃPa7Ãн2ÃàÌ6à¹4ê0ÃÈ/Ã@@6Æ6Ãð”1Ãн2ÃË5à§7Ã@L4à W:Ãàð0ÃPÞ7Ãàg2ÃàÞ3ÃpÁ4ÃpÁ4ÃàÞ3Ãp86ÃÂ0ÃðA*Ã@@6Þ6ÃÀ6ÃÐF1Ã`2ÀY7Ã@X2ÃÐ:Ãðó6Ã0+3À²=Ã@@6ÃÐ"7ÃPO:ÀS8ÃÐ.5ÃP—.Ã@";ð?:à 6Ãp:ÃÂ0ÃÝ2Ã07ÃPy3ÀÖ7ÿ7ÃЙ8Ãðç8ÃPä6Ãð 3à æ7Àk4ÃÐ:3ÃPg6Ã;ÃðÏ<Ã0~:Ã`Ž6Ã!6ÃPÆ;Ã07ê4ÃÐX.Ãð1Ã’4ÃPm5Ã8Ã`ÿ8ÃàÒ5í:Ã!6ÃЫ5à Ú9Ã’4ÀA;à 3ðÔ6ÃàO6ðæ3Ã'5à 1ÃÀõ7Ãðí7Ã`ˆ7ÃP2ÃpP2Ã@j/Ã0Š8à>Ã@É4ÃÐÉ0Ã0Š8ÃÐø=Ã`Ž6ÃÀ6Àƒ0Ã@·7ÃÀ„5Ã`¸/Ã33ÃàØ4ÃH6Ãð±AÃðá9Þ2Ã0¨3Ãl0Ã@:7ÃH6ÃT4Ã@^1À‰/Ø7à i7à­6Ãð4ÃŒ5Ã06à$8Ã`6à Ÿ.ÃÂ0ÃÀã:ÃPm5ÃPØ8Ãp‹=à*7Ã0%4Ã`50Ã`ÿ8Ã5Ã@j/ÃP1Ã@É4ÃðŽ2àB3Ã`|9ÀY7ÃÐ@2àË1Ãз3Ãp:Ãðj8Ãðó6Ã` 3Ã`š4Ã'5ðÚ5Ãàä2À¡+Ã`¾.ÃÐ:3Ãàm1ÃÐ"7Ã012Ã@±8ÃÐ¥6Ã`ù9ÃÀ5Àô2ð,Ãl0Ã@Ï3ÃàÌ6Ãàa3ÃPü2ÃÐR/à ¥-à<4Ãp;Ãз3ÃЫ5àT0Ã012Ã`²0Ãp>5Àk4Ã071Ãõ.Ãð#/Ãð1ðÂ9Ã0ï<ðÚ5ÃÀõ7ÃÀ„5à 3Ãt9à ì6ÃP.Ã9.Ãàü.Ã`2À¾;Ã06Ã@48àN1ÃP£,à ‡2ðc4Ãàm1Æ6ÃП7ÃPä6Ã0´1Ãpb/Ã`¸/ÃÀ1.Ãð¦.Ã`4Ã07Ã@X2àN1Ãà=9Ã`ˆ7Ã`50Ã012ÃðÛ:ðì2Ãpn-Ãð2Ãàê1Ãph.Ã@·7ÃÐÏ/Ã8ÃÀ®.Ãà,ÃPÆ;Ãã1ÃÀf:ÃPg6ÃàI7ÃÐÏ/Ã@Ï3Ã!2Ã0C/ðÚ5ÃÀœ1Ã`5ÃP0Ã071à ò5ÃPö3ÃP‹0Ã3à­6ð/Ã071Ã`#3Ãàð0ÃÐá,Ãð).À.Ã`²0ÃP…1à 1ÃÐ:Ãàê1Ã3à i7Ã3àH2Ã92à§7ÃàO6ÃÐí*àf-ð/ÃPy3Ãð 3Ã@Û1ð/ð/Ã@í.ù8Àâ5à­6ðo2ÃÔ-à³5À /À}1Ãàä2Ãf1Ã`6ÃPä6Ã@Õ2Ãõ.ÃT4ä1ÃPy3Ã@Ã5Ã0Ì-Þ6Ãp86Ãàg2Ã`4Ã@(:à ì6à¹4à³5Ã0®2Ãp>5à æ7Ã`2Àw2À›,àÑ0Ã@F5Ã`/1Ã`¸/Ã05Ãf1Ã`¸/ÃÐá,ÃpJ3Ãp>5ÃpP2à ¥-ð/ÃpÓ1Ã`”5à 3ÃPy3ÃPy3ÃÐ44Ã@:7Ã`4Ã`¸/Ãð#/ÃàI7ÃÐ¥6Ã’8ÃÐÉ0Ãð).Ã0Æ.Ãõ.ê0ÃŒ5É@Ã`ç<ÃÀï8Ã`Õ?ÃPÞ7Ãpå.ÃЫ5Ã!6Ø3Ã-4ÃP>(Ãp\0Ã`;/Ã`Ž6ÃÐ:Ã5ðÔ6ÃÀx7ÃÀû6Ãб4ÃpÇ3ÃÐ¥6à i7Ãt9Ã`5Ã071àB3ÃPð4Ãз3à:ÃЫ5Ã69ÃÀf:Ã012ÃP£,À‰/Ã-0ðì2ÃP1ÃÀ×<ÃP‘/Ãé0Ãð0Ãð¬-Ã5ð/Ã@É4Ãp£9ÃZ3ÃðŽ2ÃàÌ6Ãà[4ÃÐd,Ãðç8Ã7ð-Ãà7:ÃPä6Ãð|5àÑ0Ã@¥:ÃPm5ðø0Ã0¨3ÃÐ@2Ã`ù9àË1à Ú9àÅ2ÃÀœ1ÃÐ@2Ã!6ÃÐR/ðì2Ã33ä5àH2Ãàð0àN1ÃP1ÃÀû6ÃpV1ÃÐ44ÃÀ6ðu1Ãé0Ã@ç/Ã0¢4ÃÝ2ÃÐÕ.ðà4à “0Ãàä2Ã0y&ð¥)Ã05à ò5Ã!6ÃT4ÃЫ5ÃH6ê4ä5Ãpµ6Ã0®2ðì2ÃÐÏ/Ãx.ÃðŽ2Ã@Û1à ]9Ã@Õ2ÃÐÉ0Ãàê1Ãp£9ð‡.Ã07Ãð4Ãð1Ãp»5ði3Ãàü.Ã-0Ã?1ÃpÇ3ä1Ã33ÃÐ¥6Ã3/ÃE,Ã`/1ÃÀ 4ÃPü2ä1ÃP2ÃÀ 4à65à (-Ãà[4Ãi*Ãàö/à o6ÃË5Ã`6ÃpÓ1à ‡2Ãà=9Ã’4ÃPg6ÃP…1Ãpb/ð¶;à 3Ãàm1ÃàU5ÃÀ–2Ãý7ðu1ÃÀ´-Þ2ð/Ãàº9à¹4À²=àÅ2à 1Ãà.ÃÂ0Ãð#/àË1Ãð2ÃàÌ6ðì2à /Ã?1Ãà‘+ÃÀ¨/àB3Ãp>5ðo2Ã`)2Àè4Ãf1Ã*;ÃÀ1.àN1Ã`M,à 2Ã0´1Ã06Ã0¨3Ãp»5Ã`Ä-à à8Ãð1À1Ãà.Ã`A.ü1ÃÂ0à*7Ãð|5ð-ä5ðu1À›,Ã’4Ã06Ãàg2ÃÀ¨/ÃPy3ð/Ãf1ÃpÇ3Ãð²,à «,Àô2Ã0®2Ãàö/ðø0ê0Ãà.Ãl0Ã`ù9ÃÀ5Ã@)ÃPö3ÃP.ÃÐR/Ãн2ÃÐ:3ðu1Ãp&9à 1ÃÐÏ/ÃÎ.ÃÀ3ð‡.ÃP‘/Ã~-à 1Ãé0Ã06ÃW-à ±+ä5Þ2À_6ÃpÓ1ÃP2Ãð2ÃPg6ÃPU9ÃðŽ2àË1Ã@Ï3À /Ãðv6ÃÐ44Ã0–6ÃÐ44ÃàO6Ã'5Ã@Ã5ÃÀï8À7Ãðí7à {4ÃPO:Ã` 7Ã`¦2Ã0À/ÃàÀ8Æ6í:Ã0:à§7à Ÿ.ÃpP2ÃÀ1à65Ã`Ä-à :à¡8ÃPö3ðÈ8Ãpµ6Ã`/1ÃÐ@2àË1ð]5Ã`8ðK8ð3ÃÀû6Ã>FÃà?Ã7Ã@F5Ã33ÃpV1Ã0–6à ø4ÃÅ6ðÈ8Ãý7Ãб4ÃÀÝ;à$8Ãt9À}1ÃÐ:à ø4Ã07ðà4ÃÀû6Ã@á0Ã`|9Ã`5ÃÀ2ÃPÒ9ÃÐ ;ðò1ÃÐj+Ã!2ÃN5ÃŒ5Ã07Ã`Ž6Ãp86àH2Ãf1Ãp;Ã0œ5À•-ði3àf-àN1Ø7ðc4à Ô:à ì6Ã@á0ÃàI7ÃÐþ<Ã0:Ã`ˆ7à9à c8ÃN5àB3Ã'5Ã`Ä-ÃÀ„5ÀÄ:ÃÐÕ.Ã` 7Ãðj8ÃðŽ2àl,Ã07Ã5Ã07Ã@L4À1ÃàU5Ãð 3à æ7Ã012Ã@@6Ãb<ÃàU5ðø0ÃÐ@2ÃÀ2Ãl0ÃÐç+À_6àH2ÿ7Ã?1Ãð2à 3ÃÀ5ÃPÒ9Æ6ÃàI7àN1ð/Ãpt,Ãðv6àl,Ã4Ã@^1Ãðù5à 1ðu1Ã@É4ÃÀé9Ãðù5ÃPü2Ãf1Ã7Ãàü.ð,ÃàØ4ÃÀœ1ÃÐL0Ã@ç/Ã0œ5Ãå;Àƒ0Ãp86ð{0ÀY7ÃÀl9Ã`š4ÃàÒ5Ã` 7Àâ5Ã@ó-ü-ÃÐ8Ã`”5À7ÃÀf:àã-Ã'1à i7Ã92Ãðù5Ã07ðÚ5à65Ã`š4Ã@¥:Ã0+3Ø7ðÂ9Ã@X2ÃðŽ2Ã92ÃàU5Ãðí7ÃÀ2ð¼:ðc4Àô2Àî3ÃàØ4ÃP‹0Ãà+Ãpn-ðÚ5ÃàI7Þ2ÃT4Ãp»5ÃpD4Ã’4Ã!6ÃPö3ÃÀ„5Ã@L4Ã33ÃÀ–2Ã`”5Ã@É4à9Ã`í;Ãf1Ã0I.Ø3Ê+ö.Ã`ÿ8ÃàU5Ã`¬1Ã@Ï3ÃP2Ã`)2ÃàØ4Ã9Ãð1Ãà=9ðà4ÃpP2ÃpÍ2Ãl0à¿3ÃàI7Ã!2ðu1Ãàa3ä1Þ2Ãðó6ðæ3Ã05ÃPê5Ã`#3Ãf1ðÚ5Ã-0ÃÐ.5Ã0œ5Ã?1à 1Ã0¨3ðæ3ÃÀ´-Ãð¬-à 1Ã<8ÃÐd,Ãðˆ3Ãà7:Ã@É4Ã@Ã5àl,Ã`;/ÃÐÉ0à 1Ãàa3ðÔ6ê4Ãð1Ã@^1À‰/Ãày/ÃE,à ì6Àâ5Ãp>5Ãð2ÃÐ:3Ãàm1ÃÀœ1à 0àB3ðc4Ã@v-Ã`¬1Ãð1Ãð0Ã'5ÃpÍ2Ãà+ÃÐF1Ã@j/Àw2ÃP1ð3ð .à(ðò1ä5ÃP¯*ö.à<4Þ2à­6à­6àÝ.à 3Ãð 3Ã`A.Ã0Ò,Ãph.àH2Ãàö/ÃÐÃ1ÃpÇ3à .,ÃÐX.ÃÀ´-ÃÀ6ÃP—.Ãp>5à 1à¿3ð]5ÃÀ®.ÃÐF1Ãpë-ÃpÙ0Ãð 3Ãðí7Ãx.Ã`v:à06àB3Ãð¸+Ãà[4Ã`4ÃÐç+ÃpV1ÃP…1Ãp )Ãàs0Ãl0ðò1Ãн2Ã@p.Ãð”1ÃpÁ4Àƒ0ð .Ãf1àé,ðu1ÃÐ.5àû)ÃpV1À-àT0Ã`²0ÃPð4ÃH6Ã012Ãð/-àH2Àî3ÃŒ9Ã`¦2Ã@Û1Ã`¦2ÃÀ1.à ò5ÃÐj+ÃPm5Ãð /ÃÔ)À.Ê+ÃP&,ÃÂ,àË1Ã@j/Ãpb/Ãï/Ã@R3Ã`#3ÃÂ0Ãð0àl,Ã@ÿ+ÃÈ/Ã`²0Ãà,Ã`M,Ã012ðà4ð{0ÃP‹0Àô2ÃÎ*ÃP‘/ÃàÞ3Ãðš0ÃP&,àN1ð-Ãàs0Ã0[+Ã071ÃE0Ã~-Ãã1Ã@ù,ÃÀ´-ÃP‹0àZ/ðò1Ã-ÃÀ7-à ™/ÃÐÉ0Ãû-Ãð¬-Ã`_)ÃQ*Ãàü.ð‡.àË1Ã@|,ÃÀÆ*Ã*ÃK/ÃÀ¢0ÃÎ.à 2Ãp&ð/Ã0=0ÃðÄ)Ãà'à (-ÃÐL0àã-Ãð#/ðo2Ãð²,ö.à 0Ãx.Ãp*à L'Ãé0ÃÝ2Ã0ä)À•-Ãl0À-ÃPÁ'Ã0a*Ã@ù,à 2Ãà.À /Ãp86Ã0º0ð-àZ/ÃÐ|(àË1Ã`Ê,Ã`¬1ÃK+Ã`¬1Ãð0Ã?1Ãð /Ãð#/Ãl0Ãp>5ð‡.ÃK+Ãà£(Ã0O-Ã`î&Ã@+àÝ.Ã`Ð+Ã@ÿ+ÃàÌ6Ãðp7Ãx.Àî3à¿3Ä,ÃÀÆ*Ãà+ð«(à65ÃÀº,Ã`¾.Ãà )Ã0I.Ã`M,Ãp\0ÃàÒ5ðu1Ãà[4ÃpÁ4Ã`¸/ð‡.Ã×3ÃpÍ2Ã@d0Ãà‹,à06ÃÀ6Ã`‚8Ã@j/Ãð /Ã09ðK8ÃPm5Ãð|5àN1Ãl0à×/ÃÐç+Ãà.Ã0À/À7à ò5Ã0Š8ÃK+Ã@á0Ã`2à ø4Ã@á0ÃÐÛ-à 3ÃÀ¨/Ã?1ÃÑ4Ã3Ã`50ÃÀº,Ãð 3ði3Ãð4Ã0C/ÃÐ44ÃP1à ¥-ÃàØ4ÃГ9À.à×/ÃP2ÃÀ®.Ã0º0Ãð¦.À}1Ã0C/Ãð‚4ÃÀ¨/Ã071Ã`)2ÃÂ0Ãàð0Ã0U,Ãp€*ÃðG)àB3ðÔ6Ã@R3ðø0Ã`50Ã`Ö*Ã0Ì-ÃÂ,ÃÐ.5Ãàü.Ã@:7Ãð).ÃÂ0ÃÀ1Ãð/-ð+ð/ÃÀ¨/Ãp\0Ã0C/Ã*à ".ÃH6Ã3/Ã`2à ì6ÃPy3à65ÃÐ8Ã012ÃÐ:3ÃÐ.5Ãt9ÃÝ2Ã'1ü1ÃÐÃ1ÃpÁ4ÃE0à Ÿ.ð/Ã0Ì-ÃðŽ2Ãf1Ãð0à 1à 3Ãàð0Ã071Ãr/ÃP‘/ði3ðø0àl,Ãð /Ã!2ÃP-Ã`#3à¿3ÃÀ3ÃpÇ3à ‡2Ã`š4ÃP‘/ÃÐd,À‰/Ã,Ã@X2Ãð2Ãðp7àH2Ãà,'ÃP/à :*ðì2ð?:Ãàö/à ·*ÃÔ-Ãð /ä1Ã0=0Àw2Ã`”5ÃðŽ2ÃÐ:3ðø0ä5Ã`2Ãð).Ã0Ì-ÃZ3àÝ.ÃPÍ%Ã?1ðø0àï+ÃT4Ãàê1Ã`50Ã@Õ2ÃðŽ2àÝ.ÃÀœ1Ãðù5à u5Ãð#/Ãàö/Ã@½6ðì2Ãf1ÃÐÉ0À1ð‡.Ãà)ÃP/ÃQ.àÑ0Ã3/ÃP,+ÃP -ÃðŽ2à ø4ÃÐÕ.à ™/ÃÐF1ÃàØ4Ã@‚+ÃÀ®.Ã0I.ði3ÃàØ4ÃÐÛ-Ã@X2Ã0=0Ã0À/Ã0O-Ãàä2à<4Ã@j/ÃÐ¥6ÃÝ2ðo2Ã`¦2ðþ/Ãð²,à “0ÃÐÃ1Àè4Ã09Ã9.à 2Ãð”1à .,Ãà…-Ã`â(Ãàm1ÃPm5ÃðÏ<Ã0Ò,À**Ãàa3Ãð#/ÃQ.Ãõ.Ã0À/ð-Ã`š4Ã0%4ð«(Ã0+3à +ð]5ÃÝ2Ã`A.Ã0C/Ã-ÃPö3Ãpë-À0Ã071À‰/Ã`¸/à ".ÃÐj+ÃÀ%0ÃÐ<Ã×3ÃàÌ6Ã012Ãp÷+ÃàU5Ã!2Ã-0à Q;àÝ.ÃÀ1À.ÃÐÏ/ðu1Ãà+Ãà*ÃÂ,Ã0O-Ã'5Ãp<Ãpå.Ã0Æ.ÃÐ44ðu1Ãi*ð/Ãx.ÃP&,ÃÈ+À_6Ãð‚4ÃP -à “0Ã012Ã-4Ã@v-ÃÔ)Þ2Àî3ÃÀ 4Àè4Ãð /ÃP/Ã`¸/ð-Ø3ÃÂ,Ã`)2Ã0Ì-Ãã1Ã0I.Ü(àl,ÃP2*Ã0Ì-Ãð¸+Ã@R3Ãàä2ð™+Ãð¦.Ã@Û1Ã-0Ãð4Ã` 3Ã3À.à65Ã-0Ãà…-Ã@X2Ãp»5ÃÐÕ.ÃÐj+Ãì)ÃÐÕ.Ãp»5Ã0ä)à /Ã`¾.Ãà—*ÃÀÆ*Ã69àZ/Ãf1ê0ÃЂ'ÃP -Ã0$à ±+à F(ð{0à ‡2Ã@p.ÃPü2Ãðš0ð“,Ãpß/Ã)Ã`;/à 1Ã0C/à 1ÃÀ1.ð‡.Ãpñ,àr+ÃP -ÃP -ÃÐÉ0à 1ÃÐ^-À0ÃÂ,à «,ÃÀ 4Ãð2Ãð /Ãc+Ãpt,ÃÀº,ÃP‘/Ãà+Ãpë-Ã0ä)Ã!6Ãð¦.À›,Ã@á0ÀÐ8ÃpÍ2à 4+Ãð”1Ãx.Ãp&Ã`S+ÃÎ.À /Ãx.ÃÀI*ÃÐÏ/Ã@v-Ãàö/ÃðY&ÃÀ¨/Ã@í.ÃpV1ÃP2à :*À-ÃP.Ã3/ðø0Ã@ˆ*ÃP‘/ÃÀŠ4Ã7À.Ã0[+ÃðŽ2ÃÐd,Àƒ0ð,ÃpÙ0Ãp\0À§*ÃÐ.5à ‡2Þ2Ãp†)Ãp'Ã`¾.ÃP0à (-ÃÐF1àû)Ã*à×/Ã0´1ÃÀ1.Ãàð0ÃpD4Ãð¦.Ã3Àƒ0ÃÐÉ0Ãð).Ã`A.Àw2Ãì)ð,à {4ÃÀ„5ðò1ÃÂ,Ã@ù,Ã0Æ.ÃÀ=,à “0Ã,Ã0=0Ãà.Ã`¬1Ãàg2Ã0O-ÃPµ)Ãû-Ãp©8ÃPs4Ã9.ÃQ.Ãpë-à {4ÃP…1ÃÚ,Ã@ç/ÃÀ 4ÃàO6Ã@v-Ã`²0ÃÐL0Ã?-ÃðŽ2Ã@í.Ã0Æ.Ãð0Ãàê1àB3Ãàm1ÃÂ0ÃÀ+/Ãàð0à 1à ".à 4+Ãà-ð/ÃpP2ÃÐÃ1ÃÀ´-Ã-0Ãð¾*àZ/Ã`Ž6à$8ÃÐá,à ".Ã-0ÃÐ:3ðÔ6àË1Ã@R3ÃÀ´-Ãi*ðþ/Ã4Ã0C/ÃP‘/àx*à .,ð{0Ãl0Ã`²0ÃpÇ3Ã0=0Ã@j/Ã@‚+à «,à «,ÃÀ®.Ã@ç/Ã33ÃЂ'ÃQ.Ã`¸/ÃÀœ1Ãð¬-Ãpb/ð,à þ3ÃÐL0Ãàê1ðo2Ãà©'Ã`)2ðæ3Ãð¬-Ãб4à ]9Ã`G-Ã@d0Ãàm1ð“,Ã9.Ã-0Ãp»5àr+Ãð2ÃP‘/Ã`_)À-Ã×3Ãp»5ÃàI7Ãàð0Ã`#3Ã`”5Ãæ*ÃP -àZ/Ã9.ÃÀÒ(ÃÀ¨/Ãà+Ãàö/ð/ÃPµ)Ãàm1ÃÀ3ÃÐ^-ÃÚ,Ã`Ê,ÃÐó)Ãày/Ãð¾*Ã0À/ÃpÁ4à×/Ãðš0àf-àr+ðì2ÃÀ7-Ã`50ÃP—.Ãð).ÃP…1Ã*à «,ÃÐÏ/à 1ÃÐ:3ÃÀœ1Ã`Ð+Ãð/-Ãð¸+ÃÐá,à 4+Ã3Ã`;/Ã`¾.Ã0I.ÃðA*Ãc+ÃÈ/Ã@ç/ÃP1Ãà…-ÃÐv)Ã@ˆ*ÃÐv)àN1ÃpD4Ã@ÿ+à×/Ãð;+ð"*Ãà&(Ã(Ã@Ž)ÃP©+Ã0C/Ã×3Ã3/à ^$ÃÐç+Ã'5Ãð/-à R&Ã0ä)à ±+Ãày/Ãph.Ãõ.Ã`e(Ã@ÿ+Ã0[+Ãàð0À•-ÃÀº,Ã-Ãð#/Ã-Ãà&(Ão%àŠ'Ãà )ÃP/ÃP‹0À§*ÃÂ,ÃðÄ)Ã,Ãpå.Ã@'ÃP -àl,à 4+ÃÐL0Ê+ÃÀ=,à ".Ãà,Ãð).Ãàs0à¿3ðø0ÃÀ3ÃÂ,Ã0Ø+ðŸ*àl,ÃÐí*à(Ãp÷+à ±+À}1à­6ÃP‘/Ãõ.Þ2ÃP…1ÃÐR/Ã`Ä-à .,Ãà‹,Ã0Ò,Ãì)À¿&à ¥-Ã@j/Ã0Æ.Ã@ *Ãpž%À**à ·*Ã@ &à d#ÃÐÉ0Ã`”5Ãà.àË1ÃðA*ÃÐÛ-Ãàö/Ã0=0à Ÿ.ð½%Ãà+ÃpJ3Ã],ð,ð+ÃÀ%0Ãpn-Ãð).àÑ0Ãpb/ÃP -Ã`Ð+Ã@š'àõ*ÃP‘/ð"*ÃPü2ÃðŽ2à<4Ã`q&Ã@ç/ð/Ã0C/ÃÀI*Ã0O-ð‡.Ãpb/Ãpë-Ã0g)Ãx.ÃP0Ãì)ê0ÃÀ¢0ðc4ÃW-ÃÐ:3ü-Ã0ä)ÃP£,ÃÎ*ÃP -ÃÐ^-à ™/Ã`¾.Ãp€*ÃÎ*Ãà,ÃÂ,Ãà,ÃÐd,ÀB&ÃÀU(à)Ã@L4À,à :*ÃÐá,ü1Ã0Æ.Ã` 3ð/Ãà‹,Ã0®2ðø0Ã`;/Ãà-Ãð_%Ã`;/Ãû-Ã@+ÃÀ¨/Ãà-ÃÀÀ+Ã*Ã`M,ÃÀÀ+Ã×3Ã92Ão)Ãàö/Ãà,Ã0C/àÑ0À‰/Ã`Y*à /à ½)Ãàa3ÃÐÏ/ð‡.Ãpb/àH2àB3ÃÂ0à¿3ÃÈ/ÃP-Ãàö/Ã4À0)ÃÀ2Ãðš0Ã`#3Ãl0àr+ÃP>(Ãx.ðò1àl,ÃP,+Ãàs0à~)à×/ÃÐR/Ã0[+Ã`Ü)ÃP&,Ãð /ÃÀ–2Ãð¬-à 2Ãpz+Ã`e(ÃÀ1.ÃÔ-ð{0à ‡2Ãð|5Ã0À/À³(ÃÀI*ÃÐR/ÃÀ1.ÃðÊ(ÃðG)Ãàs0à “0Ãph.àÑ0ÃÐR/Ãð0Ãð;+Ãð#/Ãð1ÃÀ3ÃK+àÅ2Ã05Ã06ÃàÌ6Ã0C/àH2ÃE,Ã`š4ÃK+Ã0Ò,Ãàº9ü-ÃÀ´-Ãàä2Ã?1à)Ãx.Ãàê1Ã@Û1Þ2Ã071Ãà+Ãph.Ã-4À•-ÃZ3Ãàð0Ã0´1à 1ÃÐL0ä1Ãp\0Ã@ÿ+À /à {4Ã-Ã`¦2Ãàm1Ã3/Ãpb/Ã@^1ðþ/Ãà‹,à ™/Ã7ðø0à–%Ã'1Ã×3Ãðç8Ãðí7ðæ3À1ê0ÃÐÉ0Ã-0À.à ¥-ÃÀ6Ã92Ãc+à 3àN1Ã@X2Ã@+ÃÀ1.Ãàð0ö.Àô2ê0Ã0º0Ã@p.Ã0[+ð/Ãp,8Ãз3Ãàö/ä1ð‡.à u5ðW6Ãð/-Àô2ÃÀ¨/Ãз3Ãð /Ã`A.Ãð).Ã@ç/à¡8À1ä1ÃÈ/Ãû-Ãàð0àï+ðò1Ãðš0ÃPm5à 0Ãð5,Ã0I.Ãr/ÃðA*à (-Ã@+à¿3ÃÈ/Ã9.Ã@½6ÃÀ¨/ÃW)Ãp»5à ™/à ¥-Ãà.ðo2Ã0+3àõ*Ãàa3Ã@ó-Ãð²,à ½)Ãà‘+Ã`4à×/Ü(Ãp\0Ãàm1ÃÐp*à ¥-à {4Ã'1Ã~-Ãн2ÃP£,Ã@Õ2Ãð#/Ãàü.Ã`²0Ãx.Ãð /ðo2Ã@Ž)ÃE,ÃpP2à 3ð“,ÃÐí*àZ/Ã@Ï3ÃPö3Ã`¦2à :*Ãu(ð.(ÃÐX.Ãð).àï+ÃP—.Ã`¬1Ã`;/Ã],Ã],À$+àr+ÃÀ1.ÃQ.ÃðG)Ã0s'ÃÀ6À1ÃÝ2ÃP -Ã@ *à 0ä1Ã0´1ÃÀ´-Ã0I.ÃÐÉ0à ‡2Ãpë-ðc4ä1ÃÀC+àõ*Ã0%4à «,Ãà*ÃE0ÃÀ['Ã`e(À.ði3Ã`Ü)à þ3à 3Ãð1àã-ÃÚ,ÃÀ®.Ã@)àõ*ÃÐÛ-Ãð).ÃðS'ÃÐÃ1Ãà‘+Ãpb/ÃðÊ(àõ*ÃÐó)ð/ÃÀº,ÃT4à ™/Ãà‹,Ãà)ð-àï+ÃÚ,ÃÀŠ4Ãàö/à)Ã0U,ÃÈ/ÃÀ['Ã)ÃP,+Ãàg2Ã],ð.(ÃÚ,Ãà—*Ãà.Ãû-à @)ÃðM(ð:&ð-Ã`â(Ã(ÃW)ðø0Ãð¸+ð«(Ã`¸/Ãà¯&ÃÀC+Ã@(Ãà,Ã-0Ã?-Ã0Þ*Ãà )ÃÐÏ/ÃÀ®.Ä,à ±+ÃP-ÃP£,Ã3/À}1ð{0ð/Ü(ÃðM(àË1Ãð 3ðþ/àã-Ãpý*Ãð;+à(à 4+Ãp&9ÃPg6Ãõ.Ã`)2ÃÀ´-Ãæ*Ã`Y*ÃÐá,Ã`Ä-Ãà'Ãpz+Ã0Æ.à :*À /Ãà&(ÃðG)Ã@v-à¿3Ã@ù,Ã@š'ÃðY&à /Ä,Ã-à ™/à 2Ã0I.Ãì)ÃÀÌ)à 1àl,à ½)Ãpë-Ãð).À-ÃÐí*àé,Ã071Ãph.à ".ÃК#Ãà‘+ÃÚ,ÃP/Ã-0Ã`Ä-ÃÐj+Àî3Ãpñ,Ã0Þ*ÃW)Ã,ÃÀC+à (-ð"*Ã-0ÃÔ)Ã(Ã`G-àf-Ãà,Ãp(à .,Ã0U,Ãp\0Ã0a*ÃðÄ)Ãà )Ãc+Ã3/Ãà.Ã`Ð+Ãpz+Ãc'Ãpž%Ãp€*Ãð /Ãi*Ã0O-Ãû-Ã0m(à ½)Ãð;+è&Àƒ0à 3Ãð1ÃQ.ÃÐÃ1Ã@ù,Ã`Ä-À0)Ãò(àf-à ·*Ãpý*à /Ãæ*Ã0Ø+ÃÀI*à ¥-ÃP,+ÃÐF1Ã@Ž)Ã0s'Ãày/Ãp;à:ÀM9Ãp>5ÃPO:ÃÀõ7à Ÿ.Ã,Ãé0Ã*à%#ð±'Ãàü.ð‡.ÃÀ1.Ã*à ¥-àÝ.Ã@ó-ÃPs4Ãàä2Ã`2Ãà‘+Ã@á0ð/Ã`¦2Ã@ÿ+Ãf1ÃÀO)ÃÐX.À /ÃÐ'Ã`S+ÃÀ®.Ãð 3À§*Ã@ç/à§7Ã@X2Ã@d0Ã@ç/ÃÐÛ-ðþ/Ãн2ÃpÍ2ÃpD4ÃP…1à (-àT0Ãð‚4Ãàs0Ãð¸+ÃÈ/ÃpP2à ™/Ãàs0à¡8Ã3Ãð /À}1ðÚ5ÃP‹0Ãpn-ÃpJ3Ã0I.À›,à<4Ã`G-ÃðŽ2ð]5ÃP‹0Ãã1Ãày/Ã0O-Ãû-Ãàê1Ã`š4Ã0Æ.Ã0%4ÃpÍ2ÃpÇ3ä1ÃÐ(6ð¼:ðc4Ã`Ê,à 3à×/à ¥-Ãû-à Ÿ.Ã`)2Ã0®2À}1ð/Ø3Ã-0Ã@É4àB3Ãà…-àÅ2Ãð2à 6Ã@j/Ãp†)Ã071ä5Ã07Ã×3ÃQ.À.ð‡.àÅ2À_6ÃðŽ2ÃÀ3à þ3ÃÀ„5Ã`”5À‰/Ã@ÿ+ð/Ãf1ÃŒ5Ãб4Ã0Æ.àB3Þ2ÃÐó)ÿ7ÃP‹0àZ/Ãx.ÃpÍ2àT0Ãày/Ãàg2ÃÀÀ+Ã'5ÃÀ 4Ãð /Ã@^1ÃÀ®.Ãð1ä1Ãð¬-Ãp\0ÃЫ5Ã@F5À7ÃÚ,à 1à 2à 0À¡+Ã@^1à³5Ã@Õ2Ã@d0à¿3ÃË5ð¼:Ã0+3ÃPö3Ãðˆ3Ãæ*Ã3Ã0¢4Ã8Ãàð0À.ÃÀ 4Àè4Ãб4ÃÔ)ÃÐR/ð“,àN1ÃàÒ5ð-àé,à +Ãr/Ã@É4Ã`6ðì2à «,Ã@d0Ã0Æ.Ã07àZ/ÃpÓ1Ãð^:Ãð#/ÃT4Ãð¦.Ãà.Ã0´1Ãàs0Ã-Ã0a*Ê+Ã`”5à W:ÃP—.ÃÐL0ÃPö3ð/Ã@X2ÃÀ+/Ã`Ê,Ã-ÃP1Ã`¾.ÃpV1ÃPg6Ã0´1Ã@á0Ã`#3Àî3à¹4à ‡2ö.ð3Ãð2Ã92ð/ö.ÃpÇ3ÃP—.ÃÐá,Ã@ç/à ".Ãð).ÃÐL0ÃZ3ÃH6Ãr/Ã@á0Ãp\0Ãà—*Ã'1à 1Ãp,8Ã'1ÃP0ðþ/àN1ÃÀ¨/ÃpJ3à ¥-Ã@á0ÃÀ~6Ãð¦.ÃÀ1.Ã0Þ*à Ã(Ãà+Ãð;+ÃpÙ0Ãph.àN1Ãàð0à 0ü1à`.ÃÐX.ÃðS'Ãà‹,Ã`;/à ".ð,à 4+à ™/ÃQ.Ãð;+Ãàü.ÃÀº,Ã`¬1Àq3à (-Ã0I.Àú1Ã`6ð™+Ã@+à ™/Àƒ0ð/ð-Ã3/ÃÐL0ÃP.Ã0¨3ÃÀ3ÃpÁ4Ãp86à +Ãpý*ð‡.àN1À /ð“,ÃÐF1Ã@á0Ã@v-Þ2ÃÐÕ.Ê+Ã`G-à ‡2àH2àT0Ã0Æ.Ã@Û1Ã92ä5Ã0%4àT0ä1ÃÐ:àé,à(ÃÐ^-ÃàÞ3Ã`Ê,Ãàð0ð/àT0ÃP…1ÃÐÃ1à ¥-ÃÈ/à 0Ãàê1àé,ðò1Ã@Ï3ðþ/Ãpë-àË1Ã`5ÃP2ê0ð«(ÃÂ,Àî3à o6Ã?1Ãðp7à ¥-ÃÀ+/Ãp,8Ã\=Ã@Ï3Þ2à`.ÃÐ@2Ã`Ž6Àú1ðÚ5Ã4à “0Ã@L4ÃÀ¢0Ã-0à ™/Ã`ˆ7Ã@á0ð3à /Ãé0Àe5Ã@ç/ÃPð4à`.Ãp\0àé,ÃP0Ãæ*àB3ÃÀ=,àÅ2ÃÀ¢0Ãl0Ã@ù,ð/Ã÷8Ãp(Àô2à*7à65àT0ðW6à³5Ã@ÿ+àB3ðc4Ã3ä1Ãæ*àã-Ãr/ÃÐF1Ãpµ6ð/Ãày/ÃÐ:3Ã`M,Ã92à§7ÃZ3ÃÐÉ0Àî3à 3ð“,ðŸ*Ã@.9ÃÐR/ÃPö3ÃÎ.à ™/Ã0Ò,ÃP1ÃÐ44ðþ/ðu1ÃàÞ3à:ÃpÙ0Ã5àH2à 4+ÃÐ@2Ã@d0Ãx.Ã@+ÃÀ–2ÃP/ÃpÙ0ÃÐÏ/à L'ÃÐj+à(Ãp€*ð/ÃÐÃ1ÃÐ:3ÃÀ1.Ãàa3Ãàð0ÃQ.Ã0Ì-Ã`Ö*ÃŒ5à Ÿ.Ã05Ãpz+ÃpD4ÃpÍ2ÃÔ-Ã-0ÃP-Ã`M,Ãé0ð‡.à 0Ã3Ãé0Ã0À/Ãàm1ðc4ðò1ÃP‘/ÃÎ.Ã0´1ð/ÃPö3ð3ÃÐL0Ã`¸/ÃÐÉ0Ãð”1Ã`)2Ã~-Ãàê1ðò1ÃP‹0ÃT4ÃP©+Ãàö/ÃB7Ãðÿ4ð{0Ãc+ð"*à 4+Ã,ÃðY&ÃÐí*Ã0a*Ã0º0Ã0g)ðø0ÃÐá,Ã`Ä-Ã0=0Àƒ0ÃpÁ4Ã`¦2ÃÐÃ1Ã`²0Ã`50ðc4Ã@d0Ã`¾.ÃÎ*ð()àÝ.ÃP—.ðþ/Ãð).ÃH6Ã0¢4àl,À0)Ãæ*àã-ÃÀŠ4Ã0C/Ãð¸+ðu1ð{0à 3Ã@p.ÃÀÆ*Ãf1Ã0Ø+Ã0+3Ã0O-ÃÀ¢0ÃpP2Ãï/Ã`Ê,Ã`;/ð·&ð‡.àf-Ãð”1ÃÀ+/ÃPD'ÃK+ÃÐá,Ã`Ð+ÃЬ Ãà‘+ÃàÞ3ðì2à «,Ãpå.Àú1Ã@j/ð/ð/àõ*ÃpV1à þ3ðŸ*ÃÀœ1ÃðG)Ã@)Ãpt,Ãð¾*ÃÈ+Ãpt,àé,à`.À}1ðø0à×/à .,Ãp†)à Ÿ.Ãp27Ã3/Ãð).ÃÀ=,ÃÐ^-Ãð|5Ãpý*ÃÐí*Ã0Ì-ÃpV1ð“,Ãpz+Ãc+Ö)ÃðÐ'Ãð /ÃП7ð{0ð+Ãà©'À.ð .Ã`¦2ÃpÇ3ÃÎ*à “0ÃÐp*ð«(Ê+Ã@v-ð/Ãà.àr+ðÚ5Þ2àÝ.à„(Ãà )ÃP2ÃPµ)ÃÐj+ÃP1Ã0º0à Ÿ.Ãpt,Ãõ.À1ðþ/Ãð).Ã@á0Ãpñ,ÃÀÀ+ÃÀ%0Ãr/ÃÀU(Ã0I.Ãph.Àô2ÃÀ2Ãð¸+ÃÐd,àé,ÃpÇ3ÃP.àr+àã-à i7Ã0[+Ã`;/àx*À›,Ã@F5à Ÿ.À<'Ãà—*Ãð²,Ãà+Ã0º0Ã0ö&ÃÐÏ/À¡+Ãð¦.ÃP0Ãx.ÃP—.ð“,Ãð¸+à 2Ãð/-Ãpý*à ¥-Ãpn-Ãx.Ã`;/àõ*Ã@+ð-ÃÂ,Ã9.ÃÀ+/Ãã1Ãð/-ÃÐd,àÑ0Ãð¸+Ã,àã-Ãðp7àf-Ãà&(ÃÐ|(Ãp£9ð/Ã92ÃðÄ)Ã@v-Ã`}$ÃPµ)Àƒ0àl,ÃЂ'À.Ã@v-Àô2ÃP2ÃðÐ'à :*ÃÂ,ð“,À**ÃÐŽ%ð-Ã9.ÃPm5Ãp>5ÃP1ÃÀ¨/à×/Ã0À/Ã4Ãã1à 1Ãpý*ÃQ.ÃÂ0ÃÀ„5Ã`4ÃQ.Ãà.à ø4Ã0´1Ãð‚4ÀÜ6ÃÀ¢0Ã@R3Ã@Û1à þ3ÃàØ4ÃpV1Ãн2Ãðù5ÃÀõ7Ã@á0ÃPä6ðQ7Ã0Æ.ÃÀ3ÃÀ~6À_6Ã0œ5Ã@«9à$8Ã0¢4Ã-0ÃPü2Ã0¨3ÃPs4ÃÀœ1Ø3ðÔ6Ã-0ÃÀ5ÃÐ:Ã07Ãð|5ÃàÞ3ðc4Ã0Æ.Àè4ÃÐÃ1ÃðŽ2à­6Ã`2Ãp86à9Ãå;ÃË5Ã?-ÃÀ~6Ã@@6Þ2ÃP&,Ã0 8ÃП7Ã0é=Ãб4ÃÀ 4à à8ðÔ6ÃPy3Ã@";ÃÐ:ðì2ÃPs4à Q;Ã0:ÃP -ÃPð4Ã`;/ÃP2à ò5à {4ðo2à 1à ø4ÿ7ö2Ã$<Ãp>5ÃPm5ÃàI7Ãð2Ãàê1Ã@É4ÃPs4ÃÀé9À5=Ãðv6Ãý;ð!?à <Ã0Z@Ã`8ÃðÃ>À;ÃÐ<á<à¹4ð¶;Ã@(:Ã0l=Ã0r<ÃàÆ7Ã`á=Ãp£9ÃðÉ=Ãà@ç;ÃÀÑ=Ã0×@Ã@>À²=ÃpÒFà °@ÃpsAÃð±Aà <Ãàº9Ãà+<Ã@“=à=Ã÷<ð†CÃpmBà È<Ãp…>Ãt9Ã@@6Ã!6Ã`LAÃÐàAÀ Dàw?ÃpêBÃàCÃp…>àq@ÃÇDð9;À#@à 3@Ãp‹=Ãë>ÀÿEÃÀ›Fð°<ÃàÆ7ÃP?ÃÐ ;Ã`d=ÃÙ=Ã0û:ÃpaDð’AàkAÃPÆ;ÃÀ„5Ãà¢=à ¼>Ãp‹=Ãt=Ãp?ÃðF>ÃPº=Ãàœ>Ã`í;À¾;ÃÐQDÃ@@ÃðÏ<É@ð˜@ÃÐþ<Ã`Û>Ã`Õ?Ãp=Ã0r<Ãñ=ÃP==ÃÀ0CÃVBÃà–?Ãð·@ÃàÀ8ÃÀ0Cðž?Ã@=ÃàÒ5Ãà®;ÃÀT=Ãp?ÃPÀ<Ãh?Ã0é=ÃÓ>Ã@«9Ãp?Ãñ=Ã@";ÿ7Ã0Š8Ã`|9à Ô:Ã@:7Ãp‘<ÃÀ6ÃðR<Ãp—;à;Ãà´:Ãpy@à È<Ãðp7à‰<Ãý;Ãà–?à Q;ðÚ5Ã0:ÃÐ"7Û=Ã@(:ÃÐ ;à$8àƒ=Ã5ÃPØ8àî@ãFÃ0„9à*7ÀY7ÃðŽ2Ãp?ÀS8à Ú9Ã?Ãp;ð¼:Ãß<Ã69Ãp‹=ó9Ã0:ÃÀã:Ãà¢=À;Ã`ˆ7Ã0×@ÃpsAÃp;ð?:Ãn:Ãp?Ã>BÃà–?ð3<ÃÐ8Ãë:ç;Ãp=Ã$<ÃЫ5Ãàº9Ãз3à à8Ã@Ã5Àw2à Î;ÃÀÑ=Ãp‘<Ãp&9ðc4Ãð1ÃÀ~6Ãðp7Ãð|5ÃП7Ãý7Ã`8Ã@.9à ì6ð¤>Ãpµ6ð¼:Ã0:ÃÀû6Ã0´1Ã*;ÃÐ¥6ÃÀï8ÃPê5Ãz8ÃPg6ÿ7Ãðá9à u5Ãp¯7Ãðp7à×/Æ6ÃB7ÀY7ðì2à•:Ã09Ãp27ði3Ã’4ÃPm5ÃÀ–2ÃPÞ7ð‡.Ãð‚4ÃN5Ãðˆ3Ã’8Ã0Š8ÃPg6à i7Ãð‚4Þ2ðu1Ãðj8ÃÐ(6ðæ3ÃpÇ3Ãàa3ÃP1Ã06Ã!6Ã`š4ÃÐ.5ð]5Ãð|5ÃPÞ7ÃpÁ4à ø4ÃàÆ7ÃÀr8ÃPð4Æ6à i7ðò1Ã`Ž6ÃP2ÃN5ðÚ5À}1Àq3Ãf1Ã07ðÂ9Ã@Ã5ê4Àô2Þ2Ãp :ÃŒ9Ãàs0Ã@j/ÃpD4à<4à o6Ã×3Ã5ÃpV1ÀY7ðþ/Ã?1ÃP‹0Ã`4ÃÀ6ÃÀ¨/Àƒ0Ãã1ðò1Ã0–6à {4ðc4ÃPg6à ‡2Ã`¸/àB3Ã0º0ÀÜ6ðu1ÃÂ0Ã@Õ2ÃÐÃ1Ãl0ðø0Ã`¦2à9à;Ã7Ã3ê0Ãб4à ]9Ã@Ã5ðò1Ã@F5Ã0¨3Ãp»5ÃP2Ã’4Ã07Ã`‚8ÃÐL0à {4Ã`Y*à 2Ã@p.Ã0Æ.Ã-0ðà4ÃÐF1à ‡2Ã33ÃPa7Ã'5à ‡2ÃÀé9à=à­6ÃÀï8Ã@@6ðà4à65ÃPI;à “0ÃH6Þ2à u5ÃK/ÃPö3ÿ7Ãð2Ã07ÃpÍ2àB3Ã@<Ã`8à 3ÃÝ2Ã-4Ã0À/Ã`š4à*7ÃÀ=,ÃŒ5ÃÀû6ÃÀf:à à8Ã7ÃÀ6Àw2ÃÐL0ÃÐá,à {4Þ2Ã@á0ÃPm5Ãã1à c8ÃÐ.5Ã`ˆ7Ã`50Ãðˆ3Ãð¦.Ã9.Ã’8Ã69Ã8ÃPg6ÀM9Ãðj8à K<à 3ÃP/ÃÀ%0ÃpÙ0À0à þ3Ã0´1Ã@í.Ã'1Ã@É4ÃÂ0Ãf1ÃPy3Ã012ðª=Ãp©8à c8Ãp»5Ãðj8Ãàê1Ãr/ðW6ÃÀ2ÃŒ5Ãб4à¿3Ãð0Ãàm1ðK8À‰/ÃàC8Ãðí7ÃàÞ3ÃП7À /àB3Ã`#3Ãà7:Ã0À/ÃÐÕ.Ã?-ÃPy3Ã`6Ã`ÿ8Ãàa3Ã9.Ã0¢4à 6Ã0%4àÅ2ðu1à65à§7Ã`50ÃÀ–2Ã0´1Ã@:7ÃðÕ;ð-Ãà[4ðò1ÃÔ-ÃÐ44ðò1Ãðp7ÃpÇ3à ò5Àè4Ãpß/ÃÀ´-Ãð#/ðþ/ÃN5Ã05Ã0¨3ÃàU5Ãñ9ÀA;ÃÐ@2ÃÀ®.Ã'1ðÎ7Ãð¦.ÃPö3Ã4ÃàÞ3Ã`¾.ÃpV1ÃÀ3ÃP2ÃàU5Ãpb/Ã@^1ÃÀ´-À•-ÃP0Ãp¯7ÃPê5ðc4ði3Ãý7Ã`š4ÃpP2ÃP2à:Ã'5Ã0Æ.Ã@Û1ðì2À§*À}1ÃÀŠ4Ã`¬1à ‡2Ãðÿ4Ã`5ÃZ3ÃЙ8ðK8ÃÐ<Ãl0Ãà&(Ã012Ã0´1ÃpJ3ÃP&,Ãð¸+ÃP—.ÃÝ2àË1Ãðÿ4ÃpÓ1Ã4Ã0[+Ãàm1Àq3à ¥-ÃpÁ4Ã@48ÃÐL0Ã`/1Ãpb/À•-Ãз3ÃPy3Ã$<ðW6À.ü-Ã3/Àq3ÃÐ44Àƒ0ÃÀ2Ã0®2ÃT4Ã@#&àT0Ãðj8ÃÐX.à 3Àw2à¡8Þ2Àô2àé,Ã@á0ÃP2Ãàm1Ãã1ê4À¡+Ãx.à³5ðc4à 3Ãð1Ã0a*Ãà&(ÃàU5Ã`5ä1Ãp*Ã`Ê,Ã0%4à×/Ã?-Ã0+3Ã`²0à×/Ãé0àï+ÃÐç+À›,Ã*Àƒ0ÃP‹0ÃÐX.à É'ÃÀ3Ãðÿ4Àw2Ãб4ÃÐ^-Ã`;/ð“,ÃPð4Ãð²,À**à(ÃP£,ÃÐÛ-Ã0C/ÃÀ1.ÃP/Ä,ÃK/ÃÐL0ðþ/Ãà‘+ÃpV1Ãн2Ã-Ãà+Ãð#/à (-Ãðš0Ãð1Ã`5Ã@Û1ÃÂ,Ãf1Ãà.Ö)ÃðA*ð,ÃðŽ2Ãð;+ðþ/Ãàü.Ãð¬-Ãp€*à (-ÃK+à ‡2ð{0ÃÀ+/Ã`²0ðW6ÃÀŠ4Ãà‘+ÃÐó)ðc4Ã@ˆ*à 'Ãpñ,Ãà )Ã0+3Ãã1ÃÐá,ðŸ*Ãà—*àé,Ã@‚+àé,Ã0Æ.ð+ÃÔ)ÃpŒ(ÃÑ4ÃÀ2ÃpD4à`.Ã@ù,Ãpý*ÃŒ5Àq3ÃpŒ(à ¥-à .,Ã`M,Ã5Àô2Ãà—*Ã@@6ÃpV1Ãàü.Ãàs0Ãp÷+Ãï/Ã],ðò1àZ/ð‡.ð“,Ã@ *ð/Ãû-àl,Ã`Ö*Ãc+à “0ÃÐd,ÃpÙ0ÃE,àl,Ã0Þ*Ã~-à`.Ãð¸+à @)Ã{'Ãàö/Ãàa3Ãð).Ãp(ÃÐd,ð-Ã`Ž6Ã@|,àl,Ã@½6Ã*Ã@X2Ã@X2Ã`A.Ãpß/Ãàm1Àƒ0ÃÐd,Ã@ˆ*ÀÑ#àf-à 4+Ã`¦2À0Ã07Ã0O-Ã?-Ü(ÃÐR/ðø0Ã9.Ã~-Ãpñ,ÃK+Ã4ÃЙ8Ã@^1Ã`¸/ÃÎ*ÃPµ)Ü(ÃÀ3ÃÀ3àZ/Ã0O-ÃÐR/Ãà…-à “0Àî3ÃÑ4ð‡.Ã`)2Ã@@6ð“,ÃP&,Ãàm1ÃP…1Ã0Ø+Ãõ.Ã@j/Àâ5Ã?1À_6ÃÈ+Ãp†)Ãõ.Ã0¨3àT0ÃPü2Ã`¦2ÃÀ%0Ã@Õ2Ã@p.Ê+à×/Ã@á0Àw2ÃàI7Ã0%4Ãp÷+Ã`Ê,à (-Ã`A.à Ÿ.ÃE0Ãx.Ãàð0ÃpP2Ã0+3àÑ0Ãð).Ã`#3àé,Ãð2Ã0¢4Ãà£(à 3Àú1ÃPü2ÃÐ:3ÃÐá,ð/Ã@Û1À‰/Ã`;/À›,ÃÐL0Ã0+3Ã-Ãp*Ã0Æ.Ãà[4ÃàÒ5ÃÐÃ1ÃÐj+Ã0s'Ã`/1à «,ÃP -Ãã1À‰/Ã0Ì-ÃÀÌ)Ã0+3à 2à (-Ãà'Ãà‘+ÃÈ/Ãð#/ÃÐX.Ãp86Ãð4ðŸ*àÝ.à06ÃÎ*ÃpÇ3ÃT4à 1ÃÀ7-ê0àË1Ã`;/à “0ÃÀ´-ðò1Ãp>5à65ÃÐL0Ã@á0ÃðM(à ¥-Ãi*ÃP>(ÃP©+ÃÀ+/ÃÐÛ-Ã@Õ2Ãpß/ÃГ9ð]5Ãð /ÃÀ5Ãð 3À0Ãð 3ÃÐ"7ÃÚ,Ã`¾.Ãõ.ÃÀ1.ÃÀ1.ÃPü2ð]5Ã?1ÃÀ3Ãàa3ÃP-ê0à +Ãà…-àf-ÃPm5ÃàÒ5ÃðA*Ã0I.Ã0I.ö.Ãð¬-Ãð /À6(Ãàm1ÃÀº,Ãð¦.ÃÐÃ1Ã0=0Ãàs0à 3Ãàä2ð/ÃPy3ü-Ãæ&À_6Ãð#/àÝ.ÃÀõ7Ãðš0ð.(Ã@X2Ã@½6Ãðÿ4à u5àZ/Ã0+3Ã0¢4Ãàê1à 0à×/Ã`)2Ãr/ÃÔ)à ™/Ã0Æ.Ã0º0ÃpÍ2à&ÃðÖ&À-Ã@½6Ã@Ï3Ãàa3ð .ö.Ãð0Ãn:Ã-0Ã?-Ã÷8Ã`2Ã0m(à Ÿ.Ã'1Ã,À.Ãð|5Àe5ÃÐ@2àÝ.À /Ã`;/ÃÀ1à þ3ð+Ãph.ð/à .,Ö)À›,Ãpn-Ã0%4Ãpn-Þ2à c8Ü(À1Ãðš0Ã,Ãpñ,àÑ0àf-À.Ã*Ãpb/ðþ/Ãp'À­)Ãð‚4Àè4Ãp»5Ã~-ÃpÙ0à(ÃP—.Ã012àT0ÃpP2Ãà+Ã@ù,Ã0¨3Ã-0ÃÐv)à(Ã`/1ÃÀ´-Ã*Ãpb/ð«(à ½)ÃÐÛ-Ã0=0ÃP2à ™/Ã69ÃÝ2Ãò(àõ*ÃÎ*Ê+ÃÀ=,Ã3/Ãx.ðþ/Ãð¬-Ãõ.ð«(ðþ/ÃÀÀ+Ãph.à ½)Ãð¸+À¡+Ã0O-ÃÀ3Ã@X2ð/ÃÈ+À0)ê0àÑ0ÃP.Ãð;+Ã`50Ã`¸/Ã'1ÃP1à×/à 4+Ãõ.ÃÐù(Ã@‚+Ä,ÃÐ^-ð{0Ã`5ÃÐá,àï+Àw2Ã0œ5ð¥)Ãð¦.Ãpå.Ãc+ÃÐ@2ÃÀ´-Ã`Ð+Ã`A.ð-Ã@p.ðø0à ½)Ãpß/Ã0®2Ã`Y*Ãàs0ð‡.ÃÐX.Ã`Ä-Ç%Ãf1à ¥-Ãpå.Ã~-Ãð5,ÃÀØ'à 4+ÃÐv)Ãl0Ãpñ,À}1ÃÀ1Ã@í.ÃÀ 4Ãà+Ãàµ%ð-ä1Ãà*ÃÀÆ*ÃÐX.À‰/Ãð¬-ð‡.À.ÃP‹0Ãð²,Ã0a*ðŸ*ð«(ÃÀ´-ÃP8)Ãpý*ÃàÞ3ÃE,ð¥)àN1àN1Ã0+3ÃÎ.à<4Ãày/ÃP8)ÃÎ*Ãf1à³5ðþ/ÃÀ 4Ã],àÝ.àN1à (-ÃQ.ÃÀ 4Ãp\0ÃÀ–2ÃpÓ1Ãðù5ÃàÒ5Ã92Ã@ÿ+Ã`50Ã@d0Ã0C/ð,Ãph.ÃP…1Ã,Ãp*ÃÀ+/ÃpD4Ã`G-ÃÐ^-àN1ÃÐF1Ãð|5à ‡2ÃÑ4Ã4ÃÐá,À.ð()ÃÀ1.ð“,Ãàö/à Ÿ.Ø3Ã`4ÃÐÃ1Ãpë-ðW6ðþ/àr+ÃPö3Ã{'à þ3ÃÐÛ-ü-Ãàs0Ãõ.ð/ä5Ã@ç/Ãp\0ÃP/ÃPU9ðAÀA;à>ÃÐ<ÃË5ÃÀ2ðc4à 3ÃÀ~6ÃÐÛ-à&Ãà+ÃW-Ãï/à /ÃpJ3ÃÀé9Ã7Ãð¦.Ã@@6Ãà=9ÃÀ„5Ã`#3Ãðš0ä1Ã0´1ÃàÌ6ðE9à­6à {4Ã0¢4Ã0+3Ãc+ÃP.Àú1àé,Ã`/1ðø0ÃÀ+/Ãàs0Ãð”1À0ÃpÓ1Ãà‘+Ãà.ÃðA*ÃPµ)ÃP0Àè4ÃW-à «,Ãб4Ãpå.ÃP‘/ÃK/ðà4Ãð‚4Àk4ÃP2Ãð²,ÃÐÛ-ÃÀ®.Ãpb/Ãðÿ4à “0À,Ãï/Ã`²0ÃÀ´-Àƒ0ÃÚ,Ã@ó-ÃÀ1.ÃÎ*Ã0U,àû)ðŸ*ÃP&,Ã@Õ2ÃÐ¥6Ã`è'Ã0I.Ãp÷+Ãàm1À /Ã0´1Ã`¦2Ãз3Ãpå.Ãàm1ÀY7ÃP1ð-ü1Ãàê1Ã~-Ã0O-Ãàa3Ãï/ÃpV1Ã0Ø+ÃÐL0ð/Ãày/ÀA;Ãàö/ÃPü2Ãpb/ê0ÃT4ÃÀ=,Ãàê1ðæ3à 3ÃQ.Ã@+ð+Ã@^1Ãã1Ãc+ÃÎ.Ã0œ5ÃÀ+/Ãð¸+ÃP,+Ãp&9Ãp>5Ãû-Ã0º0Ãé0Ãà,Ãн2ÃÂ0àT0Ã`A.Àô2àx*Ã0Ì-Ã@ù,Ã0I.Ã0Ø+ÃÀ¨/ÃÐÕ.Ã33À7Ã@½6ÃPö3Ã@^1ÃK/à 2à Ô:ÃÐ"7ðW6àÅ2Ãé0Ã`¦2à)ÃÐ^-ÀÜ6ÃÐF1à ‡2à 1ÃPs4Ãðá9ÃЫ5Ã0x;ÃPI;Ã÷8ÃN5Àe5Ã@:7Ã×3à u5Ãð4ðu1Ãð 3ÃŒ5ö2Ø3Ã7ÃpÙ0à 3à65à¹4Ãàg2Ãб4ÃÝ2Ãз3Ã`)2ðø0Ã-ÃPs4Ão)ð3ÃÐ8ÃП7Ãr/ð-Ã@p.Ãð/-à (-à 2Ãàm1ÃàU5àN1ÃpV1ÃPö3ÃàÀ8ÃÐ.5ÃÐÉ0Ã`¦2ÃpÁ4Ãð4ÀÜ6Ãñ9ÃÀé9ÃPm5Ã@F5Ã0¨3Ãð¦.àã-ÃÐX.ÃÀ3ÃPö3ðu1Ãðù5àT0Ã@Ï3ÃT4Ã`¸/ðþ/ÃE,ÃÐ44ÃП7ÃÀ5ÃÀx7Ã@X2Ã`8ðÎ7Ãõ.Ãà.Ã,Ãð4ÃPö3ÃàU5ÃP—.Ãp¯7Ã÷8ö.ÃÐ44Ã4Ã`¾.àË1à æ7ÃÀŠ4ÃP.Ã3/Ã@X2Ãph.Ãpz+Ã@í.ÃPð4Àk4ð/ÃË5ÃP©+Ãp'ÃÐ:3ðæ3ä1ÃàU5ÃPg6Ãðˆ3Ã@(:ð/ÃpD4ÃP‹0Àw2Ãð0ÃPä6Ã?1Ã'1Ãpß/ÃpÙ0Ã0œ5ÃPü2Àú1Ã@½6Ã`š4ÃàO6Ãp\0Ãð/-ÃpJ3ðž?ÃPÆ;ÃPg6ÃÀ6ÃpP2Àe5ÃpÁ4Ã`/1à (-àf-Ã5Ãðù5ÃÐÕ.Ã÷8Ãðá9ÃÀ6ÀÖ7Ã`6Ã@(:Ö)à 3Ã06ÃЇ;ðo2ðW6ÃàI7Ãàa3ðæ3ÃPê5à 3ÃÅ6ÃPÞ7à 2Ãà,ÀÜ6Ãàð0Ãà=9à ¥-ÃÐL0Ãàö/ÃàO6ÃЙ8à65Ãr/Ãð¦.Ã@”(Ã`M,à /ÃPy3Ãà7:à (-ÃЙ8ÃÀ 4à65ÃàÞ3Ãé0Ã0~:àÅ2à×/à {4Ã@F5Ã@·7ÃÀŠ4Ã'1ÃpV1ði3ÃàÒ5ðÚ5ÃÀ2ÃЫ5ÃÝ2à*7Þ6Ã3Ã@d0Ã`G-Àô2Ãp86ðc4ÃÀ3ÃPÞ7Ã÷8Àô2ðu1ÃPy3ÃàÞ3Ãpß/Àw2À}1ÃÐ(6ÃÐÛ-ðo2ÃP…1ÃÀ6ð/Ã`G-Ã0À/ÃÀ¨/àã-Ãp»5ÃP‹0ðo2ä5Ã0–6Ãpµ6Ãà[4Ã`50Ø3Ã@d0Ã0¢4Ã` 7Ãàm1Ã`;/ÃÈ/Ãàê1Ãp©8Ã0õ;Ã@(:Ã5à þ3ÃðÛ:Ãð|5ÃÐ44à‰<àÅ2à 1Àq3Þ6Ã`Ž6ÃpJ3ðQ7àT0Ãð¦.ÃpÙ0à 3ÃpÇ3ÃàO6Àâ5ÃàI7ðæ3Ã0®2Ã@½6Ã07àB3Ã-4Ã@Õ2ÃÐ¥6ÃP‹0Ã'1Ã@ç/Ãp»5Ãð²,à .,à 1ÃàI7à¿3Ã05ÃÀ7-Àw2Ãà[4Ä,ÃPö3Ã0¨3Ãð¬-Ã3à06Ã`Ž6ÃÀ2Ã33Àî3ÃàÆ7ÀÐ8ÃÀ3í:Ã0Ì-à u5ÃÀŠ4Ã-Ãàö/Ø3Ãð^:Ãðš0ÃPü2ÃPa7Ãã1à¡8ðc4Ãr/ÃàÇ"ÃÀÀ+ÃàÒ5ÃÐj+Ãà.Ãðv6à “0ÃàO6ÃÂ0ÃðŽ2ði3ÃP0à 3àB3àÝ.Ãpå.ÃB7ði3à06Ãð 3à ò5Ã@d0Ã@Ã5àÅ2à (-Ã`²0Ãàð0Ãf1àÅ2ÃP2Ã!2ÃàU5ÃpJ3Ãf1Ã3/ÃpJ3ö2Ã@ç/ÃQ.Ã3/Ã09ÃÀ1Ãp27Þ6Ã@R3Ã0%4ÃK/à§7Ã@Õ2ÃŒ5àB3à W:À.à 2Ãàs0Ã3/Ãð).Ãã1Ãð2Ã@^1à65à þ3ÃT4ðu1Ã@R3À-Ã92Ã05Ãp\0ÃPð4ðo2ÃðŽ2Ã@X2ÃÐ@2ÃŒ5Ã0®2ÀÖ7Ãày/Ã`ÿ8ÃÐWCÃPs4ÃÀ2ÃË5Ãð /àé,à ".Ã5ÃÐ44Ã@F5Àq3ÃÀ¢0àÑ0à 1Ã`50à 1Ã` 3ÃpV1ÃÀ–2Ãð).ÃPg6ÃÀÀ+Ãà.ÃP-Ã`²0Þ2Ãàm1ê4ÃÀº,ÃpJ3Ãð 3Àâ5À0Ã@X2ÃPO:Ã0À/à 2Ãr/ÃÐ(6Ã`#3Ã@É4à /Ãû-Ã@X2Ã×3ÃPy3ÃPm5Ã`¸/Ãû-ÃPs4Ã0À/Ãð¦.à ‡2ü1Ã@F5ðþ/Ã’4Ã'1à {4à×/Ã`²0ä1Ãðš0à «,à ‡2Ãð”1Ãð#/ÃÐí*ÃP/ÃÈ/Ãð 3ÃÀ%0ÃÀÀ+ÃÀ®.ÃPm5ÃÀ¢0Ãð /Ãpn-ÃÔ-Ã@d0Ã`¬1ð/ÃÝ2Ã` 7ÃÐá,ÃÐF1ÃË5Ãàö/Ãàö/Ãð /Ã@Õ2Ø3à<4Ã3/à~)Ãð”1Ãà,ÃP2ÃPê5Ãà[4ÃH6ÃÀ5àZ/à ‡2ðþ/Ãpb/Ã0Ì-Ã0=0Ã?-ÃÐÉ0ÃÐ@2ÃÀ+/Ã@R3Ãà‹,Àî3Ã`)2Ã0®2Ã`¬1Ã0I.ÃÀ1.Ãà>$ÃpV1Ãp»5Ãr/Ã09ÃpÙ0à 2Ã0´1Ãð 3à “0àf-ÃpÍ2Ãн2ÃÐX.Ã0O-à 0ÃP1ÃÐÃ1Ãðˆ3à Ÿ.Ã],Ãð‚4ð/Ã`8ðc4Ã`Ž6Ã*;ð-ÃÔ-ÃÀ%0ÃÐ44ðo2Ã0a*Ã071Ã`A.à 3Ã09ÃPg6ÃÐR/Ãðp7Ã`¸/ÃÐÃ1ÃPü2Ã8ÃÐá,Ã0I.ÃpÙ0ÃÐÕ.Ãã1ÃÚ,ÃðÄ)àÝ.ÃÐ:3Ãð”1àf-Ã`Ä-À0Ã-4Ã3/Ãé0Ã`2Ã@^1ÃP‹0ÃÐÉ0à “0Ã`Ä-Àú1àN1àÅ2ÃPä6ÃÐ(6ÃÈ/Ãà+Ã92Ã0œ5ÃP2Àè4Ã0´1Ã`|9ÃZ3ÃÐF1ðo2ðc4Ã`¸/Ãp:ÀÜ6ü1ÃàU5Ã0%4ÃPm5Àq3ÃÀœ1Ãà-ÃÀ2ÃPy3Æ6ð/Ã012ð3ÃP…1ÃÑ4Ã@X2ðÚ5ÃPa7Ã@«9à$8à›9àË1Ã`;/Ãàä2Ã0+3Àe5ÃÐ(6Ãà[4Ãðv6ðì2à¿3à 0Ã`¾.Þ6Ã@±8ÃÐL0ÃZ3ÃðÛ:ð/ÃÀ2ÃP2Ãp86ÃП7Ã`Ö*ü1à 3ÃàI7ÃpÍ2à ]9Ã’4ðu1ÃŒ5ÃÐ¥6ÃÀŠ4ÃÐ.5Ã@L4ðæ3Ã×3ÃPm5ÃÀ„5ÃàC8Ã09ÃÀ6ðc4ÃK/Ãpn-ÃÀ%0Ã@™<ðc4ÃPØ8ÃàÒ5Ãàü.Æ:ÃpP2à .,Ã`)2à65ði3ð-Ã0Þ*ÃpV1Ãp;Ã`Ž6ÃÝ2ÃÀ3ðæ3à*7Ã07à¡8Ã@“=Àƒ0Ãð1ðò1ÃÀ~6Ã@½6Ã0:ðÎ7Ã@·7ðQ7ÃPü2Ãàa3Ãз3Ãl0Ã`50ÃЇ;Ãð|5Ã`í;Ã`ù9Ã05Ø7Ã0+3ÃPÞ7ÃÀ 4Ã`4Ã3Ã@@6Ã'1ÀS8ð3ÃÐ{=à u5ÃpÁ4Ãr/à06Ã@É4ÃÀ5Ã`”5Ãý7Àk4Ãé0Ã`Ð+Ã4Ãý;Ã0¨3Ã0–6Ã0Æ.ÃT4ÃàU5Ã`#3ÃÀ~6Ãðv6ÃЙ8ÃðÛ:Ãp»5à 3ðE9Ã`v:Ãý;ÃÀ=,ÃB7Ãn:Ãðj8Àƒ0Ã071À_6à¹4Ã?1Ã÷8ðc4Ã0=0ði3Ãp©8ÃÀï8ÃàÞ3Ã`š4Ãï/ÃÀŠ4Ã`‚8Ãðí7Ã0¢4Ã92ðÔ6ÀY7Ã`‚8ÃÐ(6Ãû-à¹4ÃÐÉ0Þ2ÃÎ.à<4Ã`8Ãp÷+àT0Ã@^1Ã-4ÃPö3Ãpß/Ãð 3ÃPa7Ã4ê0Ã0®2ÃPö3À7ÃÀ2Ã`¸/ÃP0Ã0®2ÃÐ:à ".À.À•-ÃÀ„5ÃÐá,ÃE,àH2à 6Ãð1à o6ÃZ3Ãð0Ã0Ò,Ã`¬1Ãн2Ã-0Ã`¦2àH2Ã@X2à ‡2ÃÐL0à 1Ãõ.Ãà[4ÃP2*à 3Ã4Ãð /Ã0g)Ã×3ÃàÞ3Þ2Ã@á0ÃÐ|(Ãp(Ã`;/ÃÐX.Ã@Ã5ÃÐó)ÃÀ=,Ã0®2ÃÀ1ÃpÁ4ÃðŽ2ü-Ã`)2àT0à 1Ã@v-Ãðÿ4Ã5Ãpß/ü1ÃÐd,ÃÀ~6À}1à³5À}1Ãàa3Ãph.Ã×3ÃÅ6ÃpJ3Ã`Ä-ÃàI7Ãð1Ã`/1ÃÐá,ð]5à­6Ãà.à×/àÑ0ê0à “0Ã@‚+ÃÀ3ö2à„(Ãàü.à ™/Ã`A.ÃðA*Ãð2Ã`¾.Ã3ðc4àË1à 0Ãx.ÃÀ+/ÃÀ%0ÃÀ–2ÃP1ðþ/Ã0œ5ÃpÇ3Ãðù5Ãp>5ÃÐR/ÃÝ2Ãð0Ã?1ð/Àq3ðì2ð-ÃP0ð“,ð,ä1Ã'1Ã×3ÃÀŠ4ÃpD4Ã-4Ã@X2Ã0¨3ÃÀ„5Ã'1ÃÀ–2ÃÐÏ/ê0ÃÐÉ0à c8àÝ.Ãp>5ðE9Ã012ði3Àú1ð-àÝ.Ä,Þ2Ãpå.Ã`;/ðò1à~)Ãàg2àÅ2ÃÀŠ4Ãp»5Ã0œ5ð-ÃPµ)àã-à ™/àé,à`.à «,ÃK+Ã'5ÃÐ.5ÃÀº,Ãàµ%Ã0[+Ã@í.à9ÃÀ1Ã`)2ÃŒ5Ãr/ÃÐ^-à¿3ÃÀ%0ÃÐÉ0à06ÃPy3ÃÝ2ÃðA*àï+à “0è&Ã!2Ã@F5ðø0Ãàð0Ã`¸/ÃÀ¢0ðà4Ã?1ÃP/Ãàm1ð+Ã0´1ü1Ãðÿ4Ã0´1àé,ÃPy3à þ3ÃpÇ3Ã0®2Ãx.ð/àT0ÃT4Ãн2Ã@Õ2àZ/Ã@^1À•-ÃPä6Ã@Ã5ð/àN1Ãð 3à 0ÃpJ3ÃЂ'ÃÔ-Ã`)2Ã0I.àH2Ãp»5ÃàÞ3ÃàØ4ÃÀ3Ã`²0ÃÂ0À1Ã33ÃpP2Ãé0À¡+Þ2ð .Ãi*Ã`2Ã@ç/à ‡2à`.Ã` 7ÃÀr8Ãàa3ÃT4Ãð).ÃpÓ1ÃÐÏ/ð{0Ã3/À-ÃpÙ0Ãl0Ã@ˆ*Àƒ0ÃQ.ÃQ.à ™/ðÚ5ÃP©+ð,Ã@É4ä1Ãày/ÃP-Àú1Ãð”1à /Ã`Ê,à “0Ã0C/ÃÀ 4Ã0Þ*Ã,Ã0®2ÃÐL0ÃpP2ÃQ*Ã0~:Ã0Š8Ã-4Ãpß/Ãàg2Ãp(ê0Àƒ0ÃÐÏ/ÃÀ2àH2Ã@ç/Ãð4ðò1ÃÀ3Ã0®2Ã-Ãб4Ã0%4ÃÈ/ÃÐÛ-ÃÐ(6Ã0œ5Ãf1ðu1à 1ä1Ãr/Ãp\0à æ7Æ6ÃàØ4àõ*Ãpn-ÃàÀ8Ãð /Ãð”1ÃpV1Ã`¦2à 2Ã`/1Ãp>5Ãý7ÃàO6À.Ãà,Ä,à ø4ð™+À /à 6à ø4à (-Ãðÿ4àË1Ã@¥:ÃÀõ7Ã`;/Ãð#/àN1à 1ðc4ÃÐ9À1à u5àË1àË1Ãx.Ãp»5ð{0ðu1Ã` 3Ãð²,À.Ã!6Ã07Ã`4Æ6Ã0%4ÃÐ^-ÃÈ+Ã0=0ÃÑ4Ã-Ã`#3ê0à 2Ø7Ãæ*Ã0+3Ã@^1Ã`/1ÃÀ´-ÃPy3Àâ5À0ðæ3àT0àË1ÃQ.Ãp>5ÃP£,ÃÐL0ä1Àƒ0ÃpD4ÃH6à ™/ÃÈ/Ãàs0Ã@d0Ã`Ð+Ãàð0Ã@@6ÃàÒ5Ã@á0Ãàs0Ã0ê(ÃP0Ãp\0Ã!2à þ3ÃP.ÀY7Ã’4Ãà+<Ã0„9Ã`Ê,ÀÅ%À}1Ã0Ø+àH2Ã`²0À‰/ÃÀ1.Ã0=0Ãàð0à 1Ã0´1ÃT4Ãl0Ãr/ÃÑ4Ã@ó-À‰/Ãð#/Ãà.ÃP»(ÃP…1Ã`¾.Ãþ&Ã?1ç;Ã`¸/ÃÀO)Ã`²0Ã!6Àw2Ãàa3àZ/Ã@š'à 3ÃÐÏ/ð-àH2Ã`¸/ÃÀ¢0ÃP/Ãàg2Ã?-Ã](Ãï/ð‡.à (-Ãà.ÃP1Ãà+ÃP0à*7ÃpÓ1ÃÂ0ÃE,ÃpV1Ãõ.àH2Ãð/-ÃP.ð3Ã`”5Ãàê1àT0àË1Ãï/Ã0[+ÃP1Ãà…-ÃPy3àB3Ã012À.Ã`Ö*àZ/Ã0œ5Ã~-Ãð¸+à «,Ãpå.ÃÐj+Ãpë-Ãt9Ã'1ð]5ÃP2Ã`/1Ãð¦.àl,Ã`Y*Ã`S+à Ã(Ã@|,ÃPÞ7à {4à /à þ3ð«(À.Ãðù5À‰/àr+ð"*Ãð/-Ã0À/Ã0–6ÃP.Ã0´1ÃÀ1ð-Ã`S+Ã0=0Ãðp7ÃÀ1.Ã3/Ã`²0àÅ2Ã`#3à u5ÃP.ÃÐL0ðu1Àw2ÃÀ2Ã@X2À}1ðŸ*Ãày/ð/Ãðˆ3Ãà‹,ðo2Ã0¢4Àw2Ãð4ÃÐ|(À§*ÃÀ+/ÃÀ¨/ÃPm5Ãp»5Ã`”5Ã@L4ÃP2ö.ÃP1Ãp,8Ã0+3Ã@v-Ã`Ê,Ã69ÃÈ+Ã9.à /Ãðd9Ã`50À‰/Ã0+3Ãð‚4Àk4àã-ÃÐX.ÃT4à ".à¿3Ã0œ5Ãð/-Ãàä2Ã`G-à¿3Ãð¸+ÃÐL0àË1Ã`/1ÃpV1Ã@Õ2Ã,àT0Ã0¨3Ã071Ã@í.Ãà‹,Ãpå.Ã0Ø+ÃpÁ4à 2Ã`¾.ÃÚ(àN1ÃŒ5Ã0C/Ãã1À /ÃÐp*ð/Æ:ÃpJ3ÃÀO)ÃP…1Ãàg2Ãàä2ÃÔ)Ã`5Ã*;ÃŒ5Ã0¢4Ãð”1Ãð1àõ*Ã`²0Ãé0Ãi*à)Ã0m(Ø3ð‡.Ã`)2àË1à (-Ã@p.à {4Ãõ.ð]5ð-Ã3/Ã0À/ÃÀ„5Àƒ0À.Ã’4Ãð1ÃP-ÃÀ+/Ãð‚4Ã@d0Ãpý*Ã0À/Ã0+3Ã0=0ÃÀ1.àT0Ãpß/à ò5Ãð¦.à 0àÝ.Àî3ÃàO6àé,Ãæ&ð()Ãàg2Ãpn-ÃÀ®.ði3ÃðŽ2Ã-0Àk4Àk4ü1Ãð‚4Ãpµ6ÃÐ"7Ã`í;ÃàÆ7À}1ÃP2À /ü1ÃpV1Ãàm1ÃP.ä1ÃP0à 1Ã@L4ÃГ9ÃàC8à i7ÃЫ5à i7ðÈ8ÃPs4Àâ5ÃPÆ;Ã÷<à>Ãp‘<Ã?à=àkAÃp[EÃ_GÃÀJûFÃ`·DÃàûCÃ0§HÃpgCÃKðåHÃð(CàGGÃ&Jà)LàPÃàOÃÀJÃà¹NÃ0úOÃÀÜPðµPÃNÃðNð>OÃÐ!LÃ0ÅCÃMJÃ;MÃ`KÃðÎQÃ@3MÃp%NøMà¾HðÇMÃPéJÃpÀIÃÀeOÃàÑJÀùFÃ`KÃPTNÃà³OÃàTJÃîDÃpUFÃ0³FÃÜGÃ…KÃÀHÃðFð\JÃðoLÃpCIÃ0BDÃàNKÃVBÃðøJÃ@WGÃqDÃp+MðzEÃeFÃpÌGÃÀ¿@ÃÀFÃpÒFÃÀ¡EÃ@iDà KÃpmBÃ06FÃ0JÃ0$IÃ`ŸHà DÃP~GÃà~CÃðIÃ>FàÜCÃ@oCÃ@iDÀvGàAHÃ,EÃÇDÃ@ÔGÃ@òBÃpIHà¾HàÐEÃÁEÃàTJÃ>BÃ`™Ià ÷Ià †GÃh?ÃмGÃàÝHÃ&FÃ@{AÀ/>Ãð¥CÃpUFÃ}BÃkEðAÃÀ§DÃà@à GÃ@iDÃ06FÃÐÈEÃð±AÃ0Ý?àq@Ã@iDÀ/>ÃAÃPBÃeFÃpgCÀ#@ÃÀ¹AÃÁAàSEà Q;ÃPBÀBÃ2Dð†CÃP?Ãà~CðtFÀ/>ÃðÃ>Ã`:Dà_CÃÙAÃ`ÃBÃz<Ãñ=ÃúBÃAÃð±AðnGÃîDàSEÃôCÃÐì?Ã@òBÃðÉ=ÃðR<Ãp…>ÃàïEÃP–CàkAÃÁAÃ0TAÃÐ<à °@À#@Ã`@CÀ)?Ãð·@ÃPœBÃð‡HÃp<ð€DÃPŠEÃ>Bà ¶?ðzEÀ DÃ`ç<ÃÐø=Û=ÃP==ÃH6Ãà?Ãà´:Ãà?Ãå;Û=ÀšAð CÃÀÀÄ:Ãp?Ãð.BàèAÃ07ÃPO:ÃPŠEÃpsAÃðÉ=Ã@<ðÂ9ÃÐ ;Ã`½Cà}>ÃàxDÀ)?ÃAÃ@þ@ðª=Ã`ç<ÃÙ=ÃVBà 3@à ¼>ÃÀN>Ãß<Ã?ÃÀ•GÃp‹=Ã?ÀM9Ãp86Ãë:Ãp‹=Ã0:Ã*;ÃÇ@à Ô:à K<À²=Ã0õ;Ãb@ÀAÃà¨<Ã\=Ã@þ@Ã0é=à ¶?ÃHà :ÃÐcAÃà AÃP¢AÃÀË>à}>Ãàº9ÃÀï8ÃPC<Ãà%=Ã?ÃÐ<ÃÐWCÃÐø=ÃÀË>õCÃ0›Jà JQÃwCÃÀ$EÃ0àú>ÃÐi@Ãp?Ã\Aàw?ÃÐ ;Ã`v:ÃÐ9Ã@™<Ãp :ÃðF>À²=ÃЇ;Ã@>À;Ã`R@à K<à Ú9ð¼:ÃAÀ;Ã÷8À5=ÃÀ¿@Ã`Õ?ÃÐ9ÃÀT=Ãà?Ã@Ÿ;Ãàœ>Ã0f>Ãpµ6ÀÄ:àú>Ãt9ðE9Ã69ÃÍ?ÃЇ;ÃPI;Ã@¥:à>À¾;ðà4Ãp‹=ð¶;à9à}>À¸<à Ô:ÃÐ ;Ã<8Àk4Ã`|9ÃÐu>à c8Ã@‡?ÀÄ:ÃPU9Ãñ=ÃË5Ã>à Ô:ÃÑ4ó9ÃÀï8ÃЫ5Ãðp7ù8ÃPä6Ã’8ð¼:ÃÀÝ;à È<À²=Ã07Ãn:ç;Ã0õ;Ãp»5à 9?ÃÀË>àN1Ã5ÃPI;ÃðL=Ã`j<à È<Ãà1;Ã`Ž6ð¤>à à8Ã@™<Ã`^>ÃÐ<ÃÀZ<ÃÑ4ÃÐ:ÃP==ÃàI7ð°<Ãý;Ã÷8Ã`/1À5=Ã÷8Ãå;Ãp&9Ãðv6Ãà AÃÐþ<Õ>Ã@ ?ÃÀÝ;ÀA;ÃðŽ2ÀÊ9ð9;ðÈ8ðo2à06ð'>À¸<ÃPg6Ã0+3ÃÀ–2ê4à ì6ÃŒ5Ã-4Ãt9ÃÀ5à ‡2Þ2Ãp—;Ã\=Ãà´:ÃÐi@Ã`í;Ãx.Ã`š4Ãz8ÀÄ:à:Ã`”5à {4ÃPÞ7Ã3Ãð‚4ÃPa7ÃÐ:ð@Ãñ9Ãб4Ãàä2ÃPä6à “0Àú1Ã07Ã06Àî3ÃpÙ0ÃП7À5=À_6ÃPÌ:Ã0Z@ÃPÆ;Ãp,8ÃPö3ð¼:Ã05Ã09à:Ãà[4Ãpµ6Ã@@6Ã0œ5à à8Ã@:7ÃPÞ7Ã@Ÿ;Ã`”5Ã0¢4Ã@¥:Ã@«9Ãp©8ö2Àô2ð9;Ãðv6Ãð‚4ÃB7Ãn:ÃPÞ7ÃЙ8Ã@+ð¼:à i7Ã8Àq3ðc4Ã@R3à 3Ãà=9ç;Ãt9ÃpP2ð¶;Ã5à 6ÃÀ6ÃpÇ3Ã`Ž6Ã0¢4ÃÐ"7Þ6ð]5Ã`#3Ã0®2ÃPU9ÃГ9ÃpD4Ã0–6ÃÐ:ÃÐÃ1Ã4Ã@Û1Ãб4ÃàÀ8ðø0ÃàC8Ãð^:à 3ÃZ3ÃÐ.5ÃpÁ4Ãð 3àË1àƒ=Ã@48Ã@L4Ã`)2Þ2ÃP…1Ãp>5ÃàI7à 2àÅ2Ãàm1Ãà[4Ã!6Ã@48Æ6Àô2ÃàU5ÃÐ ;à 3Ã@½6ÃPÞ7ÃPg6ÃÀ 4Àô2à «,ÃpÓ1ÃÀ„5Ã`Û>Ã` 7Ã@½6ÃÀ~6ÃPU9Ãý7Ã0œ5à þ3à 0Ã`Ž6ÃP2ÃÀl9À5=Ãð‚4ÀÊ9ÃÀ3Ãðd9ÃZ3Ãб4Àô2Ã÷8ÃP[8ÃàØ4Ã@«9Ã`LAðª=Ã0Ý?à 9?à:à ¼>ÃpmBÃÀ$Eà °@Ãp[EÃÀHÃàxDÃpUFÃIÃèEÃ@oCàAHà¦LðëGÃðGÃ0¡IÃ0¡IÃp®LÃ`«FÃÀ IÃ0›JþLðÇMÃ`ŸHàÄGÃð HÃÐNÃðòKÃðIÃpØEÃMøMÃÀKÃp+MÃÐnTËJÀdJÃð HÃð HÃ&FÃ`(GÑIÃà§Qà ßMÃ`iQÀÏMð‹WðµPÃðÂSà¦LÃPHPÀ.SÃÐýQÃ0ôPÃPÑNà VOÃÐ’NÃ0KÃLÃÐ'Kà >SÃÀ_PÃ`ìPÀ±RÃÄKðÙJÀ"UàNÃðIÃp¨MðÍLÃaQÃp1LÃ#Qà \NÃðoLðUàRÃPïIéIÃà§QÃRÃ@EJÃgPÃ@9LÃàBMÃLÃp´Kà ÁRÃmSð2Qà hLà hLàQÃ`oPÃØRÃÐNàNÃÀSRà \NÃ`JÃp„SÃP×Mà €HÃðFÃàTJðXÃðRÃ0›Jà¸I×LÃÊJÀ‚EðÙJÀvGÃ@ÈIÃà¿MÃжHìOÀ(TÃðNÃð{Jà tJð\JÃMJÃÐ!LÃ0¡IÃÀÜPÃpPÃpUFð÷EÃÀ IÃaQÃ#QÃðÈRÃÀHà FÃPfKÃâFÃÐOÃЪJÃàËKÃÐ PÀ±RÃÐOÃ@!PðPLÃPBQÃðWPà/Kà FàAHÃðàNÃ0§HàˆQÃ`"HÃÐ9HÃP`Là¦LÃÀKÃp+MìOÃ@EJÃ@cEà¾HÃ0$IÀ^KÃ@WGÃpUFÃPéJà tJÃ0¹EÃðàNÃàTJÃ0¡IÃÀ$EÃPûGà €HãFÃp¢NÃYHÃð‡HÃ@QHÀŽCÃp®LÃ0 MàSEÃh?ÃàrEÃpgCÃð“FÃÐ?GÃÀwLàÖDÃ}BÃ0HCÃPFÃ0NBà €HàSEÃ00GÃÜGÃ0³FÃÀÃàxDÃkEÃP–CÃP–CÃ@WGÃ0ÅCÃHà¦LÃ@þ@Ãð“FéEÃPûGÃÀ¡EÃP?ð†CÃpØEðDÃâFÃÐÔCÀEÃÍ?Ã8CÀ#@Ã`IÃà AÃð"DÃàïEÃ@cEðDÃ`“JÃ@=Ã`R@ÃPéJÃð¥CÃà%=ÃÙ=À¦?Ã&FÃpØEÃpØEà ŒFðAÃàrEà tJÃñ=ÃPº=Ãà>ÃÀ¿@ûBÃðŸDÃÐò>ÃPDÃèEÃàœ>Ã@“=ÃÀ$EÃÁAÃ@{Að’AÃ@ÚFÃðL=Ã`ÃBÃ0Z@ÃÐÎDÃ`·DÃÀ×<ÃP7>à K<Ã@{Að9;ûBðž?ÃàŠAÀ @Ãp‘<ð’AÃ>ÃJ@à ¶?ÃPÒ9Ãp27Ã`ù9Ã0Z@Ã@¥:ÃÀf:Ã\Aà 'Bà W:à Â=ÃÀã:ÃÐ{=ÃÀT=à ŒFÃP%AÃà@Ã`@CÃÐ9ÃP7>à E=Ãb@à <Ãn:Ã@ ?ÃÐò>ÃÐ<ÃÀZ<Ã0„9Ã=ÃP7>Ãn>Ã@>ÃÀN>Ã÷<Ã0`?Ãp?à Ô:à:ð¼:Ãàœ>ð3<ÃDAÃ@ ?Ãh;ÃP1?Ã@¥:à Ô:Ãp>ÃÀr8ðÎ7ÃÀZ<à>à›9ÃàÆ7Ãðd9ÃàÌ6ç;àú>Ãp¯7ðE9Ã`v:í:Ã`v:Ã`)2Ãð‚4Ã?Ã0é=ð@ÃðR<ð¼:ÃÐþ<ÃPð4Ã@Ã5Ãh;ÃP®?Ãð™EÃð.BÃpö@Ãpy@ÃàI7ÃPC<ÃÀf:Ã0Š8Ãý7Ãp27ÃP‹0à ò5Ãð^:ÃN5Ã@@6Ã0œ5Ã0–6Ã@<Ã0õ;ð-=Ãñ9ÃàØ4ÃÐ:ðQ7ÀÄ:ÃPÀ<À5=ÃàÒ5Ãð 3ÃàC8ÃàÀ8Ã@±8Ãp27Ã!6ÃP-Ã0¢4ÃàC8Ã÷8à$8ÀS8Ã`5ç;ÃÐ:Ãñ=ÃàÒ5ÀM9ÃPÞ7Þ6Ã09ÃË5Ã0:Ã@";ÃÀf:à9ÃÐ:Ãàg2Ã06à ¶?à>Ã@Ÿ;ÃÐ9ÃPØ8ÃÀx7Ã@™<Ã@Ï3Ã!2ÃÀû6Ã0Š8Ã`ù9Ã7ÃàÒ5ÃÐF1à <Ãð^:Ã`ç<Ãàa3ÃÀ6Ãp£9à³5Ã$<Ãð|5Ãñ=à 3Ã`¦2ÃàI7ðÔ6à <à¡8ÃPs4Ã`8ÃÐ@2À /ÃÀû6ÃPÀ<ÿ7ÃÐ9Ãp=à i7Ãðv6ÃðÏ<à§7ÃàØ4à æ7Ãpµ6ÀÄ:àú>Ãð|5Ãð:@Ãp27Ã06Ã’8à 3ÃÀ–2Ãë:Ø7ÃB7ÃÀr8ÃЙ8ÃPÞ7ÃÙ=à Ú9Ã`ù9Ã@½6Ã07Ã0:Ã8ÃÑ4Ã@48ð]5Ãðó6ÃŒ5ÃÀ3Ã0À/Ãpµ6Ã@:7ÃàC8Ãp,8ÃP2Ãp\0ÃpÁ4ðÂ9Ã0:Ãðj8ÃpÍ2Ãðá9ÃŒ5Ãð 3Ã`5Ø3Ã!6Ãðí7Ã@<Ãð|5Ã06Ã<8à ò5Ã@·7Ã69Ã`|9Ãpµ6Þ2ÃÂ0ÃÀ3Ã0~:Ã`5ÃÀ6Ãpå.ð]5àÑ0Ãðÿ4Ãp,8Ãp;à­6Ã@d0Ãp©8ÃpÍ2Ã;ÃÐ.5ÃÀõ7Ã0û:Ã@¥:Ã07ü1ÃàI7à Î;à•:Ãp86ó9ÃÀ–2ÃÀ 4Ã`)2ÃàÒ5ÃpÁ4Ã`#3ðø0ðE9ÃÐ<Ã@É4Þ2ÃÐ:3ê4àN1Ø3ðò1à {4ÃàO6ðÎ7àH2Ã0¨3à`.ÃàO6à¿3Ã@F5ÃÀ–2ÃPg6Ã`8Ã3à³5à 2Ãt9Þ2À7ðK8Ã<8ðc4Ãðˆ3ÃàØ4ð3Ãб4Ãp27ÃpJ3Ã3ä5Þ2ÃPü2àÑ0ÃPØ8Ã@d0Ãðˆ3ÃPð4ÃÀ5ÃPg6à à8ÀÖ7ÃÐ(6Ãðù5ÃÐ:à ™/ÃÀ2Ã05Ã@^1ö2ðÂ9ç;à¿3Ã`6ÀG:ÀM9ÃàO6Ã0º0ð-ÀG:Ã`ù9ð3Ãð¬-Ã07í:à Q;Ã@:7ÃË5à$8Àk4Ãàa3ä1Ã` 3ÃÐL0ðò1Ãб4ðW6Ã÷8Ãð4Ã0–6ÃpÍ2Ãß<Ã@d0Ãðˆ3ÃàÌ6ði3ðW6à ò5ÃPö3ð/ÀÐ8ÃH6ðÎ7Ã`)2Àî3ðo2Ãðó6ÃЫ5ÃÀ–2àû)ÃÐ¥6ðW6Ãз3Ã05ÃŒ5Ãз3à þ3ÃŒ5ÃpÓ1à 2à ‡2ÃàÞ3ÃÀ5ÃÀ–2Ã;ÃPü2Ã@Û1à c8Ã0û:ÃÀ 4àÑ0Àw2ÃÐ.5ÃÐ:3Ã!2ÀÜ6ÃPü2Ãðj8ÃàO6à<4à i7ð]5ÃŒ5à ò5Ã012ðò1ÃàÞ3Ãpå.Ã`2ÃÀŠ4Ã0¢4Ãpµ6à ™/à 2Þ2ÃÀ%0ÃÀ7-ÃÐ@2Ãé0ÃÐí*Ã`¾.ÃÀ3Ãp27ÃÂ0Ãàg2Ãð”1Ã@X2Ã@^1Ãf1Àe5Ã×3Ãàö/à06Ã`Ê,à*7ÃàU5Ãð‚4ÃÐ<ÃN5à æ7ÃPÀ<À²=ÃÀB@à¡8Ãà?ÃÀÝ;ÃP–CàÊFÃp…>ÃP%AÃBÃpy@àâBÃÀH?É@ÃPxHÃpsAà °@ÃàBàú>ÃpmBÃ0¹EÃÀ¿@ÃMJÃÐ?GÃÀ¡EàÐEÃPrIÃpUFÃ@øAÃ`¥GÃ8GÃ}BÃå?×Hà †GÃÀ§DÃ2HðBÃÀH?ÀùFÃÀ­CÃàBÃpaDÃÀ Ið’AÃÀ¹Aà DÃжHÃÜGÀ‚EÃð¥Cà EÃÀ¡EÃðþIà²JÃ2HÃ0*HÃpÒFÃÁEÃèEÃôCÃð¥CÃàïEÃpaDÀ DÃpðAÃîDÃ0¿DÃPCÃpäCÃ`@CÃ?ÃÐEF×Hà ’EÃ2DÃÀ*DÃpUFÃ8CÃPCàâBÃ\AÃ2HÃpsAÀCÃ06FÃ0¿DÃ?Ã@æDÃàlFà ¤BÃð¥CÃжHÃ8CÀŽCà_CÃ@@Ã@ìCàÖDÃP Eàô?Ãh;à}>Ã`^>ðnGÃJ@ÃJ@ÃîDÃÀ³BðAïDðBà ˜DàkAÃðÃ>ÃàûCðnGÀ DÃ0Ã>FÃP EÃÐ{=àî@ÃP1?Ã}BðAÃð½?ÃÀÑ=ðE9Ã÷<ÀAÃðÉ=ð CÃ`@CÃPFà @Ã*;Ã8CÃ\AÃ@øAà‰<ÀBÃ0ã>ÃpmBÃp=Ãð4AÃà>Ãp=Æ6Û=ÃAÃAÃ>ÀŽCÃîDàî@Ã0×@ÃÙ=ÃÐÔCÃ`Ï@ÃPa7Ã`j<ÃúBÀÿEÃ@«9ÃÐø=Ã8CÃÐcAàî@ÃôCð†CÃ@oCÃP–CÃð«Bà <à ¶?àq@ç;Ã@=ÃàxDÃå?Ã0û:Ãà¢=ÃÀÀ¾;àƒ=Ã=ÃЇ;Ãp;ÃÐ<ÃÐo?Ãp;Ãà@Ã$<ÃÐ{=Ãà@ÃP1?ÃPC<ÃPÀ<Ãà7:ð¼:Ã@:7ðž?Ã@@Ã@¥:À @À)?ÃðÉ=ðBÃ0NBÃÐÚBÉ@Ã0û:À¬>Ã`^>Ã`X?ÃPBÃP®?Ã0:Ãð^:ÃJ@ÃPCÃVBÃz8à‰<Ã0Ã09ÃÐ"7ÃðÛ:ÃÀ×<É@Ãt=Ã06ÃPU9Ãðj8ðc4Ãå;Ã0x;À¸<ÃÐo?Ã@Ÿ;Ãà1;ÃVBÃÐ ;Ã`j<Ã`á=à}>ÃŒ9ðÈ8ÃàÆ7Ãý;à 6ÃÑ4à;Ã÷<Ã7Ã’8Ã`2à ?>ÃÀ×<ðž?Ã`FBÃ`j<Ã@¥:Ã8CÃÀZ<à§7Ãp :Ãp:ðÈ8Ã@·7Ãë:Ãp :Ã@Ÿ;àq@Ã9Àk4ÃP‘/ÃPä6Ã>Ã@Ï3Ã@R3ÃPÒ9ðE9Ã*;ÃÙ=à06ÀÐ8ÃàÆ7ÃPU9Ãðù5Ã0®2ðÔ6ÃÐ(6à i7Ã’4Ã0–6Ã@";ÃPa7Ã@(:Ã0–6ÃðÕ;à i7ÃÀ6Ã÷8ÃPy3Ãðÿ4Ãpß/ÃpP2Ãðd9Ãp>5à06ðW6ÃÐ:3ÃPØ8à 3ð¼:ÃЙ8À_6À²=À)?Ãðç8à ò5ðÔ6Ã`ˆ7ðÚ5Ãl0Ã92Ã4Ã@F5Ã@<Ãðÿ4à 3Ãp¯7Ã0–6Ã0õ;ÃÀ×<ÃPÞ7Ã0œ5Ã07Ã<8Ãp©8à ò5Àô2ÃàU5ÃðÏ<Ãð4ÃP/Ãt9Àâ5Ãë:ÃúBÃPI;Ã9Ã`š4à<4ÃП7Ã’4Ã@Ï3Ãð@?Ãðv6ÃP2ÃPg6Ã`”5Ãx.ÃÀr8ÃB7Ã0„9Ã0¢4ÃÑ4Ãðˆ3Ã`‚8Ã<8Ãp»5ÃÀr8ÃÐF1Ãp¯7Ãðˆ3ÃÐ:Ãà7:ÃpD4Ãàº9Ãý7à ì6Ã`Ê,ÃÝ2ó9ÀM9Ã07ÃPÀ<Ãà®;Ãà=9ÃŒ5Ã@48Ã69ÃàC8Ã@½6ÃàÒ5ÃÀû6Ã@:7ð?:Ãà=9Ãàa3ÿ7Ã0„9ÃP[8ðæ3Ãp£9ðK8Ã`2ÃH6Ã'5Ã`”5à ‡2ðQ7Ã0œ5À7ÃÀ3Ãðù5à 3ÃÀ 4Ã0x;ÃÀr8ðÎ7à ò5Ã0º0Ãн2à§7Ãý;Ã0û:ÃPU9ÃpÇ3ÃÀ3Ãàê1ðø0Ãàm1Ãp :ó9Ã0–6Ãðó6í:À¾;ÃЙ8Ãz8ÃPð4Ã0œ5Àƒ0ÃP2Ã!6ÃÀx7ÀG:ÃÈ+ÃÀ1ÃPm5Ãp»5Ãð2Ã@Ï3à¹4ÃP2Ã`p;ÃPU9ð3Ãð|5ÃÀx7Ãñ9Àe5Þ6Ãàa3Ãb<ðì2Ã!6ð3à¹4Þ2Ãà[4ÃÐ.5à ò5ÃP2ðæ3ð3ÃPö3ÃÀ2ÃÐÉ0ÃàI7à 6ÃðF>ÃpJ3Ãà.Ãн2ÀG:Ã0+3Ãð|5ÃÀï8à65ÀY7ð¶;Ã`Û>Ã06àB3ÃPä6ÃÐ¥6ÃÐ:3Ãpµ6ÃÀ 4Ã!6ðÎ7ð]5àB3Ø3ÃpD4Ã÷8à c8à o6Ã0¢4ðò1Àw2Ã@F5Ão)à¹4Ãp27ÃàÀ8Àe5ÃpÓ1ðæ3ÃÀr8Ã`6ÀÊ9ðK8à 0ÃË5Ã@±8Ã0C/ÃÀ5à 6à o6Ã@R3Ã0 8Ãàê1à65ðò1ð3ÃÀ–2à 1ÃT4Ã@±8Ã`;/ði3ÃpÙ0ðQ7ÃГ9ÀÜ6Ã0 8Ã3ÃpP2Ãp>5ÃÐ9ðW6à=Ã-4Ãpb/Ã`ó:àN1ÃðŽ2ÃPy3ÃàI7Ãðˆ3Ã@Ï3Ã`2à*7Ã07ðW6ÀG:Ã@R3ÃÐ@2Ãpµ6ÃÀé9Ã`G-ðc4Ãð).Ã!2Ã0Ì-à {4ÃÐ:3ðÎ7À}1Ãðˆ3Ã`ˆ7Ã@.9À‰/ÃÐ@2à 3Ãн2Æ6ÃPö3ÃÐ(6Ãý7ÃÀ6ÀÐ8ÃÀ–2à 3Ãp\0Ãðÿ4ðø0à 1À_6Ã7ÃpV1ÃÀŠ4Ãàg2ÃÀ1Ãн2ÃÀ–2ÀÖ7Ã`4àZ/Ã0º0ÃPm5ÃÐ<Ãp27ÃðR<ÃP.Ã0Þ*ÃP2Ã7Ã@Ï3Ã0¨3ÃàÒ5à ò5à 3Ã`ó:Ã`ˆ7Ã`6à à8ÃJ@Ã`‚8Ã@F5Ã0¢4Ã7ÃŒ9Àú1à {4Ãðv6ÃPü2Ãð2ÃT4Ã06ÃPü2Ø3ÃàÌ6Ãðš0Ã-0Ã`”5Ã0¨3Ã`5Ã`50Ãð4àÑ0ð]5ÃÐR/Ãð /ÃÐ:3ð]5ö.Ãð0ÃpP2Ã012àÑ0à ¥-Ã`²0Ãõ.Ãày/àf-ÃÀ+/Ãl0ðW6à 3Ãp&9À_6à 1Ã`Ž6à06Ãàg2Ãpn-à 3ð/Ã0¨3ð]5ð?:ÃpÙ0Ã`)2ÃÐ¥6ÃÔ-Ã`”5ðc4À.ðW6Ã@F5ÃÐ:3Ãðù5Ãpñ,ð/À7Ãб4Ãp£9Ãðˆ3Ã@Õ2Ã,À}1à þ3ð3Ãàg2Ãàg2Ãðj8Ã0=0Ãð#/Ãð2Ã33ðø0Ãp\0Ã@R3Ãðù5Ãз3Àk4à 1à 3ÃP2Ã?-ðþ/ÃpP2ÃÀ„5Ãð4ÃÐÕ.Ãð5,Ã`A.ÀÐ8Ãp©8Ã92Ãpt,Ã@^1Ãð4à 1À‰/àf-ðc4Ãi*Ã`G-ÃÐ.5Ãðˆ3Ã`Ö*Ãðÿ4Ãз3ÃH6Ã`G-à³5Ãð /Ãp86ê0Ã~-ðò1Ãàs0Ã`¾.ÃÀœ1Ã071Ã'1ÃPö3Ã`¦2ðò1Ãðˆ3ðW6Ã0Ì-Ãl0ÃÐX.Ã071àZ/àã-Ãl0ÃÀœ1ÃP2ÃpV1Ã`;/À-à 6àÑ0ÃÐd,à Ÿ.ði3À}1Ã0¨3Ã!6àÅ2Ãpå.ÃPÞ7ÃPC<ð .ÃàÀ8Ãà.Ã0Þ*ð/Þ2ÃÐÏ/Ãà…-ÃK/Ã33Ã`4àã-àf-Ãàö/ÃÐÉ0ÃpÓ1Ä,ÃÐ:3Ã0–6Ã`;/ÃP.Ãð2à +Ã0C/ÃpP2À0Ã@ù,Ãx.ð/Ãð4ÃÀõ7Ã0Æ.Ã` 3à¿3ê0Ã0%4ÃP0Ã0Ø+à`.ÃÀ 4à (-À-ð{0Ãàs0ÃÀ1Ãð”1Ã9.Ãàö/ÃÀï8ðø0Ãð²,Ãð”1ÃðÊ(Ã@p.Ã`¦2Ãð 3à {4à ò5Ãðp7Ã0¢4Ã07ðò1à 3Ã×3à “0Ã@½6ÃP Eà ?>ÃÐ ;ÃÀï8ÃPÌ:Ãñ=Ã0Š8ÃÐ ;Ãp27Ã`#3à Ÿ.ÃЂ'ÃK/Ãp\0Ãã1ÃÐ44Ã`8Ã05Ã0:Ã`ç<Ã*;Ã’8Ã'5Àƒ0Àe5Ãz<ð]5Ãp»5Ã`8Ã`4ÃàÌ6ÃP…1Ãp»5ÃЫ5ÃÐá,Ãpb/Àô2Ã0¢4Ã*;ÃP‹0Àè4ð3Ãp86ð3ö2Ãðv6à›9à Ú9Ãðš0ÃÂ0à 2à§7ðà4ðK8Ãt9ÃpP2Ã-0Ãp£9à Î;ÃàU5ÃÐ ;ÃÐ"7à ì6Ã7à Ú9À5=Ã@Û1Ãp\0ÃN5Ã@Ã5à65à:Ã<8ðQ7à o6Ã0l=Ãl0Ãp;Ø3ÃÐ44Ã@L4Ã@d0Ãý7Ã5Ã071ÃÐ:3ð]5Ãðù5Ã@Õ2Ã9Ã0+3ÃÀ6Ãp27ðQ7ÀÜ6ÃpÁ4Ã0´1ÃП7Ø3Ãàê1àT0Ãz8Ã@48Ã06ÃÀ„5ðo2à65ÃÀœ1Ã0À/à 3à 3Ãp¯7ÃPU9ÀÜ6Ã`p;ÃÐ9Ã@Ÿ;Ãб4ÃÀû6ÃZ3ÃðŽ2ÃPä6àT0ÃPg6ÃB7Ã`6Ã@É4Ã@(:Ã05Ã06Ø7Ãp,8ÃÐ:ðQ7à þ3àH2Ã0¨3Ã÷8à ò5Ãp»5ÃàC8Ã`6Ãp¯7ÃPs4Ã@F5ÃÀ6ÃPö3Ãà[4ÃÝ2ÃP1à›9ðà4Ãð|5ðæ3Ã0¢4Ãн2à /ÃÀ2ÃÅ6Ãpµ6ü1ÃàI7Ã9.à 2Ã`G-ðÈ8ÃÐ8ÃÀ~6Ã÷8Ã@Ã5Ãàg2ÃÀ~6à:Ã`j<ÃÀ5ÃÀ®.ÃpÁ4ÀS8ÃPÀ<ÃË5ÃÀ%0Ãðù5Ã<8ÃÔ-ÃP0ð{0ÃB7ÃàU5Ã0´1Ãï/Ã'1ÃK/Ã`¸/Ãã1Ã0Æ.Ãàð0Àô2ÃÂ0Ã0%4Ãðÿ4ÃÐF1Ã@Û1ÃÐ44Ãðv6ÃàO6Ãðˆ3à þ3Ãàö/ÃÀœ1Ãб4ÃàU5Ã@½6Ãà7:Àâ5Ãà[4ÃÂ,Ãpë-à 1ÃÀ1.ÃÐ44Ãð‚4ÃPm5ðì2Ã@Ã5Ã4Ã4ê4ÃÀ1ÃÀ6ÃÀ–2à /ÃàI7à ì6ðÎ7ÃpÙ0ÃP0À.ðþ/Ãð 3Ã92ÃpÇ3ü1ÃÀ~6Ã0À/Ã0¢4Ãp£9Ã`/1Ãð”1ÃÅ6ÃP2Ã3Ãp\0ðþ/ð .Ã0¢4ÃàC8Ã`#3ÃÀ~6ÃK/Ã@F5Ã-0à ·*à 0Ãðˆ3ÃÐ^-Àe5àË1Ãð4ÃPa7à 6ÃP0à³5Ãàð0à06ÃÀ3Ã0Ì-Ãp27ð+Ãï/Ãàð0ÃP2ÃÐÏ/À0ÃP0Ãp\0Ã-0ðW6Ãн2ÃÐF1Ã0À/à 0Ø7ð9;ÃÐÃ1Ãpå.à ¥-à 1Ãð0Ãàö/Ãf1à 2À.Ãn:Ãðˆ3ÿ7à­6Ãð0À}1À0ðæ3ÃP/ÃàÒ5ðì2Ãð2ê0ä1Ãð0ÃàÌ6àõ*À,Ãpn-Ãp\0àB3ÃÑ4À-Ã@L4Ã0º0ðæ3ÃÀ–2Ã0O-à ".ÃPü2ÃÑ4À•-à “0Ã'1ðÔ6à×/Àe5Àƒ0Ã@Ã5Ã`;/Ãà.ÃÐF1Ã-0Ã@p.ÃÐL0Ãð2ÃpÍ2Ã@j/ÃÀC+ÃW-ÃPö3Ã@í.ÃP.ðà4Ã0C/à 2Ãr/ÃP.Ãðÿ4ü1ðæ3à þ3ÃpÓ1Ã0%4Ã012Ã@p.ðE9Ãðù5Ã@^1àZ/Ã`¬1Àè4ðu1à ".Ãð¦.ÃP-ÃPµ)ä1Ã@ *ÃÀC+Ãàg2Ã0+3À0Ã`;/ð‡.ö.ÃPü2Ãð2Ã-0Ã-ÃÀ–2Ã@@6ð/Ãð /à (-ÃPy3Ã`š4Ãð”1ðæ3Ãx.Ã4Ã@d0àZ/Ãï/à¹4À.ÃÀ3Ã@í.Ãpå.ð{0ÃP.à ·*à ò5Ã`;/Ã`”5àÅ2Ãàm1Ã`S+À‰/ÃÀÀ+Ã3/Ã@Û1Ã@ç/àï+Ãû-à /ÃÀ 4ÃÀ–2Ã012ÃP0Ã-Ã0¨3Ã@R3ÃPm5Ã`A.Ã0Æ.Ãày/ÃP2À.ä5àN1Ã`Ö*À0À1Ã0O-ÃÚ,Ã?-ÃÀ%0ÀY7ÃP…1ÃÐÏ/À$+ð{0ÃàU5À-ÃÔ-ð+ð·&à ¥-Ã`Ž6ÃÐR/Ã0Æ.Ã@L4Ãà‹,à<4Ãàö/Ã`A.à ‡2ÃÀ5àH2ðþ/ÃÀ¢0Ã`¦2ÃpD4Ã0%4Ã0Æ.Ã012Ã`ˆ7Ãð1Ã@F5Ã0Ø+ÃÐL0ÃÀ„5ðò1ÃÀ=,ÃP -ði3Ãày/Ã?-ÃàØ4àË1Ã`_)ÃÚ(Ã0Ì-à Ã(ÃP0ÃK/ÃP,+ÃÀ~6Ã@Û1ÃP/Ãp÷+ÃÐd,ÃÎ*ð{0ÃÐF1ÃpÓ1Ã071Ã`¸/Ã33àN1Ãp\0Ãày/à ø4ÃP—.à “0Ã0À/àã-à ò5Ãð¸+ÃpJ3ÃàÒ5ÃÀ–2Ã`50ÃÐÕ.ÃÀ®.Ã9.ÃÐd,àÑ0Ãé0Ã`4Ã`50Ãн2Ãpå.ði3ÃÐÏ/Ã0I.Ãp÷+ÃÀÀ+Ã@X2Ã!2Ã`Ö*ÃÐÏ/Ãà-ö2ÃÀ®.ÃÂ,Ãà&(Ã`¬1ð{0À•-À‰/ÃW-Ãpb/Ã0Æ.Ã@^1Ã@·7ÃW-Ã`#3ð .ÃK+ÃÐd,ð()Ã@š'à «,Ãû-Ãð¬-ÃÚ(ð-à06ð/ÃðM(Ã@Ž)ð .Ãpñ,Ã0y&à (-Ãð5,àé,ÃÐá,ð-àl,Ãp†)Ãph.Ãpb/À /Ãæ*àû)ÃÐÕ.À,ðŸ*ÃpV1Ãð /Ã0O-ÃÀÌ)À¹'Ãà—*Ã-0ÃW)ÃÐù(Ã`¦2Ãû-ÃðG)àf-Ã@p.Ä,À§*ÃÈ/ÃÐÏ/Ã`/1ÃÀ1.Ã-0à ½)Ã@)à ¥-Ã`e(Ãðš0ð{0Ã@Û1à 0Ã`¦2Ãà.àé,ö.ð-ÃÀ 4ÃÀ 4À1à {4àf-Ãà-Ã@ÿ+Ã`â(ÃÀØ'À­)Ãà—*ðì2ÃÐF1ÃE0Ã9.Ãð²,ð .ÃàÞ3ÃÀ=,ð¥)ÃÀ=,ð‡.ÃpŒ(à<4Ã9.ð,ÃÐÕ.ÃÀ–2Ã@í.Ãà+ÃP -Ãp’'àZ/Ãà.à ¥-Ãp€*Ãà'Ãæ&Ã(Ãpñ,Ãð²,ð™+ÃK+Ãõ.Ã0¨3ü-ÃР"Ãæ*Ãpë-Ã@j/Ã`e(ÃÈ+ÃP-Ãpz+àl,ÃP-ð¥)ð/ð"*ÃÐj+Ã`50à :*Ãpn-ÃÀÒ(Ãà…-Ãì)ÃÀ+/ÃÚ,Ãð4Ã`#3ÃÀ¢0ÃðÐ'Ã*à&Ã0Ò,à×/Ã@+ÃÐ &ÃE,ÃÐ^-Ü(àõ*Ãà+Ã@)à 4+ð"*Ãpž%Ã0g)Ã@ó-à ™/Ã0Æ.à$à :*Ãð;+àû)Ã'5Ãpt,à ½)ðF$Ã@'ÃÀº,ÃP&,ÃT4Ã@ó-Ã0œ5ÃÂ,ÃÐá,Ãð0Ão)à Ã(Ãð”1À1ÃЈ&Ã0Þ*àï+à 4+ÃÐÃ1Ã0Þ*ÃÈ/Ã*Ãf1àH2ÃЈ&Ãà)ÃP1ÃÂ,Ãi*Ãà+Ãð5,ÃÀº,ÃÀC+ð .à ¥-Ã0%Ãà,Ã`Ö*ÃÀ7-Ã0a*ÃP£,ÃÐí*ÀÜ6Ãpb/ÃÀÆ*Ãp )Ã0[+Ã92ðæ3àf-Ãà.Ã0+3Ãpz+à (-Ãà)Ãà…-ÃÀ´-Ãð 3Àƒ0Ã0a*Ã@‚+Ãð¬-Ãpß/À-Ã`_)Ã`_)ð-ð"*àN1ÃP1Ã0U,ÃP2Ã@ÿ+Ã`S+Ãà,Ã0[+Ã0´1à ".à×/Ãà—*àZ/Ã071Ãàa3Ãpb/ÃP,+Ã@ *ÃQ.Ã#À‰/À0Ãð¬-Ãð¦.Ãð1ðÚ5ÃÐÉ0Ã`_)Ãðš0ÃpÙ0Ã0g)ÃPÀ<Ã0+3Ã@Û1à06ðŸ*Ã92Ãà+Ãà‹,Ãp\0ÃpÍ2à Ÿ.Ã`A.ÃÀ3Ãàê1à$8ÃÎ.Ãàö/Ãpå.Ã`¾.Ã`4Àî3ÃP‹0Ã012ðo2à 3ÃÐd,Ãз3À}1Ãp:ÃÀr8Ãõ.Ãp\0Ãpn-Ãr/ÃÐd,Ãf1Ã0º0ÃN5ÃÀ„5ÃÀr8Ã@Ã5ÃàÒ5ÃÀ¢0Ãp(ÃÐÃ1Ã@^1à ø4Ã9Ø3à­6Ã`ˆ7Ø7Ã0¢4Ã4Ãé0Ã3/àT0ÃÐL0í:ÃÐÉ0ÃPä6Ã@48à 3ÃГ9Ã`¬1ð3Ãð‚4Ãf1Ãð”1ÃÀ1Ãðp7ÃP‹0ÃH6Ã@Ã5Ãàö/Ãpb/ÃÀ%0ðò1Ã@R3Ãpµ6à06Ãð /Àè4ÃÐ¥6àã-Ã0+3Ãp>5ðà4àË1à`.ÃP‹0ÃT4Ãàð0ä5Ã0C/Ã],ÀÜ6àB3à 0ÃÀ+/ði3ÃPm5ÃÑ4ÃH6Ãý7ðà4ÃÀŠ4Ã`5ÃpÇ3ÃðŽ2ðø0ÃàI7Ã`5ö2ÃÐp*ÃP.à 1à¿3Ã`¦2Ãàg2ü-ÃP0ÃPs4ÃÀ3ÃàÒ5ÃPI;à•:ÃPü2Ãð1Ã071ÃÚ,Ã](Ã`/1Ã0œ5à 3ÃÅ6ÃK/ðì2Ã`4à`.Ã0Ò,Ãð”1Ã07Ãз3Ã@Õ2Ã@)ð-ÃÐR/ði3àr+ÃÀ3à ±+Ã`¦2Ãð).ÃÀ+/ÃP2ð/ð .ÃQ.Ãðÿ4à ø4ÃÐ"7à ?>Ãp27À.Ã071à65ðÔ6ÃÀ 4Ãð|5Ãð4ð .Ãpñ,Ã@Õ2ÃPg6Ãð /Ã0=0ÃT4ÃPs4À1à³5ð,à {4ÃЫ5àl,ÃW-Ã071à 3Ãp27Ãf1ÃÐR/Ã×3Ã@.9ÃàÞ3ÃP -Ã@R3Ãðù5àH2Ãà£(ÃÐ44Ãl0Ã3/Ã`50ù8ð{0ð"*ÃÑ4Ã?1Ã05Ã@+Ãé0Ã0I.ÃÀ–2Ã@L4Ã` 7Ã],Ã33Ã`²0àT0ÃÀ2Ã@Ã5ÃðŽ2ÃÈ/Ãx.ðø0À}1ÃP2ðÚ5Ã0¨3ðò1à;à ".Ã0C/Ãð¾*Ãð”1ÃÀ3ÃÀ–2ðþ/ÃÐ.5ðø0ÃPö3Ã’4Ãï/ÃÀœ1à 3àT0ÃÀ3Ã071Ãx.Ãr/Ã@v-Àô2ÃPð4ð,À}1ö.Ã06ð/ö2Ãr/Ã`6Ãp>5ÃÐd,ÃÐ:3ðu1ÃÐ^-ä1Ãpµ6Ã`¦2ÃÐÏ/Ãð /àÝ.Ã@L4Ã`²0ÃP -Ã0À/ÃP—.ð/ð/Ã05à§7Ã@j/Ãð0Ø7Ã@j/à 3Ãб4Ã@L4ðæ3Ã0=0ÃÐp*Ã@^1Ã0C/Ã0%4Ãp\0ÃàÞ3àl,Ãp†)Àe5Ã@ó-Ã`A.ÃÀ¨/ÃÑ4Ã`Ž6ÃpÙ0ð/ði3ÃàO6Ã` 3Ãàg2Ã`Ð+Ãð0à06ÃÐ.5Ã4ð{0Àq3ö.ð{0Ã0s'Ã?1ÃÀx7ÃÐ:À}1ê0à ]9ÃpÙ0Ã33à¿3ÃÀ2ÃE0à þ3Àú1à ì6Ã012ð-Ã`/1ÃP2ÃÀO)ÃÀ¨/à<4Ã@X2ÃPs4Ã0¢4À-à ™/Ã0 8Ã@É4ðà4Ãàö/à¿3à ‡2ÃàU5Ã`”5àN1ðu1ÃpÙ0Þ2Ãf1ÃP&,ÃÐ^-à 3ÃðŽ2À¾;à 1Ã`6ÃÐ44Ãð”1ö.Ã`š4Ã`¸/ÃpÙ0àé,ä5Ãðš0ÃK+ÃÚ,ð{0ÃpÓ1ÃP,+ÃÀ+/à­6ÃP0Ãðp7Ã`6Ã5ÃPü2ðÔ6Ã`50ÃÐÉ0Àƒ0Ãr/Ã!2Ãp€*Ã@p.ÃpD4Ã`5Ãã1Ã0=0Ãàö/à 6Ã`ù9ÃÀ¨/Ã`2Ã0I.à¹4à ".ÃÎ.ÃP‹0ÃZ3ÃÀº,ÃÀ2Ã`/1Ãã1Ã`¸/ÃÀ¨/Ã@^1ÃÀ3Æ6Ãï/ðò1ðu1Ãx.Ãàa3Ã33Ã` 7Àq3Ãàa3Ãp27à ‡2ÃPö3à 3ðþ/Ã@d0Ãàs0Ãðó6Ã3àH2ÃP—.Ãp—;Ãp&9á<ÃП7Ãðˆ3À7Ã0®2ÃÐÉ0Ãðj8ÃÀ~6ðÔ6ÃÀf:ð¶;ÃAÃàI7Ãz8Ãp¯7Ø3Ãðp7Ã9Ãñ=Ã0x;í:ÃðX;ð?:ÃàÆ7à ]9Ã`á=ðÔ6à¿3à*7ÃPê5Ã’8Ã`#3Ãàa3Ã*;ÃÓ>Ãp—;Ãà1;Ãðd9Ã=Ã0:Ãß<Ø3À7Ãðj8Ã@.9ÃÙ=Ã@>ÃP1?Ã@½6ÃÀZ<Ãë>ð¶;à Ô:à 9?ð¶;ÃÐ(6ÃЇ;à æ7à @Ãp>À¸<Ã0 8ÃðÃ>Ãz<Ã@";ÃÐ8ÃPU9à 3Ãp;àq@Ãàœ>Ãh?ÃÐi@Ãðd9à06Ãà%=ÃPI;à¡8ð3<ù8Ãp<Ã`ˆ7ÃÀÝ;Ãý;à W:Æ:ÀA;Ãp£9Ãz8Ãðù5Ãý;Ã0:Ãë>Ã;ðÈ8ÃÐ(6ÃàÀ8Ãз3Ãà+<à Q;Ãà®;Ãb@Ãp27ðà4ÃÐ<Ã`Ž6ÃðX;Ãß<à ]9Ãà®;ÃÓ>Ã@¥:Ãb<ÃÀõ7ÃH6ÀG:Ã@:7Ãàº9Ã@«9à=Ãp=à›9ð¼:Ãh;Ãp :ÃÀÑ=ÃPÒ9àƒ=à•:ÀY7Ã@";ÃP´>ðÎ7ÃðÛ:ÃàU5Ã@Ã5ÃÀã:Ãh;Ã@@6Ã0%4ÃàÀ8Ãå;ð¶;á<Ãà1;ÃÅ6ÃàØ4À¾;à$8ÃГ9à§7À¸<ÃP[8Ã0:Ã`‚8à ò5Ã3Ãðí7ÃÀ~6ÃH6Ã8Ãý7ÃPØ8ÃÐ<ÃÀ`;Ã9Ã0õ;ÃЫ5à ò5ÀÐ8Ã@Ã5Ãt=ÃPÌ:ÀG:à;à­6Ãà7:à ì6ÃPÌ:ðE9Ãp,8Ã`4Ãà¢=Ã0„9À¬>ÃðX;ÃÐ¥6ÃÐ:ÀšAÃП7ÃÀ6ÃÐ(6Ã@·7Ãp27Ãp:Ã0ï<à æ7Ã@Ÿ;Ã`p;ÃÀã:Ø7ÃÐÃ1ÃÐ"7Ã<8ÃÐIÃý;ÃÐ44Ãë:Ãà?Ã7ÃÀé9Ã0x;à­6à æ7Ãà+<Ã05ð¶;à È<Ã`ˆ7Ã*;Ã÷<á<à ]9ðÚ5ÃðÛ:Ãp—;àw?Ã<8Ã`‚8Ã7ÃÐ<à›9Ã0–6ü1Ãë:Ø7Ã'1ÃPg6ÃÀr8à 9?ÃÐ{=ð9;ÃÀT=Ã@";Ãð^:Ãð”1Ã@48ð-=Ã`š4ÃÐ<à>Ã@½6ä5ÿ7Æ6Ã`6Ãðp7ðª=ÃÐ(6à ]9Ãðv6Ãß<Ã@@6Ã`¦2Ã`š4Ãå;Ãðd9ÃÐ:àã-Ã012ÃÀŠ4Ã@·7à65Ã92ÀÄ:ÃàÀ8à=Ãðj8Ã@=Ãà?À @Ãðç8Ã@F5Ãà¨<Ãp27ÃÐ:ÃPº=Ãß<ÃàÆ7ðÈ8Ãp¯7À_6Ãp‘<Ã0 8à;Ã@±8Ãàê1ÃP2Ã`Ž6ÀÖ7Ãz8à þ3ÃðÕ;À¸<Ãp©8Ã>ÃZ3ÃP2Ãðó6Ã@Ï3ÃÀŠ4Ã@¥:Ãà[4ðæ3ðø0ÃP[8ÃPÒ9À_6Àú1ÃÀr8ÃPê5Ãh;Ãà=9ù8ÃЫ5ÃPU9ÃÀ„5Ãð^:Ãз3ÃPI;Ãb<Ãp>5à›9àN1ð/Ã@½6ó9ð3ÃpJ3à 0ÀY7Ãàa3Ã@ ?Ã0Š8ÃÐu>ÿ7Ã0¢4Ã07Ã`ˆ7Ãp»5ÃP2Ã@Ã5à<4àÑ0ÃÀ®.Ã@p.ÀA;Ãp&9ðæ3ÃÐÂFÃ0x;Ã@‡?Ã@«9àr+àB3ÃÀ6Ã@Õ2à u5ÀÐ8Ã0+3ÃÐ.5ó9ù8Ãh;Ã0x;Ã07à¹4Ãàä2ÃÐ¥6Àk4ÃГ9ÃЫ5Ãp»5à¿3ÃPö3Ãp»5Ã`”5Ã071Ãà7:Ã`5Ã@Ÿ;ÃPy3à›9Ã0:Àq3à 6Ãë:ð/ði3Ã@á0Ã*;Ã`¬1à W:à :Ãp86ðÚ5Àè4Ãp,8à ‡2ÃðR<ÃZ3Ãð‚4Æ6Ãp¯7Ãpµ6Ã@ç/Ãp¯7Ã0ã>Ãà´:à W:ÃÀl9Ã`;/ð{0Ã0´1à ]9Ãðj8à­6ÃPö3Ã@p.Ãï/ÃàO6ð-=Ã0:À;<Ãp&9Ã`8ÃàÌ6à ™/Àq3à 1à 6à 1Ã'5Ã@:7à ì6ÃЙ8Ã05Ãã1Ãð2Ã07Ã@Ï3à ò5ð-Ãз3Àe5Ø3ÃÐÉ0ÃPð4ÃŒ5ÃPI;Ãàä2ÃÐ¥6Ãàa3ÃÀ5ðæ3ð{0Ãð#/à :àÅ2Ãðó6Ãб4Ãð 3Ã0®2Ãðš0Ã`#3ÃÀ3ði3Ãl0À7ðÔ6à 3à 1ÃpÍ2Ã071à 3ÃpÇ3ðÔ6ÃW-Ã`Ž6ÃÐá,ðc4ðÎ7ðì2Ãà…-à65Ã@Õ2ðþ/àB3ÃÐR/Ã@Õ2ÃÝ2Ãà[4à þ3Ã×3Ãà[4Æ6ðø0Ãp )Ã*Ãð”1ÃPö3Ã'1ÃPy3ö2Ã@Û1Ãðv6ÃP/Ãà.Ãû-Ã`#3Ãàö/Ã8ðì2Ã5Ã@j/À›,Ãp&ð“,ÃÀ¨/Ã`¾.Ã@F5ÃЫ5ðo2Ã` 3ÃЫ5àN1Ã'1Ã0=0À}1Ãé0Ã`Ê,ÀÐ8ðÈ8Ãph.Ã@Û1Ã071ÃÐÃ1Àk4ÃÀ+/Ã0Ì-ðÎ7à ™/à ™/à­6Ã0:ä1à ‡2ÃpJ3Àw2à³5Ã`¬1ÃB7ÃÀ1Ã05à§7à ì6Ã-4Ãз3ÀÄ:Ãà7:à i7Ã0Š8Ã07ÃЙ8ù8ÃÐ:ÃÐ44Ãàð0ÃÐ8ù8Ãp86à ø4ÃЇ;à 3ÃPä6ÃŒ9ÀM9À /ðÎ7Ã`6ÃPU9ÃÀ6ÃÀË>à‰<ði3ÃPg6ÃàØ4à Ú9Ã@±8ÃPÞ7ðÔ6À•-à ì6à ¶?Ã`ˆ7Ã`¸/Ã5Ã0œ5Ã`ˆ7ù8à:ÃÀ2ðø0Ãt=Ã@·7ÿ7Ãðd9Ãðˆ3Ãpµ6ÃPÞ7à­6ÿ7ÃàI7ÃàÞ3Ãàº9éEÃ7ÃÀï8ÃÀã:ÃÀr8ÃP/ÃPü2Ãð 3ÃPa7Ãpµ6À¸<Ã@48Ãà1;Ã09Ã<8à=à ]9ÀS8Ãh;ÃP7>à W:à‰<ÃЙ8à Ô:ÃÀ¹AÀ5=à °@Ã`4EÃ`Ï@À²=ÃðÃ>àâBÃàZIÃPœBÃ@ÚFÃ@9Là €HÃàïEÃPDÃÐKEÃ@QHÃ0LÃ0LÃÀ¡EÃ`"HÃeFÃ0*Hà EÃÐMÃIÃ0$IÃpy@ÃèEÃà¹NÃALûFÃ0*HÃ0‰MÃÀúKÃðiMÃKà HÃ@þ@ÃðIïDÃ@3MÃÀ•GÃ`.FÀÛKÃð4AÃЪJÃ` Là ýHÃ0BDÃðæMÃp7KÃàÅL×Hà ýHð2QÃPlJÃ0îQÃÀ*DÃ0BÃ00GÃàxDÃ0§HÀçIðÙJðýDÃÐWCàÊFÃ@iDÃðEà ˜DÃ>BÃ8CÃLÃ`½CÃÙAÃ@oCÃ@{AÃ@ÈIÃ@]FÃpö@ÃàCÃ0Jà²JÃ@æDÃ2DÃGÃÐ9HÃðGÃúBÃ@QHÃPŠEÃP EÃß@ÃÜGðŒBÃP®?àÄGïHÃÀH?Ãð«BÃPrIà)LÃÀT=Ã@@ÃàfGÀvGÀAÃ`@CðDÃÐQDÃqDÃ`(GÃð(CÃ>BÃÐø=ÃÐ?GðzEÃÐcAÃV>Ãà`HÃwCÃð HÃÐEFÃë>Ãp?Ã0¿DÃðF>ÃAð÷EÃ@‡?ÃðGÃîDÃÀ§DÃàŠAÃ@æDà ªAà -Aàq@Ãð@?Ã0`?ÃP+@Ã\=À;ÃJ@ÃpÞDÃkEÃP7>ÃP1?Ã`ÃBÃà+<ð€Dð3<Ãà@Ã`½Cð†CÃ@@ÃðEÃpö@ðª=À/>ÃP®?ð9;Ã0ã>Ãà+<Ãà~CÃðL=ÃÀÃà>à}>à 9?ÃЇ;ÃAð°<Ã`á=Ã0f>àƒ=Ãh;ð˜@Ã@¶LðýDà @Ãà@Ã@48à ?>ÃpÒFÃà¨<ÃÀ³BÃÐQDà‰<ÃÀï8Ãà1;Ã?ÃÀH?ÃÀ¿@ð°<ÃðX;ÃPº=í:Ãå?Ã0~:ðÎ7Ã0×@ÃÀË>Ãp‘<àw?Ãp£9Ã`ÉAûBÃÀÑ=ÃàBÃP¨@ÃpsAÃðF>ÃÓ>Ã0é=Ãð:@Ã`8Ã09ÃÐ:ÃP7>Ãp£9ÃP+@ÃÐ:ðª=ÃÀÅ?Ã0ï<ð-=ÃЫ5Ãðj8ÀG:à 3@à}>À¬>ÃÐàAðE9Ø7ðÎ7Ã`‚8Ã’8ÃP´>ÃPU9ÃÅ6Ã`v:Ãà%=ÃP%AÃðí7à Ú9á<ÃÐ{=ÀÜ6à :Ã7ÃPÒ9ðž?À¦?à ]9ÃЙ8ù8Ã÷8ÃÀl9ÃP®?ÃÀÑ=ÃÐ@2ÃП7Ãh;ÃPÆ;Ã`í;ÀÖ7Àe5ÃÀõ7à Q;Ã!6Ãý7ÃÐ:Ã0„9à Ô:ÃГ9Ãp—;Ãð^:ÃÀl9Ãðó6ê4ðÈ8Ã`ÿ8Ãà®;ÃÐ44Ãн2ÃÐ8Ãðá9ÃPU9Ã69ÃàÒ5ÀA;Ã`5à 9?Ãð^:ÀA;ÃT4Þ2ÃPU9Ã`ÿ8Ã8Ãp»5Ãpµ6à u5Ãðí7àË1ÃÐF1à 1ÃÐ:ÃPg6Ãp»5Ãý7Ã09Ã0:Ã0x;Ã0+3à:ÃÐ¥6à o6Ã0¢4à³5Ã!2ð¼:ÃÀõ7ÃÀ„5Ã`4ÃÐ8Ã`4ÃÑ4ðu1ÃàO6ÃpÍ2Ãp»5Ã<8ÃÐþ<ÃÀï8Ã@Ï3Ã@½6ÃÐ@2ÃÐÃ1ÃN5ÃPÆ;Ã0 8Ã`2ÃPm5ü1Ã`8Ãð^:ði3Ã0„9Ãðÿ4Ãàð0Ãé0Ãp&9ÃPÌ:ÃðX;Ã012Ã0Æ.à§7Ã'5ÃPö3ÃQ.Ã` 7Ãн2Ã`v:Ã`”5ÃÀ 4Ãpß/Ãã1Ãà+<Ã33àH2ðÔ6Ãà¢=Ã0x;Ã4Ã`Ä-ð{0ä5Ã33Àî3í:Ãã1Ã0Š8à§7Ã`A.ÃP1ÃpP2ÃPð4ÃÀ6ÃP0Ãp>5ðì2à 3à65ÃàI7ÃÀœ1ÃÈ+Ã0 8Ã0œ5ÿ7Ã@ç/ÃÀ2Þ6Ãð2ÃpÇ3ÀY7Ãðÿ4ÃÐ.5à;Ãp86à c8Àú1Ã-Ã@@6Ã@‡?Ã`v:Ã’8Ã@L4Ã7ä1à 6ÃpÍ2ÃP2Ã0¨3Ã`5ÀM9Ãз3Ãpë-Ã0œ5ê0ðò1à*7ÃП7à`.ð/Ã`4ÃPs4à 3ÃT4Ã@á0Ãðˆ3à<4à c8Ãñ9Ã@½6ÃÐ:ÃP…1Ã`Ä-à65Ãé0ÃÐL0Ã`;/ÃàÆ7àH2Ãã1ü1ÃP…1Ã@.9ðc4Ã0º0à65Ã@R3Ãàm1Ã'1Ãl0Àè4À•-Ãày/ð-Ãõ.Ã9ÃPU9à³5ÃÂ0ÃÐF1ÃÂ0Ãðj8Ã`ˆ7à ø4Ãð”1Àè4Àe5à­6ÃÀ~6Ãðv6ð9;Ã0¨3ðò1ð/à 0ÃàU5Ã`ˆ7ÃPg6ÃÀ¢0À7Ãðˆ3Ã05ÃP2ÃP—.ÃÑ4ä1Ã`50ðo2Ã0´1ði3ðW6ÃZ3Ãà=9Ã9Ã@^1Ã012ÃÀû6ÃП7Ã0Š8ÃÀ¨/Ãàa3àN1Ãp86ÃÐL0Ã4Àú1Ãà.ÃH6ÃÐ"7Ã0´1Ã`¾.à 1ÃàÞ3Ãз3ÃÀ7-ÃP0Ãl0ÃpV1Ã-4Ãà.Ã@@6À /Ãð4ÃpÙ0Ãï/àB3Ãàa3ðò1Ãб4ÃÀ„5ðo2Ãð4à 3Ãð4àã-à<4à à8Ãpb/à 1Ãp&9Ã@É4Ã5ðÈ8à ‡2àZ/ÃÐÉ0ði3Ã-4Ã` 3à›9Ãðd9Ãp—;Ãp&9Ã7Ãð1Ãx.ÃE0Ãàº9Ãð 3Ã`5à ø4Ãý7Ãà[4Ã0–6Àú1ÃpP2Ã`Ž6ðÚ5Ãðš0à 1Ãp©8Ã09ö2Æ:Ã071ÃpJ3Ã@¥:Ãà+<ÃàC8Ã@Ï3ÃàU5ÃpP2à ]9ÃÐ:ÃH6Àƒ0ÃàC8ÃPä6Ãð|5Ã÷8ÃÀr8à ò5ÃÀ¢0ÃàO6à ‡2Ã05Ã@Ï3Àú1Ãp»5Ãàa3ÃÀ–2Ã4ÃN5Ãß<ä5Ãà[4ê4Ãð‚4Ãðj8ÃàÌ6Ãõ.ÃàÒ5ÃE0Ã0„9Ã`Ž6ÃPm5ÃPm5ÃPÞ7ÃÐ9Ã0+3Ã0¢4ÃP2Ã@™<ÃÀ5Ã@F5À @Ã@X2Ã4ù8ÃàØ4ÃË5ÀÐ8à i7Ãðí7Ã07ÃÀ6Ã`5ðc4ÃàC8Ã@½6ðc4ÃГ9Ãðv6Àî3Ãб4Ãðˆ3Ã@ç/Ã0Æ.Ã@^1Ãðv6ð3<Ã3ÃÀ5Ã0À/à à8Ã7ðW6Ãðj8à “0Ãð¸+à à8Ãp,8Ã4ÃÑ4Àk4Ãp>5Ã69Ãp»5ÃÀŠ4Àƒ0à¿3Ãñ9ÃÐo?ð{0Ã@·7ÃÀ1ÃÐ¥6Ãp,8à`.ÃPg6Ã`Y*Ã`¬1Ãð4àË1Àâ5Ãðá9à;àB3À,Ãp\0Ã@Ã5Ã`6ÃT4ÃÐ44ÃAÃp?ÃPð4ÃP2Ãx.ÃP/Ã’4ð3ÃÐþ<Ã@@6ÃàÞ3Ãб4Ã'5à 6ÃÀ3Ãp&9Àe5Ãðÿ4Ãp¯7ÃPä6ÃP©+Ã92ÃN5ðW6Ã0´1ðæ3ÃH6ÃÐò>ù8Ãp27Ãp27Ã09Ã@L4à$8à ò5ÃÀï8ÃPä6Ãñ9ÃÐ:Ã0r<à 6ÃPg6À5=ÿ7ÃÀr8ÃÀ+/Ã3/Ãp¯7ÃPØ8Ãà[4à à8à§7ÀÊ9Ã$<ð3<ÃÐ(6ÃЙ8Ã07à Ú9ÃPÒ9ÃP[8ðÈ8à­6ðÂ9ð9;Ã9Ã`4ÃàU5Ã`ˆ7à Q;À1Ã`^>Ãà´:Ãý7Ã@R3ÃÀ–2Ãp:Ã`í;ÃàI7à æ7ÃB7ÀA;Àè4Ã0~:àú>Ã'5ÃàÒ5ð+Ã@48ÃÀã:Ã0+3Ã0O-ÃÂ0Ãà¢=É@Ã06ÃÐX.Ã`6ÃÐ ;ÃÀÝ;Ã0œ5À_6Ã<8à ì6Ã@48ð/Ã5Àe5Ãp»5ÃðÏ<Ãàº9ÃPÌ:Ã@É4à W:ÃPm5ÃðL=à Ú9ÃðR<Ã0f>ðQ7ÃÀï8ÃÀõ7Ãðš0Æ6Ã`4Ã0®2Ãð2Ã`;/Àè4Ã` 7ÃPm5à Ú9Ãð1ÀÖ7Ãp©8Ã@48ÃPð4Ã`‚8à 6ÃP==ÃЫ5Ã-4ÃpÁ4ÃÑ4À_6ä1ÃH6Ã@·7à ò5ÃàC8ÃPØ8à 1Ã`4Ã`6Ã@L4Ãà+<ÃÐ¥6Ã@É4ÃÐ44Ã`ÿ8ó9Ã0û:Ã`”5à‰<à ì6ÃÐ9à>Ãðó6ÀÊ9ÃPö3ÃÐ(6ÃB7ðæ3Ãë:ðK8Ã0œ5Ã'5à 1Ã@L4à<4Ã@(:à K<à¡8ÃðÕ;Àô2Ã`¬1Ã0ã>Ã@¥:ü1à<4Æ6ÃÅ6ÃT4Ãð”1ÃP‘/Ã-4Ã!2Ãðó6Ã0%4ÃpÓ1Àq3ÃàÞ3ÃÀõ7Ã@:7à ø4Ã-4ÃàI7à þ3Ã@Ï3ü1à “0ÀG:ÃPÞ7Ãz8Ãð1à­6ÃàI7Ãp>5à u5Ã`ˆ7à þ3Ãï/Ãàm1Ã<8àB3Ã0 8ÃPm5àH2Ãðÿ4Àk4à þ3Ã!2Ø3à;Ã0Š8Ãp¯7ðø0Ã06ÃPê5ðK8ð]5à 1Ãàa3ÀÊ9ÃÀ–2Ã`)2ÃàØ4àN1Ã5ÃÀœ1ÃàÌ6Ã071ðÔ6ÃÀ6Ã@@6ðæ3ÃÐL0ÃÐÉ0ÿ7ÃPð4Àq3ÃÀÆ*Ãð‚4ÃÀ 4à u5Ãàm1Ã`”5ð!?Ã@™<Ãp,8ÃðŽ2ÃÈ/Ãð‚4Ãðÿ4ÀY7àï+À7ê4Ãð|5Ãl0ÃÀ„5Ã@Ï3ÃÅ6Ã`2ÃàÆ7ÃÐF1ÃÐ¥6ÃàI7Ã@«9ÃPs4Ã?1ð{0ÃÐL0Ã0=0ÃÀœ1ð]5à;ðo2Ãз3Àk4ÃÀŠ4à9à à8Ã'1ðÎ7ÃÝ2Ã`¦2Àô2à {4Ã` 7Ã@R3Ã@É4Ãày/à<4àB3à³5ð3Ã`”5ÃàU5ê4ðÎ7ÃÐ"7ÃÐ(6à 3Ãн2Ã`)2ð]5Ã5Ãàö/ÃÔ)Ã`5Ã05Ã@d0Ã`)2Ã0®2à ¥-Ãàg2Ã@j/Ãð¦.ði3ÃÐF1À›,Ã3Ãpµ6Ã`2Ã@^1Ãpµ6Ã@Ï3à 2Ãé0Ã`ÿ8ÃÀ+/Àw2Ã!2Ãà‘+À /Ã'1Ã0º0ÃpÍ2Ã`2ÃÐ8ÃàÒ5Ã4ÃE0ä1Ã`6ðæ3Ã`ÿ8Ãp\0ÃpJ3ÃPö3à þ3ÃÐá,ÃÐ^-Ã?1Ã0®2Ãðˆ3À›,ÃÝ2ù8Ã@L4ÃÐ.5Ãp\0Ãàð0Ã-4ÃpP2Ã0À/ÃÐ@2Ã@j/Ã0+3Àô2Ã0´1à`.à¿3ÃÔ-Ãðš0Ã33ê0ÃÀ´-À‰/ü-ÃK/ÃÀ´-Ãàg2ÃÐL0Ã0C/ö2Ã`ó:à c8ÃP8)à Ô:Ãб4ÃÝ2À.À‰/Ãp»5ÀS8ÃàI7Ãàa3à ".À.ÃÀ¢0à ‡2Ã`S+Ã@É4ÃÀ3Ãð4Ãð#/À7Ãàa3ÃPö3ðÚ5ÃÀŠ4ÃÀ1Ã0C/àË1ÃÀ3Ãp86Ã<8Ãð4ÃàÒ5ÃW-ÃÐ@2Ã`”5Ã@Ï3ð/Ãàs0Ãý7ÃpÓ1àã-ÃÀ´-à65ê0ÃàI7Ãн2ÃPö3ÃÀr8ÀÐ8Ã07Ã07Ãp>5ÃÐL0ÃðŽ2Ã÷8à:Ãð^:à<4ÃPð4Ã`v:ÃÐ8Ãàm1ÃÀŠ4à­6Ãð /à {4ÃPs4ðc4à9ðQ7Ã0%4ÃP2Ãð 3Ã0œ5Ã0¨3ÃpÙ0Àú1ÃàC8Ø3ðà4ÃpÇ3Ã@Ï3Ã69Àe5ÃPÞ7à9ÃÐX.ð‡.ä5à u5à65ÃÐ"7Ãpµ6ðø0ÃÐ.5Ã` 3Ã@í.Ãà‹,ü1ðc4Ãàê1ÃŒ5ðW6Ãà*ÃPä6Ãà®;ÃPg6ÃPü2ÃÀ+/ÀS8ðà4Ã@·7Ã09Ã0–6Ã`6Ã>ÃðÛ:Ãt9Ã0é=Ãðv6À.àB3Ø7ÃÐ<ÃðF>ÃÀN>Ã0f>Ãt9Ã@:7ÃP2Ãp©8Ã@R3Ã×3àH2Ã0:Ãé0Ãàm1Ãà[4à þ3ÃЫ5ÃàU5ÃÑ4Ã0 8ÃPs4à ±+Ãpý*à<4Ãp>5à³5à65Ã`‚8àú>Ã@ ?Ã@{Að¶;ÀY7ä5À0ê4ÃàC8ÃÀf:Ãn:à<4ÃPü2Ã0¢4ðæ3Ã0´1Ã3Àk4Ã@ó-ÃpJ3Ã@Û1ÃÀ6ðÂ9Ã@Ï3Ãн2Ã`Ž6Ãð4Ãp&9ÃÔ-Ã-4à o6Àq3ÃÐ¥6Ã8ÃÅ6Ã0 8Ãp27Ã3/ê0ÃP2Ãp‘<Ø3àB3Ã`4Ã@.9Ã`4Ãð4Ã'5ÃPð4Ãàð0ÃÐ(6Àú1Ã@Ÿ;à i7ÃpÁ4ÃÂ0à ø4Ãp»5ÃÐ(6Ã`Ž6ÃЫ5Ã@Ã5Ã@É4àË1à¹4à ™/ÃpÇ3Þ2Ã'5ÃË5Ã@d0àf-ÃÝ2ðì2Ã-ÃpV1ÃÀ¢0ÃÐ:3Æ:Ãàð0ÃÐF1Ã0´1ÃÀ6ÃÀœ1ðW6Ã`A.Ãàa3à “0ÃÐF1Ãà.Ãl0ÃpV1ÃPö3ÃàU5ÃŒ5ÃP£,ÃP-Ãð4Ã`50ÃÐí*ÃÐç+ÃK/ðì2Ãpµ6ÃðŽ2Ã@v-Ã’4ðì2ð]5ÃÀ„5ðc4Ä,ÃP1Ãðj8Ã'5ð¼:Ãp£9ÃpÇ3ÀM9Ã07Ã`¦2À.Ã05ÃÐÏ/À_6à­6ði3Ã`#3À•-Ãð¬-ÃpJ3Ã~-Ãàð0Ø3ðÚ5Ã0œ5Ãðó6Ã@Û1à ‡2Ã-à 3Ãã1Ã@X2Ã!2ÃP…1Ãz8Ãày/ÃPö3ÃB7Ã@@6Ã0º0ÃðŽ2ÃPa7ÃpÁ4ð-ÃpÓ1Ã@í.àÑ0Ã0U,à ½)Ãà+ÃàÞ3Ãàm1ÃP-ð‡.ÃÀ¢0Ã`¬1ðþ/Ã`/1ÃÀœ1ÃP&,ÃP0ÃW)ö.àÝ.ÃÐR/ðo2ÃpV1ðò1ÃPü2ÃÀ¨/Ãph.ÃÀŠ4Ã@á0Ã`;/Ãã1à`.Ã@ç/Ãà‹,À‰/ð,ö2àr+ÃÀ['à /Ã,Ã`A.à u5ÃPs4à ™/ÃÀ6ÃÀ%0Ã@|,Ã?-Àè4ð/Ã0¨3ðþ/ð/Ã@·7à ¥-à×/Ã-ÃÐÉ0Ã@L4Ãз3Ã@Û1ÃÀ1à ±+Ã0O-Ãð 3Ã0U,Ãp\0à /ÃP0Ã0Ø+àÝ.à Ã(à .,Ãpå.Ãð#/Ãph.Ãð¾*ÃàI7Þ2ÃÀÆ*ÃÀœ1Ãð¸+à @)ð-à;Ãðˆ3à ·*Ãð#/Ãc+Ãàm1à þ3Ã`G-ÃÚ,Ã`/1ÃpÁ4à “0Ã0C/ÃÀ3Ã06Ã`4Ã@ç/Ã0=0Ãé0À0)Ã`k'Ã@ç/ÃÀ2ðc4Ã,ÃP,+ÃðŽ2ÃÎ.ÃÀÒ(ä1Ã012Ãàs0Ãàs0à ‡2ÃpÓ1ä1ð .ðW6Ã@p.ö.ÃpÓ1ÃÀ–2ÃpÙ0ÃP©+Ã0C/ê4Ãðˆ3Ãð2ö2ði3à 2Àe5ðo2ð .ÃE0Ã0Ø+Ãà…-ÃPm5ÃpÍ2Ã`;/Àè4ÃÀ5Þ2ðo2ÃàU5Ãðš0à ·*Ãðˆ3ÃP1ÃÐÏ/ÃZ3Ã`50Ãï/àB3ÃÀŠ4ð,à ½)ÃÀ´-ÃÀû6ÃÈ/Ãð#/ÃPy3Ãpå.ÃP2ð-à×/Ã@L4Ãp86ÃpÁ4Ã-ÃÐX.à 1ä1Ã0´1ÃPð4à 4+à65Ã'5Ãõ.Ã0U,Ãc+ÃP©+Ã@ÿ+à ø4à 2ÃÀ3Ãàð0ÃpV1ÃÐÃ1Ãf1ÃÈ/Ã0Æ.ÃÐ@2Ãð1ÃÀO)Ã0Ø+À0À7ÃàÌ6ÃЫ5Ã@j/ÃPg6ÃÀÆ*Ãðš0ÃÐR/à þ3à 3Ã@á0Ã0é=Ã@¥:ð/ÃÝ2Ã,Ã!2Àw2ðì2Ã`Ž6ÃàØ4Ã@:7Ãà*Ãàs0Ã`¬1à ‡2à³5Ã@^1Ãð#/ÃÐ^-ðo2ÃÐÕ.Ã0C/ÃÂ,À-Ãé0Ãðš0ÃP2ÃpV1Ã`¸/Ãà‘+À¡+À‰/à*7Ã`ˆ7à¿3ÃpD4Ãàð0ð“,ê0Ã0%4ÃP1ðì2à {4ÃÐ(6Ãpý*Ãà[4à³5ÃpD4Ã@";Ã`¬1ÃÐX.ÃàÆ7ÃpÙ0Ã÷8Ãàê1ÃP£,ÃÐÉ0ÃP‹0Ã@p.Àú1Ã'5Ãàa3à ".àB3ÃW-Ã`ˆ7ÃpÁ4Ã07Ã’8Ã071Ãðš0Ãpñ,Ã,àf-Ãã1Ãé0Ãн2ÃÀº,Ãð‚4à06à 1ÃPü2ÃÀ¨/ÃP2Ã`50ÃÀ1.Ã`#3ð¼:ðW6Ãàä2ÃàÞ3ð{0ÃàÆ7Ã0+3Ã`)2Ã0+3ÃpÙ0à Ÿ.Ãpn-À /Þ2ÃàÞ3ðæ3Àw2ð3ÃPs4À1ð™+ÃГ9Ã3ÃP1ÃÀ´-Ã0Ø+ÃpÇ3ÃPy3à K<ÃÐ(6Ã`)2à 1à 1Ø3ÃÀ 4ÃÂ,à c8ÃpÁ4Ã@á0Ã@d0Ãf1à×/ÃÚ(Ã@«9Ãðv6Ä,Ã`50à 1ÃPð4à 3ÃW-à :à Ú9Àe5Ã012Ãpz+Ê+àZ/Ã@ç/Ã!2ÃP—.ÃÀC+Ãpb/Ãàê1Ã0Æ.à ™/Ã`#3ð3Ã0=0ÃÐ44ðà4Ãpb/à ‡2Ãàm1À$+Ã@v-Ãð0ðò1ÃÀ¨/à Ÿ.ÃP.ÃÀ1Ãà—*ÃðÄ)ÃP.ÃÀ%0ÃÀ®.ð/Ã'1Þ6Ã@á0Ã~-Ã×3ÃP‹0ÃÀ3ÃPö3Ã@á0Àƒ0Ã0[+Ã@”(à ".À-ö.Ãpë-ÃPg6àT0ÃÐÃ1ðà4ÃQ.à u5ð .ÃÈ/Ã0I.Ãð5,Ãà.àÑ0Ã`4ÃP£,ÃpÇ3à {4ÃÂ,àõ*Ã`G-Ã@R3Ãð /ð/Ãc+Ã!2ðì2À0Ãð /ÃÀ¨/ÃP/Ãð‚4ÃÀ®.Ã0ê(Ã@j/Ãpz+Ãàð0Ã`¬1Ã`5Ãæ*Ã0[+ÃZ3ÃÎ.Ã@^1ÃP2Ã@‚+ÃÀ=,Àƒ0ÃPü2à 3Ã0[+ÃÀ¢0ðà4Ãà+ÃP,+Ãl0Ã0Ø+ÃP…1Ã0ê(À‰/ÃP,+àé,ÃÀ+/àN1ÃÀ3à :*à`.ÃpV1Ã`Y*ÃpV1ÃE,À,ÃÀ1.ÃÀU(Ã`Ð+Ãp\0Ã%'à ±+Ãð /ÃP&,Ã,à (-Ãï/àT0Ãõ.à 1ÃÀœ1ÃÈ/ð-àû)àï+ü-ÃÐÕ.ÃQ.à`.Ã@á0ÃP0ÃÐÿ'ÃP2*ÃÀ´-Ãp>5Ãð”1Ã0C/Ãû-Ã@ù,Ã071Ã%'Ãp*ðò1Ãн2Ãð/-Ã`Ö*ðþ/Ã`Ð+ð .Ã0¨3Ã`â(ÃP£,ê4ÃPa7à ½)ÃÀ+/àã-Ãà‹,ÃP&,ð/ÃÎ.ÃÐŽ%à ±+Ãà.Ãð#/À•-Ãàê1Ãà)ÃPs4Ã0À/Ãà+Ã`;/ÃK+Ãà.à¿3Ãà.Ö)à Ÿ.Ã@Õ2Ã0¢4Ãðš0Ãðš0Ã,ÃÀÌ)ð‡.ð/ÃP…1Ã@p.Ãà)Ã@'Ã`è'à„(à ±+Ã@ç/ð{0ä1à ".Ãà*Ãàü.Ãàä2ê0ÃÎ*à 1ÃÀŠ4ÃàÞ3ÃP0Àô2Ã0[+à “0ðu1Ã~-Ã@í.Ã@p.ð«(ð{0Ã`¸/ÃÐç+Ã`¦2Ãð /Ãð).Ãð;+ÃÐX.ÃÎ*Ãàð0àé,Ã0C/Ãà£(Ãð1Ãà+ÃP2ÃN5Ã`Y*ÃT4ÃðÕ;ÃPü2à .,ÃpÁ4Ã@½6ê0Ãï/Ãàs0Ãð1Ã@F5à 3ÃÐ¥6ÃPs4ÃÐ@2ÃÀ 4ÃPü2à;ó9ðc4à æ7Ã`Ž6ðu1ÃÀ3Ã05Àâ5Ãð¦.ÃH6Ã@R3ÃÀ3ÃPy3Ã@R3à$8Ãà7:à {4Ã0œ5ÃÀr8Ã09Ãp©8ÃÐ9à¿3ÃPy3à9À¸<ÃP1?à i7ù8Ãp27ðÔ6Ã7Ãp—;Ãðá9Ãð‚4Ãt9Ãë:Ã\=ÃÐ<ðÈ8Ã<8ÃÀ`;Ã@«9ð3Ã69Ã@«9ÃÀû6ÃÀ–2à æ7Ã@48ÃàÆ7À_6ÃT4à;à$8ÃàC8Ã’8Ã@Ã5ÃàI7ÃàC8Ãð 3ÃPa7à:ÀÄ:ÃàO6Ãp»5Ã0–6ðª=ÃàC8ÃÐ:Ø7ÀY7ÃÀf:ðQ7ÃÐ(6à³5Ãð@?Ã`ù9ÃðÛ:ÃÀ5Ãðá9ÀÊ9Ã@F5ÃP…1ç;Ã@";à K<ÀG:Ãà¢=Ãp=à æ7à Ú9ðì2Ãð4Ã0„9Ãn:Ã`6Ã@@à È<ÃÐ"7ÃË5À¸<ÃPÀ<Ã0û:à$8ÃpD4ðE9Ãб4Ã09ÃPs4àî@Ã`š4Ãð¦.à {4À;Ã<8Ãp86ðà4ÃÐ<Ã`@CÃå?Ãà>Ã`Ï@ÃÙ=ÃÀ$Eà FÃð±AÃ0¹EÃÐ9HûBÃPãKÃpaDûBÃ@ÎHð»OÃ0$Ià GÃÐMÃp´Kà²JÃ`þMÃp®LÃ`MÃ2DËNÃà¹NÃ`ŸHÃÀqMÃÀÖQÃÐ'KÃYHà¬KÃ5NÃ5Nà 2UÃðòKÃpºJÃ0LÃðQQà)LÃYHð8PÃÐåUðµPÃaQÃP×Mà ýHÃà×IÃ#Qà \NÀLNÃp¢NÃÐQÃ0îQÃÐ?GÃ`4Eà ÙNð,RÃ@˜QðßIÀóGÃ@’RÃp´KÃðuKÃÀeOÃÀJð©Rà bMÃÀ_PàPÃОLòNÃðIæPÃðoLòNÃÀMSÀRMÃÀJÃОLÃðuKÃp[EÃ0³Fà ÙNàíUÃ0qQÃ0‰MÃÐMÃÀ•GÃSIÃpœOÃÄKÃp¢NÃ0‰MòNð8PÃÐ’NÃ0$Ið÷EÃжHÃKÃÀÜPÃLÃжHà µTÃÀ_PÃp´KÀÉNàAHðŒBÃ…KÃ0úOàRÃÄKà KÃ@3MËJà FÃ0 MÃðGà¾HÃp[EÃPGÃpsAÃ@ÚFà hLÃ&Fà ÍPÃp=JÃMJà ÓOÃ@øAÃHÃ`IÃpUFÃ@ªNÃpºJà GÃàTJÃpaDÃ`JÃ@ÎHÃðìLÃ0›JÃ0‰MÃGKÃP‰ZÃàTÃÄKàÊFÃ…KÃÀ¡EàÖDÃpÆHà žCÃPœBÃÀ$EÃ2HðDÃ0Ã0ï<Ã0ÃÐì?à Â=ÃÀHÃ@æDà¸IÃpØEÃPDð÷EÃ`½CÃ@{AÃà~CÃÐWCà -AàÖDÃå?ÃÀÅ?ÃP~GÃ`±EÃ@ÎHÃVBÃÓBÃàrEãFÃeFàÖDðAÀ¸<ÃP¨@Ã0Z@Ã@@àú>Ã>FðBÃp>ÃÀÃ0Z@Ã@“=ð°<à‰<ðŒBð'>ÃP==Ã@";Ã`:DÃYHÃwCÀG:ÃðÏ<Ã`@CðBÃpêBÃDAÃàŠAà ªAÃÀ0CÃ@@ãFÃÙ=ð˜@Ã0NBÃn:Ãð@?Ã0é=á<Ãà?ÀBÃ@“=ð¤>Ãp…>ÃÓ>Ãß<Ãà7:Ã`ç<ÃðF>À²=Ã0Ý?ÃÐu>Ãp27Ãà®;ÃàÌ6Ãp?Ãp[EÃÁAÀŽCÃ`ç<ÃÀ`;à Q;Û=ð'>Ã`ÉAÃà1;ÀM9ÃÀÝ;à 3@Ã@½6ÃP+@ðž?ÃŒ9ÃÐò>Ãt=Ã0f>ÃBÃP®?à ¶?Ã@@Ãý;Ã@Ÿ;Ãz<Û=ÀóGÃp>ÃP¨@à 9?Ãðá9ÃðÕ;à>ÃàŠAÃðÉ=ðE9Ã0 8ð?:Ã÷<à !CÃpü?À)?Þ6Ãp—;ÃPÒ9Ãàº9Ã0l=ç;Ãà¢=Ã@«9ÃÐ.5ÃÀ2Àè4Ã0ã>Ã`d=ÃðL=ðà4à ø4àƒ=à•:à þ3Ã@48à ?>Ã`v:ÃP+@Ã÷<Ã0BDÃ0ï<Ã@48ðª=ÃàïEÃn:ó9ÃPÆ;à9À¾;ÃÐ ;ÃÀT=Ãß<Ãð|5ÃÀ~6Ãñ=ÃÐÃ1à•:ð9;ðE9ÃЇ;ÃÐ¥6à$8À7Ãb<Ãà+<Æ6ðª=Ãt=Ãp&9ÃÀ6Ãðí7ÃPê5à 1ÃPÒ9ÃàÆ7Ãàü.ÃÐ:ÃZ3Ã07Ãð|5Ã’8Ãðd9ÀÊ9Ø3à65ÃÀx7ÃÐ¥6Ã`6ð°<Ã`ó:ÃÀT=Ã`Ž6ê4ð°<à06ÃÐ<ÃŒ5ÃÀŠ4ÃÐ<Ãå;ÃPÞ7ÃPm5Ã07à*7Ã0%4Ã\=Ã!6Ã!2Ãðç8ÃPÆ;Ãý7ÃàÌ6Ã`ˆ7ÃB7ä1ÃÀ~6ðÎ7ÃPä6ÃàÒ5ÃÀr8à o6ð3ÃàØ4ÃÀ`;Ã;Ãðš0Ãr/Ã@ç/Ãð|5ÃPm5ÃP/Ã`6à i7ÃÐ{=Ã`ù9à 3à•:à9Ã7À}1Ã`G-Ãðó6ÀÊ9Ãàg2Ãàº9ðE9ð3à (-à {4ÃàU5ÃÀ1.Ã0=0Ãà-Àq3à 6Ã@·7Ã69À1Ã0C/Ãðˆ3ÃK/Ã0¢4à06ÃPs4àË1à u5à 6à 2Ã@É4à ø4ÃpD4à¹4Ã`6ÃÐ:3ÃÐX.Àâ5à 1ðc4à Ÿ.ÃpÁ4Ã`í;à 0Ã0C/ÀY7Ã!2ðu1ÃàO6Ãð¦.Ãð”1À}1Ãàa3Ãð4ÃÀx7ÃÝ2à 3Ã@X2Ã`¸/ÃÀ–2Ã0¢4Ã@½6Ã!6à•:ÃП7Ã*;ÃЙ8ðÔ6ðÎ7Ã@½6ÃPa7Ã`‚8ðu1Ãé0Ãð|5Þ2Ãð|5ÀÜ6Ãð”1Ã@ç/à¹4Ãf1ÃpÍ2ðc4Ã!2ði3ÃЙ8ÃÀ~6ÿ7Ãà7:ÃPä6ÃàU5ÃÐÉ0Ãð|5Ãðá9Ã07ÃÝ2ÃÀ%0ÃГ9Ãð.BÃàÆ7à¹4ÃH6ÃH6Ãàð0Ãày/ÃÐ¥6ÃpÓ1Ã0„9ÃÐ.5ÃÀ`;Ãý;ÃPü2Ãàm1àƒ=ÃPä6à 1ä5Ã`”5ÃÐ9ÃÐ¥6à¿3Ã`4ÀY7ÃÐ:ÃpP2Ãðˆ3Ãðd9Ãp»5Ã@:7à c8Ãàê1Ã@R3ÃPü2Ã0=0Ã0´1Ã3à :ðò1Ãf1Ã0 8Ã0+3ÃPê5ðÎ7Ãà+<ÃÅ6ÃpÇ3Ã33ðì2à 1ÃÀ1.Ã3Þ2Ã`ÿ8Ãp¯7Ã-4ÃPØ8Ãð|5ÃЙ8ÃpJ3Ã@ç/À_6à<4À•-Ãàg2àT0Ã8Ã`¬1ÃPÒ9ÃÀ~6ðÔ6ÃÀ×<Ã`ù9ÃpÁ4Ã@R3Ãð#/ÃÀ 4ÃÂ0ÃÝ2Ã`”5ðÎ7ÃP/ÃPð4ÃpV1Æ6Ã0œ5ÃPy3Ãp&9ÃQ.Ø3Ã@·7ÃÑ4Ã` 7Ãðv6ÃT4ÃpJ3Ã92Ãpb/Ã@É4à /Ã0:Ã’8ÃÀ3ÃÂ0ó9ÃË5ÃPê5Ãð”1Ãð 3Ã0+3Àî3Ãf1Ã`ù9ð3Ã@:7Ãð¦.à<4Ã`¦2ÀM9ÃÈ/ÃP2à¹4ÃPÀ<ÃÀã:Þ2Ã!2à u5Ã@Ã5À7Ã4Ã`50à 6Àú1ÀM9ÃPg6ÃË5ðà4Ã0 8Ã>Ã`š4à ò5ÃE,Ã@R3à ò5Ã012ÃP -Àâ5ÃpÇ3ðK8Ã-0À•-ðu1à¿3À_6ðu1Ãày/Ã06Ãàm1ðE9ði3ÃÀ5Ã0–6Ã0´1à ø4Ã0%4Àk4ÃÐÏ/Ã012ÃÀ3Ãpb/Ã@@6Ãpµ6Ãl0ðò1Ã!2Ã`2ÃÀ2Ã`#3Ãðù5À,Ã0Ì-ÃÐ44ÃÈ/Ãн2ÃÀ+/à þ3Ã` 7Ãз3ÃÀé9à ‡2Ã`Ž6à 3ÃÐ@2Ãã1ü1ÃÐ:3ä1à o6ÀÜ6Ã`ˆ7Ã`4à65Ãð‚4Ã05à ™/Ã`;/Ã`5Ãû-ÃÐÉ0Ã`6Ãðó6ÃQ.à ò5à þ3Ø3Ã’4ð/Ã@Ï3À‰/À.Ãp&9Ã0–6Ã-ðÚ5À.ÃÐL0ö.ÃÐp*ÃP0à<4ÃPÞ7ÃpP2ðà4ÃÐu>ÃH6à +Ã0ð'Ã`¬1ÃÀ3Ãðç8ÃPö3à¿3Ãð2Ã'1ÃÐ^-Ãp\0Ãph.Ã-0Àú1à ".Ã@Õ2ÃÀ2à Ô:ÃЫ5Ã`”5à ò5ðø0Ã<8Ã8ÃP…1Ã0¢4ðW6Ã?1Ã0Ò,ÃpÇ3ÃpV1à ™/Þ2Ã0+3ÃÐF1Ã~-àé,ðu1ÃÀû6Ã`š4ð{0Þ2ÃðŽ2ÃpÍ2Ã4ðÈ8Ã012ÃÈ/À1ÃÐÛ-àN1À.ÃPð4ÃPs4ÃÐÕ.Ã` 7ð]5Ãàm1ðæ3À1ÃÐ(6Ãð1Ã@:7à¿3Ã0%4À‰/Ã0Ì-Ã`#3Ã06à {4ÃÐ:3À¾;ÃZ3ðc4Ãàä2Ãày/ÃP‹0Ãн2Ãз3Ã@Õ2Ã0+3Ã@F5Àq3àT0Ãx.ÃÀ3ÃpÁ4à “0À_6Ã@ç/Ãpµ6À§*Ãð5,ÀY7Ãé0Ãð /ÃÐ.5Ã`)2à 3Ãà…-Ã@Ž)ÃÈ+ÃE0Ã0~:à;ðc4ÃàI7À-Ã0=0à 0ê0Ãðù5Ã0¨3Ãð;+ÃàÒ5ÃŒ5ÃÈ/ÃpP2Ãà-Ã0[+à ‡2Ø3Ã@ç/Ãàä2Ãày/ÃT4Ã@É4à «,Ã0[+Ã!2Ãð0Ã@Û1Ãp*À,Ã`¬1ðu1ÃpÙ0ÃK+Ã0º0ð/à (-Ã0®2Ãð¬-Ãàö/Ãr/à 1ÃÀx7à 1Ãõ.ðo2ÃP©+Ã0º0Ã'5àZ/Ã`S+ÃpŒ(Ãàð0àN1Ãàê1à 3ÃðŽ2Ãðš0Ã3/Ã0–6Ã`4ÃÐá,Àô2Ã5ÃK/ÃÐ.5àï+àZ/ð{0ðo2Ãpë-Ã0¨3ÃpV1ÃÂ0Ã92Ãà.ÃÀÆ*ö.Ãð /ÃÀ3ÃË5ÃÐ@2Ê+ÃÀ2àN1Ãð¬-Ã33ö.à 2Ã7Ãp86ÃÐ44Ã0C/à 0Ã@d0Ãpb/Ã`6ÃÀ„5Ã@^1ü-ÃP…1ÃÐÉ0Ãð1ÃÐÉ0ÃÐç+à ™/Ãpñ,Ã`¸/Ã`#3Ã012Ã0+3Ãà,Ãày/Ã@R3Ã4ÃðŽ2Ãx.à 3Ã@Õ2Ãl0ðø0Ã@Ï3ð/ð‡.Ã0I.Ãð).Ã`²0à þ3Ã33Ã@ç/ð“,ÃP…1à 2Ã@j/Ãðí7Ã÷8ÃÀ´-Àî3Ãpë-Ãr/ÃÐL0ÃÀõ7àN1Ãð2ÃðÄ)Ã0Æ.Ã@v-Ã@48àH2ÃpÁ4Ã92à 1Ãp»5Ã3à ì6ÃpJ3Ã0´1Ã`50ä5Ã9Ø7à65Ãp£9Ãpb/Àk4Ãpb/Ãàs0ð]5ÃÀ3ÃÐu>ðo2ÃpJ3Ãàä2ð3Ø7ÃÀ6Ãp,8Àe5à i7ÃàO6Ã@Û1à:Ã@48ÃK/Ãp86Àq3Ã0¢4Ã@^1ÃpJ3ÃPs4à {4ðÂ9à Ÿ.ðc4Ãб4Ã@¥:Ã0À/à o6ÃPÆ;à Ú9Ã0¢4ÃÝ2ÃE,ðÔ6Ãб4Ãàg2Ãé0ÃB7Þ2à*7ÀY7Ã0Ì-ÃK/Ã@X2Ãàä2ÃÐÕ.Ãðˆ3Ã0+3Ã@.9Ã07à<4à­6ÃЫ5ÃðÏ<Ã`5ÃàÆ7Þ2à 6ÃÀ3ÃÑ4Ã06ÃPö3Àq3Ã0+3Ãã1ÃàÒ5Ã09Ãðó6ÃpÙ0Ã`4ÃÐR/Ã0º0ÃPê5ÃN5ð/Ãð /Þ2à 3ÃÀ®.Ã0œ5ÃÀ®.ÃP…1Ø7ÃK/ÃàÒ5ÃPä6Ã`5Ã@R3à§7ü1Ãð1ð+Ãï/Ã7Ã@½6À)?ÃÐu>ÿ7ð9;Ãpå.Ã,Ãï/ÃÀ%0ðK8Ãðÿ4Ã’4ÃP…1Ãðš0Ã33ÃPä6Ã@Ï3Ã3ÃŒ5ð‡.ÃàI7ÃB7ÃÀ2Ø3ÃÐ:3Àw2ÃÀŠ4Ãàm1à 6à c8ÃÐ"7à­6Ã0º0Ãð‚4Ã0´1ÃpÓ1àT0Ãp,8Ã<8ÀM9à /à65ÃÀû6ÃP2ÃpÇ3ÃÐ@2Ã0´1àB3Ã`”5à ¥-Ã8Ã-4Ãl0ÃÀº,Ã0Ò,Ã3/ÃÐ(6ÃPð4Ã@L4à 1ð3Ãàm1ð“,Ã0Ì-Ãð 3ÃZ3à 3Ãz8ÃpP2ÃŒ5àN1ÃЙ8ÃÐL0Ã@:7à <Àô2Ã'1Ãf1Ã`)2ðì2Ã`;/Ãð‚4ÃÑ4Ã`ˆ7Ã@^1Ã0®2ÃÀf:Ãh;ÃÀï8ÃP2ÃàU5Ãàê1Ãp27ÃÐ@2Ãr/ÃàU5Ãðd9ðo2ÃÐÃ1à 2àé,à þ3ÃЫ5Ãðp7Ãà¢=Ã`š4Ã@L4ÃÀ~6à ì6ÃÀ~6à ø4ÃÐþ<Ãp27ð9;à§7ÃPð4à ]9Ã@±8ÃÐ¥6à*7Ã0¨3ÃÐ8Ã@¥:ó9ù8Ãàº9ðÎ7Þ2ä5ÃPg6Ãðÿ4Ã0~:ð]5Õ>Ã`|9Ã`6ÃàÒ5à³5Ãðp7ðÚ5ÃÀx7ÃP2*Ãp86ÃÐ<ÃPy3Ãàð0à i7Ã@·7ö2Ãð^:ÃÀl9Ãý7Àk4à ì6àB3ÃPÒ9Ã07Ã0„9ç;Ã`ˆ7ÃÐ ;Ãt9Ã`|9ÃÀœ1Ãpß/Ã÷<ù8ÃÐÏ/Ãð5,ÃÐ¥6à à8ÀÐ8ðÎ7à :Ã7Ãn:ÃàÆ7ÃP…1Ãà[4Ãð^:Ãàä2à {4ÃÀ%0Ã0%4Ã@:7Ã`|9à ‡2Ã8ÃË5à o6ç;ðÔ6ÃZ3Ãp:Ãðp7ÃPm5ÃÀ6Ã` 3Ãб4Ã@Ã5Ã`í;Ãз3ÃÀ3ÃÀ5ÃÑ4Ã’4ðÂ9Ã`#3Ãp86à ø4ÃÐ ;à W:ÃÝ2Ã'5ÃàU5Ã`8Ãz8Ã3ðÎ7Ãб4Ã06ÃÐþ<à65Ãðÿ4àB3Àâ5ÃàI7Ãð|5Ã0 8ÃÀŠ4ÃP/à ‡2Ã`ó:ÃГ9Ãð‚4ÃÀx7Ã` 7Ãñ9ê4Ã$<Ã`2Ã` 7ÃàI7Ãðù5Ãï/ÃðŽ2ÃÀû6à ì6ÃpD4Ãp»5Àâ5ÃÀ~6À1Ã09ÃÀû6Ã`”5Ãë:Ã06Ã`ó:Ãðj8Ã0 8Ã@·7ÃÀõ7ÃÀf:Àè4ÃàI7Ãp©8ÀÖ7Ãà%=Ã8Ãð 3ÃÐ:Ã5à;à 6Àe5ÃPÞ7Ãðó6ÃÐ:Ãð /ÃàÞ3ÃQ.Ã05Ã@j/Ãý7Æ6Ãàä2Ã@R3Ãà[4ðu1Ãpµ6Ã0œ5Ã0¨3Ã69Ãp>Ãз3ÃÀ5Ãå;ðà4Ã69Ã09Ã0û:Ãp,8à u5Ã33Ã`50Ã`2Ãû-à ‡2ðÂ9Ã@:7ÃPê5Ã@:7Ãpë-Ã0À/ä1Ã07Ã`ó:ÀG:ÃN5Àî3ÃP¨@ÀM9Ã`v:ÃГ9Ãx.à 1à 2ÃŒ5ó9ÃàÞ3à•:ÃT4ÃÑ4Ãàº9Ã`ˆ7ð]5à {4Ã`2Ã@Õ2ð3ÃÅ6Ãp>5ÃPs4ÃN5Ø7Ãð”1àH2Ãp,8ÃÀ–2ö2à .,Ã<8Ã@.9Ãà´:Ã0¢4Ã@>à à8à 2Ãph.àË1Ã`š4ÃÀr8à­6ù8Ãz8ê0Ã'5Ã0œ5Ã3Ãðˆ3Àk4ÃpP2Àq3Ã` 3à ì6ÃŒ5Ãб4ðà4à þ3Ã-0à¹4ÃpÇ3Ã0´1Ã@á0Ã` 7Ã92Ãp»5à<4Ã0¨3Ãpå.Ã!2ÃÀû6ÃP©+ÃpÓ1Ã8àH2Ã@@6Ãt9Ãý7À¸<Ã0õ;ÃÀœ1ÃpÙ0Ã!6Ãt9Ãz8à65à 6à ø4ðc4ÃàÌ6Ã0~:ÃZ3Ãðó6Ã07Ã@v-Àú1à¡8ÃÀ`;à þ3Ã0Æ.Ã-4ÃT4ÃpÍ2Ãðš0Ã@É4ÃÀŠ4ð]5Þ2ÃÐ ;Ãðÿ4Ãàg2Ã012Ãp\0ÃH6Ãý7à­6àH2Ãàg2Ã`|9à ™/ÃP -Ãðÿ4Ã0Æ.Ãàs0ÃàO6Ãàº9Ãh;ÃàÞ3Ãн2Ãp\0Ã0º0ÃÎ.Ãé0ÃQ.Ã`;/Àú1Ã@½6ðW6Ã0–6ÃE0ÃPm5Ã@Õ2ÃpJ3ÃpD4Ã`²0Ã@R3À›,ÃÐÉ0ÃN5à06Ã’4ð/Ã'1Ã@«9à 1Ãð).Ã06Àè4Ãàê1Ã`²0Ã@«9ö2ÃP2àÝ.à 2Ã×3Ãp27Ãà—*Ã`¦2Ãý7ä5Ã`²0ÃÀ¢0ðŸ*ÃÐÕ.Ãpý*Ãàê1Ã0Ò,Ã@d0Ã@ÿ+Ãpý*ÃÐX.Ã!2ðà4ÃpV1ÃÀ+/Ãp*Ã`Ä-ÃpV1Àk4Ã@Õ2Ãà.Ã@R3Ãð;+ÃÐR/à 2à {4ü-Ã`S+à “0ÃÐ44Ã`M,Ãé0ÃÐ44ÃP2à ".àB3Ã-0Ãð).ÃÀ 4Ãð4Ãà…-ÃPÞ7Ã@‡?ä1Ãàm1Àw2Ã`50Ã0I.Ã,Ã'1ÃÐÏ/Ãàg2Ãà)ÃàÞ3Ã@X2Ãph.ÃPü2ÃÀU(Ã`#3ÃÀ2ÃÀ2à /Ãð0Ã@(Ã@p.ÃÐù(Ã0Ò,Ã`¾.à 1ÃÑ4àT0ÃW-Þ2ÃðŽ2Ã×3Ã`/1ÃP‘/Ãà‹,Ã@L4Ã@X2Ã0º0à 3ð,Ã~-àï+Ãpn-À0ü1À›,ÃPs4Ã071ðì2ê0Ãpt,Àƒ0Ãð|5Ãõ.ðø0ÃQ.Ã'1Ãàü.ð-à Ÿ.Ãpý*ÃpV1Þ2ðø0ÃpÓ1Ã×3Àk4ÃÐ@2Àè4Ãð¦.Ãf1Ãн2Ã@|,Ã`¸/ð3àÑ0ÃpÇ3ÃpÁ4Ã`50Ãpß/à /ÃQ.Ãpñ,Ã'5ðÔ6Ã@F5ÃÀ¢0Ã5ðo2ÃÐ(6Ø3Ã@j/À1Ãé0Ã@ù,Ã@í.ÃPy3Ãð1ðì2À-Ãp86ÃÐ@2Ã0º0Ãàö/ÃpÍ2ÃàÞ3Ã×3ÃÝ2ÃPÒ9ü1à ·*Ãà.Ã69à i7ÃàU5Ãp>5ÃÂ0àZ/Ãð¦.àx*à ‡2Ã`Ê,ÃÐÕ.Ãà.Ã!2à “0Ãà-ðò1Ã@ù,ÃÐL0à ò5ÃpÍ2Ã`¬1ÃÀº,Ã0=0Ãph.à ø4Ã@½6ÃÐÏ/ðþ/à þ3Ãð;+à<4Ãð).ÃE,ðu1Ãpå.ÃÀ['àã-Ã@p.Ã0Þ*ÃPg6àf-Ã@ó-Ã`¦2Ã`¬1ÃP0Ã`¬1Ã](Ã0O-à 1à ø4À}1Àî3ÃàØ4ÃP©+Ã0O-ÃP—.Ã`#3Àq3Ã0%4Ãp86àÅ2Ãðç8Ãp=À}1Æ6Ã69Ã`ÿ8Ã` 3ÃÀ 4ÃЫ5Ã`¦2àÑ0Ã`50Ã;Ã`8ðà4Ãð2à þ3Ã`¸/à 3ð,Ãðv6Ãð4à­6ÃÐF1àH2Ã`6ÃÐ:3Ãàs0àB3à þ3à¿3Ãðj8ÃPð4ÃП7ÃàÒ5ÃÐ@2Ê+Ãð#/Ã@á0ÃB7Ãph.Ã0¢4ÃÀ„5àÅ2Ãðù5Ã`5ÃT4ÃàÞ3Àƒ0Ã!6Ã@½6ÃÀ6ÃÀ7-Àƒ0ð]5ðu1Ã`v:Ã0À/Ã012ÃÀZ<àH2ð-Ã4Ãpb/Ã0%4à (-Ãp©8Ãðí7ÃÈ/ðu1Ã07ö2Ã'1Ãðš0à ‡2Ãðç8ÃH6Ãðó6Ãðp7Ãðí7ÃPU9À;<ði3À-ÃÅ6Ã×3ÃàU5Ãð¦.Ã0=0ÃÀû6Ã`”5Ã@·7ÃÐ9HÃ0:ÃÀã:Ãз3ðþ/ÃÐ:3ÃÐ"7Ãp27à Ú9ð9;ðì2Ã`‚8à 6Ã06ð3<Ãз3àÅ2ÃÅ6ÃÐ44ðE9Ãðp7Ã@ ?ÃP?ÃÙ=Ã-4Ãðá9à$8à þ3ÃÀ~6à Q;Ã0é=ÃðL=à¡8ð¶;Ãà´:ðÔ6Ã`p;ðE9à*7Ãðj8à :ÀM9Ãð|5ÃÐ¥6Ã`8Ãà7:ÃàÀ8ÃÐL0ÃP´>Ãß@à Ú9Ã0œ5ð°<à Â=Ãñ=Ã`v:ÃÀé9ÃB7ÃðX;Ãp86à Â=ÀÐ8Ã@^1ÃàÒ5Ãp:à9ÃÀã:ÀS8ÃÐ8ÃPI;Ãh;à <àÑ0ÃÀ%0à ò5Ã69Ã@á0ÃPs4ÃÀï8Ã`FBÃàU5Ã`ˆ7Ã`6Ã05Ãðç8ÃÀ2Ã@<Ã`8Ãp¯7à•:à ì6à•:ÀA;Ã69à Ô:à¹4Ã5ÃЫ5ÃÐ¥6Ãn:Ãp=à­6à§7Ã09ÃÝ2ÃpD4Àî3à¡8ÃàO6ÀG:ÃÀ¢0Ã@48ÃÀ`;Ã=Ãà1;à W:Ã05Ãàa3ÃPð4ÃÀr8ÃPy3Ãt9ÀS8ÃÐ:3Þ6Ãï/ÃPy3À_6Ãý;à :ÃЙ8ÃÐ8Ãp©8ÃpJ3ÃàÀ8ÃÀr8Ãðj8à§7Ã`ÿ8í:Ã@Ï3ðÂ9Ãðá9ÃP==Ã7ÃÍ?Ã@Ÿ;ÃPØ8Ã0À/ðÚ5ÃГ9ÀM9Ãðù5ðò1Ãn:Ã’8ÃPÞ7ð9;À;Ãh;Ãb<ÃÐ:à ‡2ÃpJ3ÀS8Ã0:ÿ7Ø3Ãðó6Ã`²0ÃH6ðK8ðK8Ã69Ã`í;à§7ðà4Ã5ð‡.ÃPm5ÃÀf:Ã0´1Ãß<ÃàU5ÃÝ2ÃPÞ7ÀCÃ@X2Ã@Ï3Ã05ð¶;ÃPa7àÅ2Ãð‚4à¡8Ã`2Ã`6ÃÐ44ÃÀû6Ãpµ6Ã`¦2ê0Ã`5ÃPU9Ã0Š8Ãб4à9ÃÐF1ÃàÞ3à æ7à ø4à;Ã@·7ÃH6ÃÀŠ4ÀM9ÃГ9ÃÀ~6ðÔ6ÃÐÏ/ÃÀ3Ã`8ÃÐ<ÃPä6ÃàÞ3ðÚ5ÃP7>Ãp—;à 6ÃÀ3à ì6Ãà[4Ã`8Ãà´:Ã@48À•-Ãàä2ÃÐ:Ã’8Ã0Š8ÀY7Ãà=9Ã7ÿ7à­6ðW6Ãp¯7Ãp\0Àú1Ãð|5Ãб4ê4à9Ãà´:Ãn:Ãà=9ÃÐ(6Ã@L4ÃàØ4ÃÀ3Ãðÿ4Ãf1à c8ð˜@à ø4Ã33Ãðd9ÃÓ>Ãp,8ð¶;à {4ÃPê5ÃÐ:3ðì2ÃÀ1.ÃPm5ÀÜ6Ãàº9ÃÀ3ðÚ5Ã@±8Ã0–6Ã`p;à›9ÃàÞ3ÃŒ5ÃÀ1.ÃÐ.5ÃZ3ÃZ3Ã7ÃÐF1à<4ç;Àè4Ã@·7ÃpÇ3ÃÐ.5Ãl0à×/àÝ.Ãàs0ÃpV1à¹4ÃàI7ÃÀr8ÃÐ9Ãl0ÃP1ÃП7Ãp>5ÃÑ4à ò5Ã0C/Ãàö/Ãàs0ÃŒ9ÃP‘/Ã`#3ÃpÍ2ðÚ5àN1à ¥-À}1ðc4ÃP…1Ã@.9ÃPê5Ã`š4Àw2ÃPð4Ø7Ã0´1ÃpÁ4Ãðš0ÃÀœ1à c8Ø7Ã@É4Ãà%=à*7Ã!2àË1ÃK/Ã071ðc4ðà4ÃPü2ð3ÃŒ5ð]5ÃT4Ã!2Ãðš0Ãàa3Ã`6ÃP—.Ã@^1ÃPð4Ø3ðì2Ãàê1Ã@Ï3Ã0%4Ãð2À›,ÃpV1Ãl0ÃÀ1Ã`Ê,ÃP‘/Ãàü.ÃÀ¨/à “0ä5ÃPê5ÃÀ6ÃÀõ7Þ2àé,ð‡.Ã33ü1Àw2Ã`š4ÀÜ6ÃÐ:3ÃàU5à ø4Ã0„9ÃÀ1ÃàÒ5Ã` 3à “0ÃÐ@2Àî3Ã0Š8Ã@X2à ¥-Ã@á0À§*À.ÃàO6ÃpÇ3à<4ðu1àZ/ÃÀ„5à*7Ã` 3Ã0®2ÃZ3ÃÀ 4Æ6Ã`Ü)Ã0´1Ãàä2Ã012Ã@d0Ãð0Ã`2Ã92à /Ã071à×/ÃPü2ÃÀ–2ð .ö2Ãp\0Ãp÷+ÃÀ1ÃpÙ0À}1ê0Ãpå.Ã×3ÃPü2ð/Ã`ˆ7ÃÎ.ÃE0À‰/ÃП7ÃÀ7-Ãc+ÃÂ0ÃÐ"7ÃÀ–2Ãà-àé,Ä,Ãð#/ÃÀœ1Ãð‚4Ã@R3Ãð1ÃPð4ÃP…1ðo2Ã3/à þ3à ì6ÃÐÏ/ÃÀ5ÃÐÛ-Ãï/À**Ãà+ÃP.ð{0Ãx.Ã-0Ã@ó-Ãàê1Ãð/-Ãð/-Ãð0ÃP2Ã0ä)Ãà‹,Ã92Ãà-Ã`¦2Ã@ÿ+ÃÀ1Ã0À/Ã0Ò,Ã@ç/ÃÀ´-ÃÀœ1àË1ÃÐÏ/ð{0Ãð¦.Ã`²0ð«(Ã`Ð+Ã@í.à L'à 1À‰/ü-Ö)Ü(Ã@R3Ö)à .,À‰/ÃpP2ê0ü-Ã'1Ã@ç/ð/Ãpb/À$+Ã9.Ãð/-Ã?1Ã'1Ãé0ðì2ðo2Ãc+ð‡.Ãð”1ÃÚ(Ãà,'à ø4àÅ2ð-ÃÀI*Ãà=9ðE9ÃT4ðW6ÃÐL0Ãpz+ð-à 1ð{0Ã0ê(Ã@á0ÃÀ1.ÃP/à ‡2ä1À /Ã@±8ÃN5à<4Ãð4Ãpn-ÃK/Ã@d0ÃpÓ1ð/Ã`²0Ãàä2ÀÐ8ð3ÃÐÏ/àl,Ãðd9ÃÀx7à ¥-ÃÐí*à 1Ãð¦.Ãàê1ÃÀ1àË1à +ÃZ3ÃÐp*ÃpÍ2ÃPä6Ãï/ð/Ãð”1ÃpÁ4ÃË5Ãû-Ãp\0ðo2Ãн2ÃÈ/ÃPð4Ã`”5Ã`/1Ã0¨3Ã`¦2Ãé0Ã`¦2Ã'1Ã@d0ÃÐá,ÃPy3Ã0´1ÃÐ@2Àƒ0ÃÀŠ4ÃPü2Ã`#3Ãý7Ã33ÃP1Ãp»5ÃÀ5Ãàü.Ã@@6ÃÀõ7ðo2ÃÐL0ÃÀ®.ÃÐX.Àe5ðo2àB3Ãз3à 1Ãæ*à­6ð/ÃÐF1ÃÐL0Ãt9ÃP2Ã`A.Ã`¾.Ã@^1ÃÀ–2Ãp,8Ãà[4Ãp>5ÃPy3à³5ÃÐ(6àÝ.à þ3À0Ã`;/à ·*ÃП7Ã` 3ÃÐÛ-Ãày/ðu1Ã@d0à65àT0ÃÀ2Ãï/ä5Ãp86ÃЫ5Ã07ðø0Ã0®2Ã@R3ÃP—.ÃpP2Ã`ÿ8Ã0º0ÃÐÉ0Ãr/Ã012ÃÐ.5ÃÐ@2ÃPy3Ãð¦.Ã9.à “0Ã`8Ã0%4Ã'1Ãà,ð-Ã0¨3ÃE0à ì6Àe5àÝ.Ãðç8Ã@48ÃàU5Þ6Àú1ÃÐ¥6Ãð¸+À§*Ã5àH2À7Ã4ÃPð4Ã0+3ÃÐÉ0Ãðˆ3ð-À‰/ÃP -ê4Ãp©8Ãñ9à “0Ã’4Ãpµ6À‰/àN1ÃÐ@2Ã`”5Ãàm1ðQ7À7Ã9Ã8Ã` 3ðì2ÃðŽ2ÃpD4Ãé0Ã0%4ÃpÙ0à 2ü-Ãðÿ4ÃÐ{=à ‡2ÃÀ2À¡+Ã@L4Ã92Ã69Ãð0Ãðš0ÃpJ3ÃE0Ã<8Ãн2Ãð 3Àú1ÃP1ÃPð4ÃP‹0Ã@½6ÃЫ5ü-à “0Ãðš0ÃÐÃ1ÃЙ8Ãàö/Ã@á0à 3Ã-0ÃÀ„5Ãpz+Ã`‚8Ã@L4Ã@Õ2Ã` 3ü1à ‡2Ãð¬-Ã05àT0àZ/ðø0Ãé0Ãàê1Ãpß/Ã@X2ðò1À1àB3Ã`#3ðþ/ó9ÃÀ~6ÃÂ0Ã@j/à ™/Ãë:à‰<Ã÷8ÃàÀ8Ãà7:Ã`^>Ãf1ÃÀ×<Ã÷8ÃÀ2ÃàØ4Ãà1;Ã`4ð3Ãpß/ÃŒ5Ã0f>Ã'5ÀG:ÃÀõ7à ™/Ã`/1à ]9ÃÀl9à à8Ã`¦2Ãï/À7ÃðÛ:Ã5à<4Ã@«9Ã’8Ã09Ãà[4Àú1Ãpå.àf-Ãõ.ÀÜ6Ã33ÃðÛ:ÃàÒ5Ã0–6Ã0+3Ãðÿ4ÃàÆ7à 3àÅ2Ã33Ãp27ðà4Ã@¥:à E=Ã@±8Ã@.9ö2Ãp>5Ã`”5ÃpD4Ã0Š8ÃN5ÃÀõ7Ø7Ãðù5Æ6à {4Ã`4Ã0+3Ã0®2ÃPÒ9à9Ãб4ð]5ÃàÆ7Ã`¬1ÃÂ0Ã?-Ãðv6ðo2Ã0®2Ã@¥:Ã@Ÿ;Ã@Û1Ã@:7Ãh;À_6ðì2Ã0„9Ãb<à 3à¡8Ã`5ÃpÇ3à æ7Ã012ÃðX;Ãã1ÃÀ1ÀÄ:Ã` 7à¿3ð?:Ãp©8ÃpP2Ãà´:Ã`8ÃП7à06àÅ2ÃÀ`;ÃðX;ÃP2Ã0œ5ÃÀŠ4ð¼:Ã@>Ãp>5À7à¡8À}1ð-ðK8Ã@Û1ÃÀ 4ÃÀ 4Ã0¢4à <ðÎ7Ã0~:ÃÀx7ðþ/ÃpP2Ã@j/à­6ÃpD4Ã@Ï3Ã@X2à06Ãб4à i7Ãð/-ÃП7Ã’8à u5ÀS8Ã`ˆ7Ãp»5ðø0Ã@F5Àâ5ÃðŽ2Ãàa3Ãr/ÃÀ–2à³5Ã@É4Ã`2Ã,Ãð4ÃÀ5ÃàÌ6ÃpD4ÃPÞ7à06Ãh;Ã`4àÅ2à65À /Ã!6à;Ãp&9Ãt9ÀÜ6ÃÐ{=Ãà7:à c8ü1à¹4Ã`v:ÃpÓ1Àè4Ã`|9ÃÐ44Ã!6Ãðp7Ã<8ÃPg6ÃÀx7ð/à×/Ã`¬1ÃÑ4ÃÀ5ÃÐF1Ãðí7ÃÐ ;Ãß<ÃÀ~6ðQ7àH2à9ÃÐ:Ã'1Ãã1àH2à 2ðE9ð3<Æ6Ã09Ã0=0ðc4à‰<Ã<8ÃPð4Ãð^:ÃÐ(6Ãpµ6ÃàØ4ð/Ã`‚8Ãà=9ÀG:ÃÐÛ-Ãpµ6à 3ÃЫ5à -Aà06Ãðj8ÃàI7ðE9ÃP1?ðÈ8ÃH6ÃÀ„5ù8Àî3Ãðó6ðÈ8Ã@·7Ãà7:Ã@^1Ã` 3ÃàÆ7ÃÐþ<Ã<8ÃPÒ9ÃË5Ãн2Ã071Æ6ÃpÇ3Ãðÿ4ÃàÌ6à9Àî3à 3ðò1à¡8ÿ7Ãã1à<4Ø3ðæ3Ãà´:ÃË5ÃàO6Ã7Ã`í;Þ6Ãàg2ð]5ÃÓ>ÃàÀ8Ã@.9ð .ÃÝ2à65à u5ð˜@à :Ãp27à :ðÔ6ÃZ3Ã`ù9Àè4Ãðš0ð3à*7Ã0:ÃàÀ8Ã@Ï3Ã0+3à :Ã÷8à;Ãðd9Ã9Ã@Ã5Ã@Û1ðÚ5ÀÐ8Ãð”1Ã`|9ð]5Ãðˆ3àB3Ã@:7à u5Ãx.ÃQ.Ã@·7ÃŒ9ÃàÆ7Ã` 3Ãp&9Ã4Ã0À/ÃÀ1ÀY7ÃÀû6ÃÀ5Ã`#3àË1ÃÀœ1à06Ãз3àZ/Ãàê1ê0Ãn>ÃÐ:Ã`8Ø7ÃPð4Ã`ù9ÃàÞ3Ã`”5ÃÐ@2Ø3ÃÀõ7À¾;Ãp‹=Àe5Ã3/ÃÀf:ÃàØ4Ãð1Ã`¾.Ãð#/ÀÐ8ÃŒ5Ã'1Ã`5Ãf1Ãý7ÀY7Ãp27Ãð4à æ7Ãp»5Ã'1Ã@É4ÃÀ6ÃÀï8Ãã1À7Ãðš0Ãз3à 3Ãp27ÃðŽ2Ã06Ã0®2Ã@d0Ã`6ÃPÀ<ÃPC<ðæ3Ãàð0Ãð).ðþ/ð{0Ã@j/ÃÀ–2ÃP‹0ÃP0Ã0U,Ã0û:ÃÀœ1ÃpÁ4ÃpÁ4à ò5à 2ÃÐ44ÃP2ÃT4Ã`š4Ãp>ÃŒ9ü-ÃpJ3à¿3À0Ã@F5ÃÀœ1à ì6à<4ÃÀ„5ÃÂ0Ãàm1Ã0Æ.ÃÐF1àï+ÃÝ2ÃpD4ÃðA*Ãày/Ã!2ÃQ.Àw2Ã07Ã`”5ÃÐÃ1Ã@á0Ã`¾.Ã!2Ã0œ5Ãð1à {4à¹4Ã'5ð-ÀÐ8ð/Ãr/ÃÀx7Àk4ÃàÒ5ÃÐF1Ãï/à*7Ãð1Þ6ÃÐ@2Ãé0ÃP/Ã@v-ÃÀ1à 1ÃÀ5Àq3ðò1à ±+àã-Ã@R3àÅ2Ã’4ü1Ãàa3Ã@Û1Ã33Ãð4Ã`)2ÃP1À.ðø0Ãàg2ÃpJ3Ãàg2Ã×3à (-Ã`¸/Ã`4ðÎ7Ã-4Ã0º0ð‡.À‰/Ã0º0Ãpt,Ã@j/ÃÀ¢0À}1ÃÀ®.Ã`”5Ã0´1àã-Ã@Û1Ã`2Ãðp7à 1Ãà[4ÃÐÃ1Ãð1Ã@L4Ã7Ão)Þ2Ã` 3Ãp27ÃÐd,Ã`#3Ãp\0ÃÝ2ÃP2ÃN5ÃP—.Ã@É4ÀS8ÿ7Ã@·7Ã0º0ÃÀ=,À6(ä1ÃÀ%0Ãð).ÃPs4Ã`¸/ÃÐ.5Ã`4Ã0¨3ÃP2*ÃpP2à 1à (-Ãph.ÃÐÏ/ÃÈ+Ãð /Ãàs0à 1ÃÐX.Ãx.ÃÀõ7Ã0À/ÃE0Ã@ *ðŸ*Ã0O-ðì2Ãàö/Ã`¾.à<4Ã`‚8Ãà7:Ãðó6À1Ã0¨3Ã` 3Ã`¬1Ã0´1ÃE,ÃP¯*ÃÂ,ÃPs4ð/Ãð²,Ã`²0Ã@R3àH2Àô2À,à ¥-à à8Ã`²0ÃÐd,à 3Ã@ç/Ãðí7ðÔ6ü1Ãã1Ãàü.Ã@v-Ã`A.Ã0U,àZ/Ã@Õ2Ãð2ÃPê5à ".Ãà[4ÃÐÕ.Ã@É4Ã0+3ÃP—.ÃðÄ)Ã@í.Ãà[4Ã'5Ãé0à (-Ã`¸/Ãã1ÃB7Ã`#3ÃÀœ1àÝ.à ò5ÃÑ4ðþ/Ã012Ã`/1À.Ã`;/Ãðˆ3à ¥-ðo2ÃPy3ÃK+ÃÐá,ðo2Ã`)2à /Ãð0ÃN5Ã`)2Ãð²,ÃP/ð-Ã` 3ÃðŽ2ð,à 1Àƒ0Ãpß/ÃpÍ2Ãð1Ãàm1Ã3/Ã0„9Ã06Ã0´1Ã`/1ÃàÒ5Ø3à 2Ãàa3Ãð2Àq3ðÚ5ÃÅ6ÃÂ,ÃPö3Ãð 3Ã` 3ÃðŽ2Ã`)2Ã@ó-Ã4ðc4Ã0®2Ãð 3ði3Æ6à “0Ã@Û1ÃÀ1À}1ðÔ6ð3<à³5Ãðó6Ãë>ÀM9ÃW-Ã` 3Ãàg2à¿3à ì6ÃT4À7ÃÀõ7Ãðù5Ã0+3ÃH6àT0ð/Ãð‚4Ã@Õ2Ãã1Ã4Ã3ÃPÒ9ÃÐ.5Ã07à æ7Ã`5Ã0®2ÃT4ÃÐ44ÃÐÉ0ÃÐ"7ðQ7àT0ÃPÆ;à u5Ã`50Ãpå.Ãà,ði3ÃàÞ3Àè4Ãàg2à þ3Ãð0àã-Ã@F5ÃÀ2àN1Ã0À/Ã@Ï3Ã`50ÃpÙ0Ãp\0à 1Ã0œ5ðE9Ã` 3ÃPê5à<4Ã`#3ð]5ðE9Ãðj8Ã0~:ðu1Ã-4ÃPü2ÃЫ5Ã05ÃðŽ2Ã`#3Ã@Ï3ÃÀõ7Ã0Ø+Àw2Ã0%4Ã@É4ð3À}1Ã`5àï+ÃÀ1ÃàÆ7ÃÀ2Ãpz+À.ðà4àH2Ãpå.ÃÐÏ/ð‡.À7Ã@Û1Ã`)2ð/ÃÂ,ðø0Ãà‹,ÃÐ:3ÃW-Ã0º0ð3Ãð#/ÃP…1ÃÀº,ÃÀÀ+ð .àB3Ã0Ò,Ãðš0Ã`¦2Ãðó6ö.Ãðˆ3ÃH6ÃÔ-à¿3ÃÑ4ÃPØ8ÃPs4à¿3ÃPm5Àq3ÃÀ1à c8à06Ã@48à Ú9Ã@:7ÃàÆ7ÃÀ~6ÃàÌ6Ã0%4Ã0:ð¶;Ã`|9ÃÐ9ÃÐ<À²=Ã0ï<Ãðp7ÃP[8ÃÀû6ð?:Ãðv6Ãp&9Ã÷8Ãà~CÃ@=ÃÀl9Ãp&9Ãðÿ4à æ7Ãðd9Ãp;Ãå;Ã`ù9Ãðˆ3ÃÀã:Ã*;ÃPC<Ãp?Ãà®;ÃðÏ<Ã@™<ÃЫ5à:ÃPœBÃà´:ð¼:à W:Ã`#3ð'>ÃÀZ<Ã69Ãz8ÃP7>à‰<ÃÐ8ÃPÒ9ÃÀÅ?ÃðEÃp‘<Ã>à þ3Ã`#3ðÚ5Ãp‘<ÃP==à›9Ãðj8à 3Ã`)2ÃðÏ<À¾;Ãz<Ã0r<ÃPa7Ã@Ã5ÃðF>Ã@>Ãp,8Ã`R@Ã0œ5ðc4ÃÀï8ðÔ6à 6À7ð]5Ã0~:ÃÀõ7ÃÐ¥6Ã0û:Ãý;Ãà=9à à8ÃðÕ;à ò5Ã`ù9À7Ãàa3Ãpµ6Ãp©8à}>ÃГ9ÃPä6à ]9ÃàÞ3ÃÐ¥6ÃÀ6ÃÐF1ÃÐ8Ã`”5Ã<8àw?à ?>Ãp=Ã0x;Ã0é=ÃÐ<à þ3ÃàØ4ÃPÞ7Ã@<ÀÐ8Ãà[4Ã@(:À7ÃàO6ÃЙ8ÃPU9à W:Ãà>Ã0I.Ã’4à <ð9;ÃÀ6Ã@·7Ã`ç<Ãð@?ÃÐ8ÃPs4ð]5Ã`v:à;ÃÐ¥6À7ÃpD4Ãý7Ã`j<ðÔ6à à8ÃPÌ:Õ>ÀÊ9ÃP´>À5=ÃðÕ;Ã`ù9Ã0û:ÃГ9Ãp86ÃÐ8Ã5ðÂ9ÃÀN>Ã`j<Ã@ ?Ãt9ÃÐ:Ãðá9ðÔ6ÃðÏ<Ã0Z@ÃP==Ø7Ã0„9Û=Ãàº9àÝ.ÃàI7Ã`R@à W:Ã0 8Ã4Ã`v:ÃP7>Ã@«9à o6Ã0–6Ãb<à ¤Bà§7ÃÀï8ÃðÉ=àƒ=ÃN5Ã7à 6Ã0„9Ã=à ]9Ã`R@ÃÅ6à 0Ã@:7Ãp&9à;à¿3ðæ3Ãàº9ÃÐ¥6ÃÀ6ÃPü2ÃÀ~6ÀM9Ã$<ÃÀË>à ?>ð-=Ã09ÃÀr8Æ:ÃÀ`;Ãý;Ã0:ÃÐ<ÃЫ5ÃÐ¥6ÀÖ7Ã0œ5ðc4à06Ã`ÿ8ÃpJ3Ãàº9ä1ðÎ7Ãb<à;ðQ7Àe5ÃÀï8Ã@";Ãàð0à 6Ã<8À7Ãàs0ÃPÒ9Ãpµ6Ãp :àô?ÃP®?Þ6Ã9ÃÐ ;ÃÀf:Ãðù5Ã0Š8Ã;Ã`í;ÃÐ{=Ã@Ï3Ãé0Ã÷<Ãz8Ã0 8Ãë:ÃP.ÃPm5Ãt9Ã`5à Î;Ã` 7ÃB7Ãà=9ÀÄ:ÀÊ9Ã0„9ÃÀÝ;ÀÜ6à§7ÃpÁ4ð!?ð3<ÃÀf:Ãðÿ4ÃÀû6Ã0œ5àÝ.ðW6ÃÐø=à›9À7Ãðp7à¹4ÃàÒ5ÃP[8Ã@Ï3à :à¿3Ã!2Ãðá9à¡8à•:ðª=àB3Ã0~:à ]9Ã;Ã'5Ãðÿ4Ã`Ž6Ã@Õ2Ãp27ÃàÆ7ðÎ7à ¶?Ã`š4Ã0~:À¦?ÃЙ8ðÎ7ÃГ9Ã0¢4Ã0Z@Ãà7:ÃT4ÃàÌ6Ãð‚4Ã`‚8ðª=Ãp=ÀÄ:ÃÀ3Ã0–6ÃH6Ã0Š8à à8Ãp27Ãðp7Ãðó6Ãàº9Ã0Š8Ãà+<á<ðÎ7à ì6ÀÄ:à›9ÀÊ9Ãà¨<Ãpö@É@Ãà¢=Ã<8Ãp :ÃP+@ÃÐ"7Ã@(:Ã`j<ÃÀl9Ãñ=à K<Ã`ÿ8Ã0l=Ã07à o6à‰<ð°<Ã?Ã@™<ÃÀB@ÃPÒ9à ¤BÃPÀ<Ã0 8ð'>Ã`LAÃб4Ã@·7Ãp;à¡8Ãðç8ÃÀ×<Ã@L4ÃÀT=ÃŒ9Ã@.9Ã0~:Ãpü?ÃPCÃñ=ÃÇ@Ã`FBÃÀZ<Ã0û:ÀG:Ãp;À¦?ÃðÃ>ÃÐ¥6ÃPØ8Ãë>Ãp;Ã0é=Ã05Ã`5à:Ã@48Ãðç8à W:Ã@“=ÃÀZ<Ã÷<Ãh;ÃÐò>ÀM9ÀS8Ãðp7Ã@(:Ã0ï<ÀA;ÃP/ÃàÆ7ÃЇ;Û=ÃPI;Ã0Š8Ãàa3Ã@«9Ãp>ÃÀé9à›9Ãà´:Æ:ÃÀ–2ÃÐ(6ÃÝ2ù8ðE9Ã0~:ÃP[8Ãp&9ÀY7ÃŒ5Àè4ÃÝ2ÃpP2ð¼:ÃàÒ5ÃÐ8Ãð”1ðÎ7Ãðˆ3Ãp86ÀÖ7ðæ3ÃàU5à ø4ÃàO6Ã0Š8Ãz8ÃÀ5à06Ã!6ù8àT0ÃÀ5Ã`ù9àÅ2ÃÐ8Ã@É4Ã-4ÃÐ44Ø3ðæ3Ãp86Ã07Ã` 7Ã@.9ÃÐÃ1ÃÐL0Ãð|5ÃT4Ãß<ðÎ7À_6ÃPU9ÃÀ6ð?:Ãp¯7Ãð 3Ãð2Ãp86à65à æ7Ãð‚4Ã?-Ãð”1Ãðj8Ãà®;Ã07Ã@.9Æ6Ã05à 6ÃPy3à`.Ã`Ä-ðì2Ã`)2ÃP1Ã0®2Ã`8Ã@±8Ã07ÃÀŠ4ÃàI7ðK8à þ3Ãp,8Ã`6ÃЫ5ÃPä6Àƒ0ü1ÃÅ6Ã07ÃË5ÃË5Æ6Ã0%4Ã`#3À,à /Ã`6ÃÀõ7Ã0 8À /ÃÀ1Ãð4à þ3Ã3/ÃpJ3Ã071Ã9.ÃP‘/Ã`¸/ÃP1?ð/Ãàä2Ã@L4Ãðv6ÀÖ7ÃàÒ5Ãð|5ÃPØ8Ã0–6Ãðˆ3Ãðj8à¹4Ãàa3ÃŒ5Ãð2ÃàÌ6Ã012Ã`6ÃH6ÃpJ3Ãð#/Àw2ÃpP2Ã071Ãàê1Àƒ0à ø4ð/àH2Ã0´1ÃZ3Ã0´1à$8Ã×3à ø4Ãðÿ4ðu1Ãàð0à +Ã@v-Ã@ç/ÃPä6Ã×3ÃàO6ÃÀ1Ã@p.Ã-4Ãð1à ø4Ã@:7ÃÐ44ÃpÁ4Ãàä2Ãp\0Ãàä2ðu1Ã@ó-Ã<8Ã0Þ*ä5àÝ.ð¥)ÃÐÉ0Ã@X2ÃP2ÃàC8Ã`ó:Ã071Ãpß/ü-Ãð²,Ã@½6ð]5Ã0Ò,ÃÐ44Ã’8ðæ3ÃÝ2à65Ã`4à$8ð¼:Ã012ÃÅ6Ã06ÃÀû6ÃÐ"7ÃðŽ2ÃN5ÃàU5ÃÀ„5Àe5Ã012Ãl0Ã@@6À7ÃðŽ2ÃÀ5ÃÐ.5ðÔ6Æ:à$8ÃPU9ÃpP2ÃðŽ2ÃðÛ:À0ê4Ãðù5Ã@";Ãð‚4Ãp¯7Ãpå.ÃàØ4Ãðp7À_6Ã0¨3ÃPm5Ãð2Ã` 7ÃÐ:Ãp>5ê4à c8Ã*;à06ÃÀx7Ã’4Ãðj8Ã06Ã69à<4À7Ã!6ÃPä6ç;Ãp&9ÃàØ4Ãàü.Ãð0ð/ÃÀŠ4ÃÀr8ÃpJ3Ã@Û1Ã33ÃàU5À7Ã`ˆ7Æ6Ãð‚4Ã0%4Ã@@6ÃPy3à¹4Ãàð0Àk4à¹4Ãp£9ÃÐ8àÑ0Ãpå.Ãàä2Ã@L4ÃÀl9Ã`²0Ã×3Ãàä2ÃP…1Ãð0à*7ÃàÌ6ðæ3à ø4à 3ði3à¹4Ã×3à¡8ÃÝ2ÀG:Àq3Ãàg2ÀÄ:À1Ãн2Àî3Ãðí7Ãb<à9ÃP‘/Ã09ÃÀË>Ã@.9Ãб4ÃÀœ1Àè4Ã4ö.ÃPO:à×/ÃPg6Ãðó6ðÈ8Ãðí7à<4Ãàä2ÀÖ7Ã'1Ãp>5Àw2à o6Ã07À1ðu1ÃP2ÃàÒ5Ãðp7Ã÷8Ã@Ï3à W:Àw2ÃŒ5ÃPü2ÃN5ðà4ÃЙ8ÃðR<ÀÖ7à:ÃpÓ1ÃpV1ÃPÞ7ÃPm5Ãt9à¹4à§7Ãð‚4Ãðí7Ã33ÃÀ6ÃpÁ4ÿ7à65Ãàg2ÀY7Ãn:Ãr/Ãàü.ÃPa7Ã'5ÃàÆ7Ãà´:Ã!6ÃPs4Ãðˆ3Ã@:7Ø3í:à ø4à ø4à 6ÃàØ4ÃÑ4Ã`8Ãàä2ÃÑ4Ã0õ;ÃPö3ÃÀé9à¿3ðo2ð]5Æ6ÃÐÔCÃz<Ã@F5à ø4Àw2Ã`8ÀÄ:Ã@<Ã`p;ÃàO6Õ>à Î;ÃÀf:à Ô:ÃЫ5Ã0%4Ãp—;Ãðá9Ã0Š8ÃðÛ:Ã`‚8Ã0r<Ãð 3Ã`¦2Ø3ÃpÁ4ðE9Ã@:7Ãà7:ÃÀ6BÃ`d=Ãðš0Ãp>5ÃPy3Ã33à<4ÃT4ÃðÕ;Ãðó6Ã3ÃÀl9ÃÀf:à­6Ã`ó:ÃÀl9ÃÀã:ÀÖ7Þ6Ã`/1Ãð4Ã7ð-=Ã`ù9À}1Àô2ÀÐ8Ãà1;À7Ã!2Ãàm1ù8Ã0Š8ÃpP2ðc4àN1Ã@X2ÃàI7à¿3ÃÐ44ó9Ãðá9Ã7ÃÀl9ÃPê5Ã`2à¹4ÃÀ„5ÃÐ44Ã@48Ãàm1Ãн2à06Ãð2ÃГ9À7à 0ÃpÍ2Ã07ÃÀ3Ã!2ÃPö3ÃГ9à*7Ã`4ÃpÙ0ÃP‘/Ãð 3àÑ0Ã@í.Ãr/Ã`š4ÃÝ2Ã05àl,ÃP2ÃÀû6Ã`/1ÃZ3Ã0:ÃÀ~6ê0ðì2Àq3Ã?1ð/Ã0º0ä1Ãà7:Ã3àH2Ã!2à ¥-à {4ÃP2ÃÀŠ4ÃÐá,Ê+Ã`A.Ãðš0Ãð0Ã33Ã0œ5Ã`”5Ãð^:Ãx.ÃÐ^-Ãðp7à 2Ãp\0ÃP‘/ü1Þ2Ã@X2ü1ÃÀ5Ã,ðà4Àè4ÃPU9ÃàØ4à³5ðæ3Ãð0àÝ.ÃП7Ã@^1à06àH2à {4à 1Ãpµ6ÀÜ6Àe5Ã`¸/ÃàO6Ã@48ÃÀ–2Ãàg2Ã05ÃÐÏ/ÃP[8ÃàO6Ã9.ÃP.Ã@Ï3à 6Ã`A.ð“,Ã0 8Ãð).Ã!2à 1Æ6Ãàü.ç;à 3Ã`50Ã@Û1Ãð).Àè4ðà4Ãð).ÃP/àÅ2Ã0 8à þ3ÃPy3ðu1Ãð5,ÃW-Ãpë-ÃpÙ0Ã3/à 1Ã!6à 1àH2ð3ÃE0Ãpß/ÃЫ5Ã!6Ã0=0Ã0O-Ãà.Ãàä2à ‡2ÃÀU(àf-ÃP-â'ðu1Ãà=9Ã@½6Ãð1Ã0O-ÃK+ÃP»(ÃÀœ1à 2à`.ÃP—.Ãæ*ÃP2ÿ7Ã0%4Ã3ðu1Ãp»5Ã`50Ã×3àZ/ÃPð4à ‡2ÃZ3Ã`2àé,ÃpÙ0ÃÐÃ1à 6ÿ7ÃÀŠ4Ã`;/ÃW-Ãð‚4Ãpå.ÃP1Ãpå.Ãð|5Ãð/-à 1Ã0%4Ã@F5Ã@Õ2À1ÃÀ+/à °@à Ô:Àq3Ã0–6Ã@|,Ã012ÃB7Ã0Æ.ÃÐÏ/ÃP2à 2Ã92ÃK/Ã@ó-À•-à Ÿ.Ã0Æ.ÃP¯*ÃPy3Ãl0ÃP&,ÃP.ÃP…1ÃàÆ7Ã'5ÃN5Ãpµ6ði3Ãðš0Ãà®;Ã`ó:Ã05Ã@L4Ãp£9àèAÃÑ4Ãðí7Ã0%4à W:ÃPs4ÃЙ8Ãå;Ã<8ÃPÆ;ÃàU5Àú1Ã7ÃÀ5ÃpÁ4Ã07Ãp…>Ã`á=Ãðí7Ãàº9Ã@½6ÃÀÝ;Ã@48ç;ð-=ÃÐ ;à$8Ãz<à K<ÃÐ:ð9;Ã9Ãðj8Ã@«9Ã0–6Ãpµ6Ã@¥:à W:ÃЇ;àú>Ãðç8Ãp©8Ã`‚8á<ÃÐ:Àè4ÃЙ8Ãë:Ãß<À_6Ãн2ðÂ9Ã@ ?ÀÐ8ÀÜ6ÃàÆ7Ã*;Ãð:@Ã`j<Ãh;ÃP[8Ã0x;ÃJ@Ãp…>ði3ÃPä6ÃàÆ7ÃpD4ð]5ÃЇ;ðE9ÃÐ:3ÃÐ.5ÃH6Ã0r<Ãðá9Ã@@6à c8à E=Ãà„BÃð@?Ã÷8À7ÃÐ8Ãð@?à :Ã@«9ÃÀ~6ÀÊ9ð¶;ÃàU5Ã4ðK8ÃÐ{=Ã`p;Ã0õ;Àq3Ã0„9ÃÀH?Ã07ÃÀï8ÃÐX.Ã?1Þ6ÃðÃ>ÃË5ÃP‹0ÃÑ4Ãà>Ãà7:Ã0„9Ã`Ž6ðc4Ã06ÃPØ8ÃPC<ÃÀl9ÃÐ(6à$8ÃpÓ1Ãðˆ3Ã`‚8ð3Ã`Û>ÃPI;ÀM9ð!?ÃàU5ÿ7ÃÀÝ;Ã0õ;ðì2Ãp27Ãà7:ÃPü2ÃN5Ã`í;ÃÐþ<Ãp‘<Ã0õ;Ãðá9ÃPä6ÀM9Ã@@6ÃàÌ6ÃB7ÃàÒ5ê4à ‡2ÃPg6Ãn:ÃÀã:Ã’8Ã0 8àH2Ã@™<Ã!6ÃÑ4Ã09Ãp¯7Ãà[4Ã`ˆ7Ã@Ã5à 3à :ÃpÇ3Ã!2ÃÀ6ÃPg6ê4Ã0¢4Ãðp7ÃÀ„5ÃpJ3ð?:ö2à;ÃÀ6ÃЙ8ðÚ5Ã`|9ÃÑ4Ã0¨3Þ2à 2ðÚ5ÀÖ7Ãðó6Ãp»5Ã0®2Ã’4ðK8ÃPO:ÃàO6ðà4Ã`¦2ÃÐÉ0ÃÀ5ÃÀr8ÃÀx7àB3ÃPg6Ãà–?Àq3à ø4ÃP==ðÂ9Ã×3ÃÀ3ÃPy3ä5Ã@@6à*7Ã4ðæ3Ã`2Àî3À7ä1à «,Ãàm1ÃÀ„5ÀÐ8àB3ÃàU5Ã@^1ÃË5ÃðŽ2ÃàÌ6Ã0x;Ãðp7ÃÀ„5ÃàU5ðž?ÀG:Ãð).à æ7à 3ÃPy3ð-ÃpÍ2àf-Ã06Ã0º0Ãpb/à 2Ã'5ÃÀï8Ãpb/Ã@Ã5ÃpÁ4ÃÅ6ðæ3Ãé0Ãr/ÃÝ2ÃÝ2ä5ÃPa7ÀÖ7ÀÖ7ÃP2À¡+Ã-0ÃÀû6Ãñ9Ãå;Ã0+3Ãàð0ÃÀr8Ãðÿ4à¹4Ã0C/Ã0¢4ðì2Ãp27à u5à {4Ã` 3ÃÀ6Ã@«9à³5ÃÀã:ð{0Ã9.Ã`š4à 1Ãð‚4Ã'5à ì6Æ6ÃÐF1ÃÐR/Ã!2àT0Ã@d0Ãà=9Ãp:à§7Ãðí7Ã×3ÃÐ8Àú1Ãðÿ4Ã@L4Ã0¢4ð/ä1ÃPÒ9àZ/Ã0Ø+ÃË5ÃÐ:3Ãð0Ã07Ãн2Ãày/Ãð1ä5Ã05à 1ÃP/ÃÀŠ4Ã`|9Ã0:ö2À•-ÃÀ 4Ã0®2Ã@^1ðò1à (-Ã@v-Ã`Ð+Ãl0à 2Ã@«9ÃÀ~6Ã5àZ/à ì6ðc4Ãàü.Ãðv6Ãн2ÃP0ÃÀû6Ãð2À1Ã`¦2ÃÀ3Ãб4à¹4Ã3/Ãày/Ã0œ5Ã`)2Ã`²0ÃÑ4à 3ðŸ*Ã`š4Ãн2àl,Ãðv6ÃÐ44ÃpD4ðu1Ãð‚4ðì2Ã-àx*ÃP¯*ÃÀœ1Ã7Ãp86Ã7àÝ.Ãàê1ÃÐ.5ÃP0Ã`”5Ãз3Ã@Û1À1ö2ÃÀ1.àË1Ã0¨3Ã×3Ãf1Ã`2Àî3À}1Ã`²0Ã012Ãð4Ãû-à ¥-Ã’4Ãðp7ÃÐ"7ÃÐÛ-Ãàg2Ã@L4ÃàÆ7Àƒ0à 2Ã012ÃpÁ4Ã0¨3Ãàº9à þ3Æ6À}1Ãðˆ3ÃÀ¨/ðo2Ãàg2ÃÝ2ÃàO6Ã`2ê4ê0Ã'5Ã@ç/ÃàÞ3à /À›,Ã92à×/ÃÀ2Ãf1Ã07Àè4ðÎ7à<4ÃPö3ÃPs4Ã012ÃP©+ÃÐá,Ã’4à Ÿ.ÃÀ1.Ã@v-ÃÐR/Ã0C/Ãp»5Ãpë-Ã@ç/Ã0=0à ø4Ã`¬1Ã@í.Ã@ù,ÃN5Þ6Ã92Æ6Ãð²,ÃÈ+Ãû-Ãr/à 1Àw2Ãàm1ÃQ.Ã@Û1à þ3à 0Ã`A.Ãð”1ÃÀ®.ÃP -Ã0®2Ãð#/Ã`¦2à 3Ãð0àË1Ãpb/à ™/ðæ3Ãàm1ðæ3Ã3ÃP1ÃÐR/Ãз3ÃÐF1Ã0À/àû)ü-Àú1ÃÀ=,ÃpÙ0Ã@d0Ãà…-ÃÀû6Ãà7:ÃÐÛ-Ãð|5à ò5ðø0ð-Ãï/ÃPy3Ã07Ã06Àq3ÃÀ–2Ä,À**Ã-0Ã`G-ÃP‘/Ãз3ÃàÞ3ÃÐÕ.Ã`Ü)Ãз3À}1àN1ÃP2Ã@R3à (-ÃðÄ)Ã~-Ã0:Ãàä2À›,Ã!2ÃÐR/À•-Ã0C/ÃPü2Ãðš0Ãð 3ÃÂ,Ãpå.ÃÀ¢0Ãðš0ð"*à +à þ3ÃP…1ÃP/Ãð/-ÃÐL0Ã071ÃÂ,Ãð;+ÃÀ2ð‡.À•-ÃÀ6à06Àô2Ã0O-Ã@R3ð“,à 0Ãð#/Ã`)2Ãp€*Ãï/Ãà‘+àã-Ãl0Àî3ÃÎ.Ã92ÃH6Ã-4àÅ2Ã0À/ð-ð-Ãð0Ãp»5à³5ÃÂ0ÃÐÃ1ÃP&,ÃÔ)Àè4ÃÀ®.Ãû-ÃP1ðc4Ãpå.Ã-Ã(Ã?1Ãð¾*Ã,Ã3/Ã`;/à ]9ð3ÃQ.ÃÈ+Ã`/1àf-ÃÈ+Ãà)Ãx.Ãàa3à¿3Ã-0ð‡.ð-ÃðÄ)ÃÀ=,Ãð).Ã33ÃÀ=,À}1à .,ê0Ã0U,ÃP…1ÃÀ6À.Ã0+3Ãðp7ê0Ãpë-À-Ã-0ÃP/Ãð¾*Ãpå.àl,à ±+ÃÀI*ÃP‘/Ã,Ã`¸/Ãð /à 0Ã@F5ÃÝ2ÃpÍ2àT0Ã@á0Ãð”1Àw2Ãð”1ÃÈ/àÑ0àZ/Ãpñ,ÃÐÕ.à ±+Ã071Ã0´1Ãæ*ÃÑ4Ã`¬1ÃÐÉ0Ãé0ÃÀÀ+ðþ/ÃÐ44Ãà‹,Ã@ù,Ã0¢4Ã012ÃÀ1.Ã0Æ.ÃÀ2ÃPÌ:ÀS8Ãàa3Ãpb/Ãp\0Ã9.ê0ð/à ‡2Ãðv6ÃÐç+Ã0ä)à (-Ã69Ãð‚4Ãàö/Ãб4à ½)Ãà…-ðo2ÃH6àH2Ã@v-ÃpD4ÃPs4Ã`Ž6ÃP2Ãà[4ÃÀ–2ðì2Ãàa3àN1Ãà+Ã@p.À.ö2Ãз3Ãph.Ãб4à ‡2Ã0Ì-ÃÀ+/à 3ÃÀ3Ã-4Ãpå.ÃÐí*Ãð2Ãàm1Ã`)2Ã0À/Ã0=0ÃT4Ãз3à×/Ã*Ã`¾.Ã@F5Ã0´1ÃÐÕ.àT0ÃPÞ7Ã0O-Ã0Ì-Ã@F5ÃÀ1.Ã`50ÃÐL0ÃpV1ð/ÃE0Ãðv6Ã0®2ÃPy3ÃpJ3Ã@d0ÃpÙ0ð]5ÃPg6ÃÐ@2Ãн2Ã@·7ðo2Ã`Ž6Ãð 3à 3Ã0´1ÃPê5ð]5Ãpz+À /ÃÐ:Ã×3Ãp :ðÎ7Ãà[4ÃP0Ãð4ÃÀ+/Ã@Ï3ÃPê5ðà4ÃÐ44ðà4ü1Ã'1À}1Ãð2ðo2ÃpÁ4Ã@R3Ãph.Ã`‚8ÃPð4ÃГ9Ã69À7ÃN5Ã33Ãàs0Ã@ù,Ã`¸/ÃЙ8Ø7Ãð 3Ã`4à ò5ÃÀ„5ÃàÀ8ÃP£,ÃP2Ãà´:ÃÐX.à +Ã`Ð+ÃpV1Ã0¢4Ãà+Ãàð0ÃÐ@2ÃÀœ1Ãðj8ê4à§7ðc4ä1ÃÀ–2ê4à$8Ã0+3Ã0º0ðì2Ã07à {4à×/Ã’4Ãõ.à ø4Ãx.àÝ.ÃÀ´-ÃP£,à¿3ÃÀ3à i7Ã(ü-Ãé0Ã`Ö*Ãðù5Ã`G-ÃP/àã-Ãð1ÃPm5Ãà…-ÃpV1Ãph.Ã'1ä1ÃPs4Ã@í.Ãðÿ4Ãð1Ã@R3Ãàm1à ".Ã`²0Ø3ðæ3Ã0¢4Ã'1ÃÐí*à 1àï+àÝ.Ãpb/Ãû-À}1Ã`4Ãpß/ÃZ3àÑ0à~)Ãàä2Ã`š4Ãð /Ãx.Ãàs0Ã`A.ð/Ãã1Ãl0à 1Ãð2ö.Ãð¦.Ã@ó-ÃP—.ÃpÓ1ü1Àk4Ã07ð,ÃÀ3Ã0Æ.Ã9.Ã` 3à (-à×/Ã`Ê,ÃPð4Ã0g)Ã0Ì-ðæ3Ã-4ðì2Ãf1À$+Ã0[+Ã0O-Ã` 3ÃP -Ã` 7ÃÐd,Ã~-Ãð /Ã0O-Ãð /ÃÀ1Ã`2à þ3Ã`/1À§*Þ2àH2ðæ3ÃÀ%0ÃÐL0Ãð1Ãp\0àf-àN1à (-ðþ/Ã`Ä-Ãp*ÃPÙ#Ãð#/ÃÂ,ÃÂ0Ãð|5à$8ÃPö3ÃP—.ðo2Ã@É4ðþ/ÃÐá,ÃP -ÃP/Ã`2ð-Ã~-ÃÐÏ/àN1à “0ÃÀ=,àZ/à :*ÃÀ 4Ã@Ž)Ãpë-ÃÐp*à (-Ãà+Ã0O-ðò1ü1ÃP2ÃÐ@2ÃÀï8Ãp86ÃÝ2ÃP—.ÃÀœ1à×/ÃÐí*ÃðM(À›,ÃP>(ÃÀ=,à ¥-à þ3ÃÀ3à ±+Ã0m(à /Ã@Õ2Ã@ó-ÃP-à 2Ã~-ÃÐç+ÃP -ÃðŽ2Ã×3Ø3À0ÃP0Ãðè#Ã0U,àÅ2Ãpb/ÃÝ2ö.Ã0[+ÃÐÃ1àf-Ãн2Ã!6Ã0´1Ãн2Ãàa3Ã0À/Ã@j/Ø3Ã`¸/Ã@j/ä1Ã*Ãà—*À1ÃP»(Ã@v-À /àï+ÃÀ¢0Ã-0à ò5Þ6Ãð/-Þ2ÃP…1Ã`Ä-Ãð¸+à(Ãé0Ã92ä1À-ÃÐç+ÃpD4Ã@+Ãpñ,ÃÐù(ÃÀU(àã-ÃàÒ5Ã@ÿ+Ã0U,ðþ/ÃÀ®.Ãðš0ÃK+ð‡.Ãà…-ÃÀI*ÃÀ´-ð-À•-Ã0À/ÃP&,Ã,Þ2Ãð5,ä1Ã0O-ÃÐç+Ã0Ò,Ãò(à +ÃP‘/Ã*Ã@É4ÃÀ+/Ã!2Àƒ0ÃPê5Ã3Ãð¦.Ã@ç/à ".Ãp€*Ã@d0Ãð¦.ÃpÙ0À**ÃÎ.Ãð#/Ãð‚4Ã?1ÃpP2Ã@v-Ã5Ãé0Ãò(ÃE,àH2Þ2ÃPä6ÃÂ0Ã`Ö*ÃÀØ'ðì2Ã@¥:àr+ÃE,Ã@p.ÃÐÕ.Ãàð0Ã`#3ðo2Ãà)ÃPÁ'Ãð1ÃÀ®.Ã`Ä-Ã-Ã`M,à {4Ã3/à ™/Ã0[+Ã@X2à o6Ã071ê0Ãph.Ã`4àN1à 1ÃpD4àË1Ã@í.À1Ã@ç/ÃÀ7-àï+Ãðÿ4à Ã(ÃÐd,Ãàm1Ø7Ãn:à 2à9àõ*Ãð1Ã0I.Ã!6Ã-0Ãõ.àã-Ã0´1Ã`¬1Ã@Õ2ÃÈ+ð‡.Ãpë-Þ2ÃÐ(6Ã`²0À-Ãõ.ÃàO6ÃÐÛ-Ãï/Ãð‚4Ã0I.À‰/Ã4À /Ãàê1Àƒ0Ã071ðì2ÃÀº,ðo2Ãðš0à×/ð“,Ã@^1à 3Ã?-À$+ÃÐ.5ÃH6À.Ãé0Ã5àË1à 1ð{0ÃðŽ2ÃÀ¢0ÃpÓ1ÃP…1ðu1Ã`”5ÃP-Ã0Þ*ÃP¯*ðò1ÃÀ1.ÃpV1à 6à¡8Ã`5ÃÀœ1ÃÈ+ÃÀ6ÃÝ2ÃÈ/ÃÀœ1Ãp(Ãà‹,Ã@ù,Ã],Ã`2à “0ÃÐÛ-ÃÀ1.Àô2ö2à ¥-Ã@^1ÃE0ÃÀ 4ð3Ã0À/Àú1à 6ö.Ãà*à 3À7à Ã(Ãc+Ã@p.àõ*Ãø'ÃE0ÃЫ5Ãð”1ÃÀ7-À¡+ä1Ãã1ÃÀ1ÃT4ÃÐR/Ãàü.ÃÐÕ.Ã`š4à 2Ã@|,ÃPµ)Ãð).ÃÀ=,ÃÀ¢0À.à /À}1Ãàa3àN1Ãà.Ãàs0ÃÀŠ4Ã0=0À1à ¥-Ãð¬-Ã071ê0ð/Ã4Àô2Ã0=0Ã~-Ã0¨3Ãàs0ÃÀœ1Ãàs0Ã0¢4à~)Ãp(Ã0=0Ãàm1Ã0º0Ê+ÃÀ 4Ã@L4Ã0+3ÃàI7ð]5ÃÀã:Ãp86ÃÀ6Ãð|5Ã@á0Ãàa3à u5ó9Ãð 3Ã@@6Ãpb/Ã@Û1Ã!6Ãðˆ3Ã92Àq3ð]5Æ6Ã` 3Ã@«9ÿ7ÃÐ44Ã`#3Ã0¢4ÃÀé9ÀA;ð?:Ã0l=Ãðó6á<Ã@·7Ãp\0Ã?1ÃÐ8ÃÀõ7ÀA;Ãðá9ÃÀ`;Ãpµ6Ãp :Ã0„9Ã@(:Ãp :ÃÀT=ÃP´>ÃÀx7à þ3Õ>Ãh?ÃPa7Ã@=Ã0x;ÿ7Ãà1;ð3<Ãà>À¬>Ã@Ÿ;Ã`Ï@ÃàBØ7Ã\=Ãz8Ãà´:Ãà¢=à ¶?Ãà=9ðÔ6Ãð^:ÃÀË>ðBÃp<Ãðí7ÃPð4ÃÀï8ð°<ÃÍ?Ã?ÀCÃðL=ÃàûCÃP¨@Ã0NBÃð±AÃ`d=Ãh?Ã07Ã!6Ã0:Ã`|9Ã@ ?Ã@.9ÃÀf:ÃÀË>Ãb@Ãà?à ]9ÃŒ9Ãn>Ã0x;ÃÀ`;Ã0û:ÃÀ×<ÃÀÅ?ÃðF>Ãp :ÃÐø=Ã@½6ÃPÆ;Ã`d=ÃÀ¹AÃ@Ÿ;àô?Ãb@Ã\AÃðù5Ã0ÃÐ:À @Ãå;ÃPC<Ã9ÀÊ9Ã0:Ã`ó:Ã`j<ÃPU9ÃàÀ8à @Ã@·7ÃPÌ:ÃðL=ÃÐ"7ÃPº=à>Ãp…>Ãñ9Ã06Ãðí7à È<ó9ÃЇ;ÃðÏ<ÃP==ÃП7ÃÓ>À¸<ÃÀÅ?à>Ã÷<ÃPa7Ã`)2Ãp‘<Ã;ÃP[8Ã@.9Ãp<à 'BÃË5Ã`Û>ÀÖ7ÃÐo?ÃàI7à<4Ã-4ÃPÒ9Ãà=9ÃÀË>Ãà+<à¡8ði3ÃPg6à›9Ã`j<Ã0û:ÀÐ8Ãà´:Ãpü?Ã`á=Ãp<ÃPm5à¹4Ã`ˆ7à:ÃÐ8à=Ãà=9ÃÀ`;ÃÐ:ê4ÃðX;Ãà1;ÃP…1ÃP¢AÃà@Ãðj8à E=Ã÷<Àk4Ã@É4à³5ÃÀr8Þ6à$8Ã`í;Ã÷<Ãðv6ÃPü2ÃPÆ;À¦?ð?:Ãðv6Ãp:ÃÀ`;à :Ã÷8Ã0=0Ã69ðE9ÃàO6Ã0:ðÂ9ÃЫ5ÃPä6ÀM9ÃÐ{=ÃÀÝ;Ã?1Ã0Š8à 3Ã@48Ãå;à þ3ÃPs4à ò5ÃГ9Ãp‹=Ã` 3ù8ÃP==Ã@";Ãp,8ÃÀ3Ã`v:Ã`á=Ã`)2à Ÿ.ÃPÞ7ÃpÙ0ÃPê5Ã<8ÃÑ4Ã@ç/Ãð|5Ã0´1Ãx.Ã7ÃH6ÀÊ9Ã0:Ã`4à¹4ÃÀ 4Ã0¢4Ãà¨<ÃÀ×<Ã`‚8ÀG:Ãðç8ÃÀœ1ÃÀõ7À)?Ãàg2à×/Ã0¨3à 6À•-Ã@Û1ÃŒ9à à8Ã7ÃàU5Ãp,8ðø0ÀS8à È<à ]9ê4ðæ3ÀÖ7Ã3Ãðp7à 0ÃÀ~6Æ:ÃÐ^-Ãt9ÃÐ9ÃP-Ø3Ã@«9Ã!6ÃàÒ5à (-à:Ã3Ã4Ã0 8Ãðp7ÃÀ 4Ãl0Ã`¦2Ã5ä1À}1Ã0œ5Ã`Ž6Ã`/1ÃÐ@2Ãб4ÃP/Ãpß/ðì2Æ6à 3Ãà.ÃÐ8Ãðp7à65àÅ2Ã'1à þ3Àô2ðc4ÃÀ¨/Ãàð0Ãðš0Ãðó6Ãàð0Ãl0Ãð0à æ7ÃГ9ÃÐ.5ð‡.Ã`/1ÃPØ8Ã’4Ã0=0Àk4à06Ã0I.Ã@É4ÃÀ¨/Ã@R3à;ÃÐÃ1ÃÀ1ÃàU5Ã'1Ã`A.ðì2à×/Ã9.Ã@Ã5ð]5À•-Ã071Ã33à`.Ã92ðÔ6Ãàg2Ãàü.ÃÝ2Ã`¦2Ãàð0Ãð‚4Àk4à06Ãðˆ3Àô2Ã`¸/À-ÃH6ÃÐL0ü1Ã0¢4à i7ÃÈ+ÃÐ44Ã@>Ãày/àH2Ãðˆ3à ò5Ãð/-ðò1Ã`¸/Ãày/Ãн2Ãàä2ÃÀœ1àB3Ã0œ5Ãà,Ã`/1À7Ãб4ÃàÆ7ÃÀ%0Ã`4Ã`²0àT0ð{0À‰/ÃÀ%0ÃÀ1Ãз3Ãàä2Ã012ÃÀ2Ã33Ã@É4Àƒ0ðþ/ÃÀ2ð,ÃÐF1ÃàU5À1ÃP/ÃÐá,à +ÃðA*ÃЫ5Ã@ó-Ã@^1ÃÐ@2Ã’4ÃŒ5ÃPs4ÃÐù(Ã`;/Ã`S+Ãpý*Ã@ÿ+ÃÀœ1ÃÐ.5ÃP,+Ãì)à)ÃÐj+Ã-Ãõ.À.ÃŒ5ÃàU5ÃÐ|(Ã?1Ãé0Ã-0ÃpÙ0ÃÐÏ/ÀÜ6Ãð4à u5À-ÃÐÏ/Àw2ðŸ*Ãà )ÃÐç+à 4+ÃÔ)ÃÐ|(ÃÈ/ðŸ*ÃÂ,ÃÀ¨/ÃÀ7-Ãà+ÃPÇ&Ãì)ü1Ãr/ÃðÜ%Ã`â(Ãp¯7Ã`¦2àõ*Ã?-ä1Ã3Ã`2ÃÐÕ.Ã0Ø+à ™/À‰/Ã`²0à ".ÃÔ-ÃP—.Ãû-ÃÀº,ÃàÒ5Ã0º0ÃÐ(6à 6Ãàa3Ãz8ðÏ"Ã)à «,à 1Ãï/ÃÀû6ÃE0Ãà—*Ã@‚+à×/àÑ0Ãà.Ã07ð3Ãl0Ã,Ã0ð'Ãà&(Ã0Ì-Àƒ0àÑ0ð,Ã](Ã0Æ.Ã0Š8Ã],Ãð5,Ã-4Þ2ÃðŽ2ÃP.Ã@^1àé,Ã?-Ãðš0Ã`#3ÃÀ1Ãð).ÃP-ÃQ*ÃÀ¢0ðc4Ã0a*Ãà'ÃÀO)ÃÀ 4àf-Ãpb/Ã`50Ã@R3ÃK/ÃÀ´-Ãà,ÃP-Ãõ.Ãð¬-ÃÂ0Ã`2ÃE0Ã0À/ÃpÇ3Ã`50Ã`¾.Ã0®2à 2Ãà[4Ã`)2Ã`50àï+Ãp†)ÃP/ÃP—.ÃP‘/À.À /Ã`š4ðc4ü-à 3ÃÀ5ÃPö3Ã0Ò,àl,ÃÐ44à ¥-Ã@j/ü1À.Ãà)àf-Ãph.ÃÀ2ÃP0Ãðš0ÃpÍ2ÃÐF1ÃÐR/Ã0œ5Ã?1Ã`¸/à +ÃÀ5Ãr/Ãpë-Ãð¬-À,ÃÐá,ÃpJ3À1ÃÐ:3Ãð2ÃÐF1Ã@v-Ãàü.Ãð¸+Ãpå.À0Ã-Ãì)ðò1Ãàg2Àk4àé,à “0ÃP.Ã`¦2ÃpÙ0ÃÀ~6ÃÐÛ-àŠ'Ã`â(ÃÐL0ÃðŽ2Ã`²0À›,ÃPm5ÃЫ5ÃÐ44ð/Ã`¬1ði3Ãp\0Ã@X2à ".ÃÐí*à “0Ãàð0Ã`A.Ãr/ÃÐR/àT0Ãà+Ã@v-ÃPs4ÃÐç+Ãpß/Ã9.ÃPü2Ãз3Ãà¨<Ãé0ÿ7àé,Ã0U,Ã`50À /Ãà.ÃP¯*Ã@@6Ãð 3ð“,à×/ð‡.Ã@+Ã0À/à³5Ã012ÃÀ3Þ2Ø7à 1ÃÐ:3Ã`Ð+À›,ÃÀ„5Ã@Õ2Ã`Ö*Ã0=0À0Ãàa3àË1à`.ÃÀŠ4ÃÐÉ0ä1ÃpÇ3Ãl0ÃàÞ3Ã`¬1à “0Ãpt,ÃP/Ã`5ÃP1Ãr/Ãl0à<4ä1àÅ2àH2Ã`Ð+Ãà-À›,à ™/ÃÀÀ+ÃpÙ0ÃPö3àï+à +Àú1ÃQ.ÃÐ@2à /ð,Ã`/1ÃÀœ1Ã@ù,ÃÀ®.Ã@ó-à Ÿ.Ã0º0Ã`²0ÃàÞ3Ãð 3ÃÀ+/Ãpå.ð±'à (-Ã-0ÃÐ:3Ãf1Ã0¢4Ã@j/Ã3ð3Ã`2ÃðŽ2ÃT4ðÔ6ðc4ðì2Ã0O-à 0Ãà.ÃP/Ã`²0Ãàs0Ã9.Ãàð0Ã'1Ãàm1ÃÂ0ðu1ðQ7ði3ÃÑ4ÃP-Ã0Ø+Ãpt,ð/àB3Ãð|5Ãõ.Ãà-Ãõ.Ã`Ê,Ã`Ä-à «,ÃÐ^-à~)Ã`¾.à 6Àâ5ÃE,ÃÀ7-Ãб4Ãà‹,à Ÿ.Ã071ÃÈ/ÃÈ+Ãi*Ã@R3Ã0Ò,ÃPD'ÃÀ=,ÃpP2ð™+Ã`e(à&Ü(à “0ÃÀ¢0Ã@d0Ã0Ø+à (-à 3ÃP1ÃP1À_6Ãð0À‰/Ãàm1à 3Ãàg2Ã`¸/Ãн2Ã@R3ð¥)Ãðš0ÃpÇ3Ã*Ãà*ÃP>(ÃP&,Ã`G-Ãðš0à Ÿ.à «,à Ÿ.àr+ÃÀ®.Ã`‚8Ã3àl,Ãæ*ð«(à Ã(Ãà,ÃÀœ1Ö)Ãð).Ã`¸/Ã0Ò,Ãð¸+Ãà+ÃP.àÅ2à 1Ã@ÿ+à Ÿ.À /àÑ0ÃP&,À¹'ð .ÃÂ,Ãà.ÃÐF1Ão%ÃðA*ðo2Ã0À/Ã*Ãà-Ã-Ãï/à Ã(Ã`w%Ã@ù,Ã`G-ð"*Ã`Ð+À.ÃÐj+ÃŒ5ðæ3Ãpý*Ã`²0Ãé0Ãà'Ã0À/Ã0À/ÃÐF1Ãàm1ÃÂ,ÃP&,ð/Ãð/-Ãx.ÃPP%ÃÎ*À$+Ã9.à ø4ÃÀÌ)Ã`;/Ã`¾.Ãà…-ÃP»(ÃQ.Ã`/1Ãð/-àŠ'ÃP,+ÃpŒ(Ã%'Ãà£(Ã`S+Àô2ÃÀ=,Ã3/ð3Ãàm1Ã`M,Ãàö/Ã0=0ÃÐÏ/Ã`Ð+Ãõ.Ã`;/Ãð¦.Ãàü.àã-Ã`_)Ã@Ž)ü-Ãà-Ãï/à 4+à Ï&Ãà,Ãpë-Ãpz+ê0àï+àé,ÃP0À‰/Ã012Ã@ÿ+ÃÀÌ)ÃÐó)Ã`50àÅ2à Ã(ÃÚ(à~)àf-À /Ãàð0Ãà,ü1à~)À0)Ã0¨3Ã0[+ÃÀº,Ãà‹,Àe5Ã`Y*ð‡.à +ê4Ã0C/à 0Àw2Ãæ*à (-ÃÀ+/Ãà&(Ãx.Ã,àT0à +Ã-Ãàg2à (-Ão)À1à 0ÃPÇ&Ã@^1ÃÐ'ÃðÊ(àË1Ã0g)Ãày/Ãà.ÃÐó)Àq3ÃPÁ'Ãà,Ã`5Ã`G-ÃÀ¨/Ã`A.Ãð1ð,ÃÀ+/àõ*À­)Ã`;/ÃQ*à ·*Ã@v-Ãð 3à 3Ã0¢4À,ÃÀ%0ü-ÃpÙ0Ãé0Ãõ.à×/Ã0=0ð“,à)À³(Ãà,Ãi*Ã'1ÃÀ6Ã@ç/ÃÐç+ÃÐ44ÃÐÉ0Ãðš0ÃÐ"7Ãàa3Ãðÿ4Ã0C/ÃÝ2ÃpÍ2Ã0Ì-Ã`¦2ÃÀ¨/Ãàm1Ã@j/Ã0%à ·*Ãð5,Ã0´1Ãp†)àË1Ã`‚8Ãðš0ÃÝ2Ã0I.À-ÃPs4ü1ÃÀ6Ã0Ì-Ã`A.Ã@ÿ+ÃQ.Ã0%4Ã@j/ðà4à+"Ãà)ÃàI7ÃðŽ2ÃpP2ÃpV1Ã012ÃÀ®.Ãû-Ã'1ðþ/à o6ÃPö3Ãé0ðo2àB3Ãàg2ÃÐX.ÃÀ„5ÃpV1ÃÀ¨/ÃÀ%0Àî3ÃÐL0Ã@d0Ãàð0Ã071Ã@v-à)Ãð4ÃàØ4Ãã1Ã`#3Ãàm1Ã-ÃÎ.Ãð;+Ã`50Ã@d0ði3Ãàa3Ã0º0Ã@ù,Ã`²0ðò1ä1Ã÷8Ê+Ãpë-ÃðÄ)ÃE0àH2Ãð 3Ã0C/ÃÐX.ÃÐÛ-Ã@R3Ê+ÃÐp*ð/Ã@p.ÃÐF1ÃÐÉ0Ãpt,Ãàä2Ã3/Ã?1Ãð).ÃÐó)Ã9.ÃP8)ü-ÃÐÉ0ÃÐ(6Ã0®2Ã0Ò,ÃP/ÃÀ%0Ãàm1ÃpÙ0Ã`Ä-ÃÐL0Ã0œ5Ãàa3à {4Ãàð0ÃP‘/ÃPð4ð/ÃP—.Ã@+ðŸ*Ã9.ÃPð4ÃÀ%0Ãн2Ãpn-Àƒ0Ãð0Ã@ù,ð/Ã0=0ÃÐÉ0Ã@j/ÃÔ-Ã0¢4ÃÐ:3ði3Ã@j/ÃÀû6ðc4Ã@p.ð+Ãðÿ4Ã`G-Ã0=0Ã(ÃP&,ÃÀ%0à)Ãз3ÃPs4ö2Ãð#/Ã9.À•-Ãðš0ð“,ü1ÃP…1Ã0O-Ã-0ÃðA*Ãà*ÃÀ=,Ã*Ãp†)ð-ÃP—.Ãз3Ã?-à ™/ðu1Ã@Ï3ö.ÃW-Ã@ó-À-Ãpn-Ãà+Ãà2&À³(ðì2Ãð0à +Ãàü.Ãðš0ð‡.Ãðÿ4ð{0Ã`G-Ãpß/Ãpn-Ã`Ê,Ã`²0Ãà)Ã0a*ÃpD4Ã0®2ÃPD'àã-Ã@ç/Ãì)Ãà )ÃP/Ã`Ê,ÃÀ7-Ãð#/ÃP…1à i7Ã×3Ãpn-Ã`;/ÃðÊ(ÃÈ+Ãà.ð‡.ÃP,+Ãð¬-ÃP-à .,ð“,à 2Ã0=0ö.à ·*ÃP0Àƒ0ð½%Ã`_)Ã0I.ÃpP2Ã@v-Ãà£(ÃpV1Ãð”1àT0Ã0À/Ãpb/Ãà*ÃP1Ã071Ãà,ÃÔ)Ãà.Ã'1ÃP£,ÃQ.ÃÐí*À0ÃÀ~6Ã7À³(ÃW-Ãpñ,À›,Ãð /ÃÐÃ1à 3Ã9.ÃÎ*Ãàs0Ã@R3ÃÐ:3Ãð‚4ÃÀ`;Ã@:7ÃÐ¥6À.Ã-Ã`Y*Ãph.à„(ÃÐÃ1Ã0O-Ã`¾.ðò1Ã`²0Ã0=0Ãàð0ÃP¯*ÃÀ3Ã@ó-Ã@ç/ðò1ð™+ÃH6à 2ðÎ7Ã`v:Ã`¬1ÃðŽ2Ãðÿ4Ã`¬1Ã`;/Ã`Ä-Ãàê1Ã33Ã0Ì-ð-Ã0À/Ãðš0àf-ÃPä6Ãàê1Ã0„9Ãðp7Ã@½6à {4Ã`4ÃÀ=,ÃP©+ÃÀ´-Ã3Ã~-Ã`¬1ÃŒ5ðÚ5Ã@Û1ÃÂ,ð/àl,Ãàm1ÃP‘/ÃÀ®.à ‡2ÃÀ¨/ð«(Ãû-Ã`¦2Ãð#/Ã*ÃP¯*ÃÐá,Ã0C/Ã012ÃÀœ1ÃðŽ2Ã92à 6à þ3Ãã1Ãð#/Ãðš0Ã0O-ÃÐR/À}1Ãp86ÃàØ4àé,Ã@ç/à×/ð/ÃÀ¢0ÃPü2Ã@^1à ò5ðÚ5Ê+Ãàº9ÃðŽ2ÃÈ+Ãð /ðQ7ðQ7à¹4ÃÀ7-ÃP£,ÃÝ2ÃŒ5ÃðÄ)ÃÐ^-Ã`G-àN1Ä,Ãõ.Ã0Ì-Ãð 3ÃP&,Ã0¢4ä1ÃpÇ3Ã`¬1ÃÐÕ.Àô2Ã0´1Ãpß/àÝ.À‰/Ãð¦.ÃK/Ã3/ÃpÙ0ÃÐ@2Ã@½6Ãõ.Ã`¸/Ã@ù,ÃÐX.Ã`¬1àï+Ã0Ì-Ã`A.ð,Ãð¬-ÃP1ÃW-Ãàü.ÃÀ+/Ã’4Ã`¾.ÃÀ®.ÃPy3ÃÀ3Ã`š4Ãày/ÃPÒ9à 2Ã@L4ðì2à o6Ã0Š8ÃPÞ7ÃÀ5Ãз3ÃÀ¨/àÑ0Þ2Ã!2ÃÐ.5ð{0Ãpý*ÃàØ4ÃÎ*ÃÐd,à «,Ã@j/Ã`G-ðc4Ã@L4Ã@á0ð«(Ãpz+Ã@L4àÑ0Ã012Ã0C/ðo2Àe5Ã012Ã*à ¥-Ãð4ÃP2ÃPä6Ã`#3ÃÐÃ1Ãàê1àN1Ø7Ãз3à ‡2Ã@á0ÃPs4Ã` 3Ãàm1Ãpz+Ã@Õ2à ø4ð/àB3ðì2Ãt9à$8à 2Ãàö/Ã'5ÃP‹0Ãð4ÃÀ„5Ãн2ÃT4Ã@F5ÃÀ~6ðK8ÀÐ8Ãàg2Ã0+3ÀÜ6ÃÔ)Ãi*Àe5Ã@ç/À0à`.à /Ã0–6ÃÀf:à 1Ã012àË1Ã0®2ä1Ã?1Ã071Ã0ä)Ã`¸/ÃÐ:3à /Ø3Ã@d0À7Ãï/à “0ðo2ê4Àe5Ãð4ÃÀ3Ã`š4ð3ðþ/Ãàä2Ã`²0Ã`)2Ã@Û1ÃÐ@2àT0Ãp>5Ã33Ãð‚4Þ6Ãð4àÑ0Ãðj8ÃE0ð‡.ÃPö3Ãàa3ðà4Ãé0ði3ü1ÃÀ3à ".Ã0=0Ã0C/àB3Ã@Õ2ðø0Ã0Ì-Ã0œ5Ãз3ÃpP2ðì2Ã`50ÃP/À‰/ÀY7Ã0–6Þ2ÃpÁ4Ãн2ÿ7ÃÐ"7Àk4Ãð).ÃpÁ4ÃP[8à {4ÀG:ÃË5ðø0Ã4à þ3Ã0%4ÃÐR/ÃÀ–2Ãð /ÃÀ–2ÃÐ(6Ãðš0ÃPm5à­6Ã0®2À1ÃÐí*ÃpÁ4Ã@X2à ø4àï+Ã@í.à ¥-Ãð‚4ð3à 3Ã@í.À1à`.Ãà,Ã@p.ð“,Ãl0Ã7à ¥-ÃÐÏ/Ã0I.Ã@ó-ÃàO6Ãð2ÃÂ,Ã@ó-Ãð#/ÃàÌ6ÃP0àÑ0ÃP‹0Ãû-Ã9.Ãp,8Ã`Ž6ö2Ã0+3ÃÀ¨/Ã,Ã`Ü)Ã@á0ÃÀ¢0àr+Ã`¬1à 1ÃÈ+àH2Ã0I.Ã`Ä-àÝ.ðu1Ã0%4ÃpÍ2ÃÈ/à 3Ã0g)à /Ãõ.ÃÀ%0Ãï/Ã0[+ÃàÀ8Ã`Ž6Ã0º0Ãp»5Ãà+à ø4Ãé0Ã@Õ2Àâ5ü1ð/Àq3ÃpÁ4à~)À.Ã0ð'à 'à Ÿ.ÃP‘/Ã`A.À-Ã'1ê0Ã0O-ÃàÞ3ðu1Ã`;/ÃP -Ãpn-Ãð 3Ãàm1ÃÐÕ.ÃE0ÃÐí*ÃÐÃ1À7Ã(Ã@#&Ãæ*Ã92Ã`4ð/ðu1Ã~-ÃÀ~6Ã@í.ð+Ã0Þ*Ã0Ø+à`.Ãõ.àï+à%ÃÔ)ð/Ãð1ö.Ã9.ÃÀ®.Ãph.ÃÀI*Ãð /à ø4àï+ÃP¯*Ã33Ãз3Ã0À/ðu1Ã33Ã`4ÃÐ:3À‰/Ãð4ÃÀ–2ÃE0Ã0Æ.ÃpP2Ã`Ê,Ãð /Ãà[4Ãõ.Ã92ÃÐÛ-Ãph.Ãp÷+Ã@ÿ+Ã`¸/ÃP£,ÃÐ.5Ã@Õ2ÃPy3Ãt9ð-à¹4Ãp»5à ò5Þ2ÃÐÏ/ðæ3ÃÈ/Ã'1Ãàs0À.àl,Ãàö/ÃÐ44Ã'5Àq3Ã-0à o6ù8àã-ð{0Ãé0Àk4Ãé0à ì6Ã09Ãð4Ãàg2ði3ð¶;Ã7àÝ.ÃÀ¨/Ã0I.à06À /à¿3Ãé0ÃÀé9ÃÀ5ÃàØ4Àô2ÃN5Ãð4ÃàÞ3Àƒ0Ã0Æ.ÀÜ6à /ÃB7Ãб4Ã@d0Ãã1Ã@^1à 1Ãàü.Ã`¬1Ãñ9Ãðá9Ã@d0ÃN5ð{0ð‡.Ãì)ÃàU5àË1Ã`8Ãàð0Ã@X2Ãð¬-Ãï/ÃÂ0ðu1ðþ/à þ3Ãï/ÃÀ¢0ÃN5ÃÀ3Ãph.ÃPö3ÃàU5ÃÀõ7à<4Ãð|5Ã@v-ÃÈ/Ã`ù9ÃT4Ãðù5Ã`²0Ãpß/Ã0®2ðo2Ãû-ÃPÞ7Ã`/1Àƒ0ÃpP2ðE9Ã@X2Ãp>5ÃÐí*Ã0Ì-à 3Àq3ÃÀ3Àâ5à /ð .ÃÀ1.ÃpP2À-à {4à ò5Ã0œ5Ã0Æ.àÅ2ÃP0Ãp—;ÃÀ„5Ã@R3ÃÀx7ÃÀ„5Ã`²0ÃP1Ãð 3Ã@½6Ãðš0Ø7ÃÐ:3ä5À.Ãã1àã-Ã`4Ãã1Ã` 7Ã`Ž6Ãpµ6Þ2Ãpë-ÃP/ö2Àè4Ãð0Ãàg2ö2ðþ/Þ2Àw2à “0À}1ÃpÁ4ÃÀ–2Ã`5ÃP2ÃÎ.ð/Ã@ó-Ã4ÃÂ,Ã@á0Ãð¦.Ã@v-ðÚ5Ã0=0ÃЫ5ÃH6Ãà+<ÀÄ:ÀÐ8Ã0=0ÃÀ6Àâ5ð,àN1Ã` 3à ·*Ãp€*ÃP1Ã`6ÃÚ,Ã@Ž)Ã@v-Ãð#/Àw2Ãðp7ÃàÆ7Àâ5Ãàa3Ã071Ã’4ê0à ‡2Ã@É4ÃÐ44À.àÑ0ÃÐÏ/Ã@Û1Ãàm1Ã`6Ã`;/Ãð|5ÃP7>Ãà…-à ‡2Ã4Ãðš0ð/Ãð1ÃÐX.Ã0®2Ã05Ãàê1Ã@R3ðÚ5Ãð²,ÃP1ÃàÞ3ð¼:ÃÎ.Ãðš0àH2Ã`;/Ã@á0Ãð1à 1à “0Ã@p.àN1Ã@L4Àe5ÃP1à 3ÃÐç+ÀÊ9ÃàI7Ã0U,Ã@í.Ã9.àB3ÃÀ1.ÃÐÏ/ä1ê4ÃÐÃ1ä1àË1ÃÀ 4Ã`¬1ÃÐ.5À•-Ã`2ÃpP2ÃÐÃ1ðø0à 0Ã`š4Ã!2Ã3/ö2Ãàa3Ã`;/ðu1Ãð/-Ã@R3Ãõ.à06À_6Ãp )Ã0m(ÃÈ+Ãð¾*Ã-4ÀÖ7à ".Ãð4ðþ/ÃÎ*à 3Ã`2à F(Àq3Ãp27à Ú9ÃP2ÃP8)ÃP‘/ÃÐX.Ãà*Ãð¬-àT0ÃÐR/ê0ÃÐÏ/à «,Ãð2ÃpŒ(à ™/Ã@í.ÃÐX.Ã3ÃpÓ1à þ3Ãã1ð,Ãu(Ãà‹,àÝ.ðæ3Ãpë-Ã~-ÃÀ=,ÃÀœ1Ã`Ö*ÃÐR/ÃpŒ(Ãàö/Ãpå.ÃÀ´-ÃÐç+ê0ð?:ÃàC8Ãp\0Ãà.ð .Ã@ &À.Ãð).Ãp†)à +à ".àB3Ãð2Ãpb/Ãày/àr+Ãp\0Ã@ÿ+ð:&Ãà,Ãð¦.Àƒ0ð"*ÃÐÛ-À.ÃZ3ÃÂ,À.Ãph.Ã0%à ™/Ãf1Ã@^1Ã0´1Ãð/-Ã-ÃP.Ãr/Ã0g)ð¥)ðò1ð+Ã`2Ãph.Ãà+Ã0À/Ã*Ã0´1Ãз3ðþ/ÃÎ*Ã`Ä-Ã0I.Ãð).à ½)ÃÐd,ðu1ÃÀ®.Ãð¸+à .,ÃÎ.Ã~-à .,ÃÀ¨/ÃÐj+Ã0C/Ãp*ÃÐd,Ø3Ãð;+À,Ã`Ü)ÃÀ 4Ã`²0ÃÀÀ+Ã@Ï3ÃH6Ã@X2ÃÀ1.à 0à 1Ãà+Ãð).À-ä1Ãð¬-ÃÀÞ&ÃP£,à ·*à 1Ã071ÃPü2ä1àõ*Ãpµ6Ã?1Ãà£(Ã)Ã@R3ÃÐ(6Ã~-ü-ÃpÇ3Ãð/-ð-Ã@ç/Ãð¾*àl,Àè4Ã@ç/ÃpV1Ãì)Ã@ç/Ãpñ,Ã`M,Ãàa3Ãðÿ4Àú1ÃP0ÃP‘/à ".ÃÀ3ðo2Ãà—*ÃP‘/Ã@ç/ÃpÍ2Ãàü.Ãf1Ã@ÿ+ö2ð‡.Ãб4ÃP/ÃÀÆ*ðu1Ã92Ã0¨3Ã`¬1Ã@ *ÃpP2Ãàð0ü-à 0ð-ÃÐÉ0Ãõ.Ãð¦.Ã`¸/Ã`;/ÃÐd,Ã0I.ÃP‹0à “0Ä,àË1Ãð0À‰/Ã-Ã`/1ä1ÃZ3ðò1à<4Ã012À³(à³5ÃÀ¨/à {4à 3Ã@^1ÃÀ1ð/Ãï/ÃÈ/Ã`4ÃÀº,Ã0a*ð:&À‰/ÃÚ,ÃÐá,ÃÐL0Ã`_)àŠ'ÃÐR/Ã`50Ãà-ÃQ*Ãì)ÃàÞ3Ãàð0Ã92ÃÔ)Ãx.Ãàö/ÃPð4Ã`6à þ3Ã0=0ÃE,ÃPm5Àô2Ã0º0ä5Ã9Ã-0Ã~-ÃP‘/ÃÐd,À­)ÃÀ´-Ã92à ".Ã@j/Ãð#/ê0ÃÎ.àÅ2ÃPs4Þ6ä5À‰/à þ3ÃÀ®.Ã92Ãð4Ãð¾*ö.ÃpD4ÃàÒ5ÃÝ2ÃÐ@2ÃÐd,Ãàð0Ãà‹,À‰/Ãà‹,Ã-0ÃPü2àB3àN1ÃÐÏ/À­)ÃÀ´-ð™+ÃP¯*Ãàs0ÃÝ2Ã`¬1ÃÂ0Ã0®2àl,Ã0ö&Ã0g)Ãp(à /Ã@ç/Ãð /Ãà‹,ÃÀ['à u5Ãз3à 3ÃÐ@2Ãph.Ãà[4à}>Ãl0Ã`¸/ÃP0Ã`Ê,Ã@|,ÃÐ^-Ã`¸/Ãð /Ãàä2Ãð|5ÃP1À›,Ã0C/ÃÐÃ1ÃPµ)Ã0[+à 2ÃP‘/Ã@í.à³5Àú1Ã012Àw2ÃpÍ2Ã`¾.ðþ/ÃP—.ðŸ*Ã0º0ÃÐÃ1Ãð¬-À0Ãð4Ã`M,à×/Þ2Ã5à ".Ã0À/Ã@j/À**Ãà+Ã0C/Ã`Ä-ÃÐX.Ã`Ä-Ã-0Ãày/Ãò(àT0Ãð”1Ã@í.Ã`;/Ãl0Ã92ÃÐ¥6ðŸ*Ã0I.Ã5Ã`¸/ð¥)Ã`4Ã0I.Ãðˆ3Ã@|,À1ÃÀ–2ð/ÃÎ.Ã` 3ÃP0Ã~-ö2ÃP2Ãp\0ðø0àl,ÃÐù(àû)Ãà,À‰/ÃÐó)ðà4à {4Ãû-ÃÎ.Ã@X2Ã0Ø+ÃÐÏ/Ã`Ð+à «,Ãð5,à /ÃÀ=,Ãàs0À-Ã`M,à @)ü1ÃP1ÃÀ´-Ã071à 0ÃÀ¢0ÃZ3ÃP.àÝ.Ãн2Ã,Àî3à 1Ãð¬-Ãз3Ã`¾.ðø0ÃP£,Ã!2ÃPµ)Ãà‹,Ã@p.Ãàê1Ã0%4Ã012ÃÐX.Ã3/Ãà.Ãpß/ÃpJ3Ãð2Ã@R3Ã4ÃÐÕ.à³5Ã@ó-ÃP‘/ð/ÃÀ¨/ÃW-Ãé0ÃP0ÃÀ2ÃÂ0ÃpÙ0àË1Ãé0Ã0%4àl,Ã@ *Ã`A.Ã@Ã5ð .ÃP©+Ãu(à {4Ã`¬1Ã?-ð/ÃW-Ãàê1Ã3Ã@ó-Ã`¸/Ã@í.Ã0Ì-ÃE0Ã0s'Ã@É4à 4+ÃÀ=,ÃÐF1Ãã1Ãx.ð]5Ã`¾.ÃP‘/À**ÀH%à 0àZ/ð/Ãày/Ãð5,Ãp†)ÃÐá,ÃW-Ã0[+à<4ÃÐá,Ã`50à ò5ÃÐ@2Ãpë-ðÚ5àZ/ÃË5ÃÀº,Ö)à 3ÃàU5à<4Ã012Àî3ÃN5ÃpV1Ãðš0Ã0Ò,à¿3Ã@48Ãï/ÃP0ÃpÇ3Ãðÿ4ÃÀ1Ãàö/ÃàÌ6Ã`¦2Ã~-Ã-4ÃÈ/ÃÐÏ/Ø3ü-ÃÐ^-Ã'5Ã7Ã`)2Ã0Ì-Ãð¸+Ã0+3à 1ð3ÃðŽ2À /Ã,ÃP—.Ã@j/Àw2ä5ð+ÃП7ð/ÃT4Ã’4Ãб4ÃÐp*Ã0´1Ãpz+àf-ÃÀ3Ã@j/ÃÀ1À0Ã`A.À.ÃÐX.Ãàä2Ãð1à “0ÃÀ7-Ãï/ÃPy3Ãðù5ÃÀ5ÃP1Ã@^1ÃPy3ÃП7Ã`²0àÑ0Ãph.Ã!2ÃÐ@2Ã`Ü)Ã0U,à 1ð/àf-Ø3ÃÐÏ/ÃP.ÃÀ2Ãð /ÃK/ÃK/Ãã1Ã071ðò1ö.Ã` 3àH2Ãà+ÃP.Ãpñ,ÃÚ(ÃÀO)ÃË5ÃÐ.5àË1à (-À-à c8à 3à$8À.ÃÐÃ1Ã0´1ðæ3ÃÐX.Àq3à +Ã@j/Ãð0ÃÀœ1Ã0º0ÃE0ðæ3ÃpÙ0ÃÀŠ4à›9Ãð”1à ò5Ãð‚4Ã4Ã@Ï3Ã@Ã5à65àZ/Àq3ð‡.Ãà…-ð™+àr+Ã@ù,à ™/Ã@·7Ãph.Ã@á0ÃPö3Àú1Ã@ù,Ã@ç/Ãðš0à ™/Ã0=0ðø0Ãl0ÃPm5Ãð4Ã` 7Ã0®2ÃÐ@2ðø0à¹4Ãà-Ã`Ð+ð-ÃÀI*àï+ÃpP2ð“,Ã07Ã0®2Ãàº9Ãð|5Ãpå.Ãà+Ã@ÿ+Ã@ù,ÃP…1ÃÐç+ð«(Ãpt,Ã`è'àx*ü-Ã`#3ð/Ãà)Ãð²,Ã@+Ã~-ÃP—.à “0ÃP‘/À•-Ã3Ãé0À¡+Ã0®2Ã0´1àã-ÃP2*Ã0I.Ãpñ,Ã`Ä-Ã@R3ÃÈ/ÃP‘/à ".À.Ã@p.à ".Ã@#&Ã*Àk4Ãð”1ðì2ÃP—.Ã!2À‰/Ã?-à ½)Ãà )Ã@ÿ+Ãpß/ð“,ðŸ*ÃP£,Àw2Ãð0àõ*ÃÀC+Ãày/ÃÀ¨/ÃÐR/À›,ðo2Ã-0Ã@^1Ã`;/Ãû-à þ3Ã@ó-Ã`Y*Ã`â(Ãð /ð/Ã@d0Ã@+Ã@^1À /À-à «,ÃÐ:3Àk4Ãi*Ã0Ò,ÃÎ*àã-Àk4Ã@d0àõ*Ãð¬-ÃP0ÃÀ%0Ã`#3ÃÐF1Ãpñ,À$+Ãp÷+Ãà.à×/Ãà—*Ã`M,ÃP‹0ÃÀ~6Ãã1à„(Ãà)à ".àf-ÃÐç+Ã`G-àr+Ã0Æ.Ãð1à /ðþ/ðŸ*Ãз3ÃP[8Ã`Ä-ÃÀO)Ãà'Ãà+ÃÀº,Ã0¨3Ã*Ã?-ÃÐj+Ã@d0ÃpÙ0ÃP1à¿3Ã@|,Ã@j/Ãàg2Ãà,ÃQ*ÃÀ6Ãðˆ3Ã`2ö.ÃÀC+à ±+ÃP.ÃP -Ãi*Ã`;/ÃÐÛ-ÃÐ(6à³5ê0Ã@í.Ã],Ãð¬-Ã@ó-Ã-4ðÈ8Ãp>5ði3Ãб4Ãàê1Ã×3ÃP2ÃÐ"7ÃpÇ3ðì2à u5ðQ7Ãp,8Ãï/Ãë:ÃH6ÃpÓ1Ã@á0Ãð‚4Þ2Ãð 3ð]5Ã'5ÃÀº,Ãl0Ã@í.Ãé0ÃÐÉ0Ã012ÃpD4Þ6ÃË5Ã`¬1Ãðó6ÃÀŠ4Ã`#3Àƒ0Ãf1ÃÀ¢0Ã’4Ã071ÃÐ¥6ÃЙ8àÝ.àT0Ãðí7Ã×3Àk4ÃP…1Àô2Ã4Ã7Ã@±8Ã`6Ã0¨3Ã`‚8à {4àË1À›,Ãð/-ðæ3Ãð”1Ãã1À1Ã`¸/ä1ÃÀ3ð‡.Ã012Ãf1ÃpÇ3Ã0–6ÃÀ%0Ã-Ãpå.Þ2Ã012ÃÀ–2Ã@F5Ãï/Ã4ÃÐ^-à¹4Ã`¬1Ã`¬1Ãpß/Ã0º0àÑ0Ø7ÃÐÃ1Ã`š4Ã4Ã'1Ã@ó-ðø0Ã`š4Ã0¨3Ã3Ãò(ö.à 3ÃpJ3ÃpÓ1ÃÐ(6Ãн2ÀÜ6ðà4ÃÀã:Ãð).ÃPð4Ã0¨3ÃP[8Ã@ç/Ã@Û1ÃÐ(6àÑ0Ã`ˆ7ÃàÆ7ÃpÁ4Ã@·7ÃÀ5à*7ÃÀ3ÃàÌ6à`.ö.Ãà=9ÃÀ®.Ã012ÃÝ2Ã012Ã0+3Ã3/Ã`Ð+Ãàê1àÝ.Àe5Ãp©8ÃPm5Ãð²,Ãð”1ð]5Ã`¦2À•-àH2à æ7Ã8Ãð²,ÃÐ^-ÃàØ4Ã4Ãpµ6Ãp27Ã0¨3Ã0¨3ö2Ãp»5Ã@L4Ãl0Ãàä2Ã@Ã5Ã-0Ãp\0Ã@½6Ã`)2ÃðŽ2ÃpÁ4ÃÀõ7ÃÀ3Ãàg2àT0ÃPØ8Ãð#/Ã0C/ä1ÃP…1ö2à65ÃàÒ5Ãðp7ä1Ã`š4Ãz8ÃÀœ1Ã0=0ÃÝ2à­6à u5Ãàm1ÃÀœ1Ãû-Ãp86à ø4ÃP—.à +Ã`¬1ÃPy3ÃPy3Ã`”5à 3Ãl0Ãà[4ÃpÍ2Ã@ç/à i7à 6Àk4ÿ7ÀÖ7Ã7Ãh?Ãý7à 2Ã0C/ÀY7ÃÐ8à65Ã`S+ÃÐ:3ÃÐÃ1Ã@Û1ð{0Ãpn-Ã-0Ã`¸/ÃÐ8Ãð0ÃÀ¢0ö2ÃÐ8ÃÀ„5Ãà‹,Ãr/Ã0œ5Ãàº9Ã@:7Ã3Ãн2Ã’4ð3Ã0%4Ã@X2Ãàê1Ãð¦.Ã@·7ðW6ðþ/Ã@j/à*7ä5Ã@É4ÃP£,ÃpP2Àk4ÃÐÉ0ÃPy3Ã`6Ã0~:ÃÐ¥6ÃP2ÃЫ5Ã5Ãà‹,ðò1Ã07Ã@d0à06ÃÀ¨/à`.Ã0%4ð3Ã@Õ2ÃpÇ3Ãàä2ðþ/Ã0´1Ãàm1Àk4Ã0®2Ã@X2ÿ7ÃŒ5Ãð|5ðc4ü1àZ/àZ/à ¥-Ã@‚+ÃÀ2Ãð2Ã0´1Ã071Ã0À/Ãp>5ÃPy3ÃpÇ3Àƒ0Ã`¸/à “0ðE9ÃpJ3ð/ð{0ð/Ã@ù,ÃÐ^-Ã@^1Ã@Û1Ãð4Ãðù5ÃÀ¢0ÃpV1ÃPº=ÃÀ 4Ã@ó-ð{0Ã0À/Ã`²0Ã@@6à06à³5ðæ3Ã@^1ÃP—.Àk4ÃàÞ3ÃЫ5Ãðp7ü1ê0Ãr/ÃÀ%0Ãp:Ã0´1Ãà´:Ã` 3ð/Ãà.Ãà.à Ÿ.à 0Ã<8Ã!6Ãr/Ãàs0ÃÐX.Ã`š4Ã@á0ðà4ÃpV1Ãpå.ÃP0ÃÐ@2ÃÀõ7àÅ2à­6Ã@É4Ãp\0Ãà.ÃT4Ãp©8ðì2ÃPs4ÃÀ~6ÃPü2à o6Ã0¨3à /Ã0y&àZ/àÝ.à*7ö2Ã`¦2ÃPü2ÃPä6À›,à ‡2Àƒ0à¹4à 0àZ/Ã0¨3Ã@F5ð-Ãà+Ãðš0à F(àË1ä1Ã-4Ã0œ5ð/ÃЫ5Ãàä2ð3Ã`2Ã`2Ã@d0ÃÀ®.Ãr/ðà4Ãð¦.Àq3Ãà+ð/Ã0O-ÃÀŠ4ÃÀ–2Ãð0Ã×3ÃÝ2ÃP0Àú1ä1À‰/à¹4Þ2ð/à³5à 1à ¥-ÃpP2Ã4à /àH2ÃðŽ2ð]5ê0ÃàÞ3Ãà,ð3ðø0Ã0®2Ãpß/Àƒ0ði3à 6à<4ÃÀ1ðu1ÃðŽ2Ãð1Ã0U,Ãpn-ÃPU9ê0à /à 1àÝ.ð/ÃðŽ2ðc4Ä,Ã`Ä-ð]5à ".Ãé0Ãp©8ü-Ãàê1Ã@±8Àè4Ã@F5Ã`Ê,à 3ðæ3À0à ".à 3ÃðÄ)Ã~-Ã071ð“,ÃPa7ÃÈ/ð/à æ7à (-À /ÃÀº,Ã0O-Ã@í.à ]9Ã'5ÃàØ4ÃÐL0Ã0=0Ãð|5ÃàÞ3Ãн2Ã@½6Ã@±8Ã7ÃP.ÃP.à 3ð{0ÃT4ÃPa7Àè4Ã,Ã`Ä-ÃÚ,Ã-4ði3ÃpÍ2ÃPð4ÃÐ"7ö2Ã`ˆ7à§7Ãé0ÃÀ3ÃP…1ÃT4Ãà.Ãð1ÀM9ðì2Ã@ù,ÃpÁ4Ã@Ã5ÃpV1Ãàö/Àô2Ã012ÃЫ5à ì6ÃZ3Ã@:7à o6ÃPü2ÃÐÉ0Ãà[4Ã@F5ÃH6ðc4Ãð”1Ã@L4ÃÐ(6Ã`²0Ãàü.ÃÀ„5Ã0–6Ãð|5Ãpy@à06Ã`Ž6à•:ð()Ãpß/Ã`Ž6Ã@d0ÃpV1Ã`)2ÃPg6Ãàa3ðQ7Ã0®2àZ/À1Ã7Ãpb/À0ÃàÒ5Ã0%4Ã@|,Ãp¯7ÃÀû6Ã’8ÃЫ5Ãpb/À}1ÃP2Ã@^1Ãp£9Ã`‚8Ã`4Àî3Ã@R3à<4à ".àÑ0à æ7Ø3Ã@½6À1Ã5ÃÀ~6Ãõ.àN1ð]5à¿3ðþ/ÃÐ@2Ã<8à i7ÃT4Àw2Ãp»5Ã92Ã!2Ã×3ü1Ã`¦2Ã`5Ã’8Ã05Ã!2Ãð0ÃP‹0à65À7ðc4ÃPg6à¹4à à8Ã0¢4ðì2ÃÈ/Ã5ó9Ã012Ãðp7àT0Ã@ù,Ãr/ÃPs4ÃÐ(6Ã@L4à³5Ã`¬1ÃPê5ÃPy3ÃPä6Ãp¯7à­6ð/Ãp€*ÃP&,Ã0O-ÃpÁ4Ãp¯7Ãpë-ÃÀ%0Ãpµ6ðc4ÃÐ:Ã`¬1à¿3ÃÀ2À‰/Ã@p.Ã0–6ÃpÇ3ði3ÀÜ6ÃP2ÀM9Ã@L4Ã`²0ÃPä6ÃÀ5À7ÃpÇ3Ã0Æ.Ã-0Àk4ÃÐ:3ÃpÙ0Ã`¬1ÃÝ2Ã?1ÃÐÏ/Ã@^1Ãf1Ã0[+Ã0Ì-ÃÀ–2à þ3ÃÐÕ.Ã0´1Ãx.Ãð2Ãpý*ÃÀœ1ÃpÓ1ÃÔ-Ã`;/à .,àÑ0ði3ÃÐ(6à 6à³5Ãð0ð,Ã@ó-Ãpñ,Ã`S+Ãàü.ÃÀ2Ãз3Ãpñ,Ã!2à 6Ãð/-Ã-4Ã@d0ÃpD4ÃÀ–2ÃÐÛ-àH2Ãé0ð"*à ¥-ÃP-Ãð4ð3ÃH6Àƒ0Ã0[+Ã071Ãð/-Ãð /ÃÐX.Ã*Ã@^1Ã0´1ÃÐR/Ã0¨3ÃÔ-Ã?1Ã0m(Ã`Ö*à “0Ã33ÃàÞ3ÃÀ~6ÃðŽ2Ã×3à .,Ãà.ÃQ.àÅ2ÃK+à 3Ã012ÃÀ¨/à¹4àr+ð‡.Ã`Ê,ð+à /Ãð¸+ð“,Ã,Ã@|,ü-Ã!2Ã012Ãð /Ãpn-ðì2ÃP‹0Ãr/Ãu(Ã0Ì-à /À.Ã@á0ÃÀC+ÃÀ+/ð,Ã0m(Ãpt,ÃÐç+ÃÀ®.ÃÀ 4ð/à ±+À•-ÃÀ¢0Ãp÷+ÃÀÒ(À•-Ã@Õ2ÃÐR/Ãн2ÃÀ7-Ê+à “0Àk4ðò1Ãl0Ãø'à +ÃÐ@2À_6Ãðp7ðì2Ã@á0ÃpP2Ã`6ÃЫ5Ãày/ÃN5à o6ÃÐL0à {4Ã0l=Ãð·@à9Ãt9Ãp27ðÚ5Ãðç8à;Ãz8ðÂ9à <Ã`p;à u5à9Ã0r<Ã`j<Ã*;à 9?ÃðÃ>Ã@@Ãà´:ÀCÃ@>ðÂ9ÃÓ>ÃP%Að9;Ãðç8ÃÐø=Ãà@À5=ÃPØ8ÃàC8Ãý;Ã@=ÃÐ8ðÂ9ÀY7Ã05ÃàÆ7à 9?ÃÐæ@ÃÀB@Ãp;à•:à Â=ð¤>à Q;Ãñ9ÃÀT=Ãpü?Ã`LAÃp :Ãp?ÃÀ`;Ãp>Ã0ÅCÃÀ³BÃÐ<ÃP==Ã@“=ÃPFà GÃðL=à Q;à <Ã@>ÀA;Ã0Ý?à•:ÃÐþ<ÃÀ¿@Ãå?àƒ=ÃðF>Ã`d=Ã0ã>ÃP==ð3<Ãðá9Ã0ã>Ãð¥CÃ\=ÃÀ×<ð3<à ¶?ÃqDÃàxDàú>Ã0ÑAÃp—;à ?>àw?ÃP´>ÃÐþ<Ã\AÃø±¥ÃX`°Ã ¯Ã(ë¯ÃÀC«Ãh½§Ã€³¨Ãø«¦ÃPå¡ÃˆGžÃ•¢ÃŸÃèÆ›ÃhœÃèÆ›Ã€™ÃÐ_˜ÃÈ„™ÃÈ ˜Ã°—Ãð¹–ÃÈœ•Ã@”Ãà’–Ãð¿•ÃhÄ‘ÃÀb‘Ã8Àº’Ã((‘Ãx÷àÃh_Ã`r‘ÃheŒÃÀnð¸‘ÃØùŒÃxzø.ŒÃ ‰ÃXP‰Ã€êŠÃØš‡Ãh‡Ãè,‹Ã`‹ÃøYŠÃ JˆÃ¨1…Ã8‰Ã(ÏŠÃH²‡Ã¨¢‡ÃØ/„Ã(ç†Ã@ï„Ãh…ÃÐZ„àë‚Ãz„Èï‚øáƒÃÈ‚Ãe~øç‚ÈxÃ`ÒÃXñƒÃe~ÃøÃ ³Ã0c}ÃĂØ(€Ã°•Ãðº~ÃX†€ÃÐfÃà™}Ã@œzÃÜ{ÃðgwÃP«~ÃzÃvÃ@%yÃ`Þ|ÃÐ~{ÃÀ]zÃuÃÀ sà tÃ0¥rÀÇxÃ0xÃ@œzàyÃ@Orà luÃp¸tÃ0™tÃÀ sðÑuàÚmÿoÃ@ºuÃP”mÀ€oÃðoÃàˆkÀbtàÎoÃð£mÃP;gÃð nðnÃÐakÃÐIoÃÀŸoÃ@UqÃð&mÃÀŸoÃ0½nÃÀ™pÃ`»mà]mÃ0ÛiðkÃÐshÃ×kÃpƒhÃ0cÀ3gÃ0ÿcÃðnð~nÃ@üjÃp gÃxbÃ0veëdÃðåbà CgÃ0`à ]Ã0Žaè^Ã^\ÃPÖbÃËiÃP¾fà =hÃàAbÄ`ÃÀÿ_ÃàÖ^ðä]ÃÐcÃ\Ã¥eÃp§bÃÐ2^ÃðŒ\ÃÐ,_Ãðz_ÃÉ_ÃR^Ãð÷_ÃpN\à [ÃgÃPÜaÃÃ`Ã0`Ã`?XÃ0îQÃ+ZÃÀ\Ã`3ZÃÒWÃ0 ^Ãá[Ã0)]ÃàXð‘VÃàXÃpŠRÃ%[ÃÀ)YÃPYð‘Và XàÉ[ÃàWÃà‰VÃà Và £WÃPÅPàjVÃpË\Ã0)]ÃpTÀ™VÃÒWÃ0ÊWÃÀ¬XúWðXðüYÃ0SVÃ@-NÃà›SÃPWÃpïVÃ0îQÃ0ÜTà ÍPÃgTÃpZZÃpõUÃöQÃðKRÃyMÃÐNà¦LÃÀ)YàÛXÃ@zVà|SÃ0âSÃ`¼XÃà³OþLÃ0OÃÐýQÃp„Sð—UÃpOÃжHÃPFÃmOÃLÃð™EÃâFÃ@ìCÃàŠAÃà„BÃ0³FÃÀ¹AÃKÃPŠEÃ`JÃPrIÃðŸDÃ@æDÃð"Dà GÃDEûBÃÀÅ?ð\JÃ`«FÃpUFÃp´KÃHÃ0*HÃÀ­CÀCÃð“FÃp´KÃ…KÃмGÃ0KÑIÃ,IÃðGÃ`d=ÃÐWCÃ`·Dà_CÃð(CÃ0BDà ’EÃàrEÃ0¹EÃ0$Ið†CÃÐIà KÃPõHÃÐ'KÃàHLÃKÃp®LÃÀ›FÀAÃPïIÃYHÃ}BÃàéFÃðGà GÃÜGÃ`“JÃp?ÀšAÃHÃ`™IàSEÃ_GÀùFàÜCÃp®Là ÷IÃ0¡IÃLÃ`¥GÃ}BÃPGð’AÃÐÎDÃP–CðÓKÃÐÈEÃ_GÃPfKÃpÀIÃPõHÃÐEFà5JÃAÃÐÂFÃÀÃPDÃ0`?ÃîDÃð HÃ`"HÀ#@ÃàBàGGÃ@{AÃà¢=Ã0NBàq@ÃÐÈEÃà~CÃpgCÃP?Ãà¿MÃpØEÃ0ËBÃÀ‰IÀŽCÃ0Ý?ÃÁEÀAÀóGÃ`@CÃqDÃà~CÃ`ŸHÀXLðßIÃÀGÃGKÃpÒFÃð{JÃë>Ãð·@ÀùFàAHÃ@¶LÃPTNÃ`:DÃ@òBÃ0BDÃмGÃ@ìCà ÙNÃàËKÃÐKEÃÀ¡EÃpsAÃ>BÃpCIÃÐ'KÃ0¹EÃÙAÃÍCÃqDðëGÃ00GÃÙAà FÃÀ§DÃðFÃ@{AÃðÏ<Ãpy@ÃPrIÃ0§HÃ@'OÃpÒFÃ`X?ÃúBÃ@oCÃP%AÃ0¿DÀ @Ã0BDÃÓBÃà@Ã`MÃpÒFÃpmBÃ`¥GðtFÀEðŒBÃâFÃÐÚBÀBÃð±AÃ@™<Ã>FÃ`«Fà !CÃÐ3IàkAÃP´>Ã@“=Ã@ ?éEÃ0³FÃpü?à ˜DÃÍCÃÐKEàƒ=ûBÃÀ¡EÃÀ$ÃÐí*à %ÃàëÃ@'ÃàÁ#ÃðÄ)Ã@¬$ð.(à í!à&Ã@”(ð()à„(à~)Ã?1ÃP>(ÃÐ'ÃÐÉ0à (-Ãpn-ÃÀØ'Ã](Ã`Ü)ÃP>(ÃÀ['Ãà)ÃÀº,Ãæ*Ãp'ð+ð/àx*à F(À‰/Ãàö/à (-ÃÀÞ&À×"ÃÀÞ&à F(à„(Ã0º0Ã0´1à%à ½)î%Ãàü.ÃÀÆ*Ã0%ÃP»(ÃðÖ&ÃP©+Ã`Ð+Ã(ÀH%ð·&À**Ãà2&ÃðÄ)ÃK+ð/à L'À¹'ð¥)Ãà )ÃÚ,àõ*ð“,ÃÀa&Ã`A.À³(ÃÀÀ+ÃPÁ'À /ðŸ*Ã0g)Ãà )ÃЦ!ð“,ÃP£,À­)Ãð¾*Ã@v-à Û$ÃК#Ã0%ÃÀg%ÃÐ%ÃQ*Ãà.ÃP‘/Ãpß/À¹'Ãà&(À$+ðþ/ÃÀy"ÃpŒ(À¡+Ãu(Ãp>5ÃÀ1.Ãà‘+àx*à .,ÃP2*ÃÈ+Ã`è'Ãð¾*àl,Ã`q&à„(à Õ%ÃQ.àË1à&Ãð¾*À§*Ã*Ã(ÃÔ)À$+Ã,ÃД$à&Ã?-Ãðš0ð/ÃP»(Ã`S+Ã0Ò,Ãph.Ã`Ð+Ã0g)Ãð#/Ãpß/à ±+ÃÔ)Ã0ö&ð¥)à&Ã*Ã`6Ã@p.Ãð¾*À$+Ãà'À§*ÃP0Ãà&(Ã@v-Ã0a*Ã{'àf-ð½%ÃÀŠ4Ã@ÿ+Ã@í.Ã9.ÃÔ)Ã0m(Ãà+ÃðÄ)Ã0Ò,Ã!2ÃP—.ÃPD'À¡+ÃP»(ö.Ãð#/ÃÐj+Ã0œ5ÃÀº,â'Ãð;+ÃЂ'ü-ÃK/ÃÐá,Ãà.Ã`e(Ã`A.Ã`Ö*ðÃ$Ã3/ÃÐÉ0ÃÝ2ü-Ã,ð/ðu1ÃpÁ4ÃQ.Ã`¸/Ãð5,À**Ã`_)Ãà*ÃP£,àã-Ãph.Ã-0Ã0À/ÃP¯*ÃÐÕ.ÃPÇ&ÃÐd,Ãð /ÃÀ7-Ã@ó-Ã`/1Ã'1ÃP1à 3Ã@X2ÃÀÀ+ð-Ã@48Ã`;/Ã0Æ.Ãàö/àx*Ü(ð«(Ãf1àB3à~)Ã0Ì-Ãà-Ãð).ÃP2*Ãé0ÃÐX.Ã@í.Ãà—*Ã@”(ÃP\#àx*Ãàð0ÃPµ)Ã@(ÃP¯*Ã@ç/Ã@+ÃÐX.ÃP -à ±+ð"*à ½)ÃÀ%0ÃÐç+ÃP£,Ãð;+Ãð5,ÃÐá,Ãl0Ãð¦.Àq3Ãû-Ã`Ü)Ã@p.ÃðÊ(ð,Ãàê1ÃÀû6Ã`)2Ãï/Ãð#/Ãàö/ÃÀº,àû)Ã@v-Ã@+ÃÐj+Ã@p.Ã@ù,À­)Ãð¾*Ãàê1Ãà.Ä,Àƒ0ÃPü2ÃpP2ÃË5à 1Ã@Ï3ÃZ3à (-Ã0=0À /ÃP‹0ÃÐÃ1ÃpP2Ãàa3àZ/ÃÀÒ(à 1À•-ÃpÁ4Ãð4ÃÐ@2Ãàü.Ã9.Ã0C/Ãã1ÃP1ð“,à +Ãà…-ÃÀº,à ‡2Ãàê1Ãpë-à “0à þ3Ã@á0Ãp\0Ãð#/ÃÐç+Ã0U,Ãз3ÃàØ4ÃPs4Ã`¾.à 3Ã’8Ãðÿ4ö.ÃŒ5Ã0¢4Ãp»5ÃPU9Ãp27Ã0–6ÃÀõ7ÃÀ5Ã<8ÃN5Ãý7ÃŒ5Ãð«BÃ0œ5ÃàÞ3ð]5ÃÀû6Ã0x;ÃÀ~6ÃÐ¥6Àâ5ÃPÒ9Ãn:Ãpµ6Ã0:Ã0:Ãp»5à Ô:Ãt9Ãà´:à$8À¾;Ã`ˆ7ðÚ5Ãðj8à È<à Q;ÃÐ8ÃÀl9ÃÐ:Ãp&9à Ô:Ã`4àB3Àâ5Ã0õ;ÃÀû6Ãpå.ð3<Ã÷<à à8ÃàÒ5Àô2ÃÀ6ÃPs4Ãàs0ÃÐ:Ã0„9Ã0–6Ãp27à i7Ã`8ÃŒ5à þ3Ã@±8à$8Ã@Ã5Ãp:ÃPÀ<à§7à Ô:à i7à 6ð?:Ãp86ð°<Ã4Ã0õ;ÃpÇ3à {4Ã5Ã`¬1Ã'1Ø7Ãp—;Ãð^:ÃГ9ÃpÁ4Ã`)2ÃðÏ<Ãp:à i7Ã33Ã@:7Ã`d=Àú1ÃpP2Ãp»5ÃÐ8ÃП7à u5à ø4ÃЙ8à 2ðì2Ãàa3ê4Ãï/Ãð^:ÃT4à}>Ã`|9ÃpÁ4Þ6ðQ7Ãб4ÃPs4Ãï/ÃÐ¥6à Î;Ã3ÃÀõ7à ì6ÃPg6ÃÀ~6ÃðX;Ãp>5Ãàä2Ã0–6ÃГ9Ã@@6Ã'5Ã@(:ÃPü2Ã0´1Ãp&9Ã'5Ã`)2ÃÀ%0Ãàa3ÃN5Ã`¾.ÃÂ0à<4ÃÅ6ÃB7á<Ã0%4Ãð2ðÂ9à à8ÃPs4Ã@F5ÃW-ÃPÞ7ÃÀr8à ø4Ã06Ã],ÃÐá,àH2Ã`v:ÃT4ÃÀ%0à ¥-Ã`#3à 1à :ö.ðc4ÃPm5ÃPÒ9ÃàI7Æ6ÃÀ¢0Ã`¸/Ã`#3ÃÀ6ðò1Ãàm1ÃÐF1Ø7Ã@ó-ÀÜ6ÃÑ4Ã69Àƒ0à /Ã@Ï3Ãp»5ÃË5Ã-0ÃÀœ1Ã4ÃàØ4ðø0Ã`”5À;Ãb<ðà4Ã@L4Ã@Õ2Àƒ0Ã`)2ÃÐ^-Ãðÿ4Ã!6Ã05à ø4ÃÀŠ4àB3Ãàö/Ã@Ã5Ã0 8Ã0À/Ã@‚+ÃPs4Ã`Ð+Ãð 3Ã`)2ÃP‹0í:Ã0+3ÃÐÏ/ÃÀŠ4à þ3à­6Ãàa3Þ6ö.Ãr/Ã@X2Ã`Ž6Ã@ç/Ã@Ï3ÃÀ+/Ãpñ,Ãpñ,Ã@X2ÃÀ5àf-ðþ/à<4ði3Ãpb/À­)ÃàØ4ð/Ãp€*à Ÿ.Ãà[4ÃÀC+Ãx.ð{0Ã`¬1Ã!2à {4Ã0œ5ÃpV1Ã0O-ÃÐ@2ÃÂ,Ã@R3ÃЙ8Ã@F5ÃpP2Ãï/Ã0+3àN1Ã’4Àî3ÃPö3À1ÃÀ–2Ãð).à “0à +Ãð0Þ2Ãé0à§7Ã`Ö*Ã0g)Ã@Û1ÃÐ44à 2Ã@j/Ãð¬-ðo2ü1Ã@ˆ*Ãð2à06à 3Ãðp7à “0Ãpå.à “0Ã@^1Ã0I.ÃŒ5ÃÑ4Ãà[4ÃPg6Àú1Ãð1ÃP¯*ÃQ.ÃP/ä1à 3Ã@í.Ã@Ï3Ãl0àB3Ã`/1ðÈ8Ã@Õ2à 1Ã@½6Ãðç8Ãà[4ÃÐ@2à ™/ÃÀœ1Ã@F5Àú1Ã5Ãà=9Ã05Ã@ìCÃ3ð/Þ2Ã`50Ãð”1Ãð;+Ãðù5ÃPÀ<ÃÐ44à Ÿ.ÃÐF1Ã0´1Ã@|,Ä,à*7Ã`;/ÃÀ%0À1à ‡2ÃÀû6Ã@½6Ã4à u5Ãà[4Ã-4ÃàÌ6Ã`v:Ã@É4à æ7Ã@";Ã`¬1Ã0+3Ãðˆ3Ãð 3Àè4ðÂ9ÀY7ÃPa7ÃPº=À7à­6Ãð‚4ÃP2Ãð /Ã7ÃPÞ7ð]5ÃPa7à à8Ã0–6Ã\=ðž?Ã@L4ÃP‹0Ã0œ5ÃpÁ4Ã0œ5Ã5Ã0:ÃÀï8ðc4Ãpµ6ÃàI7ÃÀx7ÃÀã:Ãý7à³5ÃÐ(6Ø7ÃÐ(6ÃðÏ<Ã07ÃPI;ÃPÀ<ð¶;Ãðó6ÃÀã:ÃÀ3ÀÐ8Ã07à þ3Ã@>ÀA;Ã`|9Ã`ˆ7Ã<8Ã@«9ÃÅ6ÃÐ8Ãðá9ð˜@À/>à ¼>ÃPê5Ã@Õ2Ãð²,ÃÀr8ÃÀï8à06à§7Àw2à65Ãé0ðÔ6à›9à›9Ãðí7ÃpÇ3ÃN5ðc4à;Àk4à¹4Àe5Þ6ÃPy3ÃP2à ‡2ÃÀœ1Ãp»5Ã0r<Ã0~:Ãp>5Ã@·7ÃpP2ÀG:à$8Ã'1ð3ÃPä6Ã07Ãë:ÃÀõ7à>ÃÀ~6ÃPä6ê0ÃàÒ5ðÂ9ÀÊ9Ã` 7Ã0´1Ã@¥:ÃÐ@2ÃÀ3Ã@ç/Ã`¬1ÃÀ1à i7ÃPÌ:Ãp‘<ð3<Ãp,8à:Ã7ÃÐ(6Ãàa3Ã`8à E=Ãp;Ãph.ÃàÒ5ÃÐ@2ÃP2ö.ÃÐF1ÃÐÃ1ÃÐF1à þ3Ã`#3Ã-4ÃŒ5ÃàØ4Ã0œ5Ã'5Ã0„9À_6à•:Ãà%=Ãàê1Ãðù5Ãðç8Ã`ˆ7Ã0%4ÃT4à ‡2ÃÀ 4ÃÐ.5ÃÐF1Àe5Ã`4Ã` 3ÃÀõ7à ò5ÃÀ`;ÃÐ"7ÃPÞ7Àe5Ã`”5ÃPö3Ã@F5ð°<Æ6ð]5àB3à {4Ã-0Ã`š4Ã’8ÃÐ@2Ã@Õ2Ã`6ÀÖ7à à8à06ä5àÑ0Ã3Ãн2Ø3ðu1ÃP,+ÃpJ3Ãà´:àÅ2Ã`50Ã0%4ðc4Ã@Û1ÃpV1Ã@j/ÃPö3à³5Ã012ðu1Æ6ÃÐ44Ã071À}1ÃZ3Àe5ð3ÃÀl9Ã05ä5Ã`2ÃÎ.ÃÐF1àZ/Ãày/ÃpJ3àH2Àú1ÃàO6Ãày/à 1Ãб4Ã@ÿ+ä1Ø3Ãx.ðò1ÃE0ä5ð]5ÃÀ3à*7Ãð¬-À1ÃpV1à Ÿ.ÃÀ%0Ã071Ã`Ä-ê0Ã`;/À,ü1ÃàÞ3ÃÀ1.ð/ðQ7Ã0–6ÃÀõ7Ã<8Ã`Ð+ÃP2ÃZ3Ãpb/ÀY7Ãl0Ã`¬1Ã@í.À /Ãз3à ¥-Ã0Æ.Ãð#/ÃÐ:3à ø4Ã`¸/ÃÀ7-àË1ð]5Ã@Û1Ãpñ,à þ3ði3Ã0+3Ã92ð‡.ÃpÍ2ð]5ÃP2ÃPê5ÃÐÛ-Ã`50Ã`Ð+Ãðš0Ã`#3ÃÐç+Ã0º0Ãàê1Æ6ÃP/àË1Ã0Æ.ÃPö3ÃP2Ã@ó-Ã@F5Ã0=0ÃÀ=,ÃÀ®.ÃÝ2Àw2ÃZ3àH2ð/ÃpÍ2Ã3ÃÀ~6ÃÐÃ1àË1Ãà-ÃÀ¢0Ã?1Ã0®2À1àï+À0Ãû-Ã@^1Ã05Ã@^1Ãàs0Ã0õ;ÃЙ8ÃÅ6ÃPs4à65Ãàê1Ãð¬-ÃÚ,àÑ0Ã0U,à`.ÃÐÃ1Ã`Ä-Ãph.Ãæ*Ã0Ø+Ã`¬1Ã0–6Ã`4àË1ÃÐL0Ã`2Ã0–6Ã@Û1Ãð /ÃÀ¢0ð/Ãày/À›,Ãð¬-ðu1ÃГ9ü-ÃÚ,Ãà.ÃpÙ0Ã`50à ™/ÃpÓ1ÃÀ 4Àú1ði3ÃŒ5ÃÐ.5ä1Ã@‚+Ã`¦2Ã0®2Ãà—*ð-Ã@Û1à ™/Ã`50Ã7ÃÐÃ1ÃÚ(Ã0Ì-ÃàU5Ã!2ÃP.ÃP -Ã@‚+ÃW)Ã@í.ÃÀ2Þ2ÃH6Ã0®2ÃPO:àÝ.Ãðâ$Ã0º0ÃpÙ0ÃpP2ðø0Ãpt,ÃP1ÃpÓ1À-Ã0´1ÃpJ3àl,Ãð0ÃÎ*Ã`50ÃP2*Ã@ó-ÃàÞ3Ã@ù,Ã0Ø+Ã`S+ÃÀº,ÃP‘/Ã×3ÃPü2ÃP8)ÃÐd,ÃP1ÃàÌ6Ã3/Ã`)2ÃÀº,Ãð/-Ã@á0Ãl0Ãð0Ã@j/Ã`50Ã`_)Ã`¾.Ã071Ã`¸/ÃÐ^-àN1À.ÃÔ-ÃÀ2Ãë:Ã@Û1ÃÐd,ÃÀ+/ê0ÃÐv)ðò1Ã×3ðþ/À‰/Ã`A.à 1ði3Ã07ÃàØ4ðu1à (-Ãð¦.Ãð¬-Ãð²,Ãàö/ÃÀœ1Ãpb/À}1ð/Àô2ÃpV1Ã0[+Ãà.Ã0º0ÃP/Ãàð0Ãpz+Ã`M,Ãp€*Ã@+Ã@É4Ã`S+ÃÝ2ÃÀœ1Ãàð0à 1Ãð /Ã`¬1Ã`¦2àN1Ãt9à 0ÃQ.ðÚ5ÃÐo?Ã×3Ã0=0ÃÀ®.Ã` 7Ã@ÿ+Ãpt,Ã0º0Ø7ó9Ãн2Ã@‚+Ãpñ,ÃpD4à {4à ø4Ã'1àõ*Ã33Ãpµ6ð‡.Ê+Ãàa3à u5ÃÀ3Ãpß/ö2ÃP2à`.Ã@É4ÃÐÃ1Ã'5à «,Ãp\0ÃÐF1à ‡2Ãð 3Ã9.ðì2Ãp86Þ2ü-ÃP/àf-à 'ÃPg6Ãð¬-Ã*Ãpz+ðì2ÃÑ4ÃZ3ÃÐ44À1Ã`2Ãàm1ÃP2Ãpz+à 0ÃQ*Ã@Õ2à ¥-ÃàÞ3Ã`S+Ã0[+ü-ðo2à æ7Ã` 3Àw2à “0ð‡.ÃÐp*ÃðG)àÝ.ðæ3ÃÝ2ÃÀ 4Ãpn-ÃPg6Ãà[4Ã'1ÃP.ðø0ÃÐ"7Ã0º0Ã@‚+Ã33Ãpn-ÃW)ð/Àú1Ãн2ÃT4Ãpb/ÃÀ–2ðu1À‰/ÃP[8ÃÐL0à06Àƒ0Ã`²0ð"*ð()Ã0%ö.Ãï/ÃP0ÃÐÏ/ÃP…1à ±+ÃP2ðø0ÃpÍ2à¿3Ã@í.Ä,ü1à +àÝ.ÃÐ"7Ã`5ÃÐ^-Ãû-ÃÈ+ÃðY&ÃÀû6Ãð#/à .,à×/Ã0+3à 2À•-À0)Ãð).ÃàÞ3Ã0¢4à65ð3ÀY7À0Ãàê1Ãpý*Ã@á0Ã`50Ãà.Ãpë-Ã@X2Ã@É4Ã@á0À /Ãc+Ãð”1Ã0U,Ã`2À_6àx*à /à`.ðŸ*Ã@|,Ã@í.Ãà )ÃÀÀ+Ã'1ÃÀœ1ð{0Àô2à¹4à (-Ãp÷+Ã`¾.ü-Ãà.Ã,Ã0=0ð-Ãð).Ãð‚4Ã` 3Ã@|,ÃÐv)à ‡2Ã@ù,ÃÀ®.Ãæ*Ã`)2ÃÀ1.àr+Ãàg2àB3ÃPÞ7Ã0À/ÃÚ,Ã@‚+Ã@í.Ã0Æ.Ã0Ò,ÃpP2ÃP/ö.Ãpý*Ãð).À‰/ÃPµ)ÃP‘/Ãû-ÃP—.àã-Ãpñ,ÃP‘/àx*à Ÿ.àÝ.ÃP©+Ã@Û1Ãà…-Ãpå.Ã`#3Ãð0ÃÈ/ðæ3ù8ð/ÃÀ–2Ã0O-Ã~-Ã@+Ã-Ãà+à «,ÃK+Ã0œ5ÃÂ,Ãpý*ÃÀ´-àÑ0Ã!2àÝ.àB3Ã?-ÃÑ4Ã0´1Ãð /Ã0O-Ãð²,Ã×3à Ÿ.ð/ÃÐÏ/ÃÐX.Ãph.Ãì)Ã@p.Ãà.ÃQ.Ã0a*ðo2Ã@Õ2ÃЙ8ÃP.àN1à 3Ãð5,Ã`Ö*ðu1Ãà[4Ã*àH2ð3ö2ÃPê5Ã0º0ÃÐá,Ã`A.Ä,Ãàü.ÃÐL0à 3Àè4ÃÀÀ+À.Ã3/Ãû-à +ðu1Ã@í.ÃÀ¨/ðì2Ã`4ÃP©+Ãã1Ãð¸+Ã-0Ã-4ÃpÁ4Ã0Æ.Ãã1À1Ãðÿ4Ã0[+Ãp÷+Ãì)Ã0O-ÃÀÆ*À1à`.ö2À.Ã0U,Ã`Ê,ÃðM(àû)Ã?-ÃPü2ÃpÇ3Ãð2Ã0Ø+Ãpë-Ã'1ÃP2ÃÐÃ1ð()ÃÀ–2ÃpP2ÃÐF1Ã'1ÃB7à 6Ãû-ðc4à 3Ãð¬-Ãн2ÀÖ7Ãàä2à 1Ãàð0Ã`”5Ã-4ð/Ã-0à ]9Ãë:Ãàa3ÃPð4ðW6ÃÀ6ÃpD4Ãl0Ã06à 3ð/à 2ÃÀ%0à 3ÃN5ÃÀ3ÃN5ö2Þ2ÃÀé9Ã@R3Ã`4Ã`50Ã`v:À @ðÚ5ÃðÏ<Ã8À**ÃPs4à 3ÃË5Ã07ÃŒ9Ãp‹=à³5à c8ÃàÆ7ä1ÃГ9Ã0U,ÀÖ7ÃN5ù8Ãp£9ÃZ3Àè4Ã@48ðu1Ãðp7ÀÖ7Ã07ðW6À;Ãp,8ÃàÆ7ÃÐ.5à c8Ã0:Ã`ó:Ãðˆ3Ãz8à Î;ÃPm5Ã09Ã0û:Ãðó6ð?:à‰<Ã`#3Ã7Ã0:Ãñ9ÃPU9ÃPm5Ãà=9ÃÀl9Ã`Ž6ðÚ5à à8à 6Ãðp7Ã`6Ãðˆ3Ãз3Ã*;ÃË5ÃPÞ7à9Ã05Àe5ðÈ8à 6Ã@½6ÃÀÅ?ðÂ9ÃÐR/ÿ7Ã0õ;Ã*;Ãp86ÃÀ~6Ã0 8ÃðŽ2Ãpµ6ÃPÞ7Ãðd9Àî3ÃЙ8Ã@.9à¡8ÃÐ<ÃP—.ÃÀ 4Ãý;ÀÐ8Ã07Ã012À0Ã8ÀS8ÃÀû6À1à 2Ã÷8Ã!6ÃÐ"7À_6Ã92Ã@·7ù8à 1à þ3Ãð|5Ã@«9à$8ÃÐ9ÃðX;Ã*;ÃÀ3à i7ù8à³5ðò1ÃÐ"7ÃÀ6Ã@Ï3ÃðŽ2Ãz8ðÈ8ÃÀr8ðÂ9ÃЙ8à 6ÃP—.ÃpÇ3ÃÀû6ðÔ6à¡8Ãðj8ÃÀ5ÃàI7à¡8ÃP2Ã07Ø3Ã?1Ã9ÃP2Ãðj8ðK8à “0Ãz8ÃÀõ7Ã@d0Ã@·7Ãðÿ4ÃðÛ:ð]5à$8Ã0–6Þ2Ã'1Ã0œ5Ãð4À¡+ÃPO:Ãà7:Ãp»5Ã`š4Ãàä2Ãð|5àÅ2à ‡2Ã7À /Ãð4ð?:ðÚ5ÃÐ"7ÃpÁ4Ã`)2à “0ÃpD4Ãp>5ðò1ðæ3ÃÀ„5à06Ã×3Ãð”1Ãpn-ÃP2Ãðÿ4ÃÀ 4ðÎ7ðì2à<4Ã`#3à*7ÃPa7à “0ÃÅ6ðu1Ã'1Ã`¦2Ã@·7À}1à­6Ã@Ã5Àè4Ãн2Ã-4ÃÐÃ1Ã’4ðÔ6Ãðˆ3àT0ðò1Ã@p.Ã0%4Ã0¢4Ãx.ð/ÃÐ"7ÃN5Ã@R3Ãðš0ÃÀr8ðæ3Ã071Ãðv6Ãl0ÃÀ¢0ÃÐF1ÃÀŠ4ÃP2Ãpñ,Ãp&9Ã@@6ÃÀï8Ãp86Ã!2ÀÖ7Ãð/-Ãàü.ÿ7Ã@L4à à8ÃN5Ãðó6ðÎ7Ã3/Ãðp7ÀÖ7À‰/Ã`²0ðÚ5à {4à ‡2à .,Ãp\0Ã0Ò,Ãf1àH2ÃPü2Ã0Þ*ÃÐÛ-à 6ðW6Ãp?à i7Ã0+3Ãð2Ã0Ò,à ‡2Ã@L4Ãà[4Ã`¾.Ã@É4Ã`ˆ7Ã3Ã0´1ÃàÌ6ÃÀ1àN1àT0Ã~-ÃÀ%0à×/à 2À-ÃÀ%0Ãpñ,Ã0¨3à ø4à³5Ãp>5Ãàm1Ã0U,Àî3Ã`Ž6Ãðš0ÃÀŠ4Ã@X2Ãð0ä1Ã@X2ðu1ÃN5Ã`¸/à “0àÑ0ÃÐ"7Ãp»5ÃË5à 1ÃÀx7Ã`š4ðu1à 1ÃPü2Ãн2à¿3ÃÐÕ.ÃÀû6ÃP/ÃP£,Ã`50à {4Ãб4ÃPü2Ã@ó-Ã@ˆ*ÃÐ:3Ãàê1ä1Àƒ0Ã`2Ãï/ÃГ9ù8ÃàÀ8Ã0+3àÑ0Ã0+3ÃÅ6ðà4Ãàg2ÃÐ.5Ã?1ÃÀŠ4Ã@ó-ÃpÙ0Ãð#/Àw2Ã`Ä-Ã0Æ.àé,Ã`5Ãà‹,Àâ5ÃÀ6ð™+ÃÀ1.à¹4Ã`5Ã0œ5Ã`ÿ8ÃpÇ3ÃЙ8Ã0œ5Ãàs0Ã`50Ãàð0ÃÅ6ðK8Ã'5ðK8Ã0¢4à ‡2Ø3ÃÝ2à ò5Ãl0ÀA;À.Ãàü.À1Ø3Ãб4àl,Ã0%4Ã@(:Ã@L4Ãp27àT0Ã`50à¹4Ãp27ðQ7Ã07ÃT4à¹4Ã@j/ÃPö3ÃpÙ0Àk4ÃpÇ3ÃÐR/Ãб4à ø4à 1ÃP0Ã-Ã'1ÃpP2Ã0¢4Ãð 3Ã33Ãà.ÃÐá,ÀÜ6Ã×3ÃÔ)ÃÀ¨/ð?:Ã0 8ÃP2à 3Ãàê1à06Ã0+3ÃŒ5Ãðj8À0Ã3/à /àË1Ö)ÃÐÕ.Ã@Õ2Ã`á=Ã92Ã@Û1Ãð¦.Ãf1Ã@Ï3ÃÐF1Ã@Ï3Ã0+3Ã`Ä-ÃÐÕ.ÃP2Ãp©8Àe5à 1ÃÀ2àN1Ã@X2Ã@Û1Ãàa3ÃpÓ1Þ2à 3ê0Ã`Ä-Ã0¢4Ã@F5ÃÐÃ1Ãl0ÀM9Ø3ÃÀ1ÃÀ¨/Ä,Ãðš0Ã@v-Ãðÿ4ð¼:Ãн2à 3ð™+ð .Ãàg2ÃÐ^-Àú1Ã` 3ä1Ãé0ÃPs4Ã06Ãз3ÃP0ðc4Ã`¬1àB3Ã`¬1Ã071Ã-0ÃÀœ1à ø4Ã`|9ÃÀœ1ði3Ã7ÃÀõ7ÀÖ7ÃÐ44ÃÐ44Ãph.Ã5ðÈ8Ã`š4ÃÀ®.ÃÐ@2à {4Ãð 3Ã@R3àÅ2Ãp\0ö.Ã`Ž6ðo2à¹4à Ÿ.Ã0¨3Àw2ð]5ðo2Ã`5ÃZ3Ãà1;Ãðˆ3ÃPÞ7Ã` 3Ã@>Ãà AÃàØ4ÃÅ6Ãpß/ÃàI7ÃP2Ã06ÃàÒ5à¿3ð]5Ã@.9ð¼:Ãý7Ã`/1Ã@Ï3Ãà®;ðc4ðo2Ãp©8ðW6Ãðç8Ãõ.Ãð1à¹4Ã`ç<ÃÀã:Àƒ0à W:ðc4à K<Ãp :à 2Ã-4Ã>à;à 1Ã<8à ò5Àî3ðÚ5ÃÀ~6à¿3àH2Ã3Ã0Š8à;Ãp&9Ã`”5Ã`j<ð°<ÃÀã:Ã0º0ði3Ãðù5à¹4ðE9ÃЇ;Ã@F5Ãð|5à¡8Ã8ðK8ÃÑ4Ãðj8à ]9ðW6à ì6ÃÐ:À_6Ã@>Ã@·7ðÂ9Ã0¢4ð3à ò5ÀÖ7ÃЫ5Ã0+3À_6à:à;Ãà®;ÃpÁ4Ã@Ï3ÃPy3ÃðÏ<ÃÀ6Ã8à ]9Ã`5à æ7Ãà%=Ãàº9Ã÷<ÃÐ"7ÃPÒ9Ãp27Ãàð0ðì2à :Ã07Ã`8ÃPs4ä1ðÚ5à Ô:Ã`ÿ8Ã0:Ã0œ5ÃPê5ÃÀŠ4ü1ÀÜ6ÃàO6ÃpÁ4Ã0º0ðu1Ãàs0Ãã1Ãз3ÃÀ 4ÃPO:ÃàO6ÀA;ÃpÇ3ÃPÒ9ÃðŽ2ÃÀ%0ÃÀ+/Ãp\0Ãð/-Ãpë-ÃPI;Ã`¬1ÃP/Ã-4Ã07Ã`Õ?Ã0x;ðÚ5à¡8ÃÐ"7ÃPð4ÀÜ6ð3<Ã`ˆ7ÃÀï8ÃPä6ÃPÞ7À7Ã@L4ÃðŽ2ÃÑ4ÃÐ¥6Ã`6ÃÐ8ÀÖ7à :ÃPê5ÃÐ:Ãàa3Ã0:Ã`ù9ÃÀã:à¿3ÿ7ÃЫ5ÃT4Ã@±8ÃPä6Ã`4Ã@48Ãðÿ4Ãp27Ãðù5à c8Ãð‚4Ãз3Àè4à 6à W:ÃàI7Ãp27ÃàÀ8ÃÐ<àƒ=à þ3Ãàö/Ãf1Àî3Ã`8ÃП7Ãp86ÃЫ5Ã0 8ÃË5Ãð 3ÃP2Ã@Õ2Ø3Ãð^:ÃÀû6Ã@½6Ãày/à§7ÃÀl9Àe5Ãð0Ã`;/à ø4ÃÐ<ÃàÌ6ÃŒ5ðÂ9Ãðù5ÃP1ðQ7ÃPÌ:Ã`2ÃàU5ð‡.à­6Ã`j<ÃÐ¥6à 6ÃpD4Ã'5ÃàO6Ã`5Àî3ÃÐ(6Ãp¯7ÀY7à65Ãp :ÃàO6Ã`/1í:ÃÀõ7Ã÷8Ãðç8Ã@ç/ÃpÇ3Ãàa3ÃÐ44Ã@á0Ã~-Ã0Ø+Ãð|5ÃÐ ;Ã@p.Ãðÿ4À1ð/ÃP1ÃŒ9Ãé0ð-Ã09ðÔ6ÀÐ8Ã` 7ðÔ6Àî3Ã@Ã5ÃÀ~6ÃÀÀS8à æ7Ãà7:Ãà1;Àq3ÃpÁ4Ã÷8ÃÀŠ4Ãã1Ã0+3Ã07Ãp£9ÃPä6Ãð‚4Ã0–6Ã0+3Ã@½6ð3Ã06Ã0º0ÃT4Ã0û:Æ6ðK8à¹4à­6Ã`4Àw2ðÚ5Ãàg2à×/Ã7àH2Ãp86Ã@á0Ãé0Ã0®2ÃÂ0à65Ã’4ÃÐ9Ã’8Ãðp7ÃÅ6ÃÐR/ÃE0ÃðŽ2Ã@@6ÃÀõ7Ã?-Ãз3à¿3Ãp :ÃÐ44Ãðó6ÃÀŠ4ü1à06ÃÑ4ÃP…1Ã@É4Ã7ÃPÀ<ÃPg6ÃàC8Ã3Ãà.ÃÀ6ÃÀ6ÃÀ2Àw2ÃpP2Ã@ó-ÃP&,ÃP2Ãð /ÃÎ*à•:Ã`4ÃÀ1Ãõ.à 3ð/Ãé0ÃpP2ÃÐÕ.ÃPm5àl,Ã92Ã07ð/ÃÀ–2Ã07ü1Ã071ÃÀ–2ÃPy3ê0à ø4ðì2Ã`2à ø4ÃP…1ÃÐ44ÃÐ44ÃÀ7-à×/Ãpë-Ãб4à³5ÃpP2à u5ÃZ3Àè4Ãp:à*7à 3Ãðj8à¹4Ãp>5à 6ä1ÃÐ@2Ã` 3Ã@Õ2ÃÀx7à*7Ãl0ÃÀä%Ãð0à ™/Ãð²,Ãà[4Ãà¨<à E=Ã?1Ã`2Ãðó6ÃB7Ã`2Ã0º0Àe5Àƒ0Ã@d0Ãð”1à<4ÃpP2À•-Ãp27ÃÀ–2ÃP1ÃPs4ÀÜ6à65ÃPð4Ãð‚4ÃÀ%0ÃPy3ÃN5ÃP2Ã0–6Ã`)2ÃP£,Ãpë-à 3Ãày/Ã0´1Ã],ÃÀ1.ÃÐó)Ãð0Ã@ó-Ãr/à (-ÃÀ´-ÃÐÉ0Ãph.Ã071ÃàÞ3ÃÚ,ÃÐd,Ã3Ã`š4ðà4Ã`¬1Ãpb/Ãã1ÃP2Ã0+3Ã@Ã5Ãð4à<4Ãà[4Ã`Ä-ÃpÍ2ÃÀ2Ã@p.ÃP.à 0Ã0¢4ÃPy3à “0Ãàa3ÃÀ+/à 1Ã`Ê,Ãpb/ê4Ãàg2Ãp\0Ãpñ,à «,ð/Ãàê1Ãf1à /Ã@j/Ãàü.ÃÀº,Ã0´1Ã@+Ã0¢4ð™+ÃÎ.Ãàü.Ãð).Ã0O-à`.ðþ/ÃÀû6Ã@Õ2Ã06Àƒ0Ã@L4ÃpP2àZ/ÃÐj+Ãð0ÃÀï8Ãé0ÃP/Ãp\0Ãð¸+Ã?1Ã-0à 1ÃpJ3ÃP/À}1ÃÚ,ü1à06àË1ÃàÞ3à×/à 1Ã@ *À‰/ÃÐó)ÃÀ2Ã0Æ.ÃE,Ãpt,à×/àÑ0ð/Ã`Ä-À1Ãpå.ÃP.Ã`²0Ãpb/àx*ÃP-Ãà—*Ãc+à 0Ãr/Ã`/1ðŸ*Àî3Ãph.àé,Ã],Ãàä2Àú1Ãàü.Ã@Ï3àf-àû)ÃP8)ÃЫ5ö.Ãpë-Ãpñ,Ãà&(ÃÐj+ÃÂ,Ã%'Ãp\0Ãà-Ã0¢4Ãp¯7Ãз3Ãð).à¿3ÃÀ1Ã@±8Ã!6Ã`;/Ãàs0Ã`¾.Ãà'Ãph.ÃP…1Ãl0ÃE0Ãà-ÃÀ´-ÃP,+Ãý7ö2Ã'1Ã`¸/Ã~-à ±+ÃP—.Ã!2ÃP2Ãx.àÑ0ÃÎ*Ãà-Ãà,Ãà,Ãpñ,ÃÀ3ü-ð™+Ãpå.ÃÀ¢0Ãû-ÃÀ 4ÃÀÌ)Ãà&(à×/ÃP/ÃZ3Ã0¨3À•-Ã0[+à ".à :*Ãpn-ÃQ.ð™+ð±'ÃÐj+àã-Ãà+Ã5ÃpP2ðu1Ãpñ,Ã@ç/ÃàU5à<4ð/ðo2Ã0º0ÃÐ44ÃÀ2Ã@Õ2À.Ã9.Ãð²,Ã4àr+ÃÀº,Þ2àÑ0ÃÎ.Ãà*ÃpÁ4ÃÝ2Ã@X2ÃÐ¥6ÃÀ2ÃPð4ÃàÞ3ÃpÍ2Ãi*àf-Àq3ÃË5à9ÃQ.À¡+ÃðÐ'ð .ÃÐR/Ãðá9ÃpD4ð"*ÃÐX.àH2Ã](ð/à 3Ã!2à “0Ãð”1ÃÎ*À0)ÃÂ0Ãf1àË1ä1Àô2ÃN5ÃP1ÃÀœ1àN1ðc4Ã33Ãð0ÃÐÃ1Ãpb/ÃÚ,ÃpÓ1ðo2ÃÀœ1Ã0[+Ãàs0à ™/Ã0´1Ã@d0à06ÃЫ5à ".Ã@‚+ü1ÃÝ2Ã-4Ãàü.Ã` 7Ãð5,Ã`G-ÃÀœ1Ã@p.Ãà…-ÃPð4Ãн2ö2Ãàð0Ã0Æ.Ã@ç/Ãàg2Ã×3ÃÐ¥6ÀM9ÃàC8Ã92Ãf1Àè4ðW6ÃpÇ3À,ÃP…1à “0À¡+Ã071Ã@Ã5Ã~-Ã071Ã!2Àe5à=ðK8Ã`”5Ãû-Ã×3ÃÀ3ÃB7ð]5ðu1Ã×3àB3ÃpD4À0ÃpÇ3Ã`¬1ð+ÃÀÞ&à ¥-Ã-0Ã-0Ã@ˆ*à u5Ã`5ÃPm5ÃP -à 4+Ã`50Ã0é=ÃàU5Ø7à 3à «,à «,à Ÿ.Ãàê1Ãàä2à 0Ã0À/ÃPa7ÃàU5Ãðÿ4à•:Ãàð0à 2Ãàa3Ãàm1Ã@ó-ÃÀ¢0Ã'1ÃP‹0Ã`¾.Ã@ç/ÃPy3àT0Ã0U,Àô2Àƒ0ÀÜ6Ãpb/Ãð¬-ð{0ÃP2ð]5ÃP1Ã`š4Ãðj8Ãp<Ã`ù9ÃÀé9Ã@<Ãp»5à u5Ãp£9ÃÀr8ÃË5Ã0õ;Ãñ=Ã9ð°<Ã@F5Ã7ó9Ãðí7Ã`¬1Ã`ó:Ãðó6ÃÐ:Ã@Û1ðì2Ã0ï<Ã0x;ð°<Ãà?Ãp;Ã09Ãå;Ãp©8à 3@Ãà–?à•:ÃÀ×<ÃÀT=ÀM9Àq3àô?ÃÐu>Õ>à 3@ÃÐ:ÃÐæ@ÃàO6ÃÐ.5ÀÖ7Ã09Ã!6Ã0HCÃ`LAÃÐ<Ã`ç<Ã@@Ã7Ã0r<Ãå;Ã@‡?Ãðd9Ãðí7Ãpµ6ÃÀï8ÃðÃ>àƒ=À¬>Ãà@Ãà+<à•:Ãð|5Ã7ÃH6Ã9Ã8Ã0~:Ã;Ãë:ÃðÉ=à­6à ]9Ã@¥:ðÂ9Ã0`?ÃpmBÃ`ˆ7ÃÀû6ðÎ7ÃÐ:ð9;ù8Ãàº9Ã@48à æ7Ã`j<àƒ=à ¼>Ãb<Àî3Õ>Ã69ÃàÌ6à•:ÀšAÃ0:ÃàÌ6Ã0:Ãh;ð'>ä5ÃÀl9ÃЫ5ðÎ7ÃPÀ<Ã`8Ãp—;Ã0õ;ÃàC8à¹4Ãðv6ÃðÉ=Ãp=à•:Ã@«9Ãà´:Ã09Ã@±8ÀY7À;<Ãp:ð!?ÃPm5Ã@F5Ãt9Ãðù5À_6Ã`ˆ7à9ð9;ÃPU9ÃPð4Ãà@ð-=Ø7Ã69à³5ÀÖ7à¡8Ãð^:Ãz<Ãt9Ã=ÃÀ–2Ã`p;à È<Ã@“=ð-=Ãp‘<Ãh;Ã0~:ðW6à ì6à$8ÃPU9Ãå?Ã`v:ÃÀl9ÃPU9Ã07Ãp :ÃP[8Ã@™<à­6ÃàÒ5ÃPä6Ã0®2Ã`ù9Ãß<Ãß<Ã`d=Ãp£9ÃPI;Ã07Ã05à›9Ãðj8ÃÀx7à -Að@ÃPC<Ã`ÿ8Ãðç8Ãðÿ4Ã0º0ÃÀé9ÃП7À/>Ã0„9Ãp;ÃP1?ÃðÃ>ÃàÀ8ÃŒ5ÃÀã:Ãt=Ã`j<Ã\=ÀšAÃý7Ãp=ÃàO6Ã0Š8à;Ã*;Ãà¢=Ã`ˆ7À7ÃPØ8À¸<ÃP7>Ã0~:ÃðÛ:ð¶;Ãð^:Ãà7:Ãp:ðÔ6Ã@";ÀG:Ãà?Ã`ÉAÃë:ÃÓBÃð:@Æ6ÃPÒ9Ãàº9Ãðÿ4Ã`^>Ãp=ÃðL=ÀS8ð!?Ã`ç<ÃÀ~6à i7Ã` 7Ã@>à§7ÃÀf:Ãñ9ÀM9ÃÀ×<Ãpµ6í:à*7ä1Ã$<ÃðÛ:ÃÀf:Ã0û:À;Ã`p;ÃPÆ;ÃÀ 4à 0ÃÀ6ÃàC8ÃàC8ç;ÃÐ9ÃðÛ:Ãp©8À¸<Ã@=ÃP[8Ã@@6Ãàg2Ã`ÉAÃp:ðÎ7Ã'5Ãðp7Ãðd9Ãp‹=Ã0f>Ã`^>ÃðX;ÃÐþ<Ã0:Ã0x;Ãñ=Ã0ï<ð@ÃÀB@Ãß<ÃÀï8Ã0œ5Ã5ðÈ8à$8à9Ã09ÃpÁ4Ãð¦.ÃÀŠ4Þ6ÀÖ7Ø7à 3ÃpÇ3Ã`Ž6à³5ÃðL=Ø7ðÚ5ó9ÃðÛ:ÃP…1Àk4ÃðÕ;ÃPä6ÃÀl9à06Ãñ9Ã69Ã`ù9ÃV>ÃN5Ãà=9Ãðí7Ã07Ã*;ð°<Ã`d=ðE9à$8Ã`í;Ã4ÃpÇ3Ãàê1ÃPÌ:Ã0„9ÃPI;ÃÀr8àq@Ã0¢4ð]5ÃH6Ã0~:ÃÐ8Ãàg2Ãý7ðæ3ðc4ÃÀï8Ãn>ÃÐ:3Ãàg2ÃÐ{=ÃðR<Æ:ÃÀ×<à³5ÃÀ 4ÃZ3Ã@d0Ãàa3Ãå;Ãðó6Ã07Ã0:ÃŒ9àË1Ã<8Ã0r<ÀM9Ã`ÿ8Ã0„9à ø4Ãð^:Ã3àN1Ã5Àk4à9Ã0+3à•:Ã@·7ÀÊ9Ã`#3ö2Ãàä2Ã@Ÿ;à•:à 6Ãð1Ãë:ÃÐ:3ÃPÒ9à­6Ã0%4ð]5ÃàÒ5ÃÀ6à65ÃÐ:à:Ãp—;ÀÐ8ÃÀ„5Ãp»5ÃàÞ3Ã@.9Ãðç8Ãñ9ÃÐ(6ÃP2Ã05ÃÐ@2Ã@á0ÃÀ3ê4à65ÃàO6ÃàU5Ãp86Ãð‚4ÀÐ8ÃÐ:3ðò1Ãð /à<4Ãðd9ÃàI7Ã!6àZ/ÀY7Ãpµ6ÃàU5Ã!6Ã`¦2Ø3Ã06ÃÀ 4àZ/Ãàö/Ã0º0ÃàI7Ãpå.ü1ÃÀõ7Ãp86ÀÄ:ÃÀ¢0ÃpP2Ã@Ã5Ãà[4Ã5Æ6Ãб4à /à06Ø7Ãðí7Ã’8ÃÑ4ÃPü2À /à :Ã3ðW6ä1ð{0ÃN5Ã0=0À}1à06Ãpý*ÃPÒ9ÿ7Ã'1ÃW-ÃÐ(6ð/ä1ÃPÆ;ä1à 3Ã`¦2Ã@p.ÃÀ2ÃП7à¹4àx*Ãl0à§7à$8ÃT4ó9Ãàm1ÃPð4ÃÀ3ðà4ÃÐ"7à 2ðþ/Ãp27Ã`²0ÃPs4Ã` 7ÃÀœ1ÃŒ5Ãpå.ÃÐ.5ä5Ã0„9ÃÀ5Ã3/Ã`4Ãð /Ã33Ã7ÃpP2ðæ3Ãз3ÃpÇ3ê0ÃP2ÃÀï8Ã0¨3Ãp>5à 3à³5ðu1àË1Þ2Àô2ÃЙ8Ã`#3Àî3à$8Ã0%4Àk4ÃZ3à¿3Ã÷8Ãàä2Ã`”5ÃÀŠ4ÃП7ÃPð4ðu1Ãp&9ÃPa7Ãðí7ü1àË1ÃÀ¢0ÃÐu>Ã0®2ÃË5à06ÃÝ2ð]5ÃP[8à ]9à o6Ã07À¡+ÃP.à ø4Ã@(:Ãt9Ã'1Ø3ÃÐ44Ã@@6Ãðù5ÃÀ„5Ã@±8í:àÑ0Ãð”1ÃÀ6Ã`50Ã`¬1à¹4Ã!2ÃPü2Ãp¯7Ã@á0ÃÈ/Ã?1À‰/ÃPê5Ã'1Ã@Ã5ÃÀ6Ø7ÃPü2Ã`¦2Æ6Ãб4ðW6Ã0®2Ã`¬1Ãp86Ãp»5ÃÀ+/à:ÃàÒ5ði3ÃPØ8ÃB7Ãðˆ3Ã06ÃP…1à à8ÃÐ8àË1ÃP…1ÃÀx7Ãðj8Ã`‚8à u5ó9Ã-4Ã0œ5Ã`4ÃP0ÃÐ^-Àq3ÃÐ:3Ã0®2Ã-0Ã0œ5Ã3ðà4Ãз3Ã0œ5ö2Ã05ð-à 2àË1ÃÀ5ÃÐ^-Ã-0Ã@á0à þ3ÃŒ5Ãt9ÃpD4Ã0+3à¹4à i7Ã0®2À_6Àw2Ãðj8Ã06Ãàa3ÃPð4ÃpÁ4à æ7Ã`#3Ãðó6Ãз3à`.Ã?1Ã33Ã`Ž6Ãã1ÃP‘/ð/ðæ3ðc4Ã`2Ã`4Àe5Ã`Ž6Ã$<à Ú9ðÔ6à<4ÃP&,ÃÐR/àã-Ãð#/à¿3ÃŒ5Ã0œ5Ãðí7àT0Ãà+ÃÀ¨/Ã5Ã012Ãý7Ã@@6ÃP[8à 3ÿ7ÃЫ5à*7Ã0¨3Àe5Ã0º0Ã@R3Ãà+<Ã8Ã`8Ã`š4ðÂ9Ã0:à9ÃÐ.5ÃÀx7Ã@Ã5Àî3ÃP.Ã`5ÃàÞ3ðò1Ã0=0à /Ãà7:Ãë:Ã0C/Ãð1ÃPê5ÃÐ(6Àe5à 1Ã`‚8ÃàÞ3ÃP…1ðø0Ã`v:Ã0œ5ÃT4Ã`š4Þ2ÃÀ3Ãðˆ3Ã`j<ÃÀf:ÃpJ3Þ6ÃÐ:3ÃB7Ãðp7Ã-4à¿3Ãàä2Ã!6ðK8ÃЙ8Ã!2ÃPê5Ã0õ;ÃpÇ3À¸<Ã@Ã5à 3Ãt9à {4Ø3àÝ.ÃN5ÃàÆ7ÃГ9à¹4Àw2àÝ.à 0Ãðç8à¹4ÃП7Ãå;Ãp86Ã`¸/Ãð2Ã` 3ÃpÇ3Ã`¦2À_6ð-ÃÈ/Ãð0à ¨(dt ?@4 4ÿxunitsyunitsÐdh \ (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Ñ (ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec1 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunits`f€hTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿjHEAPX  hdatadescription8  @œPkq·—NM€SNODøhPÜÀ3Ã`/1Ãн2ÃÀœ1Àô2Ã33Ã@Ï3à ‡2ÃÐ^-à Ÿ.Ã`ˆ7ÃPð4àÑ0Ã` 7ÃÐ(6ÃK/Ã0À/ÃÑ4Ã3ð?:à:ÃPä6ÃP2ÃÀ¢0ÃpÁ4Ãðj8Ãp:Ãàs0Ãàm1Ãðç8ðu1ÃÀ%0Ãàº9ù8ÃpÁ4Ã071à 2ÃPð4ÃÐ:ðÔ6ÃàÆ7À7Ã@·7ÃPI;Ãà´:Ã’8ÃЇ;à “0Ã@Ï3ÃÐ<Ã7ÃÐ8Ã@±8ÃPä6Ã×3ÃÐ"7Ãðv6à:Ã`ÿ8Ãp27ÃÀ 4Ã`ó:Ãb<Ãp,8ÃÀã:Ãà´:Ã`v:ð9;ÃÀû6Ã@Õ2Ãå;Ãý7ÃPÌ:Ã@=à Ú9Ã`í;Ãð4ö2Ã!6ÀS8à³5Ãà´:Ãn:Ãp27Ãß<à o6Ã-0ÃÐ¥6Ãp27ÃÝ2Ãp>ð?:à È<ð¤>ÃðÕ;Ã@½6Ã@±8ÃðX;ÃЙ8ÃPü2à¿3Ã<8à>ÃàC8ÃÐ(6ÃŒ9Ãp¯7ÃN5ÃÐ:3ÃPÒ9ðc4ÃÐ"7Ãß<Ã`j<Ãà%=ðÈ8Ã0 8Ã@¥:Ã0Z@ÀÐ8Ã`ˆ7Ã`š4ÃÀÝ;ÃÐ"7ÀÊ9ÃÀœ1Ã071ÃàÌ6à9à 6Ã07Ãð½?à K<À²=Ãà%=Ãp¯7Ãz8ÃPØ8Ã@™<Ã3ÃPg6ÀY7ÃPü2ÃPO:ÃÅ6ÃPä6Ã@(:Ãà1;ÃÐ9ÃPI;Ã012ÃÀl9ÃÐ8Ã@¥:ÃÀé9À7ä1à {4Ãp©8ÃPI;Ã'1Ã0®2à 6Ã<8ÃÐø=ð°<Ã;ðK8ÃpÍ2Ãà.Ã`^>ä5à i7ÃàÌ6ÿ7Ãh;Àè4à;Ã0¢4ðc4ÃÀõ7ð°<Ã`‚8à “0à “0Ã0œ5ÃÀ„5Ã92à 2Ã`Ž6ÃÀã:À}1Ã` 3ÃPê5Ã05Ã@É4Ã@«9ÀY7ÃB7ðà4Ãàº9Ã@(:à¿3ÃðÕ;Ã`‚8Ã`ÿ8à 3Ã0–6Ãp>5ÃÀõ7Ãp&9ÃàI7á<ÃÐ8Ã÷8à*7ÃPÞ7ðW6ðW6Ãà[4ÃÐ44ÃÝ2Ãë:Ã@.9ÃГ9Ãàü.Ã!2ÃÀ–2Àú1Ãðv6ÃÀõ7ÃÀœ1ä1ðÚ5À}1À}1ði3Àƒ0ó9ÃP==Ãà+<Ãp27à o6Ãf1ðì2ÃÝ2Ã@Ï3ÃЫ5ç;ðE9ÃÐ44ÃàÒ5Ãз3Ã@É4ÃÀx7ÃÀ„5Ãï/ð3ÃÀ„5ðE9Ã7ð]5Ãð‚4Ã@±8Þ2Ã` 7Ã@í.Ã@R3à9Ãë:ÃpÇ3Ã0´1à 6à à8à06ÃÐF1ÃPÞ7Ãðç8àB3Ãl0ÃPð4Ãб4à þ3ðÔ6Ãàä2àÑ0ÃÀ%0À_6ÃÐL0ðò1à•:à•:ÃÐ"7ÀÄ:Ã’8Ã06ðW6ÃÐ.5Ã@L4ÃÀf:Ãðv6ÃpP2Ã@ç/Ãð2ÃE0ÃÐ:Ã@É4ÃÀx7Ãàä2À§*Ã@ç/Ãý7ÃpD4Ø3Ãp¯7ÃÐ@2àB3ÃàÞ3Ãð2ÃÀ2Ãp»5ÃàÌ6Ãð1Ãï/Ãr/Ã@«9ÃàU5Ãðp7ÃÐÉ0Ãà[4à ò5ÃÀ®.ÃðA*ð/ð{0Ã=ÃH6Ãàs0Ã`¸/ö2Ã@j/Ãz8ÃP…1Ã07Ãp¯7Ã`4Ã@ç/ÃÀ%0ÃÀŠ4Ãð/-Ãð /À,Ãà-ÃpV1Ãp\0à65ðì2À.Ã×3Ãph.ÃП7Ã`²0ÃÀx7ÃГ9Ãð 3Ã@ˆ*ÀÜ6Ã0–6ÃP…1Ãp,8ÃpP2Ãð”1àÅ2à 3à*7Ã4Ãà‹,à u5ÃPê5Ã`)2Ãð2ð‡.À‰/ÃÐ9ÃÀŠ4Ã0 8Ã05àé,Ãб4ÃÎ.Ãph.à$8Àe5Ã0À/Ã`#3ÃN5À•-Ãã1Ã`50Ã0´1ÃÎ.Ã0¢4Ã3ðu1à /Ã071Ãp27ÃÝ2àã-ÃÂ0ðø0Ã0Ò,Ã0¨3ÃÀ 4Ãб4ÃPa7Ãàð0Ãð).Ãðš0Ãðv6ðu1àB3à 3àl,ÃpÙ0Ãð#/Ãx.Ã0®2Ãàü.Ãàü.ÃÐÉ0Ãð#/ÃÐL0Ã`50Ã`/1ÃÀ2ö.Ã@^1ÃÀ3ÃP/ÃP…1Ã@R3ÃpÇ3à ½)ÃP/Ã`¾.ê0ÃÐj+ÃK/àf-àû)Ãp\0ÃP…1ÃP©+ÃP0Ã@‚+Ãpå.àT0Ãð).Ã@p.à {4Ã0C/Ã@p.ÃÀº,Ã`4Ãðš0ðø0Þ2ÃP&,Ãph.ÃZ3Ãã1à 3àN1ÃÈ+ÃÀÌ)Ã3/Ãð#/ÃðŽ2ð/ÃÈ+ÃPð4ÃP2Ã8ÃPs4Àú1À‰/ÃP2Ãz8à65À}1Àè4ÃÅ6à 3Ãp86ÃpD4ð?:ÃpÁ4ð¼:Ã`š4Ã4ÃÀû6Ã@:7à;Ã` 7ÃЇ;Ã`v:Ã`5Ã`ÿ8ðø0à {4Ãà=9ÃPð4Ã0C/Ø3àN1Ã@á0Æ6Àè4Ãpå.à¿3à “0à65Ã@L4Ã’4ÃpJ3ÃðÕ;ÀG:Ãðp7Ãð|5ÃП7Ã`5ÃðX;ù8ÃPg6ÃB7Ãp=ÃÐò>Û=Ãt9ÃPa7Ã!6ÃJ@ÃÐ¥6Ãðv6àB3ðQ7ÃPa7Ã`j<Ã÷8ÃÐ¥6Þ6ÃÀf:Ãðç8ÃÐì?ÃT4Ã@™<Ãà7:ÃðX;ÃÀ–2Ã`Ä-ó9ÃpJ3Ãà–?Ãp?à<4Ãðó6Ãà®;ÃN5ÃpD4Ãð‚4ÃË5Ãp—;ÃàÒ5à W:ÃЫ5ÀS8ÃÐ{=Ã@F5à Î;à Ú9Ãðp7Ã69À;Ã0ï<Ã`‚8Àâ5Ã69ÃPI;Ãà=9ä5Ãp,8ÃðÉ=à ?>Ã0f>ÃÐ<ÃÓBÃ`Õ?à W:Ãà7:À¬>à65Ã@™<Ã@oCÃDAÃÀB@ÃÙAÃÀÅ?Ã`ˆ7à›9à 'BÃp‘<à;Ã7ð°<ÃÐ{=Ãp—;ÃðÉ=ÃðÏ<Ã0 8ÃÀÑ=à‰<à=Ã@ ?à K<à @à -AÃÙAÃÁAà <Ãp…>Ã@ ?Ãpü?Ãð^:Ãà+<àô?À;ÃÐQDÃÀ0CàèAÃÀÅ?ÃÁAÃ`^>Ãb@ÃÀÝ;à <Ãp,8Ãà1;Ã`í;ÃÀB@ÀšAà ?>ÃÐì?ð¶;Ã0r<Ãp—;Ã0û:Ãb<ÃðR<ÃðX;Ã?ðž?ÃPI;ÃÀÝ;ÃÀr8Ãë:Ã0Š8Ã@uBÃp;À¦?Àk4Ã`:DÃð@?Ãß@Ãp:Ã@¥:ÃÐø=Ãå;ÃÀï8Ãå;ó9Ãå;à;à ]9ÃBÃ0x;ÀY7ÃðX;ð]5ÀÖ7Ãz<Õ>Ã`ç<Ãý7Àú1Ãp;Ã$<Ã`ù9ðª=ð¼:Ã0õ;ÃV>ÃPU9Ã@L4Ã*;ÃPØ8Ã7ÃÐ<ÃÀl9Æ6ÃÐò>àƒ=ÃÀl9à Ô:ÀÐ8Þ6à ì6Ã0:à c8Ãp,8à§7à‰<à}>Ã0ã>Ãp86Ã`^>ÃÐ<À¦?ÀG:Ãðá9Ã`á=ÃP+@Ø7à;ÃPØ8Ãà%=ÃÀN>Ãý;Ø7ÃàI7ÃàI7Ã`ù9Ã`j<à ?>ÃÀé9ÃÀ5Ãp :Ãðç8ÃPs4à ì6à¹4à ?>Ã=Ãà%=Ãp>Æ:Ã0œ5à ?>ÀS8ÃàÀ8Ãp :Ãðç8Ãðv6à Ú9À¸<ÃAÃP==à;ÃDAÃ`^>ÃÀN>Ã`±EÀAð@ÃðL=Ã`í;ÃÙ=Ãà?ÃÐ]BÃÓ>ÃЇ;ÃÀH?ÃЙ8àâBàkAÆ:Ãh;Ãý;Ã@uBÃpy@Ã@cEÃ`í;à:ÃÐàAà E=Ã0¢4ÃÐ¥6ÃPU9Ã0é=ÃÀ3à 3ð¼:ÃÐò>Ãp&9ÃÀï8ÃÀZ<Ãà+<Àe5Ã09Ã0`?À5=Ãà AÃp :Ãp;Ã@™<ÀÜ6à È<ÃÙ=Ã`‚8Ãà=9à ]9ð-=ÃÐ ;ðÚ5Ã5Ãðv6Ãp‘<Ã0:Ã’8à65ðÈ8ÃÐWCÀG:Ã@(:Ã@«9Ãàº9ÃÀT=ÃðX;Ã@<Ãp‘<Ã`Û>à DÃ@Ÿ;Ãà¢=ÃZ3ðW6à K<à•:Ã@Ÿ;ÀG:à :à W:ÃàÆ7ÀÖ7ð?:Ãðj8Ã9Ã0„9Ã0¨3Þ2í:Ã`á=ÃPä6Ã0–6Ãà7:Ã`p;ðÚ5Ãà1;ÃàÆ7Ã’4ÃðÏ<à Ô:Ã@“=ÃÀr8ðo2Ãð^:Ã@>ðÂ9à 1ÃÀ6ÃÐ:Ã0x;ÃÀ„5à:ÃÀl9Ã@á0Ãt9Ã33à u5à 0ÃPg6à¿3ÃPI;Ãß<Ã7ÃÐ9ð]5ÃÀ~6àƒ=ÃÀ6Ã@F5à à8Ãðp7À;<ÃÀl9Ã`8Ã0–6ÃÀ 4ði3Ãn:ÃH6Ã06Ãðÿ4ÃÀ~6Ã<8ÃPg6Ã`6Ã`5Ãàa3À¾;Ãp,8ä5Ã0é=Ã@±8ÃPö3Ã0´1ÃàÞ3Ø3ÃÐ¥6Ã’8à¹4Ã9Ãðù5ÃðÏ<Ãp:Ã`4àH2ÿ7à þ3Àƒ0Ãð”1ÃPO:àH2ðò1ÃÀ–2Ãðç8Ã@R3Ã0Æ.ÃðÕ;Ãl0ÃÀ1.Ãð|5Ãà7:ÃÀŠ4ö.À›,Ã0¢4Ã0:ÃPU9Ã05ä5Æ6ÃPO:À_6Ãõ.Ãà)ÃÐ"7Ã0¢4Ã@ù,Ã4Ã0–6ÃH6à ø4Ãð2Ãð|5ÃÀŠ4ð{0Ãp\0ê4Ã07ðæ3ÃÂ0Ãà1;à 6Ã7ÃPü2ÃÐL0ÃP‹0ÃÐÃ1ÀÜ6ðK8ÃÀœ1Ãt9ðo2Ãï/Ã05Ã`¸/ÃpD4Ã@48Ã@Ã5Ã’4ÃPð4Ãà[4ðò1ÃÀ¢0Ã@p.Ã0=0Àk4Àâ5Ã'5Ã@L4ÃT4Àî3Ã@d0Ã0–6Ãp86à¹4à o6Ãp86Ãн2à¹4àT0Ã33ÃÐ@2ÃH6ÃE0Ãàs0À0à¹4ðÎ7ÃN5À}1Ã92Ã`/1Ã33ÃP0ð/ÃÐ:3Ãñ9Ãý7ÃÐ@2ÃPs4ð-Ã~-Ã'1ÃàÞ3ÃÐ44Ã071ÃÐ8ä5ÃPU9ðE9ÃE,ÃÀ 4à {4Ã3Ãt9à<4Ãp27Ã0%4Ãðˆ3ÃàØ4ÃE0ÃÀ6Ã05À7àË1ÀÖ7ÃÝ2ÃË5ÃàU5ð¶;Ãpµ6ÃŒ9Ãðí7ÃpV1ÃðŽ2Ã`”5ÃN5Ãàa3à K<à•:Ãð2ÃÀ3Æ6Ãðˆ3à u5ÃÐ8Ãà®;ÃàÆ7Ã!2ðæ3à¿3ÃÀ6ÃZ3ðò1Ãpb/Àq3Ãð).ÃÀ1.ð/ÃPê5Ãð /àH2Ãã1ÃÅ6Ãà7:Ã`A.Ã@^1ÃàC8ÃP2Ãàº9Ã92Ã`5ÃàÒ5ði3Ãàä2Ã`8à u5ð]5ÃPÆ;Ã0=0ÃЫ5à o6àN1à K<Ã5Ã@Ï3À}1ðo2Ãð‚4Ãðˆ3ö2Ãð|5ÃPÆ;Ã@Ã5Ã`2ÃZ3Ã@Ï3Ã-4Ã8ÃÀ6ÃàØ4Ãð|5Ã0~:à 3ÃZ3ÃÑ4Ã’4ü1à06à Ú9ÃPI;ÃÀõ7Ã`)2ÃÐ@2ÃÀ~6Ã0%4ÃE0ÃÀ7-ü1ð?:ðÂ9ÃÀr8ù8à¡8Ã06ÃÀ„5Ãàa3à 3ÃÀ3ðÚ5ÃZ3Àè4Ãp»5Àú1àN1à 3ÃÐÕ.Ã@R3Ã92ü1ðÚ5Ã@F5Ã-4ÃÐR/ÃPð4ÃÀ1ÃÀ1Ãx.ÃÀ=,ÃÐ¥6ÃPU9Ãp©8Ã’8Ã@R3ði3ÃpÁ4Ã@.9Ãн2ÃÀ6Ãà1;Àô2Ã0À/Ãàê1ð/à 2ÃB7Ã07ÃÐ:3Ã'5ÃT4ÃN5ÃŒ5Ãð”1Ãð0Ãн2ÃPa7à§7Àâ5ð]5Ãð /ÃàÞ3à ‡2ÃpJ3Ã0œ5ði3ÃàU5Ã`”5Ã`ÿ8ÃÀÀ+Ã012Ã`š4ð]5ÃðŽ2ÃP-Ã0¢4ðà4Ãð¬-ÃP‹0ðÚ5Ãp÷+à “0Ã@^1ÃÐÏ/Ã-0àÑ0ÃÀI*ÃÀ%0Ã09Ã~-ÃpÓ1ÃÀ5ÃÐÉ0Þ2ÃÐÃ1Ãõ.ð/Ã`50ðc4ä1ÃÐÃ1Ãð 3ä1Ã0%4Ã`)2Ãà.Ãàs0ÃÐÃ1ÃÂ0ÃàC8Ãð#/Ãð;+ÃÀœ1ÃP2Ãàa3Ãð2Ãpå.Ãà+Ã’4ÃÀ~6ÃpÇ3ÃÀ¢0Ã0=0Ã'5Ã`8ð/À1ÃpÇ3Ãàä2à ì6Ãб4ÃZ3Ã`Ž6à ·*ö2Ã'1Ãl0à 3Ãðp7ù8Ã`¦2Ã`6ÃÚ(Ã@=ÃÐ8Ä,à65Ã@ó-Àú1Ã0¢4à<4à ™/ÃÐç+ÃÎ.Ãðí7Ãðp7Ãð¦.ÃÀ„5Ã0:ÃÀ¢0Ãð²,Ãà.Ãð”1Ãpµ6Ã0Æ.ÃÀ5Àî3Ãð^:à æ7Ã92Àî3ÃT4à 6Ãðš0Ã@v-àH2Ãðˆ3Ã'5à<4ê4à65ÃpÓ1Ø3Ã×3à i7ÃPä6Ã$<Ã@Û1ÃH6Ãðš0Ãàê1ð‡.Ãàa3Ãf1ÃP…1Ãàö/ÃpÓ1ðþ/À•-àN1Ã×3ð{0ÃÀ„5Ã`6Ãð‚4Ã-4Ã@ó-Ã071Àq3à ì6à›9ÀÊ9Ã`6Ø3à 3ÃPü2Ã` 3Ãàm1Þ2ÃðŽ2Ã7Ãб4Ã@í.ö2ðø0Ã`¬1à ™/Ã0¢4Ã@É4Ãð0àË1Àè4ÃàÒ5Ã],Ãð¦.à§7Ã0+3à65Ãð 3Ãf1Ãé0à “0à•:àT0Ã`¾.ÃÀ1Ã` 7Ã!2àÑ0ÃÀ„5Ã`4àB3Ãàð0Ã0œ5Ã0%4Ã`2ÃÀœ1Ã`6Ã@L4ÃPä6Ã-0ê0Ã0Ì-ÃZ3Ã`2àH2ö.Ãàü.Ã@ó-Ã-0ÃÈ/À0ð/ÃÀ3ÃpJ3ðc4ÃPÒ9Ãà-ð/ÃÀ„5ÃPm5Ãàg2Ãàê1Ãб4ÃŒ5Ã@R3ÃPö3à 1ÃÀ1ÃP2Àƒ0à ø4ð{0Ã@ó-ÃÀÀ+ÃpP2ÃÝ2ÃÐ.5Ãpñ,Ã`¦2Ãð”1ÃàØ4àT0Ãà-ÃQ.Ãà[4ÃÐÏ/ÃpÁ4ÃÐ:3ÃÀ„5ð{0Ã@á0Ã`š4ÃÀ1Ã071Ã!6à ".ÃP -ê4Ã3/ÃT4ÃÐ"7Àô2Ã33Ã],Ã`)2Ãðˆ3Ã0„9ä1Ã@Û1Ãpå.À1À7Ãð¸+ÃW-àé,Ãx.ö.ÃK/ðþ/Ãàg2Ã’4ÃÀ´-ÃPØ8ðQ7Ãðí7ÃPð4Ãp86Ã0À/ÃP£,ÃÔ-Ã3Ãp>5ÃPg6Ãð /Ã`2ðÔ6ÃÐç+Ãð‚4Ãàg2ÃPy3Ã0+3Ã0À/àé,Ã@48ÃÐ44Ãð”1Ã071Ã`ô%à 1ÃÀ~6ÃÎ*ö.Ãð0Ã`;/ÃÐá,Ãp÷+Ã`2Ãð¦.Ã` 3à ™/Ãð¬-Ã@j/Ãð2ÃP -Ã@ˆ*Ãðš0ÃÀ–2ÃpÍ2à “0ði3Ãï/Ãà‹,ÃÐÉ0Ãpt,ÃÀÀ+Ã`¸/ÃP¯*ÃK+Ã3Àî3Ã0=0ÃÎ.Ãà+à (-Ã?-Ãàä2Ãày/Ã0O-ÃÑ4Àâ5Ãð).Ãà…-Ø7à Û$Ã0®2ÃPy3Ã`2ð,ð()Ãð).àÝ.Ãð1Ã?1à06À_6ÃÀ+/Ã@‚+Ã0I.ðu1Ãày/Ãpë-Ã`²0ÃÀ3ÃÐÏ/Ãð0Ãã1Àè4à×/àû)ÃÀ¨/ü1Ãðù5ÃP‘/Ã`/1ÃP/ÃK/ü-Ãé0Ã9.Ãб4ÃPs4Ãpß/Ã@á0à–%ä1Ã`š4àã-ÃÀ¨/Ãàð0Ã'5ê0à .,ÃÐ^-Ã?1ÃÐí*Ãà—*ÃÀ®.À¡+Ãà…-Ã@^1ÃðÖ&ÃÐÏ/Ãà—*ÃP.ÃpŒ(Ã@‚+Ã0I.Ãc+à 1ð,Ã0U,ÃP -Ãàð0Ãð¸+Ã`Ê,Ã@j/ÃÂ0ÃàU5ð‡.à ¥-Ã9.Ã-Ãà—*ÃÐv)ÃP&,Ãé0ÃÐç+Ã],à 4+Ã@v-Ã@p.Ãðó6ðì2Ã0®2ÃPü2Ãpñ,ÃÀÆ*Ã@Õ2àN1ÃÈ+ÃÚ,Ã@ÿ+Ãc+ÃÐ^-ÃÂ,Ã@Ž)ÃÐX.ÃÐí*Ãx.ÃP0Ã@X2ð+Ãð1ÃðÄ)Ãà)Ãà…-Ã0%ð,ÃÐÕ.ÃW-Ã`Ê,Ãðš0Ãà&(è&Ã`Ö*Ãð¸+ÃÐv)ÃÀ®.Ãà-ð .Ãðè#Ãpz+àl,Ãð0À›,Ã` 3Ã0=0Ãp )Ã@d0ÃÐR/ÃÀ+/à`.Ã`G-ÃÐ^-ÃÀÆ*àN1ÃÐç+Ãà.Ã`;/Þ6ÃÎ*ÃÐ|(Ã@”(à~)à ¥-à Ÿ.ÃÐÉ0Ã`Ê,Ã`G-Ãàð0Ãà-ÃÎ*À-ÃÂ,ÃÀ®.Ãà…-Ã0Æ.à :*À-Ão)ÃÀ´-Ãi*Ã@+Ãæ&Ãà*à ‡2ÃP©+à~)ÃÀ2ðþ/ÃÐÕ.Ãð#/ð,ÃP -Ãi*Ãpz+à :*ÃÐj+ÃPD'Ãph.À /À¹'Ã)À0)àl,Ãp’'Ã@í.ÃP-Ã@”(Ã(ÃÐd,àf-Ã0Þ*ÃÐp*ÃÐó)ÃÐ@2Ãà )Ã*ÃÐj+ÃÐF1ä5Ãpz+ÃÀI*ð/Ã012Ãð#/ð‡.À.Ãà‘+Ã0U,ÃÐv)ð“,Ãà‹,Ã`/1Ãpn-Ãн2À,ÃðÐ'Ê+À,Ãð 3ÃP-ÃP8)Ã`è'Ã@|,Ä,ÃÐÏ/À‰/ÃàO6Ã0Þ*Ãà‹,ÃÐ:3ÃÀ´-à /àl,Ã{'à×/ÃðÖ&À}1Ã@ˆ*ÃðÊ(Ê+Ãpt,ÃP—.Ã@(ÃÐÏ/Ã@ÿ+Ã0O-ÃP©+àl,ð-ÃÐR/À›,ÃP.Ãð /Ã@:7Ãp86à “0À-Ã@(ÃðG)ü1Ãà.Ãàê1ÃÐ:3Ã-ÃP,+ÃpÓ1Ã0I.À§*Ã0ö&Ãð/-À§*ðø0Ã3/ð/àf-ÃÂ,Ãx.ÃPÁ'Ã071ÃW)ÃðM(Ãàü.ð,Ãðš0àx*ÃÀœ1ÃðÊ(Ãpz+Àƒ0ÃP.Ã0~:ÃP-Ø3ÃÐF1Ãû-à ".àx*Ã@Ž)Àô2ÀõÃPñà ‡2ÃÝ2ê0ÃЫ5àl,Ãð5,Ãà‹,ÃÐ^-ÃÐá,Ã0U,ðì2ÃP&,Ãpý*ÃÚ,ÃP‘/Ãà©'à /Ãàä2Ãà'Ã@(Ãp'è&àã-ðò1ÃP-Ãpz+ÃP¯*À¹'Ã0O-ÃÎ.Ãõ.ÃP2*à «,Ão)ÃPü2Ãð¾*Ã0Æ.à ¥-ä1ð™+Ãð/-ü1Ã@+â'ÃP2*ÃÐp*Ãpz+Ã3/Ã@L4Ãð1ÃÀ+/ÃPµ)ÃÐL0ðo2à “0àx*Ã0Ò,À­)àï+ðæ3ð{0Ãðó6Ã`;/à ‡2ÃÀ1.Ã`S+ÃÀ´-Ã@ÿ+ÃÚ(ÃÐç+ÃÀ®.Ãàü.Ã0À/Ã@d0Ã`2Ãð”1ÃÂ,Ã@^1Ãé0Ã@‚+ÃÐÉ0ÃÐp*ÃW)ÃE,Ãðš0Ã0Š8Þ2à`.ÃÈ+Ãð4ÃàØ4ðø0Ã?1À›,À,Ãpn-ð™+Ã-4Ã@í.Ã071Ãà,Ã`¸/Ãph.Ã`Ê,Ã?1Ãàä2ä1ÃpJ3à 1ÃÐX.à 3Ã0º0ÃpÙ0à×/ÃÂ0Ãð¸+Ã!2Ãð).ÃÐÛ-Ã*ÃpÙ0Ãð²,Ãp3"à~)Ãõ.ÃP0Ãà.Ã@ó-Ã`Ð+àé,ÃÝ2Ã4ÃÐá,ÃÀ1ði3Ãph.À**ÃÚ(ÃÐv)Ãpt,Ãû-ÃÐÃ1à ™/Ãpn-ÃÐÏ/ÃÐ^-ÃЫ5À1ÃÀÌ)ÃP&,Ã0º0Ã`A.Ã3/Ãð²,Ãf1àÝ.Ã0[+ÃPµ)Ã@í.ÃÐj+Ãpý*Ão)Ãà‹,Ãà.Ãpå.à 1ÃÐÕ.Ão)ÃÐÿ'ÃÐ^-Ãð;+à Ÿ.ðø0àõ*ÃW)ÃÀI*ÃÀI*ÃP8)ÃÂ,ÃÐ^-Ã0O-Ã(Ã-àÝ.ÃpÓ1à 0à Ã(Ãð¾*Ã@^1Ãý7ÃÀ5ÃÐÏ/Ãð#/ÃPê5Ã071à„(Ãà+à ¥-ÃÐ^-à ±+Ã3Àq3ÃK/à ¥-Ãз3Ãph.Ã@ÿ+Ã`M,ÃðŽ2Ã`¾.Ãû-Ãp\0Ãpt,Ã@j/Ãàö/ð-àN1à<4ÃpÇ3ÀÖ7ðQ7à ø4ÃÀ6Ã0À/Ãp\0ÃÐ:3Ãàü.Ãp÷+ð()ÀS8Àk4Ã`p;ÃЫ5Ã-0Ãl0à¹4Àƒ0Ãàa3Ãà=9à ‡2à:Ã@L4ÃPm5ðø0Ãàa3ÃPä6Ãð‚4Ã`š4Ãð4Ã09ÃT4ÃP…1Ã5Ãl0Ã5ðÎ7Ã0¨3Ã69ÃPg6ÃàÌ6ÃÐ ;ÃPg6Ãpµ6ÃÐ"7ÃPm5Ã@Ï3Ã@«9Ã33Ã@Û1ði3ÃàÌ6Ã09Ãp>5Ãã1Ã3/Ã@Ï3Ã'5Ã0 8ÀÖ7Ã`2ÃÀ3à›9Ãðù5Ãp©8ÃPÒ9Ã0+3Ã@½6Ãn:Ãðˆ3ÃÀ1Ãðí7ÃB7Ãð2Ã`š4À_6à þ3Ãàg2ÃÐ"7Ã07ðE9ÃÀ 4Ã0r<Ã0:à 3ÃðŽ2Ã@Ã5à³5à o6à i7Ãx.Ã`š4ð]5Ø3Æ6à à8ê4Ã`#3ÃPä6ÃÀË>ÃPÌ:ÃГ9ðQ7Ã0œ5ði3Ã`”5ÃÀÅ?ðK8Ã09àT0ÃP[8ð9;Ã@F5Ã3Ã`¦2à c8ÃÀ6Ã5ÃЫ5Ãp£9ð¼:Ã0 8Ãðù5Ã0r<Ã@É4ÃàU5à•:à ?>Ãt=ÃpÇ3ð?:Ã@^1Ã`5Àè4Ãз3ÃàÞ3à ]9ð¼:à ø4Ãðd9Àe5ÿ7Ãl0Ã`”5ÃPä6Ãt9Ã`/1ÃÀé9ÃpÁ4Ã`”5Ã-4Ãàä2ÃÐ<à æ7à c8Ãz8Ã`4Ãðd9ðQ7ÃàC8à*7Ã0é=Ø7ÀM9Ã0:Ãðí7ÿ7Ãàœ>à c8Ãðí7Ã’8ÃÐ"7à¡8Ã`p;Ã@@6Ã05à 'BÃŒ5Û=À_6ä5Ã<8Ãðá9À5=ÃÅ6Ãà=9à i7Ã`|9ð-=Ãàº9Ã0´1ÃN5Ã` 3Ãp‘<ÃB7ÃÐ.5Ã`‚8Ã`í;ð?:Æ:Ã7ÃPÌ:Ãp£9Ã09à¡8ÃÐ9à›9ÃÐ¥6ÃP[8ó9Ãðj8À/>ÀÜ6à¡8Ãp?à­6ÃpÍ2ÃpÙ0ÃPð4Ãðp7Ãñ9ÃŒ9Ã@¥:ðÈ8Ãз3Ã0:ÃP[8Ã`ˆ7ÀÜ6Ãðç8Ã0r<ÀA;Ã0„9Ãð 3ÃN5ÃpÇ3à<4ðc4ÃPö3Ã`8ÃðX;ÃÀ3Ã06Ã÷8à ò5ðo2Ã'1Ãb<à$8Ãð 3Ã÷<à Â=Ãp=Ã`ˆ7Ãpµ6ÃP7>À)?ÃpJ3Ã`6ÃT4à•:À7ÃpJ3à 3à*7ÃÍ?à 9?ÃÀN>ðc4Ã@F5Ãð”1Ã@F5ð/Ã3Ãз3ÃN5ÃЙ8ÃàÆ7Ã×3Àî3à 6Ã` 3Ã`¸/ÃàÒ5à 6à ]9Ã@:7Ãpµ6Ãï/à “0Ã3ÃàÆ7ê4ÃÐL0Ãð0Ãð /Ãp :Ãð·@ÀG:ÃPy3ði3ÃË5ÃÐ44ÃП7Àƒ0Ã@@6ÃŒ5ð3ÃË5ÃPÌ:Ãð/-Ãt9à›9Ãð|5ÃPÞ7Ã0´1à ‡2Ã@L4ÃÑ4ÃpÁ4Ãpå.ðQ7ÃÙ=Ã÷8ÃÐ.5ä5ÃP‹0ÃÐ(6Ãpµ6ÃP0Ãн2ÃÀ3Ã-4à 0ÃÀx7Ãf1ÃÅ6Ã0®2Ãб4ê0ÃpP2ÃàU5Ã’4ÃPê5ÃPö3à9Ã`Ž6ði3Ãã1À1ÃT4Ã`í;Ã~-ðì2Ãðù5ÃÀ–2ð]5Ã7Àè4Ã@·7À_6Ãð4ÃPä6à “0Ãð2ÃðÕ;à³5Ã0¨3ÃÀ%0àN1ÃàØ4ê4ÃÅ6Ã0C/Ã`2ÃÐÏ/Ãày/ðþ/Ãð0à 2àl,Àk4ÃÐÃ1ÃpÙ0ðò1à¡8à 2À1Ã@p.À1Ã0O-Ãpn-à à8Ã`2Ã@Û1Ãн2ÃpJ3Ã0®2ÃÐ44ÃP.ÃÐL0ÃÐL0Ã@v-ÃPö3Ã0®2à æ7ÃÐ:3ÃP…1Ã`²0ÃŒ5àË1Ã0[+Ã`G-àN1àÑ0ÃÀ6ÃÐÏ/Ã33àZ/Ãà&(ÃK/àã-ÃP…1Ã`²0ÃK/ÃPê5Àú1Ãõ.ÃÐÿ'Ã0º0Ã@p.Ã*Ã0C/Ãph.Ã@ç/Ãà…-Ã@ó-ð/Ã0+3ðø0Ãð /À0À0ÃP/Ä,ðø0Ã@p.Ã-4ÃÀ%0Ãàö/ÃÀ 4Ãð2ÃðÄ)Ã`)2ÃÐç+Ã`50à 3ÃÅ6ÃÐÉ0Ãx.Ã`A.ð/ÃP -Ã,ð-àN1à +Ãà‘+à 2à ‡2ÃÐÏ/à¹4Ãp>5à “0Ã0Æ.ð/Ã`2ðu1àÑ0Ãû-Ã?-Ã3/à .,à /Ãàü.ÃÐ(6Àq3Ã9.Ã0C/Ãx.à„(Ãð²,ÃpP2à<4ð¥)Ãõ.À‰/ÃPð4Ãз3Ã@(Ã@|,ÃP.ÃpÙ0à 3Ãð#/Ã0Æ.Ã?1Ãû-Ãð#/ðø0à ".Ã@+Ã,ÃpV1à×/Ã0º0Ã@v-ð/Ãð¦.ÃPg6Ã!6ðc4Ãpß/ÃÀ´-Ã@|,Ã~-Ãàö/Àô2Ã@ó-ð‡.àÅ2Ã`”5àl,Ã@.9Ãз3Ã0À/ÃP,+Ã?1à 1àH2Ãpn-À‰/Ã`Ð+ÃP-ü-ð.(Ã!2Ãàg2à¿3ÃÂ0Ã4ÃpÍ2Ã0º0Ãб4ÃpP2ÃÂ,à ¥-ÃÐF1Ã`”5ÃÐÕ.Ã`²0Ã@í.Ã`;/àÑ0Ã!2à /Ãpb/ð‡.ÃP2Þ2Ã`S+à u5Àƒ0à Ÿ.ÃÝ2Ãf1Þ6àË1ÃK/ÃÀ+/Ãf1àZ/à Ÿ.à 3Ã`¾.Ã012ÃÀ®.Ãpß/ÃÀÆ*ðø0ÃÐF1àl,Ãà,Àw2ð{0ð/Ã`²0Ã`¦2Ãõ.Ã`6ÃP—.Ãpn-Ãpë-Ã33Ãð).â'Ãàü.Ã`Ž6Àô2ðQ7Ã@@6Ãà‹,Ã0¢4à*7à¹4À_6Ã0Ì-À**Ãr/ê0ði3Ãàa3à «,Ãr/Ã`Ê,Ã@d0Ãð¦.ÃP,+ÃÀ®.àl,Ã@á0ÃÐX.à /Ã@Û1Ãз3Ãpb/à×/ÃÎ*à ".ÃÐÃ1ÃÀ®.À•-Ö)Ã`Ê,ÃP‹0ðu1Ø3Ãð0Ãpå.Ã@+ÃP1Ã0O-À›,Ã071ÃÐd,Ãp>5ÃPy3à ¥-Ã@|,Ãà+ð/ÃÀ3Ãðš0ðu1Ã5ðì2Ã×3Ã?-ÃÀÆ*ÃP©+ðæ3Ã`Ä-Ã@ù,Ãpñ,ðì2ÃE,À}1Ã0+3Ãx.ÃP2Ãðó6ÃPÞ7ÃÀ 4Ã`e(À /ÃpÓ1ð{0ÃÀÆ*Ã0[+Ã0¢4Ãpë-Ã0C/à É'Ãð0Ã071Ã0ö&ÃP…1ÃÚ,Ã0+3Ãàa3Ãð¬-Ã0U,Ãà)ÃPö3Ã07ÃÝ2À0ÃpJ3Ã071ÃP0ÀË$Ãpz+ÃÐá,Þ2Ãà=9ÃÀ®.Ã`¸/Ãð0ÃÐX.ÃÐ^-ÃÀC+Ã33Ãph.Ã0º0Ã@|,ÃÀ–2ÃÐÉ0à ½)ðà4Ã`A.Ã@(ð‡.Àq3Ã@v-Ã0U,Ã012à ¥-À•-ÃÐÃ1àé,ðL#ð"*ÃÀ1ð“,ü-ð .à :*Ã`A.Ãày/Ãðÿ4ÃpÍ2Ã`Ê,ÃP-Ã#Ãà‘+À•-à .,à :*Ã0®2Ãàä2Ãз3ÃÀœ1ÃpÁ4À.Ã0U,Ãð‚4ÃàÒ5àï+ðŸ*Ã)Ãà‹,Ã`G-ÃÐ¥6Ã@^1à “0À•-À$+Ü(Ãà‹,Ã×3Ãàg2ÃÀ 4ðÚ5ð‡.ÃÐá,Ã@”(Ãð;+ÃÀ®.ÃÈ+Ãpë-Ã`Ä-ÃÂ,Ã'1ð+Ã`Ö*Ãн2à “0Ãr/Ã'1à³5Ãp&9Ã09à ·*Ã0O-àZ/ÃÚ(ÃÐù(ÃÀC+Ö)àÑ0Ã0C/Ãà—*à 1Ãà.ð-à «,Ã4àB3ÃpÓ1Ãà—*Ãp*à «,ÃÐÏ/à 1ð‡.ð{0Ã0À/ÃPg6Ã07Ã0I.ð/Ãðš0ÃP©+Ãpñ,Ãð /Ã@ù,ÃÑ4Ãpë-ÃÀ%0ÃÔ-ÃÈ/Ãpb/Ãpb/ÃW-Ãàö/Ãð /ðþ/Ãб4ÃÐR/Ãð).Ã0[+Ã@L4ÃðÄ)ö2Ãpn-Ãàa3Ã` 3àf-Ã0%ÃPµ)Ã@d0à Ÿ.Ãr/Ã'1Ã012ê4ÃÀ+/Ãà.à 4+ÃÐF1Ãàm1Ãðš0Ãr/ð{0ÃÚ(Ãì)ÃÐá,Ã'5Ã@j/Ã`2Ã-0ÃH6ðo2ÃpÇ3àË1Ãp\0Ã0À/ÃÀ+/ÃPs4ÃÀ¨/ÃQ.ÃpP2Ã`#3àË1Ãðš0Ã`2Ãð1Ãï/Þ6Ã'1ÃP2àû)ÃPÁ'Ã],Ã06Ãðp7Ã33Ãp86Ã!6à*7Ãð0ÃÀx7Ã-ÃpV1Ãð¦.Ã-Þ2ÃpP2ÃÐL0Àe5àË1àT0ÃÐÛ-ÃÀÆ*Ã’4ä5Ã`50ÃPö3Ã@ù,Ã?1ÃÀ+/Ã0Ò,Ã`Ž6ÃP‹0Ãð4ÃÐ44à ".ÃÀ%0àB3Ãpå.Æ6Ãàs0ÃpÙ0ðþ/ÃÐX.à “0ÃÐ:3ðà4Ã@É4Àú1Ã0Æ.ÃpP2Ãðp7à ø4Ã`¸/à ™/ÃPð4ÃÐ:3ü1Ãð¬-à u5Ã`5à ™/Ãp\0ÃÀr8ÃÐÃ1Ã06à 3ðK8ÀÖ7ÃÀ–2ÃÐ.5ÃZ3ÃPI;ÃÀx7à³5Ã-0Ãðó6Ã` 3ÃH6ðo2ÃP2à o6à65ÃÀ5Ã'5Ã8Ãå;Ã4à*7Ã@(:ÀY7Ãà[4à³5Ã0´1Àk4Ã0+3à à8ÃPm5Ã69ÃàI7ÃP…1ÃЙ8ÃÐ8Ã`|9Ã7à³5à W:ÃQ.ÃPs4Ã@F5ÃP…1ðÔ6Ãë:À¾;Ã`²0Ã@48Àe5ÃÝ2ÃÐ@2À}1ÃÀ6ÃÐ:ðÈ8ðQ7ÃÐ¥6Ã@½6ÃP?Ã@±8ÃàC8Ãà?Ãz8Ã@@6ÃÐþ<Ã0 8Ã07ðÈ8ÀS8ðø0ÃÐ<Ãðv6Ã`š4ð]5ÃŒ5ðà4Ã`4Ãðj8Ø7à c8ÃÑ4Ãp©8Ãà+<ÃàI7à Ô:Ã@48Ã÷8Ã` 7Ã`2Ø7Ãpß/ç;Ãh;Ã0´1Ã0¨3Ã`ó:ÃÐ"7ÃÐ<Ãà%=Ã`‚8Ãà[4à 2à¡8ÃÐF1Ã@Ï3ÃàI7Ã`ÿ8Ãðp7ÃÀœ1ÃÑ4ÃP[8Ãp£9Æ6ÃÀé9Ã06Ã@@6Ãð‚4ê4ÃàÒ5ÃÈ/à 6ÃpÓ1à$8Ã0+3ÃÐ:3Ø3à 3Ã$<ÃN5À.Ã@j/Ã`ÿ8à¿3Ã-4ÃpD4ÃP©+ÃÐ@2ÃW-ÃPð4Ã8Ã0œ5Ã@v-ÃÐ@2Ã’4À1Ã3/Ãðó6Ã@F5Ã`ˆ7à ì6à›9Ã@á0À.ÃÐ@2Ã`4ÃÐ(6ÃE0ðo2ÃÀû6ðo2Ã0º0Ã@Ÿ;ÃPä6ÃPÞ7Ãý7Ã?1Ã` 7ð/Ãð¦.ÃÐ.5Ã`5ÃàU5ÃÀ=,Ãàs0Ã-Ãà)ê4à×/ðÈ8Ãðí7ÃpÙ0Ãàa3à (-ÃàÒ5Ã33ÃàÞ3Ãð0Ã0%4ÃPä6Ã0À/Ã`A.ÃÀ%0ÃpÙ0ðæ3ÃÈ/Ãï/Ã@p.Ã0À/ö2ÃÀ3Ã0ê(ðþ/ê4Ãpå.ðW6ÃpD4Ã@d0ð/à×/ü1Ãð#/ÃPö3Ãc+Ã@Õ2Àƒ0àé,Ãp\0Ã`¬1ÃPü2à;Þ6ÃÀ3Æ6Ãн2ð/Ã@F5À /ÃÐÃ1ÃàU5Ã0–6Àe5Ã0C/Ã`;/Ã07Ãð4à 1À}1Ã0Ì-à Ÿ.Ã` 3Ã0´1Ã@d0Ã0=0Ãð/-ð/Ãõ.ð?:à 3ÃPm5ÿ7ü1ÃN5Ãð¬-Ãðí7ÃàÀ8ÃpÁ4Ã0œ5à ™/ÃÀ–2Ã0+3ä1Ø3Ã?-Ãðš0Ãàê1ðì2ÃÐ@2ðu1ö2ðà4ÃPy3ÃK/Ãн2Ãàð0Ãðù5Ã5Ã`¬1Ã5à 0Àâ5Ã@:7ð“,Ã@”(à ½)ÃÐv)ÃQ.Ã`)2Ãày/ÃPö3à ò5ðì2ðæ3Ãàg2ðà4Ã0¨3Ãà=9ð]5ÃP/ðø0Ãðá9Àô2Ã`50Ãph.ÃÀ~6Ã*Ã`š4ÃpJ3Ã0¨3Ã’4ðø0Ãp»5Ã@d0Ãà[4ð .à`.ÃÀ3Ãàs0à “0Ãl0Àô2Ãà[4Ã0¨3ä5ðà4ÃЫ5Ã’4Ãp27ð/Ãàa3à ò5ÃÐ44ÃàØ4ÃÀx7Ã@R3ÃÐ"7Ãp¯7Ãf1ÃE0àr+à “0ü1Ã3Ã`4ÃÀ2àÑ0Ãpb/ÃP -ð3à¿3Ã0–6ðà4Ã06ÃpJ3Ã`50ÃÐF1à ™/ÀÜ6ÃÐó)ÃpV1Ã`¸/Ã@v-Ãï/Àú1Ã0%4á<Ã0º0Ãð0Ã012Àw2Ã`6Ã@R3ÃÀ 4ÃÐ@2Ãû-ÃÑ4Ã,ðø0Ã0U,ÃðŽ2Ã0Ì-Ã05à¿3Ãð2à 1Ã0®2Ãн2Ã`G-ÃŒ5Ã'5Ã`50Ãc+à ‡2Ã'5Ã`#3Ã0ï<ÃP2ÃpÓ1Ãp,8ÃPØ8àÅ2ÃP/à /ÃZ3Ã@L4Ã`)2Ã@·7ù8Ã0¨3Ã5ÃPs4Ãðó6ÃÐF1Ã0´1Ãpå.ÃpÇ3ÃPü2ðò1Ã071ÃÐF1Ã`5à 3ÃàÞ3à o6Àe5Ã`5ÃÀŠ4Ã@X2à à8Ã@Û1Ã@R3à65à ™/Ã@ç/Ã@d0Ãðv6ä1Ø3à þ3ÃÀ3À.à 3àÅ2Ãà.Ã0C/Ã@R3ÃpÙ0Ã@:7Ã92ÃÀ%0ÃPa7Ã0®2ÃÀ 4ÃPê5Ãð4ÃÀ%0ÃPy3à`.Ãð 3Ã`ˆ7ÿ7Ãð2ÃÐ@2Ã`š4Ã0O-Ã@|,Ã`Ê,àZ/Ãpß/Ã3Àî3ÃP.àB3àl,à 2ÃP2ÃÀº,Ãð /Ã0¨3Ã0Ì-ÃpV1Ãp,8Ãã1Ã` 3ÃÀ–2Ã`2ÃЫ5Ã0û:à 6À /ê0Ã0U,ÃÂ0Ãàs0Ãð|5ÃàÆ7Ãð2Ãн2ÃZ3ÃP‹0Ã`S+à 1Ãû-ÃÐ(6Ã@Ã5Ãð^:Ã0=0Ã@L4ðì2Àú1ÃÐÃ1ÃÐL0Ã`š4Ãð|5ÃÀ7-Ã0¨3ÃPä6ÃPê5àN1Ã@ù,Ã@^1Ãpµ6ðæ3ä5ð{0Ãð|5à Ÿ.Ã@p.ÃàÞ3ðÚ5à 2Ã0º0ÃpJ3Ãp»5ÃЙ8À.ÃÀœ1ðu1ÃpD4àÅ2Ã@j/ÃpV1À}1ÃÐ@2Ãé0ÃÀ 4à­6à*7à Ÿ.ÃÀÒ(ðc4Ã0–6àË1à¿3à i7à 3Ã@R3Ã` 3ÃPð4ü1àË1ÃÀ¢0ö.ðÔ6à {4à ‡2Ãï/Ãð0Ãð1ÃÐF1ÃpÍ2À.Ø7à {4ÃÐ44Ãpñ,Ã'5Ã05à o6ä5ÃPg6ð{0Ãpb/Ãpß/ÃpV1ÃÀº,ä5ðu1ÃPü2ÃÐd,ÃÀ3Àô2Ãàg2ÃàÒ5ÃP.ð-à “0ÃÀ2Ã7À­)Ã`#3à 1Ãp,8Ã0C/Ã` 3Ãpµ6Ã3ðu1ÃÀ2Ã`Ð+àÑ0Ã;ðo2ÃpÙ0Ã@½6Ãf1Ã`Ð+ð/Ãàö/ÃàÀ8Ã`š4À0Àƒ0ÃP…1Ã`)2Ã@F5ÃÀ–2Ã@É4Ãð 3Ãé0ÃÐ@2à Q;Àƒ0ÃÐ.5Ãð¦.ü1Àè4Ãf1à 6ÃPä6ÃÐ:3Ãð0Ã@ù,Ãp,8Ãã1Ãày/ðo2Ã0´1Ãà+ðì2Ãp€*ÃÀ7-Ã`Ê,ÃP0ðÎ7Ã@í.ö.ðu1à¹4À7Ãðá9Ã@Õ2ÃK+Ãàü.Ã`2Ãð|5ÃPö3Ã5Àú1Ãð¦.Ãpb/ÃpÓ1Ãû-Ãï/ÃÐ^-ÃZ3à06ðÚ5Àw2Ã@‚+ÃÐ^-ÃP‘/Ãpb/Ã!2ÃP0à Ÿ.ðì2Ã07ÃK+À-Ã`8Ã@R3Ã?1ÃÔ-ÃPm5ÃÀ¢0ÃðŽ2Ã4ð{0À.Ãðv6ðo2ÃÐ@2Ã`¾.àï+ÃÐÏ/ÃPð4ðì2ð]5ðò1Ã@d0ÃPs4Ãï/Ãðù5Ãðˆ3ÃÐF1ÃPü2Ã@É4Ã@í.Ãð¦.À¡+Ã0´1Ã@á0À1Ã!6Ãpë-àB3Ã`Ž6Ã9.Ãð0Ã071ð]5Ãày/ÃpP2Ãé0Ãàm1ÃPg6Àw2àr+Ã0O-ÃP2Ã`Ê,Ãð2à “0à 1Ã0=0Ãàð0Ã`/1à 2ÃÈ/ÃЫ5Ãph.ÃÀœ1à /àZ/Àô2ÃàÒ5Ã`2À /ÃN5à ø4ÃÈ/Ã`)2Ãp£9Ã`¦2ü-Ã`¾.Ã?1Ãð /Ã0Æ.ÃÐç+Ã@^1Ã`2Þ2à<4ÃÐX.à .,Ãð¦.Ã0[+ÃÀœ1À.ü1Ã0Æ.Ãð0Ã012à 1à 2ÃÂ,Ãà…-Ãð2Ãp86àZ/ÃÀœ1Ã`¾.ÃŒ5ÃÀõ7ö2Ã],ÃpJ3ÃÀ%0Ãðÿ4ü-Ã’4Ã4ÃP1Ãà…-Ã@d0ÃP[8Ã07Ã@Ã5Ã@Õ2à «,Ãàê1ÃP©+ÃÀ%0Àq3Ãõ.ÃÀû6ð™+ÃPm5ÃÀõ7ÃÀ3ÃàØ4À**à þ3à E=à*7Ã×3Ã`|9ð3à {4Ã`4Ãf1ÃP0à ¥-Ãr/ÃB7à­6Ã3Àú1à 1Ã`;/Ãàð0ÃZ3ð{0ÃÐd,Ãpë-ðÔ6à06ÃpV1ÃàÞ3ÃðX;Ãt9à æ7ÃP2ÃÐÛ-Ãðÿ4Ãp86ÀS8Ãàa3ê0Ãpß/ÃÀ¨/ÃÝ2ÃB7ÃPm5ÃÀ6Ãpµ6ÃpV1ÃÐF1ÃÀ„5Ãðv6à<4ÃàÌ6ÃàÒ5Ã0+3ðW6Ã`”5ÃÀ¨/ÃB7Ãàð0ð{0ð/ÃpV1ÃÐj+à ø4Ãðš0Ã@v-Ã`v:à Q;Ã@É4Ã`6Ã@«9à ì6ê4ÃàÆ7Ãð2ÃÀ 4ð¼:Àk4Ã8à W:Ã`8ÃÐÃ1àÑ0À}1Ãf1Ã`/1ÃÀ´-Ã012ÃP/Æ6Ãl0ÃðÊ(Ã0¨3ÃÀx7Ã`š4Þ6ÃàØ4ð3àË1à¿3ðÈ8Ã@í.Àî3Ã33Þ2ÃpV1à ì6Ãr/Ã0O-ö2ÃPê5ÃPð4ÃÐÛ-ÃÀ–2Ã@<ÃP©+ð/Ã@R3ÃQ.Àq3Ã0+3Ã0º0ÃÎ.ÃpV1à {4Ã06Ã!6à ø4ÃÀõ7ÃàI7Ã05Ã`Ž6ÃÓ>Ãp?Ãý;ÃÐì?ÃP1?à¡8Ãb<Æ:àú>Ã`v:Æ:ÃP¢AÃ`ÉAÃàCÃà´:ÃÀï8ÃÐ:Ã0*HÃÐEFÃwCð†CÃ0TAÀ DõCðDà EÃÀ¹AÃà„BÃ0ËBÃ0TAÃàlFõCÃ@cEÃð:@ÃPCÃð@?Ãð:@ÃÁEð’AÃð(CÃPFà ?>ÃÐIÃàBÃÐÚBÃà®;àô?ðýDÃ`"Hð@À¦?Ã@iDÃP7>ÃÐò>ÃàBÃPDÃÐi@ûBÀ|FÃPCÃ0BDÃ,EÃà„Bð'>Ã`“JÃPûGÀpHÃ`Õ?àq@ÃPœBÃð¥CÀ/>Ã0ËBà c8Ã0ã>À¦?ÃP´>ÃÐæ@ÃP¨@ÃpäCà ¼>Ã`í;ÃP„FÃ0é=ð!?Ã`Û>Ã`"HÃ`Õ?Ã`FBÃÁAÃÐQDÃà%=Ã@oCÃð:@ÀšAÃ@“=ÃðÉ=ÃAÀCð'>à °@Ã@uBÃ@>Ã\AÃà?à=ÃpêBàq@à EÃ`½CÃÀ­CÃpUFÃpäCÃ06FÃÀHÃ@ìCÃð"DÃP1?ÃÓBÀçIÃð·@ÃÐcAÃмGÃpmBÃôCÃP EÃÐàAÃÙ=à !CÃà?ÃPBÃàœ>Ãð·@Ãpy@Ã0³FÃ=éEðDÃÀ$EÃàBÃp?à !CÃðÃ>ÃPI;Ã0ÑAÃ00GÃ`FBÀˆDÃb@Ãà+<Ã@þ@Ã`Õ?Ãð"DÃ`(GÃ`Õ?ó9ÃàŠAÃð“FÃ`á=Ã`p;ÃÐi@ÃpêBÃ0HCÃ06FÃDAÃð(CÃ@ÔGÃà%=ÃÀÝ;ÃÇ@ÃâFà ¼>ð-=Ã`FBÃp=ÃàBÃÐÔCÃ>ÃÁAÃ@@ÃÐì?àƒ=Ãð:@Ã`«FÃ0:ð@ÃÁAÃàCÃå;àkAÃ0ã>ÃÀË>à GÃð Hà !CÃÁAÃpêBÃ0õ;ÃÙ=ÃÙAÃ=ð?:ÃpðAÃå?ûBðAÃÀ6BÃ?Ãà„BÃP%AÃ`(GÃÐàAÀ/>Ãp‘<Ã`v:ÃðÏ<Ã`p;ÃŒ9Ãpy@ÃÐ ;Ã`v:à ]9ÃÐ<ÃPœBÃ`R@à W:Ãð@?Ã0x;ð¼:Ãà1;Ã`á=Û=Ã0ã>à ?>À¬>ÃP1?Ã`R@Ãð4AÃ` 7à E=ÃðÏ<Ãð:@ÃÀ¹AÃ`í;ÀA;Ãà7:Ãß@À;Ã>ÃÐ9ÀŽCÃp&9ÃÀ×<Ãb@Ã@>ÃBÃAÃPC<à ?>Ã`Ï@À7Ãà Aà¡8ÃÐ¥6ÃÀÅ?ð9;ÃÀB@ÃÐo?à ¶?ÃÀé9ÃË5àî@ÃPÌ:Ã`R@ÃàxDÃð±AÀ7Ã0NBÃÀÃЙ8Ã@¥:àú>ÃàŠAÃÐ<ÃÀT=à‰<ÃÀr8à K<à K<Ã÷8ÃpgCÀ²=ÃÀr8à ò5Ã@½6à;Ã0`?ÀÄ:ÃÀË>ð?:à à8ÃÐ:Ã`ˆ7Ãh;ÃÐ:Ã÷<ÃÁAÃPº=àB3ÀÊ9ÃPº=Ãp¯7à Â=Ã0û:Ãß@ð¼:ð3<ÃÍ?ÃÀû6à ]9ÃàI7Ãp‘<Ãp&9ÃV>Àâ5Ãз3ÀÖ7í:ÃPê5à­6ù8Ã0õ;ðÔ6Ãå;ÃÐ:Ãñ9À¬>ðK8ÃÀ`;Ãp\0Ã@«9Ã4ÃÐ:Ãb<Ã`¦2Ã<8Ã07ÿ7à¿3à­6à 6ÃðÏ<à§7Ã`ç<ÃЇ;ÃàÞ3Ã` 3Ãp,8ÃB7Ã0û:Ã`v:Ãn:à Ú9ÃÀŠ4Ãð‚4ðÈ8à:Ãà@ð'>Ãp¯7Ã@Ã5ÃPs4ÃPg6ÃÀN>Ãñ9à 2à65Ãàa3Ã7ÃЙ8àT0ÀÖ7ÃП7Ãp86Ã0%4à ò5Ãà=9ÿ7Ãðˆ3Ãàê1Ãðó6ÃÀ¢0à þ3ÃÀ–2Æ6Ãðù5Ã@d0àN1àÝ.Ã07ÃÀr8ü1Ãð”1Ã`#3ÃE0Ãh;ÃàC8Ã],Ã0¨3ö2Ãh;Ã0r<Ãt9Ãðp7À.àÝ.à Ô:Ã@½6Ãðç8Ãp,8Ã!6à9Ã'1ÃÀ5Ã`ù9Ã@R3Ã0º0ÃP0Ã0¢4Ã0¨3Ãt9ÃE0àË1Ã`¦2ÃÐ@2ÃP2Ã@v-ÃÐ8Àâ5ÃPg6ÃPØ8Ã4àÅ2à 4+ÃðŽ2à¿3à 3à :Ãðÿ4à “0Ã0–6À7Àâ5Ãð‚4ü1àB3Ãp<Ãàö/ê4Ø3ÃÀ¢0ð/ÃPs4à u5Ã@.9Ã@:7à 3Àè4Àq3Ã69ÃÀ3Þ6Ãày/Ã@+Ãàö/ÃÀ„5ÃàU5à o6Ø3Ãp\0àr+ÃàI7Àw2Àƒ0ÃPê5à06Ãb<ÃàÌ6ÃŒ5à 2Ãph.ÃÀœ1Ãðd9Ãh;à {4Ã`4Ãã1Ã0+3ÃPö3Ã@(:à¿3à {4ÃE0Þ2ÃpJ3à 1Ã33ÃpD4ÃPÞ7Þ6Ã`ˆ7ÃPÌ:à /Àk4ÃÐÃ1à Ô:Ãðó6à {4Àâ5Ãн2Ã0À/Ã@^1Ãp£9ÃŒ9Ãðó6à¡8Ã@Ã5ÀÄ:à æ7Ãð¸+Ã0¢4ÃàU5à ø4ðà4Ãðÿ4Ã@48Ãðù5Ã0–6Ãб4ðo2Ã÷<ÃàÀ8Ã`í;Ã$<Ãà%=Ã`¦2ÃÀl9Ãà1;àN1Ãf1ÃpÇ3ÃÐ9ÃÝ2ðo2Ãp»5ÃÀ2Ã0+3ÃpÇ3Ã`Ž6ðW6ÿ7Ã`Ž6ÃË5Ã0ï<ð3Ãðù5ÃÐF1ÃT4à 3Ã7ÃPö3ÃЫ5ÃГ9Ã÷8à Â=ÃÐÃ1ÃÀ3ÃàO6ÃPa7à à8à ]9ä5Ã@Õ2ÃÐ¥6Ã@É4Ã0–6Ã`d=à¹4ÃÀ3ê4ÃÑ4à06ÃÀé9Ã=Ã`”5Ã`/1à$8Ã4Ã@:7ÃðÛ:Ã@Û1Ã3ÃÐF1à*7ðì2ÃPð4À7ÃàÒ5Ã@:7ÃàÀ8ÃH6Ã`Ž6ÃàÆ7Ã@F5ÃÐ ;Ãpü?Ãp‘<Ãðó6à§7Ãp,8ÃÑ4ÃP‹0ÀÐ8Ã’8Ã'5Ãp»5ÃÐ@2à u5ÃÙ=Ã<8ÀM9Ã07ÀÄ:ÃÐ<Ã@½6Ã<8Ã5Ã`6Ã-4Ãð /ðæ3ÃÀ6Ãp>Ãн2Ã@R3ÃÀ`;à§7Ãp27Ãð2ö.Ã0º0àT0Àô2Ã@(:Ã@48Àk4à 6Ã@:7ö2ðc4Ã!2ðK8ÃÀé9ÃpJ3Ã<8Ãàä2ö2ÃÐ¥6Ãà+<Ã’4ÀY7Ã`”5ÃÀõ7ê4à {4Ãàg2ÃÀû6Ã@=ÃÐ(6ÃÑ4Ã0:à æ7ÃП7Àk4à*7ÃÀ„5Ãð‚4ÿ7ð‡.Ã`#3à æ7à à8í:Ã;ð°<ÃZ3Ãðù5Àw2ðÔ6ÃPä6ÃÀû6Ã@É4Ã0–6Ã’8à 3Ãн2ÃZ3ÃÐ.5Àe5Ãà1;Ãàa3Ãз3Ãðù5ÃPs4Ã@R3Ã<8ÀÊ9Ãà7:Ã`í;ÿ7Æ6Ãð2Ã0¢4Ã@<Ã@F5ÃÐ44Ã@X2Ã@á0Ã’8Ã`2ÃÐd,Ãðù5Ãðˆ3à ò5ðÎ7ð¶;Ã$<Ã0:Ã-0ðŸ*Ãr/Ã`Ä-ÃPö3Ã7Ã`6ÃÐÃ1Àq3à c8Ãp:Ã’8ÃðÕ;ö2ðQ7ðÎ7à}>Ãðù5Ãð‚4Ãà.ÃPm5ð]5Ãð¦.Àw2Ãpå.Ã0¢4à 3Àw2Ã’8Ã0%4ÃÀ–2Ã9Ãp&9Ã@@6ÃÀ3Ã012ÃЫ5ÃJ@À¾;À7Ãðd9à65à Q;ÃPØ8Ã@:7Ã0ï<Þ2à*7Ãpµ6Ãàa3Ã0„9ÃðÛ:Ã`ó:ÃP==à¡8ÃPI;à :Ã@";ÃË5Ã@Ã5Ãà7:Ã`á=ÃPU9Ã`‚8Ãà>ÃðÕ;ÃPÌ:Ã`Û>à 'Bð°<ÀÄ:à=à W:Ã`d=ÃH6Ãà´:À7Ãý7ÀÐ8À¾;Ãý7ð3<Ã@(:ÀÐ8ÀÖ7ÃP[8Ã@48Ã\=à È<ð3<ÃÐ8à 6ÃPØ8ÀA;ð¤>Ã@™<Ã0ã>ÃP+@ÀšAÃÐ"7ÃP==ÃÐàAÃ>BÃP1?Ã`ù9àô?Ã@ ?Ã`j<à•:ÀBÃÀT=ÃàÒ5ÃPä6Ã`v:Ã`d=ÃÐ8à65Ãn:Ãà+<Ãz<ÃГ9Ã@L4Ã7À²=Ãp<Ã@™<ÃðR<Ã?ÃÐu>ÃÐu>ç;Ãà%=Ã@.9à 3Ã`v:À;ÃPÀ<Ã@(:ÃЇ;Ã@ ?à>ð3<ÃÐu>Ãp‘<ÃÀÝ;à;ÃŒ9Ã’8Æ:ÃBÃÀÝ;ð3<Ã0~:à ¼>ÃàŠAÃà7:ÃÀr8Ã7ÀÜ6ÃpsAà ]9Ãð2Ãp=Ãn>Ãà¢=Ã`^>Ãp—;ð÷EÃÐi@ÃðÕ;Ã0ï<Ãà1;Ã÷<ÀÄ:Ãà¢=ÃPU9Ã0:ÀM9Ãå?Ãp :Ãà´:Ã07ÃЇ;ð!?ÃÐþ<Ãðd9ÃðL=Ã0r<Ã0ï<à žCÃÀË>Ã0„9Ã@½6Ã@:7ÃÀx7ÃП7ÀÄ:Ãàœ>ÃÐ9à>à*7à­6Ãðí7Ãðp7Ãp=ð¼:Ãà=9Æ:à ¶?ÃÐo?Ã69ÃPÒ9Ã@½6Ã@™<ÃÐ ;ð¼:Ã@ ?Ã0~:ÃPö3Ã0é=Ã0ï<Ãð^:ÃÀÑ=Ãp=Ã0õ;ÃÀ¿@Û=Ã`|9ÃÀ–2ÃÀï8Ãà–?ð'>Ã05ÃPI;Ã`d=ðÔ6Ãß<Ã8CÃn:ù8à;ÃÀû6ÃÀ~6ó9Ã;À;<Ã@:7Ãñ9Ã@«9à ]9Ãà–?Ã0OÃ00GÃðcNÃÐÈEÃÇDÃÀÑ=Ãð±Aà Q;à È<à 3@ÃŒ5Ãб4Ãpµ6àâBÃÀé9ÃVBí:Ãð^:Ã@™<ð¶;à Î;ðK8Ãå;ÃÀÝ;ÀA;Ã?1à¹4Ã`#3àË1ÃB7Ã`‚8ÃÀ6Ãß<Ã0Z@ÃPð4ÃÀ`;à ò5à Ú9Ãð·@Ã`Û>à Ô:ÃDAÃ>Ã0û:Ãp;À¸<À;À;Ã0õ;Ãt=ÃV>ç;Ã0l=Ãp;Ã@>ÃÐi@Ã`Ï@Ã0HCÃ0ï<Ãz<à•:Ãå?ÃÀÅ?ÃÀr8ÃwCÃÀ­CÃÐWCà ªAàô?Ã`^>ÃP¨@ð¶;ÃÀl9à E=à=à§7ð@ÃÀï8à>Ã@=á<ÃÐø=Ã,EéEÃ>BÃP¢AÃ8Càƒ=ÃJ@ÀŽCÃ`LAÃÐQDÃ`½CÃÐò>ðñFÀBàô?ð?:Ã@Ÿ;Ãð:@à}>ð@À”BÃÀH?Ã`d=ÃÀ¹AÃpmBÀAÃPÌ:Ãë:Ã@@Ã`·DÃÐì?ÃÀT=Ãp£9Ã>ð'>Ã@oCð CïDÃBàú>ÃÐ<à ¤Bàú>ÃÐø=ðŒBÃpÒFÃà@ÃP¢AÃ*;Ãà´:À¦?à›9Ãð@?ÃÀH?Ã@Ÿ;À¬>Ãà+<Ãý;Ã@<À¸<ð˜@Ã`|9Ãàœ>Ã`v:àú>ÀCÃÐu>ÃÐì?ðÎ7À/>À¬>ÃÐu>Ã7Ãðp7Ãp=Ãà@à 3@Ã`Õ?ÃP´>Ãð@?ù8Ãp‹=Ã0:ÃpsAÃPÀ<ÃÀH?À¦?ÃÐu>ÃPO:à ]9ÃðX;ÃpmBç;Ã`|9ÃPÌ:àkAÃà@Ãà7:ð¶;Ãà AÃÓBÃDAð'>ÃAð°<ÀÄ:Ã*;Ã0r<Ã0¿Dð-=Ã07ÃÐWCðAÃPBÃPg6Æ6à W:ÃÐ:Ã0 8Ã@“=ð?:ÃPBÃà¨<àw?ÃPÌ:Ãà+<à=ÃPÀ<ÃÓ>Ã>Ã@F5ÃpÁ4ÃÀr8Ãà–?Ã`X?Àâ5ðE9Ã`5Ã0œ5ð¤>ÃÐþ<Ã8Ãp :à È<Ãp<Ãp&9ÃðR<ð?:Ãp—;à :Æ6Ã09ÃðÛ:àô?Ãå?ÃÀû6ÃÐ8Ã;Ã;Ã69ÃÀr8Ãp86ð]5Ãp;ð-=ÃÀË>Ã=Ã69Ãpü?ÃàŠAÃà+<ð-=Ã`|9ÃàC8Ã@F5ÃÐ9ÃP1?Ãp=ÀšAÃ`8Ã0û:Ãp¯7à u5Ãà%=ÃÀÅ?ÀA;ðÈ8Ãà¢=ÃЇ;ÃГ9à‰<ÃÅ6Ãp:à ì6à Ú9ÃÙ=à¡8Ã0³FÃð½?Ãp£9Ã0é=à$8ÃÐ8Ãðí7Ãà¨<ÃÀé9Ã0¢4ðo2ÃpÇ3ÃPê5Ãà7:Ãðá9Ã@>Ã0r<Ãà1;à Ú9ÃðX;ðK8Ã@F5Ã`”5à06ÀÐ8Ãñ9Àô2Ã`ç<Ãð‚4Ã$<ÃPÆ;À1À.Ã`ù9ð'>ð]5ÃÀõ7ç;ÃpÁ4Ãðd9Ã@“=à¡8Ã@¥:à È<Ãp&9Ãðç8Ã0œ5Ãë:ðÈ8Ã@½6Ãðj8à Q;Ãðí7ÃÀõ7ÀÐ8à :à <à9À0Ãx.ð]5à W:ÃÐ8à‰<ÃàC8Ãp=Ã` 3Ãp»5ÃP…1ÃÐ:Ã@½6à›9Ã`v:ÃàC8ð]5ÃPÌ:ÃÀ`;Ã@Ã5à c8ÃË5ÃÐ.5Ãå;Ã@:7Ã`ó:Ã`8Ãðÿ4à06ÃÀ~6à Ú9Ã@Õ2ÃðÛ:Ãðç8à þ3à i7ÃÀû6ðÎ7à c8ÃPU9ÃPÞ7à¡8ÃÀr8ðÚ5Ã@±8ÃÐ¥6Ã$<Ãðd9Ã09à ]9Ãý;à Ú9à;ÃðX;ÃðÏ<à*7ÃPÞ7Ã0%4ÃàÞ3Ã@Ã5Ã4ÃП7Ã@Õ2ÃP…1Ã'5Ã@Ã5Ã’8ÃðÕ;ÃðÛ:Ã`”5ÃPä6à i7à Î;àf-à$8Ãàº9ÃPÒ9à*7ÃŒ5ÀÜ6ÃÀ 4à§7à:Ãðá9àÝ.Ãp>5ðÎ7Ã0~:ðÎ7Ã05Ã`²0à ".ÃpV1ÃÐ@2ÃPg6Ãp£9ÃðL=Ãðÿ4ÃÐ9ðo2Ã0~:ÃÀf:Ãðˆ3à§7Ã` 7Ã@.9ÃPÞ7à$8Ã0®2Þ6à à8Ã!6Ã@½6Ãб4ÃÀ1à 3ÃPð4ù8ÀÜ6Ãн2ÀY7ÃÐ:Ã3Ã33ÃÐ¥6ÀM9Ã07Ã@.9à :Ã’8Ãàä2ð{0Ã` 3Ã7ÀÖ7Ã@:7à<4ðK8Ã07ÃГ9Ã07ÃÀ6Ã`6ð¼:Ãз3Ãt9Ã4ÀY7Ã05Ãð|5Ãpt,Ãp,8ÃPð4ðÔ6ÃÀã:à ‡2Ã0–6à ì6Ã`”5à Q;à Ô:ð{0ð?:ÃÀx7ÃT4Ã69Ãz<ðÚ5Ã!6ÃÐ:3à¿3Ã07ÃàÌ6ÃPÌ:Ãðÿ4Ã@Ã5à 3Ã@Ï3Ãp‘<Ø7Ã0„9Ã!6à§7à$8à 3ÃÐ ;Ãàê1ÃpJ3Ãp,8Ãðí7ÃPê5ÃÀ`;à 3Æ6Ãðv6Ã=à}>Ã07ð]5Ãp86Ãà[4ÃðÕ;Ã0 8ÿ7Ã@F5Ã@R3ÀÖ7Ã@Ã5ÃPÌ:Ã0ÑAÃPU9Ã0:ÃàÀ8ð .Àe5Ã07Ã07Ãpå.à 2ÃPy3à¿3ð/ÃÀ¢0ÀÖ7Ãà1;ðE9ÃàO6ÃP2ÃÀõ7ÃÐ44ÃB7ði3Ãp,8ÃB7Ã@:7ÃÑ4à à8ÃàI7Ã@:7ÃÀZ<Ã@48àÅ2Þ2Ãà,à`.Ã4ÃÀû6à ò5ÃÀT=ÃàÀ8Ã`4ÃÐ@2ÀÐ8Ã@«9Ãà[4ö.Ã@:7Þ6Ã@Õ2àB3ÃÐ:3Ã`Ž6à§7Ã`”5Ã`50ði3Ã0%4ÃÀ 4à 3ÃPð4Ãã1ði3Ã0®2Ãàð0Àk4Ãý7Ãð#/ÃðX;Ã0C/à ™/à ø4ÃàÀ8Ã`#3ÀÖ7Ãð^:à;Ãå;à à8ÃðÛ:ÃŒ5Ã`ˆ7Ã@±8Ãàê1Ã@Ï3Ã@“=Ãã1ÃÀõ7Ã0~:à<4Ã0~:ÀY7Ã07Ã@<Ã0r<Ãà¨<à;à ]9Ã0¢4ÃÐ8à•:ðÚ5à Î;ÃV>ÃÐ]BÃðF>ð°<à ?>Ã@É4Ãý7à c8Ãà®;Ã`ÿ8Ã`v:ð@Ãp;Ã0û:ÃÀZ<à=À‚EÃpy@à;Ã0l=Ãp‘<ÃÐø=ÃH6àô?Ã`ˆ7ðW6à=Ã0~:ÃЙ8ÃÐø=Ãt=Ãp—;ÃÓ>Ã07ÀA;Ãàœ>ÃðÉ=Ãð^:ÃÀã:ÀG:Ã@½6à‰<ÃV>Ã0ÑAÃÀ`;Ã9ðo2Ãp—;ÃÐ<Ãp&9Ãàa3Ã07Ãn:Ã0ã>Ãp…>ð˜@Ãà´:à :ðÈ8Ã`ˆ7à Â=ÃB7ÃÀ~6ð’AÀ/>ÀA;ÃPI;Ã`X?ÃðÛ:ÃàBÃ0 8ÃÐ<à Î;ÃÀ³BÃ0é=Ã`á=Ã`j<à}>ÃÀZ<Ãp,8ÃP´>Ãà+<ó9Ãà%=Ãå;à=ÃP7>Ã@>à:Ãàœ>Ãp>ö2ÃÇ@à Ô:Ãb<Ã$<Ã0~:Ã@‡?à K<ÃP´>Ãà+<Ãp,8Ã@«9ÃÀé9Ã@.9ð-=ÃH6Ãàº9Ã@:7Ã@«9ÃÀ`;ðÂ9ÃBÃ$<Ã0õ;ð?:Ã@@Ã@«9Ãå;Ã@‡?ÃÀB@Ã`í;ÃÀû6Ã`j<ÃÀf:Ãðv6Ã`|9ÃPÌ:ÃPO:à›9ÃÐþ<Ãð½?ÃAÃ@<Ãå?ÿ7Ã`j<Ã07Àk4ÃЇ;ÃÐ:ÃPÞ7à¹4à ]9Ã`ù9Û=Ãà7:Ã9ÃЇ;À¦?ÃàBÃ`ù9Ã`8Ãp¯7ðÂ9àèAÃÐ ;Ã$<à K<Ã0f>ù8Ã0 8à§7Ã÷<ÃаIÃp©8ÃV>Ãà–?ÃPs4À¦?ÃðÕ;À/>Ã@ ?Ãt9À;ðE9Ãðù5à*7à9Ãð^:Ã`‚8ÃП7à i7Ã`p;ÃPC<Ãà?à>Ã`ÉAÃ7Ã0û:Ãð·@à Ú9ð-=ÃàO6ÀM9É@à*7ÃàÒ5Ã`ó:à;ÃPÌ:ð?:ÃÍ?ÿ7Ãð 3ÃàÀ8Ã@«9Ø7Ã` 7ÃЙ8Ã0õ;ÃðÃ>Ãp&9ðE9Ã`ç<ð°<ÀA;ÃÀÝ;Ã÷8ÃÀÑ=ÃÀB@à ]9ð¼:ÃðR<ÃÀ`;Ãp,8à;Ã@«9à Ô:à ]9Þ6ÃÀl9ÃP´>à•:Ã9Ãà%=Û=Ã@:7ÃàO6ÀÜ6Ãð /ÃpJ3ÃÀZ<Ã3Ã<8Ãp :Ã@(:àƒ=Ãñ9Ã@<ÃðÏ<Ãà Aà Ú9ÃП7Ãp£9ä5Ãp :À;<Ã0é=Ã7à 3ÃðL=à ]9ÃЇ;Ãà¢=À7Ã`X?ÃÀZ<ÃÀé9Ã8ÃPI;ÃÐ¥6ÃÐæ@Ã0l=Ã`ù9Ã0Š8à :Ãð 3ÃðÏ<ÃГ9Ã`ˆ7ÃPÞ7Ã?1à06Ã0r<à;ÃPÞ7àƒ=Ã@Ÿ;ÃŒ9Ãð^:Ã`ù9à06ÃPä6Ã@±8ÃPm5ÃÀû6à Ú9ÃÀT=À7ÃЙ8Ãñ9ç;ÃÐ9Ã@Ÿ;ÃPm5à›9ÃPÆ;ÃÀx7Ã0Š8ÀY7Ã@±8ÃÓ>ÃÀl9Ãh;à c8à$8ÃðX;Ã<8ÃÀÝ;Ãz<Ø7Ã`4ÃЇ;ÀS8à 2ÃpÇ3Ãz8ðÈ8Ãð4Ãl0Ãp;ÃPa7ÃPÒ9Ã@";à c8à¹4Ãp27ÃŒ5Ãðp7ÃÅ6à Î;à È<Ãз3ðÔ6Ãà´:à06ÀÐ8Ã0–6Ã@.9ÃPs4à u5Ãp‹=ÃPU9ÃPÒ9Ãð^:Ã`ù9Ãà7:Ã`‚8ÃŒ5à þ3Ã’8ÀÊ9Ã` 3Ã`‚8ÃÀ6À_6à Î;Ã33Àâ5ÃÀû6ÃÀ„5ÀÜ6Ãðp7ÃàÌ6ü-ðÈ8Ã’4ÃÐ9Ãà=9à§7ÃÐ ;Ã`‚8Ã07à ì6ÃÐF1ÀS8ÃðL=ðæ3ÃðŽ2ÃГ9ðÎ7Ã@";Ãp86ÃÐ^-ÃT4Ãp©8Ãàð0Ã012à¡8Ã@:7Ã'1Ã'5à*7á<Ã`2ðÚ5Ã`5ä1à ò5à æ7Ã@48à i7Ã`”5àN1Ãðp7Ã@Õ2Ã@R3Ã@=Ã`4ÃÀ~6Ã69Ãpµ6Ã33Ãб4Ã×3Àw2ÃðŽ2Àƒ0Ã@Ã5à Ú9ÃP==Ãàº9ÃPU9ÃT4ÃÀœ1ÃÀx7à$8à¹4à;ÃPØ8ÃàØ4Ã07ÃÀ–2Ã@:7Ã@R3Ãé0à¹4Ã@á0Ãð#/àã-Ãpë-ðu1Ãðí7ÃÐ8Ã`ó:ð9;ðW6Ã@X2à<4Ãàa3ÃÐF1ä1à ø4Ã`¬1À0à E=Ãpµ6à 3Ã` 7ÃÑ4ÀÜ6Ãà[4Ãp»5À›,ðQ7à 9?Ãàº9ÀS8à K<Ã@:7ÃPy3ÃpP2ÃPê5Ã<8ðo2ê4Ãðd9ðì2Ã@.9Ã`ÿ8Ã07Ã@Û1ÃpP2àN1Ã0C/ÃÈ/ÃП7ü1ÃPä6Ã` 3ðò1ÃÀ~6ð]5Ã05ÃÐL0Ã7ðc4Ã’4Ã0r<Ã@Ã5Ã0„9Ã0Š8à 0Ãðš0Ã0+3Ã0r<Ã0û:à¿3Ãp©8ÃÅ6Ã`|9ðà4ÃpÙ0à<4à§7à c8ÃPê5ÃP1ÃT4ÿ7àB3à c8ÃÐ{=ÃPm5ÃPä6Ãý7Ãàa3ðø0Ã@X2Ã@á0ÃÐ44Ã÷8ðæ3Ãн2Ã0¨3Àe5ù8ðK8ÃàC8Ã`6Ã3ÃP£,Ãð2ðQ7à<4Ãð2Ã@á0à65ÀY7Ãð^:ÃàÞ3ÃÑ4à<4Ãз3ð/ð/ÃÀ¢0Ãз3Ãà-Ãðd9Ã07Ãp¯7ÃT4ä1Ãð”1ÀS8ÃH6Ã0U,ÀÐ8Ãý;Æ6à65ÃÀ¨/ÃÐ@2ê0Ã07Ãày/à 6Àe5à ‡2ÃÀŠ4ÃÀ 4Ã0+3Ã`4ÃàÀ8ðK8Ã'1à 1Ãàð0ðc4Ã06Ã`Ê,à ".Ãå;ÃPü2Ã`š4à:Ã0¢4ÀG:Þ6à*7ÃÀ3Ãp£9Ãp86Ã`ó:ÃÀ`;à ò5ÃÀ5ð{0Ã`¦2à ‡2Ãð‚4Ã0:Ãp»5Ã0:Ãàa3ÃPê5Àî3Ã0I.à*7Ãз3ÃÀ6àH2ÃK+à¹4ð]5À7ÃpP2ÃK/ÃÐF1Ã`Ä-Ã0´1ÃB7Ã@½6à9Ãn:Ã0´1Ã@á0Ãà[4Ã’8ÃPä6Ãp¯7ÃÀ„5ÃÐj+Ã’4Ã'1Ã`)2àË1Ãð).à ì6ÃÀ6ÃÐÉ0ÃÀ¨/Ã3ÃZ3Ø7ÃP‹0ÃpÁ4Ã`50ÃÀ5Ãðÿ4Ãн2àB3Ã`¦2Ø7Ãé0À.Ã@Ï3ÃP2Ã`¸/Ãpß/Ã33Ã`2Ãз3Ã`¸/À}1Ã@^1à­6à 1Ãpë-Ã0¢4Ã0œ5Ã@:7Ã@·7ÃE,ÃÐ.5Ãp¯7ÃàO6Ã@ù,Àú1Ã!6À /À•-ÃЂ'ÃðŽ2ÀÊ9ð-ÃpV1ÃÐL0à (-ð/à 3Ã0´1Ã@v-Ãðù5ÃÐÃ1ÃpÙ0ÃPÞ7Ã0I.Ãp\0à­6ÃP‹0Ã`¦2ðò1Ã`)2Ã0œ5ÃÀ„5ÃÂ0Ã@¦%Ãpž%Ãã1Ãàs0à 0Ãàü.ð™+Ãðˆ3ü-ð¥)ÃÀ7-à ø4ÃÐÕ.ü-à 1Ã`;/Ã4Ã~-Ãð0ÃÀ+/ÃÐR/Ã@í.À­)Ãà.Ãð¦.ðo2Àú1ÃÐÉ0Ã×3ÃÐ(6Ã@Û1à 2ÃÀ´-ÃpÍ2ÃÀõ7ðo2Ã'5Ã0C/Ãz8ÃÀ 4Ãã1ÃðŽ2ÃP‹0Ã0œ5Ã],Ã@L4ðì2ÃP¯*Ãpñ,ÃP1Ã×3Ã`/1Ã`Ž6à 3ÃÀœ1Ã@í.ÃPs4à 2Ã@á0ÃÎ.Ã@R3Ã` 7Ã`¬1à 2ÃP8)Ãõ.ä1Ãàð0à /Ã!2ÃP0ÃÐá,Àw2ÃÀ3ÃÀ´-ÃP.ÃÀ=,ÃÐX.Ã0O-à .,Ãàm1ðQ7Ã`¬1ÃÎ.Ãàü.ÃЫ5ÃÀ+/ÃPê5Ã@É4Ã`²0àÑ0à ø4ÃðŽ2à þ3ÃÎ.Ã×3ÃPg6ÃÐÏ/Ã@L4à 1Ã0´1à 3ð/Ã0C/Ãð 3à Ÿ.Ã`#3ÃÐ@2àT0Ãб4Ã`4Ãà+Ã`A.Ã@^1Ã-4ÀCÀ}1Ãàm1Ãpå.ÃÀ=,ÃÀº,ÃÐd,ÃpV1Ã@É4à ‡2àT0Ãð1Ãàö/ÃpÓ1Ã'1ÃpÙ0À0Ãpë-Ã@j/Ãð4ÀM9ÃÐá,ðu1àZ/Ãr/ÃpÁ4À.àõ*Ãp27ÃàÒ5ÃpÇ3Ã0´1Ãàa3à þ3Ã071Ã0C/Þ2Ã@ó-ÃÀõ7ð]5ÃP1Ã3Ã`A.Ã`4Ãðÿ4Ãð#/ði3Ã@í.à­6Ãàg2à “0Ãl0Ã9.ð/Ã'5Ãð2Ã0[+ÃÀ´-àZ/ð/Ã`50Ãp÷+Æ6ÃpÓ1ä1Àq3Ãð0Ãl0Ã@X2ÃpV1ÃÐÉ0ÃP2ð]5Ã?1à­6ÃPs4ÃàO6àH2ÃÀ¨/Þ2Àw2Ã’4ÃÀ1ÃPy3Ãðÿ4ÃÀ¢0à<4Ã×3ÃpÁ4ÃÀ3à×/à «,ÃpÁ4ÃÐ44Ãph.ÃÀ¨/ÃZ3Ã@ç/ÃÀ2ð/àã-Àk4ÃPð4à¹4Ãph.Ãr/Ã@R3Ã`A.Ã-0ÃÈ/Ã*Ãà[4ð-=ê4Ãf1Àk4ÃÀ3Ãpb/Ãp>5Ã÷<ÃðŽ2Ãн2à 0À0Ãб4ÃÐX.ÃÐF1Ã@É4Ãàs0à i7ÃÂ,ÃPy3à 3ð/Ã`/1Ã@(:Ã0%4ÃÀ´-ðu1ðÎ7ð¼:Ãã1ÃàÒ5ÃÐÃ1à 2ÃÀ´-Ã`#3à<4Ã@@6Ã33Ã0–6ÃP/ü-ðc4Ã4ðà4àH2ÃpV1ÃZ3Ãý7Ã0¨3ÃpP2Ã!6Ã`Ö*àZ/àB3ÃpJ3Ãð¦.Ã@Ã5à¿3ÃPð4à¿3Àƒ0ÃP2ÃðŽ2Ã0º0Ãðá9à ‡2Ãð 3ÃÝ2Àú1Ã`š4Ã@í.à «,ðì2Ã`50Ãf1à­6Ãpµ6ÃP—.Ãð”1à {4ÃË5ÃP1Ã0[+Ã`²0Àè4ð/Ã@Ï3ÃðÛ:à×/Ã0¢4ðo2Ãï/Ã@Õ2ÃÐ44Ã071Ã8ðK8à 3Ã`5à “0ÃÐÉ0à×/à 1ÃÀ„5ði3Ã`#3ÃPy3Ã`”5ÃP/Ã?1Ã0C/ðæ3Ã0a*àï+Ãð0Ã071ÃÀ7-Ã@^1ÃpÍ2àõ*ð{0ä5ÃÐ8Àô2Ã` 3Ã’4ÃZ3ÃpJ3ÃÀ5ÃЫ5ÃpÍ2Ã0®2ÃÀ6Ãð1Ãà+Ãé0ÃàØ4Ãà.ÃPö3à 3Àq3ÃÐÃ1Ãày/ÃÐd,ÃpÁ4Ã@Û1ÃZ3Ã0=0Ãà,Ã33Ã@í.ÃÀ¨/Ãàä2ÃPs4ð+ÃÀ7-Ãн2ÃÐ¥6à ø4Ãðš0à L'Ã0I.Ã`¸/À**Ã](Ã@ç/Ãð/-Ã@á0ÃÐL0Ãà…-Ã`¦2Ã@Ã5Ã’4ðu1Ã0I.àã-à “0Ãð/-Ãr/Ãr/Àe5Ãàê1à ".ÃÂ0à 3À.Ã,À­)Ã@j/ÃZ3ÃÐá,Ã`Ð+Àƒ0ðþ/À0Ã0À/Ãpë-Ã-0ÃpJ3Ã0º0Ãp€*Ã0O-Ãàü.ÃÐ.5Ãf1À$+Ã`M,ÃÐR/Ã`Ä-à ½)ÃÐá,àZ/ÃÀï8ÃÐR/àË1Ã4à 1ÃÐF1ÃÀ2Ã`Ð+Ã0m(Ã~-Ã~-à~)ÃP2*ðø0ÃÀœ1ÃÐL0Ã@ó-Ãp\0Ãð¦.ÃÀÀ+Ã`Ö*ÃÀ®.àÑ0ÃÔ-ð/ð‡.ÃÐ &Ã`M,Ã0Æ.Ãu(ð"*Ãà.Ãð¦.Ã`¸/Ã`¾.Ã`Ö*ÃÀI*Ã0C/Ã0Ø+ð¥)Ãp†)Ã@(Ãï/ê0Ã@)Ã`Ä-ÃZ3ðø0Ã@F5ÃÀ3Ã0[+Ãðó6à Ÿ.Ã],ÃÐç+Ã`²0ÃÎ.Ã],Ãpt,ÃÂ,Ãà-ÃP/Àâ5Ã0´1ð,ÃÀÀ+ÃP&,àZ/Ã-0Ãì)ÃP.àf-Ãã1ÃÐ^-ÃP»(À,À /ÃÐá,Ã0O-Ã`S+ð½%à ø4ÃPy3ÃÀœ1Ãðˆ3àé,ð-ÃE0ÃP¯*Ã@ˆ*Ãàð0Ãàm1àË1Ã92ÃðS'Ãï/ð/Ã@ˆ*ÃK+à 2Ãpb/Ã'1Ãpt,ð/ÃÐÉ0ð{0à .,Ã`Ä-ÃÀ´-Ã0Æ.Ã@ó-Ã`;/Æ6àH2Ãà.Ã0Ò,Ãû-àÝ.Ãpå.Ã@^1ÃÎ*ÃP -À.ÃÎ.Ãà,à /Ã`;/Ã'5à 1ðà4ði3Ã`;/ÃP£,ÃÀ®.ÃÐç+Ã3ð/Ãð¬-ÃÀ=,ÃE0Ãð0À,ÃE0ÀÜ6ÃÂ0àN1Ãé0Ã@ˆ*à :*ÃÀÀ+ÃÀ3Ãð²,à¿3ÃÝ2Ã33Ãð0ð3Ã92à ‡2à /àl,ðQ7ÃàÌ6Ã09Ã`ó:ê4à65Ã0+3ÃpD4ðø0Àk4Ãp>5ÃÀ~6Ã0:ÃP[8ÃàO6ÃPa7ÃàI7ÀÄ:Ã`‚8Ãf1ÃÀ6ðAà HÃà%=à ¼>Ã5Nà 'BÃ@™<Ãð(Cðª=ÃЇ;ÃÐ9à +ÃQ.Ãà.ÃPö3ðW6Ã@¥:Ã@ ?Ã`|9Ã@™<Ãà@Ãà´:Ã>Bð?:Ã0û:Ãðó6à æ7Æ6ÃŒ5Ã0f>Ãý;à¡8Ã@·7Ã`4ÿ7Ã0º0Ãp27ÃË5ÃÀ`;ÃðÛ:Ãð|5Ãp»5Ãà[4ÃàÆ7á<ÃàI7ç;à °@ÃË5ÃT4à æ7ÃpÍ2à à8Ã@(:ÃPm5Ã` 7Ã@";Ãë>à§7Ã0TAÃðX;Ãðí7à•:à ì6Ã@Ã5Ã5Þ6Ãb<Ã*;ÃàØ4ðK8Ã<8ÀM9Ã`ˆ7Ãñ9Ã0:Ã@.9à K<Ãð4AÃ*;à­6ÃЙ8ÃðÛ:Ã@Ÿ;à Î;à :ä5ÃÀ`;Ã`ç<Ãp©8ÿ7Ãà+<à*7ù8Ã@(:ÃPÌ:Ãà=9à ò5Ã@¥:Ãñ9à ì6ÃЙ8ÀÊ9Àe5à³5ÃðR<Ãðj8Ã0¢4ÃÀ¢0ÃÀã:Ãðp7ÃàO6Ã0„9ÃÀ1.ÃÀû6à*7ÃðL=à à8à­6ÃPa7Ã`ˆ7à 6Ãp86ðo2Ã0–6Ã`”5ÃÀ6À7àZ/Àk4ÃÐÕ.Ã`6Ãn:Ãë:Ã`š4ÃPa7àË1Ã`¦2à Î;Ãh;à ò5ÃŒ5ÃÀ 4À_6à 6ðÚ5Ã69Ã’8Ã`8Ã@>à06Ã@É4Ã0´1àN1à .,Ãp‘<ÃÀï8à o6ä5Ã8à ™/Ãð 3Ã`6ð{0Ãð‚4ÃÀl9ðÎ7À1Ãàä2Ã<8Àe5ÃÐL0ÃPU9Ã`)2Ã@½6à65ÃÀõ7Ã`|9Ã’8à 3à¿3ÀÊ9à65à ì6Ã0œ5ÀY7Ã@Õ2ÃH6ÃàO6Ãà[4Ãàm1Ãpß/ÃÐ8Ã`Ž6Ãàs0ÃPü2ÃÅ6ÃÀ6ÃPü2Ãàg2Ãp86ÃÀr8ÃT4à 1ÃÀ~6à i7ðà4Ã`¬1Ã@á0à ì6à¡8ðc4ÃB7à­6ÃŒ9Ã0¢4À}1Ãý7ÃPð4ÃP2ÃÐÃ1ÃàÀ8Ã`Ž6ÃPÞ7ÃE0Þ6à 3ÃàÞ3Ã0 8à$8Ã` 3Æ6ÃP[8Ã0´1ÃK/à;ÃÐ"7ÃpJ3ÃÀ6Ã'5Ãz8ÃE0Ãàü.Ã`)2ÃÐ:3ÃPÒ9ÀÜ6Ã`¾.Ã` 3Ã@Ï3Ãã1à 0Ã`¸/ÃpÍ2ÃÀ2Ã05ÃÀ=,À7Ã`4àN1ÃpÓ1À_6Ãàð0Ãàä2Àe5à :ÃPs4Ãð#/Ãð‚4Ã’4à­6ð]5Ã@R3Ãf1ÃÐ:àZ/ÃpP2à65ÃÐ<ÃÐ.5Ãðp7ÃÝ2ÃÅ6Ã012Ã05à ".Àe5ÃÐ¥6Ã?1Ãðv6à c8ÃÐ.5Àú1Ã'1Ã-4Ãðç8Ã`š4à<4Þ6Ãp,8ÃàÆ7Ãp»5Ã05à­6Ã`5à¡8Ã` 7Ã0x;ÃÐ:àH2ö2ðì2Ã0–6ðÔ6Ã@½6à 6ÃPy3Þ2ÃP,+Ã@X2Àq3ÃÐ:Ãð|5Þ6Ã@Ï3ÃP[8ÃÀ 4Ã0=0Ã0¢4Àè4Ã0À/Ã0„9à¡8ÃPð4Ã07Ã3/Ãð|5Ãð 3ÃPä6ð?:Ã<8à ‡2ðW6ÃP‹0ðW6Ã@Ï3Ãp»5Ã9.Ã’4Ø7àB3Ã0I.Ã@í.ÃÀ~6Ãàä2Àk4Ã06à~)ÃÐR/ÃàU5ÃðX;Ãð‚4Ãð0àT0Ã@«9Ã`;/ÃÐç+ÃK/ÃÑ4à<4à o6Àâ5Ã0ã>Ã0x;à›9Ø7ðE9ÃÀï8Ã`ó:ð¼:Ã@{AÃà@Ãð^:Ãë>ÃÐÚBÃÐ{=ÃÓ>ÃÐ<Ã0à Ô:ÃPÆ;À¬>Ãàœ>Ã@{AÃPFÃP EàSEÃ@ìCÃÀ6Bð†CÃpÆHÃaQÃàûCÃwCÃð½?Ã0Z@Ã0ã>ÃàBÃ@WGÀˆDÃpOGÀEÃ`±EÃÐÈEà °@ÃPDÃ0Ý?ÃÀ³BÃÀ³BÃÓ>ÃPŠEÃ@{AÃÍ?Ã`FBÀCà !Càî@ÃHÃ@]FÃÐþ<ÃÐEFÃ@]FãFÃP®?àq@ÃPCÃn>ðnGÃ`:DÃаIéIÀÿEÃÐKEÃP EÃpØEÃPCÃpÌGÃP1?Ãp…>ÃP¨@àÐEà¸Ið CÃ0TAà}>À”Bð¤>ÃÐÚBÃJ@ÃÀ×<Ãh?à Fà DÃpö@ÃPŠEÃpOGÃð"DÃkEÃð«BðDÃP1?ÃPlJÃÀ³BÃð"DÃÀ6BÃÐÔCÃ0NBÃ`±EÃÐ]BÃÀ³BÃðR<ïHÃÍCÃÓ>Ã@@Ã0$IðDà °@ÃP EÃp‘<ÃwCÃÐWCÃh?Ã`FBÃð·@ÀpHÃ0NBéEÃ`±EÃAà @à 'BÃ0Ý?ÃмGÃàûCÃHðBà žCà ŒFÃÀGÃ`@CÃp?ð!?Ãà„BÀvGà žCÃÐæ@Ã?ÃÐQDà @õGð°<à DÃàŠAà ˜DÃ`4EÃÐÂFÃ&FÃpgCÃ0ÅCÃð:@ÃÀÃ0³FÃð™EÃJ@ÃÐì?ÃPÆ;àÖDÃÙAÃJDÃÀÅ?ÃàûCÃÀ§DÃ`X?Ã@øAÃà%=ÃPÆ;Ã`Õ?ÃÀ×<Ãñ=Ãàº9Ã0õ;ÃV>Ãà AÃý;À5=ð!?Ã?à È<ÃÀZ<ÃðL=ðÎ7Ã`Û>à 3@ÃÀÑ=Ã`á=ÀG:Ãp>À”BÃ0~:Ã÷<Ãñ9ÃpmBÃ@àEÃÀÃ0ï<Ãp‘<ÃàrEàÜCÃÀã:Ãn>ÃÐ ;Ã0û:ÃPs4à$8ÃP´>Ã0:Ã<8ðK8à ò5ÀS8Ãp‘<Ãà AÃp…>Ã0`?ÃðÉ=à:Ã@Ÿ;Ã7ÃàÀ8ð9;à ?>ÃPÆ;Ãð±AÃ0×@Ã`X?Ã@þ@Ã`^>Ã0:à Ô:Ãp<ÃPC<ÃpÇ3Ã0–6Ãn:Ãã1Ãå;ÃÐþ<À7ð9;Ã0¨3ÃÓ>Ãà1;à c8À¸<Ã;Ã$<ÃPØ8ÃðX;Ã09ÃP[8à ò5Ã0œ5ðK8Ã0l=ÃÐ"7Ãý7ÃÐ:Ã@Ÿ;Ãðá9Ã`d=Ã@=ÃÀZ<Ãå;ÃV>í:Ã@.9Ã@½6ÃàÒ5Ãð|5ÃÀ³Bð°<ð3<ðE9ÃÀŠ4ÃÐ(6à¡8ÃàÒ5Ã`ó:à ì6Þ6ð3<ð¼:Ã0:à;Ã@";à 3ÃPs4Ãà?Ã@Ÿ;ÃðŽ2à³5Ã`8Ãà1;ÃÀé9Àâ5ÀG:Ãb<Ã`ÿ8Ãp?à ì6Ãn>Ãp…>ÃPº=ÃPÞ7Ãðç8à;ÃPØ8Ãp&9ÃðÕ;ÃÀÑ=À;<ó9à c8Ãt=à c8Ã0õ;ðì2ÃàI7à=ÃP[8Ãàä2Ãà[4Ø7ðÎ7Ã-4Ã×3ðà4Ã@d0ÃÐ¥6Ãà>À¾;Ãà=9ÃPä6ÃPC<à Ô:ÃàÞ3Ãp»5ÃPÞ7à W:ÃðX;Ãðp7à$8à ?>Ã0 8Ã8à•:Ã×3Ã` 3ÃpJ3à E=Ãðù5Àk4ÃP[8ÃàÀ8ðW6ÀY7ÃZ3Ãp&9Ãðá9Ãpµ6Ãñ9ÃB7Ã@^1ÃPä6ðK8Ã@Ÿ;à06ðE9ÃÐ:Ã`ÿ8Ãp :ÃÀ„5ÃP2Ã`4ÃÐ(6ÃPê5ðø0Ã@R3ÃH6Ã06Ã@F5Ø3Ãz<Ãp;Ã0 8Ã0„9Ãà®;ðK8Ã07Ã`4ÃÀŠ4à¿3Ãp&9Ãà7:Ã07Ãt9ÃГ9ÀÊ9Ã012à 1à•:Ã0x;ÃŒ9à 3Ã@Õ2ÃPm5ÃàÆ7ð°<ÃÀZ<Ã`ÿ8ðÈ8Ã`¦2Ã92à¹4ÃÀr8ðo2ÃÐ"7àÅ2Ã07ÃàI7ÃàÆ7Ãðá9Ã7ðþ/ÃÀ6Ã0 8Ãt=à Ô:ÃPI;Ã06ÃÀx7ÀA;Àâ5Ø7Ãp;ÃPð4Ã0–6ÃPä6Þ6Ã09Ã8ÃÐ8Ã0õ;ÃÀN>Ãðš0à u5à æ7Ã-4Ã0=0ÃÂ0Ã`)2ÃPü2ÃPO:ÃГ9ÃÀï8Ã0Š8Ã@L4Ã’8Ã0´1ÃpD4à¹4Ãðp7ÿ7ÃàC8ÀS8ð!?ÃÀ„5ÃPÞ7Ãp‘<Ãn:Ãp‹=à c8Ã=Ãðp7ÃàØ4ð¤>Ã0õ;Ã`ó:Ãà[4à=Ãn:ÃÀï8À#@ÃÀT=ÃÓBÀÿEÃðX;ÃŒ9Õ>Ãý;Ãà„BÃý;Ãð½?àYDÃAÃÀf:Ã9à @Ãð½?ÃÀÅ?Ã`±EÃÐ ;ÀY7Ã`ó:Ã?ÃÍCÃ@ ?à 9?Ãð¥Cà Â=ÃÀB@Ãp?Ãh;Ã`á=ðª=Ã@iDÃð.BÃ`ÉAà Â=Ã0ï<ÃÀÑ=ÃÐ<Ã@.9ÃÐ ;ÃpÒFÃJ@ÃÓ>à}>ÃÐcAÃp‹=á<Ã`ù9ÃП7Ãh?Ã`ÉAÃ0Z@Ãð“FÃ`Û>ÃðGÃÐu>à W:ð¶;À7Ã>BÃàõDÃП7ÃÀl9à E=Ãð±AÃÐi@ÃpsAÃb<Ã0Z@ÀšAõCéIÃ0TAÃp‹=àú>ÃÐàAÃBÃÀf:Ã0é=Ã`p;ÃÀFÃ@‡?À¬>ÃÐ<ÃÐæ@À7ÀY7ÃP1?ð!?À¬>ÃÀÅ?Ã`^>ÃÀÃ0ã>Ã0r<à Q;Ãp…>ÃPÆ;Ãà AÃÐàAð9;ÃÐÔCðª=Ãðj8ÃðÕ;Ãp=Ã`LAÃ07Ã`d=ÃðÉ=ÃÀT=ÀÐ8Ãð·@ÃÐþ<à ?>ÃàC8ÿ7ÃP[8ÃPI;Ãn>Ã33Ãz8Ãr/À7Ãp¯7ÃP==Ã0û:Ãt9Ãð@?Ã0l=Ã0û:Ã>Ã`ù9ðÎ7ÀA;à ¼>ÃÐ9ÃPÞ7ÃÀf:ÃÐ¥6Ã0~:Ã@@6ÃPg6Ã69Ãý;ÃðÏ<àú>Ãð|5Àú1à <à :Ã06Ã`6ÃÀŠ4ÀÜ6Ãà?ÀG:ÃPÆ;Ã0û:ÃÐ"7ÃP[8ðò1Ãn:ö2Æ:Ãp©8Ã@<à­6à*7Ã8ÃЙ8ÀÖ7à Q;à:ÃÐæ@ÃÐQDÃÙAð3<ÃГ9Ãà7:Ã'1ð]5ð°<Ãp&9Ã@=ÃðÉ=Ãp=Ãý;ÃPm5Ãб4ÃÀû6ðà4Ãà´:Ã0ï<ÃÀ¹AÃÀB@Ã`Ï@Ãð^:ðÔ6Ãp86ÃÐþ<à u5à Ú9Ãà7:ÃðÉ=ÃPO:Ø7Æ6Ã0û:ÃPÆ;à ?>ðà4à 6Ãðó6ä5à 6Ã0–6ÃàI7Ã0x;à Q;Ãð4AÃÓ>à K<Ãà®;ÃП7Ãp—;ÃPÒ9À¸<Ã0:Ã`j<Ã05ÀS8à­6à¹4Ã`ˆ7Ãà=9Ãp?Ã@48Æ6Ã!6ÃÀ„5ÃÀ×<ÃÐ ;Ãðd9Ãðó6ÃH6ÃàÆ7ÃÀl9ÃГ9à {4Ãà´:Ãà+<Ãð^:ÃpÇ3à ò5Ã0`?Ã@Ÿ;ÀÐ8à•:Ãß<Ã@½6à:Ã@:7ÃPO:ÃŒ5ÃPg6Ã@½6Ã@48Ã0r<Ã8ÃÀ–2Ã`|9ÃÐ8Ã@=Ã0ã>àô?à Ú9Ãà1;Ãp—;Ã\=ÃðF>Ãà>Ã0¿DÃ0õ;ÃÀË>ÃPU9à Q;ÃЇ;Ã@(:Ã@:7Ã@X2ðÂ9Ãðí7ÃÐ:Ãh?ÃÐ:ÃPÒ9Ã@Ÿ;à u5ÃÐWCÃ@<Ãp£9Ãð2ðà4Ã@F5ÃÀ6ÃP2ÃPä6ÃpÍ2Ãß<ÃPð4Ãð‚4Ã`4í:Ãàa3Ã÷8ÀY7À)?Ã0+3à ‡2ði3Ã@:7ÃÀ2ÀÐ8Ã0 8Ãð|5ÃPm5Ã0¢4ÃÀ 4Àk4ÀÖ7À;ÃP2à K<à Ô:ÃÑ4Ã06Ã@F5Ã’8Ãn:Ãp=Ãp>ÃÐ ;ÃPØ8ÃðÏ<Æ6Ãð /Ãð½?Ã69ðQ7Ã05Ã`š4Ã@F5à;Ãàº9ðK8Ãp;ÃÐo?Ãà[4Ã07Ã÷8Àè4Ãp,8Ãå?Ã0:ÀÖ7ÃЫ5Ã<8Ã`v:Ãb<ÃðL=ðE9Ãðv6À7à o6à<4à06Ãë:ÃЫ5Ã@=Ãà´:Ãã1ÃÀ~6Ã@=à E=Ã@Ÿ;ðÚ5Ã@É4Àî3à 6Ã07Ãp:Ã@.9Ã0 8Ã` 7ä1Ã<8ðÎ7Ãðv6à 3Ãðù5ÃpV1ÃðR<Ã`”5ÃÐ(6ÃPä6Ãà¨<Ã@d0ÃPy3Ãp;ðQ7ðK8ü1Ã0Š8Ãà´:Ãp»5ÃðÛ:Ã-0Ãðí7Ãp»5ð9;Ã@F5ÃB7Àâ5ÃГ9Ãðv6Ãðd9à æ7ÃPÞ7Ã@";à:Ãz8ÃàÆ7ÃpD4ÃPØ8à ì6Ã0~:Ã`|9ÃÐ¥6Ã06Ãà´:ÃàÀ8ÃPa7Ãt9Ã@É4Ã7ÃП7ðW6Àî3Ã@É4ðª=ÿ7Ãð4à*7ÃÀ 4ðc4ÃpÁ4Ã@X2Ã0œ5Ã07Ã8à W:ÃPy3Ã`Ž6ÃÀr8ÃpÇ3Àâ5àÅ2Ãp>5à 2Ã0%4ÃPm5à ‡2Ãб4Ã`”5Ã`¦2à*7Ã`8ÃÀ6Ãð4Ãà¨<à¡8Ã@ù,ÃÐ(6à 6Ã3ÀÖ7Ã3Ã`)2à 2à<4à 3Ã0+3Ãðó6Ã@@6Ã@Õ2Ã@ó-ði3Ãã1Ã`A.Ã@Ã5ð3àT0ÃðÐ'Ãp\0ðà4ÃÐL0ÃP.ö2Ãð‚4Æ6ði3ÃpÁ4Ãx.à$8ÃàÒ5Ãàö/Ãà[4ðu1ÃÐ¥6Ã@á0Àú1Ã’4Ã?1Ã`;/àT0Ã@L4Ã0 8ðò1ÃpP2ÃË5Ã`²0ÃP‘/Ã?-ðò1ê4ÃÀ3à 3à (-Ã0¢4Ãï/Ãð¸+Ã0´1ÀÖ7à*7à06Ã'5Àw2Ãð /à ™/à ™/Ã0Ø+Ãf1ÃÐ(6ÃÀ´-Ãð|5Ã` 3ÃÐÏ/ðQ7Ãðš0à ò5Ã`2Àe5ÃÐ:3À-à ™/ÃЙ8ÃÀf:Àô2Ã`#3à Ÿ.Ãн2ü1Ãà…-ÃÑ4ÃPg6ÃÝ2Ãõ.ð-ð]5ÃÐ¥6Ã0„9ÃPð4ðæ3Ã@(:Ãн2Ã@X2Ãðv6à65Æ6àË1ÃP2Ãàð0Ãã1àB3à ò5à æ7Ã@(:ÃE,ÃÔ-à þ3Ã-Ø7ÃàÌ6ÃP0ü1Ã0®2À7ÃP2Ã4ðì2Ãé0ÃÀ6ðì2Ã@á0Ã@Õ2Ã0´1ÃÐR/Àq3ÃÀ3ê4Ãз3Ãpn-ðò1ÃÀ3Ã@Û1Ã'1ÃP-Àú1Ã@½6Ã`¬1ÃàU5ðà4ÃÀû6ÃpD4ÃŒ5à³5ÃÐ@2ÃÀ+/Ä,Ãp¯7Ã@Ã5Ãðÿ4ðo2ÃpÍ2ðu1Ãp»5Ø3Ã-0ÃÐR/ÃÀ–2ù8Ã0+3ÃÝ2Ã!6Ãz<Ãàa3Ãð /Ãð|5ðÎ7ð/ÃÎ.Ã` 3à 1à ".à ø4Ã@L4àÑ0à “0ÃàØ4Àe5À›,ð/ÃH6àH2ÃÅ6Àe5Ã@j/ÃpÁ4Ã`8ÃÐ(6Ã`ˆ7à ò5Ã0œ5ÃÈ/ÃpD4ÃàÞ3Ãp86ÃÀ1à06Ã`2Ã@:7Ã0:Ã0¨3ÃP‘/ÃÐ(6Ã06ÃP.Ã@·7Ã`|9Ã`š4Ã@±8Ã@(:à 2ði3Àô2ðc4Ã33Ãб4Ã0–6ÀÐ8ði3ÃŒ5Ãp&9ÃÀ7-à 3Àw2ö2Ã0:Ã06Ã@R3Ã@d0Ã` 7ÃÀ3ÃÐÃ1ÃP-ÃP‹0Ãf1Ãð;+à¿3Ã@";à 6ð/à þ3à à8ÃPa7ÃpÍ2ÀÖ7Àe5À7Ã`G-Ãpß/ÃŒ9Ãp86ÃП7ÃpÍ2Ã'5à 6ÃÐÃ1À_6ði3Ã7Ãàð0ðò1Ã`/1ðo2ö2Ã@ù,Ãp\0ÃP1Àq3ÃP[8àÅ2ÃÀ¢0Ã012à­6Ã÷8Ã’4à à8Ãh;Ã`#3Ãð#/ðÔ6Ã0õ;àé,ÃE,àB3ÃÀ6à­6Ã`Ä-à 2ÃÐ"7ÃÐ"7Ã@Ã5Ã],ÃÐ44ÃðŽ2ÃЫ5Ã`5ÃðÛ:Ãp©8ü1Ãð).à þ3ÃpJ3ÃÀ3à 0ÃP/Ãðù5ÀY7Ã07ÃpÙ0ÃpÍ2à 6Ã0=0Ã`2ÃP‘/ÃP2Àú1Ãà[4Ãð|5Ãàa3Ãàg2à~)à<4Ã@R3ðc4Ãð2ÃpÓ1ÃÀ¨/Ãðˆ3ÃZ3ÃÝ2Ãz8à¡8Ã`50Þ2Ã-0ÃE,à 6à u5Ã4à “0Ãðd9Ã69Àô2Ãpë-ÃN5ÀY7à 3ÃpJ3Àk4à§7Ãñ9ÃÀœ1à 3ð/ð]5ÃЙ8Ãðv6Ã?1ðì2ÃP1ð{0Ãðš0ÃÐ(6ÃPg6ÃZ3Ã`)2ÃÐÃ1ÃÀ¨/ÃÐÉ0Ã0O-Ãз3Ãpn-Ã!6ÃÀ3ü1à 3Ã@ó-Ãx.Ãpå.ð3ÀS8Ãpß/ÃW-ÃÐ:Ã` 7Ã`”5ÃÐÕ.ÃÐá,ð{0Ã012ðò1à “0ÃÐF1Ã`50ÃPy3Ø3ÃÐj+ÃÐó)Ã`”5Ãðš0ð™+Ã0º0Ãã1à¿3àN1Ãàê1Ã@Õ2ÃÐ44ð/ðu1Ã0%4àÝ.Ãx.àé,ÃÐL0Ã` 3Ãð /ö2ÃÐ44Ã@X2Ãé0Àq3Ã-0à “0ÃPð4à 3àÝ.Ãðš0Ã92ðì2à Ÿ.ÃÀ=,Ã@d0àÝ.à 3ÃÐÕ.ÃàÞ3Ã`¾.à ¥-ÃÀ7-ÃPD'ÃP‘/ö2ÃP‹0à ì6ÃÂ0Ãàä2àf-ð‡.à “0Ã0=0à 3à (-ðo2ÃP1Ã071ÃÐ@2Ã@p.Ã@á0Ã×3ÃÐR/Ãpå.Ã*ÃÐÉ0Ãàð0àË1Ãà.ü-Ã69Ã0O-Ã3/ÃP…1ÃPð4Ã9.àé,à ò5Àƒ0Ã0Æ.ü-Ãð#/à 2ÃÐÛ-Ã`A.Ã`M,ÃZ3ÃpJ3Ãð0Ãà‘+Ã0=0ÃàØ4Ãã1ÃPs4ÃÂ,ÃpV1Ã0C/Ã@á0Ã@ÿ+ÃP -à «,ÃÀ2à æ7ÃÐ@2Ã`2à þ3ÃP‘/Ãp¯7ÃÀ¨/ÃàØ4Ãðˆ3Ãð4ÃŒ5ÃÀ¨/ðø0Ãð).Ã`/1à¿3Ãt9Ã-0Ã`A.ÃZ3Ã0œ5Ã~-ÃB7Ãà‹,ðÚ5ÃÐ¥6ÃÀ 4Ãð#/ð-ÃÀ„5àf-Ã@|,Ã`;/Ã`¦2Àâ5à06ÃÀŠ4Ãàð0ÃpÙ0à 2Ã@½6à<4Ãðd9ÃП7ÃpP2Ãðˆ3ÀM9àB3Ã@ù,Ã@R3ð-ü1ÃÀŠ4Ø3ÃpJ3ðÔ6ó9ðþ/Ãàm1Ã`Ð+à 1ÃàÒ5Ã`š4ÃPü2ÃPê5Ã`ˆ7à*7Ãàm1à “0í:ÃZ3ÃpÇ3ÃÀ5ðÈ8Ã-4Ãðv6à ø4ÃÀï8à:Ãð/-ÃN5à Ú9Ã@@6ÃÀx7Ã012ÃPg6ÃÐ44Ã@=ÃàÒ5ÃP2Ã'1ðì2Ã071Ãpµ6ÃП7à W:ð9;ÃÐø=À Dà @Ãp<Ã@±8ÃàÒ5Ã`6Ã@X2ð¥)Ãàê1à 0Àî3ÃàO6ÃÐL0ÃP2Ã`¦2Àô2Ãñ9À_6Ã7à i7ÃÀ„5ÃÐÃ1Ã'5Ã`/1Ä,Ãpß/Àw2Ãf1ðò1Ã`4ði3ÃPs4ÃZ3ðc4À}1Ã`6ÃÀr8Ã'5Ã@.9Ãà¨<Ãz8Ã'1à ø4à*7à 2Ã@ù,à 2ÃÀ3ÃpÁ4Ãðv6À7À_6ÃàÞ3àÝ.Ãl0Ãàm1Ã@á0àT0ÃÀ´-ð«(ÃpJ3Ã@á0à ".ÃP,+Àƒ0ÃpJ3ä1Ãð¦.ðø0ÃZ3Ã!6ÃË5Ãà.Ã@Õ2ÃЙ8à i7Ãà=9Ãp :ÃPg6ÃÅ6Ãз3ÃÐÃ1Ã@“=ÃPÞ7Ãðj8à­6Ã0:Ãðˆ3Æ6ÃÀŠ4Ãp27Ã07Ã0¨3ÃÀN>Ã@.9Ãß<Ã0¢4à 6Ãðí7ÀÖ7Ã@L4ð/ÃÀœ1Ã09Ã`ˆ7ÃàØ4ÃPÒ9Ã@«9ÀÐ8ÃÀx7Ã@±8Ã4ÃB7ÃÂ0ÃÀ~6Ã@«9Ãp86Ã`”5à;Ãb<ÃÀx7Ã`6Ãp?ÃÀã:ðÈ8À}1Þ6ÃpÁ4ÃÀ1.ðQ7ÃÐ:ðª=Ã@.9ÀY7ÃÐ44Ã`ÿ8Ã@.9àB3À;Ã0õ;ÃÐ:Ã'5Ã@·7à 6ó9Ã0=0à*7ÀÜ6à ø4í:ÃЫ5ÃPê5ðì2ÃàÞ3Ãå;Ãðÿ4ÃPê5à 3ÃÐÏ/ÃÐ8Ã`j<ðQ7à i7Ã0ï<ÃÐ<ÃÀÝ;ÃÀ 4à§7Ãðá9Ã0¢4ÃÀï8ÃàÆ7Ãp>5Ã7ÃЫ5Ã`¦2ÃPä6Àî3À;Ã`í;ÀÐ8ÃpD4à æ7Ã09Ã@@6Ã@Ã5ÃÐ:ÃàÀ8Ãp©8Ãð‚4ÃPÞ7à;ÃÀ6Ã69Ãà,ÃÀ5Ã`¬1ÃpÁ4ðK8ÃЫ5ð/Ãpb/Ã0¨3Ã÷8Ã0œ5Ã05à 6à­6Ãý7Ãp£9Ãð‚4Ãðÿ4Ãp86Ã0%4Ã0f>ÃÀ6ÃP.Ãf1À;Ã<8àB3ÃÀZ<ÃÀx7à³5Ã5ði3Ã$<ÃPm5Ã`4Ã`ˆ7Ã0x;à•:Ã@Ã5à ™/ÃÐ:3à Â=ÃPê5Ãp\0ð/ü-ä1ðÂ9ðÚ5Ã0+3ÃÐ"7ð?:Ãðí7Ãpb/à ‡2Ãà>ÃÐÃ1ðc4ÀY7ÃÀf:à °@Ã@<Ã09Ã@Õ2ä5ÃÀ`;à ø4ö.à o6ÃÐÏ/à {4Ãà7:Ã`|9à <Ã`”5Ã0I.Ãã1Ã92Ã-4ÃÐR/ÃÐi@ÃàÌ6ÀY7ÃpV1Ãpµ6Ãð2ÃÐ44ÀÊ9ù8ÃpÁ4ðu1ÃP2ÃpÙ0à u5Ãp86ÃÀé9Ãpµ6à ò5Ã0¢4ÃB7ÃPä6Ãp\0ÃÐÏ/Ãr/ÃÀ×<Ãðp7ð]5ÃÀ~6Ã0+3Ãðj8ÃÀ 4Ãàa3ÃàÞ3Ã`Ö*ÃÐ.5ÃÀŠ4àÅ2ÃpÙ0Ãà®;Ã`4Ã!2à×/Ãðˆ3ðì2Ã0%4ÃàO6à 1Ãðd9Ã06Ãp©8ÃË5à 1ÃÀ 4ÃPê5à 1Ãàð0ÃPü2Ã0:Ã`‚8ÃЫ5Àk4à :ðÚ5Ã0û:ÃP.Ãàä2ÃÝ2ÃÐ(6Ãðÿ4Ã`50Ãàê1ÃH6Ã0%4à u5Ã0=0Ã5ÃPa7Ã'5ði3ÃË5Ã@.9ÃÀõ7Ã012ð-Ã@p.Ãp\0Ã`4ÃPm5Ã`¸/àÝ.Ã0=0ð‡.Ã06ÃPÞ7ÃÐ.5ðø0ÃT4ÃÀ„5Ã0=0Ã&ÃÐ¥6Ã`¾.Ãð#/àË1Àâ5ÃPä6Ãàð0ÃðŽ2ð/Ø3à 6ÃÀ~6À}1Ãðó6ÃN5ÃàC8ÃÀ3àl,ðc4Ã8Æ6Ãp\0Ã071Ã`5ÃŒ9Ãh;ÃN5ÿ7ÃàÌ6Ã@Õ2Ã5Ãð‚4ÃàO6à ø4Ãt9Ã-0ÃP0Ã0®2à­6à›9Ã@L4Ã@Ï3Ãðj8Ã`‚8Ãð‚4ÃÀ~6Ãð0Ãt9Ã'1ÃðÛ:Àâ5Ãðd9Ã@48ÿ7ÃÀ6ÃPä6ÀS8à:Ã0®2Ã@:7Ãë:Ã@R3à 3ÃàÆ7ÃPä6ÿ7ðø0à {4ÃP2Ã`²0ÃП7ÃpD4Ãð4ÃЫ5Ã@«9ÃÀ–2Ã@:7Ã@½6Ã` 3Ã@d0ðò1ðÈ8Ãð”1Ãðp7Ãõ.Ã0[+Ã0–6ÀG:Àe5Ã`2Ã05Ã0º0À}1Ø7Ã`50à {4ÃÐÃ1Ã5Ã0œ5à “0Ãð1àÑ0Ã05ðà4Ã05ð]5ÃÀï8í:Ãb<Ã0¢4ðc4Ãàs0ÃPü2Þ2Àe5ÃpV1à×/ÃpÇ3Ãðp7Ã0´1Ã@:7Ã`¬1Ã0–6à<4ÃÝ2ÃPü2Ãàä2Ã@L4ÃPü2ÃÀx7Ãàm1ÃP—.Ã`;/Ãðˆ3ðE9Ã@Õ2Ã`‚8Àú1ð/Ãé0Ã@X2ÃÀ5Ãб4ÃÀœ1à i7ÃPö3ÃPü2Ã`Ž6ÃÐ:3À_6Ã@j/Þ2ðW6ÃàÒ5à u5ÃT4à 0ÃÐL0Ã!2à 6à$8ÃPg6à§7ÃP1ÃpP2ö2Ã0+3à¡8Ã`2ÃðÏ<à 6Ã@ÿ+ÃpÙ0à¹4ÃÐ@2ð™+Ãðÿ4Ã0œ5ðQ7ÃZ3Ã@Û1à «,à à8Àô2ðQ7Ã`ˆ7Ã5ÃÐ44ä5Ãàð0à 1Ãàö/Àw2Ã33Àe5Ãp86ÀÖ7Ã0+3ÿ7Ãz8ÃàO6ÃT4Ãpµ6ù8ÃÀÝ;ÃàU5ÃÐF1ÃÐ:3ÃÀ3Ã0Ò,à ø4ÃàI7à ‡2ÃQ.ÃÐ.5ÃÀŠ4Ãðí7Ã`)2ÃÀ®.Ã05Ã3à þ3à ‡2ÃpV1ðæ3Ã`Ž6Ãðv6à 1Ã0O-à 3Ãà@ÀÐ8ÃðŽ2Ã0®2Ãpñ,ÃpP2ÃP-ÃàO6ðc4àÅ2ðW6Ãàä2ðc4ðæ3ðo2Ãð”1ÃpÁ4Ãðí7à ì6à ø4ÃZ3ÃÐL0Ãàg2Ãð /ÃÝ2Àq3ÃpÇ3ê0à 1ÃÐÉ0ÃàO6ê4Ãð /Ã`p;Ãàg2ÃP/à 6Ãðp7ä1Àk4ÃZ3ðÚ5ÃÐ¥6à ø4Ã0º0ðò1à þ3Ãf1ÃP1Ã@Û1Ãl0Ã@Ã5Ã@@6Ã@É4àÝ.Ã`A.ÃpP2ÃpJ3ÃP…1Ã@R3Ãã1ðÚ5Æ6Ãðˆ3Ã’4ÃÀº,ð{0ÃÐÉ0Ã92àã-ÃE,à§7ÃpP2Ã`”5ÃЫ5Ãàs0Ã0À/à 6Ãàð0àÅ2Ã!2Ã@v-Ã0+3ÃPs4à¿3Ã`6ÃÀ5ÃÐÏ/Ãàm1à ø4ÃЫ5ÃP2Ãpß/ä5ÃP-ÃÐ^-Ã0´1À}1ð,Àq3Àq3ÃÐL0ÃZ3Ãàa3Ãн2ÃT4ÃÐÉ0ðo2ð/ÃË5ü1ÃÐ44Ãðˆ3ÃPg6ÃÀ´-Ã`²0Ã7ÃP‹0Ã@v-ð™+Ãð/-Ã@|,ÃÀ~6À0ðò1ð/ÃpÁ4ä5ö.ð,ÃPü2Ãpµ6ÃÐÉ0ðŸ*Ãà.à<4ÃÀ3Ãн2Ã@ˆ*Ã`¬1À**à “0ÃP‹0Ãày/Ãð5,Ã@L4ðo2à 0ÃK/ÃP1Ã'1Ã@48à 3Ã@á0ð“,Ãp'Ãï/Ãé0Ãð0Ãp†)Ã`¸/à×/ÃÀ¨/Ã071ÃÀŠ4Ãf1ÃpJ3Ãpß/Ã-ÃPy3ÃÀ®.Þ2À /Ã-4ÀÄ:Ã7ÃpV1à Ÿ.Ã@ *Ã0´1ÃÐÏ/ÃP—.ä1ÃÐÏ/ÃP0ÃÀC+À.À.ê0Ã5Ãé0ÃP1Ãò(ðþ/Ã0¢4ÃЫ5ê0ÃÐX.Ã0´1Ãp£9Ãpå.ÃP…1À‰/ðæ3Ã`¸/Ãï/à¡8Ã0I.à`.à65Ã-0ÃÐ@2Ãð0Àî3àB3Ã@Û1Ã`4à o6ÃP1ÃÐX.ð-Àk4àB3ÃàU5Ã`6Ã@X2Ã0´1Ãà‹,àN1Ãày/Ãз3ÃðŽ2ðæ3ði3Ã0ê(Ã@É4Ãàê1Ãð2Àè4Ø3Ãf1ÃÐí*Ãà[4Ã`¬1À}1ÃQ.Ã`¾.Ãà.Ã@v-à “0ä1Ã0+3Ãð/-Àq3à65àÑ0Ã@Ã5Ãp>5ÃPU9Ãð|5Ã7Ãx.ÃÐ44Àè4Ãõ.Ãf1ðÔ6à 2ê4ÃЫ5Ãðó6Ã~-ÃàO6ÃP…1ÃÎ.à (-Ã0º0Ã@Û1Ã05Ã`4ÃÀ„5à³5Ø3ÃÀ3Ãph.ÃÐR/àZ/ÃP‹0Ã012ÃÐ¥6Ã`4ÃZ3Ãà=9à9ÃÀõ7Ãý7Ã’8ÃE,Ãà*ÃT4Ã!2Ã`”5ÃPê5ðu1Ã0´1Ãàg2ðu1àH2À}1ÃpJ3à þ3Ã?1Ã@Ã5ÃÀ6ÃP©+Ãàg2àN1ÃP2Ø7à {4Ã`5ÃÐÕ.Ãx.ÃP2Ã0¢4à<4Ã@d0Ã@É4à×/Ãð¸+Ãð /à 1ÃP‘/Ã@Û1ÃÔ-ÃP2Ãàê1Ø7Ãðj8Àe5ðÔ6ð/À•-Ã0´1Ã0–6Ã5ðø0Ãà.Ã0ê(ÃÀ%0Ã0=0ÃÀ+/ÃÀ1.Ã@í.Ã@^1Ãð2ê4Ãð|5à 3à ‡2Ãp>5Ãpå.ÃÚ,ÃÐ.5Ã-0Ãð0Ãà,à (-ÃÐ¥6à×/Ã@v-Ã071ð¥)Ã@L4Ã@ù,Ã0%4àH2ÃË5Ã071ÃÀ%0Ãx.Ãpz+ÃP.à³5ÃÐR/Ãu(Ãà…-Àk4àé,ÃP-Ãàü.Ã@á0à ‡2Ã@R3ÃPy3ê0Àq3ÃÐp*Ã@ˆ*à ·*Ãp'ðø0ü-ÃW)Ã0U,Ãpý*ÃÀ+/Ã`¸/Ãr/Ã@j/Ê+Àw2ðþ/àl,Ã`50Ã-0Ãx.ÃPü2à 1ÃP‘/Ã0Ø+à 3Ã0®2Ã@”(Ãð5,ÃP1ÃÀ1.ðø0ðø0Ã@j/Ã3/ðW6ÃP‘/ÃÀº,Ãp’'Ãp(Ã0º0Ã@ÿ+ð()Ã)Ãð#/Ã0+3Ã`î&À‰/Ã92à .,ÃÐ|(Ã)Ã~-Ã@j/Ã`¾.àZ/Ã0y&ÃW)Ã@ó-ÃP/À1ÃÀ7-ÃP1Ãð”1Ãàm1à~)ÃP‘/à%ÃÚ(Ãp’'Ãì)Ão)Ãl0Ãð¾*ð]5à {4àf-àB3ð.(Ãàü.ð-ð-Ãû-À.Ãà‹,ÃÐí*Ã@‚+ÃÐ%Ãð¬-Ã`_)Ã`â(Ã`A.ÃP¯*Ãð¸+À¡+À¡+Ãà.ÃÝ2Ãðš0à 1ð .Ãð2ÃW)ÃP0À.Ã0Ì-Ãà—*Ãpz+ÃÀ´-Ãl0Ã@X2ÃÐó)Ãð2Ã@^1Ã0C/Ãà )Ãð¦.Ã!2Ã0Ø+ð™+à +Ã@v-Ã9.ÃÐp*ð{0ð“,à×/àZ/ÃŒ5à ™/à×/ÃÐó)Ã`Ê,Ã@ó-Ãõ.Ãï/ÃÐÃ1ÃÀ–2ÃÀ1.Ãpn-ÃÐ^-à «,ð/à 2Ãðš0ÃÐÛ-àH2ÃÀ®.Ãðš0Ã`Ž6ÃN5à*7Ãr/Àô2ð‡.Ã@ÿ+Ã0C/ÃÀ¨/ÃÐÕ.ÃP—.Ã@ó-ÃÐj+À}1ÃPÁ'àã-ÃÀ%0Ãà-Ã?1ÃÝ2Ã0g)à þ3ÃE,àN1à 1Ãð /àf-ÃÀœ1ÃÀœ1Ã0+3ÃÀº,ð/Ãf1àÑ0Ãð4Æ6Ã@p.Ãp†)ÃÀ–2Ãà.ÃÀ2Ã@48àÑ0ÃÐL0Ãp÷+ÃÐÏ/ÃÐX.ÃQ*àé,àÝ.Ã`;/Àâ5Ãð /àl,ÃÐL0Ø3ðÚ5Ã`¾.Ãpå.ÃpÙ0ü1ÃÂ,ÃpV1ÃE,Þ6Ã0+3Ã@v-Ã0Æ.À-ÃW-À-ÃÀ+/Ã`S+ÃÀ%0Ã`A.Ã0O-ü-àN1ÃpÙ0à 2Ã071Ã-0ð/à 1à Ÿ.Ãàg2Ã`_)ÃpV1Ã`M,Þ2à æ7ÃÀÀ+ÃQ.Ã`Ä-ÃQ.Ã0O-ÃpÙ0Ü(ð-Ãðš0À}1Ãpå.ÃPg6Ã@X2ðì2ÃK+Ãàs0Àw2ð/à Ÿ.à 1ÃË5Ãã1Ã@d0ð,àT0ö2Ãà+ÃÐ.5Ãph.Ã@p.Ã`50ÃÀC+ÃÀ´-ÃðŽ2Ãp;à<4ÃP -Ãà…-Ãpz+ÃP2Ã!6Ã9.ÃpD4ÃPö3ê4ÃÀ=,Ã07ÃpÓ1Ã`;/Ãð‚4ä1Ã0Ò,Ãð/-à65ÃÐL0ÃÀ 4Ã`v:Ãàm1Ãpß/ð/Ãà‹,Àô2ÃÐL0Ã0´1ÃÐ@2ÃÀ1.Ãàê1Ãàð0Àw2àZ/ÃàO6Þ2ÃàÞ3Ãp»5Ã8Ã`4ðø0ü1Ã06Ã@Õ2Ãàö/ÃË5ÃpÓ1Ãàg2Ã@X2ÃPm5Ã071ð3Ãð 3Ã`6Ã05à*7ÃÐ@2Ã~-Ãàm1ÃpP2ÃÀ–2ð{0à “0ði3À›,ð?:ÃàØ4Ã'5À1Ã&Ã@L4Ãp27à×/ÃÀû6ÃÀ5ä5Ãàs0Ãð¬-Ã0Š8ÀÖ7Ã-0Ã@@6Àƒ0ÃÀŠ4Ã`;/Ã06Ãàs0Ã0O-Ãð|5ÃÀ3ÃÐÃ1à 2Ã×3Àô2Ãý7ÃÀx7ÃÐ9ö2Ã0¢4À›,ÃðŽ2à 3ð¼:ÃH6à ‡2Ãб4Ãð1Ã`”5Ã@Õ2ÃpJ3Ãðd9ÃPö3À1ö.Ãàa3ÃP -àZ/Ãàs0ðæ3Ãà[4àH2Ã@·7Ã@L4àÝ.Ãr/Ã`¾.ÃP2Àe5ÃpV1ÃÀ®.Ãð¸+Ã@j/Ã×3ÃÀ 4ÃP2ÃpJ3Ã@Û1ÃÀœ1ê0àË1Ã09Ãð4ðW6Àú1Ã],Ã8à 1ðì2Ãpß/ÃP2ÃP-Ãpn-Ãàs0ó9Ãàm1À}1ÃP-Ãð /Ã`ÿ8ÃÐ¥6ÃpÍ2Ã@p.ðu1ÃÐF1Ã0%4Ã071à É'ÃpÍ2ðo2Ã06ÃP‹0Ã`Ž6Ã`6ÃpÇ3Ãà.ÃPy3ÃPä6Ãß<àT0ÃPg6Ã`²0Àq3ðø0Ã`)2Ã4ÃÈ/Ã@^1Ãð /ÃpD4Ã`/1ÃÐÛ-ð‡.ÃÀº,Ãð2Ãð5,à X%ÃpD4àH2Ãp£9Àú1ÃÔ)ÃpV1Ã@X2Ã@ç/Ã`¸/Ã?1ÃÂ,Ãph.ÃàÀ8ÃÀï8ÃÀ3ÃÐL0À0à (-Ã@R3Ã`”5Ã07Ã`50ÃÐ"7Ãð”1ÃP -ö.Ã’4Ã`4ÃPê5ÃàO6Ãðó6ÃÐ"7ÃN5Ãð0Ã,àÅ2ÃP—.ðà4ÃЫ5Ã0œ5ÃÀœ1Ãðÿ4ÃPy3Àƒ0ÃpP2ð{0Ãf1Ãà-Ãð2ÃàÞ3ÃÈ/Ã0¨3ð-àã-Ã0g)Ã@v-Þ2Àî3Àâ5Ã4ðÚ5Ã@Õ2Ã-0ÃÐÕ.à 3Àâ5Ãàm1ðì2ÃÐÉ0ÃpÇ3à o6à Ÿ.ü1À /ÃPÌ:ÃpÁ4Ã-4ÃpÇ3Ãб4Ã4à {4À0À‰/ðà4ÃpD4ê4ð]5à ø4ÃpÓ1Ãp»5ðW6ÃPö3ÃÂ,ðì2Ã!2Ãz8Ã!2Ã0C/ÃpV1ÃZ3Ã` 3Ã@Ï3à 6ÃàO6ÃàÞ3ÃT4Àw2Ãý7ÀÐ8ÃÙ=ÃÀ–2À}1à<4Ã@É4ÃT4Ãàs0ÃÀ2Ãð#/ê0Ã×3Ã@";Ãð|5Ã`v:ÀG:Ã`í;Ãl0Ã`š4à ì6Ã`)2Ã'1à06Ã@F5Ãð 3Ã`)2Ã`;/ÃBÀG:ÃÀ7-Ã4Ã` 3ÃP.Ãð”1Ã`ó:Ã0Ì-àÝ.Ã<8ÃÀ6ÃÀã:ðK8ðQ7Ã;Ã@:7Ãpë-Ãð‚4Ã@«9ÃðŽ2Ãðp7Ã@d0Ãð4ÃÐ8ðþ/ÃE0ÃË5à*7Ã0œ5ÃpÙ0Ãp,8ÃPm5Ã0C/Ã@j/Ãðÿ4à<4Ãp27Ã’4à “0ðæ3Ã@Ã5Ãз3ÃÀ¢0ðþ/Þ2À_6Ã` 7ðæ3Ãàð0ðÈ8Ã`v:Àƒ0Ã` 7Ã@É4à 2Ãð2ÃÐÉ0Àe5Àk4ÃÀ=,Ã`G-ÃÐÕ.ÃÐ:3àr+ÃP/Àe5Ãð‚4Ãà´:ÃÀx7ÃÐÃ1ÃK+Ã071Ã@Ï3ÃP‹0ÃÝ2Ã33Àè4Ã5ö.Ã!2Ãðš0Ã`2Àô2ü1ÃP1à ±+àã-ð3à•:ö.ÃP2Àè4ÃPü2Ã0I.ÃPy3Ãr/ð .Ã’8ðo2à “0ðø0Ã0´1ÃÐÏ/Ãн2Þ6à`.ÃT4Ãð0Ãð0Ã`¾.Ã07Ãàa3ä1Ãp»5ÃP…1ÃP1Ã071ê4ÃÀ+/Ãðš0Ã`Ü)àr+ÃpÁ4Þ2ÃpP2Ã@L4Ã`/1Ã33Ãð1Ã@|,ÃÀ7-Ã0%4Ã` 3ÃpÁ4ÃÀ3Ãð‚4Ã`š4à 6ÃÀ5ÃðŽ2Ãé0ê4Ã0Ì-Ãð /Ãõ.ð/ÃÀº,Ã9.ÃÐ44Ãð /ö.ÃPê5ÃÐL0à ¥-ÃE,ð()Ãб4Ãð).ÃàU5Ã!6Ãpë-Ã0+3Ã'1à o6Ãp,8Ã`#3à ø4ÃÐ44ÃÐÃ1ê0ðŸ*Ãr/à ‡2àË1Ãð/-Ã0Æ.Ã3/ð-ÃPy3Ã`Ê,ÃÐç+Ãð‚4ð .Ãн2Ãàg2Ãpý*ð/Ã`6ÃZ3ÃÀ%0à ½)ð/Ã0I.à .,Ãðš0Ã@d0ÃP2*Ãàm1àT0Ã'5ö2Ãð¦.à ¥-à F(ö.ðø0Ãp86ÃPö3ÃP2à ™/Ãà-Ã0C/Ã`²0ÃK/ÃÐÉ0Ãp†)ÃÐÏ/Ã@ù,Ãð).ÃÐX.Þ2Ã@L4Ãð 3ÃpP2àT0ÃP/Ãðó6Ã?1Ã33À}1Ãpb/ÃP©+ÃP0Ãð”1à þ3Ã`Ê,Ãб4ði3Ã-4Ãû-ð-Ã`A.ÃÀû6Ã0%4à ‡2ÃÀï8Ã5ÃÐX.à Ÿ.Ã0º0ÃÀ3ÃÐÃ1Ãð2Àô2ÃP.Ãàa3Ã`¸/Ãð /ðc4à 3ÃŒ5À1ÃÀ2ÃÀ%0Ã`)2Ãðv6ðª=ÃZ3Ã` 3à (-ÃP,+à “0à ò5à 2ÃЫ5Ã`2Ã`¬1ð]5Àú1Ãðp7Ã’4Ã@@6Ãàm1Ã`Ä-Ã`¦2ðì2Ãà1;ð/Ã@+Ã`¬1Ã`4Ãð|5ÃZ3Ãðç8Ãðó6Ã07Ãp£9ÃN5ÃpD4à {4Ãl0ÃÀ5ðæ3Àq3à 1à65ÃP[8Ã'5Ãð 3à :Ã`Ï@Ã÷8Ã`4à<4Ãð‚4Ã’8ÃÀf:Ã07ÃГ9à W:ÃÀõ7à Ô:Ã7Ãb<Ãp?à þ3ðK8Ãp©8Ã` 3Ãð^:Ã09Ã0–6Ã06à E=à ‡2Ã7Ã0r<ðÎ7ðà4à65Ãð 3Ã0:Ã0~:Ã?1ÃP2àl,ÃðŽ2ÀY7Ã69Ã@«9à 1ÃÐ"7ÃÐ.5Ã@L4ÃàØ4ÃÐF1Ã4Ã`‚8Ã`š4Ã@@6Ã×3à {4Ã<8À7ÃÀ5Ã`5Ã@±8ÃÀû6Ãðj8ðÎ7ÃPg6ÃPg6ÃÀÑ=ÀÖ7Ã'5Ã33ÃpP2ÃÐ.5Àî3ÃÐ"7ÃÐ¥6ÃÐ<ÃÀ 4ÃàÀ8Ãðí7Ã÷8Ãp,8Ã` 3à Ô:à °@ð€DÃp>ÃÙ=ÃðÃ>Ã@ ?Ã0TAÃP+@ÀÖ7Ãðv6Ã`¾.Ã@í.ÃÀŠ4ÃB7ÃÐ"7Ã92à>ÃðR<à‰<ÃЙ8ð CÃ@";ÀS8Ã`|9ðc4Ã0~:Ãp£9ÃPê5Ã0%4Ã@Ã5Ãh;Ã05ÃÀû6à­6Ãp:Ãñ9ðÔ6Ã@É4ÃàU5ê4ÃPð4Ãн2à¡8ÃàÆ7ÃpðAÃÀï8ÃÐ(6ÃÐì?à•:ðW6Ãàº9ÃÀx7Ã'5ðæ3Ãн2ÃpV1ÃàØ4à i7àN1ÃàÀ8Ã@L4à c8à {4ÃÝ2ÃÐ8ÃPä6ðQ7ÃPg6Ã'1ÃZ3ÃЫ5Ãp>ð3ÃÀ3Ãðç8Ã÷8ÃPê5ÃPÞ7ÃPä6Ã69ÃÀ~6à 3Ãð2à u5Ã3à ø4ÃPö3Ã0r<àË1ÃÑ4Àâ5Ãp>5ÃÀl9ÃÀ%0ÃZ3Ãðÿ4Ã`8à³5ÃðR<Ãpµ6Ãð 3ö.ÃðŽ2ÃàI7Ã` 3ÃðÛ:Ãn:Ã@±8à Ô:ÃÀ 4ÃЙ8ÃÐ44À7ðì2ÃÐ8ðW6Ãã1ÃP—.À¡+ÃàØ4Ãðv6À7Ãðj8ÃàÞ3Ã×3Ã`)2Ã@Õ2àH2Ã<8ÃÀx7ÃÐ ;ÃÐ44ÃPö3Ãð4Ã@É4ÃPO:Ã5ÃpJ3ÃàÞ3Ã0Š8Ã@X2ÃÀ5ÃpÁ4ÀG:ÃÅ6Ãp&9Ã*;ÃPê5Ã×3ÃpÓ1ÃPs4Ãз3Ã'1ðo2ÃàÀ8ÃÀ 4ÃPê5À /ÃÐd,àÅ2ä5Ãx.ÃÀ7-ä5ðu1ÃÀº,ÃÂ,à 3Ã@±8Ã`2Ã`5ÃÀ2Ã×3Ã`2Ãðÿ4Ã0%4à<4Ã5Ãpå.Ã'1Ãàm1Ãp¯7ÃÑ4ÃPs4Ã!2ÃÀœ1ÃpJ3Ã33ÃÀ„5Ã4ÃÐ¥6à 0à ò5Ãày/Ã!6ÃÀœ1à /à<4Ãàa3Ãpß/ÃÀ–2À$+Ã`/1Ãpb/ÃpÙ0Ã`6Ãб4ÃÝ2ÃÐF1Ãàä2Ã071ðì2Ãðˆ3À}1ÃÀ 4Ã×3àÑ0Ãð /àÑ0Ão)à ø4Ã0®2Ãðš0Ãз3ÃЙ8Ãз3À-ÀÖ7Ã`4Ã@d0ÃT4à ò5Ã@Ï3ð/ÃÀ2ÃPê5Ãð¦.à ø4Àú1Ã@Û1Ã@v-ÃpÁ4Àƒ0Ã@.9Ã9À›,Ãàê1ÃÀÆ*à 2ÃpJ3ÃÅ6Àè4à Ú9àÅ2ðo2Ã@Ã5Ã7ÃàÆ7Ã<8ä5à³5Àq3ðo2Ãp>5Ã7ù8Ãðç8Ã0:Ãð^:Ã0%4Ã<8ÃÐ.5ÃÀ3Þ2Ãå;à i7ÃÀ`;ÃÐ44Ãðj8Ã@";à 0ÀY7Ã`/1à³5ÀÊ9Ã07à¹4ÃðŽ2Ã`2Àè4Ã0x;Ã`í;à¿3Ã`á=à§7Ã*;ðì2à 3ÀS8Ã0:ÃPö3Ãt=ð!?Ãp,8Ã@±8Ãà+<Ã@™<Ã7ðž?ÃP==Ã0:Ãðj8Ãà>à•:ðÂ9à i7Ã0õ;ðÂ9à æ7Ã@48Ãð‚4Ãàº9ÃÀ~6ÃÅ6À5=ÃÍ?ÃP+@ÃÐu>À DÃ@.9Ã09Ã@@6Ãt9Ã`d=Ãp&9ð¼:ÀÐ8Ãðá9Ã0ÑAà Î;ä1àË1À/>Ãà>ÃÐÃ1À¸<ÃðF>Ãð@?ÃÀ1.Ã0 8ÃÐu>Ã0û:Ã`|9ÀM9Ãñ9ÃÐ:Ãý;ÃÐ9ÃP¨@Ã`X?Ã`|9Ã`j<À;<Ãàº9Ã`á=ÃÀH?Ãp‘<Ãp27ÃÐ@2Ãp;À¬>ðÎ7Ãh;Ã`‚8Ã0û:Ãð·@Ã’8à Î;ÃÇ@à Q;Ãà7:ÃPÌ:ÃpD4ÃPÞ7Ã;Ãp86í:ð˜@ÀÄ:Ãðá9ÃPº=ÃPº=Ãð|5ÃÀã:ÃPO:ÃÐ<Ãp&9à <ÃÐ:Ã0%4Ã0¢4ÃÀ¹AÃPU9Ãðç8Ã;ÃPU9ÃðL=à Q;Ã@É4ð'>À‚EÃ;ðK8ÃÐ:Ã@¥:Ã@=ÃÀÝ;ÃÐ:Ã=À5=ÃÀN>Ãë>ÃàI7ðE9Ãå?ÃÀÃ0ËBà§7Ãp?Ãý7Ãà@Àâ5ÃPC<Ã@™<à­6Ã@òBÃPÒ9Ãðó6Ãt9ÃP?À)?Ã@Ÿ;À}1à ‡2ÃÀl9à Ú9Ã@.9ù8Ã@.9À¬>ð'>ÃÀË>Ãp©8Ã0TAÃ0x;ðà4Ãp…>Ãð@?à§7ð¤>Ã@ ?Ã@<Ãàº9à§7ð-=ù8Ã’8Ãб4ÃðÉ=Ã`Û>à$8à ?>Æ6Ã0û:Ãðá9ÃpP2Ãà=9Ã@=ÀS8ÃŒ5ÃðR<ÃÀï8ÃðÉ=Ã@(:Ã0:ÃP®?Ãà=9ÃÐ<Ãðó6Ãp©8ÃàÒ5Ãë:ó9Ã$<Ãp27ÃÐþ<ÃÅ6à i7à 9?Ãp,8ÃÐ(6ÃÐ"7Ãà[4à i7ÃB7ÃB7Ãðá9Ã69ÃÐ<ÃÀ 4Ãz8Ãàº9ÀM9Ãð^:ÃЫ5Ã@«9ÃÅ6Ã0Š8Ã9ÃГ9ÃàÆ7ÃàÌ6ðc4ÃÀ3Ã05Ã@Ï3Ã07Ã`‚8ÃPg6à;à­6ÃÀË>à :ÃÀ6ÃÀx7ÃàI7à ì6Ã0û:Ãp86ÃП7Ã@±8Ãà=9ðÔ6Ã@<ðÎ7Ãpë-à*7ÃÀN>Ãt9Ãz8ÃÐ44Ã05Ã@F5Ã!2Ã05Ã÷<Ã8ÃðŽ2ÃÀ 4ÃÐ8ÃŒ5ði3Ã`;/Ã0–6ÃÀ 4ÃPä6ÃÅ6Ã3Ã0é=Ãp—;à<4ÃN5Ã5ÃàÒ5Ãàö/ÃÀ–2Ãp\0Ø3ÃP´>ÃÐ"7ðc4ÃÐ8ÃN5Ãð|5Àú1ÃpÓ1ð]5ÀY7Ã0Š8Ã05ÃÀ+/ÃÑ4ÀS8ÃÐ¥6ÃàÆ7à;ÃP1Ã`A.ÃàØ4Ã@½6ÃÝ2Ã`2à æ7Ã0+3Ã0¢4Ã@@6Ã`2à c8Ãðp7ä5à ø4ðò1àH2Ã0:à c8Ã`;/Ãð‚4ÃЫ5ðc4à i7ÃàÆ7Ãз3Ã-0Ã`/1Àî3ÃЫ5Ãl0ÃPü2à•:Ã0+3ÃàÞ3ÃPy3Ãã1À0ÃPê5Ãàa3Ã`8Ã@^1Þ2Ãà+<Ã0 8Ã`6Ã0œ5Ã@F5ÃÐF1Ã3ÃÐ:3Ãp86ÃP2à65Ãн2àH2Ãp>5Àô2ÃÀ2à c8ÃÀ=,ðo2ÃÐX.ÃÐ"7ÃpÁ4à<4ð3ö2Ã5à .,à 1À.Ã@^1Ã@Õ2ÀšAÃ`Ž6Ã`4ÃpÍ2à þ3Ã`v:Ã`)2Ãph.À¡+ÃÐÿ'Ãð0ÃÐÃ1Ã` 3ÃpV1Ãà.ÃP0ÃPg6ÀÖ7ÀÐ8À1àÅ2Ã@ù,ð‡.Ã0À/à /Ãб4àÅ2ðì2Àî3Ã@X2ÃÀœ1Ã0Æ.Ãà,ÃÀ¢0ÃP.ö.Ãð¬-Ã0º0Ã`;/Ã@|,ðŸ*Ãpß/Ãàð0Ãðÿ4à ".Ãð0ð]5Ãàs0ÃÀº,ÃÐÃ1ÃÀ 4Ãà‹,Ã@d0ÃpÓ1à 2Ã` 3Ã7Ã@j/Ãð2Ã`¬1ÃP2Ãpñ,à ±+Àô2Ãб4à ‡2Ãð¦.Ã@ù,Ã`¸/Ã`)2à u5àH2ÃpJ3Ã`/1ÃÀ3ðò1ÃZ3Ã3/Ã`/1Ã`A.Ã?-ð/Ãpß/ð/Ãà.ÃP—.À0ÃÐÛ-ÃÐX.ÃPö3ÃÐ@2Ã0Ì-Ãpb/Ãð;+Ã9.Ãð¦.ðE9ÃÀ1.ð‡.Ã071Æ6Ã`5ÃÐÕ.ÃZ3ÃЫ5Ã@Û1ÃP1Ãàê1ÃÎ.Ãf1ðQ7ÃP/à)À}1Ã`¾.àÑ0ÃÀŠ4Ãð|5à à8àÝ.à~)ÃÐí*Ã`2Ã!2Ãà[4Ã`6à`.ÃP.ÃÐ:3Ãðí7ÃÀÆ*Ã@|,À;Ãðÿ4ÃÀŠ4Ã0º0Þ2ÃÑ4Ã0I.Ãpt,ÃÎ.Ãð 3Ã33ÃÀ+/Ã`)2Ãf1à +ÃÀœ1ÃP,+Ãàa3ü-ÃK+à 1Ãð1Ãà.Ã'1Ã@š'Ã@F5Ã` 3ÃÀ5ÃP—.Ã-ä1Ã@@6ÃÀ5ÃЫ5Ã@X2Ãð¦.ÃÅ6Ã?-à¹4ÃÀŠ4ð‡.ÃÀ2À.Ãï/ðø0Ãp;Ã@@6ðQ7à$8ÃÀ¢0ä1Ãpt,ÃÐL0Ã@X2Ã@í.à 3Ã@Ã5ÃP…1Ã05À /à 3ÃP…1Ãб4ÃàO6ÃP -Ã0„9Ã`Ð+Ã@|,Ã@)à ¥-ÃÀ6ÃàØ4Ã` 3Ã0®2Ã0®2ÃàI7à ø4Àk4Ãph.à`.Ã`;/ÃPg6Àô2ð/ð‡.Ã0Ò,Àƒ0Ãн2ÃP0Ãðÿ4à 1Ãï/à­6Ãà-ÃPê5ÃPÞ7Àè4à 3Ã0C/À‰/ÃЫ5ÃQ.Ãà‹,Ã0Æ.ðþ/àÑ0Ãàa3ÃÑ4Ã7À›,Ãð2ð-Ãð1ÃÐL0Ã`¸/Ã`¦2Ã0Ò,Ãàa3ÃË5à¿3ðo2Ã0º0ü-Ã@ù,ðÚ5Ã`²0à¿3ÃÀ1ÃÐF1Àq3ÃÐÕ.Ãà…-Ã`¸/Ã0À/ÃQ.ð'>ÃpÇ3Ãõ.Ãàg2ÃÀ1.Ãàü.Ã0Ò,Ã@ù,àB3àÅ2ÃpÓ1à06Ã?1Ãб4ð/ÃP…1ÃPm5Ãà1;à 1àN1ð{0ÃP‹0Ã@X2ÃÈ/Ãà*ð,ðà4ðW6Ã`2ÃPÌ:Ãp€*à 2ÃÐÉ0Ã0¨3ÃPö3ä1Ãï/Ãз3Ã`4Ã0º0àZ/Ã0+3Ãà-Ã`²0ÃP‘/ê0ÃP0Ã@ç/ÃPð4ÃÀé9Ãpå.ÃP,+à :*Ê+Ã@ç/ÃÀ¨/ÃÀ¢0ÃW)ÃP©+ÃpÇ3Ãð1à 1àr+ÃÀ3à 3Ãàs0ÃK/ÃpŒ(ÃP0ÃÐR/à¿3Ã!2Ã`¦2Ã`50ð,Ã!6ä5Ãð;+ÃpÁ4Ãp÷+ÃÂ0Ã9.Ãpn-À$+ÃP -ÃÀ%0à<4Ãð5,ÃÀI*àZ/ðò1Ã?-Ãàa3ÃÀ´-àf-ÃP.Ã@|,ð-ÃÀI*ÃpÙ0àH2ðu1Ã0º0Àk4àB3Ãpë-ÃÀ®.à 3Ã`¦2Ãà+ä1ÃÀ3Ãàö/ð/Ã@+ð .Ã@Û1ÃÐX.ÃP1à i7Ã`A.à ¥-Ã@(Ãã1ÃÀ1.ÃP/Àq3ÃÀ1Ãð).ê0Ãð5,Ãð).Ã0À/ÃÐÕ.À¡+ÃÐá,à 3À /àZ/Ã0U,Ã0®2Ä,ÃÀ¢0ÃÈ+Ã@í.ÃàÞ3à Ÿ.ð‡.Ã`Ö*Ã0Ò,ð .Ã0+3Ãàg2ÃÀ1Ãàê1À•-Ãà)Ãð).àT0Ãð /Ãi*ÃÀ7-À›,ÃÐj+Ã@Ž)ÃÀC+ÃÐX.Ã3/Ã0C/àÑ0ÃÀœ1À,Ã0ä)ð±'ÃðÄ)Ãàa3Ã@ó-Ãà,À}1ÃÐÉ0Ãp*Ã0s'ÃÐ44Ã@í.Ãf1ÃÀ['Ã`Ê,àr+ÃQ*Ã0Ì-ÃpÁ4Ã@É4Ãðv6Ã'1Ãã1Ã0À/ÃP0ÃpÙ0Ã`¬1ÃÀ 4ÃàO6ÃP2ð+ÃP&,Ã-0Ãpz+à ‡2À /Ã`A.Ã~-ÃÐí*ÃÐ.5à Ÿ.Ã0Æ.à 1Ãò(à 1Ã9.ÃÀ%0ÃÈ+Ã`¾.À1Ã`50Ãà.à (-ðu1Ãð¦.à /ÃpÍ2Ãðÿ4Ã0Ò,ÃP£,Ã@É4Ãp:Ãðj8ÀM9ÃàI7ÃË5Ã5ÃГ9à ø4Àk4Ãз3Ãã1Ã<8ÃÀ×<ÃÀ`;Ãå;à9à‰<Ã`v:Ãn:ÃÀ`;ÃÐ"7à*7Ã0„9Ã8ðÎ7Ãå;à Â=ù8ÀÄ:ÃPÒ9í:Ã`ó:Ãн2Ã\=Õ>ðÈ8Ãðç8Ãðç8Ãp:à þ3Ãý7Ãý7ÃÀŠ4à§7à Ô:Ã`ÿ8Ã7à o6Ã7Ãp>5ÃÍ?Ãß<Ã0~:Ã`|9ÃÀÝ;ÃÐ<à06ÃÀr8Ã0`?ð]5à<4Ã@Õ2à 3Ø7ÃðR<Ã`d=Ã3Ãàº9Ã8ÃPg6Ãàg2Ãp,8ÃÀH?Ã@™<à›9ÃÀã:ÃÀé9ÃЙ8Ã`ˆ7Ã@<ÃàÌ6Ãp27Ã0l=Ã’8Ãp£9ðÚ5Ãp<Ãp©8ÃðX;Ãp>5Ãð‚4Ãp:Ãð4ÃðÕ;À¦?à*7ÃÐ¥6Ã` 7Ã$<Ã0û:à à8ÃÐ:à <Ã`^>Ã0~:ÃPä6ÃàI7ÃÝ2ÀÜ6à;Ã÷8Þ6Ã@L4ÃЫ5à Î;Ã`Ž6ç;Ãðd9ÃÀT=ð@Ãp&9ðÚ5Ã`/1à ò5àB3Ã@(:ÃpÇ3ÃP7>Ãà´:ÃÐ8Ã7Ãз3ÀG:ÃЇ;Ã÷8Ã@(:ÃŒ5Ã@48à W:à ì6Ãз3ÃÈ/Ãàä2ÃpÍ2à¿3à•:Ã`p;à 6à o6Ã’4à à8Ãp27Ã09Ãp>5Ã@½6Ã@48Ø7à þ3Ãà1;ÃàU5ÃÀ„5ÃÀé9ÃÀr8Ã0Š8à ]9Ãà[4à65Ãp©8Ø3à o6ÃPÀ<Ã0Š8Ã`¬1ÃÀõ7ÃPÒ9ÃП7Ã`‚8Ã@:7ÃPð4ÃPð4ÃàO6Ã@Õ2Ã09Ãðí7ÃÀŠ4Ãf1à Ú9Ãðù5Ã@";à æ7ÃЫ5Ãà®;ÃàÀ8ÃP‹0à¹4à 3ÃðÕ;à @ÃÐ:ÃÀ1.Ã@É4à È<Ãt9À¸<Ãðí7à¡8à<4ÃÀ6Àq3à Q;Ãàs0ÃÐX.Ãpµ6Ãðó6Ãà´:ÃP/ÃB7ÃP[8Ã@«9Ã3Ãz<ÃPg6à$8Ã9à$8ÃÀ3Ã07Ãà7:ÃPÀ<Ã` 3Ã`;/Ã9Ø3à ]9Ãðÿ4ÃÐ¥6ÃPö3í:ÃPg6Ã`Ž6ÃPg6Ã0~:Ãð2ÃàÌ6ÃÐL0àÝ.Ã@@6ÃP2Ã@±8ÃÀõ7à×/ÃPy3ÃÐ.5ÃpÁ4Ã0¢4ÃPa7à 6Ã0 8ù8ÃÐ8Ã-0ÃЫ5Ãz8À}1Ãpµ6à ì6ÃPÞ7ÃP[8ð°<Ã05Ã`ÿ8Ãp<à=ÃË5Ã4ÃÀÝ;ðQ7ÀG:ÃpÁ4ÃB7à06ÃpÍ2ÀG:Ã@^1Ã`#3ÃàI7Ãàê1ð?:Ã06Ãn:Ã071à ò5ÃpP2Ã0®2ðc4Ã’4à æ7Ã0r<Ã@d0ÃÀõ7Ã0r<ÃÐ¥6Ã@½6ÃpÍ2Ãà,ð{0Ã`”5Æ:À0ÃP2ÃÀ5Ã@É4Ãб4Ã`50ðo2ü-Ã@Õ2ÃÐ.5Ã@@6ð¼:ÃÀû6àH2ÃÐÉ0Ã@d0Ãpµ6Ãà=9à³5ä5ÃÀr8ÃÀ~6Ãðù5ÃpÇ3àB3ÃÐ(6ÃpÁ4Þ6Ãð”1Ã0¢4Ã0´1ÃÐ@2À}1ÃÐF1Ã0+3Ã0¢4ÃZ3Ãf1ÃPê5ÃË5Ãб4ÃpD4Ã`50À0ðo2ÃpJ3Ãã1Àî3Ãðˆ3ê0Ãà‘+àÅ2à 2ÃÐá,Ãï/Ã09Àâ5Ã06Ã`¦2Ãðš0Ã@É4ðu1ÃÐ(6Ã0¨3Ãð2à 1Ãàs0ÃàO6ÃpÓ1Ã@:7à§7Ã8Ã!2Ã0–6à 6ÃÝ2Ã0%4ÃÐ<ö2Ã0C/ÃÀ–2Ãàö/ÃpÍ2à§7à ø4Ã@d0ÃÐ¥6Ã0:Þ6à .,Ã@R3Ãp£9Ãà[4Ãp>5Ãн2ÃpÙ0Ã`¸/ÃÀ=,ÃÐ44ÃPê5ÃÐ@2Ã'5Ã`/1Ãðˆ3ÃÀ5Ã0À/Ã?-ÃÀ5ði3Ã0+3Ã`50à 3à 1ðQ7Ø7Ã` 3ÃB7Ã@Û1Ã@F5ÀÜ6à 3à06à³5Ãðˆ3Ã`/1Ãðù5ÃÐ¥6Ã@X2ÃPð4Àƒ0à 3Ãàa3Ã05Ãð^:à i7Ãõ.Ã012Ãð /ÃàÆ7Ãàa3Ã8Ãàm1ÃÀ¢0Ã3Ãðÿ4à :ä1À•-à ø4ÃÀ%0Ã0O-ðþ/Ãpb/à$8ÃZ3Ãð 3Ãð^:Ã`¦2Ã@48Ø3Ã8Ã@É4ÃЫ5ðÎ7ÃPs4àH2Ã7Ã0+3ÃàØ4ÃÐ.5ÃÀ5Ã4Ãpñ,à 3Ø7ÃàÌ6Ã@Ã5à§7Ãàa3ÃП7Ãð¦.Ãpb/à 6Ãн2ÃÀ~6Ã0¢4Ã@í.ð]5ÃàÞ3Àw2Àe5Ã012ÃÐd,Ãð 3Ãàm1ÃÐ"7Ã@X2ðK8ç;ÃàÒ5ÃŒ5Ã012ði3ÃàO6ðÂ9Ãð‚4Ã0´1ÃK/Ãàm1ÃpÁ4ÃpÓ1Ãð^:Ãà7:Àq3Ã-À›,Ãàg2à¡8Ã@ç/Ã@ç/ÃÂ0ÃðŽ2Ã`;/ÃÀ3ÃÐÃ1ÃP…1àÑ0ÃP2à c8ÃÐÃ1Ãð4Ãp»5ÃPU9ÃÂ0Ãð1ÃPØ8Ã0´1Ã`4Ãp»5Ã`Ž6Ã0´1ðW6ÃP2à ¥-ÃpÁ4À1à 1Ã`”5Ãà[4à u5Ã7À.ÃP[8ÃT4ÃÐ:3À1ÃÅ6Ãðÿ4ðc4ð¶;ÃpÓ1Ã@·7àÅ2À.ÃÈ+Ã@Õ2ÃÐÕ.ÃÐj+ÃðŽ2Ãp\0à­6Ã`#3À.Ãp27ÃÀ2ðþ/ð-Ãl0ÃZ3Ã`¸/ÃàI7ðÎ7Ã0¢4Ã`¸/Ã0I.ð-Ã`;/ÃP1ÃÐ@2Ã@j/ÃÀ%0ÃÂ0ð/ê0Ãp27Ãð/-Ãð|5Ãð2Ã*Ã`M,Ãàü.ÃP2à¡8ÃÀ5à 6Ã4Ã0[+àË1à ™/ÃÀœ1Ãðÿ4Àú1Ã@á0ÃЫ5ÃÀ¢0ÃPð4ÃpJ3Ã@Õ2ÃÝ2à ‡2Ãpå.ÃP2Ãày/Àâ5Ãðç8àT0àÑ0Ãð‚4à “0Ã@j/àH2ÃÐ@2ÃQ.Ãàö/àH2ÃŒ5Ãðÿ4àN1Ãpë-Ã07Ãð 3ðu1Ãð5,Ãf1Ã0Æ.Ãð/-ÃPs4Ãн2ÃpD4ÃP…1ð/Ãæ*ÃÐd,ðc4Ãб4ðc4ÃÀr8ÃB7ÃPö3ÃpÙ0À /Ã@j/ðò1ÃZ3Ã`²0à +à 4+ÃT4ÃàU5Ã0=0ðÔ6ðÚ5Ãà[4Ã@^1Ã@X2ÃÐ8Ã’4À**Ãf1Ãpµ6à65Ãz8Ãf1ÃÐL0à ‡2Ã`”5ðc4à 1Ã0®2Ã`;/Ãpz+ÃpÁ4Ã071ÃP2Ãàü.ÃPm5à 1ÃP[8ÃPü2ÃÀ~6Ã@Ã5ÃP‹0ð/ÃK+ÃÐÉ0Ã!2Ã`¾.à65à9Ã0+3Ãr/ê0Àƒ0Ãph.Ãз3Ãàs0ÃÎ.ÃÐ@2Àƒ0à³5Ã@^1à¹4ð]5ÃPg6ÃPð4Ãã1Ãpë-ð{0à`.ÃP‹0àÝ.Ãpµ6ÃPg6à ™/Ã×3ÃPü2ð“,Ã`A.Ã0¨3ÃP/Ãð1Ã-0Ã0+3ÃÀ®.Ãð1àf-à<4àB3ÃÀ1à “0Ã`¾.ÃÐ@2à “0Ã0À/Ãàa3Ã@É4ÃàU5ÃÀ 4Àe5Ãðš0Ãàä2Ã`”5ÃÐL0Ãàö/Ãб4à þ3à 3Ãp>5ÃpÁ4À›,ÃP2Ã@F5àN1Þ2ð/à ì6à 2àÑ0Ã0º0ÃÐ^-ÃÀ1Ã0=0Ã@L4ðQ7Ã0¢4ÃH6Ã@ç/ÃpÙ0Ã0¢4ÃPm5ö.ÃŒ5ö.Ãàa3Ãày/à 3Ãé0à 6ÃðŽ2Ã071Ã0=0ÃÐá,Ãà[4à<4ÃÐ"7ÃPê5Ãн2Ã@É4à65Ãàä2ÀÖ7Àî3Ãð2ÃÐ44à¹4ÃH6Ãý;Ãñ=ÃÐo?à Â=Ã0„9Ãð”1ðì2ÃPg6à§7ÃP[8ÃðA*ÃW)Ãà‘+Ãpý*ÃÀ+/À /À}1Ã0%4ä5ÃÐ44Àâ5ÃÀ„5Ãàa3à¡8Ã4ÃP&,Ã@+ðà4Ãðù5ÃÀx7À6(ð,Ä,ÃÐ@2Ã@v-ÃÀ¢0À.Ãp>5ÃpÇ3Ãï/Ãx.ÃP‘/Ãph.ÃÀŠ4Ãà.ÃÀ+/ÃÐ:3à 6ðò1à ø4ÃÐ(6ÃÈ/Ãp>5Ã@í.Ã3/ÃÑ4Ãð|5àÝ.Ã@p.À1Ã0¨3ä1à`.Ã@ù,Ã?-ÃÀº,àã-Ã?-ÃÐÏ/Ãé0ÃÀ®.ÃpÇ3Ã`5À§*àË1Ã0´1ði3ÃP1Ã@±8Ãl0ÃÐp*Ãð#/Ãû-ÃàU5ÃP.Ã@Õ2ð«(ö.à­6à {4Ãû-Ãp€*ÃÐp*ÃP…1ÃÀ+/ÃÀa&ðò1ÃÀ3à «,Ã0C/Ãð5,àr+À}1Ã@Õ2à¿3Ã`Y*Ãpt,Ã`G-à :*Ãð;+Ãl0Ã@‚+ÃpÇ3ÃÐÉ0à 1ÃpÇ3ð .ð/Ãpb/Ã&À¡+ÃЂ'Ã@ç/Ãð”1Ã@Ï3À•-ÃÀ=,ði3ð/ð+ð,ÃÀ1Ãé0Ã@j/àf-ÃÐÉ0Ãн2ðø0Ã07Ãð).ð/Ãàð0ÃðÐ'Ã@ù,ä1ÃÚ,Ãpµ6Ãp¯7Ã0®2à 1Ã0Æ.Ã0g)ÃÚ,ÃÔ)ÃP1Ãð4ÃZ3Ã`¾.ÃP1ÃP‹0Ãð#/à 1À0)ÃÀ®.ð-Ãp€*Ãf1ÃÀ3ðò1Ãà-ÃpV1ÃQ.ü-à ø4Ãpñ,Ã*ÃÀÆ*Ãp!%Ão%Ãà,Ãà—*ÃÐX.à 3Ã@p.Ã`_)Ã@”(Ã](ðþ/Ãð¬-à 3Ãà-Ã~-ÀÜ6ÃÐù(Ã(Ö)Ãà…-ÃÀÆ*à +Ãð /Ãì)Ãà+ÃE,Ã@á0ÃÐÛ-à×/Ã*ÃP>(ÃpP2Ã3/Ãph.Ãð;+àõ*ÃÀU(Ãà.ÃP£,Ãpý*ÃÎ*Ã@ÿ+Ã0m(ÃÐv)àÝ.ÀB&Ão)Ä,ÃÐù(Ã@ç/ð·&ÃP©+ÃÈ+Ã*Ãð 3ÃP£,ð“,Ãpë-Ã`M,Ãpß/ÃÂ0Ãì%ÃÂ,ÃЂ'Ã`Y*Ã?-Ãà‹,ÃÐí*Ãf1à @)Ã`Ð+ÃÈ+Ã7$ð"*ÃðÖ&Ã@ÿ+ð/Ü(Ã@²#Ã0ê(ÃÀÆ*à&ÃÀU(à Ÿ.Ãp*Ãà£(ÃP\#Ãð).Ãpn-ð()Ã?-Ã@ˆ*Ã0Þ*Ã0Ø+À**ÃÀO)Ã0À/Ãpb/Ãà*Ã?1ÃP>(Ã`Ü)Ãpn-Ã`$ÃÀê$Ãpt,ÃðŽ2Ãpë-ÃP&,à +ÃÐç+Ãð¸+ð/Ãp€*ÃÚ(à`.ð™+à 1ð+ÃÀ3Ã@j/Ã0ö&ÃÀÀ+ÃÀO)ÃÎ*Ã@'Ãi*ÃP¯*Ãpë-ÃðS'Ãp*ÃÀÆ*Ã@í.Ã0O-ÃÐÕ.Ã@ÿ+ÃpV1àï+Ãi&Ã`M,à(ÃÀº,ÃÐd,ÃÐÛ-Ã`¬1à Ÿ.Ãð/-À­)à :*ä1ÃP&,À /À0)ÃðS'à&ÃÎ.Ã0C/Ãp\0Ãà.ð"*À­)ÃÀI*ÃÀy"À›,Ã0Ì-Ãà‘+Ãx.Ãð²,ÃÐá,ÃðY&Ãpt,Ã],Ã],Ã%'Ã`e(Ãc+Ãpn-Ã@ &Ã071Ãpñ,Ãð0ÃP¯*ÃÀØ'àÑ0ÃÐv)Ãpñ,ÃÀU(ð/à ‡2ÃP/Ã(Ã0ö&Ã0g)Ä,Ãð¬-ÃÀ%0ÃÐp*À0à Ÿ.Ã0%4Ãà‘+ð,ÃÀ%0ð"*Ãà )À1ÃÂ,Ãi*à ™/àã-Ä,ÃpÍ2Ã0ä)ÃP—.ÃÀ7-ÃP,+ðæ3Ãðˆ3Ã012À.Ã`Ä-Ãð¬-àf-Ãpñ,Ã-0Ãp!%Ãp(à +Ãð /Ã@í.À-ÃP»(Ã@|,ÃP‘/Ã@ó-Þ2À.Ã@ˆ*ÃÐÛ-ÃPÇ&à 0Ãpå.Ãð4Ãc+ð,ÀB&Ã0Þ*Ã`Ä-Ã@ù,Ã@ç/À³(Ã`M,àÑ0ÃÐ"7ð-Ã`¾.ÃP,+Ãà.Ãpå.Ãà )Ã`Ä-ÃK+Ãu(ð™+àË1à„(Ã`ƒ#Ä,ÃK/ð«(Ãp!%ÃÔ-ÃÐL0ÃÀ+/Ãð¦.ö.Ã@ˆ*Ãà*Ã9.ÃÐ@2ð‡.À1ÃðY&ð/Ãð4à 1Ãã1à ".Ãð1à 2à ¥-Ãàü.à ".ÃÀœ1ÃP.Ã@d0Ãc+ÃP‹0Àú1ð .à «,ÃÚ,Ã0U,ÃÀ1.Ãpë-Ãã1Ãàð0à 2à .,Ãì)Ã0Æ.Ã?-Ã0Ì-ð-Ãï/À›,Ãð¦.Ãà+ÃÐç+Ã3/Ã`Ð+à ".À‰/à ™/ð‡.Ã`w%ði3Ãé0à`.À•-Ãõ.à ±+ÃÐ@2Ã`Ê,Ã0[+Ãàg2Ã9.Àq3Ã@ó-ÃP>(Ã0ä)ÃP&,ÃP,+Ã`q&À,Ã`G-Ã@R3À1ð3ÃW-ÃÀ3ÃÐÛ-À0Ãû-ÃÀC+ÃP-àõ*Ã92Ã`50ð±'ÃPV$Ã@ *à /Ä,ð¥)ÃPÒ9Ã@p.Ãð¸+ÃpÍ2ÃÀÒ(ÃÔ-à 1Ãi*Ãà-Ãày/Ã`#3ÃÀ7-Ãð¬-à ]9ÃÐí*ü-àÅ2Ã`S+àË1ÃÀÒ(ÃЂ'à (-Ã0Ò,ÃP.Ã'5ðþ/Ã9.Ø3à +Ãðš0Ã&Ãpß/ÃÐF1Ã0Ò,Ãì%Ãpt,Ã,ð™+ÃP£,Ãàö/Ã0¢4Ãû-à ¥-Ãpn-ÃÐÉ0Ãã1ÃË5À‰/à<4ÃÈ/Ã@j/àl,Ã0¢4ðu1à–%à «,ÃP8)ð/Ãàö/Ãp†)Ã0[+Ã`â(ÃÐÛ-Ã0a*Ã`â(ÃÐá,Ã,Ãpñ,à×/àé,ÃP©+Ãàs0Ã0C/Ãþ&Ã0Þ*à 0ÃP¯*Ã0a*Ã0Ò,ð{0Ãàð0ÃЂ'ÃPy3ðW6ÃÎ.Ãàg2Ãpß/ð,ÃÐ^-Ã0Ø+Ãð”1ÃÐÉ0ÃP—.Ãð/-Ã0Ø+ÃÐÏ/Ãàð0ÃàÞ3à (-ð()Ã`50ÃÀ7-ÃÐX.À›,Ã0+3ÃÐX.ÃPü2Ã012Ã`Ä-Ãpñ,Ãàö/Ã@(Þ2Ãð /àN1ÃÐÏ/Ãï/Ù"ÃàÓ Ã ï+ÃÐj+Ãpñ,ÃW-ÃP©+Ã0U,Ã](à +ð/ð{0Ãò(ÃP.Ãï/Ã`/1ÃP£,Ã,ð()Ã@ù,Ã0ä)ÃÐù(Ãð¬-ÃÐL0ÃÐ8Ãð /ÃÎ.Ãl0Ãp )ÃÀI*À­)Ãà2&à (-ÃÐÛ-à +Ã9.Ã0Ò,à (-à +ÃÐj+Ö)ÃP,+ÃP¯*ÃÀ1.Ã9.Ãï/Ãà.Ã@p.ðì2Ã`;/À.Ã0O-ð.(Ãc+ÃÀ´-à @)Ãpë-Ãð/-ÃpÍ2Ã`#3Ãàm1ÃÀ®.à 0ÃP¯*Ã-Ãà.Ãðˆ3àZ/Ã@í.ÃÀ¢0Ãð¸+Ãð;+Ãpß/ÃÐç+Ãû-àã-ÃK+Ãð5,ÃÀ7-àr+ÃÀ´-ÃÐí*ÃpŒ(àË1Ã@j/Ã`/1ÃÐó)ÃÐÏ/Ãp\0ÃÀ+/ði3Ãp€*Ãà.Ã0s'Ãàê1Ã`G-Ãp÷+ÃÈ+Ãp*ÃÀä%Ãð#/ÃÐF1Ãð/-Ã@‚+Ã$ÃðA*Ãà+ÃÐí*Ã0À/ÃÐÉ0àË1àZ/ÃPÓ$Ãð²,Ã`Ü)àé,Ã-0Ã`50ÃÀ¢0Ã3Ã`S+Ã0[+Ã071ÃÀœ1ÃP-àf-Ãã1Ã`2Ã0Æ.ÃÚ,Ãðÿ4ÃàÆ7Ãp>5Ã0®2Ã@½6Ã`Ž6ÃPÞ7à¿3ÃP0Ã33ü-Ã`#3ÃÀ~6Ã@L4Ãð/-ÃZ3Àî3Ã0=0Ãðˆ3Ã@¥:à>Ã0û:Ãp,8ÃàO6ÃÀ¨/ü-àË1ÃZ3Ã'5à 1À0à ".Ø3ðÈ8Ãp;à³5Ãë:à {4ÃÝ2ÃŒ9Ãpµ6Ã`)2ÃÐ@2ÃÀx7Ãð^:ÃÀf:ê4à “0Ã@.9À¾;Ø7ÃÝ2ÃË5ÃpP2ÃpÓ1ÃPU9Àw2à¹4ÃàÞ3ÃPÞ7à æ7ÃË5ð¼:Ã’4ÃPy3àÅ2ðæ3ÃPö3à­6Ãp :à Ú9ÃÀã:Ã@";Æ6ÃPU9Ãp;ÃPä6ÃÀ6àH2Ã@í.Ãðv6ÃpÍ2ÃP1Ãð0Ãàð0ÃÐ9ê4Ã@X2ÃðL=à ø4ê0ÃT4ÃPð4ÃàÀ8ÃÐ.5ö2à¡8à;Ãð 3Ã@±8ù8Ã@·7Ã`š4Ã06Ãðç8ðo2Ã@½6Ãàð0Ã0:Ãpb/ÃÀ 4Ã`š4Ã@Ã5À_6Ã`6Ã33ðc4ÃÐ9Ã06Ã0º0Ã@^1Ã@í.Ãð).à•:Ã0´1àË1à¹4ÃPm5Ã0À/Ã@½6ÃP2Àƒ0à¿3Ã@Õ2Ã0Š8à9Ãé0ÃÀ 4Ãð0Ãðÿ4ðE9ðò1Ã0Ì-Ã`2à ]9ÃÐø=Àô2ÃH6ÃP´>ÃPö3Ã@R3ÃÐ8Ã@^1ÃK/ÃPü2Ã`”5Ãðv6Ã`6à*7Ã` 7ÃÀf:ÃÀé9ÃÀ5ÃàÞ3Ã`ÿ8ÃÐ¥6à¿3ÃÀœ1ÃÀû6Ãàä2Ãà.ÃàU5ÃpÇ3Ã`|9Ã@L4ÃЫ5Ãp>5Ã`2Ãl0Ãðˆ3Ãp»5Ãð0ÃЙ8Ã06à•:Ã0%4ð/Ã`A.ðæ3Ãð¬-ÃÀ1Ãð^:Ã3Àk4ÃÀr8ÃÐ44À_6ê4ðu1Ãàä2Ãб4à06Ã0I.Ã!6Ã0¢4ÃÑ4Ã`2Ã0C/À•-Ãð0Ãà7:ðQ7ðQ7ê4Ãàm1ÃŒ5Ã!2ÃÀ®.Ã33Ãl0ÃÐ@2Ã`²0Ã@";ÃÀ%0Ã×3Àè4Ãõ.Ãp<Ãàm1ÃP‘/ÃÀ~6ÃÀ3ðà4ÃÔ-ÃPê5à ™/ÃÐÃ1Ãàa3Ã`4Ã0C/ÃP‘/Ãð|5Ãp,8ÃðŽ2ÃP‘/ÃàØ4ÃpÇ3ÃÐÃ1ê0ð{0Ãàä2ÃT4Ã@d0à 6Ãp»5ö2ÃÐ44ÃpÍ2ÿ7Ã`š4Ã`|9Ã`ó:àZ/ÃPê5Ãб4À /ð/à à8Ãðÿ4ÃЙ8àÅ2Ã`M,Ãð|5Ã`”5Ã@ó-Ã`6ÃpD4Ãð”1À.Ã0¢4Ã@R3Ãï/Ãð0ö.ð/ÃZ3Ãñ=Ãt9ðÈ8ði3Ãð).Ãpz+Ãf1Ãàm1Ã`2ÃÐÃ1ð{0Ãð4ÃpV1ðW6Ã@‚+ÀÜ6ÃÈ+Ãã1Ã`²0ÃÝ2Àq3Ãà.ÃÐ@2ÃP2ÃÐj+à 1à³5Ã@";Ãp>à 6Ã`¾.Ãã1ÃÚ,ÃÚ,ÃE0ÃÐ:3Ãà+Ã0U,Ã4Ã0%4ÃÀÅ?ÃN5ÃN5ÃÀû6Ãð‚4ÃpÇ3Ã3Ã0~:Þ2Ã`¾.à`.ÃP1à¿3Ã@p.ðì2à 0Àw2Ãà…-Ã!2Þ2àÑ0ÃàU5Ã0¨3ÃÐÏ/Ãð4Ã@L4ÃðŽ2ÃpD4Ãð0ðø0Ã@R3À_6Ãp©8ÃÀÑ=ðÈ8ð?:à W:ÃÀ3ðÎ7ÃÐ{=Àè4ÃÀl9ÃPg6ð°<ÃÀã:ðK8ÃðF>Ã0õ;ÃpmBÃÀÅ?Ã}BÃðEÃ0¿DÀóGÃ`·DàÖDÃðoLÃàZIÃ@“=Ã@àEÃpIHÃ0JðbIÃ@ÎHÃÐ9HÃpÌGÃÀJÃ0KÃ@ÎHÃàÑJðÍLÃp%NÃ`·DÃÀúKÃÀ•GðbIÃÀKÃüPÃPlJÃMõGÃÀGÃLà \NÃpPÃðøJÃp¨Mà KðDNÃmOÃÀôLÃ`IÃÐ!LÃàSà ñJÃSIÃgPÃà³OÃ0LøMÃà`HõGÃÊJÃÀèNÃPrIÃ0•KðVKÃp–PÃÐ'KÃ@¶LÃGKà hLÃp[EàÄGÃ@iDÀXLÃkEàÄGÃðøJà5JÃÐ!Là bMÃÐ!Là KÃpºJìOàÊFÃPfKÃ0¡IÃаIÃPéJÃp´KÃ@ÈIÃðæMÃðIËJÃÀîMÀùFÃ@ÔGþLÃ@àEÃÀ›FÃ0‰Mà ˜DÃúBÃðFÃJÃàlFÃP–CÃ@QHÃpOGÃpÆHÃJDà)LÃP×MÃàÝHÃVBà DÃÐàAà 'BÃàïEÃ0ÅCÃ>BÃpOGÃ`.FÀ DÃp[EÃkEÃð HÃ`.FÃ`:DÃpgCÃð"DÃÐWCÃAÃ@ìCÀ;<à EÃp?Ã`±EÃp[EÃ@þ@à @É@Ãå;ÃPœBðž?Ãpü?Ãß<Ã`j<Ãb@Ã$<à -AÀ DÃpðAÃ@@ÃP~Gà ¤BÃÀ×<ÃÓ>Ã`p;Ã`Û>ïDÃ@QHÃà–?ÃàTJÃð¥CÃp[EÃ0NBÃÐ ;Ã?ðzEÃ06FÃÀ¹AÃÖHðª=à§7Ã÷<à;Ãz8ð?:Ãp£9ÀšAÀAÃë>Ã@";Ã`Û>Ã0`?ÃÍ?Ã0+3Ãp>ÃÀ`;ÃP¢AÃp‘<Ãpü?àƒ=ÃÀé9ðÔ6Ã`ó:à9ÃPÒ9ÃPg6à i7ð¶;Ãz<Þ6Ãðˆ3à§7Ã@Ã5ÃP7>ð CÃ@¥:ÃÐø=Ãàº9Ã0Ý?à i7ÃÀé9ÃÐ<Ãðá9Ã`¦2À0Ã0:Ãpµ6Ã0û:ð!?Ã0–6Ãð|5Ã`Ž6ÀÜ6Ãàœ>À @Ã0û:ÃÀã:à Ú9Ãðç8à c8ÃÀÑ=Ã@";Ã@Ï3Ã@™<Ã@L4Ã`6ð°<ÃÀH?ÃÀ~6ðE9Ãpß/ÃÀ–2ÃÀ6À;<Ãp—;Ãp,8Ã@Ã5à ø4à à8Ã0%4Ã0Š8À;<ÃГ9Ã0~:ÃГ9Ã@.9àH2ðÂ9Ã÷<à­6ÀA;àú>à 9?Ã@‡?Ãàê1à Î;Ã`ç<à9ÃÀl9Ã0~:ÃÐ"7ÃpÇ3Ã@±8Ãðj8ÃÐ(6Ã`)2ðo2Ãðç8Ã8ðæ3ðÎ7Ã@<Ã;Ãàs0ÃPs4Ã`p;Ã9ðª=à9Ãt9ÃŒ5Ã'5Ã0%4Ã0¨3ÃàU5Ã@Ÿ;Ãð 3Ãpµ6ÃÐ:Þ6Ã<8Ãp,8Ãp27Ãðš0à W:Ã071Ãðj8ðÎ7ÃpD4Ã5Ãðó6à Ô:à 0à c8Ãý;Ãpµ6Ãðÿ4ÃH6Ã012ÃàØ4Ã'1Ã@F5ä5Ãð4à06ÃŒ5ðQ7ÃЫ5Ãðj8à 2ðu1ð]5Àè4ÃðL=àB3ÃPö3Ãð 3Ø3ÃÀ„5ÀG:À1à¿3ðE9Ãàa3Ã@d0ÃPê5Ã0¨3ÃÀ1.Ã7Ã@ù,ÃpÇ3ðà4Àî3ÃÀŠ4Àô2Ã<8Ã×3Ãz<Ãð 3Ã@F5ÃN5ð?:Ãðí7Ãðv6ÃPê5Ãð 3ÃpÇ3ÃÐ:3Ãð4Ã@É4Ãðó6ðc4àT0Àk4à K<ê4ä5ÃÀ3À7Ãб4ÀM9Ã@·7Ã`/1ÃPm5à:ÃPê5Ã4Ãr/ÃÀ–2Ã0–6Ãð‚4Ãðç8Ã0´1Ã`‚8ÃÐ:3ÃàO6à ø4Ã`¦2Ã0®2ä5Ã@@6À}1ÃÐ.5ÃðX;Ã`”5ÃpÁ4ÃT4Ã012Ã7ð3Ã5Ãû-ðÎ7à þ3ÃÐÃ1ÃP[8à Ÿ.Ã@Ï3ÃЫ5Ãð”1ÃÐ9Ãà[4Ã@j/Ã33Ã@@6ä5àÅ2ÃPm5ÃŒ9ÃPð4Ãàº9Ã@Ÿ;À/>Ãn:Ã`í;Ã0œ5Ã`4ÃÀ 4ð/ÃÀ~6ÃÀ„5ÀÖ7ÃpD4Ã`š4Ãp :ÃÐÃ1Ã`5Ã@:7Ã3ÀÜ6ÃÐX.Ã0œ5Ãh;ÃàØ4ÃPU9ð“,Ãp:ð]5ÃàÒ5Ãý7Ãðí7Ãpµ6ÃPü2Ã0%4Ãp=à 6ÃГ9ÃpÇ3Ã69à­6Ãð).Ãð2à$8à=ðE9Ãp27ÃÐ:Ã33Ã5Ãý;ÃB7Ãð/-ÃT4ÃàI7à c8Ãà´:ÃÀé9Ãàs0àl,ÃpÇ3à E=Ãðù5ÀÜ6à 3à¹4Ã0~:à06Ã@“=Ãé0Ã0û:ð3ðc4à 6Ãày/Ã7à þ3ÀÜ6à o6Ã0Š8Ãà>ð3Ãð 3Ãàº9ü-Ãàö/ü1Ã0=0Ã'5àÅ2ÃPö3ðc4ÃpP2Ãà[4à 3à¿3à ø4Ãp,8à 2à 2ÃÐÏ/Ã0„9Ã0%4ÃàI7Ã4ÃÐR/ÃpÇ3Ã9.Ã`/1ÀÖ7ÃÀ–2ðc4ÃÀ~6Ãß<Ã@F5ÃÀ5ÃÐ:Ã`š4ÃPü2ÃÀï8à {4ÃÝ2Ãðˆ3Ã`¦2Ãàg2à ]9ÃàU5Ãð4ÃPü2ð .ð-Ã@í.ðo2ÃÐ¥6à ™/Ã3ÃË5ÃP-ðo2Ãp\0Ã` 7Ø3Þ6Ãý7Ãàg2ù8à 1ÃÐR/Ãз3ÃÝ2Ã071àË1ÃP2ÃP -ðø0Àq3Ã`5Ã@X2Ã0º0Ã@Õ2Ã@á0ÃpV1Ãr/ÃP‹0àf-Ã`¸/ÃàÒ5Ãï/ÃÀ5ÃÐF1Ãph.ä1Ã-4Ãðÿ4Ã012Ãp\0ÃÀ2ÃÐá,Ã@R3ÃÀ¨/ÃZ3ÃÀ5Ã0¢4ð{0ÃÑ4ÃP2À,Ãp\0ðo2ÃÐá,à +ÀY7Ã`¬1à ò5ÃpP2ÃQ.À1à «,Ãð2àT0ÃP2Ãà£(ÃÐç+Ã@d0àã-ÃÐ^-ÃÐL0ÃÐd,Àk4à 2à u5Ã@É4à 2Ã@Û1Ãpt,Ã4Ã0Ò,ÃÀ®.Ã0+3À.ÃÚ(à ™/ð .à 1ÃÀ´-Àâ5Ã?-Ã-Ãàð0À.à þ3Ãp>5ÃÐá,Ãàê1Ãð0Ã`;/Ü(ÃÀ„5ð/Ãpý*ÃÐá,ÃpP2Ãð2Ãð /Ãð/-À0)Ãpå.À‰/ÃPÇ&ðø0Ãr/ðì2ÃÐÃ1ÃàÞ3Ã0®2Ê+Ãð¸+àl,àr+ÃÐd,Ãpt,ÃÀ´-Ã@ *Ãp(ÃP©+ÃÈ/à (-Ãà+à ".Ãð²,Ãà¢=Ãpñ,Ãà.ÃpP2Ãpë-Ãà&(À}1ÃÐd,ð“,Ãã1À**ö2Ã`¦2ü1Ãð 3ð/Ã`¸/ÃP8)Ã-0Ã@j/ÃÐ:3Ãàa3àï+Ã@|,Ã@Õ2Ãàð0ð“,Ãày/ê0Ã@Û1ÃW-ÃÀ=,ÃÔ-Ãàm1À.À}1Ãp\0ÃÐj+ÃÀ=,ÃW)ÃK+à “0Ã-4Ã`Ä-ÃP©+ð"*Ã0y&Ãp†)à ‡2Ãà…-ÃÀº,à (-ÃðŽ2Ãp÷+ð/àÑ0Ã0®2Ãн2Ãàs0ði3à :*ÃPü2À‰/Ãà.ÃÐÉ0ÃÀU(Ã0O-à :*ÃQ*Ã`Ä-ð/Ã'1Ã071ÃÀ–2Ã0C/Ã0Ò,Ã@|,Ãæ*Ãx.ÃÀ´-Ã0ä)Ãpb/Ã071À›,Ã@í.Ãàg2ð"*Ã@Ž)Ãàü.Ã0Ò,Ãà.À,Þ2àT0Ãð¸+Ã@p.à u5àÅ2Ãà+ð‡.À.ÃÐj+ÃÂ,ÃÀ7-ÃÐL0Ãpñ,ÃPy3Ã`;/Ãð/-ð/à 3ÃÀ´-Ãà‘+Ã`4ÃÂ0ÃÀØ'à~)àÑ0Ã9.Ã@Õ2ði3Ã@48à o6Ã@Û1ð{0Ã0f>ÃPs4à o6Ã` 7Ã'5ÃàÞ3Ãý;Ãt9ÃPO:Ãð¦.à %Ã0ê(ÃÀI*Ãð;+Ã,ÃÐç+ðu1ð .ÃP2ði3àZ/Ãð0Ã0Ø+Ãð¬-Ãà-à Õ%Ãà-À /ÃÀO)ÃÀ´-ÃÀ´-Ã@ç/ÃP -àr+Ã@ç/Ãpt,Ãð5,Ã@Ï3Ã071àã-ÃpP2Ãð).Ã`Ä-ÃÎ.àÑ0Ã@ *à «,ÃPü2ÃÐR/Ãàü.ÃP2ÃÈ/à 0Ãõ.Ã0=0Ãð2ÃE0ð-ÃÎ.ÃÐL0ÃP-ÃÂ,Ã'1ð/à`.ð¥)ÃP/Ã'1Ãà.ÃP2Ã@v-à65ð‡.Ãð0à¹4Ãpz+Ã`Ð+ðì2Ã0+3Ã`Ð+ð+Ãð/-ð™+Ã`Ð+ÃÀ+/Ã@Õ2ð{0Ãã1à Ÿ.Þ2ÃÐÃ1Ã0Ì-Ã@+Ã],Ãà.Ã@X2ðþ/Ã`¬1Ã`”5àN1ð3ÃP£,Ãx.Ã9.ÃÐç+ÃÎ*Ã0Ò,Ãày/ÃP‘/ÃÀÒ(ÃÐÛ-Ãl0Àk4ðu1Ãð¬-Ãà‘+ÃÀÒ(Ãò(ÃÀO)Ã@'Ãàð0Ã@á0ð-Ã`Ð+Ã(Ã`A.Ãp†)àH2ð{0À.ÃÐÏ/ÃÀ3ðþ/ð{0Ãð).Ã`/1ÃPD'ÃÐ@2Ã@á0ð/ð,ÃPÒ9Ã@±8Ã`5Ã'5ð/à ‡2Ãàg2ü-Ã-Ã`G-Ã@|,Ã@d0ÃÀ+/ÃP/à «,ÃÀ2ÃK+ÃÀ´-Ã!6Ãpñ,À.ÃW-Ã@á0à É'Ã-Ã@j/Ã`Ê,Ã0Ò,Ã@j/Ã-4Ã?-Ãð0Ãpµ6ÃP©+à ½)ê4ÃpÙ0Ã` 3Ãð²,Ã,À,Ã3/Ã`¬1Ãpz+àï+ÃE,Ã-0àã-Ã0º0Ãû-à :*ÃP©+Ãpn-Ã@ç/àé,ÃÔ-àZ/Ã`4Ã3ÃpJ3àl,Ã`/1ÃP,+Ãð).Ãð;+ÃðŽ2Ãàö/Ã`G-Ãð2à 0Ã@v-à (-àr+Ãà‘+Ã`A.ÃÐÉ0ð-ÃK+ÃPü2Ãàg2Ã@R3à ò5Ãà-Ã0ä)Ã`;/Ãàg2Ãé0Ãû-Ãà+À**Ãð¾*Ã~-ÃP‹0Ã@ó-Ãà)Ãà‹,Ãp€*Ã071Ãðe$ÃðS'ÃPy3à ·*Ãð0Ãð4Ã@ç/ÃPy3Ãð#/àõ*à @)ÃÀ¢0Ã071Ã`²0Ãð²,Ã9.Ãð¦.ÃP/ÃÔ-Ã3/àã-ö2Ãàð0Ã@í.ÃÀÀ+ÃpJ3Ã`/1ÃP£,ÃÀ+/Ãr/Ãð4Ãpb/ÃÐv)ÃÚ,ðu1à`.ÃÀœ1Ãàö/Ãày/ÃP…1Ã`/1ÃpJ3ÃP-ÃQ*Ã@ù,ÃÚ,Ãï/Ãð²,Ãph.Ãpñ,Ãàü.Ã],ÃP,+Ãõ.Ã@ *à 0Ãð0Ã~-ÃðÊ(Ä,àï+à~)ö.Ãpë-à 1à Ÿ.Ã@)À•-Ãr/ð™+Ãà+À$+Ãp†)Ã*ÃP0ÃÀ%0ÃÂ,à`.Ã,À<'ÃÀg%Ãà.ê0ðþ/Ãp€*ÃÐó)ÃP.Ãàö/ÃP2*Ãl0Ãàð0Ã0C/ð/Ã@ó-Ã3/Ã0C/Ãàö/Ãð/-À1Ã`A.Ã0Æ.ÃàU5Àw2ÃN5ÃP2Ã?1Ãàa3ðø0À-Ãàü.Ãpñ,ð“,ü1ðc4ÃP0Ã@í.ÃPy3Ã@ù,ÃE,ÃÚ,ÃÀÆ*ü1ÃP&,Ã@^1Ã)Ã@ù,ÃÚ(ð/ð,ð,ÃÐj+ÃP/ÃÐÕ.ÃP—.à ".à i7Àú1Ã` 3ÃÐ@2Ã@p.àf-ÃP1ÃH6ÃP&,Ã@á0ð/ÃÀ2Ãàê1ÃP/ð/ÃÀÒ(Ã`G-àr+ÃpP2Ã0º0ÃQ.Ãàm1Ã@ç/Ã05à .,ÃðÊ(ÃP‘/Ã`6Ãàê1àé,à .,Ã0O-ÃÚ,Ãàð0Ãp»5Ãpµ6Ã0œ5ÃÀ2Ãï/Ã`S+à×/Ãð0Ø3ðÔ6Ã@ç/à 0ð“,Ãl0ÃÐ^-Ãr/ÃÀr8Ã69ÃàØ4ÃÀ6ðò1ÃÀ+/ÃP&,Ãé0à¹4Ãðp7ê4Ã0Ò,Ã`¬1À}1ÃÀ 4Ã92Ãð0Ãpß/Ã3/ÃÀr8ÃÑ4ðò1ÿ7Ãàa3ÃPa7ðÚ5ðø0Ã0®2Ã0+3à 3Ã` 3ÃP.Ãp )ÃÂ0Ã`#3ÃPm5ÃÐ:3ÃP/Ã` 3ÃÑ4ð]5Ã@Õ2ÀÖ7Ã`ÿ8ÃÀ7-Ãpn-ÃpÍ2Ã@Û1ÃÐ"7ð{0Ã` 3Ã`S+Ã`¾.Ã0[+ÃP‹0ÃÀ1Ãf1Ãà…-ÃPê5ÃZ3àT0Ã` 3ÃP/Ã`¦2ÃP/Ãð1Ã0À/àé,à ™/Ãp\0Ãð|5ÃE0Àâ5Ãð¦.Ã`²0À•-Ã0%4ÃPê5Ã@Û1Ãð#/ÃÐÉ0Ã`”5Ãàg2ÃÐ44ê0Ã`¾.Ãн2À1Àƒ0Ã`G-Ã@v-Ãðˆ3à /Ã`#3ÃpV1ä5ö2ð .Ãpt,Ãpb/à06àN1à (-ÃÀº,Ã@ù,à 1ÃÐ^-ÃÐÏ/Ã071ÃÀ3ÃÀ%0à 2Ãà…-à 3ðc4Ã0Ì-ÀS8Ã@«9à Ú9à Ô:ÃÀû6ÃpÇ3Ã'5Ãh;Ãp27ÃÐÃ1ÃÝ2ÃPü2ÃpD4Ãðó6ÃPÌ:Ã06ÃT4Ãé0ÃPä6ðQ7ÃГ9Ã0%4ÃÀŠ4ÃÀŠ4Ãðí7Ã`ù9ÃpD4à 6Ã@L4à 1ÃÀ6Ãðá9Ãà´:Ã0:Ãðù5ðÈ8Ãp»5Ã-4Ã06ÀÊ9ÃÀ 4Ã7Ãð‚4àH2Ã-0ÃP/Ã`4Ãð0à¡8ÃÐ44à:à ø4Ãð”1ði3àÅ2ÃÐ¥6ÃÅ6Àè4ÀÊ9Ã0r<Ã@É4Ã`4ÃÐÕ.Ã0Š8Ãð‚4Àú1Ã@·7Àe5à›9à o6Ã@Ã5ÃPs4ÃÐ9ÃÀï8Ã@Ã5Ãf1ÃPØ8Ã07Ã@“=à9ÃPÞ7Ãõ.ä1ð]5À‰/Ã0%4Ãð#/à ø4Ãðí7ÃŒ5ÃàÒ5ÃÐÃ1ÃP…1Àô2ÀA;ÃPÀ<ÃàÌ6Ã`ˆ7ÃÀõ7ÃPü2Ã`¬1ðì2ðæ3Àe5Àe5Ã`;/à§7Ã09à ò5Ã` 7Ãн2Ãð2ÀÐ8Ã0é=ÃÅ6Ã@Ï3Ã'1Ã06ðø0àB3Ãàð0ÃÐÉ0Ãé0ðu1Ãý7Ãp :Ãr/Ã`A.ÃPÌ:ÃÀã:Ã09Ãz8Ãpµ6ÃП7àq@Ã@‡?Ãðí7ÃPa7Ãà®;ÃÑ4à 0ÃÐ<Ãp&9Ã@:7ÃÐ<ðæ3ÃPÆ;Àè4ÃPÞ7Ãå;ÃÀõ7ÃÐø=Ãðç8ÃÐ<à Â=ÃÀÑ=Ãàg2Ã`‚8Ã'5Ãý;Ãà@Ã÷8Ãà®;Ã`^>Ãh?Ãý7Ã0Š8Ã7à i7ðW6à ]9ÀÐ8à i7Ã0~:ÃðÃ>ÃðÛ:ÃÀT=ÃPCÃà®;ÃГ9à K<à§7Ã`5Ã`í;à È<à}>Ã?Ã@";ÃÀZ<À#@Ãà?Ãà+<Ãðd9Ã0:À)?Ãp?á<à Î;Ãp‹=ÀÄ:ÃP[8Ã`FBÃÐæ@ÃÐ:ÀG:à;ÃÐcAÃ0f>Ãp—;Ã@“=Ã0–6Ã*;à 'Bà -AÃàÀ8Ã@<ù8Ã@½6ÃÐ<Ã0l=Ã0f>Ã0õ;Ãb<à -AÃ’8ÃÐ<Ãë:Ã0Z@àú>Ãp¯7à›9ÃAàî@ÃÀr8ÃðÉ=Ã@";ÃÀÝ;Ã0Ý?Ã0r<Ãà+<Ã0NBÀM9à 3@ÃÀN>Ã0ã>ð'>Ãn:ÃÀr8ÃÀx7Ãðj8à :ÃÐø=Ã@™<ÃP7>ð'>ÃP+@ÃÍ?ð¶;Ã`X?Ãðá9Ãpµ6Ã`ù9Ã\Aà_CÃÀH?Ã0Z@ÃðGÃ@òBÃà@ÃðF>ÃÐ:Ã`^>Ã@@ÃJ@ÃpmBàÜCà 9?Ã`ÃBÃð@?À;<ÃP´>àú>Ã`Ï@Ãð¥CÃAàMFÃð¥CÃ@oCàÐEÃ@";ÃÐu>Ãë>À‚EÀ¾;ð-=ÃàŠAÃ@iDÃ0TAÃ`Õ?Ã0ï<ÃÐQDÃГ9ÃPC<Ã`Õ?ÃÐ<À)?à‰<ÃPDÃÓBà E=Ã0Ý?ÃàBÃ@øAÃP´>Ãß<Ãp?à 'BÃÀ3à:Ã@þ@Ã@“=ÃPØ8Ã0:ÀAÃÀÑ=ÃЇ;ÃŒ9ÃÐ<ÃJ@ÃÀf:Ãð½?À²=ÃàûCÃ0f>ÃðR<ÀÄ:àYDà ò5Ã0ã>ÃðF>ÃàO6ÃPÆ;ÃÐø=à;ÃpaDÃÀf:Ãð^:ÃàÀ8à ]9ÃàO6Ã@(:Ã0„9Ã@@ð¼:À @ÀCÃðÕ;Ã`Û>Ãt9Ãz<ÃÀÑ=Ã0:à<4ÃÀl9ÃðR<ÃÀã:Ãà@ÃPœBÃå;à 'BÃ@>ÃDAÃAÃà®;Ãp>ÃpUFÃ`FBÀEÃ@@à Â=ÃP?ÃP?Ã`ÃBð€DÃ0¿DÃP%AÃ?ÃpêBÃb@ðDÃÐàAÃpÆHÃP~GÃ,IÃ@ÚFÃ0BDÃPGÃ@iDÃ@cEÃжHÃJðµPÃÐ?GÀÿEÃ`:DÃÀ³BÃà×IÃàûCÃ`FBÃÐ3IÃÐQDÃ0JàYDÃPœBÀAÃÀJÃ`½CÃàÑJÃâFÃ`@CÃp%NÃЪJÃPŠEÃð HðVKÃ`™IÑIÃ@iDÃ0NÃ0 MÃðoLà †GàèAÃðþIÀšAÃ&FÃp7KÃÀ¡EÃPDÃ`(GÃ`(GÃPŠEéEÃ`uOàMFÃÐNÃ0¡IÃpOGÃÐÈEà ŒFÃжHÃ`"HÃÐ?GÃâFÃàÅLÃ8GÃpÌGÃÀƒJà tJÃÀ›FÃôCðhHÃ0Jà zIÃÖHÀçIËNÃDEÃ`JÃÀHð\JËNÃ06FÃ`JÃ0BDÃ&JðDNÃJÃ_GàAHÃÐ?GÃÀHÃIæP×LÃ0ƒNÃФKÃÀYQÃÀƒJÑIÃp¢NÃÐ-JÃYHÃÀJÃ`òOÃÀôLà¦LÃMJÃЪJÃp´KðPLà²JÀdJÃPõHÃÀHÃMJÃîDÃ`øNà ýHÃMà ýHà ’EðëGÃОLþLÑIðPLÃ`{NÃ`JÃ2DÃàéF×HÃÐ!Là Gà bMÃPlJÃИMÃðæMÃPïIÃÀeOòNÃÀ•GÃ0§HÃpÀIÃàBMÃÐÂFÃÀúKÃJDà zIÃ`«Fð CÃÀ•GÃ`«FÃðìLÃ0­GàAHÃpUFÃà×IÃJðëGÃ2Hà FÃp´KÃà×IÃàËKÃÐ3Ià €HÃpÒFÀùFÃÀ‰IÃ06Fà GÃpØEÃÀôLÃðGÃVBÃPDÃpOGðDðÁNÃPõHÃ00Gð†CÃp1LÃ`“JàSEÃÐcAÃ0ÑAÃÀ}KÃðcNÃ@?KÃ8CÃÀ‰IÃЀQÃ…KÃpÒFÀˆDÃPBÃDAÃôCÃðiMÃ`ŸHÃðoLÃ,IÃð“FûFà !Cà ëK×HÃpÌGÃALÃÐ?GÃÀ*DõGÃpÌGÃ`±EÃeFàYDÃàTJà¬KðhHÃðGÃàéFð CÃ@QHÃà~CÃ06FÃð“FÃðFÀvGÃP®?Ã@æDÃDEÃ0BDÀ‚EÃÀN>Ã2HÃkEÃîDÃÁEÃðòKÃ0³Fàî@ÃÐ]BÃ@uBÃÀ›FïDÃÀ³BàÄGÃpðAãJÃÀJàw?Ãà„BÃà~CÃb@ÃP+@ÀšAÃÐÈEÃwCÃ0ï<ÃàûCÃ÷<àkAÀŽCðBÃ@uBÃàûCàÖDÃPŠEÃP EÃÀ6Bà €HÃàBÃÀ³BÃÀ IéEÃ0›JÃ0¹EÃð«BÃÀ›FÃ`ÃBÃ@@à ’EÃàBMÀŽCÀ#@Ãß@Ã@ÚFÃ@uBÃpö@ÃÀ•GàYDÃàïEÃîDà -AÃàõDÃPCÃ`«FãFð€DûBÃà¨<ÃpÞDÃPÀ<àèAà žCÀ”BÃ0r<à GÃ0*HÃ@iDà ˜DÃPDðž?ÃÀÅ?Ãp;Ã@@ÃÐ{=ÃP1?Ãñ=ÀBÃ@™<ÃpðAÃDEÃÀÑ=Ã`ù9À)?ïDÃ@þ@ð CÃ0Z@ð°<Ãpü?ÀšAð¤>Ãb@ÃÓ>Ãt=Ãà?ÃðX;ÃÓ>Ã0Ý?ÃðF>à Q;Ãp :Ãð·@Ã}BÃÐò>ÃP==ÃPI;ÃðÉ=Ã0HCûFÃPDÃàûCà ¼>ð†CÃ`IÃ@ìCÃ0ã>Ã0„9Ãà%=Ãð½?à Q;Ã÷<Ã0×@à E=à <ÃàBð9;Ãt9à 9?Ã@48Ã0û:àƒ=à -AÃP´>ÃàC8ù8à <à Ô:à›9Ãn:Ã0:ð?:ð3<Ãp<Ã0Ý?ÃÐÚBÃÙ=ð@ÃÓ>ÃÐ{=Ã@>ÃГ9Ã0=0ÃЙ8ðE9Ãà=9ÃÀÝ;ÃÐ{=à :Ãðó6ÃP1?ÃÙ=ÃÐ:Ãà%=Ãàœ>Ã@«9ÃÐ<ÃÀ2ÃÀT=ÃP®?à•:ÃDAÃð^:ÃPØ8Ã@.9Ã`ó:Ã`X?ÃÀã:ÃË5à¹4Ãë>à Ú9ÃÐ"7Æ6à9à <Ã@™<Æ:à u5Ãà®;À)?Ã@¥:Ã`‚8À¾;Ã’4Ã`š4Ãh;Àk4ðø0Ã0¢4Ãðó6Þ6Ã0–6ÃàÌ6Ã@“=ÃPU9Ã07Ã0%4Ø3Ã@±8à9Ã5Ã`6Ã`”5ÃðÕ;ÃP==ðK8Ãðù5ÃÐ(6ð-=à æ7Ã`5ÃÐ:Ãðd9ÃÀû6à :Ãà%=à³5ÃŒ5Ã0–6Ã@Ï3ÃPØ8ÃN5ÃÐ8ÃðŽ2Ãp\0Ãp86Ãðí7Ãðj8Ã012À7Ã@48ðc4ð?:Àw2Ã05ÃpD4ÃPð4ð¤>Ã0 8Ã` 7Ãà[4à o6ÃÀl9à Ô:Ã@Ÿ;ÃÐ9ÃÐ ;Ã07Ã0+3ð¼:ÀM9àƒ=à :ÃH6ÃpD4Ãð2Ã`Ž6Ãð‚4Ã07À_6ðÂ9ÃÐ@2ÃÐ:3Ã@.9ðÎ7Ã` 7ðQ7ÃàC8Àâ5ÃÀŠ4ðø0Ã0º0À;Ã`ó:ÃPÞ7Ã07ÃÀ 4à <ÃpCIÃàØ4ÃÀã:Ãp>5Ãàº9ÃàC8ð]5ÃPm5ÃàU5ÃH6Ã07à‰<ÀÜ6à ø4Ã0®2ÃÎ.Ã@^1à*7àB3Ã3à 3Ã`‚8ÀÖ7Àô2Ã0¢4ÃàC8Ãà7:àé,Ã@L4Ã@É4à c8àƒ=ö2ÃPð4Ãt9ÃE,ÃàO6ÃpD4ÃP2ÃÀ6Ãf1ÃpÓ1Ãp>5Ãðç8Àk4ÃpJ3Ãp86ÃB7Ã0„9Àî3ä5Ã@á0à 3à ‡2à<4Ãp86ÃQ.àZ/ÃÐ@2à 2Þ2ÃpD4Ãðù5Ã`²0Ã`6ðo2Ãðó6Ã`5Ã`ù9Ãðÿ4ÃÀl9Ã0º0ÃÐL0ÃT4Ãã1ð-Ã@½6Ãз3ÃÀ 4ÃÐF1Ã×3Ã-0Ãà‘+Ã0º0ÃÐÛ-ð‡.Ã@j/À‰/ÃpV1Ãðv6à o6Ã`5ÃàÒ5Ãð0Ã5ÃÐF1ÃT4Ã@F5Ã0=0ð/Ãàð0ðø0Ãðv6Ãà.ÃÀÆ*Ã@±8ÃÐ:3ÃÀŠ4àB3Ä,Ã`¦2Ã!6ÃÐd,ÃÚ,ÃÀx7Ã-4Ã0Š8Ã071Ãð4ÃpÁ4à 6Ã0´1ÃÑ4Ã-4ðQ7ÃÀœ1Àú1Ã`)2à {4ÃÐF1Ãpë-Ãðš0Ã4ÃpÓ1Ãr/ÃÐF1ÃÐj+ÃÐ@2ÃpV1ÃÈ/ê4Àq3Ãðÿ4Àq3Ã'1ð]5Ã@Ã5ÃÐ"7Ã@ç/ÃpÍ2ÃÐÏ/Ã`²0ÃPm5ÃP/Ã`#3ÃË5ÃpV1ð{0ÃpJ3ÃðŽ2Ä,ÃÀ–2Ã0¢4Ã0%4À1Ãðó6ÃÑ4Ãàä2ù8ÃÀ–2ÃpÁ4Ã'5àB3Ãàö/ö.ðo2Æ6Ã`”5Ã~-ÃÐÕ.À‰/À-Ãà+àÑ0ðW6à¹4ÃÀœ1Ã`S+Ãàä2à ™/Ãl0Ãàs0àõ*ÃPy3Ãp÷+ÃP‘/Ã0a*Ãr/à<4Ãl0ÃàØ4ÃÀ+/àË1Ãà.ÃàÞ3ÃÐ44ÃP&,Ã`/1Ãz8Ã`ù9ÃÐ(6àH2Ã’8Ãз3Ã@Ï3ÃPö3Ãã1Ãð#/à o6ÃÐL0ê0ÃP1ðþ/ÃÐ9ÃË5Ãàð0Ã@L4Ã0®2à 3ÃP0Ã`²0àÑ0Ãàg2ÃP-ðò1Ãàð0Ãæ*ÃH6Àâ5Ãph.Ã@ *Ã0´1ÃðŽ2Ãðš0à 1Ãày/Ãé0ÃP/Ãðí7Ãðí7àã-ÃP‘/ÃàC8ÃÀ+/ð/ÃpV1Àw2ÃpÙ0ä1à 3Ãf1ð{0Ã`²0àï+ÃpÁ4Ã0–6Ãpß/ðø0ÃÐÕ.ÃàO6Ã0+3ð3ö2ü1Ãpå.Ã0 8à o6ÃÝ2ÀM9Ã0g)Ã?-ÃP -ÃÐÿ'ÃÐX.Ãpb/Ãp>5Ã0C/ÃpÁ4ðæ3ÃÀ3Ãð /à ‡2Ã`²0Ã@48Ãpt,à ì6ÀÜ6Ã0Ì-àr+Ã071à*7Ã@d0ÃÐÕ.Ã0C/ÃT4Ãp\0Ã7ÃpD4ð,ÿ7Þ2ÃÂ,Ã0+3ÃÐÃ1Ãð#/Ãpý*ÃPü2Ãðù5à*7Ãã1ÃP©+Ãð0ÃP‹0è&à ø4ÃPü2ü-ÃPü2ÃÐÕ.à 1Ã`;/À1ÃP2Ã@á0ÃÀ3ði3Ãàü.Ã@L4Ãð|5ö2ÃÐR/Ãà…-à 2àÑ0Ã@L4Ã9.Ã?-ÃÝ2Ãàö/Ãà…-ð{0àf-Ã@d0ÃÀõ7ÃÀ~6ÃP—.à L'ÃpD4Ãï/ÃÀ2Ã`‚8àB3Ãàm1À$+ÃÐÉ0Ãð#/ö.Ã@Ã5ÃÐL0ð-Ã3/ÃÀ´-ÃÐF1Ã!2Ãðˆ3À.Ã~-Ã@á0ÃP0Ã@á0À.ÃP…1Ã`/1ðu1ÃÐX.Ãpß/à ¥-Ã@ˆ*ÃÐÏ/Ãà,Ã`)2ÃŒ5Ã?-Ã-0Ãpb/Ã0I.Ãàö/Ãð¬-Ãàa3à9à 0à¿3ÃE0Ãàa3Ã0À/ÃPü2ÃPü2ÃÀ¨/ö.ðø0Ã0®2ÃPa7ð-ÃàU5ÃÀI*Ã`)2ÃÀ¨/ÃpV1Ãl0ÃÐF1ÃÝ2Ã-0À,ÃðA*Ãpn-à 1Ãr/Ãðó6Þ6à /ÃÐL0Ãà-ÃÀ+/ÃPµ)Ãæ&Ã0Æ.Ã`/1à 1ÃP-Ã0O-Ã@@6ÃŒ5Ã`²0ÃP.à /Ã-4ÃÀœ1Ã`M,À}1ðì2Ãð 3Ã`²0Ã`S+Ã0Ø+ü1Ã3Ã@L4ÃÐ(6Ãð4ÃàÒ5ð .ÃÐÛ-Ã0¨3Ãð2Ã`;/Ãpn-à 3Ã@j/Ãû-ÃÀº,Ã@X2Ãð|5Ã0=0à «,ÃÐ^-ÃÐL0ÃP1À§*Ãð0Ã@É4Ãàö/ÃÀ¢0ÃpÓ1ÃÀ=,Àƒ0ÃP…1ðu1àZ/à ™/ÃP…1ðu1Ãð4ü1À.Ãpå.Ãpb/Ã`)2Ãàê1Ã@á0ð-ð/Ã'1ðÂ9Ãl0Ã`#3ÃÀõ7ÃÀ3ÃàÌ6À-Ãr/ÃÀ1.àT0ÃP—.Ã'1Ãà.Ãð¸+ÃÀ%0Ãðˆ3Ã05Ãð2ð{0Ãà.à 2Ãr/ÃðŽ2ÃE0ÃÀ¨/à F(ÃÀ1.Ãàä2à 1à 2àÅ2ÃÔ-ÃP/À-Ã0Š8Ãå;Ã@";ð9;Ã0x;à Ú9Àq3À;Ãà Að-=Ã’4Ã`Ü)Ãx.ÃÀû6Ãàä2àú>ÃàxDÃà–?ð¶;ÃP¢AðBÃ>FÃ0NBÃÜGÀpHÃ`(GÃðd9àSEÃÀÑ=Ã@>à‰<à;Ã0f>ÃÀ`;ÃÀ¿@Ãà¢=ÃÀË>ÃÀr8à W:Ãý;Ã@‡?Ã0`?à ]9ð3<ð3<ðK8àq@ðDÃà´:ÃP¢AÃ69Ãà~CÃPDÃðÉ=Ãz<Ãà@à Î;ÃDAá<Ã0f>Ã`ó:ÃÀÅ?ÃÀé9Ã@=Ã0ï<ÃB7ðì2à o6à 9?ÀÖ7ÃPÒ9ÃPÒ9ð¤>ÃÐæ@Ãàä2ÃÐ{=Æ:Ã`ÿ8ÃB7à K<ÃúBÃÐþ<Ã7Ã` 7Ã0¨3ÃÀx7à W:à W:Ã@";ÃÀZ<Ã@L4Ã`ˆ7ÃÀï8Ãp?Ãp:Ãt=ÃÀã:Ãñ9ÃÀx7ð’AÃ0`?ðAÃ` 3ÃЫ5Ãðù5à æ7ÃPÀ<à æ7Àâ5ÃpD4ð?:Ø3ðì2Ã@>ÃÅ6ÃðŽ2ÃPÒ9Ãpå.àH2Ã0+3Ã3Ã0:Ã@=Ã$<Ã@";à W:ð3<ÃŒ5ÃÀl9ÃJ@ÃðÉ=ðÈ8à ]9à:ÃPð4Ãà[4ÃЙ8ç;Ã0`?à*7Ã69Ã@.9Ã0+3Ãh;Ã`‚8ðE9ÀM9Ãð^:Ãn:ÃÀ3Ã@F5Ãë:Ã7Ã0¨3Ãðˆ3Ã'1ÃÀõ7ÃÀ~6Ã@É4à W:ÃÀÝ;Ã0é=ÀÖ7Ã@Ã5Ã@j/àÅ2Ã`2ö2à ‡2à 0ÃpÇ3ÃÀ¨/àÅ2Ã7ÃàÒ5Ãн2Þ2Ã<8Ãp£9ÃPI;ÃÐ8à­6Ã÷8à¹4Ã@É4ÃZ3ÃЫ5ðE9Ã!6Ã@«9ÀY7Ã0 8Ø3Ã`/1ði3Ãà[4ÃPg6à ¥-à +Ã0–6à*7Ã-4Ãðˆ3àH2ÃÀ6ü1Ã@:7ÃÀº,ÃЙ8Ãp>5à à8Ã`”5Ã@ÿ+Ã-0Ãà.ÃPö3Ã<8Ã@48ÃÑ4Ã5Ã`/1ðÚ5Ã`v:Ãðÿ4Ãð 3ÃN5ÃpD4ÃÐ@2Ã012à “0ÃÀ3à i7ÿ7Ã`”5ÃÐ:3ÃP1Ø3Æ6Ã0 8Ã@j/ÃÀ3ÃPm5ÃPö3à ¥-ÃP£,Ã@·7Ã`5Ã@ó-ÃpP2ÃP-ÃÝ2Ã@Ï3ÃÐ9Ã?1ÃÀ¨/Ãf1Ã@|,ÃpJ3ÃÀ–2Ã@Û1ÃpP2Àè4ÃÂ0Ã@X2ê4Ãàö/à06Ãf1Ãð|5Ã@Ï3àT0Ã0¢4ÃÀõ7ÃQ.Ã`)2Ã5ÃË5à­6Ã5Ã`;/Ã0O-Ãз3ði3ÃÐR/ÃÐ(6ÃЇ;à9Ã5Ãph.Ã05à 1Þ2ÃpÓ1Ãàg2Ã@(:à;Ã`š4ÃЙ8ÃH6Þ6ðo2ð]5ÃPØ8Ã` 7Àq3ð†CÃ7Ã@«9Ø7Ã÷8Àe5ÃÐ ;Ã69Ãð±AÃÀZ<ð]5à 6ðì2Ã@.9Ã@:7ÀÖ7Ã@¥:ÀS8Ã`5à$8Ãpµ6ð]5Àî3ÃÀõ7à‰<À}1ÃÀÝ;Ãp&9Ãàs0Ã0œ5ÃÀ 4Ãðç8ð]5ÃðŽ2Ã`v:í:à65à¡8Ãà=9Ã@±8Ã!2Ã@½6ÃP1ÃÀû6Ã`‚8Ãàä2ÀM9Ã@:7à ‡2ÃN5Ãз3ðø0ðK8Ã`í;à$8Ã0œ5ä5ÃÐ:ÃPC<ÃÀÝ;Ãå;ÃÐ9ðE9Ãðˆ3Ã8Ã`”5Ãpµ6ÃÀõ7à o6ÃÐÉ0Àk4ðæ3ÀM9Ãp¯7ðø0ÃpÇ3ÃàI7à æ7À7ðo2Àk4à 1Ã`”5à (-À1ÃE0ÃÐ@2Ãp27ÃðÛ:ÃÐ.5ðì2Þ6à•:Ãàg2Ã012Ãà=9ÃPy3ÃÀ5ÃPü2ÃPü2ÃÀZ<Ã@Ÿ;ÃÐ ;à­6Ã@·7Ã`‚8Ãà=9ÃÀŠ4Ã`¦2Ãß<à Î;ÃÀ~6Ãðí7à›9ÃÅ6ÃÐ:Ã$<à¹4Ãз3à65Ã9ÃÀr8Ãð‚4à ø4ÃP‘/Ã0„9Àk4ÃàÌ6Ãb<Àk4ðÔ6Ã0–6ÃЙ8Ã0„9à06ÃÐ{=Ãð½?ÃP‹0ÃPO:Ã0õ;ÃÀr8ÃÐ:ð¼:Àô2àÝ.ó9Ã@™<Ã` 7Ãp>5ÃPa7ÃPy3Ãà7:ÃÐ"7ÃàO6ÃðÏ<Ã09Þ2Àî3ÃÀŠ4Ã`í;à W:Ã06ÃàI7Ã`Ž6Àe5Ø7Ã@=Àâ5Ã;ÃÀx7ÃpP2ÃП7Ãàs0Ãp86Ã`8Ãðš0ÃÀû6Ã8Ãðp7Ã`”5ÃÅ6ÃÐo?à Î;ÃÐ<à K<Ãàð0Ãðp7ÀÖ7ÃpÓ1Ãðÿ4ð°<Ã`ˆ7ÃÀT=ÃPI;Ãз3Þ6Ã0=0à¡8Ã07ðW6à$8ÃÀ~6Ãp£9ÀY7Ãðù5Þ6Àe5ÃÀ`;ÃÑ4à æ7ðÈ8ÃPm5ÃðÏ<ÃÐ(6Ã` 3à*7ðQ7Ãp…>Ã0~:ÃPg6àN1ðÚ5ÃPð4à È<Ã@Û1Ã@á0Ã@R3Ãðÿ4Ã`4à :Ãpµ6ÃÐ:Ã07ÃÀ5Ãà´:à “0Ã}BÃ`ó:ÃàC8à 1ÃÀÑ=ÃàÒ5à*7Ãz8ðu1Ã!6ÃÀŠ4ði3ðo2ð‡.Ã`5Ã!6ÃÐ44Ã<8ÃÀû6ÃÐ.5ÃN5ÃP2Ø3Àe5Ãð 3ÃPy3Ãày/Ä,À /Ã`¬1Ã92Ã05ÃPØ8ÃPð4Ã],Ã@R3Ã@Ã5Ã-4Ã07Ã06ê0ÃÀ¢0Àk4Ã@F5Ã071ÃPö3Ã0¢4Ãàs0à ‡2Ã0%4ðc4ÀG:ÃЫ5Ã`)2Ã`5Ã`2Ãp27ÃPg6Ã@É4ÃÀ5Ãp :à06Ã`p;Ãý7à06ÃB7Ã@d0ÃÀº,ðÔ6ÃÀ 4Ã69ÃðÕ;Ã` 7Ã`”5Ã`‚8àH2Ã`S+Ãpt,Ã0%4ÃÀ–2Ã012ÃPê5ÃpJ3Ã05Ãð4ÃÐR/ÃÐÏ/Ã012ÃÀ%0ÃÐ:3Ãpë-Ã0®2ðà4à ‡2Ã$<ÃÑ4Ãð4àT0à ø4Ã`#3ði3Ã@É4ðc4Ãx.ÃPê5àÅ2Ãðá9ÃpÍ2Ã92Ã4ðò1Ãð0Ãà®;Ãp¯7ä1ê0ÀA;Ãp¯7Ãp©8Ã@ç/ÃÀ1.ÃP/Ã@Õ2ÃÐ44Ãð‚4ÃП7ðc4Ã@Õ2Ã`Ä-Ãà7:ê0Ø7Ãð0À•-Ãðó6Ã07Ã`¾.ðu1Ã’4Ã@L4ðÔ6ÃË5ÃP‘/ÃÀ1Ã05Ãð /ÃÀ6Ã!6à ".ÃpÙ0à “0Ã0´1ÃÀ¢0Ãð‚4Àî3ÃÐÕ.Ãð).àN1àÅ2Ä,ÃÐÉ0ÀÊ9ð¼:à þ3Ãé0ÃÐ^-ði3Ã33à o6ði3Ãð|5Ã-0à 3ü1ÃÐÉ0à;Ã`4à 6Ãl0ÃP1ÃpÙ0Ãн2Ã0¢4Ã`Ž6Ø7à65àË1Ãð”1Ãp86ÃŒ9ÃЇ;Ãðç8à :*ÃÀ¢0ÃP—.ðþ/ÃÀ2Ã33Ã’4Ãðv6Ã0À/Æ:ÃpP2ÃÐ(6Àè4ÃP.Ã@48Ã`Ê,ÃZ3Ã@Û1ÃpÓ1Ãé0Ãp»5Ã071ÃPs4Ãp&9Ãàs0ê4Ãpë-ä1Ã0®2Ãp86Ã?1Ã@@6ÃÝ2ÀÊ9Ã`Ð+Ã0+3à ‡2Ãp27à à8Ã0g)Ãà…-ÃÐ44ÃpÁ4ÃPg6Ã`¸/Ãðá9Ã!6Ã09ðo2ê4Ã07ü1ÃpJ3ÃZ3Ã`š4à o6Ã`¦2Ãð‚4À0ÃT4à‰<ÃÀ3Ãð|5à­6Ãl0ÃÐ:3àã-ÃT4à¹4Ã!6ÀM9ÃП7ÀG:à þ3Ãp¯7ÃÐu>à <ÃPä6ð9;Ãàü.ÃÈ/à<4Ã0 8à :Ãàä2ÃpÁ4ÃàU5Ãf1ÃPm5à ø4à ‡2à o6ÃPü2Ã0Æ.Àk4Ã'5ÃàO6à ‡2ÃÑ4Ã@Ã5ó9ÃÀ%0ÃÐ.5à§7Ãðj8Ã×3ÃÀ–2Ã7ÃPy3ði3Ã0¢4Ø3ÃPð4à¡8Ã@í.Ãý;à$8à:Ã0x;ÃPa7Ãð /Ã0º0Ã@ç/àT0à`.Ãày/à 0ÃÀ2Ã0Æ.àÑ0Àq3ÃÀ2ÃT4ÃÀ1.Æ6Ãpn-ÃÔ-Ã!6ÃpÁ4Ã`”5ÃpP2à o6Àâ5àÅ2Ã`^>Ãðp7ÃàI7ÃàU5Ã@Ã5ÃÀ1à u5ðæ3à*7àB3àÝ.Ãû-ÃPØ8àÑ0Ãàs0Ãp>Ã09àB3Ã@Ï3Ã0~:Ã0¢4Ã@«9Ã!2ÃN5ði3ÀÄ:Ãð”1ðì2ÃPê5Ã`¦2Ã7Àq3Ãp86Ãðí7à9Ã0:ÃPm5ÃÀr8ðÈ8ÀS8ÃÐ:3ÀÜ6ÃÀï8Ã` 7Ã;ÀÊ9Ã$<ÃPs4ÃÐ<ðzEÃ0~:À¦?Ã`6Ã@";à:ÀÊ9Ãð±AÃñ9Ã0l=Ãà>Ã0œ5ó9à;Ã@>Ãý;ÃÐ:Ã\AÃPÆ;ðK8ÃË5ÃP1?ÃðX;à o6ð@Ãp=ÃðR<ÃÐ<Ãà%=ÃÀõ7Ãp&9Ã@";Ã0œ5Ã@Ÿ;ÃPÀ<Ã09ÃàI7Ã`p;Ãë:à W:à K<ÀÜ6ðÎ7Ãp:ÃàO6ÃÐ:ÃDAÃñ9ð'>ðE9ÀšAÃ`Ï@Ãp—;Ã`‚8Ã69Ãðp7Ã0 8Ãà>Ãp>Ã-0ðÎ7à³5ÃPØ8ÃÐ:ÃÀ„5ÃÀû6à>ÃàC8à Ô:ÃN5Ãà=9à ¶?Ãð^:Ã0œ5ÃàI7Ãðd9à9Ã’8Ãp=ÃP==À¬>à;à$8ÃP%AÃÐ:Ã@·7Ã@@6ÃP´>ÃÐ:Ãt9ÃÅ6à‰<ÃŒ9ÀÄ:Ã`ù9ÃPC<Ã`d=Ã`v:ÃðÃ>Ã`ó:Ãý;ÃÀ–2Ã09ÃðÕ;Ãà¢=Ãàœ>Ã<8à;Ãå;ð?:ðE9Ã\AÃ@Ÿ;à}>ÀÐ8Ã@.9À/>Àq3À5=Ø7à ]9Ã07ÃPm5Ã`j<Ã`p;ÃàU5Ã@™<Ãp:Ã33Ãpµ6Ãðù5ÀS8ÃÐ<ÃГ9ÃÐo?Ãp©8Ã0œ5Ãß@Ã0~:à È<Ãp—;à o6ÃPØ8Ã0–6Ãz8Ãp :Ãp>Ã`Û>ÃVBÃ0r<à c8ð!?à u5Ãt9ðo2Ã`‚8ÃÀf:Ãb<ÃÀr8Ã0x;Ã;ç;ÃÐ.5Þ6ÃÀ`;Ã@½6Ãp27à /Ã@Ï3ðÔ6ê4À;ÃÀŠ4Ã@½6ÃPU9Ãp—;ÃÀ`;Ã0Ý?ð¼:ÃÀ~6ð9;ðæ3Ã9à i7ðÈ8Ø3Ã07à³5Ã?Ã-4à æ7Ã@R3À;Ã@L4ÃГ9ÀÄ:Ãàº9Ã`ˆ7àÑ0Ãf1ÃП7Ãà+<Ã0–6À_6Ã`‚8ÃàC8à o6ÃPÌ:ÃPØ8Àú1Àq3Ã0:Ã÷<Ãp£9ðÔ6ÃPm5ÃÀ–2Ãñ9Ã@Ã5à³5Ãб4ê4ðæ3Ã`”5ð]5À7í:ÃðL=ÃÐ"7Ãàð0à ‡2Àw2Ãf1à ò5à K<Ã`8Ã`4ÃÀœ1ÃÝ2ð]5Ãà7:à ì6à¿3Ã`v:Ãp<Ã@>Ã$<ÃpP2ÃàØ4Ã09ÃÀ®.Ãàa3ÃN5À7à›9ÃÀ5à¡8ÃpÇ3ü1Ãp86ðo2ÃÀx7ÃÐ@2Ãày/ÃPä6ÀM9ÀY7Ãñ9Ãà¢=Ã0–6Ø3ÀA;ð]5à›9Ãp&9Ãp27ÃÐÉ0ÃàU5à*7à ¶?Ã0¢4ÃP2À}1ÃPØ8à‰<Ãðç8Ã0+3Þ6Ã06ÃH6ÀM9Ã'1ðW6ÃÀx7Ã`Ž6ð]5Ã4Ã@:7Ãàº9ÃàO6Ã@j/Ã`ù9ÃðŽ2ê4ÃPö3ÃPö3Ã`d=Ãp©8Ã-4Ã0–6àT0ÀÜ6Ãð|5ÃÐ<ÃÀZ<Ã`š4Àè4à 6Ãp;Ã`d=ÃZ3Ãð#/Ã0¢4ÃГ9Ã$<À5=Àk4ðÎ7Ã@½6Ã09à ‡2à­6Ã!6ÃЫ5Ã0Š8À¸<Ã4à Q;ÃàÀ8Ãé0ÃT4Ãp,8Ãàº9à “0ðÚ5Ã@48Ãð2àB3Ã@¥:Ã!6Ã`¾.ÃÝ2ðì2ÃPü2ÃÐ:ÃpÇ3ÃÀl9ÃÐ:3Ã@Ï3Ãpµ6ÃÐ¥6àÅ2ÃÀŠ4ÃàO6ÃÀf:Ãp>5ÃpD4Ã@48Ã`50Ã@½6à¿3à•:à 0ðu1ðÚ5Ã0¢4Ã@·7ÃÙ=Ã@@6Ã`”5àÅ2à›9Ã0 8ÃÀ´-àË1ÃPä6Ãz8Ã@(:Ã@Û1Ãx.Ã@·7Ãp»5Ãr/Þ2Ãð|5Àú1ÃpD4Ãà[4Ã`)2Àô2ÃÐÃ1Ãн2à ì6Ãr/ÃÐ:3Àè4Ãp :ÀA;Ãðç8àÅ2Þ2à65ö.ÃP£,Ãз3Ã0õ;ÃPÞ7Ãðó6Ã@X2ÃÀŠ4Ãp>5Ãl0ÃÀ¢0ðà4Ã0Ø+À0ðo2ÃÐ:3ðþ/ÃÎ.ÃàO6ÃàO6Àƒ0à 1Àî3Þ2ðæ3ÃÐ.5ÃP…1Ã@X2ÃÀ¨/ð-Ãð1ÃÐL0Ã3/Ã`A.àN1ÃÀû6Ãû-à`.Ã3/ðÔ6ÃÀ„5Àâ5Ãàs0à ".Ã`#3Ã@Û1ÃÐj+Ã'1Ãð 3ÃpÙ0À_6à ò5à {4Ã@L4à¹4ÃàO6ÃÀ3Ã`4Ã9.ä1Ã` 3ù8ê0Ãð|5ÃàU5Ã07Ã@F5Ãà[4Ã@d0à`.Ã`6Ã`¸/Ã`5ÃÀ3Ã'1Ã`”5ö.Ãà‹,Ã`¾.ÃH6Ã`¦2Ãõ.Àô2ÃpP2ÃPg6ä5à 6à ø4Ãõ.ÃÀœ1ÃÐ44ÃÀ¢0Ãp©8Ã0¨3ÃÀ3Ãpë-Ã0=0Ã`50à «,Ã9.ÃË5ÃÀÆ*Ã-0Ãà[4à ‡2Ã`;/à «,ð/àf-àT0Ã071Ã`50Ã@É4àZ/ÃÀ´-à @)ÃðŽ2àr+ÃÀÒ(à`.Ãð¦.Ã0¨3Ãpå.àÝ.Ãx.ü-ÃP‘/Ãð).ð .ÃÀ1.Ä,ÃP©+Ãàð0ÃP…1Ãàö/ÃpÙ0ö.Ãf1ÃP1Ã`Ä-ÃW-Ãð1ðc4à ‡2ÃÀ['À¡+ÃÐd,àl,à 2Ãà.Ã-Ãp86Ã33ÃE,ÃÀ2ÃpD4ð/Ã@ù,Ãà—*Ãi*ÃÐ^-ðþ/ÃÂ0Ãà.à ".à à8Ãpz+Ãp\0Ã`_)Ãàs0ö.Ã-0ÃÀ7-Ã?-Ã0U,À /ðø0àÑ0ÃàU5ÃPä6Ã071Ø3Ãàm1Ã@R3Ã~-Ã0Ò,ÃÐR/Ãðˆ3ÃpÙ0Ãн2Ãþ&Ãæ&ÃÐç+à ò5ÃP -Ã0Ò,ÃÀ®.ü-Ãpz+ÃÐ44Ãf1ÃðA*Ãp\0Ã92À•-Ãpb/Ã`/1Ã`¸/à ¥-ÃE,ÃP0àÅ2ÃðA*ÃÀÀ+Ã@R3Ã@·7ÃÀ=,Ãp\0Ãï/Ãr/ÃÀ1Ã@X2Ã@^1àZ/Ã0º0ÃN5Ãpå.Ã`Ä-à ".ÃpÁ4Ã'5ÃÀ+/ÃÐ@2Ãð0ÃP¯*Ãé0Ãàa3Ãðó6ÃÐF1Ã'1ê4ÃÐd,à)Ãï/ÃÀ3Ãpn-àË1à “0ðo2ÃPy3Ã`;/Ã*ÃE,Ãpå.ÃÂ0Ã`/1àé,ÃÀ7-àé,Ãð 3Ãp»5ÃÐÏ/ÃpÍ2Ãð”1ð‡.ðò1ðæ3àl,À-à <ÃàÆ7Ã’4ÃÀ1.Ã3à 1ÃP.Ãð1à “0à³5Ã0¨3à06Ã@Ï3Ãpý*Ãp>5ÃP…1Ãàü.Ã`/1ðE9ðo2à`.Ãð¦.Ã@:7ð/ÃpÁ4àZ/àf-Ãp>5àé,ÃÚ,à<4Ãpb/Ã`¦2ð]5ð-À-ÃÐÏ/Ã@j/Ã'5ä1Ã@@6Ã0=0Ãð2à o6ðo2ÃÀ5Àî3ÃÐÉ0ÃЙ8Ã’4Ã0º0ÃpÓ1ðK8ð‡.à 0Ãà—*àû)Ã0´1ði3ÃÐ.5Ãðù5À-ð-Ã3/Ãð0ÃÀ¢0Ãàm1Ã@Õ2ÃQ.Ãàs0ÀS8ÃPê5ÃPê5ÃðŽ2ÃpÙ0ð‡.Ã@d0Ãpt,ð/ÃÐX.àB3Ã@j/Ãð /ðo2Ä,Ãð#/Ãp:à 6Ã@ç/Ã@·7Ã0I.Ãð2ÃàÆ7ÃÐ@2Ãpß/ÃÀ2Ãàm1Àq3ÃÐÕ.ÃÐ44Ã012Ãpå.Ã×3à­6Ãð1Ãp»5Ãн2À,Ã`6ÃÐ.5ÃÐÉ0ÃÐ¥6Ã@Õ2à c8Ã@¥:à K<à65ÃÀ1à¡8ðà4Ã07ÃÐ9ÃÐ(6ÃàÞ3ÿ7Ã÷8ÃPð4ÃP¨@Ãë>Ãp&9Ãà7:Ãt=Ãz8Ãz<à 1Ã`6Àk4ÀM9Ã`6ä5à K<ÃN5ÃÀx7Ãà=9ÀG:Ãð‚4ÃÐ44ðÔ6Ã@Ÿ;Ãp£9Ã`ÿ8ÃT4à ø4Ãë:À_6À;ÀÐ8ÃàC8Ãðí7ÃÀl9ÃÀ~6ÃPI;ÃàÆ7Ã7ÃÀû6ðÈ8Ãà%=ÃÐ@2ÃÀx7ð?:Ãðj8ÃàC8Ã\=ÿ7Ãð:@Ãpµ6Ãpµ6Ã@48Ã8ðÔ6ðò1ÃpD4Ãàg2à­6ðì2Ã69ÃPI;Ãà.Ãp©8Ãp<à È<ÃPÌ:Ã@.9Ã@Ï3ð3à ‡2Ãý;Ãðv6Ãðj8Ã<8ÃPÌ:à¡8Ã@Û1Ãp27ÃPä6ÃPê5ÃП7ÃÐ(6ÃPU9ÃPð4ÃPö3ÃЙ8à Q;Ã0%4à*7à þ3Ã`Ž6ÃÅ6Ã0%4ÃàÒ5Ã0º0Ãp¯7Ã`8ðÈ8Ã0„9Ã7Ã@.9ÃPä6Ã@L4ÃÐ@2Ãý;ä5Ãñ9ÃÀœ1ÃPä6ÃpD4à¡8à 3Ã÷8Ã`Ž6ð-=ÃÀ¿@Ã0:ÃÀé9Ã’8À7Ã0%4ÃÐ9Ãðj8Ã4Ã@“=Ãàä2Ãð4Ã`ó:Ã`Ž6ÃÀõ7à 0ÃÀ2à K<Ã@.9Ã0ã>ÃðL=Ã69Ã`X?ðc4Ã@±8Ãå;Ã@øAÃ`ç<Ã`í;Ãð.BÃð2ÃqDÃÐæ@Ã0Ý?ÃàC8À)?ÃÐì?Ã0f>ÃV>Ãà1;Ãà®;Ãà?Ãp»5ÃàÀ8Ãp :à ¤Bðž?à c8à­6ð3<Ã07Ãß@ÃàÌ6Ã@.9Ã69Õ>Ã` 7ÃPO:à;ç;Ã@þ@Ã`ó:Ã`ÿ8Ãб4à§7Ã?1Ãà7:ÃPÀ<ÃÀT=Ãà=9Ãh;Ã0`?Ãb@Ãp‘<à65Ã\=ÃpÓ1ÃÀË>Ã’8à­6ÃÐ ;ÃPÀ<Ãp>5À7À;à ]9ÃÀé9Ã@>Ã`^>Õ>ÃÐþ<ÃÀÝ;ÃPO:Ãp…>ÃðIÃp=Ã0r<ÃЙ8Û=Ãà1;Ãð^:À7Ã?à›9Ãðˆ3Ã=Ã7Ã@@ÃPO:Ãà7:ÃЙ8Ã`í;Ãà¢=Æ:ÃàÀ8Ã@(:à$8ÃpÇ3ÃÀÝ;ÃP7>à;Ãð|5Ãðù5ÃÇ@Ã`Û>Ã@Ï3ÃÐ.5Ãz<Ãp:Ãð(CÃñ=à§7Ãp;Ãpy@Ãà>ÃÀé9ÃÐ]BÃà´:ÀÜ6à Î;ÀM9Ã`ù9Ã@=ÃP´>ð˜@Ã@¥:Ãðí7Ãðv6ÀÐ8Ãð^:ÀY7ÃÀl9ÃP´>ÃpOGð†CÃаIÃðIÃúBÃP7>àeBà Ô:ÃÐþ<ð'>Ã0O-Ãð /ÃÐ¥6ÃЫ5à9À¸<Ãb@ÃðÉ=Ã`X?Ã@½6Ãp;Ã?ÀÜ6ÃÀ`;Ø7ðc4Ã0~:Ã-4ÃpV1ÃpP2Ã` 7Ã@@6Ãàœ>ÃðÕ;ÃÀ~6ÃàI7à;Ãå;Ãðd9ÃÐ{=Ã0 8à Î;ÀÖ7ÃPg6Ãðd9ð¶;ðE9Ãp?à Ú9Ãå;ÃŒ9Ãðç8ÃÐ<Ãðp7ÃPa7ðÚ5Ã`|9ÃÀÑ=Ãðá9ðc4Ãp¯7Ãp<ÃPÞ7Ã07Ã`6ÃPä6ÃÐ:ÃP´>ÃàC8à9ÃÀÑ=Ã0:à<4ÃÐ:ÃðR<Ã@±8ðK8Ã`í;Ã`Ï@ÃPØ8ðÚ5Ã5Ãp©8ÃàÌ6Ã$<Ã`2ÃÀã:Ã7Ãpµ6à$8ÃPÌ:Ã÷8ÃðŽ2Ãàê1ÀÜ6à9Ã0–6ÃÐ(6ÃpÇ3Ã0ÑAÃб4Ã` 7Ãp…>ðo2ê4Ãà1;Ã`ˆ7à<4ÃÀÝ;ÃП7Ã0–6à§7ÃàØ4Ã0 8Ãp>5à Ô:ÃPÞ7Ãp27ðÎ7Ã@(:ð¼:ÀY7à ‡2Ã@:7Ã5à§7ù8Ãð|5àT0ÃÀï8ÃÐ9Ã@Ã5ðì2Ãðù5Ã@«9Ã@:7ÃÀõ7Ã@.9Ãз3Ã@iDÃ0f>Ã07Ãð 3ÃP.À_6Ãë:Ãðó6Ãðÿ4à¿3Ãp,8à:Ã0x;Ã0õ;Àâ5Ã0œ5Ãà¢=ÃàÆ7Ãt9ÃPÒ9ÃðÏ<Ã@(:á<Ã0„9ÃГ9ÃÓ>Àî3à­6ÃÙ=Ã@‡?ÃPÆ;ÃN5à °@Ãñ=Ã0ã>Ã`p;ÃŒ9ÃÓ>Ãàœ>Ãp=àw?Ãp<À;Ã0ã>Ã0¹EÃp :Ã÷<ðBð¼:Ãà¢=ù8à§7ÃPU9Ãà>Ã`^>Ã;Ã`d=Ã\=Ãà@ÃPÀ<ÃÐì?ÃPC<ÃpÇ3Ãp?ð-=ð’AÃÁAÃÀË>ÃÐ9Ãb<Ã@ ?á<ÃÀH?Ãð±AÃPê5Ãà–?ÃDAÃàÆ7à¡8ÃðX;Ãð«Bðª=Ãðá9Ãà=9ÃàÀ8Ãë:ÃГ9ÃÐø=Ã`Õ?ð¶;à=Ã0ã>Ãðj8À²=ÃŒ9Ã*;Ã\=À¾;Ãñ=à=ÃPö3Ã`j<ÃàC8Ãp;Ãp>ÃÍ?Ã?ÃàxDÃPÌ:à 9?ÃЙ8Ãå;à !Cà ªAð!?Ãàº9ðÚ5Ã@";Ã`ç<ð3<ÃЇ;Ãðd9ÃðX;Ã\Aó9ó9ÃÀÅ?ÃÐ"7ÃPFÀ²=ÃÐ"7Ãb<Ãà+<ÀÐ8à$8ÀS8ÃÀx7ð9;Ãp>Ãt9ÃÐ:à æ7Ã`ù9ð!?à*7Ãб4à þ3Ãp86à>ÃÐì?ÃÀã:Ã`2àô?À¸<À¾;Ã0ã>ÃÀ5ÃÐ¥6à‰<ð¶;Ã0x;Ãðç8ÀÊ9ÃÇ@Ãà=9Ã`#3à Q;ð9;À7Ãp—;Ãpü?É@Ã`Õ?ÃÀÝ;Ãp©8à}>Ãñ=Ãð^:à @Ã`Û>ÃÐ{=à ò5ÃàÆ7Ã0¨3ÃÀé9ð3ÃPU9ÀG:Ã`v:ÃÐ ;Ãð‚4ðÔ6ÃPº=ÃÐi@Ã<8Ã;ÃÀÑ=Ã0œ5Ãà´:à ì6à ]9ÃÀ×<ÃAÃÐ"7ðE9Ãp;ð@Ã`ù9Ãà@ÃðL=Æ:Ã071ÃÀ 4ðÔ6ê4Ã>FÃÓ>Ãp&9Ã`8ÃÐ9Ãð^:Ãñ9Ã0f>Ã*;Ã09ÃP7>ÃÀ0CÃPC<ðK8ÃPBÃ*;ÃpÙ0ÃÀr8Ã@¥:Ã`ÿ8Ã09Ã@<ðŒBí:Ã0œ5Ãp‘<Ãð½?Ãp;Ã7Ãp‘<Ã@<Ã*;Àe5à ?>Ã`p;ðQ7Ãðá9Ãp—;ð¼:ð¤>à Ú9Ã0%4Ãð^:ù8Ãðá9ÃH6ÀÖ7à=ÃŒ9Ãð|5à <Ãà@ÃàÅLð°<Ã0ã>Ãð:@à Ú9Ã0õ;Ã@Ã5ÃPg6Ã@(:À;Ã`í;À;Ãà[4Ã8Ãn:ÃPÌ:Û=Ãàº9ÃPg6ÃZ3ÃÐ<ÃàC8Ã`ù9Ã`#3Ã@@6Ø7Ã!6ÃÅ6Ã@(:ð¼:ÃÀÑ=Ã@«9ÃÀN>ÃP Eà æ7à æ7Ãñ9à æ7ÃPO:Ã`5Ã0x;Àƒ0ÃÀŠ4Ãðv6ÀS8Ãà[4Ã69ÃП7Ãà®;ð¤>Ãý7Ã<8Ã0Š8Ã@^1ÃÀ×<Ã`^>à ø4ð9;ðÎ7á<ÃЇ;Ãp<à <ÃË5á<ðK8Ã`ó:ÃÀï8ÀÖ7ÃÁAÃà=9à9ÃPÆ;Ã69Ã0œ5ð'>ÃV>ÃÀõ7Ãh;Ãpü?Ã7Ãpü?ÃÙ=Ã<8Ã@·7Ã06ÃÐ(6ÿ7à9à 3@à {4ðà4Ã`6Ãà–?Ãpü?Ã@F5ÀÖ7à<4ÃÀï8Ã@¥:Ã05à W:ðà4Ãp¯7àN1ÃP-ÀY7ÃÐ:ÃÀ 4ði3Ã69ÿ7Ã*;ÃàC8ÃpÍ2à :Ã07ÃÐ:ÃÀÝ;Ã`6ÀÖ7à=Ãt=ð°<Ãðí7Ãë:ÃPÒ9ðà4àB3ÃÀH?ÃH6ö2Ãðj8Ãàº9Æ:Ã`4Ãðí7Ã0x;Ãðj8ÃÅ6ÃB7Ã7ÃPê5Ã0œ5ÿ7Ã07ÃÀõ7Ã@Ï3ð/ÃÐ"7Ãðó6Ãà.ðÚ5ÃÐ"7ÃH6à*7Ã`ˆ7ÀY7Ãðÿ4à;Ã`/1ÃË5Ã@™<Ãý7Ãå;Ã=Ã0õ;àÅ2Ãp86ÃPa7ÃÀ3Ãp86Ãà.Ã0¢4ðÂ9ð@Ã@·7ÃÀû6Ã@É4Ãб4Ãà7:ðÂ9Ã@É4Ã0¨3ÃP/Ã0 8Ã@:7Ã`4ù8ÃPê5ÃП7ÃÀï8Ãðù5ÃÀr8ÃÐ:ÃàØ4Ã07Ã06Ã@á0ÃЙ8Ã@X2à­6ÃÐ8Ãб4ÃpJ3à¡8Ãàa3Ã'5ÃÀ¢0ÃÐ<Ã`8Ã`8à Î;Ãðˆ3Ãr/Ä,Ãp¯7à 2Ã07Ãp©8Ãë:à i7Ãp>5ÃPg6Ã@R3Ã'1Ãf1ðò1Ã7ü1ÃpÁ4à à8Ã`ˆ7ÃÀ~6ÃàO6Ãðí7ÃЫ5Ã7ÃàÌ6ÃÀr8Ãðv6Ã0¢4Ãz8Ã0¨3Ã`/1Ãðš0ð]5Ã0Š8Ãh;ÃàÞ3à ™/à ø4à 0ÃàU5ÃpÁ4ð3Ã`Ð+Ã@±8à¹4ÃÀ~6à c8Ãp :Ãàs0Ãð#/Ãðˆ3ðo2Ã0ï<Ã@=ÃÐ8ÃÀ–2ðW6Àq3ÀÄ:Ã06Ãð 3Ã0´1ÃN5Ãpµ6ÃÅ6Ã92Ã` 3Ã@«9Ã0û:ðW6ÃÐX.à³5Ã0+3À /Ã-0Ãð#/Ãàa3Ãðv6ÃPg6Ãñ9Ã@Ã5Ã@:7Ã`š4ÃT4ÃÀ1.ÃÀ~6ÃPm5ÃàI7Ãð#/Ãàm1Ã@Ã5ÃÀ1.ÃÐ@2ðÚ5Ã07ÃЫ5ÃÐ¥6ÃË5ÃÑ4Ã@.9Ã`2Ã?1Ã0–6ði3Ø3ÃÀŠ4ÃÐÕ.ÃÀ–2Ãà[4À_6ÃÐ(6ÀÊ9Ã`‚8ÃðÛ:à Î;à‰<Ã@";Ãðp7ðÈ8ÃÀ`;Ãð^:ÃÀŠ4Ã0~:Ã`Õ?Ã`ˆ7ÃÀH?à ?>Ã0ï<Ã@>Ã`FBÃà@ÃAð!?ÃÐø=ÃÐ]BàkAÃPº=Ãà´:ÃðÕ;Ãp‹=Ã0ÅCÃð(CÀCÃà~CÃDEÃpêBÃÀ6BÃ`½CÃàŠAÃP7>ÃÀBÃ`ÉAÃ`ÉAÃpsAàeBð†CÀAÃ@æDÃð(CÀ¦?ÃÐ:ÃÀ¹AðVKðž?Ãð4AÃ0Z@à !CÃð«Bà ŒFÃÀB@ÃàBí:ðAÃà„BÃ0×@ÃpaDÃàrEÃð"DÃeFÃÀ›FÃ\=Ã0ËBÃ@ìCðñFÃÀÅ?à -Að˜@Ã`^>Ã=ÀšAÃP?Ã@@À¸<Ãà1;ÃðÏ<Ã@@Ã?ÃÐÚBÃ>BÃÐ:Ã0„9Ã@™<à 9?Ã`X?À5=Ã;Ãà¢=ÃBÃPÒ9à‰<Ã@™<àƒ=ÃЇ;Ãt9ÃðR<àú>Ãå?ÃÐ<àî@ÃÀË>à}>ç;Ãp>ÃV>Ã\Að÷EÃn>ÃÀT=Ãp‘<Ãðá9ð'>ÃPO:Ã`|9Ã@:7Ã0x;À)?Ã0r<Ã0×@Ãàº9Ã@±8ÃðÕ;À;<ÃÐu>Ãà7:Ã*;Ã`8ÃÀ6BàèAà=Ã@Ÿ;Ãàº9Ãà>ÃP7>ð-=ÃpsAð˜@Ã*;ÃÙ=Ã69Ãà%=ÀG:Ã÷8Ãß<Ãp‹=ÃÐ{=ÃÐ9Ã8ÃÁAÃð·@à‰<ÃàI7Ãp :Ãpµ6àw?Àè4Ãp©8Ã`‚8ð]5Ã` 7à u5à­6à•:ÃPÞ7Ã8ÀÐ8ÀÊ9Ã0ã>ÃP?ÃÀÅ?Ã@þ@à Ô:Ã@>É@à Â=Ã`á=ÃÐ ;à à8Ãñ9ÃðL=ÃpêBÃÙAÃ`^>Ã0NBÃàC8Ãb<Ãð@?ðDÀ‚EÃ\=ÃÙ=ÃPœBÃ`4EÃÀ6BÃ0ÑAÃ@oCÃÇ@ÃAÃ>BÀ)?Ãð·@ÃÀÑ=Ã`Õ?ÀAÃð@?à !CàSEÃ0NBð˜@Ãh?ÃÀB@É@Ã0­GÃÐ]Bð3<Ã@™<ÃpsAÃÙ=Ã@@àî@Ã@{AÃb@à 3@À#@ÃpIHÃpðAÃ0Ý?Ãpy@Ãpö@ÃPDÃÐò>Ãp—;ÃÀé9ÃP7>ðBà=ÃwCÃÐàAÃ`á=ÃàCð¼:À5=Ãñ=ÃDAÃ0r<Ã@=àq@ÃðF>Ã0ËBÃà+<ð?:Ã}BÃAÃð HÃÇ@Ãð.BÃðL=Ãpü?Ã`d=à;Ãàœ>Ã@ ?ÃÀl9Ã@{Að€DÃ}Bà=Ã=Ã`ÿ8À¦?ÃðÏ<ÃŒ9ÃP+@àƒ=Ã@48Ã0BDÃÀ`;à:à <Ã`ó:ÃÀT=Ã`Û>ÃÐ:ÃPC<ÃÀl9à ?>Ãà AÆ:Ã`d=Ã`½Cà È<Ã` 7à;Ãðv6àkAà_CÃP7>Ãp>à æ7ÃàûCÃÀË>ÃÀé9ðÔ6ÃГ9ÃðFà <ÃÐ:Ãb@ÃÐ(6à>Ã8CÃ@Ÿ;à=Ãðí7Ã@øAÃPÒ9Ã`8Ã0ËBà !CÃ0Z@Ã÷8ÃÐþ<ÃÐ<À;<Ãð@?Ãt9ÃÍCÀ;Ãp?à Â=À¬>ÃÐ8À;<ÃÀZ<ÃÐo?ç;Ãà¨<Ã0:À¾;ÃPÌ:ð˜@Ã@ìCÃP==Ã0Ý?ÃPÀ<Ãp=à @Ãb<ð°<à c8Ãð4AÃPC<ÃàO6Ã0l=à65Ãà=9ÃðF>ÃPDÃÓ>Ãp…>Ã`d=ÃÐæ@ÃÀ³BÃÐu>ð-=í:à K<ÃÀé9ÃðÕ;ðª=à i7à E=Ã2DÃð:@ð'>Ã@@àú>Ã0 8Ãðd9Ãð^:ÃÀ`;àô?ÃPU9Ã`p;à o6ð?:Ã`v:ÃpÁ4ÃP[8Ã`ˆ7ó9À#@À;<Ãp=ÃÑ4Ã@:7Ã`ù9ÃÐàAðž?Ãp&9ÃPI;Ãb<Ã@:7à È<à>Ãà Aà æ7ÃPa7à Q;Ã@@6ÃÐ:3Ãß<ÃàÀ8Ãt9ÃPÌ:Ã0ËBÃÀÅ?Ã@.9Ã@=À¾;ÃPÞ7Ãð‚4Ã@48Ø3Ãp—;ðE9Ãðç8Ãz8ÃÀï8ÃŒ9Ãp>ÃPÒ9Ãp…>à i7ÃÐ9à9ÃÐu>ðÔ6Ã0û:Ã07Ãà>Ãp:à Ô:ÃЙ8Ãà1;ÀS8à06Ã0:ÀÐ8ÃpÍ2ð]5ÃÀ5Ãà´:ÃÀ„5Ã@(:ÃÅ6ÃPÞ7à Ú9ÃpD4ÃP[8Ãðç8Ãz8Ã`”5ÃÀ¿@Ã@(:Ãpµ6ðÔ6Ã`Ž6à;Ã0ï<à Ú9Ã@=À_6Ãðç8Ãð 3à i7ÃN5ÃÀ¨/à$8ÃT4ÃP2Ãn:ðÂ9ÃPO:Ãp:ÃàÀ8ÃÐ"7Ãp27ÃàÌ6ÃPÌ:Ãpë-ÃPy3Ãðó6Ãý7ÃP7>Ãð|5ÃpJ3ÃÐ44Ã`4Ã0À/ÃZ3ð‡.Ã69Ã`š4à o6ÃÀï8Àk4à¹4Ãð4ÃàÞ3ðÔ6Ãðj8à :ÃPð4àÑ0Ã@d0à 6ðà4Ã`8Ã69Ãðù5Ã`5Àè4Ã0¨3Ã@.9ÃÐ"7ðì2ÃÀr8Ã@½6ÃàÒ5à þ3ÃðŽ2Àô2Ã@j/Ã8ÃÀ 4Ã06ÃT4ÃpÙ0ÃÑ4Ã0¢4Ã0+3ÃP…1Ã0=0ÃÀœ1Ã`”5Ã0º0ÃPð4Ãð‚4Ãð¬-ÃÀï8Ã`Ž6ðÔ6Ãз3ÃpÍ2ÃË5à ]9ÃÐÃ1ÃÐ@2Ãã1Ãp*À /ÃP…1Ãõ.ÃÀ„5Ã` 3ÃЫ5Àâ5àT0Ã`”5Ãàm1àÑ0ÃT4ÃP£,Ã`4Ã’4Ø3à ò5àT0àN1Ã@ç/ÃQ.àH2À1à`.Ã0Æ.Ãý7ÃPð4Ã`G-ÃÐ@2Ãð¬-Ã05ÃÐ@2àN1Ã`”5Ãp>5Ã7ÃN5à ‡2à³5ÃÑ4ÃàC8Ã@É4à³5ÃPy3ð‡.ÃPä6àÅ2Ã?1ÃpV1à*7Ã@R3ÃÀÌ)ÃH6Ã0%4àZ/Ã@ˆ*Ã`4Ã4ÃÐÉ0à¿3ÃÀ7-Ã`/1ðW6àT0ÃpP2À­)Ãðv6Ãàê1à 1Ãàê1à 0ðK8àÅ2ÃÔ-Ã0I.ÃÐ@2Ã071à`.Ã*;Ãà´:ÃW-Ø3Ã9.Ã@Ï3à þ3ÃÀ¨/ÃÀ´-ÃpD4à (-Àƒ0ÃÀ¨/ÃPC<Ãð 3ö.À‰/Ã05ÃП7Ãð /ÃÀ3Ã0Ì-ö.ÃÝ2Ê+ÃÀ¢0Ã0À/Ãp27Ãà.ê0à­6ÀM9ÃPÒ9ÿ7Ãð 3Ãð4Ã'1ð+Ã!2ÃðŽ2à 3à ‡2ü1ÃPü2Ãð‚4Ã@±8À}1ÃÀ5ÃÈ+ÃpÙ0Ãày/ÃP‘/ÃÐÃ1à ".À0)Ã@Ã5Ã`ó:ÃZ3Ãð /ÃÀ„5ÃH6ÃPm5Ãp©8ÃpÁ4Ãp:ÃÐ:3ð]5Ãr/à 1Ã?1Ã0´1Ãàö/Ã` 3Ãàö/ÃÐF1ÃpÁ4ä1Ãð/-ðu1ð]5ÃH6ÃàÞ3Ã06ÃÀ1ÃPÞ7Ã69ÃÀ¢0Ãà—*Ãð2ÃÝ2Ã@@6À0ÃpÙ0Ã@Ž)À.ÃÀ3Ã0[+À}1Ã-ÃÝ2ÃpJ3ÃЫ5àZ/àÅ2Ã×3ðþ/Ãàs0Àô2ðæ3ÃPü2ð .Ã0g)Ã0À/ÃÐF1ê0Ãï/Ã`¬1Ã0œ5ðò1Ãàê1à u5ÃÑ4Ãl0Ã7Ãàg2à 3ÃP…1ÃŒ5ÃÀ–2Ãé0ÃÀ¢0Ã`6Ã@R3ð{0Ã`²0à “0à³5À1ÃàC8Ãàä2Àw2ÃË5ðo2ÀY7Ã'5Ã0œ5ä1Ã@X2Ãàg2à ì6Ã`²0Ã@j/Ã@Ã5ðW6ÃP -Ã0À/ð/ÃÀ¢0ÃÐ¥6Ã012Ã@±8Ãé0ÃàO6ÃÐ8Ã`”5à*7ÃÀ–2ÃÐL0ÃP‘/ÃpP2Ãàg2Ãð1ð]5Ã’4ÃÐþ<Ã`ˆ7Ãàg2Ãý7ÃÐ44ÃÀ–2Àw2ÃÐ44ÃP0ÃÀ1.Ã`¬1Ã-4Ãï/Ãз3à¹4Ã@·7Ã@p.Ã0+3ÃÐ:3à 3ÃPy3Ã0–6ÃàU5Ãp¯7Ã06à “0ä1Ã`4Ãн2Ãý7Ãñ9Ã0:Ãз3à 2ÃpÇ3ÃЫ5ðø0Ã’4ÃÝ2ÃÐ44Ãàg2ÃQ.Ã`¦2Ã` 7Ã@Û1ÃÐ8Àî3Ã07àN1ÃГ9Ã`/1àN1ÃÀ¢0ÃÀ¨/à¹4ÃK/àH2Ãð‚4à 6ÀG:Ã@Û1Ã33à;Ãðó6ÃàI7ÃÀŠ4à 1àË1à 0Ã0º0Ã'5ðà4Ãpµ6ð{0Ã`”5Ãà7:Ã@±8Ã@Õ2Ãðˆ3À}1à$8Ãð”1Ã@½6Ã`/1ÃPa7ÃPü2Ãp©8ðþ/à {4Àw2Ã071ÃB7à¡8Ãb<àÅ2ÃH6Ã`;/Ã0=0àN1ÃÀ 4Ã@F5Ã`4ÃP2ÃPö3Ã`G-À}1ÃpJ3ÃPü2ÃPy3Ãé0ÃÀ1Ãðv6Ã5ÃpJ3àN1à¹4ÃÂ0ÃàU5ÃÀ–2Àe5à ‡2ÃpÍ2à ò5ÃÀœ1ÃÀ„5À}1ÃÀ3ÃàÆ7Ã!6ÃÀ–2ð‡.ÃðŽ2ðÎ7Ã`š4ÃàÞ3Ãp86à 3à þ3Ã@48ÃàØ4Ã`ˆ7ÃpJ3Ãð /Ã-0Ã012ÃPa7ÃàØ4ÃŒ5ÃÀ®.ÃÐ@2Ãðp7ðc4à³5Ã`²0ÀS8Æ6Ãp»5ÃàU5Ãð¦.à þ3Ãà.Ã0œ5ÃàÒ5ðŸ*Ã@í.Ãp»5Ã`4Ã@X2Ã@@6Ã`#3Ãû-àl,Ø7à`.Ãàð0à ø4Ãðù5à 0à ‡2ÃàÒ5Àw2ÃÀ1Ã0œ5ÃpÁ4ÃÈ+Ã0+3ÃÀ„5ðW6àÑ0ð3ð3Àô2ÃH6Ã!6ÀM9Ãð1ðo2à ‡2à “0Ã@X2Ãà‹,Ã`|9Ã3ÃЫ5Ãf1ÃpÇ3Ã`8à 3Ã7Ã`#3Ã@Û1Ãû-ÃpÇ3Þ2Ã@á0Ãð4ð{0ÃÀ®.à ø4ÃÐÉ0ÃP-Ãpt,Ã@ç/ÃÐÕ.àÝ.àÝ.Ö)Ã@p.ê0ÃÐ(6Ã5ÃP‹0Ãp :ðæ3ÃP2ÃPØ8ð9;ÃÐX.Àƒ0Ãðˆ3À1Ãð²,Ã`¸/ÃàÒ5à06à Ÿ.ð+Ãp€*Ãï/Ã`ˆ7ÃE0ÃP2Ãày/Ãr/Ã’8Ã@Ÿ;Ã0+3Ãð0ð‡.Ã@F5à ø4ä5Ã@Û1àN1à65Ã’4à u5àB3Ãð).ÃP2Ã?1Ã'1ð{0Ãl0à(ÃP‹0à þ3ðo2à65Ãð¬-ÃÈ+ð/ÃK/ð-ðì2ðu1Àw2Ã~-ÃP2*ÃÀ1Ã`)2à ø4Ã`¸/Ã@ÿ+Ãðv6Ãàg2ðo2Àq3Ãð1ðò1Ã<8ðÚ5Ãp»5Ã07Ã3/ÃÐR/ÃÐÛ-Ã0Ì-Ã0º0ÃpD4ÃÐ8à W:Ãp—;à06Ã`#3ÃE0ÃÀû6Ã0¨3Ãàä2ÃB7Ãp¯7À_6Ãpµ6ÃÐ44ÃÀ¢0Ãà.à 1Ã0Ò,ðò1ÃP0Ã0¢4Ãã1Ã-0Ãé0Ã7Ãàs0à «,Ãp÷+Ã0=0Ãàê1Ã@Û1Ãðš0ÃÐ44ÃÐ@2Ã`;/Ãû-à 3ÃT4Ã4Ã69à E=ðì2À-Ã@±8à>ÃP%AÃà¢=à:ð¶;ÃÐEFÃàº9ÃÐ8Ã92Ãà…-ÃÚ(Ã0Ø+Ã@|,Ã-ð3ðo2ÃÀ–2ÃÀï8ÀM9Ãðd9ÃÅ6Ãp‹=ÃÀ3à›9Ã×3ð/Ã0À/Ãð¸+ÃÔ-àT0ÃÈ+à (-ÃÐR/ÃÎ.Ãðš0Àô2Ãàm1Ã@@6Ãðí7ð‡.à 6Ã3ð“,Ãr/Ãõ.ä1ÃÀ¨/Ã0º0ÃP2Ã071à 2Ãð5,Ãðù5ÃÀ2ÃPö3ÃÐ.5Àw2Ãà-ÃÅ6Ãp\0ÃÐá,Ãàs0ü-àÑ0Ã3/Ã@ó-Ãð‚4Ã0Æ.Ã`M,Ãð /ÃÀ®.Ã<8à 0Ãû-àZ/ÃÀ1ð/ÃÀ+/ÃP‘/Ã0¨3à 6À,ÃÐÃ1ð]5à¹4Ãp÷+Ã'5à ‡2ðo2Ã06ÃàØ4ÃÀ2ÃÀ%0ÃÚ,Ãý7À›,Ã0º0ÃpÓ1ÃÐÛ-àÑ0Ãp86ÃÀ2ÃK/à 3Ãàê1ð/à 3ö2ÃP2Ã`š4ÃÐÏ/Ã@ç/Ãpt,àl,ÃÔ)à ".à 1ÃÐL0ÃÐÃ1ÃÀ®.Ã`5Ãàð0Ãï/àl,Ã`5à ì6àH2Ã@í.ü1à ]9Ã3à «,Ãð/-Ãðv6Ãàs0à Ÿ.àé,ÃàC8Ã@X2ÃÀ5Ãðš0Ã?1Ãï/ðì2Ã`A.ÃðŽ2Ãõ.ÃK/Ã`¬1à¿3ÃP—.ÃÐá,Ã`#3Ã@ç/Ã0%4ÃÀ2Ã?1Ãð2Ã?1Ã0Æ.àH2ÃÀx7Ãp»5Ã!2ö.Ã?1ÃÀ5Ã@·7Ãð¸+ÃQ.Ãàa3ÃPs4Ã@X2â'Ãpý*Ãàê1ðò1Ã`ˆ7À‰/ÃÐá,Ãàö/à 0ÃÀ5Ã`¸/Ã'1Ãðš0ÃPg6Ã`²0ÃpÙ0à 1Ãð 3Ã0C/Ãpß/Ã3/Ãàö/à Ÿ.Ã`¸/ÃP—.à 0Ã`Ê,Ãð0Ã`M,À}1Ãð¦.Ãã1Ã](àÝ.ÃÀŠ4Ã@^1Ãph.ÃpV1à ø4Àw2Ã@ÿ+Ãð#/à :*ÃP0Ã0º0ð‡.Ã0O-Ãò(ÃÂ,À$+àr+à 2Ã0œ5Ã`Ê,à Õ%à 2Ã@R3ÃÐF1ÃÂ,à`.À¡+ÃÀ3Ã@Ï3Ã0 8à Ÿ.Ãp†)à ".ð¥)Ãr/Ãpë-à 3Ãð²,Ãl0Ã@í.Ã@d0ÃP2à Ã(Ãàð0Ãé0Ã012Ãpt,Ãð0Ã0%4à ¥-Ã'1ÃÀ¢0àZ/Ã05à /Ãp\0Ãr/Ãà…-ÃÈ+À›,ÃK/Ãð¬-Ã012ð,Ã-0Ãàº9à à8Ãð‚4ê0Ã0[+ÃÀ´-ÃP&,Ãàü.Ã`S+ÃÐí*ð+ÃÐÉ0ÃP©+Ã@ó-à «,à Ÿ.Ã`Ê,Ãб4Ã@á0Ãðš0ÃpŒ(À›,àr+Ã0ä)ÃÀ1.Ãp÷+Ãàð0àN1À /ÃP2ÃÐL0à «,à 'ÃP2*ÃÀº,ÃàÞ3Ãð‚4Ã`S+À,ÃpD4àN1àT0àf-Ãàð0Ã-Ã@d0à Ÿ.ÃÐj+ð¥)Ã0Æ.Ãr/Ãàð0àx*ÃÔ-ÃP©+Ãà.ð/Ã@ó-ÃPü2ê0Ãpë-Ã`¾.Ãà+ÃÂ,à`.ÃÐ:3Ã×3Ãð).Ã~-Ãpñ,Ã@Õ2Ã92Ã0Ø+ÃpÙ0à$8ÃÀŠ4Ãà‹,Àú1à¹4Ã@ó-Ãð0ÃÀ–2Ãàð0ÃP0à`.ði3Ã@á0àõ*Ãð2ðø0ðþ/Ã92Ä,Ã@Û1ð .ÃpP2ÃðŽ2ÃpÙ0ÃÐ%Ã@j/Ãàm1ÃÎ.Ã!2ÃЫ5ÃÐ9Ãз3Ãàö/à³5Ã33Ê+Ãð¸+ÃÀ1.ÃÎ.Àe5Ãð‚4Ã0–6àÑ0ÃðŽ2ÃÐ44à 2ÃP2Þ2Ãà.Ã@í.ÃPü2ÃÀ6ÃÐF1ÃÀ®.à ".Ãз3ÃP -à 1Ã@48ÀÜ6Ãà.ÃÐÛ-À /ðø0ÃðA*Ão)ÃÀ¢0à 1Ã` 7Ã?-ð"*ÃÂ0Ãð /à 0Ã`)2àË1Ãàa3àõ*Ã`¾.Ã0Ò,Ã@v-à65ÃðŽ2ÃàÀ8ÃÐ@2ð .ÃÀ–2à 3ð?:ÃÐR/Ãp,8ÃPU9àZ/Ãàö/à 0ÃÂ0à ±+ÃPü2À}1ÃÀœ1ÃÀû6ÃÐ@2à 6ÃÀ–2Ãà—*àf-Ã0À/à 0àN1à<4ÃPm5ðø0Ã@L4À,à 1Ãà©'Ã`Ö*Ãàö/ÃÐÃ1Àî3ÃÂ0Ã@^1ÃÅ6Ãl0Ã0I.Ã@Û1Ãc+ÃÀ¨/ð-Ø3Ã`Ê,ö.à ò5ÃÀ 4Ãà[4ÃÐ@2à¹4à9ÃÈ/Ã`¸/ÃÎ.Ã`¸/ði3À_6Ãr/ÃÀŠ4Ã@í.Ãз3Ãð‚4ðø0ð/Ãå;ÃàÌ6ÃÀ=,À}1ðì2Ã0C/ö2ÃN5ÃÐ.5Àâ5à65à {4Ã012ðà4Ã0=0Ã0Ì-Ã0:à¹4ðc4à 3À1àÅ2ÃàU5ÃðŽ2ÃÀû6Ãl0Ã@X2ö2à 3Ãз3ÃÐF1ÃP2ÃpJ3Ãð1Þ6ÃpÁ4Ã7Ã`50ÃE,Ã`)2Ã4Ã\=ÃÐ:Ãз3àB3Ãph.Ã’4Þ6Ã@É4ÃÐÃ1ê4Ã@@6Ã?1Ãý7Ãp86ÃÅ6ù8ÿ7à$8Ã`#3ð3ÀY7Ãý7Ã@|,ü1à u5ä5Ã@^1ðà4ÃÐ44à Î;ó9Ã@F5À;Ãðˆ3ÃÀx7ö2ÃàÒ5Ã@½6ê4À•-à ø4ÃÑ4ðà4Ãðd9Ã@Ã5Ã!6Ãf1Ãðó6ÃÝ2ÀY7Ãðá9ðò1àx*Ã'1ö.ÃÐ<Ã`¦2Ã!2ÃÐ(6ÃÀ`;ÃÐ:3ÃŒ5ðW6Ã`²0Ã@ç/Ãp>5ê4Ã0–6ðà4ÃÐ.5Ã`2Ã@·7ÃPÒ9Ã3Ãã1ê4ÃÀû6Ã071Ãàð0Ã7ÃPm5ð/ÃÐÃ1ðø0ÃàØ4À•-ði3Ãз3à ".Ãpb/ä1ÃPê5Ãf1À,ðQ7ÃZ3ÃГ9ÃÀ5Ã4ÃÐ@2Ãàê1ðò1à ".Ã`²0Ã!6ðþ/ÃП7ÃP2Ãp€*Ãàö/ÃП7ðo2ü1Ã!2ÃpÙ0Ã-4Àk4Ã0À/Ãàg2Ã` 3Ã@X2ÃàU5Ãб4Àe5à06à ¥-ö.Ã`/1Ã`ù9àÝ.ðW6à 3Ã?-Àè4à¿3à 6àf-ÃÐX.À›,ðo2Ã@ˆ*Ãàð0Ãý7ÃPö3ê0Ã@ó-Ãpb/À;Ãp>5àB3à 1ÃÎ.Ãðÿ4ÃðŽ2ÃÀ~6Ãðv6Ã0C/Ã`S+Ã`M,Ã` 7Ã012ÃÐX.à o6ðo2Ã`²0à 1Ä,ÃpÓ1Ã@:7Ã33ÃÝ2à 0Ã`š4àé,Ã0¢4ÃÀ®.Ã`)2àÑ0Ã`5Ã4ðæ3Ãàs0Ã0œ5Àe5àé,Ãpë-Ã`Ž6ðà4Ãð¾*ÃðS'Ã9.Àe5Ãp86ÃÐ44ðþ/ÃÎ*Àe5Ãpå.Ã0g)à¡8à 0Ãàs0Ã'1Ã@d0ðW6Àe5Àî3ÃP -ÃpÇ3Ãà…-Ãà…-ÃÐÏ/à 6à 1ðà4Ã-0ÃàÞ3à þ3Ãp\0Ãà,Ã@ç/ÃPð4Ã4ó9Ãà.Ã@F5ü1Ãð0Ã`)2Ãð /ðu1Ã0U,Ã33ÃP1ÃàÆ7ö2ÃÐL0ÃÀ2ÃÀ 4ÃÐÏ/ÃÐR/Ãp27Ã92ÃpÇ3Ã`ˆ7ÃP/Ãз3Ã0O-ÃpŒ(ð™+ÃÐí*Ãð|5Ãð 3Ãðˆ3Ãp86Ãн2ÃðÛ:ÃÐÃ1Ãx.Ã3ÃpÓ1Ãt9ü1à ".à ò5ÃpÇ3àB3ÃÐ<Ã@·7àZ/Ãð4Ã`)2Ã@p.Ãðù5Ä,Ã0Æ.Ãï/ÃpÍ2Ã3Ã0À/ðò1Ãpß/ÃÀ2Ãp\0à65ÃPs4à ‡2à ì6ðà4Ã`¬1ÃàØ4ö2Ãð|5ðà4Ã0¢4ÃP1à Ÿ.Ãõ.ÃpD4ÃÀf:ÀÜ6À**Ã0À/ÃP‘/Ãà-Ãàm1ðo2àN1Ã`)2ÃW-Ãàm1Ãý7Ã<8à 1Ãð¬-ði3Ã`#3ÃÀ2ÃÐ:3Ã0Æ.Ø3Ãðù5à×/Ã-4ÃpÁ4ð{0Ã0º0ð-Ã@d0Àk4Ã@·7à§7Ã@F5Ã`/1Ãð2ÃÀŠ4Ãðš0ÃÐL0ÃÀ3Ã`M,ÃÀ5ÃÀ%0ðþ/À•-ðþ/Ã-Ã@ÿ+àH2à65àH2Ã4Ãl0ö.Ã@d0à (-à 2àã-à u5ÃZ3ÃÅ6Ã5à {4Ãày/Ã@á0ÃT4ÃÐ@2à 3ð]5ðæ3à ±+Ãð#/ÃpV1ÃÐ@2Ã@L4Ãàê1Ãð 3Ãð¦.à .,àT0ÃÐF1ÃðÜ%ÃP.Ã5àB3ÃÐ.5Ã3/Ã`;/à “0Ãð /à ".ÃÀ['Ã`¸/à c8à 3Ã@ó-Ãð0ä1À,Ãï/Ã3/ðì2Ãз3Ã4ÃÐ44ð‡.Ã@Ï3Ã0Ø+ÃÐÛ-Ã0¢4à 2ÃÐ^-Ãð/-ÃÐX.ÃÀ´-Ãàü.Ãà+Ã0I.ÃÐí*ÃP—.ÃÀ®.ð“,ÃÐX.Ãà,'Ãàä2Ã0=0Ã`4Ãð /Ãý7Ãб4ÃT4Ã@ç/ÃÀ´-à­6Ãð5,ð-ü1À.àl,Ã3/ÃÐÉ0à ø4ÃÂ,ÃÐá,Ã@”(ð .à`.ð/Ãp»5Ã`Ä-Ã`v:ü-Ã0Æ.à 1ÃpJ3ÃP1Ã@Ž)Ãð‚4ÃP‘/ä1ÃÀ+/Ãð4Ãà+Ã,Ã@^1Ã`²0Ä,ð/ðþ/ÃP-Ãð¾*ð“,Ã0I.Ã`M,à Ã(Ãc'àN1Ãàð0Ã3/ÃÀ=,Ã@d0Ãpn-Ã@p.Ã'1ÃpÙ0àã-Ã],Ã3/À0ðì2à (-ÀÖ7Ãð0ð‡.Ãàs0à 3ÃP…1Ã0a*ð/à ‡2ÃÔ)Ãàü.Ã`²0ÃPy3Ãð#/ÃP‘/ÃÐ^-Ãõ.ÃP1ÃP -ð/ÃpÓ1Ãàs0Ãàü.ÃP/Ã07à 6Ã@:7Ã`Ž6ö2à 1Ã`4ÃÀÝ;ÃPØ8ÃpP2ÃPm5Ã@ù,ð“,ÃàC8Ã0œ5Ãl0ÃPµ)Ã@½6Ø3ÃÀã:ÃðÕ;à¿3Ã` 7àN1Ã0Ø+àÅ2ä1ÃàÌ6à 3ðo2ðÚ5ÃП7ÃÀé9Ãðá9Ãðv6ÃÀ5Ãp86Ãð).ÃT4Ãp :ÃÐ(6ÃN5Ãàg2Ã09ÃÀ1ði3Ã@¥:Ã`p;Ã@á0àH2Ã0%4Ã09ÃàØ4ðò1ÃЫ5ð°<ðÂ9Ã07à W:À‰/ä5Àô2Ã@É4à*7Ã0º0Ãà+ÃPö3ÃÐF1ÃPy3ðæ3Ãðˆ3ÃpP2ÀS8Ã@¥:Ã@Ï3Ã`2à 1à 3àH2ðW6àË1ö2Ã@Ã5Ã@±8Ã?1Ãð0À7Ãð4ÃÐL0Ã` 3ðÂ9ÃP0ÃÀœ1Ã012Ã92Ã`;/ÃÀ5Ã`2Ãð4ÃÀ~6Ãà=9Ã@É4ÃÀ–2Ã0û:Ã-4Ã`6Ãàð0Ã06Ã`)2ÃÀ6Ã`¬1Ã`2Ãý7Ã0®2ÃpÇ3Ãðˆ3à*7Ãà[4Ã0Æ.Àw2Ã@É4Æ6Ãàê1Þ2Þ2Ãpb/ÃÀ~6Ã`8à 3Ãз3ÃP0ÃÐ(6ÃŒ5Ã`M,Ø3ÃàØ4à*7Ãà=9ð°<Ã0~:Àî3Ã0º0Ã`S+Ã@Õ2Ãr/Ã0ä)Ã0Æ.Ã`ó:ÃÀ+/Ã?1Ã@R3Ã0:Ã`‚8à 0ÃàU5Ãð”1à 2Þ2Ãp,8àÅ2Ãày/Ãpb/ÃГ9ÃÈ/ÃN5à ò5Ã012Ã`#3Ã'1ði3à o6ÃÀ¨/ÃÐR/Ãã1ð9;Ã0 8ÃP—.Ãp>5ð{0ÃÀ3Ã@ù,ÃÝ2Ã@É4Ãðp7Ãpë-Ã@j/ÃàÌ6ÃÀ%0Ã`”5àÑ0Ãð#/ÃPä6Ãf1ÃB7Ã07Ãб4ÃpÁ4ÃPð4ÃÐÃ1Ãð /Ã`#3à 1ði3àH2ÃÀœ1À-ÃPü2ÃÀ¨/à (-Ã@^1ÃPØ8Ãàä2Þ2Ãé0Àw2ÃÀï8ÃÅ6ð/ÃÐ@2ÃÝ2Ãàm1ÃÀx7Ã0 8ð/Ãï/ÃàÆ7Ã!6ÃàÀ8Ãph.ÃQ.ÃÐÕ.ÃZ3À.ðæ3Ã@Ã5Ãðù5Ãð2Ãp,8ÃÐÉ0ð .ÃÀû6Ãp>5Àe5Ã071ÃÐ(6Ã`¬1Àî3À7Ãé0ÃÎ*ÃPs4à 0Ã@í.Ã`ˆ7ÃP‘/à<4Ãp¯7ÃàØ4ÃP/Ã-0Ã`Ä-ÃÐ(6Ãf1Ãð;+à ±+À0Ãз3Ã` 3ðø0ÃE0à 1Ã` 3À‰/ð-Ãp»5Ãðš0ÃPü2ÃE0Àe5àÑ0Àú1ÃÐ@2ÃÐL0Ã0+3Ã`5ÃГ9Ãp£9Þ6Ã3ö.Ãpn-ÃPö3àH2Ã7Ã@d0àl,Ã@ç/ÃH6Þ2ÃP‹0ÃÑ4Ãà+Ã`¸/ÃЫ5Ø7Ãðù5Àî3ÃpÇ3Ãðp7ðc4ÃÀ3ð“,àf-Ãõ.Ã0Ì-Ã0º0Ã0+3À_6Ã33Ã071À}1Ã0À/ÃPð4À}1À.ÃP2ÃP1Ãpå.Ø3à06Ã0´1ÃÐá,Ã`G-à (-Ã0´1àN1à Ÿ.À}1Ã0U,Ãr/Ã0Þ*À0Ã0º0Ã07Ãàê1àH2àN1ÃÀ–2à 3Ã,ðø0Ãðˆ3à 1ÃÀÀ+Ã`2Ã3Ã0Ì-ÃP2ÃP/Ã`G-ð .Ãð0ÃŒ5ÃP…1Ã`/1ÃP.ÃP‹0ÃÈ+ÃpD4ðò1Ã@Ï3ÃÔ-ðþ/ÃàI7à06ÃT4ð/Ã@48ÃPü2ðø0Ã-4ð]5ÃÐ9ÃÑ4Ãý7Ã`”5à³5Ã@Û1ÃP.ð‡.Ã071Ã0O-Ã@á0Ãàê1à þ3Ã07Ã!2Ã@X2à<4Ø3ÃN5Ã`6ÃÐR/Ãé0ÃÐ44Ãpß/ö2Ãàs0ÃQ.À‰/ÃÀ´-Ã×3ðŸ*Ã012ÃÀ 4ÃàU5ðQ7ÃÐí*à ".ð .ÃE0Ã0a*Ãpå.Ãð0ÃpP2ÃPy3Àâ5à 3à×/Ã0O-ÃpJ3Ã-4ÃP£,àÑ0Ãð;+Ã@j/ÃÐL0à 3ÃðM(ÃP -À0Ã@L4Ã0Ò,ÃÈ/Ã`50ÃÐó)Ã@Õ2ðø0à /Ãl0Ãð4ÃÅ6Ã`²0À}1Ã@p.àH2Ãà[4Ãà+Ãà-ÃP2à 2ÃP,+Ãpë-Ã0 8ÃP/ê0àõ*Ãð/-à ·*ðÔ6Ãðš0Ã0À/ÃÀÀ+Ãð0ÃÀ´-Ã0I.à ¥-Ã-Ã@É4Ãð2à .,ÃÀ1.à 0ð/Ãð1Ã0=0ð-ð-ð¥)Àô2à þ3àT0Ãà.Ãð¬-ê0Ã05Ã0¨3ðo2ðÎ7ê0Ã`¸/ð]5Ãp*Ãl0Ãàð0ð/ÃP/ÃP£,Ã@Ï3ÃðÄ)Ã0´1Ãð¦.ÃП7Ã@(:Ãpt,ð-Ã@@6Ø3ÃÀº,ÃÐX.Ã`4ðþ/Àú1Ã`”5Ãf1Ã`Ö*Ãн2Ã@L4ÃÈ/Ã0Æ.à 0Àƒ0Ã0m(Ãp(ÃÔ-ÃPs4à 2À /Þ2àÅ2ÃP£,Ã'1ÃPä6Ã0%4ð-ÃÐd,ÃÐ^-Ãã1Ãï/àZ/Ãàs0àl,ÀÖ7ö2Ã@j/ÃàØ4Ã'1ÃðÄ)ÃÀ–2à ¥-ÃÐF1à 1Ãà )Ãc+Ãàa3À_6ÃÈ+àl,ðþ/Ã0Ø+Ã0œ5Àô2Ã`ˆ7à o6ÃP2Ã-0Ã@ÿ+Ã`Ê,ÃB7Ã`#3Ã@^1Ã,Ãf1ÃpÍ2Ãðˆ3ÃÀl9ð3ðQ7ÃÀ 4Ã0+3Ãp¯7Ãf1ÃÐç+ÃÐ¥6Ã`A.Ã0I.ÃPü2Ã@Û1Æ6Ã92à06ð{0à³5ð]5Ø3Ãàö/ÃÐí*ÃPö3ÃP2ÃÀ+/Ãpë-à¹4Ã`¾.Ãðš0à×/ÃÀ1Ã0Æ.Ã@Õ2Àq3à 1Ãð5,ÃÀ1ÃÐ@2ÃP/Ã`;/Ã(Ãà…-Ã],Ãàê1Ãà-Ã@Û1ÃpÙ0à~)ÃpP2Ãàü.ÃÀ%0ÃP\#Ãà+Ãp†)ÃÀ 4ÃpÙ0Ãp\0ö.à ¥-Ãpt,àr+Ãpñ,Ã@j/Ã`50Ãð1Ã@í.Ãpý*Ãð).ÃÐ.5ð-Ãð/-Ãð²,Ãð/-ÃÀ+/À-ÃÎ.Ã0À/ÃÀÀ+À.Ãà—*ÃÝ2Ãð¦.Ã0O-Àƒ0Ãð²,Àú1à (-Ãï/ði3ð/Ã0Æ.à @)ÃÐÛ-ÃÐó)ÃÀä%Ãàö/ÃÀ1Ã-0ð-Ã-ÃÐ|(ÃK+Ãðš0Ã0a*Ãp )Ö)Ãðÿ4ÃpÓ1Ãð5,Àw2Ã`S+Ã~-ÃÀ¢0Àw2Ãã1Ãpý*Ã`Ð+ÃP,+àã-Ã`2ð‡.Ã0Æ.àã-à 0ÃÐí*ÃPy3Ã`Ä-ÃÀœ1Ã@ÿ+ÃE,ð,ÃÀ%0Ãpz+ð/Ê+Ã],ÃP»(Ã3à É'Ãp*ÃÀ1ÃÀÆ*à .,ÃPy3Ãpb/ÃpÙ0Ãpb/ÃH6Ã`Ü)àN1à ¥-Ã`2ÃÐç+Ã0ð'Ã@+ð/Ã@ÿ+Ã@v-Ã@'ÃÔ-ÃP‹0àH2Ãð¾*Ã`¬1à /À•-à ™/Àú1Ã9.Ã`Ö*Ü(ÃP>(Ãà2&Ã`Ä-à 3à +ðø0ð/Ã`Ð+ÃÐí*Ãà—*à «,ð:&Ãpý*ÃÀº,Ãàs0ÃÀ%0Ãc+ÃP£,ÀÅ%Ã0Þ*Ã@j/àx*ÃÐó)Ã0a*à ‡2ö.Ã,àH2ÃÔ)ÃÀº,Ãæ&À¡+ÃÐÕ.À /ÃÐç+Ão)À-ÃP‘/ÃE0Ã@d0ÃP‘/ÃðY&ÃP…1Ã`A.Ã0´1àÑ0ÃÀ´-Ã`/1ðF$Ãp'à L'Ãc+ÃÀÌ)À**à 4+Ão)Ãp†)À­)Ã05À1Ãà‹,ÃPÁ'ÃðÊ(ÃPö3ÃpÙ0ÃPü2Ãà,Ãà'Ã`50Ã@v-Ãà…-Ã`_)à ™/à ±+Ã@j/ð,Ãæ*Ãp(à +ÃÐj+Ã0I.À‰/Ã0I.ð/ÃÐd,Ãð).Ã0À/ð/Ã`M,À1Ã-ð()Ã`G-Ã?1ÃÐÛ-ÃPµ)Ã0m(à .,Ã],Ã`M,àZ/Ê+ÃÎ.À1ð‡.Ã@|,à ".àZ/ÃÈ/ÃÐL0Ãð0Ã0C/à×/Ãàð0Ã!2ä5Ãðˆ3Ãp86ÃPy3ð .Ãà+ÃÐ@2Ãð /Ã!6Ãà[4ÃpP2Ã`|9ÃÀœ1Ã'1Ãl0ÃÐ¥6Ã'1à 3ÃÀ¢0Ãð4ÃPm5à¿3Ãàê1Ãpë-Ãн2Ã@(:Ãé0ÃpÙ0ÃàÀ8ÃŒ9à$8à06Ãp©8ÀY7Ãp86ÀÐ8ð9;Ãн2Ã9ÃH6Ãàº9Ãðj8Ã<8ðÔ6ÃÐ"7Ã@.9Ãðó6à i7ÃðR<ÃN5Ãp,8Ãð^:Ã0Š8ÃÐ{=Ã>ÃPU9Ã$<Ãàg2à ì6ÃP%AÃDAÃ@{AÃ0¿DÃ?ÃPC<ÃП7Ã`ù9Ã`:DÃÐì?ÃP¨@ÃÀ*Dà ¶?ÃÐ<Ã`p;Ãà=9ÃP1?Ã0*HÃpÒFÃúBðtFÃpÀIÃàlFà Gà ˜DÃß@ÀAà•:Ãày/Ã;ÃðÉ=À¬>ðAð'>ðýDÃ0ËBÃpIHÃkEÃð±AÃÀ¡EÃ@@Ãà@Ãh;ÃPÆ;àeBÃ`ÉAÃÀ`;ÃÀÝ;ÃÐ]BÃn:ÃÀé9Ã`ÿ8Ãp,8À|FÃPBð'>ÃPÆ;Ã`‚8ÃqDÃb@ÃÀ¹AÃ`@CÃ`ç<à‰<Ãë>Ã0ÅCÃàCàú>ÃÀN>Ã0õ;ÃÓ>Ã0ÑAÃÐ]Bð°<Ãt=ð'>Ã0ã>Ã÷8Ã@™<Ãp>Ã=À/>Ãà%=à³5ÃPa7Ãà–?Ã@uBÃÐWCÃð±Aðž?Ãð:@Ãñ9Ã>Ã07ÃpØEÀÄ:ÃÐò>àeBÃÀÃ0õ;Ã`ó:ÃDEÃBÃ0Z@Ã@(:Ã?à W:ÃÀ¿@Ã@";Ã`LAÃð(CÃÐþ<Ãà=9í:ðW6à§7àeBà E=ÃÀË>Ãðá9àkAàƒ=ÃÀr8Ãb<Ãp?ð!?Ã`ù9Ãb@Ã÷<à Ô:Ã0ã>ÀA;Ãà´:ÃÀã:ÃÐø=ÃðÉ=Ãh;à Â=ð!?ð¶;ÃЙ8Ãà7:à !Cð’Aà @Ã`p;Ã07à¡8Ã’8Ã`(GÃ0­Gà‰<ÃÀÝ;ÃÐ8ÃðÉ=Ãp=Ãp>à E=ÃÓ>à=Ã>Ã@=Ã0 8ÃðÉ=Ã0ï<Ã@¥:Ã7ð?:à Q;ðÂ9Àî3Ã$<Þ6à:ÃàÀ8Ãt=Ã69Ã0r<À_6ðæ3Ã0ï<õCÃpsAÃÀÝ;Ã0x;ÃÀB@Ã`Õ?Ã0ï<ÃÐ<ð'>Ã0r<à u5ÃP7>ÃÐ9ÃÀû6Ã@¥:ÃÓ>ÀCÃP+@ÃÀÅ?ÃÀÅ?Ãz8Ãðv6Ãz<ð¶;ÃÐò>ÀÊ9ÃPÀ<Ã`Ï@Ã@.9ÃÐø=Ã`R@Ã÷<Ãðç8ÃN5à i7ÃàÀ8ð!?Ã0TAÃ0~:Ã`Ž6ÃpÁ4ÃPÒ9ÃÐu>Ã7Ã0Š8Ãà@ÃÀŠ4ÃàÆ7Ã0r<ÃP7>ÃàŠAÃp>Ãà>ÃP…1Ãp=Ã`Ï@ÃP?Ã÷8Ãn:ÃÀ5Ãð‚4ÃŒ9ÃÐÃ1ÃÀû6ÃÀÝ;Ã@d0Àô2ÃpÇ3Ãàö/ÃÐ"7ðÈ8Ã`ÿ8ÃP[8ÃPg6ÃPØ8Ã0¨3Ãðš0ÃÀ„5à§7ÃPð4Ã`50ÃPs4à ]9Ãðó6Ã0+3ÃÀã:Ãp»5Ã!6ÃÐX.ðì2Ãpn-ÃH6Ãн2Àw2Ã@(:ÃPy3Ã`Ž6Ãðç8ä5Àô2à o6Àk4Ã0ê(Ã0+3ðu1ðÔ6Ã0+3Ã@@6ÃPO:Ãðp7ÀÜ6Ãð|5ÃÐ:3ÃÐL0Ã@R3ÃP2àÑ0ÃàÒ5ÃÐ8ðÈ8à¹4ð¶;à þ3Ãðí7àé,ÀM9Ãð4ÃPy3ÃÐ.5ÃÐL0ð{0ÃPg6Ã@.9Ã@:7ÃÀ1Ã0[+Ãé0Ã`6Ã`ù9ÃpP2Ã!6Ã?1Ãà[4Ãp¯7ÃP2Ã`;/Ã`¬1ÃÀ 4Ã@½6Àâ5à 2ÀÖ7àÅ2Ã`¦2Ãp>5Ã0¢4Àú1à65Àw2Ã0¢4Ã@á0Ã33à 2ÃP0Ãð1àÅ2ðþ/Ãp¯7Ã0~:ÃàÞ3ðc4ðì2Ã` 3ÃÀû6ÃàI7à`.ÃPU9à¹4ÃÀõ7Ã7ð3Ã07ö2à /Ãp\0à 6ÃÐÃ1àZ/ä5ðì2Àƒ0Ã`²0Ãr/ÃpJ3Ã-4ÃðŽ2ÃpD4àÅ2Ãð4ÃŒ9Ã`5ð/Ãl0Ã@Ï3à9Ãàä2Ã0À/ÃpJ3Ã`Ö*à /Ã@á0Ã0´1Ãàs0Ãï/Ã0À/Ã` 3Ã5ÃZ3ÃÝ2ÃPm5Ãp\0Ã0À/à`.ÃГ9ÃpP2ÃP2Ã'1ÃPg6à65ÃÀ=,ÃŒ9ÃàÌ6àH2àÅ2à:ÃÐ<Ã@@6ÃЫ5Ã`š4ð¶;ÃE,à 1Ãàm1Ãðš0Ãp27Ãз3ÃÀé9ö2ðW6Ãf1à 1Ã~-Ã0Ò,Àâ5Ã0=0à 0Ãp86Ãàm1Ãàm1à 0Ãp»5Ãày/Àq3ÃPm5Ãàê1ÃàÞ3Ãб4Ãpñ,Ã3ÃPð4Ã`²0Ãàê1Ãðÿ4à¹4ðì2ð/ÃП7À7Ãñ9ÃpÁ4Ãð 3ä1Ãð1Ãð²,Ã0®2Ãð2ÀÄ:Ã@Ï3Ã0®2ÃÐ9Àú1Ãð 3Ã`4Ã`Ä-ðì2Ãpt,Ã`”5Ã@á0àÅ2Àô2Ãã1ÃN5Ãðv6à 2à Ÿ.ó9ÃÀ3Ã`5Ã`¾.Ãð²,Ãé0ÃP/Æ6Ãðˆ3ðu1Ãàg2à 2ÃÀœ1àÑ0Ãp :ÃÐ:3Ãpn-Ã92à o6Ã`š4ä5Ãp :à 2À•-Ãàä2ÃÀ´-ÃÀ5ðÚ5ÃPy3Ã`2Ã3Ãã1Ã`¦2Ã’8Ãpµ6ÃÑ4à ò5Ã`š4ÃÀ5ÃÀr8Ã@:7Ãp86ÀÊ9Ã`‚8Ã0:ÃPy3Ãi*ðu1ÃÀr8ÃÐ"7ÃП7Ã`‚8Ãàä2à æ7Ã`6ÃpÁ4Ãð2ÃЇ;ð9;Ã`|9ÃÐ@2Ø7Ã`‚8Ãðÿ4Ã`|9Ãðd9Ã` 7Ã!2ðæ3ÃpÁ4Ã0–6ÃPð4Ãðó6Ã05Ãà7:à¹4ÿ7ÃPö3Ã`‚8Ã`á=ð]5à 1ç;ð?:Ã07Ã0Þ*ÃÐí*Ã’4Ã69ÃÀ3Ã!6Ã09Ã?Ãb<Ã09Ã`8ÃÀf:À‰/Ãð 3à c8ÃÀ 4Ãë:Ã`#3Ãð‚4Ã5Ã@R3ðQ7ÃÐ9À7ðæ3ÃàØ4Ãp;ðo2ÃpV1ÃàÒ5Ã`2à .,Ã05Ã`”5Ãб4ÃÐ:3Ã@É4ÀS8ÃÐX.à æ7Àè4ÃÐ:3Àú1Ã!2Àk4Àô2ê4Ã?-à$8ðø0ÃÀ%0Ãðó6Ã0Þ*Ø7Ã8Ã@@6à65Ãp£9Ã7ÀÖ7ÃB7à ‡2Ã@X2Ã0º0ÃàO6ê4ÃÐ"7ÃàÒ5Ã`|9ÃÀ„5Ãðš0Ã?1à³5ÃE0Ã@^1Ãà=9Ã@F5ÀÜ6ÃÐF1à 1Þ2ÀÜ6Ãàä2ÃÀï8ÃÀ~6ÃàO6ÃpÙ0Ãðv6à 2ÃÐ(6Ãz8ÃÝ2Àe5ÃЙ8Ã4Ã@Ï3Ã05Ã0„9Ãðù5Ã@½6ÃðÛ:ÃÐ9ÃPs4à*7Ãð4à æ7Ãб4Þ2ÃÀ3Ã`)2Ã!2Ã`R@à K<ÃÀ–2ÃH6Ãà‹,Ø3ÃPö3à ø4ð3à ‡2Ãp—;Ã=ÃÐ8Æ6ÃÐ:Ã@48Ãð|5ÃÐ]BÃpgCÃp¯7Ãp:ÃÐò>ÃH6Ãð^:ÃB7Ã@‡?Ãà®;Ãn:ð9;ÃP==ÃÐò>Ã0Ã@>ðÈ8Ã`@CÃBÃp?Ãà AÃÐQDûBÀ¾;Ã>BÃÐcAÃÐÎDÀA;Ã\=ÃP+@ÃP®?á<Ãð4AÃà¨<ÃàBÃP1?ÃÐ{=à ¶?àeBÃP¨@À5=Ãà1;à 3@Ã0f>ûBÃà´:ÃÀÅ?ÃÍ?ÃÙ=àq@ðE9à•:Ã`d=Ã0×@Ã0r<ð°<ð@ÃÀ¿@ÃжHðBÃÀ0CÃ?àq@Ã`ÉAÃÀÃPFÃpIHÃ0$Ià EÃ@ìCð@ÃàCÃ*;ðž?àú>Ãà¢=à Â=Ã`j<àÜCÃP==Ã0×@À)?ÃÐKEÃð4AÃ`á=ÃÐ]BÃpü?ÀóGÃ>BÃt=À¸<ÃAÃ`j<ÃP1?Ã@øAðŒBÃDEÃà>À¬>à 'BÆ:à K<ÃpUFéEÀA;Ã0~:Ã?Ãð:@ÃÀÑ=Ã0û:Ãð@?ÃBðÈ8Ãð±AÃAÃP¨@ÃàŠAÃà+<ÃP¢AÃÀ¹AÃà1;ð¤>Ãð·@ÃÐàAÃ@{Aç;ÃðŸDÀ#@Ãt=Ãb@Ã@=Ã>Ã`ÉAÃPU9ó9Ãp<ÃP+@Ãñ=à E=ÃÐ<ð'>Ã>Ã0l=Ãh;ÃÍ?Ã`á=Ãð.BÃÐo?Ã`X?ÃÐì?Ãpü?Ã4ÃÐò>Ã@ ?ð°<à ì6Ãp‘<Ã2DÃ`d=à=ÀÖ7Ã@±8À²=Ã@:7ð'>Ãà[4ÀÊ9Ã?Ãàº9Ãð¥Cà Ú9ÃÀ¹AÃÐþ<ÃP1?ÃP==Ãð^:Ã`LAÃÐ:Û=ð-=Ã@48Ã@É4Æ:ÃÀx7Ãý;Ã*;Ã0é=ÃP´>Ãp27Ã`8à þ3ÃàÆ7Ã@Ÿ;À;ÃðÕ;Ãà7:ÃpêBÃÀé9ðÎ7Æ:É@ðÎ7ÃPÒ9àw?ð'>ÃðX;ÃPÌ:ÃP==Ã@F5à¡8ðÈ8Ã05Ã7Ã9Ãp»5Ãàº9Ãp;Ã@·7á<ÃЙ8à$8ÃП7Ãàº9ÃÐþ<ÃÀï8Ã*;Ãà[4ÃÀû6Ã÷8ÃÐ9ÃPDÃ@¥:Ã0–6ÃÀï8ä5ÀÜ6Ã’8ÃÀ3Ãà´:ð¶;Ã5ÃЙ8ðo2Ã@Ÿ;Ãà>ÃðR<à§7Ã3Ã0–6Ã69ÃP[8ÃPI;Ãàa3ÃpD4à9ÃГ9ðc4Ã’4à i7ÃPä6ðÂ9Ø3Ãð^:Ãà7:ðì2ÃÐ(6ðÔ6ÃÐF1ÃB7ÃPØ8à ¥-Ãý7ÿ7à à8Ãà7:à 9?à W:à§7ÃÐ9Ãð /Ãðd9ÃÀ`;Ã@";Ã’4à³5ÃÐÃ1Ã@Ã5ÃPg6Ã0%4Ãà=9ð3Ãз3Ãðj8ÃQ.Ã<8ÃPê5Ãp£9ÃÐ¥6Ã0º0Ã`)2ÃÐ"7Ã`)2Ãï/Ã-0ÃPy3Àe5ÃPU9ÃÀ„5Ãð /àÅ2Ãpµ6ÃpÇ3ÃÀ3ðW6ÃÐ44Ã@ù,Àq3ÃП7ðÚ5ðÎ7Ã`v:ðÔ6Ã0¨3ðæ3ÃÐ¥6ÃÐ44Ã3ÃÐÃ1Ã0¢4Ã0ä)Ã@Ï3ÃpJ3Ãз3à ‡2ÃT4Ã0I.Ã`/1Ã0®2Ãàê1Ãð‚4Ã012Àq3ðà4ÃŒ9Ãàº9Ãr/ê0Àw2à×/àÝ.ÃP/Ãð²,ð,ð .ðQ7ÃÀ„5àT0Ãðp7Ãðv6ÃàÌ6Ãp27Ãpz+ÃP2Ãp27à›9Ã012à ]9Ãðj8ÃÀ+/Ãàü.Ã`¾.ÃpÍ2Ã@R3ÃÀx7ÃÀ~6ÃàÆ7Ã5Ãp‹=Ã7Ã5ÃPö3Ã92Àƒ0ÃpÓ1ð3ÃPê5ÃÀ¨/à 3ÃÐ(6Ã`Ž6Ã@Ã5ÃÐX.ÃÐX.Ø3Ã3Ãà-ÃÐá,ÃP1Ãàü.Ãàa3à 3Ãà[4à /ÃŒ5à*7Ã7ð-ä5ÃÀõ7Ã@Õ2Ãp\0Ã8Ã@½6ÃàÆ7Ã0Š8Ãt9àË1Ãpß/à×/Ã@Ã5ÃB7Þ6Ãð/-Ø3Ãн2à u5ÃÅ6ù8Ã3/ÃPa7ÃàI7Ã@½6ÃP2ÃÀ„5ÃÐ.5Ã7ÃÝ2ðÔ6Ã`4àË1ð .Ã7ðu1Ãð‚4à à8ðW6Ã@L4ÃPê5à*7ÃÀ–2Ãàm1ð{0Ã0º0ÃÀï8ðÂ9à ø4ÃT4ðÔ6Ãp,8ÃP==Ãt9Ã0®2ÀÊ9Ã@^1ÃÐ:à <Ã@@6ÃPm5Ã`j<ÃÅ6Ãp<Ãpµ6à o6Ã@·7Ã<8Ãý;ÃÐ"7Ã'5Ã0œ5à ì6Ã@^1ÃàÒ5ðu1ÃÐ(6à ì6Ãðd9ÃZ3ðÔ6ÃH6ÃPI;Ãp27à65ðW6Ãp86ðW6Þ6à c8À/>ð9;ÃÐ:ÃÀ6ð .Ã@:7à¿3Ã4ÃЇ;Ã!6Ã@«9ÃðŽ2Ã@<ÀS8ÃPÒ9Ã’8ÃÀ 4Ã0–6Ãб4Ãñ9Ã0:à ‡2ðà4Ã@R3ÃPð4Ã`v:Ãà[4ÃàO6ÃðŽ2Ãð).à þ3Ã@Ã5à:ÃàÆ7Ã@>Ãp—;Ãðí7Ãp&9ðE9ÃPÌ:ÀÐ8Ã07ðà4Ã05ðÔ6à$8ÃÐ"7ÃÝ2ðÚ5ó9Ãð1ðÈ8Ãà´:ÃÐ<àB3Ãб4ÃàØ4ðÔ6ðc4Ã`#3ÃPÌ:Ãð^:ÃpÁ4à u5Ãp£9ÃÅ6ÃB7Ã`)2ÃE0Ãàö/ÃÀ2Ã@É4ÃPa7ÃЫ5Ã@Û1Ã92Ãp:ðK8ö2Ãðù5Àô2Àq3ðæ3Ãð2ÃÀ5ÃPê5ÃH6ðþ/ÃÐ.5ÃàC8Ãày/Ã`5ÃÀr8àT0Ã@á0ÃÐÃ1Ã`|9Ã`4ðø0à•:Ã`/1ÃàØ4Ãp,8ði3ö2ÀÜ6ÃPs4Ãð2ÃB7ê4ÃpÓ1Ã0%4ÀM9Æ6ÃÐ ;ÃÐ ;Ã`)2ÀS8à 3Ã!6Ã'1Ã’8Ã@(:Ãðá9Ã07Ã` 3ÃPÌ:Ãñ9ðÔ6Ãp‹=Ã` 7ÃPm5ÃP&,Ã`A.Ã?-Ã@^1Ãp&9Ã0¨3Ã!6ÃÀ 4Ãàê1Ã@L4à Ô:Ã0–6Ãp>5ÃÐ"7ÃŒ5Ã0´1ð3Ã0+3Ã92ÃÐ@2ÃÀ3à ì6Ãðç8ÃàØ4Ã071Ãðv6Ã;Ã`ó:Ã`â(Ã0O-ðì2ÃPm5ÃÐF1Ã3Ã'1Àâ5Ãàa3ÃÀ2Ã`Ž6À0ÃPü2ÃB7ÃPä6Ã0Æ.Ã@ù,ð{0Ãàä2Àî3Ã`š4à<4ÃÑ4Ã0=0Ã`/1Ã@á0à×/ÃÀ~6Ã0–6ÃÐ:3Ã`Ž6ÃË5ÃP2Ã`8ð .ðø0Ãpz+Ã0º0Ã0O-ÃÀ2Ã`#3ÃPü2ÃÈ/ÃpÁ4Ãà=9ÃÐL0Ã@j/Ã92à<4Ã` 3Ã0ï<Ã0¨3ÃÐ^-ÃÐ¥6àB3Ãï/ð/ÃÐ@2ð{0Ã9.Ã9.Ãð#/ÃÚ,à:ÃpD4Ã@F5Ãõ.ÃpÓ1Ãp¯7ðQ7Àè4à +ÃÀ=,ð,ÃPð4à o6ðc4ö2ÃÝ2Ã06ÃÔ-Ãpå.Ã0º0ÃÐç+À$+à 0Ã071Ã0C/àr+Ãð”1ð,Ãàê1ÃÀ7-ÃPÁ'ÃPs4ÃP2Ã@j/àT0Ãc+Àw2Ã`G-ÃàÞ3Ãàü.À6(à ".ð/Ã0×@ÃpV1ð“,à 3Ãp†)Ã@ç/ÃQ.Ãà,À}1à 3Ã3/ÃÀ 4Ãà‹,Ãàð0Ã`50ÃÅ6Ãp&9ÃÐL0ÃK/àl,Ãp>5ÃpÇ3Ã0Š8Ãðí7Ãàg2ðø0Ãx.À}1ü-Ãp»5Ãð2Ø3Ã0%4Ã05ðæ3À_6ÃÀ3ð+à ±+ÃÐL0à “0Ã`²0Ã`¸/ðÚ5ÃÀ 4Ã0¨3Ãз3ÃðÄ)Ãpt,Ê+àï+à65à ¥-Ã`Ä-Ã@L4àÝ.Ãð|5Ãà…-à :ÃPð4Ã`4ü1Ã@d0ÃK/Ãð4ÃÎ.ð¥)ÃÅ6Ãн2Ã0Æ.À}1ÃÐ@2ÃÐÉ0à 6ÃÀœ1Ã@v-Ã0=0à¹4ÃP0Ãï/à “0ÃÀ1.ÃÐÏ/À}1ÃZ3Ãàm1ä1ä1Ãð¦.ÃP1Ãðÿ4ÃÀ7-À.Ãl0Ã@‚+ðì2Ãf1à ‡2à ‡2Ãé0Ã@á0Ãp»5Ã'1ÃÔ-Ã`50ÃpP2ðà4Ã3Ãé0ÃP0Ã-ÃË5ÃpÇ3Ã@v-ÃàÞ3à 3ÃPð4àT0à ø4ðì2ê4àN1Ø3ð/ÃÐÛ-Ãà‘+ÃàÞ3Ã`2Ãl0Æ6ÃÐF1àã-à¹4ÃN5ÃÐ:3ÃÀ„5ÃpD4ÃÈ+Ã`/1ðo2À}1Ãï/ÃÐR/Ã@Û1Ã'1Ã`ˆ7Àô2ð]5à§7Ãð‚4ÃÀ–2ÃÀŠ4Ã0:Ø7ÿ7Ãp>5Ãà7:ð9;ð3<Ã@“=Ãn>Ãà>ÃðR<Ãý;ÃÀï8ÃÀÑ=à 3@ÃV>ÃÍ?ÃàxDÃ@@À”BÃpmBÃà„BÃ0ÅCÃP1?ÃDEð@ÃàBÃÁEÃÍCÃBÃpÞDÃðuKÃ8GÃ@ÎHÃ`àRðßIÀ½PÃ`.Fà/KÃPãKÃpCIÃÀwLàGGà¾HÀRMÃpÆHÃKÃà¹NÃð]OÃÀHà#Mà QðÓKà PPÃ/OÃALàÿRÃÀ_PÃÀwLàOÃaQÃ`JÃOÃ`ìPÃPNOÃàÅLÃ@RÀ·QÃÐßVÃpxUÃðÈRàŽPÃP³SÃêOÃФKÃ`uOàçVÃ@QÃà‰VÃRÃ0kRÃPNOÃPËOð8PÃp¨MÃPBQÃÐßVÃÐtSÃŽTÃà VàQÃäPÃÐëTà ÍPÃ0KÃÀSRÃð?TÃÌXÃð]OÃðRà ¯UÃ`ìPÃÐ÷RÃÀèNÃöMðTÃà Và DRÃP*UÃ0wPÃ@!PÃPÃÀÖQÃ/OÃÐ÷RàÛXÔSÃ@Sà/KðbIÃàHLÃ@'OÃ0ôPÃ`ÈVÃ0NÃ0kRÃðøJÃ)PàˆQÃpŠRðµPÃUWÃaQÃðGÃÀMSÃüLÃ0NÃpœOÃSÃ0‰Mà JQðÇMÃNÃ@¤OÃ#QÀÕLÃp–PÃyMÃüPÃp%NøMÃP0TÃà6OÀRMÃ0ôPÀjIÃàÝHÃ)PÃ`IÃ@-NàNÃÐ’NÃ`øNÃLà GÃ`iQÃMJÃ`ŸHàˆQÃðòKÃPZMÃаIà zIÃpœOà”OÃÀJÀdJÃ@°MÃÖHÃ`JÃP„FãFÃKÃTÃGKà ßMÃp RÃÀîMà¦LÃðcNÃß@Ã&JÃОLÃNÃ@9LÃ` Là)LÃÐIÃ0JÃàTJÃp=JÃÀ‰IÃkEãFÃ`™IÃ@ÂJÃðIÃÐÈEàÄGÃðŸDðÍLÃð“FÃwCÃ@?Kð÷Eà Dà ÷IÃÐ3IàÄGÀùFÃ0îQÃ@ÔGÃp+MÃðGÃ0HCÃ@°Mà Gà ýHÃ`"HÃkEÀAÃP~GÃÀƒJÃwCÃàxDÀ‚EÃ0­GõGÃpUFð÷Eà GÃð4AÃ,IÃ`«FÃÐ]BÃð·@ÃàõDÃP Eð CÃÐ?GÃ`:DÀóGà ÷IÃà AÃ>FÃ@òBÃÙAÀCÃà@ÃðÃ>ÃðGà †GÃ0³FàÄGÃp?ÀvGÃÐEFÀCÃPGÃð™EàèAÃVBÃàBà 'BÃP+@à GÃVBàYDÃ@?KÃÀ‰IÃpØEÃèEÃðIÃ@øAÃ0`?Ãàœ>à -AÃP+@à zIÃÀã:ÃðR<À#@Ã}BÀ”BÃîDÃP–CÃ\AÃ$<ÃÐu>ÃàxDÃÐWCÃÐò>Ãz<Ã`LAÃàCÃàCÃ0û:ÃÐQDÃ`Ï@à -AÃPÀ<ÃÀ6BÃÀGÃJ@Ã`^>ÃpUFÃ@ÚFà DÃ0l=Ã`@Cà K<àq@Ã0BDÃ0TAÃñ=ÃðX;Ã>Ã0~:ÃÀ×<à ªAÃ0×@ÃP?à Ô:ÃÀÝ;Ãp>Ãp=ÃÇ@ð¼:ÃP®?ÃPBÃðFà ’Eð CÃP?à žCÃÐi@à <Ã÷<Ã@ìCàâBÃÀ¿@ÃP¨@àô?àkAÃÀ`;ÃPÌ:Ãð™EàkAÀ)?Ã`X?ÃDAÃpðAÃ>ÃÐIÃà`HÃ@‡?Ãà AÃ`Û>Ãà~CÃÀÑ=Ã0Z@Ã@>Ãð(Cà @Ãð·@Ã0¿Dà ªAð€Dð!?ÃÀB@Ã0ËBÃ@-NÃ`·DÃP´>ÃÁEÃÐþ<ÃÙ=ÃP–Cð¼:ÃP¨@ÃPC<Ãn:Ãðó6ÃÐæ@Ã`@CÃÀ$EÃñ=ÃpðAÃ2HÃÙAÃ0r<ÃÀÑ=ÃPÆ;à ?>Ãp&9Æ6ÃÍ?ÃP+@ÃJ@Ã@òBð¤>Ãà@ÃÐ<ðK8à Dð†CÀAÃðF>ÃÀZ<Ãð|5Ã69ÃÐ{=Ãñ=ÃGàô?ðž?à•:àƒ=ÃP´>ÃЇ;ÃÀ¹AÃ`d=ÃÐo?Ãà%=Ã0é=ð3<À)?Ãð:@Ã`R@À¾;ÃÀH?à E=Ã0ÅCð°<Ã?Ã\AÃ8GÃà7:ÃÇ@Ãà7:à ?>àî@Ãp>Ã`Û>Ãàœ>ÃÀ6BÃpsAÀšAÃ@(:ÃÀf:ÃwCÃÀH?ð¶;Ãz<ÃÐþ<à}>Ã06FÃ0Š8Ãà=9à*7àô?Ãp‹=ÃÐàAÃ@™<ÃàÀ8Ã=ÃÐÚBÃP?Ãà?Ãp£9Ã=à Î;ÃðX;Ãpµ6à Q;à ]9Ã<8ÃPÀ<Ã@‡?ÀA;Ãý;ÃàÀ8Ãà=9ÃP?àèAÃp?ÃÐ<Ã@>Ãn>à K<ÃÀÝ;à>ÃÐø=Ãp…>Ãð@?ÃÀZ<à;Ãz8Ã`v:Ãp»5ÃàÀ8à$8Ã`|9ÃÐø=ÃP==ÃÀN>Ã0l=à;à Â=ÃðÃ>Ã`ù9Ãðù5Æ:Ã0 8Ã`”5ÃP´>ÃPa7ðK8ÃÀ`;ÃPC<ÃÐ:à$8àw?Ãß<Ã69Ã@.9à Q;À7ÃÐcAà È<À¸<ð¶;à <Ã*;À¬>à ]9ÀÐ8ð¼:Ã0–6À)?Ã`ó:Ã`Ï@Ã4Àô2ÀÄ:Ã`p;Ãpµ6ÃPÌ:Ã`^>ÃðÛ:Ãp?à DÃ$<Ã@";ÃÀË>Ã'5à i7à ì6ð'>Ãðá9Ãн2Ãz<Ãðd9ÃPO:Ãð|5ÃP%AÃ@¥:ÃÀé9Ãt9ÃÐ<ÿ7Ã@·7Ãë:ÃÀT=ð-=Ãð±AÃPÞ7Ãp;àú>ÃPÒ9ð'>Ã`‚8ÃP´>À¾;Ã0õ;Ã@±8Àâ5Ãp :Ãp‘<Ã07ðÚ5Ã0 8Ãà´:À¸<ÃPê5Ãà Aà Ú9Ø7ÃÀx7ÃàI7à:Ãå;ÃÀH?ÀÐ8ÃPy3ÃPm5ð@À_6Ãз3Ãp?Àw2Ãн2Ã@";Ãð|5ÃГ9ÃP…1à¡8Ãp<Ã33ÃЫ5Àâ5à;ÀÄ:Ãà%=À#@ÃÐ8ÃÂ0ÃÐ.5ðÂ9à ø4à {4Ã8Ã`”5ÃÀ1ÃÐ:3ÃP==Ã`v:ÃPÆ;Ã@þ@Ã@:7Ã’4ðE9à 2Ã7ÃÀ3Ãz<Ã3/à³5ê0Ãð1ÃÐÉ0Ãàð0Ø3ðK8ÃÐ<ÃÀ~6ÀÊ9Ã`ù9ð9;Ãàg2ÃÅ6à 2Ãàm1ÃàÞ3Ã@·7Ãñ=ÃPI;ÃPg6Ã`p;Ã`v:ÃÀû6ÃPm5ÃàÀ8à W:Ã9Ã`ˆ7ðW6ÃPü2ç;à :à¡8à;ÃÀÑ=À;à c8ÀS8à Ú9ÃÀã:ÃpäCÃb@Ã@@ÃÍCà <Ã@™<Ã`^>Ãpü?ÃðþIÀšAÃÀË>ÃÀ¹AÃÐþ<ÃÐKEÃÐ]BÃå?Ãë>Ã÷8Ã0TAÃ`Û>Ã`^>à K<ÃPFÃÜGÀ#@Ã@“=Ã@iDÃÐi@ÃðÏ<Ãàº9Ã@=ÀÊ9ðýDÃ`Ï@à W:ÃðL=ðBÃÙAÃ0`?Ãà@ÃAÃpö@à -AðDà;ÃÐWCð!?ÃP–CÃ`.Fà ¼>Ãpy@Ã?Ãý;ÃÀ×<Ã@>àq@ÃÙ=ÃÁAÃ`^>ð!?Ã$<Ã*;à K<Ãp,8Ã0f>Ã?Õ>ÃÐþ<À)?ÃÐo?õCÃ@ ?Ãð.BÀ/>ÃÀ³Bàú>ÃÀB@ÃðŸDÃ@@à Â=ÃÙAÃà¢=à}>Ã0BDÃp?ÃÀ¿@Ã09ÀÊ9ÃPC<Ã@Ÿ;àèAÃ`ç<Ãp?Ã@þ@à ?>ÃP?Ã@>ÃÐæ@ÃpaDÃÐo?ÃÐo?Ã`p;ÃàCÃÐ:Ãå?Ã@“=Ãp‹=ÃJ@ðÂ9ÃP7>ÃàõDÃ0–6Ãp?ÃPÀ<Ãà?Ã`X?àÜCà}>ÃÀ¿@à ¤BàÖDÃb@Ãà®;ÃÐ<Ã0NBÃPÌ:ÃÀZ<ÃðF>ÃÙ=Ã@<Ã`d=àèAÃ0é=ÃÀ¿@à$8ÀY7ÃÀË>ÃPm5ÃÀZ<Ãà?Ã0Ý?ÃPO:ð3<Ã`ç<à ]9Ã0Z@ÃPÀ<Ãðç8Ã0ï<ÀA;ÃúBà;Ãp,8Ã` 3Ã0%4à ì6Ã@¥:à=Ã7Ãý7Ã<8ÃàO6Ã`‚8ç;Ãh;à Ô:Ã`ó:Ãz8À²=Ã0 8ÃPm5Ã`í;Ãð4AÃðL=Ã`ÿ8Þ6ÃðX;Ã÷8Ã@ ?ÃÐ]Bà Î;ÃðÛ:Ã`á=Ãp>Ãà7:Ãp;Ãà¨<Ã`á=ÃÀé9à à8Ã0¢4Ãn:ðÂ9Ãp>Ãp;Ã0:Ã0x;à¡8à c8ÃÐ<Ãñ9Ã3/ðò1ÃÚ,ÃPü2ÃðR<ÃÐþ<ÃÐ9Ãn:ÃÀ`;Ã06ÃàI7ÃðÕ;à à8Ãp,8ÃàÒ5Ã@48Ãñ=Ãt9à i7Ã07ð3ðÚ5Ã`4Ã@«9ðc4Ã0û:ÃÅ6ÃÅ6ÃÐ(6Ã5Ãð 3ÃB7à­6Ãp<ÃPÆ;Àk4Ã9ÃÀ×<ÃŒ5Ã0+3Ãð 3Ãý7Ã0~:à­6ÀM9à o6ÃPä6à<4ÃPÀ<Ã0f>ÃÀ–2ÃpÇ3Ãp>5àN1Ãà´:Ã`ˆ7Ãð^:Ãpµ6à<4Ã` 7ÃPy3ÃÀé9Ãðp7ÃÙ=ðQ7Ã`ÿ8ÃPð4Àô2ÃPä6Ã@@6ÃZ3Ãðv6Ã@Õ2Ã`Ž6ÃV>ÃÀÝ;ÃÝ2ÃPü2ðK8Ãàö/Ãàa3Ø3Ãðù5ðà4àÅ2àÑ0Ã`”5ÃPs4Ãð).Ãf1àË1Ã@½6À1àZ/Ãз3ÃpÙ0ÃPs4Ã0¨3ÃÐF1à9ÃE0ÃàÞ3Ã@.9Ã92Ãpå.Ã`/1ÃPð4ÃW-Ã`¬1Àè4ÃàÒ5Ãp©8Ã`/1Ãðÿ4Ã@^1ÃÀ['ÃÀ3à65Þ6Ã0õ;à ø4Ãð1à ø4ÃPö3Ã0U,ÃpÇ3Ã`6Àw2Ãàð0Ãðv6Ã0®2ð{0ðò1ÀÜ6Ã4Ãàö/ü1Ãã1Ã`/1ð+ð‡.ÃPy3ð¥)ð‡.Ã`;/ðø0Ã@ó-ÃPð4ÃÀ1ÃK/Ãà.Ãày/Ã@48Ãðá9Ã06Ã5Ã92ÃÀË>Ãp»5ÃPy3Ã@@6ÃPs4Ã071Ã`¾.Ãн2Ø3Ã0Š8À}1Ã@R3Ã0®2ÃPä6ÃÀ5Ãàº9ðu1Ãàö/Æ6àH2Ãðÿ4ÃPC<ÃÀÝ;ðQ7Ã@Û1ÃPy3ðø0ÃPÒ9Àe5à :Ã0:Ãðj8à¹4Ãðp7ó9Ã’4Ã<8À)?Ã@Ÿ;à ?>ðì2À;<ÃðR<ðE9Ãý;Ãà1;ÃàCðQ7ÃÐò>à Î;Ã`ÉAÛ=Ã`j<ÃÐ<Ã`R@Ãë>Ãð¥CÃà¢=ÃðÃ>Ã`j<Ã`á=Ã@iDà ¤BÃÀ¹AàkAÃðÕ;Ã@@Ã0×@Ã0f>ðÚ5Ãn>ÃàŠAÃÐø=ÃP==Ã@@àÐEÃàõDÀ;Ã0TAÃÐì?à -AÃð·@Ã`R@Ãå?Ã}BÃÐcAàYDðBà 3@ð¤>Ã?Ãp?ÃpsAÃ?ð˜@ð¤>ÃÇ@Ã0ËBÀ¸<à Q;à 3@ÃÐÔCà -AÃ@<ÃÐàAÃðF>Ã`Û>ÃP%AÃàrEÃðÉ=ðAÃÐWCÃð«BÃpmBÃÇ@Ãð™EÃжHÃP–CÃ`Ï@Ã}BðzEÃ`ç<ÃÀÝ;à E=ÃpsAà²JÀAð3<Ã_GÃp27à <ÃPI;ðAÃð¥CÃÀÃÐKEÃð·@à -AÀ”BÃð½?Ãp<àú>Ã0f>ÃÀl9Ã0ã>Ã0ËBÃ@cEÃÐ ;àw?ÃÐø=ÃÐo?À;Ã`X?Ãà@ÃDAÃ}BÃðÛ:Ãh;Ã`ó:Ãb<ÃôCÃ?À;<ÃðÕ;ÃÓ>Ãð4AÃpsAà ?>à -AÃ7Ãðd9Ã0®2Ã@½6Ã`”5Ã÷<À¸<ð'>ð-=ÃÀ¹AÃÍ?Ã$<ÃÀ6BÃpêBÃ8Ã`4Ãp&9Ãz<Ãp©8ð¤>ÃÐ:ÃÀ`;ÀÖ7Ãð½?Ã=ÃГ9Ãp=Ã00GÃ$<ÃÐu>ÃúBðŒBÃ0r<Ãp£9ÃÀ×<Ã`í;Ã$<Ã0:ÃÐcAÃÐ¥6ðÚ5Ãß<Ã`X?ð3<Ãp;Ã`ˆ7ÃÐ8Ãðj8Ã@(:ÃPÒ9Ãpµ6ÿ7Ã0Ý?ÃðÃ>Ã09Ã@«9Ãñ9Ãp;ÃÙAÃ@>ÃàÀ8ÃðF>ÃPCÃÐ{=ÃÐo?Ã@«9ÀA;Ã@48Ãb<ð?:Ã0l=à:ðAÀ#@Ãð:@Ãðí7ÃPÞ7Ãðv6ðà4Ãàº9Ãðó6Ã`4ÃðÛ:à W:À;<À;ÃÐæ@Ã<8ÀM9Ã0~:ÃÀã:Ã8à W:à È<ÃÀ5Ã0ã>Ãðj8Ãpµ6àƒ=à›9À7ÃË5à i7à ò5Ã`v:ÃÀr8ÃàŠAÃ07Ã0:ð°<Ãà´:ÃàU5ÿ7Ã@48Ã@=Ãà¨<ÀÊ9ÃPê5Ã7Ãý7ÃÝ2Ãðí7ÃŒ9ÃPð4Ã`8Ãý7ÃàÌ6Ã@·7Ã07Ã@R3Ãp,8Ã`Ž6Ãàa3ÃÀr8Ãð^:Ã÷<àw?ù8ÀÖ7Ã’4Ã7Ã@>à=ÃàÆ7Ãý7ÃT4Ãà7:Ãð”1Ãà%=Ã\=Ã` 7Ã0–6Ã0r<Ã0:ÿ7Ã5ðW6ÃàÌ6Ãð1Þ6ÃN5Ã`‚8à65Ã`ó:Ãpµ6Ã33Ã-4ÃPÆ;Ã0Š8à “0ÃÀï8Ã`8Ãð2Ãp¯7Ãz8Àî3Þ2ÃPa7Ã’8Ãð2Ãàð0ÃP2Ã`ù9Ã`¦2Àe5Ã07Ã@Ã5Ø3ÃP2ÃPð4Ã*;à u5Ã` 3Ã@X2À7Ã@Ã5Ã`#3Ãðš0ÃÐ.5Ãp>5ÃB7Ã0%4Ãt9Ã0%4Ã3Ãð 3Àq3ðQ7à65Ã`Û>Ãp>5Ã@±8à i7ÃP…1ÃÀã:ÃPm5ÃÀx7ð?:ðÚ5ðø0Ã012Ã@v-À1Àô2ÃP1ä1Ã3/ÃÀõ7Ãl0Ãàa3Ãp86ÃpÇ3Ãp>5Æ6Ã071Ãà-ÃÐÃ1ÃpV1ÃÂ0Ã`)2à 1Ã'1ÃP2ÃàØ4à 1ÃÐ@2Ãð 3ÃT4Ã0û:ÃÀ~6Ã`;/à¡8Ã’8ÃP-Ã06ÃË5ÃàC8à 6ÃÐÏ/Ã92Ãr/ÃÐ44Ãð|5Ã@¥:Ãàg2ÃÝ2Ã`G-Àq3à×/ÃÐÉ0Ãý7Ãð1ÃÀû6Ãp86Ã@ç/Ãx.ðW6Àq3Ãp©8ÃàÅLÃð^:ÃÐ"7ÃE0À.Ã7Àè4Ã`5ÃàØ4à<4ÃÀ„5ÃPö3ÃPg6Ã0û:Ã69Ãë:ÃpÁ4Ã-0Ãàm1Ãðó6àÅ2Ã9.Ã33ðò1Ãð 3Ã69Ãàm1àË1Æ6Ãð2Ãàö/Ã@á0àH2ÃPs4Ãð0àB3Ä,ð3ÃÀr8ÃÀ„5ðÎ7ÃðŽ2ÃPä6à “0Æ6ÃË5ð+à «,ÃPê5à /Ãf1ÃàÒ5à ]9ðæ3Ãé0ðæ3Ãàs0Ãà-Ã@É4Ã`š4ÃP‘/ÃpJ3Ã~-Ãp»5ÃÐ:3à­6À}1ÃP0Ã`5ÃðA*àN1Ã@Û1Ã3/ÃP1Ãð/-À}1Ãp\0Ã@Û1Ã-0Ãàð0à¿3ÃÐç+Ã`š4Ã`#3ðE9ÃPy3Ãà[4ÀS8à 2Ã@É4Ãðv6ÃÀ1.Ã`¦2Ãà.Ã`¦2Ã@:7ÃPê5à*7ÃÐÉ0Ãð¬-Ãpë-Ãp86Àw2ÃÐ^-ÃP‘/ÃÂ0à þ3à§7ê4Ã`¬1Ãð¾*ÃÐÏ/ÃpÙ0Ø3ÃpÍ2ÃPm5Ãz8Ãà7:Ãðÿ4ÃÐR/ðì2ðc4À}1à¹4ÃÀ–2ÃW-À}1ÃÂ,ÃpV1Ãpµ6Ã`²0à 1Ã06Ãðù5Ã0Æ.Ãã1àÅ2Àq3ÃÐÏ/Àú1àN1Ãð 3Ãp©8Ãб4Ãàä2ÃpÓ1à þ3àï+Ã`Ð+Ã9.ÃpÙ0Ã`Ž6à 3Ã`Ž6ÃàÌ6Àk4àÑ0Ã`š4Ã@";ÃpÙ0àã-Ãpý*ÃÐR/ÃàC8Ã-4Ê+àÅ2Ã'1ÃpP2Ã@F5à¿3à {4Ãàs0Ø3Ãн2ÃГ9À‰/À7ÀÜ6àÅ2à•:à Ÿ.à ‡2à {4ÃB7ð-ÃÀ 4ð/ü1Ã’4Ã×3Ã0%4Ãpë-Ãàs0Ã0+3ÃP…1ÃpD4Ã`ÿ8àN1Ã`50Àô2ÃP2ðc4Ã~-Ã0=0ð/à “0ÃPä6ÃT4Ã-Ã'1ÃÐR/ÃÐ¥6à§7Ãб4ÃPö3ÃPO:Ã`ù9ÃÐ¥6Ã`Õ?ÃPä6Ã@(:Ã@“=ÃÀ×<à;ÃÀ×<Ãb@à ¶?Ã÷<àèAÃ@ÂJÃÐWCÃ@ìCÃ`¥GÃ@æDÃðFðhHð†CÃàlFÃÀ§DÃàlFÃPGÃPŠEÃpOGÃð HÃmOÃ0­GÃP?éEÀCÃÀHÃ0•Kà ÙNÃàNKòNÃpPÃà¹Nà)LðnGÃÐNÃðQQÃðiMà tJÃPDÃàfGÃPÑNÃyMÃALà ëKÃ0 Mà tJðÁNÃp®Là ÍPÃALÃ`àRÃà¹NÃðøJÃà*QÃÀwLðßIòNàšNÀXLðÙJÃêOÃpCIÃÀHÃ5NÃ`±EÃðGËJÃMJÃðiMìOÃpÆHÃ`ŸHà KÃà6OÃÀ IÃPéJÃÀúKðÙJÃPŠEÃÐ!Là)LÃÀ›FÃ0¹EÃðGÃðæMà;IÃ@'OÃðþIÃpØEÃ[RÃðÚOÃpÌGÃðIð\JÃÀwLÃP„FðnGÃàTJÃ`iQÃ0¹EÃpÌGÃGKðåHòNÃÐÈEÃß@à HÃeFÃðÔPïDÃðFÃ2HðzEÃðGÃÐÂFÃ_GÃ0BDÃ`KÃÀ¡EÃ@ÂJÀˆDà ¤Bà ’EÃPrIÃpºJà KÃÐWCÀáJÃð«BÃ@WGÃ`“JÃÐÎDÃÀ•GÀ^KàAHà ¶?ÃpäCÃÀ0CÃÀGÃаIÃ`"HÃÀË>Ãà@Ã0*HÃpUFÃÐÎDÃPFÀ‚Eð÷EÃÀôLÃàéFÀCÃ0é=Ã\AðDãFÃ`±EÃÐÈEÃ@WGÃÐKEãFÃà~Cà¾Hà²JÃkEÃpêBÃAÃ0HCÉ@Ãp=JÃà Að CÃàõDÃpäCÃÀB@Ã>FàÐEÃàõDÃPõHÃðEÃÐEFÃ@uBÃð·@ÃpØEÃp?Ã\AÃp‹=Ãð±AÃÐì?ðzEÃðŸDÃÀ×<Ã`Ï@Ã`:DÃPõHÃâFðýDð@ÃSIðÙJÃà~CÃà>Ã@ ?Ãp<í:Ãð·@Ãà~CÃpy@Ãð@?ÃAÃàfGÃP+@Ãn>àî@ÃðF>Ã`ç<à Ô:í:Ã`Ž6Ã`ç<ÃpmBÃh;Ãà AÀEÃP%AÃ0l=Ãà+<ð¶;ÃP==ÃðÉ=Ãpy@à=Ã`ù9Ãpö@ð!?Ãà¨<À Dð˜@Ã0§HÃð¥CÃPBÃÐÂFÃ@iDð@ÃÐWCÃ`@CÃÐÈEÃ@Ÿ;Ã@þ@Ã0¹EÃÀFÀˆDÃðÃ>à GÃ`.FÃ`@CàAHïDð˜@ðAÃ@ÈIðVKÀˆDÃJÀÛKÃ@SÃ0JÃ0ÑAðBÀjIÃàéFÃÐEFÃ>FÃ&JÃ`KÃÐ!Là ñJûFÃ0Z@ÃPCÃ`Mà FÃÀJïHÃ0 MÃKÃÐÔCàeBÃÀB@ÃÀ*DÃÐMÃ@KIÃÐ-JðtFÃ`FBÃ@KIÀùFÃÐ’NÃ,IÃ`KÃpOGÃÀ•GÃüLÃðIà žCÃ@{AÃpUFÃP`LÃ8GÃ_GÃ`ŸHÃ`KÃPTNÃ@]FÃð:@ÃpgCÃPŠEÃàfGÃ`(GàÖDðýDÀÏMÃ`±EÃÀ­CÃPGÃPxHàÄGÃJÃÐ’NÃPõHÃðþIà GÃPõHÀíHÃ0LÀŽCÃJDðDÃPrIÃÐ!LÃ0³FðŒBà HÃ`(GðëGÀÕLÃpÌGÃ@æDàSEÃÀ›FÃÐÂFðñFÃð‡Hà ŒFÃP®?ÃSIÃîDÃèEÃ@æDÀ DÃ`™IÃÐKEÃ@æDÃÀ›FÃð±AÃP„FÃ`.FÃ0}Oà GÃÐÔCà GïDàAHÃpêBÃP~GÃÀFÃÐ]BÃà„BÃpUFÃ@QHÃPDðnGÀ|FÃîDÃ06Fð€DÃpCIÃ,Ià DÃ0KÃúBÃ@æDÃâFÃ0$IÃð«Bð@ÃP1?ÃpÌGÃÀFàèAð†CÃÍ?Ã@oCÃPDÃðGà ëKÃ`±EÃ@ ?Ãà@ÃAÃÙ=ðAÃàõDÃpØEÃà AÃàfGÃðIÀ DÃP–Cà ýHÃpaDðtFÃ\=ÃÐÎDÃ0HCÃ@>Ãà–?à ªAÃÀ0CðbIÃPŠEÃÀ³BÃÐ]BÃð4AÃ$<õCÃð(CÃÙAÀCÃpgCÃpOGÃà@Ãß@ÃÀ*DÃpÞDÃV>ÃÀT=àeBÃ@™<ÃÐÔCÃP~GÃVBÃ0BÃPØ8ÃÐ]BÃð:@ÃúBÃÐÎDÃ@òBÃàõDÃ\=Ãð«BÃ`Õ?ÃÀ§DÃ`á=à 9?Ã0ã>à 3@ÃàûCÃÀ›FÃÐ]BàMFà Q;ÃÀ$EÃðÃ>à 3@ÃPœBïHàÖDàÖDÃàCà -Aà HðŒBÃP1?ÃðÃ>ÃÀõ7ÃAÃèEïDÃà¢=Ã`ÃBÃÐÔCÃÐEFÃÀ6BÃÀ­Cà ¶?ÃÓBõCÃîDÃÐ!LÃP®?ðzEÃ0ËBÀCÃð™EÃJ@Ãà AÃðFÃÊJÃpØEÃ`4EÃð"DðbIÃ`«FðŒBàAHÃ`“JÃ0HCÃàfG×LÃPCà}>Ã`LAÃÐÚBà ýHÃ@ ?à DÃ`"HÃ&Fà GÃðŸDÃ`:DÃàïEÃð¥CÃ8GÃ`¥GÃÐàAÃ@<ÃÀÃèEðž?ÃVBÃeFðzEðßIÃÐQDÃ\=ÃâFàÖDÃèEð'>À#@ÃÀ¿@ÃÐ?GÃ0Ã0¡IÃ0ËBàÜCà ëKÃÓ>à›9Ã`Û>à=ÃÍ?ÀpHÃÀ*DÉ@Ã0:ÀÐ8Ã`á=ÃÐ]BÃpØEÃà AðBð†CÃÀÑ=ÃôCÃÐ{=Ã0TAÃ@WGÃ`d=ÃqDÃPº=Ã0%4ðDÉ@ÃwCÃpmBÃ`LAÃ`á=Ãß<ÃP¨@ÃÇ@Ãð«BÃn>ÃÓ>ÃpêBÃh?à °@ÃÀË>Ã`ù9Ãð@?Ã9Ã\=ÃÐKEÃÍ?à ªAÃ`4EÃpü?ÃÇDàkAÃß@Ã@oCéEÃ0HCÃP==ð˜@Ã0x;Ã@“=Ãp—;ð¶;Ã0f>Ã`á=ÃúBÃðF>ÃÐ:Ãå?ÃÐo?ïDÃà@ÃV>Ã`Ž6Ãð(CÃàBÃÐàAÃë:ð!?ÃÐÎDÃÐi@ðtFÃÀB@ÃÀZ<ÃP+@Ã0r<Ã\=ÃÀË>à Î;Ø7ÃðR<Ã0ï<ÃpêBÃ2DÃà>ÃP1?Ãñ=ÃÐò>à>ÃPº=Ã>ÃàC8à;Ãà¨<Ãà1;Ãà–?ÃPÒ9Ã0û:Ã`í;à ?>Ã0 8Ãn>ÃÐ9Ãý;ÃÀÅ?Ã`á=ðÂ9Ãh;ÃàC8ÃÙ=ðÈ8ÃàÀ8à Ú9Ãñ9Ãð|5ÃPC<Ã@oCÃ0Š8ÃPg6Ãz8ð3<Ã$<Ãà1;À Dà W:ÃÐ<Ãë:Ãp,8ÀA;Ã*;ÃPÀ<ÃðR<Ã`‚8ÃÓ>Ã0 8À;Ãð^:ÀšAÃ`Õ?Ãpö@à Î;ÃH6ó9Ã@™<Ã0õ;Ã`½CÃ@ ?à 9?ð'>Ã@=à‰<ÃàÀ8Ã7ÃPs4Ã09ÃN5Ã0 8Ã@¥:Ãpµ6ÃŒ5ÃàU5ÃÀï8à @à§7ÃPg6Ã@·7Ã0~:Ã`ó:à;Ã÷8ÃÐ"7à*7ÃPÞ7Ã`v:ðQ7Ã@í.ÃÀx7à>ÃП7Ã@«9ðc4Ãðp7À5=ÃÀ³Bà {4ÃÐ9ÃÀ„5Ã`Ž6ðæ3Ã-0à ò5ÃÀZ<Ãà–?Ã05Ã09Ã@";Ã0:Ã`Ê,Ã`/1ðì2Ã`‚8àH2ÃÀ6Ã012Àô2à ‡2ù8ÃP2Ãàa3ÃÀã:ÀÜ6Ãp>5Ã`ˆ7ÃpÇ3ð-=à 1Ã@·7ÃÀ~6ÃpÇ3Ã5ÃpÇ3ÃPs4ÃÀé9Þ2Ãàm1Ã0œ5Ã@Õ2ÃPg6Ã4Ã@½6Ã<8Ã05Ã0¢4à³5à ™/à “0Ãn:Ã`#3Àe5ðà4Ã@É4ðÚ5Ã0¨3ðK8Ã`¸/Ã@d0Ã0¨3Ã'5à<4Ã@á0à (-ð]5ÃàÌ6Ãf1Àƒ0Ã0:ÃàÀ8à 3Ãà%=ÀÐ8Ãà´:ÃÀx7Æ6ÃÀ¨/Ã06ÃpD4ÃÐR/à 1Ãð¦.ÃK/ÃP2ð{0ÃÀ1Ãpb/Àè4Ãpß/à¿3Ãp>5ÃàÀ8Ã-4Ã0¨3à¹4àN1ÃÐF1ÃpJ3Ãàa3àË1À1ð/ÃpD4Ø3ÃÐ44ÃP0Ã@L4ÃÀ%0ÃÐÃ1Ãpý*Ãõ.Ã0À/ÃàÒ5à (-à @)ü-Ã@á0ðK8ÃÀ5ðì2Ãpµ6ÃÐF1à$8Ã!2Ãðÿ4à “0Ãz8Ã@±8Ã`á=Ãð²,Ãðv6à*7Ã`š4ÿ7ÃPð4Ã@L4ðu1Ã`8ÃàI7Ãð¦.ÃpP2Ã!6Ã@½6Ã@Ï3Ãpß/Ã0º0Ã@É4Ã0´1Ãà.ð-ÃðM(ÃP0ÃpÓ1Ã'1ð‡.ÃÝ2à¹4Ã`e(ÃPü2ÃàÆ7Ãàm1Ã0º0ÃàU5Ãðˆ3ê4ÃÐ ;Ã`6ÃP/Àƒ0ð/Ãõ.ÃPü2ÃP‘/ÃÀ6Ãp>ÃPÒ9Ãz8Àƒ0À7Ãé0Ã'1ð{0ÃÐL0ÃÀ2Ãp86Ã0+3Ã@ç/ÃpD4ÃPg6í:à :Ã012ÃÐÉ0à65ÀA;ÃÐ9Ã-4ÃàI7Ã09Ãà7:ÃàÌ6ÀÖ7ðì2Ãðÿ4ê4ÃpD4ÃàI7ÃPä6à u5Ã@¥:ÃÑ4ÃЙ8à;Ã`5Ã`š4ÃB7à {4ðÈ8ü1Ã05Ã0+3à ‡2ð9;ÃP2ÃÀx7ÃDAÃ`p;ð“,Àq3Ãðš0Ãà[4à ¥-à 0Ã@±8ÃÀ¨/ÀÊ9ÃPa7ÃàÆ7àB3Ã@F5ÃÐu>Ãp>5Ãà[4Ãp÷+à¹4ðÔ6Ã@R3ðK8ÃPØ8Ã0®2Ã`ˆ7Ã@É4ÃГ9ÃÐL0à65Ã’4Ãðÿ4ê4Ãã1Ãàm1ÃÐ@2Ãp£9à 2ÃP1à³5Ã0C/ÃÀº,àÝ.ðÚ5Ã`”5Ãl0Ãàs0à ø4ÃpV1à ò5ÀÜ6Ã0¨3Ãàä2à Ÿ.à¹4ð3Ã!6ÃP2Ãàº9à<4Ã@Û1ðø0Ã],Ã0º0Ãð”1Ãð 3Ãðù5ð/Ã09Ãp86à06ÃPm5Ãp27Ãðó6ÃË5Ã`¬1àÅ2ðK8ÃÐ"7ÃP&,Ãðˆ3ÃÈ/ÃÀ3ÃPs4Ãàg2Ã`¬1ÃÐX.Ãp&9ÃÀ3ð/ðæ3ÃpÓ1ÃàØ4àT0À‰/Ã0Ì-Ã012Ã@Õ2à ".Ã012Ã'1Ã@Û1ð()Ãpt,Ã`6Ãpµ6ÃPê5Ã`¦2ÃÀœ1ðì2ÃÀÀ+À}1Ã@@6à 2Ãpë-ÃÝ2ðK8Ã@48Ãàü.Ã@á0ÃP2ÃpV1Ã012Ãð1ÃPð4ÃÀ7-Ãà[4ÃpÁ4ÃP…1à 1Ãàs0àË1à ‡2ÃÐÛ-à 0Ãðš0Ãð/-Ã@Ï3ÃpP2ðW6ÃàU5Ã0Þ*ÃQ.Ãpn-Ã`²0ÃÀ 4à65Ãð 3Ãð¦.ÃPü2ðu1Ãð#/Æ:ÃN5Ãà-àÅ2ð/à /à×/ÃÀœ1ÃÀ3Ãð¦.Ã0´1ÃÐ:3ÃÀ3Ãà)Ã`¦2Ãðˆ3Ã071ðæ3Ãï/ð“,Ãð¦.Ãàm1Ãðš0Ã@Õ2àf-Ãpë-ðþ/Àq3Ã@@6Ã0–6Àô2Ãàg2àã-à ±+ÃpV1Ãi*Ã0Þ*Ãàü.ÃÀ5ðì2Ã`²0ÃN5Ãð2Ã@á0ÃÐç+àÑ0Ã@É4àõ*ÃÀ´-Ã`Ä-Ã0+3Àq3ÃP1Ãé0Ã0I.Ã`Ê,ÃÀ1.Ã012Ã`;/ÃÐÃ1À›,Ã`50ðò1ÃÐ:3Ø3ÃPs4Ãàg2Ã!2Þ2Àk4ðo2ÃÐd,Ãæ*Ã92Ãp86Ã-Ãpz+Ãl0à “0Ã0À/à 0ð/Ãph.Ã@Ã5Ãàê1Ã`Ä-ÃÐF1Ãà+ÃÀ 4Ãà…-Ã×3Ã@‚+Ã@v-Ã0Ò,àr+Àú1à (-ð‡.ÃðA*ÃQ.Ã`)2ÃÐÿ'ÃÐR/Ãð¸+ðø0Þ2ð/Ãð 3ÃÀ+/Ã`)2à ø4Ãб4ÃÐÉ0ÃP¯*à Q;Ãðp7ÃÎ*ÃÀº,Ãpb/ÃÀÌ)ÃÀ7-Ãà*à„(ÃÐí*ÃQ*Ã@j/ü-à³5ÃðŽ2Ãà-ÃÐí*Ãã1à 4+Ãpß/Ä,Ãõ.ÃP—.àZ/Ã0º0à`.Ã@‚+ÃÀ1.Ãph.ð/Ã@Ž)Ãà,ÃP2à «,ÃÀ´-Ãð¬-à :*ÃÈ+ÃÀ®.Ã9.ÃP2*Ã@v-ÃPs4ÃÐÉ0à ½)ÃPV$ÃP¯*Ãà…-Ãà,'Ãн2Ãн2Ã071Ãð¬-àB3Ãàg2ÃK+Ãà*ÃE0ÃÀ1Ã@v-ÃQ*Ã`²0ÃÐÃ1Ã0I.ÃPy3Ãð5,àõ*à +ÃP1à 4+Ãà*Ã~-àã-ÃÐL0Ãu(Ã`â(ÃP,+ÃE0ðŸ*Ã'1Ãà-ÃÈ+ÃP0ð¥)àx*Ã0º0Ã*Ã0Ø+à ".Ã@ÿ+ÃpŒ(Ãð).ÃÀ1.Ã`è'ÃÀU(Ã`â(ÃÀ®.Ã@ç/Ã`50Ã`è'Ã0U,Ãð¦.Ãà-Ãày/à «,Ã0Ø+ðø0ÃÀ7-ð .ÃÂ0Àî3Ã@í.ö.Ãð/-ÃÀ1.Ãày/Ã3Ã` 7àf-à`.ÃÀ1.ÃÚ,ð/à .,Ãà.àÑ0ÃÐR/Ãx.Ã`²0Ã`Ä-Ãàg2ÃÐÕ.à 1ð/àû)Ã0À/ð-À-Ã0Ò,Ã0+3Ã`50à 3À.ÃÀr8à ±+ÃÀ%0Ã@í.ÃÐF1ê0ÃP&,Ãð0Àƒ0Ã@|,àÅ2ÃpV1Ø3Ã@á0Ã-Ãé0Ã@í.À1ÃÀÆ*Ã`¸/ÃPs4ÃP0Ã`¦2ÃpÍ2Ãpå.Ãc+Ã0û:ÃÐR/àB3Ã`¾.à ±+ÃðŽ2Ã`Ž6Ã`A.Ã`Ê,àË1ÀM9ð/ÃpD4Ãðÿ4ÃpP2à 3Ãp*ê0Ã@ç/ÃÂ,Ã`Ä-ÃpÓ1Ã06àã-à 2Ã`)2Ã0+3à 4+Ã)ÃP/Ãà )Ãàg2ÃÀ3Ãl0ÃÀ5Ãàa3ÃP©+Ãð²,Ãpå.Ãðv6ðc4ðì2ð‡.Ãàä2Ã-4Ê+À1Ãl0ÃpÁ4ð/Ãð2ÃP‘/ÃÐL0ÃP>(ÃP&,Ãï/Ã06Ãàü.Ã0®2ÀÜ6Ãph.ð .ÃÎ.Àî3Ã@á0àÝ.ÃÀ=,à 0Àk4Ã7Ãð 3À.Ãð1Ã-0Ã0g)à .,ðì2ÃÀ1.ÃÀ%0Ã0g)Ã92ðo2Ã`/1Ã7Ãð”1Ã@R3À-Ãð|5ÃPö3Ãx.ÃÂ,Ãà—*ÃÐÕ.àB3ÃðŽ2àr+Ã`)2ÃÐÛ-Ã0õ;Ãàä2Àô2Ã`50ÃÐj+àã-ÃQ*Ã@|,Ã@+ðu1Ãày/àÅ2ÃZ3ÃÀ1ÃP.Ã?1àN1ÃàÌ6ÃP£,Ãõ.Ãõ.à Ÿ.ð+Ã`Ð+ÃÈ/ÃK/Ã`¦2Ãpë-Ã@+Ã3/ÃP2ð,àû)ðŸ*àÅ2Ãð¬-ÃPö3Ã0+3Ã)Ü(Ã(Ã`²0ÃÐR/À-à :*Ã-Ã?-ÃðA*Ã-î%À$+àx*Ã`¬1ÃÐ.5Ã3/Ãpb/ÃP-Ãð¸+Ãp†)à .,ÃP,+Ãp*Ã`)2àf-ÃP‹0Ã0Ø+Ãð”1ÃW-Ã0Ì-Ã-ÃÐÛ-ðŸ*Ã`Ä-ð/ÃÀ7-Ãx.Àô2ÃQ*ð“,Ãi&ÃÐÏ/ÃàÆ7Ã0m(ÃÐ@2àr+ü-Ã0U,Ã0O-ÃÀ¨/Ãàs0À³(ÃÝ2Ãpß/Ã0C/Ã`Ê,Ã0Ò,Ãã1ðæ3ÃP.ÃÀ¨/ð .Ã`Ö*Ãà-Ã0Æ.Ã0´1ÀÖ7Ã0®2Ãi&Ê+Ãi*ÃP-ÃðÊ(àl,à Ÿ.Ãàm1Àô2Àq3Ãðù5Ã*ÃÐd,Ãû-ÃÐÕ.Ãð2Ã0=0ðþ/Ã`G-ü-àÝ.Ã`¸/ÃàO6ÃÐL0Ã`S+ð/À1À0Ãpz+Ãp†)À§*Ãà'ÃP.Ã@Ž)àõ*àÝ.Ã@)Ã@ *ð{0Ãpb/ð-ÃE0Ã@‚+Ãà¯&Ã@j/Ã@p.ÃÐÛ-Ã`#3Ãpý*ÃÀ3Ãðš0ÃàÞ3ü1ð4'Ã@š'Ãpn-Àî3Ã`2ö.àf-ÃÐR/Ãày/Ê+ÃN5Àô2Ãà+Ã0Þ*Àî3Ã3Ãð;+Ãàö/ÀY7Ã071Ãð/-Ãà‹,à R&ÃpÍ2ÃP.Ãl0àB3Ã?1ÃÎ.Ãðv6Ã’8ÃÀŠ4Ã0´1Ãн2Ã-4Ã071ÃP.Ãàð0Ãpß/ÃP…1Ãð5,Ãà )À-ÃÐç+Ã0I.ÃPö3à .,Ã0O-Ã`¾.Ã`š4à Ÿ.Ã@^1à 1Ã`;/Ãð¸+ö2Ãï/ÃàØ4à Ÿ.ÃH6Ãã1Ã@|,ÃE,ÃП7à 1ü1ÃÐX.ðø0ÃÎ.ÃpV1à¡8Ã`5Ã`;/Ãð#/ÃPö3Ã` 3à­6Ãð).ÃÀ+/Ã3ð/ðì2Ãð¦.ðo2Ã0´1ðø0àT0ÃQ*ê0àB3ÃPä6Ãð”1À•-ÃP -Ã8Ä,à*7Ã07ðò1ÃÀ¢0Ã`4Ã0Æ.Ãàö/ÃÂ0ð .Ã`Ä-ÃPü2à <Ã`Ä-àË1Ã3ÃÀ®.Ãàg2Ã~-àË1ÃÂ0Ã@ÿ+Ã0Þ*Ãà+Ãð|5Ã,Ãð|5ÃpÁ4Ãr/ÃT4ÃK+Ãf1à {4Ãð”1Ã-4Ã`/1Ã`¦2à³5ÃÀŠ4Ãð1Ã-0ÃÀ¨/ÃÐÛ-Ã-Àƒ0ÃÐÕ.Ãб4Ã@X2ÃÐ.5ÃP -ð"*à à8ÃP1ÃàI7ÃÀ3ð-Ãày/àï+ÃÀ1.Ã`;/Ãàä2Àq3ð{0Ãðš0ÃP2ÃPö3ð™+àÅ2ÃPm5ÃP…1ÃÀ¢0ÃP…1Ã`#3Ã071Ã0C/ÃðÄ)Ãð#/ðæ3ð{0Ãðš0Ã0I.Ãà,Ã3Ã`50Ãàm1ÃÀC+ÃÀ¨/Ãð1Ã`2ð3ê0ÃÐÕ.ÃÐÉ0Ã*ÃÂ,Ãà*ðþ/Ã`/1ê4ÃÅ6ÃÀ 4Ã3/à 0ÃÀ®.Ã'1Ãàg2Ã`G-À›,À-ÃT4Ãpn-Ã`Ä-Ãr/Ã0U,Ã`50Ä,àõ*Ãà…-ÃK+Ãpå.ÃÐÛ-Àƒ0àï+ÃÀØ'ÃÔ)Ã071ÃE,ÃP2Ãð²,Ã0ð'Ãð2Ã`G-ði3Ã!2ð/À­)Ã@+ÃðG)ÃE,ð .À.Ãà,Ã0À/à ½)Ãp˜&àé,Ã0Ì-Ã*ÃpP2Àô2À}1ði3ÃàÞ3àÅ2ÃÎ.ÃPy3Ã@ÿ+Ã*àÝ.Ãðš0Ã`¾.Ãpt,Ãð0à 0ð-À¡+ÃP-ÃP/ÃÐL0àx*Ãà.ÃW)ÃE,Ã@ÿ+Ã@á0ÃP>(à ½)Ã0¨3Ãp»5ÃÝ2Ã`¸/Ã?-Ãpn-À$+àû)Ãpt,à ±+àõ*Ãà.ÃK+Ãð¦.Ã@F5ÃÂ,Ã`M,ð/Ã33Ã0´1ð±'ÃP2*Àô2ÃpÙ0ÃÀU(Ã0U,ÃÀ%0ð,Ãз3ÃÀŠ4ÃÀ%0Ã92ÃP£,Ã@X2ð/ÃÀ3Ã,ÃP£,àf-ð"*ä1À<'ÃÀÒ(À‰/Ã@š'àã-Ãò(Ã0Ø+ÃpÓ1Ã@F5ÃPy3ü-à “0à ".Ã-0Ãà…-ÃQ*Ã@Ž)Ãi*Ã0Þ*ðo2ÃPD'Ã,ð,ÃЈ&ÃÚ,ÃÀ¢0ÃÀ¨/ÃE,Ã0ä)ÀB&À1ðŸ*ÃÐÉ0Ãð /Ã0=0ÃÐí*ð±'Ãé0ÃÀ3À³(À¡+ÃÐÛ-à F(ÃðA*ð()Ã*Ã`Ä-ÃP‘/Ã`M,àl,Ãã1À›,Ã@ç/ÃÀº,ÃÀ1ÃpÍ2ÃÀŠ4ü1Ãà'À‰/ÃÐ ;ÃÐ.5ÃÐÏ/ÃP1Ã0Ò,Ã*Ãæ&à «,Ã0À/Àk4à ‡2Ã0a*À**Ãà—*ÃP0Ã0[+ÃÀ+/À›,Ãà*Ãàü.Ãà‘+àr+Ã0Æ.À,àN1Ã`S+Ã*ÃÀO)ÃЂ'Ãðš0Ã@^1Ã` 3àH2Ã0Þ*À**Ãpz+Àú1â'Ãà‘+ÃQ*ð-Ã0g)ÃЙ8Ã0´1Ã@v-Ãc+Ãc'Ã4Ãx.Ã`e(àl,Ãð”1ÃÂ,Ãp\0ÃP‘/à Ã(à Ï&Ã@ÿ+Ã0g)Ã`¾.ð/àÑ0àË1Ã@p.Ã`M,Ã0[+ÃPÁ'ÃÐó)à ±+Ã`¦2à×/ÃÐÏ/ÃÐç+ÃÀº,Ã0ê(ÃQ*Ã@Ž)Ö)Ã`¬1Ãàö/ÃÀ®.à (-Ã`Ê,ÃÐó)Ã@|,à 4+ð:&Ãð;+Ãà‹,ð«(Ãà+Ãàä2Ãpß/ÃÐÃ1Ã@Û1àé,à @)Ãð/-ÃPð4ÃÐj+Ãà,ði3Ãpz+Ã%'Ãàs0ÃàÞ3Ã`â(ÃÀº,à 3Ãày/Ãà,Ã`¸/Ãpë-ð .ÃQ.Ãp )Ã071ÃPü2ÃÐd,À.Ã@á0Ãàs0Ãð‚4ðÔ6Ã`M,ÃK+Ãð¸+Ãã1Ã9.ÃðM(Ãà*à ‡2ÃE0ÃÐp*ÃP/ÃÐL0À /Ã0®2ÀÊ9Ãð0Ãðš0àË1ÃàØ4Ã@X2ÃÀI*ÃÐ44ÃP1Ãб4ÃÐÏ/Àâ5À1À³(Ãн2à¿3Ãàm1Ã0Æ.ÃÂ0À.Ã0Ì-à {4À}1à06ÃÐÏ/Ãðù5à 3Ã-0Ã@Õ2Ã`Ž6Ã09ó9ÃðŽ2à¡8Àô2Ø3Ãp©8ÃÐ:3ÃPö3Ã`4ÃPg6à;ðc4à×/Ã`;/àB3Ãð/-Ãð¸+à<4Àô2ðQ7ÃÀ 4à 2à 1Ã92Ãà[4Ã`#3à ‡2à o6À /ÃàÞ3Ã@X2Ã0Ì-ÃPy3Ã`/1ÃЫ5ÃP…1à i7à ø4Æ6Ãp—;ÀY7Ã@X2à {4Ã'5à<4ÃË5Ã÷8Ãp27ÃÀl9ÃÐ<ðÈ8ÃàÆ7Ã0+3ÃT4Ã3Ã`|9ÃPg6ÃàÌ6Ãp¯7ÀY7Ãðˆ3ÃPê5ÃÀé9ÃГ9à‰<ÀM9Ãp27à þ3ÃðÕ;Ãp,8Ã`ˆ7Ø3ÀM9ÃP[8Ãðj8Ã@.9Ã`|9Ãn:ÃÀr8à ø4ÃÁAÃPÀ<à Ô:à>Ã@·7ÃPÒ9Ã÷8Ã`8Ã`ç<Ã`ç<ðQ7Ãpµ6ÿ7Ã0:Ã0„9ÃÅ6ÃPU9Ã`R@ð@ð]5ù8Ã07ÃŒ5Ã'5à ì6ÃðÕ;ÃàØ4ðK8ÃÀr8àN1à¿3à65ÃÀœ1à§7Àî3Ã0®2Ãðó6Ãà+<à>Ãp&9Ã@48Ãðó6ÃT4Æ:ð3Ãз3ù8à Ú9Ãp86ÃPü2Ã`8à i7ÃÐ9ÃГ9Ã@48ÃÐ:3ÃÀû6à;Ã@>à 6à$8à :Ãb<ðÈ8Ãp,8Ã0%4ÃpÇ3Ãðç8Ã@";àB3ðK8ÃàÞ3à¡8ÃЫ5à {4ðÔ6ÃÀx7à}>ÃÐ<Ãn:à¡8Ãp¯7ÃÀõ7à <ÃÀã:ÃÀé9ÃÐ<Ã@½6à9Ã`v:Ãб4ðÈ8Ã@Û1ÃàÞ3ðæ3ÃÀ2ê0Ã-4ÃÀ5ÀÜ6ÃŒ5Ãð4ÃЫ5Ã`¾.Ã0%4ÃÀœ1Æ:ÃÑ4Ãðˆ3à<4Ãз3Ãðˆ3à ·*ÀÐ8ÃP…1ÃàU5ÃÀ¢0Ã3/Àî3Ã@:7Ã69Ã8ðc4Ã`ˆ7ÃÀ–2Ãðÿ4ÃÀ~6ÃpÁ4ÃPÞ7Àq3ÃP0ÃB7Ã4ÃÀ%0ÃÀ3ÃП7ÃpÁ4ÃPê5Ã`¦2ÃpD4ÃàÒ5ÃÐ44Ãðˆ3Ã4à 1Ã@@6Ã?1à×/ê0Ã@Õ2ÃÑ4Ãp>5ÃPü2ÃQ.à06ÃË5ðà4Ãpb/Ã-4À1ÃÐÕ.Ãð0ä5Ã;ÃГ9Ã7Ã@:7Ã071ÃE0Ã5Ãp»5ðà4Ã`¦2Ã0=0ÃÈ/Ø3Ãp86Ã<8Ãp»5Ã’4à ò5ð9;Ã<8ÃPÀ<Ãày/Ã-0Ã0À/ðò1ð]5ÃPs4Ã06ê4ÃÀ~6Ãð2Ã`6à ".Ãà[4ê0ÃÀ3Ã`5àÅ2Ãð).Ãðd9Ã`²0Ãp>5Ãàg2Ã@Ã5ÃàÀ8à 3Ãpë-àÑ0à Ÿ.Ãt9ÃpÁ4ÃàÌ6À;Ã92à§7Ã`8à­6Ã4ÃÐX.à 1Ã`#3Ãðù5à à8Æ6ÃPs4Ã’4Ãà[4Àâ5ðÚ5à c8ðæ3Ãp27Ã5à•:à ò5Àâ5ðà4ÀY7Ã33Àè4ÀY7Ã`¦2Ã'5ÃàO6ÃÀû6Ãà1;á<Ã0¢4ÃpÙ0Ã×3Ãñ=ÃÀ3Ã07ÃpP2Àô2ÃÐ8ÃÑ4ÃàO6à Ÿ.Ã0–6ÃÐ:3ðK8Ãðˆ3ÃPg6ÃPð4Ã`¾.ÃÀ2Ãã1Àk4Àe5Ã`4Ã`”5Ãà1;Ãðá9ÃPö3Ã0À/Ã`50ðu1ÃPm5Ãp;ÃÐÃ1À²=ÃP1Ã0¢4Ãàð0Ã@ç/ðò1Ã0Ì-Ã`¬1Ã'1Ã0=0Ã0 8Ã@:7ÃàÀ8Ã@·7à 3Ãðí7Ãðˆ3àZ/Ã4Ã`¸/Ã×3Ã92ÃPÆ;Ã@L4Ã`5à¹4Ã`¦2Þ6Ø7Ã@";Ãà®;Ãp86Ã0x;ÃPs4Ã`”5Ã`2Ãн2ÃB7Ãð0Ã@Ï3ÃpV1À•-ÃÀ3ÃÀÌ)À.ä5Ã@X2Ãàm1ÀY7á<Àú1Ãàa3Ã012Ã`š4Ã`|9ÃPÆ;Ã@";Ã@ç/ðþ/à ò5à “0Ã@X2ÃÐ@2Ã@R3Ã0%4à ™/à§7ð3ÀÄ:Ãp86Ãàm1Ãp27Ã`¬1Ãðÿ4ð/ÃÀ~6Àè4ÃÐ.5ÃÅ6Ãàü.ÃÈ/À_6ÃN5Àƒ0à 1ÀM9à Q;ð{0Ã-0Ãx.ðì2Ãð /ÃÀŠ4ðu1à 6Àƒ0ê0Ã`¾.ð"*ÃP©+ÃÅ6ÃàÌ6Ø3ÃàU5Ãày/Ã`M,Ã`6Ãðç8Ãðv6ÃE0Ã`4ÃÀ7-ä1Ã`¬1ðW6ÃÐF1à 0ÃpÓ1ä1ÃðŽ2ÃpÇ3Ã012ÃÀ6ÃPØ8Àw2ÃÐÏ/Ãð”1Ãð1Ã05Ã0®2ÃÐÕ.ÃW-à 2à 3Ãð/-ê0ÃP1à ‡2ÃPy3Ã@X2Ã0+3ÃÐÛ-Ã@@6à¡8ÃÀœ1Ã0À/Ãà[4ðì2Ã@L4Ã@X2ÃPm5ÃÀ6ÃÀ5à 1Ãð 3ÃàO6ÃN5ÃÐÏ/Ã3/ÃP/Ã`;/à ø4ðø0À0Ã0Ì-Ãr/Þ6Ã09à Ô:ÃàÞ3Ã`A.Àú1ÃP2Ã@@6Àè4Ã@á0ÃðŽ2ÃÐ^-ði3Ã@É4àÅ2ÃÀ2ÀY7à06Ã` 7ÃÐ.5Ã@·7ÃP…1Ã0À/Ã0U,Ã,Ãàü.ÃPm5ÃÐ8ÃÀ 4À.Ã@Ã5ð]5Ã07Ã9.ÃÀ2àÅ2à ™/Ã0=0Ã@|,ÃÐF1ÃÐ(6Ãðó6Ã'1ðþ/ÃÐó)Ãð/-ÃP0Ãày/à(ÃP0ÃP—.À-Ã@^1àT0Ã0´1ÃPy3ÃpV1ÃÐF1ÃpÓ1Ã@É4Ã@á0ö.Àî3ä1Ã`¬1ÃpV1Ã`2Ã@^1à­6à þ3Ãp'Ã`”5Ã-Ãpå.Ãf1à +Ãph.Ã`Ð+ÃP -ÃÀ3ÃT4Àâ5Àk4ÃP1Ã0=0ÃÐR/à ".Ãð²,Àô2à¿3Ãàä2ö.Ãà‹,ÃàÞ3Ã0Ø+ÃÀº,ÃP/ÃE,Ãø'Ã`)2Ã`2Ã÷8Ã-4ÃB7Ãð¦.À$+ÃPÁ'à É'ð/ÃÀº,ÃÐÛ-ð/Ã@v-ÃE0Ã@^1Ãph.Ã`Ü)Ã@d0Ã0¨3ê0Ã012ÃÀŠ4ÃÔ-ÃðŽ2ÃÀ¨/Ã071Ã@F5ÃÀº,ð™+ÃP‘/ÃP-ÃpÓ1à 1Ã@‚+ÃÀO)ÃÀO)ÃP…1Ão)Ãr/ÃP‘/Ãà+Ãà‹,Ã`Y*Ãpå.à 1ä1ÃÀ2Ã`¬1ð-Ãæ*à “0Ã`¦2Ã0U,Ãð2Ãðù5Ã],àï+À.ÃÀ¨/Ã@á0Ã`Ž6Ãðˆ3Ã@ˆ*ÃW-Ã@ù,Ãû-Ã0ê(ÃÀU(Ã'1ÃpD4ðì2ÃÀ5à 3àã-ÃÐç+àf-Ãû-Ãl0Ã`/1ÃÀ7-ÃÐó)ö2ÃpÁ4Ã?1Ã@p.Ã0¨3ÃQ.ÃÐp*ðà4ÃP-ÃÀ¢0ÃÀÀ+ÃP£,Ã0O-Ã@j/ÃÐÕ.Ãà…-Ã~-àN1Ã@L4ÃÀº,Ã`/1À¡+ÃÀ3ÃÀ3Ãã1Ã@^1ÃPð4Ãð1Ãàä2à «,Ãà-ÃPö3àl,ð()à (-ÃÀI*Ã`2à ¥-ÃpV1ÃÀ¢0ÃÐF1Ãàa3à×/à ¥-ðQ7ÃÐÏ/àÑ0Ãð1ð‡.Ãð1Ãx.ÃÀ+/ð™+àT0Ãà-Ã@d0Ã'1ÃÀº,Ãð).Ã0À/Ã`/1Ãr/Ã0O-ü-ÃÀ5Ã`A.ÃÐ@2Ä,Ã0I.ÃàØ4ÃÀÌ)Ã`)2Ã071Ãàð0Ãà+Ã0Þ*Ã0%4ÃP/ÃÀ+/ÃZ3Ã0®2Àƒ0à×/Ã`¾.ü-Ã0s'Ã@L4Ãp»5ÃE,Ã`¸/Ø3Ãðš0Ãð‚4Ã)àÝ.Ã`8ÀY7Ã0Æ.Ãð²,ÃÀ®.ðK8ÃàÒ5ÃÀ3Ãàð0ÃÀÆ*ÃP1ðþ/ö.Ã0=0Ã'1ÃŒ5Ã012Àâ5Ã`)2Ãpt,Ã`²0ðu1Ã`ó:ÃP‘/Ãð#/ÃP2àH2ðQ7Ãàm1Ã`A.Ãà.ÃÀº,Ãð2ÃPO:Ã0´1ð-Ã`¦2À0Àô2ÃP2ÃPm5ðø0Ãé0Ã071ÃÐ.5ðò1Ãð¦.Ãz8ðæ3Ã92Àe5ÃpV1ðÚ5Ã],Ã-4à /ÃÐX.À‰/Ãð¬-ÃÀ3Ã@É4ÃÀ1Ãû-à ¥-Ã0À/Ãàm1Ã0%4à ø4ÃÝ2ÃÀ 4à ø4Ãàü.àõ*ðæ3Ã4Ã012Ã0I.Ã!2Àú1à 3Ã'5ÃÀ7-à F(Ã0=0Àƒ0ÃÔ-Ã0Š8Ã0º0Ã`50ÃÀ–2Ã'1Ã0 8Ã7Ã`5Ã@Ÿ;Ã012ÃÀU(ÃP1Ã@½6ÃpP2Ã0º0Ãl0à Ÿ.Ãà+ÃÐX.Ãpt,Ãpë-ð/Ãà.ÃPð4ÃH6Ãð/-Ãà‹,Ãð).Àè4Ãf1à 0àH2ðŸ*ÃPy3Ã`¾.à ".Ãн2Ã3/ÃÀ+/Ã0+3Ã0%4à ¥-Ã`Ä-Ãàg2Ãð /à¿3Ãð¦.Ãr/Ã`¾.àN1ÃPy3ÃQ.à×/Ã,Ãð#/ÃpJ3Ã@d0ÃP.ði3ÃP‹0Ãp*Ã-ÃP -ÃÈ/Ã`š4À,Ã071Ãð5,ÃQ.Ã],à +ÃÐv)ü1Ãàð0Ã`4ÃÀÀ+Ã0Ì-ö.ÃP£,ÃpÇ3À /Ãï/ÃÐL0Ãàa3Ã@Û1Ã@j/à 3à 2ÃÐÛ-à 0à„(à /ð"*Ã@ó-Àî3Ã@v-à 6Ã`2Ãpb/ÃÐÉ0ó9Ã`4à)Ã0a*ðþ/Ã0–6Ã`/1Ã0I.ü-à “0Ãðó6Ã33ÃB7ÃP0ÃÚ,à§7Ãн2Ã`_)ÃP—.à (-ÃÀ1Ãà‹,Ãpt,À§*ÃpÓ1ð‡.Ã@R3Ã~-Ã0U,Àƒ0Ãðˆ3Ãpý*ðo2ði3Ãph.Ãl0ÃÐÛ-Ãà‘+ÃÀC+àr+ÃP‹0Ãpñ,à ±+ðø0ÃÐÉ0Ãp*À¡+Ã0C/Ãàs0Ãr/Ãðˆ3Ã`#3Ãð0ÃÐX.Ä,Ãð).Ãà£(ÃP,+ÃÀ–2ÃÀÆ*ð+ð-Ãð /ÃP—.ÃÐ^-Ã@F5ÃÐ@2Ãû-Ãé0Ãï/ö.ÃÐd,Ã-ðþ/Ã,ÃÀ„5Ãp27Ã@ÿ+à 1ÃÀ1.ÃÐó)Ã@j/Ãõ.ÃÐ:3Ã-0ÃÐÏ/ÃðY&ÃÐí*Ã0s'ÃÀ®.Ã`)2Ã?1Ä,ÃP…1ÃP -Ã`¬1ÃðY&Ãpn-à ".ê4ÃPy3Ã9.ÃÐ^-Ãàs0Ã`¦2àË1Ã’8Ãðÿ4à «,Ãp\0Ã`Ä-ÃÐj+ÃP‘/Ãð¦.ð/ÃK/Ãpn-à +Ãà.Ã@ç/Ãõ.Ã@Õ2ÃÐÉ0ÃÐÃ1À1Ã06ð/à ¥-ÃpP2ðì2Ã@ *Ãà‹,ð¥)Ãpz+ÃpP2Ã0O-ÃÐç+àN1Ãpn-ð/Ã0=0Ã@Õ2ÃÀ´-ÃP‹0Ã0¨3Ãð#/Ãpb/Ã@^1Ã@v-ð,Ãà…-ÃPs4à`.Ã0´1àË1à Ÿ.Ã0O-Ã@ó-ðu1Ã0%4ÃB7Ã`¦2Ãã1ð“,Ã`A.àË1À-ÃÀ1Ã@ÿ+ÃÐ:3ÃÀ¨/Ãàm1ÃðL=ÃÝ2ð3<Ã0Æ.ð .ö.ÃP1Ã012Ãð‚4ÃPð4ÃàO6ÃÐL0Ãi*ÃàU5ÃÀ3À1ÃK+ÃÐF1à 2Ãà,Ã0C/ÃÐX.ÃP0ê0ÃðŽ2Àƒ0Ã3/ÃpD4ÃÀ¢0Ã?1à ‡2ÃÂ0à×/Ãé0ð{0Ã`Ä-à¹4Ã07Ã`¦2Ãà[4ÃÑ4ÃÐX.ðò1Ãpn-Ãý7ÃZ3ü1À}1Ãðç8ðà4ÃK/Ãð0Ã-Ã0¢4Ã!2à¿3ðø0ÃÀœ1ðQ7ÃÀ1.à ±+Ãð2àN1ö2Ã],Ã@½6ÃÀ 4ðu1ÃP.ÃÐL0Ã33Ãð 3ÃàÞ3Ã`Ê,à ¥-Ã0Æ.ðW6ÃÐÃ1Ãt9à65à65Ãðÿ4à i7ÃT4Ã@(:Ã@ù,Ãpb/Ãð /Ãà-ÃÐ(6à 1Ã0Æ.Ãx.ÃÀ¢0ÃÐ@2àé,ÃPü2Ãð/-Ã@ó-ÃÀŠ4Ãð|5Ãp>5ðò1Ã` 3Àƒ0ÃÀ%0Ãð2ÃÀ3ÃpÙ0À}1à 0à ø4Ã0 8ÃpÓ1ÃÂ0ÃÎ.ÃП7ÃPð4ÃÐ¥6Ã`2ÃP—.à ™/Ã0º0Àe5ö2ÃÈ/Ã0À/ÃP‹0Ãà+à 3ü-ÃÐÏ/ÃÐ^-Ãày/Ãp,8ÃП7ÃÀ3ÃÐ@2ÃÀ 4Ã0º0ÃÐá,Ãð¾*Ã*Ãpn-ÃàÒ5à 1Ãf1ÃÂ0Ãð¬-ÃðÄ)ÃÀ%0ð3Ãl0Ã`²0Ãð”1ÃË5Àè4Ãð¦.Ã!2Ã0+3Ã@R3ÃP0Ã@d0Ã@X2à þ3àã-ÃPa7Ã` 7ÃÀœ1à 4+ÃP2Ã`;/Ê+ði3Ãð4ð3ÃÀ®.Àe5ÃŒ5ÃPs4ÃÀ 4ÃQ.ÃK/ðæ3ÃP2à ™/ÃÐá,Ã@d0Ãpn-ÃÔ)à)ð™+Ãð¦.ö2Ã0º0ÃÀ+/Ã`¾.Ã`²0À.ÃÀÆ*Ã!2Ãð0ðu1à¹4Ã@ó-Ã`6àÅ2ÃpÓ1Ã`|9Ãã1Ãðv6ðÚ5ÃÀŠ4Ã],ÃÀ1.Àw2Ã@ *ÃàI7à×/ä1ÃÀ1àï+àf-Ã`50Ã7à¿3Ã`50Ã@(:ÃË5ÀS8Ãàö/Àq3à$8ÃP/ÃpJ3ÃàO6Ã0ä)Ãàä2ÃÀï8ÀS8à E=Ã*;Ã@½6Ãñ9Þ6Ãp27Ã@v-Ã` 7Ã`í;Ãp86Ãз3Ã@·7Ã0„9ÃÀ6Ã0 8Ã@É4Ã×3Ãàö/à9Ã@@6ÃË5Æ6Ãðˆ3ÃàU5ÃðŽ2Ã`ÿ8Ã@uBÃ07Ã@‡?ÃPa7Ã@ù,Ãp*ÃÐ44Ã'5ÃPÞ7ü1Ã7ÀÄ:ÃÀx7Ã0¢4Ãðˆ3Ã@@6Ãà¢=Ãp»5ÃÀZ<ÃÓ>Æ:Ãp86ÃPÆ;Ãàº9Ã@Ÿ;ÃÀf:ÃpJ3ÀÐ8ÃÐ8ÃPÒ9ÃÀ5ÃPÆ;Ãðç8ðÔ6ÃÀx7ÀA;ÀM9Ãðˆ3Ã`5Ãpë-ÃðÛ:Ã`p;Ã0:Ã0~:Ã0:ÃP[8ð]5ÃË5Ã@Ã5àÅ2Ã÷<ðÂ9ÃH6à c8Àe5Ãp»5Ãn:Ãh;ÃÐ{=ÃÀ~6Ã@·7ÃN5ÃPÞ7Ãð1ÃPØ8Ã`ÿ8Ã@Ï3àN1Ãðù5Ã`Ê,Ãðd9Ãðd9Ãà1;à:à ì6ù8ÃÐ"7ÃP[8ðo2ÃÀ2ðª=ÃÐ.5Ã7ÃàÌ6Ãý;Ã`6ÃЙ8Ãðÿ4àË1Ãp¯7ÃàØ4à 2ü1ÃpJ3Ãн2ÃÀœ1Ãð^:Àî3ÃPð4ÃðÉ=ÃÀ„5ÃàØ4ÿ7ÃàO6ÃàØ4Ã×3à­6Ã@(:Ãý7Ã` 7à<4ÀA;ÃpD4à æ7Ãðí7Ãàº9Ã0x;ÃðL=ÃPm5à=Àî3À5=ÃðF>Ã0`?Ãð^:Àâ5Ãð).Ãð^:Ã`)2ÃPs4Ã3à o6à ø4Ã×3Ã0œ5ÃPØ8Ã’4Ã@í.Ãà%=ÃPÌ:Ã@Ã5Ø7Àe5Ãð 3Ã`š4ÀY7ÃГ9ÀÐ8à ò5Ãðv6Ã0–6Ã@|,ÃÀr8ðE9ÃÀ~6Ãý7ÃN5Ã0:Àƒ0Ã92Ã`6àË1Ãp—;Ã05Ã0º0à×/Ãàö/À¸<ÃpÍ2à­6Ã@d0Ã`v:Ã@R3Àw2Ã0º0Ãp©8Ã*;Ãà>ÃÐ¥6Ã06Ãð 3Ã012Ã0¢4Ã8à 2Ã`#3Ã0~:Ã0œ5Ã7ðÚ5Þ6ÃÀ„5À}1ÃpD4ÃpÍ2à W:À}1ÃÐ:3Ãà@ÃŒ5Ã$<Ã9.ÃàÌ6ÃË5Ãз3ÃÝ2ÃÐ.5Ãðˆ3Ãð|5ÃÀ~6à¿3Ãpñ,Ã`50ÃàØ4Ã3/àN1Ã0®2à 3Ãàä2Ã0%4Ãp86Ã0À/ðo2Ã0U,Ã@Û1ÀÜ6ðÚ5à ì6ÿ7ÃPê5Ã0´1ÃÀ3ö2àH2ÃÀŠ4ÃÐF1Ã@R3Ã@R3Ãз3ÃП7Ãð2Ã5Ã07à›9Ã@F5àÑ0Àk4Ã0®2à c8ðÎ7Æ6ÃpV1ÃQ.ð{0ÃÀ 4Ãн2àN1ðò1ði3ÃÝ2ÃÐ44ÃàO6Àq3Àk4Ã'1ÃpÍ2à 1Ã@Ÿ;ÃÀ®.Ãp86Ã` 3ü1à ø4à 2Ã0%4àH2ÃP1Ãàm1ÃÐ@2ÃN5Ã’4à³5ÃŒ5ÃÐX.ÃP2à 3Ãб4Ã`;/Ãp\0ÃÐ@2ð/ðò1Ãàs0ÃÀ®.Ãpå.Ã`2Àƒ0ÃpÇ3Ã@Õ2Ãð4Ã÷8Ã@Ï3Ã0œ5ÃP1Ã@Õ2Ãð2àé,ÃpJ3Ã@Ï3ü-àZ/ÃÀ 4ÃpÓ1Ãpµ6ÃÀ 4ð/ê0ÃÐ44Ãàä2Ãàê1ÃÐó)ÃZ3Àú1Ã@p.ðo2Ã?1àÑ0à 2ÃPö3Ã0œ5ÃÐF1à 2Ã@^1ÃÀÌ)àË1Ã5Ãàm1Ã!6Ãàg2Ã0Ò,ÃÂ0Ã0À/Ã`²0à§7Ã`‚8Ã@^1Ãð¬-Ã@j/ÃP‹0Ã3/àT0Ãðˆ3ðÂ9ÃP1à`.àN1Ã0¢4Ãã1ÃÀ6Ã@Õ2ÃpÍ2ÃÔ)Ã*;Ãðù5ê4ä1Ãpß/Ã`)2Ãpn-Ã@d0à65ÃPy3ð‡.à 1Ã`8Ãpb/Ã0º0ÃP…1Ã@d0à /ÃðG)ð/Ä,ÃP…1Ãf1Ã`Ä-ÃÀ2ÃÐÉ0ÃPÁ'ÃÈ+à (-ÃÀ®.ÃÀ´-Ã`_)Ã0®2Ã0[+Ã`5Ã`Ü)Àî3Ãàm1Ã0[+àB3ÃÐp*Ã`Ö*àË1àT0Ãð”1Ã` 3Ã!2Ãð;+Ã@^1à «,àl,Ã0a*ÃP0Ãû-Ã@ù,Ã`G-Àƒ0àã-Ãàs0Ã9.Ãð /Ã@Û1Ã-Ã`¾.Ã-0Ã@ *Ãà‹,Ã`G-Ã,ÃE0ðæ3ÃÐó)ÃÐ^-Ãð¬-à ".ÃQ.ÃP‹0ÃÐ.5ÃÝ2Ã'1Ã@ÿ+ÃP¯*Àô2À‰/Ã071Àk4à þ3Ã@p.à 1ÃP-Ãà,Ã@d0ði3ÃPy3à Ÿ.ÃE0Ãð^:Ã0=0ÃpJ3Ãà…-Ãp\0à ‡2Ã`¬1Ã@Ï3à 3Ã`š4Ãpý*Ã`2àr+Ã,ÃÂ0Ãð‚4Ã0[+ðò1Àe5Ã06ðÔ6ÃP2Ã`²0àT0Ã0Ø+ÃЫ5Ã@L4Ã0¢4à¹4Ã@p.ÃÀ¢0Ãp€*À.Ã@Ï3ö.ÃpÓ1ðø0Ã@^1Ãðv6Ãð4ÃpP2Ã-4ð/Ãì%Ãpb/Ã0[+ðo2Ã'5Àw2ÃàÞ3Ãpë-ÃÐ(6à ‡2àé,À}1Ã`)2Ãð1Ã0%4ðÚ5Ãp,8Ã`2Ã`;/Ãàð0Ãpµ6ÃÝ2àN1Ã@ *Ã@ù,Ãð|5À.Àq3ð3Ã`#3àN1ÃPm5Ã=ÃàI7Ã@ç/ÃÀû6ÃÎ.Ã071ÃPê5ðÚ5ÃðX;à 3ÃK/Ã0®2Ã@Õ2Ã33Ãðˆ3Ã@j/Ã0ä)Ã4ÃZ3ü-Ãð”1Ã4Þ2ÃP&,àõ*Ãðš0ü-à ™/ÃàO6Ãð4Ãà‹,Ãàs0ÃàØ4Ãðš0à­6ÃàÀ8ð/ðì2Ã0–6ÃpÁ4Ã0=0ÃÀ2Ã0œ5Þ6à­6ÃP2Ãì)Ãé0Ãð 3ÃP[8ÃH6Ã'5À0Ã@Û1Ã0:Ãp,8ð?:à /ÃÀã:Ã05ð{0ü-ä5ÃB7Ãðó6ÃpÓ1Ã@d0ÃÀ2àB3À7Ãàa3ÃÐL0Ãc+ÃÀÀ+Ã071Ã’8Ã@+ÃÀ1.ÃPä6àZ/Ãph.Ã3/ð/ÃE0Ã7Ã07ÃÈ/ÃP2Ã÷8ÃP2Àô2Ãб4ÃÀ3Àq3Ãp27ÃË5Ãð1àË1Ã@á0Ã33ÃàO6ÃÐá,ÃÐL0ÃpJ3Ã`²0à u5Æ6Ã@R3ð{0ðu1Ãpë-ÃÀU(Ã0C/Ã`/1Ã071àZ/Ãð2ÃÀ 4Ã071ÃàU5Ã`#3Ãf1ÃÀ 4Ã0Þ*Ã~-à ‡2ÃPs4ÃÐ:3Ãð¦.Àú1ÃÎ.ÃàÌ6Ã`Ž6àË1Ã`¬1Ãf1Ãp>5Æ6ÃÐ@2Ã-4ðæ3ÃÀŠ4Ã0¨3ÃÐÃ1Ãé0ÃÔ)ÃpP2À1ÃÀ5Ã@ÿ+Ãp€*ÃðŽ2à 3À.ÃÀ7-Ãé0à 2ÃPs4Ãà.Ä,Ã`Ž6à¹4à ò5ÃpP2ÃPö3ÃÂ0ÃÐF1Ãï/Ã@d0àB3ÃË5àZ/Ã@ù,Þ2À.à 0ÃÐÏ/Ãàg2Ã@Û1ð]5ðø0Ã`#3à§7Ã-0Àú1Ãpß/Ã0®2ð/Ã@:7àl,Ãà‹,ÃÐá,Ã@R3Ã`)2Ã@ù,ðþ/Ãàê1ÃÀ3Ã0´1à¿3ü1Ã`A.Ã0º0Ã0À/Ã](Ãx.Ã~-Ã`¬1à (-Ã`2à 0Ã?1à /ÃÑ4Ø3ð/Ãp»5Ãf1Ã012à ¥-Ã@ù,ÃPµ)Ãpý*Ã`M,ð-Ãpý*Ã0[+Ã~-ðþ/Ã`/1à×/Ã0´1Ã@ó-à65Ã0º0ÃÀ7-ÃK/À•-ÃÎ*ÃE,ÃÐR/Ã`Ž6Ã`6ÃP -ð/Ã@p.ÃP/Ã@Û1Ã@X2Ãðd9ÃÀ1ÃÐó)Ãð”1ÃðŽ2ð/ÃÐÏ/ÃQ.Ã@ù,à Ÿ.à¹4Ã`2Ã!2ÃpÇ3Ã9.ðW6Ã0–6Ã33ðþ/à ±+Àk4ÃÀ1.à×/ÃP&,ÃP…1ö.Ãã1ðÎ7Ã@j/Ã3/ÃZ3Ãõ.ðŸ*àH2à 0ÃÀ7-Ãð”1À.àN1À0ÃÂ,Ãà,ÃÀ¢0ÃpÙ0ðu1Ã0º0Ãp*ÃP0Ã@X2ÃП7Ãð2ðò1Ã~-ÃÐF1àH2ð{0à§7ðò1Ã0º0ÃðŽ2ðQ7Ã@ç/Ã`#3à 6à 2ÃÈ+Ãð5,à 2ÃÐ"7ê4ÃÀ%0ÃK+À•-Ã0Ì-Ãà)Ãàü.àÑ0ÃÀ®.Ã0+3Ãé0ÃÐÃ1ð‡.à ‡2ðþ/ÃÎ.à<4Ãн2Ã!2ÃP-ÃÐó)Ã`50Ãà.Ã@F5à È<ÃÝ2ÀÜ6ÃpD4À_6Ã'1Ã`)2Ã@X2Ã@j/ðø0Ã@#&Ãp’'ðþ/ÃàU5Ãàs0Ãð#/ÃÀ3Ãõ.à*7ÃPê5ÃÐ:3ÃpJ3àÑ0Àú1ÃàI7àÝ.Ãàð0Ã071ÃÀ1.ð{0ü1Ã`#3ÃÀ1Ã@½6à 3Ãà‹,Ãð 3ÃpÙ0Ã071à`.Ã` 3Ê+Ã0Æ.ÃÈ/Ã@½6ÃZ3Ãx.Ã0œ5ÃÀ„5ðQ7Ã@Ã5Ã`Ü)Ãc+Ã0a*ÃP—.ÃW)Ã@”(Ã`A.ÃT4Ã@p.ÃP2*Ãàê1Ã0Æ.Ä,ð3ü1Ãàü.Ã@ó-ÃQ*Ã`;/Ã0º0ÃÐL0Ãõ.ÃÐÛ-Ã@^1Ãð;+àr+Ã5ÃP‘/ÃÈ/À.ÃÐR/Ã`Ê,ÃP0Ã7ÃP…1ÃÐ44Ã0[+Ã{'Ã`6à 2ÃP -Ãpb/ÃP—.àB3Ã0%4à “0Ãà‘+Ã@X2ÃÀÆ*ÃÐv)Ãà‘+Ãð²,ÃgÃð²,ðì2ÃPö3Ãàm1à65Ãà+Ãð0Ãàê1Ãð;+ði3ÃpÍ2ÃPê5Ãf1Ã0Ò,ÃÀ1.Ã*à ™/Ã`#3Ã`”5Ã33àH2Ã-4Ã0[+Ãà+àf-Ã0I.Ã@Ï3Ã!2à*7à 0ÃP¯*ÃÐd,ÃP&,Ã@á0Ã`Ä-ÃP&,Ã`2ÃÀ¨/ÃP/à 0Ã0Þ*ð .ÃÀÌ)à<4ÃЫ5ÃÀ3Ã`Y*Ãà,Ã`Ä-ÃÐÉ0ð .ÃÀ®.ÃÀ2Ãð”1àH2ÃàÞ3Ã!2Ä,à ì6ÿ7Ã012Ã@á0Ã!2ÃÐ@2àÝ.ÃÀ+/Ãp÷+Ã0I.Ãà‹,à 3ÃÐL0Ã'5Ã` 3Ã0º0ðò1ÃK/Àƒ0ÃŒ5ÃP1Ã@L4Ã0–6Ã@^1Ã-0ÃП7Ã`¬1ÃÂ,Ã-ÃÐÃ1Ã69Ã`”5ÃPö3à +ÃÐR/Ã`Ö*àx*Ãà‘+ÃàØ4Ãð).Ãð¦.ÃÀ2Àk4ÃÈ/Ãã1Ã-4à 0ÃÐR/ÃÀ2ÃÐX.ÃP1Ã0ä)ÃÐX.Ã`¸/ðø0Ãàê1ÃpV1à 1Ãõ.Ãà‹,Ã`G-à 3Ã`¾.ð-À}1Ã)ÃÐ@2Ã@v-Ã`G-Ã`5Àq3Àú1ÃÝ2À›,Ã×3Ãpå.ÃÐ:3À.Ã@|,à ¥-à ¥-Ãб4à ·*Ã@ç/ÃÀ1.Ã3/Ã'1ÃÐL0ð-ÃàU5ÃÀ%0ð"*ÃpÙ0Ã`)2ÃÐX.Ã`²0ÃÀ=,Ãpñ,Ãàð0ÃÐ'À¡+Ãàä2Ã071à /Ãò(À.ÃP,+Àƒ0à þ3Ãà.ÃÐ44ÃÐÛ-ð/Ãàs0Ã×3àË1Ã0Æ.à Ÿ.ÃÀ–2ÃàÞ3Ãp>5ÃÀ2À.Ãp*àr+Ã0Æ.Ãr/Ø3ð/Ãp\0Ä,Ã@d0à<4ðì2à ±+ÃPü2Ã`š4Ã0ä)ÃÐç+Ã@@6ÃÀŠ4ÃÐR/ÃpV1ÃÀ1.Ãé0ÃÐ@2ÃPy3Ãð).Ã@Õ2ÃÐ44ÃP>(ð"*ÃÐ@2ð/à~)ÃPµ)ÃP/ÃpŒ(Ã`²0Ã`²0Ãðj8ÃpP2ÃÐL0Ã`50Ã9.ÃÀ1.ÃÀ2ð"*ÃÐR/Ã3/ÃPð4ÃP-Ã`;/ÃðŽ2àT0ÃÀÌ)à 3Ãð 3Ã9Ãpß/Ãð#/ÃÀ´-ÃÐÉ0ÃÐ¥6ðò1ÃÐ^-Ãà)Ã0C/Ã'1ÃN5Ã33ÃàU5Ãð¦.Ã0Æ.à ‡2Ãð”1ê0Ãpñ,ÃP©+ÃÀ´-ÃK/Ãð¬-à 0ÃP—.Ã`¸/à +Ãà‹,ð{0Ã@p.Ã@ó-ÃÀ1.Ã~-À•-ÃQ.ÃPµ)ÃÀœ1ÃÑ4Ãàð0À§*ÃÀ1.ðæ3Ãpß/Ãpz+Ã@ù,ÃÂ0Ãày/ÃÀ2ÃPy3ÃðA*Ã-Ã`¸/ä1Ã4Ãà+ði3Ã@v-ÃÐÛ-Ã@d0Ãf1Ã92ð+Ã`2Ã9.Ã?1ÃÂ0Ã0º0Ãð²,ÃÐ@2ÃPg6ÃÀ´-Ã33Ãàs0ÃP1àT0À-ÃP/Ã@í.ð™+à ‡2àÑ0ÃÀ1ð3Ã`¬1À•-àã-à (-Ãà )ü-àÅ2àH2Ãû-Ãpë-Ã@R3Àk4ð/Ãб4ÃÀœ1Ãû-à .,À‰/Ãà.Ã0®2ðÚ5àN1Ãðÿ4Ãàü.à 1Ã@·7Ã<8Ã0Þ*Ã`Ð+à Ÿ.Ãr/Ã`Ž6ÃЫ5Ãð|5ÃðÃ>Ã@Û1àB3ÃÝ2ðþ/Ã`/1Ã3/à 1Ã92Ã`Ð+à¿3ðò1ÃP2Àk4Ãp©8Ã06ÃÐ^-Ã`G-ÃÀº,Ãàm1à {4ÃP.ÃPs4Ãp>5Ã4Ãû-Þ2Ã@á0àH2ðø0ÃÐX.ÃpP2Ãð¾*ÃP‘/Ã@@6à (-à ‡2ÃpV1Ãpt,Ã0´1ÃЫ5ÃàÞ3ÃpÁ4Ã!6à i7à æ7Ã`¬1à ø4à`.Ã@ÿ+À-Ã@X2Ã@ *Ø3ÃpV1ÃP‹0Ãàm1Ãð²,Ãl0ð™+ÃÀ=,Ãã1ÃT4Ã`”5Ã-4Ã`G-Ã012ÃÀ6à³5ðc4Ãð1Ã012Ã`š4ÃÐ@2ð]5Ã012ÃPy3ÃЙ8ÃPö3Ã'1Ãð /Ãà‹,Ã0´1Ãx.ÃP&,Ã0I.Ãð¬-ð‡.Ã×3Ãð 3ÀY7Ãðù5ä1ÃQ.À.à Ÿ.ÃÔ-ÃP2ÃP2ÃÀ+/à`.Ã0Æ.ÃÐÉ0Ã0®2ÃÀ5àN1ð‡.ÃÐÉ0Ã`2à ".Ãé0ð/Ã`4Ãð /ÃP£,Àô2Ø3àË1à 3à 4+Ã@j/ÃÐÿ'à +Þ2ÃH6ÃÐÃ1à³5ÃÐ@2Ã0Ò,ÃÀ¨/ð{0Ã`Ê,ÃÐj+ÃÐÉ0Ã`š4ð-à¹4Ãàö/ÃP…1à “0Ã`4Ã`;/ÃÂ,Ã@ó-Ãà‹,ü1ÃP.ÃZ3Ãб4Ã0I.àÅ2à ‡2Ã@É4Ã`Ü)Ãp\0Ø3ÃÀ 4àÑ0Ãr/Ã@v-ÃP—.Ãð).ÃPü2Ã`¾.à`.À-Ã`Ä-Ã’8ÃË5ÃpÇ3à {4ð/Ãpý*ð/Ãn:Ã05Ã3/Ãð2Ãl0ÃP&,Ã@Û1ÃE0ÃP,+Ãàa3à ò5Àô2Ãã1ð/Ã`k'Ã@+àl,ÃE0Ãàö/Ãðš0ÃpP2ÃÐÃ1ÃЫ5Ãð0ê4Ãr/ÃpÍ2à {4Ã-Ãp>5Ã@v-Ã@á0Ãx.ÃÀ1.à 1Àw2Àw2à ‡2ÃZ3ÃÀœ1Ã7ÀG:Ã`í;à*7Ã`#3Ãz8Ã5Ãf1ÃPê5à ]9ðÚ5Ã`‚8Àâ5Ãðv6ÃàC8ÃЙ8Õ>Ã0û:à à8ÃÐ(6ÃpJ3Ãðj8à È<ÃÀT=Ã÷8àw?Ã,EÀâ5Àe5ÃÀû6ÃÀ×<Ã7ðK8Ã012Ã7ÃÀï8ù8ÃÐ8Ã0œ5ÀÖ7Ãðó6Ãz8Ã7ÃË5ÃPð4ðE9ÀG:Ãp—;Ãðd9Ã09ðÈ8Ã@(:ÃÁAà=àƒ=Ã0„9Ãé0Ãp27ó9Ã`‚8Ãl0ðÚ5Ãp=ÃÀË>ÀG:Ø7ÃPU9à æ7ÃàC8Ã@:7à Î;Àe5ç;Ãh;Àâ5ÀS8à ì6Ãàº9ÃðÛ:Ã@É4Ãб4Ã`6à Ô:ð¼:Ãý;Ã0–6ÃÐ(6ðE9Ã`v:Ãß<Ã@Ÿ;ð-=ðÔ6à °@ÃÐÎDÃp&9Ã@F5ÃPØ8ÃÐL0à þ3ÃP[8Ã@L4Ã7à³5Ã`²0Ã@·7Ãý;ÀA;ÃÐ44Ã0:Ã÷8Ãðù5ÃàC8ÃPU9Àâ5Ã’8à à8Ã@É4ÃÅ6ÃPä6Ã` 3Ã`6ðÔ6ÃÐ8Ãp»5à>Ã;ÃN5Ã@Ã5Ã0:Ã`š4Ã-4ð3Ã`/1Ãý7ÃP==Ã69ÃÀœ1Þ6ÃÀŠ4ðò1Ã7Ã@X2ÃPð4Ø7ÃN5à ø4ÃpÓ1ð]5à c8Ãàº9Ã0:Ã;ÃB7Ãt9Ã@F5ÃÀ6Ã@Û1ÃPy3Ãàº9Àâ5Ã@48Ãp&9Ã0+3ÃPa7à¡8à¿3Ø3Ã0–6ði3Ãà[4À.ÃP1Ã@48à ò5ÃB7ð?:à­6Ã!2Àâ5Àe5Àe5Ãð‚4Ã@Û1Ãðù5Ã`v:à à8Ã0~:Ã3Ã'5Ã@Ã5à9ÃPð4À›,ÃP/Ãp»5Ã'5Ãðv6ðc4Ãp86Ã`¦2ÃÑ4Ãð|5Ã0¨3Ãñ9À;Ãàº9Ã`ÿ8ÃB7Ã` 7àT0ðì2Ãн2Ãð2ÃP‹0À.ÃpÍ2ðæ3Ã0 8Ã@<à à8Ã@É4Ã`/1ðÂ9Ãp,8Àú1ÃN5Ã0œ5Ã0 8ðò1ÃŒ5Ãã1Ã0%4Ãð 3ÃP1Ã`¬1à i7Ã@48à o6Ãð”1ÃpÇ3ÃÀû6Ã@48ÃP1ÃpV1ÀM9àZ/Àk4ðÔ6Ãà[4ÀY7Ãàa3ÃP…1Ãà,Ãpå.Ã@X2àÝ.Ã0+3Ãð1ÃàÌ6ÃÐ(6Ãð”1ÃÀÀ+ÃP1ÃÐd,Ã`¬1Ã0º0Ãp©8ä1Ø3ÃP/Ã0=0Ãé0ÃÝ2Ã0C/Ã@Û1Ã3/ð{0ÃÀ~6Àe5Ã’4Ãð).ðo2Ã<8ÃÀx7Ã@Ž)Ã0O-Ãàm1ä1Ã@X2Ã’4Ã?-Ãc+Ãàä2Ãpb/ð-Ãà.ÃÎ.Ã071Ã`)2Ãàg2àÑ0ÃpP2ÃàU5Ã07Ã@Ï3À.Ã0Þ*Ãз3Ã` 7ÃPg6Ã0´1ÃPm5ÃàÒ5à {4ÀÜ6ÃT4Ã@X2àZ/À¾;Ã`6ðà4ÃpD4ÃÎ.à 3Àq3Ãðí7ÃðA*ðu1ÃÀ–2ðc4Ã@v-Ã!2ð{0ö2Ã@Û1ÃpP2ê0Ã@ *Ã33à ™/ÃÐF1ðø0ÃÀ1Ã0¨3Æ6ÃP£,À.Ã@j/ä1Ãðš0ÃP/ÃÐR/À}1Ã0O-Ã@j/ÃÐ@2àÑ0ÃK/Ãé0Ãàm1ÃÐÃ1Àƒ0àB3ÃP…1ÃP -ðæ3Ãà‘+ÃpÙ0Ãx.ÃÀ1.Ã0I.Ãðj8à ò5ÃQ.Ãpz+ð]5Ãp¯7Ã@^1àN1À‰/ÃÂ0Ã0=0à 1à “0ðo2Ãl0ÃP2à þ3ÃÐÃ1Ãpb/Ãp÷+à þ3Ã@+Ã`Ê,ö.Ã`e(ÃÀ1Ã-0ÃP‹0Ã`¾.Ãp†)Ã3Ãpå.Ãpn-Ãpå.ÃP2Ã`²0ð{0ÃÀ3ÃN5Ã071ðø0Ã0º0ÀÖ7Ã~-À‰/Ã`/1àõ*Ãã1àN1Ã`5ÃðŽ2ÃP£,à Ÿ.À¡+Ãpë-ÃÀ=,Æ6À‰/à 2Ã0+3Ã`k'ÃP‘/ÃÎ.ð™+à 6Ãà‹,ðo2à ò5ÃðŽ2ðu1ÃàÒ5ÃŒ5Ã0–6Àw2à×/ÃÔ-ði3ÃÀû6Ã'1Ãpt,Ø3Ã`4ÃÎ*Ã`Y*Ãð1ÃpÍ2Ãpß/à Ÿ.à 1ÃÝ2À1À•-Ã-À.à ™/à Ÿ.à65àÅ2Ã@X2àH2ÃP/Ãз3Ã@L4Ãà‘+ÃÐá,Ã0´1Ãpß/à Ÿ.Ãðš0Ãr/Ã`5Ã69à§7ÃK/À}1Ãð1Ãf1ðþ/Ã0O-ÃPy3à ì6ð-ê4àN1Ãð 3à (-Ã0O-ÃàI7Ãp86Ã!2Ãàð0ÃP1Ãàm1ÃÀ=,ðø0Ãà.àõ*Ã@|,ÃÐ@2Ãp\0ðþ/Àî3ðì2Ãr/à +ÃÀ+/À.Ãû-Ã~-ÃB7Ã'1Ãð#/ÃÀ´-Ãày/Ãз3ÃÀ1ÃZ3Ãðÿ4ÃÀ®.ÃÀ„5Ãб4Ãz8à*7ÃP2Ãr/À•-Ã@ç/Àe5à {4ÃÀœ1Ãðv6ðì2àÅ2àZ/Ã@^1Ãð2ê4Ãð /ÀÖ7àf-à (-Ã0´1Þ2Ã?-àN1Ãðˆ3ÃpV1Ã'5Ã0%4Ãr/à {4ÃP‹0ÃàÌ6ÃP0ðò1ÃÐ@2àZ/à`.ÃÀº,Ãðù5à­6ÃÀ 4Ãð4Ã`/1Àƒ0Ã@R3ÃðŽ2Ã'1Ã06Ã0œ5ÃÅ6ðÎ7ÃÀœ1àô?Ã\=ÃT4Ã;ÃàI7Ã`ó:Ãp27Ã@@6ðK8ð¶;ðDÃp :Ã0r<ÃÐu>Ãà@ÃмGà ’Eð’AÃP+@Ãà Aà ˜Dà DÃp[EÃúBÃ`:DÃpØEÃð@?Ã0¹EðDÃà„BÃpÌGÃà~CÃqDàÜCÃð"DÃp?ÃÀ*DÃàÝHàGGÃ@ÚFàâBÃàxDÃÐ3IÃpUFÃ8CÃ@òBð CÃ@KIÃ`ÃBðhHÃpmBàÄGÃðŸDÃPûGÃ0ËBÃÇDÃàHLðåHÃ`:DÃb<à_CÃ00GðhHÃ@ÔGÃpÀIïDÃðIÃ@àEà °@ÃP~GÃàZIÃð¥CÃ`¥GÃÖHÃðEÃ`.FÃ@ÎHðßIÃÊJÀçIÃ;MÃ0§HÃYHûFÃð‡HÃðøJÀÛKð÷EÃpOGÃЪJà¾HÃpaDà GÃ@]FÀÿEÃ`:DÀóGÃp?ÃàõDÃàrEÃ00Gà tJÃpÒFÃkEàeBÃP EÃPCàèAÃ0BDÃðIÃàrEÃpÒFÃàïEÃà AÃÐÎDÃèEÃpºJÃpIHÃÓBÃp…>àô?Ã@ìCà_CÃ@æDÃ0¹EÃpÞDÃ`±EÀBÃpgCÃOÃîDÃ`±EÃàZIÃÐ?GÃ`ìPÃPrIÃkEàÊFÃÁEÃÐEFà ˜DÃÀFàô?Ã0Z@Ã@@ÃÀB@ÃP–CÃå?Õ>Ã`:DÃp…>à ¶?ÃAÃÀ§DÃ`ÃBàÊFÃp>Ã@=ÃàéFÃжHÃÀ•GÃàBà=Ã?Ãð·@ÃP¢AÃ`í;ÀAÃpaDÃðF>ÃÐÂFÀˆDð÷EÃð.BÃàlFÃÐ{=Ãå?àÖDÃh?àeBÃpy@Ã`Û>ûBÃwCÃÀ0Càô?Ã0TAÃ0f>Ã@>Ãà@Õ>Ã@ìCÃP¢AÃ0×@ÃwCàÖDàÜCÀšAÃ`Ï@àâBà 3@à DÃÀÃ2DàÊFûFÕ>ÃÀã:ÃàŠAÃP®?ÀÊ9ðBûFÃ@uBÃ0³Fà›9Ã0f>ÃðÉ=À)?à °@Ã@]Fà 'Bà ¶?Ãà®;Ã0ï<ÃàÀ8ÀBÃß<ÃðÕ;Ã@";Ã0:Ãð@?à Ô:à 9?ÃÙ=À5=ÃÀ¿@Ãðv6À7ÃH6á<à;ÃÀ`;Ã@@ðAÀ#@Ã0Š8ÃðÉ=ÃðÕ;Ã5à;Ãp©8ÃàCà 9?Ã\=ÃÀ6BÀ;Ãp<ðŒBÃàBÃ`Õ?ÃVBÃÙ=à i7Ãp;à K<Ã*;Ã0ã>ÀÄ:Ãpü?ÃàC8à Î;ÃÐ¥6Ã@>à c8Ã`d=à ]9Ãn:à 3@ð'>ÃÐ:ÃÐ44Ãp :ÃPÀ<à Ô:Ã`í;àú>ÃpðAð!?Ã?ÃÍ?Ãt9ÃЙ8ÃÐ8Ãß<à È<ÀM9Ã0f>Ã@™<Ãb<ÃPØ8Ã5Ã`í;à›9Ãà¨<Ã0–6à Q;Ãðd9ÀÄ:ÃÀ~6Ã’4Ã@48ÃðÉ=ð˜@Ã`ó:ÃàÌ6à;ÃPa7ð¼:Ã`ÿ8Ãp»5ÃÀÑ=À/>Ã0õ;ÃðX;Ãz8ÃÀé9ðÔ6Ã0Š8ÃPÀ<Ã0:ÃÀû6ÃÀï8à;ÃPC<Ã*;Ã@<à‰<Àq3Ãp=à K<Ãàœ>ÃÀ5Ãà=9ðQ7Ãå?Ãà1;ÃÐ9Ã07Ã\=Ãp;Ãp&9ð¼:à ]9ÃðÛ:ðà4Ã@«9ðž?Ãp>5ÃPm5ðì2Ãðÿ4Ã0„9Ãà®;Ã@L4Ãp¯7Ã07ÃPC<à>ðÈ8ÃÀx7Æ:ÃÐ{=Ãë:Ã0õ;Ãh;ÃPÀ<ð?:ÃЙ8Ã0 8Ã`/1Ãp<à i7ÃàO6Ã07Ãp :ÃÀx7Ã;ÃÀï8Ã@½6ÃðÛ:ðÂ9à æ7ÃŒ9Ã09Ã0„9ÃÀ5Ã0œ5Ã`š4ÃàÌ6ÃAð°<Ãз3Ãðç8à Ú9ÃP7>ÃPÒ9ÃðX;Æ6ÃN5à;Ã@<Ã`v:ÃàO6à§7Ã0 8À;à K<ÃÀ6Ãà1;Ã`ó:Ãp>ÃÐ9à i7ðÎ7Ãà¨<Ã`|9Ã92Ãðj8Ãb<Ã@>Ãp>ÀÄ:Ãà¨<Ãp>ÃP®?ÃÐu>Ãà1;ÃÐ¥6ð¶;ÃpD4Ãð4ðE9ð¼:ÿ7Ã@·7ÃÀé9ÃàC8Ãðí7ÃŒ9ÃPÒ9ðà4ÃÀl9ÃJ@Ã@Ï3ÃÀ`;ÃPÀ<Ãð±AÃ`Û>Ã`|9Ã0Š8Ø3Ã0`?ç;ó9Ã?à*7ÃÐ.5à ]9ù8Ãðó6ÃÐø=ÀÊ9Ã0„9Ãà+<àô?à æ7Ã09ÃГ9ó9Ø7À5=Ã`p;Ãб4ÿ7Ã@@ÀÊ9Ãp»5Ã@=Ã@‡?Ãz8Ãðó6ð-=ÀG:Ãà?Ã@>Ã*;ð]5ÃPO:Ãà%=ÃÙ=Ãðj8Ã;Ãß<Ãðd9ó9Ã0l=Ã`ó:ÃPä6ÃàÀ8Ã>Ã0ï<À¸<à i7ÃÀã:Ãp‹=Ã@>Ã=ÃPÆ;ð¶;ÃÐ<ÃðÃ>Ãà@ÃÀã:ÀA;Ã0×@ÀA;Ãë:Ã÷<À;<ÀY7Ã>Ãðj8Ã`ÿ8ÃÐ9à K<Ã@‡?à}>à§7ð¼:Ã`ù9Ãh;Ã@‡?Ã0„9Ã0„9Ãp:Ã07Ã` 7À¸<ÃГ9ÃÐ:Ãðˆ3Ã`2Ãðj8àƒ=ÃÀï8ÃÐ¥6Ã` 7Ãp:Ãð^:Ã\=ÃÐ(6Àè4Ãp£9ÃÑ4Ã@";à :à¡8à•:ÃÀÝ;ÃðÛ:Ã012ÃPU9Ãðç8ÃPä6à•:Ã`v:à*7Ãp‹=Ã`ó:Ãp¯7Ã0ï<Ã0f>ÃÐ:ð¤>Ã`ÿ8Ã07ÃÐ:à :Ã@ ?ÀÄ:ð3à ]9Ã!6Ã0–6Ã0„9ÃPO:ÃàÌ6ð¶;Ãà[4ÃЇ;É@Ãp&9Àâ5à E=Ø7Ãf1ÃPg6ÃðR<ÃÐ:Ã@±8Ã@";Ãp;Ã07ÃÀŠ4à <ÃÐ:à›9ðò1ÃP2Ã0`?ÃÐ¥6Ã07Ãð^:Ã0f>ÃÐ9Ã0¨3Ã012Ã`Ž6à*7ÃÐ"7Æ:ÃÐ(6àÅ2ÃÐF1ÃÐÃ1ÃàÞ3ÃÀÝ;ÃàU5Ã0À/Ãf1Àq3ÀY7ÃП7ð¼:à W:Ãð|5ÀM9Ã@d0Ã`50Ã05Ã`ˆ7Þ6à³5ðò1Ã0+3Ã`#3ÃÐÏ/ÃÐ:ÃÀï8à u5Ã`”5Ã06Ãðp7Ã07ÃÀN>Ã@=Ãàg2Ã3ÃÀ5ÃÑ4ÃðX;ÃÅ6Ãp,8Ã’4Ã`ˆ7ÃT4à o6Ã4ðÎ7Ãðÿ4ðò1Ã9.ÃÅ6à‰<à³5ÃPm5ÃЙ8Ã`p;à;Ãà¨<Ãp&9Ãp;ðAÞ6Ãå;ÃPØ8ÃPØ8à ".Ã`Ž6ÃÀŠ4Ã@á0ð¼:Ã@±8Ã@X2Ã@±8ÃÀ2Ã4ÃàÒ5à c8Ã`š4Ãp:ÃП7ÃPü2Ã@Ã5Ãn:Ã06à i7Þ6ÃpÁ4ÃЙ8Þ6Ãð 3ÃÐ9Ã`6Ã`ÿ8Ã`ÿ8ÿ7Ã@(:ðÂ9Ãpå.à “0ÃÀŠ4à*7ð°<Ãt9Ãp>5Ã05Ã@Ã5Ãð4Ãàm1Ã@Ã5Ã@j/ÃH6Ãpµ6ðE9ÃPy3ÃÐF1ÃÐ"7Ã-4ö2ÃPs4à :Ãp>5ÃÑ4à “0Ãð|5Ãðˆ3ÃpD4ÃB7Ã`6Ãàa3ÃpJ3Ãz8ÃП7Ã@:7Ãý7Ãp>Ã0ï<Ãp86Ã@·7Ãë:àN1ÃÐX.Àq3Ã` 7àB3Ã@F5à ì6à ]9ðo2ÀG:Ãн2ÃpÇ3à¹4Ã`¦2ðu1Ã`)2Ã0:ÃÐ9ÃÀŠ4Ã@™<Ã0 8à <Ã`”5ÃP/Ã5ÃÐ@2ÃPO:Ãð 3ÃàÆ7ê0Ã’8Ã8à 6Ã<8ÃÐ ;à 1Ãðÿ4ðÈ8à (-à<4Ãð^:Ã`ÿ8Ã`G-Ãàº9Ã'5Ã`#3Ã07Ã’4ÃP2ä5Ãp»5ÃðÕ;ÀÜ6Ã@";Ã0¢4Ãp27à*7à ø4ði3à 2ÃÐ¥6Ãpµ6Ãp;ÃГ9ð?:Ã@«9Ãðÿ4Ãð2Ã÷8Ãàü.Ãð2ðø0ÃÀŠ4ÀY7ÃPÞ7ÃÀœ1Ãà…-ÃàÞ3ÃP—.Ãp86Ãp¯7ÃÀ~6ð¶;ÃÅ6ÃPÌ:Ã’8à Ô:Ã<8Ã!2ÃpÍ2ÃÀé9ðK8ÃP‹0ÃÐF1à 6Ãàä2ÃÐ¥6ÃpD4ÃÀ 4Ãpb/ö2ÃàÆ7Ãp;ÃŒ9ÃPÞ7Ãt9ÃЙ8Àî3ðò1Ãp27Ã69ÃàÀ8Ã0:Ãð¬-Ã@Ï3Ãñ9Ãðd9ÃP/Àè4Ãб4Ã0–6Ã` 3ÃE0Ãð0ÃË5Ãp»5ÃPö3Ã?-ÃZ3Ãp»5Ãð#/ÃN5ðc4Ãõ.ö2ÃÐÕ.ðì2Ã5à ì6Ã0Æ.ÃÚ,Ã×3Ã`|9Ã@á0Ãàö/Ã0 8Ãà1;ÃðA*Ã0Æ.ÃàØ4ÃàI7Þ6à§7à 4+ü1ÃpÓ1à ø4à W:Ã÷8Ã`6Ãðù5Ã@:7Ã'5Ã`Ê,à 3à ì6Ã0 8Ã`#3Ã0®2Ãð4à 6ÃPm5Ãð).àN1ÃÀ3àl,Àú1Àè4Ãð4Ã`5Ã0º0À;Ãpß/Ã0œ5Àâ5Þ2ÃàÌ6Ãð”1Ãð 3Ãð¸+Ãàê1ÃÀœ1ÃÀ„5ÃpÓ1ä1ÃPs4Ãàð0ÃÀ=,Ã`¾.ÃP…1ÃP-ÃB7Ã@.9Àw2Ã-ÃPð4à 6ÃÀ7-ÃÐX.ðø0Ã0û:à¹4ÃàÞ3Ã’4ÃðŽ2ðu1àË1àT0ê4Àe5Àî3Ã3Ãp\0Ã’4Ã`Ä-Ãpß/à¹4Ã@Ï3ÃÝ2Àî3ÃP.Ã@v-ÃÐÃ1à 2Ã'1à æ7Ãàg2Àw2ð/Ãàm1ÃàØ4í:à ™/Ãf1ÃPö3Ãð1Ãpt,Ã9.Ã`6ÃP‹0ÃÀ%0Ãï/ÃP-Ã0Æ.Ãð¦.Ãàö/Ã`M,Ãðˆ3àÑ0Ãf1Àƒ0ÃP‹0ÃpÍ2Ã@X2Ãà-Ã0O-ÃÐR/Ã?1ÃE0Ãà[4Ãp27ÃpD4àH2ÃÐÏ/àN1Ãð²,Ã`;/ð/ÃpV1ÃP—.ð3<à ì6à 1Ãp\0ÃÀ®.Ã`š4Ãà[4ðÎ7ÃP/ÃÀ–2Ã`;/Ã`S+ÃÀ1Ã9.ÃpV1Ã@@6À‰/ð‡.à ‡2ÃÀ%0Æ6à “0ði3ÃP-Ã33ÃÀ„5Ã`S+Ã?-ð«(Ã@p.àï+à×/Ã@p.À /ÃÀ´-À.Ã@í.Ãб4Ã`8Ã?1Ãph.Ã?-ÃàC8Ãï/Ã0À/ÃpÇ3ÃPs4Ãàü.Ãð¸+ð-Ã0C/àé,Ãð1ÃPö3à§7Ãð”1ÃP&,Ã@p.ÃÀ3Ãà.Ã92À**Ãð2ÃÀ3ÃÀ2ÃPs4ÃP‘/ðò1àT0Ãã1ÃpP2ÃK/ÃP/à 0Ãf1À /Ã×3ð{0ÃpÇ3ÀG:Ãð 3Ãð‚4Ã`G-ðu1à ™/Ãpb/Ã0U,ÃÀ%0Ãз3à¹4Ãàm1Ã0Æ.Ã`4ÃP£,Ãð).Ãàs0Ã?-Ã@^1ÃЈ&Ã@í.Ã`Ê,ÃPê5ÃPê5ð .ðø0à×/ÃP>(ð/à /à 1Ãf1Ãpå.ÃÐ44ði3ÃÀû6Ãp;Ã`4Ã@j/Ã`M,ÃPs4Ã@p.ÃÐÃ1ð/ð/ü-ðæ3à u5ÃðŽ2Ã071Ãàê1à ì6Ãàê1à 0ÃàÞ3Ã`”5Ãp\0à<4ðu1Ã@^1ÃPs4Ãð /ð«(ÃÐÕ.Ã071Ãpn-à$8Ã0–6ÃÀ5Ã071Ã`4ÃpJ3Ã0º0Ã92Ãð /à 3Ã@R3ÃÐR/ÃP¯*ð .ü-ÃÀ2à /ð3ÃÐÏ/ÃÀÆ*Ãð¬-ðW6Ã@F5À‰/ÃàÞ3àH2ÃpJ3ÃP2ÃÐ.5ÃpV1Ãàä2Àî3ðà4Ãà+ÃÎ.Ãð0à 0ÃP0Ã@X2ÃpÓ1Àq3ÃPü2à Ÿ.àT0Ã`¦2ÃÀ1Ãph.Þ2ð-Ã0C/Ãã1Ã`¦2Ã@Û1Ãf1Ã@d0Ãð /Ã@í.ÃÀ3àÅ2Ã@@6ÃPs4ÃK+Ã@|,Ãà-Ãà.Ã0À/Ãï/ÃP1Ãàð0Àq3ü1ÃPs4Ã@Õ2Ã0=0Ãàg2Ã33àT0Ãp\0Ã-Ãpb/Ã!2Ãp*Ã`4Ã05ÃÐ¥6ðÔ6Ä,À•-à`.Ã@‚+Àƒ0Ã0Ø+ÃÐX.Ãð²,ÃÂ0Ã@Û1àÅ2ÃÀ3ÃÎ.Ã@ù,àï+Ãð¸+ÃpÇ3ÃP1Ã`Ö*àl,à06àÝ.ÃK/Þ2ÃðA*ÃP©+ÃÀÆ*àã-ð-Ã*Ã`Ä-Ã@Ž)À0ÃÐF1ÃÀ¢0À}1Ã4À}1Þ2ÃpÇ3ðæ3Ãå?Ãàa3Ãðv6à {4Ãà*À-à 3ÃÀ1ÃÐÕ.Ãàê1Ã7ÃÐ(6ÃðŽ2à 4+Ãð¬-À,ê0Ãà+Ãðÿ4Ãàs0ÃP‹0Ã@í.ÃK+Ã0C/Àk4ÃÐÕ.Ãï/ÃÑ4ÃÐ44Ã`²0Ã0®2Àú1à “0ÃpD4ÃÀ2Ã@á0ÃÎ.ÃZ3Ãðÿ4à¿3Ã`¸/Ã!2Ãð²,À6(Ãð#/ÃÐÕ.Ã05ö.ÃpV1Ã012Ãð”1Àƒ0ðo2à ±+ÃP/Ã`50Ãð0Ãð /ÃÀ3Ã,Ã`â(Ãpb/Ãà.À0Ãl0Ã`M,à +Ãàm1Ãð1Ã@v-ÃÂ,Ã`â(ÃÀ7-Ãð0ÃÐÕ.Ãp\0ÃP‘/Ã`Ä-ÃÚ,ÃÀI*Ã@+Ãà.ÃpÓ1Ã@Õ2ÃÎ.Ã@Ï3à¹4à 3Ãðš0Ã`;/ð‡.Þ2Ã-0à ø4Àk4Ã0Ò,ÃÀ¨/ÀS8à06Ãl0ÃÀ+/à .,Ãph.Ã@)ÃP -Ãð”1ÃÐ'ö2Ãp€*Ã`2ðu1ÃÐá,à 1ð()ÃP,+Ã0Ì-àH2ðæ3Ø3ÃÈ/Ãàm1À§*Ã0Æ.ÃÎ.Ã@”(Ãà¯&Ã071à¿3à 1ÃP&,Ã-Ãã1ÃÐÉ0Ã`k'Ãà+ð/ÃÐ(6ÃE,Ã`)2àï+ÃQ*Ã`²0ê0ÃÚ,ðø0Ãð0Ã@Ã5Ã0Æ.ð/Ã`4Ã0C/àB3ö.Ãæ*Ãàs0Ã&à .,àã-à “0ÃpÙ0Ã`š4Ãð;+Ä,Ã@É4ÃZ3Ã0=0ÃZ3ê0ÃÐ^-ð,Ãl0Àâ5àÑ0Ãï/Ã0®2Ãñ9Ã@d0ÃÐó)ÃPy3ÃÀ+/Ã0%4à “0Ã@p.ÃÎ*Ãpß/ð™+ÃÀé9ÃPð4Ãàä2Ã0Ø+Ãð2àÝ.ÃÂ0Ã0U,ÃÐÛ-Àè4àZ/Ã?-ÃÐR/ðK8à<4à ½)ÃP2Ãpn-ÃpÇ3Ãf1Ã@L4ÃÐ.5à³5Ãã1à¿3ðþ/ÃÐ¥6Ãàê1àN1ÃðŽ2Ã`Ê,Ã@Ï3ð .Ãà-Ãæ*àf-ÃàÞ3Ãð¾*à «,Ã],Ã0œ5ÃPö3Ã@Û1Ã0+3ÃP/Ã`²0ÃÝ2Ã`;/à 2ðu1ÃPm5ðì2Ã@á0ÃÐ:3à§7ÃpD4Ã@L4Ãð4Ãð²,àË1ÃPy3à ™/ÃÐ:3Ã@Õ2ðQ7À}1Ã0¨3ÃPy3Àe5ÃP2Ã`¬1ö.ðþ/Ãз3ÃðŽ2ÃPö3Ã'5Ã07Ã@ç/Ã0Æ.à Q;Ãð«BÃp:ÃP®?àB3À /Ã@Ã5àÅ2ÃàØ4Ãàg2ÃàÌ6ÃpÁ4Ã071ÃP—.à65ÃPs4Ã@F5Þ2Ã012Ãp©8Ã@<à ø4ÃPö3Ãpb/Ã0+3Æ6à 6à$8ÃpV1Ãð/-Ãl0Ã0Ø+Ã3ðo2Ã92Ã69ðÔ6Ã0´1Ã3Ã0¢4Àe5Ã0I.Ã05ÃàÀ8Ãp»5Ã0Š8Ã@«9ÃÀœ1ÃÐ9Ã@Ï3ö2à*7ÃÀ´-à ‡2Ã`2ðæ3Ã@^1ÃPs4ð]5à¿3à 1ðu1Ã`¬1ÃÑ4Ã@ç/Ã@½6ÃPs4Ãr/ü-à i7àH2ÃÀ2àB3ÃÀ`;Ø7Ã`)2à 3ÃЙ8ÃÀï8ÃàC8Ãð 3Ã’4Àƒ0ÃÀ3Ãõ.ÃZ3Ãpb/Ã`²0ÃP…1à .,À-àã-Ãðš0Ã@Û1Ø3à à8Ãï/Ã`M,À0Ã`¬1Ã0=0ðc4Ã`S+àN1Ã-0Ãp\0àZ/Ãpz+ÃPa7Ã@Ã5àÑ0Ãn:ÃË5ÃÂ0à ò5Ãð1ÃP…1À}1Ã9.À0Ã`¸/Ã@Õ2Ãð¬-Ã0+3ð/Ã@L4Ã@p.ÃÐÉ0ÃpÍ2ÃÀ=,ÃÀ1Ãб4ÃN5Ãð0ðc4Ãp\0à 3ä5ÃÀ3ÃP‹0Ã@½6ÃÐÏ/Ã` 3Ã@Û1ð‡.àÑ0Ã` 7Ã'5Ã`4Ã`Ê,Ã071Àú1àT0ÃÐÉ0Ã` 3Àô2à {4ÃÀœ1ÃÂ0Ãð¦.ÃàØ4ðò1ÃW)Ã0º0Ã0¨3ÃP-à×/Àw2ÃÑ4ðò1Ã0Æ.Ã`A.Ãàê1Ãf1ÃÀ5à ™/Ãr/àÅ2Ãàä2ÃP2À0ÃÀ¨/Ã@í.Ãà.ÃÐ:3Ãð¬-ÃÀœ1À0À‰/Ãà‹,Ãð4à ±+Ã0®2Ãàü.À0àr+Ãr/Ãðù5Ã`š4Ã0®2ð/Ãà[4àã-Ãày/àã-ÃÐ:3ÃpÓ1ðò1à ‡2Ã071ÃÀ['Ã@ç/Ãð4Ãàs0Ãð¬-ÃÀ7-Þ2Ä,à 1À.Ã0Ò,Ãph.À$+à³5ÃÀ¨/Ã`#3Ã0´1ÃÀ–2Ãé0Ã0O-ðæ3Ãð²,Ã@@6à þ3ü-ÃP8)Ã@R3à06ÃP1àÑ0Ã],ÃÈ/À_6Ã`¬1Ã92ðÚ5Ã,àl,Ã`#3Ãàm1Ã@É4Ø3Ã`Ä-Ã@ˆ*ÃÀÀ+à<4Ã@‚+À6(Ã9.Ãб4ÃpÙ0ÃP0Ã'1Ã@X2ÃZ3Àq3Ã!2ÀG:Ã5ð‡.Ã0À/Ã0º0ÃÀÀ+ÃÀ–2à 3à<4à i7ð{0Ã`#3Ãàg2Ãàü.Ã!2à„(ÃÀ%0ÃpJ3Ã`4Ãð1Ãð0Ã0C/ÃP2ÃP0Ã`š4ÃÀÀ+ð+Ã`4ÃpÁ4ÃPÞ7ê4ÃÑ4ÃpÁ4Ã`4Ã0¨3ÃÀ1Ã9.Ã0¨3Ã`¾.À6(Ãð¬-ðø0à¹4Ã@Ï3Ã0+3ÃÀ2à­6Ãð”1àã-à “0à Ÿ.ÃÀ¢0Ãpn-Ã`¦2Ã@R3ÃB7ÃpJ3à 1Ã`²0Ãpë-Ãðˆ3ÃÐá,Ãð¬-ê0Ã0U,ÃpP2À.Ã`|9Ãð2ÃÈ/Ã`¬1Ã`Ä-Ã@ç/ðo2ð“,Ã`¾.Ã@d0Àw2Àƒ0Ã?1ö.Ã@ù,Ãð2Ã012Ã`4Ãph.ðo2à 0Ãpz+ÃÀ1.ÃPð4ðæ3ê0ÃÀl9ÃPð4à›9Ãpt,ÃË5à Ÿ.Ãpß/Ã`¾.ö2À$+Ã`2à /ðì2ÃÑ4Ã@(:à›9Ã07à c8Ã`8ÀA;Ã@ ?Ã`6í:Ãp :Ã`^>ð!?ÃðX;Ãå;à È<à Î;Ãë>á<Ã×3Ã0õ;ÃÀé9àÜCÃ@ ?Ãà¨<Ã2DðDó9Ã@{AÃPº=ð?:ÃÐu>ÃðF>à Â=Ãë:ÃJ@Û=ÃðÃ>ÃÀÅ?Ã`X?Ã@<ÀCà E=ðª=Ã`v:ÃJ@Ãß@à}>ÃP´>ÃðÃ>ÃAÃ`4EÃÁAÃ@æDÃP?Ãpy@Ãpü?Ã@>ÃP–CÃà%=ÃAðŒBÃà>ÃP1?ÃV>ð!?Ãt9ÃÐ{=Ã=Ã@>Ã0HCÃ`p;à ¶?àYDÃàlFðª=ÃÀÅ?Ãð·@Ãp?Ã0Z@à;Ãp<ÃP%AÃðÉ=Ã@oCÀBÃà¨<à 3@à Â=ÃDEÃß<ÃÐWCà <à Ú9Ã0Z@à 9?ÀšAÃ`á=Ã?Ã>BÃPC<ÃÀZ<ÃPC<ÃÀÑ=à‰<à•:ÃÀÑ=Ã@cEÃÀT=Ã0r<Ãà?ÃÓBÃàº9àô?Ã`Ï@Ã`p;àƒ=ð-=Ã@@ÃðÕ;à}>À¬>ÃpêBà ?>ÀÊ9ÃÀõ7Ã69Ãà?Ãp»5à W:Ã*;ÃðX;Ãà>ÃÐ]BÀŽCÃ`^>Ã`p;à•:ÃÐ{=à È<Ãà¨<Ãp;ÃÐø=Ã@";Ã0x;ÃÀŠ4Ã@·7À;Ãàº9ÀM9ÃÐ<ÃPÆ;Ãð:@ÃPº=ðÂ9ÃÇ@Ã0x;ÃàûCÃ@<ÃÀf:Ãå?Ã`(GÃ`8Ãà=9Ã@“=Àâ5ÃH6ð'>Ãp=à›9ÃÓ>ÿ7Ã÷<ÃPÀ<Ãð4AÃ`ÿ8Ãb<Ãp:Ãà–?ð°<Àq3Ã0Š8Ãðç8à•:Ãð@?à <Ãë:ÀÊ9à;Ãб4Ãp86ÃpJ3Ãp=ç;Ã\AÃà–?ÃЇ;Ã@·7Àk4ÃГ9Ãà1;ðBÃÀÃð½?ÃV>ÿ7ÃP2à­6Ã@48ÃÀ6ÃÀl9Ã09ÃЙ8ÃË5Ãt=À¾;Ãp:ÃÀ–2à*7Ã@É4Ãðj8ÃÐ9Ãð^:Ã<8ÃŒ9à ]9ÃЫ5Þ6Æ6Ãðÿ4Ãp»5ÃÀ„5Ã4Ãý7Ã@48ðÔ6Ã@d0Ã`/1ÃpV1Ã`6à›9ÀÖ7ä5ÀÐ8Ãp=Ã@";à=À”BÃÐ<à æ7Ãðá9ÃÐ(6ÃÐÏ/Ãp»5Ãðv6à ì6ðì2Ãðp7ÃPO:Ãð^:í:ÃàI7ÃPö3Ã`/1Ã`ˆ7à K<ÃðR<Ã09à ø4ÀG:Ã@·7Ã`Ž6ÃpV1Ãý;Ãðÿ4ÃpD4Ãp :ÃÀ5à ‡2ÃË5Ã` 7à$8à 6Ã@X2Ã3à 1Ãã1ÃÀ3Ã×3Ã@(:Ã`ù9ðø0ÃP/Ã`A.ÃŒ5ÃPa7ÃàO6ÃÐ(6ÃЙ8ÃÀ 4À¸<ü1Ã’4Ã071ÃP -Ã-Ã@R3Ã@X2Ã05ÃPm5Ãàm1Ãð0ÃN5ÃÀã:ði3Ãp(ÃpD4à•:ö2Ãã1ü1Ã@á0à ‡2Ãà+à 6Àq3À}1Ãð4ÃË5ÃPö3Ã`Ž6à æ7ÃpD4ÀÜ6ðE9ê4ÃðŽ2ÃÐ.5ðæ3Àô2ê0ÃpÙ0ÃE0Ãày/Ã`5àH2Àƒ0ê0Ã0–6Ã’8Ãõ.Ãl0Ã0œ5À/>ÃPê5ÃÀ®.ÃÑ4Ã`¦2à 2Ã@½6ÃPU9Ã7Ãt=ÃЫ5Ã0–6ÃàC8ð™+ð3Ã`š4à ‡2Ãp¯7Ã012à65à 1Ãàê1ÃП7ðc4ÃÀl9Ãp»5Ã`p;Ã0¨3Ã0º0Ã@Ã5ÃÑ4ÃÀ¨/Ãðd9Ã0®2ÃÀ–2ÃÐF1Ã`¦2Ã07Ãð‚4ÃpÍ2Ãðv6Ã07Ã4Ãp»5ð3<à¹4à ø4ð3à °@À;<Ãp,8ðþ/ÃT4Ãàs0ÃŒ5Ã`6Ãðˆ3ÀG:à ì6Ã`#3ÃÀ1Ãð‚4ÃÀr8Ã`j<Ã0Š8ÃП7ÃðÛ:ÀÖ7ÃÅ6ÃP2ÃàI7Ã`¦2ÃÓ>Ã0 8ÀS8ÃðÕ;à W:Ãb<Ãðç8Ã`p;ð¶;Ã0Z@ð¼:Ã`|9ÃPC<Ã*;ä5Ã@=Ãå;ÃÐi@à -AÃ>á<ÃP[8ÀÊ9ÃГ9à æ7ÀÊ9ÃÐ8Ãp=Ã`d=àèAÀ;À;ÃÀN>Ã@<Ãàº9Ãp£9Ã`X?À5=ÃðÕ;Ã`ç<ÃÐ9à ?>ÃÐì?à ¼>Ãð@?ÃpsAÃÀ³BÃ0r<ð@Ãpy@Ã@(:ÃÐ:Ã0¢4àƒ=ÃÀï8à¡8ÃÐ8Ãàº9Ã@É4ÃÀõ7ÃÀ­Cà È<ÃÐ(6ÿ7ÃÀï8à‰<ÃPÆ;ÃÀã:Ãh?Ãà1;à Ú9Ãðd9Ã0„9à 9?Ãðç8Ã06Æ6ÃPI;Ã@Ÿ;Ã0~:Ãz8Ãn:à>ÃàÀ8ó9à c8ð¶;Ãh?Ã@(:Ã071Ã05ð9;ÃPÆ;Ã\=ÃÐ8Ã;ÃàÌ6Ã09Ãàº9ÃÐ"7ÃÀÑ=ÃàC8à <ù8Ã@@ÃÀã:ÃðÕ;Ãñ9ÃPa7Ã0–6ÃàØ4Ã@½6Ã`í;ÃÐ<Ã@<Ãðÿ4à ø4ÃðX;Ãà®;ÃðX;ÃÐ(6ù8ÃàÌ6Ãz8ð?:Ã@@6ÃÐ44ÃV>Ã012Ãpt,ÃÑ4à 9?Ãà+<Ã’4ÀY7Ã`ç<Ãß<Ã`‚8Ã`ˆ7ÃÐ:ç;à {4Ã0¢4Ã69ÃÐ:Ã@·7ÃÐá,Ãz8à W:ð3Ãz8à c8Ãðí7ÃPm5ÃT4ðW6ð9;à 1Ã7ÿ7ÃÐ.5à¿3ÀA;À¾;ä5Ãp,8ç;Àô2ÃP0àN1ê0Ãðç8Ã-4ÃÀ2Ã’4Ãð2Ãà7:Ãð”1ÃàÌ6Ãpµ6àé,à65Ãà[4à`.Ãà=9à ‡2ÃPê5Ãз3Ã`#3ÃPa7ö2á<ÃÐ:ðc4ÃK/Ã4ÃpÁ4ÃÐ9à ¶?Ãp£9Àq3ÃГ9ði3à¹4à ò5Ã!6Ã-4Ã5Ãз3ÃÀ®.Ã0O-ÃÐ:3ð/à 0Ã0¢4ðK8ÃÀx7Ã@48Ãï/Ã92Ãz8Ã`¬1ð .Ãpå.ê0ÃÀ–2Ã@^1ÃÐ8Ã0¢4Ã@Ã5ÃðŽ2Ãà-Ãp>5ÃÂ0ÃpJ3ÃÐ(6Ãph.ÀA;ÃÀŠ4Àú1à65Ã0º0ÃP[8à;Ãày/Ã0º0à u5à~)ÃÀ´-ÃàO6ÃP/ÃP©+Ã@p.Ã0Ì-àõ*ÃÔ-À0ÃP-Ã0U,Ã0%4Ã'1ðì2ÃÐÉ0à¿3ðÚ5Ã`2ÃÀ3ÃÀœ1Ãr/Ã07à 3Ãp,8Ã’4Ãð”1àf-Àe5Ãàa3à Ÿ.ÃP…1Àú1ðò1Ãð /à*7ÃÀœ1Ãàg2ÀÐ8Àî3Ã@ÿ+à 1ðà4ðæ3ÃÐL0Ãày/àË1Ãðš0ÀM9àÅ2Ã0C/àT0à Ÿ.Ãð¾*ÃŒ5Ã’4ÃðL=ÃPm5ÃPs4ÃP‘/ÃP1ÃàÌ6Ãн2Ãàg2Ãp>5ðì2àÅ2àN1Ãðù5ÃÐÉ0Ãð 3ð .ÃW-Ã09ä5Ã@d0ê0ðø0Ã0º0àl,ð‡.ð‡.Ãз3à 1Ã3ÃH6ÃÐ"7Ã`)2À_6ÃP…1Ãð 3Ã@48Àe5ÃP.Ã` 7Ã`2ÃÀ¨/ÃÀä%àN1Ã@.9ÃÐd,Ãðj8À_6Ãð¦.ÃÀ¢0ÃZ3Æ6Ã0®2ðÚ5Ã?1Ã0´1ȸ Ãøo°Ãˆ‚©Ã0ê¨Ã‡¥Ãx…¢ÃàV ÃØžÃ8„Ãö™ÃØ(šÃ8 œÃø|™Ã0J™Ãˆ’Ã0n“ÃP-–ÃHd”ÃØíŽÃ8̑Èð)”ÃЉ‘ÃhYŽÃÐ ‘ÃØvÔŽÃ qŒÃX8ÃHš‹ÃX\‡Ã¨ŒÃ@ËŠÃhô‰Ã`=…Ã5…ÃX\‡Ã ›…ÃH/ˆÃàu†ÃèÓ„Ãè>ˆÃH¬ˆÃ¸dƒÃ°ú†ÃزƒÃXz‚àz€ÃØ¾ÃøƒÃP.ÃxÎÃØ;‚Ãà‚Ã`ÌÃp{Ã(€ÃeÃP(‚Ã@€ÃHYÃ’}à <}Ã@®wð*|ÃpšyÃPÕwÃPFzà ZxÃÀ?Ã@´vÃðsà'vÃàÏtÃ@¨xÃPáuÃððuÃ0c}Ã`wÃ3xà xÃsÃzÃà@wÃvÃP‚pÃ0.qÃ@=uÃà|mÃàónÃølÃPvrÃølà +kàøhÃÐÞkà ´iÃÀ:kÀoà rà 1jÃ@jàojà –nÃZkÃ0ùdÃàjÃPšlÃÀXfà =hÃãeðºdÃÀXfàuiÃà²dà fýaÃЯ^Ãõbà ê`Ã@J^ÃgÃldà UdÃp0aÃ@D_Ã`zcÃp0aà ö^Ã`3Zà \Ã0š_ÃPYÃ0_ÃÀ ZÃp³`Ãð!YÃ`à äaÃàe\Ã`^Ãð÷_Ã`!]ÃУ`Ã0#^ÃPô]Ã`Ã0aà¥aÀò\ÃÐÇZÃÀ ^ÃPâ`Àà_Ã^ÃÀ#Zà ,VÃÏ^Ã0wPÃp–PÀ™VðVÃ@nXÃ=WÃóXÃÐJZà ,VÃ%[Ã0¾YÃà¡RÃ0úOð£SÃÒWÃ0MWÃP¹RÃðKRð£SÃ0èRÃÀGTÃP¹Rà \Nà —YÃêSÃà}XÃpãXðs[ÃÐÍYÚRàíUàQÃàUÃ@ýUà PPÃÞUðTÃ@†Tà »SÃ@†Tð…XÃðŒ\Ã`ÎUÀ(TÃð¼TÃðWPÃÐzRÃ`]SÃpSæPÃüPÀÃOÃð9UÃ0 MÀFOÃPÑNðÁNÀ(TÃ0 MÃ@ŒSÃPÝLÃ`WTÃÀ_Pà ÍPÃÀSRÃ`øNÃðNÃpQà PPÀ@PÃÀôLÃðÈRÃÀqMà ¯UÀVÃà§QÀ±Rà Gà ©VÃjZÃ`¼XÀ(TÃ`Mà ,VÃÐQÀŸUÃPYÃpTÃaUÀVð8PÀ.SÃóXÃÐbVÃàUÃSÀ‡YàˆQÃ0ÐVÃP0TÃ`9YÃð!YÃCVÃPÅPàˆQÃðÈRÃÐÙWÀ{[Ã1YÃ`ÂWÃÐVXÃàwYàvTÃÐhUÃpõUÃäTÃÐJZà:^ÃÆYÃá[ÃÐbVð TÃpYÃOXÃP*UàpUÃUSÃÐëTÃpQÃX]ðöZàÕYÀi^ÃUSà ‹[Ãð°VÃð?TÀ"UÀu\ÃP³SÃPYð©RÃplWÃ0`Ã^Ãd[Ãà Và ü]ÀWÃpÝYÀŸUÃðÈRÃÐñSÃ`9YÃ0;ZÃ0ÐVÃ0SVÃà}XÂVÃpÝYð‹Wà \ðyZÃÀSRÃ0_TÃà VÃÐzRÃÌXÃÀ\Ã0²[Ã`ÎUÃP•XÃTÃÀš[ÃÀ ZÃêSÃ0kRÃÐýQÃpãXà ‹[Ã0MWÃÌXÃP[ÃàÜ]Ãð¤XÃð˜ZÃ0GXð8PÃðKRÃÿVÃ`þMÃðWPÃÀAUÃ0ÊWàÕYÃÐzRÃpéWÃ[VÃ@ñWÃл\Ãàè[ÃpSÃP‰ZÃ`ìPÃ0âSÃÐPYð‹WúWÃÀGTÃ=[ÃCVÃp„SîYÃÐÓXÃð'Xð…XÃ0îQÃPWÃÀŽ]à ]Ã@ëXÃÿVÃð\ð‹Wà ‹[ÃpTðYÃmSÃ0ÜTÃP›WÃP ZÃpfXÃ`WTà ÁRð&SÃpéWÃpéWÃÀ¾UÃ0;ZÚRÃ`ÂWÃpõUÀþZðs[Ãàk[ÃP¹Rà 8TàóTÃàúXÃÐVXÃ@zVÃà›SÃVÃRÃP›WÃ`àRÃÐ÷RÃЀQÃp„Sð©RÃPw]ÃCZÃÀÜPÃÐ’NÃKÃàÝHÃP§UÃPYÃÐ Pà ÍPÃà}XàÏZÃð°VàQÃPÃÀîMòNæPÀ·QÃð9UÃP¡VÃ0AYÃÒWÃÒSà 2UÃàHLà ÓOÃ`WTÃyMà µTà‚RÃÐtSÃp%NÃàÃ0NBàÜCÃLÃðGà¾HÃpaDÃ`:DÃPéJÃÀJðzEÃ@QHÃP–CÃ@WGÃðEÃÀ6BÃ`(GÃàÝHà GÃÐi@ðhHÃÀÑ=Ã@àEð÷EÃ`@CÀ”Bà †GÃ0`?ÃÐKEÃKÃ@]FÃPœBÃ2DÃâFÃpaDÃ@@ÀšAàÖDÃ0LÃP~Gð\JÃGKð’AÃDAÃ>BÃ0Z@ÃÐKEÃÐi@à zIÃÀ¹AÃGÃð¥CÃJ@ÃPïIÃâFÃà AÃÐWCàô?Ã0*HÃ@]FÃp[EãFÃð«BÃàïEÃ`¥GÃ0­GÃÐ]BÃðIÃ0­GõCà;IÃФKÃ8GàÄGÃ@oCÃJDÃb<à ¼>ÃàxDÃ0BDÃ`¥GàeBðVKÀÿEÃð HÃ0§HÃ0­Gð†CûBÃÐàAÃ0*HÃ@{AðýDéEÃÐcAÃÐu>Ã0§HÃ0BDÃ\Að˜@ÃÀÑ=ÃîDÃÀ$EÃàrEÀŽCÃà–?Ã@@ÃÀ­CÃqDÃAÃð‡HÃÐi@É@ÃqDÃÇ@Ãp[EÃ`4EÃ`Õ?ÃЪJÃDAÃ0BDÃÐQDÀ”BÃð{JÃð“FÃ0Ý?Ã`Ï@À”BÀ”BÃPC<àq@ÃÐÎDÃ@ìCÃÐÂFðDÃàõDÃà AÃh?ÃÀ¿@ÃðEÃ8CÃpêBÃV>ð÷EÃ`@CÃV>ð¼:ÃP¢AÃÁAÃÀHÃÀHÃ0³FÃð¥CÃP%AÃ0NBÃpgCÃÊJÃ`½CÃ`:Dð˜@ÃÐ9HÃÐÚBÃÐÈEà GéIÃ0Ý?Ã@ÚFÀ DÃpy@ÃðŸDà;ÃðŸDÃ0HCÃðGàú>Ãz<ÃpgCÃÐo?ÃÐ9HÉ@ÃP¢AÃÐ{=Ã@ ?Ãà?ÃP¨@Ã`Ï@ÃàûCðBÃð^:ðª=àèAÃPC<ÃÀ³BÃPDÃpgCÃàC8à;Ã`Õ?Ã`@CÃÐì?ÃÀT=àî@ðAÃÐcAÃð4AÃÀZ<àî@ûFÃ0NBÃÐWCÃð‡HÃÍ?Ãñ=ÃP%AÃÀÀ/>ÃP¢AÃÙAðŒBÃAÃð"DÃMJð˜@àÜCà 9?ÃÀ­CÃpgCÃ`ÃBà ¶?Ã@>ð†CÃ0³FÃÐu>ÃðŸDÃDAÃðL=ÃÐ:ð!?ÃÀ¿@À²=ÃÀË>à Â=ÃPBÉ@à²JÃ@ÎHÃ0JÃàûCàèAÃ@";ÃÍ?Ãà@ðDÃЇ;À¬>Ã`@CÃ?Ã`4EÃ`ÉAà 9?Ã0ã>Ã0û:À²=à :Ã@{AÃà„BÃ9Ã0û:Ãp>ÃÓ>ðAÀS8Ãà@Ãà@ÃÐ{=ÃðF>Ã`p;ÃÐæ@ÃpäCÃDAÃÐ¥6À7Ã!6ÃðÛ:ÃàŠAÃГ9ÃPÒ9ÃàØ4Ã@·7Ãà¢=à ?>ÃP7>ÃPÀ<ÃÀ–2€T£Á<ðÁÜÿÁ€ú1€Ð8Â@·7Â@>Ân>€bt•vÂàò†Â_Â@¢y€ҎÂÀ'†Â@BŒÂ`¨ˆÂ ¯ŒÂ ùŸÂ …“Â`­œÂÀIªÂ ¨Â L§Â€ržÂà&¨ÂÀ³Â H²ÂÀé¹Âàä²Â é¬Â r«Â@@¶Â€âµÂ@L´Â uµÂàà¸ÉÂ@EÊ )ÌÂàÅÌÂå¿Â`"ÈÂ@æÄ€4ÒÂ`.ÆÂÀeÏ€·ÑÂ`àÒÂ`òÏÂ`oР\ΠüÝÂ`3ÚÂà}ØÂ "âÂÀâÏÂàîÚ€ØÂ€ÂäÂ@ëØÂÀváÂàÄá "â uéÂÀ“ñÂ`ô ´éÂÀ±ìÂà½÷ÂBïÂà±ùÂðºÀ&þÂ`múÂPŸÃà±ù€åóÂÀEþÂ`‘ôÂ@„þÂpóÀ£þ ÃèàtþÂÜÿÂ`ÌÃ;ÃpF ÃYæÃp@ Ã@H àD Àð Ã`+ÃÀ¶ðY ÃÐNÃÐÝÃ;ÀöÃ# ÃùÃ0ŒÃð Ãðû Ã0ŒÃpÃðËÃ@$ÃPQÃ0€ð/àüÃÀ ÃÀåÔÃPWÃð¹à&Ã`ûà ¸Ã0ŒÃ@•ÀÃÀ¯Ãð³Ãà à‹ÃÀ÷ Ã0bÃÛÃÃ^ÃP!ÃÀ… àgÃ`ÑÃÀ&Ã`6à[Ã0bðùÃÐYÃðNÃP’Ã`¹ÃP'Ã°Û ÃàÃpòÃÞà v Ã@îà ¦Ã`0Ã@ÖÃpàÃ0ÍÃÞÃÏÃ@_÷ÃðÃ`<ðíÃ`*Ã@¬$ÀlÃPë à p!ÃÀ!ð ÃpiÃðô!à Ã`$Ã@ÜðdÃàbÃЬ ÃI!àOà šÃÀy"ÃPn à á#Ã[à v ÃK+ÃÐÿ'Ãp!%ú#À×"ÃPë à´ ÃÆ!Ã@/$ð^ ÃpKÃÀä%Ã`_)Ã0s'â'à R&ÃÀ!ÀH%ÃÀö"ÃàD#ÃPµ)Ãò$Ãðî"è&Ã-Ã`50Ã33ÃÀU(Ã`ƒ#à 'Ãà»$Ãp!%Ã0%ÃÀm$Ãp˜&Ã` "Ã( Ã0m(ðÉ#ÃÐÿ'Ã`q&à ·*Ã@ *Ãàµ%ÃÐ'àx*À§*Ãþ"ÃPÙ#Ã`Ü)Ãpñ,ÃÀ!Ãðe$Ãà—*Ãà£(ðF$Ã`w%À³(à ½)àN1Ã{'Ã0$Ã¥ Ä,Ãàö/Ã3/Ã`¸/àé,Ã+&Ãà£(Ãpz+ÃÐŽ%Ãpß/ÃPµ)Ü(Ãð¸+Ãx.Ã@v-ÃÔ)ÃðY&Ã@'ÃpŒ(Ã`e(À.à %ÃÐÕ.ü1ÃP¯*ÃÀº,ÃP&,ð/ð,à ·*ÃP0à ".Ãà‹,À**Ãp€*ÃE,ÃÀ['Ãàä2Ãð).à~)ÃÎ.Ãàs0Ãc+Ãõ.Ã`Ü)Ãpå.Ã@(àÅ2Ãr/à 4+Ã@+Ã0Þ*Ãp(Ã3ÃP1Ã`¸/Ãð¬-ÃP,+ÃÀ=,Ãà.ÀÅ%ÃP2*Ãð¾*Ãð¬-Ã@ç/ð/À¡+ðþ/ÃP1Ã`A.Ã@v-Ãpý*ÃÀC+Ãà)À.ÃÐ|(ð,Ã@|,ÃÐÿ'Ã0m(Ãð¬-Ã0À/Ã0ê(àN1ÃÀÌ)ÃÂ,Ãàg2ÃÐ^-À0ð-Ã`e(ÃP£,Ã`_)ÃÀO)ÃÐj+Ã`/1Ãðˆ3Ãð²,à “0ð“,ÃÚ,ÃÀ7-ÃÎ.ð,Ã`S+Ã0Ø+ðŸ*Ãû-ð-À.Ã0=0Ã`;/Ãðÿ4àH2à 1ÃT4ÃP0ð+à u5ÃP0À‰/à ·*ÃÐ^-Ã@ó-Ã-Ãà+Ãàö/Ã0Ò,àõ*ð/Ãð).Ã@R3ð-Ã`S+Ãð).à ".Ã@v-ð±'à ½)Ãpñ,Ã`2Ã0U,Ã0À/Ãp€*ÃÐ@2àã-àf-Àè4Ãpb/à ¥-à «,à×/ð“,ð-Ãpë-Þ2ð .ü-à 1Ã0Ø+à :*ÃÀ+/Ãày/Ãé0Ãû-àH2ðø0Ãà…-àÝ.ÃÀ=,ÃB7à ‡2Ã@Õ2ÃpÁ4ÃÀõ7ÃÀ~6ÃPö3Ãà+<Ãà7:à‰<Ã0~:Ãðd9Ãå?à=í:Ã@¥:Ãñ=À5=ÃðL=ÃqDÃðÛ:ÃÀSÃÀqMÃ`àRÃöMÃðcNÃ`WTÃPOÃ0}OÀ·QÃàUøMæPÃP¿QÃà*QÃ0qQÃÐ PÃpQÃÀÐRÃpŠRÃöMÃ@¼KÃ@¤OÃðNð»OÃPZMàÿRÃà0PÃàBõCÃ@?KÀÕLÃÁEÃGÃÐWCÃHÃàõDÃAÃpÌGÃÍCÃ`.FÃSIÃ`KÃðŸDÃPõHÃ@{AàYDÃà×IÃÀ•GÃPïIÃpÆHÃDAÃ2DÃ`«Fà5Jà¾HÃPDÃß<à ëKÃ@?Kà ñJÃàÅLÃà„BðtFÃ0f>à ¶?ÃÐÎDÃ@uBÃàZIÃ0ÑAÀ¬>×HÃàïEÃàïEÃÐàAÃ@QHÃð{Jà !CÃ`™IÃð¥CÃp?Ã0$IðAà hLÃ@cEÃàïEà Ô:ÃPO:Ã0ËBÃÀÅ?ÃwCÀÿEÃ`«FÃÀÃeFÃ@oCÃ0¿DÃà=9Ã`ÃBðAàeBÃ@oCÃAÃ,EÃð™EÀ¬>ð-=à Fà ýHÃp>Ã@™<ÃV>Ã;À @ÃÐcAÃàŠAÃÐì?à ¤BÃP„FÃÐÔCà ˜DÃ`ç<Ã@oCÃÍCðž?ÃPº=à 9?ÃpðAÃ0ÅCÃHÃß@ÃP®?ð@Ãß<ÃÀ¿@ÃмGÃPCÃÀÅ?à}>ÃÐ{=ð°<à 9?Ãð«Bð?:Ãà7:ÃÐ{=àMFÃeFð!?ÃPfKÃ,EÃ`¥Gà @ÃÙ=à ªAàeBÃð.BÃt=ÃpaDÀšAÃ0ï<àÊFÃDAÃ?ÃpÞDÃJ@Ã@ìCÃ}BÃ@àEÀ @ÃV>àî@Ã0Z@ÃqDÃPŠEÃpsAÃp—;ÃðÃ>ÃðL=Ã0ËBðž?Ãð½?Ãà¢=Ãàœ>Ã\AÃp:Ãp[EÃ@Ÿ;à :à -Að’AÃ`Û>À¸<ð¶;Ã`X?ÃÀÑ=à 9?Ã>BàeBà c8ÃÇ@ÃPÀ<ÃP–CÃÀB@Ãå;Ã0:ð¼:ÃÐo?ÃP+@Ãà%=ð'>àú>ð€DÃÐi@à ¤BÃÐàAÃÀB@ÃPFÃ?ÃÀï8àkAÃ`á=Ã`FBð'>Ã@<ÀG:ÃqDÃpö@ù8ÃP´>Ãn>Ã>Ã`Õ?à Â=ÃÐò>ÃÇ@Ãn:Ã$<Ã0„9Ãp:ÃÀã:Ã`ÿ8Ã<8Ãðù5ÃP7>ÃPÒ9Ã0Z@À¸<ÃÀ0CÃÀã:à ?>Ãà@ÀA;ç;ÃÐ]BÃ0ï<Ã@uBÃ0:À)?ð?:Ã0l=ÃÙAÃp‹=Ã@>à 3@Ã`^>ÃpmBÃ69ÃÐ ;Ã*;ÃÀã:ÀM9Ã`R@ð9;Ã÷8ÃðÛ:ÃwCÃp£9Ã0¢4Ãp…>Ãb@À;<Ãp:Ãp‹=Ã0:ÃàÀ8ðE9ÃÀx7à c8ÃPê5Ãp¯7ÀÖ7Ã@>Ã`ˆ7Ãà%=Ãð:@Ã`^>Ãà+<Ãp=Ã`ù9Ãð4Ãp&9ó9Ãz<Ã07à o6ÃÐø=à;ÃðÏ<Ã@½6ÃŒ5ÃÍ?ó9à;ÃP®?ÃП7Æ6ÃÀ%0Ã`^>ÀÊ9à³5Ãð1Ã`á=ÀM9Ã@Ã5ÀÜ6Ãà®;Ã`p;ó9ÃÀZ<ÃÐþ<ð@ÃðR<Ã0l=Ãt9ÃÐ9Ã`‚8à65ÃPÒ9Ãà¨<ÃÀ0Cð@ÃÀã:Ã0 8Ãà%=ÃpmBÃp :à K<à>Ã`R@À/>ð3<ÃP==Ã@±8ÃÀõ7ÀM9ÃôCÃðÕ;Ã@>à=Ã0f>ð¤>Ã69Ãp,8Ãà=9ÃÐ¥6Ãp,8Ã`‚8à:ð°<ÃÀZ<Ã0ï<À;Ãp©8Ã@½6Ãp?ÃÀf:ð@ÃÐ9ðAðW6ÃÀ„5ÃÀ6Ã@@6Ãà7:Ã0„9Ã7ÃPO:ÀÜ6à ‡2à ø4Ãp&9Ã0û:ðÈ8ä1Ãz<Ãt=Ãà1;Ãà=9à W:ÃŒ9Ãp‘<Ã0¢4à Î;à 6Ã0:Ã07à ø4Ã`/1Ã÷8ÃT4Ã0œ5à ]9à¡8À_6Ã` 3à$8ç;à c8ÃÀT=Ãà®;À}1ÃT4Ã!2Ãðí7À;<à È<Ãpü?ÃPÞ7Ã'5Ãp;Ãý;Ã`ˆ7ö2ÃÐ<ÃPO:Àè4ÃÐ:Ãp86Ã`ÿ8Ã0õ;ð¼:ð3<à;ÃÐ8À_6à$8ÃГ9Ø3Ã@½6Æ:ÃÐ(6ÃÐ44ÃÀõ7ðK8Ø3ÃÀõ7ÃП7ÃÐþ<ÃPØ8Ãå;à$8Ã5ðK8ÃÐu>ÃÀB@Ã@48Ãð‚4à 3à¹4à c8ÃPU9ÃðX;à o6Ãp©8à*7ÃГ9Ãå;Ã@48Ãé0Ã@L4à65à³5ÃЙ8Ã×3à$8Ãðd9ðÂ9ÃàÌ6Ã0~:à06ÀG:Ã92ÃŒ5ÃN5Ãë>ÃÅ6Ãðó6Ã0Š8ÃÀl9ÃàÒ5Ã!6Ã@L4ðo2à³5Ã@É4Ã@ç/ÃÀ„5à*7ÃÐø=Ã0x;Æ:ÃÐ(6Ã0~:Ã0õ;ÀM9ÃPU9ðo2ÃðŽ2ð'>ÃpÇ3Ãß<à Q;à ¼>ÃÐu>Ã`ˆ7Ã`p;ÃT4Ãz8Ã09ÀS8ÃN5Ãz8ÀG:à9à¿3à¹4ÃP[8Ã012ä5ÃPg6à ò5à 6à 6ðì2ÃŒ9Ã<8Ã$<à¹4à ø4Ã@ ?Ã0%4ÃPs4ÃpD4à³5Ãàº9Ãã1Ã0+3ÀÊ9à ¶?ÃàÆ7à›9Ãp—;Ã05ðW6Ã@@6Ã0¨3ÃB7à9Ãðç8ÃÀã:Ãz8Ãp»5Ã@½6Ã@±8Ãpµ6Ã0„9Ãðç8àH2Ã@«9ÃÓ>àƒ=ðÔ6À¦?ÃÐ@2Ãàº9Ãz8ÃP[8ÃPö3Ã0–6Ãðù5ðÔ6Ã`ÿ8Ã0x;ó9Ãðá9Ã@=Ãà´:Ãp?ÃŒ5ÃГ9Ã@¥:Ã05Ãà[4ÃàU5ÃП7Ãp&9ÃB7ÃП7ÃÀr8à06Ãà+<Ã`8Ãðj8ÃPa7ÀÊ9ÃPØ8ÃÀr8Ãñ=ÃÀ6Ã`#3Ãàü.Ã`X?à È<À¸<ÃP1?Ã’4à ".ð/ÃÐ.5Ã0„9ÃPy3Ãp&9ÃŒ9Ã`‚8À;à*7Ã07ðÂ9ÃpP2à i7Ãp©8ÃЙ8Ã0–6Ãà=9Ã@ ?à ø4à W:Ã`ó:Ã`í;Ã@.9Ã`|9ÃÀ„5À7Ãp£9Ãpµ6Ãý7ÃÓ>Ã9Àâ5Ã@«9Ãðó6Ãð|5Ãðí7Ã0`?Ãë:à Ú9ÃÐ.5Ã0 8Ã0 8ÃPO:Ã0–6à Ú9Ãàº9ÃÀ6Ã` 7ÃPê5ð3ó9ÃÐ8Ãà´:à;í:ð¼:Ã@:7Ãðç8à§7ÃPs4Ã`5ðÚ5À_6Ãðí7ÃàU5Ã@48ÃPð4ÿ7ç;Ãß<ð¶;Ã0+3Ã×3ðÚ5Ã@48à þ3Ã÷8ÃЙ8Ãà®;ÃPO:ÃÐ ;ÀÄ:Ã0¢4Ãз3Ãðj8Àâ5Ã0:Ãàm1Ãð”1Ãðp7À7ù8Ã÷8Ãðd9à ø4Ãàg2à ™/ðà4Ã0œ5Àâ5Àâ5ÃPÌ:Ã`”5Ãð‚4À;ÃÀé9Ãð”1Ãõ.ÃpP2ÃN5ÀÐ8Ãp86ÃÀû6ÃÐ9ðÂ9ðæ3Ãà[4ÃPm5Ãz8à ø4à 6ÀS8ÃpP2ÃÀû6Ã0¨3Ã@(:Ãp‘<Ã8ÃÐ:3À›,Ø7ÃP0ÃÝ2ÃŒ5À7Ã`Ž6À}1Ãp¯7Àe5Ãp©8Æ:Ã7ÃpÍ2ÃP[8à à8ÃÐR/Ãð‚4ÀS8ÃÀû6Ã`2ðK8Ã`/1Ã`/1à i7Ã@á0ÃZ3ðc4Ãý7ÃÐ:Ãà=9à u5Ãpµ6à65Ã@R3à;ÃPü2ÃÀû6ðÚ5à³5Ãàê1ðø0Ãp&9ÃÐ@2À1Ã9à<4Ã`ˆ7Ã'5ðW6ÃÀ¢0Þ6Ã`8Ãp:ÃV>Ã@L4à¹4Ãp,8ÃÀ~6Ãàº9à þ3ðK8à;Ãз3Ã0 8Þ6Ãð|5Ãb<ÃË5ðÔ6Ã0œ5Ãp;ÃÀ~6Ã’8Ã@>à;ð€DÀ5=Ã`j<à:Ã0„9Ã@™<Ãz<ÃÀÝ;ÃÐàAÃÀË>Ã0~:Ã0`?Ãð"DÃÐàAà @Ã`FBÃë>Ãà>Ã`ÃBÃÍ?Ãp?àƒ=ÃðÉ=ÃÀH?ÃÀÑ=Ã@™<Ãà%=Ãý7Ãp>Ãñ=Ã0ÅCÃà¨<ÃÀ$EÃJ@Ãz<Ã@“=ÃðF>ð9;à zIÃP¢Að˜@Ã0ÑAÃÀx7ÃðF>à DðñFðE9Ã@¥:ÃpäCð’AðAà ¼>à žCÃð·@ÃÀ­CðDðëGÃn>ðª=Ãý;à>ÃГ9Æ:ÃÀï8Ã0é=Ãn>à;à @ÃpðAð!?Ã>BÀ¸<Ãt=ð¶;Ã?Ã@‡?Ãà@ÃP7>ðž?ÃAÃp=ÃPC<ðDÃðp7ð˜@À @ÃÁAÃ0×@Ã@ ?ÃÇ@ÃP¢AÀ¾;Ãð4AÃAÃP EÃà–?Ãp‹=Ã`R@à @Ã0ã>ÃÀÑ=Ã?À¾;ÃP%AÃ0Ý?à -AÃð«BÃÀ×<Ã`ç<Ãë>ÃÁAÃ`·Dç;ÃPº=à HÃ@cEÃðEÃÀN>à=Ã0x;ð CÃ0f>Ã@Ÿ;ÃÀFÃ@™<Ãð(CÃP–CÃPÒ9à @ÃBàq@Ãð½?Ãý;Ã`Ï@Ã=ÃDAÃàŠAÃ`v:à Â=Ãðj8Ã0l=ÃÐ{=Ãð:@ÃÁAÀ#@Ãn:ÃðÏ<Ãà%=ÃAÃp—;à @ðÈ8ÃP®?ÃÇ@Ãý;à Î;àú>àî@à;ÃPØ8Ãh?Ã@.9à‰<Ã@(:éEà ¶?Ãð4Aàî@ð¤>Ãp86Ãp;ÀÄ:Ã\=ðýDÃðL=ÃPg6à i7à;Ã\=ÃП7ÃÀï8à9ÃàU5ÃÀ5ÃÐø=Ãp&9Ãp‹=ÃÀÝ;ÃÀl9Ãý7ðª=ÃPBÃ@ ?ðAÃà@ÃPº=ÃЙ8ù8ÃðR<Ã@(:Ã`‚8Ãàº9Ãà´:à ªAà <Æ:ü1ÃГ9à:ð-=ÃðÕ;Ã0~:ÃÀ~6Ãñ9à Â=Ã@“=Àô2Ãàº9Ã`50ÃÀ2Àè4ÃÐ ;à;à 1ÃП7à ø4ÃB7ÀS8ð .ðu1ó9ÃÐ8ÃÐ.5ÀG:Ã@±8Ãp,8Ã@L4ÃàÌ6Ã0%4à¡8Ã@(:Ãp©8Ã0~:ÃB7Ã÷8ÃÀã:ÀÜ6ÃÀ5Ã`|9Ã`@Cð¼:Ã@.9Ãðó6ÃPð4Ãp27Ã'5ü1Ã@F5ðÚ5Ã0¢4ÀÄ:ÃÀx7à @ÃðÕ;ÃŒ9Ãß<ðæ3ÃàI7à*7à­6ÃÀï8Ã`v:ÀA;Àk4ÃðŽ2Ã`8Ã9Ã`X?ÃÀõ7ç;ÃPC<ÃÀx7ÃPa7ÃPI;àË1Ã@^1ÃË5Ãàa3Ã`ó:à c8ÃÐ ;Ã`6ÃЇ;ÃPs4ÃЫ5À;<Ã`^>Ãë>Ã`š4ÃH6Àe5ÃPs4ÃÐ.5ÃÀ6Ã@Ÿ;àB3Ãp,8Ãð 3ðu1ÃÀã:Ãðv6Ã<8Ø7ÃÀ`;Ã@(:à65ÃÐ"7ÃÐ ;ÃàÞ3ÃÐ ;Ã\=Ã`5à ¶?ÃÐu>Ã=ÃÐ<Ãý7Ã`Ž6Ãðv6Ãðÿ4ÃÀï8Ã0û:ÃÀé9Ãðˆ3Ãðv6Ã?1ÃQ.Ãðó6Ã`í;ÃŒ5à i7ÃÀ„5ÃË5ÃPØ8Ãðp7à Â=Ã7Ãðá9Ã@Û1À$+ÃÐ@2ÃÀã:Ã0 8Ãà7:ÃPØ8ð3<Ãp:ð?:Ã=Ãà@Ãà@ÃÀé9Ãб4àZ/Ãß<ÃÀõ7ÃÀ~6ÃPO:ÃàÀ8ðÂ9ð?:ðÂ9Ãp>Ã`j<ÃPÞ7Ã0„9Ã;ð]5Àq3Ãðó6À1ÀS8Ã07Àè4ÃÀx7Ã\=Ã0 8ð¼:à;ÃB7ÀÜ6ÃÀl9ÃÝ2Ãàg2Ã`d=ÃðR<Ã!6ÀY7ÃàÀ8Ãñ9ÃàO6ÃPÌ:Ãðd9Ã@:7ÃZ3Æ6É@ÃÀé9ÃÀT=Ã@½6Ã`š4Ã07ÃÐL0à65Ãðv6Ã@:7Ã`Ž6Ã`5Ãð|5ÃP1ÃPm5à à8à æ7ÃÀÝ;Ãз3Ã0„9ÃPÌ:Ã0O-Ãð 3ÃÀ~6Ã`ˆ7Ã0x;ÀÐ8Ã;Ø3Ã`|9ÃàÌ6ÃÀ×<ÀM9ð?:à o6Ã`¬1ÃÐ¥6ÃP[8Ã0 8Ã05Ãðù5Ã0:Ãà7:à ì6Ãp&9Ãp86ðÂ9ÃàC8Ãðv6Ãà[4ÃàC8Ã`š4à ì6à o6à :ÃPÞ7Ã`8àw?ÃÐ:Ãðù5Ãðd9Ã’8ç;Ã4à³5ÃpÁ4àB3ÃàI7ÃÅ6Ã`í;ÃЫ5Ã@48ÃPê5Àk4Ãðí7Ã@(:à65ÃÀŠ4Ãày/ÃpJ3ÃЫ5Ã09ÃPg6ÃPa7ÀÄ:Ãp :ÀÄ:ðQ7Ã!6Ãà?Ã5ç;ÃPg6ÃÀf:ÃB7à;Æ:Ã@·7ÃÀ„5Àq3ðc4Ã07Ã@á0Ã`ˆ7Ãðÿ4Ãà´:Ø7Ãý7ÃÐ"7à æ7ÃÀõ7ö2à æ7Ã@“=Ãà¨<Ã0¢4Ã` 7ÃpD4Ã33ÃN5À¬>ÃàÆ7ÃÅ6Ã@(:à65í:ÃP2à9ÃÐ(6Ãðù5ÃÀ~6ÃÐ¥6ÃÅ6à 6ðÚ5Ãðí7ðø0Ãàð0à “0ÃW-à ì6À7ÃÐ.5ðÂ9ÃN5Ãð4à¡8ÃàÒ5ÃÐ(6ÃÀ2Ãðp7ÃЙ8ä5ÃÀõ7à Q;Ã5Àè4Ã@ç/Ã4Ã'5ÃpÇ3Ã`Ž6ÃÀ%0Þ2à*7ù8Ã@ó-Ãé0àH2ÃÀf:Ã`p;À}1ÃŒ5ÃÀr8Ãt9ÃÀŠ4Ãз3ÃË5Ãp¯7Ã`#3ÃàÒ5ÃÐ8Ãà1;à °@Ã@@Ã@·7ÃÐ:3Ãé0Ã?-ÃàI7ÃPö3Ãàü.Ãн2Ãã1à Ã(ÃP2ÃPg6ä5Ã`ˆ7Àâ5Ãàm1ÃŒ9Ã9ÃÐF1Ãl0Ã0–6ÃÀ„5ÃPg6Ã!6Ãàä2Ã@Û1Àô2ð{0Ãph.ÃpÍ2Ã0:Ã92ÃpÙ0àN1ÃH6à 1ÃÀû6ÃÐ@2Ã'5ÃÐ44Ãð0Ã7Ã@R3Ã`¬1Ãpß/àÑ0Ãб4ÀÐ8ÃÀl9ÃP2Ã`6ÃàØ4ÃË5àZ/Ãб4Ãðˆ3à “0Ã0Ì-Ãày/Ãàö/Ã33Ã`¦2Ãàê1Ã`#3Ã`²0Ãàg2ÃàC8Ã-0à¿3Ãà[4àN1Ã0m(ÃÐ@2Ã`8Ãà‹,ÃÑ4Ã`G-ÃÀ¨/à65ÃÐÏ/ÃE0Ã`50ÃÀû6Ã`Ž6ÃpJ3À7Ã`‚8à W:Ã4À•-Ã@·7ÃÀ1ÃPm5Àè4Ã0%4ÃÀï8ÃP-Àk4ÃP‹0Ã?-Ã@|,ÃP/Ã`4ÃPä6Ã@É4Ã0:Ã~-ÃQ.à9Ãpß/ÃP—.Àw2ÃŒ5Ãðÿ4ÃÐ(6ð/ÃÐÛ-à “0ÃpÓ1Ãð‚4ÃPö3Ã0%4Ã` 3Ã012à06ÃP-ö.Àq3ÃП7Àƒ0Ãp27à 0ÃPO:Ã07à ø4ÃÐ^-ÃÀ3Ã`;/Ã'5ÃàÀ8Ã0%4Ã!2à³5Ãð1ü1ÃW-Ã0+3Ã@ *Ãõ.à 3Þ2Ãð).àé,àB3Ãz8À}1ÃÔ-ÃPä6Ã0%4àT0Ã0=0ÃP-Ã@:7ÀM9ÃÝ2Ã0´1à /Ã@Ÿ;ÃPä6ðÂ9Ã@í.Ã012À.à ‡2Ã0´1ðc4àH2ð]5à×/àÅ2ÃN5à 0ÃP…1ÃP©+ÃÀI*Ã0%4Ø3ÃpP2À_6Ãð 3Ãph.Ã?1Ã’4ÃpV1ÃpÁ4ÃÐ:3ðì2à ™/ðŸ*Ãp>5Ã@Û1Ã0´1Ãðp7Ã@@6ðW6à­6ð/àÑ0ÃÐX.Ã@ç/ó9à 2Ãðš0à þ3Æ6ÃÐF1ÃàÞ3ð“,ÃÀ„5ðò1Ã`;/Ã@j/à 1ÃN5à 2ä1À7ÃÝ2à 0Ã@Õ2Ã<8Ã'1ÃÀI*à 4+ÃpÓ1ÃàI7Ã@^1Ã0´1ÃpV1À0ÃpÓ1ÃÀ3ðì2ÃPü2Ãã1Àw2Ã`8Ã!6àH2ÃÐ:3Ã` 3ÃÀ~6ÃÐ¥6Ã@á0ÃÐR/à 3Ã@í.Ã0œ5ÃÐÕ.à o6ÃN5à¿3àf-Ãð”1ð˜@Ãð½?Ã0¢4à 6ÃЙ8Ãð/-àÑ0Ã`Ž6Ãà.ÃpD4Ã'1Ãp\0Ãð2àH2ÃPs4Ã0+3ÃPg6Ã@L4ÃÂ0Ã@:7Ãðá9Ãðˆ3Ã4Àâ5ÃÈ+Ã0À/Ãз3ä1Ã’4Ã@d0ê0ÃàI7Ã`50ÃÈ/Ã-ÃpJ3ÃÀŠ4ÃPy3ÃP0ÃÀ5ÃàÆ7à¹4Ãðÿ4ÃÀ~6Ã@p.Ã`M,ÃÐ(6ÃN5Ãpn-ÃE0ÃP1Ã07àN1Æ6À›,Ãðˆ3Àe5ÃPÌ:à³5Ã@Õ2Ãàê1à 0Ãf1Ã`/1ÃpÍ2Ã×3ÃpP2ÃÀ 4Ã@j/Ã`M,àN1ÀM9ðK8Ã0¨3Ãï/Ãà[4Ãàü.ÃP -Ã`¾.ÃÀ=,àf-ÃÀ%0Ã@R3ÃP2à*7ÃT4Ã0¨3Ã`5à 1Ã0O-Ã@p.Ã@É4àH2ÃP>(Ã0º0ð3Àw2Ãà.Ã3/Ã0Ì-Àw2ð™+ÃÀ6ÃÚ,Ã0œ5ÃZ3à³5Ã@.9ÀY7ÃP/ÃÚ,Ãð).Ã0%4Ãr/Ã@R3à 1Ãl0ÃàÒ5À_6à 6Ã-4ÃP2Ã@d0Ãàü.Ãð2Àâ5ÃÑ4Ãð2Ã`¬1Ã0I.ðu1Ã@ó-Ãû-À1ÃK/Ãà.à ".Ã!2ÃPä6à o6Ã5À}1à 1Ãð1ð/ÃÀû6Ã0œ5ÃPm5Ãð‚4Ãàg2ÃPü2ê4Ã`ˆ7ÃÀœ1Ãð²,À}1à ì6ÃË5ÃK/ð/ðo2ÃpÙ0àÑ0ÃÐX.Ãàs0ÃÀ1Ãõ.ÃàU5Ã-0ÃÐR/Ãð 3Ã3ÃÐ:3ÃÐÉ0Ãð;+ÃÀ„5àË1Ãp\0ðþ/À¡+àr+ði3Ã`6ÃP0ÃpD4Ãã1ÃÅ6ÃÀ+/Ã@Õ2ÃpP2Ã92Ãð4Ã0®2Ö)ÃÐj+ÃÀ1Ãàü.Ã`¾.Ã],Ã@ó-Ãpñ,Ã0¨3ÃB7Ã0º0Ã@ù,ð/ÃP…1ÃP-Ã`¾.Ãà.ÃàU5à «,ÃP‹0ÃP/Ã`¸/à ø4àf-Ãð0ÃW-ÃÐ'ÃpÓ1ê0ê4Ãà[4Ã'1ÃŒ5À0Ãé0ð™+Ãx.Ã`²0ö2À›,à «,ÃÀº,ÃÀ1.Ãpb/Ãà‹,ðþ/ÃP£,À /ÃÐ44ðo2À•-ÃÀ–2Ãpñ,àï+ÃPy3Ãн2Ãà+ðW6Ã071Ã`Ü)Ã0Æ.ÃÐá,Ãð#/à Ÿ.à (-ê0Ãpt,Ãæ*Ãð0ÃÀ%0Ãàm1à 0ÃW-Ãð /ÃП7à o6à ".ðþ/Ãpt,à`.ÃpÍ2àÑ0à Ÿ.ð/ÃpÙ0ÃE0Ã~-ÃÀ=,Ã~-ÃP2*Ã`î&ÃP&,Ãû-Ãõ.ðò1ÃÐÏ/Ã0g)ÃP…1ð™+Ã0a*Ã0a*ÃÐÕ.Ã!2ÃðG)Ãð /Ãà )Ãì%ÃÐÕ.Ã-0Ãph.ÃÀ–2Ãð¬-àÝ.ÃÐó)Ã@+ÃÀÒ(Ã`/1à +Ãà‘+À¡+Ãr/àõ*Ãc'À›,Ãð¦.ÃÀ1Ã92Ã0Ò,ÃÐá,Ãpz+À•-ÃpÙ0Ãà…-Ã0C/ð¥)Ãà.ð/Ãf1ÃÀ3ð-Ãàg2à 2Ãx.ÃP,+à(Ã0Þ*Ã`Ð+Ãð5,Ã~-ÃPJ&àÝ.Ãàs0Ãpt,ÃÀ¨/Ãàs0Ã`Ê,Ã@ç/ð“,Ã`;/Ãð2ÃÀ¢0Ã`¾.Ãph.ð±'À$+Ã`;/ÃP¯*Ã@v-à 1Ã0À/à i7ÃÐá,Ã,ÃÐ:3à (-Ø3Ãp )Ã-0Ã0a*ÃÀ3Ã0a*À-ð‡.À¹'ð½%ÃÐí*Ä,ð-Ãà.Ã`_)ð{0Ã@)%Ã)Àè4Ã,Ãph.Ãp†)Ãpë-Ãð”1Ãà-Ã@ç/àl,ðÃ$à /Ã`;/ÃÂ,Ã@d0ÃÐj+ÃÐí*Ãð¦.ð{0Ã`Ä-Ãð/-Ãð5,Ãð1Ãð¾*Ã0Þ*Ãà.Ã@ˆ*Ã0[+Ãð/-Ã`#3Ãpå.Ê+ÃÀI*ÃÀ¢0Ãp†)Ãà.Ã@í.Ãàs0Ã`¬1Ãp’'Ã`¬1Ã`A.Ãï/Ã@ó-Ã@á0ðò1àf-Ã`6À.àÑ0Ã`G-Ã@‚+Ã0[+ÃP‘/ð‡.à`.ÃðG)ä1Ã`Ð+ÃÀU(Ãp€*Ã)Ãн2ÃàI7ÃÐj+ÃÐó)àx*à ±+ÃÈ/Ãð¦.Ãà,àã-Ãx.ÃÀã:ÃpP2Ã0C/ðo2Ã@X2ð/Ã-0ÃP,+Ã0Æ.à 4+Ã0À/Ãpn-Ã0Ø+ð/Ãà‘+ÃÀ´-ÃÀ+/ÃÀ¢0Ãpå.ÃðÄ)Ãpt,ÃP1ÃpV1Ãàm1Ãð).ÃP1Ã3ÃÀº,ÃÀ3ÃàØ4Ã0Þ*À-ð-Àƒ0Ã0U,Ãph.À0ÃÀ 4ÃÀ3Ãð#/ÃP-Ã@+Ãàê1Ãpt,Ãð).Ãi*ÃК#Ã`M,Ãàü.Ã`G-Ã],Ãð²,ð3àZ/Ãõ.àZ/ð“,ÃP&,à×/Ãà )Ã0Ò,ÃÀØ'ÃÐj+Ã](Ã0%4àÝ.Ã@ù,À³(Ã%'Ã@Û1À¡+ð¥)ÃP -Ãï/ü-ÃÀÀ+ÃЫ5ð-Ã3/Ã@+ÃÀ¨/ÃP&,Ãà-Ã`¬1Ãà—*Ãpñ,Ã0Ì-Ã@v-ð“,Ãà©'Ãò(ÃW-ÃP©+ÃÐ^-àé,ÃÀ´-ð-ÃðÐ'À-Ã@(À$+ÃÐá,àB3Ã`¾.ÃЂ'Ã0ä)Ã`‰"Ã`¾.ÃK+Ãð5,Ã@F5Ã`G-ÃÈ+ÃÀ1.ðc4Ã0s'ÃP.À›,Ã0ð'ÃÐç+Ãp*Ã`50ði3ðþ/Ãà,ÃÐí*ÃÈ/Ãð 3ÃŒ5Ã@L4à 4+Ã(Ãp’'À•-ð-À.Ãð¬-Ã`Ê,ðc4Ã)ÃP,+ÃðÊ(ÃÐç+Ã`S+Ãà…-ÃpÓ1Ãpë-Ãp )Ã`A.Ä,àÝ.Ã92Ã-4àH2àË1ÃàU5Ãõ.ÃÐç+ðo2Ãr/Àw2Ã`G-Ã`S+Ãð/-ðþ/à Ÿ.Ãà*Ã0Æ.Ãï/Ãà‹,ÃÐá,ÃÀ2Ã3/Ãð /Ãàs0ÃE0Ãð#/Ã~-Ãà‘+Ã`š4ÃPð4ð .Ãx.Ü(Ã@í.à 0ÃZ3Ãðÿ4Ã012Ãð /Ãðˆ3àï+àZ/ðø0Ãàê1ÃpP2Ã` 7Ãà‹,Ã0U,Ã@ó-ÃÚ,ÃÀ¢0Ã0Ø+à (-ÃÀ%0ÃÀŠ4ðò1ÃP&,À.à ™/Ãû-Ã!2Ãð”1ÃP/à 3Ãl0ÃàÞ3Ãàm1Ã@ÿ+Ãð).à ò5ÃP‘/Ãp86Ãl0ÃÐá,Ã0%4ÀÜ6Ã`¾.à “0Ã`6ÃÀ1Ãð¦.Ã`;/Ãl0ÃÈ/àN1ðì2Ãr/à¿3Ãðv6ÃÀT=Àâ5Ã05Ãн2ÃÐÃ1Ã@ù,Ã012À$+Ã0Ø+à :*ÃP.Ãð”1àé,Ã],Ãph.Ã0Ì-Ãà…-à65ð‡.Ã0¨3Ãà…-Ã`¦2ÃàÌ6ð]5Ãð 3ÃàÒ5À1Ã?-ÃðŽ2ÃÀœ1ÃÀ2Ãpn-ä1ÃÐÛ-Ã3/ÃÝ2Ã0+3Ãàü.ÃÀ5Ã0+3À.ö2ð‡.Ã0¢4ÀÖ7Ã@½6Ã0®2àN1ÃP2ÃÀ2Ãpz+Ãðˆ3ÃàI7Ø3ÃÐÏ/À.ÃÐÉ0Ãr/à i7Ã`/1ÃðŽ2À‰/Ãð¬-Ã'1Ã0À/ð/ÃPy3Ãày/Ãp»5ÃpÓ1Ãpb/à þ3Ã07ö2ÃÐÉ0ÃPy3ÃPg6ðQ7Ã06Ãð”1ÃÐX.Ãàö/ÀY7ÃÐ@2Ãð2ÃàÆ7Àú1ÃpÍ2Ã`;/Ã'1ÃÀ´-à³5Ãðˆ3Ãð1À.ÃPö3Ãб4Ã`;/Ãàa3ÃÀx7à 1Ãày/ÃÀã:Ãå;ÃPö3ÃPö3Ãpß/Ãð4àÑ0Ã'5Ã4Ã8Ãð5,ÃÐ.5ÃP0ÃPü2ÃË5ði3ðo2à o6Ãõ.ÃàU5ÃPa7àB3Ãðˆ3Ã@á0ÃÀ~6à ì6Ãð#/Ã0À/ði3ÃÅ6Ã3/ÃB7Ã`”5í:Ã0´1ÃT4à 6ð .ÃŒ9ðQ7ð9;ÃÅ6Ã0=0ð3ÃÎ.ÀS8Ãà=9Ã9.àf-À1Ãpå.à 6ÃàO6À‰/Ãp27àÅ2ÃÐ|(À}1ÃH6Ã`”5Ã`¦2Ãé0Ã0Š8Ã`¦2ÃPs4ÃÐÛ-ðò1ÃP1Ãз3Ãàð0à ".ð{0ÃÀ3ÃÂ,Ãð|5Ãàð0Ãðù5Ãã1Ãðÿ4Ã`Ä-ÃPê5Ã0Æ.Ãàð0Ãàs0Ãàü.à ™/Ã05ÃàÌ6à06Ã0´1àl,ÃpÓ1Ã@.9À}1À‰/Ãõ.ÃP‹0Ã3ö2À-Ãð /Ãðˆ3Ø7ÃP2Àâ5ÃÐ(6à ¥-Ã07Ã!2Ãð /ÃÀŠ4ÃÀ–2Ãз3Ãð1Ã@Ã5ÃàC8Ãð|5Ã`6Ãà-ðþ/Ã0C/ÃÐ44Ãp,8Ã@·7Ã@Ã5ÃÀ3ð3Ãà.Ã@ÿ+Ã`¾.ÃÐÛ-ÃÀ´-Ã92Ã` 3ÃÐF1ÃÐF1Ã9.ÃPs4Ã@Ï3À /Ã`¸/à ™/Ã`¸/ð]5ÃÐX.ÃÐÏ/ÃàU5Ãày/ÃÈ/Ãð/-Æ6ÃPä6ÃB7ÃÐF1À**Ã0®2À¡+Ã`š4ÃГ9Þ6Ã@R3ð/ÃÐ^-àH2Ã`¸/Ã@Ï3Ã?1Ã],Ã07Ãðš0Ãð¾*Ãpå.ÃÐR/À›,ÃÀ+/Àe5ÃPs4Ã0a*Ã`Ð+Ãð1Ã4à ‡2ÃÀ3Ã×3Ã0%4Ãàö/à 2Ã`G-ÃÐç+ÃÀ+/ÃÐp*ÃÐÏ/ÃP.Ã0ê(Ã071ÃÝ2Ã0¨3ü-ÃÐÃ1Ä,ÃÀ=,ð()Ã`¾.À¿&Ãð¾*àã-Ãàê1Ã`;/Ãà…-À1ÃÀ+/Ã`¬1à 3ð-À$+Ãð4ÃàI7Ãàê1Ãõ.Ãàg2ÃPm5àÑ0ÃZ3à¿3Ã`š4À_6Ø3à¿3ð3Ãp¯7à*7Ãн2Ãðç8ÃpÍ2Ã92Ã05à Î;ðÔ6Ãã1Ã0r<Ã@É4à>ÃPO:Ã`ˆ7à Q;Àq3ÃÐF1Ã@É4Ø3Ãðj8ÃPDÃ`ù9Þ6Ã@Ÿ;Ã`”5Ã@:7ðK8ÃÀï8à :Ã0ï<Àk4àB3Ã@¥:Ã’8Æ6à <ÃÐ:ÃÓBÃÐ"7ÃÀŠ4Ã`)2à<4à65ÃpD4ÃPö3Ãpb/à9ÃPI;Ã$<ÃB7í:ÃÐ9ðc4à à8ÃðX;ó9à65Ãp»5Ã07ÃPö3ÃpÁ4ði3Ãà´:Ã@>Ãà7:ÃPI;à•:ÃAÀM9ÃT4ÃàÀ8Ã`²0Ãð2À7ði3ÃPð4Ãðó6Ãh;ð¶;À¦?Ã`p;Ãh;ÃPð4Ãðd9ðª=Ãý;ê4Àú1Ãn>Ãðó6Ãp :à¹4ÃÀŠ4Ãðj8à i7Ã@48à Ô:Ã`ÿ8Ãñ9Ã@±8Ã0Š8Æ:Ã69à ò5Ã92Ã’8ÃàÒ5Ãt9ÃÀã:ä1Ã` 3ÃÐ8Ã` 3Ã`ˆ7à Ô:Ãð^:ÿ7Ãð4À¾;ÃŒ5ÃàC8ÀÐ8ðW6Ã@R3à à8Ã0:ÃÀl9Ãàä2ÃPs4Ãðd9Ã@™<Ø7Ãàa3Ã@Ï3Ã@.9à­6ÀÊ9Ãð”1ÃÀ2à­6à þ3Ãp&9Ã!6Ãp :ÃPm5ð]5Ã0¨3ÃÐÉ0à¡8Ã7ÃÀ`;ÃPÆ;àÅ2à 3Ã@F5à ì6Ãp :à à8ÀG:ÀÜ6Ã@X2Ã`ÿ8à65ÃЫ5Ãðá9Ã071ð@ðÂ9Ã7ÃÝ2à i7Ã06Ãð|5Ã`²0ÃÐ9Æ:à=Ã0–6Ãðÿ4ÃÀl9ÃÐ ;Ã0%4ÃP0Æ6ÀY7à i7ÃÀ„5Ãðp7ÃЙ8Ãðó6ÃPm5àÝ.à¹4ù8ÃÀ¢0ÃPÌ:Ã0œ5Æ:Ãã1à o6Ã`š4Ã@Ï3à$8Ãàö/ÃPÞ7à9Ã`”5ÃPs4Ã0~:à E=ó9Ãðˆ3Ã0:Ã@¥:Ã@@6À7Ãpü?ÃÐ9ÃPm5Ãðp7Ã`ç<Ã0õ;ÃÀ5àƒ=ÃàO6Æ:ðBÃ$<Ãp>ÃàO6Ã@48ÃðÏ<ö2ÃÐ]BÃ0õ;À²=ð¼:ÃPÒ9àî@à Î;ÃàûCÃ0NBÃpðAÃ`R@Ã`ç<ÃðÉ=Ãðá9ð!?Ã`4EÃpäCÃ\=à K<ÃÀT=ÃÙ=ÀM9ð¼:ÃP7>ù8Ãðá9Ãà¢=ÃÀÑ=Ãàœ>À;<ÃÀH?à Q;Ã@™<à*7Ã0:ð-=Ã@@6ÃÀï8Ãp©8ÃÀé9Ã`j<Ã`8ÃÐ{=Ã0f>ÃVBÃ÷8Ã;Ã0x;ÃЇ;Ãt9Ã`ˆ7à;À;à‰<ÃPg6Ãë:Ã@½6à <Ãðç8Ã@¥:Ãà1;ÃPO:ÃàC8ð?:à:ÃÐ<à Q;Ã@ ?Ã`í;ÃÐ{=àâBð†CðÈ8Ã$<Ã0œ5ÃàÒ5Ã`^>Ãà>à ?>ÃP¢AÃð½?Ã>ÃðF>ÃPa7Ã@L4ðE9Ãà7:ÀY7ðÂ9Ã0œ5à Ú9Ã`á=Ã÷<Ãðd9Ã0Ý?Ãn>ÿ7ÃðX;ÀÖ7ÀÖ7Ãp—;à Q;ð3<ÃPü2Ã07Ãà´:ÀA;à}>Ãý7ÀA;Ãà1;Ãà´:ÃPÞ7à Q;ÃÙ=Ãð^:ðK8à Ô:à ¨(dt ?@4 4ÿxunitsyunits åhpÝ (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐÒ (ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec2 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsî(·—NM@è`êTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜ì8HEAPXH€êdescriptionsection_0section_1section_2descriptioncommentchannelsAmp1Amp2Amp3Amp4` Hn_sections ö¨àí ·—NM (CLASSTABLEð0SNODˆë¸ö(`Ô 8à†TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(È ÿÿÿÿÿÿÿÿ @TITLEDescription of channel 3 8 FIELD_0_NAME n_sectionsàöùTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆúHEAPX ùdatadescription8  @œÐûq·—NM€SNODxùÐl`nåÂÀÿß [ã çÂ`hæÂ€]à€ÃÏÂ@PÝ€]à £×Â@çÂàvîÂ` á XÙÂÀÛÂàwÙ ‹ÛÂÀÄÔÂÀ²×ÂÀ ÞÂÀ/ØÂ@ ÔÂ@»àÂ7ÜÂ`¤Ü€ìÝ€cßÂ@\ÛÂ@JÞ ŸâÂà¸ã &× íÕÂ@€Õ öÞÂ`¶ÙÂ@’Ò€ìÝÂ=ÛÂ@µá€oÝ sß sßÂ@JÞÂ@ ÔÂÀ¬ØÂàƒ×Â@zÖ ØãÂ@»àÂÀ¾ÕŠãÂ`Œà€‡Ù jÖÂ@&ä¨ÞÂàqÚÂÀ#ÚÂÀÜÐÂ@nØÂ`’ßÂÀóáÂà¬åÂÀçãÂ@ åÂÀ¸Ö màÂ`Â× ¥áÂ@\ÛÂàÐ߀cßÂ`ÈÖ€ØÂ 8ÔÂ@ÍÝÂ`¼ØÂ`¤Ü ¥áÂ@,ãÂÀùà LÛÂÀŽÝÂ1ÝÂÀ ÞÂÀ5× ,ÖÂÀÛ ^ØÂÀßÂà/å êà€æÞÂà ÖÂÀÐÒÂ@-ÎÂ@\ÛÂ@¯âÂ@2â ÝÂÀMÓ ;ÉÂÀÚÂ@8áÂ`žÝÂ@†ÔÂOØÂàâÜ ^ØÂ€KãÂÀ5×Â`’ßÂ`€âÂ`˜ÞÂ`E×Â@JÞÂà5ä öÞÂÀ”Ü [ãÂàÐßÂà 4ßÂ`°Ú€þÚÂ@VÜÂ`!ÝÂ`âÂaÕÂà×Â@êÂ=Û 2ÕÂ`iÑÂÀjãŠãÂ`Â×€ÚàÂà_ÝÂ@t×Â@DßÂÀÛÂÀÊÓÂÒ×Â@'Ï .àÂÀáäÂ`ÈÖÂ@zÖ ÝÂ`†áÂà ëÂàÄá £×ÂÀóáÂàšèÂà/åÂàèÂàAâ @ÝÂàê–áÂ`ŒàœàÂÀRçÂÀÏç€Qâ€ÈãÂ`Þ —Ù€Eä€ Ù ·ÞÂÀdäÂàAâÂàâÜ€ÚÂÀÝÂ@£äÂÀÉèŠã þçÂNíÂ@yëÂ@\ÛÂàMàœàÂãéÂÀpâÂ@ÁßÂ@>àÂàwÙ ØãÂÀÊÓÂ`žÝÂÀjãÂà5ä€ì€zðÂ ÆæÂ€QâÂ@¯âÂ@ÇÞÂ@hÙ DÒÂÀ5× «àÂÀ¥îÂÀùàÂÀùàÂà0ЮݠòéÂÀXæÂ .à–áÂ@‘çÂàGáÂ`€âÂ@bÚÂàôÙÂ`¶Ù€ìÝ€‡Ù ÚÂÀçãÂàSßÂà çÂàÖÞ :Þ€ Ù á×–áÂâ€oÝÂàAâÂàMàÂàÊàÂÀpâÂ@µáÂÀ)ÙÂ@ÍÝ ±ß ¯ÕÂÀˆÞÂà5äÂ`†á€iÞ 4ßÂàwÙÂÀáäÂ`3Ú€™ÖÂ`†á Ÿâ€?åÂ`zãÂ`˜Þ€þÚÂá màÂ@£äÂ@D߀Ú€ ÙÂ@ÇÞÂÀ|à€¼å 2ÕÂÀ‚ßÂáÂ@ÇÞÂ@bÚÂäÔÂ䀞êÂ`à€c߀cßÂ`WÔ€Ö ±ß ·ÞÂ@JÞÂ`†áÂ`°ÚÂÀ”ÜÂà ÖÂ@bÚ€¥ÔÂàeÜÂÀÃé RÚÂÀ#Ú€9æÂàÜÝÂà× ßÍ€ÚÂ`KÖÂ`!ÝÂ@PÝÂ@£ä êàÂÀ߀¼åÂ@hÙÂÀ¬ØÂ LÛÂ`†á ÃÜÂCÚ€RÍ€×Âà;ãÂâÂÀùàÂ@€Õ çÂàÄáÂ@Dß Þâ …ÜÂà5äÂ@µáÂ`-Û þçÂàqÚÂÀÜÐÂàôÙÂ@ÙÛ€EäÂÀ Þ (áÂàAâ„ä …ÜÂÀ;Ö öÞÂ@>àÂ`€â êàÂ%ß´Ü "â Àç„äÂÀŽÝ @ÝÂäÂ1Ý ØÂ gá€"ÕÂÀ/ØÂÀóáÂ`E×ÂÀRçÂ@2â€{ÛÂ@ÙÛ€ÚàÂÀ"ï®ÝÂOØÂ@bÚÂ@DßÂ`Œà€Kã ®ê çÖÂ@£äÂéèÂàGáÂ@JÞÂ`tä¢ßÂ1ÝÂàÜÝ ©ÖÂà_Ý =èÂõæÂ@&äÂ@µá€ìÝÂ@‹èÂ`VéÂlèÂàAâ€ÂäÂ@gîÂÀ½ê Òä çÂ@èÂ@ßÚ ìêÂ`ñäÂ@ÙÛ  æÂ`ëåÂ`÷ã gáÂ@üꀒ쀤é çÂ@»àÂÀpâÂÀÛå çÂ@¯â ä ®êÂ`Á쀆îÂ@éÂÀpâ þçÂ@çÂÀ^åÂ`PêÂ@»àÂÀˆÞÂÀ«íÂ`ëåÂåÂàôÙ Û {èÂà ëÂ@öëÂà¬åÂÀÕæÂÀóá¢ßÂàšèÂ`ñäÂà²äÂ`nåÂàMà aâ åÂ`âÂ@ðìÂÀFéÂÀ ÞÂÀ¥îÂ@ åÂ~åÂÑìÂ`ÍêÂTì ØÂ@…é Uä 7é IæÂ ºèÂà¾âÂ@©ãÂ@ åÂTìÂà²äÂà)æÂÀ‚ß œíÂ`ßÂ@ÍÝÂÀÉèÂÀ^å ãÂÀÚÂÀ·ëÂNíÂàGá–áÂ`¤ÜÂÀÏç ºè€oÝÂÀùàÂ@sì€WáÂÀßÂàGáÂ@ÍÝ€QâÂ@Ìò€nòÂà¾â€ëÂ`ßç€3çÂÀáäÂàÄáÂÀ^åÂÀ4ì oêÂ@2â ð߀Wá€ÚàÂ@»à .à ØãÂÀÏç þçÂÀ4ì =èÂ`>íÂ@zÖÂàMà ¥áÂ`ÍêÂ`â€iÞÂà/åÂà#çÂÀXæÂZë€KãÂ@æÂàvîÂÀ ÚÂàÄáÂÀRçÂrçÂ@©ãÂ@öëÂ@»à |Ó€Wá¿ï IæÂ Þâ ‘Ú —Ù€QâÂ@êÂÀíâÂ`žÝ€hó “äÂÀvဠ٠½ÝÂÀ²× sßÂà¸ãÂàÜÝÂ@ÓÜÂ`†á äÂ`VéÂâ ¥á üÝ .à®Ý€¼å ŸâÂïçÂ`PêÂà¬åÂ@‹èÂà¦æÂÀLè d× :ÞÂ@sì–áÂÀ¸Ö »ÓÂ`\è ·ÞÂÀ”Ü 8ÔÂ@öëÂrçÂ`ëå„äÂàeÜÂ@©ãÂ@èÂàAâÂ`€âÂÀ|àÂ倪èÂ@ÍÝ ÀçœàÂà²äÂåÂà#çÂàÄá XÙ yÞÂà¸ã ÀçÂ@ÇÞÂàŽêÂà€Èã€ÚàÂàSßÂ@&äÂÀŽÝ€æÞÂàîÚÂÀ^åÂ@ÍÝ ÝÂàeÜÂà RÚÂàèÛ ¥áÂà$Ò€cß &×ÂàÖÞÂ@nØÂ¢ßÂÀçã€EäÂÀÐÒÂ`ñä€QâÂ`ëåÂ`ëåÂ`¶Ù€™ÖÂÀˆÞÂàwÙÂä¨ÞÂ@ÙÛÂàÊàÂÀpâÂÀdäÂâÂ` áÂ@PÝÂ`!Ý ÏÚÂà•ÔÂ@÷֠݀òÜÂÀÕæÂ`Œà Òä =è ^ØÂ@&äÂ@©ãÂÀßÂÀùà ½ÝÂ@D߀?å ã åÂ`¶Ù´ÜÂ@&ä€uÜ ½ÝÂÀÕæÂàâÜÂ@ëØÂ DÒÂà}ØÂ@å€3ç€àßÂäÂ`3ÚÂ@ýÕÂ+ÞÂ@¯âÂÀóáÂÀáäÂÀÏç êà€EäÂlèÂÀFéÂÀÛåÂÀçã “äÂÀ^åÂ@ê ÃÜÂ`ÙèÂÀáäÂÀˆÞ oêÂÀçãÂàÜÝÂØÖÂ`âÂàYÞ ´éÂ%ßÂ@÷ÖÂ@êÂàÊàÂà_ÝÂÀpâÂ` áÂÀjã [ã “äÂÀÜÂlèÂÀ‚ßÂÒ×ÂÀÐÒ€{ÛÂxæÂ ìê ØãÂ` áÂ`ñäÂÀXæÂÀíâÂ`ýâÂ ÆæÂ`Íê Oå —ÙÂ%ßÂÀÚ .àÂ@&ä Ìå–á€cßÂÌØÂàèÂÀváÂ@ê :ÞÂÀ|àÂÌØÂ ¥áÂàAâÂ`PêÂà/åÂ`°ÚÂà/åÂàÊàÂ@JÞÂêÓ ØÂÀdäÂÀÛÂ@>à€ ÙÂàMàÂ%ßÂÀšÛ Òä ÃÜÂÀÝ ±ß ð߀æÞÂ@µáÂ ÛØÂ "âÂÀváÂÀÛ ÃÜ RÚÂ`täÂ`!Ý€€ï€ëÂà ë ÜÂ`ßÂ@¯âÂà¬åÂÀ5× (áÂ%ß þçÂ`hæÂ@ç–áÂ@ŒÓÂ`˜ÞÂÀÛÂÀ/ØÂ@ÙÛÂàÔÂ`bçÂÐÂÀŽÝ üÝ€þÚÂ`¼ØÂà¾âÂÀÐÒÂxæÂ êàÂ@ÙÛÂÀ)ÙÂÀ”Ü€RÍ 2Õ mà ÉÛÂ=ÛÂàYÞ :Þ IæÂàôÙÂ`QÕÂÀGÔ€ÚÂ@VÜ FÜÂ`žÝÂ@hÙŠã ±ßÂ`?ØÂ`-ÛÂ@>àÂ`’ßÂ@†Ô &×Â@£äÂàSßÂ=ÛÂÀ|àÂÀ;ÖÂÀ ÞÂ`ÈÖÂ`ÚÓ ðßÂ@…éÂÀ¸ÖÂ`täÂàúØÂ «à€cßÂÀÜ ÚÂÀÛÂÀÄÔ´Ü —ÙÂÌØÂàèÛÂU×€ÚÂxæÂ@bÚÂÀÄÔÂÀŽÝÂ`ßÂ7Ü çÂ`âÂÀíâÂÞÕ®ÝÂÀAÕºÛÂàGáÂ@»à€æÞÂà}ØÂ ^ØÂàÜÝÂ@ÁßÂÀÜÐÂÀ|àÂ@\Û€]à€]àÂÀÚ€iÞ ^ØÂ€Úà óÔÂ@nØÂ€øÛ 4߀Qâ€ÈãÂ ÆæÂ íÕ £×Â@ßÚÂà¸ãÂ@bÚÂàS߀ îÂÀšÛÂÀÿß …ÜÂáÂ`žÝÂ`°Ú ØÂ`täÂàMàÂàØÂ LÛÂàMàÂÀFé€àß ‘ÚÂIÙ´Ü çÖÂ`˜Þ ãÂ@\Û€uÜ ‹ÛÂÀ߀]àÂÀ¦ÙÂàîÚÂÀÚÂÀ#ÚÂ@£äÂàeÜÂäÂÀ/ØÂ XÙ FÜ ÝÂ`hæÂ€Qâ “äÂà)æÂ@DßÂà¬åÂÀÿßÂàpïÂÀjãÂ@ÁßÂ`9ÙÂ@zÖÂÀÜÂà;ãÂàYÞÂ`-Û¨ÞÂÀÛÂ@©ã€ Ù "âÂ@2â€ìÝ ãÂ@©ãÂ`ß «à¨ÞÂàMàŠã€þÚÂàÄáÂ@DßÂÑì åÂà5ä€QâÂ`êÂàMà ÛÂàÔÂÀ Ú 4߀KãÂ`àÂ`°Ú€Ôá¢ßÂ7ÜÂ`ßÂÀAÕÂ@÷ÖÂÀóáÂCÚÂ`!Ý€ØÂàÄáÂÀLèÂ@ ÔÂ`¼ØÂ€iÞ üÝÂðÒÂÀÚÂ1Ý öÞÂà5äÂ@©ã€ìÂÀRçÂÀçã¢ßÂâ OåÂ@ÇÞÂ@ëØÂ`˜Þ„äÂ`ñä Øã€ªèÂÀ‚ß öÞ€]àÂ`åæÂféÂ@ÍÝÂà²ä ãÂÀRçÂ`åæÂà5äÂ`žÝ øèÂÀp ÙÂ@\Û þçÂà²ä€¶æÂ “äÂÀ:ëÂ@\Û UäÂ`bç€cßÂä€uÜÂ@æÂà_Ý€Qâ€cßÂÀ Þ “äÂåÂÀÏçÂ`žÝÂ`¤Ü —٢ߠ´éÂ@VÜœàÂÀ/ØÂ€øÛÂ@&ä€!êÂàÜÝÂ@‹èÂà¸ãÂÀá䀤éÂCÚ ·Þ ¨ë "âÂ@åÙ ØÂàÄá “ä€øÛÂ@,ãÂ`hæÂ ØÂ€KãÂà逤éÂà ëÂÀ^å Cç ‹Û¢ßÂ@èÂ@2âÂ`÷ã€ÎâÂàMàÂ@ÁßÂ`Pê€nòÂ@ åÂ@éÂà_Ý€¼åÂïç„䀇ÙÂÀ|à€ÚÂàSßÂ~åÂ`µîÂÀpâ¢ßÂ`˜ÞÂåÂ`ÍêÂÀˆÞ€Èã€æÞÂàSßÂ@ꀶæÂ øèÂ@ÍÝ ¥áÂ`°Ú ‹ÛÂäÔ ‚ÒÂÀÿßÂ`žÝ´Ü€?å„äÂÀ”ÜÂÀRçÂ`âÂ@åÂÀŽÝ€{Û¨ÞÂ@>àÂà/åÂà¾â ŸâÂ@µáÂà çÂU×®ÝÂ@¯â€Ú ‹Û 4ßÂÀÛ€Ú Òä OåÂà‚ìÂ@JÞ (áÂàÄáÂ~åÂàYÞÂÀ¦Ù ÃÜ ÝÂ@8áÂ`’ßÂàkÛÂ`žÝÂ`Â×ÂÀçã "âÂ@nØÂàèÛÂà×Â`QÕ€ Ù–áÂÀ Þ€þÚÂ`’ß s߀æÞ ÒäÂU×€Úà€Îâ …Ü ÛÂ@\ÛÂ@ÙÛÂÀ”ÜÂàôÙÂàÓÂ@ÓÜ ·Þ Fܮ݀ØÂ7ÜÂÀÜÂÀ Ú€Ú d×ÂÀvá ØÂàGáÂÀùàÂÀ5×Â`?ØÂ€Qâ€øÛ€?å´Ü @Ý …ÜÂ@ÇÞÂ@Áß åÂà;ãÂÆÙ–áÂ`°ÚÂ@nØÂ`÷ã€(ÔÂCÚ€Ú êàÂ@ëØÂ :ÞÂ@bÚ üÝÂ@2â LÛ€þÚ üÝ€"ÕÂ@ëØÂÀ¦ÙÂêÓ 8ÔÂÀ/ØÂ µÔÂ`KÖÂ`KÖÂ@8áÂÀˆÞÂ`9ÙÂ`-ÛÂÀMÓÂÀ²× çÖ€þÚ€‡ÙÂ`†á€ŸÕ€ÖÂ@ñ×Â@nØÂÀGÔ ã€ÏÍ ÕÙ “䀨ÂàqÚ€KãÂâÂ@ÒÂ[ÖÂ`¼ØÂyÑÂ`E×ÂäÔÂÀ²×ÂaÕÂ`E×€iÞÂà‰ÖÂà ÖÂ@ÕÂàMàÂIÙ€4Ò vÔÂÀ/ØÂà}ØÂÀ¾ÕÂÀSÒÂ@ßÚÂ`€âÂ@\Û LÛÂ`!ÝÂ@åÙÂ@3ÍÂàÕ ÃÜÂÀÛÂ`ÎÕÂàÜÝ ñÊÂÀˆÞÂõæÂÀSÒÂÀAÕÂyÑ€«ÓÂ1ÝÂÀ#Ú ÕÙÂÀÊÓÂsÒ€øÛÂ…ÏÂÀóá ÿÒ ˆÑÂàYÞ¢ßÂ`ŒàÂÀeÏÂ@€ÕÂ7ÜÂ`'ÜÂðÒÂ`E×Âà¾â€{Û ‹ÛÂ@bÚÂÞÕÂà6ÏÂàèÛ€Âä€Ú€ìÝ ãÂ@—æÂ`ÔÔÂÀAÕÂÀ²×ÂÎÂ`˜Þ€ÔáÂ@£äÂÀ ÞÂOØÂ@&äÂÀ‚ßÂâÂOØÂÀÚ Ù ¥áÂàâÜÂÀÛ ÁÒÂàúØÂà‰ÖÂ`ªÛÂå€oÝÂàì «àÂÀpâÂ`hæÂ€ÚàŠãÂÀšÛ CçÂÌØÂ€ØÂ gá ¥á€uÜÂÀˆÞÂÀèÎÂäÔ ‹ÛÂöÑÂàYÞ (á ©ÖÂàGá «àÂ`åæÂŠãÂ@ÇÞÂÀùàÂÀ:ëÂàâܨހ¥Ô€Wá yÞ€ÈãŠã€þÚ€òÜ€-èÂxæÂàAâÂ@&ä s߀WáÂÀÛÂ`¤ÜÂÀßÂ`nåÂ@ÇÞ FÜ€cßÂÀšÛÂàAâ màÂ@ç ÃÜÂ`†á gáÂ@D߀ÎâÂÀ|àÂàâÜ ½Ý ç «àÂÀvá ‚ÒÂIÙ¨ÞÂàØÂ ÞâÂ@ÍÝÂ@Dß «àÂÀLè ©Ö€ÚàÂàSßÂ`täÂféÂ@ëØÂ€ÚàÂ×ë€iÞÂ@2â ÀçÂ%ßÂ@ÓÜ ØÂÀjãÂïçÂ@ÁßÂ`žÝÂ ÆæÂàíèÂÀ#Ú€òÜ€cßÂ@ßÚÂÀ¬ØÂ màÂ~å 1êÂà5äÂÀóသê€Ôá€EäÂÀÿß ÌåÂàè ã€ÂäÂ`åæÂ äÂàÄá LÛÂÀ«í {耶æÂ äÂá íÂâÂ@2âÂ`åæÂ`täÂà5äÂà;ã ®ê 瀶æÂÀdäÂféÂ@2–׀3çÂ@©ã ·ÞÂ`˜Þ uéÂÀÕæÂ€¶æÂ¨ÞÂ@üê CçÂ@ åÂ@©ã€òÜ üÝ ÒäÂ@ÇÞÂ`¼ØÂ€cß öÞÂà”éÂÀÉèÂ@‹èÂà¬åÂ`ßÂÀßÂÀÜÂ ÆæÂ Oå€WáÂàAâÂ@,ãÂ@yëÂ`à «àÂ@©ãÂ@åÙÂ@PÝ€Wá ÜÂà¸ã ¢ì€{Û€æÞ Òä€Èã Ù ‹Û XÙÂÀ²×Â%ßÂ`'Ü å {èÂÀŽÝÂ@…éÂàÖÞ ˆÑÂ@åÙÂ`ÈÖ€ Ù€ìÝÂàîÚÂ`ªÛÂ`oÐÂ`€â üÝÂ+ÞÂÀ߀ØÂ%ß sßÂ@堽݀òÜÂÀ;ÖÂ`hæÂ ‹ÛÂÀYÑÂ`iÑÂÀ¬ØÂ@ÇÞÂ@ÍÝ€ØÂ jÖ  Í€æÞ€ÎâÂ@ýÕÂ`¶ÙÂÀ_ÐÂÀÚÂÀÝÂ@ñ×Â`uÏÂÞÕ´ÜÂ@\ÛÂ@Õ ‘Ú€™ÖÂàÐßÂ@åÙÂÐÂU×ÂIÙÂÀ¥îÂÀ߀¥Ô€ÚÂàÖÞÂàèÛÂ`Â×ÂÀ²×Â`âÂÀóáÂÀjãÂàâÜ€3çÂà}ØÂ ÿÒÂOØÂ ã‹ÎÂ@nØÂ€uÜÂ1Ý ‚ÒÂàÄáÂà¹ÎÂ` áÂ`†áÂà sßÂ@ ÔÂà_ÝÂØÖÂà_Ý XÙÂÀÝÂàèÛ :ÞÂ[Ö yÞÂà<ÎÂ@bÚ€æÞ ØÂÀeÏ€“×Â@VÜ€{ÛÂ`?ØÂ`{ÎÂà•ÔÂ@¯â€Îâ€uÜÂ@ÓÜÂà§Ñ ÛÂöÑ€4ÒÂà_ÝÂ@PÝÂàúØÂàÕÂÀ)Ù€׋Π4ß >Ó µÔ€É΀@ÐÂÐÂ`QÕÂÀAÕ ‹ÛÂÀ ÚÂ@åÙÂ`ßÂaÕ &×Â@&äÂÀ;ÖÂÀkÎÂ`ªÛ (áÂÀóá€Ú€ÉÎÂ%ß ÝÂàÜÝ€ÃÏ vÔ€Ö€Ú gáÂàÓ ,ÖÂ` áÂÀˆÞÂ`žÝ€ìÝ€iÞÂ`°ÚÂàéÆÂ`uÏÂ`{΀ÚÂ@ýÕ ½ÝºÛ íÕ á×Â@9ÌÂöÑ€ ÙÂ@!ÐÂ@nØÂ@Ñ óÔÂ@ßÚ :Þ€?åÂØÖ ¯ÕÂÀÄÔÂàSß ®êÂ`€â€RÍ€(Ô ÒäÂ`3ÚÂ@hÙ íÕÂ%ßÂÀjã€WáÂàØÂ mà¨Þ€ÈãÂàÔ€{Û ½ÝÂÀFéÂàúØÂ€òÜÂ@ÇÞÂ@8áÂ`â ©ÖÂ`QÕÂàúØÂÀ/ØÂÀ)ÙÂ`˜Þ \ÎÂàÖÞ LÛÂÆÙ€iÞ€øÛÂ@ÍÝÂàÖÞÂàâÜÂ@hÙ€]àÂÀdäÂâ€ìÝÂ`ÍêÂ`bç gá€ÖÂÀ¾ÕÂ`žÝÂà¦æÂ :Þ …Ü€9æÂ`ÙèÂ%ßÂ@ÙÛ 4ß .àÂ@ÙÛÂÀÉèÂ`tä€øÛ …ÜÂÀ^åÂ@»à …Ü üÝÂà‚ì mà å€uÜÂ+ÞÂÀŽÝ€Ôá Ú€ÎâÂÀjãÂàÄá êàÂ`¤ÜÂ`-Û .à (áÂ@¯â åÂ@>àÂà²ä FÜÂÀFé «àÂÀˆÞÂ`ŒàÂØÖÂÆÙ å€àßÂ@\Û€]à€ÂäÂÀáäÂ1ÝÂ@2â ØÂ :Þ ÃÜÂáÂàeÜÂ`Œà€c߀ÚÂäÂÀváÂÀ¦ÙÂÀßÂÀ Ú€¶æÂ ^ØÂÀóá ¥áÂ@ÓÜÂÀÛåÂà¬å€øÛÂà Ö€9æÂ@—æÂ@»àÂÀšÛÂÀ¬ØÂ€?åÂàAâ Þâ ð߀øÛÂÀíâ€ÔáÂÀ ÞÂ`hæÂ@ åÂÀ:ë ®êÂà|íÂà5äÂÀçã€cß mà„êÂÀÉèÂU×Âàšè œí .à€™ÖÂ@PÝÂïçÂ`!ÝÂ@—æÂÀLè ãÂâÂ@ç ìêÂÀŽÝ€ÔáÂÀÕæÂÀRçÂ`àÂàÂâÂàGá ‹Û€"ÕÂ`VéÂÀpâ Ì倸ÛÂ`Pê —ÙÂÀ ÞÂà²ä äÂÀçãÂ`hæÂ :Þ€ÔáÂÀŽÝÂÀðÂÀ^å€ÔáÂ@2â€ÈãÂà;ã (áÂåÂ@ åÂ`žÝ ´éÂûå äá åÂÀjã€QâÂéè ·ÞÂ`žÝÂà¬åÂ@åÂÀ Þ€oÝ LÛ€Kã€]àÂ@PÝÂÀ‚ßÂ@ñ×ÂàÜÝ :Þ ç QïÂÀ^åÂà¬åÂÀjã Øã€÷ðÂ@1÷ÂÀÃéÂÀXæÂ@JÞÂâ€ÔáÂ@éÂ`zã€ïÂ`DìÂ@8ᠺ耀ï€9æÂà‚ìÂàGáÂà× UäÂ`âÂ@é Oå ÌåÂàê€ÈãÂÀ«íÂ@ç€ë¨ÞÂÌØÂ€!êÂÀŽÝÂ@éÂ@©ã ~òÂféÂÀ½ê€ÈãÂÀjãÂÀváÂ ÆæÂ Àç ÀçÂà”éÂÀùà€3çÂ@[ð (áÂà¬åÂ@VÜÂà)æÂÀFéÂà¸ãÂÀpâÂ@êÂàÿìÂ`åæÂ`÷ã€'é´Ü aâÂ@2âŠã€EäÂ@éÂÝêÂ@‹è ‘Ú€{ÛÂ@ÇޢߠòéÂà çÂà/å€Wá ]í IæÂÀ^åÂ@D߀KãÂ`nåÂ@ÍÝ„äÂ@µá€˜ëÂ`Ùè€Qâ€cßÂàØÂàÖÞ sßÂ`’ßÂ@nØÂ`åæÂ`ýâÂÀÿßÂ`÷ãÂàGá€oÝÂ`täÂà¾â ¥á Oå øè màÂ@¯âÂÀóá€ÚÂ`’ß yÞ Cç Uä ÒäÂÀÏçÂàÄáÂÀ^å€ Ù ÌåÂÀvá «à =è åÂ`ÇëÂÀÕæÂ@zÖÂ+Þ€ŒíÂ@—æÂ (áÂ ÆæÂ€3çÂ@VÜ .àÂ`žÝ @ÝÂÞÕÂàÂÀáäÂ`ÞÂàGá aâÂ@©ãÂ`€â ò€æÞ (áÂàšèÂ`êÂàšè ç @Ý Oå€-èÂàúØÂÀÚ  æÂ€¼åÂ@ÞïÂàèÂà¬åÂ@æÂÀùà =èÂ@©ã€ÚÂIÙ€¼å€EäÂàÐßÂÀˆÞÂ+Þ aâÂàSßÂõæÂàYÞÂ`¤ÜÂÀ@êÂ@åÂÀ óÂÀ·ëÂàMà€Qâ€Èã Bü UäÂ@hÙŠãÂÌØÂÀ/ØÂ`žÝÂ@,ã ÉÛÂÀÿß ‘ÚÂ`˜ÞÂàÜÝÂ@>à cìÂ1ÝÂàèÛÂà¸ã€°çÂàúØÂÀváÂÀŽÝ Šð§óÂÀvá€iÞÂÀRçÂBïÂà·øÂà)æÂ åÂ@ëØÂ@æÂ`ñäÂ@2âÂéè€!êÂ`täÂÀ#Ú ãÂ`nåÂÀ^å€åó 7éÂà¸ã„äÂ`µî€Èã .àÂ@ÇÞÂÀLè àìÂ@=õ€ÚàÂ@&äÂNí cìÂàóåÂÀùàÂàƒ×€°ç ]íÂÀFéÂ@£äÂ`ýâÂ@—æÂ`VéÂ`÷〰çÂàAâÂÀdä ‹ÛÂ@÷ÖÂ@¯â ½ÝÂàYÞÂÀváÂàÖÞ ðßÂ`tä ìÂà^òÂÀ@ê çÂ@èÂà çÂà/åÂàÛòœàÂU×ÂxæÂ€Îâ êà€-èÂrçÂÀváÂ@é üÝ€ÈãÂ`ñäÂàkÛÂàAâÂ`ßÂÀjã ãÂÀpâÂ@nØÂ@JÞÂ@çÂäÂÀ¥î IæÂ@ÍÝÂà5äÂ7Ü CçÂ`ŒàÂàóîÂà ç FÜÂ`zãÂàÊà„ä ÌåÂ@DßÂ+Þ€ÂäÂ`¤ÜÂáÂà)æÂ@míÂ`VéÂÀÚ äÂ@æÂ ŸâÂØÖÂ@å¢ß ©ÖÂ` á øèÂ@sìÂÀFé FÜ ç€ïÂÀùàÂ@hÙÂ`°ÚÂ@æÂ`KÖ ¥áºÛÂÀjãÂ@ 倰ç CçÂ@¯â ÚÂ7ÜÂÀRçÂ@©ã ÞâÂ@Áß Fܮ݀cßÂà_ÝÂÀ/ØÂ@ ÔÂ`KÖ ç màÂàúØÂ€±Ò ÞâÂ@ÓÜÂ`÷ãÂ`ñäÂÀpâ ðßÂ`¶ÙÂÀpâÂ@PÝÂ@ÒÂ=Û ½ÝÂàé ã ãÂ@zÖ€™ÖÂ@€ÕÂÀçãÂÀÜÂÀÛåÂÀ)Ù ½Ý€ØÂ`ßÂÀÄÔÂàkÛÂà¾â ðßÂgÔÂàìÂ`µî  æÂ ÞâÂ@D߀Úà€ÚàÂÀçã Oå ‘Ú êà€WáÂÀ5× gáÂÀdäÂ`'ÜÂÀáä€ÚàÂ`€âÂxæÂ@>à€Èã 4ߨÞÂ@»à ·ÞÂÀŽÝ “䀪èÂ`ýâÂ@8á Cç Òä Òä€ÚàÂÀÝ ÏÚÂ`ñ䀰çÂ`¼ØÂ@ÓÜÂà¬åÂ@&ä€?å€ÚàÂ`3ÚÂà5äÂ@‹è CçÂ@µáÂÀùàÂ@JÞÂ@2âÂÀXæÂ á×€]àœàÂàíïÂÀXæÂ€÷ð àì äÂàwÙÂÀvá€ìÝÂàâÜ äÂ@,ã€æÞÂÀóáÂ@µá€ØÂàeÜÂ`©ð€?åÂ`à€ªèÂ@¯âÂàÄáÂõæÂÀÿßÂà‰Ö ½Ý€9æÂŠãÂàšèÂàè ÒäÂåÂàSß çÂ×ëÂZëÂà#ç íÂâ þçÂ`>í äá€ìÂÀ^åÂÀçãÂ@‹èÂ@&äÂÀÛåÂ`†áÂÀ^åÂàkÛÂÀ|à ]í¹ðÂàŽêÂà5äÂÀ·ëÂà¬å€ÎâÂÀÛåÂ@ýÕÂ`ÙèÂàÿìÂ`ñäÂïç màÂàÊàŠãÂ ÆæÂ€3çÂàê€æÞÂÀÛåÂ@ê %ìÂ`ÁìÂà¬åÂ`ÁìÂÀÃé +ë ™ãÂ@êíÂÝê ÎïÂ`ñäÂà¬å ìê ŠðÂÀdäÂÅî€9æÂºÛ ¥áÂÀXæÂ€Âä€ìÂ@>à ±ßÂà¾âÂÀ™ðÂ@DßÂÀ ÞÂ@µáÂ@ å 1ê Ÿâ Ý [ãÂ@æÂ ¢ì [ãÂÀˆÞÂà¾â çÂ@ßÚÂ`žÝÂà_ÝÂ ÆæÂ@µáÂÅîÂÀLèÂ@Ó܀נ܀’ì€-è ±ßÂ`’ßÂÀçã IæÂãé ÒäÂÀp‘렋ÛÂ@míÂ@gî ãÂ`z〪è =è (á ä€9æÂàGáÂHîÂÀÏç ™ãÂ`n倰çÂ`zãÂàÊàÂ@èÂéèÂ@»àÂCÚÂ@>àÂäÂÀÃé çÂÀáä màÂrç„ä ÝÂõæÂ ãÂÀLèÂ`8î€íÂ@ºõÂ@ å€9æÂ€°çÂ`åæÂàêÂ`ëåÂÀ^åÂàèÂÀXæÂ€ýï ÞâÂÀ@ê œíÂ@Þï€ îÂà¸ãÂÀ·ë ]íÂà¸ãÂàdñÂ@aïÂ@‹èÂà5äÂ@míÂ`µîÂÀRç =èÂÀ½ê ãÂàùí€QâÂàGáÂÀ߀ññ –îÂà)æÂféÂ@…é “ä ðÂÀ"ïÂàçðÂÀ4ìÂÀÛåÂ%ßÂ`÷ã€øÛ äá€Kã€?å¿ï ¥á€'éÂâÂ@ åÂ@8áÂÀXæÂ ìê OåÂ@sì€oÝÂÀ^å çÂÀóáÂ@UñÂãéÂ@[ðÂÑìÂ`hæÂ@äî€-è Oå Qï€]àÂ<ðÂ`\è€9æÂïçÂàŽê àìÂÀ¥î oêÂ`ýâÂ䀼åÂ@yëÂ`ÍêÂ`\èÂ~åÂ`àÂà¦æÂ îÂ@yëÂÀÏç àìÂ@ꀤéÂàRôÂàé Þâ =èÂÀÃé  æÂÀÛåÂÀ Þ ¨ë€ëÂàèÂlèÂ@ðì ØãÂÀ4ì æëÂà;ãÂ`žÝÂà;ã ÈðÂ@>àÂ`€âÂà²ä ïÂàíïÂàjð àìÂ`\èÂ`tä€'éÂ`8îÂ`nåÂ`†áÂ@æÂà/åÂ@yë€÷ð„ä í %ì –îÂ@æÂ@©ã€ŒíÂ` áÂÀ(î EñÂà|íÂÀXæÂ€àß ðÂà½÷ cìÂÀ|à€ÂäÂ@ðìÂ`Ó逘렓ä 1êÂÀpâÂÀ·ë€ îÂà_ÝÂ` áÂàˆëÂ`»í€˜ëÂ`åæÂÀ±ìÂ@êíÂ`ÍêÂ@míÂ` áÂÀ:뀼åÂÀXæÂ€°çÂ@ÇÞÂà|íÂ`zãÂàÄáÂà5ä„ä [ ïÂÀdäÂrç€ÎâÂÀ½êÂàkÛÂá òé {èÂâÂ`¯ïÂÀ·ëÂÀáäÂ`'Ü€ÎâÂà ëÂÀí‪èÂ@yëÂ@JÞÂàÜÝÂ@DßÂÀjã ~òÂÀÿßÂ`täÂàjðÂ@öëÂä¢ß€?åÂÀþôÂÀíâÂàÂàÖÞ pÕÂâ "âÂ`˜ÞÂà¦æÂÀ²× ÌåÂ`€âÂ@8áœàÂNíÂ`PêÂà‚ì€Úà ÃÜ ±ß€ë€ÈãÂ`žÝ s߀‡Ù€àß çÂ@ÇÞÂ@ÙÛœàÂ`€âÂ@ç òéÂ@‹è–á ·Þ ØãÂÀˆÞÂ@,ãÂà5äÂrçÂ@,ã€zð€'é€ ÙÂàÊà öÞÂÀ ÚÂà çÂàˆëÂÀ^å¢ßÂÀ^åÂ` áÂ@yë aâ ®ê€P÷Â@ÇÞÂÀùàÂr瀰ç ñÂ ÆæÂ€ÔáÂàqÚ€c߀¤éÂ@æÂ ‡æÂÀ.íÂ@å®Ý€°ç IæÂ ŸâÂZëÂ@8áÂ`¯ï€ÚàÂ%ßÂÀÝÂ@ÓÜÂ`Pê€?倶æÂ@zÖÂ`zã ÜÂ`˜ÞÂ`߀9æÂ Þâ ÌåÂ`!Ý cìÂÀLè aâÂÀùàÂ`-Û€9æÂàîÚÂ`!ÝÂàeÜÂ@2âÂà#ç€æÞÂàÖÞ€™ÖÂ`Â×ÂàkÛ Ìå¢ß 4߀]àÂ@8á ÛÂàîÚ Ý Îï ÏÚÂÀ;Ö€“×Â` á yÞÂàGáÂÀŽÝÂÀ;Ö ÇÑ å .à€KãÂà}ØÂ`÷ã aâÂàúØÂ„äÂÀùàÂàÕÂÀçãÂ`JëÂ`-Û€àßÂ@©ã çÂ@\ÛÂâ yÞÂ`zãÂ@>àÂ@ç ûòÂÀ|àÂ ÛØÂ ã "â€9æÂ`\èÂûå sßÂÀˆÞÂ@©ã´Ü ½Ý (á€Úà¨ÞÂêÓÂ`°Ú =èÂà çÂàÐ߀°çÂ@»à Àç€KãÂ`ñäÂà)æÂ€EäÂàÐßÂ@¯â åÂà#ç aâ Øã "âÂÀ·ë€WáÂ1ÝÂàì cìÂà5ä u逼åÂàSß %ìÂàšè aâ€iÞ üÝ€ÚÂÀŽÝÂ`åæÂ`ýâÂÀÚÂà²ä aâ ÀçÂ~åÂ@—æÂÀFé ÒäÂàâÜÂ@å€ÚÂ`tä äœàÂ@ÁßÂ@åÂ`€âÂå€uÜ yÞÂ@JÞÂ@bÚ´Ü CçÂ@æÂ Ü´Ü Îï€!ê€àßÂ`'ÜÂàúØÂ .àÂàÄáÂÀGԀΉçÂ@\ÛÂ`cÒ yÞ å üÝÂÀˆÞÂ`ê äÂ`°ÚÂ@8áÂ`zãÂ@ÍÝÂxæÂxæÂ€9æÂ@ö뀘ëÂà¸ãÂ`ýâ–áÂØÖ sßÂÀóáÂ@2â€WáÂÀÜ€Ú ‹Û€cß ãÂ`ÙèÂà¬å ãÂàÜÝÂ@µáÂÀÿßÂÀ Þ€¶æÂÀFé€Kã¢ß åÂ`÷ã «à Ú [ã ¨ë Þâ ã€ÂäÂ1ÝÂ@‘çÂàSßÂÀváÂ`€â Ý€¶æÂ€iÞÂàeÜ ŸâÂÀùàÂÀ|à UäŠãÂ@\Û€QâÂ@æÂ`J뀀ïÂàÄá  æÂ@‘ç “äÂxæÂ`˜Þ€ØÂ`¶ÙÂáÂÀ²× ¥áÂÀ Ú Ù [ãÂ@»àÂÀÛÂ`†á€ÚÂà)æÂÀ4ì€9æÂ`zã gáÂÀ”ÜÂZëÂàMà ÃÜÂmÓ€"Õ ðßÂÀóá ðßÂàwÙÂÀ#Ú ã LÛ€ Ù êàÂâ€3çÂÀ|à £×ÂàÕ vÔÂàÊàÂõæÂ@\Û ùÓÂ@ÓÜÂ`߀ÚÂà)æÂ @Ý ÍЀWá òé ï ÛÂ`€âÂ`?ØÂ€ÚÂ@PÝÂÀ#ÚÂ@÷ÖÂàâÜÂ@æÂ ãÂ@…é á×ÂÀ5× ‹Û ¥áÂ1ÝÂ@åÙÂàSßÂ`'ÜÂà•Ô åÂ@˜ÑÂ` á üÝÂàÐßÂ@PÝ€‡ÙÂÀ)Ù€òÜ ^ØÂmÓÂIÙÂ`3Ú€{ÛÂ`ñäÂÀÝ€ Ù€ÚÂ@÷ÖÂ@»à€uÜÂ@ëØÂ@Ó @Ý ÉÛÂÀÜ€ÚÂÀ5×Â`¤Ü ÝÂÀ:ëÂÀçã ½ÝÂ`˜Þ óÔÂ…Ï ØÂÀ)Ù "â€Eä ÏÚÂaÕÂ`zã ^ØÂ`-Û ØÂ`-Û \ÎÂ@t×ÂÀ¦ÙÂ`QÕ€(ÔÂÀ¸Ö ÇÑÂÀ;Ö€{ÛÂ`3ÚÂ ÛØÂÀ Ú XÙ€4Ò »ÓÂà5äÂ`¤Ü€ÖÂxæÂ ÃÜÂ@˜ÑÂ`ÔÔÂ`žÝÂ`-Û€ ÙÂÀ;ÖÂÀváÂàÜÝÂàÜÝÂÀ²×ÂÀ”Ü€×Â`â LÛÂÀ¸ÖÂàeÜ ùÓÂàÂàèÛÂÀßÂÀ”ÜÂàúØÂÀ¾Õ€(Ô  Ñ JÑ ÚÂàÖÞÂÆÙ€±ÒÂÀÐÒÂàƒ×Â ÛØÂÀíâÂàÕ ½Ý Ò–áÂàôÙÂÀÊÓ€QâÂ@ÍÝÂ`'ÜÂüÐÂ`°Ú€«ÓÂ`KÖÂàèÛ ßÍÂÀ¸Ö€pÈ ùÓÂ@EÊ€4ÒÂ@'ÏÂ@EÊÂ`Â×Â`ªÛ #ÍÂЀÚÂ@\Û ‹ÛÂ=Û pÕ 8ÔÂ`ÎÕÂ`°ÚÂà‰Ö ÒÂgÔ Û€{ÛÂmÓÂà*Ñ —ÙÂ@ýÕ |ÓÂ`ÚÓÂà ÖÂ`ÞÂ@ñ×€ÏÍÂ`°ÚÂ`™É šÎÂ…ÏÂàÝÈ€±Ò€øÛ ðßÂÀÝ ÓÏÂäÔÂÀ¸Ö ^ØÂ@µáÂ`ÈÖÂ@’ÒÂàqÚÂ@÷Ö ÜÂà›ÓÂðÒÂ@PÝÂà¡ÒÂOØÂ€@ÐÂ@ÂÊÂ@°Í€ÚÂà•ÔÂÀôÌÂÀÜЀþÚ€ Ù ØãÂ`ÞÂÆÙÂ`!ÝÂàÖÞÂàYÞ DÒÂ`E×ÂàwÙÂ`ÔÔÂ`ÎÕ µÔ€¥ÔÂà›ÓÂÀÖÑÂ@åÙÂÀ/ØÂÞÕÂ@ŒÓÂÀ¬ØÂ@€ÕÂÀAÕÂàÓÂ`ÎÕÂU×ÂÀÊÓÂà$ÒÂ`?ØÂ@ÕÂ`ÚÓÂäÔÂU×€½Ð —Ù ŽÐ íÕÂOØÂ€"Õ Ë &×Â@ÓÜÂÀeÏÂêÓ DÒ ¯Õ€×Â@ ÔÂ`ýâÂU× jÖÂ`-Û RÚÂÀÊÓ ˆÑÂÀYÑÂ@ŒÓÂ7Ü ØÂà‰Ö€‡ÙÂàôÙÂOØÂ ;ÉÂ`E×€™ÖÂ@hÙÂÀ”Ü ÕÙÂ@ßÚ ŒÆÂà0ÐÂà•Ô ;É€½Ð€±Ò€ Ù€ÚÂ@JÞ ^ØÂ@ÒÂ@ÙÛÂàqÚÂÀ;ÖÂàkÛÂ@÷Ö ÁÒÂÀ#Ú ©ÖÂÀqÍ JÑÂÀ¬ØÂà¾âÂ@PÝÂÀ)ÙÂ`ÞÂà}ØÂ`WÔÂüÐÂàkÛ€“×€Ú LÛÂ`]ÓÂ@ ÔÂ@DßÂ`9Ù óÔÂ ÛØÂ@˜ÑÂÀÐÒÂ@-ΠDÒ üÝ€¶æÂ`†áÂ@ßÚÂáÂàîÚ€ØÂàS߀ÏÍÂÀÛ€ØÂà}ØÂà×Â`øÎ€FÏÂÀ ÚÂ`¤ÜÂÀÝÂ`þÍ "â (áÂ@ÙÛÂà ÖÂ@€ÕÂà²äÂ@>àÂà²ä€iÞ ÉÛÂà ÖÂÀ)ÙÂåÂ@ñ×Â@bÚ ØãÂ7Ü ØÂ`]ÓÂ`ŒàÂÌØÂU×Â@,ã€{ÛÂ`¤ÜÂ@PÝÂIÙ ©Ö€·ÑÂÌØÂ`žÝÂ@t×Â@¯â€4Ò &×€ÃÏÂÀâÏ ‘ÚÂ`?ØÂ@t×ÂàeÜ ÙÎÂ@©ãÂ ÛØÂàúØÂ€þÚ ¦ÌÂàÓÂ+Þ ãÂ`âÂà›ÓÂ`ÔÔÂÀ¾ÕÂ@˜ÑÂyÑÂÀ5×Â`ÚÓÂÀâÏÂ@ÒÂðÒ€ØÂÀÚ€(Ô´ÜÂÀ)ÙÂØÖÂ@€Õ ÁÒÂ@ýÕÂÀ¸Ö 2Õ €ÈÂ@Ó .àÂÀ”Ü óÔ ±ßÂOØÂÀÜÂÀÛ ÓÏÂÀÆÂ ØÂ LÛÂÀ ÚÂ`†á€.ÓÂà}ØÂ ÝÂàeÜ VÏÂ@÷ÖÂà_ÝÂÀÜÂÀ/ØÂà ÖÂÀ5×ÂÀÛ öÞÂ~åÂÒ×ÂêÓ ‘Ú€‡Ù üÝ ©ÖÂÀÄÔÂ@åÙÂ`˜ÞÂ`÷ã€{Û JÑÂ@˜ÑÂ`ß  ÑÂsÒÂU×ÂàèÛÂÀ/ØÂÀ;Ö «à€:ÑÂ`iÑÂ@’ÒÂ@˜Ñ Ý€"ÕÂàúØÂàqÚÂ@DßÂ7Ü ¦Ì ©ÖÂ`¼ØÂ ØãÂà_ÝÂ@ÓÂÀYÑÂÀÖÑ çÂàkÛÂ`†áÂàîÚ XÙ FÜ€ØÂ µÔÂÒ×Â@nØÂ€ÖÂ@hÙÂÀ¦ÙÂà_Ý ‹Û€Ú€"ÕÂ`ªÛÂäÂ@ÁßÂàÜÝÂ`ÞÂÀÖÑÂàqÚÂàÜÝÂ`Â× sßÂ@ÙÛÂOØÂ ‹Û€ ÙÂàÖÞÂ1Ý ,ÖÂ@\ÛÂ`9Ù€(Ô ½Ý€òÜÂÀ#ÚÂ@©ãÂ`!ÝÂÀîÍÂàÄáÂÀ5× Ù ©Ö RÚÂÞÕ€¥ÔÂ@Ó ©ÖÂ@ÍÝÂÀ‚ßÂ`¶Ù¨Þ ÿÒÂCÚÂÀ#Ú DÒºÛ€±ÒÂÀÛ€:Ñ€±Ò ”ÏÂOØÂ ÒÂ@ÒÂ@t× á×Â`QÕÂ`ÎÕÂÀ5× ØÂ màºÛ ÉÛ ÝÂÀÄÔÂ`˜ÞÂäÔ .à ØÂ`ÚÓÂ`˜ÞÂÀ}ËÂ`¼ØÂ ÏÚ€ë€Ú —ÙÂ`àÂÀšÛÂ@ëØÂ@zÖÂ=ÛÂàeÜÂÀ¬ØÂ@ÙÛÂà›Ó ÕÙÂ@hÙÂÆÙÂÀÚ —ÙÂÀ Ú ˆÑÂ@€ÕÂà/å€àßÂÀ)ÙÂÆÙÂ`ÎÕÂÀôÌÂÀ¸ÖÂà•Ô¢ßÂ`¤ÜÂÀ²×ÂÀÜ ÉÛÂÀ ÞÂàÜÝÂàwÙÂà•ÔÂÀ¦ÙÂ@bÚÂà›ÓÂ@>àÂ@hÙÂÀ”ÜÂà×ÂÀÊÓÂÀ#Ú€æÞ …Ü€ØÂ€.ÓÂàØÂÀvá€{ÛÂâÂÀùà€àß @ÝÂàÔÂ@ÍÝ€ÚÂÀ5×€ìÝÂÀÚÂÀ)ÙÂûåÂ`°Ú€ØÂàÐßÂ@ÑÂ`æÑ€Âä€ØÂ€þÚ —Ù€×€þÚ mà ãÂ1ÝÂ@©ãÂ@t× 4ßÂ@¤ÏÂ@¯âÂ`˜Þ€iÞÂÀ5× ÉÛÂà_ÝÂ`žÝÂ@©ã€ìÝÂ`?ØÂ ½ÝÂàôÙ€ Ù€oÝÂÞÕ &×€ÂäÂ@÷Ö ðßÂâÂ ÛØÂ ÿÒ€oÝ üÝ À瀱Ҁ"Õ ½ÝÂ@bÚÂà ÖÂÀ¦ÙÂ`†á êà màÂÀpâÂà;ã ÏÚ äá€ØÂ Ý ‹Û€ÎâÂÀ²× DÒÂ`ßÂÀÛÂ@ßÚ€Ú öÞ€QâÂ@PÝÂàâÜÂÀFéÂÀùàÂ`ßÂsÒÂÀÄÔ€ÚàÂ%ßÂà#ç ¥áÂàÖÞ LÛ d×Â@ÍÝÂÀ¦ÙÂÀváÂ`PêÂ@ÇÞ€ÎâÂ@yë„ä OåÂà ç€(Ԯݠ:ÞœàÂ`Â×Â`ªÛÂà¾â mà RÚÂÀÕæÂàkÛÂÀÚÂàÔ€3çÂá€ìÂ@ç€"Õ ½ÝÂÀ|àÂÀí‶æÂ%ßÂ@ÇÞÂÀ|àÂ@ÓÜÂàâÜÂ@PÝÂÀßÂ@æÂ€òÜÂÀßÂÀŽÝÂ`°ÚÂàqÚÂ`3Ú€±Ò ,ÖÂàMàÂ`†áÂ@\ÛÂ`¥Ç %ì€æÞ€QâÂÀdäÂàeÜ¢ßÂÀeÏÂ@»à ™ãÂÀ|àÂ`E×ÂàqÚÂ@PÝÂÀ#Ú€òÜ€ÚÂ`æÑÂÀ¬ØÂ ·Þ€†îÂàâÜÂ`æÑÂÀGÔÂÀßÂ@VÜÂféÂÀ¾Õ ÉÛ JÑÂàÊàÂ%ßÂ@nØÂÀváÂZë ±ßÂÀÚ€ØÂ ÀçÂÀjã 4ßÂàâÜ :ÞÂ`¤Ü ½ÝÂCÚ FÜÂ`âÂ@£äÂ@ÍÝÂàYÞ màÂ@yë€Ôá gáÂàâÜÂÀvá ¥áÂ1ÝÂÆÙÂÀŽÝÂ@çÂàGá€Ú ÛÂàîÚÂrçÂ ÛØÂ FÜÂ@PÝ êà–áÂÀ¬ØÂ`ªÛÂÀÜÂàAâÂûåÂÀ”Ü ØÂà×ÂÀÛ€ Ù€oÝ ¯ÕÂ`àÂ@\Û€ìÝ êàÂ`°ÚÂ@öëÂ1ÝÂ@¤ÏÂàèÛÂmÓÂüÐÂàeÜÂÀÜ€ÚÂ`oÐÂ`°ÚÂÀYÑ ^ØÂÀšÛÂ`9ÙÂà³Ï ÏÚÂÀ#ÚÂ@ å€4ÒÂàqÚÂÀ”Ü€‡Ù€Ú ã yÞ€þÚ ÇÑÂÒ×€Eä€ìÝ ùÓ äáÂÀÛÂÀAÕ€ØÂ`ªÛÂ`ÈÖÂ@DßÂ@åÙÂ`9ÙÂàƒ×Â`ìЀ Ù€ÚÂIÙÂÀXæÂ`Â×Âà$ÒÂà›Ó >ÓÂàeÜÂ=ÛÂÀváÂÀÚÂöÑÂà×Âàƒ× £×Â`-Û€‡ÙºÛÂÀ¸Ö FÜÂ`˜ÞÂ`zã …Ü€ÚÂÀ²×Â@nØÂ@ëØÂ¢ß íÕÂàîÚ€Ú 8Ô€ØÂ€ ÙÂ`9ÙÂàkÛÂ`¶ÙÂÞÕÂà‰ÖÂU×Â@JÞÂàÕ …Ü€·ÑÂ@åÙ€×Âàƒ×Âà¹Î£ÊÂÀ”ÜÂÀAÕ€ØÂ ÇÑÂ`iÑÂOØÂà_ÝÂÀâÏÂ@ÓÜÂÀ¦ÙÂÌØÂ ÕÙ€‡ÙÂáÂÀ¬ØÂÀ Þ€ÚÂàâÜÂàeÜ€¥Ô€øÛÂ@÷Ö€òÜÂ@€Õ ØÂà*ÑÂ@»àÂàèÛ€"ÕÂ@¤ÏÂàÔÂ@¯âÂ@!РÙÂÀ/ØÂ`æÑÂ`ÎÕ€ØÂ€uÜÂÀpâ —ÙÂ@EÊ áנ݀òÜ€×€ìÝÂÀ¬ØÂÀ5× ‹ÛÂ`ÎÕ€"ÕÂàÐß gáÂÀÝ FÜ ^ØÂ gáÂ@VÜÂÀ)ÙÂÀAÕÂ=ÛÂà×ÂCÚÂ`ÔÔ€ ÙÂU×ÂâÂ`àÒÂ@ÇÞÂ`QÕÂ@ñ×ÂIÙ µÔÂ@VÜ çÖÂ7ÜÂ1Ý€ÕÌ >Ó @ÝÂÀÛ€ÎâÂ`ÞÂ`¤ÜÂ`WÔÂêÓÂÀGÔÂ@ÍÝ€Èã ØÂÀÄÔÂ@ÓÜ |ÓÂ@ÓÜ€«Ó€ Ù€ØÂà FÜ ÓÏÂàÕÂÀˆÞÂ`¶Ù 7éÂ@ÒÂÀ;ÖÂàGáÂCÚÂ`ªÛ€.Ó€pÈ 4߀cßÂ`¶Ù€iÞÂ@ÍÝ ‹ÛÂ`¼ØÂ`à Ú yÞÂ@D߀EäÂÀ|à€Ú€þÚÂ`¤ÜÂâÂ@£äÂà/åÂ`ÚÓÂàÕ ØÂ gá€]àÂÀ5×Â@zÖÂàèÛ màÂ@t× FÜÂ`¶ÙÂ~åÂ@ñ× pÕ€ªèÂÀÛ ±ßÂà;ã€Wá DÒ€¥Ô &×ÂÀ#ÚÂ`9Ù ÜÂÀ¬ØÂ@†ÔÂáÂöÑÂà›ÓÂÀXæÂ€uÜ …ÜÂÀíâ êà€@РFÜÂ@\ÛÂ`¼ØÂàMàÂ@ýÕÂÅîÂféÂ@ŒÓ´ÜÂàÔ ÙÎÂ`ÈÖÂ`žÝ Uä ‚ÒÂÀŽÝ äáÂÀ߮ݠ(á çÂ`ÞÂ ÆæÂ ºè :Þ …Ü »ÓÂ`ßÂ@D߀cßÂÀ@êÂ@ åÂ`ýâÂÀ Ú 1êÂà5äÂ@µáÂ`¤Ü "â€øÛÂ`nå (á€òÜ äáÂà‚ì =èÂÀÿßÂ%߀Îâ 1êÂÀÿßÂ@æÂ OåÂÀjã åÂ1ÝÂÀÿßÂ`°ÚÂ7ÜÂ`VéÂ@»à€ÚàÂ@…éÂàSßÂ@&ä ÌåÂ@å :ÞÂ`â¨Þ€cßÂ`Þ gူçÂÀÕæÂ`3ÚÂ%ßÂÀÃé€iÞ üÝÂàÜÝÂà¾â Ìå Û 1êÂ`åæÂ "â öÞÂ`êÂ`'Ü sßÂàâÜ sßÂÀpâ´Ü€uÜÂ`ÍêÂàÄá€Kã Àç äáÂ@ÓÜÂÀò€ªèÂ`-ÛÂàƒ× äáÂàSßÂÀ)ÙÂàèÛ á×Â`°Ú ±ßÂ`ßÂ@bÚÂ ÆæÂàÐßÂ+ÞÂÀÛ€iÞÂÀŽÝÂ`à€ÚàÂ1ÝÂàqÚÂàGá Cç€ÈãÂ`E×€WáÂÀáäÂà¾â LÛ ÉÛ€ÔဟÕÂÀ ÚÂ@hÙÂàGáÂáÂàÐß “ä …Ü ÏÚÂàÜÝÂ`bçÂàAâÂÆÙÂÀÊÓÂaÕÂ1Ý€{ÛÂ@VÜÂ1Ý XÙ ÌåÂâ >ÓÂ@ÇÞÂØÖÂÞÕÂ@©ãÂÀÜÂ@2âÂ`àÂÀÐÒ€ÃÏÂà$ÒÂÀšÛ Ú€cßÂ@çÂàÄá .àÂOØÂ ØÂàqÚ  æÂ@zÖ€ØÂ ^ØÂ @Ý £×Â`-ÛÂ@Ó€òÜÂ@bÚÂà‰Ö «àÂÀ/ØÂ`°Ú ÞâÂàYÞÂÀAÕ yÞÂÀÜÐÂ@!ÐÂàÖÞÂàâÜ ÒÂ@JÞÂ`3ÚÂÀ5×€þÚÂà Ö€ÉÎÂÞÕÂ`¤ÜÂàèÛÂâÂÀ#ÚÂàYÞÂ@ÓÜÂIÙÂ@VÜ óÔ€.ÓÂ`Â×Âà}ØÂ@ëØÂÀ5×Â`ŒàÂ@÷ÖÂàSßÂ`†áÂà¾â€“×ÂÀGÔÂÀšÛÂÀÛÂÒ×ÂÀšÛ ÏÚÂ`9Ù€þÚÂ․é€þÚ€9æÂ`ÔÔ€ÔáÂ`àÂÀ)ÙÂ@8á€òÜÂ@ßÚÂØÖ ·ÞÂ@ßÚÂå ‹ÛÂ@ñ× VÏ€iÞÂàÄáÂÀ ÞÂ@€Õ€“ׄäÂrçÂ`à€.ÓÂ@bÚÂ`€âÂÀáä€ÂäÂ`9ÙÂ@ÓÜÂà5äÂ@PÝÂÀ”ÜÂàMà cìÂåÂ@t×Â@PÝ ÒÂ@'ÏÂ@ñ×€ÔáÂ@©ãÂÀÏçÂ`â œí iëÂàÊàÂÀÏçÂÀÄÔÂ`¼ØÂ@\ÛÂ`žÝ€‡ÙÂàÄá€Úà äÂàîÚÂÀÛåÂÀ‚߀oÝ ØãÂ`ñäÂ@PÝÂ`°Ú @Ý€ØÂ`QÕÂxæÂ ãÂà²ä€oÝ€àßÂÀÐÒÂ`Óé€QâÂÀjãÂ@&äÂ@£äÂàêÂ`-Û€ªèÂ`bçÂàšèÂ`°ÚÂ`WÔ +ëÂà#ç yÞÂàâÜ ÉÛŠãÂ@2‶æÂ …ÜÂ@æÂ`WÔÂÀ²×€“×ÂÆÙÂÀ#Ú ÕÙÂ`täÂ`'ÜÂ`!ÝÂàÖÞÂ@ å€Úà îÂ@,ãÂÀˆÞÂÀÃé€Qâ€òÜÂÀ ÞÂàÄáÂ`’ß =耰ç€ÖÂ@8áÂàÊࠓ䠱߀3çÂ`ªÛ Ò€¼å€æÞÂ@ÓÜÂCÚÂ`ýâÂÀ”Ü€cßÂÀRçÂà;ã öÞÂ`3Ú ©ÖÂ%ßÂÀÊÓÂ@t× LÛ€?åÂ`-Û LÛÂÀdäÂ@VÜ ‹ÛÂ@&äÂàîÚÂ`-ÛÂOØÂÀáä FÜÂ%ßÂ`€âÂ`-ÛÂ`ýâ€ÚàÂÀ¦Ù¢ßÂàÜÝ€ÔáÂ`täÂÀAÕ€ÂäÂÀáäÂ@Dß ‡æÂ FÜ Þâ mà€‡Ù ÛÂ@÷ÖÂ@ýÕÂÀ)ٮݠ.àÂà Ö vÔÂ@µá€ÖÂЀ"ÕÂà_ÝÂ`°ÚÂ`KÖÂàqÚ êà FÜ®ÝÂ@bÚÂ`Œà€KãÂÀÜ€øÛÂ@ÍÝ ÛÂÀdäÂ`Œà€øÛÂ@ÒÂ`zãÂ`ñäÂ`à€WáÂ`¤Ü¢ß ™ãÂÀ Ú ÉÛÂ`žÝÂU× ,ÖÂà¾â aâ ±ßÂ`÷ãÂÀ‚ßÂ@¯âÂ`°ÚÂàqÚÂ@ßÚÂ@ýÕ€‡Ù á× \ÎÂà$ÒÂ`!Ý ¯ÕÂÀ;ÖÂ`WÔ€þÚÂ`ßÂ`ÞÂÀŽÝ¨ÞÂÀ¬ØÂ€òÜ€cßÂÀÛÂ@bÚ€?åÂÆÙÂàÜÝÂ`PêÂàSßÂ`ŒàÂ@ßÚÂàôÙ€iÞ ãÂ`¼ØÂàÕÂ`täÂÞÕ —ÙÂ=Û £×ÂäÔ FÜÂàYÞ€¤é .à€"ÕÂÀ Ú ÝÂöÑ€ìÝÂ`’ßÂÀ¬ØÂÀ|à ‹ÛÂ`Â×Â`¼ØÂ`ªÛÂà0Р>Ó öÞÂ@ßÚ ‘ÚÂ@ßÚ€ÂäÂà²äºÛÂàMà þç öÞÂàØÂàƒ× ÞâÂÀXæÂ`iÑÂ`?ØÂ€øÛ yÞ´ÜÂÀ ÚÂà5äÂ@Áß á×Â@ÍÝÂàÄá íÕ€‡ÙÂ@£ä€žêÂÀÝÂ`žÝÂ`â¨ÞÂÀ¬ØÂ€Ú€“× LÛÂÀ^åÂàÐß "â€Èã ãÂ@†ÔÂÀÜ€uÜ€ÚàÂ`ëåÂ`åæÂ`QÕ€ŸÕÂ@DßÂàâÜÂ`ßÂÀ Þ¨Þ [ãÂ`'ÜÂ`æÑÂ@ßÚÂ`߀ÚÂ@D߀þÚÂà;ãÂ@÷ÖÂÀÜÐÂàúØÂ íÕÂsÒÂàkÛÂ@ýÕ€±ÒÂIÙÂ@ñ×Â@†ÔÂàÔ ÏÚÂ@ýÕÂàâÜÂÀ”Ü ÿÒ çÖ€±Ò€“×€æÞÂ@©ã€ ÙÂ`ÔÔÂÀpâ€:ÑÂàÂ ÛØÂÀ#ÚÂ@VÜÂ@¯âÂÀLèÂÀŽÝÂ@ßÚ€æÞ€iÞÂ@ýÕÂàYÞÂ`tä äÂ`¶ÙÂ@†Ô —Ù€æÞÂàÕ€ìÝÂàkÛÂàÂCÚ ã ®êÂÀšÛÂà5äÂ` áÂ`¶ÙÂ@üêÂàYÞÂÀŽÝÂÀ ÞÂàÐßÂ`E×Â@>à€‡Ù çÖÂàeÜ´Ü€ìÝÂ`€âÂ+ÞÂ=Û XÙÂÀíâÂ@8á vÔ êàÂÀÕæÂÀXæÂÀÕæÂ@ÓÜ€òÜÂ`˜Þ (á öÞ€òÜÂ`WÔ€‡ÙÂ`÷ãÂ`žÝ€4ÒÂ`Â×Â@ÓÜ ðßÂ@¯â màÂàîÚÂÀ¦ÙÂÀFéÂâÂàÜÝÂ`¶ÙÂ@¯âÂ@êí€oÝÂ`÷ã êà€Kã€ÚÂ@8á CçÂàAâÂ`PêÂ@—æÂ€¶æÂ s߀ÈãÂàYÞÂàØÂ€{ÛÂ`’ß ·ÞÂ@zÖ ðßÂÀóáÂ+ÞÂ@æÂÀ Þ ™ãÂ`nåÂÀßÂaÕÂÀ/ØÂ ½ÝÂ@&ä€uÜÂàwÙ vÔÂÀdäÂâÂà/åÂ@t× (áÂàYÞ€cßÂÀ/ØÂàšè RÚÂÀpâ FÜÂÀ#ÚÂâ (áÂÀvá ðßÂ`†áÂ`!ÝÂà¦æÂãé€òÜÂÀÜ aâ ÏÚÂaÕÂÀÛÂIÙÂ`JëÂÀÜÂ[ÖÂ`]Ó€uÜÂà¸ãÂ`˜Þ€Qâ «à sß CçÂ@¯âÂ`KÖÂàwÙÂ ÆæÂ@JÞ sßÂÀ ÚÂÀÿßÂàÜÝÂÀóá€cßÂ@—æÂ%ßÂàwÙÂ%ß ðßÂ@åÙÂ@»àÂàèÛÂ`°ÚÂÀ^åÂ@ÓÜ ™ãÂàAâÂ@µá€‡ÙÂ@ëØÂ ºè ·ÞÂ@ÍÝÂIÙ´Ü ÏÚÂ@JÞÂàjðÂÀ¦ÙÂàèÛ€™Ö ØÂ@,ãÂ@÷Ö€ Ù€òÜÂ`°Ú´ÜÂ`KÖ€LÎÂÀ;ÖÂ`ÙèÂàâÜ ‘ÚÂ@€Õ€.ÓÂàîÚÂ@\ÛÂÀÜ ™ãÂàÜÝ FÜ gá ØÂÀŽÝÂàÕÂ@ñ×Â@ÓÜÂÀÛÂ`žÝÂà¾âÂ=ÛÂ`¼ØÂ€?å ™ãÂà#çÂà;ãÂàÐ߀{ÛÂÀ߀øÛÂ@ÓÜ åÂ`àÂ@8áÂàwÙÂ`’ßÂ@ ÔÂ@ñ×€à߀Îâ¢ßÂÀ߀òÜ€ØÂàÕ gáÂà¸ã€ ÙÂ`°Ú ¥á ™ãÂ`¶ÙÂÀ#Ú XÙ€iÞÂ@ßÚÂÀ‚ßÂÀXæÂ@¯âÂàGáÂ@æÂ@ßÚÂÀ¾Õ ùÓÂ@÷Ö å€4Ò £×Â`9ÙºÛÂ`Þ€"Õ€RÍ &× vÔÂ@ñ×ÂÀôÌÂ`]Ó–áÂ@€ÕÂ@ŒÓÂ+Þ€× óÔÂ`WÔÂ@€ÕÂ`˜Þ ÎÂ`'ÜÂ@ñ×€æÞ€æÞ€¶æÂàÓÂÌØÂ€àßÂaÕÂÀ/ØÂ`iÑ @ÝÂ@zÖÂÀ¸ÖÂÀváÂ`QÕÂÀ)Ù  ÑÂà•ÔÂÀÝÂÀSÒ ÝÂ@ñ×ÂÀ#ÚÂ@ÙÛ ÝÂÀGÔÂ`-ÛÂ@VÜÂ@÷ÖÂÀÛ„ä€þÚÂÆÙÂÀšÛÂÀ¸ÖÂàîÚÂÀóáÂ@ÑÂ@åÙÂàÔ ÝÂàTÊ ÕÙ ¯Õ FÜÂÀ;Ö pÕÂÀóáÂàÕÂâÂàØÂ€ÚœàÂàYÞÂ`cÒÂàÄáœàÂà¾â¨ÞÂ@€ÕÂ@ÓÜÂ=Û ÞâÂÀÐÒ€"ÕÂ`ªÛ€3çÂÀjã€(Ô [ãÂàÐßÂ`'ÜÂÀ Þ ÃÜÂ`¤ÜÂ@¤Ï ÏÚÂàèÛ :ÞÂÀ‚ßÂ@ÓÜÂÀ”ܨÞÂåÂàwÙÂ`°ÚÂ@\ÛÂàúØÂ@ÍݺÛÂ`QÕÂ@€ÕÂ@»àÂÀMÓÂ`žÝÂ@ÓÂ@ýÕ€æÞ€Ö€ÖÂ`3Ú RÚ ÉÛÂ`âÂ@ÓÜÂ`-ÛÂÀYÑ ÜÂà¦æÂÀ ÚÂàôÙÂ`WÔÂÀ#ÚÂàúØÂ[Ö€4ÒÂà0ÐÂàÊàÂÀ5× >ÓÂ@hÙÂ@˜ÑÂÀ¬ØÂ@¤Ï€«Ó £× s߀ ÙÂ@Dß pÕ  Ñ€«Ó€“× jÖ ¯ÕÂÀYÑ ÙÂàèÛÂâÂ@JÞÂ`!ÝÂsÒÂÀÛ ¥áÂÀAÕÂËÂðÒÂÀÝÂ@ýÕ 2ÕÂ`Þ€àßÂ@ñ×Â`Â× çÖÂÀ ÞÂ`zã€ìÝÂ`à ãÂ@t×Â@ýÕÂ`ªÛ€òÜÂ`†á FÜÂàÐß »ÓÂ@ Ô RÚ´Ü ÇÑÂàúØÂÀjãÂ`zãÂàÜÝ ½ÝÂÀšÛ€ìÂà;ãÂà}ØÂ ßÍÂ`ÊÂ`êÂàÂ`àÂ`¤ÜÂÀ ÞÂÀÝÂ`ªÛÂÀdä ÒäÂ`ÎÕ ¦ÌÂÒ× üÝ¢ßÂ@zÖÂØÖÂàÂÀß FÜÂÀjãÂà¡Ò ÝÂ`hæÂ`\èÂà×Â`-Û ±ßÂ`zãÂÀíâÂÀGÔÂ@ýÕÂà#ç Þ‱ÒÂÀGÔÂCÚÂ%ßÂàGáÂ1Ý åÂ%ß LÛÂ@ç …Ü ¥áÂ`¤ÜÂ@bÚÂ@ßÚ 8ÔÂ@DßÂ@ç UäºÛ€Ôá Ý€“× ãÂ@£äÂàÄáÂ`ªÛ |Ó OåÂõæÂåÂ@PÝÂÀÕæÂÀáä 4ßÂÀÝÂÀÿßÂ@JÞÂ@ýÕÂÀdä "â ØÂ ä ðßÂ@ÕÂà¸ã {èÂÀ ÚÂÀ|àÂÀÛå ]íÂ@ÁßÂ@ÓÜ€¥ÔÂÀ^å ië Ý ùÓ€«ÓÂ@hÙ€QâÂÆÙ ‹Û aâÂûå :ÞÂ`ÞÂ@»àÂ`9Ù´ÜÂ`ªÛÂ@ëØÂÀ¸Ö ÜÂ`ñäÂàYÞÂ@ÍÝÂ`Â×®ÝÂmÓÂ@bÚ ÙÂàúØÂÀÜÂÒ×Â`'ÜÂ@JÞÂÀMÓ …ÜÂ`¤Ü€ìÝÂ@é LۮݠŸâÂ@VÜ ©ÖÂgÔÂàØÂ`àÂàôÙÂ@÷ÖÂ`¼ØÂ`!Ý ÛÂà¹ÎÂ`?ØÂ ÛØÂà‰Ö€“×Â`zã ùÓ ØÂ`¤Ü€ìÝ€Wá€×ÂÀAÕÂàêÂ@ åÂÀÕæÂ€cßÂ`E×Â`]ÓÂÐÂàGáÂ`Â× "âÂÀçã ‹Û€ ÙÂÞÕ .àÂ@VÜÂ`žÝ ¯ÕÂ@©ã€ìÝÂàâÜÂÀŽÝ >ÓÂ`KÖ€ìÝÂà_Ý€ÈãÂÀšÛÂ@åÙÂ%ßÂ`åæÂÀ‚ßÂ@8á€þÚÂÀÚÂÀ;Ö€iÞÂÀ ÞÂõæÂ …ÜÂ@ŒÓ Û€ÏÍ Ѐ@ЀڀÚÂ`æÑÂàÓÂÀ²×Â`˜Þ€iÞ€@ÐÂ@åÙ ^ØÂ`ÎÕÂ`åæÂðÒÂà_Ý ÕÙ€iÞÂ@†ÔÂ@ýÕ€«ÓÂÀ²×Â`Â×Â@˜Ñ RÚ€ÃÏ€ìÝ 8Ô ^ØÂà×Â@JÞÂ@ ÔÂ`àÒ ÏÚÂà Ö RÚÂ`ªÛÂÀSÒ€ÈãÂCÚÂ@VÜ€àß ÝÂàâÜ óÔ€ØÂàèÛ€4Ò€(Ô ÿÒÂ`¶ÙÂÀpâÂ`'Ü€æÞ µÔÂàqÚ DÒÂÀšÛÂ`¼ØÂ@JÞÂ@ÑÂ`QÕ ÿÒÂÀÃé ÙÎÂà}ØÂÀYÑÂÀ.íÂ`žÝ DÒÂØÖ€ÉÎÂàƒ×€(ÔÂgÔÂÀ)Ù ÐÂà`È ©ÖÂ@ÁßÂ7Ü öÞÂàSßÂÀÛŠãÂÀÝÂÀÐÒÂ@zÖÂÀ Ú —Ù pÕÂ`âÂàGáÂà¹Î€vÇÂàBÍÂ@nØÂ@ÕÂ`Â×Â`?ØÂÀ²×€Ö nËÂCÚÂ@3Í FÜÂOØÂ€ÎâÂ`˜ÞÂÀÊÓ€uÜ LÛ d×ÂáÂ`E× …ÜÂà¡Ò RÚ€™ÖÂØÖÂyÑÂ@JÞÂÀ)ÙÂgÔ ØÂ RÚ€ ÙÂ@Õ ‘ÚÂ`°Ú öÞ |Ó FÜÂà­ÐÂ@÷ÖÂ@åÙÂ@ÇÞÂÀ ÚÂÀMÓÂ`¼ØÂ`?ØÂ€oÝ€ØÂàƒ× JÑ 2ÕÂ@VÜ FÜÂ ÛØÂ`’ßÂàúØÂ€¥Ô ÚÂÀÖÑÂÀ‰ÉÂà›Ó ùÓÂaÕ€þÚÂ`KÖÂÀÊÓÂ`žÝÂÀÝ´Ü šÎ€]à ·ÞÂÒ× FÜ "âÂ`àÂ`¶ÙÂ@ÕÂ`ÍÂ@ÙÛÂ@JÞ ‹Û 8Ô á×ÂÀÚÂÀÛÂÆÙ€±Ò€{Û d×€“׀ڠ݀ÖÂàèÛ€þÚ á× FÜÂÀÐÒÂÀ/ØÂüÐÂ@&äÂÀÝÂ`øÎ £×Â@÷Ö …ÜÂ@÷ÖÂ`æÑÂàYÞÂÀÄÔÂ`ÚÓ ½Ý€à߀]àÂ@\ÛÂ`iÑ ˆÑ ÛÂàÔ‘ÍÂÀÛÂÀ²×Â@÷ÖÂöÑÂ`QÕÂ`ªÛÂsÒ€ ÙÂ@ÇÞÂÀ²×ÂÀ)ÙÂÀÛ «à ãÂÀ¬ØÂÀ5×ÂÀùà ‹ÛÂÀGÔ ÝÂàéÂ@©ã€?å ÏÚ€ Ù€ìÝÂ=ÛÂ`¼ØÂ —ÙÂ`ÚÓÂ@€ÕÂÀ_ЄäÂ`†áÂà›ÓÂ@hÙÂ`Þ ‘Ú £×Â@ ÔÂgÔÂ@t×Â`ªÛÂÀÝÂ@žÐÂàMàÂ@JÞÂàâÜ ÿÒÂÀ¬ØÂ€¥ÔÂ@bÚ¨ÞÂÀ¸Ö€±Ò ¯ÕÂ`KÖÂ+Þ ÏÚÂÀ¦Ù PРÙÎÂ@©ãÂàÐßÂ`Â×€Ú "âÂ`’ß 4߀ŸÕ óÔ yÞÂÀ½êÂàâÜ 4߀ÏÍÂÆÙÂÀ”Ü€«ÓÂ`QÕÂÀèÎÂ=ÛÂÀ_РÁÒÂCÚÂà²äÂ@VÜÂÀšÛÂ`¼ØÂ@ëØÂÀšÛÂÀßÂ`¤ÜÂàHÌÂà× PÐÂêÓÂ@µá "âÂÀ¸Ö ÝÂÀXæÂ |ÓÂ`]ÓÂ@JÞÂàÄá ØÂàâÜÂØÖÂ@ÓÜ€“×ÂÀèÎÂ@˜ÑÂgÔÂÀXæÂ@ßÚ ÚÂ`’ß ãÂÆÙ€iÞÂàqÚÂÀMÓÂÀ¬ØÂ`!ÝÂ%ßÂÀeÏÂ`ÎÕÂÀÚÂà¦æÂ´ÜÂàÓ€øÛÂàôÙ Û€ÎâÂ`ÎÕÂÀ¬ØÂ Øã€ØÂàîÚÂÀ|àÂÀXæÂ`ëå€ÚŠãÂÀváÂÀ¸Ö íÕ XÙÂÆÙÂ@ÓÜ€“×ÂÀíâ ‘ÚÂ`'ÜÂ@»àÂÀ²× vÔÂà#ç [ã Ü @ÝÂ`Â× gá¨ÞÂÀÚÂà_Ý 4߀iÞ€Ú íÕÂàwÙÂ@nØÂ@bÚ€àßÂ@JޮݠÜÂ@ßÚÂÀÛÂà‰Ö€ØÂ`žÝ€øÛÂ`˜ÞÂaÕÂ@÷Ö€ÚÂ@JÞ€æÞÂÀeÏ ÕÙÂ@VܺÛÂ`E× RÚ ØÂÐÂ@¤Ï d×ÂÌØÂ ÛØÂÀAÕÂÀ)Ù ÃÜÂ1ÝÂÀÝÂàeÜÂà¡ÒÂ@ÒÂàØÂ€·ÑÂ@ÇÞ€±ÒÂ`žÝÂà‰Ö€òÜÂÀÖÑÂÀ/ØÂÀAÕÂàúØÂàÄá .àÂ`¶ÙÂ`ßÂÀXæÂ€þÚÂÀGÔÂÀAÕÂÌØÂ ˆÑÂÀšÛÂ`KÖ ,ÖÂ@ÓÜÂ`€âÂ@ åÂÀˆÞÂàÜÝ€oÝÂ@çÂ`'Ü ÜÂ`ªÛÂ`âÂÀáäÂÀíâÂ`!ÝÂàSßÂ@µá ‹Û€KãÂÀAÕÂ`¶Ù€×ÂÀÜÂÀ¬ØÂ &×ÂCÚÂ@ëØÂ`Â×Âà¸ã€ÚàÂ`-Û€ØÂ Ù€ÂäÂÀšÛ PÐÂà5äÂÀ”ÜÂàSß ¥áÂ`žÝÂ@ å€Ú´Ü JÑ€¶æÂ€°ç€æÞ€oÝÂ@ñ×Â`QÕÂà Ö ¥á »ÓÂ@bÚ„äÂàÐßÂÀšÛÂÀ²× jÖÂàØÂCÚÂ`Â×Â@\ÛÂÀL蠱߀ ÙÂ`žÝ RÚ çÖÂàMàÂàÜÝÂÀ¸Ö íÕºÛ íÕ 2Õ€à߀æÞÂÀ|à€cßÂÀYÑ€¥ÔÂàÊàÂ`ªÛ ùÓ€uÜ Ù “äÂàèÛÂåÂ`QÕ€oÝ pÕÂ@JÞÂ@PÝ€àßÂàGáÂ`ýâÂCÚ ðßÂÀ¾Õ jÖÂÍÂ@PÝÂàÖÞ€Eä€oÝÂàYÞ jÖ€øÛÂ1ÝÂàMàÂàÕÂ`Â×Â`ëåÂ`!ÝÂÆÙ€¥Ô€òÜ .àÂà¿ÍÂÀ¸ÖÂÀ/ØÂÀ¸ÖÂ`ÞÂÀÝ€ Ù ¯Õ çÖÂÀÜ Ù ½Ý€ÚàÂàÕ€Kã ØãÂ@zÖÂ ÛØÂ Ìå .àÂ1ÝÂÀGÔÂ`iÑÂà¡ÒÂ~åÂ`-ÛÂÀÄÔÂIÙ á×Â` áÂ@ÓÜÂ@’ÒÂÀ_ÐÂÀ¬ØÂ`ÚÓ€{ÛÂ@ßÚÂÀÐÒÂÀÊÓÂ`¼ØÂàÖÞ€ìÝ´ÜÂÀ/ØÂÀÛÂ@ñ×ÂàqÚÂÀŽÝ åÂ@ÙÛÂÀ#ÚÂ`-Û ^ØÂaÕÂ@JÞÂ`!ÝÂÀŽÝÂ@ñ×ÂÀ/ØÂ aâÂ@ ÔÂ@VÜÂ7ÜÂ@hÙÂ@ ÔÂÀ ÚÂÒ×ÂÀ ÚÂÀMÓÂà_Ý ÝÂ=ÛÂ`€âÂ`àÒÂÀˆÞ€WáÂ@>à Oå ŽÐÂ`ËÂIÙ€þÚÂ`ÚÓ 2Õ üÝ€-è ™ãÂà¬åÂÀùàÂàúØÂÀšÛ RÚ€Kã =è …ÜÂ`’߀{ÛÂ`ëå £× FÜÂÀùà ãÂ`!Ý€ìÝ >ÓÂÀ²×ÂÀ5×€"ÕÂÞÕÂ@÷Ö€Eä€]à FÜÂ@ßÚÂ@ÓÜ EñÂàeÜÂ`!ÝÂÀÄÔÂÆÙ :Þ ùÓÂ@8áÂ@ÓÜ€òÜÂÀ ÞÂà•ÔÂgÔÂÀÛÂ@åÙÂ@PÝ &× “äÂ@ÇÞ …ÜÂ`¼ØÂ@t× DÒÂ@PÝ€“×ÂÀß màÂÀ·ëÂÆÙÂ@8áÂÀÛ€Ú®ÝÂ@ÙÛÂÞÕ þç ^ØÂ1ÝÂÀXæÂ äáÂ`'Ü®ÝÂàwÙÂàqÚÂÀšÛ ØÂ JÑÂÀ¸ÖÂêÓ ÉÛÂà×Â@,ãÂàÂÀÜÂÀ¸ÖÂ[Ö ØÂ€ ÙÂ1ÝÂØÖÂ~åÂÀ¦Ù öÞÂ`'Ü€ÉΠ¯ÕÂûå€uÜ€ØÂÀ²×ÂÀ”ÜÂ`àÂÀÉè &×ÂÀšÛÂ@ýÕ€‡Ù ØãÂà/å åÂÀ߀{Û€Ú€“×Â`-ÛÂ@t×Â@åÙ ©Ö€Wá ÛÂäÔ á× XÙÂ@©ã .à —ÙÂÀóáÂàÊà€òÜ ã€òÜÂàwÙ íÕÂÀ/ØÂ màÂÀŽÝ€òÜ 2Õ€ ÙÂÀ;ÖÂ@ÁßÂàØÂ@†ÔÂÀSÒ€{ÛÂ@ÓÜÂàúØÂÀŽÝÂ`°ÚÂàîÚÂ`iÑ .àÂÀ5×€Ö ÝÂ`\èÂÀˆÞ€ ÙÂÀÄÔÂà0ÐÂÏÂÀܠˀ^Ë€4ÒÂÀˆÞ …ÜÂ@zÖÂöÑÂÀ)Ù ‚Ò Ò  ÍÂ@ÓÂ`žÝÂ`°ÚÂÀˆÞÂ`-ÛÂà_ÝÂ`Â×ÂÀ/ØÂ@ÓÜ ÿÒÂ@nØÂ@’ÒÂà;ãÂàúØÂËÂàwÙ ÍР£×Â@zÖÂà$Ò€uÜ€™ÖÂ`ß å ÒÂÀîÍÂ`àÒÂ`ÔÔ ëËÂ@÷ÖÂ[Ö ëËÂ@¤ÏÂ ÛØÂ…Ï á×€4ÒÂÀ)ل䀽РåÌ€óÇÂÀèÎÂ@-ÎÂ@EÊÂ@ÑÂ@ñ×€þÚÂÌØÂ¢ßÂ…ÏÂà¾â ÝÂ@!ÐÂÀ_ÐÂ`KÖÂà³ÏÂÀ;ÖÂÀváÂÀÖÑÂà¿ÍÂË ˆÑÂ`KÖÂêÓ ØÂ ÃÜÂàwÙ€ØÂ[Ö€×ÂÀYÑÂÀAÕÂ1Ý ,ÖÂà*ÑÂ`?ØÂ€Ö ˆÑÂÀMÓ ùÓÂ8ÇÂ@÷Ö #Í  ÑÂà¹ÎÂà;ã€ÎâÂ@nØÂ ÈÂ`E×ÂÏÂ…ÏÂyÑÂ`9ÙÂ`9ÙÂÀqÍÂ`ÔÔÂIÙÂàÂÀ/ØÂà•Ô€Ö€“×Âà0ÐÂöÑÂ@ÈÉÂà³ÏÂàSßÂ[ÖÂ@hÙÂÀâÏÂ[Ö ÙÂàúØÂà¿Í€iÞÂ@’ÒÂ@3ÍÂ@µá LÛ åÌÂ`]Ó€.ÓÂÀAÕÂà‰Ö íÕÂsÒ€vÇÂÀèÎÂ`(ÇÂêÓÂ@ÈÉÂÀúËÂ@÷Ö€øÛÂÀ‚ßÂà<΀.ÓÂ@Ó€4Ò ÁÒÂ`iÑÂÀÖÑ VÏ åÌÂÀ²×€Ú€ÏÍÂöÑ‹ÎÂàËËÂ` áÂà0ÐÂ@ŒÓÂÀMÓ€æÞÂßÀÂÌÂ@Ò€«ÓÂÀGÔÂ@-ΠµÔ€ÖÂ@ÕÂà‰Ö ÇÑ d×€RÍÂ@t× —ÙÂðÒÂ@†ÔÂ@°Í€FÏÂÀeÏÂ`Â×Â`ÈÖÂ@'Ï ŽÐÂ@ªÎ —ÙÂ@\Û€½ÐÂ@ÕÂÀ ÚÂÀÐÒÂ`òÏ ã ÛÂ@Áß »ÓÂ[ÖÂÀ²×ÂÀSÒ€¥ÔÂIÙÂàîÚÂ@DßÂ@€ÕÂ@¤ÏÂ`°ÚÂ@ŒÓÂÀÜРvÔÂ@ÙÛ ÎÂüР/Ë—ÌÂ@˜ÑÂOØÂÀÊÓÂ@t×€‡ÙÂÀSÒÂà‰ÖÂ`E× /ËÂÐÂÀ;ÖÂyÑÂÏÂÀ¾ÕÂ@†Ô  ÑÂà×€ØÂ—Ì€±ÒÂÀÄÔÂyÑ€½ÐÂà$ÒÂà³ÏÂ@¤Ï ùÓ€:ÑÂÀ}ËÂ@åÙÂ`iÑÂ`oÐÂaÕÂàéÆÂÀîÍÂà$ÒÂöÑÂ@÷ÖÂà›Ó °ÀÂàÔÂàwÙ ©ÖÂ@t×ÂÀ¬ØÂ`]Ó Ù€ÖÂàqÚÂà•ÔÂÀšÛ€RÍÂ@ŒÓÂ@ÒÂðÒ JÑ óÔ€×Â`¶Ù€ÖÂà ÖÂàqÚÂÀAÕ íÕÂà³ÏÂäÔÂÀÐÒÂà¡Ò€:ÑÂ@žÐ€]à £×Â`iÑÂ@Ó Û ÿÒÂ`âÂ`ÚÓÂÀ¬ØÂ`3Ú€ÏÍ—ÌÂ@»à Þâ€þÚ€:Ñ ²ÊÂà›Ó Ý DÒÂ`¼ØÂà×Â@-΀ ÙÂÀß ðßÂ`uÏÂ`ŸÈÂÀeÏ ”Ï€òÜÂà Ö ¯ÕÂÀAÕÂ@ëØÂ`ÈÖÂ`þÍ€oÝÂÀ#ÚÂÀMÓ :ÞÂàôÙÂØÖÂÀ”Ü€ Ù ÃÜÂ`ßÂ1ÝÂ`÷ã€ÚÂÀáä yÞ®ÝÂàôÙ€òÜÂÀ¦ÙÂâÂ@©ã€‡ÙÂà‰Ö FÜ€‡Ù€iÞÂÀ ÞÂ@PÝÂ@8áÂÀùàÂÀ Þ€Èã€3ç á× @ÝÂÆÙ ‡æÂ@‹è FÜÂ`¶Ù€iÞ ¥áÂrç åÂ@VÜÂà_Ý aâÂàAâÂ×ë «àÂ@ëØÂrçÂà5äÂÀpâÂ`ŒàÂ`ÔÔ€æÞÂ@ßÚ 〓×Â@\Û yÞÂàÕÂxæÂà¦æÂ@ÍÝÂâÂ`÷ãÂÀÏç –î 䀶æÂlèÂãéÂ@éÂÀçã€WáÂ`ñä ué ŸâÂ@VÜÂàMà€iÞÂ`ÞÂÀóáÂÒ×€ØÂ€°ç çÂxæÂ€?å„äÂÀçã ´éÂÀ±ì€iÞÂ@æÂ sßÂÀíâ€?å€Qâœà®ÝÂlèÂÀˆÞÂ@JÞÂàGá€Âä€WáÂ`žÝ àìÂà çÂ`’ßÂ@êíÂ@êÂ ÆæÂ ±ßÂåÂ@gîÂéè ÀçÂ`bç ÝÂà×Â`ÙèÂ<ð ‡æÂàGáÂ@yëÂàˆëÂ`&ñÂ@çÂâÂÀLè àì€KãÂ@PÝ€ìÝÂàéÂàMàÂá êà€Kã€ÈãÂ@©ã€ÎâÂ`bçÂÀÿßÂÀ‚߀?å ÞâÂ@&äÂåÂ~åÂ`÷ã€?å€ÔáÂâÂ`\èÂÀRç€3çÂ`†áÂâÂ@ åÂCÚÂÀ·ëÂ@ç€?å€?å€ìÂ`DìÂÀ.퀘ë€{Û ië Ôî Ìå gáÂ`VéÂ@å àìÂÀßÂ`ñ䠽ݠöÞ d׺ÛÂ`ÙèÂ@\Û€¶æÂ€ÚàÂ@DßÂ`ñäÂ`VéÂÀRç äÂÀ^åÂÀùàÂ@©ãÂ@»àÂ`JëÂà)æÂ@Ìò€EäÂûåÂ%߀Îâ€3ç ãÂà/åÂÀ ÚÂ`˜Þ€žê .àÂ@2âÂÀíâ Òä€ÂäÂÝêÂ@ßÚÂ`ë值åÂxæÂ€EäÂàS߀ÂäÂàé ‘Ú þç€?åÂ`täÂÀ¦ÙÂà¸ãÂ`ýâÂ@÷Ö (áÂàè€QâÂà¾âÂàè 7é€ìÝ€ÎâÂà”é€3çÂ7ÜÂÀ ÚÂ`åæÂÑìÂÀRç ÌåÂ@‘ç ìêÂà‚ì üÝ d׺ÛÂ`þÍ€c߀iÞÂÀíâÂ`ÞÂ@,ã (á sßÂ`ñä (áÂ@ÙÛÂà5ä€cßÂÀ”ÜÂ@ÕÂ@>à€ÚàÂÀ”Ü Û äဪèÂàGáÂ=Û€3çÂàÜÝÂàÊàÂ`!ÝÂ`â ðßÂ@…éÂà çÂ`ýâÂ`ßÂCÚÂ@ßÚ gá€Îâ€Qâ ·ÞÂÀ5×ÂàYÞ€ÔáÂ@—æÂàôÙ .àÂ`?ØÂÀÜÂÀdäÂÀdäÂàMà€oÝÂàÄáÂ@¯â .àÂÀ¦ÙÂÀ5× öÞ (á€òÜÂ`à üÝ Oå€{ÛÂ`-ÛÂàÕÂá .àÂ@ñ×€oÝ€.Ó üÝÂ1ÝÂåÂáÂÀvá á×Â@ÍÝÂ ÆæÂ LÛ ØãÂ ÛØÂÀŽÝÂà)æÂÀdä ØÂ~å€-è @ÝÂÀ ÞÂNí€9æÂÀŽÝÂ`ßÂà ä€!êÂ`zãÂàÐßÂÀšÛ ÕÙÂ`žÝ ÌåÂàÖÞ FÜÂ@»àÂ`žÝÂ`ýâÂ@ßÚÂ@ å XÙ (áÂÀçãÂ`ýâÂÀ‚ß Cç FÜ :ÞÂ@2âÂ`˜ÞÂ@Áß ÌåÂ@PÝÂÀ”ÜÂÀváÂ`'ÜÂ@>à´ÜÂ`¶ÙÂfé€ÖÂàeÜÂÀÚ d×Â`àÂ`˜ÞÂCÚÂàkÛ ÝÂ` áÂàAâ ‹ÛÂ[Ö€KãÂ~åÂà ëÂÀÿß´ÜÂ`’ßÂÀjãÂÀóá ðßÂÀíâÂàÂ@DßÂ`¤Ü¨Þ€'éÂ`âÂÀÚÂ%ßÂÀÉè øè€uÜÂÀMÓÂàèÛÂàÂ`ŒàÂÀ߀?åÂÀˆÞÂÀß´ÜÂ+Þ Ù€]àÂ@ÓÜ üÝ ãÂÀˆÞÂÀ/ØÂàÄáÂÀ¬ØÂÀ¸ÖÂ`ŒàÂCÚÂ@2âÂ`!ÝÂÀ)ÙÂ`3ÚÂ@Ò …Ü€ØÂ€òÜ sß ÕÙ€ŸÕÂ@ÓÜ ^ØÂ ØÂ€]à€ÂäÂÀÛÂÀí–×Â@µáÂ=Û 8ÔÂ@ÁßÂàSßÂàÖÞ ½Ý€iÞÂ@—æÂÀpâÂ@ÓÜÂÆÙ íÕÂ`¤ÜÂ`€âÂÀÝÂÀ|à€oÝÂ@PÝÂ@,ãÂ`ޠ݀øÛÂ`àÒÂ`iÑ jÖÂÀ²× vÔÂaÕÂàÓ€½Ð€ÖÂ@nØÂÀÛåÂ@ÁßÂÀ/ØÂ+ÞÂ`E×ÂÀ¾Õ 2ÕÂÀ²×ÂÀ#ÚÂ1ÝÂÀùà€¶æÂàkÛÂ@bÚÂ`hæÂ@ÙÛÂ@PÝÂ@Áß 4ßÂ@ÇÞÂàôÙÂÀÜРùÓ gáÂàeÜÂàMàÂ@VÜ ‹Û d×Â@žÐÂÀÄÔÂàÐßÂ@ñ×ÂÀ/ØÂÀ)Ù LÛÂ`-Û€«ÓÂàeÜÂ`òÏÂàîÚ JÑÂ@ÔÇ ¶¿Â ÛØÂ…Ï ÇÂ@bÚ€‡Ù FÜÂ@©ãÂ@hÙ ÙΠß͠ŀoÝ ·ÞÂà›ÓÂÀ¬ØÂ€½ÐÂ%߀þÚ d×€(ÔÂà­ÐÂà¿Í sßÂ`ÔÔ€Ú€þÚÂÀSÒÂÀè΀ØÂ@bÚÂ@÷ÖÂÀ;ÖÂ`°ÚÂàÔÂU×ÂÀ;ÖÂ@¶Ì€òÜÂIÙ€ÚÂ=ÛÂà›ÓÂU× RÚ ˆÑÂÀÜРDÒÂ`9Ù màÂà¡Ò óÔÂ@˜ÑÂ@PÝ µÔÂ@÷ÖÂ@nØÂ€oÝ @ÝÂàƒ×Â`ªÛ€×ÂàÕÂÀ/ØÂ ŽÐ  æÂ`E×ÂÀÐÒÂÀùàÂ`oРØÂàØÂÀÜÐÂ@ÍÝÂU× …ÜÂÀÜÂ`'ÜÂCÚÂ@åÙ Cç€]à µÔÂ@ßÚ–áÂàîÚÂ`ªÛÂ`iÑÂÀGÔÂÀÊÓ€óÇÂ`cÒÂÀ;Ö ØÂ7Ü–áÂ`E×ÂÀwÌ€·Ñ 8ÔÂàqÚ€:Ñ€Ö€ÚÂÀùàÂ`WÔÂ@ªÎ ÙÎÂÆÙÂÀŽÝÂÀAÕ€ØÂ …ÜÂ@\ÛÂOØÂ@åÙ€(ÔºÛÂ`°ÚÂäÔÂðÒ ÓÏÂ@3Í XÙÂ`°ÚÂIÙ´ÜÂ`ÚÓ¯ÈÂ`ÔÔÂ`òÏÂÀÜР»ÓÂ@ÓÂà}ØÂ ÛØÂ XÙÂsÒÂ`QÕ€{ÛÂàkÛ€øÛÂÀ¸ÖÂÀÜÂÀYÑÂmÓ€·ÑÂÀ)Ù€‡ÙÂ@ ÔÂÀGÔÂ@\Û …ÜÂ`iÑÂ`{΀¥ÔÂ`3ÚÂ@Õ >ÓÂ`æÑÂÀùàÂÀ”Ü€¥Ô PÐÂ%ßÂÀáäÂ`¤ÜÂà§ÑÂ`!ÝÂ@åÂÀpâÂ7Ü ÇÑ ‚ÒÂ@t×ÂÒ×ÂÀ#ÚÂÀpâÂ@>àÂ@t×ÂàÖÞÂ@ÑÂ ÛØÂÀdäÂÀ¸Ö ÃÜÂÀ)ÙÂÀ¬ØÂ´ÜÂ7ÜÂ@Jޮ݀"Õ tÊÂÀ#Ú ÜÂU× ŸâÂ`?ØÂàÕÂà$Ò ÜÂàÔÂ`9ÙÂgÔ€“× ÞâÂ`ŒàÂ`€â€‡Ù€·ÑÂàÕÂ`˜ÞÂ@Õ .àÂÀÚÂÀ²×ÂÀÚÂà*ÑÂ@ÓÜÂÀÏç ÕÙ€‡Ù jÖÂÆÙÂ`åæÂà}ØÂÀ‚ßÂ@nØÂ`KÖÂ`¶ÙÂØÖ€ŸÕ ·ÞÂ@åÙ€ÚÂÀâÏÂ@¯âÂ@JÞÂ@åÙÂ@bÚÂ`žÝ€þÚÂÀ‚ßÂ`àÂÀ¬ØÂ çÖÂ@ßÚ€àßÂ`ÙèÂÆÙÂÀŽÝ á×€“× FÜÂ`E×ÂàqÚ€?åÂ`WÔÂà äÂOØÂ ã€ØÂÀùàÂ`KÖÂõæÂ` áÂ`†á ©ÖÂàYÞÂÀçãÂ@æÂ [ã üÝ @ÝÂàÜÝÂ@¯âÂàMàÂà¾âÂ@æÂœàÂ@JÞ€Ú€ÂäÂÀ^åÂÀ‚߀íÂ@—æÂ uéÂÀÜ ÉÛÂØÖÂ`åæÂ@»àÂ@€ÕÂ1ÝÂ@†Ô pÕÂÀÜ  æÂ€Qâ [ãÂ@ÓÜÂ@µá ºè€ìÂ`nåœàÂ`»íÂ`'Ü€ÚÂ=Û >Ó (á ÌåÂà_ÝÂ@µá ÛÂ@ÁßÂ`z〱ÒÂ`˜ÞŠãÂ%ß RÚÂÀ¦Ù€ÚàÂà#çÂÀpâÂ@æÂ@çÂ@µáÂà¾âÂàqÚ€ÎâÂàÜÝ yÞ ùÓ —Ù€™Ö RÚÂ@ëØÂÀ¾ÕÂÀŽÝÂÒ×€{ÛÂÀ¦Ù màÂà}ØÂ€½ÐÂàwÙ€ÎâÂ@nØÂ@µáÂàGá€ÂäÂà¦æÂ–á ·ÞÂ`E×Â@bÚÂÀÜÂaÕÂ`ëåÂ`VéÂ`nå  æÂ`-ÛÂÀÛÂàGáÂ`’ß ^ØÂ@ÇÞ€QâÂÀ|àÂ`ýâÂ`à öÞÂà*ÑÂ@ Ô ãÂÀíâÂÀÛåÂ@nØÂ@ÇÞ XÙŠãÂ`KÖ Ÿâ€uÜÂ`ÈÖ ÕÙ ½ÝÂàeÜ &×Â`ÔÔ RÚÂÒ× ˆÑ–áÂÀóá ±ßÂ@8á€æÞÂ`žÝÂÀŽÝÂ`žÝ ÏÚÂðÒ ÃÜÂÀ)Ù 4ß ÜÂÀ²× aâÂ@ÁßÂ`†áÂ@ýÕ FܺÛÂÀvá FÜÂàÊà´ÜÂ@ÁßÂÀFé€æÞ´Ü IæÂÀóá ÏÚÂå ÏÚ ÇÑÂIÙÂà}ØÂÀ¸ÖÂ@£ä ,Ö€™ÖÂ@ñ×ÂäÔÂ`KÖ€à߀iÞ @Ý RÚ Ü öÞ @Ý FÜ€ìÝÂ`ÞÂ@»àÂàծݠsßÂ@©ã€{ÛºÛÂCÚ .àÂ@åÙÂ@VÜ€ØÂÀÜ€iÞ€WáÂÀ Þ€±Ò´Ü€¥ÔÂÆÙ öÞÂ`¶Ù LÛ :ÞÂà ÖÂâ ÜÂ`Œà–áÂ@JÞ€‡ÙÂ`?ØÂÀ/ØÂ`'ÜÂ@£äÂÀ ÞÂ@ÙÛÂÀ)ÙÂ`°ÚÂ@÷ÖÂàƒ× »ÓÂ@ÙÛÂ@ÇÞÂ@ÙÛ€ØÂÀ¸ÖÂà§ÑÂÀ/ØÂ pÕ€ÚÂ@’Ò€(ÔÂ`ÍÂ@ÍÝÂÀ¬ØÂ7ÜÂ@ ÔÂU× ØÂ@>àÂàîÚÂÀÉèÂà}ØÂ@zÖÂà ÖÂà­ÐÂà§ÑÂàÕ€¥ÔÂà×Â`Â×ÂàúØÂ@bÚÂ`âÂàâÜÂ`†áÂÒ×Âà›Ó ÍЀuÜ XÙÂ`-ÛÂàÄáÂÀ5×€¥ÔÂàÜÝÂ@VÜ d×ÂàÄáÂ@ ÔÂ`¼ØÂ€±Ò€™Ö d×ÂÀ”Ü€XÌÂ@ßÚÂÀ¦Ù€cß 8ÔÂ`WÔ€‡ÙÂ`þÍ€ØÂàØÂ &×ÂÀ¸Ö µÔÂ@ñ×Â@ÁßÂ ÛØÂ@ýÕÂ@t×€uÜÂÆÙÂâÂÀùàÂ@D߀àßÂ@hÙ€ÚÂ1ÝÂCÚÂà6Ï jÖ€]àÂÀÿß ÏÚÂÀ5×Âà²ä :Þ ØÂ@bÚ :ÞÂÀpâ€.ÓÂåÂÀváÂ`KÖÂ@ÁߴܨÞÂÀAÕÂ`?ØÂ öÞ€{Û ,Ö óÔÂàeÜ £×ÂÀ Ú€àßÂ`'ÜÂ@ÓÜÂàÄáÂ`Â×ÂÀpâ çÂÀß êà ÜÂ`KÖÂâÂÀ|àÂ@t×€·ÑÂ@VÜ€WáÂ@bÚÂàâÜÂ@D߀ڢߠØÂ€cß Ý yÞÂ`àÒÂ ÆæÂÀ²×ÂâÂàèÛÂ@ÍÝÂÀ¦ÙÂÀšÛÂ`žÝÂ`˜ÞÂ@ å€ÎâÂàôÙ€ÎâÂàMàÂ@ÇÞÂxæÂÀ²×Âä íÕÂ`øÎÂÀ¦ÙÂaÕÂÀ¦Ù ÿÒÂ@ÇÞÂ`Þ€ÂäÂÀdä ÓÏ ÜÂ`Þ .àÂ@ßÚÂ@»àÂå «à ÁÒ ”Ï€¼å€×–áÂ@ÓÜ á×€cßÂÀ¸Ö€½ÐÂ`Â× ¯ÕÂmÓ ¥á¢ß jÖÂ`æÑÂ`ÈÖ üÝÂ@µáÂaÕÂÀ¾ÕÂà ÖÂ`ÎÕÂ ÛØÂ€Eä yÞÂàê€Wá @ÝÂàƒ×Â`’ßÂ`¼ØÂ@£äÂ`ßÂÀ¬ØÂÀÐÒ ÏÚÂ@ÍÝÂ@µá€òÜÂsÒÂCÚÂÀ”Ü yÞÂÀ Ú ©Ö íÕ ÜÂà¾âÂà;ã ‘ÚÂ7ÜÂ@2â .àÂÀÚÂ@\ÛÂÀÛÂÀŽÝ d×€Wᠥ᠋۠«à ŸâÂÀ¦ÙÂÀGÔÂ@PÝÂàqÚ€ŸÕ …Ü€ÚàÂà×€ÂäÂà×Â@åÂ@åÙÂaÕ ØÂÀ‚ßÂàƒ×Â@\ÛÂ@ýÕÂÀ²×Â@Õ ÏÚŠãÂ`÷ã (á @Ý€žê€oÝÂ@ÇÞ vÔÂ`°ÚÂÀÿßÂ`¤Ü€ØÂ€øÛÂ`¼ØÂàúØÂÀßÂ`†á–áÂ`'Ü€ÈãÂ7Ü€þÚ ØÂ`9ÙÂà¾â (áÂ`-Û€9æÂäÔ€ÃÏÂàMàÂàîÚÂàÔÂ@ñ×Â@åÙ bÍ ÝÂàèÛ€ìÝÂ@åÂ@žÐ Ü ÚÂÀ;ÖÂàƒ×€]à ÝÂ@ŒÓÂÐÂ`‡ÌÂàqÚ€oݢߠpÕÂ@†Ô ãÂÀ Ú€uÜÂ[ÖÂ@nØÂ 4߀4Ò€ÖÂ@€ÕÂÀGÔÂ`ÈÖÂÀ¬ØÂöÑÂ@nØÂ€]àÂ@ÇÞ vÔ £×Â`!ÝÂ`3ÚÂ`æÑÂ@>àÂ@ÍÝÂ@ÁßÂ`Â×€™Ö Ò€LÎÂ`ªÛÂ`¶ÙÂÀ ÞÂàeÜ 4ßÂàØÂ€‡Ù®ÝÂàÜÝ€øÛÂ`'Ü€Ú óÔ öÞÂ@÷Ö€ Ù ¦ÌÂ`ÔÔ€àßÂ1Ý ‹Û yÞÂÀ#ÚÂàkÛÂ@ŒÓÂàØÂ`-ÛÂ@åÙÂÀÚÂà ÖÂ`žÝÂ`ÔÔ @ÝÂÀ²× DÒÂðÒÂ`uÏÂàÜÝÂàîÚÂ@>àÂàÜÝ´ÜÂàÜÝÂ`߀×ÂÌØÂ@t×Â@QÈ µÔÂ@,ãÂ`ŒàÂ`žÝ ÐÂÀ¬ØÂ@åÂ@åÙ¢ßÂà¸ãÂ`QÕÂ`ìРÁÒÂ[Ö€.Ó ÇÑÂÏ€±Ò Ý€uÜÂÆÙÂÆÙÂÒ× d×Â`3ÚÂÀ‚ßÂ@Dß —Ù Ý çÂ%ßÂ`'ÜÂ`!Ý€'é ‹Û€Âä …ÜÂ%ßÂàwÙÂÀÝ êà€{Û XÙ„ä Ù€ÖÂOØÂÞÕÂ@PÝÂà¦æÂ@ßÚ ÕÙÂÀ¾Õ€Úà€¥ÔÂðÒ 4߀ÚÂ@ Ô pÕÂðÒÂ1Ý ÒÂ@hÙ £×Âà}ØÂ`WÔÂàôÙ€"Õ ½Ý ÏÂ@ÍÝÂÀkÎÂ@JÞ ©ÖÂ`!ÝÂàƒ×Â`9ÙÂ@åÙ´ÜÂ`ýâÂ`cÒÂÀ²×ÂÀ²×ÂðÒÂÀ;Ö ÃÜÂ`¶Ù ÛÂÀÚ ð߀iÞ  ÑÂ`ŒàÂ@VÜ XÙÂ@ÒÂÀMÓ XÙÂ@JÞÂ`?ØÂ ÍР—Ù€øÛÂ@,ãÂÀ¬ØÂÀ²×ÂÐÂ7ÜÂÀ²×€(ÔÂÀ/ØÂ@¯âÂ`9ÙÂà*ÑÂ`ËÂÀ¾ÕÂ=Û€™Ö´ÜÂàîÚÂgÔÂ7Ü€ìÝ ·ÞÂ`¶Ù€Ú€Úà€QâÂÀÊÓ £×ÂÀqÍ  Í µÔÂÀ”ÜÂà‰ÖÂÞÕÂà§Ñ .àÂ@VÜÂàBÍÂЀÚÂà0ÐÂÌØÂ€ÚÂ ÛØÂ€çÉÂÀ²×Â`]Ó¢ßÂàÖÞÂ`ÈÖÂaÕ€“×Â`ÎÕÂ7Ü ÛÂà‰ÖÂ@ÓÜ€EäÂ@Áß d× ¯ÕÂOØÂ@˜Ñ ÿÒÂÀMÓ ØÂ@˜Ñ ^ØÂ@˜ÑÂU×ÂØÖ  Ñ€òÜ …ÜÂ7ÜÂ`ÚÓÂÀšÛŠãÂ@¶ÌÂ`3Ú€«ÓÂ@&äÂ@sìÂ@÷ÖÂ`Œà ‘ÚÂ=Û ÛÂÀ)Ù€RÍ ÎÂ`àÒÂÏ€oÝÂàÕÂàÂ[Ö®ÝÂàÖÞ€™ÖÂ`ÚÓÂ@\Û€«ÓÂ@»à€?å€uÜÂàAâÂàƒ× ^ØÂ@>àÂ`ÈÖÂÀÜ´ÜÂ@ßÚ€uÜÂ`-Û ^ØÂà‰Ö€ÉÎÂÀ¸ÖÂ@ßÚÂàèÛ€"Õ€ØÂÀ”Ü€ØÂ@€Õ ÙÂ@÷ÖÂ`?ØÂÀÊÓ )ÌÂðÒ€™ÖÂàwÙ€É΀RÍÂÀ²×ÂÀùàÂÀßÂ@’ÒÂ@\ÛÂÀAÕÂÀMÓ µÔ ,ÖÂà0ÐÂÀËÂ`ìЀ4Ò€×Â@VÜÂ@!ÐÂ@÷ÖÂÀ Ú ÃÜ 4ß ØÂÀ/ØÂIÙÂÀÛåÂaÕÂêÓ ÒÂÀèÎÂ@¤Ï yÞÂ`ÔÔÂ`KÖÂà³ÏÂ@Ó€{ÛÂà_ÝÂÀ ÞÂäÔÂ…ÏÂ@t×Â@¤Ï ÇÑ€ØÂ€ìÝÂàwÙÂ[ÖÂà~ÃÂÀÚ (áÂ ÛØÂ€øÛÂÀ”ÜÂÀÖÑÂàúØÂ ÍРÍРˆÑÂ`™É€"Õ€ ÙÂàèÛ€"Õ ÓÏÂÀÝÂ@ÍÝÂáÂÀAÕÂ`Â×€™ÖÂÀÐÒ´ÜÂÀÖÑÂ` Ì€™ÖÂäÔ ˆÑ€ÏÍ óÔ RÚ€™ÖÂÀ¸Ö ÉÛÂà<Π»Ó ÏÚ íÕÂÀÐÒÂàÔÂà›Ó çÖÂà*Ñ€áÊÂÀ/ØÂ@€ÕÂ ÛØÂàwÙÂ@˜ÑÂÞÕ€ØÂ@nØÂ®Ý ‘ÚÂ@ýÕÂÀ²× —ÙÂ@t×ÂàeÜÂÀÛÂÀ#ÚÂ@€ÕÂà× LÛ€Ö ,Ö Ë VÏÂÀˆÞÂ`KÖÂOØÂ ÁÒÂ`WÔÂ`ÔÔÂ`oÐÂàÕÂ@zÖ "âÂàÜÝÂ7ÜÂ`àÒ€{ÛÂ`9ÙÂsÒÂ@ÑÂà•Ô€æÞ ËÂ@-ÎÂ@ÓÂÀÜРíÕÂàkÛ DÒÂ@¤ÏÂ`Â×Â@ñ×ÂÀËÂ`uÏ€XÌ ΠjÖÂâ ‹ÛÂgÔÂÀšÛ€ìÝÂ`KÖ¯ÈÂÀšÛÂ@¶ÌÂ`ÚÓ€4ÒÂ@ýÕÂà¡ÒÂ`‡ÌÂÀ ÞÂ`¶Ù »Ó€þÚÂ@ŒÓÂ@°ÍÂà¡ÒÂàeÜÂ[Ö€:ÑÂÞÕ ©ÖÂà‰Ö€.Ó€(ÔÂÀÚÂ@\Û DÒÂ@\ÛÂ`¼ØÂ ‹ÛÂ@’Ò «à Û€þÚÂ@êÂ`’ßÂÀîÍÂÀÈ 5ÊÂàãÇÂ`{ÎÂ`ÔÔ gá€øÛ ØÂ åÌÂÞÕ€{Û á×Â@iÄ€ÖÂà×Â`]ÓÂ@\ÛÂà6ÏÂöÑ€ØÂ :ÞÂ`žÝÂ`QÕÂ ÛØÂ€ÎâÂ@µáÂÀ;ÖÂà*Ñ pÕ ÚÂ@÷ÖÂOØÂ€±Ò ÁÒ€øÛ€iÞÂ`KÖÂ@hÙÂ…ÏÂ`àÒÂðÒÂÆÙÂ`¤ÜÂOØÂ`E× ðßÂ@nØÂÀYÑÂ`Â×Â@¶ÌÂÀÊÓ £×ÂÀîÍÂaÕ€¥Ô òéÂ`ªÛÂ`ÞÂà;ã XÙÂ@÷ÖÂÌØÂ@t×Â`?ØÂ`9ÙÂ`Þ€ÚàÂàƒ×€‡Ù€±ÒÂ@ÙÛÂÀ|à ÃÜÂ`°ÚÂ@÷Ö ,ÖÂÀ)Ù ©ÖÂ@žÐÂ@hÙÂàGáÂØÖÂ`nåÂàÕ FÜÂÀ¦Ù RÚ€ ÙÂÒ×ÂÀGÔ d×ÂCÚÂàÕÂà$ÒÂÀ¦Ù ÜÂ+ÞÂ%ßÂÀÜ pÕÂ`¼ØÂÀíâÂûå ãÂ@hÙ LÛ sßÂ`¤Ü ÉÛÂ+ÞÂ`'Ü Òä 8Ô€]àÂÀ¦ÙÂ@ÙÛ FÜÂ@ÓÜ äÂà”逸ÛÂ`žÝÂ`¶ÙÂÀ5×Â`9ÙÂ`QÕÂûåÂ`žÝÂàƒ× ðßÂ@ÍÝÂÆÙ€Qâ ½ÝÂCÚ çÖÂàâÜ @ÝÂ`QÕÂ`àÒÂà¸ãÂOØÂ@ñ×Âà_Ý€9æÂ ´éÂÀ”Ü ÁÒ€Ú€™ÖÂ`9Ù :ÞÂ@¯âÂ`¶ÙÂÀ/ØÂ@zÖÂ`â€cßÂÌØÂ íÕ ËÂ`'Ü ÚÂ@ýÕ ÝÂàMàÂ`æÑ€‡Ù gáÂ`KÖ€òÜ€àß %ìÂ@ÍÝ€uÜÂàúØÂ bÍ ÉÛÂÀ¸Ö€9æÂ@2â ¯Õ ‘ÚÂàqÚÂ@»àÂÀ¾ÕÂàÂàÔÂðÒ ÙÂ`9ÙÂ`ÈÖÂüÐÂ`âÂàÊàÂ`ñäÂÀAÕ .àÂÀÛÂ@t×€øÛÂ@VܨÞÂ`ªÛ  ÑÂÀ/ØÂ€ØÂ€"ÕÂ`9ÙÂ@÷ÖÂàƒ× êàÂ`ñ䀟ÕÂÀ;ÖÂÀ#ÚÂàâÜ DÒ \ÎÂÀ/ØÂ@ßÚÂÀ²×Â@†Ô yÞÂ@ÍÝÂ@ñ×ÂÀ_Р«àÂ@ßÚÂà}ØÂà€ Ù XÙÂàMàÂ=Û [ãÂÀ Ú€“×€ØÂ@PÝÂïçÂàÜÝÂÀ¾ÕÂ@ÓÜÂàÕ 4ßÂàúØÂ@ëØÂ ýÈ€ŸÕœàÂÀŽÝÂÀ;ÖÂ@åÙ€Kã€àßÂàâÜ ©ÖÂ`E×ÂÀpâÂàÕ€·ÑÂ=ÛÂÀÝ€Eä€òÜÂàúØÂ€±ÒÂÀÐÒÂáÂÀ|à ØãÂàGáÂ`’ߨޠ"âÂÀšÛ µÔÂà¸ãÂÀ¬ØÂCÚÂ@ åÂ@\Û€ÏÍÂ@'ÏÂOØÂ`¤Ü £×ÂÀ”ÜÂàGáÂ@ëØÂ RÚ ØÂÀAÕÂ@t×ÂgÔÂ@ÍÝ€àßÂ`ßç ÚÂ@ ÔÂÀ;Ö€ ÙÂ@Õ ¯ÕÂàÜÝÂàƒ× ÛÂ@ÁßÂ@ÁßÂà üÝÂ@'Ï óÔÂ`]Ó€{ÛÂ@nØÂ€òÜÂ` áÂàeÜÂ`'Ü VÏ ùÓ´ÜÂ@Ò€@ÐÂà‰ÖÂ@ÇÞ ØãÂà›ÓÂ1Ý mà ÛÂ@ßÚÂÀáäÂ@\ÛÂàèÛ€oÝÂÀ Ú ±ßÂ`E×Â`ÎÕÂà5äÂ@Õ€™Ö€FÏÂ`àÒÂÏÂ`WÔ  ÍÂ@ÕÂÀçãÂ`¤Ü »Ó íÕ€(ÔÂÀ ÚÂÀ;Ö ^ØÂ`]Ó “䀙֠^ØÂÀ ÚÂ@ýÕÂ@ßÚ ·Þ íÕÂÆÙ ÇÑ ØÂ€ÕÌÂ`¤ÜÂàkÛÂÀÊÓÂ@ÈÉÂàÔÂ`9ÙÂäÔÂ`¶Ù›õÂ`F &× [ã€ØÂÀÖÑÂàÔÂÀ Ú åÌÂ@ÙÛ€ÃÏÂ`ÚÓÂÀkΠ‚Ò RÚ ÛÂ`¼ØÂgÔÂà}ØÂ@ÁßÂ ÛØÂ pÕ ÉÛÂ@åÂCÚÂ`QÕ€Ú "âÂàeÜÂÀ¾ÕÂ`â ÃÜ€uÜÂ@ßÚÂ`ÎÕÂÀšÛÂàÐß–áŠã ½ÝÂ`ëå€Úà€æÞÂÀ|àÂÀùàÂ@\ÛÂ`ýâ @ÝÂÀ²×ÂlèÂÀíâ€Úà€Ú aâ @ÝÂÀjãÂÀçã Ý Û„ä FÜÂàAâ€ìÝÂ@2âÂàGá€ÔáÂ@,ãÂà§ÑÂàMà€¶æÂéèÂ@æÂÀ½êÂ@>àÂrçÂõæÂ ŸâÂÀŸïÂÀçãÂ`zãÂÀ±ìÂrçÂàÊà gáÂ@DßÂÀÉè–áÂÀùàÂ`Ùè ãÂàÄá€þÚÂ@>àÂ@»à gá ±ßÂ@JÞÂÀíâ ÒäÂ@»à äá {è êà þçÂà5ä äÂÀ¦ÙÂ`2ï®Ý Àç ŠðÂà²äÂÀ(îÂ`ëå cìÂ`VéÂÀ”ÜÂr瀤éÂÀ^åÂ`\èÂ`zã =è€òÜÂ@ÇÞÂÀíâÂ@ðìÂ@æÂ ÃÜÂÀÝ åÂÀÉèÂ`€â +ëÂ`bçÂÀ½êÂ@‹èÂ`8îÂ@ê Þâ ãÂàMà€ªèÂ`ßçÂàvîŠãÂ`åæÂ 4߀QâÂà#ç¡ôÂ@ åÂ@ÁßÂÀŸïÂIÙ yÞ€?å [ã€'éÂ`åæÂféÂ`÷ãÂ@äî ã ¢ìÂ~åÂÀáäÂ`Áì ï iëÂ@PÝÂ@bÚÂÀñ rô iëÂàìÂàjð çÂàùíÂ@‘çÂà¬å oêÂNíÂ@éÂ@ÇÞÂ@èÂ`JëÂÀñÂ`Áì ÌåÂZëÂ@瀶æÂàMàÂ`’ßÂ`ë倘ëÂ@ÍÝÂÀdäÂàèÂÀRçÂËíÂ`hæÂ ië IæÂ€9æÂ Àç çÂ`>íÂ`ô€íÂïçÂ@‘ç€Eä «à€?åÂàMàÂ`Çë gáÂà²ä ]í Øã þç€ÈãÂàÐßÂ`àÂàâÜÂÀ ÚÂàkÛÂ`9ÙÂ@ÙÛÂ`ÞÂ`Œà–áÂ@æÂ`\è Oå€EäÂ`ñäÂ@èÂà5äÂ ÆæÂ€?åÂàâÜ€ìÝ€ÈãÂféÂàê€íÂÀXæÂŠãÂÀÝ€Kã ·ÞÂ`ßÂ@äî ãÂà ç ‹ÛÂÀ:ëÂ@æÂàÄáÂàôÙÂÀÿßÂ`Â×Â@ñ×ÂÒ× LÛ üÝÂ1Ý ã ãÂ`oÐÂà¾âÂ`à€Úà€Ö€uÜ ÝÂ`nåÂÀ|à XÙÂ@£äÂ`3Ú€à߀3ç€]àÂàÊà RÚ€9æÂ Ý FÜ€E䀸ÛÂÀÝÂà‰Ö cìÂ@,ãÂ`?ØÂ€oÝÂ@µáÂ+ÞÂâÂ@bÚÂàØÂ`¼ØÂ´Ü€æÞ€Èã€@ЀÂäÂàÊà€KãÂàèÛ€ØÂ€òÜ€Ö ÃÜÂ`°ÚÂ@†Ô€øÛÂàwÙ ‹Û€Âä ØÂÀ¸ÖÂ`ªÛ ãÂÀÜ€Ú€ØÂà‰ÖÂäÔÂà¾âÂ@8á ðßÂ@>àÂÀ²×Â@ëØÂ á×Â`'Ü ©Ö :ÞÂàîÚÂ`¶Ù µÔÂÀíâÂÀjãÂIÙ ÁÒ ÕÙÂ`\èÂ@ÓÜÂ@>àÂ@ÍÝÂ` á–áÂ`'Ü€øÛ ”ÏÂ@JÞÂ`!ÝÂ@8áÂ`KÖ |ÓÂ`KÖ€.Ó€ÖÂ@ëØÂ üÝ€™ÖÂ`iÑ®ÝÂ@Õ€òÜÂÒ×Â@ÓÂ@µáÂÆÙÂà}ØÂÒ×ÂÀSÒÂOØÂ@hÙÂ7Ü€“× ÿÒ ½ÝÂÀ”ÜÂÀwÌÂ`ÔÔ ©Ö RÚÂÀçãÂàôÙ "âÂáÂÀèΠñÊÂ`KÖÂ@ÓÂ@÷ÖÂÀ)Ù ÚÂOØÂà•Ô ¯ÕÂ`Œà µÔÂ@ŒÓ€]à®ÝÂÀ;ÖÂ@hÙÂàâÜ€à߀EäÂ`ëå üÝ (á€ÂäÂ`!Ý FÜ ¢ìÂ`\è sßÂÀ¾ÕÂ`÷ã @ÝÂ@Ó ÍÐÂÀÄÔÂ@ýÕÂÀ¦ÙÂ`˜ÞÂ`ÓéÂÀ|àÂ`Â× ÝÂÀˆÞ FÜÂÀváÂÀjã UäÂàÜÝÂÆÙÂ@ÇÞ |ÓÂ1ÝÂàØÂ@ÍÝÂ`3ÚÂÀ5×–áÂàÂÀ^åÂU×ÂàôÙ€ŸÕÂàÐßÂ`3ÚÂàšèÂ`ßÂ@÷Ö´ÜÂàMàÂà×€ØÂ .à ØÂCÚ á×Â`ÈÖÂ@\ÛÂÀšÛÂ`òÏÂ@ñ×  ÑÂ`QÕÂàôÙ 4ß ±ßÂêÓÂÀÚÂá ØÂØÖ Ù΀FÏÂÀ¸Ö€ŸÕ€]à Ý d× êàÂ=ÛÂ`¶Ù€¥ÔÂÞÕÂ@\Û€‡Ù sßÂÀçãÂÀÛÂàÖÞ åÂ@bÚÂ`-ÛÂäÔÂÀÖÑÂÀ¬ØÂ …ÜÂàAâ€øÛÂ`!ÝÂà³Ï ^ØÂ€ŸÕ€òÜÂ`Œà ^ØÂ ÁÒ á×Â`’߀ØÂÀˆÞ ÚÂ`ìÐÂÀÚÂà×€ÎâÂ@,ãÂÀdä ‹Û€×ÂÀ‚ßÂ@ñ×€æÞÂàÖÞÂÀÃéÂà}ØÂÀÚÂ@D߀ ÙÂ`¼ØÂàqÚÂÀ ÞÂÀ Ú [ã€×Â`-Û€øÛÂÀRçÂ`ªÛÂÀ;Ö çÖ€WáÂ@VÜÂÀ/ØÂàYÞÂÀÜÂÀ5×ÂàÖÞÂ=Û ·Þ–မÖÂ@ÁßÂ=ÛÂàâÜÂ@ Ô ÇÑÂàYÞÂ@åÙÂÌØÂàÄáÂ`ßÂ`ªÛÂ`âÂ`¼ØÂ@÷ÖÂ@æÂ@2â [ã ÚÂ@nØÂ öÞÂ`†áÂÀçãÂ`'Ü ÃÜÂÀíâÂÀÜÐÂà «àÂ`3ÚÂêÓÂÀAÕÂ`¤Ü¢ß€ìÝ ¯Õ ÙÂ@ÍÝÂmÓÂÀÊÓÂ@åÙÂ%ßÂÀóá€WáÂÍ 8ÔÂàYÞÂ`Â× &×Âà ½ÝÂmÓÂàôÙÂ@¯â ½ÝÂ+ÞÂÀÜÂ@hÙ€ ÙÂÀŽÝÂÀß gá ÃÜÂÆÙÂàÂ`ýâ€ÈãÂ@8áÂ`¼ØÂ%߀×Âà ÖÂ@8áÂÀóá LÛ€iÞ —ÙÂÀÛÂàÐßÂÀ|àÂÀXæÂ@\Û€ÂäÂàÕÂÀ¸Ö aâÂÀÚÂ`¶ÙÂ䀪è€{ÛÂâÂ@å€3çÂ@‹è¨ÞÂÀˆÞ€-èÂ@üê€uÜœàºÛÂ`\èÂ`\è …ÜÂ`täÂÀÝÂ@JÞ ,Ö [ãÂÌØÂ ã XÙÂ7ÜÂ@»àÂ`ñäÂÀ Þ ¢ìÂÀpâÂ`¶Ù ÿÒÂÀùà¨ÞÂâ Ú Ú€òÜ€¥ÔÂ@»àÂä®ÝÂÌØÂ á×ÂàÂ`ÙèÂàâÜÂ@åÙÂàƒ×ÂÀÿßÂ@èÂ`’ßÂ` á¢ßÂÀ|à ÜÂ`nå€uÜÂ`’ßÂà)æÂ€Úà€WáÂ`åæÂ@êÂlèÂà¸ãÂ`ñäÂÀ½êÂàšè€Èã màÂà× pÕ ±ß ÝÂ@æÂ@éÂ+Þ€Eä åÂÀváÂÀ^åÂà×€oÝÂ`'Ü€Ú࠽ݠ=è åÂ@ÁßÂàîÚ Oå€ëÂàÕ Oå¢ßÂ@ÇÞÂà‚ì€ÈãÂÀjãÂ`ñäÂà_ÝÂ@bÚÂà²äÂ`KÖÂ@&äÂÀ‚߀àßÂ`!ÝÂ7Ü ·Þ ØãÂÀ·ëÂûåÂ`9ÙÂ`\è ØãÂrçÂ[Ö sßÂàØÂàÕÂÀÛÂÀ|à Uä aâ€Îâ "â€EäÂ`ÞÂÀáä ÃÜ€]àÂ ÆæÂ yÞÂÀ”ÜÂàSß ÃÜÂ@¯â üÝÂä aâ IæÂ@µáÂÀ²×€ÔáºÛÂà)æÂ ã ÏÚ ¥áÂ@èÂÀÕæÂ`žÝ @Ý [ãÂ`€âÂÀjã (á 1êÂàkÛ€uÜÂ@VÜÂÀ¦ÙÂÌØÂÀ¦ÙÂ@÷Ö 4ß ÝÂ`ÚÓÂ@©ã ÉÛÂÀ¦ÙÂIÙÂÀGÔ€{ÛÂ%ߖမ֠(áÂ`¶ÙÂàâÜÂ1ÝÂxæÂ@>à Þâ€Úà Ý€]àÂÀáäÂÀáäÂ@êÂÀXæÂ cì ¥áÂÀ‚ß RÚ€Èã ÃÜ aâÂ`Œà€È〟ՀEä ãÂ~å€øÛ ‡æÂÀÜ üÝÂàÐß ·ÞÂÀpâ ð߀¶æÂ@zÖ€™ÖÂÀÕæÂËíÂà_ÝÂ@€Õ ©ÖÂà§ÑÂà¾âÂ@å öÞÂà‰Ö€àß oêÂ` á gáÂà ç êàÂÀáä€?åÂ@hÙÂÀ|àÂ@¯â ¥áÂ`ñä Ÿâ€ØÂ Òä€EäÂàÄáÂÀÜÂ`àÂ@‹èÂ@éÂ@ç€-èÂãéÂ`Œà mà oêÂ@2â ½ÝÂ@&äÂ`bçÂ`-ÛÂ@è cìÂ`åæÂ ´é€QâÂ@ÇÞ€Èã€òÜ€ÖÂ@åÂ@ÓÜÂ@’ÒÂÀ#ÚÂàMà€cßÂá€Kã ÛÂxæÂÀáä€EäÂÀXæÂ (áÂ`ýâÂÀóáÂ`÷ã€!êÂ`\èÂ`’ßÂÀÜÂÀíâÂÀÉèÂ`ÈÖÂÀ‚ß «àÂ`Óé´ÜÂ%ßÂ@zÖÂ@nØÂàqÚÂ` á 2ÕÂ@8á ¥á d×Â`°ÚÂåÂàúØÂ€æÞ€WáÂÀ5×ÂÀdäÂÀ”ÜÂÀŽÝ ¥áÂûå oêÂ@©ã å ãÂlèÂ1ÝÂ@ÁßÂ@ëØÂà¸ã€þÚÂ` á ÕÙ€oÝÂÀÚ€(Ô€Â䀪èÂ`-ÛÂ`÷ãÂ@Dß –î ÜÂ`ªÛÂàÄáÂ@æÂ@8áÂÀÝ @ÝÂOØÂà Ö€¼åÂàÕ XÙ¨Þ€òÜÂàîÚÂàqÚÂ@hÙÂ@©ãÂ~åÂ@VÜ€øÛÂU×ÂÀùà€cßÂàqÚÂÀóáÂ@8áÂÀ5×Â@\Û ¢ìÂ`Pê€iÞÂ@÷Ö "‼å "âÂ`žÝÂ@ ÔÂÀÜÂ`zã yÞÂà¡Ò€:ÑÂsÒÂÌØÂ@8áÂ`¼ØÂ`?ØÂà‰ÖÂÀ;ÖÂ`ÞÂ`ªÛ ÚÂÀ¬ØÂÀ;ÖÂ@JÞ ÝÂÀpâÂ@3ÍÂ@9ÌÂÀ¦ÙÂÀ‚ßÂÑìÂ`˜Þ ¥á ÃÜ€×Â`æÑ óÔÂàÜÝÂ@\ÛÂ`°ÚÂ@¯âÂ@æÂ ·Þ çÖºÛ€×Âä€oÝÂ@ŒÓÂÀóáÂàwÙÂàîÚ ÉÛÂ`ªÛ ã vÔÂÆÙ ±ßÂ`’ß LÛÂ@ñ× &×ÂÀ#ÚÂàYÞ€àß «à€]à€“×€ Ù€oÝÂÀ)ÙÂÀ¸ÖÂÀèδÜÂ`¶Ù yÞ ðßÂ@†ÔÂ`Í€Ú ‘ÚÂ@hÙ :Þ ‹ÛÂ@ßÚ€‡ÙÂ@÷ÖÂ`E×Â@\Û :Þ 4߀.Ó oêÂÝꀙÖÂÒ× ½Ý€{ÛÂ@—æÂ@å€Wá yÞÂgÔÂ@JÞ€EäÂ@µá€ÔáÂàÜÝÂ@nØÂÀ߀øÛÂÀ¬ØÂ ÜÂÀdäÂIÙ :ÞÂU×Â ÛØÂ€™ÖÂ@ëØÂ êà [ã€Eä ØÂ€ÚàÂ`ŒàÂ@ýÕÂ`†áÂÀ¦ÙÂ`¼ØÂ ÝÂ@Áߠ܀iÞ Ò€àßÂCÚÂ`KÖÂ@bÚÂ`˜ÞÂ`E× íÕÂÀíâÂ@ Ô ùÓ :ÞÂÀ¬ØÂöÑ jÖÂÀ/ØÂgÔ ÝÂ`ÚÓÂ`ÎÕÂÀÊÓ€iÞÂ`¤Ü sßÂàwÙÂ`ìÐÂ@ëØÂ ‘Ú LÛ€×ÂöÑ aâ€Úà€øÛÂ`ËÂ@hÙ LÛÂ@nØÂ êàÂU×ÂàØÂ´ÜÂàYÞÂà Ö€QâÂ`ÔÔÂÀÊÓ€4Ò FÜ€.ÓÂàôÙÂ`KÖÂ`cÒÂÀ|à€™ÖÂàéÆÂ »Ó “ä ÀçÂ`E×Â@åÙÂ`KÖ ÎÂÀÝÂ@åÙ £× pÕ d×Â@JÞÂÀ Ú€¥ÔÂ`žÝÂ@bÚÂÀ#ÚÂÀÜÂ`E×ÂàÄá ãÂÀÛÂ@è€ Ù€cß ©ÖÂ@PÝ€{ÛÂðÒ ¥á€"ÕÂ@ßÚÂ`ªÛÂmÓÂOØÂ ÏÚÂ`9Ù ØãÂ@t×€ÃÏÂ`]ÓÂÀ¾Õ öÞÂ@ÍÝÂ@VÜ ^ØÂCÚ ÁÒ .àÂ`ÚÓÂà Ö d× jÖ ùÓÂ@t×Â`?ØÂàôÙ ˆÑÂÀÚÂ@Õ "âÂÀ¦Ù¢ß sßÂ@>àÂÀ¸ÖÂàÐßÂ`-Û ÿÒ€ÎâÂà0ÐÂ@nØÂà•Ô |ÓÂ@t×Â%߀±ÒÂäÔÂ1ÝÂ@t×ÂàwÙÂ`9ÙÂsÒ€øÛ »ÓÂ@ÓÜÂÀ¸ÖÂÀAÕÂU× gáÂÀÛ€.ÓÂÆÙÂ`ÈÖ öÞ€ÚÂà}ØÂ FÜÂ@ÓÜÂ`9ÙÂäÔ jÖÂàƒ×Â[ÖÂ%ßÂÀ;ÖÂgÔÂ@\Û XÙÂàƒ×ÂÆÙÂ`]ÓÂ@©ãÂÀdäÂyÑÂÀÝ€«ÓÂIÙÂ1ÝÂ=ÛÂ@€Õ  æÂÀ¦ÙÂ`ÞÂÀ ÞÂ`¼ØÂÀßÂàÊàÂàîÚÂ@æÂ–ဟՠçÂ`¶ÙÂÀšÛÂÀ ÞÂà/åÂÀ#ÚÂ@bÚ€QâÂÀŽÝ€Qâ€Qâ þç oêÂà€øÛ€:ÑÂÒ×ÂÀÜÂ`àÒÂÀ²×Â`'Ü ‹Û äáÂàÄáÂäÂ@ÙÛÂÀ‚ßÂ@2âÂÀ¬ØÂàeÜÂ@8áÂ`Â×Â@PÝÂÀŽÝÂ@ÍÝÂÀáä ^ØÂŠãÂ`’ß ãÂà}ØÂ ÚÂ`ÞÂØÖÂàwÙÂaÕ€{Û UäÂå€E䀨ÂÌØÂÀMÓÂ%ßÂàâÜ€“× ‘ÚÂ`!ÝÂ`žÝÂàYÞÂÀŽÝÂ`àÂ@ñ×Â`ëåÂ@ÓÜ€Ú€×€ØÂ@nØÂ@£äÂÀ¬ØÂÞÕÂÀpâÂáÂ`˜Þ ±ß màÂ@¯âÂÀÝ€ÎâÂ`nåÂÀ Þ€‡ÙÂâÂÀ@êÂ@çÂ`QÕÂà}ØÂ@æÂÀŽÝÂgÔÂÀ)Ù 2ÕÂàÐ߀oÝÂyÑ á×ÂÀSÒÂàÕÂÀÜ€9æÂ`’ßÂ`?ØÂ@ÍÝ€cßÂÀߺÛÂÀpâÂ@ÍÝÂ`ýâÂ@ÕÂ@åÙÂ@\ÛÂ@ßÚÂ`ŒàÂêÓÂ`WÔÂ@ÑÂàúØÂ`'ÜÂÀ‚ßÂ`ÍÂÀ¾Õ€ÚÂà¬å€.ÓÂCÚ íÕÂ@JÞ ÕÙÂ@ÇÞÂ`¤Ü sß 2Õ ¯Õ€cß «àÂ@÷Ö 2ÕÂ@t×Âà_ÝÂÀjã ·Þ€ØÂ@Áß ÕÙ ÀçÂ`–׀ÚÂÀšÛÂÀ¸Ö ‹ÛÂ@ŒÓ ÝÂàèÛÂ@VÜ µÔÂ`uÏÂàeÜ€-è ÏÚ€òÜÂ`E×ÂØÖÂ`9Ù´ÜÂÀ#ÚÂyÑÂàÜÝ LÛ€“×ÂÀ ÞÂ@\ÛÂ@ÇÞÂ@PÝÂ`Œà …ÜÂÀ4ìÂà•Ô€4ÒÂà Ö€{ÛÂàqÚÂ%ßÂÀ¬ØÂ`žÝÂ`†á€oÝÂ@t×€øÛÂxæÂ £× gáÂÀ#ÚÂàeÜÂ@&äÂ`Â× ¯Õ DÒÂÀ#ÚÂáÂ`Þ ÿÒÂ`!ÝÂ`?ØÂ@bÚ€øÛÂ@,ã ™ã ãÂ`†áÂÀùàÂ@åÂ`Þ€.Ó ÕÙÂ`˜ÞÂ@»àÂàØÂ ±ß€QâÂÀGÔ ‹ÛÂ`¶Ù€àß yÞ€×Â@ÕÂ`9ÙÂ`]ÓÂ`-Û€ÔáÂ@ýÕÂÀ#ÚÂÀ5×ÂÀ;ÖÂ@©ãÂÀ²×€¥Ô€ŸÕÂ`ÞÂ+Þ >Ó Ù´ÜÂàƒ×Â`?ØÂÀ;ÖÂ`cÒÂà›ÓÂÀ/ØÂ ÜÂ`åæÂ@Áß :ÞÂÀ|à Ò䀸ÛÂàÜÝÂÀeÏÂà$ÒÂ@€ÕÂÀ|àÂà_ÝÂ@ªÎÂÀƒÊÂà× ÏÚÂ`Â× ÝÂÀMÓ€™Ö óÔÂ@€ÕÂ@t×Â@t×Â@8á€-èÂÀÊÓÂÀAÕ @Ý ØÂ`°ÚÂÀˆÞÂ`žÝÂà Ö LÛÂàqÚÂÀóáÂ`’ß„äÂ@PÝÂÀßÂÀ¦ÙÂá ãÂÀÜÂàØÂ ãÂ`žÝ€ìÝ€"ÕÂ7Ü€WáÂ`¶ÙÂ@ÍÝÂÀYÑÂ@åÙÂà5äÂàÐ߀ëÂàYÞÂ%ßÂZëÂà¦æÂ@»à€Kã sßÂÀÃéÂ1Ý€3ç ð߀!êÂÀÜÂ@8áÂ@ å aâÂàYÞÂ ÆæÂ äÂàâÜ ÃÜ€]à á×Â@ÍÝÂûå öÞÂ`ªÛ 4ßÂÀ²×Âà çÂàâÜÂ@©ãÂ`nå´ÜÂ`]ÓÂ`Â×ÂÀ;Ö´Ü “äÂÀAÕÂ`à€žê€ÔáÂ@ñ×Â`QÕ Ò Òä€òÜÂ`ßÂ`ß yÞ¨Þ€þÚÂàèÛ ØÂ çÖ 8ÔÂ+ÞÂÀ;ÖÂ@©ãÂ`àÂ@8áÂ`†áÂ`°ÚÂ@’Ò€cßÂà_Ý ±ßÂ`â @ÝÂ@zÖ ‹ÛÂ%ßÂÀúËÂàÕÂ=Û .àÂIÙ€¥ÔÂ` áÂaÕ d×Â@t×ÂÌØÂ@£äÂ@>àÂ7ÜÂ@åÙ @ÝÂ@èÂõæÂàèÛÂ@Õ€uÜÂàeÜ ¯Õ€àßÂ@DßÂÀÜÂ@nØÂá€FÏÂCÚ &נ݀þÚ ±ß€þÚÂ@»à üÝÂÀŽÝÂàƒ×Â ÛØÂ ¨ëÂ`ê€cß ÕÙÂàwÙÂféÂÀ”Ü öÞºÛÂ@£äÂâÂà•ÔÂ`æÑ€ìÝ ,Ö€“× màÂ@çÂ`3ÚÂ@\ÛÂ@ÇÞÂU×ÂåÂÀŽÝÂÀŽÝÂÀ Ú “äœàÂàúØÂ ¯ÕÂàÖÞÂàeÜ ½Ý ÞâÂ@÷ÖÂÀ‚ß µÔ€cß ÝÂ@VÜÂàôÙ CçÂ@»àÂÀ¬ØÂ`’߀(Ô vÔÂÀ^åÂâÂ`¼ØÂ`àÂ@JÞÂ@ñ×ÂÀ ÚÂ@ÁßÂàAâ€cßÂ`QÕÂ%ß å ðßÂ@bÚ¨Þ LÛ€‡ÙÂàYÞ jÖÂ@ÓÜÂÀ|àÂà$Ò á×Âà¡Ò€"Õ€‡ÙÂ` á€uÜÂ`-ÛÂÀˆÞÂ@ëØÂ íÕÂ`†á¢ß =è€øÛÂà×Â`iÑ ÝÂ`¼ØÂÀÿßÂ@bÚÂ@ÙÛÂÀ É€ŸÕ€EäÂÀÿß £× ‘Ú FÜ€þÚ —ÙÂ@VÜ çÖÂ@†Ô€øÛÂ@JÞ ÏÚÂÀÿßÂ1Ý yÞÂ`’ßÂäÂà ÖÂÀÜ …ÜÂà€Wá —Ù€øÛÂÀÜ€þÚ´ÜÂ`hæÂöÑ€{ÛÂàÜÝÂàÊàÂàÅÌÂÀ)ÙÂ`ÔÔÂ@ñ× ðßÂ`ÎÕÂÀ_ÐÂàØÂ`-ÛÂ@µáÂ@bÚÂ`ªÛÂ@zÖÂ`æÑÂà$ÒÂgÔ FÜÂsÒÂÀ)ÙÂÀvဠـ¥ÔÂ@ÓÜÂ7ÜœàÂ@8á´Ü FÜÂ@åÙ ‘ÚÂà¹ÎÂ@˜ÑÂÆÙ€ÎâÂÀ”Ü ØÂ |ÓÂÀ;Ö€“× sßÂOØÂ ÛÂ`WÔÂ+ÞÂÀ”ÜÂà$ÒÂ`¼ØÂ~åÂÀ¸Ö XÙ 2ÕÂ`3ÚÂÀGÔ€"Õ´Ü€{Û öÞÂ`-ÛÂäÔÂÀ#ÚÂÀÜÂÀ¬ØÂÀ¾ÕÂà 4߀]àÂàAâ Ü€øÛ …ÜÂ@ÙÛÂ`ÎÕÂÀùàÂÀYÑ€(Ô€@ÐÂà‰Ö ŽÐ µÔÂ=ÛÂÀ‚ßÂÀŽÝÂ@hÙÂ`ìЀØÂÀ¬ØÂÀvá€{Û DÒÂÀ5× ‹ÛÂÀÛåÂ`âÂ@ÙÛ€¥ÔÂ`ìÐÂ=ÛÂ ÛØÂ€·ÑÂÀMÓ 8Ô aâÂàkÛÂ`ÎÕÂ`cÒÂÀËÂàwÙÂàØÂ€uÜÂÒ×ÂàØÂ`KÖÂàØÂ@-΀.ÓÂ`àÂàÜÝÂ@8áÂ+Þ€LÎÂ>ÆÂ€ ÀÂàBÍ &× Ù΀QâÂ@bÚ Ý Ý ©ÖÂ@t× ÝÂ`ÎÕÂðÒÂ`þÍÂ`àÒ€“×ÂÀ;ÖÂsÒ |ÓÂ@t× ½Ý ÏÚ £×€ÏÍÂÀÛÂÀ ÞÂÀÄÔ€{ÛÂ`°ÚÂÒ× pÕÂàwÙÂàÔ®ÝÂÀ;ÖÂ`E×Â`!ÝÂ ÛØÂ@†ÔÂ@ÕÂÀ²×Â@µá€ÔáÂ`'ÜÂÀ|àÂ`ìÐÂ`ÔÔÂ@ÕÂ`{ÎÂà}ØÂ ãÂ`KÖÂ`€â Ü€ØÂ@t×Â`¶ÙÂ@ëØÂÀpâÂàSßÂ`!Ý ½ÝÂ%ßÂ`ÈÖÂ`°ÚÂIÙÂ ÛØÂ` áÂàeÜ .àÂ`æÑÂÀ ÞÂÀpâÂ1ÝÂ@÷ÖÂÀ²× @ÝÂÀ Ú £×Â`ìÐÂàèÛÂ@ßÚ CçÂàôÙ ÙÂÀÐÒ jÖÂ@ëØÂ ½Ý€°çÂàÊà€×Â@Dß RÚÂ@\ÛÂÀÝ€ØÂ ÝÂ`QÕÂÀ¾ÕÂ@ÙÛÂÒ×€uÜÂ@ÍݺÛÂ@ÙÛÂ`àÂàÜÝÂàÄáÂ@ßÚÂÀÜÐÂÀíâÂ@\ÛÂÀ¦ÙÂ`æÑÂ`Â×Â@ßÚÂÀ@ê€òÜÂÀ¦Ù ^ØÂOØÂÀqÍÂ+ÞÂOØÂàÓÂ`]Ó€øÛÂàØÂàâÜ ½ÝÂ@nØÂÀšÛ ˆÑÂ@÷ÖÂöÑÂsÒÂàeÜÂ@ßÚÂÀ¸ÖÂÀ;ÖÂЀþÚ€ÚÂ`WÔÂÌØÂà å :ÞÂâ @Ý yÞÂ@ÍÝ€àßÂ@äîÂåÂà× RÚÂ@nØÂ ‘Ú€ÖÂ+ÞÂÀšÛÂÀvá€cßÂrç öÞ€uÜ 4ßÂà‰Ö màÂ@ëØÂ`àÒ€Ö€ÃÏÂÀ/ØÂÀÜРíÕ€þÚÂ@JÞ üÝ€WáÂà¹Î óÔ€{Û ùÓÂЀ:ÑÂ@åÙ 2ÕÂ@nØÂÀ¸Ö€ØÂ%ߺۀoÝ€±Ò€4ÒÂ`÷ã pÕÂ`uÏÂ`à‹Î ÝÂ`ßÂÀ ÚÂ@hÙ üÝ€WáÂ@ÍÝÂ`nå Ú€QâÂÀváœà€@ÐÂ@ÙÛ€?å sß sßÂÀŽÝÂ7ÜÂà}ØÂÀ”ÜÂ@VÜÂ`ñä :ÞÂ@\ÛÂ`3Ú€Ôá€ÈãÂàâÜ êà ÝÂÀÜ óÔ (á :Þ€þÚ €È çÖ€uÜÂ@t×Â@VÜ€ÚÂ@£ä€ÚÂàèÛÂÀÝ€“× ‘ÚÂà¬åÂÀŽÝ :ÞÂàÕ óÔÂàGá Ü á×ÂÀAÕ€¥Ô LÛÂ`’ßÂàŽêÂÆÙ gáÂÀ5×€Ö üÝÂÀ¬ØÂ€Eä€×€FÏ€øÛÂà Ö .à ½ÝÂÀ”ÜÂÀ/ØÂ 8ÔÂÀqÍÂ@ëØÂ ä å€?å LÛ ÏÚÂ~åÂà/å …Ü€Ú€æÞ ½ÝÂ@bÚ€«ÓÂà•ÔÂ`°ÚÂ@PÝÂ@»àÂ@ýÕÂâ€?å ÀçÂ ÛØÂÀ¦ÙÂ@ßÚÂÀÄÔÂ`ÔÔ «àÂ`¤Ü vÔÂ@ÙÛÂà¾âÂÀùàÂà/åÂöÑÂ`¤Ü ÃÜÂ@©ãÂÀpâ¢ß d×ÂÀváÂ`9ÙÂ@ÓÜ óÔ€EäÂÀíâ ØãÂ`ßÂ`Â×Â`ß UäÂàîÚÂà¦æÂ øè ÀçÂ`ýâÂÀ|࠱߀QâÂ`Œà Uä€øÛ€]àÂ%ßÂ@zÖ€(Ô «àÂà;ãÂ@ßÚÂË Ò€“×ÂÆÙ´ÜÂÀeÏÂà×Â@bÚ ½ÝÂ`ŒàÂmÓÂ@t×ÂàØÂ ÌåÂ`ÈÖ ^ØÂ@ñ×Â@ñ×ÂàôÙ€ìÝÂðÒ Ú€oÝ [ãÂÝêÂ`òÏÂàÕ€þÚÂÀˆÞÂÀGÔ £×€uÜ 2Õ RÚÂÀáä€ÂäÂ@VÜ€{Û´ÜÂàîÚÂ`KÖÂ`cÒ —Ù€Kã :ÞÂÀíâÂÀ5×ÂàîÚÂÀváÂ`¼ØÂ`9Ù ãÂàÔÂÀ5ׄäÂ`žÝÂ@ Ô¨ÞÂ`ÔÔ€þÚ€pÈÂ@8á ^ØÂ@>àÂ@¯âÂHîÂàâÜÂ@ÁßÂà;ã¨ÞÂáÂÀíâÂ@…é ÝÂÀèÎÂIÙÂ`Çë¨ÞÂ@ÙÛÂ@VÜÂ@Dß´Ü :Þ êà€ØÂŠãÂxæÂ`¼ØÂ FÜ @ÝÂà_Ý [ã Û€ìÝÂÀ Þ —Ù€EäÂ@ ÔÂ@Ó çÖ  æÂ@ñ×€ØÂ`ýâÂ`˜ÞÂ@>à€ìݠ݀{ۮݠÝÂCÚ ÉÛÂ`E×ÂÍÂ`z〙֠á×€¥ÔÂsÒ€æÞÂ`¼ØÂ .àÂêÓÂÞÕÂ@ñ×ÂØÖ€ØÂ@t×ÂÀ|à€]àÂ`ß —Ù€ÚÂÀÚ ÝÂà×€þÚ …ÜÂ`€â€{ÛÂ@ëØÂ`täÂ ÛØÂÀÜÂÀÄÔÂ`àÂÀváÂÀ|àÂ@PÝÂ@€Õ€Úà€iÞ€™ÖÂÀ#Ú€ªèÂ@ê€Kã ã OåÂâÂ`ŒàÂÀjãÂ@ÇÞÂÀXæÂÀùàÂà#çÂÀ:ëÂ@¯â êà€àßÂÀÛåÂà¬å ÒäÂ`VéÂrçÂ@ÍÝ {èÂ`ÓéÂ@ÓÜ ÝÂTìÂà5䀸ÛÂâÂ×ëÂ`€â ä OåÂ`÷ãÂ`Jë€'éÂ`ÍêÂäÂ@>à€Ôá üÝ ðßÂõæÂ öÞ€žêÂ@æÂËíÂÀLèÂÀ|à å€€ïÂ@£ä€iÞÂ@éÂ`9ÙÂ@µáÂlèÂÀÕæÂ ïÂ`t䀶æÂ`\è "âÂ@…éÂ`†áÂ`˜ÞÂ@2âÂ@PÝÂÀÛå äáÂàéÂ`bçÂ@êíÂ@¯â€ÎâÂÀL蠱ߠ æÂ ãÂ@JÞ€9æÂ ™ã ÉÛ€QâÂÀLèÂ`âÂÅîÂÀÉèÂ@êÂ@zÖ ±ßÂÀÝ€!êÂ@&ä —ÙÂÀ#ÚÂÀˆÞÂÀ²× ãÂà5äÂ@æÂ  æÂ`ÎÕ ãÂÀáäÂ`hæÂ`zãÂ`'Ü„ä€Eä€WáÂàèÛÂÀíâÂ@£äÂ`ßÂ`€â¨ÞÂÀóáÂ`PêÂTì€ÚàÂÀ ÞÂàÜÝÂÀ^å Ÿâ (áÂ@æÂ@&ä ‡æÂÀ ÞÂÀLèÂ`†áÂ@8áÂÀRçÂ@2âÂ`žÝÂÀŽÝÂ` á åÂZëÂÀšÛÂà_Ý€ŸÕÂ ÆæÂ€ÂäÂÀÝÂ@ßÚÂà;ã UäÂÀÉè {èÂÀÜ€uÜÂÀ(î Ü 4ß FÜÂ`ßÂ@ÍÝÂ@&äÂàÊàÂà sß %ì€cßÂ`nå Cç ãÂ`-ÛÂÀùà ãÂ`†áÂÀÏç ¨ëÂãé ´é€cßÂ@åÂâ€WáÂ`\耤éÂÀ.íÂIÙ€EäÂûå€ññÂ`†á ÙÂàÜÝ€ÚÂ`°Ú€þÚ äáÂàèÂÀ.í ØãÂ`!ÝÂÀÝÂxæÂ@‘çÂà²ä ÞâÂÀóá LÛ€€ïÂ@JÞÂ@µá„äÂ`€â ®ê øèÂ`!ÝÂâ€Âä€9æÂ ‘Ú€9æÂ@hÙÂàèÛÂ@©ãÂ`3ÚÂõæÂàkÛÂÀ/ØÂà¸ãÂ@µá LÛ ã Þâ€þÚÂ`nå äÂ@Áß QïÂ@ê þç 瀶æÂ ç á× RÚ [ã œíÂ@¯â :ÞÂÝê Ý UäÂà5äÂÀRçÂàÄáÂàŽêÂ@çÂ`ë倀ï éõÂ`©ðÂáÂ`ßç –îÂ@…éÂåÂ`€âÂÀ@ê þ瀰çÂÀ«íÂ@OòÂ@ åÂ`ÙèÂÀÃéÂ`täÂÀ|àÂ+ÞÂ ÆæÂÀ4ìÂÀò Øã€Îâ ÝÂ%ßÂ@üêÂà¸ã€ªè {èÂ@é ¢ì åÂÀòÂÀváÂà”éÂ@&äÂÀÛåÂ@æÂåÂÀ|à€?åÂÀóá .àÂ@mí þçÂà#çÂ@>àÂ@Dß–áÂ`ýâÂ@2â€?å€ÎâÂàÜÝ€3ç gá êà ÝÂÀÛÂ`zãÂÀváÂÀÕæÂàèÛÂ@—æÂ çÂàèÛÂ@JÞÂà”éÂ`ŒàÂÀ|à€æÞ€Kã€-èÂàÿìÂ`Œà ðß CçÂ`ßç€-èÂÀáäÂâ Ìå€?åÂàÖÞÂ`zãÂÀŽÝÂÀpâÂâÂ@çÂàâÜ¢ßÂ@>àÂÀ‚ßÂ@ÓÜÂ@©ã„äÂ~å€3çÂÒ×€9æÂ`€âÂä ¨ëÂ@>àÂaÕ€ªèÂ@D߀Kã€àßÂå «àÂ@JÞ€WáÂ@\ÛÂàÐßÂà ë¿ïÂ@ðìÂ@瀞êÂNí {è€Ôဇ٠.àÂà)æÂ`ŒàÂ`bçÂ@yëÂÀíâÂ`!ÝÂ`Vé ¥á Ü ‹ÛÂÀpâ€ÚÂ`VéÂ@DߨÞÂÀÜ öÞÂÀ²×ÂÀ|à€àßÂÀ‚ß ¥áÂ@‘ç ¥áÂâ´ÜÂÀùà€]àÂà_Ý€Èã ãÂ@êÂ%ßÂà¦æÂlèÂ@ åÂ@8á ØÂÀ^å€WáÂ@ÙÛ ±ßÂÀÛå–áÂ@êÂÀ²×€uÜ€ØÂ d×ÂÀáä€cß ±ßÂàeÜÂ`’ßÂÀ‚ß Ý üÝÂÒ× Ý .àÂ@JÞÂ`˜Þ€QâÂà)æÂ 7éÂãéÂ@ÓÜÂàꀞêÂÀ.íÂÀÜ "âÂÀ·ëÂ@üêÂlè gáÂ@‹èÂÀŽÝ (áÂàìÂ@‹è€¶æÂ äáÂàÊàÂÀ±ìÂ@\Û ç [ãÂà/åÂàÖÞ€]àÂâ€3ç Oå ®êÂÀ^åÂïç ÏÚ€9æÂÀ)Ù€‡ÙÂÀÿßÂÀdäÂ@©ãÂ@©ãÂÀ#ÚÂàYÞ öÞ ÛÂIÙÂ@»àÂ@2â œíÂ@2âÂÀFéÂZë (áÂ=ÛÂ@ÍÝÂ@ÍÝ€EäÂÀjã øè ãÂ`ýâ ©ÖÂ`˜ÞÂ`nåÂàîÚ€{Û  æÂ€à߀ÚÂà/å FÜÂ ÛØÂÀùàÂ`€âÂ@ÙÛ€{ÛÂÀšÛÂ@JÞ€×Âà_Ý FÜÂõæÂÀFéÂÀˆÞ [ã ÙÂ`ß d×Â@÷ÖÂ`â êà€æÞÂ`nå Àç òéÂ@ñ× åÂà¾âÂ`¶ÙÂ@VÜÂ`zã Ü gáÂà”éÂ`’߀cßÂ`ßçÂÀˆÞÂÀváÂ@,ãÂ`'Ü ã ÀçÂ`ÚÓ FÜ yÞ€]àÂÀ‚ßÂ@ñ×€™ÖÂ@JÞÂÀ#Ú€ØÂà¸ãÂä€ÈãÂÀÜ åÂàèÛÂ=ÛÂ@÷ÖÂ`°Ú ‹ÛÂàÊàÂ@üê +ëÂàSß êàÂ@&äÂ@zÖ gáÂ`-Û (áÂÀóáÂ@¯âÂ`ªÛ€cßÂ@zÖ ÕÙÂõæÂ`ÞÂ`†á ÉÛÂÀ#ÚÂØÖÂ`!ÝÂÀóáÂ`Þœà á×€{Û Ú ãÂà²äÂàeÜÂà³ÏÂaÕÂ`ÔÔ€¥Ô —ÙÂÒ×Â@Áß ·ÞÂ`ÎÕ€ìÝ 4ßÂ`ÚÓºÛÂàMàÂÀˆÞÂ`ßÂàÐßÂ@‹è —ÙÂÀÜ ãÂ@8á®Ý á×Â`žÝ óÔ LÛÂÀ)ÙÂ`KÖ XÙ€ìÝÂÀ/ØÂÀ)Ù€Îâ€Úà ùÓ 8ÔÂÀYÑÂ@æÂ`-ÛÂ@ëØÂÀßÂÀÛå UäÂ=Û íÕ€{ÛÂÆÙÂ`ßÂ`ÞÂàÊà€“×ÂU× ÚÂ`àÒÂàSßÂ`ŒàÂ@JÞ &× ðß ÝÂàîÚ ÕÙÂâÂÀváÂÀçãÂ`E× ÃÜÂàAâ ÝÂÀùàÂlèÂàÜÝÂàÕ ÝÂàMà€?åÂ@&äÂ@VÜÂÀ|àÂ`°ÚÂà;ãÂ`Œà€Ú áרޠ4ßÂ@JÞÂ@ªÎÂ`ªÛ LÛ€àßÂ@hÙÂ@ ÔÂ@zÖÂÀ;Ö€ÚàÂ`Âנ݀"Õ€Ú´ÜÂÀ#ÚÂ@JÞÂàeÜ€iÞÂ`täÂ`ñä çÖÂðÒ ÕÙÂ`9Ù€ìÝ ÇÑ ÙÂÀ5×Â7ÜÂÀˆÞÂàwÙ€ŸÕÂáÂÀpâÂÀˆÞÂàƒ×Â@ÇÞ€«ÓÂàwÙÂêÓÂ@EÊÂ`ËÂöÑÂ@bÚÂàwÙÂÀkÎÂ@÷ÖÂ`9ÙÂ@ýÕ ùӠ܀נØÂØÖÂ`¶Ù jÖÂ`æÑÂ@\ÛÂÀAÕÂ`ÚÓ€ÛËÂÀ)Ù LÛÂ@ÒÂà ÖÂ@’Ò€.Ó  Ñ á×€"ÕÂ@8á ,Ö :ÞÂ@\Û€àßÂ`ÎÕÂ@’ÒÂ`QÕÂÌØÂ ‹Û ÜÂ…Ï 2ÕÂxæÂÀváÂÀeÏÂ@ÍÝÂÀ¦Ù LÛÂCÚ€æÞÂ`ÍÂà¡Ò µÔÂöÑÂà}ØÂà›Ó ÛÂÏÂ`'ÜÂ@2â ùÓÂ=Û€.Ó —ÙÂàkÛ ÕÙ hÌÂ`˜Þ¨Þ ÒÂà}ØÂ ØÂÀAÕÂêÓÂöÑÂÀšÛÂä ÏÚ€ØÂÀÄÔÂÀßÂà€oÝÂÆÙ€ÔáÂ`ÈÖÂ@˜ÑÂ`ÈÖÂàBÍÂ@hÙÂ@>à PÐÂ@ªÎÂ`ÔÔ [ãÂàAâ &×ÂØÖÂÀÖÑÂàÓÂÀÖÑ€‡ÙÂU×ÂCÚ sßÂ@†ÔÂÆÙ ÕÙÂÀ)ÙÂÌØÂàÐßœàÂ`ÚÓ ˆÑÂ`uÏ€ÚÂÀkÎÂÀÄÔ‘Í»ÆÂ XÙÂàØÂ`QÕÂ+ÞÂÀSÒ öޣʠÇÑ ÿÒ Ù ‹ÛÂ`¼ØÂ —ÙÂ@€Õ VÏÂ`ÍÂà*Ñ »ÓÂ`øÎÂàqÚ çÖÂÀ)ÙÂ`hæÂ ŽÐÂàÔÂIÙÂ@ÁßÂàÕÂ`Â×ÂÍÂ`{Πs߀ŸÕ ÙÂÀ)Ù 2ÕÂ@3ÍÂ`Â×ÂàúØÂ ¸ÉÂ@žÐÂà_ÝÂyÑÂÀÐÒœàÂÌØÂÀkÎÂÀAÕÂà}ØÂÀ¸ÖÂ`òÏ d×Âà6ÏÂOØÂ XÙÂà$ÒÂ`æÑÂΠÚÂàÖÞÂ@ Ô |ÓÂÀ}Ë€ìÝ€ØÂ@ªÎÂU×ÂÞÕÂà}ØÂ€oÝÂà ÖÂ`Â×€ÚÂ@ÇÞÂ`Â×ÂÀÖÑ€þÚ€‡ÙÂ`žÝÂÀÜÐÂÀSÒÂU× 8Ô ØÂ€× —ÙÂmÓÂàèÛ€ØÂÀ¦Ù€Ú «àÂ@ÍÝ€×Â`â á×€¥ÔÂ`ÚÓ ùÓ€“×Â@°ÍÂà× ØÂ ½Ý ùÓÂöÑ€™ÖÂ@ñ×ÂàwÙÂÀ Ú€cßÂÆÙÂ@ÓÜÂ@8áÂÀâÏÂà6ÏÂÀÐÒÂàkÛ€àßÂ`!Ý ÁÒÂ@žÐÂ@t×ÂÀÛÂ`Â×ÂÀ¸ÖÂ@ªÎ pÕÂ@nØÂ`QÕ ÚÂ@ÓÜÂà›ÓÂ@˜Ñ ,Ö d× ˆÑ |Ó ØÂ@bÚÂà_ÝÂaÕÂmÓ µÔ |Ó ÁÒ ÉÛÂ@ÇÞÂ[ÖÂ+Þ …ÜÂÀ ÞÂÀóá ·ÞÂà×Âà$ÒÂ@†Ô —ÙÂà$ÒÂ`E× ÚÂàqÚÂ@ëØÂ ÃÜÂ@PÝÂCÚ ÍРíÕÂÀÿßÂÏÂ ÛØÂ@†Ô 2ÕÂàeÜÂ@\Û ÕÙÂÀÜÐÂàeÜÂ@ÇÞÂàîÚ 2Õ ØÂ ŽÐÂà›Ó€¥ÔÂ@ Ô >ÓÂà0ÐÂ@ŒÓ€Ö |ÓÂÀGÔÂäÔ€(ÔÂ@ýÕÂaÕÂà×ÂÀîÍÂöÑÂ`uÏ€uÜÂÀóáÂêÓÂ@†ÔÂ`þÍ€.ÓÂÀ;ÖÂàÕÂà¿Í ÝÂàÕ€dÊÂàÅÌ€ŸÕÂÞÕÂêÓ€æÞ€ÚÂÀYÑ€ÏÍ€·ÑÂàƒ×€FÏÂÀeÏ ØÂ@\ÛÂà›ÓÂàÕÂ`ÎÕ ˆÑÂÀÜÂ`'ÜÂàÑÊÂРRÚÂ`òÏ óÔÂàËË  ÑÂ@ÍÝ ùÓ ÕÙ  Ñ ÿÒ LÛ€çÉÂà•Ô€4ÒÂ`æÑÂ@'ÏÂàØÂ¨ÞÂÀ²×Â7ÜÂ`uÏ€ØÂ@DßÂ`’ßÂÀ¦Ù ¦Ì€XÌÂ@zÖÂàèÛÂà×Â`¶Ù ùÓÂÀùàÂÐÂÀMÓÂÀÜÐÂ@¼ËÂ@ÑÂÀ#ÚÂ@ ÔÂÀ_ÐÂ@°ÍÂÀ)ÙÂ@ÇÞ€(ÔÂ@˜ÑÂÀeÏÂ`3ÚÂáÂCÚ€FÏ€Î⠽ݠ«àºÛÂÀAÕÂàkÛÂÌØÂOØÂÀ²×ÂÀGÔÂàwÙ …ÜÂCÚ ·Þ€«Ó çÖÂ`!ÝÂÀ¦ÙÂ` á€×Âà}ØÂ`3ÚÂ`9Ù€.ÓÂ`]ÓÂ@¶Ì€ÚàÂ`ÓéÂàMàÂàqÚÂàwÙÂOØÂ LÛ öÞÂÀ/ØÂ |ÓÂIÙÂàôÙ€òÜÂàÓÂ@ÍÝÂà›ÓÂ`ªÛ ÛÂ`’ß ßÍÂ`ýâ€iÞÂ@>àÂàƒ×ÂÀ;Ö ØÂÀßÂ~å [ã ðßÂÆÙÂÀ‚ßÂÀÝ ÙΠjÖ ÿÒÂÀ‚ßÂàAâÂ`ÎÕÂàÂ`-Û DÒÂÀ‚ßÂ@ëØÂ€ìÝ€{Û ÁÒ Û “äÂ䀫ÓÂ@’ÒÂ@’Ò Àç 4ßÂÀGÔÂCÚÂrç (áÂ@bÚ RÚ FÜÂàSßÂ@VÜÂâ Ý [ãÂÀÄÔ€òÜÂ`¼ØÂÀ/ØÂ@ßÚ ¥áÂ@2â mà€øÛÂ@bÚÂ@€Õ€(Ô êàÂ@ñ×ÂyÑ 8ÔÂÀ;ÖÂÀ ÞÂ@žÐ ÞâÂàÕÂ@©ãÂØÖ ‚Ò FÜ€‡Ù [ã ÁÒÂ@¯âÂ@ëØÂÀ¾ÕÂÀ¦ÙÂ`zãÂ`âÂ@—æÂÀŽÝ ‡æÂÒ×€‡ÙÂ`¼ØÂ ÛÂ@nØÂ ™ãÂ`˜Þ jÖÂÆÙÂÀîÍÂÀÊÓÂ`˜Þ Û 8Ô€‡Ù€ØÂÀváÂÀ¸ÖÂaÕÂ`¶ÙÂ`žÝÂÀ¾ÕÂ`ÚÓÂÀ¾Õ ·ÞÂÀùàÂàîÚ FÜÂÀ¾Õ€ØÂàîÚÂàØÂàôÙÂÀÚÂ@†ÔÂ@ÑÂà ÖÂ@Ó€Ú ØÂà× £×Â@!ÐÂÆÙ ßÍÂàkÛÂgÔÂ@ÕÂ`iÑ€(ÔÂà$ÒÂ`¶ÙÂ` áÂ2È®ÝÂ`ÚÓ —ÙÂ@ëØÂ@»à€øÛ ,Ö ÙÂ`WÔÂ`ËÂà}ØÂÀ/ØÂ ½ÝÂ`˜ÞÂ@ëØÂ@øÁ ^ØÂOØÂyÑÂÀ_Р‚ÒÂÀ/ØÂ OåÂÀ/ØÂÐÂ@˜ÑÂ=ÛÂêÓ öÞ€ÃÏ€“×  Í€þÚÂ`Â×Â`ÈÖÂÀ5×ÂÀAÕÂÀ#Ú >ÓÂÆÙ€øÛÂðÒÂðÒÂÀAÕ€“×Â@ÑÂàGáÂ`-Û€EäÂàúØÂ`QÕÂÒ×Âàƒ×ÂàkÛÂ@t× XÙ€áÊÂ@†ÔÂ`Â×Â@ýÕÂ@Õ€ÖÂ[Ö ÏÂ@’ÒÂÀÐÒ ½ÝÂ+Þ€ÔáÂàÕÂàƒ×Â@ÕÂÀÖÑÂ@Ò á×€{ÛÂÌØÂ@ÍÝÂÒ×€™ÖÂ`ªÛÂÀ)Ù€XÌÂ`E×Â@¤Ï€“×Â@Ó ñÊÂÒ×ÂÌØÂà¹ÎÂ@ÈÉ€:ÑÂ@nØÂ€¥Ô€KãÂ`'Ü &×Â`KÖÂÀ)ÙÂ@Ò vÔ çÖ€ØÂ ;ÉÂÀ/ØÂ€ØÂðÒÂüÐÂÀÝÂÀ¾ÕÂ@?ËÂ@3ÍÂ@ŒÓ d×ÂðÒÂ@€Õ€.Ó Π2ÕÂÀ ÞÂà¹ÎÂÀÜÂÀ¾ÕÂÀ;ÖÂàSßÂÀ²×Â`3ÚÂÀAÕÂüÐÂ`¶ÙÂ@ Ô bÍÂyÑ€¥ÔÂÀôÌÂðÒÂyÑÂ@ßÚÂÀGÔ @ÝÂ`¤ÜÂ`iÑÂ`ÎÕ ðß ØãÂ@ßÚ ±ß ØÂ@'ÏÂàÖÞ€“×ÂÀSÒ ÓÏ GÇÂ@†ÔÂàôÙÂ@ñ×Â@PÝÂ`ªÛÂ`žÝÂà×ÂÀÜ @Ý yÞ€.Ó€]àÂ`!ÝÂÀYÑ #ÍÂàYÞÂÀAÕ€oÝÂàeÜÂ@ÍÝÂ`æÑ &×Â@ßÚÂÀvá ÝÂÀ”Ü 8Ô€ØÂ`âÂà —ÙÂàwÙÂ@ÇÞ ©Ö ,ÖÂ@-ÎÂÆÙ Ý€±ÒÂàÓÂÀÚÂÀÚÂÀ5×Â@ßÚ ˆÑÂ@˜Ñ ÓÏ€òÜÂàwÙÂà­ÐÂ@nØÂà‰ÖÂ1ÝÂ@µáÂÀ¸Ö€½ÐÂäÔÂàúØÂ€øÛ d× Ï ÿÒ Ú ÃÜ vÔÂàÄá Ù ÃÜÂá óÔ€ ÙÂÀâÏÂ`KÖÂ@PÝ ÙÂU×Âà}ØÂ šÎÂàwÙÂÀ”Ü ÐÂàÔÂ`ªÛÂ` á sßÂ@°Í ڮݠcìÂÀÚ€XÌ ·Þ "âÂâÂ@ëØÂÀÝÂàAâÂ+ÞÂÀ²×€ÈãÂ1Ý jÖÂ`ßÂÀùàÂOØÂ€ŸÕ ÏÚÂ`òÏÂâÂà*Ñ ‚ÒÂÀAÕ ÿÒÂÀ²×€ìÝÂàƒ×Â@JÞ yÞ€øÛÂ@VÜ€‡ÙÂàSßÂ@ÇÞ FÜÂ%ß uéÂÀpâÂÀ/ØÂÀÛÂ@ÁßÂÀÜÂÀGÔ “ä€KãÂ@—æÂ€]à„äÂÀXæÂà/åÂÀÛ màÂà*Ñ >Ó «à¨Þ®ÝÂàÜÝÂÀ ÞÂÀóáÂàèÂÀÝÂÀ¬ØÂ (áÂà¦æÂ ÞâÂ@ÁßÂàèÛÂ@ÓÜ Ìå ÝÂ ÆæÂ@¯âÂÀÛåÂ@8áÂZë€Âä€KãÂ@üêÂàkÛÂà¸ã ÒäÂ@hÙÂ@ÇÞ Û 7逆î üÝ [ãÂ@,ãÂàèÛ ¥á€æÞ„äÂ@ÓÜÂ@ÍÝÂ`Ùè åÂàÊà€ìÝ€™ÖÂ@÷ÖÂ@ßÚ€KãÂÀÛåÂ@ßÚÂ`ÞÂàúØÂ@>àÂ`ýâÂÀ¾ÕÂéè 1êÂ@2â€þÚÂÀÚÂàôÙÂCÚ ØÂ d×€ÔáÂà_Ý “ä Þâ ÜÂ` áÂÀ·ëÂ@£äÂàÊàÂå ãÂ`ßç òé .àÂâÂàjðÂ@êÂÀjãÂ`Pꀤé gáÂà)æÂ ãÂÀÉèÂ@2âÂÀ)ÙÂà*ÑÂ`KÖ€¼å XÙÂàqÚ &×Â@ÇÞ ´éÂ@ßÚÂàeÜÂ`\èÂàèÛ ØÂ@£äÂ`êÂà_ÝÂ@åÂ`nå€EäÂ@»à ÏÚ …ÜÂ@†ÔÂ`࠱߀ÕÌÂ@JÞ¢ßÂàkÛ´ÜÂ1Ý ÃÜÂÀùà¨ÞÂÀ‚ßÂ@©ãÂ@Jޢ߀¤éÂÀ)ÙÂ`àÂ@åÙÂ@nØÂàÊàÂIÙÂ`cÒ€iÞÂ`ªÛÂ@JÞÂ@ÕÂÞÕÂá å ·ÞÂ`ÔÔ ÌåÂäÂàÊà€×ÂÀŽÝ íÕÂÀˆÞ VÏ Û ‘ÚÂ`3Ú DÒ jÖÂàÜÝ ÃÜÂà•ÔÂU×Â@ßÚÂ@hÙ pÕÂÀ;ÖÂ@t× sßÂà•ÔÂÀAÕÂà}ØÂàGáÂ@‘çÂÀ#Ú€ØÂÞÕ ÛÂ`ÎÕ ‚ÒÂ`nå€.Ó 2Õ XÙÂÀÄÔÂ7Ü€ÖÂ`Œà€øÛÂàÖÞ s߀ÚÂà$ÒÂàÔ RÚÂ@Dß …ÜÂÀ5×ÂCÚÂÀ ÞÂ`?ØÂàÕÂÀšÛÂÀÚÂ@åÙÂÀ¦Ù åÂ7Ü€FÏ LÛÂgÔÂàèÛ »ÓÂÀ¸ÖÂÀçãÂàÂà¦æÂàÕ >Ó FÜ —ÙÂ`zã€Wá€ÚÂ@£äÂãéºÛÂÀ”ÜÂ@zÖÂ@ýÕ€×Âà×ÉÂÀ¦Ù´ÜÂà ðßÂ@åÂØÖÂØÖ nËÂØÖ€×Â`âÂ@¤Ï€Ú àì ‹ÛÂÀÛÂ1ÝÂ@ñ×ÂÀ ÞÂ@æÂàèÛ€øÛÂ@µá (áÂ`žÝ€ìÝÂÀ ÞÂxæÂ ÌåÂ@åÙÂ`¤Ü€Â䀥ÔÂ@ Ô OåÂàÊà€ÖÂ@åÙ€Ú€¥Ô€‡ÙÂÀ}Ë pÕÂÀ”Ü€“× íÕ ùÓ€™ÖÂ`ªÛÂ@ÙÛÂrçÂ%ßÂ`åæÂ yÞ€Ú€WáÂ@,ãÂà‰ÖÂÀ²×€þÚÂ`zãÂ@ÙÛ gáÂàƒ×ÂCÚ ‘ÚÂ`-ÛÂ@ßÚÂÀ/ØÂ ^ØÂ ÚÂ`'Ü @ݨÞÂ@ÇÞ€iÞ€uÜ 4߀ Ù ©ÖÂÀÄÔÂÀ²×Â`-ÛÂàwÙ ‹ÛÂ+ÞÂÀ”ÜÂÀYÑÂ`¤Ü€.Ó€ØÂ@ýÕ á×Â@VܨހæÞÂÀÜÂ@>à ÜÂàSßÂ`3ÚÂ`’ßÂ@>àÂ`’ßÂ`àÂàÊà ÌåÂ@>à€"ÕÂà¿Í€òÜÂàîÚÂ@ å üÝÂàqÚÂÀÜÂ@ê ™ã Ý„äÂàAâÂ@éÂÀ”ÜÂÀ ÚÂ`ªÛ .à màÂÆÙ€þÚ ÕÙÂà¡Ò€þÚÂâÂà;ãÂ`E×€Îâ ÜÂà¸ãÂàâÜ —ÙÂÀ¦Ù Ìå çÂ`-ÛÂ+Þ€øÛÂàé Ý€ìÝÂ%ßÂàÜÝ€æÞ CçÂ~å Ý€ìÝÂâÂ`ñä€]àÂÀóá ÛÂ@ÙÛ ™ãÂà¬å sßÂÀ ÚÂÀóáÂ` áÂ`÷ãÂ@nØÂáÂà*Ñ€þÚÂ`ªÛÂCÚ ØÂ€WáÂÀ#ÚÂá …ÜÂàÜÝÂ`ÎÕÂàØÂ@Dß 4ßÂ=ÛÂÀ^å “ä sßÂâ ±ßÂÀíâÂàƒ×Â ÛØÂ@zÖÂà_Ý€±ÒÂà³ÏÂÀRçÂà)æÂàAâÂÀÝÂgÔÂÀˆÞ >Ó >Ó >ÓÂàSßÂ+ÞÂ@ßÚÂà5äÂàeÜ á× ‡æÂ@æÂ çÂÀÛÂyÑÂ`žÝÂ`¥ÇÂ$ô€9æÂ@µá€EäÂà¸ãÂÀÛåÂOØÂàwÙ ‡æÂä Oå +ë öÞÂàÊà yÞÂÀ@êÂ@VÜÂÀ²×Â`Â×€¥Ô öÞÂÀßÂ@£äÂÀ‚ßÂÀ”ÜÂ`ÔÔ ¥áÂà× IæÂ€]à ç€Ôá Ÿâ gáÂûåÂÀíâÂàwÙÂÀßÂ`¶ÙÂ`!ÝÂØÖÂà•ÔÂ`ŒàÂÀMÓ€KãÂàAâÂ`à Ú€iÞÂàèÛÂaÕÂ@ÙÛ€WáÂÀ‚ßÂàSß …Ü–á€ØÂ@ÇÞÂÀŽÝÂÀ‚ßÂÀÿ߀¥ÔÂÀGÔ RÚÂ@ªÎ ´é XÙÂ+ÞÂ@ÇÞ Uä .࠺蠎ÐÂàúØÂ€iÞÂàúØÂ€ìÝ€Kã DÒÂ@zÖ€"ÕÂ`!Ý 8Ô€ÚÂ@2âÂ@åÂà_ÝÂ1ÝÂ@ÇÞÂ`†á ãÂ`bçÂÀ¦ÙÂà}ØÂ€þÚÂ@\ÛÂ[ÖÂ`ÈÖÂÆÙ êàÂ@ßÚÂ@ÙÛÂàAâ d×Â`âÂU×Â7ÜÂÀÜ sßÂ@nØÂ@bÚ ¯ÕÂÀšÛÂ@8áÂÀšÛ üÝÂ@>à ÉÛÂöÑ ‹Û üÝ 4ßÂÀ Þ pÕÂ[Ö€ÚÂ`ÚÓÂ@ëØÂ€™Ö üÝÂaÕÂ`žÝ á×Â@»àÂÀÚÂ`'ÜÂ`ªÛ´ÜÂ`3Ú€iÞ ÙÂ`3Ú€ ÙÂ`9Ù€«ÓÂ=Û€{Û  æÂ€þÚ€ÃÏÂÀ5×Â@nØÂ@åÙÂàîÚ€uÜ .àÂ@2âÂ@JÞ :ÞÂÀ¾Õ LÛÂàèÂà çÂU×ÂÀÝÂÀ¾Õ |Ó JÑÂÀŽÝÂ`!ÝÂÀçãÂ`¤ÜÂ`¼ØÂÀvဥԀÚÂ=ÛÂà•ÔÂàÕÂäÔÂÀ/ØÂ€‡ÙÂà)æÂÀùàÂÌØÂ€òÜÂà­Ð¢ßÂÀÜÂ`uÏÂÀMÓ€Èã ØÂÀùàÂÀ)ÙÂ@JÞÂà›Ó Ú »ÓÂ`ÎÕ >Ó |Ó …ܺÛÂ[ÖÂ@€ÕÂIÙÂÀŽÝ "â Ý€ÚÂÀ‚ßÂÀ¬ØÂÀÜÂ@JÞÂ+ÞÂà²äÂ@>àÂ`’ßÂ`¶ÙÂ ÛØÂÀ¦Ù€ØÂàqÚ ðß ÜÂàÜÝ å€uÜ€WáÂ@Dߢ߀“×Â`?ØÂ s߀ÎâÂ`¶ÙÂ@†Ô€ªè aâÂà/å Òä Ý€Qâ€ÚÂÀ)ÙÂÆÙÂàqÚ€Ôá Ü€ŸÕÂ@£äÂ@ÇÞ ‡æÂ€'é Òä mà .à ·Þ€KãÂ@©ãÂ@&äÂä m࠱߀Úà€“×Â`'ÜÂàÖÞ ¥áÂ`'ÜÂÀóဪèÂ`˜Þ€ªè€oÝÂ`ìÐÂàèÛÂ@¯âÂ`nå´ÜÂCÚÂÀáäÂ@ åÂ@aïÂ@÷ÖÂ`bç€Ú ‘ÚÂ@JÞÂàšèÂâ Àç ºèÂàꀪèÂ~å€cß —ÙÂ@ åÂä çÂÀÛ€¤éÂÀpâÂà5ä CçÂ`zãÂÀòöÂ`nå mà äáÂ@,ã åœà ä€nòÂ`÷ã€cßÂÀ”ÜÂéèÂ`åæÂ :ÞÂ`ßç {èÂà”éÂ@æÂà;ãÂ`Vé gá€9æÂ@8áÂ`€â "âÂ@©ã ¥áÂ`>í &×Âà5ä ä 'öÂÅêÂ@¯âÂàkÛ€ÈãÂà}ØÂ %ìÂ@£äÂÀÜÂ`bçÂ@aïÂ`ÁìÂ@üê€ÚàÂTìÂõæÂ ìêÂ@è ñ­ò³ñÂ@çÂ@ åÂàA‘ëÂÀ(îÂÀùàÂÀ^å€3çÂ`8îÂõæÂÑ쀶æÂÀçãÂÀÉè€3çÂ@JÞ€iÞ€ÚàÂÀùàÂ`>íÂ`ÓéÂ`zã€oÝÂà”逼åÂ`>íÂàóî¨ÞÂâÂÀ4쀒ì IæÂÀÕæÂ þçÂ`åæÂÀÕæÂ`†áÂ@bÚÂ`ßç€3ç€Œí ·Þ ™ãÂÀLè ½ÝÂàì€iÞ üÝ€¶æÂÀÛåÂÀ)Ù CçÂÀ^åÂ+ÞÂÀ5×€cßÂÀXæÂÀ|à€9æÂ@êÂãéÂrçÂ@2â îÂÀÉè ãÂÀáä (áÂ1Ý€ìÂ@ÁßÂàé ½ÝÂ@¯âÂ@—æÂ ‡æÂ€?å ´éÂõæÂ@æÂOØÂ@‘çÂ`µîÂ`ŒàÂÀpâÂÀ|àÂ`€âÂ@‹èÂ`ëå ‹Û .࠽݀ÚÂ`ÚÓœàÂ@ å uéÂ@é€Kã ^ØÂàÔÂ@JÞ çÖÂà¡ÒÂ@åÙ d×ÂÀ ÚÂàAâÂàƒ×ÂàqÚÂ@©ãÂàÜÝÂ`ßç üÝÂ=Û€«ÓÂàÜÝ «à å "âÂ@†Ô aâÂàâÜÂÀáäÂàÜÝÂ`ý ÙÂ@ÙÛÂ%ßÂÀ¦Ù€àßÂâÂÀóáÂÀdäÂ`€âÂ@˜Ñ …ÜÂÀ/ØÂûåÂà¸ã ·ÞÂU× ÛÂàÂ@t×€uÜÂ@ÍÝ ÚÂ@ñ×€ŸÕÂÀ‚ßÂÀ½êÂà_ÝÂ@÷Ö ‘Ú€Ú ÏÚÂàîÚÂ@ÒÂ@ÍÝ LÛÂ`E×€‡Ù€ÎâÂàƒ×Â@Á߀]àÂàÊàÂûåÂ`'ÜÂÀšÛÂ1ÝÂàGáÂéè XÙÂàYÞÂ@ÙÛ àìÂÀÏçÂ@åÙÂÀÿ߀°ç êàÂà¸ã€uÜ gáÂ@VÜÂ@©ãÂ=ÛÂ`zãÂ@&äÂ`†áÂ`]Ó ÉÛ {è ØãÂ@ÇÞ ±ßÂàÄáÂ@µá LÛÂ@—æÂ`ñä ÉÛÂ`?ØÂ ÚÂÀùà€3çÂxæÂ`Áì Ìå€ÚàÂ@…é€ÖÂàÐß ‹ÛÂ@ Ô (áÂOØÂ€ìÝÂ@ñ×€Ú å :ÞÂáÂ@JÞÂÀÛÂ@,ãÂOØÂ`hæÂ+ÞÂ7ÜÂà€uÜÂ`zãÂÀváÂ`àÂ@\ÛÂ%ßÂ@,ãÂÀ½êÂÀßÂÀpâ üÝÂÝꠥᠩÖÂÀ½êÂ`WÔÂ`’ß —ÙÂIÙ€ØÂ€c߀WáÂ@&ä€øÛ€]àÂÀÚ ÙÂ`?ØÂÀ”Ü€Qâ€WáÂ@åÂÒ×Â@ÇÞÂ@PÝÂàÄáÂ1ÝÂ`°Ú€¼åÂàqÚÂ@æÂ€øÛÂ=ÛÂ@‘çÂ`ýâÂàâÜÂ@2âÂ@»à€ìÝ êà ±ßÂ`\èÂ`âÂ@ÍÝÂ`÷ãÂàSß ¥á Øã {èÂ` á€Úà LÛ —ÙÂ@ê€Èã€ÂäÂ@‹è€òÜÂàê .à å€?åÂÀÕæÂàÊàÂ@2âÂ@&䀤éÂà ç€¼å iëÂlèÂàîÚÂà¾âÂáÂ`ÓéÂÀdäÂ@£äÂ@©ã cì€cß öÞ ÒäÂ@8áÂ@æÂ€òÜÂÀ:ëÂ@2âÂxæÂàSßÂÀ^åŠãÂ`Â×€KãÂ`˜ÞÂÀ@ê äá ä ·ÞÂ@ýÕÂÀÃé {èÂ@çÂà¾âÂgÔÂâÂ@‘çÂÀ”Ü &× ØÂ€×Âàé€'éÂÀˆÞ€ìÝÂ`ñäÂ@å€9æÂ€uÜÂ@©ãÂ×ëÂÀFé 4߀Wá [ãÂ`÷ã€3ç äÂàÐßÂÀ½ê ÿÒÂÀ±ìÂÀáäÂ`E×Â@ßÚÂ`bç€Qâ çÂÀ^åÂ`¤ÜÂÀùà IæÂàYÞ€òÜÂ@‘çÂ`¼ØÂ OåŠãÂàkÛ :ÞÂ`ýâÂ` áÂÀßÂÀdäÂàÊàÂ@æÂ`˜ÞÂà¸ã ðß ðßÂ@>à ºèÂâÂÀçãÂÀóá .àÂàèÂ@bÚ .àÂûåÂÀŽÝ gáÂ`täÂàGá aâ ÕÙÂ@ åÂ@üê–á …ÜÂàÜÝ€ÎâÂ@ å ·ÞÂ@£äÂ`žÝÂÀRçÂÀjãÂ@ åÂ@ÁßÂä äáÂ@»à ÒäÂÀÊÓÂ@µá üÝ€òÜÂ@&ä ½ÝÂ@ÍÝ yÞÂ%ß å´Ü äÂ`'ÜÂ`ÚÓÂÀ‚ßÂ`VéÂÀjãÂ@ÓÜ òéÂ@èÂ`\èÂ@©ãÂà5äŠãÂÝꀞêÂ@sìÂÌØÂ€Ôá lõÂàÄáÂ`àœàÂ` á åÂ`†áÂïç =èÂ@gîÂÀáäÂÀ«í€¼åÂÀ¥îÂ@©ã =è€ÚàÂÀ“ñÂ@Á߀ î€!êÂ@é “äÂÀ ÚÂàqÚÂÀÉè i뀘ëÂ`åæÂõæÂ`\è€ÈãÂ@,ãÂÀÉè CçÂ@ê þçÂàùí QïÂrç êàÂ`\è€Úà¢ßÂÀßÂÑì éõÂ@£äÂ`†áÂàYÞÂ`â ðßÂ@Þï€Èã ï ¨ëÂÀXæÂ€3瀌íÂ@åÂ`PêÂ`òÂÀ.íÂÀòÂ@‘çÂÀ Ú aâÂâÂàÜÝÂÀÏçÂ@èÂÀøõÂÀ^åÂâ€ÂäÂ@2â Øã [ãÂ`nåÂ`zã mà€EäÂ1ÝÂåÂ`à€9æÂàéÂà¦æÂ`8îÂ` áÂÀÿßÂ@åÂÀ:ëÂ@&äÂÀ Ú üÝ€iÞÂ@yë®ÝÂÀÃéÂÀpâÂÀ)ÙÂ@¯â ¥áÂ@2âÂ@µáÂÀAÕ ãÂàMàÂ@Dß ^ØÂ ½ÝÂ`nå ±ßÂÀÛåÂ@,ã€ìÂà/åÂä€cßÂÀváÂ`ÁìÂàMàÂâ «àÂ`ß ‘ÚÂ@—æÂ@JÞ€˜ëÂà¦æÂ€]àÂÀùà ìêÂà²äÂ@ßÚÂ`àÂ@ÇÞ€ÎâÂ@JÞÂ`°ÚÂÀvá€cßÂÀÃéÂà çÂàèÂä Òä {è€òÜ Ÿâ€òÜ “ä€-èÂ` òÂ`ý‰çÂ@£äÂÀÃ逤é€ìÂ@…éÂÀXæÂàÏôÂàRô ð 3ôÂÀ@ꀘëÂÀEþÂ@ŠýÂ@Cô€ë€tñÂÀò 'öÂ`µî ž÷ÂàÉõ€>úÂÀàù ?òÂ`õÂ`ÍêÂÀì÷Â`ü÷ TùÂà@÷Â`yøÂ€ï€VöÂÀKý ië  æÂÀàùƒù€Vö ¤öÂ` òÂ@þÂwû€>ú€,ý ¹Ã@„þÂÀ™ðÂÊÃpÃð=à ³þÂ`Æàñþ üÂ}úÂŒÃà <ÃP±Ãú TùÂúú€&ÃàÿÂ@IóÂ`öÂÐrÃ@ÕöÂÀÚúÂ`IÃ÷Â`sùÂ@œú€Óö ŒúÂ`ü÷ÂÀòÂÀ{õÂ`öøÂÀEÀ ÿÂ@„þÂÀàùÂÀàùÂMà3ôÂà à ³Ã`÷ÂŒà†ûÂà¥ûÂ_ÿÂÀ¼ÿÂàþÃÀQü tþÂàÃöÂÀæøÂzàëÿÂ÷Â@~ÿ tþ€»úÂ`…ö€©Ã’Ã`‘ô¡ôÂ`sùÂÀæøÂ@~ÿÂ@1÷Â`…ö€Dù ¹ÃÀKýÂ@¢ùÂwû 'ö€µûÂ@–ûÂ@–û lõ €üÂpvÃÐïÃà“þÂÀòöÂÀKÃð´Ãú ŠðÂ@üÂ`gû ãö ž÷Âà@÷ÂàŸüÂÀ‡ó ZøÂàýÂðCÃ`UþÂõÂà.ú°à 6þÂ@=õÂ@êÂÀ]ú€£þ€£þÂÀo÷ Âñ€Óö€ìÂ`ÍêÂ`gûÂàáñ ÈðÂà@÷€ÓöÂ` òÂ÷Â@Òñ 3ô 6þÂàÕó 'öÂà±ù€ññÂ@ØðÂÀ4ì€Vö€P÷­òÂàþà ûÂ@Òñ ¶ó€bô „ñÂÀ]úÂàFö€÷ðÂ`ÁìÂÀÚúÂîü  ûÂ`ü÷Â`OÿÂÀcùÂà·øÂ@ûÂ`&ñÂÀFéÂ@ ýÂàÛòÂ@¨øÂ`÷ îÂ`õÂ@ºõÂ}ú ¼òÂ@êÂàLõ•öÂÀiøÂBï¡ôÂÀŸïÂ`>íÂÀðÂ$ôÂÀ™ð àì€'éÂàìÂÅîÂ@Òñ ñÂõæÂ€†îÂ`8îÂà@÷ ïÂ@ÞïÂ`Pê ¼ò€ëòÂÀ:ë Wî ¤ö ãöÂ@êíÂHîÂÀ óÂ`VéÂÀ½ê­òÂ`ó iëÂÀ:ë­òÂàdñÂ`»íÂÀdäÂÀð€ßôÂ@´öÂ`hæÂ@míÂàóî€ îÂàXóÂ@êíÂ@=õ€ëòÂàdñ oêÂ@ðìÂféÂHî ´éÂàXó cìÂ@m퀘ëÂàçð ]í€æÞ€¤éÂÀ ó€ýï %ìÂéè ÒäÂÀ¥îÂÀ:ë ŸâÂÀRç€9æÂ@—æÂ "âÂ@IóÂxæÂ€ëÂ`JëÂàAâÂ@—æÂà#ç IæÂ`ßÂ@‹èÂÀdäÂÀjãÂÀdäÂÀFéÂÀ™ðÂ`âÂÀdäÂ`hæÂ øèÂà#çÂ`÷ãÂÀjãÂ@»àÂÀLèÂ@JÞÂáÂâÂ`åæÂ€þÚ¢ßÂ@öë€òÜÂÀíâÂ@ÁßÂ ÆæÂ€òÜ òéÂäÂ@çÂà”éÂxæÂ ðß ´é sßÂà#ç€]àÂÀÃé äÂ`ýâÂ@CôÂ`¶Ù€KãÂ@Dß ìê€tñÂ@&ä ÒäÂ@äî 1êÂÀÕæÂ`ŒàÂÀñ ä aâ€ÔáÂ`JëÂ@©ãÂàSß ò逘ë­òÂ`êÂ@£äÂÀ±ì€íÂ@é€'éÂàˆëÂ@üêÂÀLè œí€Èã ‘Ú€ÚÂàÐßÂ`ÍêÂÀáäÂ`ýâÂÀáäÂ@ÇÞ€™ÖÂàYÞÂà‰ÖÂÀRçÂ`µî gáÂ`ê€쀤é êàÂÀ ÚÂ`!Ý ØÂÀRç€Kã äáÂfé oêÂ@VÜ ÃÜÂ@8áÂÀóá òéÂ@ëØÂ¢ß€·ÑÂáÂ@ÁßÂ ÆæÂ¿ï yÞ€Úà “äÂ@>à Π£×ÂÀ±ìÂ@ÇÞÂ@¯âÂ@\ÛÂ`¤Ü ä€ÎâÂ`'ÜÂÀ‚ßÂ`QÕÂ`WÔÂØÖ€ØÂÀ Ú —ÙÂ`!ÝÂà¾âÂ@2â€øÛÂ@JÞÂáÂ`†áÂàéÂÀáäÂÀ”Ü Ù€¶æÂ@VÜ ãÂàMàÂ@üê€'逇ÙÂÀ#ÚÂ` ò€WáÂ=Û®ÝÂ`ëåÂ@…éÂà‚ìÂ@>à€3çÂ`ßçÂÀŽÝÂÀùà¨ÞÂïçÂ`tä ¥áÂàšèÂ`>í WîÂ<ð ûòÂÀuöÂ@…頢젼òÂàŽê€oÝÂ`ñäŠãÂ`Ù耤éÂ@ðìÂ`»íÂ@¯âÂ@èÂxæÂ€žê€zð€ë ÔîÂxæÂrçÂ<ð€¼åÂ@‘çÂ@çÂ`Pê 7éÂ`Çë œí î€ë ÈðÂÀÉèÂÀRç€-èÂÀÃéÂ@ê øèÂÀ@ê Îï Àç òéÂ@,ã ™ã ~òÂ÷Âàóî lõÂ@èÂ`2ïÂ@ÒñÂ`åæÂ€ýïÂàpïÂàÕóÂ@yëÂ@ÞïÂ`©ð€!êÂàRô c쀌íÂàvî ~ò ÈðÂ@Ìò€€ï€˜ëÂ`ÁìÂ`öÂ@êÂ`ëå¹ðÂ`òÂà çÂà¬å cìÂfé CçÂãéÂ`tä àìÂ@è °ôÂ`8îÂõÂÀñ€ññ³ñ ÚíÂ`ÇëÂÝêÂà½÷€tñ€Óö€ññÂ@êí QïÂ`Áì ðÂ`©ð xóÂ`÷ ÚíÂ@%ùÂÀŸïÂÀð rôÂàÉõÂÀì÷ÂÀæøÂ õó ÚíÂËíÂ`ÓéÂ@ÞïÂÀòöÂÀ{õ ûò€ëòÂõÂùÂàóî€Èã€ëòÂ@%ù ¼òÂ×ëÂàíïÂàáñÂ*ó€nò€>ú€íÂåÂ@œúÂàÕó€ï Qï `÷ƒùÂ`…öÂ@1÷Â`êÂà|íƒùÂpvÃàjð ûò§ó€zð›õÂ@%ùÂÀ±ìÂÀ óÂÀ¥î ð òé€ÙõÂàÉõÂÀRçÂ@Æó€†î€ýï€tñ 7é€ëòÂ@èÂà^ò€Áù ?òÂ`µîÂàXóÂÀò€ìÂÀñÂàçðÂÀ¥î ÈðÂféÂNí€zðÂ`ü÷Â@–ûÂàvî ÞâÂ@æÂÀdäÂú€åóÂÀ·ëÂàXóÂàŽê „ñÂ@öëÂ@éÂ`ÓéÂ@êí¿ïÂ`bçÂOØÂTìÂà5äÂÀjã %ìÂãé æë ½Ý IæÂÀ“ñÂ@‹èÂâÂÀÉè€ î€'éÂ@gîÂàSßÂ`&ñÂ`—óÂ`!ÝÂ@8á€ì€Âä äÂ@ÓÜÂÀóá „ñÂàÛòÂ@çÂÀíâÂÀÏçÂ`VéÂÀñ {èÂàÄáÂàèÛ ØãÂ@ÓÜÂ@ åÂ`JëÂ@8áÂàâÜ€’ìÂ@sìÂÀÚÂáÂ`÷ãÂä€iÞ (áÂàYÞ€QâÂà)æÂÀÉè€òÜÂ@&ä€Îâ màÂÀÝÂÀˆÞÂ@æÂõæÂ Úí ðßÂ`’ßÂ`žÝÂàÔÂâÂÀ¥îÂà5äÂàAâÂõæÂÀ^åÂàŽêÂÀjãÂ`ÞÂÀ”ÜÂà5äÂéèÂ`žÝÂÀdä äáÂ@çÂà¸ãÂà³ÏÂÀÿßÂ@êíÂÀXæÂÀpâÂà¬åÂÀ·ëÂ`täÂÀ|àÂ@Øð€Qâ€Î„êÂ%ß —ÙÂà_Ý€KãÂÀ”ܨÞÂ`ñäÂ@Áß ãÂ`3ÚÂàôÙÂ`÷ãÂÀóá€Eä 7éÂ@Þïœà d×ÂÀÿß ÏÚÂà;ãÂà¸ãÂ`˜Þ ç iëÂ@>àÂ@Dß .à¨ÞÂÀ¦Ù€ÈãÂÀÉè€9æÂàè màÂ@¯âÂàâÜÂÀdäÂ@ç¢ß€Èã ™ã€ÚàÂ@ÍÝÂ@©ãÂ`žÝÂÀÖÑÂ@Áß ŸâÂÀ‚ß åÂ@ÍÝÂ@>àÂxæÂ@†Ô€žêÂ@\ÛÂÀÛ值å€ìÝÂ`àÂ@è ä üÝ Ÿâ êà€ÂäÂ@©ãÂÀáäÂ`ŒàÂ@åÙÂ`ßÂ@£äÂaÕÂ@ÓÜÂÀçã€ÈãÂàS߀ÖÂ`Œà 4ßÂ@&ä€EäÂ@ðìÂ`à€¼åÂà²äÂ7ÜÂ`-ÛÂ@mí ìêÂàèÛ Uä [ã äÂà5äÂÀÄÔÂ@8áÂÀjã (á€QâÂàôÙÂÀ”ÜÂà5ä ðß OåÂ@hÙÂ`JëÂ`Â×ÂÀdä uéÂ@ å  æÂÀÃéÂ%߀cßÂ@zÖÂ@JÞ€ÎâÂ@8á€]àÂ@D߀ÂäÂ@ÓÜ æëÂxæÂ`PêÂNí iëÂÀÕæÂ@åÂÀ^åÂÀ Ú¢ß´ÜÂÀáä gáÂàÊà€EäÂ@£ä¨ÞÂ@zÖ€'é oê æëÂNíÂ@ å ¯Õ ØãÂ`ÇëÂxæÂ@ê ãÂà)æÂ€iÞÂ`¯ïÂ@zÖÂ@8áÂ@ÓÜÂâÂU×€òÜÂ@ç€íÂTìÂ@åÂ@¯â .àÂ@æÂÀ|àÂ`nå€3çÂ@>àÂ@ê€æÞÂ`bçÂÀLè äá ·ÞÂàÿì CçÂ@nØÂ@ç øèÂàŽêÂÑìÂÀFé€hóÂ`¶ÙÂ`€âÂ@,ãÂÀóáÂ`ŒàÂ~値é ÃÜÂÀ^å màÂÀváÂà¾âÂ`Ùè ¥áÂ`ŒàÂ`Œà€{Û ïÂ`†áÂ`ßçÂÀ ÞÂàAâÂûåÂ@ÇÞÂÀÿßÂ`bç€ÔáÂÀÃé€Î ï€Wá€Ôá çÂ@ÓÜÂà_ÝÂxæÂàÂ`ß瀰ç€ññÂ@sì€àßÂ@µá€'éÂ`>í 1ê “äÂÀ"ï€ìÂ@©ã =è´ÜÂr瀶æÂÀáäÂàèÛÂâ€9æÂ äÂ@,ã UäÂ`†á êàÂ@»àÂÀ·ë¢ßÂ@ åÂáÂ@ÍÝÂÀdä ìêÂ`nå€Úà Øã XÙÂåÂ`\èÂ@2â ãÂCÚÂ@éÂ`DìÂÀáä 1ê ¢ìÂ`ßç ÉÛÂÀßÂàèÛÂàeÜ€Q‼堮ê å @ÝÂÀáäÂàíïÂ`ñä€iÞÂåœàÂ@hÙÂÀ5×ÂÒ×€¼åÂÀçãÂàçðÂ`ëåÂàÄá€ÚàÂÀ‡óÂ@æÂ€Ôá öÞ¨ÞÂ@æÂ@£äÂà¬åÂÀÛå ãÂ@åÙ åÂÀjã —Ù€WáÂàÂ@éÂ@Ìò :ÞºÛÂÀRçÂ@,ãÂÀ«íÂ@©ãÂàeÜ ±ß–áÂ@…é “äœà äá (áÂ@&äÂàMàÂàîÚÂà¬åÂ`Jë ãÂ@êÂÀÛå LÛÂ@ åÂÀÕæÂÀÏç Ý uéÂâÂàìÂ`>íÂàÜÝ Û€àß 7é€æÞ€Ôá OåÂÀáäÂ@©ãÂàêÂfé€?åÂ`ñäÂU×€æÞÂà5äÂà|í åÂ`'Ü 7éÂïç€Ú€3çÂà²ä øè€?å :ÞÂÀÕæÂ Ò䀇٠gá€òÜ ©Ö …ÜÂ@—æÂ`ýâ€QâÂ`˜ÞÂ`ªÛÂ@©ãÂãéÂä d׮ݠ—Ù€iÞ´ÜÂ`÷ãÂ`!Ý äá¨ÞÂ`àÒ ™ãÂàšèÂ`3ÚÂ ÛØÂ ·Þ äáÂàwÙÂ`¶ÙÂä€Úà€«Ó€ÚÂÀFéÂÀ²×Â`æÑÂ@ÍÝ ½ÝÂÀ‚ß UäÂÀ¸Ö€°çÂ@yë Ü ±ßÂà›ÓÂÀÜ çÖÂÀÜ ÒäÂ@8áÂûå aâ (áÂâÂà/åÂ@2â€ë€!êÂ@ÓÜ€‡Ù RÚ€uÜ€{ÛÂàÐßÂ`ÞÂ@—æÂÀjã yÞÂ@,ã€ØÂ@DßÂàôÙÂÀjã öÞÂàèÂÀçã€cßÂ%ß "âÂ`žÝÂÀÖÑ€ÚàÂ1ÝÂÀÿ߀Îâ Òä€uÜÂ`ßÂÀíâÂ`bç€ÚàÂàwÙÂmÓ€øÛÂÀçãÂà€¶æÂ`!Ý ‡æÂ Þâ ‘ÚÂ ÛØÂ åÂ@äî€KãÂâÂ`â êàÂ@JÞÂàè¨ÞÂàqÚÂ@ÍÝÂ@2âÂCÚÂÀ¦Ù ãÂ%ßÂ@ßÚ ‡æÂ`ÁìÂ`täÂàÊà ‘ÚÂÀçãÂ1Ý€ ÙÂ@ÁßÂ@»à Ò䀨Â@ÕÂàeÜÂCÚÂÀçãÂÝêÂÀçãÂ7ÜÂÀ ÞÂà¦æÂ@,ãÂ`°ÚÂ@\Û @ÝÂäÂ@…éÂÀ”ÜÂ@\ÛÂ@†Ô€Îâ ã€oÝÂ7ÜÂ`Îծݠã ÀçÂ`3Ú€]àÂ@ßÚ yÞÂ@bÚÂ@ÍÝ 4ß êà€ÂäÂ`ªÛ ,ÖÂàGáÂàÐßÂ`÷ãÂ@ Ô€æÞÂÀ‚ßÂ@»à ·ÞÂ@PÝÂÀíâÂ@ÓÜÂ@èÂ@8áÂÀÚ€ÚÂ`9ÙÂàGáÂâÂ@¯âÂÀpâÂûåÂ@ÍÝÂ@PÝ ÙÂ@hÙ€ÎâÂÀ”Ü jÖ ·ÞÂ`ŒàÂÀóáÂ`†á äáÂÀ.íÂàèÂ@—æÂÀÛåÂÀÃé Ú ]íÂà5ä€3ç LÛÂåÂâ þçÂÀYÑÂ`ÈÖÂ@ÓÜÂÝê€-è (á £×Â@JÞ¨ÞÂà¦æÂ æëÂ@ÓÜ€ÎâÂà çŠã€3ç öÞÂxæÂ ãÂÀXæÂ@ê€{ÛÂ@µáÂ`žÝÂà ÖÂÀváÂ@äîÂ`€â Ìå —ÙÂ`߀-è "âÂ@èÂà;ãÂ`¤Ü€WáÂàÜÝ å …ÜÂå Þâ OåÂ@£äÂ`åæÂ¨ÞÂ`’ß ½ÝÂ`ëåÂ@ÇÞÂÀšÛÂàÕÂàÄáÂà çÂ@åÙ´ÜÂ`Â×Âà¬åÂ`ÞÂÀjãÂÀÿß =èÂ@‹èÂ~åÂ`€â€Èã RÚÂ`ÞÂÒ× ™ãÂ`ëåÂ`€âÂàGá êàÂÀíâÂ@çÂÀRçÂàÐßÂ`'Ü®ÝÂ`-ÛÂÀjãÂ@ÓÜÂàèÛ ±ß "âÂÀ߀iÞÂÀ¦Ù :Þ ä @ÝÂÀÜÐÂ@†Ô€WáÂ`ÔÔÂÀùà€oÝ€cßÂä€Ôá€Ôá +ëÂ@JÞ ½ÝÂàÕ màÂ=ÛÂàôÙÂ@ÇÞÂÀLèÂ`†áÂÀçã åÂ7Ü€'éÂ@—æÂ ð߀ÎâÂ@ÓÜÂ@Áß 4߀'é +ëÂ@»à s߀EäÂ$ôÂà¦æÂ@»àÂ@ÙÛÂ@JÞÂ`’ßÂ=ÛÂÀùàÂà|íÂÀÛå€òÜ€ÈãÂÀŽÝÂ@ÇÞÂ@©ãÂÀíâÂÀŽÝÂ@JÞÂà/åÂ@¯â–á ãÂÀÉè€3çÂCÚÂ@OòÂ`\è€ÕÌŠãÂ`Pê„ä óÔ êàÂ` áÂàÄá %ìÂ~åÂÀ@ê€Qâ %ì€ÚàÂ`Í꠨뀪è .àÂà¬å€ìÝÂ+Þ„ä€òÜ @ÝÂ`åæÂ á×Â@åÂàGá ä ã á× [ãÂÀÚÂ`bçÂàÿìÂà¦æÂÀÛåÂïç ðß üÝ æë Uä€EäÂ@&äÂÀdäÂÀçãÂÀùà ½ÝÂÀ^å€-èÂ+Þ :Þ€-耶æÂ–áÂ@£ä ÞâÂxæÂ@å ÝÂ@JÞÂ`âÂàâÜ ™ã€àßÂÀ”ÜÂÀˆÞÂ`'Ü Øã ©Ö€uÜÂ@¯â¢ß€ìÂõæÂ€nò çÂ@VÜÂûå îÂà”éÂà_ÝÂ`ëåÂÝêÂ`»íÂÀ"ïÂÀÃéÂ`nåÂàèÂàŽêÂ@,ã æë öÞÂ`zã 1ê 7é€!êÂ`bçÂ`ñäÂ@&äÂ@å ‡æÂÀšÛÂáÂ`âÂ`bç –î FÜ ¥áÂ`âÂ`ŒàÂ@2â ÉÛÂ@æÂ@ñ× yÞÂÀdäÂÀ^å„ä€cßÂÀLè€?åÂ`÷ãÂà¦æÂàÕÂ`Â×Â=Û ºè Øã ½Ý€ìÂ@míÂ@\ÛÂ`täÂ+Þ€cßÂà_ÝÂâÂÀvá >ÓÂàAâ “äÂ@&äÂà_ÝÂâ€uÜÂÀáäÂ@»àÂÀÕæÂ ±ßÂ@Á߀×ÂÀÛ€òÜ .à ÞâÂ@ÓÜÂÀÛÂ@ßÚ€àß "â€ÔáÂ+Þ ðßÂ`ªÛÂÀ¸Ö ØãÂ`Â×Â@ åÂÀLèÂà;ãÂ@—æÂ`âÂ`!Ý ‘ÚÂà¦æÂ ÒäÂ@DßÂ=ÛÂ`’ßÂ ÆæÂ@yëÂ`ôÂàdñ ÚíÂÀpâÂÀ½ê€bôÂTìÂÀ«íÂ<ð€DùÂSÃ`8î =èÂàÃöÂ@ÆóÂ`ô€˜ë àìÂ@ åÂÀÃé€ì€VöÂ`,ð ¶óÂ@%ùÂ@aï %ìÂàˆëÂ@IóÂ@Æó rô Eñ ÎïÂ`,ð 'öÂÀ.í Bü€åó€ŒíÂ@ú€,ýÂàRô€í€åó€Áù°›Ã@ÌòÂ÷Â@ê¹ðÂ@´öÂà™ýÂpÃ@mí WîÂ`ÇëÂÀô€VöÂ`[ÃTìÂ`êÂ@%ùÂ@1÷ í€tñÂÀÉè Eñ€P÷Â@+øÂ`©ðÂ@sìÂà ëÂ0ÚÀJøÂ6ñÂ`©ðÂàRôÂ<ðÂ@ åÂà½÷Â`ðùÂ@ØðÂúú€Vö€JøÂ€tñÂàÛòÂÀò QïÂÀ·ëÂ@¨øÂ*óÂ@mí ?òÂ@UñÂà ë õóÂ@ÀôÂ@„þÂÀuöÂÀþôÂ`ðù ÑùÂàFö€ÁùÂà™ý 'öÂÀôÂ`,ðÂ@OòÂ@[ðÂÀòö€P÷€JøÂÀò ü !÷Âà^òÂÀ:ëÂ`£ñÂ`gûÂ`©ðÂ`ê€zð§óÂÀ“ñÂÀ«í ’ùÂÐÀßôÂ`óÂ`£ñ ðÂ`ò ’ùÂàìÂ@êÂÀì÷ ÚíÂ@èÂ倘ë äá ¨ëÂ6ñÂõæÂ@éÂ@éÂ<ð ÀçÂàùíÂ`V逆îÂ`êÂÀ¥îÂ@=õÂÀ¥îÂËíÂ`ßçÂ`hæÂ€†îÂ@êí¿ïÂ@ºõ QïÂàvîÂÀLèÂÑì€ïÂ`nå =è ÌåÂÀÏçÂàŽêÂBï %ì %ìÂÀFéÂà#çÂàùíÂàvî€ìÂ`ÙèÂéèÂ`,ðÂ`÷ãÂÀLèÂà¬åÂ`ýâ œíÂÀ·ë€'é¢ßÂÀðÂÀô€°çÂ@ÓÜÂ@míÂ`µîÂà#çÂÀváÂÀLè  æÂ ®ê Tù€ýïÂ`Óé ´éÂÀð ´éÂÀÉèÂ@êÂ@‹èÂÝê€ÎâÂ`Pê WîÂ`nåÂÀíâ€-èÂàóîÂ`bçÂ$ôÂÀFéÂ`zãÂZë€EäÂÀ“ñ OåÂà‚ìÂ@äᠨëÂÀ±ì  æÂ@aï œí Cç€ÈãÂàé ¢ì ºè æëÂ@ðìÂïç åÂÀ‚ß ™ãÂÀÏç uéÂà5äÂ@—æÂ 1êÂ`ÇëÂ@é€]à oê ºèÂàMà€cß  æÂlèÂ`Ó逌í ÒäÂÀÃéÂ@8ᠱߠØãÂ@ðì ¨ë ðßÂ`>íÂÀ|àÂ@ê uéÂàêÂ`ê …Ü€ÖÂàÿì ðßÂÀÛå€ìÝ [ã ´éÂ~åÂÀjãÂ@åÙ ãÂ`ÇëÂ@‹èÂûå “ä UäÂ6ñ€¤éÂ@µáÂ`PêÂ@¯âÂàšèÂ`ßÂ`Þ ãÂÀóáÂÀpâ ^ØÂâÂà¬å€°çÂ@,ãÂàìÂ×ëÂ0òÂàÄáÂ@…é KðÂ@‹èÂà”é .àÂÀ Ú äáÂ@‹è ŠðÂõÂ@‹è uéÂà€!êÂ`߀Wá€c߀¼åÂ@gî øèÂ@JÞÂ`nåÂÝêÂàAâÂ`€â€àßÂÀRçÂÀŸï€KãÂ@,ã åÂÀváÂÀáäÂ@ðìÂZë ìêÂ`Óé€ëÂà/å ÞâÂÀÛÂ1Ý€ë òéÂàÿìÂ@¯âÂÀ‚ß ÌåÂ`zãÂ@&äÂ@‹è  æÂÀXæÂBïÂàé QïÂÀÉè ¨ëÂ@,ãÂ@yë€ÈãÂÀùàÂàÄáÂ`»í ÀçÂ`ßÂ@µáÂ@»àÂàvîÂïçœàÂà ëÂ@©ãÂÀíâÂ`êÂ@…éÂ`ëåÂÀjãÂ*ó€-èÂÀpâ€uÜÂïç äံæÂÀdäÂ@8áÂ@ßÚ€EäÂÀíâ ië ðßÂlèÂ@sìÂÀáäÂ@PÝÂÀváÂÀ^åÂ@»àÂ`&ñ uéÂ@—æÂÀvဪè€-èÂ@‹èÂà ç€Kã 7éÂà;ã ½ÝÂ`ÞÂ@êÂÀÉèÂà)æÂ€KãÂàÖÞÂCÚÂàSßÂ@£ä ‹ÛÂâÂ@2âÂféÂ`ýâÂà¬åÂ@©ãÂÀ«í€KãÂ`ëåÂlèÂ@‘ç "â äá€ÈãÂ`VéÂ@æÂ`ßÂ7Ü åÂ@¯â êàÂ`,ð ãÂ@©ãÂ`»íÂ`÷ãÂ`nåÂ`\è äáÂ`ñäÂÀ½êÂ`VéÂ@êÂ@¯â€ÚàÂÀßÂ@ßÚÂÀÃé üÝÂàÿì€ÔáÂ@æÂ`\èÂ`,ð ÒäÂ=ÛÂ@JÞ ÔîÂ`ëåÂà#çÂàÊàÂÀ‚ßÂ`ñäÂ@8áÂ@µáÂÆÙ€Qâ€cßÂNíÂ@yëÂÀ:ë [ãÂÀ^å øè€¶æÂ@åÙÂàìÂàì "âÂàAâÂ@ÇÞ€!êÂ`PêÂ@ßÚÂÀ‚ßÂÞÕÂà5äÂÀjãÂÀFé ^ØÂàúØÂ@åÙÂ`åæÂ ÁÒÂ@D߀iÞÂà¬åÂ~åÂà³Ï jÖÂ`߀"ÕÂÀçãÂ`ªÛ OåÂ`hæÂàMà€ØÂ ÉÛÂÀˆÞ€ØÂ€iޢ߀oÝÂ@ÙÛ XÙ (áÂàâÜ «àÂ`Â× äá€oÝÂ` áÂ@bÚ€9æÂÀ‚ßÂOØÂ Àç 4ßÂ@\ÛÂ`ŒàÂ%ßÂ@åÙÂÀ¾ÕºÛÂ@˜Ñ€ìÝÂàé øèÂÀváÂÀÝ iëÂÀ¦ÙÂ7ÜÂ`E×Â`3ÚÂ@PÝÂÀùàÂ`'ÜÂ`žÝÂ`âÂÀ ÚÂ`QÕÂÀÛÂÀ5×ÂÀÚÂÀÿ߀ìÝÂ%ßÂ`ÎÕÂÀ#ÚÂ`ê ŸâÂ`žÝÂ@ÇÞ€WáÂ@\Û .àÂÀóáÂ[ÖÂ@zÖÂ`3ÚÂàeÜÂàeÜ ÚÂ@&äÂ`nå€ìÝ€‡Ù ‹Û .à màÂÀ߀“× öÞÂ@bÚ åÂàGáÂ`tä¢ß€ØÂ`’ß màÂâÂ`ýâÂ7ÜÂà¾â€KãÂÀpâÂ+Þ€oÝ€ ٠݀°ç€Ú Ý üÝÂàeÜÂ@ÍÝÂZë€WáÂ`÷ãÂ@ÑÂÀÚÂÀpâ„ä ÜÂ@zÖ€cßÂ`bçÂ@ÓÜÂÀ”ÜÂ`°ÚÂ@t×ÂÏÂÀváÂÀpâÂÀ²× ØÂàÔÂÀÚÂÀ;ÖÂà/åÂ`ÎÕÂCÚÂàâÜ aâÂäÂ@µá€uÜÂà¸ã »Ó ÃÜÂ`ÞÂ`Þ ÉÛ [ã¨Þ RÚÂÀÉè€WáÂüÐÂàÔÂgÔÂÀ”ÜÂÀÊÓÂÀ)Ù FÜÂ@JÞÂ`˜Þ ÃÜÂ@Á߀ÚÂÀšÛÂàèÂà/åÂà/å€cßÂ`Â×ÂàGá ™ãÂ`EרÞÂ@ëØÂ€oÝÂÀ¦ÙÂÀÿß´Ü (á¢ßÂ`9ÙÂ@ÇÞÂ@hÙ XÙ€9æÂ€oÝÂ`÷ã€æÞÂäÂäÂÀ ÚÂàÄá sß á× ‘ÚÂÀùà FÜÂà Ö —ÙÂäÂ@JÞ [ãÂ+Þ€LΠÉÛÂ7ÜÂ`’ßÂàâÜÂ`˜ÞÂ`bç ØãÂIÙÂÀ#Ú€4ÒÂ@ßÚÂÀ²×€Eä 2ÕÂ@åÙÂöÑ ùÓÂâÂ`9ÙÂ`߀c߀WáÂZëÂàGáÂ@†Ô üÝÂàúØÂ€Eä —ÙÂÀ.íÂ` á ØãÂàÄá€]àÂ`¼ØÂÀSÒÂ@2â€øÛÂ`Áì€ìÝ€iÞ€cßÂaÕ "â€Wá ÃÜ ©ÖÂ@8áÂàÔÂÀˆÞ€™Ö ØÂàâÜÂà¸ã OåÂÀ¸ÖÂÀŽÝÂ@VÜÂéè€{ÛÂðÒ 8ÔÂÀÚÂâ€iÞÂ`¼ØÂà ÖÂàèÛ€uÜ ÃÜ ÙÂxæÂåÂà5ä Ü ÕÙÂ`KÖÂÀ¬ØÂ [㠥ဠـŸÕÂ`ßÂ@,ã c젱ߠ&×ÂàÖÞÂÀ)ÙÂ`Çë€ÂäÂà/åÂàSßÂ@,ã |Ó€ØÂ€cß äœà ‡æÂ …ÜÂ@VÜÂ`ªÛ ‹Û€Qâ äÂ@ÇÞ–áÂ@VÜÂ ÆæÂ`3Ú Øã jÖÂ@»à .àÂ`täÂ@8áœàÂ`\èÂ@»à€Œí ŸâÂâ€ÔáÂÀ¾Õ€uÜ öÞÂ`©ðÂàkÛÂ`ßç€ëÂÀ#ÚÂ@ÍÝÂ`hæÂÀ#Ú€Èã ‹ÛÂ@JÞÂ`hæÂ€òܨÞÂ1ÝÂ`3Ú€Îâ¢ßÂ`ÇëÂÀÚÂÀ”Ü´ÜÂàÐß üÝÂ@ëØÂ ™ãÂÀ·ëÂàâÜÂ`-ÛÂ@µá¢ßÂÀpâ Cç ä U䀇٠ã «àÂÀÏç€Qâ UäÂ~åÂà çÂÀ@ê 4ßÂ@>àÂàÐß Øã ™ã€æÞÂÀ·ëÂ`°Ú ÝÂ`zã€zðÂ~åÂ@‘ç [ã€òÜ€]àÂ@nØÂ`ÈÖ UäÂ@8áÂÀváÂ ÛØÂÞÕ çÖÂ`âÂà”éÂàâÜÂàqÚ€‡Ù ÞâÂ`uÏ êà .àÂÀšÛ ‘ÚÂ`°Ú ¥á ‹ÛÂ`âÂ@>à ŸâÂ`zã€ÎâÂØÖÂàGáÂÀpâ€ØÂ ‘Ú ^ØÂ ÝÂ`'ÜÂàeÜÂÀ”ÜÂOØÂ LÛ XÙ màÂ%ßÂ@zÖ ©Ö 8Ô @Ý€Wá sßÂ7ÜÂ@ëØÂ êàÂÀ ÞÂÀÊÓÂ@PÝ ÉÛÂ`nåÂ@‘çÂ`!ÝÂàkÛ€¶æÂ@÷ÖÂ`3ÚÂ`ÚÓÂà‰ÖÂÀAÕ —ÙÂ@çÂ[Ö á×ÂÀjãÂ`nå€Èã d×ÂàqÚÂà¹Î DÒ€.Ó ÇÑÂ@åÙ€ÚÂ@>àÂàúØÂ@8áÂ@ßÚÂ`?ØÂ€ÚàÂÀÛ |ÓÂ@PÝÂà ÖÂ`ÚÓ€“× ÜÂ@3Í pÕ ©ÖÂ`9ÙÂ@zÖ ÝÂ@£äÂÀ#Ú £×ÂàÕ ŽÐÂ@ÓÂ@»àÂðÒÂaÕÂàGáÂÀÚ ÐÂðÒÂà§ÑÂ`àÒ çÖ€øÛÂ`ÔÔÂ@VÜ LÛÂ@ëØÂ‘ÍÂà}ØÂ@\Û€ØÂ€ŸÕÂàÓÂÀùà Ï€ØÂàeÜÂäÔ€4Ò€àß´Ü€«Ó màÂöÑ £×ÂÀÄÔ€±Ò€{ÛÂ`¼ØÂÀváÂ`'ÜÂÀÿß ^ØÂÀ¬ØÂ€‡Ù #Í Ù 8ÔÂÀ ÞÂOØÂ (áÂ@€Õ€™ÖÂIÙÂÀˆÞ d×€™ÖÂàôÙ€àßÂIÙÂU×ÂêÓÂsÒ€½ÐÂ`uÏÂ`æÑ€“× —Ù€þÚÂÀÊÓÂØÖÂàÓÂàeÜÂàwÙÂÀÊÓÂàwÙÂ@ÓÂ@'ÏÂà$ÒÂ=ÛÂàÄá jÖÂàYÞ€òÜ XÙÂ%߀™ÖÂ`òÏ 5ÊÂ@˜ÑÂ@ëØÂ@ßږဟՀøÛÂ@8áÂÀ_ÐÂüÐÂÀ/ØÂ ŽÐÂ@zÖ RÚÂÀSÒÂ@ëØÂºÛÂàèÛÂàwÙ ‹Û€½ÐÂ`WÔÂ`¼ØÂ`¶ÙÂÀÜÂàÕÂà$Ò€×Â`ÞÂàâÜ€‡ÙÂ@žÐÂÐÂàîÚÂ@¯âÂØÖÂ@Ó ØÂ€ÚÂ@÷ÖÂ@åÙ DÒÂ@ßÚÂ@èÂÀSÒÂà‰ÖÂgÔ íÕ çÖ á×ÂÍ€ìÝÂÀYÑ€×€þÚ &× JÑ d×ÂU×Â`ªÛÂàÄáÂÒ×Â=ÛÂÀÛ€WáÂmÓ€:ÑÂ@ÙÛ ÉÛÂ=Û€.ÓÂÀ²×ÂÀdä RÚÂ@÷ÖÂ`øÎÂ`àÒ€ØÂ€þÚÂ%ßÂàÊà€ÃÏÂ ÛØÂÀdäÂ@>à€ØÂ |ÓÂ@¤ÏÂÀËÂà*ÑÂàîÚ€(ÔÂ@t×Â@>àÂàúØÂ ÝÂ@÷Ö ”ÏÂðÒÂ`¶Ù€.ÓºÛÂ`Í d×€ÖÂàèÛ€ÎâÂàÅÌÂÌØÂ@zÖÂ@8á€ÖÂ`oÐÂ@˜ÑÂÀ/ØÂ€òÜÂà­ÐÂà}ØÂÀMÓÂÀAÕÂà¾â¢ßÂÀGÔ ŽÐ ÉÛ ÜÂ@nØÂ Ý€ÂäÂ`†á ºèÂ@bÚÂÀ5×Â@ÙÛ ÕÙ ¯ÕÂ@ÍÝÂ`ÔÔ€iÞ€Ú€þÚÂÀ#ÚÂ`cÒÂ`þÍ ÓÏÂàÜÝÂà}ØÂ—ÌÂaÕ ØÂ`òÏÂÀ)ÙÂÆÙÂ@ÒÂÀÛ ÉÛÂàÓÂàBÍ ØÂ€ŸÕÂ@VÜÂ@ÒÂÀ5×€.ÓÂàÖÞÂà}ØÂ ‹ÛÂ@ëØÂ@Á߀ŸÕÂÀŽÝÂ`ŒàÂÀ ÚÂ`’ß ÛÂÀ.íÂ`’ßÂ@ÙÛÂ@˜ÑÂ@€Õ d×Â`¤Ü€ìÝÂ`ÈÖÂÀÊÓÂÀ;ÖÂ`¤ÜÂàÂ@÷ÖÂÀ”Ü öÞ€™Ö€ØÂÀGÔ€ØÂÀóáÂ`’ß á×Â` á d×Â@ÍÝÂÀçãÂ`ßÂ`ß çÖÂÀ¸ÖÂ@ÙÛÂ`E×Â@£ä€oÝ€“×ÂÀ‚ß uéÂ@ÑÂÀMÓ€ÚÂàÖÞ ÛÂàƒ× ÃÜ€Ú ‚ÒÂ`°Ú ÚÂ`’ßÂÀ5×Â@Õ€òÜÂ@ýÕ ^ØÂÀßÂ`òÏÂÀ ÞÂàîÚŠã€FÏ€«Ó ^ØÂ€«Ó€dÊ ,Ö ÏÚ ÇÑÂÀâÏ ÎÂÀ)Ù ©Ö ëË€.ÓÂ@bÚ¨ÞÂ`ªÛÂ@ Ô€ÚÂ`’ß µÔÂàZÉ ÕÙ ºè ¥á DÒÂ@ñ×€ÚÂ@ÙÛ´ÜÂàÕ á×Â`ªÛÂ@žÐÂÀÊÓ ùÓÂà0ÐÂ`QÕÂÀ²×Â`E× ±ßÂàôÙÂU× yÞÂÀMÓÂöÑÂÀ¾ÕÂ`bç @ÝÂÀ)Ù £×Â@¤Ï ØÂ`?ØÂàwÙÂ@ÕÂ`9ÙÂà³ÏÂÀSÒ 4ß [ãÂÀYÑ ^ØÂ mà óÔ ÏÚÂ@ÂÊ€ ÙÂ=Û XÙ ÛÂàèÛÂ`ªÛ€]àÂà•Ô€·ÑÂÀkÎÂÀ²×€ÛËÂÀÜÐÂêÓÂ@ßÚÂ@2âÂâÂà­Ð £×ÂÀùà€“×Â`-ÛÂ@ÓÜÂà ÖÂР…ÜÂ@9ÌÂÀÐÒÂÀÖÑÂÒ×Â@ÕÂ@bÚ ¯ÕÂà‰Ö€«ÓÂÀÖÑ€@ÐÂCÚÂÀ ÚÂ`E×Âà¹Î çÖÂàèÛÂàÊàÂà}ØÂOØÂ@÷Ö€«Ó®ÝÂðÒÂàîÚÂ`¼ØÂ ÓÏÂaÕ€Ú |Ó £×ÂÞÕÂà­ÐÂ@'ÏÂ`°Ú ˆÑ ÏÂ@°ÍÂ@ÕÂà<Π Í ,Ö ±ß ØÂ€½Ð ÝÂÀAÕ€4Ò€4ÒÂ`]Ó€òܠ݀@Ѐ.Ó 2Õ vÔÂÀíâ ÄÇÂà¡ÒÂà­ÐÂàô٠܀·ÑÂ@ÙÛ€dÊÂ@žÐ€ÖµÇÂà0РÏÂÀkÎÂÀ¡ÅÂàrÅÂäÔÂaÕÂÀ;ÖÂ@ Ô€@ÐÂ@žÐÂ`àÒ€Ú ©ÖÂÀÄÔ€½ÐÂàÓ€øÛ ÐÅÂ`òÏÂ@°Í çÖÂ@ÓÂÀeÏ #Í VÏ vÔÂ`E×ÂÀYÑ hÌÂà×ÂIÙ ØÂàwÙÂ`‡ÌÂ`ŸÈÂÀMÓ ˆÑÂ`-ÛÂ@ÑÂ`iÑ íÕ d×Âà*ÑÂ@Áß ØÂÀMÓÂ7Ü€4ÒÂ`àÒÂÌØÂ@¶ÌÂàÔÂàúØÂ`ÔÔ€ÚÂÀváÂà§Ñ ŽÐÂÀèÎÂ@bÚ pÕ óÔ€¥Ô µÔÂ@JÞÂ`¤Ü€ÚÂ`½Ã šÎÂÐÂÀ/ØÂöÑÂ@Õ ÒÂå ÞâÂàqÚÂ@ÓÜ€½Ð ÇÑ ØÂ ¯ÕÂ`ÔÔÂ@µá€™ÖÂ@€ÕÂ@÷ÖÂÒ×€ØÂ€cßÂüÐÂ@÷ÖÂàîÚ d×€ØÂ`E×€XÌ µÔÂàÕÂCÚ€™ÖÂ`KÖÂ ÛØÂ ØÂ€LΠ¦Ì ÙÎÂÀùàÂ`WÔ€Ö ±ßÂÀkÎÂ@Õ RÚÂ@€Õ ùÓÂ`àÒÂàkÛÂ@åÙÂ@bÚÂöÑÂÀ)Ù ÝÂ`þÍÂ`¶ÙÂ@nØÂ€ÚÂÀ}Ë€·ÑÂàqÚÂØÖ€ØÂ@»àÂ@hÙÂ@-΀«ÓÂÀvá€ØÂÀ_ÐÂÀ)ÙÂ@€ÕÂ@ñ×Âà‰ÖÂ`¶ÙÂ`KÖ´Ü çÖ€ÕÌÂ`˜Þ€"ÕÂÆÙÂ`¶Ù þçÂ` á€øÛÂ…Ï ²Ê ©ÖÂ`ÞÂ`ÍêÂÀ_Р‹Û 4ßÂÀÿßÂ@ñ×Â@\Û ÃÜÂÀ5בÍÂ`täÂ`ÎÕÂ@€ÕÂ@’Ò ÉÛÂ@ßÚÂ`nå LÛÂ`˜ÞÂ`÷ãÂàMàÂ@˜ÑÂ@˜ÑÂÀÊÂ`QÕÂêÓÂ`Â×Â@DßÂÀŽÝ ^ØÂ=Û€WáÂ`Â× ØÂÀ/ØÂ ©ÖÂÀ ÚÂàúØÂ@’ÒÂ`¤ÜÂ@ÍÝÂ7ÜÂÀ”ÜÂà¬åÂ@hÙÂ@©ãÂûåÂ@ÓÜÂ@bÚÂÀSÒ äá öÞ€ÂäÂ@ŒÓÂ`cÒ FÜÂ@bÚ€òÜ€9æÂ`täÂ`’ßÂ@åÙÂ@åÙÂà¿ÍÂØÖÂ`!ÝÂ`÷ã öÞÂà6ÏÂàqÚ€“×Âàƒ×ÂÀÛÂ@»àÂÒ×ÂÀpâÂ@PÝÂ`ŒàÂ@>àÂÀAÕÂ@žÐ€ØÂ€ ÙÂ@»àÂÀ¸Ö ‹Û —Ù€{Û€æÞÂàÐ߀¤éÂ@PÝ€{Û€æÞÂ`-ÛÂÀÚÂ@ÕÂÀšÛÂàîÚÂ%߀·ÑÂÀváÂÀÝ íÕÂàÓÂàÕ íÕÂÀ¦Ù gá yÞ ^ØÂ€àß ÉÛ€uÜÂÀYÑ€ØÂ€ÔáÂ`9Ù @Ý ‘Ú ‘Ú ØãÂàÜÝÂ`’ßÂà_Ý€¥ÔÂÀÛÂ ÛØÂ`\è€ÈãÂÀpâ€×Â@ëØÂ`àÂ@†ÔÂàÕÂ@ÓÜÂ@PÝ€Ú XÙÂ@PÝÂ`Þ€øÛÂà×Â`øÎ€pÈ€Ö€{Û :ÞÂ@3Í€4ÒÂ@>àÂ`?ØÂ`¼ØÂ RÚÂàèÛ€«ÓÂ`þÍÂ`¼ØÂ êà …Ü zÉÂàÕÂ@Ò óÔ bÍÂÌØÂÀ‚ßÂ`-ÛÂÀÄÔ ¯Õ &×Â`æÑ XÙÂ@PÝ€4Ò PР©ÖÂ ÛØÂ µÔÂ@zÖÂàYÞ šÎÂ@ÇÞ ‹ÛÂCÚ ÝÂ@PÝÂàAâ Ú€uÜ€“×ÂÀ|àÂ@t×ÂàÜÝ DÒÂ@\ÛÂ=Û üÝÂ@JÞÂàâÜÂ=ÛÂÀváÂà}ØÂÀSÒÂ`ÎÕÂ…ÏÂàÓÂ`ÍÂÀÜÂ@»àÂÀ”ÜÂ@ŒÓÂà ÖÂÀšÛ ÛÂ@Ó VÏ€RÍÂsÒ DÒÂ@ýÕÂ`!ÝÂàÝÈ DÒ ÁÒÂ@ ÔÂ@ñ× ÒÂà_Ý XÙÂ`Ë€jÉÂüÐÂ@t× ÈÂÀ;ÖÂà›Ó bÍÂàNËÂ@JÞÂàÓÂ@˜Ñ »Ó ¸É µÔ€ØÂàÑÊ€óÇ€ÃÏÂ`3ÚÂÀÝÂ@’Ò€øÛ€ Ù€ÃÏÂÀ²×  ÑÂOØÂ +ëÂÀ¦ÙÂà$ÒÂÀÄÔÂÏÂ@ÒÂÒ× vÔ€FÏ€:ÑÂà×É€pÈ yÞÂÀšÛÂÀGÔ€:ÑÂÀâÏ€(Ô€@ÐÂà§Ñ€FÏÂÀÝÂ`!ÝÂà}ØÂ`]ÓÂР»ÓÂÀˆÞÂ`3ÚÂ@VÜÂ`9ÙÂÀݠ܀Èã «àÂÀÜÂ@2â £×Âà¾â€àß Ù€@Р|ÓÂØÖÂàÕ‹ÎÂ@µá Øã€cßÂÀÚÂàkÛÂ`]ÓÂâÂÀóáÂàÕÂ@€ÕÂ@ªÎ€ÔáÂÀ?ÿÂÀ`»Â€FÏ bÍ ‹ÛÂÀÐÒÂ@>àÂÀŽÝ óÔÂÀ¬ØÂ@ ÔÂàGá —ÙÂÀÚÂàÐ߀ÚÂàÜÝÂ@ßÚÂÀÊÓ€ÕÌ —ÙÂ`QÕÂÀ/ØÂàÐ߀]à Ï€“×Â`ÈÖ€½Ð€ÚÂà­Ð€XÌÂÎÂÀwÌ€"ÕÂ`KÖ€ÚÂ`3ÚÂàâÜÂ@ßÚ yÞ€ØÂ€Ö á×ÂÀYÑ ãÂÏÂäÔÂ@˜ÑÂ@ýÕÂ`°ÚÂà×Â@ßÚÂ@Õ £×Â`ßÂ`þÍ ÁÒ ùÓÂ@¯âÂ@ ÔÂ@å RÚÂ`¤ÜÂ@åÙÂÀÚ …Ü€Qâ jÖÂÀÚÂ`]Ó€cß .àÂ@Ó PÐÂÀ|à ±ßÂÀˆÞÂ`3Ú€àß ÝÂIÙÂà_ÝÂ@ëØÂÀÊÓ pÕÂÀ¸ÖÂ`?ØÂ ÁÒ jÖÂ[Ö —ÙÂÀ ÞÂÀ#Ú РvÔ &×Â+Þ ÜÂÀSÒÂà€Úà jÖÂ@åÙ€×Â@bÚÂ`ÚÓÂàÜÝ @ÝÂaÕÂÀ¸ÖœàÂàGáÂ@åÙ sßÂàSß \Π>ÓÂàØÂÎÂÀ¸ÖÂ`àÒÂÀˆÞÂàâÜ ‘Ú€uÜÂ ÛØÂÀÛ€øÛ @ÝÂ`oРRÚ ½ÝÂ@>àÂ`àÒÂêÓ @ÝÂ@»à¢ßÂ`°ÚÂOØÂ`'ÜÂ`bç€Ú nËÂ~åÂàèÛÂ`ÚÓÂÀ¬ØÂ [ãÂ`'Ü–á€uÜÂÀŽÝÂ@ëØÂ@Dß «à RÚÂà²äÂIÙ€4ÒÂÀÚ ÃÜÂ`ÚÓ€ìÝ ÁÒÂ`KÖÂüÐÂÀÿßÂÀçãÂÀ²×ÂÀ¦ÙÂà‰ÖÂàîÚ >Ó DÒ ¯ÕÂà}ØÂ`ÚÓÂÀÛÂà×Â`àÂ`˜ÞÂàšè £×ÂÀ/ØÂ ^ØÂ`WÔ ãÂ`’ß ·Þ¨Þ ½ÝÂ ÛØÂÀèΠÐÂ@ýÕ€XÌ —ÙÂ`’ß´ÜÂðÒÂU×Âàƒ×ÂàqÚÂÀˆÞ ßÍ &× ÃÜÂàGáÂ`€âÂàwÙÂ`?ØÂàÅÌ ÓÏÂ@’ÒÂÀóá€ØÂ€½Ð á×€ìÝÂàîÚ€uÜÂÀ Ú üÝÂÀšÛÂ@Õ€×€ Ù€ÚÂU×Â@ÒÂÀÊÂà§Ñ µÔ ,ÖÂ@\Û€Ö€¥ÔÂ@åÙÂ@DßÂÀSÒÂ`iÑÂöÑ á×ÂaÕÂàÓ€"Õ€"ÕÂÀdä€{ÛÂÀÚÂêÓ€ÚÂà•ÔÂÀˆÞ€øÛÂ`E× 8ÔÂ`°Ú  ÑÂ`?ØÂ üÝ€ŸÕÂ@zÖ€øÛÂ`°Ú çÖÂ`¶Ù€ØÂ`ÔÔ êàÂÀ)Ù€‡ÙÂ@&ä ÝÂ`¤ÜÂ@ ÔÂÀíâ€iÞÂ@ëØÂ€EäÂ@&äÂÀ”ÜÂÀ#ÚÂ@ÁßÂ`ßÂ@t×Â@,ãÂÀ ÚÂ@µá€‡ÙÂ`°ÚÂ@€ÕÂÀ²×€òÜÂ`ŒàÂ`žÝ —Ù€cßÂ@PÝÂÀ¬ØÂ@¯âÂ+ÞÂà}ØÂmÓÂÀÜÂ`ߨޠÿÒ (á :Þ 8ÔÂÀÝÂ`]ÓÂЀcßÂ@DßÂàÓ ÜÂ@ýÕÂ@ëØÂ@ÓÜÂ@-΀uÜ 4ßÂÀßÂ@Dß aâ€.ÓÂ`¤ÜÂàúØÂà¦æÂ ÉÛÂ@ªÎ màÂàqÚÂ`ÞÂàqÚÂ,É€RÍÂàwÙ 8ÔÂÀ5×ÂàèÛÂ@¤ÏÂÀ¸ÖÂ`ÈÖÂÀ)Ù ÉÛÂ@†Ô€íÈ á×ÂÀ¸ÖÂ`ªÛ€֮ݠOåÂ`iÑ FÜ sßÂ`Â×Â%ß ßÍ —Ù€Ú€ÚàÂàÔÂ7ÜÂÀáä¨ÞÂ`ÞÂàƒ×ÂÀŽÝÂ`iÑÂÀÚ íÕ€uÜ …ÜÂ@ßÚÂÀÊÓÂàƒ×ÂàeÜÂÀÛåÂÀ¦ÙÂÀ²×ÂÀMÓÂÀ¾ÕÂ ÛØÂ€ ÙÂ@ÓÜÂ@bÚÂàÄáÂàúØÂ€ØÂÀíâÂÀÝ€cßÂàeÜÂàGá UäÂ@ëØÂ@˜Ñ mà€QâÂ`zãÂà}ØÂ€WáÂÌØÂàÊàÂ`-Û "âÂ`òÏÂÀ#ÚÂà²äÂÀÜЀڠÁÒ€Ú€¥ÔÂ`¼ØÂ€ ÙÂ@ëØÂ€{ÛÂ@\Û€WáÂÀ ÞÂÀÚÂÀSÒ ÝÂ=ÛÂÀÝÂâ çÖÂÀYÑÂ@Áß ÞâÂ@PÝÂ=ÛÂÀˆÞÂ@ýÕ¨ÞÂmÓ€òÜÂ@åÙ µÔÂ`¼ØÂ€Qâ„äÂ@zÖ ·Þ æëÂà× ™ã yÞÂ`'Ü ä´ÜÂ@PÝÂ@DßÂ@hÙÂàAâ þçÂ@\Û€àß ÒäÂ`tä yÞÂ`ÎÕÂ@»àÂÀdäÂ+Þ .àÂ`¤Ü ‡æÂàÐß ÛÂ[ÖÂ`°ÚÂÌØÂ`ÈÖÂ`!ÝÂOØÂ`iÑ XÙÂCڜ࠽ÝÂ+ÞÂU×€{Û êàÂàÕ ÙÂ@ÁßÂ`¼ØÂ@ñ× d×ÂàqÚÂÀ ÚÂàÖÞÂIÙ€™ÖÂ`?ØÂ€Úà€Ú ÝÂ`3ÚÂÀÝÂ`3ÚÂ@t×ÂàkÛÂ@8áÂ@JÞÂ@¯â€ ÙÂÀÛåÂ@åÂà²äÂIÙÂà#çÂÀ”ÜÂ`à üÝÂà}ØÂ®Ý€9æÂÀ)ÙÂ@VÜÂU×Â`!ÝÂ`¶ÙÂ`ÎÕ€‡ÙÂàÕºÛÂàMà€9æÂ@>à XÙ ÝÂ`?ØÂ ué€ìÝ öÞÂÀ¸ÖÂÀˆÞÂà ã ÝÂ@Ҡ݀oÝÂÀ|à€{ÛÂÀ¬ØÂÀ^å€uÜ€{ÛÂ@åÙ á×ÂCÚÂ`KÖÂ`9ÙÂ@ëØÂ€øÛºÛ ,ÖÂàÕÂ@nØÂ Þâ€×Â=Û FÜÂà€'é yÞ ÛÂ`ÞÂ@JÞÂ7ÜÂÀÛÂÀ5×ÂàMà 4ßÂ`?ØÂàôÙ ÿÒÂ@¤Ï€¥ÔÂÀjã UäÂ1Ý®ÝÂ`?ØÂ@ëØÂ`ÔÔÂÀSÒÂ@€Õ ŸâÂ ÛØÂÀ²×ÂÀ¦ÙÂ@DßÂ`žÝÂâÂ`E×ÂØÖÂÀ”Ü€{ÛÂ@Íݠ܀ŸÕÂ@&ä€cßÂ@€ÕÂÀ²×ÂaÕÂ@t×Â@VÜ  æÂàúØÂÀÄÔ Øã€ìÝ€]àÂ@VÜ PÐÂ=Û€ØÂ öÞÂàYÞ ½Ý€™ÖÂ@‘çÂÀ5×€iÞœàÂ`ß–á pÕÂÀLèÂ@hÙÂÀÜÂ@ÍÝÂ@&äÂÀp’ÖÂÀÝ€ìÝÂÀpâÂ`ªÛ€Qâ [ã 8ÔÂà¡ÒÂà$ÒÂÀÛÂÀÜ ½Ý jÖÂàÔÂ`Â× jÖÂàwÙ —ÙÂ@>à ÙÂÀAÕÂÀ#Ú UäÂ@ÍÝÂ`žÝÂ`'ÜÂ@ßÚÂÀˆÞÂ`÷ã @Ý€ÚÂàwÙÂàâÜ€ØÂ@&ä ØÂ`Â×Â@ÍÝÂIÙÂOØÂ€ìÝÂàS߀™ÖÂ`KÖÂ@©ãÂ@nØÂà_ÝÂåÂ`zãÂ+ÞÂÀÚÂàÓÂÀGÔÂÀ”ÜÂàeÜÂÞÕÂxæÂ …ÜÂÀˆÞÂàÜÝÂÀpâÂàeÜ€Âä öÞÂ@PÝ :ÞÂ@2âÂ@ßÚ (áÂÀ”ÜÂÀÜ ÞâÂ@,〰çÂàYÞÂ`÷ãÂ@t×ÂàSß ðßÂà×€“×ÂÀkÎÂðÒ€KãÂ`-Û &×ÂöÑ ·ÞÂàSßÂàÕÂ@ÓÂöÑÂÀ¦ÙÂà ÖÂ@ åÂ@êÂÀváÂâÂÀYÑ &×ÂU×Â@÷Ö€™ÖÂÀ5×ÂÀ;Ö Û€ìÝÂÀ¾ÕÂ…Ï üÝÂàwÙ€ØÂ j֮ݠ™ã µÔÂmÓ üÝ€øÛÂ`Â×Â@>à ÚÂÀÜ vÔ€ Ù ØÂ [ãÂÀ#Ú FÜ€oݨÞÂàÖÞÂ`’ßÂ@€Õ ÛÂÆÙÂàÖÞ .à ÉÛÂÀÛÂ`\è€Úà€{Û ØÂ€Ö yÞÂ`ßÂàÕÂ@ñ×€{ÛÂ@©ãÂÀpâÂIÙÂ%ßÂÀÜÂxæÂÀ Ú …Ü ØÂÀdäÂâ màÂ@æÂ@ÁßÂàÖÞ äŠãºÛ üÝÂ@ÓÜÂáÂ@ÓÜÂ`âÂ`\è ‘ÚÂÀ|à€ìÝÂ@÷Ö ‘ÚÂ7ÜÂà¦æÂàAâÂ`€â üÝÂÀjãÂ` áÂÀ²× ÛÂféÂÀvá–áÂ+ÞÂÀ ÚÂ`€â€]àÂâÂ@DßÂõæÂ@2âÂ@ÁßÂàMàÂÀjã üÝÂàwÙÂ@JÞ äÂ@ê ±ßÂ`'Ü€?åÂïçÂÀ ÚÂ`täÂàÄáÂÀáä ‘Ú FÜÂÀß çÂ@8ြåÂÀÛÂ@ÇÞÂÀ Ú ØãÂCÚÂ@†ÔÂ%ßÂêÓÂàqÚ€WáÂ@Áß IæÂÀóáÂÀùà ·ÞÂ@VÜÂÀÜ€{ÛÂ`zã®Ý Ü Ü …ÜÂ ÛØÂ ãÂÀí‼å ÒäÂ`¼ØÂàeÜ åÂ` á sßÂ`žÝ€"ÕÂ@ÓÜ öÞ ½ÝÂ@çÂ@æÂ€uÜ€{ÛÂÀÝÂÀ²×ÂÌØÂðÒ “äÂ`Þ sß ßÍÂðÒ ,ÖÂ@µáÂ=Û "â “äÂ@&äÂ@>à öÞÂ@÷ÖÂÀ|àÂàkÛÂàeÜ ÏÚÂÀÛÂ@ÓÜÂ@2â ÜÂ@Dß .àÂ`€âÂÀÝ —ÙÂà ÖÂà•ÔÂÁÅ€cßÂgÔÂÀÚÂ@Õ€ÚÂ@µáÂ`ßçÂàYÞÂÀ ÚÂ`!ÝÂaÕ ÛÂ@ÓÂÀ²× üÝ á×€iÞ€‡ÙÂ1ÝÂCÚ´ÜÂÞÕÂ`-ÛÂàÖÞÂlèÂÀAÕÂ@>àÂàé ÌåÂ@t× FÜÂgÔÂ@DßÂ`æÑÂ=ÛÂ@\ÛÂmÓ ^ØÂ@\Û ^ØÂ íÕ€"ÕÂÀÜ€“×€4ÒÂ`ÍÂà€‡ÙÂàSß êàÂÀâÏÂØÖÂCÚÂÀ Ú )ÌÂàkÛ çÂàÕ ±ß ÕÙ€{Û Ý |Ó …ÜÂàÊàÂ`!ÝÂÀÜÐÂÀ}ËÂ@t×ÂÀÝÂ@ÑÂà•Ô XÙ FÜÂÀ/ØÂ=ÛÂ ÛØÂ ©ÖÂÀŽÝÂàØÂgÔÂOØÂ€]à€ÉÎÂ@»àÂà‰ÖÂàqÚ ÍР>ÓÂ@ýÕ …Ü€þÚ€“× ²ÊÂ@÷Ö€ÃÏ ßÍ€òÜÂ@&ä µÔÂÀÛÂÌØÂÀÄÔÂ`æÑÂàÜÝ€ ÙÂ@hÙÂà­ÐÂÏÂÀšÛÂÀÐÒÂ`ÎÕ ÇÑÂÀÜ€(Ô€¥Ô ùÓÂÀ¾ÕÂà}ØÂ`Â×Â`ñä óÔÂàÔ€þÚÂ@’ÒÂ`?ØÂ€ØÂ :ÞÂà¡ÒÂÀSÒÂOØÂ€«Ó ŒÆÂ`LÁÂ@ýÕÂàÕÂÀMÓÂà•Ô€RÍÂÀ5×ÂÀwÌÂ@ªÎ ØÂà$Ò JÑÂÀîÍ€uÜÂÀ#Ú &×Â`ËÂ@¤ÏÂàÕ ëËÂ@¼Ë ¦ÌÂÏÂÀÄÔ€:Ñ µÔÂ@hÙÂ@ýÕÂ@ýÕÂ@¤ÏÂ@ŒÓ€ÔáœàÂÀ#ÚÂàèÛÂÀÜÐÂà•Ô LÛ ÍРÐÂ`òÏÂ`æÑ ©ÖÂÀ¦Ù óÔ ÐÂ@÷Ö€FÏ Ú€ìÝ€‡Ù /ËÂÀGÔÂàƒ×Â@˜ÑÂ`ÚÓÂÀ|à gáÂ1Ý ½ÝÂ@¶ÌÂOØÂüРÿÒ€ŸÕ€ÉÎÂÀ#ÚÂàÕÂÍÂÀ Ú¢ß ÏÚÂà‰ÖÂ@åÙÂÀXæÂ`¤Ü ÒÂU×ÂÀ;Ö VÏ _ÃÂ`cÒÂàÕÂÀÐÒÂ`ÔÔ µÔ LÛ€uÜÂÀ¸Ö µÔ £×Â@ÙÛ FÜÂÀÛ€‡ÙÂ`?ØÂ€ ÙÂàÓÂÀ¦ÙÂàØÂ ØÂ´ÜÂÀôÌÂIÙ´ÜÂà¾â€RÍ pÕ ÇÑ€uÜ pÕ »ÓÂàMàÂà}ØÂ‹Î µÔÂ@t×ÂàÕ ‚ÒÂÀ¾Õ óÔÂÀ¦Ù ‘Ú ‚ÒÂ`€âÂ`ÎÕ€.ÓÂà¹ÎÂÀAÕ€¥ÔÂ@åÙÂÀ/ØÂÀ ÞÂ@9ÌÂ@¶ÌÂà}ØÂÀ¾ÕÂàÓÂ@Õ€E䠱߀“×€]àÂU×Â@»àÂÀ¬ØÂÀ/ØÂ€þÚÂÀˆÞÂ@hÙÂàkÛ€@ЀÚÂàÕÂÀ#ÚÂ@’ÒÂ`Â×Â@JÞÂÀ;ÖÂ+Þ ‹ÛÂÀÛÂ`ÞÂ`]ÓÂàYÞÂÀ‚ß …Ü 4ßÂÀÛ€ÚÂàâÜ ±ßÂ@t×ÂàÔ ÝÂ@€ÕÂ`ÞÂàØÂ@Dß &×Â@ÍÝÂÀ¸Ö @ÝÂ`Þ€øÛÂ@žÐ [ã®Ý ,ÖÂ@ÓÂÆÙÂàÖÞ 8ÔÂ@ÓÂØÖÂ`¼ØÂÀóá ìêÂà×ÂêÓ€Ö GÇ ^ØÂ@ëØÂ üÝÂ@!Ѐ±ÒÂÀ^åÂ`]ÓÂ@QÈÂöÑÂà‰Ö á×Â`¶ÙÂ`QÕÂ`ÎÕ€Kã êàÂ@VÜÂàÕÂÀ¾Õ€]à LÛÂÀšÛÂÀîÍÂ`ÎÕ Ò¨ÞÂÀGÔÂsÒ pÕ £× êà€òÜÂ ÛØÂ@ªÎÂÀwÌÂàSßÂÀ ÚÂ` áÂà×Â`àÒÂàÓ óÔ€«Ó®Ý Ÿâ .àÂ@ÙÛÂ@zÖÂà¸ãÂàÊàÂ@JÞÂàkÛ ÏÚ€ØÂ öÞ [ãÂ@‹è ¥áÂ`KÖ "âÂ@PÝÂ@’Ò ØÂ LÛ ÙÂ`ñäÂ@hÙÂ΀ÔáÂÀ²× ¥á€þÚÂ@>àÂ`iÑÂ`æÑÂàÖÞÂÀÚÂÀ^åÂ@‹èÂÀˆÞ®ÝÂ`†á Àç ÌåÂÀSÒÂÆÙÂ`ÚÓ ÝÂàSßÂà§ÑÂàÕ £×Â`ß ŸâÂ@‘çÂâÂà­ÐÂÌØÂ€òÜÂàMàÂ`¤Ü Ý äá ÔîÂÀˆÞÂáÂ`!ÝÂÀ”ÜÂÆÙÂ ÛØÂ€ÚÂÀÜÂàÊàÂÀváÂ`'ÜÂ`QÕÂ@zÖ€uÜÂÀGÔÂ`QÕ sßÂ@2âÂà sßÂ@ÍÝ€EäÂà ÖÂÀáäŠã Ìå –î€Ú ãÂàÐßÂ`÷ãÂ`êÂÀ4ì þçÂÀ½ê€EäÂU×Â%ßÂ`ßçÂ`hæÂœàÂ`†á 4ß äá :Þ :ÞÂÒ×€oÝÂ@£ä Uä€Èã®ÝÂ`ŒàÂ`àÂ@JÞ€cß Ù€ìÝÂÀÜŠã ´é ÜÂÀpâÂäÔ€'éÂ@gîÂÀóá ÏÚÂÀÿßÂ`ÞÂàMà RÚÂÀíâÂåÂ`bçÂ@£ä ã ãÂÀjã€KãÂ@2âÂ`ßÂÀ‚ßÂÀ¦Ù Þâ ŸâÂ@çÂ`¶Ù sßÂàvîÂ`ß砙㠫àÂÀßÂÀdäÂÀóáÂ@—æÂ–áÂ@PÝ Cç ÏÚÂÀÛåÂàeÜ€Èã çÂà¬å–áÂàéÂÀçãÂÀ5× “äÂÀdäÂÀçãÂ+ÞÂà²äÂ7Ü€™ÖÂÀ‚ßÂ@ÍÝÂ@èÂ`-ÛÂàƒ×Â`täÂ@¯âÂÀáäÂÀŽÝÂ`â sßÂ@8áÂÀváÂ=ÛÂ`\è€cßÂÀ/ØÂ ðßÂÀÛ€øÛ FÜ ºèÂCÚÂ`òÏ€àßÂ@ ÔÂ`3ÚÂ`E×ÂÀYÑ öÞ€9æÂÀdäÂÆÙ ÏÂ`!ÝÂàØÂ êàÂÀ|à çÖÂ`°Ú€™ÖÂZë FÜ€¶æÂ€±Ò  ÑÂ@JÞ ^ØÂOØÂ€ ÙÂCÚÂÀ‚ßÂ@åÙ íÕÂà5äÂÀváÂ@†ÔÂÀÄÔÂIÙÂ ÛØÂ >Ó ÛÂ@DßÂxæÂ`˜Þ çÖ \ÎÂ`¶Ù€?åÂÀ5× ÃÜÂÀ‚ßÂÀÐÒ€þÚÂàâÜÂ`3Ú Þâ´ÜÂ@t×Â`ÞÂÀ)ÙÂà$ÒÂ@ÙÛÂ`žÝÂ@Õ€WáÂ@bÚÂÀ ÞÂàÕÂà}ØÂ yÞÂ`'Ü€þÚÂÀÊÓÂmÓÂ`’߀æÞ 4ßÂ@ÍÝÂ`¤ÜÂU×¢ßÂ@ÍÝÂÒ×Â`{΀àßÂ7Ü€ìÝ€QâÂ=Û€Âä þçÂà_ÝÂ@åÙÂÀ5×ÂÀÝÂÀçãÂàAâÂ`ß ‘ÚÂÀšÛ ¯ÕÂ=Û€“× ðßÂIÙÂÀ¾ÕÂÀ”ÜÂà¾âÂÀ¬ØÂ ±ß ´éÂà/å€àßÂà/åÂà²äÂ+ÞÂàAâ ØãÂ@ðìÂÀpâÂÀ Þ þç€ÎâÂÀˆÞÂÀóáÂ@ÙÛ€“× ÕÙÂ%ß ´éÂÀ‚ßÂ@©ãÂà#ç Ý [ãœàÂ`ªÛ€øÛÂà5ä€Ôá óÔÂà²äÂ@çÂàôÙÂ`-ÛÂÀíâ€Kã´ÜÂ@ÇÞÂÀˆÞÂäÔÂ`zãÂ`ªÛŠãÂÀóá¨ÞÂ@åÙÂÀ²×ÂÀ|àÂàeÜÂ@ÙÛÂ@,ãÂyÑ€"Õ jÖ€øÛÂÀŽÝÂ`KÖÂà‰Ö‹Î :ÞÂ@2âÂàêÂ@ßÚÂ@ëØÂÀÝÂ`nå 2ÕÂ@ åÂïçÂ`âÂ@'ÏÂÀ)ÙÂ`ñä åÂ`zãÂÀ”Ü€ìÂ`†áÂàMàÂ`ñäÂ@PÝ€‡Ù ä Ÿâ ©Ö€½ÐÂ@åÙÂöÑÂÀ5×ÂÀ߀¶æÂ öÞºÛ &×€Ö 2ÕÂÀÜ€ÈãÂÀ|àÂ`9ÙÂÀ)ÙÂÀÉèÂ`¼ØÂ€øÛ Π8Ô &×Âà‰ÖÂÀ‚ßÂÀóáÂsÒÂ@Ó€«Ó .àÂà³ÏÂ`æÑ ÐÂ@»àÂ`àÒÂ@ŒÓÂyÑ Ù€™Ö€‡ÙÂÀ”Ü€ØÂ€«ÓÂIÙÂàÖÞÂÀšÛÂ+ÞÂ ÛØÂÀÛÂ`âÂàôÙÂ@ßÚÂÀ¦ÙÂÀ²×ÂCÚÂÀ¾ÕÂ=ÛÂÀÛÂ@ñ×€ØÂàYÞÂÀ_ÐÂà JÑ€þÚ€¥ÔÂ`žÝÂÐÂÌØÂÀ¾ÕÂ1ÝÂàÜÝÂ`‡ÌÂ`ÉÂ@ÕÂà ÖÂàeÜ€×Â@Ò vÔÂ@ÑÂmÓ€@ÐÂÀ²×Â`°Ú ùÓ ÍÐÂ@PÝ€ÕÌÂÀè΀ÃÏÂà)æÂàYÞ pÕÂ@’Ò óÔ€(Ô LÛÂà¿ÍÂmÓ€ ÙÂ`WÔÂêÓŠãÂ`¶Ù‹Î€æÞ ‚ÒÂsÒÂÀAÕÂÒ×Â΀ÚÂà*Ñ 2ÕÂU×Â@?ËÂ@-΀"ÕÂU× sß ùÓÂ@’Ò FÜÂ@µá€ØÂâ€ÚÂäÔÂ`þÍ üÝ€æÞ€ Ù ÏÚÂ@bÚ XÙ £×Â@Ӡˀ×ÂÀ ÚÂ`¼ØÂ ŽÐÂà•ÔÂÀÛÂ@zÖ€æÞ ÇÑÂêÓÂ`Í ^ØÂ@€ÕÂàÕÂ`?ØÂàAâÂöÑ–á d×€ÚÂÀ‚ßÂ@>àÂÀóáÂÀ|à€½ÐÂ`ÈÖÂÀšÛ ÏÚÂÀ_ÐÂà¹ÎÂÐÂà¡ÒÂäÔÂ@ Ô ÙÂàèÛÂÀ#Ú€«Ó€|ÆÂàúØÂÒ×Â`øÎ®ÝÂ`Â× ÝÂÀYÑ  Í Ü ½ÝÂäÔÂÀ²×Â@¯â åÌÂ`-ÛÂ@»àÂÀjã€ÖÂÏÂ`ÎÕÂà_Ý ÚÂ@ŒÓ ‘ÚÂÀ”ÜÂ`àÂ@t×ÂÞÕÂÀ²×ÂÀ)ÙÂàeÜÂÀèÎÂ`-ÛÂà³Ï åÌÂ@zÖÂÀ²×ÂÀGÔ vÔÂà§ÑÂÀMÓÂÀk΀ÏÍÂЀWá —ÙÂ@VÜÂà0Р#ÍÂÐÂÀˆÞ ¥á çÖ µÔÂÀ;Ö vÔ€ØÂ 2Õ€·Ñ€±ÒÂ`Â× ±ß ÕÙÂ`òÏ€XÌÂ`ªÛ ùÓ çÖ ÕÙÂ@ÇÞÂÀ Ú€ÚÂÀ²× )ÌÂ`QÕ€XÌÂ@ëØÂ pÕÂÀ)ÙÂà}ØÂà‰ÖÂ@¤ÏÂ@†ÔÂÞÕÂyÑÂ@nØÂ AÈ vÔ bÍÂ`WÔ ‚ÒÂgÔ DÒÂàqÚÂàkÛÂ@ëØÂ VÏÂ@ÕÂ`ÚÓ€@ÐÂ@PÝ LÛÂ@€ÕÂàúØÂàÕ 8ÔÂÀÝÂ@zÖ ÕÙ€uÜÂÀßÂÀ/ØÂ`æÑÂüÐÂaÕ nËÂ%ßÂ`E×Â@ëØÂ ¯ÕÂ@˜Ñ€×Â`-ÛÂàèÛÂ@!ÐÂyÑ »ÓÂ`QÕÂ`æÑÂÀÛÂ@˜Ñ€:ÑÂ@žÐ ÁÒÂà›ÓÂàwÙÂ@åÙÂ`°ÚÂÀMÓ€™ÖÂ@ÑÂ@÷ÖÂ@JÞ 1êÂÀóáÂ`WÔÂ@ßÚÂ ÛØÂ@nØÂ ¥áÂÀvá´Ü€½Ð€É΀«ÓÂ@DßÂ`9Ù€ØÂ@ Ô 2ÕÂ`’ßÂ@nØÂÀÝ ¥áÂÀ/ØÂà¿Í d×€Ú¨ÞÂàèÛ ÛÂ@zÖ çÖÂ@ÇÞÂ@nØÂ€ÏÍÂØÖÂ@\ÛÂ`-ÛÂ@åÙÂ@PÝÂÀŽÝ ±ß ©Ö ÿÒÂgÔ £×ÂàHÌÂÀ¸ÖÂ`!Ý ÉÛÂ1ÝÂ`3Ú€ØÂÀ/ØÂ`]Ó€þÚ€"Õ ÏÚÂÀÝÂ@ÙÛÂÀÖÑÂ@˜Ñ Ù VÏÂÀÛÂà_ÝÂÀÈ€øÛÂ@>à€LÎÂ ÛØÂÀMÓÂ@PÝÂ@\ÛÂÀßÂ@ýÕÂ`þÍ ÐÂ`?ØÂ`ªÛÂÀôÌÂÀÚ .àÂ@ÙÛ ÁÒÂÀèÎÂàHÌ ÐÂÌØÂÀAÕ Ü ÛÂ`9ÙÂ@3ÍÂàÔÂÞÕÂà×€“× Ý 8Ô d× jÖ€ ÙÂÀˆÞÂ[Ö —ÙÂ`ÍÂ` ÌÂÐÂ`KÖÂà$Ò ØÂ`ìÐÂ@†Ô®ÝÂÀqÍÂàBÍÂ`QÕ€"ÕÂ@†ÔÂÀ;Ö€oÝÂ@ÑÂÀ;Ö€× RÚÂ@'Ï€"Õ€@ЀáÊ  Ñ€“×€(Ô VÏÂ`iÑ ¥áÂÐÂ`?ØÂ@ÓÂÞÕ pÕÂàØÂ€¥ÔÂöÑÂÐÂÀèÎÂäÔÂU×Â@nØÂÆÙÂU×Âà›ÓÂÀ5×Â`ÞÂÀÖÑÂ@ÒÂàÅÌÂ`ÚÓ d×Â`ÎÕÂaÕ€“×ÂÀeÏÂ`øÎÂàÓ€Ú€(Ô VÏÂ@nØÂ µÔÂêÓÂ…ÏÂÌÂØÖ äáÂ@Ñ nËÂ`iÑ€@Ѐ"Õ ÙÎÂÀŽÝÂР…Ü ÜÂ`àÒÂàÓ á×ÂÀâÏÂ`{΀™Ö ‚Ò PÐÂ`oÐÂÀYÑÂÀßÂàfÇÂÀâÏ bÍÂà0Р/ËÂmÓÂ`WÔ |ÓÂÀèÎÂ@nØÂÀÜÐÂàHÌ€^Ë ¾ÈÂ…Ï€@РJÑ ÒÂÀÜÐÂÀ­Ã€ØÂ€‡Ù—ÌÂà¹ÎÂØÖ€×Â`“ÊÂà×Â@’ÒÂàÕ »ÓÂÀƒÊ€óÇ ¦Ì€çÉÂ@ýÕ€LÎÂ@ýÕ ÇÑ óÔÂ@†Ô e ΀ÏÍÂ@KÉ€RÍ ŽÐ ÿÒ€«Ó€.ÓÂÀYÑÂIÙ &×  ÑÂà6ÏÂ`øÎÂàqÚ€ÃÏ Ë £× jÖ€:Ñ€"Õ ÙÂà}ØÂ ¯ÕÂà0РùÓÂÐÂÀ›ÆÂ€Ú jÖÂ@¶ÌÂÏÂàwÙÂ` Ì€¥Ô Π Í€pÈÂ@ÔǑ̀ÃÏ JÑ€½Ð€RÍÂÀwÌ ˆÑÂ`òÏÂn¾ÂöÑ€×ÂÀk΀|ÆÂà¿ÍÂÀ6ÂÂ`òÏ€RÍÂÏÂÐÂÀÖÑÂ`òÏ€:Ñ€(Ô€pÈ ÐÅÂ@øÁÂ`‡ÌÂàwÙ ÝÂ`ÚÓÂ@3Í€±ÒÂÀ}˯Ƞ¸É€áÊÂÀqÍÂÀÆÂ€RÍ€RÍ ÇÂ@ÑÂÀ˾ÂàÅÌÂ`æÑÂà0ÐÂ`KÖ€·Ñ VÏÂà‰Ö ñÊÂ`.ÆÂà›ÓÂ`ÉÂÀÊÓÂ`]ÓÂ`“Ê óÔ‹ÎÂ`¥Ç !À:Ñ #ÍÂPÃÂüÐÂÀÐÒ ¬ËÂà›Ó ëËÂØÖÂ@ýÕÂ…Ï vÔ ÒÂ@žÐÂ@!ÐÂðÒÂ`‡ÌÂ@ÒÂÀÖÑ /ËÂ`ìÐÂàÝÈÂsÒÂà¹ÎÂ@ ÔÂ`ÚÓ ÍÐÂÀÖÑÂà§ÑÂ@¤ÏÂ@†ÔÂ@t×ÂsÒÂ@žÐÂàÑÊÂ@žÐÂÐÂà­ÐÂäÔ pÕÂÌØÂ`ªÛ€(ÔÂà*Ñ€ŽÃÂàNËÂÀÐÒÂ`ÚÓ€½ÐÂüЀLΠÒÂàúØÂÞÕÂ[Ö ÇÑÂ`¶ÙÂ`-ÛÂÀSÒÂÌ€4ÒÂàÕÂOØÂÀ¦Ù€.ÓÂ@†ÔÂðÒÂÀ¸ÖÂÀ)Ù \ÎÂÀ5× ÐÂà‰ÖÂÀMÓÂ@¶Ì YÄÂ`-ÛÂà*ÑÂ`Ê€^ËÂàŠÁÂÞÕÂ`ÚÓÂÀÄÔÂ`KÖ ßÍ ÅÂ`{ÎÂ@†ÔÂÀ‰ÉÂ`æÑÂyÑ€LÎÂàãÇ ¦Ì€(ÔÂ@t×Â@Ñ »ÓÂ`?ØÂ@÷Ö€^ËÂ@ÈÉ€¥Ô #ÍÂ`uÏÂÀîÍ€pÈÂ`ÚÓ€uÜÂ`QÕÂà‰ÖÂÀËÂÀâÏ ÇÑÂÀÊÓÂà<ÎÂ`WÔÂÌÂðÒ€ŸÕ€ÛËÂÀSÒÂÀÊÓÂ`“ÊÂà³Ï€{Û —ÙÂà}ØÂ`9ÙÂsÒÂrçÂaÕ ÎÂ@ªÎÂÀYÑÂà*ÑÂÀGÔ€uÜÂàÓÂ@'Ï ÓÏÂÀâÏÂÀ5×€{ÛÂOØÂÀèΠñÊÂÀÄÔÂà‰Ö bÍ ÇÑÂÍÂyÑÂ`¥ÇÂ@÷Ö€íÈ ,Ö€ÕÌÂàÂ@>àÂàÖÞ ÚÂÀ_Ѐ@Р ÍÂØÖ€4ÒÂÀÜÐÂ@ªÎ óÔÂ@hÙÂ`ÉÂOØÂÀÜЀþÚÂ`Â×ÂmÓ jÖÂgÔÂ`WÔÂ`]ÓÂà¹ÎÂÀÚÂ`{ΠíÕ ©ÖÂÀAÕ€òÜ µÔÂÒ× ýÈ€ØÂ€@ÐÂÀ;Ö‘ÍÂ`“ÊÂ`cҋΠŽÐÂ@’Ò€ÃÏÂ@Ñ ÏÂ@ýÕÂyÑÂà­Ð >Ó d× šÎÂà‰ÖÂà$Ò jÖÂÀîÍÂÀÇÂÀYÑÂ`ÔÔÂÀôÌÂ`øÎ£ÊÂÀ_ЀæÞÂ`9ÙÂÀH¿Â \ÎÂ@†Ô€øÛÂ`ÔÔÂ`]ÓÂÀ5× —ÙÂÀÖÑÂ@¤ÏÂ`WÔÂÒ×ÂÀâÏ€4Ò ŽÐÂà ÁÂÐÂÀ¸Ö DÒ€ŸÕÂ`“Ê ÎÂ@ÒÂaÕÂ`iÑÂà0ÐÂ`™ÉÂ@3ÍÂ@÷Ö€þÚÂà*ÑÂà`È€RÍ ‚Ò€ØÂàÕÂ@nØÂ 5ÊÂÀ}ËÂà­ÐÂ`cÒÂ@øÁÂ`uÏÂ`ÎÕÂÀk΀óÇ µÔ€ÉÎÂ`ÈÖ ·ÞÂ@'Ï€RÍ ÍРhÌ ©ÖÂ`øÎÂà•ÔÂ[Ö ÒÂyÑÂ@3ÍÂöÑÂ`æÑ€±Ò ùÓÂüРjÖ€4Ò ÁÒÂàÝÈÂÀAÕÂ…Ï€jÉÂÀîÍÂ@†Ô pÕ€@Ѐ½ÐÂà$ÒÂÀÐÒÂÀ5×€iÞÂsÒ ÿÒ ·ÞÂ`žÝ€ØÂ@-ÎÂ`Í€æÞ€cß ¯Õ€“×Â`{ÎÂÒ×ÂÀÜР¦ÌÂàÑÊÂ`ÚÓÂöÑÂÀÊÓ €È È \ÎÂàÔÂ`WÔÂÒ×Â`ÎÕ ,Ö€FÏ ØÂ€(Ô ÇÑ€·Ñ ÇÑÂ7Ü Û€“×Â@Ñ vÔ ˆÑ€"Õ€‡ÙÂ@˜ÑÂà‰Ö ÇÑÂ@°Í€ÃÏÂÀ*ÄÂ@ÓÂ`ÞÂ@t× ŽÐ sß ØÂ@ªÎÂ`ìÐÂàYÞÂ@zÖÂ`‡ÌÂ`òÏ pÕÂà›ÓÂyÑÂCÚ ßÍ ÍРtÊÂCÚ€½ÐÂ@ÒÂàúØÂ,ÉÂÀúËÂ,É Ò ÐÂà•ÔÂ@˜Ñ©ÉÂ@†ÔÂ`øÎÂ@EÊÂ@'Ï ùÓ ßÍÂàBÍÂäÔ€ÚÂ`]Ó vÔÂ`ìÐÂ@Ó DÒÂà§ÑÂ@>àÂà‰Ö€øÛÂàèÛÂà¹ÎÂ@˜ÑÂà¨ÞÂ` á åÌÂ@ÈÉ€pÈÂàîÚ€4ÒÂÀÜÐÂ`Â×Â@¤Ï€™Ö€.Ó€¥ÔÂàrÅÂÀâÏÂ`E× ßÍÂÀšÛ ¯ÕÂÀšÛÂ@žÐÂ@ëØÂ@÷Ö€™Ö ˆÑ€™ÖÂ@hÙ á×ÂöÑÂàØÂ`9ÙÂ…ÏÂàôÙÂÀAÕÂà*ÑÂÀ/ØÂ ,ÖÂÀAÕÂÀÐÒ€QâÂÀMÓ€ÚÂ`’ßÂ`ßÂÀAÕÂÀˆÞÂ1ÝÂ@ÇÞ íÕ PР‹ÛÂ`-ÛÂ`€â XÙÂ`E×ÂU×€ØÂ€™ÖÂÀÖÑ€þÚ üÝ XÙÂà‰ÖÂ`'ÜÂ`°ÚÂàMàÂ@ÁßÂ@ÍÝÂà5ä ÉÛ &× IæÂ pÕÂ@€ÕÂ`æÑ íÕÂ@ÓÜÂàƒ×Â`cÒÂ@÷ÖÂÀ‚ßÂ`žÝÂÀMÓÂ`E×Â7Ü å …Ü€ŸÕ€«ÓÂêÓÂÀÐÒÂ@†Ô çÖÂÀ#ÚÂÀ;Ö¢ßÂà}ØÂàwÙÂ`iÑ€jÉÂ`E×Â@ñלàÂÀ;ÖÂ@ýÕ …Ü d×ÂÀŽÝÂàé–áÂ@ñ×Â`Þ —ÙÂ=Û &×ÂàúØÂ€ŸÕ ±ßÂàÄáÂ`!ÝÂ`Â×Â@ëØÂ€æÞ ©ÖÂ`ÞÂ@ëØÂ JÑ |Ó ýÈÂÀ;ÖÂgÔ vÔÂmÓ 2Õ µÔÂÀ)Ù &×Â`3Ú @ÝÂÀÐÒÂ`uÏ€"ÕÂ@žÐÂCÚ€ ÙÂ@\ÛÂ ÛØÂ€ŸÕÂ`Œà jÖÂÀ¦ÙÂ`ÞÂ=Û€ØÂ`ªÛ ÜÂà­ÐÂ@ÓÂà‰Ö ¥áÂsÒÂà×ÂàâÜ ‘Ú€ÚÂ`ÈÖÂ@ÁßÂ`’ßÂ`ÈÖÂ@é (á‹ÎÂ+ÞÂà•Ô€ÎâÂà_ÝÂàâÜ€@ÐÂÀÜÂà5ä ^ØÂ ‘ÚÂàwÙ LÛ ^ØÂÀÊÓÂaÕÂÀAÕ 4ß màÂÀ5× ÝÂàÜÝ ÛÂÀeÏ JÑÂ`¼ØÂà³ÏÂÀkÎÂà¿ÍÂ`þÍ ^ØÂ çÖÂ`æÑÂÀSÒÂÞÕ FÜÂ@\ÛÂÀÚ  ÑÂ`WÔ &×ÂÀÊÓÂÀMÓÂàƒ×ÂäÔÂ@]ÆÂËÂÀúËÂÀ;Ö€‡ÙÂÀ5×ÂÀqÍÂ@-΀ÔáÂÀÐÒÂ@ŒÓÂ@žÐÂ@hÙÂ`É  Ñ€@ÐÂà¹ÎÂÏÂà¹ÎÂàƒ× ‹Û vÔÂà×É )ÌÂ`cÒÂà×ÂaÕ  ÑÂüЀÕÌÂÀÖÑ€.ÓÂ@žÐ€ØÂ‹ÎÂ`Ë /ËÂàHÌ ·ÞÂÀÛ€XÌÂÀúËÂàãÇÂÏ€çÉÂ`]ÓÂ@¯âÂ@°ÍÂ`iÑÂ@÷Ö€·ÑÂà¡ÒÂ`E× ÙÂÀ‰ÉÂIÙÂ@zÖÂÀÖÑ€™Ö )ÌÂöÑÂ`Â×ÂÏÂÀôÌÂÀâÏ€(ÔÂ`!ÝÂÀ/ØÂ`ÞÂàÔÂ`]Ó ÁÒÂÞÕÂyÑ ¯ÕÂØÖÂ`!Ý€«ÓÂ@žÐÂ`’ß &×ÂàwÙÂÀÄÔÂ@ýÕÂ@ªÎÂ@¤ÏÂ`iÑÂà¹ÎÂà•Ô€@ÐÂàÅÌÂà›ÓÂà¹Î ÷ÉÂ@Ñ€óÇÂêÓÂàÜÝÂÀ‚߀ Ù€× :ÞÂU×ÂÀ ÚÂÀSÒÂüÐÂ`Þ íÕ€iÞÂÀ ÞÂCÚÂÀMÓÂÀÜÂ`¶ÙÂ+Þ vÔÂ`KÖ \ΠmàÂЀ^Ë šÎÂ`¶Ù Ù€ÖÂOØÂ ØÂÀ”ÜÂ`WÔÂäÔÂÀMÓÂ`ÈÖ€ÕÌÂÀ)Ù  Ñ€(Ô€ìÝÂ`ÞÂ@nØÂ ÕÙÂÀÊÓÂ@÷ÖÂ@ÕÂ@ Ô ^ØÂ`Þ 7éÂàÕÂàÕÂ@ÓÜÂ@ ÔÂ@\ÛÂàkÛÂ`ÎÕÂ`ëåÂà ÖÂ`þÍ€·ÑÂ ÛØÂ jÖÂÀ_ÐÂ ÛØÂ £×Â=Û pÕÂàÜÝ Û€XÌÂ@ŒÓ óÔ á×ÂÀ›ÆÂ‹ÎÂ@÷ÖÂàôÙÂ`KÖ€¥Ô ÐÂÀÜÂU×€ÏÍ ”ÏÂ@zÖÂÆÙÂÀ5×Â`WÔ€"ÕÂ`E×Â@PÝ€¥ÔÂsÒÂ`-Û€]à€ÚÂ@bÚ 4߀{Û ^ØÂ`ÈÖÂ~åÂÀšÛ ÇÑ jÖÂàYÞ€àßÂ`iÑ€Qâ gáÂà¡ÒÂ`ÈÖ XÙÂà×Â@Õ®ÝÂÀpâÂÀ ÞÂàeÜ |ÓÂØÖ€íÈ »Ó€øÛ€øÛÂ@t× üÝÂ`'ÜÂÀ#Ú óÔ€ÏÍÂÀÜ RÚ ©Ö€:ÑÂÀ¦Ù€àßÂ`Œà¢ßÂÀ Ú PÐÂàèÛ ÉÛÂ=ÛÂÀùàÂàƒ×Â@nØÂ`ªÛ€øÛÂ@ßÚ gá€ØÂàÐßÂÀ¬ØÂ@PÝÂàwÙ€FÏÂ`ÈÖ€æÞ ±ß€iÞÂ`˜Þ ã öÞÂàƒ×ÂÀvá (áÂ`à€ÂäÂ@>àÂÀˆÞÂÀíâ ^ØÂ ‹Û€ØÂ`˜ÞÂ`tä &×ÂÀˆÞÂÀáä «àºÛÂáÂ`KÖÂàwÙÂÀùàÂ@,ãÂ@ñ× RÚÂÀXæÂ@DßÂàÕÂÀ¦ÙÂÀÛå äÂ@ÓÜÂàqÚÂÀ)ÙÂàÊà€ØÂ@DßÂ`ñäÂ@ å€ÂäÂàGá RÚ ¥á´Ü [ã´ÜÂÀÝÂ@ŒÓ ðß Ìå ‹ÛÂ`ªÛ …ÜÂ@&äÂ`ñäÂÆÙÂ@÷֢߀æÞ ÙÂaÕÂàqÚÂÀÝ€{Û ©Ö ÜÂàÖÞ ¥á IæÂ€]àÂàôÙ .à ãÂ`?ØÂ@ÓÜÂà5äÂàúØÂÀ¬ØÂ€{ÛÂ`’ßÂÀÕæÂ`¤ÜÂÀdä ÚÂàAâ «àÂ@÷ÖÂÀ ÞÂÀÕæÂ@¯â€KãÂÆÙÂ[ÖÂ@nØÂ€òÜ ܺۀKã “ä€Èã€Èã “äÂ`àÂÀ/ØÂ óÔ …Ü€ìÝÂéèÂà²äÂ@ÓÜÂÀ‚ßÂÀáäÂÀçãÂÀ^å —ÙœàÂÀLèÂ@2âÂàÕ ¥áÂ`†áÂ`E×Ââ€uÜ€]à€ÔáÂÀ;ÖÂ`'ÜÂàîÚ€ØÂaÕÂàGá ÉÛÂÀ5×ÂÀÛ 4߀cßÂ@ÍÝ ØÂÀ ÚÂÀˆÞÂàwÙÂ@mí gáÂàMà ±ßÂ`ßÂàMàÂàAâ€ÚàÂ`¤Ü€Qâ€oÝÂ`˜ÞÂ7ÜÂÀFéÂ1ÝÂÀváÂ`Óé UäÂäÂÀáäÂà¸ãÂ@é sßÂ@gîÂàGáÂ`nåÂÀ ÚÂlèÂà5ä ãÂÀšÛÂÀÜ ÉÛ–áÂ@ÇÞÂ`tä ãÂ`¼ØÂ RÚÂÀÜ òéÂ@£äÂ ÆæÂÀdä€àßÂÀáäÂ`âÂàÐßÂà•ÔÂ@åÙ€3砱ߠØÂ Ÿâ Øã€ îÂàÄáÂ%ß =è€?å àìÂà ç€íÂ`Pê (á€Âä€uÜÂ ÆæÂ 7逿ÞÂ@ðìÂ@PÝ “äÂûåÂÀçãÂ`˜ÞÂ@ÇÞÂ`-ÛÂà)æÂŠãºÛÂ ÆæÂ€ îÂ@öë€iÞÂ@…éÂ@…éÂ@ÁßÂàéÂ@ßÚ ã äáÂ`DìÂ`àÂÀÚ (áÂàîÚÂàšèÂÀÝÂ@PÝÂ` áÂ@ÍÝ€¼åÂéè ÃÜ WîÂ`ßçÂ@ÁßÂféÂ+ÞÂÀíâÂ@çÂ`˜Þ yÞÂÀùàÂ@åÂ`žÝÂ`â¨ÞÂâÂ`°ÚÂàÊàÂ@2âÂ=Û€æÞÂÀ^å€-èÂ`âÂ@PÝÂà ë€cßÂ@©ãÂä€Èã®ÝÂ`àÂ%ßÂÀùàÂ@JÞÂÀˆÞÂ@©ãÂàAâ üÝÂÀóá€ØÂ`¤ÜÂ@>à ©ÖÂàeÜ  æÂ Òä€iÞÂÀ#ÚÂ`†á LÛÂ`ÞÂöÑ jÖÂÀ#ÚÂ@\ÛÂ@>à€½ÐÂIÙ€Úà Ý ÕÙÂÀ ÞÂ`àÒ üÝÂÀÜÂä€àßÂ ÛØÂ`¤ÜÂrç sß :Þ¢ßÂ@D߀9æÂâÂ`ŒàÂ[ÖÂ@VÜÂà²ä€ØÂ@bÚÂ@çÂâÂàÜÝ€æÞÂàØÂºÛ¨ÞÂ@ Ô€ØÂ`ßÂ@ÓÂàÊà€òÜÂÀváÂàîÚÂÀˆÞ€ÚÂ`'Ü êàÂÀùàÂ@JÞ i뀒ìÂ@ç UäÂà5äÂ=ÛÂà­Ð€?åÂ`DìÂ`†á€uÜ [ãÂ@‘çÂÀ5×Â@,ã íÕ ±ßÂ`àÂ`†áÂ`\è®Ý çÂÀšÛ€(ÔÂ`˜ÞÂ@t× ™ã üÝ€™ÖÂ`¤ÜÂ`˜ÞÂâÂÒלà IæÂ`ëåÂ+Þ ÜÂàYÞÂêÓÂ`ÈÖÂ@ÇÞÂàÐßÂàôÙÂäÔÂàqÚÂÀÚÂÀÉèÂ@ÙÛÂÀ‚߀øÛÂÀÛ€ÈãÂ@æÂ þçÂÀGÔÂÀÝÂ@£äÂ`»íÂàÖÞÂ`¤ÜÂÀ Þ€ÔáÂàÐß :ÞÂ`3ÚÂÀß IæÂ@ÍÝŠãÂ@£äÂaÕ 2Õ ±ßÂ%ßÂÀ/ØÂ€þÚ ±ßÂ`3ÚÂà‰ÖÂÀÝÂ@hÙÂ`-Û€ÈãÂàMàÂgÔ ÝÂÀÚÂ@ÇÞ€uÜÂàqÚ€K〤é "âÂ@>àÂ@ëØÂ á×Â=ÛÂ`KÖ€àßÂ`¶ÙÂÀÊÓÂà_Ý ½ÝÂ`'ÜÂ@ßÚÂàØÂ ØÂ@åÙÂ`3Ú FÜÂÀˆÞ–áÂäÔÂÀ¬ØÂ@’Ò€.ÓÂ1Ý€æÞ€ÔáÂàÖÞ VÏÂ`Â×ÂàÔ€cßÂàîÚÂ`¶ÙÂÆÙÂà/åÂàôÙÂà•ÔÂÀšÛÂÀè΀‡ÙÂ@bÚÂ`!ÝÂÀ)Ù .à‹ÎÂ`9ÙÂàwÙ€Wá ©Ö€ÖÂÀGÔÂÀÜРçÖ ÙÂàâÜÂàÜÝÂ`åæÂ ±ß ©Ö LÛÂÆÙÂ` ÌÂ@ñ× ÒÂüÐÂÀ¾Õ Ú XÙÂÀ²×ÂÀMÓÂÀ²×ÂÀ Ú …ÜÂCÚÂÀSÒ€™ÖÂ`ÈÖ€Kã€{ÛÂâÂ`žÝ .àÂÀ‚ßÂ`’ßÂàÖÞÂsÒ êàÂàôÙÂ…Ï £×Â[Ö€ìÝ€þÚ€ìÝÂØÖÂ`ÎÕÂ`ÈÖ ÜÂ@ÙÛÂàÕ ÏÂ`¶Ù€ØÂ´Ü€ÛËÂÀ Þ á×Â`ÞÂ`ÈÖ€"Õ \ÎÂyÑ ŽÐÂ`ªÛÂ@÷ÖÂàqÚÂà‰ÖÂàúØÂÆÙÂ@ Ô€¥ÔÂàÖÞÂ ÛØÂ@’Ò ÃÜÂ`ÎÕÂ@ýÕÂ`Â×ÂÀ¦ÙÂÀ¾ÕÂ@'Ï€ÖÂÀáäÂàGáÂÀGÔÂ`]ÓÂÀ¾Õ ÐÂ7ÜÂ`KÖ€"ÕÂöÑÂ@JÞÂ@PÝÂÆÙÂÀ¬ØÂÀ¾ÕÂ@DßÂ@ÁßÂÀ#Ú€“×€?åÂàîÚÂÀ Ú ÌåÂà³ÏÂÀwÌÂà}ØÂ  Ñ µÔÂ@˜ÑÂÀAÕÂ`QÕÂ@!РXÙÂ@&ä 2ÕÂ`¼ØÂØÖ ðß d× ÇÑÂðÒ çÖ ¯Õ€¥ÔÂ`ÚÓ€Ú 4ßÂàØÂÀÄÔ´ÜÂöÑÂ`Â×€ ÙÂ`ÎÕÂà¡ÒÂÀ ÚÂÀ²× LÛ ëË 5Ê íÕÂ@ŒÓ ‹Û bÍÂÀÐÒ€áÊÂ8ÇÂÀÖÑ ÎÂêÓÂÀ_ÐÂ`æÑÂ`oÐÂ@ÒÂ@2âÂàîÚ ¯ÕÂà§Ñ µÔÂ`QÕÂà§Ñ€ÚÂ@Õ€]à€cßÂàËËÂ@hÙÂ`3ÚÂ`Â×Â@Õ ëË ÉÛÂ@VÜÂ@ÓÜÂCÚ€ŸÕ 8ÔÂðÒ€"ÕÂàúØÂ€«ÓÂàÕÂÒ×ÂÀGÔÂ@†Ô€FÏÂÍÂ@üêÂ=Û ^ØÂà}ØÂ€:ÑÂÀkÎÂ@nØÂ ÓÏÂ@!ÐÂ[Ö VÏ€™ÖÂ`°ÚÂàîÚ óÔÂÀ¦ÙÂ@ÇÞ DÒÂÀ;Ö #ÍÂÀGԴܑ͠ÉÛÂÀYÑ€Ú€½ÐÂ`ÎÕ …Ü€ÚÂÐÂ@¶Ì€ÖÂàƒ×Â`]ÓÂàúØÂÀ5×Â`ÈÖÂÀ²×ÂàâÜÂðÒ€“× Ï sßÂà$Ò JÑÂ`¶ÙÂÀMÓ€{ÛÂ`iÑÂÀSÒÂ@žÐÂ7ÜÂÀÜÂ`'Ü çÖ PР\Π8Ô £× ^ØÂ £× 8ÔÂà³ÏÂ@ŒÓÂ@€ÕÂ`žÝÂРöÞ€‡ÙÂ@ÒÂ`QÕ &×Â`E×ÂàeÜ€ ÙÂ`¼ØÂIÙÂ1ÝÂ`9ÙÂêÓ 2Õ µÔÂÀ/ØÂ€{ÛÂÀ¸ÖÂ@bÚÂ`ŒàÂ`Óé®Ý€æÞÂ`àÒ€«Ó€·ÑºÛ «àÂÀŽÝÂÀ¸ÖÂ@bÚÂÀ)ÙÂÀ;ÖÂà$ÒÂ@Áß êàÂàqÚÂÀ)Ù RÚÂ`߀™ÖÂàBÍÂ`æÑÂ@Õ ÏÚÂÀMÓÂÀ5×Â@ñ×ÂÀóáÂ@ÍÝ ÁÒÂà}ØÂ@ëØÂ@-Π£× ÜÂ`?ØÂÀMÓ &×ÂàÔ€uÜÂàÖÞÂÀÜÂ`ÞÂ`9Ù šÎÂCÚ€ÚÂ@ÙÛÂà$ÒÂÀ”ÜÂ`â€òÜÂàÜÝÂ%ßÂÀGÔÂ@ÍÝÂ@\ÛÂ`9ÙÂ7Ü gá Ý ÐÂÀÐÒÂÒ×ÂÀ#ÚÂyÑ ÓÏÂ`æÑÂÀpâÂÀ‚ß ½Ý ®êÂ`¼ØÂ€àßÂ1Ý :ÞÂ`3Ú€(ÔÂ@bÚÂä ¯ÕÂgÔÂ@€Õ€±Ò€c߀cß ÏÚÂàúØÂ€æÞÂàÂÆÙ ‘ÚÂ@&äÂàGá€øÛÂ@åÙÂÀ¬ØÂ 2ÕÂÀÊÓ ‘ÚÂà*ÑÂàîÚ€øÛ¨ÞÂÒ×Â@ñ×Âà›Ó€iÞ CçÂ@zÖÂàâÜÂàHÌÂ`?ØÂ`Â×ÂàúØÂ ÁÒÂ@˜Ñ€ØÂàYÞ€ÖÂ@ÕÂàÕÂ`nåÂ`†á€Ú ÕÙÂ…Ï´ÜÂ@Áß :ÞÂ`÷ã¢ßÂàÊà RÚ€ØÂ &×ÂàîÚÂàYÞÂ`-ÛÂÀÜ€‡ÙÂ@’Ò€ Ù ÜÂà•ÔÂ@ñ×Â`˜ÞÂÀ;ÖÂàâÜ :ÞÂ`Œà RÚ ÝÂ`!ÝÂ@Áß jÖºÛ íÕÂ@ÓÜÂ`’ßÂÀ¦Ù€þÚ€ìÝ sß ‘ÚÂÀ Ú ÙÂÀŽÝÂÀˆÞÂÀÚÂyÑÂ@€ÕÂà}ØÂ ðß mà€"ÕÂ`-ÛÂàÕÂà ëÂ@ëØÂ€ìÝÂ…ÏÂ@!Ѐ·Ñ€‡ÙÂ`÷ã á× JÑÂáÂ`â€Ö€ŸÕÂÀÛÂÀváÂÀ”ÜÂàÔ€ØÂ€ÚÂ`Œà€‡Ù€]àÂCÚ pÕÂÀÐÒ Uä ÕÙ XÙÂÀqÍÂ`ÔÔÂàËËÂ@3ÍÂ@PÝÂ`žÝÂÀ;ÖÂàÖÞÂäÂÀŽÝÂ`9Ù íÕÂà¸ã€‡Ù sßÂàÝÈ€@РÒÂ@ñ×Â`'Ü€{ÛÂ`!ÝÂ`ýâÂ`-Û ä RÚÂ`˜ÞÂ@»à ÏÚÂ`9ÙÂ`KÖÂ@PÝÂ@hÙÂÀšÛ ·Þ yÞÂ`QÕ€¥Ô üÝ„äÂ[ÖÂ`-Û ‹ÛÂ`!ÝÂÀÕæÂ íÕÂÀÝ€ ÙÂÌØÂäÔ ©ÖÂàÕ ÃÜ€«Ó LÛÂ`’߀‡ÙÂÀ5×Â@©ãÂØÖÂà×ÂÀ5× jÖÂ@Ó ÿÒÂ@\ÛÂ`¶ÙÂ`-Û ØÂ@åÙÂàôÙÂЀÖÂ@€ÕÂÀ Ú ©Ö€{ÛÂ@bÚÂ@ÙÛÂàeÜÂÀˆÞÂá ™ãÂÀÛåÂIÙ€:ÑÂÞÕÂ@PÝÂÀÝÂ7Ü–á€òÜÂIÙ€“×€Âä ©Ö äÂ@ÒÂ`ÈÖÂ@2‶æÂ` áÂ…ÏÂàƒ× äáÂÀšÛÂÞÕÂCÚ€™ÖÂ`ªÛ€ØÂàÖÞ XÙ€.ÓÂÀÜÂ@\ÛÂàMà€ìÝ€uÜ @Ý ^ØÂ@,ãÂÀóá€{Û £×ÂÀóá Û Û€ÚÂÀ5×Â@ÓÜÂyÑ yÞ FÜ€™ÖÂàÖÞÂ@PÝÂà¦æÂáÂÀ/ØÂàYÞÂåÂÀ ÚÂàwÙÂ@ÍÝÂ@ßÚÂÀ¦Ù .àÂ`!Ý€{Û Ù çÂÀ½ê PÐÂà¹ÎÂÀ_РsßÂÀpâÂ@£äÂ@ÙÛÂÀFé€iÞÂ`hæÂ ÛÂÀ Þ€àßÂ@ÁßÂ@æÂÆÙÂàYÞÂÀÉèÂàƒ×€'é–á Òä äÂàeÜÂ`täÂà#ç ÝÂ`’ßÂà;〰çÂàwÙÂÀùà€ìÝ€‡ÙÂ@ñ×Â`cÒ @Ý€]àÂà_ÝÂ@ å çÂ@çÂCÚ€Ú ½ÝÂ`÷ã êà ÉÛ ½Ý€òÜÂà¬åÂÀ|à Þâ€ÃÏ ØÂÀLè "âÂ@ÓÜÂÀÛå ½ÝÂÀ)Ù sß ÝÂ`°ÚÂ@JÞÂ@ßÚÂà§ÑÂàBÍÂ`¶ÙÂU×Âà$ÒÂÀ#Ú€iÞ çÂ@>àÂ@µáÂ+Þ€øÛ @Ý >ÓÂà$ÒÂ@DßÂ`ÔÔÂÀ‚ßÂÀŽÝ€9æÂÀšÛ yÞÂêÓÂ@ÂÊÂÀ/ØÂÀšÛÂàâÜ€«Ó ÕÙÂàÊàÂÀˆÞÂ`¤ÜÂ`E×€Âä€Ú ðßÂCÚÂU×ÂØÖÂ`zãÂ`EלàÂ7Ü€¶æÂåÂàkÛÂÞÕÂ@DßÂ`ÎÕÂ`]ÓÂÀˆÞÂàâÜ "â IæÂàkÛ€¼å äáÂ@åÂ@ÁßÂÀ/ØÂ`â äá ùÓÂàÄáÂàMà ™ãÂ`\èÂ@ßÚ€oÝÂÀpâ€øÛ€ÚàÂÀÉèÂ@\ÛÂäÔ€ØÂ`?ØÂ7ÜÂÀ ÞÂ@»à LÛ ‹ÛÂ@t×Âà}ØÂÀ¬ØÂàÖÞ £× #Í pÕ üÝ á×ÂÀÛÂ ÛØÂ`9ÙÂÀ¬ØÂÀXæÂ ØÂÀ/ØÂ@&ä€cßÂÀRçÂIÙÂ@ëØÂ yÞÂ@ ÔÂ@€ÕÂà×Â@å€þÚ€Ôá€]à Ú€Qâ ±ßÂ@ßÚÂ`?ØÂ€þÚÂ@t×ÂÀ ÚÂàqÚ êàÂsÒÂÀYÑÂ`˜ÞÂ@8ေҠÃÜÂ`zã RÚÂ`žÝ€]àÂà‰ÖÂÀÜÐÂ`ÚÓÂÀ²×ÂÀ#Ú ã ØÂ@ñ×´ÜÂ@€Õ ðßÂ`߀øÛÂ@ÍÝÂàwÙÂ`¶Ù (á€ÚàÂIÙÂ=ÛÂàé€ÚÂàôÙÂ`æÑÂ`Œà Р«àÂCÚÂ@ Ô€½ÐÂ@»àÂ@ÙÛÂÀváÂ`žÝÂ@÷ÖÂàèÛÂ`ßÂÀ#ÚÂ`àÒ€øÛÂ@\ÛÂ@ñ×ÂÀ‚ßÂàwÙÂÆÙ€uÜ€°ç€ìÝ d×ÂàèÛŠãÂ`°ÚÂÒ×Â`’߀Ö€±ÒÂ@bÚ åÂÀ/ØÂ`ßÂÀÐÒÂ@ÓÜ á×Âà­ÐÂÀ·ë€þÚ FÜÂ`˜ÞÂà¾â Ù ØãÂÀçãÂà¸ãÂÀAÕ€ŸÕÂÀŽÝÂàÊà (áÂ@†Ô€4ÒÂÀMÓ &×ÂÀŽÝÂÀùàÂ`ßÂÀSÒ€4ÒÂÀ¦ÙÂ@ßÚ€iÞ ÏÂàƒ×ÂàYÞÂ`ÔÔÂ`ßÂà_Ý ãÂ@PÝÂ@ÇÞÂ`-ÛÂàƒ× ‹ÛÂÀdäÂ`ËÂ`¼ØÂ€KãÂÀ#ÚÂ`ªÛ  ÑÂ+ÞÂÀôÌ åÌÂÀ;ÖÂÎÂ`ÈÖÂàâÜÂ`zãÂàSßÂ@>à€-èÂ@bÚ gáÂà× ©ÖÂ@\Û 4ßÂâÂ`9ÙÂà$ÒÂ`ìРêàÂ@bÚ ÇÑÂàÖÞÂàîÚÂÀ Ú 8ÔÂ@ÍÝÂ@ŒÓ ÒäÂ@žÐÂàÖÞ€ÎâÂ`ªÛ€™Ö ™ã XÙ€‡Ù ÿÒÂ=Û€þÚ€4ÒÂÌØÂ …Ü lõ€æÞÂ@©ãÂ@ëØÂ€"Õ€“× ÉÛ¨ÞÂà§Ñ @ÝÂ@t×€ìÝÂ`?ØÂ€þÚÂ`täÂÀ_ЀŸÕ€ÚÂàqÚ ¥áÂ@bÚÂ`¤Ü çÂrçÂÀßÂÀÝ [ãÂ@D߀-èÂÀÜ€uÜÂàîÚ ØÂ`zã€òÜÂÀóá€WáÂà”é€?åÂ`€âÂ@VÜ :ÞÂÀ/ØÂ1ÝÂ`€âÂ@ÓÜ€ìÝÂÀ|à 4߀iÞÂ`ÍÂÀùà€WáÂÀ¾ÕÂ ÛØÂàÜÝÂ1ÝÂ`âÂà_Ý€àßÂ%ß 4ß ã :Þ€“×Â@zÖÂ`àÂàÊà€¼å€«Ó ÃÜ oêÂÀdäÂÀXæÂ äÂ`†áÂÀjã€'éÂfé åÂïç€Eä€ÔáÂ`ÍêÂàèÂà¸ãÂ@»àÂ`zã ÃÜ€QâÂ@,ã ·ÞÂ@bÚ 4ßÂÀŽÝ ‘ÚÂâÂàìÂ`zãÂÀ”ÜÂ@ÍÝÂ@µáÂ`ýâÂÀAÕÂ@zÖ åÂ`Çë Ù€æÞÂØÖ€]à ØÂ€¶æÂ@æÂÀRçÂàÊàÂÀ)ÙÂ`ñäÂà/åÂà”éÂàSß ÏÚ ÞâÂ@»à åÂÀXæÂ ÛÂ@èÂÀLèÂ@DßÂHîÂ`åæÂàÖÞ€?å€ ÙÂàwÙÂ`tä ðßÂ@êíÂà¾â ŸâÂ@>à “äÂ1ÝÂÀÄÔÂÀÛåÂCÚÂÀLè aâÂ`’߀WáŠã ™ã  æÂ€Âä€iÞÂÀ¸ÖÂà‰ÖÂÀ”ÜÂ@£ä Ý ué€Kã äœàÂà)æÂàÖÞÂà¾â ½ÝÂ@ åÂàâÜ€ìÝÂàO¶ÂÀ™ð ÚíÂ`\èÂ`'ÜÂ@nØÂ`E×ÂÀpâ€æÞÂ`ªÛÂ`ýâ€àß ‡æÂ@—æÂU×Â@&äÂÀ ÚÂÀ"ïÂÑìÂä …Ü€àß®ÝÂÀXæÂ @ÝÂ@\ÛÂ@2âÂàÄá€4ÒÂÀ^åÂ`°Ú óÔÂ`ÞÂ`€â gáÂ@8á€ØÂÀpâÂ`°ÚÂÀdä€ ÙÂàqÚ ØÂ=ÛÂÑì ¥áÂ@>àÂÀ/ØÂÀ)٠݀Ôá€ÔáÂÞÕÂ`3ÚÂÀ¸Ö ÛÂ`cÒ á×€{ÛÂ@PÝ€ìÝ &×Â@ÇÞ€QâÂ@t×Â`ëåÂ` á —Ù€ØÂ%ßÂ`oÐÂ@€ÕÂ@ ÔÂÀwÌÂÀ¦ÙÂ`Â×Â@hÙ ·ÞÂÀçã€ØÂ€ÎâÂ%ßÂàÕÂÀŽÝÂ`â RÚ ·ÞÂàèÛÂÀ5לàÂÀ;Ö ÿÒ £× ãÂÀÿßÂÀ¥îÂ@nØÂ ÍРpÕÂ`¤Ü ^ØÂ FÜÂ@ÕÂàËËÂaÕÂ@ÒºÛÂÀ;ÖÂöÑÂÀ¾Õ€.Ó€½ÐÂÀÐҮ݀ÃÏÂ`ÈÖ€ÚÂàâÜÂà*ÑÂ@'ÏÂ`ýâÂ@ñ×Â@Ó€@ÐÂÀ¾ÕÂÀ5×ÂOØÂàÕÂ@QÈ€ŸÕÂàÓ€ÕÌ VϠ݀oÝÂà­ÐÂà›ÓÂ[ÖÂ@ÙÛÂÀÊÓ ØÂ`.ÆÂ€pÈ‹ÎÂÞÕÂ@'ÏÂà0ÐÂÀÄÔÂ`Â×Âà‰ÖÂ`ÚÓÂÀ_ÐÂ@ÍÝ€ÛË  Í€.ÓÂà$Ò —ÙÂ@žÐÂàØÂàôÙÂ`KÖÂ@åÙ çÖ &×€øÛÂ@ ÔÂàZÉÂ@žÐÂöÑÂÀÝÂàkÛÂ`Â×ÂÀeÏ ÙÂà× çÖÂÀšÛ ÓÏÂ`oÐÂàúØÂ¢ß€™ÖÂ` Ì€XÌÂ`QÕÂàÖÞÂÀk΀:ÑÂ@bÚ pÕÂÀ”ÜÂàYÞÂàÂàØÂ`'ÜÂ@ëØÂÒ×Â` áÂ`oÐÂ@åÙ &×Â`žÝ \ÎÂsÒ —ÙÂ`ÈÖÂàÖÞ ÍЀ±Ò€‡Ù€Wá ¯ÕÂÀÚÂ`Þ€LÎÂ`ÈÖ€™ÖÂØÖÂ@Õ€Ú€{ÛÂÀ”ÜÂ`KÖÂ@ýÕÂÀSÒÂU×´Ü€9æÂÀSÒÂÀÖÑ ·Þ€ØÂ çÖ µÔÂ`ÚÓÂà;ãÂàèÛÂ`ÚÓÂ`àÒÂ`oЀFÏÂÀÄÔÂ@©ã€"ÕÂ`ÚÓÂ`cÒÂÀÛ ·ÞÂ@ ÔÂyÑ€ØÂ`¼ØÂ@€ÕÂÀ;ÖÂÀÜ€(ÔÂÀÊÓÂ`ÚÓÂÀ^å ùÓ pÕÂÀ/ØÂ PРVÏÂÀYÑÂ1ÝÂÀAÕ€ÃÏ€(ÔœàÂ@ÙÛÂ`'ÜÂ`†á€ÔáÂÀçãÂàÂÀÚÂ`E×€ ÙÂàqÚÂ@žÐÂ`æÑ d×Â@ëØÂ@ñ× óÔÂÀ ÚÂЀŸÕÂàØÂ ÝÂaÕÂÀ¸Ö £×ÂÀ ÚÂà}ØÂ@ßÚÂÀÿßÂ@JÞ çÖÂ@÷ÖÂÀváÂ@—æÂ@PÝÂÀvá¨ÞÂàqÚÂ@ßÚÂ`9Ù ^ØÂ€þÚÂ`'Ü€"Õ gáÂÀÜÂàÜÝÂ`¤Ü [ã Ú DÒÂ@!ЀÚ€™Ö€ŸÕÂ@Õ DÒÂàkÛ€øÛÂ@>à€ØÂ€Ö€™ÖÂ`Â×Â@zÖ 2ÕÂàÓÂyÑ XÙÂÀ¸Ö ÉÛÂÀGÔÂ@ÑÂÀ ޠ݀þÚ€«ÓÂ@hÙÂ`ÎÕÂ`ñäÂàôÙ ÛÂÀjãÂÀváÂ`òÏÂàÐß XÙ€þÚÂ@ßÚ …ÜŠã€ÔáÂüÐÂ`“ÊÂÀèΠ ÍÂÀÿß µÔÂ@ýÕÂàƒ×Â@ ÔÂ`ýâ ØÂ`?ØÂ`!Ý€òÜÂ@bÚÂ`€â —Ù€ÚÂ@÷ÖÂ@ÍÝÂàúØÂàYÞÂ%ß åÂ`nåÂà ç ‘ÚÂ@nØÂ€-è ‚ÒÂ@ªÎ µÔÂÌØÂ@!Р½ÝÂ`'ÜÂàêÂ@t×Â`ìÐÂ`3ÚÂÀváÂ`¤ÜÂ`ìРêà jÖ€@ÐÂÀÿßÂOØÂà‰ÖÂÀjã ]íÂ@€ÕÂàÓÂÀÄÔÂ`ªÛ VÏÂ`¶ÙÂÀ¸Ö€øÛÂ`ÎÕ¨Þ íÕÂÀ5×€Ö jÖÂ`ÞÂ@ßÚÂ ÛØÂmÓ€oÝ ÜÂÀ#Ú€·Ñ öޢ߀¶æÂ`žÝ gáÂàwÙ >ÓÂ@ÇÞÂàGáÂÀÛÂ`ýâ€ìÝÂ`3ÚÂmÓ óÔ &× ÏÂ@ ÔÂ@åÂ`€â »ÓÂ`ÈÖÂ`Þ (á gá€{ÛÂ`°ÚÂÀíâ€oÝÂ@JÞÂàúØÂÀÿßÂÀùàÂ`-ÛÂÀÜÂÀ¸ÖÂ`ÎÕÂ@Ò€ Ù€™Ö êàÂàƒ×Â@Ѻ۠gá€ìÝÂ`àÒ :ÞÂOØÂÀ”ÜÂ`ÎÕÂÀAÕÂàYÞÂ`]ÓÂÒ×Âà¬å€:ÑÂ@nØÂàkÛÂÀ”ÜÂÀŽÝÂ@æÂ`?ØÂÀˆÞÂ@ÇÞ€iÞ ÉÛÂ=Û Û€E䀇ÙÂàƒ×ÂàÕÂàeÜÂâ€KãÂÀ²×Â[ÖÂ`¶ÙÂàMàÂÀ#ÚÂàƒ×Â@ÇÞÂÀÝÂÀ5× 4ßÂÀAÕÂÀGÔÂÀ ÞÂlèÂ=ÛÂ` á¨Þ€ ÙÂ@ßÚ LÛÂÀ ÚÂà›Ó€±ÒÂ@VÜÂ`-Û µÔÂ`¼ØÂÀdä ÛÂàÄá ÇÑ ÿÒÂ`àÂäÔ€uÜÂ`!ÝÂ@JÞ Û ÿÒÂ@t×ÂÀÛ€þÚÂÀ|àÂàqÚÂ@PÝÂ@DߺÛÂ@ñ×€iÞÂ`WÔÂàèÛ€Ú ¥á€Ú sßÂà)æÂ`!ÝÂÀÜÂ@t×Â`÷ãÂàúØÂ`ÚÓÂØÖ ±ßÂ@£äÂàÜÝ€þÚÂàèÛÂ@bÚÂÀˆÞ ÛÂ1ÝÂ`tä€!êÂ1Ý 2ÕÂ@÷ÖÂ=ÛÂ@ÍÝÂÀFéÂà çÂ@DßÂ7Ü€×Â@JÞÂàwÙÂÀÕæÂ êàÂ`¤ÜÂIÙ ‡æÂ`KÖÂà ÖÂàÔÂ@÷Ö LÛÂ@ å€æÞ ÙÂâ ‡æÂ€'éÂåÂÀóáÂ1Ý ðßÂàîÚ çÖ ©ÖÂ@PÝÂÀ¬ØÂàwÙÂÀíâÂ[Ö Ú  æÂÀXæÂ`…ö€]à€{ÛÂàÐßÂ@PÝÂ%ßÂ@hÙÂ`9Ù ±ßÂÀçãÂ@ÙÛÂàSßÂ@¤ÏÂÀùàÂéèÂâ€Ú€]àÂ`3Ú ÝÂ`!Ý Øã :Þ€øÛ ÀçÂ%ß ŸâÂÒ׺ۀòÜ€Wá ØÂÀváÂlè€zðÂ~åÂ@¯â€oÝÂÀjãÂ@æÂÀ߀òÜÂà²äÂ`ñä€ë àì åÂÀáä Þâ øèÂ@ç€KãÂ`ýâÂ@…éÂà;ãÂà¦æÂ`ê öÞÂãéÂ@èÂõæÂàAâÂÀ¦Ù€Kã´ÜÂàeÜÂá öÞÂà²äÂÒ× [ãÂàÜÝ€iÞÂÀ ÚÂà ‹ÛÂ`ŒàÂÀ/ØÂ UäÂàÄá &×Â@ëØÂÀÝÂàqÚÂÀ¾ÕÂ`¤Ü äáÂ@ÍÝ€àßÂ@ÙÛ (áÂ`bçÂÀ¬ØÂ€]àÂ@2â [ã ÏÚ "âÂ@Dß ðß ‘ÚÂà¾âÂà_ÝÂà­ÐÂ`Œà€{ÛÂ@bÚÂ`¶Ù vÔÂ@8áÂÀÛÂáÂ@ åÂàSß„ä ÞâÂÀíâÂ@Á߀àßÂ@zÖÂÀ¬ØÂàÜÝÂÀSÒÂ@PÝ  æÂâ Øã oêÂ`àÂ`ëå€ÎâÂ`ýâÂ@è RÚÂÀvá¢ßÂÀdä PÐÂÀ²×€±Ò (áÂ@sìÂÀíâÂ@ÇÞÂà¬åÂÀ|àÂ%ß 4ß iëÂ`>í @ÝÂà oê oêÂ`ëå CçÂ`ß„äÂÀšÛ ãÂàÊàÂÀ|àÂ`†á ŸâÂÀ)ÙÂ`¶Ù ÌåÂ@»àÂ`˜ÞÂàâÜ 1êÂ@PÝÂ7ÜÂÀùà ÝÂxæÂ@ê ±ßÂàGáÂâÂ@DßÂÀÿßÂ`\èÂÀÛå ué ÉÛÂáÂÀpâ Oå «à€iÞ "â€]à ùÓÂïçÂÀóáÂÀ#ÚÂÀ)Ù€iÞ€ÔáÂ`'Ü öÞÂêÓÂ@åÂàeÜÂÀ”Ü @ÝÂàqÚÂ@¯â–áÂ@ å€WáÂÀáäÂà× Ý =èÂ`ýâÂ`ëåÂÀÛÂÀÖÑÂÀ¦Ù gáÂ@!ÐÂà á×€uÜ ÝÂÆÙ ÏÚ ^ØÂàèÛÂ`QÕÂ`!ÝÂIÙÂÀ Þ 4ßÂ@bÚÂÀùàÂà¸ãÂ`€âÂ@£äÂ@öë–á€ìÂÀ;Ö ½Ý€uÜÂ@\Û ‘Ú¨Þ€Ö ‘ÚÂ@ðì êàÂ@\Û€àßÂÀ)ÙÂ`3ÚÂ`Þ€ÔáÂà¬å uéÂâÂÀßÂàÊàÂàáñ ûòÂZëÂÆÙ gá¨Þ d×ÂÀÿß ¥áÂrçÂÀùà€¤é€ÔáÂà¦æÂ`PêÂ`V逰ç (áÂÀŽÝÂ@8áÂ`÷ãÂÌØÂÀ‚ßÂ@ÍÝ êàÂàqÚÂàMàÂ@£ä ¯Õ ÙÂàYÞ £×ÂáÂ@>àÂ`¼ØÂ@»àÂ@å FÜÂ@†Ô :ÞÂàÖÞÂÀçã 2Õ¨ÞÂ@ÙÛ€Úà ÝÂ`€â¨ÞÂàYÞÂÀ|àÂàôÙ ‹ÛÂà ë€ìÝÂÀváÂÀ”ÜÂ@êÂ@µá„äÂ@ýÕ LÛ ÓÏ€ØÂÀÄÔÂÀváÂ@D߀ìÝÂIÙ€øÛÂÀAÕÂÀ|à 4ßÂà•ÔÂ@zÖÂ@¯â ™ãÂÀÜÂÀÛ€"ÕÂà¡Ò€ØÂ ÛÂ@ÙÛÂ`’ßÂ`Þ€ìÝ€½ÐÂàÂàÄá sßÂ@ Ô–áÂÀíâ€×Â`†áÂ[ÖÂÀŽÝÂÀ^åÂ@>àÂ@VÜ ŽÐÂàÜÝÂ@,ãÂàÜÝÂ@ýÕ€·Ñ€òÜ€ìÝÂÀÊÓÂOØÂ íÕÂ`¼ØÂàèÛ€Qâ DÒ€QâÂ@Dß IæÂ€Ö€ ÙÂà›Ó :ÞÂ@DßÂ`ÔÔÂ…ÏÂ@ÍÝÂ`'ÜÂÀÊÓÂàØÂ€¥Ô€iÞÂ=Û€WáÂÀùàÂ@nØÂ@ Ô XÙÂ%߀þÚ¨ÞÂ@©ã …ÜÂ`¤ÜÂÆÙÂà×Âà×Â@ÓÜÂÀjã @ÝÂàÕÂàôÙÂä€.Ó óÔÂàÓ ·ÞÂ@VÜÂ@åÙ .àÂ@ßÚÂàîÚÂÀè΀iÞÂÀváœàÂ`ŒàÂ@DßÂÀ)ÙÂàîÚÂÀ¦ÙÂÀ¦ÙÂÀ²× gáÂ`âÂà ÖÂOØÂ —Ù€KãÂ`tä êàÂå€ ÙÂÀRçÂà¦æÂ`?ØÂ`¶ÙÂàÂÀ4ìÂ@åÂàÂàkÛÂàîÚÂOØÂà#çÂÀ‚߀æÞ€æÞ ™ã€žêÂ@,ãÂäÂ`˜ÞÂÀ|àÂà¬å (áÂ`!ÝÂ6ñÂ~åÂ`žÝÂ`÷ã€-è€òÜ ,ÖÂ`¶Ù€ÔáÂU×Â@,ã æë€]àÂÀ|à êàÂäÂ@ÇÞ @ÝÂ ÆæÂ ºèÂàîÚ€uÜÂ@æÂ`ªÛ ™ã IæÂ øèÂõæÂ  æÂ@µáÂàÕ€ÚàÂÀˆÞÂ@»àÂ`àÂ@ëØÂÀ”Ü€ ÙÂà}ØÂ sß CçÂ`»í ^ØÂ (áÂ@‘çÂàÜÝ Ù€Kã ºè .àÂÀdä€×Â@æÂ€Úà 4߀]à ±ßÂ`ÙèÂ@êÂ@äî€Œí «àÂÀß ÝÂÀ”Ü€ŸÕ ØÂ`¤ÜÂ@2â€ë€æÞÂ1Ý ^ØÂ€iÞÂÀíâÂûåÂõæÂ€¶æÂ@ÁßÂ`žÝÂ@µáÂ@ç ÉÛ€æÞÂféÂÝê =è [ã OåÂà#çÂ=Û€oÝÂ@bÚÂàÄáÂ`åæÂ€ìÝÂ@µáÂ@ÇÞ€ªè CçÂ@>à ‡æÂ€¤é 2ÕÂ@æÂ`-ÛÂ@ åÂÀ)ÙÂÀ^åÂà²äÂ`µî€ÎâÂÀ·ëÂÀvá êà =èÂàì gá–áÂ@,ã€Èã€È〟ՠ(áÂà¬å€EäÂàGá {è êà ±ßÂ1Ý€¶æÂ@µáÂ@>àÂ`€âÂ@>à {èÂïç .àÂ`ßçÂ ÆæÂ@éÂ@ 值å€-èÂà¾âÂ`âÂ@yëÂÀFéÂàâÜ ´éÂÀFéÂà‚ìÂ@éÂ@2â ÏÚÂûåÂãé þ瀤頓äÂàšèÂ@‹èÂáÂ`hæÂ@‘çÂ`†áÂ@èÂ@êíÂàùíÂ` áÂ`ß瀘ëÂÀùàÂàíï€cßÂÀáäÂ`zã æëÂfé„ä ÌåÂ@ÍÝÂxæÂ@£äÂxæÂ@êÂÀ¥îÂ`tä€9æÂ`hæÂ`©ðÂÑìÂàÜÝ màÂÀˆÞÂ`tä 7逰瀪è [ãÂ`\èÂ`VéÂ`zãÂ` áÂlèÂÀ(îÂÀÛåÂ@1÷ .àÂà/åÂÀváÂ`zãÂÀLèÂÀÛåÂ`?ØÂ`æÑ€?å§ó 3ô ØÂ`à€WáÂ`’ßÂ ÆæÂ =èÂ`ÞÂà)æÂà ëÂ`ŒàÂ@ åÂà çÂàšèÂä ÉÛÂûåÂ@üê ãÂàdñ .à Ý ¥áÂÀváÂÀÿß …ÜÂà²äÂ`nåÂ`ßÂ1ÝÂ`°ÚÂÀóáÂà;ãÂÀváÂàâÜÂ`˜ÞÂ@èÂà;ã€-è (áÂ`’߀Ôá€Qâ ‘ÚÂ@&äÂÀ.í á×Â`ñäÂÀváÂ@ÕÂ` áÂÀ·ëÂ@2âÂ@»à€× Ÿâ UäÂä OåÂà “äÂ@¯â ÃÜ :ÞÂ@DßÂÀpâ IæÂ XÙÂàGá æëÂÝêÂÀÉ耀ï€'éÂà ëÂ@JÞÂÀ ÞÂà/åÂ`nå ÙÂ`¤Ü€Îâ€íÂ`ß瀤é s߀QâÂ×ëÂ`ñäÂÀ ÚÂ`êÂãéÂà;ãÂ@>à€?åÂÀšÛ UäÂ`zã çŠãÂ@ßÚÂlè€ï å€{Û màÂ`†á ŸâÂ@yë ™ãÂ@ÇÞ ·ÞÂÀ”ÜÂÀÕæÂ mà€‡ÙÂ@öëÂ@&äÂ@hÙÂ@ÓÜÂ`ÈÖ &×€]àÂà)æÂÀÿß «à€Eä aâ€3çÂ@ÇÞÂ`ÇëÂ@>àÂàêÂàˆëÂ`ªÛÂ`˜ÞÂxæÂàqÚ ™ãÂ@ÓÜÂÀíâ gáÂà¬å "âÂà5äÂàÜÝÂ`!ÝÂÀíâÂxæÂ`VéÂÀFé ãÂâÂ`€â ðßÂÀvá [ãÂàÊàÂà¬å çÂà;ãÂ@ýÕÂ`ýâÂ`†áÂÀdä åÂÀˆÞÂ@çÂÀÿß´ÜÂxæÂ ä ãÂrçÂ`\èÂ@ÓÜÂàYÞÂ`âÂÀÏç ·ÞÂ@ÁßÂÀšÛÂ`hæÂ`täºÛ€þÚÂÀÝÂ`’ßÂÀXæÂàâÜ€þÚÂ`9ÙÂÀíâ€ì„ä€×ÂÀùàÂ@\ÛÂÀ|àÂÀXæÂàÜÝÂÀÃéÂ@µáÂàAâÂ+ÞÂ`-ÛÂÀ^åÂÀíâÂÀÜ€ÈãÂà;ãÂ`’ß þç gáÂÀ”Ü€ØÂ€ŸÕÂ7ÜÂ`Œà {èÂ`zãÂàâÜ ½Ý€ìÂ@,ã ÛÂàƒ×ÂÀdä {è¨ÞÂàÂÀRçÂ`KÖ £×€òÜÂäÂ@»àÂ`’ßÂÀ²×Â@†ÔÂàÐß sßÂxæÂ€Ôá ‡æÂ@€ÕÂäÔÂàƒ× PÐÂ@DßÂÀ¦Ù€cß 4ßÂÒ× 8ÔÂÀeÏ cì +ëÂ=Û —Ù …ܺ۠ÚÂàqÚÂ@PÝ€ØÂ@>àÂûåÂÀ ÞÂ@ñ×ÂÀwÌÂàqÚ ‹ÛÂÀ‚߀]àÂÀYÑÂ1ÝÂÀÝÂÀšÛÂÀÜÂÀˆÞ «àÂÀŽÝÂ`ªÛ€iÞ äáÂÀùàÂ`!ÝÂàèÛ «àÂ@ëØÂ`Â×Âà¾â …Ü £×´ÜÂÀˆÞÂÀ ÞÂ`æÑÂ@ÙÛÂÀGÔ óÔÂàYÞ íÕÂàôÙ 4ßÂÀÛ€ÚÂà•Ô ©ÖÂIÙÂàîÚÂÀáäÂ@VÜÂU×€øÛ yÞÂ`à êà Oåœà £× ½Ý€þÚÂ@&ä :ÞÂÀÜÂ`'ÜÂ`@àçÖ »ÓÂà§ÑÂOØÂÒ×ÂÀ¾Õ yÞ€«ÓÂÀÝÂ@‹è€{ÛÂ@Dß £× ¯ÕÂà•ÔÂÀÐÒÂàÅ̮ݠ·Þ ÛÂ@ýÕÂàwÙ€“×Â`˜Þ Þ†٠FܢߠÇÑÂ`ÈÖÂÀ)ÙÂsÒÂÀ¦Ù d×ÂÀ)Ù€@ÐÂ@ÑÂÞÕÂ@PÝÂ`¶ÙÂ[ÖÂðÒÂ8ÇÂÀÊÓÂ`ªÛÂ`3ÚÂ@‘çÂ`É€·ÑÂàÐßÂ`9ÙÂàÜÝÂ`÷ãÂ`ÞÂ@PÝÂÒ×Âà}ØÂ »ÓÂ`žÝÂNíÂÀçãÂ[ÖÂ@ÍÝÂà× 8Ô çÖÂà×€(Ô€±ÒÂ`ÈÖÂ`{ΠØÂàÐßÂ@¤ÏÂ@t×ÂÀ¾ÕÂà‰Ö€FÏ Ï ÝÂÍÂàîÚÂrçÂÀ;ÖÂ@ Ô ÷ÉÂÐÂÀ|àÂ@ÍÝ jÖ DÒ€‡ÙÂIÙ€@ÐÂàTÊÂàÖÞ àìÂ%ßÂ@µáÂÐÂÞÕÂ`†áÂÀèΠóÔ öÞÂàÔÂÀôÌÂ[ÖÂIÙ ÁÒ ŽÐÂÀÛÂ@bÚ€Ö @ÝÂÀáä »Ó€:ÑÂà•ÔÂ`ÈÖÂÀ;ÖÂÀ#ÚÂ`]Ó ‘ÚÂàÔÂêÓÂ`ªÛÂ`]Ó€ÕÌÂÀYÑÂà›Ó€±ÒÂÀÛ€ØÂÀšÛÂÀ¦ÙÂ`ÎÕÂ@°Í€@ÐÂÇÄ ùÓÂ`oÐÂÀYÑÂ[ÖÂ`˜Þ ç€àß VÏÂ`uÏÂ`?ØÂU× ÏÚÂ`’ߠ݀ ÙÂ…ÏÂà6ÏÂgÔ üÝÂàƒ×Â@ÓÜ€{Û€ Ù ùÓÂ@-ÎÂ`9ÙÂàÖÞÂaÕ€"ÕÂ@'Ï‹ÎÂÀÐÒ€ÚÂÀ ÚÂЀ(ÔÂ@žÐÂÀSÒÂÀÖÑ ÒÂ@ªÎÂÀè΀ÔáÂà6ÏÂÀ۠ǀ(Ô ÚÂ7ÜÂÀwÌ€±Ò€(ÔÂÀß ©Ö€XÌ€@ÐÂ@ëØÂ@åÙÂ@ÓÂCÚÂàƒ×ÂÀAÕÂØÖÂÒ×Â`3Ú VÏÂÀèÎÂ`E×Â@JÞÂ@ßÚ çÖÂà$ÒÂ@¶ÌÂ…ÏÂCÚÂ`ÔÔÂà¹ÎÂÀËÂÀÕæÂÀ‰ÉÂaÕ pÕÂ@ ÔÂ@Ó 2ÕÂ@hÙ€"ÕÂÒ×€"ÕÂ@†ÔÂÀ#Ú ÁÒ€"ÕÂIÙÂàÕÂÒ×  Ñ€øÛÂ@ÙÛÂÀ5×Â@DßÂ`ìÐÂÞÕÂ@µá ÐÂ ÛØÂäÔÂàâÜÂÀùàÂà§Ñ ÏÚ€:ÑÂmÓ ÏÂÀMÓÂÀÄÔÂà­Ð >Ó„äÂÀ#ÚÂà6ÏÂ`@ÃÂ@÷ÖÂ[ÖÂà ÇÑÂÀ¾Õ ¯ÕÂIÙÂ`¶ÙÂÀ¦ÙÂ@ÕÂÀSÒ £× s߀{ÛÂ@¤ÏÂÀkΠÙÂÀ¬ØÂàÓÂàÑÊ VÏÂÀMÓ d×€iÞÂ@ÑÂàBÍ ‹Û £×Â@ÎÈÂÀÊÓÂÀAÕ ÁÒ &×Â`°ÚÂ`?ØÂÀGÔ Ù€«ÓÂà$Ò @ÝÂàƒ×ÂÀÖÑÂ`]Ó Ò€«Ó óÔ€ÉÎÂÀÜÐÂIÙ€@ÐÂðÒÂÌØÂà›Ó jÖÂöÑÂ`ËÂ`QÕÂ@zÖÂàTÊÂCÚ óÔÂÀ¾ÕÂà Ö€±Ò´Ü€×Â@ÓÂÀ;ÖÂ`QÕ€ØÂÀ¬ØÂÀÄÔ ÐÂà›Ó ÕÙÂà³Ï 2ÕÂ@nØÂ@nØÂÀšÛÂ@Ò€dÊÂÀqÍ sßÂà‰Ö ”ÏÂ`{Π—ÙÂ@Áß Ú màÂÀ;ÖÂÀÛÂûå µÔÂàèÛ€× &×Â`E×Â@VÜ ÜÂÀß Ú ŽÐÂÀ5× LÛÂU×Â@åÙ ØÂ€WáÂ@nØÂ ÛØÂÐÂà•ÔÂ~å yÞ€ØÂ€ØÂ ÝÂà ÖÂÀ#Ú ©ÖÂÀ ÞÂ@ÓÜÂÀ;ÖÂÀSÒ€"ÕÂ@€ÕÂà×Â`“ÊÂ@¼Ë —Ù€ŸÕ€ÕÌ ÜÂ@t×ÂàeÜ ã 5ÊÂÀÄÔÂà<ÎÂ`QÕÂ@ÓÜÂàkÛÂüРÀçÂÀMÓ€oÝÂ`ªÛÂ`-ÛÂàMàÂÀ¾ÕÂÀÊÓÂÀ)Ù—Ì &×€ÎâÂà× ÁÒÂÀ¦ÙÂ`ÎÕÂ@Ó€@Ѐ"Õ€òÜ VÏÂ@ ÔÂ@8á€"ÕÂÀè΀æÞÂöÑÂà}ØÂà6ÏÂà•Ô€™ÖÂ`ÚÓÂ@ñ×ÂgÔÂöÑÂ@t×€òÜÂ@ÓÜÂ1Ý€ÚÂ`ªÛÂàÄáºÛÂÀYÑÂÀ_ÐÂÒ×ÂàÜÝÂ`æÑ XÙÂ@ÓÂðÒ >ÓÂÀ|àÂà$ÒÂÀ)Ù êàÂ`ñä€oÝ ØÂÀÊÓ€ÖÂ`àÒÂsÒÂà×É€uÜ Uä¨ÞÂ`¶ÙÂ`ÈÖ€"ÕÂ@ñ×€oÝ´ÜÂÀßÂ`¤ÜÂÀšÛ »ÓÂIÙ .àÂàØÂ@t×ÂÀßÂÀ ÞÂIÙÂÀqÍ VÏÂÀÝÂÀèΠ¯ÕÂÀÜЀ4Ò€ÖÂÒ×Â`QÕÂàkÛÂ@¼Ë Ý RÚ€{ÛÂÀ¦Ù ÃÜÂÀÐÒÂ`¤ÜÂ`æÑ€Ö€þÚÂÆÙ€uÜÂ@VÜÂÀ¦ÙÂ@°ÍÂ`¤ÜÂàÐßÂ`9ÙÂàâÜÂàÕ vÔÂÀˆÞÂ`cÒ€"ÕÂ`Â×Â`cÒ JÑÂ`QÕÂ`cÒÂÀ)Ù á×Â`Þ€ØÂ@nØÂ &× bÍÂ@ñ×Â`¶ÙÂà$ÒÂàeÜÂÀ¦ÙºÛ VÏÂ@ ÔÂ`?ØÂÀŽÝÂÀÜРDÒÂÀ¦ÙÂà<Π)Ì £×ÂÀ/ØÂ`þÍÂÀYÑÂÀÖѠϣÊÂà›ÓÂÀÐÒÂÀ5×Â@>àÂàîÚ ÉÛÂ@ßÚ vÔÂ@°Í€(Ô —Ù€iÞÂÀAÕÂÀGÔ ßÍÂà›ÓÂà Ö€±ÒÂ@>à çÖ€oÝÂÀ)ÙÂüР2Õ »ÓÂàôÙÂ`ëå ÚÂàîÚ€ ÙÂ@ÕÂäÂà¿ÍÂ` Ì ñÊ DÒÂÀ²×ÂäÔÂ`3ÚÂ`€âÂÀk΀@ÐÂ@t×ÂàqÚÂ`uÏÂà­ÐÂÀùà öÞ ùÓ€øÛ€ìÝ€æÞ ØÂ`!ÝÂàeÜÂÌØÂ ÛØÂ€ÕÌ ÉÛÂà ÖÂÀ¸ÖÂ@ Ô€ØÂÐÂ`Â× Ò´Ü ÀçÂÀ¸Ö€‡Ù¯ÈÂÀ/ØÂ€ÚÂ`?ØÂ vÔÂÌØÂàƒ×ÂÀ/ØÂÀèÎÂà Ö€ÖÂÀùàÂ`QÕÂ@°Í—Ì |ÓÂÀ²×ÂÒ×ÂaÕÂà•Ô £×Â`ÔÔÂà$ÒÂ`àÒ€4Ò€(ÔÂØÖ€ÃÏ€×Â+ÞÂ@-΀ÚÂÀ_ÐÂÌØÂÀ5×ÂÀYÑ€™Ö ©ÖÂ@hÙÂ`-ÛÂÀâÏÂÀ²×ÂØÖÂàîÚÂÀ¦ÙÂ`QÕ€ÃÏÂ`ÔÔ LÛÂà$ÒÂ7ÜÂöÑÂ`¼ØÂ€ÚÂàwÙÂ@ýÕÂ@ Ô€@ÐÂàƒ× ,ÖÂÀ ÞÂÀ)ÙÂ`-ÛÂÀÜÂ@nØÂÀÜÂ@JÞ »ÓÂ@ÍÝÂ`iÑ€]àÂ`ªÛ üÝ€iÞÂàúØÂ µÔ {è £×€±ÒÂà¾â€4ÒÂâÂÒ×ÂàúØÂÀÿß >ÓÂ@ÓÜÂ@t×Â@÷Ö€ìÝ ÝÂÀÛÂàÕ FÜÂ`†á€¥ÔÂgÔÂàúØÂ`Ë jÖÂ`hæÂà$ÒÂàƒ× 8ÔÂàSß …Ü ˆÑ€‡ÙÂà_ÝÂÀ±ìÂ+ÞÂ@Ò ˆÑÂ`3Ú jÖ üÝ (áÂÀšÛ —ÙÂ`QÕÂ@Ò LÛÂ1ÝÂ`9Ù ©ÖÂÏÂà ÖÂÀŽÝ´ÜÂÀ)ÙÂ@ñ× ÝÂ@åÙÂà*ÑÂà)æÂ€uÜÂ@÷ÖÂ@zÖÂ`æÑ jÖÂ`E× 8ÔÂÀ5×ÂÀ¬ØÂ€ìÝÂ@ÓÜÂ@\ÛÂàÕ ÙΠd×ÂaÕ€(ÔÂÏÂ8ÇÂ@hÙ ^ØÂà•ÔÂÀÜ pÕÂÀÊÓÂ`øÎ€øÛÂàqÚ PЀ™ÖÂ`KÖÂàqÚÂ@ßÚÂ`iÑÂ`ÈÖ ¯ÕÂ@zÖÂ`ÔÔÂ`WÔÂà›ÓÂ@nØÂ ^ØÂ€ŸÕ€áÊ€«Ó &×Â`WÔÂà}ØÂ RÚ€@ÐÂàZÉ ˆÑ€™ÖÂ`QÕ êàÂÀ²×€:ÑÂà‰Ö€«Ó€]àÂ@bÚÂÀGÔ ðß êàÂ@ŒÓÂàúØÂ ¯ÕÂ@hÙÂ@zÖ€øÛÂ`ÎÕ¨ÞÂüÐÂ@3Í ÓϺÛÂÀ/ØÂ ©ÖÂ`˜Þ€Ôá [ãÂåÂ`¤Ü ‚ÒÂ@ Ô íÕÂ`æÑ jÖÂ`ÈÖ€uÜÂ@ÙÛÂÞÕÂàÊà ‘Ú€@ÐÂÀ)Ù Ý FÜÂIÙÂÀÐÒÂÀMÓÂ@ýÕ€àßÂ`°ÚÂ`øÎ ÃÜÂàwÙ€LÎÂÀ5× £×ÂÀŽÝÂÀ|à€(ÔÂà§ÑÂ@÷ÖÂàkÛ —ÙÂ@DßÂÀAÕÂÞÕÂàwÙ€oÝÂàÕÂÒ×ÂÀ ÚÂ`ìÐÂÀ¾Õ€‡Ù Π‚Ò XÙÂ`Â× ½Ý€·Ñ€ÚÂ[ÖÂÀÄÔ€ØÂ@hÙÂ@ñ× ÒÂ@ÕÂ@zÖÂ`þÍÂ@»àÂÀ²× ÇÑÂ@ÓÜÂ`-ÛÂ7Ü pÕÂÀÊÓ Ü ^ØÂ ‚Ò€íÈÂ@Ó€òÜÂ`!ÝÂ`'ÜÂÀÚÂ`ìÐÂÀGÔ &×Â@¼Ë óÔÂ`ÍÂÌØÂ@€ÕÂàeÜÂ`{ÎÂØÖ€áÊÂàƒ×ÂàôÙÂÀ)Ù ÇÑ 8ÔÂÀâÏÂ`¼ØÂ€ÕÌÂ@-ΠÿÒÂàÜÝÂ@åÙÂÀSÒ ÝÂ` ÌÂÀ¸ÖÂàÖÞÂ@PÝÂÀ#Ú mà —Ù€3çÂ`'Ü LÛÂ`€âÂOØÂàkÛ€ Ù (áÂCÚÂÀ²×ÂàúØÂ€Âä€oÝÂΠRÚ &×ÂÆÙÂàâÜ€×Â=Û á×Â`ß´ÜÂàqÚÂ`àÒÂüРLÛÂÀYÑÂöÑÂà×ÂÀGÔÂ…ÏÂ@8áÂÀßÂOØÂ LÛÂ ÛØÂ ÚÂà¾âÂÀdä 2Õ 2Õ £×´Ü€ìÝ (áÂ`]ÓÂ`3ÚÂ@bÚÂ@ëØÂ€ØÂ@D߀uÜÂ@ÇÞÂÀŽÝÂ`Þ ØÂ€L΀ÔáÂØÖÂ@-Π4ßÂ@ñ×Â@t×Â`ÔÔÂ@»àÂàâÜ€iÞ DÒÂÀÊÓ #ÍÂ`]ÓÂ`žÝÂ@Dß …ܠ܀oÝÂàqÚÂ`ŒàÂÀ¸Ö€ŸÕÂIÙ ÚÂCÚÂÀk΀ڠÝ «àÂÀAÕÂsÒ€±ÒÂÀÜ€"ÕÂ@åÙ ÉÛÂ@åÙÂ+Þ ÏÚ yÞ€·ÑÂ@zÖ€ŸÕÂàÐßÂÀˆÞÂ@\ÛÂÀGÔÂ@ÓÜÂàÖÞÂÆÙ ùÓÂ`ªÛÂÀ;ÖÂàeÜÂÀRçÂU×Â@ÇÞÂ+Þ ÃÜ d×ÂêÓÂ@VÜÂÀ¦Ù øèÂÒ×Â`˜Þ€×€ÎâÂÀ5×Â@ýÕÂ`÷ãÂ`àÂÆÙÂÀ ÞÂ`¶ÙÂàYÞ€ÈãÂÀ#ÚÂ@\ÛÂàèÛ —Ù´ÜÂêÓ çÖÂ@ÙÛÂ`ªÛÂ`¼ØÂ@>àÂÀÿßÂ`hæÂ (á öÞÂaÕÂÀ:ëÂ@çÂ[Ö óÔÂÀqÍ #ÍÂöÑÂ@nØÂ€.Ó ØÂ€ÚÂ`PêÂàMà ÚÂÀÄÔÂ`!ÝÂ@ÇÞÂ`žÝ€Ôá á×Â`’߀WáÂÀ^å Øã ‹Û ÜÂÀdäÂÀÛ€oÝ XÙÂàúØÂ@ßÚÂÒ×Â@JÞÂ@ Ô PÐÂàúØÂ€Ôá äáÂÀˆÞÂ`àÂ ÛØÂ[Ö€Ú çÖ€ŸÕÂ`-ÛÂ@D߀(Ô ØãÂÀßÂàA‰çÂÀÜ€ØÂàØÂ vÔÂ`Þ íÕÂxæÂ` á LÛ màÂ`QÕ€ØÂ 2ÕÂ@bÚÂÀeÏÂ+ÞÂ@ÍÝÂàèÛÂÀ¦Ù LÛÂÀMÓ "âÂÀ¬ØÂäÔ€þÚÂà_ÝÂ`Â×Â`E×ÂÀÜÂÀ¬ØÂà¸ãÂ@åÙ€ØÂ@÷ÖÂ`¶Ù€½Ð ‹ÛÂ@ÓÜÂ`¤Ü (áÂ1ÝÂ`3ÚÂä€9æÂ`¶Ù€ÚÂ`¶ÙÂÀváÂ@bÚ «àÂ@bÚÂâÂàMà€9æÂ ÜÂÀjã ‚ÒÂà5䀟ÕÂ@‘çÂÀá䀤é€ìÝ üݺÛÂ`†áÂ@,ã üÝÂ=ÛÂ@nØÂ@ÓÜÂ@¯â ™ãÂ@>àÂàÄáÂà;ã 4ß ¢ì€àßÂ@ßÚÂ@£äÂÀ4ì€íÂ@,ãÂàqÚÂÀpâ€KãÂ@UñÂÀ·ë€Âä gá åÂÀô ã€’ìÂ@£ä ‡æÂ ÆæÂ@>àÂ@éÂàì€ÈãÂ`hæÂ€¤é€øÛÂ`ÙèÂ`Vé€ÂäÂ=ÛÂÀáä€òÜÂàÂ`zãÂÀ½êÂ ÆæÂ`†áÂ`÷ã€]à€¼åÂà‚ì€íÂBïÂ@ðì {èÂàèÂrçÂ`†áÂ`täÂ`VéÂ@ÍÝÂàqÚ€]à màÂÀRçÂàîÚ ÎïÂ@£ä€-èÂfé «à€¶æÂÀšÛ€oÝ€ýïÂÀdä ‡æÂ`\èÂàêÂà”éÂÀ4ìÂà¸ãÂÀò ™ãÂ`J뀆îÂÀñÂà¦æÂÀ“ñÂÀ.í øèÂ@¯âÂàÂÀ^å éõ›õ  æÂÀÕæÂ`ëåÂ`VéÂ`nåÂÀjã UäÂÀRçÂ`ýâ€QâÂïç€ÂäÂ`¤ÜÂÀXæÂ@æÂ`€â ÚíÂÀ|àÂÀ½êÂÀ‚ß  æÂàMàÂ`!Ý€ïÂÀóáÂ`ñäÂ`Œà ‘Ú CçÂàMàÂ@÷Ö€iÞÂ@ßÚÂàwÙ yÞ "âÂà_ÝÂ@ÍÝ€æÞ yÞÂ@Dß màÂÀÝÂà_ÝÂ`ŒàÂÀÜÂ@bÚ (áÂ`†áÂ`bçÂ@>à€Èã LÛÂ@PÝÂ`'ÜÂàèÛÂá€Î ÙÂ1ÝÂÀ·ë ÒäÂ@\Û¨ÞÂ7ÜÂàÂõæÂ€?åÂ@çÂxæÂÀíâ€×Âå Àç€9æÂÀùàÂOØÂà5äÂÀùàÂ@ÁßÂ@ßÚ vÔÂà‰ÖÂ1ÝÂÀÛ€]àÂÀÃéÂÀRç ðßÂÀdäÂÀváÂU×ÂàMàÂ@t×Âå€æÞ ð߀oÝÂ@ÓÜÂOØÂ`˜Þ€'é «àÂÀŽÝ ÌåÂàÄáÂ@2â€Wáœà  æÂ ÒäÂ@D߀òÜÂÀáä€òÜ€òÜÂ@8á màÂÌØÂ`\èÂ`¶ÙÂ~å àì€QâÂÀ‚߀ÚàÂà/å€cß„äÂâÂàMàÂ@gîÂ`hæÂ€ Ù ©ÖÂ@ßÚÂU×Â`â ‡æÂ 䠽݀Ú FÜ LÛ€àßÂà‰ÖÂÀÿß üÝÂ@êÂ@†ÔÂÀváÂ@8á …ÜÂàèÛÂOØÂ «àÂàôÙ «àÂÀ:ëÂ@D߀ÚàÂû倶æÂ òéÂ`߀æÞÂàMà€ìÝ .à …ÜÂÀáäÂ@æÂà²ä 7éÂàŽê  æÂ€?åÂ~å€EäÂå€ÂäŠã sßÂàŽêÂÀçãÂ@>àÂàS߀¼åÂÀÿߢßÂÀÝÂ@JÞ¢ßÂÀÿßÂ×ëÂÀpâÂ+ÞÂÀŽÝÂÀ±ìÂûåÂCÚÂ`†á€Èã Øã yÞÂàÖÞ ¥áÂàšè€ªèÂÀjãÂÀdäÂàîÚÂU×€Ú ¢ìÂ@ýÕÂàšèÂ@\ÛÂ@h٢ߠÀçÂÀ ÚÂ@åÙ ÝÂÀ·ëÂ@—æÂ IæÂ þçÂ`àœàÂxæÂÀùàÂûåÂËíÂ`Þ ØÂàÊàÂÀ;Ö öÞÂ`à ¶óÂ+Þ Ÿâ ‹ÛÂ`’ßÂõæÂ–á€9æÂBïÂ@,ãÂà5ä€ìÝÂ@‹è€Qâ€ÎâÂ`¼ØÂ€iÞ€æÞ€QâÂà ëÂà/åÂÀíâ %ì ÃÜ€uÜ CçÂÀÿßÂàMàÂlèÂ@¯âÂÀ”ÜÂ`bçÂÀáä€Ö oê CçÂ@ åÂÀ|àÂàÖÞ€’ìÂâ ÚÂÀŽÝÂ@—æÂIÙÂðÒ€{Û€'éÂà)æÂ€™Ö€Ú€ÚàÂà­ÐÂõæÂ`žÝ Û ùÓÂ`ÎÕ &×ÂÀßÂÀŽÝ ÝÂàúØÂ`¤ÜÂCÚÂàØÂÌØÂðÒÂ[Ö RÚÂÀÿßÂàkÛÂ`æÑ€oÝ€oÝ ºèÂàkÛ ðßÂ@ÒÂ@ëØÂ@ÓÂðÒ€Úà óÔÂ…ÏÂà×Â@ÇÞÂU×Â`WÔÂ@PÝÂàôÙÂàMàÂ@ÕÂÀ|àÂÐÂàÕÂÒ×ÂÀúË "âÂÀôÌÂÀ¬ØÂ d×Âà}ØÂ ˆÑÂÀ5×Â…ÏÂÞÕÂ@QÈÂÀÐÒÂ@¤Ï€ ÙÂ`ìРÚ€™Ö jÖÂ`KÖ€(ÔÂ`]ÓÂÀAÕ @Ý€™ÖÂ@€ÕÂàÕÂÀŽÝÂÞÕÂà}ØÂ€iÞÂ ÛØÂ€ÖÂ@ëØÂ ‘Ú d× ¯Õ £×€{ÛÂ ÛØÂ@ßÚ ÕÙÂ@zÖÂ ÛØÂ´ÜÂ`ÔÔÂ@bÚ ÚÂÀ)ÙÂÀÊ XÙÂ@ßÚÂ=ÛÂàÖÞÂ@ÑÂÀYÑÂ@ÍÝÂàƒ×Â`cÒ€ÖÂmÓ |ÓÂ@!ÐÂäÔÂàÓÂ@ Ô ÿÒÂ@VÜÂÀAÕÂ`¼ØÂ…ÏÂÒ× ©ÖÂ@Õ€Ú vÔÂ`ÎÕÂàÔÂ`]ÓÂ@ÙÛ vÔÂ`QÕÂÞÕ …ÜÂà¡Ò ΠñÊÂ`ËÂÀAÕÂÀMÓÂÀùà€(ÔÂ`9Ù ÇѵǠˆÑÂ`]ÓÂÀôÌÂU×ÂÀ¦ÙÂàÔÂ@ÒÂ`iÑÂÀ5× ÒÂà<ÎÂ`ÎÕÂ`nåÂ@ªÎÂÀÖÑ ÇÑ€íÈ€áÊÂÀ;Ö çÖÂyÑÂ`oÐÂÌØÂÀ5× sßÂäÔÂÀSÒ€ØÂäÔÂêÓ —ÙÂgÔÂÀGÔÂ@!ÐÂ@€ÕÂ`ÈÖ —Ù€ÚÂÀ‚ß íÕ ¯ÕÂ`ŒàÂ@¼ËÂÀ)ÙÂüÐÂÀšÛÂÀ¦ÙÂ[ÖÂ+Þ FÜÂÀß РLÛÂ@ÍÝÂà;ãÂàÂ@&ä d×Â`Â× ÎÂàYÞÂ@€ÕÂÀ¸ÖÂ@ÓÜ ÜÂÒ× ÕÙ€É΀FÏ€™ÖÂà;ã€þÚÂÀŽÝ€Qâ€uÜÂ`ìÐÂ@Ó »ÓÂâ ãÂàÐßÂÀ_ÐÂàÕÂ`]Ó€cßÂ@’ÒÂöÑ |ÓÂ`cÒÂ`¶Ù ÕÙÂ@ŒÓÂ`¶ÙÂàèÛÂÀÜÂaÕÂ`æÑÂ@ÕÂà¡Ò€‡ÙÂàÕÂà²äÂÀAÕÂàÂàôÙÂàeÜ®ÝÂàkÛ á×ÂCÚ :Þ€ÃÏÂ@åÙÂ`øÎ PÐÂ`É 8Ô šÎ jÖÂ@t×Â@†ÔÂÀ¸ÖÂ@zÖÂà•ÔÂàÕ JÑ ÒÂ@ÑÂaÕÂ`]Ó€ØÂÀ¸ÖÂ@ÓÜ Û sßÂ`ªÛ FÜÂ@VÜ€·Ñ Û¨Þ€øÛÂÀ”Ü ÝÂCÚÂà$Ò€·ÑÂÀ”Ü äáÂàkÛÂÀjãÂ`ýâÂÀšÛ 8ÔÂ@¤ÏÂà<Π4ßÂ@£äÂOØÂ`æÑ JÑÂÀ¬ØÂ–áÂàÜÝÂ`?ØÂ@-ÎÂàÜÝ€ØÂàôÙÂÀ ÞÂðÒÂ`!ÝÂàèÛÂÀß PРaâÂ`2ïÂ@¯â€4ÒÂà<ÎÂ`¶ÙÂÀÜТßÂ7ÜÂ`òÏÂ@zÖÂ`uÏ€iÞ gáÂ`\è€æÞÂ@JÞÂ`žÝ µÔ ÇÑÂÀ¬ØÂ@\ÛÂà¸ãÂÀˆÞ€QâÂ`¼ØÂ :ÞÂ`÷ã€Ú´Ü€¥Ô€Eä u頽݀{ÛÂ`’ßÂ`âÂàâÜ ØÂ RÚ€ÂäÂÀXæÂ€ Ù [ãÂÀÿßÂ@ýÕ á×ÂÀ Þ sßÂÀÚ€Ö óÔÂå€uÜÂ@ç pÕ £×Âà;ã s߀oÝÂÀ;ÖÂU× aâ FÜ€ØÂ€iÞ€(Ô€“× ÛÂàÕÂÀváÂ@ÍÝÂÀ¾ÕÂÀpâÂà_ÝÂà¾âÂàúØÂ`KÖÂ@ÙÛÂ@ÓÜ€æÞ€‡Ù€½ÐÂ@€Õ€þÚÂ`Í ÕÙÂ@2âÂ@ åÂ@nØÂÀ ÚÂ`WÔ€iÞÂ7ÜÂàqÚ FÜ ã ã äáÂéèÂÀAÕÂÀÊÓ ‘ÚÂ`cÒ :ÞÂ@VÜ ÿÒ ùÓÂÀ”ÜÂ@…éÂàeÜÂÀ/ØÂ d×Â`ÔÔÂ@JÞÂ[Ö &×ÂÀAÕ Ò€ÃÏ€Wá £×ÂÀÿß êàÂ7ÜÂÀ‚ßÂÀ_ÐÂàS߀Ú …Ü€×Â@ ÔÂ@ÍÝÂàÊà ÿÒÂ`-ÛÂ@ Ô€àß  ÍÂ@ÁßÂÀ¬ØÂ`3ÚÂ@hÙ —ÙÂàÕÂàÜÝÂÀˆÞÂ@ßÚ XÙÂ`zãÂ1Ý€¶æÂ€]à€ØÂ`‡ÌÂ`?ØÂsÒÂêÓÂ@€ÕÂÀAÕ ·ÞÂàÂÀÚÂ@&äÂ7Ü€uÜÂàôÙ RÚÂÀÊÓÂàôÙÂÀÊÓÂ`]ÓÂà×Â`¼ØÂ€¶æÂ€ØÂ7Ü€øÛÂ@zÖÂàÕÂà$ÒÂ@°ÍÂÞÕÂÀÿßÂÀÏçÂ@t×ÂÀ¸Ö€±ÒÂ@ñ×ÂÀkÎÂ@»à vÔ £×€Úà çÖÂÀGÔÂà¹ÎÂOØÂ ÒÂàÕ ÁÒÂ@°Í ÒÂ@Ó€iÞÂÀ¸Ö€ÖÂÒ×Â`iѺÛÂÀ5×ÂàôÙ ¯ÕÂ`uÏÂ@ŒÓÂ`cÒ ÙÂàÜÝ ÝÂÀ/ØÂÀ Ú ©Ö ÚÂ@ÕÂÀ;Ö€«ÓÂ`oÐÂU× ÃÜÂ@!Р€È nËÂ`?ØÂÞÕ ÓÏÂ`-ÛÂ@nØÂàƒ× |ÓÂàÕÂàeÜÂaÕÂà5äÂÀ;ÖÂ`øÎ ØÂ@ÒÂÀÖÑÂÀ ÞÂ@hÙÂàîÚ ”Ï€"ÕÂàwÙ Þâ ¬ËÂ@-Π/Ë )ÌÂ@ÓÂÀ Ú€×ÂsÒÂÀ Þ€™ÖÂÀÜÐÂ@°Í 2ÕÂ@†Ô jÖ€¶æÂ 2ÕÂ@Õ€@Р£×Â`E×Â`ªÛÂ@Õ€"ÕÂÀ²× ÙÎÂàèÛÂ@ÁßÂ@ÕÂà<Πá×ÂÀMÓÂ@°ÍÂà•ÔÂêÓ€dÊÂÀYÑ JÑ€:Ñ€LΠÓÏÂ`E×ÂÀ¬ØÂàîÚÂ+ÞÂ@žÐÂ@ÓÂàÕ ½ÝºÛ Ï€Éή݀iÞÂà}ØÂ jÖ ½Ý çÖÂgÔ€ØÂà}ØÂÀèÎÂ=Û ùÓÂ@ÍÝ ŸâœàÂ@hÙÂ@ÇÞÂ`€âÂ@>àÂÀ”ÜÂ@€Õ€.ÓÂ`ÈÖÂ ÛØÂêÓÂ@\ÛÂàAâ ØÂÀAÕ ‹ÛÂÀ5×ÂÀ;Ö ÁÒÂà²ä€«ÓÂ`9ÙÂÀÛåÂÀÜ ½ÝÂàÕÂ`¼ØÂ FÜÂ`tä ·ÞÂÀÛÂ`3Ú á× ÉÛÂ@hÙÂCÚÂàqÚÂÀ|à @ÝÂOØÂ`ŒàÂÀÛÂÞÕÂÀ¬ØÂ=Û ‘ÚÂ@ÙÛÂà×Â@ýÕ äáÂ@bÚÂØÖÂÀ#Ú d×Â`ÞÂÀGÔ€]àÂÀÊÓÂ@ÓÂÀùàÂ@÷Ö ØÂ vÔÂÀ¦ÙÂÀ)ÙÂ7ÜÂ`]Ó ÁÒÂ@\ÛÂ`ÈÖÂ@åÙ ‘ÚÂ@t×ÂÌØÂÀ|àÂyÑÂà ÖÂ`æÑÂÀ¾ÕÂ`ÚÓÂàÖÞÂ@zÖÂàØÂ mà€Ú ØÂÀÿß á×ÂÀ‚ß >Ó á×€ÈãÂà ÖÂÀÛÂ@JÞÂÀÚ çÖÂàwÙ Ü á×ÂyÑ€:ÑÂ`WÔÂ@Õ€QâÂ`æÑÂÀ¸Ö€½Ð 8ÔÂ@nØÂàqÚ€ÔáÂ@ñ×€FÏÂ@?ËÂgÔÂÀÜ @Ý ”ÏÂÀÊÓÂàÔ€ŸÕ ±ß€ØÂÀâÏ€ìÝ€×€.Ó€.ÓÂÞÕ jÖÂ@DßÂ`{ÎÂ`ÚÓÂ@3Í pÕÂIÙÂ@ëØÂ@-ÎÂÀÄÔÂ@ ÔÂ@!ÐÂà‰Ö ”ÏÂ`ÊÂàfÇÂà‰Ö Ò ¯Õ MÆÂ@3ÍÂÀYÑÂ ÛØÂ £×ÂÀ)ÙÂ`æÑÂ`ªÛÂ@†Ô µÔÂ@zÖÂà$Ò€ØÂÀóáÂÀ ÞÂ`QÕÂÞÕÂöÑÂàHÌ€×ÂU×Â`ÎÕ ²Ê ¯ÕÂÀ5× |ÓÂ@åÙÂaÕ€"ÕÂàÕÂÀ#ÚÂà­Ð ,Ö ÓÏ€{ÛÂüÐÂÏÂÀîÍ :Þ &×ÂàÅÌÂ@¼Ë íÕÂà¿ÍÂ@¤ÏÂ@3Í óÔÂàÔÂ@’ÒÂ@bÚÂ@’ÒÂÀÄÔÂ@ÚÆÂ€× …Ü€¥ÔÂà³Ï óÔÂ@ÕÂ`Õ¿Â@’ÒÂÏ ˆÑ‹Î€Ö ^ØÂ`Â×€±ÒÂ@9Ì€ŸÕÂÀeÏÂÀÄÔÂà‰Ö á×ÂР Í çÖÂÀ|à …Ü€ÛËÂ@Ò šÎÂ`iÑÂÎÂ`øÎÂ@ÒÂ`{΀™ÖÂ@Ó ¯ÕÂ@t×Â@»àÂ…Ï€þÚÂà§ÑÂ`øÎÂ`ÈÖÂU×Â᠎Ѐ(ÔÂÎÂÀ¾Õ ÃÜÂ`ÚÓ ¬ËÂ`øÎ á×ÂÎÂÀôÌ ŽÐÂ@ŒÓ >ÓÂÀw̋ΠçÖÂsÒÂÀ;ÖÂ`Â×  Ñ &×Â`æÑÂ@PÝÂ`]ÓÂ@¼ËÂ@°ÍÂÀÖÑ€±ÒÂàÔÂÀ/ØÂ`±Å |Ó tÊÂ&ÊÂ@ªÎÂÀÝ€{ÛÂ`QÕÂ@¤Ï€ŸÕÂ`°ÚÂØÖÂ@zÖÂà0РÚÂЀڀÚÂ@VÜÂà¡ÒÂàHÌÂ@zÖÂÀšÛÂ`QÕÂ`]ÓÂàÑÊÂàôÙÂÀAÕ€RÍÂÀqÍ»ÆÂ d×ÂÀ|àÂÀ¸ÖÂÆÙÂÀÊÓÂàqÚÂÌØÂ 2ÕÂà‰ÖÂIÙÂÀôÌÂ@†ÔÂ@ÈÉÂÀ_Ѐ.ÓÂÞÕÂCÚ€dÊÂÏ ÇÑÂ`¶ÙÂà›ÓÂOØÂ€·ÑÂ,ÉÂÁÅÂà¡ÒÂ`iÑÂà³Ï€·ÑÂàBÍÂà›ÓÂ`øÎÂ@KÉ µÔ —ÙÂàÕÂÀ_ÐÂÀôÌ DÒÂÌØÂÀÖÑÂÏ€jÉÂÀ_ÐÂÀkÎÂà*ÑÂÞÕÂ ÛØÂ€"ÕÂÀ;Ö ÙÂ@3ÍÂ`±ÅÂsÒÂ@9Ì ËÂÒ× ßÍÂ`ÍÂÀwÌÂÀ¾ÕÂà­Ð ÁÒÂ@ ÔÂüÐÂàÔÂÀ‰ÉÂÀYÑÂ` ÌÂ`uÏ DÒ€¥ÔÂöÑÂ`-Û€™Ö åÌ€ØÂ ‹Û€½ÐÂÀèÎÂðÒÂ`ÎÕ 8ÔÂ`¼ØÂÌÂäÔÂ`þÍ€ÃÏ ÚÂÀèÎÂØÖÂ`QÕÂàwÙ€·ÑÂÀôÌÂ@KÉÂà¿Í€dÊ ÁÒÂÀqÍÂàÓ€¥ÔÂ@-ÎÂà6ÏÂà¿ÍÂ@÷Ö zÉÂà ÖÂðÒ ÿÒÂÀÖÑ ñÊ€ØÂØÖ £×Â`àÒÂIÙ ØÂ ©ÖÂ`iÑÂ`9Ù€ÛË d×Â`Í ,ÖÂ@ªÎ ÍÐÂ@¤Ï ßÍÂ`"ȠπXÌÂÌØÂaÕÂÒ× ˆÑÂàÓÂ`WÔÂ`E× üÝÂÀqÍÂ@ ÔÂ@˜ÑÂâÂà§ÑÂÍÂ@Õ€½Ð ÏÂÏÂÀ¾Õ€àßÂ`WÔÂ@¤ÏÂ@zÖÂ`9ÙÂÀAÕÂgԠ݀ÚàÂà›Ó XÙÂ@-ÎÂàâÜ ,Ö á×Â`ÍÂØÖÂ@VÜÂàÜÝÂ ÛØÂ[ÖÂäÔÂ@nØÂ`˜Þ 8ÔÂ[Ö :ÞÂà× d×ÂÞÕÂ@ÑÂ@˜Ñ «àÂ@µá ÃÜÂ@ñ×ÂÀŽÝÂ`9ÙÂ@ñ×ÂÀóá .à ÉÛ€ÖÂ@ñרÞÂÀÛÂàÐßÂÀAÕÂ`Þ xó …ÜÂàÓÂ@÷Ö€uÜÂ`-ÛÂ@\ÛÂOØÂÞÕÂ`'Ü ”Ï mà РPРÝÂ`žÝÂà¸ãÂÀ¾Õ ðßÂÀ¬ØÂ ÕÙ Ü ÙÂØÖ ÚÂ`-Û ¯ÕÂ`€â —Ù€«Ó€Ú jÖÂÀ/ØÂ@ÑÂ`'Ü óÔÂ[ÖÂÀ;Ö€ìÝÂ@VÜ ã€Ôá pÕ€oÝÂà›ÓÂ`ìЀuÜÂàGဠـÚÂÀšÛÂ@bÚÂàYÞ üÝÂàqÚÂ`3Ú UäÂÏÂÀîÍ >ÓÂÀÄÔ ‘ÚÂÀÛÂÀÄÔÂ@hÙÂàeÜÂ@Õ€.ÓÂàwÙ€ØÂ@ßÚ d×ÂÀ)ÙÂ@ÕÂ@¤Ï€ìÝÂ`°ÚÂ@nØÂ`¼ØÂÀ/ØÂ€Úà€9æÂ Û€þÚ€ÚÂ`'ÜÂÀdäÂÀÝ€oÝœàÂ@VÜ ÝÂaÕÂðÒ pÕÂ`ÔÔÂàÔÂÀÐÒ ¯Õ vÔ £× d×ÂàqÚÂÀGÔÂ@!РLÛÂÀÚ ‹Û ÃÜÂÀYÑ€“×Â@ÓÂÀ5×ÂÀšÛ€RÍ jÖÂOØÂÀÈÂàBÍÂÌØÂ€òÜ ½ÝÂ`‡Ì€±ÒÂàwÙÂÀŽÝÂ@€ÕÂÀ5×Â1ÝÂÀÊÓÂÌÂÀ_ÐÂU×ÂàeÜÂ`WÔÂ@ ÔÂ=Û ‹ÛÂÀ|à€ŸÕ íÕ ‹Û …Ü ‹ÛÂ`÷ãÂIÙÂà}ØÂ@JÞÂxæÂÀíâÂ@ÓÜÂ`ßÂàSßÂ`¤ÜÂ@ßÚÂ`?ØÂ@&ä€ìÝÂ@»à [ã ÏÚÂ`Œà€ÚÂ`9Ù sßÂ@Õ Ù€oÝÂÀ¸Ö "âÂÀÖÑÂ`ìÐÂ`KÖÂÀ ÞÂà_ÝÂ@DßÂðÒÂà$Ò ©Ö€ØÂ@ëØÂ€¥ÔÂÀ)ÙÂ`ÔÔ€™ÖÂÀ¸ÖÂàÕÂÀ/ØÂÀùàÂÀÚÂ@t×Âà³Ï ^ØÂÀ)Ù XÙÂ=Û |ÓÂ@ÙÛ LÛÂÀù࠱ߠÞâÂ1ÝÂ@\ÛÂ1ÝÂÀùàÂ@æÂ` áÂIÙ€-èÂÀáäÂÀÝÂà5ä€ÖÂÀÄÔÂ~åÂ@êÂ`ßçÂàèÂÀáäÂ`VéÂ@nØÂà}ØÂ ÕÙÂÀíâÂgÔÂÀèÎÂ`˜ÞÂ`ýâÂàÜÝ€{ÛÂOØÂ€ØÂ€àß ã yÞ FÜÂU× ðßÂ@åÙÂÀSÒ€× Uä€uÜÂàkÛÂÀÛ´ÜÂ+ÞÂ`-Û€“×€“×ÂÀÛÂØÖ ÙÂàÐßÂ`9Ù€¼åÂ`oÐÂØÖÂ@ñ×€{Û sßÂaÕ€þÚÂÀ‚ßÂ`°ÚÂ@ÙÛÂÀšÛ ¥á€cß .àÂàwÙÂ@ÓÜÂàÓ ùÓ »Ó ‹Û 4ßÂ@zÖÂ@ßÚÂàGá®Ý€þÚÂ@åÙ®ÝÂ`!ÝÂàqÚÂ`ÎÕ Ú€ØÂÀšÛÂà|퀙ÖÂà›ÓÂ@ÍÝÂÀ¦ÙÂÀ¸Ö Þâ á×Â`'Ü€òÜÂÀÝÂÀˆÞÂÀ#Ú åÂàƒ×€æÞÂ`÷ãÂÀŽÝ  ÑÂ@ÓÜ ÉÛ ‘ÚÂ`òÏ µÔ ÃÜÂ@ÙÛÂ@€ÕÂà0ÐÂ`Â×Â` á 4ß®ÝÂ7Ü óÔ "âÂ`˜ÞÂàÖÞÂàeÜÂÀÛÂÀ#ÚÂ`àÒÂäÔÂ`KÖÂ`ßÂÀAÕÂÀ”Ü€9æÂ€·Ñ ‹ÛÂÀ¬ØÂ@ßÚÂ@©ã€ÖÂ`žÝÂ@€ÕÂÀ|à€×€“×Â@ëØÂàqÚÂ`!ÝÂÀÏç£ÊÂÀeÏÂ`zãÂÀúËÂ`«ÆÂ@ñ× ØÂàÓ |Ó ™ãÂ`zã (á ã ÓÏÂ@ÕÂ`Þ FÜ€ØÂ`\èÂ@µáÂàeÜÂ`Â×ÂÞÕ 4ß vÔÂàMàÂ7ÜÂàèÛ€æÞÂ`¶ÙÂÀóáÂ@PÝÂ@t× 2ÕÂ@3Í ÏÚ€¥Ô ©ÖÂÀMÓÂÀSÒ€’ì "â€àßÂ7Ü óÔ€WáÂÀÛ ÙÂàGá€4Ò …ÜÂÀ ÞÂà‰ÖÂ`9Ù€@РRÚÂ`¤ÜÂ@zÖÂ@zÖÂäÔÂ`QÕÂ@ÓÜÂÀÚ ÙÂÀ߀-èÂ1ݮݠ‹Û óÔÂÀŽÝÂÀÜ€×Â`3ÚÂàqÚÂÀSÒÂ@\ÛÂàØÂ„ä ðß ©ÖÂàÔ€"Õ€QâÂàkÛ´Ü çÖ€×Â@µá€{ÛÂCÚ ©Ö€øÛÂàâÜÂ@ÙÛ ÕÙ «àÂà}ØÂ`ÞÂ`âÂÀ Ú «àÂà ÖÂ`ßç &× —ÙÂ ÆæÂÀˆÞÂ@>à pÕ åÂà²ä ½Ý ^ØÂÀ¸ÖÂÀ¾ÕÂà¸ã çÖÂÀˆÞºÛÂÀ Þ ·Þ :Þ€¼åÂ`€â ÉÛ€{Û ÏÚ ÝÂÀÛ &×ÂÀ ÞÂÀÜÐÂ`¶Ù µÔ€EäÂ@ÇÞÂàîÚÂÀÛÂ@JÞÂ@ÓÜÂ`WÔÂ@JÞÂÀGÔÂÀÚÂàÕÂ`¶Ù µÔÂ@€Õ€øÛÂsÒ€ÏÍÂØÖÂ`ÎÕÂ@÷Ö€ØÂ€]àÂ@¤ÏÂÀ¬ØÂ€Ú€ÉÎÂ`˜Þ€çÉ 2ÕÂÀ²×ÂÀSÒ€4Ò€{ÛÂ`'Ü vÔ d×Â7ÜÂ`]Ó ÙÂ@€ÕÂÀÊÓ ÇÑÂ`ÈÖÂÀk΀àßÂ@\ÛÂ@?˺ÛÂ@bÚÂÀ5×Â`{ÎÂÀ;ÖÂÀ ÚÂ@JÞÂ`¤Ü€uÜ VÏ€×Âà‰ÖÂaÕÂÀGÔÂà*ÑÂ@bÚÂ@’Ò ùÓÂ`ªÛÂ@€ÕÂ`’ßÂ@å٠٠ÉÛ€ÚÂÀ)Ù XÙÂ@?ËÂÀËÂ`ÔÔÂÀ/ØÂ ùÓ€ØÂ ùÓÂ`òÏÂöÑ ½ÝÂà›ÓÂ`Â×ÂÀ¦ÙÂ@ Ô @ÝÂÀÖÑ ‘ÚÂÀ)ÙÂà6ÏÂà×ÂÐÂ@bÚÂÀYÑ RÚÂÆÙÂ`WÔÂðÒÂ`ìÐÂÀîÍÂ[ÖÂ`¼ØÂ€¥ÔÂàíï€c߯Ȁ{ÛÂ@ßÚ JÑÂyÑÂÀÖÑÂ@žÐÂÞÕÂ@˜ÑÂ`Ë ©ÖÂ@ßÚ —ÙÂÀá䠽ݠóÔÂ@¶Ì &×ÂÒ×Â`ªÛÂ`°ÚÂ`]ÓÂ@t×ÂÀMÓÂÀ|àÂÀ”ÜÂ`àÒ€øÛ ÓÏÂàãÇ ©Ö‹Î Û áרހØÂÀ¾ÕÂ@JÞÂà¸ã€þÚÂàôÙºÛ öÞÂ`–×Â@°ÍÂÀ¦Ù ½Ý€@ÐÂ@!ÐÂ@hÙ ÈÂ`]ÓÂ@3ÍÂàØÂ€‡ÙÂ@cÅ€™ÖÂàeÜÂàkÛ ÁÒ DÒÂà‰ÖÂ`àÒÂOØÂ@Ó ÇÑÂ`¶ÙÂ`òÏÂgÔÂà Ö ÓÏÂÀ}ËÂÀ²×Â@˜Ñ€ÃÏÂ`¤Ü€{Û RÚ ÍÐÂàîÚÂ`?ØÂàGáÂ[ÖÂÀÛÂ@€ÕÂà×ÉÂ`-ÛÂà­ÐÂ`¶ÙÂ@VÜÂÀ#ÚÂàeÜ |ÓÂäÔÂ`?ØÂÀÄÔÂÀpâÂÀdäÂÀúËÂ`E× üÝÂOØÂ€× LÛÂU× &× ÕÙÂàÕÂ@&ä¢ß€:ÑÂ@ÕÂ ÛØÂ@ýÕÂ@ßÚÂÀ”ÜÂ`âºÛÂÍ€‡Ù€×ÂÀ#ÚÂ`ÈÖÂ`'ÜÂêÓÂáÂàƒ×ÂÀ¬ØÂ@ÍÝÂ@åÙÂ@zÖ Ý LÛÂÀÊÓÂÀŽÝÂÀŽÝ …ÜÂ@ßÚÂÀúËÂàqÚÂ@ñ×Â`°ÚÂ@åÙÂ@>àÂÀ5×Â`€â mà€òÜÂ@†Ô êàÂàÅÌÂgÔÂ`¤ÜÂÀÝÂ@ÍÝÂ`ÞÂ`ŒàÂÀ5×€QâÂ@»à€oÝ —ÙÂ@ÍÝ —Ù ¥á uéÂÀváÂ@µá ØÂ@µá ‹ÛÂàÖÞÂàôÙÂàØÂàYÞÂàkÛÂ@ÍÝÂ@ëØÂÀ/ØÂ sßÂÀùà ŸâÂÀ#ÚÂàMàÂÀíâÂÀ"ï XÙ OåÂàSßÂÀ¦ÙÂ`9Ù FÜ OåÂ`3Ú UäÂ`âÂ@ÙÛÂ`>íÂÀj〇٠«àÂ@…éÂàÖÞÂõæÂÀáäÂàÜÝÂ`÷ãÂ@åÂ@ÓÜ 8Ô€9æÂÀˆÞÂ`ÍêÂÀ|àÂ@t×Â7Ü ãÂÀùà ÚÂàÊàÂÀ¦Ù¨ÞÂ`bçÂÀváÂ`täÂäÂâ OåÂàAâÂÀRçÂ`ªÛÂÞÕ€þÚÂàÖÞ ÕÙ öÞÂÀ¦Ù æëÂà#çÂà_Ý 4߀Kã€æÞÂ@CôÂàMàÂ@8á„ä —ÙÂ`°ÚÂà•ÔÂ@8áÂ@µáÂ@DßÂÀ¾ÕÂ`ªÛ pÕ ©Ö€×ÂÀ ÚÂÀÛÂÀ¦ÙÂ@\ÛÂ@JÞ 4ßÂOØÂ€¥Ô€þÚÂ%ßÂ`°ÚÂ`Â×Â`Â×Â@2âÂ@\ÛÂ@÷ÖÂ`ÍÂIÙÂ@ýÕÂÀ”Ü »Ó€Ú 4ßÂÀ¦ÙÂàÄáÂ@8á€(Ô pÕ >Ó€ÚÂ@nØÂ »Ó d× 2ÕÂ@ÇÞÂàkÛÂIÙÂ`tä€òÜ ŽÐÂäÔÂà‰ÖÂãéÂ`òÏÂà•Ô ÙÎÂÀYÑ€×ÂÀ²×Âà$ÒÂÀ;Ö ‹ÛÂ1ÝÂ`¤ÜÂà­ÐÂU× ÝÂà¡Ò€øÛÂàâÜ 4ß LÛ ÇÑÂIÙ€.Ó ÜÂ`òÏÂ`“Ê€‡ÙÂ`¼ØÂÀÜÐÂÀÖÑ€«ÓÂ@¤Ï€ØÂaÕÂ`ìÐÂàƒ×Â1ÝÂÀ#ÚÂ@ñ× vÔÂà ÖÂ@Ñ >ÓÂ`9ÙÂ`¶ÙÂ`ÈÖ€‡Ù vÔÂ@>àŠãÂÀ¦ÙÂÀÜÂà Ö ¦ÌÂÀwÌÂ`¶Ù—Ì€ ÙÂàƒ×‘Í€áÊÂ`@ÀXÌÂÀƒÊÂ`àÒ€½ÐÂÀÜЀÏÍ ÝÂ%ßÂ@ŒÓ€¥Ô ýÈ‹ÎÂÀÛ‘Í€(ÔÂР£×€×Â@ßÚÂàGá FÜÂÀÐÒÂà›ÓÂ`¤ÜÂàYÞ ”ÏÂàwÙÂÀwÌÂÀAÕ LÛÂ@nØÂÌØÂ@ŒÓ€±ÒÂà$Ò€.ÓÂÀƒÊÂ`cÒÂOØÂ ÛØÂ óÔÂàúØÂ ÓÏÂÀÜÐÂ@zÖÂÌØÂ@ýÕ  ÑÂàkÛÂ@ ÔÂ`!ÝÂÀÜÂ`Â×ÂÀÜÐÂР#ÍÂ`ËÂ@?ËÂÀ ÞÂà×ÂÀváÂ`þÍÂyÑ€±ÒÂüÐÂà”éÂ`-ÛÂ`iÑ Òä®Ý LÛ®ÝÂ@\Û€æÞ ©Ö üÝÂ`žÝ€«ÓÂ@µáÂaÕ€"Õ &× óÔÂÀÊÓÂ`WÔÂàƒ×ÂÀíâ á× çÖ´ÜÂCÚÂàîÚ€Ú óÔºÛÂÀÜÂàÐßÂ@ñ×Âà$ÒÂ`àÂÀ¾Õ€ÃÏÂàÜÝÂüÐÂ`9Ù€"ÕÂÀˆÞ ãÂàÄáÂà$Ò ÉÛ€{ÛÂÀ ÚÂàîÚ Øã «àÂ`9ÙÂÀ#ÚÂ@bÚÂ`÷ã ÃÜÂ@ÓÜÂàeÜ€ÚÂ@PÝ sß á× :ÞÂÀ ÞÂ@nØÂ@zÖÂ+Þ€]à€ÚÂáÂ`E×Â@ŒÓÂàeÜÂà×Â`ÎÕ &× ÞâÂÀßÂOØÂ€þÚ @ÝÂàSßÂ`?ØÂ€òÜÂOØÂà¡ÒÂÀˆÞÂàÜÝ Þâ µÔÂ+ÞÂäÔÂ`æÑ€iÞÂ`ªÛÂà 4ßÂûåÂäÔ€ØÂ€“×ÂÀ¬ØÂ`¶Ù çÖ ÓÏÂÞÕÂ@t×€cßÂÎÂÀ)ÙÂ`žÝ ã "âÂäÔ€“רޠXÙ »ÓÂ@8áÂÀeÏÂÀ¸Ö aâÂÀ¾Õ óÔ pÕ vÔÂ@nØÂ@ŒÓ€iÞ€]àÂÀwÌ £×€þÚÂ@nØÂà}ØÂ@ÑÂ`Â×Â@>à @Ý  ÍÂêÓÂ@€ÕÂ@DßÂ`’ß á×ÂÀ)Ù »Ó d×ÂÞÕ€iÞÂÀÄÔÂ@hÙ …ÜÂÀßÂ@VÜ€·ÑÂ@†Ô®ÝÂÀváÂ`Œà …ÜÂÀÛ€æÞÂàšè´Ü Ý ÇÑ XÙÂ@ëØÂÀŽÝÂà•Ô ¥áÂÀÛÂ`\èœà üÝ€ÚàÂÀ‚ßÂ`˜Þ RÚÂ1Ý€c߀ØÂ ÝÂ@Dß ØÂàMà€àß màÂ+ÞÂ@ÍÝ £×Â`àÂÀpâÂâ€.Ó€ØÂ`Í€™ÖÂ`3ÚÂÀ|àÂÀ/ØÂ ÉÛ mà jÖÂÞÕ€XÌ€Ú å ÍР,Ö¨Þ ¥áÂÀ¬ØÂ@?ËÂÀîÍ äá€uÜÂàÕÂ@ÇÞÂØÖ …Ü€ìÝ€þÚÂÀ;Ö€ ÙÂûåÂ@zÖ€{ÛÂ`KÖÂàÐßÂÀMÓÂÀkÎÂàÅÌ öÞÂ`'Ü€·ÑÂ@ŒÓÂêÓÂ@VÜÂàÐßÂÀÜÂ`cÒÂ@2âÂ@÷Ö 8ÔÂÀ;ÖÂà$Ò€(ÔÂ7ÜÂ@—æÂâ€?候ÖÂ`?ØÂÀÝ µÔÂðÒÂ@ÇÞÂ@ëØÂ`ìÐÂ@8áÂÀ;Ö€ÂäÂ`3ÚÂ`WÔ á×ÂäÔ ©ÖÂ+Þ Ü µÔÂ@ñ×Â ÛØÂÀ²×€‡ÙÂàqÚÂ@ÙÛ€æÞÂÀYÑÂ@ÕÂ`‡ÌÂ@Ó€(ÔÂsÒÂ`°ÚÂ@ñ×Â`?ØÂ`]ÓÂ@†ÔÂÀ¦ÙÂÀÐÒÂÀÄÔ–á XÙ¨ÞÂ+Þ Û€ÈãÂÞÕÂÀ¬ØÂ€Qâ üÝÂÀšÛÂ`Þ ©ÖÂÀ#Ú gá ÕÙ mà 2ÕÂ`ÞÂÀšÛÂà0ÐÂ`Â×Â@nØÂàèÛÂà§ÑÂ@ýÕÂØÖÂ[ÖÂIÙ€ØÂºÛ€Kã€ØÂ€ÚÂ`E×Â@åÙÂ@VÜÂ@\Û aâ RÚ d×ÂÀ²×€Ö äá ·ÞÂàâÜÂ`°ÚÂà¸ãÂ@t×Â@PÝÂ1ÝÂ`àÒ€jÉ Ò 8ÔÂ…ÏÂgÔÂàÓÂàÕÂ`nå LÛÂàÅÌÂ`QÕ®ÝÂàúØÂØÖ £×€ÖÂÀ)Ù d× Ï ^ØÂ€øÛ€ÃÏ üÝÂØÖÂà¡ÒÂ`ÚÓ Ë ˆÑÂà<ÎÂ`žÝÂà¹Î€.ÓÂ ÛØÂ`cÒÂàeÜÂ@nØÂ ¯ÕÂà_Ý d×€æÞÂ@ÓÂ`æÑÂ@hÙÂ@˜ÑÂÀúËÂÀ$Å &×ÂCÚÂ`ßÂÀŽÝ ÞâÂ`]ÓÂà<ÎÂ%߀EäÂÀÜÂ`ÎÕÂÀkΠóÔÂ=Û€ŸÕ€(ÔÂР‚Ò ØÂ@†Ô€L΀ØÂ VÏÂmÓÂ@ªÎÂÀÝÂ`ÔÔÂ@zÖ€4Ò ©ÖÂÀÖÑÂ@ýÕ hÌÂöÑÂ@nØÂÀ_ÐÂÀÊÓ vÔÂ@ñ×€.ÓÂ`oР2Õ µÔ á×ÂÀË€½ÐÂ@°Í€‡Ù @ÝÂ`'ÜÂàÕ€RÍÂÀeÏÂgÔÂØÖ€¥Ô VÏÂÐÂ`òÏÂÀ#Ú ØÂ€«ÓÂÞÕÂ@ªÎÂàÕÂ@ÙÛÂ`ÔÔ ÓÏÂà¡Ò 8ÔÂÀèÎÂàqÚ 2Õ€½ÐÂàÕ žÃ ÇÑ >ÓÂ@÷ÖÂ@€ÕÂ@¶ÌÂ@ ÔÂÀÖÑÂÀ²× £×ÂàîÚÂ@!ÐÂÀ¾Õ€ØÂàqÚÂ`QÕ ”ÏÂЀXÌ  ÑÂàÔÂÀ¦ÙÂ`ªÛÂàîÚÂ`àÒÂà ÖÂ@ªÎÂ@¶ÌÂà§Ñ FÜ 4߀¥Ô€·Ñ€ØÂà¹Î‘ÍÂ`ÍÂ@ýÕ  Ñ 2ÕÂ@\Û€×€«Ó ^ØÂöÑ€‡ÙÂÀ5×Â@PÝÂÀ#Ú€±ÒÂàwÙÂ@Ñ RÚ ÏÂ@¤ÏÂÀGÔÂÀƒÊ ñÊÂà›ÓÂÒ× :ÞÂ7ÜÂÀÐÒ ÙÎÂ`æÑÂ7Ü pÕÂÀSÒ DÒÂàTÊÂÀwÌÂà‰Ö€{ÛÂ[ÖÂ`òÏÂÀAÕ ÇÑÂaÕ ˆÑ€FÏ \ÎÂÐÂ@?Ë GÇ ˜ÄÂ@’ÒÂ@-ÎÂ`!Ý ©Ö XÙ PЀ½ÐÂ@ ÔÂÀ¸ÖÂ`E×ÂÀÊÓÂ@ÓÂà•Ô ½ÝÂÀ¸Ö »Ó—ÌÂÀeÏÂÀÜÐÂ@ ÔÂÐÂàÕÂÏÂР8Ô )ÌÂ@nØÂÞÕ—ÌÂ@ªÎ óÔ€àßÂÀÜÐÂÀYÑ©ÉÂ`E× ùÓ  Í ØÂà6ÏÂ@ªÎÂ@Ò á×Â@†ÔÂ…ÏÂà§ÑÂÍ€ Ù€{ÛÂà§ÑÂ`9ÙÂ`Â×Â@ ÔÂ@÷Ö ÏÚÂ@€ÕÂ@Ò€@ÐÂgÔÂ@t×€:ÑÂ`9Ù šÎÂÀÐÒÂ@nØÂ`ÎÕÂ@ÓÂàƒ×ÂÀSÒ ÛÂÀÖÑÂÀYÑÂà•ÔÂ@ëØÂÀ¦ÙÂà²äÂ`'ÜÂà¡ÒÂà§Ñ êà ÓÏ îÀÂU× ÚÂà*ÑÂàqÚ yÞÂaÕÂ@ÇÞÂÌØÂ@žÐÂ`æÑ ,Ö€.ÓÂüÐÂ@°Í€øÛ€“×Â@bÚ @ÝÂà Ö »ÓÂ@ ÔÂ`˜ÞÂÀ/ØÂÀ¬ØÂ XÙÂÀÜÂU×Âà×ÉÂà¡ÒÂÀ}ËÂ@JÞÂ`]Ó ÝÂàÜÝÂà6ÏÂÀMÓ ÉÛÂgÔÂ@-ÎÂÀèÎÂ@ÔÇÂÀeÏÂàkÛ VÏÂ ÛØÂÆÙÂêÓÂ@Dß ^ØÂ@ ÔÂ@ßÚ€ŸÕÂàîÚÂÀÚ JÑÂÀÜÂÀ/ØÂmÓÂ@åÙÂÀÚ€ ÙÂàqÚ Ù΀øÛÂ`?ØÂ ‚Ò ˆÑÂÀkΠÏ ÙΠ,ÖÂÀÜРÝÂ@ÓÂÀeÏ€.ÓÂ~åÂ@°Í |Ó LÛ £×Â@ÙÛÂÀÐÒÂà¹ÎÂÀ‚ß ¥á 2Õ ßÍÂ@ÒÂÀÊÓÂOØÂ ÙÎÂ`ìÐÂ@’Ò€Ö€{Û JÑÂà<ΠÐÂàèÛ ™ãÂ`ÈÖÂÀAÕÂ`ËÂÌÂ@ÑÂ`ªÛÂ@JÞ€Ú€ØÂà³ÏÂà§Ñ —Ù€ÏÍÂ`E×ÂÌØÂÀÊÓÂ@cÅ€ÃÏÂ@’ÒÂ@˜Ñ€½Ð )ÌÂà*ÑÂà‰ÖÂà}ØÂ@ÎÈÂà ÖÂÀMÓ€±ÒÂyÑÂÀYÑ€ŸÕÂ@˜ÑÂaÕÂ@Ó€ÛË vÔÂ@hÙ íÕ ÚÂÀÊÓÂÀ#ÚÂàÔÂÀMÓÂØÖÂÀÄÔ–áÂ@†ÔÂ…ÏÂéèÂ@ÍÝÂåÂ`¤Ü ÃÜÂÀÿßÂ`òÏÂ`àÒÂàwÙÂÀˆÞ öÞ€oÝ LÛ€æÞÂêÓ ½Ý ¯ÕÂ`žÝ çÖÂðÒÂmÓ ½Ý (áÂ@PÝÂ` á ÙÂà¾â ÜÂÀß (á€òÜÂ@bÚÂ@ñ× çÖ «à€¥ÔÂÀÿßÂ%ßÂÀÛÂ`¤ÜÂêÓÂÌØÂ…ÏÂÆÙ ÙÂàÕÂÀÜÐÂÀ ÞÂ@µáÂ`n倨Â@ÇÞÂâ€.ÓÂàâÜÂ`'ÜÂ@bÚÂ@ÓÂ`?ØÂ`ŒàÂÀpâÂÀ¾Õ d×ÂàGá€ÚÂÀ¬ØÂÀÛÂàúØÂ`KÖÂ@ýÕ ‘Ú ØÂ`ßÂIÙ .àÂÀ¾Õ ÕÙÂÀÛ jÖ€¥ÔÂÞÕÂ@nØÂ jÖÂÀîÍÂ`ÎÕÂ`KÖ öÞÂà¦æÂ`øÎ ÍÐÂ`QÕ jÖÂ@bÚÂsÒ€"Õ€ÕÌÂ`¼ØÂÏÂ,ÉÂÀÊÓÂÀùàÂà ÖÂ[ÖÂàâÜÂàâÜÂ@>à€uÜÂàØÂ=ÛÂ`¶ÙÂU×Â`òÏÂüÐÂÀ‚ßÂÀ¾ÕÂ`†áÂàÂ@VÜÂàâÜ óÔ ØÂ®ÝÂ`!Ý€ØÂ JÑ ÙÂ@Õ€“×€Ú mà d×€ìÝ€Ö >Ó yÞ d×ÂàGá gáÂà}ØÂ€ÚÂ@€ÕÂà_Ý ØÂ çÖ€™ÖÂÀ¸ÖÂÀ5× FÜÂÀßÂ`9ÙÂÀ”ÜÂêÓÂ`{ÎÂÀÊÓÂ@!ÐÂgÔ€™ÖÂÀÄÔ ÒÂÀSÒÂ`KÖ FÜÂàqÚ  ÑÂÀ¦Ù ÍÐÂCÚÂ@!ЀÏÍ€ÖÂ`?ØÂÀMÓÂÀAÕ {è ÏÚÂ@éÂ@»àÂ@hÙÂÀÐÒÂàƒ×Â=ÛÂ@ÒÂàÕ gáÂÀÚÂ@JÞÂÀ²×Â`°Ú€Ú å ØãÂ`3ÚÂÀ5× ðß þçÂàkÛÂ`>í€àßÂ@2âÂ1Ý üÝÂàwÙÂ`ÞÂÀdäÂ`!Ý [ãÂ=Û öÞ á×Â@Dß ½ÝÂ@8áÂ`žÝ ‘Ú ¥áÂÀÐÒÂ@Ò€ØÂ ^ØÂÀŽÝÂ`†áÂà/åÂÀ5×Â[ÖÂ`ªÛ óÔÂ`¶Ù€ ÙÂÀÚÂ@t×Â`†áÂàúØÂ`ªÛ ØÂÀÛÂ@ÇÞ ‘Ú dנπÖÂ`E× µÔÂàúØÂ€ ÙÂà ÖÂ`?ØÂ`¶Ù µÔ ¦Ì óÔÂàØÂ€WáÂ`˜Þ ØÂàMà€uÜ€oÝÂà0ÐÂ`˜ÞÂà¾âÂ`ñäÂÀpâÂÀjãÂàkÛ XÙÂà®Ý€™ÖÂÀLè ðßÂÀ¦ÙÂ@ÇÞ€uÜ AÈ ÕÙÂ`àÂåÂ@\Û ØÂÀGÔ€þÚÂÀßÂÐÂÀÝ ç֠〠ÙÂ`Þ€oÝÂÀÚ ÚÂ=ÛÂÀ”ÜÂgÔÂ@JÞÂ` áÂÀjãÂÆÙÂØÖÂ`WÔÂ`ªÛ€ØÂ`Â×Âà§ÑÂ`-ÛÂÀÛÂ`æÑÂ`WÔÂ`cÒÂ@zÖ€¥Ô FÜÂà¦æÂ>ÆÂ`iÑÂàØÂ€ØÂ€‡Ù €È€4ÒÂ@€ÕÂ`æÑ€Ö ˆÑ€XÌÂ`àÒÂ@ÑÂØÖÂ@€ÕÂ@÷ÖÂàGá ÿÒÂ`QÕÂÀ¾Õ ©Ö€ ÙÂ`oÐÂÀ¸ÖÂÀ²×ÂÀÊÓ íÕ€:ÑÂ`iÑÂ@÷ÖÂgÔÂ`ÎÕÂÀ¸Ö ‚ÒÂÀ_ÐÂàBÍÂà¹Î ßÍÂàîÚÂÀâÏ€4Ò ÿÒ ÕÙÂÀÄÔÂ@'ÏÂ`oÐÂÀËÂðÒÂ`cÒÂ`òÏÂ@ÓÜÂ=Û 2ÕÂÀGÔÂà0ÐÂÀ¾ÕÂÀèÎÂgÔ ©ÖÂ@bÚ #ÍÂ`ŸÈ \Πá×Â@t×€X̺ÛÂÀîÍÂÀ¬ØÂÀ”ÜÂÏ€À‡ÙÂ`ìÐÂ@t×ÂüÐÂ`ÚÓ Ï vÔ€:ÑÂÀSÒÂ`oРΑÍÂÀÛÂÀeÏÂÀSÒÂ`ÍÂ@ÒÂà<ÎÂ`ìÐÂÀ‰É€ÃϠ܀(ÔÂ@ªÎÂ[ÖÂ`KÖ€«ÓÂ`æÑ ‘Ú€^ËÂÌØÂ@æÄ DÒ€¥Ô€™Ö ßÍ ÉÛ á×Âà×Â`oÐÂÀÚ€þÚÂÀMÓÂ@¤ÏÂ@ÓÂà³ÏÂIÙ€ÉÎÂÒ× ÐÂ@ Ô€±ÒÂ` á jÖ DÒ€ÎâÂ`cÒÂ@3ÍÂÀËÂàôÙ€øÛ€"ÕÂ`¤Ü RÚÂØÖÂCÚ€.Ó©É »Ó çÖÂ@ŒÓÂÞÕ ÇÑÂÐÂà‰Ö€iÞÂmÓÂ`iÑÂ@†ÔÂgÔÂàSßÂ@VÜÂÀÜÂ`WÔÂ@t×€òÜ …Ü ÏÚÂ@ëØÂ ‘ÚÂØÖÂ@2â ÛÂ@9ÌÂÀˆÞÂ@8áÂ@ÓÜÂ[Ö ¦ÌÂà›Ó€.Ó »ÓÂ`QÕÂmÓÂÀGÔ€ŸÕÂ@’Ò€(ÔÂ@ŒÓÂàØÂIÙ RÚÂÀ/ØÂÆÙÂ@°Í pÕÂÀÄÔÂ`QÕÂ@VÜÂÀ¬ØÂ 8ÔÂ@‹è íÕÂÀpâÂà¦æÂ@»àÂàeÜ d×€ŸÕ€×Â`!ÝÂàîÚÂ`¤Ü€ìÝ€ ÙÂ@ ÔÂÀ²×Â@\Û á× ÙÂ ÛØÂ ðßÂàMà€·ÑÂà‰ÖÂ%ßÂÀÿßÂ`ŒàÂ@µáÂ@‹è yÞ sßÂ@€ÕÂà­ÐÂÀqÍÂàÕ®ÝÂ`!ÝÂ`9Ù &× d× ¯ÕÂàqÚÂà_Ý€‡Ù äá–áÂÀáäÂÀšÛ òéÂ@nØÂÀÚ 8ÔÂÀ¦Ù çÂÀ|àÂ@bÚÂ`Â× &×ÂàôÙ ‚ÒÂ`¤Ü ^ØÂà•ÔÂàÜÝ€òÜÂÀÕæÂ`ªÛ€KãÂ`†áÂàÄá€þÚÂÀÚ öÞ€"ÕÂ`WÔÂ`{ÎÂ@t×Â@ÍÝÂàÖÞÂÒ×Âà¡ÒÂ=ÛÂ@2âÂ`Â×Â@ßÚÂðÒÂàBÍÂ`WÔÂà§ÑÂ`’߀Ö€«Ó ÏÂ@?Ë€@ЀRÍÂàqÚÂ@¶Ì€4ÒÂ@€ÕÂ`oÐÂ1ÝÂ@÷ÖÂРˆÑ€ÉÎÂÀ¬ØÂàwÙ 2ÕÂà×ÉÂU×Â@VÜÂÀíâÂ`°ÚÂÌØÂ ±ßÂÀâÏÂ@ñ× óÔÂ@KÉ€:Ñ€ÚÂ@VÜÂà¡Ò ØÂ`æÑÂàÕÂÀÐÒÂ@hÙÂÀâÏ€RÍÂÀ¾ÕÂÀ/ØÂ |ÓÂÀèÎÂÀ;Ö€FÏ€×ÂêÓÂ`ÚÓÂ`KÖ‹ÎÂÀÜРÕÙ |Ó€ØÂ`3ÚÂÀ5× #ÍÂ@˜Ñ€LΠvÔ ¯ÕÂà‰Ö ˆÑ pÕ  Í »ÓÂÀèÎÂ@ÒÂÀ;Ö ¾ÈÂ`ªÛÂ@'Ï€ŸÕ ÓÏ€RÍÂÀÖÑ€:Ñ 8ÔÂÀè΀ØÂ€ÏÍ ÏÂÀAÕÂ`9ÙÂ`ÎÕÂ@Ñ€RÍÂÀSÒÂÀÖÑÂ`Ë PÐÂ@Õ µÔÂàËËÂÀîÍ »ÓÂÀ²×Âà§ÑÂ@÷Ö d×€“×ÂÒ×ÂÀqÍ€4Ò€vÇÂ`ÊÂà×É Ï çÖ |Ó€¥ÔÂðÒÂyÑÂ+ÞÂÀÜÂ`iÑÂ@ëØÂÀMÓ€«ÓÂÒ× …ÜÂÀâÏÂàâÜ€ÕÌÂÀ5×ÂÐÂÌÂ[ÖÂ@¼ËÂ@ӣʀøÛÂÀÜ tÊÂäÔÂ ÛØÂà×ÂàSßÂ@nØÂÀ”ÜÂà­Ð |ÓÂ@ÚÆÂ zÉ€ ÙÂ@€ÕÂÀÐÒÂ@ ÔÂÀÄÔÂsÒÂ@ÈÉ AÈÂÀÈÂÀeÏ€½Ð €È ”ÏÂ`oÐÂöÑÂ@åÙ€‚Å€ÉΠÆÂ`¥ÇÂ`ÉÂÍ ÓÏ€™ÖÂ`oÐÂÀ;ÖÂà*Ñ ßÍ€×€4ÒÂ`KÖÂmÓÂàõÄÂ@oàåÌ ÎÂ@÷ÖÂ`±Å ŽÐ ÓÏÂÎÂàËËÂÀ§ÄÂ@WÇ pÕÂà‰ÖÂ@ÒÂà¡Ò ÇÑÂäÔÂ@ŒÓ ÇÑÂ@ÔÇ€ÅÂÀT½Â`ËÂÒ×ÂÀîÍ€ÖÂ@åÙ€RÍÂà$ÒÂ@ªÎ 5ʵÇÂ` ÌÂ@àÅ ýÈÂPà»Ó ”ÏÂ`ËÂ`àÒ€çÉ  Í zÉ ÖÄÂàÅÌÂÌÂ@¤Ï ¯ÕÂÀèΠóÔÂÌÂ@ìÃÂà‰Ö Ï åÌÂ`™ÉÂ@¼Ë£Ê »Ó 8ÔÂüÐÂÒ×Â`øÎÂÀúË ÇÑÂà¹ÎÂàÝÈÂ@9Ì€"ÕÂÀÚÂÀ¡Å RÚ€ØÂ`ìÐÂÀ¦Ù ©Ö Ѐ«Ó £×ÂÀšÛ€iÞÂsÒÂ`øÎÂÀ#ÚÂÒ×ÂÀ•Ç€½ÐÂ@!ÐÂÀÜ Ù€FÏÂ@3ÍÂÀ‰ÉÂÀ›ÆÂ@åÙÂÒ×Â@°ÍÂÀƒÊ€4ÒÂ@'ÏÂàfÇ€øÛÂà³Ï JÑÂà`ÈÂöÑ€±ÒÂÀ)ÙÂÀâÏ€½ÐÂà§Ñ€FÏÂ…ÏÂðÒÂàÅÌÂ@ñ× ¯Õ RÚÂ@¤ÏÂÀúË€RÍ çÖÂ`øÎ 2ÕÂ`?ØÂÀ5×Â@3Í PÐÂÀGÔÂÀMÓ¯ÈÂà×ÉÂ`ÔÔ PР)ÌÂà•Ô ÍÐÂ`øÎÂÀMÓÂÐÂàƒ×Â`ÈÖ ©ÖÂ@>à ñÊÂ`.ÆÂÀ_РØÂàÔÂàÓÂÀÊÓ >ÓÂ@ÓÂÀÊÓÂÀSÒ ^ØÂÐÂ`oÐÂ`òÏ |Ó pÕÂÀÊÓÂØÖÂ@÷Ö€×ÂÀAÕ€™ÖÂ`E×Â`-ÛÂÀÜ€ Ù€æÞÂ`ìЀ.Ó  ÑÂÀÚ€™Ö .àÂÀAÕÂ@ßÚÂà}ØÂ`‡Ì VÏÂ@ ÔÂOØÂ ©ÖÂàôÙÂ ÛØÂ@\ÛÂÀ#Ú€½ÐÂÀeÏÂ`9ÙÂàâÜÂÀšÛ€uÜÂÀÜÂàÄေҠ.àÂàúØÂ`¶ÙÂOØÂ |ÓÂÀGÔ ØÂ€æÞ€þÚÂà³ÏÂ+ÞÂ`E× @Ý€Ú€¶æÂ` á€]à´Ü ŽÐÂ@ýÕ ŸâÂÀ#ÚÂàAâÂ@ñ× ·Þ íÕÂ@ñ×ÂáÂà;ãÂÀŽÝÂÀÖÑÂ`ÞÂàSßÂÀ ÚÂÀÚ ÁÒÂaÕ màÂ@DßÂÀˆÞ @ÝÂ@JÞÂãéÂÀ¦Ù .àÂà Ö€4Ò LÛÂ7Ü€æÞÂÀßÂà}ØÂÀÚ ½ÝÂàqÚ€{ÛÂÀAÕÂÀ¸Ö€uÜ€uÜÂÀ5× ÓÏÂàwÙ€«ÓÂ@EÊ€½ÐÂÀ¬ØÂ`?ØÂÀˆÞ mࠣ׋ÎÂ@˜ÑÂÀÐÒ ©ÖÂÀ‰ÉÂ`‡ÌÂ`iÑÂàƒ×€{ÛÂÀÚ€(Ô ÙÂ`â€Kã ‹ÛÂÒ×Â@Õ —ÙÂÀšÛÂÀ Þ Û ©Ö ØãÂ@8áÂÀjãÂ`†áÂ`ÔÔ„äÂ`ŒàÂ@t× RÚ íÕ Ú€·ÑÂÀ›ÆÂ  Ñ mà ÏÚÂ@ëØÂà*Ñ LÛÂ@bÚ 4ßÂ`3Ú öÞ€™ÖÂ`KÖÂ@Õ€½ÐÂ`Â×ÂÆÙÂÀ”Ü´Ü ÏÂà¡ÒÂàYÞÂ@bÚÂ`iÑ€Wဇ٠Ý üÝ yÞÂ`3Ú FÜÂÀÜ ^ØÂ€ÔáÂÀšÛÂ@ýÕÂ@bÚÂ`]ÓÂ@ßÚ :Þ ½Ý ‹ÛÂÀšÛÂ@€ÕÂ@t×Âà¹ÎÂÀƒÊÂàÜÝ  ÍÂàÊàÂÀˆÞÂÀGÔÂ`¼ØÂ ÿÒÂà§ÑÂÀŽÝ @Ý‘ÍÂÀAÕÂàîÚÂ`˜ÞÂ[Ö ‹Û€™Ö ÕÙÂàèÛ€«ÓÂ@PÝÂ@\ÛÂÀ¦ÙÂ@ÑÂÀ ÚÂà¦æÂÀGÔ ¦ÌÂà­ÐÂ[ÖÂÀÿ߀ڠßÍÂàZÉÂÀSÒÂÀ_ÐÂäÂ@˜ÑÂàâÜÂáÂà)æÂ@ÙÛÂ`âÂ`?ØÂÀ ÚÂ@Õ ÒäÂ+ÞÂÀpâÂàúØÂàÜÝÂ@ÙÛ JÑÂCÚÂàwÙ€"ÕÂ@€ÕÂ@ÕÂ`òÏÂÀ¾ÕÂ`Œà€ØÂÀ¬ØÂÀ”ÜÂ@PÝ€þÚÂ@µáÂ`3Ú®ÝÂ@zÖÂàÐßÂÒ×ÂØÖ óÔÂ`ÔÔÂÀˆÞÂ@bÚ ÁÒÂIÙ ©ÖÂàØÂÀ ÚÂ`ÈÖÂÀ¾ÕÂà¡ÒÂàÊàÂ=ÛÂÀ#ÚÂÀ‚ßÂÐÂÀ)ÙÂ`ÈÖÂ@2âÂ`ÔÔ üÝ€QâÂ`ßÂ@VÜÂ@åÙ >ÓÂ`’ßÂ@ñ×Â`ÔÔ ‹Û€× ÝÂÀ”Ü üÝ Þâ FÜ 4ßÂ@ëØÂ =èÂmÓ nËÂ@˜Ñ Uä [ãÂÀ¬ØÂ  ÍÂàkÛÂ`Â×ÂàeÜÂÀˆÞ ”Ï€FÏÂ@’Ò ÉÛÂàîÚÂÀ²×€™ÖÂ`ÎÕ ”Ï€«ÓÂ`]ÓÂ@VÜ @ÝÂÞÕ ÚÂüÐÂà<ÎÂ`¶ÙÂÀ)Ù€Qâ€]à€ÚàÂÀÛÂ@µá€òÜÂ@ñ× 4ß ÞâÂ`E× :ÞÂÀMÓ ‹Û€þÚÂ@ÍÝÂÀçãÂâ€iÞÂ`ñäÂÀ/ØÂÀ¸ÖÂàkÛÂ`¶ÙÂ@hÙÂàÜÝÂ@ñ× 7éÂ@Áß ÉÛÂÀ‚߀òÜÂ`¼ØÂ@ÓÜÂà#ç sßÂ`¤Ü€Îâ€iÞÂ@ ÔÂ@ÍÝÂÀÄÔÂ@åÙ LÛÂöÑ€!ê€ØÂ ,ÖÂÀ¸ÖÂ@zÖ€àßÂàÖÞÂàÄá µÔÂà0ÐÂ[ÖÂêÓÂàGáÂà›ÓÂ`ÔÔÂ`?ØÂ`zãÂ@ëØÂ€àßÂàúØÂÀ ÞÂÀáä€^ËÂgÔÂÀ)Ù ùÓ Ú€.Ó \ΠˆÑÂ`9ÙÂaÕÂ`¶ÙÂàâÜÂ@ÇÞÂàèÛ€æÞÂÀ¦Ù€òÜÂ@ ÔÂ`ÔÔ€þÚÂÀ)ÙÂÀ#Ú€ÃÏÂ@ÓÜÂ@ÓÜÂ@>àÂàÅÌÂàîÚÂÀjã€ØÂ—ÌÂà×€™Ö LÛÂ@ÓÂ`ëå€ØÂ vÔ–áÂÀAÕ€WáÂàèÛÂ`Â×Â@ÕÂ@ Ô µÔÂÀÛ RÚÂà ç ÜÂÀ߀æÞÂà×€iÞÂà$Ò€4Ò ‹ÛÂÀÕæÂ Û ¯Õ€™ÖÂ@€ÕÂ`WÔÂà}ØÂ —ÙÂÀóáÂ`!ÝÂàâÜÂ`E×€ŸÕ —ÙÂÀGÔÂ`ªÛÂ ÛØÂ€øÛÂ%ßÂ@DßÂ=ÛÂ`E×Â@’ÒÂàÕÂàâÜ€cßÂàÔ Ú bÍÂ`ÈÖ 4ßÂ@ Ô ŽÐÂà¡ÒÂà‰Ö€ÚÂÀYÑÂ@-΀ŸÕ ÜÂ`ÚÓÂ@VÜÂ`]ÓÂ@ßÚ XÙÂ`'ÜÂ%ßÂ@¯âÂÀ²× ÏÚÂ@ÓÂ`uÏÂ`-Û€ÚÂ@ªÎ äáºÛ íÕ€ Ù€"ÕÂàÖÞÂàwÙ€·ÑÂ@nØÂ ¥áÂÀ ÞÂ@ÇÞ¢ßÂàÔÂ`QÕ ±ß€þÚÂà‰Ö€ÃÏÂàÕÂOØÂ%ßÂà•ÔÂ@ÕÂàÜÝ FÜÂ`àÂ`]Ó ŽÐÂàÓ á×Â`ÈÖÂÀeÏÂ@WÇ ‹ÛÂàMàÂ`°ÚÂ@-ÎÂ@€Õ€¥ÔÂà‰ÖÂàîÚ ñÊÂ`ÔÔÂ@ ÔÂ@ÙÛÂàeÜÂà$ÒÂ@Èɠ݀{Û ÙÂ@÷Ö ©ÖÂ`ªÛÂàÓ€:ÑÂР|ÓÂÀôÌ öÞÂ@å ÝÂOØÂ`3ÚÂàÕÂÒ×€4Ò£ÊÂàÅÌÂ`iÑÂÀ”ÜÂðÒ€"ÕÂà­Ð  ÑÂ`ÔÔÂ`ìÐÂÞÕÂà³Ï á×Â@Õ ©Ö ÉÛÂgÔÂà§ÑÂ`žÝÂ@ëØÂ ÝÂ ÛØÂ ÓÏÂ`òÏ ÉÛÂ…Ï€ÕÌ€.ÓÂ@ÍÝÂÀÐÒÂÀSÒÂÞÕÂàqÚ¨Þ¨ÞÂÀÊÓÂ`¶ÙÂÀ ÚÂÀÜÂöÑÂ`'ÜÂØÖ RÚÂ`iÑÂ`KÖ€ÚÂsÒ€ØÂÀÄÔÂÀ”ÜŠãÂ@t×Â`WÔÂ@˜ÑÂ@ßÚ€Ö ,ÖÂàèÛÂÀ_ÐÂ`ÎÕÂ@nØÂ ßÍÂàÓ &×Â@˜ÑÂÀÐÒÂ@t× pÕÂ@ßÚÂà$ÒÂaÕ çÖºÛÂà× ÇÑÂÀYÑ @ÝÂ@ÕÂ@?ËÂ`¤ÜÂ`ÂרÞÂÀ Ú€Ú€Ú¢ßÂÀîÍÂ`ÈÖÂ`žÝ VÏÂ`ÚÓ дܠµÔ€ŸÕ @ÝÂ@nØÂàØÂ 2ÕÂÒ×ÂÀ²×Â@\Û ©ÖÂ@VÜÂ`{ÎÂà*Ñ€øÛ€KãÂàîÚÂà ÖÂ@ëØÂ@ÙÛÂyÑÂgÔÂU×€«ÓÂ`uÏ FÜÂ`-ÛÂÀeÏ ¦ÌÂÀSÒ ÃÜÂàƒ×Â`òÏ ÇÑÂàÑÊÂ`Ë ÛÂU×ÂØÖ ÕÙÂüЀþÚ€·ÑÂØÖÂÀˆÞœà€{ÛÂ@ßÚÂmÓÂÀ”ÜÂ@ÕÂ@zÖÂCÚ€±Ò DÒÂÀáäÂ`¼ØÂàqÚÂ@ÓÜÂÀ ÞÂâÂàÐß 4߀× íÕ (á€]à€«Ó DÒÂ@zÖ€¼å 4ßÂÍ€ØÂ`cÒÂ`'Ü RÚÂàèÛ€“× ÛÂÀGÔ d×ÂÀGÔÂ@ÕÂ`-ÛÂ`ÎÕÂðÒÂØÖÂ@ŒÓÂIÙÂà€øÛÂàèÛÂ@ÕÂ`ÎÕÂ`Â× ØÂ€‡Ù€"ÕÂ`žÝÂOØÂ 4ßÂ@ÍÝÂ`Â×Â@nØÂ€“×€æÞÂÀ)ÙÂ@ÍÝÂÀ/ØÂÀîÍ ¬ËÂÀÈÂà$ÒÂÀeÏÂ` ÌÂ`oР£×Â`iÑÂà­Ð ‹ÛÂ@t×Â@¼ËÂ@bÚÂgÔ ¦ÌÂ@zÖ ‚Ò€ŸÕÂ`E×Â@’ÒÂÀ¬ØÂ çÖÂ@ñ×Â@’Ò \Π‘ÚÂÀÜÂ@PÝ XÙÂà Ö¨ÞÂgÔŠãÂàBÍÂà›Ó€ÚÂyÑ  ÑÂÀ5×Â`æÑÂÌØÂ€ÔáÂÀÚ ÛÂàSßÂ`QÕ ‘Ú€™ÖÂIÙÂ`E× ‘ÚÂ@bÚÂÀ¸Ö ^ØÂºÛÂàÜÝÂØÖÂ`˜ÞÂ@ÍÝÂàôÙÂÀÛ á×ÂÀ¦Ù çÖ€ ÙÂ@ÍÝ´Ü ÜÂ@nØÂ®ÝÂÀÛ ¯Õ€æÞÂ`ßÂ`KÖ€.Ӯ݀Qâ—ÌÂðÒ ÜÂ`žÝ üÝ€.ÓÂàkÛÂÀèÎÂ@ÒÂà¡ÒÂ@JÞÂ`¤Ü £×Â@€ÕÂ`þÍÂÌØÂ óÔÂ`°ÚÂ@ñ×€ŸÕÂÀ#ÚÂ`3ÚÂàeÜ€ÚÂäÔÂÀkÎÂàqÚ óÔ‹ÎÂ@ŒÓÂÀÛå€ÖÂ`?ØÂ€½Ð€¥ÔÂÀÝÂÀ¬ØÂ€:Ñ ²ÊÂÀ²×Â…ÏÂ@ŒÓ ëËÂÀMÓÂ`ÚÓ öÞ [ãÂ@nØÂ€«ÓÂ@žÐÂà*Ñ ,ÖÂÀÄÔ€ŸÕÂ`E×ÂÀ߀“× ^ØÂ ,Ö ¸É ÐÂ`KÖÂÀAÕÂ@˜ÑÂÀeÏÂ@DßÂÀ)ÙÂ`ÍÂÀôÌÂÀ ÚÂ@µáÂ`’ßÂ7ÜÂ`?ØÂÀ_ÐÂà$ÒÂ@zÖÂàÔ€ÛËÂÀÚÂÒ×Â@t×€{Û€½ÐÂÀ;ÖÂ@nØÂà•Ô »Ó ØÂ@\Û€ìÝ &×Â@ßÚÂà¹Î jÖÂ@DßÂ`€âÂÀ”ÜÂ`iÑÂ@nØÂ LÛ€ØÂ :Þ®ÝÂÀSÒ ÕÙ€æÞ€øÛÂ@hÙÂ1ÝÂaÕ€cßÂðÒÂàqÚÂÀ5×Â`täÂ`þÍ€«Ó µÔÂ`ÔÔ€4ÒÂà×ÂmÓÂàÜÝ ^ØÂÀÚÂÞÕ d×ÂàqÚÂÀ‚ߋ΀ØÂ`°ÚÂ`9ÙÂ`-ÛÂ7ÜÂàôÙÂ`E×ÂÀ”Ü€WáÂmÓÂ@ëØÂÏÂÒ×€ ÙÂ@˜Ñ€.ÓÂ`E׺ÛÂàeÜÂà›ÓÂ`iÑ€ŸÕÂ`òÏÂÀÝÂIÙÂ`9Ù …ÜÂÀÄÔÂ`WÔ ¯ÕÂÀÊÂyÑÂ`É >ÓÂêÓ µÔÂ@3Í ˆÑÂà›ÓÂaÕÂ@\Û ÏÚ€àßÂsÒÂ@ ÔÂU×€"ÕÂ@ñ×Â&ÊÂ@nØÂyÑÂðÒÂà ÖÂà Ö (áÂmÓ d×Â@zÖÂ@t×Âà_Ý RÚÂ@3ÍÂêÓÂ@€ÕÂà ÖÂÀqÍ€(Ô€ÛËÂ`WÔ \ÎÂàBÍÂ@ìÀÖÂÀ²×ÂÀqÍÂàƒ×ÂàwÙÂðÒÂ@åÙÂÀÚÂ`ìÐÂ@ÓÂ`Â× ¯ÕÂ`ýâÂÀ#Ú€‡ÙÂà_Ý OåÂ`’ßÂ`?ØÂ€¶æÂàGáÂàúØÂ ¥áÂ@Dß Ú jÖÂ@»àÂÀXæÂ ¥á€ÚÂ`˜ÞÂÀ”ÜÂ@åÙÂà¡ÒÂ@PÝ¢ßÂ@,ãÂ@,〒ìÂàMàÂÀçã üÝ€ÚÂ`hæÂ`Dì í–áÂ`âÂ@ åÂ`ß sßÂ@êí 1ê O倪èÂ@ßÚÂféÂà‚ìÂÀùà öÞ€×ÂûåÂZë ¨ë¢ß ãÂÀLè€-èÂféÂÀóáÂ`âÂà;ãÂ`Çë€!ê .àÂÀ4ìÂ×ëÂÀ(îÂ~åÂ~åÂrçÂ=Û (áÂ@£äÂ`ßçÂ`DìÂ@—æÂÀ.íÂâÂà‚ì äÂåÂ@ 堽݀3çÂÀóá çÂ`ëåÂ`bç€Âä .àÂ`ñäÂÀÛåÂ@hÙÂlè ™ã ÛÂáÂÀŽÝÂ`ÓéÂÀáäÂÀóá òé çÂ`bçÂÀ^åÂÀ^值倪è€ÎâÂ` áÂàèÂÀÿßÂ`’ßÂlèÂ@—æÂ@PÝ aâ€9æÂàdñÂ@©ãÂ@åÙ ðßÂÀvá€hóÂÀ¥î [ãÂéè vÔÂ`ýâ€?åÂ`Dì öÞ€Eä ÌåÂàAâ€Ú ðß LÛ òÂ`åæÂà/åÂ`bç€Wá öÞÂÀíâ ¥áÂÀáäÂ@hÙÂHî OåÂ@çÂ@©ã´ÜÂ@&äÂ1ÝÂàÐßÂ@8áÂ`hæÂ ië ‡æÂ`ñäÂÀÛåÂ`Jë :Þ =è öÞÂ`†áÂ`WÔÂ`àÂ@JÞ€Úà ºèÂ`tä€ÚàÂÀFéÂà)æÂ€¥ÔÂ`¤Ü aâÂÀßÂÀíâ€òÜÂ@µá€oÝ€‡ÙÂÀÛÂÀXæÂ  æÂ@míÂ@êÂåÂ@VÜ FÜÂ`’ßÂàYÞ yÞ€{Û€!ê XÙ€‡Ù OåÂàMà UäÂûå çÂàXó  æÂÅîÂÀÚÂ`ßÂ@8áÂCÚÂ+ÞÂ`hæÂ Ü [ã€?å :Þ€Îâ ÚÂ`žÝÂ`†áÂ`ëåÂÀXæÂ ÕÙÂâ äá ØÂ€àßÂà ÖÂ`÷ã€Ôá aâÂ@¯âÂà_ÝÂà¦æÂ :ÞÂûåÂÀÖÑ 8ÔÂÀÝÂ`ýâÂ ÛØÂ`ßç ð€°ç Cç @Ý ¥á ùÓÂÀjãÂ@sìÂxæÂ ÝÂàƒ×¨ÞÂ`tä€ÂäÂ@ê çÖ RÚÂ@zÖÂ@,ãÂ%ßÂÀß ŸâÂïçÂå &×€àßÂÀjãÂõæÂ€ÔáÂÀ ÚÂáÂàYÞÂ`'ÜÂàèÛ€“×€àßÂà‰ÖÂàîÚ ±ß€ÈãÂ`täÂyÑ XÙÂÀ/ØÂàeÜÂà¾â ÛÂàwÙÂ@8áÂÀdäÂ`¶Ù ÝÂ@hÙ "â XÙÂà#ç :ÞÂ`ªÛ öÞÂ@DßÂ@¯âÂ@ßÚ´ÜÂàÜÝ màÂà_ÝÂÀÚ öÞÂà¸ãÂàÂ`žÝ Ú€¼å¨ÞÂ@2âÂ`ÇëÂ@‘ç–áÂÀvá€ØÂàâÜÂ%ßÂÀŽÝ€ªè yÞ€°çÂ`\è€uÜÂ7Ü€]àÂÀÕæÂ`âÂ`’ßÂ@ÇÞÂûåÂà¸ãÂ`zãÂ`˜ÞÂ@åÙ ±ßÂ@ÍÝ€¶æÂäÂàAâ :ÞÂ@\Û »Ó®ÝÂ@ê€Wá€-èÂÀßÂ@2â€àßÂÀ)Ù =èÂ@8áÂÀˆÞÂ@©ã ™ãÂ`ŒàÂÀjãÂÀváÂ@µá CçÂ`ßç UäÂ`3ÚÂ@ßÚÂ`åæÂà ÖÂ`zãÂÀ¾Õ äÂ`ÞÂàÊàÂàìÂ`\è yÞÂàÄá ¥á€ÚàÂ@VÜ åÂÀÛ u逩ý€c߀ÏÍÂ@ëØÂà•Ô€EäÂÀ Þ€«ÓÂÀˆÞ "âÂÀ‚߀KãÂ@¯âÂ`’ßÂà¸ãÂ`bçÂ`ªÛÂàSßÂ@ÁßÂÀšÛ pÕÂ`àÂÀŽÝÂ~å {èÂÀ ÚÂ@DߊãÂÀ4ì€øÛ ã Ÿâ€àß d× ÕÙÂ×ëÂà¦æÂ€Èã€ÔáÂà²äÂTì€ÈãÂ@ßÚ€Kã€{Û màÂÀvဒìÂ@\Û Uä€]àÂféÂÀùàÂÀóáÂáÂûåÂà#ç–áÂ`àÂU× ´éÂÀÕæÂûåÂ`ëåÂ@öëÂÀdäÂàÐ߮ݠÞâ€]àÂàšèºÛÂàôÙÂ`Pê ÚÂ`÷ãÂÀpâÂ`àÂ`ÞÂ@—æÂ@,ãÂäÂ`!ÝÂ@ÙÛÂ`†áÂ`ñäÂÀÛ–á€ì OåÂàÄá€ëÂàÜÝÂ ÛØÂ€æÞÂÑì€ÎâÂà¸ã€?åÂûå óÔ äá gáÂ@ñ×Ââ ãÂÀÕæÂ@µá ãÂ`hæÂ€uÜ iëÂàMàÂÀôÂ1ÝÂÀÝÂÀÜÂé耼åÂÀÝÂ@ÇÞ€ÔáÂ`zã€!êÂ`à ¥áÂ@©ã€ìÝ üÝÂÀFéÂ`Áì aâ gá€ÈãŠãÂ`˜Þ êàÂÀˆÞÂ`ßÂà²ä€3çÂ@ÍÝÂÀšÛÂ%ßÂ`°ÚÂ`÷〙֠çÂ@ÇÞÂ@hÙ€°ç€cßÂ@&äÂÀ^å .à€Âä UäÂrçÂ}úÂ@ÌòÂ@ëØÂ@‘çÂ+ÞÂ@ßÚÂÀ5×€QâÂÀváÂÀáäÂ`!ÝÂ ÆæÂ`ëåÂà¦æÂ (áÂ`¤Ü (á @ÝÂ@PÝ´ÜÂá Ú 4ß sß êàÂ`z〶æÂ sß 2ÕÂÀXæÂÀÕæÂ`âÂ`’ßÂÀáäÂ`ªÛ€?åÂ@†ÔÂÀ²×ÂÀ”Ü€'éÂÆÙ ±ßÂ7ÜÂÀáäÂÀ‚ß ÕÙÂàôÙÂ` áÂ`-ÛºÛÂ ÛØÂ d×ÂÀ²×ÂÀ‚߀ÚÂêÓÂÀˆÞÂÀáä jÖ RÚÂ@’ÒÂCÚ€"ÕÂ`3Ú€ØÂ ÕÙ ·ÞÂ@zÖÂ@‘çÂ@&ä 8ÔÂÀwÌ LÛÂÀùàœà€ŸÕÂ@ýÕÂ`°ÚÂ@\ÛÂ@PÝÂ@ÇÞ€ÚÂà}ØÂ@åÙÂÀ#ÚÂ`òÏ€ìÝÂ`à FÜ€±ÒÂàúØÂàÐßÂÀçãÂÀ)ÙÂ`¶Ù @Ý€iÞÂ ÆæÂ€ªè€{Û ÜÂà×ÂÀ Ú€þÚÂ@ÙÛÂ7ÜÂÀ)Ù ¯Õ @Ý¢ßÂÀ/ØÂÀÊÓÂ@ÓÂ`ÉÂ`ÚÓÂ@ßÚÂ`ªÛÂÀ ÚÂÀ¦Ù ðßÂðÒÂÀSÒÂÀ¸ÖÂ@Dß ÏÚ ÜÂ@’Ò íÕÂðÒ …Ü€{Û Ú€iÞÂ`¼ØÂ £×€òÜÂÀ#ÚÂàqÚ ùÓÂÀçã íÕÂ`'ÜÂxæÂ yÞ RÚ€¥ÔÂ@ëØÂÀYÑÂ@bÚ€QâÂ@bÚÂà×Â@zÖÂaÕÂàZÉ >Ó ýÈ :Þ€@РÐÂ`QÕÂ@€ÕÂàôÙ´Ü ½ÝÂÀèΠDÒÂ`E×€ÉÎÂÀ•Ç€ ÙÂ`˜Þ€æÞÂÀÊÓ µÔÂàÕÂÀ;ÖÂàÕÂ@ÕÂ`°ÚÂ@VÜÂàwÙÂ@t×Â@-ÎÂ@žÐ€.ÓÂàúØÂà¹ÎÂÀÖÑÂàwÙ€æÞ€¥Ô yÞÂàÕÂ`9ÙÂà ÖÂàÔÂ@PÝÂÀôÌ€{ÛÂ`3ÚÂ@cÅ bÍ 2ÕÂàAâÂÀ²×Â@÷ÖÂΠÉÛÂ@\Û Ù ±ß ¬ËÂ@hÙÂ@ÕÂ`{ÎÂÀÖÑ ΀™ÖÂÀ#Ú‘ÍÂÍ ‹ÛÂ@!Р|ÓÂà×ÂàBÍ »Ó ÎÂÀSÒÂàØÂ`àÒ &×Â@˜Ñ€ŸÕ ¤Â çÖÂêÓ€«ÓÂOØÂ 4ßÂ@t×Âà¡ÒÂÀMÓ DÒÂ`¼ØÂ @ÝÂ`-Û á×Â@t×€™ÖÂ`ßÂÀ)ÙÂ@t×€æÞÂ`æÑÂ…ÏÂàÓÂ`ÍÂ@Õ 8Ô€]àÂ%ßÂàÕ |Ó £× ÉÛÂÀÊÓÂ@ñ×Â`cÒÂ@Õ üÝ€™ÖÂ`àÒÂÀÄÔÂÀ²×Â`cÒÂ1Ý€«ÓÂÀèÎÂà}ØÂaÕÂà§ÑÂ`uÏ #Í€ Ù pÕ &×Â=ÛÂ@ßÚ ÚÂ`¶ÙÂ`ìÐÂ@Ó ØÂàØÂÀqÍÂÀÜ€ŸÕÂ@EÊÂàÕÂÀ5×ÂÒ×Â`¤Ü ñÊÂ`¶Ù &× 4ßÂ@ßÚ 8ÔÂgÔ ½ÝÂ@\ÛÂÀÜÂÀÐÒÂÀYÑÂÀÊÓÂàúØÂ`æÑ /Ë ùÓÂ@÷Ö€·Ñ LÛÂà§ÑÂà׋ÎÂ`žÝºÛ ‹ÛÂàîÚÂàÔ ‚ÒÂ@÷Ö ÿÒÂ…ÏÂ`ËÂ…Ï€¥ÔÂÀ)ÙÂ`4Å bÍ d×ÂÀGÔÂ`WÔÂà›ÓÂÀÄÔÂäÔÂÐÂÀ)ÙÂÀÜÂ@t× çÖÂ`†á®ÝÂàƒ×ÂÀ)ÙÂ@ÍÝÂ@nØÂ€4ÒÂ@ŒÓÂ@¼ËÂ@KÉÂàôÙÂàÖÞ pÕÂÀ5×ÂðÒ€{ÛÂ@’Ò ÍР¦Ì ÇÑÂ`ÚÓ ^ØÂ„äÂÏÂ@÷ÖÂ@˜ÑÂ@?Ë€FÏ :Þ ¯Õ XÙÂ…Ï ÏÚÂ`ÔÔÂÞÕÂÀ ÚÂÀÖÑÂ@\ÛÂáÂCÚ€ÏÍÂ@€ÕÂÀ;ÖÂÀÊÓÂ@žÐ ©Ö€oÝÂ`€â€æÞÂàÖÞ ,Ö  ÑÂÀ#ÚÂ@÷ÖÂà ÖÂà¿ÍÂàwÙ 8Ô µÔ £× Ú ÞâÂÀÿß ±ßÂ`°ÚÂ`?ØÂ€"Õ€ÚÂõæÂ€‡ÙÂ`ÚÓ€ØÂIÙÂà¾âÂ@ýÕÂàâÜÂÀ/ØÂ`’ߺ۠íÕÂ`ÚÓÂ@PÝÂàkÛ çÖÂàBÍÂ@ Ô€× ÜÂ@t×ÂU×€‡ÙÂÀ#Ú€øÛÂÀ/ØÂ FÜÂÀ#ÚÂà}ØÂ çÖÂÒ×Â`3ÚÂà¡ÒÂÀÝÂ@ÇÞ .à€¤éÂÀ¦ÙÂsңʀøÛÂ`Dì€ÃÏ ÍР¯ÕÂÀ¦ÙÂ1ÝÂÀÚ ðßÂàôÙ€‡ÙÂêÓ€4Ò€× ½Ý€iÞÂ=ÛÂà ÖÂÀqÍÂ…ÏÂÀAÕÂ@\ÛÂÀ/ØÂÀwÌÂÀ¬ØÂ€‡Ù ÿÒ —ÙÂà¾âÂ`KÖÂÀMÓÂÀ|àÂ`ýâÂU×€ØÂsÒÂ`Œà€ØÂ@t× ÍÐÂ@ÓÜ ©Ö XÙÂÀŽÝÂ=ÛÂàâÜ êà Ÿâ µÔ —ÙÂ@ÒÂ`’߀ìÝ .à®ÝÂCÚ Ý ÉÛÂ@ÇÞÂ`ÚÓÂ`æÑÂâÂá ÕÙ ÉÛÂ@DߨހQ⠈рKã ØÂ ÏÚ€(ÔÂÀYÑ jÖÂÀÊÓ ©Ö åÂ@€ÕÂÀ ÞÂÀ;ÖÂÒ×€QâÂà¡ÒÂà›ÓÂà$Ò @ÝÂÀ ÚÂ`Â×ÂÀß vÔ ÏÚÂ@8áÂÀùàÂ@ÓÂàØÂ€½Ð FÜÂà¡ÒÂ`{ÎÂàwÙ€ÚÂ`iÑ hÌ ØÂ`¼ØÂ@†ÔÂÀMÓÂà§ÑÂöÑÂOØÂmÓ®ÝÂ@Õ€c߀ØÂ€ØÂU×ÂÀ¸ÖÂ`æÑÂ`ìÐÂðÒÂ@†Ô 8ÔÂÀAÕÂÀ/ØÂ@Ñ€"Õ€c߀ìÝÂ`ÉÂ`àÒÂ@˜ÑÂ@»àÂ`iÑÂÀÊÓ€æÞÂÀeÏ |ÓÂ@ÙÛÂà›ÓÂ`?ØÂÀSÒÂË ÿÒ ÈÂà§ÑÂ@ Ô€ ÙÂà0ÐÂà§ÑÂÀÖÑÂÀkÎÂ@ÓÂÀGÔÂÀYÑ€LÎÂ`ÎÕÂIÙÂÀÜÐÂÀÖÑÂgÔ‘ÍÂÀÊÓÂàƒ×€½Ð 3ÀÂ`æÑ€4Ү݀uÜÂÎÂàØÂºÛ ùÓÂ`ìЀ(ÔÂà<ÎÂ@ßÚÂ`†áÂ@èÂ`WÔ€«ÓÂ@€ÕÂÀ_ÐÂÀAÕÂàúØÂÆÙÂà‰ÖÂà¬åÂûåÂ`E×ÂÀÜ ¦Ì€{Û íÕÂOØÂ ,ÖÂâÂâ £×Â@ÙÛ äá 4ßÂàÜÝÂ@ßÚÂ@ÕÂ`3ÚÂ`Þ€øÛ€cßÂ@VÜÂ`QÕÂ@åÙÂÀ”ÜÂõæÂàèÛÂÀváÂ`3Ú ÒÂ@nØÂ`ÎÕÂÀ߀uÜÂ@ÙÛÂÀˆÞÂ`zã€æÞ€]àÂ ÛØÂ€iÞÂÀˆÞÂ@ýÕÂÀ ÞÂà}ØÂ@ÁßÂÀjãÂ@JÞÂÀÿ߀iÞ€3çÂ@ßÚ óÔ »Ó€þÚ„ä æë lõÂâÂ`°Ú€iÞ öÞ "âÂÀpâÂ@ÇÞ´Ü "âÂ@ÍÝ ¥áÂ`ßÂ@ÍÝÂàîÚÂ`Þ ÒäÂàúØÂÀjãÂ`êÂ@»àÂ`hæÂCÚÂ@—æÂà IæÂÀpâÂÀRçÂÀjãÂ` áÂàÿì Uä Û Òä€ì€QâÂÀ|àÂ@æÂÀ@êÂ1ÝÂÀ Þ £×€ ÙÂ`žÝÂâ„ä ã€¤éÂà5äÂûåÂãéÂÀóáÂÀ|àÂàîÚÂÀáäÂ`°Ú øè aâ ‡æÂ@bÚ€'é "âÂÀ”ÜÂ`àÂÀ^åÂ@¯âÂÀ‚߀ڀŸÕÂÌØÂÀÕæÂÀ(î äá sßÂ`°ÚÂÀ;Ö LÛÂ`nåÂ`täÂÀpâ (á ŸâÂ`!Ý á×Â@ëØÂ`-ÛÂ`¤Ü Þâ Þâ ÜÂ@ÇÞÂàGáÂÀíâÂïçÂÀÛÂ`t䠽݀QâÂàGáÂ=Û üÝÂÀíâ øèÂàÊàÂàkÛÂÀÛ€9æÂ ØãÂ@æÂ€?åÂ`zãÂ`-ÛÂ`3Ú€ëÂ@ÍÝÂ`\èÂÀÛåÂ@ÁßÂ@,ãÂaÕÂÀ²× ç òéÂÀ‚ß sßÂâÂ`¯ïÂéèÂ@míÂÀÛå–áÂÀÉèÂàéÂ@ñ×ÂÀˆÞ …Ü€¼å 1ê “ä Þâ€Ú€°ç€ î€9æÂÀíâÂÀçãÂàˆë¢ß€¤é 1êÂ`Çë€WáÂÀÕæÂÀóáÂÀXæÂ€Wá ïÂàôÙ€ÂäÂ@¬¤Â`‘ôÂà)æÂ øè À瀤éÂà²äÂrç€ÖÂ`žÝŠã ™ãÂ@ÙÛ€!êÂàè ŸâÂ@JÞÂ`!ÝÂÀ·ëÂà¸ãÂàÖÞ ÞâÂàÂ@ÇÞ ã ÎåÂ`€âÂ`åæÂ@è€ÚàºÛ :Þ êàÂ@©ã ã€cßÂ@ýÕ€ÈãÂ@éÂ`ßçÂÀ]ú æë êàÂÆÙÂàîÚÂCÚÂà;ãÂàâÜ äÂÀóáÂÀ.í gáÂûåœà sßÂàÂ` áÂàèÛÂâÂÀ5×Â@t×Â@JÞÂÀÿߊãÂgÔÂàôÙ€iÞÂ@DßÂÀ^åÂ`3Ú€ìÝÂ@zÖ yÞ€òÜÂÀÛÂ`'Ü ÉÛÂÀ/ØÂ ÜÂà¬åÂ`bç ÛÂ@ñ× êàÂ`ñäÂà_Ý mà€9æÂÀ¦ÙÂ` á ÏÚÂÀ/ØÂÀSÒÂ@,ãÂà/åÂÀ²×Â@ßÚ€™ÖÂ@åÙÂ@ÙÛÂÀ|àÂà_Ý d× …Ü êàÂäÔ ÝÂ`QÕÂàèÛÂ`€âÂ7ÜÂÀˆÞ€ŸÕ …Ü€¶æÂ@ÇÞ IæÂ ÝÂÀ¦ÙÂ`ÚÓÂÀ;Ö ÏÚÂà;ãÂÀ²×ÂÀÊÓ ÉÛÂ@JÞÂ@Õ€™ÖÂàqÚÂ ÛØÂàèÛÂàâÜÂ@€Õ nËÂ`ªÛÂÀ¦ÙÂà¡ÒÂ`'Ü ^ØÂ@&äÂ`ÍÂ@Ó óÔ€ÚÂ@¯âÂÞÕ ãÂ`’ß ŽÐ€ØÂàAâÂÀLèÂÞÕÂàÔ ÉÛ€×ÂàqÚ€·Ñ€“×ÂàôÙ ÚÂ`'ÜÂ@ñ×ÂÀ¾Õ€ÚÂàYÞÂÀ¦ÙÂ@Õ ðß —Ù ,ÖÂOØÂ`ß êàÂÀÕæÂÀŽÝÂ@PÝÂ`ÎÕÂÀ5×€þÚ gáÂ@åÙ öÞÂ`KÖ€¥ÔÂ@Ò ‘Ú åÂ`ÎÕÂÀ#ÚÂÏ aâÂàôÙÂàAâ ™ã€{ÛÂ`ªÛÂÀ¸ÖÂ`ÚÓÂÀMÓÂ@ßÚÂàôÙ =è |Ó€iÞ á×ÂÀÜÂ`žÝ ÉÛÂàeÜÂà)æÂÀAÕÂ`°Ú ©ÖÂÀ²×Âà×ÂIÙÂ@ßÚ€WáÂ@µá —Ù€Úà jÖÂ`ÞÂ`WÔÂU׺ÛÂàSßÂÌØÂ€ ÙÂ`˜ÞÂ@Ò .àÂ=ÛÂàÜÝÂÀÛÂ`3ÚÂÀ¸ÖÂ@JÞÂØÖ LÛ€EäÂàÂ`9Ù vÔ€:ÑÂÀ”ÜÂ=ÛÂ@ ÔÂ`žÝÂÀ”ÜÂÀÛÂà_ÝÂ`°ÚÂ`Â× ØÂ ‹ÛÂàeÜ =è€ÚÂ`?ØÂêÓ€™Ö yÞÂÀ_ЀØÂ ·Þ ½Ý ‹Û¨Þ€ØÂ ‹ÛœàÂÀùàÂ`9Ù ±ßÂàMàÂ@µáÂ@¤ÏÂ@÷Ö€‡Ù¢ßÂ@-δÜÂàÖÞÂ@åÙ øè€KãÂÀpâÂ@æÂ€æÞÂ`â¢ß ‡æÂÀŽÝÂà ÖÂÀ ÚÂàÂà¾â€ØÂ`ªÛÂ@é "âÂ`ªÛ€þÚÂmÓÂàÂà‰Ö ÉÛÂmÓÂà`È ÙÂÀ²× ç€þÚÂ=ÛÂ@PÝÂ@ëØÂàÕÂà}ØÂÀ5×Â@PÝÂàÊàÂCÚÂàƒ×Â`WÔ FÜÂÀˆÞÂ`ßÂ@DßÂ`˜Þ s߀"ÕÂ@€Õ€ÖÂÀ_ÐÂà}ØÂ Ü êàÂÀ‚ßÂàôÙÂÀ#Ú€ ÙÂ`-ÛÂ@»àÂÀ#Ú€ìÝÂ@JÞÂ@t×Â`ªÛÂà‰ÖÂ`¶ÙÂàÔ€½ÐÂàÐ߀ ÙÂCÚÂ`9ÙÂÀÿß ©ÖÂU×Â@åÙÂ@’ÒÂà× ÒäÂàÊàÂ`ßÂ`žÝ  Í„äÂ ÛØÂÀ‚ßÂÆÙ€(ÔÂ@ ÔÂ`QÕÂ` áÂàâÜÂ@VÜ ‘Ú€EäÂ`tä€ÚÂ`?ØÂ .à .à yÞÂÀeÏÂà×ÂÀÚÂ`-ÛÂ@€Õ€þÚ€½ÐÂàwÙÂÀ²×Â@ÒÂmÓ€uÜ€ÈãÂÀù࠱ߠÏÚÂIÙÂ@t×Â@8áÂàkÛÂÀˆÞÂ@8á€Îâ€]à ±ßÂ@>à ·Þ Ò€iÞÂ=ÛÂmÓ ©ÖÂÀMÓ XÙÂ`WÔÂCÚÂÀ‰É ‹ÛÂ@ÓÜ ØÂ .à ÛÂ@†ÔÂ7ÜÂà›Ó ÐÂÀMÓÂ@nØÂ üÝÂäÂ[ÖÂaՠ݀ÚÂàYÞÂ@ ÔÂ@!ÐÂÀ¦ÙÂ@÷Ö ^ØÂ`°ÚÂÀ ÚÂÍÂÀMÓ FÜÂ` áÂ@8áÂà‰ÖÂÀ¾ÕÂ`€âÂ@÷Ö LÛ€·ÑÂàÔÂüÐÂ`hæÂ mà ˆÑÂ`ýâÂÀÿßÂÀí⠦̠4ßÂÀ ÞÂ`'ÜÂÀ ÚÂ@ªÎ 8ÔÂÀ¦ÙÂaÕ ©ÖÂÌØÂÆÙÂ`-Û¨ÞÂ`-ۢ߀FÏ jÖÂΨÞÂ`ÈÖÂ@€ÕÂU× óÔÂ`¤Ü yÞÂ@ýÕ€4ÒÂÀÜÂåÂÀ²×€òÜÂ@÷ÖÂsÒÂêÓ€ ÙÂà;ãÂ@ëØÂÀÊÓ€áÊ€òÜÂàØÂ µÔÂ`]ÓÂäÔ€Ö XÙÂÀ ÞÂàôÙ åÌÂ`øÎÂêÓ šÎÂ@zÖÂOØÂ€ÚÂÀMÓ€ Ù€×Â@Ó XÙÂàèÛÂU× hÌÂ@Ò 8Ô 8ÔÂ`þÍÂ@ÇÞÂÀšÛÂ`ÚÓÂ`’߀ŸÕÂ ÛØÂ€uÜÂOØÂIÙ€ØÂ nËÂöÑÂ`oÐÂÀ¾Õ€æÞÂ1ÝÂ@nØÂ7Ü€“×ÂOØÂ€LÎÂà0ÐÂÀAÕÂ`ìÐÂ@hÙ€ØÂ@ѩɗ̠µÔÂÀAÕÂ@VÜ ”ÏÂ@ßÚ€·Ñ€™Ö —Ù РPРÕÙÂ@¤Ï€pÈÂ@ªÎ€(ÔÂÀÖÑ€{ÛÂÀkÎÂ=ÛÂ@Ó &×Âà§Ñ \ÎÂÀÜЀ‡ÙÂ@t×Â`KÖ€·Ñ  Ñ€‡Ù€à߀ØÂà*Ñ ÍÐÂ`iÑ€ÃÏ€(ÔÂÀÕæÂ µÔ€ÕÌÂÀ²×ÂàÕÂРÇÑ€¥Ô€±ÒÂöÑÂà¹Î íÕÂ`'ÜÂà*ÑÂ`]ÓÂ@'ÏÂÀÐÒ€ØÂÀÐÒÂ@nØÂ‹ÎÂ`iÑ€Wá ÙÂÀMÓÂàÔ ‚ÒÂÀÄÔÂ1Ý ØÂ ÕÙÂ`cÒ€‡ÙÂÏÂ@»àÂà›ÓÂÀîÍ Ò óÔ€¥ÔÂàAâÂàÐßÂàîÚÂàîÚÂ@ÍÝ€WáÂÞÕÂ@hÙ€æÞÂ@Ó jÖ€@ÐÂÀ;ÖÂÌØÂ VÏÂàwÙÂ@ýÕ »ÓÂÀ¦ÙÂØÖ ÎÂàeÜÂ@÷ÖÂ`'ÜÂÀ¾ÕÂØÖ€ŸÕ >ÓÂ@ ÔÂ@ÓÜÂ@ÇÞ @ÝÂ`cÒÂàÕ€(ÔÂÐÂЀ‡Ù ^ØÂðÒÂà­ÐÂäÔÂ@VÜ€þÚ€uÜÂÀ‚ßÂ ÛØÂ@†ÔÂà›ÓÂ`cÒÂ@t× ØÂ@€ÕÂðÒ &× »ÓÂÀMÓ ÒÂÀ²× üÝ ÏÚºÛ ^ØÂ@Õ ¦Ì€:ÑÂÀkÎÂ`-ÛÂ`9Ù ÓÏÂàÓ€×Âàƒ×ÂÀ Ú tÊÂ@Ñ€iÞÂÀ5×Â@!Ѐ™Ö€ØÂ ÍЀìÝÂàwÙ çÖÂÀ5×€(ÔÂÀ²× #ÍÂ`KÖ ÝÂ`ìÐÂÀ¾Õ á× ùÓÂÀ)ÙÂ@Áß (áÂàÜÝÂÀ¾ÕÂ@?Ë DÒ —Ù€ÃÏÂ@t×Âà×Â@¤ÏÂÀËÂ`¶ÙÂÀ5× —Ù ÍÐÂàYÞÂàÐßÂÀˆÞ€:ÑÂ`E× ÕÙ s߀uܑ͠#ÍÂ`øÎÂ@PÝ ÏÚ€iÞ¢ßÂàwÙ £×Âà¹ÎÂ`æÑÂÀ5× |Ó€ÏÍÂÀMÓÂ[Ö ÚÂÀâÏÂÀÊÓÂÀ5×€{ÛÂ@†ÔÂ`ìÐÂÀÖÑÂ`æÑÂ ÛØÂ@ÙÛ ‹ÛÂàeÜ …Ü€½ÐÂ@ŒÓÂÀ5×Â`täÂà/åÂ`ÚÓÂÀ¸ÖÂ@÷ÖÂÀ¸Ö€ ÙÂ`€âÂÀ;Ö€™Ö€«ÓÂÒ×Â`täÂ@zÖÂ@ ÔÂàÕÂ`Â×ÂCÚ–á€LÎÂÀ/ØÂÆÙ ÉÛÂüÐÂà×É ^ØÂ@åÙÂà<Π²ÊÂÀÜРá×ÂÀ¾ÕÂÀAÕÂ`@ÃÂÀeÏ€¥Ô VÏÂàƒ×ÂÀ;ÖÂÐÂÌÂàÕ€þÚ  æÂðÒÂ`]Ó »ÓÂРÙÎÂ`øÎÂ@ëØÂ ‘ÚÂ@ÙÛ ÙÂU×€‡ÙÂ`ìÐÂ`]ÓÂ ÛØÂ@’ÒÂ@Dß´ÜÂ@ ÔÂÀeÏ€:ÑÂ`‡Ì€“×€·Ñ  ÑÂgÔÂ@¤Ï Ë‘Í ‘Ú ØÂyÑÂaÕ€½ÐÂÀ;ÖÂ`]ÓÂàúØÂÀÊÓ óÔÂ`ÚÓÂ`‡ÌÂ`iÑÂ`àÒ ÁÒÂàÔ ΀“×ÂðÒÂÀè΀RÍÂÀ¸ÖÂ&Ê€LΠLÛ ÕÙÂ@PÝÂàwÙ ^ØÂà›Ó€±ÒÂ`cÒ ÐÂÀMÓÂÀMÓ€ ÙÂÀúË—ÌÂ`™ÉÂÌ ÍÐÂ@ÂÊ )Ì ˆÑ hÌÂÞÕÂÎÂ`ÉÂÀYÑÂÎÂ2È ùÓ´ÜÂà Ö€±Ò€ ÙÂà›Ó—ÌÂàÅÌÂ@ßÚÂ@’ÒÂ@ìÃÂ`iÑÂ@9Ì ‚ÒÂà0ÐÂàZÉÂ@¶ÌÂÀˆÞÂÀÊÓ€LÎÂÀúËÂ…Ï€@ЀçÉÂÐÂäÔ vÔÂ`E×Â`iÑ ŽÐÂÀ)ÙÂäÔÂ@¶ÌÂØÖ€·ÑÂ@ÑÂÀ;ÖÂËÂ@ŒÓ ËÂsÒÂÀ›ÆÂ`øÎÂàqÚÂ@ÙÛ FÜ ¾ÈÂ`oÐÂÀâÏ€‡Ù‘ÍÂ`?ØÂ@€Õ€@ÐÂ`]Ó üÝÂ@ŒÓÂÀGԠπçÉÂ`?ØÂsÒ d× ¯Õ hÌÂ ÛØÂ—Ì ¬Ë šÎ€çÉÂàÔÂgÔ >ÓÂ@ñ× ÒÂà¡ÒÂ@ Ô ÉÛ µÔÂmÓ€(ÔÂ@-ÎÂ@€Õ µÔÂU×Â`ÔÔÂ@µá€.Ó€™ÖÂà}ØÂ  Ñ€@РÿÒ€±Ò€íÈÂ`oÐÂ@Õ íÕÂà§ÑÂ`ÉÁ &×ÂØÖ€òÜÂ@žÐ &× íÕÂ`3Ú€“×Âà0РXÙÂÀÊÓÂÀßÂ@°ÍÂàHÌÂ@¶ÌÂU×Â@˜Ñ DÒÂÀ¦ÙÂà¿ÍÂ@ŒÓÂÀ¸ÖÂ`ìÐÂ@!РMÆÂ zÉÂ`WÔÂ@hÙÂ@ Ô ëË PÐÂÀÇÂÀYÑÂ@t×Â`±Å Π»ÓÂÀYÑÂ@žÐ€×ÂOØÂ`žÝ :ÞÂÀÖÑÂ`ÎÕÂ`3ÚÂà6Ï ØÂðÒÂ`ÍÂ`cÒ ùÓ ÏÂÀ²×¢ßÂyÑÂ`òÏÂÀqÍ€ÉÎÂÀYÑÂÀ/ØÂÀqÍÂÀÇÂ@!ÐÂϯÈÂÀâÏÂà$ÒÂàƒ×ÂËÂêÓÂ@¤ÏÂàÜÝ :ÞÂ`¤Ü€iÞÂ@nØÂ ÃÜÂà‰Ö óÔÂ@ÕÂàÕÂÀ¬ØÂ7Ü ÐÂ@ÒÂàYÞÂÀ ÚÂÀ¾ÕÂÀÜЀ‚ÅÂ@¶ÌÂ@¤ÏÂÀkÎÂ`¤Ü€ÛËÂ`]Ó £× ÇÑ€×Â`ÍÂàúØÂaÕÂ`æÑ ^ØÂÀÐÒÂÀ¾ÕÂàîÚÂêÓÂ`KÖÂgÔÂÀ;Ö ·Þ ðßÂÀ5×ÂäÔÂ`ÍÂ`ÎÕ ^ØÂà ÖÂÀßÂÀ²× ÎÂU×ÂOØÂêÓ íÕÂ=ÛÂÀYÑÂmÓÂà<΀vÇÂà×ÉÂ@Ò yÞÂÀeÏ£ÊÂ`?ØÂÀ/ØÂ@Dß &×Â@hÙÂÀYÑÂ@t×ÂÀÚ pÕÂàBÍÂÒ×ÂÀ;ÖÂ`¼ØÂ@žÐÂÀ5×Â`E×Â`iÑÂÀÖÑÂ@÷ÖÂà‰Ö AÈÂÀqÍ 8ÔÂ`uÏ íÕÂ@'ÏÂÀYÑÂà ÖÂÀˆÞ á×€½ÐÂ`!ÝÂ@zÖ€]àÂ`æÑ \ÎÂÀâÏ€±Ò€4Ò€çÉÂÀâÏÂÐÂà­ÐÂà•Ô 2ÕÂ@ýÕ ÿÒ€«ÓÂ@9ÌÂsÒ€@ÐÂàÕÂÀ”Ü ÁÒ€ÖÂIÙÂà íÕ  Í‘Í€ ÙÂÏ #Í ,Ö ØÂ€«ÓÂ`]ÓÂÎÂ`ªÛÂOØÂ@ÑÂ@¤ÏÂ@-Πd×€‡ÙÂ`žÝÂÀúËÂÀÊÂÀ;ÖÂà•ÔÂU×ÂàHÌÂà<ΠjÖÂ`\è ðßÂ@žÐÂà0ЀÕÌÂ`]Ó  ÑÂÀ‰ÉÂêÓÂ@ÔÇ€½Ð ¬ËÂyÑ ¬ËÂ@t×ÂÌØÂ€‡ÙÂ`Ë £×€áÊÂ`iÑÂÀÊÂ`iÑ€pÈÂÀ¸Ö ‚Ò ÓÏÂ@€ÕÂ`'ÜÂäÔÂà§ÑÂÀèÎÂàØÂ€:ÑÂmÓÂ@?ËÂÀúËÂäÔÂ@ëØÂ€™ÖÂà›ÓÂöÑÂ`°Ú #ÍÂÀÄÔÂàNË ëË€É΀ÛËÂöÑÂ@ñ×Âàƒ× ”Ï šÎ€ÏÍ ËÂÀÜÐÂ`¼ØÂà¡Ò€LÎÂüЀÛËÂÀeÏÂÀGÔÂ@KÉÂàÕÂ`ÍÂàÅÌ€½Ð€±ÒÂ@t×ÂàØÂ 5ÊÂ`?ØÂ XÙÂØÖÂÀîÍ ØÂÀ)Ù 2Õ VÏÂ`{΀½ÐÂàúØÂ`°ÚÂÀÖÑÂàéÆÂÀÜÂàwÙÂ`øÎÂ`ÍÂÀMÓÂÀ¾Õ€™Ö ÿÒÂàÕÂ`ªÛÂ`'ÜÂ`æÑÂ@zÖÂ`9Ù 2Õ ÁÒÂàkÛ ùÓ ÎÂ@°Í€{ÛÂgÔÂàîÚÂaÕÂÀ¬ØÂäÔÂ@ŒÓÂ@ÒÂÀèÎÂ`àÒÂàîÚÂàîÚ€]à€4Ò ßÍÂ…Ï ùÓÂÀÖÑ ÇÑ d×Â@zÖÂsÒ ÐÂÀGÔÂ@åÂàâÜÂ@ÓÂÀk΀«ÓÂÀÈÂàHÌÂÀpâ€òÜÂÏÂ@¶ÌÂÀîÍÂÀSÒ £×ÂÎÂ`oÐÂ`ËÂÀ¦Ù åÌ€dÊ€@РñÊ€{ÛÂÀ#ÚÂCÚÂ@ßÚÂÀ²× ŽÐÂÀYÑ€‡ÙÂyÑÂÀ_РâÂÂÀÐÒÂÀ5×Â`¼ØÂàôÙÂà¡Ò ^ØÂ ÇÑÂÀeÏÂðÒÂÀk΀½ÐÂ@°Í€±ÒÂÀ¬ØÂU× ŽÐÂ@˜Ñ Ò ¬ËÂÀwÌÂ@ÈÉÂÀGÔÂöÑ€áÊÂàqÚ ÇÑÂàÓÂ`æÑÂðÒ€RÍÂ@!ÐÂÀMÓÂ`ÚÓÂ@QÈ ßÍ á×ÂÀ²×€·ÑÂ`iÑ ýÈÂ@hÙÂ@ýÕÂà•ÔÂàÑÊÂ@žÐÂÀYÑ ýÈÂà­Ð‘ÍÂàïÅÂÀqÍÂ@'Ï€(Ô tÊÂàÔÂ`æÑÂ[Ö€:ÑÂàwÙ€±ÒÂ@3Í€½ÐÂà­ÐÂ@ñ×ÂÀèÎÂÀÐÒ ÇÑ€ØÂ€‡ÙÂêÓ‘Í µÔÂàÕÂ@nØÂ@ëØÂ@cÅ€ŸÕÂÀMÓÂ@-Π>ÓÂ@PÝÂ`{ÎÂ`ÎÕÂ@’Ò ßÍÂÀ)ÙÂ@ýÕÂà§ÑÂÀ;ÖÂ`ÔÔÂOØÂ óÔÂ@3Í RÚÂÀÄÔ nËÂ`ìРǠ^ØÂÀÇÂ@Ò \ÎÂÌØÂ ùÓ JÑÂÀÊÂ@’Ò€.ÓÂ`iÑÂ@žÐÂÀ¾Õ tÊÂ`æÑÂ@˜ÑÂà¹Î€(Ô€^ËÂÀYÑÂ@ÒÂ`ìÐÂ`Ë pÕÂ`cÒÂà›ÓÂÍÂÀkΊãÂ`°ÚÂ`ÔÔÂà¿ÍÂÀ}ËÂÀ;ÖÂmÓÂÀÖÑÂàÕÂÀk΀·Ñ Ï bÍÂàÔÂ`{ÎÂàTÊÂÐÂÀSÒÂ`9ÙÂ@9Ì ¦ÌÂàZÉÂÀÈ ¦Ì€.Ó nËÂà¡ÒÂ@ÓÜ ÍÐÂ`!Ý ¸ÉÂÀƒÊÂ`°ÚÂ` áÂ`âÂ`QÕ |ÓÂàèÛÂ`iÑÂà­ÐÂmÓÂÀSÒÂ`WÔÂ@'ÏÂ`ÚÓÂà Ö XÙ «à€iÞÂ@µá€XÌÂΠÚ ÏÚÂ@ÇÞÂ@ѺÛÂgÔÂ`ß &×ÂmÓ€ÛË ÁÒ ‚ÒÂ`ËÂ@ýÕ ÁÒ ËÂÀšÛÂ`3ÚÂ`ÍÂàÔÂ`E×€¥ÔÂÀ¾ÕÂÀGÔÂgÔ ÐÂÀ#ÚÂ@t×ÂÀâÏ€ÿÅÂ,É€ÕÌ€:ÑÂ@ªÎÂaÕÂU×€ÖÂÀèÎÂà}ØÂ ÚÂ@ªÎ XÙÂàÔ ÐÂ@ñ×Â@†ÔÂÀ;Ö &× ØÂ€:ÑÂÀÊÓÂ@’ÒÂÐÂ@hÙ€Ö ØÂà¾âÂ@VÜ 8ÔÂ@¤Ï _à5Ê€ØÂÀ¸ÖÂà­ÐÂÌØÂºÛÂ@ëØÂ@¤Ï€×ÂàÔÂ`cÒ€(ÔÂàwÙÂÀ¾ÕÂÀ¡Å ©Ö€@ÐÂàƒ× jÖ Ù šÎÂ@Õ  Ñ êàÂáÂÏÂ`WÔÂ`QÕÂ@!ÐÂÌØÂØÖ Ü€ØÂà¹Î ÓÏÂà*Ñ |ÓÂàwÙÂäÔÂ@†ÔÂàÐßÂ@ëØÂÏÂà§ÑÂ[ÖÂÀÚÂÀMÓÂ`]Ó >Ó |Ó€×ÂàÕÂU× ÃÜÂ`E×Â@˜Ñ AÈÂ`cÒÂ`'ÜÂÀˆÞÂÀÿ߀½ÐÂ@\ÛÂ`Â×€øÛÂÐÂàÓ ùÓÂ`WÔÂà0ÐÂØÖÂÀSÒÂ`3Ú &×ÂÌØÂ ñÊ€:ÑÂà›Ó  ÑÂ`’ßÂà§ÑÂà•ÔÂ`iÑ€ŸÕÂ`cÒÂ@'ÏÂÀÊÓ ÁÒ€þÚ€±Ò ùÓ ÓÏ Ò ¯Õ€ ÙÂ@åÙÂàwÙÂÀâÏÂÀYÑÂà­ÐÂÏÂà§ÑÂàÔ &×Â`WÔÂÀˆÞÂàqÚÂ%ß OåÂà‰ÖÂ`QÕÂÀ)ÙÂÀ/ØÂ€ØÂàèÛÂgÔÂ[ÖÂ@8á zÉ€ÏÍÂ@ñ×ÂmÓ€“×Â`ŸÈÂà*ÑÂ@°Í€"Õ€:Ñ á×€ØÂ€dÊ€4ÒÂà¹ÎÂÐÂ[ÖÂ@åÙÂà›ÓÂÀ}Ë ÕÙ ØÂ ÙÂ@>à€ ÙÂ`¶ÙÂ`Ë Ú ^ØÂà¡Ò€òÜ€]àÂõæÂàÖÞ vÔÂàqÚÂ@\ÛÂ@Á߀™ÖÂ`¶ÙÂÀóáÂà_Ý ØÂáÂ+ÞÂà;ãÂØÖÂ@ßÚ ÙÂ`Â×ÂÀèÎÂÀ”ÜÂ@÷Ö€]àÂÀÐÒÂÀ)ÙÂÀ#ÚÂÀ#ÚÂÀÝ ‘Ú ½Ý ÙΠçÖ€Ú€ØÂÀSÒÂÀ²×Â`ªÛÂ`†á "âÂÀ²×€±ÒÂsÒÂÌØÂÀ/ØÂàÊࠣלàÂÀÜ ^ØÂÀÛ óÔÂ@hÙ€ìÝ ä FÜ ÇÑ @Ý€æÞ üÝ Ý jÖÂÀeÏ€4ÒÂ@\ÛÂàúØÂÀ¦ÙÂÀÜÐÂÀ¾Õ ÝÂÀ¸ÖÂ@ÙÛÂ`°Ú€uÜÂ@†Ô€.ÓÂ%ß IæÂ`ÞÂàÊà Ü€ÔáÂà}ØÂ€ÚÂ`â€KãÂÀ Ú€àßÂÀùà€ÚÂ@ëØÂ€àßÂ`ÈÖÂ@Á߀ÚàÂÀjã€QâÂöÑ€òÜÂûåÂàÄáÂÀ¬ØÂÒ×Â@ßÚÂÀ¬ØÂ ÝœàÂ@PÝÂàqÚÂà¾âÂÀóá ,Ö µÔ€ÔáÂ@ê aâÂaÕÂÀÜÂ ÛØÂ`'ÜÂàÓÂÀ”Ü ØÂ@bÚ€ Ù äáÂ@å€:ÑÂÀváÂ`zãÂÀ^åÂ`ÎÕÂà‰ÖÂÀîÍÂà}ØÂŠãÂ@2âÂÀÜÂ@DßÂ@¯â aâÂ`†á ÕÙ®ÝÂÆÙÂàèÛÂ`¶Ù 〇ÙÂÀ¸ÖÂàúØÂ`ÞŠãÂ@,ãÂà× ÉÛÂ@>àÂ`KÖÂà*ÑÂÏ€àßÂ`tä ÞâÂÀÊÓÂÀÛÂ@ÇÞÂÀçãÂÀÄÔ€™ÖÂÀ Ú aâ€QâÂÀ¦Ù€ÃÏÂàÂÀ¦ÙÂàÄá 䀟ÕÂàMà 4ßÂ@éÂ`à€òÜÂ`ìЀÚÂ`ÎÕ óÔ @ÝÂäÔÂaÕ pÕÂ`àÂ@¯âÂüÐÂU×€ÚÂàkÛÂÀíâ€{ÛÂ`nåÂ@åÙÂà•Ô€ØÂÀYÑÂ@ñ×Â`uÏÂÀŽÝÂ@\ÛÂÆÙ åÌ€‡ÙÂÆÙ€ØÂ@JÞÂêÓ ÏÚÂ@ëØÂ UäÂ@ Ô ‹ÛÂ`'ÜÂ`àÂ@ëØÂÀ/ØÂ`9ÙÂ`æÑ ”ÏÂ@žÐÂàÕÂàƒ×Â`E× RÚ€Ú€ØÂºÛ‹Î VÏÂ@ñ×Â@!ÐÂ`cÒÂà*Ñ "âÂÌØÂàôÙÂ=Û >ÓÂÀÛÂ` áÂà0ÐÂÀÜÂÞÕÂ@bÚÂ`-Û ^ØÂ üÝ ÝÂÀÊÓ€cß êàÂà;ãÂ7ÜÂÀÊÓÂ@ÙÛÂÀ¸Ö ”ÏÂÀÊÓÂÀYÑÂ@ßÚÂË€±Ò ÇÑÂ`‡Ì ÜÂàâÜÂÀÛÂ@QÈÂ@hÙÂ`-ÛÂÀ|àÂ`KÖ€“× ØÂ€ÚÂ`QÕ /Ë£ÊÂÀAÕ ,ÖÂ@ÇÞÂÒ× 2ÕÂÀÖÑ€þÚÂ`WÔÂ%ßÂ`cÒÂ@Ò‘ÍÂêÓ ÓÏÂÀËÂ`ÎÕÂà*ÑÂÀ;ÖÂà$Ò€·Ñ ¯ÕÂ@KÉÂÀ¦Ù ÙÂÀ;ÖÂ`ÍÂÀâÏÂà¹Î ‘ÚÂOØÂ`æÑÂüЀ±Ò€{Û 8Ô€çÉ ÒÂ`Â×ÂàNËÂgÔÂU×Â`uÏ  Ñ  Í€{Û £×€Ú ËÂàTÊ ˆÑÂ@†Ô &× ‚Ò€ˆÄ ÄÇÂ`ÔÔÂ`æÑÂÀôÌÂ@ŒÓ€ÉÎÂÀèÎÂ@¼ËÂ@¤ÏÂ`9ÙÂ`cÒÂ@?ËÂ@WÇ€™ÖÂ`Â×Â`àÒ€ÏÍ PÐÂÏÂ`ÚÓÂÞÕ€ØÂäÔÂ@°ÍÂ`þÍÂ@ÈÉÂ`ÚÓÂ`¼ØÂyÑÂÀ ÉÂ@àÅÂêÓÂàBÍÂÀôÌÂà<Π5ÊÂÀÆÂ@ÔÇÂà0РêàÂmÓÂà¡Ò ²ÊÂ@ ¿ÂVÂÂΠÐÅ€4Ò ÃÜÂàÝÈÂÐÂ@ÑÂà0ÐÂ`ªÛÂÀ²×Â@Ó Ù€"Õ vÔ ¯Õ€¥ÔÂÀ¦ÙÂà‰ÖÂ`oÐÂÀqÍ€Ú€½ÐÂàBÍ ÏÚÂ`ÎÕÂ`¶Ù€{Û€{ÛÂ`!Ý vÔÂ@!ÐÂÀÊÓÂÀ#Ú€«Ó€:ÑÂ`øÎÂà•Ô—Ì ˆÑ€·Ñ€¥Ô€(Ô€ØÂ=ÛÂà$ÒÂàÕ€™ÖÂÀ)Ù‹ÎÂ`"ÈÂ`ÎÕÂÀ5× jÖÂ@-΀×€{Û ùÓ€LÎÂÀƒÊÂ@9Ì ¯Õ ÃÜ ©Ö€ÃÏÂ@’ÒÂ`ÈÖÂà_ÝÂyÑÂ`uÏÂ0ª àšNÃPGÃÀ0CÃðX;à=ðE9ÃàÞ3Ã`‚8Ãðí7Ã`#3ð]5ÃÀ 4ÃÂ0ÃÀ%0ð"*Ã0U,Ã`_)ô$à F(ÃP£,ÃPJ&ÀÑ#Ç%ÃPP%ÃàP!à d#Ç%Ã@²#Ã{#ÃðÀlÃ0#ÃÀð#Ãò$Ãà\Ãð} ÃÌ ÃpÎÃÀðÿàÆÃàëëà ”ÀûÃàŒàêÃPÃÐ/ Ãð§Ãð¿à 5àgÃÀ¯ÃðÃ0Jà /à ‚àCÃðHÃÐqÃÀ\àäÃ@ƒÃà°ÃPKÃð0À®àÃ`éÃà¶ðŽð5Ãà3à‹ÃPà Ã0ßÀð ÃPQÃpÈÃ` Ã0†à AÃÃPÔðk à, à eÃ`ÝÀ+Ã@$ÃÀnàÃ` ÃÿÃÿ Ã`~ð_ Ã0zãÃD ðwàD à ú Ã@¿ Ã@×Ã€Þ ÃС à» ÃпÃðà î ðY Ã`„ÃpXÃPÃÀ ÃÐNÃÀ† Ã@T à ÀyÃtÃ@ïàëÃÐBÃ`1ÃÀ˜àbÃ@ãðe Ãй Ã0àÃÄà  Àðƒà ÃÐàD ÀÃP.ÃMÀÃÐÑÃй ìÃÀ Ã`´àzÃ0ÔÃpíÃð®ÃÐãÀ£þÃðœÀ©Ã€&ÃYÃ`1Ã@ûà NúÂÀ9à §Ãâð Ãð®ÃwûÂSÃð¢ðÃ@ûÃôûÂÀEþÂ@~ÿÂÊÃ`UþÂ`÷Â`IàtÃ`äûÂà±ùÂàŸüÂ0]Ã`ÌÿÂ0cÃÀWûÂÀ—ÃpvÃ`ÌÃP.Ãàpï òÂÃà¥û ¹ýÂ@¨øÂ`äûÂpÿð$ÃÐïÃkýÂ@þÂ÷Â`ü÷ cìÂà@÷ÂÀQü ³þ 6þÂÀQü †ûÂ`äûÂ@~ÿÂ`ØýÂÀWûÂà½÷ 0ÿÂ`[Ãà±ù ¿üÂÀ]úÂ`Uþ ˜øÂÀKÃÀQü Ý÷Â_Ã@®÷Â_ÿ€&þÂà½÷Â@ ý ³þÂwûÂ0ÔÃ@OòÂÀo÷  ûÂ`sù -õÂ@IóÂà4ùÂÀKýÂâþ•öÂàjð rôÂà4ù€ëò Âñ ?òÂ@=õ òÂ`÷€ëòÂàýÂkÃ@ŠÃ  ûÂ`…öÂÀþô 3ô ŠðÂà:øÂ`múÂÀ¼ÿÂÀŸï€žêÂÀôÂ÷ÂÀ±ì ’ù€Ùõ€†îÂ@ºõ€>úÂ`ðù€Áù „ñÂ~倀êÂàì€bôÂÀ«íÂ`gû ÑùÂ@Þï ìêÂ@gîÂÀ"ïÂàˆëÂ`ëå –îÂxæÂ ò ÈðÂàÛòÂàçðÂ`&ñÂÀWû ¢ì€\õÂ ×øÂ`>íÂàšèÂÀ±ìÂ`ÍêÂ@aï›õÂà/åÂÀð€÷ðÂ@êÂ`DìÂÀ]úÂ*ó äáÂÀFé IæÂ`Óé­òÂà”é€í øè Òä ÈðÂÀÏçÂàjðÂ<ð ¼òÂõæÂ ÆæÂ@,ãÂ@gîÂ$ô€ªè€ìÂÀð€!êÂ`åæÂà;ã WîÂÀ±ì þç€ýïÂ@…é %쀘ëÂ`JëÂ@…é øè lõÂàˆë æëÂ`ê€ï uéÂ`hæÂÀ^åÂ` áÂ@gîÂ@…é 4ß `÷ÂàŽê€ëò ÅûÂ@ÒñÂ`óÂ` òÂ`b瀘렪õ€¼åÂÀdäÂÀ™ð cìÂÀÕæÂ CçÂ`÷ãÂÀ óÂÀòÂ€ÇøÂ`VéÂ`Óé øèÂ@êíÂ@êÂà”é øèÂÀŸïÂ@…éÂ ÆæÂ QïÂ`ýâ ’ùÂ`»í€˜ë€?å ûò WîÂ`ÍêÂÀRç ¼òÂÀiøÂ@ê¹ðÂ`‘ôÂïçÂ`Jë 1êÂÀLè ºèÂ`÷ã€tñÂÀçã ™ãÂ@ê€ìÂ6ñÂõæÂ@yëÂàùíÂ`ÙèÂÀçãÂ`täÂÀòöÂÀÏçÂà¸ãÂ@éÂÀøõÂ@OòÂ`Vé€P÷ –îÂ@©ã€ÚàÂõæÂ€3çÂàvîÂ`>íÂàóî§ó rôÂ@üêÂ@öëÂTìÂà ëÂà¬åÂ`täÂ`PêÂ@å ž÷Â@Uñ€oÝÂ@ÇÞ UäÂ`µî oêÂ@êíÂ@£ä Ôî «à ÎïÂÀŸï ã 3ôÂ@©ãÂÀóá òé øèÂ@üê€ëÂ@æÂà ëÂÝê ÎïÂ`Pê ®êÂ*óÂöÂà5äÂÀ½ê ¼òÂ@&äÂÀdäÂ`€âÂ`êÂàèÂÀFéÂ`¯ï ¨ë  æÂ€žêÂÀ@ê ï OåÂâÂ`PêÂÀ߀†îÂ`ýâÂà‚ì›õ ¨ëÂÀÃéÂûåÂàÄáÂ`bç œí {èÂÀ4ìÂïçÂÀŸïÂÀ·ë€ªè oêÂ@ê íÂ`ÇëÂ`2ï€Eä€ÂäÂÀ”ÜÂ@£äÂ@»à€]àÂ`ñäÂà¬å òé„äÂZëÂàšèÂÀˆÞÂà¬åÂõæÂ€ªèÂËí€9æÂ€QâÂÀpâÂà ëÂ@bÚÂ`hæÂ@»àÂ@ê¢ßÂ@öëÂàÖÞÂÀ(î ìêÂ`tä IæÂà¾âÂ~åÂ<ðÂÀô€¤é€žê€?åÂ@míÂ`ê€ï CçÂÀRç ÔîÂ`ŒàÂà#çÂÀFéÂ`©ðÂ`ÓéÂ@‘çÂTìÂ@ðì ÀçÂ`,ðÂ`>íÂÀváÂ@åÂàŽê ï€¶æÂ@»àºÛÂÀ.íÂÀ«íÂ`òÂà”éÂxæÂÀð ÒäÂà)æÂÀRçÂàè äá€hóÂ`’ßÂàMà +ë ïÂ@ÙÛÂÀ4ìÂ0òÂÀjãÂ`Þ€QâÂféÂ@êÂ`nåÂàÄáÂÀÕæÂ¹ðÂlèÂ`KÖ€ÎâÂ@ å UäÂ`Œà€¶æÂ` áÂ@µá€ÔáÂÀRçÂ`ß æë€žêÂÀ^å äÂàè€øÛÂÀLè¿ï å Ý åœàÂ`˜ÞÂÀvá€ÚàŠãÂÀÉèÂ`ñäÂ@ å IæÂ@—æÂ ã ÌåÂÀÉè ç XÙ–áÂÀÕæÂ íÂ`Dì€ìÂ@ê Àç å îÂà/åÂ6ñ€¶æÂà ëÂ@DßÂ@Pݮݠ@Ý [ãÂ@2â€9æÂ`ÁìÂ@©ãÂÀjã ´é„äÂ`bçÂ@ÓÜÂ7Ü€oÝÂÀÊÓÂ@…é€-èÂ`täÂ@sìÂ@£ä€'éÂ`ÈÖ @ÝÂ@—æÂ@üêÂ~å€EäÂáÂà_ÝÂ@©ã ÌåÂÀçãÂÀ(îÂÀ:ëÂàêÂà¸ã€uÜÂ`÷ã€à߀ïÂÀ^åÂÀÃ逼åÂâÂàÊàÂ@>àÂ@£ä aâÂàšè€iÞÂÀÝÂÀíâ .àÂàŽêÂ`‹õÂ`àÂÀùà€þÚÂ`ªÛÂ@JÞÂàîÚÂ@\ÛÂàúØÂÀj〶æÂ ·Þ€3çÂ@ê€ÎâÂ`hæÂ@zÖ€‡ÙÂÀpâÂ`ñäÂà¾â€°çÂ@éÂà çÂ`ÁìÂÀ‚߀cßÂ@öë€ë€íÂÀ½êÂlè òéÂÀ”ÜÂ@ å ºè ãÂãéÂxæÂÀáäÂÀ‚ßÂàAâ Òä  æÂ`€â€ÔáÂâÂ`VéÂà)æÂà¦æÂÀÏç ðßÂÀ ÞÂÀ(îÂ@£ä ÚÂàóîÂ@‘ç–á [〒ìÂ@èÂÀóáÂ堺蠴éÂ@è ®êÂ`ýâ ñÂÀ½êÂ@—æÂ LÛ Û oê€iÞÂ`!ÝÂ`E×€EäÂÀÝ á×ÂÀ‚߀Âä ·Þ€ÔáÂ@,ãÂÀLè€?åÂàÄáÂ`ßçÂ ÆæÂ€†îÂàAâÂ@ÓÂ@æÂËí 4ßÂàÐßÂ@yëÂàYÞ€àßÂ$ô€Âä ÒäÂ`åæÂàšè Úí Îï %ìÂ`æÑÂÀ/ØÂ Ÿâ 7éÂàçðÂà¾â€Èã çÂTìÂ@¯âÂÀùà€oÝÂHèÂ@öëÂÀ4ìÂà;ãÂàé øèÂÀRçÂ@üêÂ`ëå (á€í€tñÂlèÂâ ðß åÂ`ñä aâÂ@»à äáÂ`µîÂÝê›õÂ×ë€\õÂà#çÂà¬åÂÀRç ®êÂ@sìÂà¬åÂàAâ °ôÂ`žÝÂ+ÞÂï瀆î cì cì ™ã \ÎÂ@öëÂàšè€æÞ€Îâ€àßÂ@©ã€¤éÂ`ñä ¥áÂàêÂûåÂÀ(îÂ`2ï€ì ¥á "â€ïÂà ë„ä ·ÞÂàšèÂÀÛåÂ`åæÂ€ìÝÂ@,ã Þâ “äÂà)æÂàGáÂ@æÂ@‹è WîÂ@ðìÂrçÂà¦æÂ€tñÂÝêÂ@倆î çŠãÂÀÿßÂ`2ï€!êÂÀ·ë sßÂàÊà€¼å gá€àßÂÀ”Ü 7éÂõæÂ`Ù耤éÂà;ãÂ`€â€cß å€àßÂÀáäÂ@hÙ òé  æÂ@‹èŠãÂà¸ãÂ@8áÂÀp‰ç€K〒ì ,ÖÂ%ßÂïç óÔÂ@ÇÞ ´é€hó äÂéè =èÂÀ ÞÂàÐߊãÂà¬å +ëÂ@‹èÂ@‹èÂ`ýâ ã Òä€ì€-è€'é€þÚÂÀóá XÙÂà_ÝÂÀß OåÂ@ëØÂ€uÜ Hû =èÂÀáä€àßÂÀ·ëÂ@èÂÀóáÂà¦æÂÀváÂÀµ˜Â#ŒÁ€Ü¶Á€ˆÄÁ£ÊÁ€KãÁ@¿ ÂkÂÀ&ÂíÂÀx7ÂÀÝ;Â@ÿ+ÂÀ´-Â@d0€G:€ˆDÂÀï8ÂÀJ€G:ÂIYÂ@Ó\ÂÀˆ^ÂÀZ€ YÂ@÷V€kÂdÂ}zÂq|ÂãiÂÀrÂ@üjÂÀQ|ÂÀ3„€‚ÂÅnÂ@êmÂÀRgÂÀuvÂ@„~€©}ÂYƒÂ`+ˆÂ€ÇxÂÀ"oÂÀ ‹Â`‹Â¸ˆÂ@+xÂÜÂYƒÂ@ÂÀ?‚€s‰Â@’Â@*ÂÀȀ ÂÀ˜ˆÂ Â`´†Â D‰ÂÀzÂ` ÂÀë P‡Âj•ÂàhÂÀŒÂ^—Â`~Âàý™Â …“ ēÂ@}— ð–Â@e›Â€–˜Â`ÂÀñŽÂ@•“Â`r‘Â`ݔ Ö€›Â`¿™Â #™Â šÂओÂ`§Â ¦Â@ÖÂÀnÂLšÂ@“Âá–ˆÂÀ  ›ÂàÓ Â@œÂ L§Â ®¡ÂàP¡Â€+•Â@_œÂ໤Â`YªÂ`*€õÂc«Â‡¥Â@ ¦Â€H¥Âà2¦Â€H¥Â¤Â€×¢Â ¤ÂÀÞ¦Â`î¦Â€®Â ¦Â`_©ÂÀê¤ÂÀا õªÂ B³Â@p®Â`ʬ @©Â€¹§Â j¢Â°Â¦Â@«Â @©Â` ³Â° :ªÂÀ%°Â@۱ ™¯ÂÀU¨ÂÀãºÂ`¬±ÂÀ~¶ÂE°ÂQ®ÂÀ±Â@ÿ«Â`ô¥Â ¥­ÂàI·Â `®Â€­©Â°Â`š´Â¸Â WºÂ “°Â <´Â æ·Â€³¨Âà«Âà©Â`5°Â¸ÂÀãºÂ ¹Â€ÄºÂ ÔºÂ`ÉÁÂÀ~¶Â€»Â`¦²ÂÀx·Â ¼¾Â ú¾Â 0¶ÂÀ´­Â€¾»Â`ÿ¸Â@(ºÂ@À€;¼Â`¦²Â€¾»Â€¦¿Â SÅÂ@þÀ€î³Âà=¹Â@@¶Â·Âഺ€ַÂ9²Â€GºÂ€eµÂ€Ö·Â ¼¾ÂààeÂÂ@L´ÂÀBÀ λÂ`տ Üàâ YÄÂÀ ´Â€šÁÂà¿Â€íÈ€âµÂ@.¹Â@ ¿Â`:Ä€M¹Â@oà§·Â`|¹Â@½Â ‰¼ÂÀ~¶ÂÀH¿ÂÀãºÂàõÄÂÀfºÂ€¬¾Â€ Ä ­¶ÂÇÄÂÀ$ŵǠŒÆÂ€¬¾ÂÀÅ¿Â`)²Â@õÂà=¹Â`p»ÂVÂÂh¿Â ½Â€vÇÂ@½¶Â`^¾Â ÖÄ ȼ€¸¼ÂÀ˾ÂàfÇ ±ÂÀ§ÄÂ@àÅÂÀݻ hÌÂÓ€A»Â -Á /ËÂÀ¹Á€¦¿ÂJÄÂàÀ€Á€jÉÂÓ ÄÇ Ժ e 9¿Â kÁÂÀ•ÇÂàÀÂÀſ )Ì ¤ÂÂÀYÑ—ÌÂÀèÎÂ`“Ê ¤ÂÂÀ‰ÉÂ@iÄÂ`4ÅÂà®»Â@oàhÌÂÀîÍÂàûÃÂÀ ÉÂÏÂ`oЀÛËÂn¾Â E½Â€ÛËÂ`^¾Â@ÚÆÂ@QÈÂ@À zÉÂ`Í €ÈÂàZÉÂËÂÀ¡Å ¾Â €È¯ÈÂÀBÀÂ`:ÄÂà ÁÂ`¥ÇÂÀ ÉÂàrÅ w¿Â )Ì zÉÂ@?Ë»ÆÂÀfºÂ zÉÂÀ6ÂÂàrÅÂ` Ì MÆÂÀH¿ÂÀ›ÆÂñ½Â€jÉ èÁÂh¿ÂàÅÌ #Í€:ÑÂ`øÎÂ@-ÎÂÏÂÀ0ÃÂÀÈÂ`:ÄÂÀ}ËÂàHÌ e nË€RÍÂàïÅÂ@àÅ€vǑ̀XÌÂÀYÑÂbÀ AÈÂ`¥ÇÂ@iÄÂà–¿ÂÇÄÂn¾Â ÏÂ@ÂÊÂ@3ÍÂ`™ÉÂÇÄÂ@ÀÂ`"ÈÂÀBÀ€íÈÂ`ÍÂÍÃÂàNËÂ@u GÇÂ ÊÆÂ nË€jÉ ÄÇÂë¾Â@¶Ì€FÏÂÀYÑÂ`ŸÈÂ8ÇÂ@?ËÂ`@ÃÂ@iÄÂ`X¿Â@9ÌÂÌÂ@òÂÂàÀ€ÁÂ`þÍ€ÿÅ ÆÂ †ÇÂÀ0ÃÂÀ³ÂÂàïÅÂÀ É šÎÂÀîÍ kÁ€óÇ ú¾Â ¾È€‚ÅÂn¾Â ªÁ€óÇÂ`.ÆÂàËËÂÀkÎÂJÄ»ÆÂÀ<ÁÂàxÄÂÀ¡ÅÂ>ÆÂÙÁÂ@ÎÈ€ÿÅÂbÀÂ@WÇÂ`·ÄÂÁÅ€dÊÂÀ0ÃÂ@QÈÂ@æÄÂ@3ÍÂÏÂÀ›ÆÂDÅÂÀ$ÅÂàïÅÂà`È GÇÂÀÊÂÀ_РhÌ tÊ€ÿÅÂ@ÎȯÈÂDÅÂÀ}ËÂÀ*ÄÂ`‡ÌÂU×Â8Ç—Ì£ÊÂaÕÂJÄÂßÀÂ@]ÆÂ`«ÆÂÀ ÉÂ@øÁ nË€jÉÂ2ÈÂÀBÀÂ`Û¾ÂàïÅÂÀ›ÆÂ@]ÆÂ λÂÀ‰ÉÂ`±ÅÂà`ÈÂà×ÉÂÀ•ÇÂÀôÌ€#ÀÂÀÈ€¸¼Â žÃÂ`ÉÂÀwÌ€ˆÄÂ`@ûÆÂ@ÂÊÂ`±ÅÂàrÅ€FÏÂàËË ’ÅÂÀ`»Â€)¿ÂPÃÂêÓ DÒÂÍ€@ЯȠzÉÂ@-ÎÂ`4ÅÂÀÈ ¦ÌÂàÓ °ÀÂJÄÂÀÜÐÂÍ€vÇÂbÀÂÍÂÀYÑÂ`Ë€ÅÂÀ³Â€±Ò ‰¼Â2ÈÂ@°ÍÂÀMÓ eÂÂÀ¿À â ÇÂ਼Â`Í€ÅÂÀÆÂà¹ÎÂbÀÂà¿ÂÀ É€ÛËÂРzÉ ñÊÂ`‡ÌÂÀËÂ…ÏÂà•ÔÂÐÂ@˜Ñ íÕÂ@ñ× |ÓÂàZÉÂ@ÎÈÂ`àÒÂ2È ¦ÌÂÍÂ@?Ë ;ÉÂÀ}ËÂ`àÒ íÕ ÎÂ`É †ÇÂÍ ëËÂà›Ó€ÛËÂ`ÚÓÂ@Ó ñÊÂ`ªÛ ’ÅÂÀÖÑÂàNË€4ÒÂ`ÉÂàZÉÂ`ɠπ·ÑÂðÒ Ë £×ÂÀÊÓÂ@Ò 5Ê VÏ»ÆÂàÅÌ€ÃÏÂÀ ÉÂÀ¿À SÅ ΀RÍÂ@ÒÂgÔÂ`ÎÕÂÀ ÉÂÌÂ@oÃÂÀÐÒÂÀÜÐÂà³ÏÂ@ÂÊÂ@QÈ Ò»ÆÂà}ØÂ€ÏÍ  Ñ ÍÐÂà}ØÂ@3ÍÂ`¤ÜÂÀËÂ`ËÂ`òÏ ùÓÂÀGÔÂöÑÂà<Πˠ ÑÂÀ¸Ö VÏ >Ó ÿÒÂà­Ð€½Ð€(Ô ØÂ@ŒÓÂÀôÌÂ@¤ÏÂ@žÐ ùÓÂ`]Ó VÏ€RÍ€:ÑÂÍÂ@°Í ŒÆÂ`]ÓÂ@!Р2ÕÂgÔ€½Ð€dÊÂ`E×€ùÆÂàïÅÂ`“Ê€ŸÕÂà$Ò ëË€×Â@†ÔÂÞÕÂÌ€«ÓÂàTÊÂ`iÑÂ@†ÔÂà`È ÓÏÂmÓ ÓÏÂ2È ùÓÂàãÇÂÀÐÒ€Ö€“× šÎÂ`ÎÕÂ`¥Ç€|ÆÂ —ÙÂ`]ÓÂ@¤ÏÂÀÖÑÂ`uÏ€LÎÂÀÄÔÂ@3ÍÂÀâÏ n˯Ȁ:ÑÂà×ÂΠ8ÔÂà³Ï€·Ñ€×ÂÀYÑ€RÍÂÀÆÂ€‚ÅÂÀ_Ѐ:ÑÂÀ³ÂÂÀ}ËÂyÑÂ`ÔÔ€ÕÌÂÀÐÒ‹ÎÂà×€±Ò pÕ€:Ñ  ÑÂÀSÒÂ@PÝ€"ÕÂaÕ ”ÏÂgÔ ^ØÂ —ÙÂ@KÉÂÆÙÂ`Â× »ÓÂ[ÖÂà0ÐÂÀ¾ÕÂàÓ hÌÂU×ÂÀAÕÂ@ ÔÂà‰Ö€¥ÔÂ&ÊÂ`?ØÂ@bÚ ‹ÛÂàxÄÂà¡ÒÂüР8Ô€ØÂàËËÂ`±ÅÂÀîÍÂyÑÂ`3ÚÂÀÖÑÂà¹ÎÂ`ìЀXÌÂ@ÂÊ ÁÒÂ`°Ú РëË€RÍ &×ÂÀóá ÷ÉÂ@bÚ€ÖÂ@€ÕÂ@>àÂÀMÓÂ`QÕÂyÑ çÖ ØÂ «àÂ`-ÛÂà•ÔÂÏÂ`¶ÙÂ[ÖÂÀâÏÂàÅÌÂÀ¬ØÂ@VÜÂà¹ÎÂ`{ÎÂ@¼ËÂÀ¾Õ€ ÙÂ`ŒàÂ@ñ×ÂàBÍÂÀÜЀÏÍ€ÕÌ ëË ÁÒÂàTÊÂ`ÎÕÂÀ¦Ù 8ÔÂÀÐÒÂÀkÎÂÀúË —ÙÂ`oÐÂ@°Í ˆÑ  ÑÂÀ ÚÂmÓ »ÓÂ@t×Â@Ó€¥ÔÂ`æÑÂ`’߀"Õ€uÜÂÀèÎÂÀÝ€4ÒÂà¹Î€:Ñ  ÑÂÀôÌ &×Â`¤Ü€“×Â@ÕÂ@ÙÛ‘Í€“×Â`ªÛ€4ÒÂà6ÏÂÐÂà§ÑÂ@ýÕÂ@-ÎÂ`?ØÂàôÙ ©ÖÂÀ ÞÂÀ¸ÖÂàqÚÂÀ²×€"ÕÂà§ÑÂöÑÂ`òÏÂmÓ ùÓÂà$Ò ˆÑÂàÕÂÀ É |ÓÂ`?ØÂÀ)ÙÂÀ¾ÕÂà‰ÖÂ@ÓÂ@ÓÜ€Ú€:Ñ çÖÂÀ/ØÂà›ÓÂÀ¾Õ ÐÂÏ  ÑÂÀ ÚÂ@3ÍÂà³Ï ðß ÁÒÂ`?ØÂà Ö ØÂ€“× tÊÂ@EÊ€:Ñ ØÂàNËÂ@!ÐÂÀkÎÂ@ÑÂ`‡Ì µÔÂgÔ |ÓÂ@˜ÑÂäÔÂ`WÔ ÍЀ×ÂØÖÂ@9ÌÂÏÂ`9ÙÂ`KÖÂÀËÂÀÐÒ€c߀oÝ ²Ê€ÚÂ`Œà üÝ€XÌÂà›ÓÂàZÉÂ@˜Ñ Ú šÎÂà$Ò èÁÂ`ÚÓÂ@˜ÑÂà•ÔÂØÖÂÀwÌÂ@’ÒÂ@ÈÉÂà•ÔÂ@ÕÂIÙÂÀÜÐÂØÖÂ`ìÐÂÀèΠšÎÂ`ÎÕ€XÌ >Ó€(Ô ˆÑ€RÍÂÀwÌ ÿÒÂ`{ÎÂÀÖÑÂÀèÎÂà¿ÍÂ`ÔÔÂ@!РˆÑ ßÍÂΑ͠FÜÂàÕÂÀ¦Ù ŒÆÂàÕÂ=Û 8Ô †ÇÂöÑÂ@Ñ€ØÂ@Ò ñÊ jÖÂ@ÒÂ@!ÐÂ@ÓÜÂÀÖÑ‘ÍÂaÕÂàÕÂ@ ÔÂØÖ hÌÂà<Π|ÓÂà­Ð ,ÖÂU×ÂàkÛÂsÒ ÍÐÂ@¼Ë ŒÆÂêÓÂ@ÒÂ@÷ÖÂ΀Ö £×ÂÀ¾Õ PЀóÇ †ÇÂ`¶Ù€XÌÂ`ÔÔ ;É vÔÂ@°ÍÂØÖ £×Â@ýÕÂ@ÒÂÍÂ@ÓÂ@†ÔÂàHÌÂ`ËÂ`Â× £×ÂÀÜÐÂàƒ×€ÏÍÂ` Ì€ÉÎÂ@¯âÂà¡ÒÂà$Ò |ÓÂ`uÏÂ@9ÌÂ@zÖ€ÕÌÂ8ÇÂ@€ÕÂà­ÐÂà Ö )Ì€:ÑÂðÒÂàÕÂ@ëØÂ@åÙ€òÜÂàTÊÂà¡ÒÂ`E× FÜ Ò ØÂ@zÖÂ@VÜÂ@ÕÂ`ÞÂÐÂ@Õ ýÈ€‡Ù€Ö€±Ò€Ö ËÂÀÛ …Ü 5ÊÂ@¤ÏÂ@˜ÑÂàËË€ÕÌ \Π,ÖÂ@ýÕÂÀÐÒÂ`ËÂ`{ÎÂ@ÙÛÂ`!Ý€ìÝÂÀ¾ÕÂ`nåÂ`ªÛÂ@ŒÓ€:ÑÂÀ¾ÕÂàÕ€ŸÕ€±Ò çÖÂÒ×Â`žÝÂ+ÞÂà­ÐÂ@ ÔÂÏ d×Â@zÖÂ@nØÂà§ÑÂÏÂÀSÒ€^ËÂÌØÂ€‡ÙÂ@†Ô€½ÐÂàqÚ€ØÂ`ÚÓ ùÓÂÀMÓ ,ÖÂ`QÕÂ`ÎÕ Ÿâ ÿÒÂÀôÌÂÀ/ØÂÀÊÓÂ@!РÐÂÀkÎÂ`'ÜÂÀÖÑÂàÓÂà6Ï ©ÖÂ@-ÎÂêÓÂàeÜÂgÔ JÑÂ@zÖÂ`ÎÕÂÀ¦ÙÂÀ;ÖÂÀÛ€™ÖÂ`]Ó€òÜÂà­Ð ¯Õ 2ÕÂ`oÐÂÀ”Ü€ÏÍÂàƒ× ¯ÕÂÀ ÚÂÀSÒ€XÌ \ÎÂàúØÂàNË jÖÂ`øÎÂÀÄÔÂ`QÕ ßÍ ‚ÒÂ@÷ÖÂÀAÕÂ@hÙÂ`ÎÕÂ@Ò |Ó€‡ÙÂsÒÂ`àÒÂ@ªÎÂIÙÂÀ)ÙÂ@åÙÂ`KÖÂ`'ÜÂ@¤ÏÂ`«ÆÂ€½Ð —Ù ÁÒ€.Ó€·ÑÂ@-΀pÈÂ@ÓÂgÔÂ`ÊÂàËËÂ@-ÎÂÀeÏÂÍÂÀ¸Ö€ÖÂÀ¦ÙÂ@Ò ÷É€ÖÂÀ¬ØÂ€ÃÏ &× ØÂ` áÂÀ¾ÕÂ@hÙ »ÓÂÌØÂIÙÂàÕÂÀ¦ÙÂ`Â× 8ÔÂ`™ÉÂ`{Π^ØÂ€¥ÔÂ`ÚÓ —ÙÂÐÂ@ÈÉ€ÛË€±ÒÂ@Ó€ÕÌÂàÜÝÂÀGÔÂêÓÂ@ÈÉ åÌ Ò€ØÂ`Í vÔ Ò DÒÂÀ ÉÂ@ŒÓ óÔ€±Ò€áÊÂsÒÂIÙÂÀYÑ RÚ µÔÂà<΀·ÑÂà›Ó )Ì bÍÂÀeÏ€‡Ù€“×ÂàwÙÂà›Ó€pÈÂàÕ &×ÂÀ5×ÂàHÌÂ@ßÚ€ÛËÂ`ÍÂ`É€^Ë >Ó€ØÂÀYÑÂ@-ΠjÖÂ@¤ÏÂÀ¦Ù€"ÕÂ@ÎÈÂsÒÂàÓÂäÔÂà$Ò€4Ò PÐÂ=ÛÂêÓÂÀ|àÂÀÄÔÂ`QÕ€±Ò çÖÂ@÷Ö€¥ÔÂà×É tÊÂ@ªÎ ØÂ€¥Ô€{Û XÙÂ@åÙÂ@Ó ‚ÒÂà×ÉÂ`uÏ JÑÂ@ÕÂ@?Ë€ÏÍ ÿÒ€«ÓÂaÕÂ@ýÕÂÀ;Ö 4ßÂ@ßÚÂà³ÏÂ`ìРÏÂ@ŒÓÂà›Ó ÎÂàÔ‘Í€É΀áÊÂÀMÓÂ@€Õ FÜÂÀÈ €ÈÂ@?ËÂà•ÔÂ`É MÆÂ€cßÂ@hÙ óÔÂ`Í ßÍÂà$ÒÂà6Ï€çÉÂCÚÂüÐÂ@ÑÂÀGÔÂÀ¬ØÂêÓÂàôÙºÛÂ`E×Â@¶ÌÂOØÂCÚÂØÖÂàÂà$ÒÂ`uÏ€LΠˆÑÂ`ÚÓ ©ÖÂ`þÍÂà­ÐÂ@ÍÝÂ`ýâ bÍÂ@ñ×ÂCÚÂÀšÛÂÀÛÂ@˜ÑÂà}ØÂ ÜÂ@¶ÌÂ`iÑÂ@t×€ØÂ ÙÂЀòÜÂ`KÖ€“ףʠŽÐÂaÕ À瀫ӀòÜÂàAâÂÀÊÓÂ@ ÔÂ@†ÔÂ`cÒÂaÕ€.ÓÂÀ/ØÂ‘ÍÂàîÚÂgÔÂ`øÎ ÓÏÂäÔ€×Â%ß ÿÒÂ`?ØÂ d×€ØÂ@ÂÊ ÚÂU×Â`uÏÂCÚ ÕÙÂ@åÙ€×Â@ ÔÂ`à ^ØÂÌØÂ@ ÔÂüРêàÂÀèΠÕÙÂ@Ó€.ÓÂ@t× óÔÂ`†á ^ØÂàwÙÂ@°ÍÂà­ÐÂÀ#ÚÂ`WÔ  ÍÂ`àÒ€oÝÂÀ/ØÂ Ü€(ÔÂ`9ÙÂ`¼ØÂ@nØÂÒ×Â@ÑÂgÔÂ ÛØÂ1ÝÂÀAÕÂÀAÕÂà¡Ò€É΀ÖÂàØÂ@Ó€“× ÉÛ ½ÝÂÀÜ ,ÖÂ`ÔÔÂ`ÈÖÂ@ ÔÂ`3Ú ÏÂÐÂÀ Ú ØÂ \ÎÂÀ¸Ö ØÂ d×Â`¤Ü€LΠá×Â`Â× gá€òÜ ‘ÚÂàÕÂàôÙÂÀ”ÜÂà}ØÂ`†á sß @ÝÂàúØÂ RÚÂ@zÖ€Eä€ìÝÂà)æÂÀjãÂ@bÚ€uÜ ÍÐÂ@ßÚÂ@&äÂÀ¸Ö ÝÂ+ÞÂÀÛÂ`ÚÓ ÿÒ RÚÂàwÙÂÀGÔÂ@!ÐÂÀÕæÂàÿì ©ÖÂÀ¸Ö ¯Õ€ÚÂÀ ÞÂ@QÈ€oÝ€ŸÕÂU× ¨ë€ØÂÀ;ÖÂ`ÎÕÂ1ÝÂ`žÝ ±ßÂà× ÁÒÂIÙÂÞÕ ½ÝÂ`ÚÓ sßÂ`QÕÂ@hÙÂàÔÂ`KÖÂ@ÒÂ@žÐÂÒ× ÕÙÂ`ìÐÂà›Ó ‹ÛÂà‰Ö ØÂ ÛÂ@>à åÂ` áÂêÓ màÂÐÂ@ýÕÂ@ÕÂ`3ÚÂÀúË ŽÐÂ@ŒÓ @ÝÂÀ¾ÕÂÀ¾Õ ÃÜÂ@Õ ÉÛÂ`žÝÂÀóáÂ@’ÒÂêÓÂ@÷ÖÂÀ‚ßÂà}ØÂ`KÖÂ@ÓÂàÅÌÂà× FÜÂà×ÂÀ)ÙÂ@ÁßÂà_ÝÂÀÚ LÛ ½ÝÂà_ÝÂ@8áÂ`Â×Â=Û ùÓÂÀYÑÂàúØÂÀ_ÐÂà‰ÖÂ`ÔÔÂ`3Ú€ìÝÂÀŽÝÂàAâÂ@Dß …ÜÂ`¶ÙÂÀÚ ëËÂÀÄÔÂ@ÓÜÂ`æÑÂÀÜ ±ßÂ`3Ú  Ñ á×ÂÀ²×ÂÀ²×Âà•Ô jÖÂÀ²×ÂÀ²×ÂÀ²×ÂËÂà¿Í >ÓÂ@ýÕ€Qâ mà€uÜ vÔ€ìÝ€™ÖÂ@>à€ØÂêÓ€Ö ÏÂyÑÂà »ÓÂÀ‚ßÂ1ÝÂ1ÝÂÀ/ØÂOØÂâÂÀpâÂ`3Ú€“×€ØÂÀ)ÙÂ@bÚÂÀ¾ÕÂ@zÖÂ@ÓÂÀYÑ€¥ÔÂ`E× |ÓÂà¡ÒÂà*ÑÂÀ¸ÖÂÀAÕÂàÅÌÂ`-Û XÙ ÝÂàBÍÂÌØÂÌØÂ@!Р·ÞÂ@nØÂ ©ÖÂÀ²×€ÚÂ@ñ×Â`?ØÂ bÍÂ…Ï€Ú€“×Â`-ÛÂ@€ÕÂ…ÏÂU×ÂÀYÑ€Ö 8ÔÂ`¼ØÂ€ØÂ`-ÛÂÀ²×Âà­Ð  ÍÂ`þÍ óÔ€Ú ÇÑ ÓÏ ÍР½ÝÂàîÚÂàâÜ [〫ÓÂ`QÕ€ØÂØÖ 8Ô pÕ ÚÂÀ¸Ö€ÚÂ@bÚÂ`täÂÀÜ€× :ÞÂ@ÓÂÀMÓ ÇÑÂàqÚÂá€×ÌÂ`àÒÂÌØÂ ,Ö€^ËÂ@zÖÂÀ¬ØÂ@¤ÏÂ@¤ÏÂ`ÎÕÂ@¶Ì€ØÂÀ²×ÂÀÐÒ€¥ÔÂ@»à€òÜ€ÉΠØÂ@¶ÌÂàÓ€ØÂÀMÓÂU×€ÏÍÂàËËÂà­ÐÂ@’Ò Π²ÊÂ@9ÌÂàÔÂ@°ÍÂÀ Ú »Ó JÑÂ@!ЀØÂ óÔÂ@¤Ï€Ö€½ÐÂ@†ÔÂ`ÚÓ Ú ÝÂÀqÍ€ŸÕÂÀ_ÐÂàÓ ýÈÂ`{ÎÂ@ÕÂàkÛÂà ÖÂ@’ÒÂÀÊÓÂ@ÙÛÂ`cÒÂàÓÂÀâÏÂàÕÂ@ÑÂ`°ÚÂà¹ÎÂ@ýÕ ŒÆÂ`ÉÁ€(ÔÂ@¼Ë šÎ ©ÖÂ`?ØÂ`WÔ AÈÂ[Ö ßÍÂÌÂÀeÏ ÚÂà›ÓÂÀeÏÂàwÙ |Ó Û ‚ÒÂÀ ÞÂ7ÜÂ[Ö ÏÚÂ`E×ÂÆÙ £× ,ÖÂà6ÏÂgÔ çÖÂ`WÔÂÀMÓÂ@zÖ€dÊ †Ç€ÛËÂàÕÂàØÂ@Ñ€±Ò€òÜÂ`¶ÙÂäÔ€“×€.Ó |ÓÂàÕ £× ^ØÂêÓÂÀÛ ©ÖÂÀÐÒÂØÖ‘ÍÂ@†ÔÂÀ)ÙÂ@ýÕÂ…ÏÂÀÊÓÂ@’Ò d× ØÂ ëËÂêÓÂÀâÏ ÒÂ@ŒÓÂ@÷ÖÂ`¼ØÂ |Ó€ÖÂÀÜЀ“×Â@žÐÂÀqÍ yÞÂàƒ×Â@VÜÂ`ÔÔÂ`4Å â >ÓÂÀ}Ë€dÊ #ÍÂ`ÔÔ Ú€ÚÂÀ¸ÖÂ`'Ü ÓÏÂOØÂ@ÙÛ ÍРˆÑÂÌØÂÀ¾ÕÂÀeÏÂÀËÂ@-΀ØÂ ,ÖÂ@ñ× jÖ šÎÂàÕ€ŸÕÂ`cÒ ;ÉÂ`ìÐÂ@’ÒÂ@¤Ï€ùÆÂÀÐÒÂàƒ×ÂàwÙ ”Ï ²ÊÂΠ—Ù€ ÙÂ`ÊÂà6Ï )Ì‘ÍÂIÙÂ`àÒÂ`ËÂ`Þ ÐÅÂ`ËÂ`Ë 2ÕÂàãÇÂà›Ó Ý ‚ÒÂ@9Ì€±ÒÂÀAÕÂ`ÚÓÂà6ÏÂ@3Í€™Ö VÏÂÀ•Ç€ÉÎÂÀôÌ ¦ÌÂà›ÓÂ`¼ØÂÀ¡ÅÂàTÊÂ`ËÂ@nØÂ`ÔÔÂÀ;ÖÂà$ÒÂà¡ÒÂÀÚÂÀ_РÓÏÂ@9ÌÂ`WÔÂ`cÒ£ÊÂ@¤Ï ¬ËÂ` ÌÂ>ÆÂ@'ÏÂ`iÑÂÀôÌÂ@?ËÂ@ÂÊÂà³Ï 8ÔÂmÓ GÇ€dÊ€^ËÂ@°Í bÍ€¥ÔÂäÔ ÓÏÂ@-ÎÂ`øÎ †ÇÂà<ΠˆÑÂ@ÑÂÀ•ÇÂÀ¸ÖÂàûÃÂÀ¡Å€Å€|ÆÂ@9ÌÂ@€Õ ÇÑÂÀú˯Ƞ¶¿Â@WÇ PРóÔ µÔÂÀqÍ PÐÂàÔ ÙÎÂ`Í PРóÔÂàHÌÂCÚÂà×ÂaÕÂà6ÏÂÀèΠVÏÂàrÅÂ`ËÂüÐÂàÔ ÎÂàãÇ \ÎÂàHÌÂàkÛÂ`ÞÂ7Ü ÿÒ€ÛË ½Ý ^ØÂ`E×ÂàrÅÂ@’ÒÂ@ÓÂÀÈÂÀ_РýÈÂ@9Ì€ŸÕÂÀYÑ ¾È £× |ÓÂÐÂ`iÑ ‚Ò€ÕÌÂ@EÊ€ŽÃÂàZÉÂÀ²× ç֠Ȁ4Ò€íÈ nË€.ÓÂ΀ÃÏÂäÔÂ@3ÍÂ@žÐÂà¹Î€jÉÂÀÊ zÉÂ@¤ÏÂà‰ÖÂDÅ ¸ÉÂ`uÏ€“× ÎÂ`ìÐÂ`WÔ »ÓÂ@˜ÑÂ@Ó€^ËÂ@Õ€«Ó€@Рˠ¬ËÂyÑ€ ÙÂ`°Ú ˆÑÂ@3Í£ÊÂÀqÍÂ`‡ÌÂ`ËÂà­ÐÂàÔ ñÊÂðÒ ÆÂ ¬Ë 5ÊÂ@¼Ë€±ÒÂàÕ£ÊÂ@]ÆÂà¿ÍÂ`æÑÂà`ÈÂÀÇÂ@æÄ€FÏ€þÚÂÀYÑÂÀÛ€ÉÎÂÀSÒÂ@?ËÂà0Р¸ÉÂ`"È bÍÂ`-ÛÂÀwÌÂ@¶ÌÂsÒÂÀMÓÂ`iÑÂ@zÖÂ&ÊÂ@¶ÌÂàÝÈ JÑ€dÊ ÄÇ€ŸÕ ÏÚ tÊÂ@¶ÌÂà¿ÍÂ@±¸ÂÀ›ÆÂ ÷ÉÂÀMÓÂ`:ÄÂVÂÂ@'ÏÂÀË /ËÂ`ÉÂËÂ`¶ÙÂ@ÂÊÂðÒ PРšÎ PЀÿÅÂÒ×ÂðÒ ÇÑÂ@ªÎ€ŸÕÂÏ #Í MÆÂ ΀ÖÂ`QÕÂ[ÖÂ[ÖÂ`-ÛÂ`‡ÌÂÀ/ØÂ Ü /ËÂàÅÌ ¤Â ªÁ µÔÂÀ¦ÙÂ@ÓÂ@ ÔÂà¹ÎÂÀAÕ )Ì ¦ÌÂÀÈÂàTÊÂyÑÂ`ªÛ ªÁ ,Ö€L΀"Õ DÒÂà¡ÒÂÀAÕÂÀ#Ú bÍ XÙ ÙΠ#Í ýÈÂÀÄÔÂ@Ó DÒÂÀ*Ä ЀXÌÂöÑ \ΠËÂ`Í€ÛËÂCÚÂàÕÂ`iÑÂÀMÓÂ`WÔÂÀšÛÂà×É ÿÒ€ ÙÂ`¼ØÂ yÞÂà×ÂgÔÂàYÞÂà•ÔÂ`ìÐÂ@ñ× d× ‚ÒÂ`Í‹ÎÂàéÆÂÐÂ@t×Â@-ÎÂÞÕÂ`÷ãÂ`iÑ€(Ô ØÂ`WÔ óÔÂà0Р\Π5ÊÂà›ÓÂ@bÚÂÀ ÚÂ`KÖ€™Ö€™Ö€4Ò€«Ó€ÖÂÀeÏÂÀúË ÎÂ@†Ô tÊÂÀSÒÂ`ËÂ`ÍÂ`¼ØÂ`ÎÕ ²ÊÂÀÚ ¯Õ PÐÂ`àÒÂÀÄÔ€:ÑÂÀ”ÜÂ@ÑÂàÑÊ€±ÒÂàÔ€@РvÔÂÀÖÑÂgÔÂÎÂ`Â×Â@ªÎ ÙÎÂ`Í ýÈÂ@ÈÉ ñÊ ÁÒ ÝÂ@zÖÂàÕÂà›ÓÂàHÌÂ`ÚÓ€FÏÂ@Õ€Fϋ΀ÃÏÂà6ÏÂà Ö ¬Ë ¯ÕÂÀÐÒÂ`àÒÂÀÊÓÂgÔ€XÌ ÜÃÂ@ÔÇÂÀ}Ë´Ü \΀ÛËÂÀî͑̀"Õ ”Ï ¾È ‹ÛÂ`ªÛÂaÕÂàúØÂà³ÏÂÀÐÒÂ@ªÎÂÀÜÂÀAÕÂÀ­ÃÂüЀ{ÛÂ`ÚÓ |ÓÂ@†ÔÂÀMÓ€@Р£×ÂÀÜÐÂU×Â@ªÎÂ`"È ¤Â ÙÎÂÀ ÞÂàwÙÂàËË€XÌÂÀYÑÂÀÛÂÀ;Ö€L΀±Ò ßÍ€ÉÎÂ`æÑ ßÍÂËÂÀ_ÐÂÀÜÐÂà*ÑÂöÑÂ@hÙ »ÓÂÀÚ€ŸÕ‘ÍÂÀ_ÐÂÀèÎÂ@3ÍÂ`KÖÂàÔÂà•ÔÂäÔÂàHÌÂ@ÙÛ€ÏÍÂÀâÏÂ`uÏ€(ÔÂàéÆÂ`“ÊÂàËË ÐÂàTÊ€4ÒÂ@ªÎ †Ç ùÓÂ`KÖ ÒÂÀ*Ä€LΠßÍÂ`4ÅÂ@˜Ñ ÄÂ@bÚÂÆÙ€ÕÌ€|ÆÂ€XÌÂàHÌÂÀÖÑ€ÉÎÂ@zÖ tÊÂ@9Ì ÁÒÂ@ªÎÂÀ_ÐÂ`ÎÕ ÜÂÀÚÂ@!ÐÂ@ÒÂ`ÍÂ`@À@Ѐ¥ÔÂ`WÔ d× ΠÎÂ`zãÂàÓÂ@øÁ ”ÏÂà`ÈÂ`Â× Ë 8ÔÂ@ªÎÂ@’ÒÂ@]ÆÂà<΀Å ”Ï tÊÂЀ«ÓÂ`ÍÂ@ëØÂ ÕÙÂÀ/ØÂ€:ÑÂIÙ€íÈ ÆÂ@ÂÊ€½Ð /Ë€(ÔÂÀÜР¬ËÂÀ¦ÙÂ`·Ä€ÃÏÂÀÊÓÂà­ÐÂ` ÌÂà$Ò #ÍÂ…ÏÂËÂÐÂ@ÑÂÀúËÂ@žÐ 2ÕÂ`àÒÂ@zÖÂÌÂà¹Î€FÏÂÀYÑ€¥ÔÂ`ÚÓÂ@EÊ€½Ð ŒÆÂÀÐÒ åÌ ßÍ ËÂà¿ÍÂà‰Ö  ÑÂ`(Ç ;É Ѐ½Ð€ÿÅÂÀ›ÆÂ ȼÂ>ÆÂ€|ÆÂàTÊÂÏ€ÏÍÂà¹ÎÂÀeÏÂà$ÒÂ@Ñ MÆÂÀâÏ >Ó€FÏÂ`“Ê€4ÒÂ…ÏÂ`WÔ #ÍÂ`(ÇÂÀ É€Ọ̃ʠÁÒÂ`KÖÂàÝÈÂ`¥ÇÂà*ÑÂ@ìÀáÊ ŒÆÂàHÌÂ2ÈÂPà Í  ÍÂ@¶ÌÂà³ÏÂ`þÍÂÀqÍÂ@žÐÂ`ÚÓÂà<ÎÂÀAÕÂ`‡ÌÂÀôÌ€áÊÂÀ}ËÂ@9ÌÂÀè΀LÎÂÏÂàÓÂÀMÓÂ@KÉÂ@!ÐÂ@3ÍÂÏ€"ÕÂ`QÕ€FÏÂÀMÓ DÒ€ÏÍ bÍÂ@˜Ñ ÍЀíÈÂÀÜРçÖ šÎÂÀ;Ö€ØÂ`3Ú€¥ÔÂ@ÓÂÀqÍ€^Ë€FÏ vÔÂÀÜ ÁÒ ÕÙ µÔ 2ÕÂ@VÜÂØÖ€LÎÂ`QÕÂÀÈ šÎ ØÂ@\ÛÂ`uÏÂäÔÂ ÛØÂ€4Ò 8Ô ÆÂàôÙ€"Õ€ÃϠĀ:Ñ€ŸÕÂ@°ÍÂ`'ÜÂäÔÂÐÂÀÄÔ€±ÒÂÀîÍÂ`ŸÈÂmÓ šÎ £×Â@EÊÂà³ÏÂàÕÂ@ ÔÂ@-ÎÂ@t×ÂÀÐÒ£ÊÂà³ÏÂ`E×Â`¶Ù ÇÑÂàÝÈ ñÊÂÀÐÒÂÀ¸Ö€"ÕÂàÕÂ@nØÂ€™ÖÂ`¶ÙÂÀ ÚÂÀšÛÂ`°ÚÂ`]ÓÂ@hÙ ÆÂ ¦Ì åÌÂÀÜРØÂà³Ï€uÜ \ÎÂ@ŒÓÂ`KÖ ÿÒ 2ÕÂØÖ€ÖÂ@ªÎÂgÔ ëËÂ`ÍÂ`¶Ù€cßÂà•Ô€þÚ€ÛË€ÉÎÂàÓ šÎÂà¡ÒÂà ÖÂ`°ÚÂ@t×ÂÀAÕ ÓÏ ÄÇÂ@ÒÂsÒÂÀôÌ /ËÂ@ÔÇ‹ÎÂ@ýÕÂ@\ÛÂmÓ€×Âà›Ó ÇÑ d× jÖÂà¿Í ,Ö tÊ€«ÓÂÀGÔÂà¹Î—Ì€à߀òÜÂÀÐÒ —ÙÂêÓÂàqÚÂÀ#ÚÂ`QÕ ßÍ€ÏÍÂ@hÙÂÀGÔ ^ØÂ`uÏ jÖÂ@¤Ï ÃÜ€ÚÂ@-ÎÂ@ Ô€ØÂÎÂÀÄÔÂäÔÂÀÖÑÂÀMÓ€(ÔÂÏ ¦Ì ýÈ íÕÂ@†Ô bÍÂ`þÍ jÖ ˆÑ€™Ö ©ÖÂ`æÑÂàÕÂ@ªÎÂÀÄÔÂ@ÕÂØÖ VÏÂàîÚÂaÕ ëËÂ@Ñ€(ÔÂà ÖÂÀGÔÂÀîÍ€áÊÂ@ßÚÂàÕ€±ÒÂsÒ ‹Û€¥Ô #ÍÂ@Ò »ÓÂ ÛØÂ@ÔÇÂ`QÕÂ@€ÕÂ@PÝ ÕÙÂ@!РµÔÂ`æÑÂàÔ ¯ÕÂ`ÊÂðÒ€.ÓÂ`ߑ͠—ÙÂà›ÓÂàÓÂÀ_Р©Ö d×ÂЀ:ÑÂÀîÍÂ@÷ÖÂ`9Ù€·ÑÂÀâÏ€“×Â@PÝ pÕ€RÍÂàÔ€4ÒÂÀGÔ ¬Ë  Ñ ÉÛÂ@ýÕ€“× DÒ ¬ËÂÀ­ÃÂ@ÑÂ`“ÊÂÀSÒÂÀ¦Ù ©ÖÂ@ÑÂ`òÏÂüÐÂ`àÒÂÐÂOØÂ€cßÂàØÂ€4ÒÂÀîÍÂÀÜÂ`°ÚÂàƒ×‹ÎÂ`™ÉÂàZÉÂÀqÍÂ@-ÎÂ@¤Ï ¬ËÂÀƒÊ€ ÙÂ@˜ÑÂÀôÌ AÈÂÀwÌÂ`oÐÂ`òÏ€@ЀŸÕÂ@ªÎÂàÑÊÂ`oР ÑÂÀƒÊ ©ÖÂàBÍ€½Ð ÈÂà•ÔÂ`WÔÂ` ÌÂàlÆÂ`¤ÜÂ`ÔÔÂàBÍÂ[ÖÂ`òÏ ýÈ ŽÐÂ@zÖÂà•ÔÂÀôÌÂ`òÏÂÀ•ÇÂà§ÑÂà­Ð ,ÖÂÀAÕ©É€.ÓÂÀ5×Â@ŒÓ ÈÂÀMÓÂ`ŸÈ -Á PÐÂà¹ÎÂ@ÓÂÀÊ tÊ JÑÂЀLÎÂ`ìЀ(ÔÂÀÐÒ |Ó ÒÂàZÉÂÀ0àÇÑÂÀèÎÂ`ÉÂà×ÉÂ` ÌÂÀÄÔÂÇÄ€^ËÂ`"È ÍÐÂ@˜ÑÂ@ÈÉ ¯Õ 5ÊÂDÅÂ` Ì PÐÂ@ªÎÂüÐÂ`Í hÌÂà¡Ò€ÔáÂ@Áß íÕÂ`ìÐÂÀÊÓÂÐÂÐÂ`Í€·ÑÂà¹ÎÂàÕ€ÚÂ@?ËÂ`(ÇÂ@˜ÑÂàHÌ hÌÂÀîÍ #ÍÂÀƒÊÂ`KÖ ^ØÂ  Í€@ЀìÝ€¥ÔÂ`¶ÙÂ`ÎÕÂ`cÒ€LÎÂÀèÎÂ@t×Â@°Í ÍÐÂàËËÂ`·Ä ÏÂ` Ì ÐÂ>ÆÂàïÅ JÑÂ@'ÏÂ`ËÂÀwÌ VÏ ÒÂàèÛ £× ÛÂà­ÐÂ`ÚÓÂÀÄÔ€óÇÂØÖÂà¡ÒÂàÕÂÀ¸Ö bÍ 8ÔÂ@3ÍÂ@¼Ë€@ÐÂÀÜÐÂà­ÐÂ@hÙÂÀwÌÂ@¤Ï£Ê€‡ÙÂÀÊÓÂ`cÒÂà ^ØÂÏÂ@!ÐÂ`ÍÂÀ)Ù ¤ÂÂà<ÎÂÀ;ÖÂ@žÐÂÀÚ ÎÂ`“ÊÂÀ)Ù€æÞ ^ØÂ |ÓÂ@zÖÂ@ýÕÂàÔÂ…Ï ùÓ ŽÐ ˆÑ ·ÞÂ`žÝÂÀÜÂÀGÔÂà*ÑÂ`ËÂÀÛ€àßÂ@ýÕ€±ÒÂ`iÑÂ[ÖÂ`3ÚÂêÓÂ`WÔ JÑÂàÔÂ@PÝÂÀÊÓÂÀÄÔÂàÔ GÇ ÐÅ bÍ íÕ vÔÂÀMÓÂ@˜ÑÂÀ¾Õ€ŸÕÂ@ÍÝÂ`ÈÖÂÀ¦ÙÂËÂêÓÂ`-Û JÑÂ@-ÎÂ@Ó ‚ÒÂÀÖÑÂàeÜÂà}ØÂÀ¦ÙÂ`¼ØÂ`¶Ù d×Â`-ÛÂIÙÂ@'Ï€ŸÕÂÞÕÂà}ØÂ jÖ ‘Ú€ØÂ€FÏÂÀ‚ßÂ@ëØÂÐÂÀ¬ØÂ á× ùÓ€FÏÂ@t×Â@ÑÂÀÐÒÂÀÜ  ÑÂsÒ€ÕÌÂàÕÂIÙ ÇÑÂaÕ€«ÓÂ`uÏÂ`’ßÂâÂÀ ÚÂà›ÓÂ`KÖÂIÙÂÆÙÂÀeÏÂ`ÚÓ vÔ ÿÒÂyÑ€™Ö ùÓÂàâÜ ÍЀ¥ÔÂÀ ÚÂÀ²×ÂÀÐҋΠÏÚÂ@PÝÂÏÂ@’Ò€:Ñ€(ÔÂÀÛÂÀšÛ \ÎÂ@ÔÇ€×ÂÀšÛÂàƒ×Â`ªÛÂ@ßÚŠã ±ßÂ`àÒÂ@¤Ï ,ÖÂ@ÇÞ ÕÙ€½Ð€:ÑÂà*ÑÂ@ÓÂ@†ÔÂ`QÕÂ@ýÕ€òÜ€ÖÂÀèÎÂÀÚÂ@\Û€ÚÂ1ÝÂàèÛ ‚Ò€‡ÙÂ`€â 2ÕÂ`°ÚÂ+ÞÂÀ¸ÖÂàÓ 4ßÂàèÛ @Ý€·ÑÂÀÄÔÂàqÚÂÀšÛÂ`E× Û »Ó  Ñ PÐÂÀ;Ö íÕÂÀ/ØÂ@˜ÑÂÒ×Â@PÝÂàØÂ@ñ×ÂÀ ÉÂÀÄÔ€iÞ€iÞÂ`ÚÓÂÀÖÑÂ@÷ÖÂ@t× yÞ ÎÂ`ËÂà›ÓÂ@Ñ |ÓÂÀÿßÂà× PÐÂà<ΠÙÎÂ`cÒÂÀGÔ€ÛËÂyÑÂÀ¸Ö€ŸÕ DÒ FÜÂ`WÔÂÏÂÎÂ`E×€.Ó çÖÂ`3ÚÂÀGÔÂÀ‰ÉÂ@ÕÂ@ëØÂÀÊÓÂРŽÐ ÓÏÂ@zÖÂ`øÎ€”€4ÒÂÀÈ VÏÂà<ΠnË ÁÒÂÀ;ÖÂÀ¸ÖÂ@¤Ï€ÃÏ€ÏÍÂÀ²×Âà›ÓÂ`þÍ€™Ö ²ÊÂ@ÔÇÂ@€ÕÂDÅÂV€RÍÂÀMÓ ‚Ò€þÚ€ÛËÂ@˜ÑÂ@ªÎ€«ÓÂà×Â`þÍÂàqÚ€× ñÊ ÍÐÂ@ÔÇÂ@ÔÇ ÷É ˆÑ€XÌÂàTÊÂ@\Û šÎ€‚Å ëËÂ@Ҡπ‚Å žÃÂ`"ÈÂ@ÕÂ…ÏÂ2È€:ÑÂ@EÊÂàÕÂ@3Í€±ÒÂ` Ì€LÎÂ`àÒÂ@ÂÊ€@Ѐ±ÒÂÀGÔ åÌ€Ö Ù jÖ 2ÕÂ`‡ÌÂÀ_ÐÂàôÙÂ`øÎÂ`ËÂ@àÅ ÙÎÂ@nØÂÀÄÔÂsÒÂà¡ÒÂ@9ÌÂ`ŸÈÂ`"È óÔ€‡ÙÂàTÊ bÍÂ@°Í \ΠDÒÂÀ/ØÂ MÆÂË€ ÀÂöÑÂØÖÂÀYÑÂà0ÐÂüÐÂÞÕÂÆÙ€ÃÏÂ`"ÈÂ`ÉÂÇÄ€ØÂ€ÛËÂ@3ÍÂ`‡ÌÂ`øÎÂÀËÂÀYÑÂ@ŒÓÂ`(ÇÂÀúË€vÇÂ@?Ë€çÉ»ÆÂÀâÏÂ@¶Ì ÐÂ`"ÈÂÀÈ ËÂà0Р»ÓÂÀ}ËÂ`àÒ»ÆÂ`uÏÂ@žÐÂ`òÏÂÀôÌ ÇÑÂ`ÎÕÂÀÈ ÷É€ÃÏÂ&Ê€·ÑÂ`ÃÂÂ@-ΠåÌÂà0Рá×ÂÀèÎÂÀqÍÂà„ÂÂÀ•Ç€LΠŒÆÂ`ÍÂ`ìЀÉÎÂÀÐÒÂ`uÏÂÀ#Ú Ù΀ˆÄ€‚ÅÂÀ¡Å JÑÂà¹Î ¬ËÂ`™É  Í Ò ˆÑÂ` ÌÂ`ÔÔ Ï Ú€·Ñ€LÎÂ`þÍ  Í¨ÞÂÀÖÑ€XÌÂÌÂÀË€ÉÎÂÀSÒÂ@Ó SÅ /ËÂ`‡ÌÂÀYÑ ŒÆÂ@3ÍÂÀqÍ |Ó ÎÂÀ;Ö€ÉÎÂ@ªÎ ΀ØÂ`‡Ì€É΀XÌÂ@t×Â`æÑÂàfÇ /ËÂà¡Ò çÖ€·ÑÂÀúËÂÎÂ` Ì€@ÐÂ@KÉÂ\ÁÂ`9Ù íÕÂà×Â@˜Ñ DÒÂ@ÓÜ€LΠµÔÂàÕÂÀèΠ»ÓÂÐÂ@ÒÂà¹ÎÂÀôÌÂà­ÐÂ@'ÏÂ`QÕÂà­Ð Б͠hÌ ðß ¯Õ LÛÂàÅÌ RÚÂ@¶ÌÂàנ〫ÓÂÀkÎÂÀÖÑ ØÂ@ÚÆÂÀeÏÂÀMÓÂ`àÒÂ`ëåÂ@VÜÂà›Ó »ÓÂ@?Ë GÇÂ`ÚÓ€.ÓÂ`KÖ vÔÂÀ;ÖÂsÒ€ùÆÂàÝÈÂ@ ÔÂà<ÎÂà$ÒÂà³Ï  Ñ \ÎÂÀGÔÂ@˜Ñ ñÊÂ@˜Ñ€™ÖÂ@ëØÂ€¥ÔÂàÜÝ ÇÑ ÇÑ€ÕÌÂÀôÌÂÀeÏÂ@ÓÂ`.ÆÂЀ]àÂ=Û Ú ŽÐÂà•ÔÂàÔ DÒ 2ÕÂà× ÚÂ@¼ËÂ`“Ê€½Ð€«ÓºÛÂÀMÓÂÀÚÂÀÊÓ€ÃÏÂÀ#ÚÂ@ýÕ€4Ò £×ÂÀ5×ÂaÕÂÀÊÓÂà›ÓÂàwÙÂÀâÏÂà­Ð £×œà ÙÂÀ¸Ö€:Ñ ÁÒ€‡ÙÂU×€ ÙÂàôÙÂÀkΠjÖÂà‰ÖÂÀGÔ šÎÂ`ÚÓ€“×Â@\ÛÂÏÂ@8á€QâÂàÅÌÂÀMÓÂà_ÝÂ@Dß ØÂ`ÎÕ ^ØÂ`¼ØÂ€.ÓÂ`iÑÂàâÜÂÀMÓÂ`KÖÂà<΀4ÒÂ@†Ô íÕÂà*Ñ äáÂ@ÙÛÂ@zÖÂ@ÑÂàBÍ íÕÂÀÐÒ€oÝÂ@Áß íÕÂà­Ð ÃÜÂÀ Ú ‚ÒÂ`'ÜÂàÐßÂ@zÖÂ`]ÓÂ`ªÛ€ØÂ @Ý€«ÓÂ@VÜÂäÔÂàÕÂà³Ï ¦ÌÂà0ÐÂ@t×€æÞÂÀ Ú ÆÂ@ÓÂàÔ jÖÂ`ÎÕÂàMàÂÀMÓÂ@bÚÂ@ýÕÂÀÜ€4ÒÂà}ØÂ 4ßÂÀMÓÂÀ¦Ù€× Ò ÉÛÂ%ßÂÀšÛÂÀÄÔÂÌØÂÍÂ`]Ó 4ß @ÝÂÀ¾ÕÂaÕÂ1Ý€±ÒÂ`æÑÂÀÛÂàÄáÂÀÖÑ€«ÓÂà}ØÂ vÔ FÜÂ`\è ÉÛ€XÌÂàâÜÂ`¼ØÂ pÕ ÕÙÂà_Ý€ÖÂÀ)ÙÂmÓ ©ÖÂàØÂgÔÂà¹ÎÂÀôÌ€@ÐÂÀGÔ bÍÂöÑÂà­Ð ½ÝÂàÓ€ÃÏÂàÜÝ ùÓ€XÌ ùÓÂ`ÚÓÂ=ÛÂ@ßÚ€iÞ Üœà jÖÂàƒ×€æÞ€4ÒÂÀ5× /ËÂ`òÏ€×ÂÀ²× ëËÂäÔÂ@'Ï€×Â@ÙÛ€™ÖÂàHÌ  ÍÂàBÍÂà¡Ò€vÇÂ@¤ÏÂ`]ÓÂÀGÔ€×ÂÀÐÒ ¯ÕÂ`ÎÕÂà­Ð jÖÂÀ)ÙÂà ÖÂyÑÂ@Õ€:ÑÂÀèÎÂ`àÒÂgÔÂÀ;Ö ùÓÂà×ÂàâÜÂÀ”ÜÂ`'Ü€ÕÌ ÁÒ ÇÑ€.ÓÂOØÂ …ÜÂÀÖÑÂÀ¬ØÂàÓÂ@†Ô ÿÒ hÌÂ@QÈ ÿÒÂ`ÈÖÂ`9ÙÂÀ^å d×ÂsÒÂÀ}ËÂÀ•Ç ëËÂ`QÕÂ`iÑÂ@ýÕ pÕ ÕÙ ^ØÂ`ÔÔÂÀôÌ ÏÂ`?ØÂ`'ܺ۠2ÕÂyÑ #ÍÂàƒ×Â@!ЀŸÕ€:ÑÂ=Û€‡ÙÂ`?ØÂ€oÝÂ`ìÐÂ`¤Ü€±ÒÂà•ÔÂ`iÑÂ@¶ÌÂ@nØÂ@t×ÂÀÜÂÀ²×ºÛ€“×€«ÓÂäÔÂ@¼ËÂÀkÎÂà•ÔÂ@nØÂÀÚÂÀŽÝ€ÚÂÀYÑÂ`iÑÂÀ;ÖÂÀ¸Ö€·ÑÂÀ5×ÂÀ/ØÂÀÛ€cßÂàƒ×Âà<ÎÂàÔÂÀ;ÖÂÀâÏÂ`ÈÖÂÀ}ËÂÀeÏÂàËËÂ`iÑÂüÐÂ@€Õ€ÏÍ d×€ÃÏÂÀYÑ ÇÑÂà¾âÂ@€ÕÂ`ÊÂÍ ¸ÉÂ`?ØÂ€‡Ù —Ù Ù΀ÚÂÒ× íÕÂ@zÖÂ@žÐÂÀúË ŽÐÂ`?ØÂêÓÂ@ßÚÂÀ²×Â@ýÕÂ@˜ÑÂÀeÏÂ@˜ÑÂ`ÈÖ€@Ѐ4Ò€L΀LÎÂmÓÂàèÛ€ŸÕÂ`]ÓÂ`{Π8Ô€±ÒÂ`Â×ÂOØÂ@åÙÂ`¶ÙÂÀMÓ€ŸÕÂÀ²×Â@€ÕÂÀSÒÂÀAÕÂ@ñ×Â`ÞÂÀ¸ÖÂ`ìР:ÞÂà*ÑÂà_Ý &×ÂØÖ€RÍ€^ËÂà­Ð ‹ÛÂàÓÂÀAÕÂà‰Ö€:ÑÂà›ÓÂ@'ÏÂÀ/ØÂ[ÖÂ`KÖÂ7ÜÂ`¶ÙÂàqÚ€ÔáÂ1ÝÂ`ÈÖÂÀÜÂ`oÐÂ@bÚÂâÂ@¤ÏÂÍÂ@Ñ 4߀oÝ çÖÂÀ}Ë€"ÕÂàÖÞÂ@VÜÂÀGÔÂÀYÑ ÒÂà$ÒÂÀšÛÂÀÿßÂ@÷ÖÂ@nØÂËÂ@ªÎÂÀ#Ú ÉÛÂÀÐÒÂ`cÒÂàÔ vÔ€ŸÕ ½ÝÂ`ÚÓÂÀ Ú€ÖÂ@t×ÂaÕÂ@zÖ ÁÒ Ý ÏÚ VÏÂ@JÞÂÀšÛÂÒ×ÂÀ¸Ö ÃÜÂÀšÛÂ`ªÛ®ÝÂ`oÐÂ`E×ÂðÒ€oÝÂ1ÝÂ7ÜÂ@zÖÂ@t× ÎÂà•ÔÂ@˜ÑÂÀ ÞÂÀ/ØÂ€ØÂäÔ 8ÔÂà•ÔÂàqÚ RÚÂàeÜÂà×Â@hÙÂ`¶Ù€ØÂ€¥Ô öÞÂ`]Ó 2Õ€™ÖÂ@÷ÖÂ`?ØÂ@ÓÜ€øÛÂÐÂàHÌÂàƒ×€™ÖÂÀ#ÚÂ@ýÕÂ`Â×ÂÀ²×ÂàÓ ÕÙÂÀÜÂà}ØÂ`˜ÞÂà$ÒÂàîÚ ÚÂ@ÑÂÀ¾ÕÂàwÙÂÀÐÒÂ`ßÂàÕ€øÛÂàÕÂÀAÕ€"ÕÂ`3Ú ÉÛÂÀÖÑ ÃÜÂËÂÀAÕÂ`ÔÔÂÀpâ ˆÑÂÐÂ@åÙÂ@˜ÑÂ@!ÐÂgÔÂÀ)ÙÂ`oР¨(dt ?@4 4ÿxunitsyunits ~hðm (·—NMTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ v (š™™™™™©?msô¯=8é‡ pA¿F:”‰6 š™™™™™©?msô¯=8é‡ pA¿F:”‰6 š™™™™™©?msô¯=8é‡ pA¿F:”‰6 ÿÿÿÿÿÿÿÿ (CLASSTABLE (VERSION3.0 8TITLEDescription of sec0 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0ƒHEAPX Èdatadescription8  @œ8‡q·—NM€SNOD ‚x„ X¨(dt ?@4 4ÿxunitsyunitsÿÿÿÿÿÿÿÿ8ø (·—NM (CLASSTABLE (VERSION3.0 8TITLEDescription of sec1 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitshˆÀAÕÂ`]ÓÂöÑ€LÎÂ@¶ÌÂIÙ RÚÂðÒÂ`{ÎÂÀkÎÂgÔÂÀYÑÂ@÷ÖÂ@ Ô€Ú ÿÒ€"ÕÂÏÂÀÛ€ÉÎÂÀ¦ÙÂàôÙÂ@ñ× >ÓÂØÖÂàÕ´ÜÂ@¯âÂÀÜÐÂ@zÖ d×ÂÀ5× màÂ`ìРØÂ€]à ÚÂÀâÏÂ`ìЀ]àÂÀÄÔÂ@ÁßÂÀÛÂÌØÂàØÂ@ÓÂ7ÜÂàèÛÂ`KÖÂ@JÞ€É΀øÛ€ÚÂÆÙ vÔ PÐÂ`É ÍÐÂ=ÛÂ@Ò€ÕÌ &× ÿÒ€ Ù€àß óÔ€«ÓÂ@Ò >ÓÂ@\ÛŠãÂ`ÔÔ ‘ÚÂ@VÜÂ`KÖ ÇÑÂ`øÎÂÀYÑÂÀ;ÖÂà× ŽÐÂÀ5×Âà×Â@¶ÌÂüÐÂÀkÎÂ@t×ÂÀ¾Õ€{Û ùÓÂ@zÖ 8ÔÂ`'ÜÂàôÙÂà•ÔÂÀAÕÂÀŽÝÂà¹Î€¥ÔÂ`3ÚÂ%߀.Ó ëË JÑ ,Ö 䠽݀×ÂÀ_ÐÂÀ)ÙÂÀ Ú€¥ÔÂ@ÍÝ {è «àÂöÑ‹ÎÂàÖÞ ‘ÚÂ@ëØÂ€“×€ØÂà*ÑÂ ÛØÂà*Ñ "âÂàúØÂ@ÓÜ€RÍÂÀšÛ€ ÙÂà ÖÂà$ÒÂ`iÑ€LΠ”ÏÂà á×ÂyÑ 2ÕÂ`¼ØÂ€.ÓÂ@žÐÂàeÜÂ…Ï€æÞÂÀ;ÖÂ`'Ü RÚÂÀAÕ Ý XÙ jÖÂ@bÚ€ØÂ€ØÂ ‚Ò |Ó PÐÂÀÊÓÂ`ªÛ ÕÙ pÕ íÕÂØÖÂàkÛÂÀ/ØÂ@¼Ë pÕ ¯Õ íÕÂÀÝÂàúØÂ€¥ÔÂÀšÛÂà•ÔÂ@ÒÂà•ÔÂÀqÍ óÔÂÀÚ #Í 2ÕÂ`cÒÂà¿ÍÂ@JÞ 2ÕÂΠÐÂΠöÞÂCÚ ñÊÂ`WÔ ÏÚÂÀÝÂÀÛÂà¡ÒÂöÑ€"Õ ÒäÂ`žÝÂÀ5×Â`iÑÂ`cÒÂàÕ ‚ÒÂà0ÐÂ[Ö ÁÒ ÕÙÂÀ¾ÕÂsÒ ÕÙ€·Ñ€ŸÕÂ`QÕÂ`QÕÂÀkÎÂÀ¦ÙÂÀ_ÐÂÀÊÓÂöÑÂÀÜРjÖÂÀÊÓÂàúØÂ@nØÂ ²Ê»ÆÂ`cÒ€oÝÂÀƒÊ ýÈÂà­Ð —ÙÂCÚ JÑ |ÓºÛ &×ÂaÕÂ[ÖÂà§ÑÂÀîÍÂàèÛÂÀ;ÖÂ@÷ÖÂ@t×Â`ªÛ€:ÑÂ@çÂ`¼ØÂ`]ÓÂàwÙ€ÉÎÂÌØÂ@÷Ö€Œí jÖ šÎ€çÉ PÐÂà­Ð€× |Ó JÑ ¬Ë ÍÐÂ@ŒÓÂà×ÂÀ‰ÉÂ`ËÂàÔÂÀMÓÂ@zÖÂaÕÂðÒ \ÎÂ@˜ÑÂà0Р/Ë jÖÂÀÝ€ÚÂ@åÙ€½ÐÂÀâÏÂ`¶ÙÂ`žÝ ,Ö ÈÂðÒÂàÕÂ`¶Ù€ŸÕÂàÕÂÀeÏ 8Ô€ÖÂ`cÒ€^ËÂà•ÔÂ@-ÎÂàwÙÂ`ÚÓ íÕÂÀ¦Ù ½Ý€Wá ‹Û ŒÆÂàÑÊ ØÂ ÏÚÂÀ”Ü çÖÂ@†ÔÂàkÛÂ`?ØÂÀ/ØÂ€™Ö £×€‡ÙÂÀˆÞÂÀÐÒÂ`ßÂàÖÞ  ÑÂà‰ÖÂ%ßÂÀ;ÖÂà0ÐÂ@\ÛÂÀ/ØÂÀ¬ØÂÀ¸Ö ÜÂÀîÍ€ÚÂà€LΠØÂCÚÂàwÙÂ@JÞÂ`ÎÕÂ@ýÕÂÀ;Ö€ÏÍ µÔ€ÉÎÂ`ÍÂÐÂÀ¾ÕÂàÔÂÀ¾ÕÂÀÝÂ+ÞÂ`¶Ù ùÓ >Ó ØÂ€Ôá€Ú @ÝÂû倨ÂÀÛ —ÙÂà}ØÂ€àß ÉÛÂ`Â× Ú µÔ Øã šÎ ÙÂàîÚ€uÜÂÀáä€oÝ ØÂ d×Â@ßÚ :ÞÂ`Â×Â@hÙÂêÓ€àßÂàúØÂ üÝ ^ØÂ€uÜ€uÜÂ@ßÚÂ@zÖ€"ÕÂ@-Πá׮݀¥Ô ˆÑÂÌØÂà$ÒÂà•ÔÂÀÄÔ ÐÂÀ¸Ö€ØÂ íÕÂÀÖÑÂÏ€ÏÍÂ`ªÛÂ`¶ÙÂOØÂ FÜÂ@ÕÂ@Ò ëË€·ÑÂgÔ )ÌÂ…ÏÂÀ;Ö€ØÂ 2ÕÂ@bÚÂ@ªÎÂ`oÐÂ@åÙÂÀÊ‘ÍÂàúØÂÀ”ÜÂÀ_ÐÂ`uÏ ©Ö ùÓ ©ÖÂyÑÂ@ÒÂ@VÜÂÀ#Ú ñÊ ÙÂ`òÏ µÔÂ@Ñ€(Ô€òÜ ÏÚÂÀ¬ØÂàÜÝÂ=ÛÂÀšÛÂà›ÓÂ@ñ× RÚÂÞÕ —ÙÂ@ñ×Â@žÐÂØÖÂÀvá€4Ò &× »ÓÂ`9ÙÂÀ²×ÂàâÜ @ÝÂ@°Í€Ú ¬ËÂÀîÍ€FÏ ¯ÕÂÀ/ØÂ@ÙÛ ùÓ µÔÂ@ÑÂ8ÇÂyÑ€‡Ù€‡Ù 8Ô€™ÖÂ@ýՊ〙֠&×Â`-ÛÂÀÝÂÀâÏ ÙÂ`-Û€Ú ÝÂ@ÓÂÀÝÂàÄáÂ@ÙÛ Ï £×€¥ÔÂ@ÍÝÂÌØÂ@ÑÂà•ÔÂØÖ çÖÂ@ªÎ€"Õ€·Ñ€ØÂ@’ÒÂà}ØÂàîÚÂ[ÖÂ%ßÂ`nåÂàYÞÂ`ß ØÂ@ýÕ€øÛÂÀGÔÂÀ)ÙÂà6ÏÂàƒ×€ÚÂÐÂÀ/ØÂà<ÎÂ@÷Ö —Ù€«ÓÂCÚÂàËËÂäÔÂ@!ÐÂà}ØÂ |ÓÂ@÷Ö€±Ò€þÚÂà/å Ý ‹Û ÙÂÀ”Ü ‹ÛÂÀ Ú€øÛÂ[ÖÂ@Ò ^ØÂÒ× ^ØÂ  ÑÂ@ýÕÂ`ÈÖ šÎÂ`±Å€.ÓÂ1Ý ‚Ò€"ÕÂ`ÍÂ`ÈÖÂ@©ãÂyÑÂÀ²× ÇÑÂ@ñ×Â@˜ÑÂÀÛÂ`WÔ ÿÒÂÀYÑÂ`9Ù ¯Õ€“×ÂÏÂàËËÂOØÂ &× öÞÂ@÷ÖÂ@˜ÑÂäÔÂÀ/ØÂ 4ß 8ÔÂðÒ ΀.Ó ‹Û€ØÂ@ ÔÂ@bÚÂÒ× LÛÂ`æÑÂàBÍ pÕ µÔÂ`{ÎÂàƒ×Âà¡ÒÂ@bÚ á×  Ñ€Ú€ÏÍ–á µÔ€pÈÂ`?ØÂ`]ÓÂàÓÂgÔÂàãÇ€«Ó€òÜÂ`QÕÂà›Ó d×ÂàBÍÂ@zÖ ÏÂÀ¸ÖÂ`ÞÂà× Ï "âÂÀÊÓ ÓÏ€±ÒÂÀGÔÂmÓ ÎÂmÓÂ ÛØÂÀÝÂ@ÂÊÂ=ÛÂ`{ΠöÞÂ2ÈÂ@¤Ï€·Ñ óÔÂ@àÅ á×ÂàÔÂ`oÐÂ@˜Ñ DÒÂ`ÍÂÀÇ óÔ ½ÝÂàÅÌÂ@˜ÑÂ`ÉÂ`KÖ Ѐ4Ò íÕ€«ÓÂ@’ÒÂ@€Õ ÙÎÂÎÂ@Ñ  Í µÔ€·ÑÂË ˆÑ€cßÂàÄá ‹ÛÂ`9Ù  ÍÂÀîÍÂ@ ÔÂÀwÌÂà<΀:Ñ€ÛË µÔÂ7Ü€ Ù€(ÔÂüÐÂÀÄÔÂÀ5×ÂÀÄÔÂà³ÏÂ@ªÎÂà<ÎÂ@Õ ÏÂÀÿßÂêÓÂàÅÌ ÁÒÂ`QÕÂÀqÍÂ@˜Ñ´ÜÂ@˜ÑÂ`¼ØÂ[ÖÂ@ÚÆÂ`±ÅÂ`þÍÂ@ÈÉÂÀkÎÂàÅÌÂ`“ÊÂÀ¸ÖÂ@!Р2ÕÂÀ›ÆÂ@EÊÂÀîÍ ËÂà§ÑÂ`KÖ 8ÔÂ@iÄÂ`"È€RÍÂà¹Î€4Ò pÕÂ@åÙÂ@ӵǻÆÂÌ£ÊÂ@àÅÂgÔ ÄÇ ¦ÌÂÀ‰ÉÂgÔ ÿÒÂ@9Ì€^ËÂàHÌÂÞÕ´Ü  Ñ ÁÒÂ@Ò€.ÓÂÀèÎÂà•ÔÂ@ÂÊÂ@!ÐÂà$ÒÂà×ÉÂ@cÅ€ùÆÂ@¶ÌÂsÒÂ`þÍÂÀ‰ÉÂÀÊÓÂÌ©ÉÂÀËÂ@-΀½ÐÂ`{Π€ÈÂ@°Í€ÉÎÂ@KÉ ÈÂà0Р÷ÉÂgÔ /ËÂÀÈÂÀÈÂÓÂÂ@EÊÂ@]ÆÂ VÏÂÀúËÂüРÒÂÀ0ÃÂÀ§ÄÂ@Ñ€LÎÂÀÜРAÈÂ@KÉÂÀîÍÂ`.ÆÂ@ Ô€ÃÏÂ@{ÁÂàÔÂPõÇÂÀÈ€ÿÅ€ÕÌÂà¹Î vÔÂÀË ËÂ@9ÌÂРPÐÂÀ¬ØÂ@hÙ€@Р‘ÚÂàÅÌ‹ÎÂ`oÐÂ@€Õ ÓÏ &×Â@ÓÂÀÄÔÂ@9ÌÂàBÍÂàTÊ ’Å€óÇÂ@'Ï ÏÂ`àÒ€:ÑÂà6ÏÂÀ É€vÇ€×Â@9ÌÂÀÊÂÁÅÂ@ÔÇÂ`ÍÂ@¶ÌÂ@¤Ï šÎ€çÉÂàÓÂ`òÏ †ÇÂà×É ²ÊÂ̩ɀÖÂ,ÉÂ…Ï ÛÂ@!ÐÂ`òÏÂ ÊÆÂÀÊÂàãÇÂÀȑ͠VÏ ÈÂàNË MÆÂÀ›ÆÂÓ€²½ÂÀƒÊÂöÑÂÀÐүȠùÓ€FÏÂÀÐÒÂ`{Π˜ÄÂàTÊÂÀîÍÂ`iÑ€(ÔÂÀèΠDÒÂöÑÂÀwÌ€ÃÏÂàÝÈ  Í ”Ï€ÂÂà`ÈÂàÅÌÂüÐÂÀ*Ä šÎ VÏ óÔ ;É€ÅÂÒ× Ç»ÆÂ€ÕÌÂ`(ÇÂÌÂÀÖÑ šÎÂÀYÑ JÑÂyÑÂÀ¬ØÂ€.ÓÂÀ;ÖÂÌ€«ÓÂàËË  Í€ÃÏ€ÕÌÂÀÖÑÂ`æÑÂà6Ï ¦ÌÂàrÅÂÎÂ`ÍÂ@9ÌÂ@9ÌÂ`ÍÂà×É©ÉÂÀSÒÂàHÌ €È€:ÑÂ`uÏÂDÅ€áÊÂà§ÑÂ`àÒ€4Ò€RÍ ”Ï€LÎÂsÒÂyÑÂ`ËÂ`Ê hÌÂ`ÊÂðÒ€ÃÏ Ù΀ÛË ;ÉÂ@ ÔÂ@?ËÂ`ìРAÈÂàïÅÂ@¼Ë 5Ê€vÇ ýÈ€dÊÂÀƒÊÂ@'ÏÂOØÂ@€ÕÂ ÊÆÂÀôÌÂà§Ñ€áÊÂ@-ÎÂàTÊÂ@QÈÂÀ5×ÂÀƒÊ ÐÅÂyÑÂàfǠˀ·ÑÂàÑÊÂ`ÍÂÀÊ€pÈ€pÈ€¸¼Â €ÈÂ@9ÌÂ@3ÍÂÀwÌ€ÏÍÂà<ÎÂÀÇÂ`ìÐÂÀËÂaÕ€ÛËÂà¹Î ÁÒÂ`ìР>Ó€¥Ô ŒÆÂsÒ€±ÒÂ`ÍÂ`þÍ ÅÂà§ÑÂÀÈÂÍÂCÚÂà¿ÍÂ`]Ó€ÏÍÂЀ·ÑÂàÕ€ÃÏ PÐÂ@3ÍÂ`"È€RÍÂ@ Ô  ÍÂ`E×Âà× ˆÑÂÀÐÒÂÀÇ )ÌÂ`.ÆÂ #Í »ÓÂàïÅÂ@-ΠvÔÂàHÌÂ`ÏÀ€±Ò )Ì€ÛË€RÍÂ@Ó€«Ó çÖÂ`ìÐÂ`ÍÂàËËÂàËËÂ`¼ØÂ€4ÒÂ`‡ÌÂÐÂÀúËÂIÙ ýÈ‹ÎÂ`WÔÂüР£×Â`¼ØÂ@åÙÂ ÛØÂ@bÚÂ,ÉÂàÝÈÂÀAÕÂ@!Ѐ½Ð €È ˆÑ ,Ö DÒÂ` Ì€c߀“× 4ßÂ@žÐÂ@Ñ ˆÑÂ`ÔÔÂËÂÀGÔ åÌÂÀMÓÂ`bçÂà ÖÂÀâÏÂ`Í pÕ€øÛÂÎÂ@Ó‹ÎÂà¿Í€:ÑÂà*ÑÂüÐÂàwÙ zÉÂÀôÌ ÿÒÂÀîÍÂÀÈÂ@?Ë ÎÂàËË ßÍÂÀËÂÌÂ&ÊÂÀ;Ö€LÎÂ@°ÍÂà*ÑÂ`]ÓÂ@'ÏÂà6Ï€ÖÂàîÚ€±ÒÂ`{ΠíÕ £×Â`4ÅÂ@\ÛÂÀ¾ÕÂà ÖÂÀƒÊ #ͩɀŸÕ PЋÎÂ@!ÐÂ@hÙ d× ÅÂ`]Ó€jÉÂ@-ÎÂ`àÒÂà³ÏÂ@zÖÂÀÐÒÂ@¤ÏÂ@ªÎ d×ÂÀ_ÐÂ`™É€ØÂ åÌÂ@zÖ ÇÑÂsÒÂ@Ò€{ÛÂÀSÒ ŽÐÂ`øÎÂà0ЯÈÂ`Ë ’ÅÂ@{ÁÂÀƒÊÂ`ÔÔÂÀ;ÖÂà*ÑÂÍ ˆÑÂ@˜ÑÂÀGÔ€¦¿Â@EÊÂÐÂ`3ÚÂ` ÌÂ`.ÆÂ€vÇ tÊ )Ì 8Ô€É΀^ËÂ`ÎÕÂÀÊÓÂ`(Ç€:ÑÂ`ÉÂà¹ÎÂDÅ ÅÂ`æÑ ¦Ì ;É VÏ Ï ÇÑÂ,ÉÂà¿ÍÂàH̵ÇÂ>ÆÂà*Ñ ýÈ  Í nËÂÀSÒ ÐÂàïÅ€™ÖÂÎÂ`¼ØÂ 5ÊÂÀYрŠ&×ÂÀ5×Â@ÂÊ ÄÇÂÀ0ãÊÂ…Ï ΠžÃÂÀ}Ë€ùÆÂà$ÒÂÀÐÒÂÀúËÂÀkÎÂàãÇÂÓÂÂÍÃÂÀúËÂ8Ç PÐÂÀúËÂàïÅÂÀ*Ä ˆÑÂÀôÌÂÎÂ@oÀ.Ó ;ÉÂàÅÌ€áÊ€.Ó &×Â@ìÃÂ@¼ËÂ`ÍÂ@ÈÉÂÀÇÂ`¼ØÂ`òÏÂ`ËÂà³ÏÂ`iÑÂ@ ¿Â@ÈÉ€ÿÅ€(ÔÂ`æÑÂÏ€ÏÍ€RÍÂ`WÔ€RÍ‹ÎÂàNËÂÀeÏÂ,É #Í #Í Ë AÈÂÀîÍ GÇÂ`“ÊÂÀMÓÂàÅÌÂà¿ÍÂË vÔÂ`¥Ç SÅÂÀZ¼Â`"È€«ÓÂ@¼ËÂÀ²×Âà<ÎÂàôÙÂÏÂ`“Ê€ÛËÂÀSÒ€RÍÂmÓÂ@¯â ŽÐ Å€4Ò ΀óÇÂÀÊ )ÌÂ`™ÉÂà¿ÍÂàBÍ ÏÂ`±ÅÂ`Í  ÑÂàlÆÂ λÆÂ Ðũɠ5ÊÂàÜÝ  ÑÂ@˜ÑÂà¹ÎÂà¹ÎÂ`]ÓÂ,ÉÂÀ‰ÉÂ`]ÓÂ@bÚ€±Ò€çÉÂÍ ëË —Ù óÔ€·ÑÂà*Ñ ”ÏÂÀ‰É€XÌ€(ÔÂÀ}ËÂÀ}ËÂ7Ü€«ÓÂ@cÅ SÅÂ@˜Ñ ñÊÂÀƒÊÂàfÇÂÀÖÑ€@ÐÂgÔÂ@Ó€^ËÂ`ÏÀÂÀqÍÂà×ÉÂ@?Ë ŒÆÂ`ÍÂäÔÂàTÊÂ@¼Ë ýÈ ¶¿ÂàÃÂ`:Ä ÐÅ ˆÑÂàÓÂ`iÑ€”ÂÂ`Ê€jÉ€ÏÍÂàZÉÂà0РŽÐÂ`Í€vÇÂüÐÂyѯÈÂ`æÑÂêÓ€(ÔÂ`QÕÂΠÄÇÂÀwÌÂà$ÒÂà¹ÎÂ`WÔ€vÇÂ΀LΠÐÂäÔ tÊÂÀúËÂÐÂ@?ËÂÒ×Â@˜ÑÂ@Qȣʠd×ÂmÓÂÀšÛÂ@ÓÂmÓÂ`øÎ 8Ô ÙÎÂ@€ÕÂÀeÏ€"ÕÂ`KÖ€jÉÂÀÜРˆÑÂêÓÂ`QÕ€.Ó€·ÑÂ@!ÐÂÀ5×ÂmÓ ”ÏÂ`oÐÂ`]ÓÂ@ÑÂÀAÕ ðßÂ`øÎÂ@†ÔÂ@'ÏÂÀ5× »ÓÂàÅÌÂ@JÞÂ`ÍÂ`{΀±Ò #ÍÂÀÛÂ@Á߀ÖÂ`uÏÂàËËÂÀ¾ÕÂ@&ä yÞÂ`ËÂ`{ÎÂÀÄÔÂà•Ô€ØÂÀôÌÂÀGÔ ÿÒ hÌÂ@ Ô Ü |Ó ËÂÀËÂ`ÚÓÂÀ;Ö tÊÂàNËÂ`±Å€.Ó ”ÏÂ@KÉ€¥ÔÂ`Â×€×Â…Ï€ÃÏÂ`ÔÔ€½ÐÂàHÌÂgÔÂ@˜ÑÂ`¼ØÂ Ú€|ÆÂ€«Ó€·ÑÂ`-ÛÂ`ìÐÂ@ªÎÂàÝÈÂà<ÎÂöÑ€"ÕÂÀÜÐÂ`ÈÖÂ@ªÎÂÀôÌ ßÍÂ@ÒÂ@ÂÊÂà<ÎÂ…ÏÂ`‡ÌÂ@¼Ë ÇÑÂà<ÎÂ`iÑ ßÍ ÏÂsÒÂ@'ÏÂ@QÈÂà­ÐÂ@-ÎÂà•Ô ÇÑÂÌÂÀ_Р˜ÄÂÀ›ÆÂÁÅÂ,ÉÂ@iÄÂÀÆÂ`ìРÕÙÂ`ÊÂ`WÔ MÆÂ8Ç€@ÐÂêÓ€ÏÍÂ@!ЀÃÏÂÀôÌ€ÃÏ ÎÂÀƒÊÂ@9ÌÂ`ÚÓÂ@åÙÂÀèÎÂ`uÏ€(ÔÂ[ÖÂÌÂà³ÏÂ`]ÓÂ[ÖÂ@†ÔÂàÓ€ÃÏÂàÔ tÊÂ`9ÙÂàØÂ Ï çÖÂ@PÝ€ÃÏÂÀ5×Â@’ÒÂ@ÈÉÂ@!ÐÂÀ¸ÖÂyÑÂ@÷ÖÂ[ÖÂÀÆÂ\ÁÂà­ÐÂàBÍ ÒÂÀîÍÂÀ¸ÖÂ@Õ€¥Ô ëËÂðÒ ¦Ì ¬Ë ÐÂ`WÔÂÀèÎÂ`ÞÂ@Õ€:Ñ ΠVÏ ÙΠÎÂàBÍÂ`oЀÿÅ€ÏÍÂà*Ñ ñÊÂÀqÍÂÀÊÓ XÙÂà¿Í ¯Õ€±Ò ÎÂà0ÐÂàZÉÂ@ÕÂÎÂ`‡ÌÂ`uÏ ¬ËÂ`ÚÓÂêÓÂðÒÂ@†ÔÂà0РDÒÂöÑÂöÑÂ@þÀ€pÈ‹ÎÂÀGÔ€.ÓÂ@Ò€:ÑÂÀkÎÂàNËÂÀqÍÂ@ŒÓÂ@ÕÂÀÈÂ@'Ï€™Ö‘ÍÂ@†ÔÂ@˜Ñ€áÊ€ØÂÀÇÂ`Í€pÈ ^ØÂà}ØÂ@ Ô€ÛË€ÕÌÂ@zÖÂÎÂÀúË ÒÂ@?Ë€ÛËÂ`òÏÂ@ÂÊÂÀSÒ€«ÓÂ@nØÂÀ*Ä€ÉΠ|Ó€@РÉÛ ßÍÂà¡ÒÂ`ÔÔÂàÅÌ€ Ù \ÎÂ@’Ò€ŸÕ€ÚÂ@ÕÂà$ÒÂÀÈÂÀ}ËÂ`{ΠëËÂyÑÂ`‡ÌÂÀ§ÄÂÀMÓÂÇÄÂ`‡ÌÂaÕ  Í€ÃÏÂÀÜÐÂ@°ÍÂÀ}ËÂ`Í€@ÐÂðÒÂ@ÕÂ`oÐÂ`KÖÂà¿ÍÂÀÊÓ PÐÂÀÐÒ vÔÂРÙ΀"ÕÂ@Ò jÖÂÀ¦ÙÂ@€Õ ÒÂÀÄÔÂ`¤Ü vÔ€íÈÂà¿Í€àùÓ RÚ FÜÂÀ;ÖÂÎÂÀîÍÂÀ5×Âà›ÓÂ`cÒÂÀȋΠvÔ VÏÂÀ_ÐÂØÖ 2Õ€FÏ  Ñ RÚÂ`ÉÂ@!ÐÂU× /ËÂà×Â`‡ÌÂ`KÖ çÖ€íÈ ÙÂÀ¾Õ d×ÂàÅÌÂ@ýÕ€.ÓÂÀ”Ü …Ü ÙΠ;ÉÂäÔÂ@ýÕÂàTÊÂöÑÂ@¤ÏÂàËËÂ@3Í ¦ÌÂ`iÑ€4ÒÂÀ}ËÂ7ÜÂOØÂà­ÐÂÀÜЀ ÙÂ`ÚÓ  Í€ÕÌ ßÍÂÀúËÂÀSÒ pÕÂ@ªÎ /ËÂ` ÌÂ@EÊÂàÓ ‚ÒÂ@ñ×Âà›Ó ‚ÒÂÀÐÒ€‡Ù€¥ÔÂ`àÒ€(ÔÂÀAÕÂÀâÏÂ@KÉÂ@zÖÂÀÄÔÂ`ËÂÀÐÒ jÖ hÌÂ@ªÎ€dÊ JÑÂaÕ #Í ÍÐÂÀpâ |Ó ‹Û 8ÔÂ@zÖ€.Ó ÿÒÂ@€ÕÂÀ#Ú€½ÐÂ@ŒÓÂmÓÂ`˜ÞÂÀîÍÂ2È 2ÕÂÀŽÝÂ@hٮݠ±ßÂ@Ò )ÌÂÀÐÒÂ@9ÌÂmÓÂ`Í DÒÂ`æÑÂ`{΀XÌ€4ÒÂÀ¾ÕÂÀ)Ù‘ÍÂðÒ€“×€ŸÕ d×ÂÞÕ ˆÑÂà§ÑÂ@°ÍÂÀ•Ç Ä ÐÂÀÖÑ€þÚÂàÓÂÀeÏ 5ÊÂ@ýÕÂÀ²×ÂÀMÓ »ÓÂ@÷Ö |Ó—ÌÂ@ªÎÂÀ5×€"Õ€L΀4ÒÂÀÜÐÂ`]Ó 5ÊÂ`™ÉÂàÓÂÌØÂ@Ó€·ÑÂðÒÂÀÜ šÎÂÀwÌ ^ØÂ  ÑÂàôÙ€4Ò öÞÂÀGÔÂà×Âà ÖÂ@¤ÏÂ@ÒÂ@'Ï DÒ€¥ÔÂÀôÌÂÀMÓÂ@?Ë€ ÙÂ`ÉÂ ÊÆÂàBÍÂ`QÕÂÀ;Ö ÙÎÂ@-ÎÂÀÐÒ ëËÂ@?Ë ˆÑÂàÔÂäÔÂ@-ÎÂÀ)ÙÂ@ŒÓÂ`uÏ€ŸÕÂÀwÌÂàËË—Ì ”Ï ^ØÂÀƒÊÂàHÌÂ@žÐ 2Õ jÖÂ`ÊÂÏÂ`ËÂÀkÎÂàHÌÂaÕ€4Ò €È >ÓÂ`.ÆÂàÖÞÂ@bÚÂàMà #ÍÂàTʠπÕÌ »ÓÂÀÐÒ€«ÓÂ@EÊÂ`]ÓÂ`oÐÂà0ÐÂÀT½Â—ÌÂà×ÉÂ@ÓÂÍÂ@-ÎÂÀ¾Õ ¬Ë€«Ó €ÈÂÀ•ÇÂÀSÒÂ@]ÆÂ pÕÂ@÷ÖÂà¹ÎÂ@°ÍÂÓ€çÉÂÁÅ ÿÒÂÀâÏ€Ú VÏÂ@ÕÂàkÛÂ΀áÊÂ`ÚÓÂÀÊÓ )Ì ˜Ä šÎÂaÕÂà¿Í Ë RÚÂ`9ÙÂ`WÔ€4ÒÂ`Â× pÕÂ@†ÔÂsÒ€XÌÂàBÍ€XÌÂÀÊÓÂà³Ï€"ÕÂÀâÏÂÀ‰ÉÂàúØÂ`4ÅÂà­ÐÂ`Ë€áÊ€çÉÂÀƒÊÂ`ìÐÂÀôÌÂ`WÔÂ@ÕÂ@’ÒÂ@ÒÂ` Ì€RͣʠXÙÂÀAÕ Ë ˆÑ€LÎÂ@ÎÈÂ@¤ÏÂOØÂ€óÇÂà_ÝÂ`þÍÂ`{΀ÿÅÂà×Â2ÈÂ@¤Ï åÌÂ`ìÐÂ`Ë€FÏÂ@?ËÂÀeÏ€ÛËÂàÑÊÂÀYÑ PÐÂÀGÔÂ@¤Ï€RÍÂ@ÈÉ€¥ÔÂ`òÏÂ`øÎ )ÌÂÌÂÍàzÉÂ`WÔ šÎÂÀ/ØÂ»ÆÂËÂÀ•Ç€ÃÂ@˜Ñ ÓÏÂgÔÂ@!РÒÂ`æÑÂ`oЀ×—ÌÂÀ¡Å /Ë€:ÑÂ@-ÎÂÀ›ÆÂ@zÖÂ`iÑ SÅ ˜ÄÂÀwÌ PР¬ËÂ@ÔÇÂ@¶Ì ëË VÏÂ@ÑÂà¿ÍÂ@!ÐÂ[ÖÂsÒÂ`WÔÂÀ#ÚÂÀÜÐÂÀ¾Õ ’ÅÂ2ÈÂà$ÒÂÀ¦ÙÂÀAÕ d×Â@ÂÊ€±ÒÂ`ÎÕ £×Â@†ÔÂüЀ(ÔÂÀkÎÂà0ÐÂÀôÌÂÀ²×Â`E×Â@'ÏÂ`ÎÕÂÀ;Ö€RÍÂÆÙ€× VÏÂÀSÒÂÀè΀RÍÂ…ÏÂÌÂÀ)ÙÂÎÂ`ÍÂ@ ÔÂ@ñ×€‡ÙÂ@DßÂÒ× ÏÂÎÂ`(ÇÂ@-ÎÂàÔ€ÃÏ VÏÂà ÖÂ`ÍÂ`¶ÙÂ`¶Ù€ŸÕÂàYÞÂ@ßÚÂ@ñ× ¬Ë‹ÎÂÀÜÂ@\ÛÂàúØÂ`3ÚÂÀ/ØÂÀ¬ØÂ 2Õ ÛÂ@˜ÑÂgÔÂaÕÂ@žÐÂ@’Ò ÕÙÂÒ×ÂÀeÏ€«ÓÂ@t×ÂÀGÔÂ@!ÐÂ`-Û bÍÂÀ¦Ù ‚Ò€RÍ€Ú€{Û 2ÕÂà*ÑÂ@†ÔÂà‰Ö ÎÂ7ÜÂÀ¾ÕÂyÑÂÀSÒÂ@°Í Uä€óÇ ²ÊÂΠ Í #Í ÄÇÂmÓÂ@žÐ \ÎÂàÅÌÂ@ÂÊ šÎ ‚Ò€ÿÅ ²ÊÂàZÉÂ`±Å >Ó ÒÂàÕÂ`ÊÂÀkΠ†ÇÂ`ÚÓÂ@ Ô ùÓÂU×ÂÀ¾Õ —Ù óÔ€dÊÂàÝÈÂÀâÏÂÒ×Â@ªÎ  Ñ ùÓ µÔÂ@-ÎÂöÑ€½ÐÂà*Ñ€XÌ &×Âàƒ×Â`ÚÓÂ@ýÕ‘ÍÂÀúËÂ`ÈÖÂÀYÑ€:Ñ€jÉÂ`uÏÂÀÜÐÂàéÆÂ ÈÂà}ØÂ`uÏÂ@ßÚÂÀîÍ ¯ÕÂ@ Ô ˆÑÂ@ÙÛÂ@9ÌÂ@ŒÓÂà×ÂÀ}Ë€çÉ€:Ñ€4ÒÂ`ÎÕÂ@÷ÖÂÐÂ`™É ÓÏÂ`uÏÂÏ€×ÂàYÞÂÒ׋ÎÂêÓ ©ÖÂ`ªÛÂ`ÚÓÂÀâÏÂ`¼ØÂ ÇÑ ùÓÂÀÄÔÂ@ÓÜ€½Ð ˆÑ öÞÂà$Ò€ÖÂà}ØÂ`ªÛ ,Ö€uÜÂ@ ÔÂ`ÀÏÍÂ`QÕÂà¹Î€™Ö ÓÏÂàÔÂ`æÑÂÀ#ÚÂÀîÍÂ@KÉ€‚ÅÂ@¤ÏÂ@-ÎÂÀqͯÈÂêÓÂ@Ñ ùÓÂÐÂà›Ó€«Ó€.Ó JÑÂ`ÚÓ€·ÑÂ`iÑÂ`ÈÖÂÀšÛ ÿÒ |ÓÂ`ÔÔÂÀÖÑÂÀÈ \ÎÂÒ× 8ÔÂÀ¦ÙÂ@ÍÝÂ@hÙÂÀ‚ßÂOØÂ@!Р‚Ò öÞ AÈÂ`àÒ ÿÒ€4ÒÂ`°ÚÂ@žÐÂà¹ÎÂÀSÒ ÕÙÂ@zÖ tÊÂà³ÏÂÞÕ€RÍ€Ö€^Ë ýÈÂÏÂ`9Ù€øÛÂ`žÝÂ`E× ¥á RÚÂ@°Í€ÛË †Ç€ÅÂ`iÑ ÙÎÂ@hÙ pÕÂÀÜÐÂ`Í d×ÂÀÖÑÂ@ÔÇ»ÆÂ€±Ò€ÃÏÂà•Ô ¯ÕÂÀîÍ \ÎÂàÓ óÔÂ@’Ò€·Ñ‹ÎÂàÕ€ŸÕÂ`·Ä ’ÅÂàHÌÂ`WÔ€× ßÍÂËÂÏÂöÑÂÀ}ËÂÀ¡ÅÂ`½Ã¯ÈÂÒ× ¸ÉÂ2ÈÂ`æÑ ÏÚÂ`ÔÔ )Ì /ËÂ@cÅ£ÊÂ@bÚÂàèÛÂ`òÏÂÀËÂ`ÍÂàNË ùÓÂà‰Ö€vÇ ßÍ€@ÐÂ`òÏ ÍР)Ì€dÊÂ`{ÎÂÀ ÚÂà³ÏÂ`ŸÈÂmÓ ÙÎÂ@ ÔÂ@æÄÂ@ÕÂ`ìЀ@Р¯ÕÂà*Ñ jÖÂ@Ó ØÂ @Ý ÃÜÂ`'Ü )Ì åÌÂ@9ÌÂàÔÂàôÙÂÀwÌ€ÏÍÂà¹ÎÂ`ÚÓÂêÓ€¥ÔÂ@Õ SÅ ÇÂ`{ΠMÆÂ@?ËÂ`þÍÂmÓÂÀAÕ€^Ë€:ÑÂÀÄÔ€XÌÂ`àÒ á×Âà`ÈÂ@9ÌÂÀúË /ËÂ`uÏ íÕÂ`àÒ ñÊÂÀSÒÂ`ÈÖÂ`oЀ:ÑÂ@ ÔÂÀÊÂÀÄÔ ”Ï ÇÑ ΀4Ò€·Ñ€½ÐÂ@ÕÂÀèÎÂàèÛÂðÒÂ`]ÓÂà0ÐÂÀMÓ ¾ÈÂ@ŒÓÂÀ²×Â@ñ×€Ö ŽÐÂ`QÕÂÀSÒÂ`E×Â@ÚÆÂ d× vÔÂÀ_ÐÂÀÜÐÂÀÜÐÂgÔ€{ÛÂðÒÂOØÂÀSÒÂ@¤ÏÂàÕÂ ÛØÂ ØÂÀšÛ jÖÂ`¶Ù€Úà€ÃÏÂ`cÒÂ`¶ÙÂÀ¬ØÂ€øÛÂÀ¾ÕÂÀâÏÂ@9Ì ÏÂ@Õ bÍ€ŸÕÂ`cÒÂÀâÏ€ìÝ ØÂ VÏ ÐÂÐÂ`Ë€dÊÂàBÍ€ÚÂ`WÔ€þÚÂà`ÈÂ`þÍÂÀÆÂ@°Í¯È pÕÂàrÅÂ,ÉÂðÒÂ@hÙÂ@’ÒÂÀSÒÂ@˜ÑÂàœ¾Â€@Ѐ|ÆÂgÔÂÀAÕÂ`QÕÂ@ÂÊÂÀÐÒÂ@EÊ ýÈÂ@Ò€:ÑÂ@!ÐÂÀ_Р ÑÂ@’ÒÂÀÜЀFÏ€ÛË ¬ËÂàÔ‘ÍÂ@!ÐÂàËËÂàwÙÂ`QÕÂÀMÓ ñÊÂàNË ËÂ@ÔÇ€@РeÂÂÀ}Ë€pÈÂöÑ kÁ ô¿Â tÊÂ8ÇÂ`ÎÕÂ@ÒÂ@¶ÌÂyÑ ùÓÂ@'ÏÂÀÈÂàÓÂÀâÏ€(ÔÂ`ÚÓÂÀGÔ ¦ÌÂàkÛÂàÑÊ Ò€½Ð ÖÄÂÀôÌÂÙÁ ÙÎÂ`åæÂàÓÂüРØÂàéÆÂ ¦ÌÂÀ;Ö Ç ¦Ì tÊÂàBÍÂà`ÈÂ`oЩɀ:Ñ€LΠ ÍÂ,ÉÂÀÊÓ ÿÒ JÑÂÀîÍ )Ì€:ÑÂ@žÐÂΠýÈ€ ÙÂ`Ë ªÁ ÇÑ€iÞÂÀ¬ØÂ ¦ÌÂ@àÅÂÀÇÂÀÐÒÂ@˜Ñ€™ÖÂ`Ë€ÛËÂ`·ÄÂ`QÕ‘ÍÂ`â¨Â@ñ×€·ÑÂ@ÑÂ@÷ÖÂÀß ¤Â©É |ÓÂ@ÓÂ@'ÏÂà`È åÌ€XÌÂ`ìÐÂ@?ËÂ` ÌÂyÑÂÀîÍ ;ÉÂÀâÏÂ@ÀÂ@˜ÑÂà¿Í DÒÂ@t×ÂÀ¸ÖÂàZÉÂsÒ ÓÏÂÀ¸ÖÂ@ªÎÂ`cÒÂ@ñ×Â@3ÍÂ`‡Ì€ÂÂ`æÑ€XÌÂ@€Õ vÔÂàHÌÂ`ËÂ@EÊÂ`^¾Â@ÈÉ bÍ€ ÄÂÀÊÂÐÂ@¼Ë ñÊÂàÅÌ€RÍ€ ÀÂàBÍÂ@Ó€™Ö£ÊÂàTÊ©ÉÂà³ÏÂ`æÑÂà­Ð ÁÒ \ÎÂàÔÂ@KÉ€L΀±ÒÂ@3ÍÂÀÈÂ,ÉÂà¡Ò 2ÕÂÍÂ`ÍÂÍÃÂ`ÊÂà¹ÎÂ`ËÂðÒ—Ì E½Âàœ¾ÂàZÉÂêÓ ëËÂà`ÈÂà*ÑÂ@!ÐÂÀ_ÐÂ`òÏ€@ÐÂÀeÏÂ`ÈÖ€¥Ô >Ó €ÈÂ` Ì ”Ï hÌÂÀ*ÄÂàxÄ óÔÂ@ŒÓ zÉÂsÒÂÀ§Ä ñÊ ÎÂÀAÕÂ@nØÂ€·ÑÂ`ÔÔÂ[Ö £×€:Ñ &×ÂÀËÂÀȯÈÂ@†ÔÂàÅÌÂÀ}Ë€:ÑÂÒ×Â@ÈÉÂÀÇ€ÏÍ \ÎÂ@’Ò€ÉÎÂÀèΗ̠΀çÉÂà<ΠVÏÂüРçÖ€RÍ ëË ÏÂ`ÎÕÂ`ìÐÂ@ªÎÂ@WÇ»ÆÂàfÇ ÜÀ^ËÂà•ÔÂÞÕÂ`™ÉÂàËË »Ó—ÌÂÀƒÊÂàTÊ ÜÃÂÀeÏÂ@?Ë nËÂ`4ÅÂÀÖÑÂÀÜЀ^ËÂÀÈÂ`:ÄÂ@ÒÂ2ÈÂ@àÅÂ@†Ô ¦ÌÂÀ$ÅÂÌÂÀÈ€«ÓÂÀ*ÄÂàÝÈÂàZÉ ùÓÂà¹Î ”ÏÂÇÄ ½ÂàTÊÂ@°ÍÂ`(ÇÂ@Õ ËÂ`]ÓÂÀ¦ÙÂà­ÐÂ@ÈÉÂÀôÌ šÎÂ@3ÍÂÀ}ËÂÀ›ÆÂ`±Å ÏÂÀƒÊ çÖ hÌÂÀ É€ Ä€FÏÂ`É€‚ÅÂÀÖÑÂÀÜЀ|ÆÂÍÃÂÀÜЀ|ÆÂ DÒ ÙÎÂ@¶Ì€:Ñ ¦ÌÂ@ªÎÂà­ÐÂ@WÇ€jÉÂà´ºÂàBÍÂ ÊÆÂØÖÂÀ)ÙÂ`ÔÔÂÀ}Ë€½Ð ÐÂ@ÂÊÂ`"ÈÂ`QÕÂ@ªÎÂàÝÈÂà×ÉÂ`cҋ΀ÂÂÀMÓ€É΀áÊÂàTÊ ú¾Âà~ÃÂàfÇÂà³ÏÂ…ÏÂ΀4ÒÂ`ËÂà`È€«Ó VÏÂÀwÌ )ÌÂ@˜ÑÂ@¤Ï€LίÈÂà Ö ÍÐÂsÒÂÀÜЀóÇÂ@WÇÂ`æÑÂ&Ê©ÉÂ…Ï ÷ÉÂ`æÑ ŒÆÂ@cÅÂÀwÌÂà ֠ˀ«ÓÂà ÖÂÀGÔ »Ó€ÃÂÀ$ÅÂ`òÏÂ`àÒ€ÿÅ ÷ÉÂÀƒÊÂÀ}Ë žÃ ŽÐ ”ÏÂÀ³ÂÂàlÆÂ MÆÂ ßÍÂÀÜР!ÃÂ@¤ÏÂà­ÐÂàÕ€:Ñ€íÈÂÀÊÂ2ÈÂЀ¥ÔÂÀÇ€4Ò€“×Â`{ÎÂÍÃÂ@-ÎÂ…Ï jÖÂ@?Ë ÖÄÂ@ÈÉÂ` ÌÂàƒ×Â@™¼Â€vÇÂà6ÏÂ@Ó€·ÑÂÀ‰ÉÂÀMÓÂÐÂaÕ€áÊ 5Ê€ùÆÂàÅÌÂ`·Ä€LΠÍÐÂÀ›ÆÂ ¾ÈÂ@EÊÂÀèÎÂà*ÑÂÀkÎÂÀ ÉÂàÝÈ€ Ä ¾È€dÊÂ@ÒÂ@'Ï€óÇÂ`LÁÂÀSÒÂ`þÍ€(ÔÂ@ªÎÂÀ$ÅÂ@EÊ‹ÎÂàÔ€dÊÂÌ ÓÏÂÀkÎÂmÓ hÌÂ@'ÏÂ`ÍÂ`ÎÕÂ`ŸÈÂàZÉÂÀîÍ€òÜÂêÓÂÀ³Â€óÇÂàãǩɠ€È€.ÓÂàHÌÂDÅÂ`oУʀRÍ€XÌÂÀqÍÂÀîÍÂ`ÈÖ€óÇÂÀ5× VÏÂ`™ÉÂ`ÔÔÂà×ÉÂÎÂàÓÂ@¤ÏÂ@ÎÈ€ÕÌ šÎÂàéÆÂ‘Í ÇÑ žÃÂÀÖÑ ÿÒÂË‹ÎÂ@?Ë€^Ë €È çÖ ÙΠÁÒ #ÍÂàÝÈ ÿÒ€ÃÏÂ@¤Ï ùÓÂ`{ÎÂÀÊÂÀÊÓ ¦Ì jÖÂÀƒÊ ¸É åÌ€^Ë bÍ ²ÊÂÀeÏ€FÏ ñÊÂÀYÑÂðÒÂz¼Â,ÉÂÀâÏÂàúØÂ@ ÔÂÀ¸Ö ”Ï€ÉÎÂ`RÀÂ@Ó€XÌÂ@EÊÂÀôÌÂ`Ê—Ì ”ÏÂàÅÌÂ@!ÐÂÀúË ÆÂ@ªÎÂà*ÑÂ`“ÊÂ&ÊÂ`3ÚÂà³Ï€šÁÂ@Ñ€¥Ô ;ÉÂÀMÓÂÀÇ€|ÆÂ`æÑÂ`þÍÂ@ÎÈ€|ÆÂÀ•ÇÂ@iÄÂà<ÎÂàTÊÂàïÅÂ@!ЀjÉÂ`uÏÂàNËÂ` Ì‹ÎÂ@t×€íÈÂ`“ÊÂàãÇ 'ÂÂÀƒÊÂà6Ï zÉ ÄÇÂ@ÈÉÂyÑÂ`òÏÂÀÇ€;¼Â@3ÍÂРbÍÂ`4Å€ùÆÂ #ÍÂ@KÉÂ`:ÄÂ`ÊÂ@]ÆÂÀ¡Å€ÉΠbÍÂà0ЀùÆÂ@uÂÂ`ÏÀÂ`oÐÂ@ŒÓÂÀkÎÂÀ³ÂÂÀ‰ÉÂ@ÑÂàÅÌÂ@]ÆÂ€ŽÃÂ@?ˀŠAÈ€ÅÂËÂàfÇÂ`™É ”ÏÂVÂÂ@¼ËÂ`@àÓÏ€@Ѐ.Ó ÒÂ`ÊÂ8ÇÂÀ¿ÀÂ@ÂÊÂà–¿Â ú¾Â€ÀvÇ ËÂà¾ÂÀ`»Âà„ÂÂÐÂà•ÔÂ`“Ê€€ Ä tÊÂÀ§ÄÂ@4¸Â€ÏÍÂ@øÁ€dÊÂ@ÎÈÂà¹Î€íÈÂ@oÀÏÍÂ@ÈÉ GdžºÂ ¶¿Â` ÌÂÀÆÂ`ìÐÂà~ÃÂàÝÈ€¬¾Â»Â`ÉÁÂàéÆÂ ;É ¤ÂÂ@ÂÊÂàTÊÂ@9ÌÂàË˯ÈÂÀÖÑ #Í€²½ÂÀãºÂ@{ÁÂÀãºÂÀÈÂàïÅÂàËËÂ÷¼Â@QÈ ÜÀ/¾Â@ÀÂÀѽÂ@ÈÉÂÀ*ÄÂÌ€áÊÂ@ÚÆÂ`F€)¿Ât½ÂÀqÍÂ`Ë€ÅÂ` Ì€ ÀÂÀÈÂ@ÚÆÂÀƒÊÂ`«ÆÂ`ÔÔÂ@3ÍÂÀwÌ€RÍ€vÇ †ÇÂ`4Å zɵÇÂÀƒÊ€ÃÏ€ÅÂàÀÂÀ›ÆÂ@3ÍÂ@'ÏÂ8ÇÂJÄ AÈ€ÏÍÂ>ÆÂ`½ÃÂ`“ÊÂ ÊÆÂ€šÁÂ@¥ºÂ»ÆÂµÇÂ@‡¿Â ¸É©ÉÂÀ*ÄÂàÑÊ ¾È€/¾Â ÇÑ hÌÂ@QÈÂÀ­ÃÂ`{ÎÂÀÜЀvÇÂ`Û¾Â@ÔÇÂ2ÈÂ`·Ä€‚Å ßÍ ¾È ΀‚Å ÈÂÍÃÂ@àÅ€½ÐÂÀÐÒ»ÆÂ ¼¾ÂÀÇ €È€ŽÃÂV 5Ê nËÂå¿ÂÀÈÂÀ‰ÉÂÀÈ 9¿Â`«ÆÂ ÄÇÂ@ÔÇÂ\ÁÂë¾ÂÀ³Â bÍÂà„ÂÂ8Nj΀ŽÃÂh¿Â€#ÀÂàÅÌ€ÛË ÖÄ tÊÂ@ìàÐÅÂà¹ÎÂàTÊÂÀÆÂàËËÂÀ É€ŽÃÂ@oÀdÊÂÀÇÂÀ É€(Ô tÊ ;É ßÍÂ`±Å )ÌÂ@WÇ šÎÂ`.ÆÂ ¾ÈÂ`ÍÂ@?Ë€ÉίÈÂÀ­ÃÂ@KÉ ¾ÈÂ…ÏÂ` ÌÂ`cÒÂÀ›ÆÂàõÄÂ`(ÇÂàHÌ )Ì ,Ö€.ÓÂÓ óÔ€™ÖÂ@ªÎÂäÔÂ&Ê d×Â`ÔÔ ŽÐÂ`øÎ Ë MÆÂÏÂÀÈÂ@ÚÆÂ€RÍ€XÌ ”Ï tÊÂÀqÍÂVÂÂ@3ÍÂVÂÂàBÍÂ@3Í€ÃÏÂàÅÌ ŒÆÂà³ÏÂ`E×ÂàÔÂ`‡ÌÂÀúËÂ`æÑ€ÏÍ€4ÒÂàlÆÂ€RÍÂ@ÂÊ ÅÂ@ÎÈ \ÎÂÀSÒ€ÏÍ ’Å tÊÂ@¤ÏÂüÐÂ7ÜÂ…Ï #ÍÂàÔÂ@?ËÂ` ÌÂÀ_ÐÂDÅ€:Ñ >ÓÂÀÈÂ@°ÍÂ&Ê€«Ó ”Ï ÇÑÂ@’ÒÂàrÅÂàõÄÂàZÉÂΠªÁÂDÅ €ÈÂÀSÒÂ`?ØÂ`.ÆÂ@KÉ †ÇÂÀƒÊÂàÑÊÂà<ÎÂÀÊ Ç åÌ€XÌÂ`ÊÂàÅÌÂJÄÂbÀÂÀÆÂ@ìÃÂàTÊÂÍÃÂàNËÂ@¼Ë GÇÂ@øÁÂàËËÂàÝÈÂàTÊÂÏ eÂÂ÷¼Â ¾ÈÂàxÄÂÀ³ÂÂÀ§ÄÂ@ÈÉÂ@‡¿Â€pÈ #ÍÂÀ¹ÁÂÀ$ÅÂ`:ÄÂÀË ùÓÂ@ªÎÂÀeÏÂ`ÏÀ€ÿÅ åÌÂ`"ÈÂ@QÈ †ÇÂ`@à¦ÌÂJÄ€pÈÂ8ÇÂ@ìÃÂ@QÈÂ@ÂÊÂ`«ÆÂ ëË€LÎÂ@ÈÉÂ`·ÄÂ`“ÊÂÀËÂÀqÍÂÁÅÂÀôÌ hÌ e€ÃÂàrÅÂ@9Ì ŽÐÂ@¼ËÂÇĩɠÐÅ€”ÂÂÌÂJÄ  ÍÂ@EÊÂÀèÎÂ`X¿ÂÀƒÊÂàÂÂ`™É nËÂ`˩ɀ ÀÂ@øÁ©É€@ÐÂÀÊ€ÂÂ`æÑÂÀËÂ`·Ä !ÃÂà`È€:ÑÂ`øÎÂÀ‰ÉÂÍ€pÈÂ@?Ë ÁÒÂßÀÂt½Âñ½ÂàTÊÂ@“½Â ’Å€:Ñ žÃÂ`«ÆÂÍÃÂüÐÂ@ÈÉ€šÁÂ@4¸ÂÀk΀^ËÂÀËÂ@u€¦¿ÂàfÇÂ@KÉÂgÔÂ@ÚÆÂ€vÇÂ`Ë Ù΀ÕÌ ËÂàÅÌÂ`¼ØÂÀ¡Å ²ÊÂ@ÈÉ ˆÑÂÀÊÓÂ,É DÒÂ`ÚÓÂ`.ÆÂ nË€ÿÅ hÌÂà7ºÂ€dÊ ŽÐ€RÍ È ¶¿Â`ÉÁÂ&ÊÂÎÂÀ`»Âàõđ͠Üà¬ËÂ@°Í€ÂÂÀ‰É ÄÇÂÀ§ÄÂðÒÂࢽ—ÌÂ`“ÊÂÀwÌ©ÉÂà§ÑÂÀôÌ€4ÒÂÏÂÀÈ€áÊÂ@ÀÂ@æÄ eÂÂÏÂ`É€áÊ€dÊÂ`ÉÂà­ÐÂsÒ€ÉÎÂ`‡ÌÂ`þÍ ˆÑÂÀË ÖÄ РÿÒÂÀ)ÙÂà*Ñ€:ÑÂàË˩ɠ€ÈÂÀ0ÃÂ@ÔÇÂà~ÃÂ`ÍÂÀYÑÂ`ÚÓÂÀkÎÂ@¼ËÂ@ ÔÂ@-δÜÂ@¤Ï€‡Ù ŽÐ tÊÂà¡Ò ÇÑÂÀÜÐÂàËËÂ`iÑÂà¹ÎÂ`KֵǠËÂ`9Ù€.Ó‹ÎÂöÑÂ`žÝÂ@ÑÂ`Ë€ Ù >Ó ÓÏ 2ÕÂ@Õ vÔÂÏ€XÌÂà<ÎÂ@ÑÂ`¼ØÂ 5ÊÂ`{ÎÂ`E×€FÏÂà¡Ò€:ÑÂà„ÂÂ`uÏÂà¿Í ЀáÊÂ@ŒÓ€4Ò€ŸÕÂ ÛØÂà$Ò€·ÑÂ`LÁÂ`Â×Â`Â×€±ÒÂà¿ÍÂàÓ ÎÂÀwÌÂÌÂ@?ËÂ`þÍ€(ÔÂÀÜЀÏÍ âÂÂ`oРhÌÂàlÆÂÀkÎÂà$Ò€½ÐÂÀÊÂêÓÂ@¤Ï nËÂ`«ÆÂ hÌÂ@¼Ë€ÃÏÂ@QÈ ýÈÂà­Ð€±ÒÂ@¤ÏÂ`«ÆÂ@¶Ì ÎÂgÔÂÀMÓ —ÙÂ@9ÌÂà¹ÎÂ`ËÂÀÊÓ µÔÂ`ŸÈÂàØÂ`òÏÂöÑÂÀÖÑ€FÏÂà¹Î žÃÂ@]ÆÂÀ‰É ¦ÌÂ@QÈÂ@zÖÂ@ýÕÂ@?ËÂDÅ 5ÊÂgÔÂ@!ÐÂØÖÂ@þÀ€áÊÂÀ/ØÂ@?ËÂàŠÁ Ç€íÈ€áÊÂyÑÂ@ÒÂ@ÓÂÀAÕÂÍÂ`KÖ ÏÂ`ŸÈÂà×ÉÂÀqÍ ²Ê hÌÂÀqÍ€ÛË€”ÂÂ@9ÌÂðÒ ‚Ò ÓÏ ŒÆÂÀƒÊÂÀâÏ ¥áÂÀîÍÂÀMÓÂÀÖÑÂÀeÏÂàÓ€™ÖÂà³ÏÂ@†ÔÂÀôÌÂðÒÂ`ìÐÂ@ýÕÂÀ¸Ö€.Ó ÿÒÂðÒÂ@Ó€RÍÂöÑÂÀwÌÂ@'ÏÂààñÊÂÀšÛ çÖ€:ÑÂ`]ÓÂ@t×Â@†Ô€pȯȠ/ËÂ@¼Ë ²ÊÂ@?ËÂ@’Ò€¥ÔÂ`ÊÂÀÜРÙÎÂ`]Ó‘ÍÂ`É ;ÉÂÀMÓÂ`É€ÿÅÂÀƒÊ DÒÂ@˜ÑÂÀ)ÙÂàÑÊÂà$Ò€ÉÎÂàTÊÂÀƒÊ VÏ ßÍÂÍÂÀ ÚÂmÓÂÀôÌ€ ÙÂ`“ÊÂ@'Ï€øÛÂÀ}Ë /Ë åÌÂÒ×Â@÷ÖÂU× ËÂ`Í ßÍÂOØÂ PÐÂ>ÆÂ )ÌÂüÐÂÀ)ÙÂ@Ó€ÃÏ ÿÒ d×Â8Ç€LÎÂàxÄÂà¿ÍÂ`9Ù Ú ˆÑÂ@ýÕÂ@ÁßÂ@nØÂÌØÂ@ÍÝÂàAâ ¥á€QâÂ`ŒàÂÀŽÝ€WáÂÀ Ú oêÂ@gîÂÀŽÝ &×Â@ŒÓÂàèÛ€QâÂ@ÍÝ€“× çÂ@Áß øè ÉÛ |ÓÂÀdäÂà¬å€¼åÂâÂ`Â×ÂÀ Þ€òÜ€ÖÂàkÛÂ@ÁßÂàeÜÂáÂ`ªÛ¨ÞÂÀLè ØãÂ@ßÚ 4ß cìÂ@>à ÕÙÂÀÚ Ôî€9æÂºÛ€?åÂÀÜÂÝê ‘ÚÂÀ Þ ç ‘ÚœàÂâ–áÂÀ¦Ù 4ßÂ@©ã þçÂ%ßÂÀ¦ÙÂ1ÝÂ@&ä êàÂà¬åÂ`€âÂ`âÂàôÙÂ1ÝÂÀ|à 8Ô€Ú IæÂà²äÂÀÜÂà5ä€ÚàÂ@t×Â@\ÛÂÀáä€þÚ®ÝÂ`ß„äÂ`ÙèÂàšèÂÀÝÂà}ØÂ%ß á×Â`ÞÂàÜÝ€“×Â@©ãÂâÂàÕÂàSßÂäÔ ÏÚ€ÎâÂ ÛØÂ7Ü yÞÂ@çÂàwÙ åÂ`˜ÞÂ%߀KãÂ`’߀]àÂ@ëØÂ€×Â@ýÕÂÀÛåÂ` áÂ`E× á×Â`ÞÂâ äáÂ@ëØÂ€iÞ€uÜÂ=Û€9æÂ@ÓÜ€@ÐÂ@ÇÞÂ`ÞÂàÓ [ã€Èã€æÞ®ÝÂ@ßÚÂÀšÛÂ@hÙÂ`Â×Â`€â€XÌÂ@!Ѐ9æÂÀá䀇ÙÂÀßÂÀ|àÂ`ªÛ€×ÂÀ#Ú€oÝÂ%ßÂ@t×Â`]Ó äáÂ`3Ú (á€ØÂ€ Ù ðßÂ@µáÂÀóáÂOØÂ ÏÚ€Îâ®Ý€ØÂ€þÚ€ØÂ@ÓÜÂ@ÁßÂxæÂà Ö€¶æÂ sßÂÀ¬ØÂ€ Ù ØÂ`†áÂâÂÀšÛÂ@‹è€þÚÂÀ½êÂà ‘Ú€Qâ «à äáÂÀGÔÂ`€â€"Õ XÙ ‘ÚÂ ÛØÂ ÕÙ —ÙÂU×ÂðÒ€ØÂOØÂå€òÜÂØÖÂØÖ XÙ Πá×€ÛËÂàÕ ^ØÂ`¤ÜÂ@'ÏÂÀ²×€:Ñ PЀFÏ ÉÛÂà ÖÂÀwÌ€RÍ€ÛËÂ`øÎÂ`Ë€±Ò®Ý ÍЀ]àÂ@ ÔÂÀwÌ pÕÂàÜÝÂ@ëØÂÀGÔÂ@åÙÂÀMÓ ,ÖÂÀóá€àßÂ@!ÐÂà¹Î€FÏ £×ÂÀÐÒ€@ÐÂ@ŒÓÂ@bÚ€cßÂÀ/ØÂà•ÔÂà›Ó öÞÂØÖÂÀ;ÖÂÀ)ÙÂà ÖÂU×ÂàÊàÂàÓ ŽÐÂ@’Ò ØÂäÔÂÀÛÂàÜÝÂ@!ЀLÎÂÀ¦ÙÂØÖÂÀÜÐÂà}ØÂIÙ€¼å ·ÞÂ`ÚÓÂà³ÏÂ`‡ÌÂÀÈ ¬Ë ÏÚÂàôÙÂ`{Πd× DÒÂ@t× tÊÂ@÷Ö€™Ö€±ÒÂ`?ØÂà•ÔÂÀwÌÂ`ßÂ`ìР.àµÇÂ@¶Ì РPÐÂäÔÂàeÜÂ@ÒÂ`{ÎÂ@€ÕÂ@ÓÜ Ü öÞÂ`Â×€FÏÂ`¶Ù VÏÂ@°ÍÂ@ÂÊ€.Ó€þÚÂ`¼ØÂ@ýÕ 2ÕÂàôÙ £×Â`°ÚÂÀGÔÂ@!ÐÂÀÜЀ"Õ bÍÂ`Â×Â`?ØÂ Ü€øÛ€óÇ€.ÓÂêÓ çÖÂÀÜÐÂ@’Ò ‘ÚÂ`]ÓÂÍÂàØÂaÕÂ`iÑÂ@ ÔÂÀ_ÐÂ`æÑÂ@†ÔÂÀ;Ö‹ÎÂmÓÂÀÈÂ@ÈÉÂ@'ÏÂàãÇ ‚ÒÂ`þÍ€ÉΠ2Õ€ÏÍÂ@žÐ€FÏÂÀ¾ÕÂmÓÂÀÈ€jÉÂÀÊÓÂàNËÂÌÂà¡Ò ‚ÒÂ@žÐ€LÎÂüÐÂ@ÒÂàTÊÂ@ÔÇÂ`KÖÂ`þÍÂàԣʠµÔ ˆÑÂ@’ÒÂà*Ñ€™Ö JÑÂ@ŒÓÂ`iÑÂðÒÂ@æÄÂàHÌ€:ÑÂ` ÌÂ@]ÆÂÀËÂ@-ÎÂyÑÂ@ÑÂÀÊ€áÊÂ@{Á£Ê¯ÈÂsÒÂÍÃÂΠPÐÂàBÍÂÀôÌÂÀ¡ÅÂÀ§Ä VÏÂÀúËÂÀYÑÂàÕ€LÎÂ`¶Ù tÊÂ`iÑÂÌÂÀeÏ€pÈÂà§Ñ Πd× hÌ åÌÂÀ0àëËÂ`ÍÂà<ÎÂÀ$ÅÂ@¤Ï€dÊÂ@˜Ñ€ÃÏÂ`¥ÇÂsÒÂ@?ËÂÀÇ€ÕÌÂ…ÏÂ@¼Ë jÖÂ@ÎÈÂ`™É¯ÈÂà$ÒÂ=ÛÂ`]Ó ÍРëËÂÀÊ ÙÎÂ@ÑÂ@ Ô€.ÓÂÀÆÂÀwÌÂÀÈÂ@ÒÂ`ÎÕÂ@!ÐÂ[ÖÂ@Ñ€«Ó ©ÖÂ@?ËÂ@?Ë€jÉÂ@¤Ï bÍÂà ÖÂ@ÓÂ2È AÈÂ@ѣʀvÇ€vÇÂÓ €ÈÂÀ§Ä€ÉÎÂà$ÒÂà$ÒÂÀîÍÂ@KÉ \΀ÏÍÂ@Ò ¬Ë /ËÂaÕ VÏ ¸ÉÂàÕ »ÓÂÀGÔÂÀ É /ËÂ`“Ê€É΋ÎÂ`½ÃÂÀ_ÐÂàÔÂà³ÏÂÎÂÀâÏÂà§ÑÂ`'Ü»ÆÂ€|ÆÂ ‚Ò€]à )ÌÂ`(Ç€ ÄÂàÕÂÐÂ`“ÊÂ`(ÇÂàZÉ€cß µÔ ˆÑ€LÎÂ@Õ 8Ô€áÊÂ@9ÌÂÀ¦ÙÂÀîÍÂà¹Î ˆÑ \ΠŒÆÂÀúËÂ@]ÆÂÀÊÓÂ7ÜÂà<ÎÂ`WÔ©ÉÂÀË€ŸÕ€±Ò€@ÐÂaÕÂ@ ÔÂ`ìÐÂ@ÈÉÂ8ÇÂ` ÌÂÀè΀“×Â`‡Ì€RÍÂÀkÎÂsÒÂÀËÂ@zÖÂ`oÐÂ@ÓÂ@Ñ ^ØÂàwÙ€½ÐÂàÅÌÂ`™É€.ÓÂÏÂDÅ€jÉÂР&×ÂÀqÍÂ@˜Ñ VÏ€«ÓÂà*ÑÂÀÐÒÂ@ÂÊ ÆÂÀMÓ ;É ¦Ì ëËÂÀÐÒ€ØÂ µÔ ˆÑÂ`ÔÔ PÐÂ`þÍÂ`°Ú€QâÂàƒ× ùÓ FÜÂ@\ÛÂ…ÏÂ=ÛÂà6ÏÂ`]ÓÂÀÐÒ JÑÂÀ_ÐÂ`ÍÂ@ÎÈÂ@ŒÓ ÏÂÀîÍÂàxÄÂt½Â@ÂÊÂ@ŒÓÂ`-ÛÂÀGÔÂ`ÍÂ`ÎÕÂàTÊÂ@ÈÉÂàïÅÂ@hÙÂgÔ Ѐ(ÔÂ@EÊÂÀ ÉÂà*Ñ VÏÂÆÙÂ@åÙ 2ÕÂÀAÕ€¥ÔÂà³ÏÂ`æÑ€LÎÂ@KÉÂÞÕÂÀ)Ù #Í€(Ô ØÂàúØÂ@Õ >ӯȀ@ÐÂOØÂ€4Ò€«ÓÂà6ÏÂ`þÍÂ@ÓÂ@ Ô \ÎÂÀ}Ë—Ì€(Ô pÕ¯ÈÂà× ‚ÒÂÀ;ÖÂÐÂ@˜Ñ 8Ô€ÉΠŽÐÂêÓ vÔ ÐÂЀdÊÂÀAÕÂ@€ÕÂ@ò€:ÑÂÀAÕ ÍРÍÐÂ`æÑ€ŸÕ€·Ñ‘ÍÂÀÐÒÂ@’ÒÂÀ¸Ö€ØÂ )ÌÂ@?ËÂÀèÎÂU×€RÍ #ÍÂmÓ jÖ PÐÂàBÍÂ@ÔÇÂàÝÈ€XÌ€óÇÂÀˆÞÂ`uÏÂ@ÚÆÂàØÂàèÛ €ÈÂ`ÍÂ`Þ 8ÔÂà$ÒÂ@’ÒÂà§ÑÂÀÐÒÂÀÄÔ€óÇÂÀÊÓÂà•ÔÂ`]Ӡπ‚ÅÂ`¼ØÂ`uÏÂ@åÙÂ@°ÍÂ` ÌÂ`E× pÕÂÀ;Ö—Ì ýÈÂÀeÏÂ`oÐÂÀkΠÏ€ØÂ ÓÏ€“×Â@-΀ØÂÌÂ`ìЀØÂ  Ñ ÐÂ@-ÎÂÀÿßÂ@ßÚ—ÌÂ`àÂà›Ó öÞÂàôÙÂÀeÏ RÚÂ@¤ÏÂ`-ÛÂàeÜÂ`WÔÂÀ¬ØÂÀ ÚÂà¡Ò ÉÛÂ@JÞÂ`ÎÕÂ@ýÕ€ ÙÂà5䀨ÂàÕ d×Â@'Ï€XÌÂ`ÎÕÂüР&×Âà$Ò€™ÖÂà¿Í óÔÂ@žÐ PÐÂÀ¾Õ ÿÒ AÈ€«Ó ßÍÂ@ýÕÂÐÂàéÆÂÀÜÂêÓÂà•ÔÂà$Ò€"ÕÂÀYÑÂ`ÊÂ@ªÎ bÍÂÀâÏÂ@€Õ ±ßÂÀ ÞÂàHÌÂ@ßÚ€ÃÏ ëË pÕÂ`(Ç ØÂÀèÎÂ`!ÝÂÀÊÓÂ@°ÍÂØÖÂàMàÂÀ;Ö RÚÂÀAÕÂ@>à€uÜÂàÑÊ€XÌ d×ÂÀ ÚÂ`QÕÂ@÷ÖÂ`E×Â@ÕÂà•ÔÂà§ÑÂ`E×ÂÀ/ØÂ€øÛ vÔ¢ßÂ@ÇÞÂ ÛØÂ@åÙÂ`ÚÓÂ`zã ÕÙÂàÄá´ÜÂÀíâ€{Û ië€FÏ ÇÑÂÀGÔÂÀ Þ€9æÂ@÷Ö ÒäÂ`QÕÂÀß ©ÖÂÀMÓÂà5ä gá€ìÝ€QâÂÀ”ÜÂ@zÖÂ`¼ØÂ€WြåÂÀŽÝÂ@»à 4ßÂCÚÂOØÂ ”ÏÂÀAÕÂÀôÌ£ÊÂàÐ߀ Ù pÕÂ@ÙÛÂaÕÂÀÊÓÂ`ÈÖÂÀ/ØÂÀGÔÂ`‡Ì ÏÚ€LÎÂÀ”ÜÂ`Í  ÑÂ`?ØÂÀ/ØÂ@ëØÂ ŽÐÂ`oÐÂ@QÈÂ@!ÐÂà Ö€ìÝÂ@ßÚÂÀ¾ÕÂ@VÜ ÏÚÂ`-ÛÂàØÂ`æÑÂÀ¦ÙÂàÕÂ`ÍÂÒ×Âà­Ð€RÍ á×Â@ÑÂ`àÒÂÀŽÝÂÀ#ÚÂÒ× XÙ€·ÑÂÀ5×ÂÀSÒ ^ØÂ`‡ÌÂà*Ñ€áÊÂ@ò åÌÂ`Í ÕÙ çÖÂ`KÖÂàÕÂà‰ÖÂÀÖÑ …ÜÂ`-Û ¯ÕÂ=Û€™Ö ùÓÂÀ ÞÂÀ²×ÂàBÍÂà¡ÒÂÀÜÐÂà Ö€ÉÎÂàqÚ€@ÐÂ`ÊÂ`ÍÂöÑÂÀ/ØÂ 2Õ  Í€ÛËÂà¡ÒÂ@ñ× óÔÂÀMÓÂÀqÍÂöÑÂÀ5×ÂÍ ¬Ë ùÓÂà€“×ÂàØÂ`-ÛÂ@˜Ñ€@ÐÂÀAÕ yÞ€×ÂÀ;Ö ÛÂ7ÜÂàâÜÂäÔ ”ÏÂàâÜÂÀíâÂÀ5×ÂyÑ )ÌÂÐÂÀkÎÂà¡Ò ÇÑÂOØÂ€½ÐÂÀ¸ÖÂÀ²×Â`cÒÂ@ÍÝ ŸâÂàÕÂ@bÚÂ`WÔ 8ÔÂÀÄÔÂ@÷Ö€uÜÂàGá ÏÚÂÀÊÓÂ@zÖ€þÚ Ý JÑÂ@9ÌÂðÒ 2ÕÂà$ÒÂgÔ @Ý &× d×ÂaÕ€™ÖÂÏÂ@¶Ì \ÎÂ`3ÚÂÀ5×Â@-ΠÁÒÂ+ÞÂ[ÖÂ@9ÌÂ`žÝ€×Â@'ÏÂÀ)ÙÂ`¶Ùœà€Ú Uä ÕÙ€àßÂ@bÚ ùÓ çÖ€±ÒÂÀMÓ€“× .àÂU×ÂÀ”Ü€‡Ù màÂêÓÂ[Ö FÜÂÀùàÂ@†ÔÂ`€â€±ÒÂ@ÓÜÂÀšÛ d× íÕÂsÒ d×€?åÂ1ÝÂ@ªÎÂ@ŒÓ |Ó€vÇÂàƒ×Â`cÒÂ`KÖÂ`¼ØÂÀGÔÂ@JÞÂ@PÝ ÝÂàØÂ |ÓÂÀ¾ÕÂàwÙÂÀÜÐÂ@ Ô€ÃÏÂ`-ÛÂàÕÂÀ ÉÂ`ÈÖÂ`¶Ù ‚Ò ÙÂÀjã€uÜÂËÂ`þÍÂàÔÂÀSÒ ‘ÚÂÀÿßÂIÙÂΠ ÑÂÀ”ÜÂ@ÙÛÂ`?ØÂ@ëØÂ@t×Â`°Ú XÙÂÀß ÏÚ 2ÕÂàSßÂàØÂ€¼å€ØÂ=ÛÂ@bÚÂÀˆÞ ÏÂàqÚÂàØÂ pÕÂ`]Ó€¥ÔÂÀ;ÖÂ@ÒÂ`øÎÂaÕÂ@÷Ö ‚Ò ÉÛÂêÓÂ`ÔÔÂàÕÂ@ýÕ ÝÂU×ÂsÒÂ@nØÂà›ÓÂÀˆÞ€½Ð€Ú ÿÒ XÙÂÀšÛÂàÜÝ ÙÂ@÷Ö ØÂ@†ÔÂàîÚÂ@Ò  Ñ ÉÛÂ@˜ÑÂË ‹ÛÂÀÛÂÞÕÂàkÛÂÀÐÒ £×ÂÀGÔÂÀ²×€óÇ ÒÂ`!Ý ™ã€oÝÂ@åÙÂ@ÍÝÂà›ÓÂ`¶ÙÂêÓÂ@’Ò íÕÂêÓ€4ÒÂà‰ÖÂàèÛÂÀMÓÂIÙÂàÓÂÒ×ÂàîÚ ÉÛÂÀúËÂ+ÞÂ=ÛÂ`†áÂ@ŒÓÂà‰ÖÂyÑ€™ÖÂÀß ÁÒÂ`ÍÂ1Ý€‡ÙÂ`9ÙÂ`þÍÂ`ŸÈ€™ÖÂàÊà€ŸÕÂàÔÂ@hÙÂ1ÝÂ`uÏÂ@hÙ€:Ñ pÕ€±ÒÂ@†ÔÂ`ÚÓ vÔ ñÊÂÀGÔÂ`æÑÂàÕÂÀÜÐÂÀ;ÖÂà›Ó€Ú Ë€½ÐÂ@žÐÂ@ÓÜÂà Ö ˆÑ‹Î DÒÂÆÙ€þÚ (áÂ@¤ÏÂ@-ÎÂ`“Ê€:Ñ óÔÂÆÙÂÀ/ØÂ ÓÏÂ@ ÔÂ`-ÛÂ`ÍÂ`ìРtÊ€±ÒÂÀ/ØÂ  ÍÂÀkÎÂà<Πd× ˆÑÂÀËÂ@ÔÇÂ@ÑÂÀSÒ€ŸÕÂÀGÔ€«ÓÂà§Ñ ÍЀÃÏ ½Ý ñÊÂ@]ÆÂ@3Í ÓÏÂÀîÍÂ`‡Ì€4ÒÂ`“ÊÂÀkΠ£×Â&ÊÂà*ÑÂ`ìЩɀFÏÂÀqÍ ñÊÂÀÇÂÀƒÊÂU×ÂЋΠ¾ÈÂàõÄÂ`‡ÌÂà<ÎÂ`“ÊÂ`Ê YÄÂ@-ÎÂöÑ€FÏÂÇÄÂ@ÈÉ€FÏ AÈÂ@9ÌÂàÀÂËÂÀYÑÂ@cÅ  ÍÂ@°ÍÂÐÂÀîÍÂ@¤ÏÂ@ ÔÂàZÉ€ÏÍ€ÕÌÂàÑÊÂOØÂüРëË tÊÂ`"È€ÏÍ ýÈÂ@3Í—Ì€·Ñ€:ÑÂ@÷Ö€™Ö€«ÓÂ@ÔÇ ˆÑ ÈÂ`X¿Â ÊÆÂ`Í  Í€dÊÂΠ»ÓÂ`°Ú ÁÒ VÏ  Ñ åÌÂÀÆÂÀwÌÂ`]ÓÂÀ¾ÕÂà¹Î PÐÂÀ¬ØÂ`ÈÖ€½ÐÂà<ÎÂÆÙÂ@ÓÂÍÂsÒÂ@¶ÌÂ`:ÄÂàxÄÂà×É€ÃÏÂàTÊÂ@ÎÈÂÁÅÂÀ)Ù€×Â`ÔÔÂsÒÂЀ½ÐÂ`àÒÂÀÊÓ ÖÄÂàÕ ÙÎÂ@QÈ€ÕÌÂ@9ÌÂ@ªÎÂ@cÅ ¦ÌÂÀÐÒ ‚ÒÂU×Â` áÂ`?ØÂ€XÌÂ@?˯ÈÂ&ÊÂ@!ÐÂÀú˵ǀçÉÂÀSÒ €È ’Å tÊÂÀ•Ç‹ÎÂ>ÆÂÀôÌÂÀÊ ˜Ä€¥ÔÂà6ÏÂ`ÉÂ`ÉÁ €ÈÂÀèÎÂ`ÈÖ€4ÒÂ@Ó ÙÎÂàÕÂà•ÔÂÀ¸Ö€(Ô€ÉÎÂàúØÂ LÛÂàfÇÂ@Ó ëËÂ` Ì ÍÐÂ`ÎÕÂÀSÒÂäÔÂÀâÏ€.Ó€ØÂ`æÑ€^ËÂ`ìÐÂà*Ñ zÉÂÀèΠÏÂ@¤ÏÂ`“Ê€:ÑÂ`ìРÓÏ ÙÎÂàBÍ€:ÑÂÀÈ€(ÔÂà§Ñ ÍÐÂ@ÒÂÀwÌÂ`?ØÂ€·Ñ€ŸÕ€«ÓÂÏ€vÇÂ@uÂÂàËËÂ@3Í ŽÐÂ@ ÔÂ@Ñ 2ÕÂà›ÓÂ`ËÂ ÊÆÂ€¥ÔÂ`òÏ€dÊ JÑÂÀƒÊ &× ©ÖÂ`]ÓÂ@t×ÂÀ¾ÕÂÍ bÍ ÕÙ€4ÒÂ@ÎÈÂÀÜкÛÂ`àÒÂ`ÍÂ@?ËÂ`KÖÂàûÃÂÀkÎÂ`ŸÈÂyÑÂ`]ÓÂÀÊÂ@ýÕÂ2ÈÂ@3Í ÙΠÏÂÀ}ËÂÀÆÂ`cÒÂ@†Ô€pÈÂ@ýÕÂÀ_Ѐ×Â`WÔ€øÛÂ=Û ÒÂÀ²× PÐÂ`ìР ÍÂ@ßÚ ÒÂà×ÉÂËÂ`æÑ &× öÞÂ@†ÔÂ`þÍÂ@'ÏÂ@€ÕÂÀwÌ ùÓ‘ÍÂÀYÑ€±ÒÂà<΀ŸÕÂ`ÚÓÂ@ÒÂ[ÖÂàúØÂ@ÎÈÂ@hÙ ^ØÂÀÛÂIÙÂÀqÍ ýÈÂÀÜЀ:Ñ€.Ó€±Ò€±Ò  ÍÂ@˜Ñ€×ÂРDÒ€XÌ tÊÂ`4ÅÂ@EÊ ^ØÂ@?ËÂ@Õ pÕÂ`ÍÂàØÂ á×Â`¼ØÂà›Ó íÕÂ`ìРGÇ zÉ |Ó€@ÐÂ@'ÏÂÀeÏ ËÂ@?ËÂÀwÌ ùÓÂà<ÎÂàBÍ€XÌÂÀMÓÂÀîÍ€ÃÏÂ`]ÓÂÀÚÂà*Ñ íÕ á× VÏÂàÕÂ` ÌÂ`{ÎÂ`àÒÂˠǀÿÅ€íÈ ýÈÂàfÇÂ@KÉÂ@VÜ óÔÂ`uÏÂÀGÔÂàBÍ >ÓÂËÂ@KÉÂ@ÎÈÂÀ ÉÂÀkÎÂÀwÌÂ@˜ÑÂ`F  ÍÂ@hÙÂÀMÓ€RÍÂÏÂ`±ÅÂ`oÐÂà‰Ö€dÊÂ`cÒ€ÖÂÀâÏÂÀ¡Å µÔÂàÔ ¬ËÂÀèÎÂ`oЀ«ÓÂÀ_ÐÂ,ÉÂÀƒÊÂÀk΀|ÆÂ ùÓÂ`iÑÂyÑÂà$ÒÂ,ÉÂàlÆÂ` Ì ýÈ ÷ÉÂÁÅ€ÕÌÂÀÇ ”Ï ÜÃÂÍÂ@KÉÂÀËÂà›ÓÂÀÊӠπùÆÂ@ÔÇÂßÀÂÀƒÊ€ÉÎÂ@ÎÈÂ@¼ËÂ@Ñ tÊÂyÑ ²ÊÂðÒ€|ÆÂà*ÑÂÀúË ÄÇÂ`ÔÔ #Í€«ÓÂ`ìÐÂ`ŸÈÂàûÃÂÍÂ`:ÄÂàÀ ¸ÉÂ@°ÍÂÀ•Ç€:ÑÂà¡Ò—Ì žÃÂ`ìР\ÎÂà0ÐÂÀ ÉÂ@oàYÄ ýÈ€‚Å pÕ #Í ÄÇÂ`™É€@ÐÂÀwÌÂ&Ê ÇÂÀ$ÅÂÀAÕ ÓÏÂ@ÚÆÂ@ÂÊÂ`ÔÔÂ`òÏÂ@’ÒÂêÓ bÍ€½ÐÂÀË€±Ò bÍÂÌÂàÓÂÀƒÊÂ`"ÈÂ@ÎÈÂÓÂÂÞÕ  ÑÂyÑÂÀAÕ€ØÂ`WÔÂ@ÒÂOØÂ€ÕÌÂÀúËÂàãÇÂÀîÍÂÓÂÂÀÊÓ€ÕÌ VÏ nËÂÀúËÂ@’Ò€.ÓÂ`Í šÎ€·ÑÂ`ªÛÂsÒÂÀ}ËÂà•Ô ÁÒ€±Ò€Ö€ÃÏÂà¹ÎÂÀGÔÂàØÂà¹Î€‚ÅÂЀFÏÂà*Ñ€½ÐÂ@ÚÆÂà§ÑÂÀÊÓÂüРvÔ pÕÂ@3ÍÂ`{΀çÉÂàÕ ŒÆÂ Ë íÕÂàôÙÂÀôÌ€«ÓÂ`uÏ DÒÂ@ÕÂ@-ÎÂ@’Ò DÒÂ@Ó€RÍÂ`°ÚÂ@ŒÓ ŽÐ #ÍÂ@ÂÊÂ`3ÚÂ`ÍÂ&ÊÂÀË€ØÂ€¥ÔÂ`cÒÂÀÖÑ bÍ 8ÔÂaÕÂà×ÂðÒÂaÕÂÀôÌÂ`E×€iÞÂ`{ÎÂ@ ÔÂËÂsÒÂ@ÓÜ€ÃÏÂà*Ñ ;É ‚Ò )Ì Ï ¬ËÂ`]ÓÂÀ)ÙÂÀÐÒÂ@iÄÂ`{΀“×€{ÛÂ`'Ü€àßÂΠÏÚ€‡ÙÂâ ÕÙ€·ÑÂÀÚÂØÖÂ`{ÎÂ`“Ê ,ÖÂ@ªÎÂ`òÏ€±ÒÂ`?ØÂÀ#ÚÂ@zÖ ©ÖÂ`ÔÔ jÖÂ1ÝÂU×€.Ó d×ÂÀ›ÆÂàÓÂÏÂ@¤Ï€·ÑÂ@°ÍÂ@QÈÂ@QÈ >Ó çÖÂ`ìÐÂà Ö ÜÂÀâÏÂÀ}ËÂ`°ÚÂäÔ JÑÂàéÆÂàBÍ€«ÓÂÀôÌ çÖÂ@žÐÂÀ¸Ö€.ÓÂ`˜Þ€ÃÏÂ`àÒÂ@åÙÂàwÙ ^ØÂ@ŒÓ€ŸÕÂàYÞÂàîÚÂàúØÂ nË Ò JÑÂÀ¾ÕÂ=ÛÂ`þÍ ÙÎÂ`E×Â`Â×€4ÒÂ@EÊÂ ÛØÂ`ÎÕ .à ÙÎÂÐÂÆÙ ¯ÕÂà‰ÖÂ@ÙÛ‘Í ˆÑÂÎÂàƒ×ÂàÄá ÙΠÛÂà0ÐÂ`àÂàqÚÂ@ÕÂ`ÔÔ ÎÂÀÄÔÂàÜÝ ^ØÂ@3ÍÂà³Ï d×Âà‰Ö€ŸÕÂêÓÂ@JÞ€ÚÂ`3Ú—Ì Ï ÉÛÂÌÂ`QÕÂàÔÂÞÕÂ@Ó€¥ÔÂ`cÒÂ@ ÔÂyÑÂÀ›ÆÂ@-ÎÂ`ÚÓÂöÑ ¦ÌÂÍÂàrÅ ¸ÉÂ`ÎÕÂàHÌ ˆÑ )ÌÂÀGÔ€FÏÂà§ÑÂàÝÈÂ`¶ÙÂ@Ò ²Ê óÔ‹ÎÂ@ ÔÂàÕÂ…ÏÂàâÜ€(Ô ²Ê ùÓÂ@‡¿Â€(ÔÂ`ÎÕÂ`þÍÂ@ñ×Â@ÑÂsÒ Ù  ÍÂà³Ï€FÏÂ`ÔÔÂÌØÂ`àÒÂ@-ÎÂÀËÂ@ÑÂÀË ÎÂà­Ð Ò d×€±Ò >Ó #ÍÂÀ¡Å€ÕÌÂÀMÓÂÀÈÂ`‡Ì 8ÔÂ`Í€×ÂàfÇÂЀ·Ñ ÁÒ zÉÂ`øÎÂ`(ÇÂÀqÍ µÔ‘ÍÂ@¶ÌÂ&Ê€(Ô€RÍ€™ÖÂ`uÏ€^ËÂà$Ò€ÚÂÀ}Ë åÌ bÍÂÀîÍ ŽÐ vÔÂÒ׺ۀ½Ð \ÎÂÀ_ÐÂ@?Ë ÉÛÂ`iÑÂÀÜÐÂêӯȀÛË€jÉ DÒ€“×Â`oÐÂÀúËÂ`øÎÂÐÂäÔÂà×ÉÂà³ÏÂ` Ì€“×€«ÓÂ@PÝ€.ÓÂöÑÂà6Ï€.ÓÂyÑÂÀ5× Ò ;É #ÍÂ`æÑ€ÃÏÂ@'ÏÂ`WÔÂÏÂàÊàÂ`iÑÂÀMÓ Ë ¦Ì ²ÊÂÀ}ËÂ`òÏ LÛÂÀ5×Â@†ÔÂ&ÊÂÀ¸ÖÂÀÜЀþÚ åÌÂêÓÂaÕ€íÈÂË íÕÂ`QÕÂÀeÏÂ`oРJÑÂàúØÂ‘Í )Ì ÙΠ)Ì pÕÂ`þÍ ÇÑ £×Â@¼Ë€òÜÂÀ/ØÂ€ÃÏÂÀ}ËÂaÕÂÀMÓ€^Ë ÙÎÂ@bÚ€@РØÂ@ÈÉÂÀGÔÂ@ñ×ÂØÖ€uÜÂ@hÙ€ŸÕÂР…ÜÂàeÜÂ`'ÜÂ@ýÕÂ`˜ÞÂÆÙÂ`¶Ù íÕÂ`WÔÂÀ)ÙÂØÖÂ%ß nËÂÀÛ€ŸÕÂà³ÏÂ`ÔÔÂÀwÌÂÆÙÂ@ÍÝÂÀYÑÂÆÙ FÜÂÀÝ  Ñ€uÜÂÌØÂgÔÂ`'ÜÂàMà€Wá |ÓÂ@ÒÂ%ßÂ+ÞÂ@æÂàqÚÂ@÷ÖÂÀˆÞÂ@ªÎÂ@t×Âà§Ñ Þâ åÂÀvá öÞÂÀvá 8Ô€4Ò€ìÝÂ@£ä ,ÖÂ1ÝÂÀXæÂà¬å€iÞ ÿÒÂàqÚÂOØÂÀšÛÂ`žÝÂ@ßÚÂûå ÉÛÂÀRç “ä "âÂ@µáÂ@VÜ ÕÙ ,ÖÂà›Ó®ÝÂÆÙÂðÒ¨ÞÂÀ|à ÌåÂÀÕæÂ £×Âàƒ×Â`¤ÜÂ@¯âÂ@&äÂ`'ÜÂàÐß £×€òÜ 4ßÂ`KÖÂÀˆÞÂ`-ÛÂ@nØÂàîÚÂ@!Р¯Õ€Ú ½ÝÂ`’ß äáÂÀÜÂÀ ÚÂ`˜Þ®ÝÂÀ¬ØÂ@bÚÂ@åÙÂÀpâÂ@,ãÂ@bÚ€øÛ üÝÂ@é UäÂÀ߀ÚÂ1ÝÂàØÂÀ;Ö ã€{ÛÂÞÕÂÀçãÂÀÊÓ .àÂ` á LÛÂ`!Ý \΀‡ÙÂ` á€iÞÂÀ”ÜÂàYÞ ÌåÂ`E×€ÔáÂ@—æÂ XÙ ‘Ú ð߀WံæÂ%ßÂ@&äºÛÂ@\ÛÂ@ÓÜ gáÂ@è€uÜÂ`QÕ —ÙÂ@>àÂÀ_ÐÂÀÐÒ€4Ò ^ØÂ@ÇÞ´Ü ä€Ú®ÝÂ@åÙ€ ÙÂ@¯â ÏÚÂäÔÂàîÚÂÀ:ë 7é «àÂ`âÂàƒ× ÜÂÀÛåÂ`ñä µÔ ÕÙ (áÂäÂ@µáÂàšèÂ@ñ×Âá ‘Ú€þÚÂ`€â ¥áÂà ØãÂâÂ@DßÂÀFéÂÀ)ÙÂÀ²×ÂÀÝÂ@bÚ ÁÒ ÁÒ€Wá ½ÝÂÀ#Ú€Ö€ÚÂ+ÞÂ@8áÂåÂÀÐÒÂÞÕÂà×Â@zÖÂOØÂ >Ó Ú€ìÝ ØÂàÖÞÂ`-ÛÂ`ßÂ`¤ÜÂàšè FÜÂÀ²×Â@8áÂ@»àÂ`øÎ á×€uܨހ“×Âà×ÂÀ”ÜÂ`÷ãÂÀÃéÂ ÛØÂ@’ÒÂ`]Ó ÍÐÂäÔÂ@t×Ââ "â …Ü€¥ÔÂÌØÂ`?ØÂ€þÚ ŸâÂ@ÍÝÂ`ŒàÂàMà€‡ÙÂ`žÝÂ`3ÚÂ`ñäÂCÚÂ@åÙÂàôÙÂ7ÜÂàeÜÂ`WÔ @ÝÂÌØÂ gá nËÂÀôÌÂlèÂÀÿ߀òÜÂà}ØÂÀváÂ@åÂ`zãÂÀ¬ØÂÀ²×ÂÀÿß üÝÂ@ëØÂâ 4ßÂ@ÍÝÂÀÏ瀓נ@ÝÂ@ÕÂÀÝÂ`3ÚÂÀRçÂ@8áÂ@DßÂ@ÙÛÂà¡Ò€iÞÂIÙÂÀAÕÂIÙÂ`˜Þ€"ÕÂ`†áÂ`QÕ 5ÊÂ`øÎ€™ÖÂà$ÒÂ`ËÂ@žÐÂüÐÂ@˜Ñ ØÂà­ÐÂÆÙÂàšè ÍРçÖ€«ÓÂ@ÙÛÂ@>à€‡Ù åÌÂ@3Í >Ó€×Âà§ÑÂ`ÈÖÂàeÜÂ`WÔÂ`WÔ |Ӯݠ±ßÂsÒ ØÂ€iÞÂÀ;ÖÂ`°Ú d×ÂÀ#Ú€oÝÂÀèÎÂàÂÀMÓÂ`3Ú £×ÂÀ²×Â`˜Þ€ŸÕÂà}ØÂËÂà¡ÒÂ@!ÐÂÀ_ÐÂàÕÂ2ÈÂ`WÔ ΠÙ€@ÐÂÍÂÀGÔÂ`ÚÓ ˆÑ€LÎÂ`™ÉÂàËË€ÕÌ íÕ jÖ€ìÝ€ÔáÂ@ÓÂÀ_ÐÂ@ÓÜ íÕÂÀGÔÂà­Ð ðß DÒ —ÙÂ@bÚÂÀ;ÖÂ`àÂàÕ PÐÂÀâÏ ¸É¨ÞÂ@ÓÜ ½ÝÂsÒ vÔÂ@ÍÝ ùÓÂ ÛØÂàÓ ,ÖÂ@ç´ÜÂ@Ñ€4ÒÂ@ÁßÂCÚ £×€ÚÂ@˜Ñ€L΀RÍ ©ÖÂ`†áÂÀ)ÙÂàÂàMàÂ%ßÂ@ëØÂÀŽÝ ÕÙ€¥Ô …Ü€{ÛÂ`KÖÂCÚÂàYÞÂÀ‚ßÂ@bÚ VÏÂÒ×Â@hÙÂ`ß d×€:ÑÂ@÷ÖÂàeÜÂ`ÚÓÂ@ ÔÂ`àÂÀ”ÜÂ`žÝÂ1ÝÂðÒÂÀAÕ …ÜÂ@ å ð߀‡ÙÂ=ÛÂ`-ÛÂ@»àÂ`'Ü nË€ Ù ØÂ`bçÂ`÷ãÂ@˜Ñ ÃÜ€EäÂ`÷ãÂÀ^å€òÜÂ@hÙÂ@˜ÑÂ`9ÙÂU× |Ӵܺ۠¥áÂ`3ÚÂÀÚ ±ß “äÂÀíâÂàÂ`täÂà#ç ÕÙÂ@2â€à߀«ÓÂ@t×Â`ªÛÂ`¼ØÂ`'Ü€uÜ€.ÓÂ`â€ØÂ ·Þ€ÚàÂU× ÁÒÂäÔÂàØÂàâÜÂÀSÒÂÀ)ÙÂ=ÛÂ@ëØÂ åÂ@>àÂÀ²×€ìÝ€Ú ã gáÂà}ØÂ@zÖ€ ÙÂ`Jë€Úà€øÛÂàØÂ€ÚÂ@nØÂà}ØÂ`3ÚÂÀŽÝ yÞ€]àÂàÄáÂ@Õ ·ÞÂäÂ`¤ÜÂÐÂ@ÕÂ@¶ÌÂ@žÐÂ@˜ÑÂ`ÍÂöÑÂ`žÝÂÀÄÔÂ`ÈÖ€×Â`žÝ üÝ€ÖÂ@ßÚ ÉÛ€ Ù€ Ù€{ÛÂ`¤ÜÂ@Ó€{Û :ÞÂ@ýÕÂ`°ÚÂ`ýâ ‘ÚÂàÔÂà§ÑÂ@ýÕ€øÛ ½ÝÂ`PêÂ@t× màÂÀRç ðß ‘Ú ùÓÂ+Þ (á Û FÜÂ@ÙÛÂgÔÂàÕ€øÛÂ@Á߀øÛÂ`KÖ ÝÂÀÚÂ@ñ× ÚÂÀÝÂ@ÍÝ€òÜ€ÎâÂàAâÂÀšÛÂ`¶Ù çÖÂ@åÙ ÃÜÂüÐÂ@zÖÂ@t×ÂÀÛ ÃÜÂ@ýÕÂ`¼ØÂÀÖÑÂàSßÂgÔ ‘Ú &×ÂÀ)ÙÂ=Û Û ¯ÕÂ@žÐÂà Ö £×Â`°Ú íÕÂØÖ ÕÙÂ1ÝÂIÙÂàAâ mà€cßÂ@bÚÂ@2âÂÀ‚ß XÙÂ@÷ÖÂ`KÖ RÚÂÀÜÐÂ@©ãÂ`?ØÂ@zÖ ÕÙ íÕÂ`ìРÝ€Ú€×ÂÀ¦ÙÂÒ×Â`†áÂÀÚ ÚÂ@3Í á×Â`ÈÖÂàèÛÂ@’ÒÂÀ¦ÙÂmÓ íÕ …Ü ÕÙÂ%ß ‹ÛÂ`ÔÔÂà¡Ò ÉÛ ÍРΠÚÂ`3Ú ÙÂ`cÒ€ØÂ@»àÂ`Â× ÙÂàÔÂ@Ñ€«ÓÂÀ5× 2ÕÂÀ¬ØÂ RÚÂÀ¸ÖÂË ÏÚÂ`{ÎÂ@PÝ —ÙÂ@DßÂÀ5×Â@žÐÂàÝÈ€‡ÙÂ`àÒÂ`°ÚœàÂÀ¸ÖÂà¡Ò äáÂÀGÔ ØÂ µÔÂ@ÒÂÀ5×ÂÀôÌ á×€‡Ù€™ÖÂ,ÉÂaÕÂ`E× ðß óÔ€¥Ô€“×ÂÀ)ÙÂÀÊÓÂ`uÏ ,Ö vÔÂà*ÑÂ@øÁÂÍÂàÕÂÀúË ØÂÀGÔÂ`?ØÂ ©ÖÂà¡ÒÂÐÂ`cÒÂ@ÚÆÂÀôÌÂ`iÑ AÈ nËÂ@nØÂàôÙÂàÕÂyÑÂ[Ö JÑÂ@ÒÂ`àÒ \ÎÂàBÍÂ@Õ DÒÂ@øÁÂ`æÑ bÍÂ@hÙÂà×ÉÂÌØÂ€øÛ \ΠØÂ@VÜÂà‰ÖÂÀkÎÂ`cÒÂÀ¾Õ€“× 2ÕÂ@ñ×ÂÀÜÐÂ`ÔÔ€ÉÎÂêÓÂà­Ð€½ÐÂ@ÓÂÀôÌ jÖÂüÐÂ`]ÓÂ`'Ü ˆÑ ÍÐÂÀÖÑÂ@9ÌÂ@nØÂ ØÂà‰ÖÂÞÕÂ`KÖÂaÕ VÏÂÀÖÑÂÀÛÂ@ŒÓÂ@ÒÂ ÊÆÂ £×Â@°ÍÂÀÐÒ€{ÛÂàÔÂ@¤Ï ÏÚ€WáÂ@ñ× jÖ€‚ÅÂ@€ÕÂØÖ€ÖÂ@ªÎÂàÔÂ@nØÂ`KÖ @ÝÂU×Â`9ÙÂàÝÈ ÿÒ çÖÂCÚÂ@ªÎÂ@ªÎ€ØÂàeÜÂà}ØÂà­Ð LÛ ÛÂà•Ô€ÕÌÂàƒ×ÂàúØÂ€ Ù€(ÔÂüÐÂÀ/ØÂ@VÜÂàÊà€ìÝÂ@'ÏÂØÖÂÀ)ÙÂ@9ÌÂ@VÜÂ`E× µÔÂ=Û€“×Â@åÙÂ`E×Â7Ü€±Ò´ÜÂà‰Ö ãÂ`E×Â@zÖÂaÕÂÒ×Â@ýÕ ²Ê€¥ÔÂà×Â`ÔÔÂ`WÔÂÀSÒ€ÃÏÂ@\Û ÙÎÂÒ×€@ÐÂàÔÂàÖÞ MÆÂ ¦ÌÂ` ÌÂ@ýÕ /ËÂΠÒ€×€ÖÂ…ÏÂÀîÍÂØÖ #ÍÂ`¥ÇÂÀÊÂàBÍ€{Û€¥Ô€Ú GÇÂgÔ€þÚ€^ËÂÀ}ËÂàNË /Ë€×€«Ó £×Â`ÍÂ`ÉÂ`æÑÂ@ñ× nËÂ`“Ê  Ñ€^ËÂÀ)Ù åÌÂÀÖÑ bÍÂàÕ€ÏÍ€@ÐÂ@3ÍÂ@ÂÊ€ÖÂ`WÔÂÀÈÂÀ)Ù yÞÂÀ;ÖÂ` ÌÂà6Ï XÙÂ@€ÕÂaÕÂÏ ÒÂà}ØÂ ‹ÛÂÀÚÂÀ²×Â@’ÒÂÀAÕÂüÐÂ`cÒ |ÓÂÀGÔ€(ÔÂ@t×Â@JÞÂà‰Ö 8ÔÂÀ)ÙÂüÐÂaÕ€(Ô |ÓÂàúØÂÀÜÐÂÀ¸ÖÂàÕ ùÓ VÏ€RÍ ÛÂàúØÂ`!ÝÂ@hÙÂ@t×Â@€Õ hÌÂÏÂ`ìÐÂàÔÂ@’ÒÂÀwÌÂЗ̀ØÂ ØÂÀÊÓ aâ ·ÞÂ`àÒÂ@!ÐÂ`«ÆÂ€·ÑÂ@'ÏÂÀ¦ÙÂ`ìÐÂàÑÊ |ÓÂÀ‰ÉÂüÐÂ`ÚÓ \΀"Õ€ÕÌ ;ÉÂà­ÐÂÀGÔ #ÍÂ`"ÈÂÀÐÒÂÀkÎÂÀ¦ÙÂàNËÂÀÊ )Ì ‚ÒÂÀîÍ€ùÆÂ@'Ï tÊÂÀ¾Õ ÒÂÀYÑ€RÍ€dÊ ÍР€ÈÂÀÖÑ‘ÍÂâÂÀóá FÜ€ÃÏ )Ì ¬ËÂÀkÎÂÀ#ÚÂ@zÖÂà6ϠˀØÂà§ÑÂ@°Í /Ë ^ØÂÀAÕÂ@hÙ ÙΠåÌ XÙ RÚÂ@3Í€½Ð )ÌÂ@ÑÂ`3Ú РùÓÂàÅÌ Ù΀:ÑÂ`øÎÂàÕ€¥ÔÂÀ;ÖÂà×Âà ÖÂ@ŒÓÂ@ÒÂàkÛ ÿÒ ÉÛ PÐÂ`?ØÂaÕÂ@ßÚÂ@†Ô JÑÂÀMÓ€ØÂÀôÌ PÐÂà¿Í€#ÀÂ…ÏÂÞÕÂ`ÎÕ ‘Ú€:Ñ ÏÂÀèÎÂ@÷Ö€½ÐÂ@¤ÏÂÀîÍÂÞÕÂÀÈÂ@ÈÉ€«Ó ÕÙ ÿÒ ÕÙ€ŸÕ ÍÐÂ@9ÌÂàÅÌ€¥ÔÂ`E×Âà ÖÂ…ÏÂ`QÕ©ÉÂ`Ë€4ÒÂ@VÜÂ1ÝÂ`¤ÜÂà§Ñ€ÉÎÂ`°ÚÂ`ÎÕÂ@’Ò hÌ€:ÑÂ@hÙÂÌØÂà6Ï€LÎÂÀÚÂàúØÂÀÝÂÀ ÚÂ`†á€(ÔÂÌÂ@!Ѐ.ÓÂàÕÂà³ÏÂÀGÔÂ@ÓÜÂ@hÙ ‹ÛÂ`ÈÖÂ`?ØÂ€.ÓÂ`?ØÂàS߮݋ÎÂ`!Ý |Ó VÏÂ@ñ×ÂàNË jÖ FÜÂÀ¸ÖÂÀMÓÂ@€Õ ÃÜ  ÑÂË€«ÓÂàqÚÂüÐÂ@zÖÂ@’Ò ˆÑÂÀ¦Ù šÎÂÀqÍÂ…ÏÂà¹ÎÂàÔÂÏÂÞÕ µÔ ñÊ€jÉ€«ÓÂêÓÂà‰ÖÂÀ ÞÂÀSÒÂüÐÂgÔ€‡ÙÂà*Ñ ñÊÂ@ÍÝÂàYÞÂÀAÕ€×€‡ÙÂà_ÝÂâÂ`ÚÓÂà}ØÂ RÚÂÀ5×ÂmÓÂàèÛ FÜÂàîÚÂ ÛØÂ`iÑÂ@ Ô€(ÔÂ@÷ÖÂØÖÂÀˆÞÂ@ÒÂ@ëØÂ &×Â@€Õ€‡ÙÂ@t×€™ÖÂ`¶ÙÂÀSÒÂØÖÂÀÖÑÂ@Õ ŽÐ€4ÒÂ`æÑÂyÑ ÐÂ@ÕÂà³ÏÂOØÂ€áÊÂÐÂIÙ€FÏ ÚÂÀ¦Ù DÒ ”Ï hÌ€æÞ ¯ÕÂÀ²×Â@nØÂàÓ€¥ÔÂ`þÍÂ`]Ó ÁÒ >Ó ÓÏÂàôÙÂ@°ÍÂÀÚÂàÕÂÀ5×Â ÛØÂ€Ú d×€™Ö JÑÂÀ¸Ö€ÃÏ ØÂÀ)Ù @ÝÂ`Â×ÂàúØÂ@zÖÂÀGÔÂÀ#ÚÂàÕ ^ØÂàƒ×ºÛ ˆÑ 8ÔÂÀÊÓ€±Ò Ý€ìÝ ÛÂ@ ÔÂÀYÑÂÀYÑÂ@†Ô Π|ÓÂÀYÑ ”Ï€íÈ€“×€:ÑÂ[ÖÂÏ€‡ÙÂÀMÓÂàúØÂ€ìÝ ÉÛÂ@ÙÛÂ`'Ü ÙÎÂ`uÏÂàúØÂ ëË€ŸÕÂ@hÙÂÆÙ íÕ€?åÂ@PÝ€@РLÛ€(ÔÂöÑ ÐÂ@ÕÂ`ÍÂà¿ÍÂ`ìÐÂ@Ò€±ÒÂ`‡Ì€^Ë€ŸÕ€™ÖÂ`?ØÂ€"ÕÂà<ÎÂÀˆÞ€"Õ ÁÒ€·ÑÂàÕÂmÓ ‘Ú á× µÔÂ@DßÂà•ÔÂàâÜÂÀ¦Ù ùÓÂÀùàÂ`¤Ü ÉÛÂ`KÖ€·ÑÂ@’Ò ÿÒÂ@ ÔÂà6Ï ÙÂÀ¸ÖÂÀ;ÖÂ`°ÚÂÀ#Ú ÏÚÂ@ñ×ÂàèÛÂ@ŒÓ€¶æÂÀÿßœà€™ÖÂà6Ï ”ÏÂÀÜ ÏÚ¢ßÂÀÚ üÝ€‡ÙÂ`]Ó€ ÙÂÀ5×€Ú  Ñ€óÇÂÀÐÒ€òÜÂÀ²×ÂÀÝ vÔ€«Ó &×ÂÀGÔÂêÓ€{Û€QâÂ`bç vÔÂ@EÊ€‡Ù ÉÛÂ@nØÂ |Ó€þÚÂ`ÔÔÂ`uÏÂ`'Ü XÙ€™ÖÂÆÙ€"ÕÂÀ;ÖÂ`¥ÇÂ@åÂ`ÎÕÂIÙ€WáÂàGáÂÀÜ€.Ó€±ÒÂàØÂÀÊÓ PÐÂ`Í ÌåÂàúØÂ@ÂÊ :Þ ØÂ`{ÎÂ`cÒ ÝÂÀGÔÂ`WÔ€ÚÂ` Ì€ØÂ`¼ØÂ`uÏ d×Â@¤Ï€¥ÔÂ`KÖÂÀ¬ØÂ@€ÕÂà Ö …ÜÂ@nØÂ aâÂyÑÂyÑ€ÚÂàØÂàØÂ@†Ô \ΠöÞ€ŸÕÂ`iÑÂ@¤ÏÂ`øÎ &×ÂU×ÂÀ¾Õ ÙÂà6Ï vÔÂ@ÒÂàwÙÂàâÜ€FÏ—ÌÂÀ ÚÂ@ñ×ÂÀŽÝÂ@ëØÂÀ5×ÂmÓÂàqÚÂà¿Í€jÉ vÔÂàNËÂàØÂ@¤ÏÂÀSÒÂ@ÓÂÀÜ ˜ÄÂÀ/ØÂ€½Ð íÕÂÞÕÂ`¼ØÂ…Ï ²ÊÂ@ Ô€¥ÔÂÀÜ çÖÂ`WÔÂ@ÈÉ )ÌÂÀkΠýÈÂÀŽÝÂ@÷ÖÂäÔ€±ÒÂ`?ØÂ bÍÂ@9ÌÂÀYÑÂÀMÓ VÏÂ@'ÏÂ@Ñ€ŸÕ ¬Ë€:ÑÂyÑÂà¹ÎÂ`òÏ ßÍ DÒÂÀ/ØÂ€™Ö€XÌ ßÍÂÀ_ÐÂ`uÏÂ`™ÉÂàËË€:ÑÂ`æÑ VÏ€óÇÂÀÜР¬ËÂà6ÏÂàBÍ ýÈÂ@ýÕÂ@ÒÂ@†ÔºÛÂ@˜ÑÂ@'Ï€·Ñ á× ùÓÂÀqÍÂÀSÒ ‘Ú—ÌÂ`žÝ vÔÂÀÊÓ ¯ÕÂ`“Ê ¦ÌÂ@ÓÂ&ÊÂÀ/ØÂÒ× 2ÕÂàÑÊÂ`KÖ€¥Ô€RÍÂ@!ÐÂÍÂ@!РÿÒÂ@¤Ï‘Í‹ÎÂÀ_ÐÂÀÜÐÂÀMÓ /ËÂà`ÈÂ`ÈÖÂà³ÏÂüЀoÝÂÀ5× ¬ËÂ@€ÕÂ`ÎÕ DÒ ÁÒ \΀"Õ ËÂ@¤ÏÂ@žÐ )ÌÂ@ÂÊÂ@°ÍÂà¿ÍÂÀ¸ÖÂ@ªÎÂàËËÂ…Ï )ÌÂà}ØÂà¡Ò 2Õ ¾ÈÂÀôÌÂ@¼ËÂ@’Ò€FÏÂ@'ÏÂ`¶Ù |ÓÂ`Í€ Ä YÄÂ@cÅ€·ÑÂmÓ€uÜÂ`æÑ ÙÎÂ`KÖ ÏÂÀôÌÂ,ÉÂ`‡ÌÂ@†ÔÂà¡ÒÂÀ#Ú ÙÎÂ`ìЀjÉ ˆÑÂàîÚ Û :Þ @ÝÂÀ¸Ö€XÌÂ`oÐÂU×€XÌÂ[ÖÂÀ‰ÉÂüÐÂÀÛ ÁÒÂÀÛ \ÎÂà¿Í€@Р¬Ë€ÃÏÂ`àÒÂ@?Ë€É΀ØÂ`-Û PРýÈÂaÕÂàÓÂÀâÏ óÔÂÀîÍÂà‰ÖÂyÑÂÀAÕÂ`øÎ DÒÂà$Ò @ÝÂàÊàÂ@hÙ ñÊÂêÓÂ@åÙÂ`àÒÂ@-ÎÂÏ ØÂsÒÂÀMÓ 2ÕÂÌØÂ€.Ó€«ÓÂà}ØÂ€±ÒÂÀYÑÂÍÂ@?ËÂ`ÚÓÂÀÖÑÂ`oÐÂ`E×Â@ÒÂ@¤Ï€ÚÂ`ÔÔ€(ÔÂàîÚ€4Ò€.Ó ©ÖÂ@žÐÂ`cÒÂ@ÇÞÂ`9Ù ØÂCÚÂäÔÂÀÜÂ@ßÚÂ`þÍÂÍ ÁÒÂà*Ñ€ùÆÂÀYÑ 2ÕÂàwÙÂà¸ãÂ@†Ô€“×Â`Â×Â@ÍÝÂ@÷ÖÂ`{ΠÐÂàTÊ ÝÂ`àÒ —Ù€±ÒÂ@åÙÂ@hÙ »Ó >ÓÂ`]Ó ÃÜ€ØÂàSß ãÂ`ªÛÂCÚ€ Ù€{ÛÂ@nØÂ ¯ÕÂ@ñ×Â`iÑÂÀ¬ØÂOØÂ ùÓ€«ÓÂ@ÑÂ΀RÍÂ@ÑÂàÂÀ²× zÉÂ`WÔÂ@ Ô ©ÖÂ`]Ó &×€«Ó€ŸÕ ÙÂÀSÒÂ@nØÂ€ÖÂ`ìЀ±Ò ¦ÌÂàTÊÂÀ/ØÂ@ÙÛÂà­ÐÂàÔÂ`QÕ Ù€"ÕÂà¿ÍÂà Ö )ÌÂÀËÂÀúË ;ÉÂ`øÎ€“× ‹ÛÂ`-ÛÂÀMÓ€WဥÔÂ`ÔÔÂÀ²× |ÓÂ@t×ÂÀ¸ÖÂ@ÑÂà§ÑÂÀ¸ÖºÛ µÔÂ@ÈÉÂ`þÍÂ`-Û ”Ï ÍÐÂÀâÏ ¦ÌÂÀ_ÐÂà Ö€½Ð€@ÐÂà}ØÂ hÌÂ`Ê€FÏÂ`ÚÓÂÀ_ÐÂÀAÕ ‹ÛÂ@ñ× óÔ€ØÂ pÕÂ@žÐ JÑ PÐÂ@KÉÂàÅÌ€FÏÂ`¶ÙÂ`æÑ DÒÂÀÐÒ€±ÒÂ@¤Ï íÕÂàÔÂðÒ Ï tÊ ÄÇÂ`òÏ€óÇ ˆÑ jÖ »Ó€ÉÎÂÀîÍ€½ÐÂàTÊ ÍР¸ÉÂà­ÐÂàNË Рá× ÁÒÂ`uÏÂ@Ò PÐÂàÅÌÂ`Ê ¦ÌÂà$Ò  Í‘ÍÂà¹ÎÂÎÂ`ÚÓ€×ÂÀYÑ€çÉ€çÉÂ&Ê íÕ€:ÑÂ`(ÇÂ@˜ÑÂÍ RÚ ØÂ€ÉÎÂ`àÒ€ÖÂÀ;ÖÂÀèΠ/Ë€jÉ /ËÂÀGÔÂ`oРíÕÂ@Ò ÐÅÂÌØÂðÒ µÔ µÔ VÏÂÀ²×ÂÀAÕÂÀÊÓ šÎ£ÊÂËÂÀÖÑÂ@KÉÂ`±Å€"Õ€“×€FÏ Ù΀ÏÍÂÀSÒÂÌØÂ@¶ÌÂà×É óÔÂ@÷ÖÂ@÷Ö€ÏÍ €È€íÈ ßÍÂ@ÑÂ@ÔÇ ÙÎÂ`ìР¸ÉÂ@ñ×€½Ð€^ËÂ`ËÂàNËÂÍ 4ßÂ`?ØÂ  Ñ ÐÂà¿ÍÂ`9ÙÂ`oЀ.Ó >ÓÂÀÇ ëËÂüЀ"Õ€øÛ€ÛË ¯ÕÂyÑ€ÃÏÂ`ÈÖÂàwÙÂÀAÕÂ`cÒÂ@°ÍÂmÓÂ@ýÕ—ÌÂ ÊÆÂ@ÂÊ ÄÂöÑ€.ÓÂà›ÓÂmÓÂÍ ¯Õ€Ú ÿÒÂ`æÑÂàÅÌÂ`"ÈÂ@ÈÉÂà× £×‹ÎÂIÙÂÀSÒÂàHÌÂ@¼ËÂà­Ð DÒÂÀ‰ÉÂ`òÏÂà³ÏÂÀÈÂÀÜРŽÐÂÀYÑ ØÂ`Í€RÍÂÀYÑ€cßÂ`ÎÕÂÀ5× ˆÑÂ`ÎÕÂÀ_ÐÂàœ¾ÂÀÖÑÂ@ ÔÂ@ÈÉÂÀ_ÐÂ@ñ×ÂÀâÏ |Ó jÖ ØÂ€Ö óÔÂêÓ€þÚÂàÓ€XÌÂà ÖÂOØÂ DÒ bÍ |Ó »ÓÂà¡Ò |ÓÂöÑÂ`Þ€þÚ  Í \ΠóÔ £× ,ÖÂ@!З̠©ÖÂ`?ØÂÀ”Ü€“×Â`þÍÂ@˜ÑÂIÙ 2ÕÂ@ŒÓ >ÓÂàNË€@ÐÂ@Ó€™Ö€ÉÎÂÀÊÓ |ÓÂ`iÑÂ`ÎÕÂÀMÓ€·ÑÂà$ÒÂ@†ÔÂ`'ÜÂ@ßÚÂCÚÂ@zÖÂÀ”ÜÂÀ²×€ Ù £×ÂÏ ©ÖÂÀ;ÖÂà6ÏÂà0ÐÂ`ÎÕÂà§ÑÂàúØÂÀ²×ÂÏ€"ÕÂöÑÂÀ5×Âà‰ÖÂ2ÈÂ@!ÐÂ@nØÂ XÙÂÀÚÂÀÐÒ yÞÂ`!Ý FÜ ¯ÕÂ@\ÛÂgÔ€øÛÂ@£äÂ`?ØÂ ˆÑÂIÙÂÀAÕÂ@bÚÂ@žÐÂ@ÍÝÂäÔÂ@ßÚÂ@ÓÂ@åÙÂàÅÌÂðÒÂ@ŒÓÂ`oÐÂ@ÓÜÂàwÙÂØÖ€ìÝÂàÕÂÆÙÂÀAÕÂOØÂ`]Ó ˆÑ€æÞ€.ÓÂàHÌ XÙ€™ÖÂà ÖÂ@ýÕÂÌØÂ ÃÜÂ`9ÙÂaՋ΀ڀòÜÂ@PÝ€?åÂIÙÂäÔÂ@-ΠëË€×ÂàÕ \ÎÂ ÛØÂ€×€:ÑÂ`iÑ nËÂàÔÂà$Ò€¥Ô ÓÏÂÀkÎÂÞÕ€:Ñ RÚÂÀ/ØÂàNËÂà¿ÍÂà›ÓÂ`KÖÂ@hÙÂÀpâ®ÝÂàÅÌ ØÂ ”Ï \ΠÛÂ`°ÚÂàÄá‹ÎÂCÚÂ`-Û€Ö ™ã …ÜÂÀ)Ù€XÌÂ`9ÙÂÀAÕÂ`cÒÂ@ŒÓÂ`¤ÜÂ`Â×Â`Â× ŽÐÂ@bÚÂàÔ€ÏÍÂЀØÂ`ÔÔ ˆÑ€«ÓÂ@¶ÌÂà§Ñ —ÙÂà‰ÖÂ@ëØÂ@˜ÑÂäÔÂ@ßÚÂàwÙ€ÛËÂàÓÂ@t×ÂÀÚÂÀAÕÂêÓÂðÒÂ ÛØÂ \ÎÂÀAÕÂ`ÎÕ JÑÂà§ÑÂ`ÔÔÂ@]ÆÂ`!ÝÂÀÜ€ùÆÂ€jÉÂ`ìÐÂmÓÂgÔÂ`ÚÓÂ`QÕÂ`ÚÓÂ`øÎÂà<ÎÂÀ_РÇÑÂàÅÌÂÀ#ÚÂà×€ÏÍ …ÜÂÞÕÂÀÐÒÂ@¼Ë€:ÑÂ`WÔ GÇ íÕ ùÓÂàƒ×Â@Ó‹ÎÂ`{Π8Ô ¬Ë ˆÑÂüÐÂà*ÑÂmÓÂ`þÍÂàÕÂÀˆÞÂ@€Õ ¯Õ »ÓÂ`·ÄÂ@t×ÂÐÂIÙ ÚÂ@ëØÂ ¯ÕÂ@t×Âà}ØÂÀÆÂ`ÚÓ ©ÖÂ@'ÏÂ@¤ÏÂ@°ÍÂ`“ÊÂ`ÉÂ`ìÐÂàHÌÂ@ÔÇÂ`ìРd×Âà‰Ö >Ó ‚Ò ëËÂ`ÔÔÂÀYÑ 3À hÌ šÎÂÀ Ú€LÎÂ@¤ÏÂ`ÚÓÂÐÂàrÅÂàHÌ€½Ð€FÏÂà`ÈÂ@zÖÂÀÖÑÂàÂÂ7ÜÂ@†ÔÂÀ5×Â…ÏÂà×ÉÂÆÙ ùÓ€“×ÂÀÜÐÂ@VÜ ë˵ÇÂsÒÂÀYÑÂ`]ÓÂ` ÌÂ@ëØÂ@÷ÖÂ@DßÂ@nØÂgÔÂ`E×Â`ìÐÂÀYÑ ýÈÂÀMÓ€¥ÔÂ@bÚ çÖ€ÚÂsÒ ^ØÂ`E×ÂÀqÍÂ@†ÔÂÀúËÂÀúË€ÏÍÂ`àÒÂU×€FÏÂ@ÑÂÍ Ë ²Ê€:ÑÂЀ.Ó ÓÏÂ@Õ #Í JÑÂyÑ€4ÒÂàYÞÂ`ÚÓÂÀ‰É€ÿÅ€^Ë ²ÊÂàõÄÂU×ÂsÒ zÉÂsÒ »ÓÂàéÆÂ@WÇ€FÏ ÇÑÂÀGÔÂ8Ç åÌ€±ÒÂàÅÌ—ÌÂÀÄÔ |ÓÂIÙÂyÑÂà*ÑÂàNË 5ÊÂÀî͋΀ÃÏÂÀMÓÂÀîÍÂ@3ÍÂÀ5×€(Ô—ÌÂ@-ÎÂ@]ÆÂ€ÃÏÂ@ñ×Âà ÖÂà­ÐÂyÑ hÌ _ÃÂà}ØÂ ¸É #Í 5ÊÂ`øÎ€ÚÂðÒÂ`uÏÂÀîÍ€ÉÎÂ@ßÚ€4ÒÂÀ5×Âà*ÑÂÀ¸Ö ÿÒ€“×Âà¿ÍÂÀwÌÂÐÂàYÞÂàƒ×Â@ÂÊ  ÑÂàBÍ VÏ ÐÅÂ@ªÎ ùÓÂÀÇ ÁÒÂ@?ËÂÀ0ÃÂ&ÊÂ`iÑÂ`ìÐÂ`æÑÂ`·ÄÂ@àÅÂÀ‰É€“× 8Ô Ë ÍÐÂÀšÛÂ…Ï ¬Ë ’ÅÂÀÐÒ ÍÐÂ`Ê€øÛÂ&ÊÂà6Ï óÔÂàBÍ »ÓÂ`ÍÂ@žÐÂ@ŒÓÂÀMÓÂàâÜÂÀ¬ØÂàrÅ€íÈÂà­ÐÂ@ÈÉÂüЀ:ÑÂÀ;ÖÂ@ëØÂ ÚÂ@-ÎÂ`þÍÂ@nØÂ—Ì >ÓÂ@˜ÑÂ@¤ÏÂÀË ØÂ@hÙÂ@µá µÔÂ@!ЀíÈ ÇÑ ÙÎÂ2ÈÂÀeÏÂ`ìÐÂàƒ×€ØÂ ßÍÂ@€Õ‹Î ,Ö€Ö &×ÂÀYÑ ÒÂ`¼ØÂ@¼ËÂ@’Ò XÙÂ@ÑÂ`ÎÕ VÏÂÀúËÂOØÂ`òÏ€uÜÂ`ÊÂàBÍÂ`‡ÌÂäÔ ÁÒ€¥ÔÂÀ ÚÂ`æÑÂ@¤ÏÂÀ¾ÕÂàèÛÂ@°Í tÊ€ÖÂ`°ÚÂàÔÂ@ÓÜÂÎÂÒ×ÂÀ¾Õ ÙÂ`3Ú ¥áÂ`€â RÚÂÀÐÒÂÌØÂ@ªÎÂÀß íÕÂêÓÂ`°Ú XÙÂàÅÌÂ@uÂÂêÓÂ`æÑÂ@nØÂ`uÏÂmÓÂÀ¾ÕÂÌØÂÀAÕÂÀ|à ¯ÕÂ`Ë€4ÒÂ@°Í JÑÂ`¼ØÂ ¯Õ ØÂ`àÂÀÊÂà§Ñ€ÛËÂàqÚÂÀ‚߀ØÂ`WÔÂ@’ÒÂ@ÑÂ ÊÆÂ€pÈÂÀ;Ö \ÎÂàƒ× ØÂ VÏÂ`¼ØÂàZÉÂÀeÏÂàîÚÂ@åÙÂêÓ‘ÍÂ`?ØÂ`žÝÂ@bÚÂ`¶ÙÂÀÄÔÂÀÐÒ jÖÂÀÜÐÂ`Â×ÂöÑÂÀÚÂà LÛÂàÔ vÔÂàkÛÂ@÷ÖºÛÂ@ñ×Â`'ÜÂðÒÂÀÊÓ jÖ PЀXÌÂàlÆÂ ¬Ë |ÓÂÀâÏÂäÔÂsÒÂ@’Ò‹ÎÂ@ÕÂ`¼ØÂàeÜÂU×€.Ó€±ÒÂÀÄÔÂ@'ÏÂà$Ò€4Ò€ ÙÂ`ìÐÂüÐÂU× ÓÏÂ@¤Ï 8Ô€.ÓÂÀ ÉÂÀ¾Õ€LÎÂ`cÒÂ`]Ó ‘Ú ßÍ€@ÐÂà×Âà¹ÎÂ`ìЀØÂ@ŒÓÂ`¼ØÂ€øÛ€ØÂÞÕÂ` ÌÂaÕÂ@9Ì  Ñ µÔÂàúØÂ  ÑÂÀYÑ€(Ô íÕÂà*ÑÂsÒ€ÕÌÂÀîÍÂà×ÂäÔÂ`ËÂÀkÎÂÀÿßÂËÂÀúˋΑÍÂ@ÒÂöÑ ÿÒ µÔÂà­ÐÂ` ÌÂ`¶Ù ©ÖÂyÑÂÀ Ú ÍÐÂÀ¸Ö jÖÂÀ‰ÉÂàÅÌÂ ÊÆÂ`æÑÂ`ÞÂ`Â×ÂaÕÂÀ¾Õ /ËÂÀqÍÂà•ÔÂ@?ËÂ@ýÕÂ@ßÚ ÐÅÂ@ŒÓ †ÇÂÀwÌÂÀeÏÂàHÌ€“×ÂàÑÊÂ@-΀·ÑÂÀAÕÂ@æÄ ÇÑÂ@?Ë !ÃÂ@ÓÜÂàÅÌÂÀYÑÂÀAÕ ÏÂУÊÂÀYÑ @ÝÂðÒÂ`òÏÂàÕÂ[ÖÂ@QÈ€ÛË€(ÔÂmÓÂgÔÂÐÂ`oÐÂ@ýÕ 2ÕÂÞÕÂà6Ï ;É ˆÑÂaÕÂà§ÑÂ@ŒÓ€™ÖÂ@÷ÖÂ@-ÎÂ@°Í€ÏÍ€@РnË ÇÑÂÀ5×Â`àÒ€ÏÍ ¯Õ€ŸÕÂ`ÎÕ ñÊ€LΠJÑ vÔ€Ú ÙÎÂÀ É PÐÂàÕ ëËÂÀ_РPÐÂ`ìЀ"ÕÂÀMÓÂàYÞÂ@ªÎÂbÀÂ@ÑÂà ÖÂ@†ÔÂ`Â× ”ÏÂ`æÑ€áÊÂ`WÔ Ï )Ì 2ÕÂÀÖÑÂÞÕÂ@÷Ö€LΠ»ÓÂ@°ÍÂ@>àÂ@†ÔÂ`æÑ ²ÊÂ`ÍÂ@˜ÑÂÀîÍ PЀ™ÖÂ@VÜÂÀÐÒÂàÓÂÀYÑ€XÌÂÀèΠ#Í€(Ô »Ó€“× ˆÑ hÌÂàÔÂaÕ |Ó€«ÓÂ`E×Â`]ÓÂ@÷Ö vÔÂ@°Í #ÍÂ@!Ѐ.Ó ‚ÒÂ@EÊ€·ÑÂàâÜÂ@’ÒÂà›ÓÂ@EÊ€ÉΠ ÍÂà ÖÂàØÂ`ÔÔ DÒ€uÜÂ@\Û šÎ ëËÂÏÂ@åÙ€ÉÎÂÀYÑÂÀÝÂ`'ÜÂÀYÑ€RÍÂ2ÈÂ`ÍÂ@VÜÂ`Â×Âà}ØÂ€ŸÕ ;É ±ß ØÂ ˆÑÂ@ÓÜÂàwÙ ÙÂàeÜÂ`ÎÕÂÏÂgÔÂ`WÔÂÀÖÑÂOØÂ€"Õ€«ÓÂðÒÂàqÚ ÓÏ ÿÒÂ`¼ØÂ@åÙÂÀÐÒ —Ù€ŸÕ >ÓÂ@åÙ yÞÂÀ/ØÂOØÂ@ÑÂ@ÓÜÂOØÂ@Õ€“×ÂØÖ äá ãÂ@\Û ÛÂÀ/ØÂ sßÂàôÙ€ÚÂàÓ€(ÔÂ`KÖ€iÞÂ`¤Ü Ù &×ÂÀwÌ€ÖÂÀÐÒÂ`€â€«Ó€Wá ^ØÂ@ŒÓÂ@åÙ pÕÂ@!Р¯Õ (áÂÀÄÔÂàèÛÂÒ×Â@žÐ JÑ€çÉ€·Ñ ^ØÂ jÖ ‹ÛÂÀÊÓÂ@ÑÂÀÖÑÂ`9Ù FÜÂà ÖºÛ öޮ݀òÜ ÝÂÀ¬ØÂ@Õ »ÓÂ@nØÂ óÔÂ`¶Ù Lۢ߀ڠd×Â`cÒÂ@’ÒÂÀ)Ù€“×Â@˜Ñ€·Ñ hÌÂüР8ÔÂ~åÂ@Ò´ÜÂÀŽÝÂüÐÂ@zÖÂ`¤ÜÂ@bÚÂÀ;ÖÂ`9Ù üÝÂU×ÂÀMÓÂ`iÑÂ@ýÕ XÙ —Ù bÍ \ÎÂà•ÔÂÀ¸Ö ÙÂàwÙÂ@†ÔÂüРùÓÂÀÊÓ€‡ÙÂ@÷ÖÂÀ¬ØÂ`øÎ aâÂàÕ€:Ñ £×Â@°Í pÕÂ`QÕ ÈÂüЀÖÂØÖ€ÚÂ`KÖ ÎÂÀÄÔÂ@Ò€þÚ óÔÂÀË ÿÒÂgÔ€“×ÂÀeÏÂÀ¸ÖÂ@Ò /ËÂäÔÂÒ×€ÃÏÂ@Õ ÇÑÂ`ÍÂ@ÙÛ РÈÂ`ÎÕÂà¡ÒÂÏ ‚Ò jÖ€"ÕÂ`'ÜÂ`ìÐÂà<ΠßÍ 8Ô€·Ñ åÌ€Ôá —ÙÂ`cÒÂÀÜÐÂ`àÒ 2ÕÂÀî͋ΠØÂÀ_ÐÂàôÙÂÀ¦ÙÂÀAÕÂàkÛÂ`KÖÂ@¤Ï€4ÒÂ`ÔÔÂàÓ€±ÒÂ@€ÕÂüÐÂÀ¾ÕÂÀôÌÂÀ”Ü çÖ€ÏÍÂàeÜÂ@ªÎ€‡ÙÂ`ÈÖ€ŸÕÂàTÊÂà¹ÎÂ`æÑ€ìÝÂðÒ |Ó€:ÑÂ`æÑ ÜÂ`¼ØÂ@Ñ—Ì‘ÍÂÀ ÞÂ@!ÐÂ`cÒÂ`¼ØÂÀÜÂ@3Í€XÌÂÆÙÂÞÕÂÀYÑÂÏÂΠtÊÂÀeÏÂÐÂà6ÏÂ@˜ÑÂàôÙÂðÒÂÀ É€dÊÂÀMÓÂ ÛØÂ€½ÐÂmÓÂ@!ЀŸÕÂöÑ ÓÏ€šÁÂÀâÏ ñÊÂÀâÏ ²Ê VÏÂÀÈÂ`àÒÂÀ5×€¥ÔÂ`þÍÂ`ÉÂ@ÈÉÂ`þÍ€(ÔÂÀ¸Ö€¥Ô‘ÍÂà0ÐÂüРvÔÂàÕÂÀè΀½ÐÂ@ÓÂ`ÔÔ ÚÂÀôÌÂ@ªÎÂ@àÅÂà¿Í ‘ÚÂàãÇÂ`ŸÈ nËÂ2ÈÂ@ÕÂ[ÖÂÀèÎÂ@¤Ï |Ó€ÃÏÂÀÊÓÂàZÉÂöÑÂ7ÜÂ@†ÔÂ@?Ë tÊÂàãÇÂÀôÌ€jÉ€@Р—ÙÂ8Ç€“×€FÏÂ`!ÝÂà­ÐÂÀGÔÂà§ÑÂÐÂÀkΠAÈÂà6ÏÂÀƒÊ ëËÂÀwÌÂàZÉ DÒÂ@˜Ñ ”ÏÂ@¤ÏÂ`(ÇÂ`¤ÜÂÀAÕÂà§Ñ€ÏÍ€áÊÂÀâÏÂ`ÍÂ@˜Ñ ÙÎÂÀ;Ö€¼åÂCÚÂ ÛØÂ€dÊÂ&ÊÂ@-ÎÂ@¤ÏÂÀúË d×Â`°ÚÂäÔÂ`‡ÌÂÐÂÀúË çÖ€]àÂ`3ÚÂ`òÏÂÀÊÓ€™ÖÂ`òÏÂ@!РˆÑ€ØÂÍ /ËÂ`iÑ€.Ó VÏÂÀ_РÿÒÂà•Ô€ÛË ’Å€XÌÂöÑÂÀ5× )ÌÂÀGÔ ©ÖÂÀ)ÙÂ`3Ú€LΠtÊÂàÑÊÂÀ;ÖÂÀMÓÂÀèÎÂ`ìР&×€Ú€ˆÄ€ÏÍÂüЀ·ÑÂ`‡Ì bÍÂÀèÎÂ@ëØÂ@zÖ JÑÂÀÖÑÂà›ÓÂ`WÔÂàHÌÂàôÙÂ@-ÎÂ@'ÏÂ`òÏÂà×É€@ÐÂäÔ€«ÓÂà­ÐÂ@'ÏÂ@hÙÂ@Ó  ÑÂÀÊÓ DÒÂ[ÖÂ`Ê€ÏÍÂÀ;ÖÂsÒÂà¹Î´ÜÂÀSÒÂà³Ï —ÙÂ`øÎÂÌØÂ`QÕÂ@†Ô€"ÕÂÀÄÔÂ`ÔÔÂÀ5×€½ÐÂ@?ËÂÀÄÔÂàNËÂ@bÚÂ`àÒ€(ÔÂ` á ùÓ öÞÂ@¤ÏÂ@ŒÓÂ`ìРµÔ ßÍ€·ÑÂCÚ€ÃÏÂ@¤ÏÂÀÜÐÂ`ßÂà•ÔÂÀ#ÚÂ@’ÒÂ@ŒÓ€¥Ô ÍÐÂðÒÂ`¤Ü ¦Ì€‡ÙÂàBÍ PÐÂÐÂÀ¸Ö ÙÂÀÊÓÂÀYÑÂÀ#ÚÂàÕ d×ÂÀSÒ€½ÐÂ@hÙ íÕÂ`E× 8Ô€LΠñÊ nËÂ@'Ï &×€ØÂ óÔÂ`ªÛÂgÔ€:ÑÂ[ÖÂàBÍÂöÑÂ`àÒÂà¹ÎÂÀÄÔÂÀ Ú€¥Ô€:ÑÂ`ÞÂÍÂÀÐÒÂÞÕ )ÌÂààbÍ /ËÂêÓ€uÜÂ`àÂ`{ΠñÊ 2ÕÂOØÂ€"ÕÂÀ§ÄÂ`ÎÕÂOØÂ LÛ PÐÂÀ ÉÂ`ÔÔ ùÓ ÏÚÂ`]ÓÂ@hÙ ,ÖÂ@¤ÏÂÀMÓ´ÜÂàÓ€±ÒÂÀ;ÖÂÀ_ЀøÛÂà³Ï€ÿÅÂàHÌ »Ó€ÚÂ@hÙÂ`ÎÕÂ`øÎÂ`iÑ JÑÂ`QÕÂ@¶ÌÂ@ñ×ÂÀGÔÂà*Ñ )ÌÂÀÊÓÂÀ/ØÂËÂà0ÐÂ@÷ÖÂ@!РAÈ PРØÂ@ñ×Â`¥Ç€×Â>ÆÂ€@ÐÂ@PÝÂàwÙ€ÕÌÂàTÊÂ@?Ë€±Ò€RÍÂ@3Í ¸ÉÂÀîÍÂ`uÏ PЀFÏ XÙÂ@-΀±Ò ©ÖÂ`?ØÂ€:Ñ ŽÐÂàúØÂ—ÌÂàHÌ çÖÂÀÜР”Ï€"ÕÂ`ÔÔÂ`ËÂÀkÎÂ@ÎÈÂÀÈÂ@3Í€@Р&×€@ÐÂöÑÂà6ÏÂ@!Р/Ë€±ÒÂ@-΀ÖÂÀ§ÄÂ@-ÎÂ@3Í ØÂ ¯ÕÂà×ÉÂÐÂàqÚÂà³Ï€dÊÂ`LÁÂÀ‰ÉÂàÑÊÂ@¼Ë€ØÂ >Ó ÿÒÂà$ÒÂÀwÌ€^ËÂ@†ÔÂ`Ë )ÌÂÀ;ÖÂÀYÑÂ@÷ÖÂêÓÂ@Ò‘ÍÂÀqÍÂ8Ç€ÏÍ |Ó€ÛËÂ`Í‘ÍÂàNËÂ@’ÒÂÞÕ€× ŒÆÂ 5ÊÂV€ùÆÂ ;ÉÂàÔÂÀÄÔÂÀ/ØÂÀÜÐÂ`@àGÇÂàBÍÂ@cÅ šÎ€jÉÂ@€Õ€LΠ²ÊÂ@òÂÂ`"ÈÂÐÂÀâÏÂ`òÏÂ@æÄÂÀwÌÂÀwÌÂÀ•Ç ÐÅÂÀ‚ßÂ@t× ^ØÂ µÔÂ`“ÊÂÀMÓÂÀGÔÂÀkÎÂÀôÌÂÀúËÂàÀFÏ LÛÂÀAÕ PÐÂÀÐÒ€FÏÂ`øÎÂ@ÎÈÂ@'Ï ’ÅÂÀÊÂÀeÏÂ@ÎÈÂ,ÉÂàïÅ  ÑÂ`QÕÂ@Ò ßÍÂÀÊÓÂ@-ÎÂà`ÈÂ@!ÐÂÀSÒÂ`ÎÕÂàÕÂÀSÒ€.Ó ÁÒ€«ÓÂüРšÎÂ@'ÏÂ@KÉÂàHÌÂÀÄÔ€ùÆÂ€ÃÏÂÀÈ ÄÇ žÃÂ@ëØÂ DÒÂ@Ñ ñÊ \ΠÅ—ÌÂ`ÍÂàBÍÂÏÂ@VÜ€ Ù GÇ€ŸÕ€RÍÂ`WÔÂ@zÖÂ@9ÌÂ`ÚÓÂÀGÔ ,ÖÂ`“Ê tÊÂ@©ã®Ý ëË€ÚÂÀÜ FÜÂ`iÑ Ò ŽÐÂÀúËÂ@-ÎÂ`QÕÂ`¶ÙÂÍ 2ÕºÛÂ`ÔÔÂÀÖÑÂüÐÂ@ßÚÂàÑÊÂÀ_ÐÂ`uÏ€.Ó€ÃÏ ÁÒ ¦Ì 8ÔÂ@÷Ö jÖ ÓÏÂ@Ò€ÉÎÂ`àÒ€·ÑÂsÒÂ`.ÆÂ ‚Ò ÙÎÂÐÂàNËÂ`(Ç€«ÓºÛÂ@ Ô zÉ€cß >Ó ‚ÒÂêÓ€^ËÂ`òÏ€.Ó µÔÂ@ýÕÂÀAÕÂà`ÈÂOØÂ€ØÂ€“×ÂÀMÓ€ŸÕÂÀ}ËÂØÖ ßÍ ÁÒ€·ÑÂàqÚÂÀÐÒÂ@÷ÖÂ`øÎ PÐÂ`KÖ &×ÂÀ ÚÂÀ5×Â`æÑÂ@nØÂ`?ØÂäÔ ”Ï€"ÕÂÀÜÐÂaÕ€ŸÕ  Ñ µÔ‘ÍÂ@ÑÂ`ÚÓÂØÖ€iÞ ØÂ€@ÐÂÀ Þ ÏÚ µÔ€“×€(Ô »Ó ^ØÂ€ØÂÀ¦ÙÂàwÙÂU×ÂÀ¦ÙÂà0РÕÙÂ@Áß VÏÂÀÛÂ@!ÐÂÀôÌ Ò ÚÂÀGÔÂÀ¸Ö >ÓÂ@ŒÓ Ï #ÍÂ+Þ ¯ÕÂÀeÏÂ`3ÚÂIÙ ‹Û ÏÚÂüÐÂ`òÏ ‚Ò€«Ó »ÓÂ@÷ÖÂ`9ÙÂÀ‚ßÂÀèÎÂ@’ÒÂÀwÌÂÐÂÀ”Ü€¥ÔÂÀSÒÂ@ÈÉÂÀAÕÂ`!ÝÂàqÚÂàÐßÂà0Ѐ"ÕÂÀ|àÂà‰ÖÂaÕÂà<ΠÓÏ ¯Õ JÑÂêÓÂ=Û ÉÛÂ`ÎÕ€ØÂÀîÍ€{ÛÂÀ;Ö RÚÂ@åÙÂäÔÂ`æÑÂÀˆÞÂÀ Ú üÝ RÚ€oÝ€ÚÂ`°Ú ™ã 2ÕÂÌØÂ`¼ØÂ`uÏ€òÜÂU×ÂÀÜЀÉΠÙÂ@ñ×ÂÀÜЀ«ÓÂ`ÍÂ`òÏ€(Ô pÕÂ@ýÕÂ@'ÏÂ@ñ×ÂÀYÑ€(ÔÂ@°Í€@ÐÂ`æÑ >ÓÂà0ÐÂêÓÂ`òÏÂÀ²×€ÕÌ€c߀ڀ.ÓÂÀ)Ù DÒÂРFÜÂÀÐÒÂäÔÂàƒ× ÁÒÂ@ýÕÂ`QÕÂ@†ÔÂЀ.ÓÂ`cÒ€“×Â`ÚÓÂ,É€{ÛÂÌ€4Ò JÑÂàƒ×Âà§Ñ€(ÔÂÀÜÐÂ`]Ó ëËÂà­ÐÂÀMÓÂÀ#Ú &× ”Ï€ùÆÂà­ÐÂÀ5×Â`“ÊÂ@†ÔÂÀÄÔ «à€E䀙֠ÿÒÂÀèÎÂÀ)ÙÂà<ÎÂ@¶Ì 5ÊÂà¡ÒÂ@t×Â@zÖÂÞÕÂ@åÙ€áÊ ÙÎÂ@¶ÌÂ`™É»ÆÂ ÒÂÒ×ÂÀÐÒÂ`Ê AÈÂÀÜРÙÎÂÞÕÂ`¼ØÂÀÊÓÂ@ªÎÂÀAÕ @ÝÂ@ÑÂà•Ô€¥ÔÂ`¼ØÂ ÉÛ ùÓÂà•ÔÂÀ²×Â`ÍÂ@'ÏÂ`¤Ü€4Ò€ÛË pÕ ÞâÂÀ¾ÕÂàÜÝÂ@ ÔÂ@cÅÂÀ$ÅÂàZÉÂOØÂàHÌ &× \ΠhÌ€øÛ 2Õ ÍÐÂà0Р\ÎÂà`ÈÂÀƒÊ€“×Â@ŒÓ pÕÂ`°ÚÂ`QÕ€ Ù€@Р,ÖÂ@nØÂ`àÒ€FÏÂ`ìÐÂ`¼ØÂ`˜Þ€ØÂðÒ |ÓÂ=ÛÂ`ÎÕ eÂÂ@hÙÂà­ÐÂ@ñ×€FÏÂ`ìЀ“×ÂêÓ€«ÓÂ`'ÜÂÀ#ÚÂ`3ÚÂ@ªÎÂàÕÂ`]Ó€(ÔÂÀ6ÂÂÀ²×€‡ÙÂ@ÓÜÂ`߀ ÙÂ ÛØÂ >ÓÂ[ÖÂ`òÏÂàÑÊÂ@-ÎÂ`òÏÂ`ÈÖÂÒ×Â@nØÂ`†áÂÀôÌÂà}ØÂ ØÂàwÙÂ@ÂÊÂ@ªÎ€iÞÂàØÂ=ÛÂsÒÂ@Ò ùÓÂ`ÔÔÂ`æÑÂÀMÓÂsÒ´Ü€ÛËÂÀMÓ 8ÔÂ@ ÔÂÀGÔ РÇÑ€™ÖÂ[ÖÂÀÚÂà*ÑÂÀߴܺ۠ÏÚ Oå€cßÂ`¼ØÂ€ŸÕ€ŸÕÂU×€{Û€«ÓÂÀGÔÂ@’ÒÂÀ¸Ö€‡ÙÂà_ÝÂÀ Ú€ÃÏÂ`ªÛÂÀ/ØÂ »ÓÂ`uÏÂ`oÐÂ@ßÚÂ`{Π»Ó€¥ÔÂÀšÛÂ@’ÒÂ ÛØÂàÔ 2ÕÂà0Р‚Ò @Ý )ÌÂÀôÌ µÔ€øÛÂÀMÓÂ`ÈÖÂÀ²× —Ù ØÂ £×ÂÀîÍÂà‰ÖÂÀ‚ßÂ@ÓÂÀAÕÂ@ÇÞÂ`KÖÂ`žÝÂàqÚ LÛ€×ÂÆÙ á×ÂIÙÂà­ÐÂÀGÔ pÕÂÀ¦ÙÂ`?ØÂ@nØÂàâÜÂ@8áÂ`3ÚÂ`žÝ á× d×ÂêÓÂ=ÛÂ@ëØÂàÅÌ ½ÝÂÀ‚ßÂÀkÎÂ@†ÔÂCÚÂàeÜÂÀváÂ`iÑÂà›ÓÂ@t×Â`à —ÙÂ@ýÕ jÖ Ù ÿÒ€™Ö FÜÂaÕÂ`?ØÂ€ŸÕÂÀ ÚÂ@ÕÂ@8áÂåÂ@&ä ÇÑ :ÞÂÀÿ߀ÉÎÂ@ÙÛ€æÞœàÂ`àÂàƒ×€×Â`3ÚÂàÜÝÂ@&äÂà Ö€ŸÕÂ@¯âÂàeÜ vÔ€ØÂÀ)ÙÂ`¶ÙÂOØÂàqÚ vÔÂÀ/ØÂ€ÖÂ`òÏ€«ÓÂ@D߀9æÂà×Â@VÜ€ÃÏÂ`òÏÂ`¶ÙÂàÂåÂà ÖÂàèÛ´ÜÂ@ðì ‹Û€‡ÙÂ`ß ŽÐÂàƒ×€‡ÙÂÀÊÓ¨Þ€øÛÂ1Ý€:ÑÂU×ÂàîÚÂ@nØÂ ÇÑ€“×Â`iÑÂÍ  ÑÂ@zÖÂ@ëØÂsÒÂ@Dß PРÏÚ€×ÂäÔÂÌØÂ€Ú µÔ »Ó µÔÂà×Â@ñ×€Ö ”Ï ØÂÀ ÚÂ`E×Â`"È€:ÑÂàƒ×Â`-ÛÂ@PÝÂÀ ÚÂ@’ÒÂ`ËÂÀGÔ vÔ ŽÐ€ØÂÀ‚ߠ٠Ȁ(Ԡ݀4Ò€ÚÂ@ëØÂàôÙ XÙÂÀÜÂàSß  Ñ bÍ€½ÐÂÀAÕÂàwÙÂ`cÒÂüЀÉÎÂØÖÂàÔ ËÂ@žÐ€øÛÂÀ¬ØÂ »Ó íÕ€(Ô ÿÒ€‡ÙÂ@†ÔÂàãÇ ¦ÌÂ`߀?å€iÞÂ`oРÍРpÕÂÀ¸ÖÂÀjã€Ö çÖ€òÜÂÀ_ÐÂàÓÂ`cÒÂÌ ùÓÂà ÖÂ@¼ËÂàÓÂàˆëÂÀÝÂ@ýÕÂà}ØÂ &׋΀(Ô€‡Ù Ù ØÂ@nØÂgÔÂàôÙÂ`WÔÂ@ÂÊÂà$ÒÂ@ýÕÂ`KÖ€"Õ€(ÔÂÀ_РÙ΀LΠVÏÂàÕÂ`(ÇÂ@ªÎÂOØÂÀÊÓ€“×Âà*ÑÂÀÊÓÂÀÚÂÀAÕÂ@ÂÊ —ÙÂÍÂàHÌÂÀ ÚÂêÓ€±ÒÂ`æÑÂÀ/ØÂ€XÌ€ùÆÂ€FÏ çÖ€^Ë ÓÏÂÀîÍÂ@ŒÓ ÁÒÂÀˆÞÂÀ_ÐÂà•Ô 2Õ &× &×ÂÀŽÝÂ@¤ÏÂÀ}Ë€ÕÌÂ@ëØÂ ÇÑ ùÓÂàBÍÂ`cÒÂØÖÂ@-Π¦ÌÂ`{ÎÂà³ÏÂà6Ï€óÇÂ,ÉÂ` ÌÂÀ¸ÖÂ@?Ë€(Ô ÇÑ YÄÂÍ€"ÕÂàBÍÂàÅÌ€LÎÂ@˜ÑÂ@žÐ€çÉ ©ÖÂÍÂ@¾Â d× #ÍÂÀÜÐÂ@ÎÈÂ`ÚÓ€ŸÕ ÍÐÂÀ/ØÂÀŽÝÂ@2â £×Â`oÐÂ@ÓÂÏÂ@ŒÓ Ü hÌÂ ÊÆÂgÔÂ@ñ× 5Ê€ŸÕÂ ÛØÂ`oÐÂàÅÌÂÀ¬ØÂÀ¬ØÂaÕÂÀ¬ØÂ€ŸÕ £×Â@!ÐÂàfÇ ΠµÔÂ=ÛÂÀúËÂÀ#Ú —ÙÂÀYÑ€ÖÂ@÷Ö€™Ö¨ÞÂ`ìЀRÍÂÀÄÔ VÏ€ÛËÂ`ËÂ`KÖÂ`"ÈÂ`]ÓÂ`ÎÕÂà}ØÂ€±Ò ÒÂà*ÑÂ`æÑ ”ÏÂÀúËÂ`uÏÂ@†ÔÂà•ÔÂàÔ LÛ€«ÓÂ`uÏÂ`'ÜÂ@÷Ö çÖÂ@ÒÂÀ¦ÙÂ…ÏÂ@ŒÓÂ`uÏ tʠπ4ÒÂ@¤Ï »Ó Ë€:ÑÂüР/ËÂÏÂ@ßÚ ½ÝÂ@’ÒÂOØÂÞÕ »Ó ÍÐÂ`3ÚÂ@ýÕÂ@ÓÂðÒ gá€QâÂ@ŒÓÂ`oÐÂaÕºÛÂ`ÊÂàÔÂÀwÌÂðÒÂÀMÓÂÀúËÂ&ÊÂ`9ÙÂ`æÑ‘ÍÂÀGÔÂÀôÌÂ@ýÕÂ`3ÚÂà¡Ò€pÈÂÀúËÂ`øÎÂ@†Ô ”ÏÂaÕÂÀîÍ ÇÑ JÑÂàúØÂà‰Ö ÍÐÂ…Ï€@Р‘Ú ©Ö ‹ÛÂÀÚ Ú€QâÂÀp‥ÔÂÀ_ÐÂÀ¬ØÂÀÐÒ‘Í çÖÂ@>à—ÌÂ@åÙ€×Â@nØÂ€àßÂÀGÔ€±ÒÂ`ÈÖÂ7ÜÂ@ñ×Â`¥ÇÂÀîÍ ”Ï ÚÂ`ÔÔ DÒ€‡ÙÂ@3ÍÂ`¼ØÂ çÖÂÀ#ÚÂÀ¬ØÂ`ÚÓÂ`KÖ µÔÂ@Ó€"ÕÂÀ¸ÖÂöÑÂ@’Ò RÚÂÀ¾ÕÂÀ)ÙÂ@Ó€·Ñ€ŸÕÂàÅÌÂâÂÀÐÒÂàúØÂ@¤ÏÂ@Ó &×µÇÂÀMÓÂ@ ÔÂ@Ò jÖÂÀîÍ€"ÕÂÀÜÐÂ`WÔÂÀMÓ \ÎÂIÙÂà$ÒÂ`'ÜÂÀ Þ ¦Ì€^Ë jÖ ‹ÛÂ`3Ú ΀ÛËÂ`¤ÜÂmÓ ÁÒ ÁÒ ÍЀ@Рá×Â@ªÎ€‡ÙÂà*Ñ€.ÓÂÀƒÊÂ@ÓÂÒ×ÂêÓ XÙÂÀeÏÂ`ÎÕÂ`¼ØÂÀ#Ú ØÂÀ¾Õ pÕ »ÓÂÀkΠPÐÂ`þÍÂäÔÂÀSÒ &×Â@ÂÊ ”Ï µÔ PЀ4Ò 2ÕÂà•Ô€×ÂÀÖÑÂàwÙÂÀÄÔÂà¹ÎÂ`¼ØÂaÕ jÖÂ`¶Ù ÐÂ`˜ÞÂ+ÞÂ@ÁßÂ@ÑÂ+Þ Ï >ÓÂÀ_РÒ ¯ÕÂaÕ€.ÓÂÀqÍÂà‰ÖÂ`3ÚÂ`oÐÂ@!ÐÂàBÍÂ@9ÌÂ`ìÐÂ`]ÓÂmÓÂ`òÏÂÞÕÂÀ/ØÂ€LÎÂ`ÈÖÂ`¶Ù äÂÀSÒ …ÜÂ@DßÂÒ× #Í ùÓÂ`ìÐÂaÕÂàƒ×Âà§ÑÂàèÛÂÀ#ÚÂÀpâ ùÓ€pÈÂàÕ€‡ÙÂ`-ÛÂ`QÕ€ŸÕÂ…Ï€.Ó€·ÑÂàúØÂ€?åÂàÜÝ€ÚÂ@ßÚÂ`iÑÂÀ¾Õ€:Ñ »Ó çÖÂÀMÓÂËÂ@ýÕÂÀ_Ѐà߀ ÙÂàÕ ÐÂ@ñ×ÂÀˆÞ€ÚÂà­Ð ÁÒÂ`E×€@ÐÂ@JÞÂâÂà¡ÒÂ`Ë€ØÂ@†ÔÂ@DßÂà³Ï´ÜÂÀMÓÂÀÊÓÂ`cÒÂÀâÏÂ@’ÒÂ@ßÚ yÞÂ@÷Ö€þÚ ЀçÉ‹ÎÂËÂ@ýÕ &×Â`þÍÂÀ¸ÖÂ@€Õ d×Â@3Í€áÊÂ`{ÎÂР‚ÒÂ@˜Ñ€{Û ¯Õ d×ÂÀÖÑÂÀeÏÂà¿Í 2Õ€·ÑÂU×€“×ÂàBÍÂ@ Ô vÔÂà Ö€"Õ ©ÖÂ`æÑÂÀYÑ AÈÂgÔÂàƒ×ÂÀ¸Ö€ÃÏ€4Ò vÔÂ@QÈÂàBÍ ëËÂÀËÂ@PÝÂÆÙÂà0ÐÂ,ÉÂ`F ŽÐÂêÓÂ…Ï ýÈÂà§ÑÂ@hÙÂ@!ÐÂ@9Ì AÈ žÃ€½ÐÂ@ýÕÂ`ÎÕ‘ÍÂÀÊÂРVÏÂ`þÍ MÆÂà ÖÂà¡ÒÂ@°Í hÌÂ@'Ï çÖÂ`uÏÂÀ É ¦ÌÂÀ_ÐÂÀ²×ÂàÕÂàÕ€RÍ€ùÆÂ ¸ÉÂ@Ò ÁÒÂàBÍÂàkÛ€ÖÂÀYÑ ÎÂ@cÅÂ@QÈÂÏÂäÔ µÔ hÌÂà0ÐÂ`ŸÈ€FÏÂ`æÑÂÀ}Ë åÌÂÞÕ ÒÂà<ÎÂÐÂ`oР”ÏÂÀSÒÂРzÉ€4Ò £×Â`ÍÂ`KÖÂàƒ×ÂÀ#ÚÂ`E×Â`òÏ \ÎÂäÔÂ`ͩɠPÐÂÀÝ á×Âà¹ÎÂ`iÑÂ@÷Ö ˆÑÂ`¶ÙÂ`4Å ,ÖÂ@žÐ€ŸÕ 8ÔÂà¹ÎÂ`þÍÂ@ŒÓ 2ÕÂ`?ØÂ  ÑÂÀÜÐÂà Ö ‚ÒÂ@ÓÂàrÅÂ@'ÏÂ@¶ÌÂöÑ çÖÂCÚ€RÍ šÎ †ÇÂ`{ÎÂ`oРhÌÂ@KÉÂÀeÏ ÐÂÀÊÓÂ@¶ÌÂ@ÎÈÂäÔ ÙÂ`cÒÂÀMÓÂÌØÂ€4Ò€×ÂêÓÂ`æÑ šÎ  ÑÂ@ªÎÂÀ)ÙÂ@EÊ #ÍÂÀˆÞ »ÓÂ@'ÏÂà‰Ö€áÊ »ÓÂ@†ÔÂà}ØÂÌØÂ€@ÐÂàwÙÂÀˆÞÂÞÕ çÖÂà›Ó LÛÂ`ÍÂÀ¸Ö çÖÂà_ÝÂüР£×Â`WÔÂmÓÂêÓ€×Â@ ÔÂ@ñ×Â@€Õ d×€pÈÂ@Õ :Þ€þÚÂ@˜ÑÂ`oÐÂ`°Ú LÛÂCÚ ·Þ€ŸÕÂäÔÂ@bÚÂ@÷Ö ÒÂêÓÂàØÂ€Ú€ŸÕ ÈÂmÓ £×ÂÀ²×ÂÀ)ÙÂÀ¬ØÂ Ù€“×€uÜÂ@nØÂ šÎ ¸ÉÂÀ²×Â`iÑÂ`KÖÂà§ÑÂ@˜Ñ€ØÂÀ/ØÂ@&äÂÀšÛÂ@\ÛÂà ÖÂ@ÓÂ`'Ü ©ÖÂ@ÙÛ µÔ màÂ@nØÂ@ÍÝÂàâÜ€uÜ RÚ Òä :ÞÂ@ßÚ€“×Â,ÉÂyÑÂ@ñ× \ÎÂàÑÊ üÝ ±ßÂà_ÝÂ@ªÎÂ@zÖÂ`3ÚÂ`cÒ öÞ >ÓÂU×€ÖÂIÙ LÛ LÛÂÌØÂ ÕÙÂðÒ€Ú€“×Â@ñ×Â@åÙÂÀMÓÂÀ/ØÂmÓÂ@'ÏÂ`“Ê€ÕÌÂ`E×€ Ù óÔÂ`WÔ€"Õ ÇÑ sß ^ØÂ íÕ€.ÓÂÀAÕÂÀ¸Ö ÏÚÂÌØÂ ˆÑ ¯ÕÂà€·ÑÂàÑÊ ðßÂ`-Û Ò€×Âà‰ÖÂÀÄÔÂ@3Í ÓϺÛÂØÖÂ`{ÎÂ@9Ì ÁÒ€þÚÂàwÙÂüÐÂÀ¬ØÂ@ ÔÂ@3ÍÂ@¤ÏÂ@hÙÂ@zÖ€Ú )ÌÂ@t×Â@˜ÑÂ`KÖ ˆÑÂÀ¸Ö  ÍÂ@KÉÂÀôÌÂÀÄÔÂÀ¦Ù€ÃÏÂ@¶Ì€òÜÂàúØÂ —ÙÂÀîÍÂÀúËÂ@]ÆÂÀwÌ PÐÂÀkÎÂgÔÂ`Ë€vÇ ÛÂÀ#Ú€RÍÂ@ñ×€LΠ2Õ€øÛÂ@¶ÌÂÌÂ`òÏ ©Ö€.Ó »ÓÂ@?ËÂ`cÒÂ…ÏÂÀ ÉÂ@ÈÉÂ`ÍÂðÒÂÀ²×Â`ÎÕÂ@'ÏÂÀkÎÂ`Ë ÙÎÂ@EÊÂ@ÔÇ FÜ€«ÓÂà*Ñ€áÊÂ@QÈ€×Â`ËÂÀÜÐÂË €ÈÂ@ÔÇ µÔÂ@zÖÂ`æÑ€”ÂÂÀ‰ÉÂÀMÓÂÀ#ÚÂÀîÍÂ@ÈÉÂà¿ÍÂ@Ñ RÚÂ@†ÔÂàÑÊÂÀôÌÂ@ÙÛÂ@˜ÑÂ@-ΠhÌÂ…Ï€ ÙÂàÕ€çÉÂ`QÕ€«Ó åÌÂ@Ó µÔ Û ÍР\Π@Ý€ÃÏ ŽÐÂÀAÕÂ`oÐÂÀŽÝ ÁÒÂàƒ× ¦Ì ÁÒÂ…ÏÂyÑ >ÓÂÀeÏ€ ÙÂàeÜÂsÒ ÉÛÂ`‡Ì VÏ€:ÑÂ@9ÌÂÀSÒÂà$Ò kÁÂ`WÔÂ…Ï€{ÛÂIÙÂ@°ÍÂÀÖÑÂà6Ï vÔ€×Â`ËÂ@Ñ€«ÓÂ@ÒÂÀeÏÂêÓ€«ÓÂäÔ€½ÐÂÀèεÇÂ,ÉÂ`¥Ç€É΀ÃϨހØÂ`{ÎÂË 8ÔÂ`ÊÂüРjÖÂÌØÂ ¯ÕÂ@ÑÂ`ÚÓÂÀeÏÂà Ö óÔ tÊÂ`ìЀÖÂÀšÛÂÀËÂÐÂÀAÕ šÎ€½ÐÂ@-΀þÚÂÀ¾Õ pÕ ÎÂà§ÑÂØÖ pÕÂàTÊÂäÔÂÀ#ÚÂÀ¬ØÂÀôÌÂ`ªÛÂ@ÒÂÒ× ÛÂÌØÂOØÂ@PÝ IæÂ "âÂ`ÈÖÂ`E×Â@>àÂÀ.íÂ@µáÂ@ç€æÞ ÃÜÂ`zãÂÀ(î€?倶æÂ€æÞÂà)æÂàˆë€°çÂ@yëÂ`»í =èÂ`>í€hóÂÀ·ëÂ@êÂÀáäÂ`’ß ò KðÂ`£ñ çÂÀÉèÂ`ñä ÀçÂà ë %ìÂ@¨øÂàdñ€ÂäÂÀð ÎïÂà‚ì€ÙõÂàíïÂ@aïÂÀFéÂ@üêÂ@OòÂ@Àô€žêÂ@Ìò Ý÷ÂHîÂ`bç “ä Òä ð•ö•öÂÀñ íÂàÛòÂÀ.íÂ`hæÂ@ðìÂàçðÂà‚ìÂ`ëåÂ@ å€'é æë ®êÂ@ê ¢ìÂ@èÂ@ØðÂ6ñ iëÂ`hæÂ€˜ë gဘë +ëÂ`\è ÎïÂ@IóÂ`n倞êÂÀÕæÂ7Ü ¢ì€zð Ý÷€?åÂà#ç ìêÂ`PêÂ@éÂÀ:ëÂÀçã ¨ë oê€tñÂrçÂÀ(îÂÀpâ€9æÂ€9æÂ@…é€!êÂ`ÙèÂ`ÁìÂ$ôÂàêÂÀFé€ÂäÂ@£äÂ ÆæÂTì æëÂÀÛåÂ@£äÂBïÂà ëÂûåÂÀùàÂ<ð Îï ÂñÂ@aï Wî³ñ í +ëÂÀð€!êÂ@‹è€Ôá ïÂà#ç€ îÂ`©ðÂõæÂÀóáÂ`ÇëÂ@逆îÂÀ·ëÂHî oêÂ@yëÂàdñÂÀÛåÂ@ÀôÂ@ê€îÂ*óÂ@ÀôÂàáñ aâ€ìÂéè oêÂ`êÂÀçãÂ@—æÂ`nåÂ@êíÂ`Óé iëÂàpï (áÂÀ4ìÂ@êÂ`,ðÂrç -õ€€ï IæÂ 7éÂàóîÂÀÿßÂà5äÂ`zãÂÀÉèÂ@çÂÀ½êÂ@ÍÝ 1êÂÀ¥îÂ`à ÛÂ@‹èÂfé€WáÂàÄáÂ@‘ç ·ÞÂ`PêÂ@…éÂÀRçÂ@gîÂà;ã OåÂ`hæÂà”éÂ@\Û€VöÂ`åæÂ Šð IæÂ€íÂÀ(îÂ@ÙÛ Àç ]íÂ@2â Ù [〰çÂÀdä–áÂâÂ@æÂ :Þ oêÂà²ä 4߀øÛ [ãÂàeÜÂxæÂÀ·ëÂûåÂ@ñ×Âà×ÂàâÜÂÀ#ÚÂÀˆÞÂÀÿßÂ@&ä€]àÂ@¯âÂ@÷Ö ÞâÂÀ^å ºèÂ`¶ÙÂ`ªÛÂ`ÙèÂlèÂÀ:ëÂõæÂàeÜ aâÂåÂ@ñ×ÂÀ‚ßÂàGá CçÂÀ½êÂà_Ý€ÈãÂ`ßÂàA‘ëÂÀÉèÂ@‹è€þÚ (á äá ÜÂ@2âÂ@ 倸ÛÂÀvá ™ãÂÀ¦ÙÂ@æÂ [ã aâÂÀ Ú€Ö€ìÝÂÝêÂïç€ÚÂ@\ÛÂÀ‚ß ½Ý ·ÞÂÀ‚ß Oå€Qâ 4ßÂ@2â Û ØãÂ`†á êàÂâ çÂ@VÜÂ@8á  æÂ`ß ®ê 4ß ‚ÒÂ@>àÂÀ|à€ÂäÂÀÝ€oÝ€KãÂrçÂ@D߀Úà 4ßÂ@\Û€uÜŠãÂàMà€9æÂ`ýâÂ@©ãÂà5ä LÛÂ@çÂÀ|àÂÀˆÞÂ@bÚÂ`ýâÂ` áÂÀÄÔÂ@‘çÂàÜÝ IæÂàÿì ðßÂ`!ÝÂàÄáÂ@2âÂà²äÂÀ¦Ù ±ßÂÀÝÂÀ/ØÂ (áÂ@å ½ÝÂáÂHîÂÀÚ€ ÙÂÀùàÂÀpâÂ@[ðÂ@zÖ «àÂ=ÛÂäÔÂ@ÒÂ`žÝ ‹ÛÂÀ/ØÂ+Þ„äÂ@‘ç UäÂÀÛÂàÜÝÂà5ä€oÝÂà¸ãÂ`-ÛÂ ÛØÂ`€âÂ@&äÂà¬åÂ@,ãÂÀdä–á€-蠱ߠ£×€ ÙÂàîÚÂ+ÞÂàeÜÂ@ÕÂ@†Ô öÞÂàMàÂàâÜ RÚ ÙÂ@VÜÂ@å٠٠üÝÂÀùà :Þ "â màÂõæÂ@2âÂ@÷ÖÂ@-ÎÂØÖÂ` áœà ØãŠã ½ÝÂÀ¬ØÂ@&äÂ`àÂÒ×Â`’ß &׊ãÂ@\Û€“×ÂÀßÂ@åÙÂ`˜ÞÂÒ×€ØÂ ^ØÂ`Œà€øÛÂ@&äÂ`!Ý £×Â@ å ÚÂàwÙÂ`?ØÂ€¶æÂâÂÀYÑÂ`àÂïçÂàMàÂ@ñ× vÔÂ@zÖ ØÂ ÃÜÂÀÝÂ@žÐ XÙÂÀ Ú ÞâÂ@˜Ñ ‹ÛÂ@ëØÂ€øÛ ÚÂàGáÂÀRçÂÌØÂÌØÂ`täÂ`àÂ@†Ô RÚ€×Â`täÂàGáÂ@zÖÂãéÂ@JÞÂ~å ãÂÀÜÂÀGÔÂ`]ÓÂâÂ@\Û »ÓÂà•Ô sßÂ`Â× íÕ »ÓÂ@žÐ€þÚ€øÛÂÀÜÂ@»àÂÀ¦ÙÂ@’ÒÂÀˆÞ€{Û íÕ€{ÛÂ[Ö¨ÞºÛÂ`täÂ`’ßÂÀ#ÚÂÀ ÞÂ%ßÂ`àÒÂÌØÂ€“× »ÓÂ`]ÓÂ`°ÚÂÀÝÂ@ÍÝÂ@ñ× …ÜÂ@hÙ ÞâÂ@—æÂ@Dß s߀ŸÕÂà5äÂ@˜Ñ€c߀æÞÂáÂà_Ý üÝÂÀÚ€(Ô€æÞÂ` áÂ@VÜÂàèÛ ŸâÂàƒ× ©ÖÂ@Ñ€ŸÕ€ìÝ Ú€iÞ ±ß€oÝ Ÿâ€9æÂ  æÂ`âÂ@ñ×Â7ÜÂÀßÂ`ñä ¥á RÚ ùÓÂ[ÖÂ@ÇÞÂ`Â×Â`ß ŸâÂÀ¾Õ€QâÂÀèÎÂU×Â~åÂ@¯âÂ@»àÂ`ÔÔÂ@©ã€KãÂ`ŒàÂàSßÂ`\èÂÀ¥î€ÔဟՀ ÙÂ@‘çœàÂâ€ë€Ú ÛÂ@ëØÂyÑÂà¹Î jÖÂ@ëØÂ…ÏÂ[ÖÂÀ¸Ö ¯ÕÂ@hÙÂ`øÎ RÚÂ`Áì€òÜÂÀˆÞÂ@ÇÞ€×Â`ÔÔÂ`-Û sßÂà6Ï …Ü€‡ÙÂ@€Õ€“×Â@hÙ "âÂà¬å «àÂâÂ@åÙ RÚ »Ó´ÜÂÀŽÝ Û€ìÝ |ÓÂ`¼ØÂ ŠðÂ@¯â ÏÚÂà;ã óÔÂÀ¸ÖÂ@ñ× £×Âà¦æÂ€uÜ DÒÂ`þÍÂ@Ñ ©ÖÂàqÚÂ@nØÂ`ÚÓ 4ßÂ`Â×Â`æÑÂ`E× yÞ ^ØÂ@ßÚ ÏÂ@ñ×ÂÀ/ØÂà ®ê€WáÂ@zÖÂà}ØÂ`E×Â`KÖ€3ç€(Ô d× OåÂ@µáÂ[Ö€øÛÂÀÚÂ+ÞÂ`Í€ÚÂÀùà &× üÝÂ[Ö d× ¯ÕÂ`E× ,ÖÂÞÕ€“×ÂÀ¬ØÂà_ÝÂàqÚÂÀóá XÙÂ`ÎÕÂ@€Õ ÕÙÂà$Ò ©Ö |ÓÂÀGÔÂàqÚ€‡ÙÂà¡Ò€Eä€ìÝÂ`€â€ÚàÂ@'ÏÂÀAÕÂà_ÝÂ@ Ô€^ËÂ`€â üÝ ÿÒÂàYÞÂ`æÑ–á d×ÂàwÙÂ@÷ÖÂÀÛ€·ÑÂ`òÏÂ[ÖÂðÒ 2Õ màÂàúØÂ@’ÒÂ@ñ×€ØÂ@\ÛÂ`ÔÔÂIÙ€"Õ &×Âà¾âÂCÚ€ Ù màÂ`°ÚÂåÂ@bÚÂ@bÚÂ` áÂ+ÞÂÀ#Ú ½ÝÂ@ñ× šÎÂÀšÛ€.Ó€c߀uÜÂà•ÔÂCÚ ©ÖÂ`QÕÂÀÄÔ ÉÛ€«ÓÂÀqÍÂOØÂ £×ÂsÒÂÀj〙ÖÂÀßÂ`ªÛÂ`žÝÂ`WÔ &×ÂÀÖÑ óÔÂ`cÒÂÀMÓÂàôÙ€Ú jÖÂ`¼ØÂàâÜÂÀ;Ö .àÂÀ/ØÂ€æÞ€oÝ 5Ê€Ú€:Ñ »ÓÂÀ5×€Ú€æÞÂàBÍ ÿÒ Û€oÝÂÀ#ÚÂàèÛÂàÜÝ€FÏ Ò pÕ 8ÔÂàÔ€oÝÂ[Ö á×ÂàâÜ€"ÕÂ@ëØÂ pÕÂÀqÍÂ@t×€RÍÂ@bÚ€àßÂØÖÂÀ¦ÙÂàúØÂ€ Ù  ÑÂ@ÙÛÂ`¼ØÂ+ÞÂÀÛÂÀ ÚÂà×€(ԜࠅÜÂÀ/ØÂËÂà Ö ŽÐ ÓÏ 2ÕÂÀšÛ sß íÕÂ`uÏÂ@ÕÂmÓÂà¬åÂ@˜ÑÂàØÂ7Ü ØÂäÔ bÍÂà¡ÒÂÀÜÐÂ@PÝÂ@zÖ€‡ÙÂ`ªÛÂÀ¸ÖÂOØÂ £×  ÍÂÀÊÓÂ@Õ€¥ÔÂ[ÖÂ`ªÛ€¥ÔÂà<ÎÂÀkÎÂ@¯âÂàîÚÂÀ/ØÂ jÖÂÀÚ€þÚ€]àÂÀÝÂyÑÂ@ÍÝÂ`¶ÙÂà*ÑÂ@ñ×ÂàÄá¨ÞÂ@t× ãÂÀÜÂ1ÝÂ`!ÝÂ`žÝÂÀÛ sß ÒÂÀîÍÂ@ñ×ÂÀŽÝ€oÝ ÕÙÂ@bÚ Ù äáÂ`'ÜÂÀ/ØÂ ,Ö |Ó íÕÂÀMÓÂ@DßÂ@ ÔÂà0ÐÂÀšÛÂÀ)Ù jÖÂàØÂ`3Ú 8ÔÂ`KÖ ¯Õ »ÓÂ`'Ü ‹Û »ÓÂàÂàeܺÛÂÀÿß ãÂ@ÍÝÂ`QÕÂOØÂ`þÍ ÙÂ`E×Â`9ÙÂàØÂ íÕ€þÚÂ@nØÂ`iÑÂ@¤ÏÂ`!Ý ÕÙÂ`'ÜÂ@t×ÂÀßÂ@zÖÂäÔ :ÞÂÆÙ ðßÂà_ÝÂ`÷ãÂ@µá êàÂÆÙÂàƒ×Âà‰Ö üݺÛÂÀváÂÀÜ ÏÚÂ@2â ‘ÚÂ`cÒÂ@ëØÂ@PÝÂaÕ€þÚÂÀ¸ÖÂàîÚÂÀ²×ÂÀ|à ^ØÂ@ßÚÂ@ñ×Â@JÞ £×ÂâÂ`¶Ù€ÕÌ€·ÑÂ@ ÔÂàƒ× LÛ€Ú ˆÑ ‹ÛÂ@ ÔÂàÕÂàMàÂàwÙÂÀ#Ú ©Ö pÕÂÀÜÂ+ÞÂ@ñ×Â@ÓÜÂ`¼ØÂ êàÂÀ¬ØÂ€‡Ù€«ÓÂàqÚÂÀ|à çÖÂÀíâ \ÎÂ`ÚÓÂÀÚ DÒÂÀÝÂà›Ó€(ÔÂ@nØÂ€ÚÂÀÄÔÂ`øÎÂäÔÂ`¶ÙÂaÕ€øÛÂ`òÏ€ØÂà$Ò ÍÐÂ@¼ËÂàYÞÂ@nØÂ€:ÑÂà¡ÒÂÀ²×ÂöÑÂ@¶ÌÂäÔ ©ÖÂ@ñ× µÔÂàqÚÂ`ÔÔ »ÓÂÀ¸Ö€ÚÂ@¼Ë€×Â@!Р)ÌÂÀYÑÂÀÄÔÂà¹ÎÂ@'Ï ¬ËÂ`æÑÂ`‡Ì €ÈÂÀÊÓ€“×Â@÷ÖÂ@€Õ ÙΠÏ ßÍÂ`-ÛÂà5ä€(ÔÂàôÙ RÚÂ@˜ÑÂäÔ€@ЀFϠπÉÎÂ@’Ò »ÓÂ`àÒÂÀ¦ÙÂOØÂ€:Ñ€{Û€ŸÕÂÀ ÞÂÀ ÚÂà$ÒÂÀŽÝÂÀAÕ pÕÂ`3ÚÂCÚ€:ÑÂ`ÎÕÂà$ÒÂ@Ò ëË€ÃÏÂ@9ÌÂ@ÑÂÀŽÝÂIÙ  Ñ€.ÓÂgÔ ŽÐÂ`]ÓÂÀ)ÙÂ@ÑÂÀôÌ€òÜÂ@žÐÂ`±ÅÂ@ÂÊÂÀÖÑÂ[Ö€ùÆÂ—Ì€ŸÕ€@ÐÂ@9Ì ˆÑ£ÊÂ`ìЀ.ÓÂðÒÂÀèΠá×Â2È€áÊ€áÊ |Ó€‡ÙÂÀ;ÖÂà0ÐÂÀÜÐÂàôÙ ÇÑÂ@zÖ ÐÂÀMÓ€(Ô ëË ,ÖÂÀYÑÂ`ÍÂÀËÂ`QÕ€ŸÕÂ@bÚÂÀ¸Ö€øÛÂàËË yÞÂÀ}Ë 2Õ€½Ð€ÛËÂ@åÙ ½ÝÂ`ÔÔ DÒÂ@žÐ \ÎÂ@ÕÂ[Ö Ò ¯Õ Ï 2ÕÂÀ•ÇÂ`ÍÂÌÂÀÈÂà¹ÎÂàHÌÂà­Ð€ŸÕÂÀèΠ»ÓÂ ÛØÂ ÉÛÂ`ÍÂ@ñ×Â@ýÕÂ@˜Ñ€.Ó pÕÂ@’ÒÂÀÜÐÂÀâÏÂÀôÌ€½ÐÂÍÂà×Â@ßÚÂàÑÊ€FÏÂ@€ÕÂÌØÂ€4ÒÂ@ñ×Â@QÈÂ`QÕ |Ó ÙÂ`æÑÂ@ªÎ bÍÂÀÖÑÂÀÆÂ—ÌÂÀôÌÂ`.ÆÂ`æÑ |Ó ùÓ€ØÂ€‡Ù€"Õ ñÊÂÀŽÝÂsÒ€¥Ô€óÇ€"ÕÂ@ÍÝ ÍÐÂ`ÚÓÂà§Ñ —Ù€¥ÔÂ@¤ÏÂ`ËÂ@÷ÖÂà$ÒÂàØÂ@Ò€dÊÂ@ñ×Â@’ÒÂÐÂÀÐÒ bÍ€ÖÂ@ÓÂ@zÖÂÞÕÂaÕÂ@ÕÂ`ÔÔ ØÂ[Ö ùÓ íÕÂ`ÚÓÂ@ßÚÂàÔ ÜÂà}ØÂ€«ÓÂàqÚÂ@˜ÑÂ@òÂÂÀ²× íÕÂÀ¬ØÂ@µáÂ`àÒÂàâÜÂmÓ Ü .àÂØÖ @ÝÂ@ñ×ÂÀˆÞÂà}ØÂ 8Ô üÝ Ü ëË€uÜ€±Ò £×Âà¡Ò€ØÂàeÜ ÍÐÂÀ;ÖÂ ÆæÂàâÜÂ`!Ý€{ÛÂàúØÂ@zÖÂäÔÂ`ß Ò€ØÂ@ÕÂÀ¸ÖÂ`àÒÂ`ÚÓÂÀ²×ÂàÕÂÌØÂ ÐÂ`¼ØÂÀ¾ÕÂàÂ`QÕÂÀ;ÖÂàÊàÂ[ÖÂ`iÑÂÞÕÂÀAÕ ÚÂaÕÂÀ²×ÂÀáäÂÀÝ LÛ |ÓÂÀŽÝÂ@€Õ ÕÙ€«Ó€“×Â@ÍÝÂáÂÀ¸ÖÂà•ÔÂ`¤ÜÂàYÞ¨Þ€«ÓÂÀAÕÂ@¤ÏÂ`9ÙÂÀ¦ÙÂÀÛ sßÂàÐßÂ`E×Â`àÒÂ`E×ÂØÖÂ@t×€ØÂ€ÚàÂÀ ÞÂ@\ÛÂ`’ßÂ[ÖÂÀÜ€×Âà Ö€þÚ€4ÒÂÀËÂÀYÑÂ`¶ÙÂàƒ× .àÂàÜÝÂ`É€oÝ £×ÂÀÊÓ tÊ€×€·Ñ £×Âà*Ñ ÁÒ ‹ÛÂà×ÂÀ¸ÖÂÀYÑÂàôÙÂêÓÂàÄáÂ@ßÚ€øÛÂàîÚ€¶æÂÀ²× ùÓ€{ÛÂÀ)ÙÂ`æÑ€ÏÍÂ`ÎÕÂ+Þ óÔÂ@zÖÂ`?ØÂüЀØÂЀØÂÀ¾ÕÂU× LÛÂÀÐÒ ,Ö 2ÕÂäÔÂ@nØÂ ÜÂà¡Ò€ÏÍÂaÕ€±ÒÂ@zÖºÛÂ=ÛÂàYÞÂÀÄÔÂØÖÂU×€LÎÂ`¼ØÂ@>à pÕÂÀßÂàôÙ€ìÝÂà_ÝÂ@?ËÂÞÕÂðÒÂÀ¦ÙÂÀíâÂ@†Ô€.Ó DÒÂÀÈ€ØÂ€4ÒÂ@Ò€LÎÂÀÐÒÂ`àÂ`æÑ ÍЀ(ÔÂ=Û€ŸÕÂ@nØÂÀ5× ØÂ€‡ÙÂ@÷ÖÂ@»àÂaÕÂ@ Ô€ ÙÂàÜÝÂÀ#ÚÂà×Â`Â×Â`ìÐÂÀ;Ö€þÚ çÖÂàØÂ`?ØÂàwÙÂÀ¾ÕÂ@ÇÞ€uÜÂ@ýÕÂ`-Û ‘ÚÂÀ¸ÖÂà*ÑÂ@’ÒÂÞÕ€ ÙÂ`KÖÂà‰Ö ÚÂà*ÑÂ@'ÏÂà6Ï ÒÂÀ5×€"Õ€ÕÌ€"ÕÂÀ²×Â@€ÕÂÀúËÂàƒ×Â@nØÂÀAÕ ÛÂ@Ñ JÑÂaÕÂà0ÐÂ@˜Ñ ÒÂ@nØÂ 2ÕÂÀÜЀ{Û ^ØÂ &×Â@†ÔÂàØÂ@°ÍÂà<ΠùÓÂ`òÏÂ@!РÓÏ £×Â`òÏ€¥ÔÂàÔ ÇÑÂàØÂ¯È€ÉΠbÍÂ@!Р¤ÂÂbÀÂ`iÑ á×£ÊÂàØÂÀ;Ö€¥Ô ËÂmÓÂ`'ÜÂàÕÂÀ²×ÂÌØÂ ÉÛ€Ú ÛÂàúØÂ`ÈÖÂØÖÂyÑ€ÃÏ€oÝÂàwÙÂ`°Ú€ŸÕÂ@'Ï®ÝÂàHÌ€ŸÕÂsÒÂmÓÂ`cÒÂ@ßÚÂÀÖÑÂOØÂ€·ÑÂ@÷ÖÂ@Ò€æÞ€æÞ ½ÝÂàHÌÂaÕÂ@ŒÓ€LΠ÷É€QâÂ@ñ×Â@>àÂ`?ØÂ JÑÂ@ÓÜ€ÖÂÀSÒ ÇÑ€"ÕÂÀŽÝÂ`¶ÙÂÀ/ØÂàeÜÂ`ªÛ XÙ€Ú ÃÜÂà_Ý 2Õ  ÍÂ`QÕ ™ãÂÀ¸ÖÂà6Ï \Πgá€uÜÂà¹Î íÕÂ@ýÕÂ@ßÚ ;ÉÂ@žÐ ùÓÂÀ/ØÂà›Ó \ÎÂà¹ÎÂÐÂ`ÈÖ€™ÖÂàƒ×ÂàÓÂà§ÑÂÀ_Ѐ™ÖÂ`ÍÂ`¶ÙÂàØÂ@ñ×ÂÀÜ ØÂÀ)ÙÂ@ ÔÂ`ÎÕÂ`ÞÂàqÚÂ@€ÕÂàBÍ µÔÂ`Â×ÂÀŽÝÂÀjãÂàèÛ PÐÂ@bÚ þçÂ`â íÕÂÀGÔÂ@ÙÛÂàGá >Ó ÐÂ@t×€“×ÂÀÄÔ |Ó ˆÑ€ÉÎÂà}ØÂ@ßÚÂàAâ £× Ò€«ÓÂ1ÝÂ`3ÚÂ`!ÝÂ@ÑÂà§ÑÂêÓÂ@ñ×ÂÀ¸ÖÂ@nØÂ@ÑÂÀÝÂÀ)ÙÂàeÜÂ@VÜ ‚ÒÂàúØÂ ^ØÂÀÚÂ@,ã £×Âà•Ô–áÂàúØÂ€WáÂÀ¸ÖÂ@÷Ö 8ÔÂÀAÕÂaÕ€iÞÂ@ñ× ØÂà}ØÂàYÞ PРÜÂÀYÑÂÀ²× å jÖÂÀ)Ù€LÎÂ@'ÏÂ@ŒÓÂà§Ñ—ÌÂÀ ÚÂÀGÔ XÙÂÀÜÐÂ`WÔ ÎÂÀâÏÂ@åÙÂ`'ÜÂàYÞÂ`KÖÂöÑÂ@ÓÜÂ`ÈÖÂàúØÂàÓ ÙΠjÖ ØÂàkÛ€(ÔÂ`?ØÂ`ìÐÂàƒ×ÂÀÊÓ€þÚÂ@’ÒÂÀÛÂ`'Ü hÌÂÐÂ@Õ ÙÂÀšÛ óÔÂÀè΀þÚ€Ú ÝÂÀèÎÂÀ¾Õ ½ÝÂà­Ð …ÜÂ@ Ô—ÌÂÀÜÐÂà¡ÒÂÀÐÒ ”Ï€«ÓÂá öÞ «àÂ@ëØÂsÒÂÀwÌ€FÏÂàMàÂ`?ØÂà$ÒÂ@zÖ Ìå€àßÂà*ÑÂÐÂ@ÕÂ@ÂÊÂ@ßÚ€¥Ô ‚ÒÂ`{ÎÂÀŽÝ€ŸÕÂÀk΀™ÖÂÐÂ@ ÔÂ@>à€“×ÂàÕ—Ì 2ÕÂàÔ  Ñ ØÂðÒ€{Û ¦Ì šÎ€4ÒÂÀ¾Õ ÏÚ ÿÒÂ`uÏÂà<ÎÂà}ØÂ JÑÂà­ÐÂ@¤Ï€Ö€Ö€‡ÙÂÀ¾ÕÂ@åÙÂ`ìÐÂÀîÍÂà³ÏÂ`àÒÂÀ_РtÊÂÀ¾Õ€ÏÍ £×Â@ñ×ÂЀØÂ€FÏÂÀSÒÂsÒÂ`iÑÂ@æÄÂàÕ€ÉÎÂÀqÍÂØÖ çÖ—ÌÂàËË vԋ΀×Â@Ñ 2ÕÂ@nØÂ ÕÙÂ`ÎÕÂ@†ÔÂ@ÓÂÀ_Р,ÖÂÀ/ØÂ€ÃÏÂÀMÓÂàËËÂÀ_ÐÂðÒÂ@˜ÑÂà§Ñ PÐÂà‰Ö PРXÙ ‹Û€(Ô ˆÑ ˆÑ šÎÂÒ×Â[ÖÂ`Ê PÐÂ@t× ΠFÜÂØÖÂüÐÂÀÆÂ€ÏÍ ÁÒÂàÅÌÂ@ÒÂÀGÔÂ@žÐ€|ÆÂ šÎÂ`“ÊÂ`±ÅÂ@ªÎÂ@°ÍÂ@ÈÉÂÏ »ÓÂ`àÒ©ÉÂ@ŒÓ€«ÓÂ ÛØÂ@ŒÓÂöÑÂ@žÐÂ`ÍÂÍÂÌ ðß \ÎÂÀèÎÂäÔÂ`ÔÔÂðÒ GÇÂ@°ÍÂ@†Ô ˆÑ€vÇ d×Â`oÐÂ@¼ËÂàÜÝ ÷ÉÂ@’Ò€ÉΠóÔ ÍЀ ÙÂU×Â`{ÎÂ@¶Ì ¦ÌÂ`Í †Ç€.Ó€:ÑÂ`òÏ€ØÂà›ÓÂ@ÑÂÆÙÂÀÊÓÂ`!Ý  ÍÂ`Í€ÛËÂ@¼ËÂ@ÓÂàÓÂ@ÓÂ@àÅÂΠåÌÂàNË€ÛËÂÀ•Ç ËÂ@EÊÂ@°Í€ÖÂà¡Ò€XÌ€íÈÂàØÂ€¥ÔÂà$Ò hÌ ÙÎÂÏÂ@ŒÓÂ`þÍÂõæÂ`ÔÔ ÄÇÂÀƒÊÂ>ÆÂÀîÍÂ@WÇ ÷ÉÂàãÇÂàfÇÂ@'ÏÂ`ÍÂ@?ËÂÀèÎÂÀÜРñÊ eÂÂ`þÍÂ@’Ò ÇÑ€‡ÙÂ`“ÊÂà³ÏÂÀôÌÂ`E×Âà¿ÍÂàÔÂ@°ÍÂÀqÍ †Ç€·Ñ ÷ÉÂ@¤ÏÂÀ}ËÂ`òÏÂÀ}Ë ëË €ÈÂ`?ØÂ óÔÂÏÂÏÂ`"ÈÂ`¥ÇÂàNË€¥ÔÂÀúËÂÀ‰ÉÂ@9ÌÂ`ÞÂÀƒÊÂÀúË€ÃÏÂ@9Ì€ÅÂ`ÈÖÂÀÄÔÂ`þÍ 8Ô ÙÎÂmÓÂ@ Ô )ÌÂ`ɑ̀(ÔÂ@’Ò ©ÖÂË€áÊÂÀÊ€(Ô ÍЀjÉÂüЀRÍÂÀqÍÂÀèÎÂà×€.Ó€«Ó RÚÂ@°ÍÂà§Ñ€áÊ Ѐ±Ò€×ÂÀÇ ÄÇÂÀÊ€‚Å€¥ÔÂöÑÂàÅÌÂÀ_ÐÂà× ßÍÂ@]ÆÂÀÄÔ€dÊÂÌÂ`Í VÏÂ`ÉÁÂÀYÑÂ@ëØÂ`àÒÂà³Ï€:Ñ€ÖÂÀâÏÂ`¼ØÂÀËÂ`‡Ì pÕ jÖ FÜÂà*Ñ€áÊÂÀèÎÂàÕ€ÉΠóÔ |ÓÂgÔÂmÓÂ`!Ý ¦Ì ¯ÕÂÀSÒÂà×€‡ÙÂ`¶ÙÂà$Ò€ØÂ`3ÚÂÀâÏÂà­Ð€Ú€^ËÂ@ßÚ —Ù€™ÖÂ@Ñ ùÓ€"Õ€ÕÌ€·Ñ€ØÂÀMÓÂà•ÔÂyÑÂ@ÕÂ@ÂÊÂ`Ë ªÁÂ@ýÕÂÀYÑÂ`oЀjÉ€ÕÌÂ`WÔÂÀÜÐÂ`ÚÓÂÀMÓÂ@ÓÂÒ×€dÊ  Ñ€ÕÌÂ`ÊÂÀ;ÖÂà¡ÒÂ@€ÕÂêÓÂ`]ÓÂàÓÂ`E×€.Ó µÔÂ@°ÍÂØÖ ΠvÔÂà Ö ÒÂÍÂÏÂ`øÎÂ@ÓÜÂ`æÑÂ@ÎÈ #ÍÂà‰ÖÂ@nØÂÀ¸ÖÂÀÖÑ µÔ VÏÂ@’Ò /ËÂ@EÊ‹ÎÂ`’ßÂàÐß ‚ÒÂmÓÂ@ÈÉÂüÐÂàÑÊ€±ÒÂ@€Õ ‘Ú€ØÂ`QÕÂÀ}ËÂmÓÂÆÙÂÀ$Å‹ÎÂ@˜ÑÂ@ªÎÂàZÉÂ`oÐÂà6Ï‘ÍÂ@ñ× ¦ÌÂØÖÂ`þÍ ÙÎÂà•ÔÂàwÙÂ`øÎÂ@†ÔÂà›ÓÂ`™ÉÂ`"È‘ÍÂüÐÂÀYÑÂ`¶ÙÂ@'Ï ,Ö &×ÂÀÊÓÂÏÂàÝÈ &× ,ÖÂmÓÂ`™ÉÂÀâÏÂ=ÛÂ`E×Â…Ï€LÎÂà§ÑÂ@ÓÂÀÄÔÂ`¶ÙÂÌØÂàËËÂÒ×Â@¶Ì€ŸÕ RÚÂ@ªÎÂà•Ô ÙÎÂ`:Ä€«ÓÂ@'ÏÂ@†Ô ùÓÂÀÊÂÀèÎÂà0РtÊÂÀ¸ÖÂÎÂ`"ÈÂ`oÐÂ`{ÎÂÀÜÐÂ8ÇÂ`.ÆÂ@˜Ñ€ŸÕÂmÓÂ@QÈÂÀGÔÂÀ³ÂÂ@€ÕºÛÂ`4ÅÂ`“Ê çÖÂ`ÚÓ ÎÂ@EÊÂ@¼ËÂÀ0ÃÂÀk΀LÎÂРµÔÂ@ñ×€×ÂÀdä€oÝÂ`ÍÂ`]ÓÂ`ÍÂÀôÌ  Í šÎ )ÌÂÀËÂàÕÂ`àÒ€«ÓÂ`ŸÈÂ@{Á€ Ä tÊ ¸ÉÂ`ÔÔ€ÏÍÂmÓÂÀËÂ`ËÂ`WÔ åÌÂ`uÏ€.ÓÂ`ÍÂ@÷ÖÂà•ÔÂ@æÄÂàlÆÂ`.ÆÂ¯ÈÂÀÐÒÂ`þÍ€±ÒÂ`ËÂ…ÏÂ@žÐ ÙÎÂÀwÌ€·ÑÂàHÌ ßÍ€"Õ tÊÂÀ§Ä—Ì ÁÒ ªÁÂ@ÂÊÂ`àÒÂ`]Ó ßÍ  Í ýÈÂÀ¦Ù ÍЯÈÂgÔÂàZÉÂ@ÎȯÈÂ`{΀FÏÂÀqÍÂ@ýÕÂ`-ÛÂàBÍÂÀâÏÂàÅÌ 8ÔÂÀÜÐÂ`ŸÈ bÍÂàãÇÂ,ÉÂË€|ÆÂ Å Ë ^ØÂ ^ØÂ ¾È ¤Â€LÎÂ`ÍÂÀÆÂ ÈÂ`ìÐÂ`{ΠˆÑÂ@°Í \ÎÂ`±Å ¦Ì€dÊ€çÉÂÀGÔÂIÙÂ@3ÍÂ`Ê€(ÔÂ@’Ò€FÏÂÀMÓ€™Ö ëËÂ@ÎÈÂÀÊ ÁÒ€·ÑÂÀSÒ nË hÌ€·ÑÂ@uÂÂ@ÎÈÂ@!ÐÂÞÕÂà¹Î€ÉΠëËÂÀúËÂÀeÏ ëËÂ@’ÒÂÀkÎÂ`oЀ(Ô€ÂÂÀúË »ÓÂÀ)Ù€çɵÇÂÀSÒÂ@÷ÖÂ@JÞ XÙÂ@zÖ€XÌÂÀÛÂà­Ð ¯ÕÂ@’ÒÂ@¤ÏÂ…ÏÂÀ¸ÖÂà$Ò >ÓÂàÀ€ÏÍ |ÓÂ@Ó€pÈ €ÈÂ`ìРåÌÂÀƒÊ ÙΠ‹ÛÂÀSÒÂÀkΠ\΀‡Ù |Ó ‚ÒÂ@EʯȀpÈ GÇÂ@zÖÂÀAÕÂ@iÄÂÀÇÂÀÜÐÂ@÷Ö tÊÂà›ÓÂà›ÓÂà­ÐÂàÕ ÙΠ”ÏÂ@åÙÂàÓÂ@žÐ‘Í ¯ÕÂ@ÂÊÂ@ŒÓ€±Ò !ÃÂ` Ì€™Ö bÍÂ@žÐÂ`ÊÂÏÂÀYÑ á×€¥ÔÂ@ÑÂöÑÂàÔÂ`òÏÂ@žÐÂ`øÎÂàTÊ€×ÂÀ;ÖÂÀMÓ€ÃÏÂ`™ÉÂ`WÔÂ@ÕÂÀ_ЀùÆÂà§ÑÂà¿ÍÂ`.ÆÂàÊàÂÀôÌ ÇÂ8Ç€áÊ€RÍ #ÍÂ ÊÆÂ \ÎÂ`þÍÂ@ ÔÂ`·ÄÂêÓÂÀAÕÂ@ÎÈÂÀÖÑÂ`oРÓÏÂÀwÌÂ`“ÊÂ@nØÂà›Ó ÿÒÂ@KÉÂ`Í€ØÂÀ¾Õ ©ÖÂà›Ó€LÎÂàÅÌ  ÑÂ@˜Ñ€çÉ ©Ö€“×Â@Õ€XÌ€@ÐÂÞÕ ‹Û —ÙÂÐÂU× £× ßÍÂà­Ð ÎÂÀÖÑ  ÍÂÀqÍÂU×€LÎÂ`ËÂ`iÑÂÀÛÂÞÕ ŽÐÂÀqÍÂ@?ËÂà6Ï \ΠpÕ ÁÒ ‚Ò€4ÒÂÀGÔÂÀSÒÂÀSÒ€±ÒÂà³Ï€·Ñ ‚Ò€LÎÂ`WÔ 2ÕÂà<ΠbÍÂÀ}ËÂ@’ÒÂ`(Ç€ÖÂÀYÑÂ@Õ€iÞ VÏÂgÔÂ@ÍÝÂÀ)Ù d×ÂàkÛ€ÚÂà§ÑÂêÓºÛÂ@˜Ñ d× ”Ï ÓÏÂ@¤ÏÂà›Ó LÛ€:ÑÂêÓÂ@ÕÂ@zÖ€ØÂ`?ØÂ@ÙÛÂÆÙ€ÚÂ@ýÕÂ@ÓÜÂà_ÝÂ`E×ÂÀAÕÂÆÙÂÀ²×Â`žÝ ÒÂ`3ÚÂ`°Ú ½ÝÂ@µá´Ü€×Âàƒ×€{ÛÂ`QÕÂàÅÌ á× óÔ€þÚÂ@bÚÂÀAÕ´ÜÂÀÜÐÂ`3ÚÂ`-ÛÂÀYÑ ÁÒÂ`ÎÕÂ…ÏÂÀkÎÂà­ÐÂÀèÎÂÀ¦ÙÂ@'ÏÂgÔ ˆÑÂÀÇÂ@¶ÌÂà¡ÒÂà³ÏÂ`Í»ÆÂ€íÈÂ@ё̀áÊ‹ÎÂÀ_Ѐ"ÕÂmÓ ýÈÂÀÜÐÂØÖÂàÓÂÀ$Å )ÌÂ>ÆÂ€"Õ  ÑÂÀÊ ;ÉÂ@Ò ØÂ ÎÂ`ìРÇÑ bÍÂsÒÂÀôÌ€jÉÂ`ÏÀÂà6ÏÂ@ªÎÂÀÐÒ€FÏÂÀYÑÂ@9ÌÂ` ÌÂ`ÍÂà³ÏÂOØÂ€× #ÍÂ`ËÂ@’ÒÂ` ÌÂ@ÈÉÂàTÊÂÍÂàúØÂ zÉ»ÆÂ@9ÌÂ…ÏÂË€‚ÅÂ@¤ÏÂà§ÑµÇÂ`‡ÌÂ`™É©ÉÂ@æÄÂà0РDÒÂàkÛÂÏÂà6Ï€çÉÂà*ÑÂyÑÂà6ÏÂ@¼ËÂ`™ÉÂ@oÃÂ`d½Â ÁÒÂ`þÍÂàÝÈÂà¹ÎÂàƒ×ÂàãÇ nË ÖÄÂ`iÑ‹ÎÂÀeÏÂ`ÎÕ \ÎÂ>ÆÂ€@ÐÂàBÍÂàfÇÂmÓÂ`ÔÔ hÌ ΠhÌ ¾È€@ÐÂà*ÑÂÀè΀™ÖÂ@ÑÂÀúË€±ÒÂ@ÓÂÀâÏÂàÀÂàéÆÂ`ÊÂ`àÒÂÀ/ØÂ çÖÂàxÄÂ@ªÎÂÀÈÂ@iÄÂàéÆÂ`ÔÔ€×ÂÀîÍÂ…Ï€áÊÂÀSÒÂ@¤ÏÂàÔ€(ÔÂ`Í |Ó  Í ªÁ ßÍ€ÿÅÂ ÊÆÂ`·ÄÂÀ›ÆÂ@˜ÑÂÀË€XÌÂðÒÂ@°Í€ ÙÂ@€ÕÂÀ_Ѐ±ÒÂР8Ô€XÌÂ`“ÊÂàïÅ€çÉ 8ÔÂÀÈÂÀ}ËÂ@žÐÂ@ ÔÂÀÄÔ‘ÍÂÀèÎÂÀÊÂ`Í€(ÔÂà*ÑÂÍÂà¿ÍÂ`(ÇÂÀMÓÂ@!ÐÂàTÊÂ`{΀™ÖÂ`ÔÔ€^ËÂ@KÉ ÍÐÂyÑÂ@t×ÂðÒÂà<ÎÂÀwÌÂ`òÏÂ`¼ØÂÀMÓ€óÇÂ`øÎ ©ÖÂÀ¾Õ bÍ ,ÖÂØÖÂà§Ñ µÔÂÆÙ PÐÂ`þÍÂ`àÒ bÍ€·ÑÂ@9Ì #Í SÅ€ÛË€ÉÎÂà<ÎÂ ÛØÂ@ÂÊ ÁÒÂÀqÍÂ`]ÓÂÀ²×€¥ÔÂÀÊ )ÌÂà×É€ÃÏ ÷ÉÂ`ÎÕÂà ÖÂ@ýÕ€·Ñ€:ÑÂàÔÂÀ}ËÂ@°ÍÂÐÂU× &×Âà$ÒÂà›Ó ,Ö  ÑÂÀkÎÂ@-ΠÐÅÂäÔÂ@QÈ ,Ö€ØÂ ^ØÂ ‚ÒÂÀSÒ ŽÐÂ@VÜ€FÏ€ÿÅ ËÂÀ}ËÂàBÍ€«Ó ¸ÉÂÏ ¬ËÂà<ÎÂ`ÍÂà× ©Ö€@ÐÂ@9ÌÂà­Ð ÿÒ€±Ò hÌÂ`™ÉÂ`ÊÂà Ö€íÈÂ`“Ê 2ÕÂ`QÕÂà0ÐÂ@ÂÊÂà­ÐÂU×Â`¤Ü€uÜ ùÓÂà¹Î€ŸÕ vÔ€ ÄÂÀAÕÂ@ŒÓ€ÛË€ÃÏ€ÛËÂ@3ÍÂàNËÂ\Á€ØÂ`òÏÂÀ ÉÂ`.ÆÂ ¬Ë€óÇÂÍÂàÅÌÂà6ÏÂ`þÍÂà0ÐÂ`ËÂÀ¦Ù ùÓÂ@¶Ì€çÉ€FÏÂà³ÏÂ`ÊÂäÔ€.ÓÂàÕ€“×Â`KÖÂ@’ÒÂÀ}ËÂ[ÖÂË ÁÒÂ`Í µÔÂàïÅÂ@¼ËÂà­ÐÂàNËÂ@3ÍÂÀ}ËÂà¡Ò€:ÑÂÀ5×€(ÔÂàƒ×ÂØÖÂ@ÇÞ€.ÓÂà ÖÂ`Ë ¯ÕÂÀÚ ðß ÐÂàeÜ€iÞÂàƒ× XÙÂÀÜÐÂU×ÂàÄáÂ`òÏ€çÉ€ÃÏÂ@†Ô óÔÂ@÷Ö€FÏÂ`iÑ€ÏÍÂÀ²×ÂÀÄÔÂ@ÎÈÂ@¼Ë€ÏÍ ÓÏÂmÓ ÆÂà<ÎÂРtÊÂÀÚÂÀ#ÚÂÀ_ÐÂ@\ÛÂ@’Ò ÕÙ yÞ€þÚ€FÏÂÀÝÂàeÜ€ÉÎÂ@ŒÓÂÐÂà6Ï ‘ÚÂ8ÇÂêÓÂ@ÑÂU×Â7ÜÂÀƒÊÂ@ÎÈÂ`ÎÕ€ÚÂ`cÒÂ@'ÏÂ`E×Â`WÔ€‡ÙÂàÑÊÂCÚÂ@Õ€þÚ€½ÐÂ`òÏ€½ÐÂäÔÂÀÈ—Ì Ú€‡Ù d×€·ÑÂ@ ÔÂ`iÑÂ@PÝÂ@€ÕÂÀeÏ€ÕÌ JÑ€ŸÕÂà­Ð€(ÔÂÀMÓ€ÖÂ@’Ò€"Õ€ØÂÀÐÒ  ÑÂРßÍÂà6ÏÂ@!ÐÂ@EÊÂÀ¸ÖÂà$Ò ¯ÕÂà6Ï€ŸÕ »ÓÂ@°ÍÂ`ÚÓÂ@ÕÂ@9Ì®ÝÂ`Í€|ÆÂ #Í ÷É XÙÂ@ÓÂ`æÑÂàÕÂà×ÂðÒÂÏÂàBÍÂР)Ì AÈ€L΀dÊ ùÓÂðÒÂ@ëØÂ€±Ò d×€XÌÂ@˜ÑÂÀYÑÂ…ÏÂÀ¬ØÂ \ÎÂàéÆÂ@ÚÆÂÀ*ÄÂÀÊÓ€ØÂ‘ÍÂÀËÂÀ_ÐÂ@†ÔÂ@-΀jÉÂ`ËÂ2ÈÂ@’ÒÂ`cүȀóÇÂöÑ ØÂ ¦ÌÂÀÐÒÂ@˜ÑÂmÓÂ@ÕÂ@zÖÂ`QÕ ;ÉÂ2È "âÂ[ÖÂ@QÈÂ@†ÔÂÀkÎÂàTÊ€ÕÌÂ`QÕÂРÙÎÂÀGÔ ‘Ú \ÎÂ@zÖÂ`uÏÂ@ëØÂ |ÓÂ` Ì ÛÂÀôÌ ÿÒÂàeÜÂ@Ò çÖÂ@nØÂÀMÓ®ÝÂäÔÂ`ýâÂà›ÓÂàÔ ©Ö ØÂÀÛ€±ÒÂàúØÂàeÜ Ÿâ€×Â`oЀLÎÂ@t×Â`9ÙÂ`¶Ù ‘ÚÂsÒÂ`Â×Â`¤Ü€"ÕÂÀ;ÖÂà0ÐÂÀÊÂêÓ óÔ ÿÒ€4ÒÂÏÂÀAÕ šÎ ŽÐÂ[Ö€×Â@JÞ pÕÂÀúËÂgÔÂOØÂU×Âà$ÒÂ@¤ÏÂÀÖÑ€ØÂ`øÎ€ÚÂ@\Û ^ØÂ@t×ÂÀÄÔ€“×ÂÀeÏÂäÔÂgÔ€"ÕÂ@t×ÂØÖ€à߀(Ô ·ÞÂ@8á ½ÝÂäÔ€{Û ±ßÂ`WÔ ùÓÂàËËÂà$ÒÂ`ËÂÀ²×ÂaÕ çÖ |ÓÂ`ÎÕÂ@hÙ€×ÂÀçã ©Ö€™Ö ÜÂöÑÂ`¤ÜÂ`]Ó Øã€æÞ€ÚÂ@zÖÂàúØÂ@ýÕÂÀjã ð߀þÚ 2ÕÂÞÕÂ@ÓÂÀ²× ¯Õ€‡Ù 4߀¼åÂÀÚÂ@÷ÖÂà×Â7ÜÂ@ñ׺ÛÂà}ØÂ@nØÂ yÞÂ`’ßÂÀ;Ö —Ù ÃÜ€ŸÕÂ`9ÙÂ@‹èÂÀß êàÂ`oЀ¥ÔÂ@÷Ö ¾ÈÂÀGÔÂÀ¾Õ 5ÊÂ`ÚÓÂöÑÂà³ÏÂÏ »Ó€·Ñ—ÌÂ`E× ÇÑÂà­Ð VÏÂ@ªÎ€ ÙÂöÑÂ`°ÚÂàÜÝ€ÃÏÂàwÙ ãÂ`E×ÂÆÙ ©ÖÂ`!ÝÂ…Ï d× ^ØÂU×Â@ÕÂ@9ÌÂÎÂ`9ÙÂÀ¦Ù€Ú€LÎÂ@VÜÂàÕÂ@ÙÛÂÀ/ØÂÀÊÓ€øÛÂ`Â×Â ÛØÂ nË Ú€¥ÔÂ`ªÛÂ`ÚÓÂàèÛÂÀ¦ÙÂ@÷ÖÂÀÄÔÂ[ÖÂ@!ÐÂ@ÂÊÂ@nØÂ á×Â@DßÂà ÖÂ@bÚÂ2È ¯ÕÂU×€ìÝ £×Â@Ò 2ÕÂÀ5×Â@\ÛÂàËËÂÀÖÑ£ÊÂ[Ö 8Ô ©ÖÂà*Ñ€(Ô€ŸÕÂ@ŒÓ€.Ó bÍÂ@-ÎÂ`ÊÂÀÚ€ÖÂ`þÍÂÐÂà$Ò GÇÂ`ÈÖÂ@àÅÂÀ}˯ÈÂ`¶Ù ¬Ë GÇ  ÑÂà¹ÎÂ@zÖ ©ÖÂ`ÎÕ  Ñ £×ÂU×Âà‰ÖÂ`3ÚÂ@˜ÑÂàÓ ØÂ@bÚÂÀYÑÂ`Â×Â[Ö€ÃÏÂÀGÔÂÀeÏÂÀÈ —Ù |ÓÂÀèÎÂ`øÎÂ`QÕÂÀYÑÂÀÐÒÂàÔ€ÕÌ€4ÒÂ@¼ËÂ`ÔÔÂÀÚ—ÌÂ…ÏÂ@ÓÂ`þÍÂ@°ÍÂà›ÓÂ@’ÒÂÀèΠ2ÕÂ@ÕÂ`WÔ šÎÂà¹ÎÂà‰ÖÂ`ÈÖÂÀGÔ ËÂàNËÂêÓÂ@ÙÛÂ@bÚÂ`]Ó 5Ê€:ÑÂàúØÂäÔÂÀôÌ ‚ÒÂ` ÌÂÀSÒ€:Ñ€áÊ€@ÐÂÀGÔ ÛÂ,ÉÂ@ÒÂÀîÍÂ`ÍÂØÖ ÿÒÂ@¤Ï #ÍÂÏ£ÊÂ`ÚÓÂ`QÕÂÀÈÂ@ Ô ,Ö€“×ÂÀ/ØÂ€FÏ€4Ò µÔ€uÜ ^ØÂ`æÑÂà$ÒÂ@åÙ ÒÂÀ¦ÙÂêÓÂà›Ó —ÙÂgÔÂ@nØÂÀ¾ÕÂ@ñ×Â@¤ÏÂ@¶ÌÂ@PÝ€FÏ€ØÂ`?ØÂ d×Â@€ÕÂ@3ÍÂÀwÌÂ`9ÙÂaÕÂ`ß FÜ€ØÂ@bÚ PЀ.Ó |ÓÂà§Ñ€ÚÂ@÷ÖÂàÜÝÂà‰ÖÂCÚÂ@¤ÏÂÀ²×€ÚÂ`-ÛÂ[Ö ŽÐÂà}ØÂ ÁÒÂ`žÝÂOØÂ@ýÕÂ@÷Ö€Ú VÏ LÛ ÕÙÂgÔÂ@ŒÓ€ÂäÂà¾â€ÔáÂOØÂ@ÇÞÂàúØÂ ÙÂ`¶ÙÂàØÂ@8á @ÝÂá€Ú ÕÙ€iÞ yÞÂ@åÙ {èÂ`¶ÙÂà×Â`ŒàÂÀÜÐÂmÓÂ@¶ÌÂàÔÂ…ÏÂ@µá &×€±ÒÂðÒ á×ÂÀ#ÚÂÀ”ÜÂÞÕ ¦ÌÂ@÷Ö /ËÂÀÝÂ@t×ÂäÂ@ÍÝÂ`Œà …ÜÂà¡ÒÂÀ5×Â`cÒ ©Ö€ØÂÀ|à€FÏÂöÑÂ@\ÛÂÀÚ jÖÂ@hÙ ÜÂâ sß  ÍÂÀîÍÂ@ýÕÂ@t×Â`KÖ€ ÙÂàâܺÛÂOØÂà<ÎÂ`QÕ€ìÝ€ÖÂ=ÛÂ`žÝ€þÚÂÀMÓ ©ÖÂ`°ÚÂÀeÏ€øÛÂ`ÚÓ óÔÂ`!Ý >ÓÂà‰Ö€ŸÕ€ØÂ@hÙ PЀ¥ÔÂ@zÖÂàqÚÂÀGÔÂ@ÙÛÂ@ªÎ€øÛÂ@ÓÂ`Ë´Ü XÙÂ@ŒÓÂÀ#Ú€ŸÕÂ@ëØÂ ØÂ`°ÚÂ=Û€ŸÕÂûåÂ`Œà€ ÙÂÀ”Ü€ŸÕ íÕ€×Âà›ÓÂÀŽÝ DÒÂ@ýÕÂ@÷Ö &× ÝÂÀ_ÐÂÀ¦ÙÂ@†ÔÂÌØÂ€æÞ€Ú yÞÂÀ²× ÓÏÂЀ ÙÂ@zÖÂ@ñ×€Qâ >Ó€±Ò¨ÞÂÀ ÚÂ`øÎÂ`cÒÂ`‡ÌÂÀ¸ÖÂ@DßÂÀ}Ë€ÏÍ yÞÂ@JÞÂ`E× ÍÐÂ7ÜÂÀYÑÂ@zÖÂÀ¬ØÂ€«Ó ÐÂÀâÏÂ@Õ€øÛÂà<ÎÂÀkÎÂ@ÒÂÀÄÔÂ`Â×Â@ýÕÂ`]Ó d× ‘Ú€ÖÂà_Ý ÓÏ ÃÜÂÀGÔÂÀ¸ÖÂOØÂ@ÒÂÀÄÔÂÀ)Ù€¥Ô€¥Ô£Ê€«Ó€™Ö ÿÒ€.ÓÂ@žÐÂà§ÑÂÆÙÂÀ¸ÖÂà×ÂÀGÔÂ ÛØÂàƒ×„äÂÀ)ÙÂàqÚÂà§ÑÂ[ÖÂÀÖÑ€.ÓÂ`]ÓÂÀ¸ÖÂ@ ÔÂ`žÝÂàNË 8ÔÂ@ªÎÂÀèÎÂ@¼Ë»ÆÂÀ;Ö |ÓÂÀÐÒÂ`Â× ÓÏ á×ÂêÓÂ@-ÎÂ@˜Ñ ÷É ñÊ ùÓÂÀ§ÄÂà³ÏÂ`ìÐÂÀôÌÂ,É ¦Ì jÖÂ` ÌÂ@ÑÂà$ÒÂyÑ ßÍÂ@'ÏÂ`òÏÂ`øÎÂgÔ ‚ÒÂÀ¸ÖÂÀkÎÂÀkΠ2ÕÂ@¼ËÂ@3ÍÂÀqÍÂ`?ØÂ@†ÔÂÀÈÂöÑÂmÓÂ`E× šÎÂÀÈÂÀ•ÇÂÀ›ÆÂ #ÍÂsÒÂ`òÏÂ`E×Â@ÑÂ`òÏÂÀƒÊ€(ÔÂ@3Í€L΀L΀·Ñ á× tÊ ,ÖÂ@'ÏÂÀÇ šÎÂyÑÂ1Ý bÍÂ@ÚÆÂ€LÎÂà¿Í ¦Ì€ÏÍÂàÝÈÂÀ‰ÉÂ`täÂÀGÔÂ@ÂÊÂÀ}ËÂ@QÈÂ`¶Ù vÔÂ`ÃÂÂ,É ¾È€‚Å ýÈ SÅ  ÍÂ`]ÓÂà¹Î GÇ€Ö šÎ€ÛËÂ@]ÆÂ /Ë ΠÐÅ zÉ€ˆÄÂ`ÉÁ ¦ÌÂ…ÏÂ@QÈÂÀ ÉÂ@ªÎÂÀ•ǵǠK¼Â@?ËÂ`Ë íÕÂÀôÌ€RÍ€áÊ€ÕÌ€.Ó€ÃÏÂ@iÄÂàxįȀ½Ð £×€pÈÂ@(ºÂÀ×¼ÂäÔ 8ÔÂÀîÍÂÀƒÊ ëËÂ@ÂÊÂ2ÈÂÌ€^Ë ŽÐ €È Å€"Õ ²ÊÂÀ׼€^Ë >Ó€·ÑÂÀqÍ€^ËÂ`É GÇÂ@ÒÂÀ ÉÂàfÇ€ÿÅÂÀqÍÂà¡Ò€·ÑÂÀ_Ѐ^ËÂàHÌ ñÊ€çÉÂàÔÂÀÈÂ`øÎÂàÅÌÂ`øÎÂ@æÄÂàlÆÂ`"È Å ÅÂ@!ÐÂ`É nËÂ@ªÎ€FÏÂ`ÉÁ ;É ßÍÂ`WÔ )ÌÂÀ¿ÀÂàÑÊ ¬ËÂ`ÃÂÂÀ­Ã€pÈ Ò ¾È€ÏÍÂà$ÒÂ@3ͩɠèÁÂà<ÎÂ@žÐÂÀ›ÆÂ bÍÂ`á½Â€ÃÏÂsÒÂ@ÕÂ@?ËÂÀ‰É ¬Ë JÑ€:ÑÂ2È !ÃÂ@˜ÑÂ ÛØÂ€ÛËÂàH̋ΠnËÂà„ÂÂ,ÉÂ` ÌÂ@¶ÌÂ,ÉÂ@øÁÂ@ÑÂÀƒÊÂ@oÀXÌÂ…Ï á×€ŽÃÂ@¾Â`æÑÂ@÷Ö JÑÂàTÊÂ@ÓÂ`“Ê ÿÒ¯ÈÂÀÐÒÂØÖÂ…Ï óÔÂ`ìÐÂàTÊÂà¿Í óÔÂÀAÕÂÀ¬ØÂÀ²× bÍÂ@¶Ì‘Í zÉÂ`QÕÂ@'ÏÂàúØÂ€{ÛÂàîÚÂêÓÂàûÃÂÀkÎÂ`ÍÂ@ŒÓÂöÑÂÀqÍÂÀƒÊÂÀÐÒ ÷ÉÂÀâÏÂ`-ÛÂà‰ÖÂÀÜРvÔ‹ÎÂÀ ÚÂÀ›ÆÂüÐÂ@Õ€{Û€«Ó >ÓÂ`oЀ(Ô€XÌÂ@’Ò —ÙÂCÚÂ@°ÍÂ`Í£ÊÂàÕ€ÃÏ€ÚÂàÝÈ ,Ö ŽÐÂ`¥Ç€ŸÕ ©ÖÂgÔ ŽÐÂàúØÂ 8ÔÂüРÇÑÂ`"ÈÂ@-ÎÂ`"ÈÂ@9Ì€FÏ ²Ê‘ÍÂ`øÎ  ÑÂ@VÜÂ@ÈÉÂÀâÏÂ`{΀½ÐÂÀkÎÂ` ÌÂàÅÌ€ÉÎÂà‰ÖÂÀeÏÂ@ñ× á×ÂÀ)Ù äáÂØÖÂ&Ê€·ÑÂ`QÕ ˆÑ€4ÒÂÀÊÓ€@Рˀ^ËÂÐÂÀMÓÂàÅÌÂÀ¸Ö€cß »ÓÂ`Í ßÍ  ÍÂÐÂ`WÔÂ ÛØÂ ùÓÂàqÚ€×Â`ÍÂ@ÍÝÂÍÂÍ€·Ñ Uä >Ó ñÊÂà×ÉÂÐÂðÒ íÕ€ÖÂàÔ 2ÕÂà­Ð€WဟՀ¥Ô |ÓÂ`ìРíÕÂ`ÔÔÂmÓ Ù€«ÓÂÀ5×Â[Ö µÔÂ@÷ÖÂ=ÛÂàôÙ ùÓ€¥ÔÂ@€Õ€(ÔÂ@¤ÏÂÀkΠ¾ÈÂà•ÔÂÀùàÂÒ× VÏÂ@3ÍÂ`"ÈÂ`“Ê ¦ÌÂ`3ÚÂÀ¸Ö€XÌÂàÑÊÂ`ÔÔ€(Ô µÔÂ@t×Â`øÎÂà$Ò ¯ÕÂÀ)ÙÂ@ßÚÂÀ5×€±ÒÂ`ÎÕÂÀ¾ÕÂ@ÓÂ@Ó€àß ¸ÉÂ@€Õ€ÛË DÒÂ@ßÚÂà$Ò ‘Ú€oÝ€.ÓÂyÑ óÔÂÀÝÂàÕÂ@ýÕ AÈÂÀ;Ö —ÙÂà›ÓÂ@9ÌÂ[Ö ‹ÛÂÀ5× ,ÖÂàúØÂàâÜÂà›ÓÂ`E× &×ÂàÑÊ ØÂÀ¬ØÂ€“× DÒÂÀÐÒÂ@EÊÂêÓ |ÓÂà×É€þÚ€ÕÌÂIÙÂIÙ€FÏ€pÈÂ`“ÊÂà³Ï€(Ô ^ØÂ@ ÔÂ`Í d×ÂäÔÂ@8á &×ÂÀ;Ö 2ÕÂ`òÏÂ@ ÔÂÀ_Р#ÍÂ`iÑÂÀÛÂmÓ€ØÂ´ÜÂà6ÏÂU×ÂIÙÂàNË 5Ê hÌÂ@PÝ ØÂ%ß Ý JÑ€™Ö PÐÂ`àÒÂÐÂ`ÎÕ€“× :ÞÂüÐÂÀÜÐÂÀ§ÄÂÌØÂ€FÏÂØÖÂ`àÒÂ@’Ò ÜÂ@zÖ µÔÂ`9Ù€±ÒÂÀúËÂmÓÂ`ÍÂàéÆÂ@žÐ bÍÂ@€Õ ÇÑ ÍÐÂ@ŒÓÂ@˜ÑÂ`iÑ€× óÔÂ`Í PР/Ë íÕÂàËË€íÈÂ@ÎÈÂà³Ï ÿÒ€æÞ ÕÙ ÁÒÂ@ýÕÂ`¤ÜÂà×€(ÔÂÀËÂà§Ñ 8Ô ÚÂÀÛÂà$Ò Ò á×Â+Þ€FÏÂ`ÈÖÂÀ¸Ö íÕÂyÑ ”ÏÂ@hÙÂ@nØÂ@ýÕÂ`ÔÔÂà<ÎÂ@÷ÖÂàËËÂÀ_РšÎÂàÓÂ`þÍÂÀ²×‹Î ÇÑÂÀYÑ yÞ€{ÛÂgÔ€ØÂ |ÓÂ`QÕÂ@€ÕÂ@ŒÓÂàÕÂ`àÒ bÍÂÀ›ÆÂœàÂ`ÔÔÂØÖÂ@°ÍÂ`WÔ ùÓÂÀkΠpÕÂ`oÐÂ@¶ÌÂËÂÀ_ÐÂà¿Í ¯ÕÂ@˜Ñ Ï XÙÂ@÷Ö‹ÎÂÀËÂ@ñ×€×ÂàØÂ` ÌÂ8ÇÂÀôÌ€:Ñ )Ì )ÌÂ@ñ×€ Ù á×€jÉÂ@ÒÂÀGÔÂU×ÂÀÜÐÂÀqÍ ”Ï€çÉ—Ì€òÜ€pÈÂ`‡ÌÂà³Ï @ÝÂ`-ÛÂ@ ÔÂ@ÑÂÀèÎÂÀYÑ Ò ‘Ú ÁÒÂ`9ÙÂ`æÑÂ@!ÐÂ`˜Þ€L΀"Õ ÏÂ@Ñ€±ÒÂàÔÂàèÛ€ÚÂ@ýÕÂ@€ÕÂÀkΠÐÂÀÄÔ ÒÂ@nØÂ ÿÒÂ`{ÎÂÁÅÂêÓÂ`ÔÔÂÀÊÓÂÀƒÊÂ`‡ÌÂàxÄ‘ÍÂÀ¬ØÂà$Ò £× /ËÂÀYÑÂ@ýÕÂ@iÄÂ@QÈ€]àÂÀèΠ Í ¸ÉÂÀÄԠǀØÂ@’ÒÂ`ÚÓÂÀÊÂ`“Ê £×€dÊÂ`ÉÂàÕÂà§ÑÂ@˜ÑÂàôÙ jÖ€FÏ hÌÂÀ;ÖÂ@ÒÂàÑÊÂ@3Í®ÝÂ@žÐÂÀSÒ 4ßÂÀeÏÂ`æÑÂ@òÂÂÐÂ`iÑÂ@ÑÂ@¤ÏÂ@Ó ˆÑÂ@ÕÂàËËÂÀÄÔÂ@˜ÑÂIÙ ÉÛ ÝÂÀ¬ØÂ`ÚÓ /ËÂÀ›ÆÂ ÆÂ@oÃÂÀ•ÇÂ`ÍÂàBÍÂäÔ€óÇÂà‰Ö€^ËÂgÔÂyÑ€^ËÂ@ìÀÅÂÀSÒÂ@°Í ,Ö DÒ AÈÂ@€Õ€É΀óÇÂ@KÉÂ@oÃÂà0ÐÂ`iÑÂÀAÕ€·ÑÂ`QÕÂ@ ÔÂ`ÈÖÂÀôÌÂÀwÌÂ@žÐÂàèÛÂ…Ï€·ÑÂÀÄÔÂ,ɑ̀XÌÂÀÜÂ`KÖ ËÂ@ñ×ÂÀAÕ€@ЩÉÂ@!ÐÂ@ëØÂÀÖÑÂ@PÝÂàèÛ ²Ê ˆÑ »Ó€±Ò #ÍÂÀôÌ ¦ÌÂ@ëØÂ ÓÏÂÀƒÊ ëËÂ@ÔÇÂà× ßÍÂ@EÊÂ,ÉÂÀeÏ—Ì ¬Ë€4ÒÂ@nØÂ@€Õ Ò ¬Ë ÒÂ,ÉÂÀÊ€ÕÌÂÀâÏÂàèÛÂI٠ȀL΀½Ð ÍÐÂÀË€“×€¥Ô€XÌÂÀAÕÂà ÖÂÍÂàïÅÂÍÂ@EÊ ÷ÉÂà›Ó >Ó ²Ê€pÈ€(ÔÂ`uÏÂ@9ÌÂÀîÍÂ`±ÅÂ@¤Ï VÏÂ`þÍÂà¡ÒÂàÔ€FÏÂΠÿÒ çÖ ÇÑÂàÑÊÂ@žÐÂ`WÔÂ`æÑ AÈ€×Â@žÐÂÀAÕ  ÍÂ`ÎÕ ÄÇÂ`:Ä VÏ ÍЀÃÏÂ`ÎÕ€ÏÍ€RÍÂÀ¾Õ çÖÂà0ÐÂ` ÌÂ`ËÂÀAÕ ÙÎÂàÅÌÂ@’ÒÂÀqÍÂ`ßç Û€áÊ»ÆÂ €ÈÂ@]ÆÂ`ËÂÀ¾ÕÂ@ªÎÂ@ÔÇÂàÅÌ€|ÆÂ@zÖÂÀÊÂàN˯ÈÂ`oÐÂ@Ò€«ÓÂyÑÂà­Ð ÇÑÂ@žÐÂàHÌÂÁÅÂ@WÇ VÏÂÀqÍ á× Ù ßÍ ŒÆÂàõÄÂà„€RÍÂ`?ØÂàZÉÂ@˜Ñ€“ב̀jÉ SÅÂÀÜР΀RÍ ñÊ€½ÐÂ`ÎÕÂà‰Ö€dÊÂ@WÇÂêÓ€4ÒÂÏÂàÅÌ€LΠPÐÂàNË—Ì€(ÔÂÀÊÓÂÍÂÀ ÚÂ@’ÒÂ`ÔÔ€½Ð jÖÂ@!ÐÂÍ€½ÐÂßÀÂàrÅÂÀ¾Õ ÒÂ`4ÅÂ@EÊ )ÌÂ@ÈÉ ÄÇÂàÝÈÂÀÐÒÂ`æÑÂ`?ØÂ€×ÂäÔÂ`"ȠˀvÇÂÀ‰É ßÍÂaÕ ²ÊÂÀ5× ŽÐÂàÂÂ@ÔÇÂ`·ÄÂÀËÂÍÂ@9ÌÂÀ¸ÖÂmÓÂÌ€ÖÂÀGÔÂÀôÌÂàûàbÍÂÀYÑÂР ÍÂÀwÌ€ÏÍÂ@ŒÓÂ@?Ë °À ’ÅÂ@Õ ¬Ë GÇ DÒÂ@’ÒÂ`WÔÂÀôÌÂ…ÏÂàÜÝÂàãÇÂà§Ñ pÕÂJÄÂ@¤Ï€çÉ óÔ©ÉÂÐÂ@ÑÂÀËÂÐÂ`™ÉÂ`Ë ÄÇÂ`«ÆÂ@ýÕÂ`øÎ ¬Ë zÉÂ@ ÔÂ`àÒÂà¿Í €ÈÂ`øÎÂÀ<ÁÂ ÊÆÂ µÔ€«ÓÂÀwÌÂÐÂàBÍ åÌÂ`ËÂà*Ñ ÙÎÂÇÄ€áÊÂ`ÈÖÂà§ÑÂ`oÐÂà¡ÒµÇÂÀâÏÂ` ̺۠šÎ€jÉÂyÑ€ÅÂÀ É óÔÂÀ ÉÂà­ÐÂÀ¦Ù ‹ÛÂ`þÍ€ÉÎÂ`WÔÂÀÛÂ@!ÐÂ`iÑÂàƒ×ÂØÖÂà§ÑÂÀSÒ ÁÒÂ`Â× d× pÕÂ`9ÙÂà¡ÒÂÆÙ€ŸÕÂ`°Ú >ӠȀ±ÒÂ@ŒÓ€4ÒÂÀwÌ óÔÂÀ‚ß £× »ÓÂÀ5× áב̀¥ÔÂàÄáÂÀSÒ€½Ð >ÓÂ@zÖ åÌ€±ÒÂÆÙÂ`«ÆÂ`þÍÂyÑÂà›Ó µÔ—ÌÂà Ö JÑ ÓÏ |Ó PÐÂÀƒÊÂ@zÖ ÛÂäÔ |ÓÂ@†Ô >ÓÂ@åÙ€pÈÂ`þÍ VÏÂaÕ€@ÐÂ@!ÐÂà Ö€"ÕÂÌØÂàØÂÀúË€RÍÂ@ÎÈ Ï—ÌÂsÒ &×ÂÀÄÔÂ@ßÚÂà$Ò  Ñ€RÍÂ@ÓÂà‰Ö ØÂ`hæÂÏÂ`ìЀ‡Ù PÐÂ@QÈ 2ÕÂ@ÓÜÂ`ìÐÂàËË€™Ö ÒÂàƒ×€ØÂÀÄÔ /ËÂ`oÐÂ@9Ì 8ÔÂ`E×Â@ñ×ÂOØÂ@ÙÛÂÐÂ@zÖ€ÖÂ+ÞÂ@JÞÂÆÙ —Ù€ ÙÂÀÝ ÍÐÂüÐÂCÚÂ`¶Ù ÜÂ=Û šÎ ÛÂ@¤Ï 8ÔÂ`?ØÂÀ²×Â`E×Â@ÓÜÂêÓ vÔÂ`ìÐÂ@VÜÂ@zÖ ùÓÂÀ¾ÕÂ`ÞºÛ€øÛÂ@zÖ óÔÂ@ Ô€ØÂàèÛ€ÈãÂ`¤ÜÂ@ŒÓÂIÙÂ@PÝÂÀ/ØÂ ùÓÂ`-Û ØÂÀÛÂà¹Î óÔ€FÏÂ`WÔÂà ÖÂÀGÔ€É΀ÏÍ ÿÒÂË DÒ€oÝÂ7ܠݠ݀(ÔÂ@ªÎ çÖ€æÞÂ@8á aâÂÀYÑÂ@ßÚÂ`?ØÂ€øÛ€ Ù€:ÑÂCÚÂ@ Ô a‫ÓÂàîÚÂ`’ßÂÀÄÔ€±ÒÂÀÄÔÂ@Õ ‹Û€¥Ô€ÖÂ`€âÂ@bÚ ¥á€ÚÂàGáÂ@ÕÂÀÖÑÂ`¶Ù FÜÂ@!ÐÂ`ÍÂCÚÂ`ÔÔ ÒÂàNË€ÛËÂ@?ËÂ`uÏ ÈÂà*ÑÂÀGÔÂàÓÂIÙÂ ÛØÂ`KÖÂ@ªÎÂ@°ÍÂà•Ô \ÎÂ`àÒÂ`™ÉÂà¹Î vÔÂà¹ÎÂÒ×Â`QÕ ²ÊÂ@¼ËÂ…ÏÂÒ×Â`]Ó€(ÔÂ`{ÎÂàՠ܀«Ó ÅÂyÑ pÕÂ@¤Ï £×€(ÔÂàúØÂ pÕÂ@-ÎÂ@9Ì ¬ËÂ`æÑ€«ÓÂÀôÌÂàÕ d×Â`ÔÔ€“×Â7Ü€áÊÂÀeÏÂà0ÐÂ@-ÎÂàèÛÂ@ÙÛ€"Õ€XÌÂ`iÑÂ`(ÇÂ`]ÓÂà§ÑÂØÖÂÀ²× sßÂà­ÐÂÀSÒÂ@Õ bÍÂ@nØÂРÿÒÂ`¼ØÂ ”Ï hÌÂÞՠ܀(Ô ëËÂ`°ÚÂÀ5×€ÏÍÂ@ŒÓÂà‰ÖÂÆÙ 8ÔÂà}ØÂ DÒÂ…ÏÂÀÊÓÂ@ÑÂ`«ÆÂ€½ÐÂÀÖÑÂÌØÂ€ ÙÂ@ÇÞÂÀßÂ@'Ï  ÍÂÀÄÔ€ÛËÂ`(ÇÂ`ìЀ:Ñ€×Â`Í ‚ÒÂÐÂ`ÈÖÂÀ”ÜÂàîÚ  Í ,ÖÂàïÅÂÎÂ@Ò ²Ê ‚ÒÂ@’Ò üÝ šÎÂaÕÂà­Ð€ˆÄ€|ÆÂ`]ÓÂ2È ÓÏ—ÌÂðÒ ÏÂ`ÍÂmÓ ¦Ì £× ÏÂ@ Ô šÎÂ@'Ï ð߀ÚÂ`]Ó )ÌÂÀúËÂ@EÊÂÀkÎÂ@ªÎ€LÎÂ@iÄÂÀ;ÖÂ`9ÙÂ`uÏ 2ÕÂðÒ |Ó ΀·Ñ #Í ñÊ€ÚÂ@ëØÂàÕÂ`WÔ åÌÂÀ/ØÂ ÐÂ@ëØÂÞÕÂÆÙÂÀAÕÂ`QÕÂÀÈÂÀúËÂÀkÎÂ@EÊÂÀÖÑÂà¿Í /ËÂ`E×Âà›Ó€·ÑÂ`9ÙÂÀ_РJÑ€:Ñ Ò€uÜÂÞÕÂ`{ÎÂ@'ÏÂ@Ó€þÚ€·Ñ bÍ€ÖÂÒ× jÖÂàØÂÀÜ ÕÙÂ@¶ÌÂ@ýÕÂÀ#ÚÂðÒ ÿÒÂà‰ÖÂ`¼ØÂ€:ÑÂ`oЀ@РÙÂmÓÂ`¶Ù€ÕÌÂà¹ÎÂêÓÂ`]ÓÂ`'ÜÂsÒÂàBÍÂ@ÂÊÂÀ²×€|ÆÂ ùÓÂÀ}ËÂ`¥ÇÂ@ÓÂÒ× ¥á€×Â@'Ï DÒÂ`Þ ÏÂ`¥ÇÂÀ ÚÂàqÚÂ7ÜÂà•ÔÂ@’Ò€çÉÂÀôÌ ÁÒÂ`KÖÂ@Õ ÁÒ šÎÂ@ÈÉÂÀèÎÂÀAÕ ©ÖÂ@ýÕ vÔÂ`{ÎÂ`¼ØÂ€ØÂ@zÖ ^ØÂÀ5×Â`°ÚÂ@¤Ï€Ö ØÂ «à€×Â`cÒÂà›Ó€(Ô &×€ ÙÂ`æÑÂÀÖÑÂ@hÙÂàkÛÂà¡ÒÂ@åÙÂà}ØÂ@ÑÂ@ÕÂ`ÎÕÂÀ¸ÖÂÀ;ÖÂ@nØÂ@nØÂÀYÑ ¯Õ€ìÝÂ@ÍÝÂÀ¬ØÂ LÛ€oÝ …Ü€·Ñ ÚÂ@†ÔÂ@DßÂ@!Р©ÖÂàâÜÂÀ5×Â@ÓÜ€æÞ sßÂàƒ×€ÎâÂ`bç  ÑÂ`†á Øã ÜÂÀGÔÂÀ ÚÂÀ^åÂ`ßç Uä (áÂÀˆÞ€Úà Ü€(Ô€Úà€¥ÔÂà ¥áÂÝêÂàÐ߀àß £×¢ßÂ@ëØÂ%ßÂàYÞ Þâ€"ÕÂ@ÇÞÂ`åæÂ ^ØÂ@ÁßÂ`hæÂ=ÛÂ`'ÜÂ1ÝÂå Uä–×Â`3ÚÂ@PÝÂÀ5×ÂáÂ@PÝ Û€òÜ ÝÂ@ýÕÂàMàÂ`žÝ LÛ€uÜÂ@ÁßÂêÓ€×Â@D߀ìÝÂÀ Ú€{ÛÂ@PÝ íÕ £×Â`zãÂàqÚ€¥Ô€æÞÂ@,ãÂ@Ó ð߀ڠpÕ ±ßÂÀ/ØÂ RÚÂÀGÔ€"ÕÂÀGÔ ÁÒÂÀ ÚÂ@ÓÜÂCÚ€“× ^ØÂ öÞÂ@åÙÂ@žÐ vÔ€¥ÔÂ`°ÚÂÀÛÂCÚ€ÖÂ`{ΠÃÜ màÂ`¤ÜÂàqÚÂ`¼ØÂ ,ÖÂàšèÂÀ/ØÂ`°ÚÂÀÜÐÂ`Í GǠ݀4ÒÂÌØÂ@t× jÖÂÀGÔÂÀ‚ßÂÀÝÂ@ÕÂ@JÞÂ@Õ€«ÓÂÀ ÞÂ@\ÛÂ@ÕÂà×ÂÀÛÂ`’߀àßÂà}ØÂ jÖÂCÚÂà­ÐÂÀÐÒÂÀMÓÂÐÂÀÊÓ ÁÒ óԮ݀"ÕÂ1ÝÂ@©ãÂ`øÎÂàØÂ ÇÑÂ`“Ê JÑÂ@t×ÂÀîÍ€‡ÙÂÀÊÓ€ÖÂÀ‰ÉÂ8ÇÂ`ÉÂ`ÍÂÀeÏÂ@9ÌÂÀGÔÂÀ5×Âà6ÏÂÀÖÑÂ@†ÔÂÀqÍÂÆÙÂ`]ÓÂàÔÂ`øÎÂØÖÂÀ5×€:ÑÂÀÖÑ ÏÂ`]ÓÂ`3ÚÂÀÚÂ@nØÂ@åÙ€{Û ÓÏÂ@ßÚ€ŸÕ ÝÂÏ€þÚ ‘ÚÂ@ëØÂÀÚ ÏÚÂÀèΠíÕ€¥ÔÂà ÖÂ…ÏÂÀóáÂÀ¸Ö€þÚ€Ö€¥ÔÂ`9ÙÂàqÚÂ@t×Â[ÖÂ1Ý ¯Õ êàÂ`ßœà€‡ÙÂàôÙÂÀ#ÚÂàÖÞÂà0ÐÂIÙÂàYÞÂ`nåÂáÂà;ãÂ@ÇÞÂ`ýâÂàAâÂ`ÈÖÂ`-Û ÇÑÂà³ÏÂ`'Ü€@ÐÂ@ÓÜ€QâÂU×ÂàÖÞ |ÓÂ`nåÂaÕ€LÎÂà5䀟Հ× …ÜÂ`¼ØÂ \ÎÂ`òÏ€ Ù çÖÂà³Ï á× äáÂàÐßÂ`QÕ€ìÝÂ`Â×Â@Á߀:ÑÂ` áÂaÕÂàÕÂÀ¦Ù uéÂÀjã :ÞÂaÕÂÀÛÂàÜÝ€c߀ÖÂÀAÕÂàÐßÂâÂrçÂ@ýÕ |Ó á×Â@8áÂÀ‚ß ÜÂ@bÚÂÀ#Ú„äÂà_ÝÂ7ÜÂÀÊÓÂ@t×€oݺÛÂÀÚ jÖ€Eä€ÖÂÀÛÂàƒ×ÂÀÄÔÂàúØÂ`'ÜÂ@ÕÂÀ ÚÂà•Ô µÔÂÀ¾ÕÂÀvá "âÂ@\Û ÿÒÂÀváÂÀvá RÚ  ÑÂÀ5×Â@ÓÜÂ@ÍÝÂàúØÂ€ÚÂ`߀Ú€ÉÎÂ@ßÚ€ ÙÂà Ö …ÜÂ@˜Ñ Û &×´ÜÂÀÿßÂ`KÖÂÀÝ ÕÙÂöÑ€oÝ€iÞÂàqڠ݀ÚÂ`ýâ–áÂ+Þ VÏ€þÚÂ`Â×Â`˜Þ áלàÂÀÊÓÂ`žÝÂ`¤ÜÂÀÛÂàS߀uÜ€oÝÂ@åÙ êà€oÝÂ`'ÜÂ`žÝÂØÖÂ@ßÚ üÝ€3çÂàËËÂ@ Ô€¼å€E䠱ߠÒÂ@ßÚÂàÂÀ ÞÂâÂ`¤ÜÂàeÜÂ`åæÂ€¶æÂ€ØÂà_ÝÂ@ÍÝÂàƒ×ÂÀÜЀ@ÐÂÀÚ OåÂàkÛÂ@PÝ äáÂÀ)ÙÂáÂ@bÚÂ`E×ÂÀ/ØÂÒ×Â@ŒÓ–áÂ@»àÂ`¶ÙÂà*Ñ ÕÙÂ`˜ÞÂ@8á ‘ÚÂ`€âÂà#çÂ1ÝÂ ÆæÂÀ ÞÂà5äÂÀŽÝ ^ØÂÀ¸ÖÂ`ýâÂ@ÁßÂÀ¸Ö ¥á FÜÂ@nØÂ€oÝ´Ü ÍÐÂÀ|à ØÂÀSÒ ,ÖÂ`¤Ü ÜÂà;ãÂ@µáÂÀ5×Â`ÔÔÂà•ÔÂ@÷Ö ,ÖÂàâÜ€™ÖÂÀ Þ ÝÂ`uÏÂêÓ PÐÂ@ýÕÂIÙÂÀ#ÚÂÀÊÓÂÀšÛÂÀŽÝ &×ÂâÂCÚ€¥ÔÂàôÙÂàØÂ |ÓÂàúØÂ ÁÒÂÀ¦ÙÂÀ¦ÙÂ@8áÂ7ÜÂ@Õ ÕÙÂ`ßÂÀ²×Â@ßÚÂà­ÐÂ@t×Â@ÑÂ`'ÜÂÀÖÑ€ÚÂÀMÓ€ ÙÂêÓÂ@åÙÂÀ/ØÂ€FÏ —ÙÂàÕ »Ó —ÙÂÀ}ËÂÀÐÒ€¥Ô LÛÂ`àÒ€:Ñ íÕÂÀ ÚÂðÒ ÙÎÂàBÍÂmÓÂÀkÎÂ@рŠÐÂ[Ö€“×Âà¿ÍÂ`oÐÂà*Ñ ‘ÚÂ@ßÚÂÀÝ€RÍÂÀ_ÐÂàwÙÂ@ªÎÂðÒ ÁÒÂÀÖÑ |Ó€Úà FÜÂÀÖÑÂ@t×Â`òÏÂ`°ÚÂ`QÕÂyÑ€ØÂÀšÛÂÀÊÓ ÁÒ€ Ù ÿÒ …ÜÂÀ¬ØÂÀ5׺ÛÂÀAÕ ÓÏÂsÒ  ÑÂ`ÈÖÂàÜÝ€KãÂÐÂ@¼Ë /ËÂ`ÍÂÀîÍÂgÔÂàYÞ ÁÒ€ÉÎÂÀÊÂ`ÎÕÂàúØÂ jÖÂ@øÁÂÌ ‚Ò€ØÂ ÍÐÂÀÄÔÂ1ÝÂ`QÕ ˆÑÂ@ ÔÂà›Ó óÔÂ@9ÌÂ@t×Â@PÝÂIÙÂ`¶ÙÂ@÷ÖÂÀÜÐÂÀwÌÂÀÊÓÂ`øÎÂà‰ÖÂÀèÎÂÀâÏÂ`æÑ |Ó d×  ÑÂ`ìЀ·Ñ€½ÐÂ@ Ô —ÙÂ`QÕÂ`¤Ü€dÊ bÍ  ÑÂ@ÒÂ@ëØÂ ÄÇÂà›Ó–áÂ`QÕ LÛ ‘ÚÂÎÂÀ5×ÂÀÐÒ€RÍ ŽÐÂÀôÌ‘ÍÂÀÊÓ ^ØÂ€±Ò 8ÔÂ`uÏÂÀŽÝÂ@°ÍÂ@åÙÂàÕÂ@ÓÂÀ)Ù€LÎÂ`ÎÕÂ`uÏ VÏÂàÅÌ çÖ ÛÂà`È ,Ö ÕÙ sßÂöÑÂÀâÏÂyÑÂ`KÖ »Ó XÙÂà•ÔÂOØÂ РyÞÂà}ØÂÀwÌÂ@ªÎÂ`oÐÂÀGÔÂ`ÔÔÂ`°ÚÂÀSÒÂ`WÔÂÀôÌÂ@¼Ë€ÏÍÂÀÈÂ`ÎÕ€“×ÂgÔÂÀ_ÐÂ@EÊÂ`ÎÕ€4ÒÂ@€ÕÂàYÞÂÏ ;ÉÂ`ÈÖ ¦ÌÂ@zÖ ÁÒÂ`WÔ€ŸÕ pÕ€¥ÔÂ@€Õ d×ÂyÑ€uÜÂàeÜ :ÞÂ`¼ØÂà›Ó ·Þ 2ÕÂ`æÑ€±Ò€«ÓÂ@ßÚÂÀÛ€ ÙÂ`]Ó XÙ€“×€ÃÏÂU×ÂÀ¸ÖÂà›ÓÂÍ€þÚÂ@÷ÖÂà¿ÍÂêÓÂÀMÓºÛÂ`!ÝÂÀˆÞ€@ÐÂà0ÐÂà³Ï€ŸÕ 2ÕÂ`æÑ€ÖÂàúØÂÀ ÞÂÀŽÝ ÉÛ ‹Û RÚÂ@ÍÝÂÀ¾ÕÂàƒ×Â`ÈÖÂ%ßÂÀÊÓ ÓÏ€@ÐÂÀ²×Â@’ÒÂÎÂ@?ËÂÀÊÓÂÀçãÂCÚÂ@\ÛÂ@ýÕÂÀ_ÐÂgÔÂ`ÚÓ …Ü€æÞÂÀeÏ€·ÑÂ…ÏÂÀ¸Ö€“×ÂÀèÎÂàÓÂ`Ë€½Ð ÇÑÂÐÂÀ¦ÙÂÀ²× êàÂÀYÑÂ`ÎÕÂmÓÂàÕÂ`]ÓÂà›ÓÂàúØÂU×Â@†ÔÂÒ×ÂmÓÂàqÚÂÀÝ„ä€þÚÂàqÚÂ`KÖÂÀùàÂà}ØÂyÑÂ`QÕÂöÑÂàØÂ 8Ô€ÖÂÀÜÂ`KÖ ©ÖÂ[ÖÂ@ ÔÂÀAÕ€uÜÂ`{΀XÌ€òÜÂ+ÞÂ`!ÝÂÀßÂÀ#ÚÂà¾âÂ`ªÛ ØÂ —ÙÂ`àÒÂÀ)ÙÂ@€ÕÂÀ;ÖÂÀeÏÂ@2âÂÀˆÞ ©Ö óÔ ùÓÂÀ‚߀“×ÂÀ¾ÕÂ`?ØÂÀÐÒ »ÓÂ@åÙÂ@nØÂ[ÖÂÀpâÂ@÷ÖÂ`æÑ çÖÂÀèÎÂ ÛØÂÀíâ ÿÒ€:ÑÂÀ)ÙÂ`ÎÕ ÁÒÂÀ ÚÂðÒ VÏ ¯ÕÂIÙÂà›ÓÂ`á½Â á×ÂÀÚ€™Ö€ÏÍÂ`?ØÂ[ÖÂ@ñ×ÂÝêÂÀAÕÂêÓ€½ÐÂ@€ÕÂÀYÑ ©Ö \ÎÂ@t×Â`Â×Â`ßÂàôÙ ØÂ öÞÂÒ×ÂöÑ€RÍ€"Õ€±ÒÂÀYÑ ËÂÀâÏÂ`ÈÖÂàôÙÂà•ԋ΀4Ò€ ÄÂ`ÔÔ ;ÉÂ@t×Âà×ÂÀÐÒ€¥ÔÂ@ýÕ€¥Ô€ìÝÂà§Ñ€½ÐÂÍÂà›Ó€Ú µÔÂ@€ÕÂ@t× —ÙÂà›ÓÂÀYÑÂàƒ×Âà}ØÂ pÕÂàrÅ :ÞÂÀ5×Â@ëØÂ ÍРDÒÂÀèΠñÊÂgÔÂU×ÂÀMÓ€ÛË 8Ô öÞÂ@hÙÂ`]Ó€ŸÕ —ÙÂ@hÙÂàMàÂ`ëåÂ`QÕ ùÓÂyÑÂ@žÐ€RÍÂàHÌÂ`ìÐÂÀ#ÚÂ@VÜÂ@÷ÖÂà¿ÍÂÀYÑÂ@VÜÂÀ|àÂÀ;Ö€(ÔÂ@°Í ŽÐÂÀîÍÂ@åÙ ùÓÂ@åÙÂÀ¸Ö \ÎÂ@ÕÂÀÚÂCÚÂ@€Õ \ÎÂöÑÂÀ_ÐÂ`]Ó€@ÐÂÀ Ú pÕÂ@†ÔÂÀMÓÂÀÊÓ ÝÂàÜÝÂÀ#Ú .àÂà_ÝÂ`QÕ€¥ÔÂ`KÖÂàÔÂÀÊÓ€ØÂðÒÂÀ_ÐÂÀ¬ØÂ@ëØÂ LÛ —Ù »Ó jÖ äáºÛÂ`˜ÞÂÀßÂÀ^å …ÜÂIÙÂ+ޮݠ£×Â@ Ô ÃÜÂÀwÌÂ@ÍÝÂÀˆÞÂàÕÂÀYÑ€]à ÜÂmÓºÛÂ@ÕÂàôÙÂ`cÒ€‡ÙÂÀóá€(ÔÂ`9Ù øè FÜ £×€½ÐÂ@nØÂ —ÙÂÀîÍÂÀÖÑÂ`iÑÂ`iÑÂÀeÏÂ`QÕ ÙÂ`÷ãÂÀ|àÂ@˜ÑÂ`3ÚÂàîÚ d×Âà‰ÖÂIÙ€±Ò€4Ò€:Ñ€ÛËÂÀÜÐÂ@zÖÂ`!ÝÂ@ßÚ€jÉÂ`cÒ pÕÂaÕÂà0ÐÂà¹ÎÂêÓÂÀGÔ ÕÙÂ@žÐ ÍÐÂÀAÕÂ`žÝ çÖÂ@t× ÒÂ7ÜÂäÔÂ@hÙÂÀ_РÿÒÂàîÚÂÐÂ@PÝÂ@nØÂ@¤ÏÂ@,ãÂ@nØÂ€ ÙÂЀ™Ö€™ÖÂ`cÒÂ`ÈÖ€¥ÔÂØÖÂ@t×€Ú LÛ€ØÂàÓÂIÙÂàÓ€ÂäÂÀMÓ€ØÂàkÛ óÔÂÀ/ØÂàYÞÂàqÚ #ÍÂà•ÔÂIÙÂ`ÔÔÂ`9ÙÂ@ëØÂà‰ÖÂmÓÂ`9ÙÂðÒÂ`æÑÂ@ÑÂÀMÓÂà ÖÂà‰Ö€pÈ€:Ñ ÕÙ€(Ô ˆÑÂÏ€ÛË€"Õ vÔ—ÌÂ@Ò€.Ó€ØÂàîگȠØÂ ÙÂÞÕÂà¡Ò€Ö ñÊ ‘ÚÂà³Ï |Ó€Ö jÖÂ`àÒ \ΠJÑ ØÂU× jÖÂàÑÊ 8Ô »Ó Р¬ËÂÀâÏÂ@ýÕÂ` ÌÂ…Ï€XÌÂ@Ñ ÍР)ÌÂÀ²×Âà¡ÒÂØÖÂ@†Ô€ÕÌ  ÑÂÀîÍÂà¹Î€·ÑÂ@!ÐÂàÅÌ€ŸÕ€É΀‚ÅÂÞÕÂDÅÂ@ÔÇÂÀqÍÂà~àÐÂäÔÂÀ²×Âàƒ×€4ÒÂ`ýâÂ…ÏÂÀGÔÂêÓÂàÕÂÀÛÂ@PÝ€Âä€?å€Qâ ¥á€Ôá (á –îÂÀÉè€ïÂ@ ý 7éÂ`Œà–á äÂ@ÇÞ€°ç€ì +ëÂïçÂàóîÂàê€ññÂ`€â QïÂ ÆæÂ€¤éÂ`Çë Àç€!êÂÀ(îÂZëÂTì ®êÂ@©ã€Ùõ€¶æÂÀ{õÂqü KðÂÀþôÂ`‹õ =èÂÝê€ßôÂÀ"ï úÂöÂ<ðÂ`2ïÂÀ‡ó cì ®êÂàvîÂ@[ð æë€ìÂZëÂ@yëÂÀ óÂãéÂ`nåÂ@Cô€˜ë þç ï øèÂÀ.íÂ`ÁìÂ`8îÂ`&ñÂ`Óé åÂË퀞êÂÀ«íÂ`ñäÂ@…éÂ$ôÂà²ä çÂ`åæÂ×ëÂ`Á쀤é IæÂ`VéÂ%ßÂ@,ãÂ@—æÂ€Ôá ®êÂrç `÷ ãÂ@ê„ä ½ÝÂà5äÂ`täÂÀFéÂà¬åÂàÿì ¨ëÂûåÂ@sìÂÀíâ€QâÂÀ.íÂàŽêÂá Ü ™ãÂÀùà ué sß OåÂ`ÞÂÀ(ê€cßÂ`DìÂà²äÂ@»àÂÀ²×€3ç OåÂ`zãÂÀ Þ€æÞ gá­òÂ@ØðÂ@çÂÀFéÂ`3Ú mà çÖÂÀíâ gá€ÂäÂÀÏçÂ`÷ãÂÀíâ Òä ?òÂÀÿß Ìå ¢ìÂà”éÂÀÜÂ@£äÂ@8ဠîÂ@PÝÂ`Óé€EäÂ`ßÂ@bÚÂà€àßÂ`âÂÀáä 4ßÂÀÚÂ@&äÂ`ß ‹Û€Wá LÛÂà¬åÂÀíâ UäÂÆÙ€“×Â`˜ÞÂ`3ÚÂ`'ܨޠÚíÂ ÛØÂÀáäÂ`˜ÞÂ@,ãÂ`Â×ÂàwÙ€Úà€EäÂàAâÂÀ ÞÂÀváÂà}ØÂ gá gáÂàîÚÂ@VÜÂ@VÜÂà;ãÂ@ÓÜÂ@÷Ö€‡ÙÂ`’ßÂ`¶Ù ÉÛÂàØÂ yÞÂàÔÂàîÚ€WáÂ=ÛÂ@÷ÖÂ`¤ÜÂ`WÔ€ÚÂÀ²×Â@bÚÂà ,Ö óÔÂ@bÚÂ@ÓÜ€Ú >Ó óÔÂâ pÕÂàÓ€ ÙÂ@ÕÂà}ØÂ€ÚÂ`°Ú >ÓÂ@bÚÂ`ªÛ ‘Ú‹ÎÂàՠ݀ŸÕÂ`3Ú :ÞÂàÖÞÂ`3ÚÂ`ÎÕÂàÄáÂ+ÞÂ ÛØÂäÔÂÀ”Ü ½ÝÂà×ÂÒ× ÕÙÂ@éÂ@bÚ€“×ÂðÒ LÛÂÀÛ ëËÂÀˆÞ€.ÓÂàúØÂ@˜Ñ€àßÂÀ‚߀ÚÂ7Ü @ÝÂ[ÖÂâ ±ßÂ`zãÂ`†áÂ`]Ó€oÝÂà¸ãÂ`ÈÖÂ@’Ò ©ÖÂÀYÑÂ`iÑÂ@ŒÓ jÖÂIÙÂCÚ€@ÐÂà<ÎÂ`“Ê ä€Îâ Û ÝÂêÓÂ`æÑÂ@ÍÝ  ÑÂÀÜÂ`ÎÕÂ`ßÂÞÕÂÀˆÞ ÚÂÀÜÐÂ`3ÚÂàYÞÂ@JÞ 8Ô€þÚ üÝÂàSßÂU×Â`3ÚÂà}ØÂà¸ãÂÀÐÒÂäÔ ˆÑÂêÓÂ`ËÂ`ÈÖÂ`¶ÙÂ@÷ÖÂêÓÂ@ŒÓÂ@ŒÓÂ@D߀ŸÕ€4ÒÂà ÖÂ`E×Â`ÞÂàîÚÂ`9ÙÂàÔÂ`Í vÔÂ`¶Ù d×Â@ ÔÂáÂ@ßÚÂÌÂÞÕÂÀÖÑÂ` áÂ@ Ô Ë íÕ ØÂ€øÛ€iÞ€×€ŸÕÂà Ö€‡ÙÂ`°Ú ©Ö ÏÂØÖÂ@JÞ ÝÂÀÝÂ`æÑÂÀMÓÂ ÛØÂ ŽÐ 2ÕÂàAâÂ@ëØÂÀ#ÚÂ@bÚÂâÂàâÜÂ@ å @ÝÂ@nØÂàMà pÕÂ`àÂ[ÖÂЀ·ÑÂaÕ€×Âà³Ï ©ÖÂÀXæÂIÙÂà}ØÂºÛÂ`ŒàÂ`3Ú ðßÂ`ËÂØÖÂÀ Þ€·Ñ XÙÂÌØÂàSßÂàÄᠱ߀ÈãÂ@€ÕÂàúØÂà¡Ò€ÚÂ@ÒÂ`cÒÂ`âÂÀ¸Ö®Ý ÙÂá€ØÂ ÛØÂÀ/ØÂ¨Þ€cßÂÌØÂ`˜Þ€KãÂÀ^å´Ü€±Ò ,ÖÂÆÙÂàÖÞÂ@ÙÛ€.ÓÂäÔ .à€ Ù  Ñ sßÂ`žÝÂÀùàÂ@µáÂ@Á߀ڠ8ÔÂàwÙ€‡ÙÂ`ÎÕ s߀{Û ‘ÚÂ@nØÂ (áÂàMàÂ@ýÕÂÆÙ :ÞÂ@ñ×Âà›Ó€ØÂ@éÂ`'ÜÂ`æÑ€ ÙÂÀ”Ü d× ØÂÀ¬ØÂ óÔ :ÞÂ+ÞÂÀSÒÂÀMÓ jÖ ÚÂ`tä LÛÂà_Ý çÂ`bçÂà Ö€cßÂ`!Ý€.Ó€iÞÂà}ØÂÀMÓ RÚÂÀáäÂ`Â×ÂÀÜЀŸÕÂÌØÂ@ÓÜ€æÞ ÚÂÀk΀ÚÂyÑ€¥ÔÂàØÂ@ÙÛÂà Ö€‡ÙÂà× &×Â@ÁßÂ`ÎÕÂ`{ÎÂ`'Ü šÎÂ`.ÆÂ@ŒÓ 8ÔÂà×Â@?ËÂêÓ …ÜÂÀÕæÂ`Ë >ÓÂÍÂÀ ÚÂ`?ØÂÀ”ÜÂ@°ÍÂgÔÂÀ”Ü ½ÝÂ`Â×ÂÀÜРÚ 2Õ€:ÑÂÀqÍ€(ÔÂ`ÎÕÂêÓÂÀÐÒ€áÊÂà§ÑÂ@hÙÂ`iÑÂÀâÏ€™Ö ØÂ ùÓÂÀ¸ÖÂ@ŒÓ  ѵÇÂàÕÂ`oÐÂöÑÂ`ÚÓÂ`KÖÂ…ÏÂ`QÕ µÔÂ`ÎÕÂà*Ñ >Ó€¥Ô€.ÓÂÀ;ÖÂÀ¸ÖÂ`øÎÂÀ_ÐÂÀkÎÂРPÐÂ@Ñ pÕ [ã»ÆÂ hÌÂ`uÏ€"ÕÂ@˜ÑÂ`KÖ á×ÂàÓÂЀvÇÂ`ÚÓ€ ÙÂàôٵǠµÔÂêÓ ¦Ì€±ÒÂÀîÍÂà§Ñ ˆÑÂ@žÐ ¸É€çÉÂàÕ€ŸÕÂàTÊ #ÍÂÀYÑ ©ÖÂÀ ÞÂmÓÂ…Ï PРßÍÂÀ³Â ùÓÂàfÇÂÀ¾Õ€(ÔÂÀGÔÂ`QÕÂÀYÑÂ@-ΠÚ vÔÂ`àÒÂÀŽÝ€ÏÍÂ`òÏÂÀÊÂ`þÍ€FÏ ²ÊÂ`uÏ zÉÂ`òÏÂ@ ÔÂà×ÉÂà$ÒÂàTÊÂ`iÑÂÀ ÚÂÀ¬ØÂÀ•ǯÈÂ`ÍÂ`Ë 2Õ€LÎÂàãÇÂàÔÂàØÂÀîÍÂ`ÍÂ`WÔÂàÕÂÀ‰ÉÂÏ€ÿÅÂ…Ï€4ÒÂàÅÌ VÏ ‚Ò€·ÑÂ`cÒÂ`øÎÂ`«ÆÂ@!ЀdÊ ¸ÉÂ@ÑÂÌ AÈ /Ë RÚ DÒ FÜÂÀèÎÂ@ªÎÂÀ0ÀÃÏ ÅÂ,É ˆÑ€þÚ  ÍÂ`¶ÙÂÀ”Ü€XÌ€FÏÂ@'Ï€óÇÂàÑÊ€™Ö€FÏÂÀƒÊÂ`9ÙÂÀ‰ÉÂÀwÌÂÀËÂ@¶Ì VÏ€jÉÂ@-΀«ÓÂ`]ÓÂ@žÐ€:ÑÂêÓÂàk۠ǀ^ËÂ@ÎÈÂà<ÎÂ[ÖÂÀGÔÂ`ÍÂgÔÂ@'Ï ÇÑÂà*ÑÂ@'Ï€¥Ô€:Ñ ¬ËÂàõÄ ßÍÂ`ªÛÂ@iÄÂÀ_РÏ JÑÂà×É—ÌÂ@†ÔÂ`ÍÂ`Ë€LÎÂ@žÐÂà6ÏÂàÅÌ ^ØÂÀMÓÂ@!ÐÂCÚÂÀwÌÂàxÄÂà§ÑÂ@zÖÂÀÖÑÂ`.ÆÂ )Ì€óÇÂÀôÌÂ`cÒÂ@3ÍÂ@˜ÑÂ`™ÉÂ@EÊÂ@WÇÂ@ªÎ |ÓÂàÅÌÂÒ×ÂÀôÌÂ@ Ô ùÓ ‚ÒÂ@¶Ì€jÉ€@ÐÂÀYÑÂ@'ÏÂÀ²×ÂÀÐÒÂ@!РÄÇÂ@]ÆÂÀƒÊ ëËÂ@bÚÂ,ÉÂ`"ÈÂ@9Ì ¦ÌÂ`WÔÂà¡ÒÂà×Â`{΀pÈ€™ÖÂ`Â×  ÑÂ`¥ÇÂàÑÊÂüÐÂ@'Ï ÁÒÂÀÊÓÂÀâÏ ùÓÂ@ÙÛ £× vÔÂ`‡Ì ‚ÒÂ`ÊÂ…ÏÂàSßÂ`'ÜÂà}ØÂ »Ó ÇÑÂÀÖÑ€ÕÌ€“×€ÂäÂ`âÂÀ”ÜÂà ÖÂàwÙ yÞ€«ÓÂ`æÑÂ@†ÔÂàSßÂ@bÚ µÔ d×€ØÂ€·Ñ ·Þ€:Ñ€òÜ€à߀¥Ô€«ÓÂ@t× £×ÂàwÙÂÀÄÔ ÁÒÂOØÂ@ÙÛ ÜÂ`]Ó ÄÇÂ@-΋ÎÂ`3Ú d×Âà‰ÖÂÀqÍÂÀYÑÂà$ÒÂà‰ÖÂ`æÑ®ÝÂ`øÎÂ`ÊÂ…Ï€"ÕÂÀGÔÂ8ÇÂÀÇÂàÓÂ@t×Â`Ë ˆÑÂ@†ÔÂ`WÔÂ…ÏÂàÑÊÂ@ÈÉÂsÒ FÜ ùÓÂÀšÛ€"Õ «à DÒ ÏÂ[ÖÂ@žÐ€çÉÂÀ ÉÂàúØÂ@3ÍÂ`ÚÓ »ÓÂ@ßÚ ÿÒÂà}ØÂ ÍÐÂmÓÂxæÂIÙ RÚ€:Ñ€“×Â`ÞÂ@>àÂ@ëØÂ µÔÂàôÙÂÞÕÂ@˜Ñ€pÈÂ@÷ÖÂàYÞÂà_ÝÂàMàÂÀÄÔÂmÓÂ@ßÚ ŽÐ @ÝÂ`÷ãÂ`ßÂ`E×Â`]ÓÂÀ#ÚÂ` Ì bÍÂà0ÐÂyÑÂÀwÌÂ`KÖ€ ÙÂ…Ï ÒÂàƒ×Â`9ÙÂ@åÙÂ`«ÆÂ`cÒ ©Ö€.ÓÂ@!ÐÂ`ËÂ ÛØÂ@t×ÂàîÚÂÀ§ÄÂÀ}ËÂÀèÎÂÀËÂ1ÝÂOØÂ`ÎÕÂÀÐÒ »Ó€"Õ€çÉÂ`ËÂà§ÑÂÀqÍÂ`ÊÂÀ;Ö #ÍÂÀîÍÂ@ýÕÂ`Í vÔÂ@’Ò )ÌÂà ÖÂÀèÎÂàãÇÂà¡Ò‘Í >ÓÂ`oÐÂ`±Å€RÍÂ`àÒ€dÊÂ`ÔÔÂ`ÍÂ@€ÕÂ@!ÐÂÀèÎÂ`É€¥Ô€ÚÂà¡Ò€™ÖÂàqÚ€“×ÂРVÏÂàØÂ`uÏÂÀSÒÂ@†Ô€ÃÏÂ@÷ÖÂÀÝÂÀAÕ µÔ€þÚÂÀ‚ßÂ`hæÂ ÏÚÂ@µáÂ+ÞÂäÂ@ÇÞÂ@VÜ€ÖÂÀkÎÂ@¤Ï |ÓÂ`KÖ€·ÑÂ` ÌÂÀqÍÂàrÅ€ÛË ¸ÉÂ`E× MÆÂ€½ÐÂÀ²× ŽÐÂ`oРšÎÂàwÙ ÿÒ jÖÂ`ÉÂР8Ô JÑ µÔÂ@?ËÂ`òÏ€jÉ nËÂ`àÒÂ@ÕÂ@°Í ÷É€pÈÂ@ÚÆÂ !àÁÒ€FÏÂà×Â`cÒ ÒÂ@ÈÉÂàÑÊ »Ó€|ÆÂ`^¾ÂÀÆÂ@EÊÂÀË€ùÆÂ@3ÍÂ@-΀·ÑÂ`ËÂ&ÊÂ@¤Ï vÔ—Ì ¾È ëËÂÀ É€áÊÂ@zÖÂÀeÏÂ@9ÌÂ@iĠǀˆÄÂÀÇÂÀk΀4Ò #ÍÂ`9ÙÂaÕÂ@†Ô—Ì ùÓÂà`ÈÂ@]ÆÂ©ÉÂ@ÈÉÂÀúË ßÍÂ`Û¾Â`ÏÀÂ`]ÓÂðÒ ¬ËÂÀÆÂÀ¾Õ ΀4ÒÂÀèÎÂU×€·ÑÂ@¶ÌÂ@¼ËÂöÑ VÏÂ@ÔÇ ;ÉÂÀèΠVÏÂÀèÎÂÀ¸ÖÂÀÊÓÂ@žÐ ÓÏÂÀ²×ÂÀ;ÖÂÀÊÓ€@ÐÂ@ÑÂ`àÒÂ`“ÊÂ`Ê€4ÒÂÀèΠåÌ >Ó€ ÙÂðÒ ÐÂÀݵǠ)ÌÂ@¤ÏÂàÓ€±Ò PÐÂ`WÔÂ ÊÆÂ—ÌÂÀ_ÐÂ@]ÆÂÀqÍ pÕÂ`?ØÂ`™É€vÇÂ@hÙÂÀAÕÂË€jÉÂ@¼ËÂ@EÊÂ@]ÆÂ€±ÒÂ@ÔÇÂÀ_РÙÎÂÀÇÂ`þÍÂÀ_ÐÂàÕ€þÚÂÀËÂÀYÑÂÀÊ€(Ô ¸ÉÂ`ÊÂgÔÂ`àÒ€½ÐÂÐÂ@ÓÂÀÊÓÂÀqÍÂsÒ LÛÂ`‡ÌÂ@†ÔÂ`ÎÕ åÌÂ`æÑÂäÔ€ÏÍ€:ÑÂ@÷ÖÂà¹Î µÔÂ@'ÏÂ`ÎÕÂà×Â`þÍÂÀ;ÖÂ@žÐ ØÂÀÄÔÂ`òÏÂà0ÐÂÀîÍ€ÖÂÀk΀ÕÌÂ`ÚÓÂ`cÒÂ@ÓÂ@†Ô€"ÕÂÀAÕÂ@÷ÖÂ@ ÔÂÀ¸ÖÂ@ÑÂ`“ÊÂÀÄÔÂ`æÑÂ@ªÎÂ@ªÎ©ÉÂ@ÈÉ ßÍÂ`!ÝÂ`oÐÂÀîÍÂà‰Ö >ÓÂ@ ÔÂÀÚÂÀ#Ú ÐÂÀ;ÖÂ`ÍÂ@KÉ DÒ€±ÒÂÁÅÂÀèÎÂÀ¸Ö€4ÒÂàËËÂ`°ÚÂ`!ÝÂ@Ò PЀXÌÂÀGÔÂ@˜Ñ€4Ò€áÊÂ@ªÎÂ@¤ÏÂÀGÔÂàéÆÂ€ÃÏÂ`{ÎÂàÓ ëËÂΠýÈÂÀÈ€jÉÂ@ìà¬ËÂ`‡ÌÂ`«ÆÂ€.ÓÂÀwÌÂàTÊ€ÛËÂ@ÈÉ€±ÒÂ@ªÎÂ@¼Ë †ÇÂÀqÍÂÀ/ØÂ@bÚÂàÅÌ íÕÂ@zÖÂ`E×ÂÀÛÂ@!ЀRÍÂ@ÔÇÂ@žÐÂÀÊÓÂà}ØÂ¯È ØÂ`ËÂ@!БÍÂ`ËÂ@?ËÂàxÄ DÒ€(Ô jÖÂ`ŸÈ kÁÂÆÙÂ`"È nËÂ@-ÎÂÀqÍ åÌ€½ÐÂ2È ,ÖÂ@3ÍÂ@!ÐÂÀƒÊÂ@Ò ëËÂ@{Á€²½Â>ÆÂ@9Ì€RÍÂ@ÇÞ€FÏ È £× VÏÂÀÐÒ >Ó ˆÑÂ…Ï 5ÊÂÀqÍ ËÂ`øÎÂÀÄÔ 8ÔÂ`ÊÂÀîÍÂà$ÒÂ`WÔ€ÏÍÂ`ÍÂÏÂ`æÑÂ`·Ä€ÕÌ vÔÂ@ÕÂ`ÊÂÀeÏÂöÑÂVÂÂàÂÂÀÊÓÂ`@ÀRÍ FÜ »ÓÂÀƒÊ€×Âà×Â`Í€½ÐÂ`Â× >ÓÂ` ÌÂ@ªÎ ÁÒ€.Ó€:Ñ  Ñ óÔÂÀÊÓÂ@ÔÇ€ÿÅÂ@t× åÌ ÍРÁÒÂ`.ÆÂ€^Ë MÆÂ`þÍÂàõÄ ½ÂÀ_ЀpÈ 2ÕÂàÝÈÂ`ìР”ÏÂ`uÏÂàHÌ #Í€ØÂ@nØÂ ÊÆÂ ÓÏÂàÓÂ`ÈÖ 8ÔÂÀ)Ù \ÎÂàfÇ šÎÂÀ_РzÉÂÀSÒ 2Õ jÖÂ`@ÃÂÐÂ`øÎÂ`ÎÕÂ@ªÎ XÙÂÀƒÊÂ@WÇ€‚ÅÂÀ$Å ŽÐÂÀîÍÂàÅÌÂà×ÉÂÀÜР¯ÕÂÀ‰ÉÂàïÅÂ@ÈÉÂ`@à¸É ƒ½Â€4Ò€ÕÌÂÀÊÂÀÇÂ@-ÎÂÀ_Ѐ±Ò ¦Ì€ÂÂÀ¿À hÌÂU× èÁ 'ÂÂÀ ÉÂ`uÏ PÐÂ@ ÔÂÀ³ÂÂ@øÁ ÈÂ@QÈ€™Ö _ÃÂsÒÂ͠πRÍÂà`È Ä Ä ÐÂ>ÆÂ`ŸÈ€óÇÂ@¤ÏÂ`±ÅÂÀÊÓÂ`™ÉÂàxÄ€ÃÏÂÀ¡ÅÂ`ÃÂÂ@òÂÂÀÈÂÀâϯȀáÊÂêÓÂ…ÏÂ@'ÏÂ`ÊÂÀeÏ ÍР5Ê—ÌÂ@¶ÌÂ@ÂÊÂ`FÂÂ`™ÉÂÀqÍÂà6Ï µÔÂÀèÎÂà×Âà ÖÂ@ŒÓÂ@3ÍÂ@˜ÑÂ@ëØÂ`øÎÂ`¼ØÂ@t×Â@3Í€¥ÔÂÀ5× hÌ ÓÏ 2Õ 8ÔÂ`QÕ€LΠhÌÂÀ}ËÂàZÉÂàÅÌÂ@oà,ÖÂÀYÑ€ØÂ ÍЀdÊ Vϋ΀FÏÂ`?ØÂ  Í £×ÂРRÚ€ÃÏ€«ÓÂà³Ï€‚Å‹ÎÂ@ŒÓ ÕÙÂ@˜Ñ€ÖÂ@3Í ÝÂ@zÖ€ÚÂÀ¬ØÂ SÅÂüÐÂàîÚÂ@ÈÉ ÍÐÂÀÊÓÂgÔÂ@ÓÂ…Ï€±ÒÂ`àÂ`Â×ÂàØÂ &× 8ÔÂ@'Ï ˆÑÂÐÂàÕ íÕÂ`àÒÂàBÍÂËÂ`Â×ÂÀ¦ÙÂÀîÍÂÀ•ÇÂ@ªÎÂË€@ÐÂ`æÑÂ`æÑÂ@3ÍÂà×ÂÀ”ÜÂÆÙ€XÌÂÀ5×€ÚÂÀAÕÂ@ÓÂ%ß ÕÙÂÀ/ØÂ Û 8Ô d×Â2ÈÂÀwÌ ÕÙ ¯ÕÂ`ÚÓÂ`(ÇÂ@t×ÂÀ5×Â`9ÙÂàÓÂÀ ÞÂÀ/ØÂà}ØÂ€RÍÂÏ€·ÑÂêÓÂÐÂ[ÖÂÀwÌÂ`ŒàÂÀÝÂêÓ€Ö ;ÉÂàNËÂ@KÉÂÀƒÊ€ÃÏÂà<ÎÂmÓÂ`Í‘ÍÂÀMÓ€(ÔÂ`ÍÂÀË ÿÒÂ`ßÂ…Ï€{Û ¯Õ FÜÂ`?ØÂ@Ó€×Âá ùÓÂàôÙÂéèÂ`QÕÂ@÷Ö€(ÔÂàkÛÂàwÙÂÌØÂÀGÔÂ@JÞÂ@Áß ÜÂÀdäÂ`ŒàÂàâÜ€«ÓÂÀšÛÂ`˜ÞÂ`ÞÂ`ªÛÂÞÕÂÀ¾Õ LÛ€øÛÂ`¼ØÂ@8áÂÀÄÔÂ@PÝ ¯ÕÂà*Ñ€XÌÂ@ýÕÂà§ÑÂ@¤ÏÂ@†ÔÂÀÜÐÂ`'Ü€ Ù óÔÂà¡ÒÂ@?ËÂÀÊÓ€"Õ £×Â@’ÒÂ@ÙÛ€“× «àÂÀˆÞ »ÓÂàÔ ÝÂÀeÏ Ѐ ÙÂÀ ÚÂ@†ÔÂ@ßÚ€(Ô€ÕÌ ùÓÂ`KÖÂÀ²×€ŸÕÂØÖÂà0ÐÂÀ¬ØÂÀqÍ€“×Â`ÈÖ ÓÏÂÀ/ØÂ`ÚÓ »ÓÂ`ÞÂÀ}ËÂ@ÈÉÂ@žÐÂsÒÂà<ÎÂÀÚÂàÔÂ@°Í‹ÎÂà}ØÂÀèÎÂàÔ ÐÂà‰ÖÂ@˜ÑÂ@žÐÂ`òÏÂ`‡ÌÂ@bÚÂà§Ñ€ÕÌ€™ÖÂ`¼ØÂ@Ò€óÇÂ@˜Ñ ÁÒÂ@Ó 5ÊÂàËË€óÇÂÀÛÂÀAÕ€·Ñ Ï ßÍÂÞÕ€:Ñ ŒÆÂ@÷ÖÂàØÂ€ÛËÂ`{ÎÂàBÍ ÙÎÂDÅÂ`4ÅÂÀYÑÂ@9Ì€áÊÂ@ÓÂ΀XÌ hÌÂÀ/ØÂ`KÖ ÷É ¦Ì ÇÑÂ`oÐÂÀÐÒ€ÏÍÂà¿ÍÂ@zÖÂÀ_ÐÂüРíÕÂ`iÑÂàÂÂ@]ÆÂÀÜЀjÉ PÐÂ`"È ¬ËÂ@¼ËÂ@QÈ çÖÂà­Ð ;É ëË€ÛËÂÁÅ nË >ÓÂÀqÍÂÀÄÔ€^Ë  Ñ ŒÆÂ€ÉÎÂÀ$ÅÂÀ<ÁÂ@¤ÏÂ`ËÂÀƒÊÂàHÌÂÀúË€LÎÂ@¼ËÂÀGÔÂà‰ÖÂ`ÍÂ@°Í€ÅÂ`‡ÌÂÀÜÐÂÀèÎÂÀeÏÂÀ/ØÂÀ#Ú ˜Ä ;É€±Ò€LÎÂàHÌÂÀèΠ¦ÌÂÀÊÓÂàZÉ€"Õ hÌ€¥ÔÂ`Í á×ÂÀ_Ѐ‚ÅÂyÑ ;ÉÂÀƒÊ yÞÂ[ÖÂà<΀4ÒÂ`ÍÂÀqÍÂÀ_ÐÂ@-΀LÎÂÀÄÔÂ@Õ€·ÑÂ@ ÔÂÐÂàlÆÂ@ÎÈÂà§Ñ åÌ Ä Ò£ÊÂÀGÔÂ@!БÍÂ@°ÍÂ`Í »Ó€XÌ YÄÂàÅÌÂàÅÌÂ@€Õ€½ÐÂÀÐÒ€àßÂÀ¸ÖÂà‰ÖÂÀÊÂËÂ`]ÓÂ`ÔÔÂ`ß pÕÂ@€ÕÂ`Í ùÓÂÀ¡ÅÂ`‡ÌÂÎÂÀ¸ÖÂà§ÑÂ[ÖÂà¿ÍÂ@†Ô ‚ÒÂ`ÚÓÂ`QÕÂ@'Ï çÖÂÀeÏ€±ÒÂmÓÂ@åÙÂ@ßÚ #ÍÂðÒ ©ÖÂÏÂà‰ÖÂÀ¦Ù çÖÂ`]Ó€4ÒÂÀÜÐÂ@EÊÂ@'ÏÂ`ªÛ pÕÂÀ;Ö ÇÑ€4Ò€ŸÕÂÀÿßÂmÓÂyÑÂ@t×€ìÝ ÝÂÀ¦Ù€"Õ€ŸÕÂäÔ€ÖÂ ÛØÂ Ë FÜÂàÓÂÀ#Ú€@ÐÂ`ÊÂ@ëØÂ€ŸÕ€ÖÂ@Ó nË ÎÂàúØÂ ”ÏÂöÑ€.Ó€ùÆÂÀ;ÖÂCÚÂÀ•ÇÂàîÚÂ`ÍÂüÐÂ`KÖ ÛÂ`¶ÙÂðÒ€ÛËÂà¡ÒÂÀkÎÂ`àÒÂà¡ÒÂ@\Û @ÝÂÀ;Ö ÷ÉÂÀ;ÖÂ@ÙÛÂ@3ÍÂ`QÕÂÀÄÔÂOØÂ€‡ÙÂà<ÎÂ`cÒÂØÖÂÀÜÐÂ@bÚÂ@ÙÛ€FÏÂÐÂà6ÏÂ@JÞÂ`˜Þ€(ÔÂÀAÕ ØÂ ÕÙÂàÖÞºÛ  ÑÂ@åÙ€‡ÙÂà×Â@hÙÂÀváÂsÒÂüÐÂÀÚÂ@\ÛÂ`ìЀ(Ô vÔÂ`9ÙÂ`žÝ€ Ù hÌ€½Ð DÒÂÀËÂàØÂ ÇÑÂÒ× ÐÂ@ÑÂàØÂ`oÐÂÀMÓÂ@bÚ ÝÂ@÷ÖÂ`ªÛÂ`QÕ€ÃÏ ØÂU× ëË€ Ù  ÍÂà ÖÂ`E×ÂàèÛÂ`°ÚÂà0РÏ€¥ÔÂ`ÔÔ È  ÑÂgÔ€RÍÂÀÖÑÂOØÂ`Â×ÂOØÂ`žÝÂ`ÎÕÂÀÊÓÂÀÊÓÂà­Ð PÐÂ@ÒÂ@-ÎÂЀÅ€ØÂÀ#ÚÂsÒÂàËË€"ÕÂÀ¬ØÂÀÝÂà›Ó ùÓÂÀ/ØÂàâÜÂÀ)ÙÂ@ëØÂ€«Ó€¥ÔÂàØÂ€«ÓÂ@ÑÂU×€ŸÕ åÌÂ@åÙÂ`zã á× ·Þ Ÿâ ÇÑÂà‰ÖÂ@3ÍÂ`òÏ€:ÑÂàÔ XÙ€uÜ —ÙÂðÒÂÀGÔÂ@¶Ì yÞ€ ÙÂ@ÙÛÂ`øÎ ÿÒÂÀAÕ ØÂ Û |ÓÂ=ÛÂà<΀4ÒÂ@†ÔÂ`9ÙÂà*Ñ \κÛÂ`™É€™ÖÂà<Π#Í€·ÑÂ ÊÆÂàÓ ÏÂà`ÈÂ,ÉÂàãÇÂ@ ÔÂ@-ÎÂ`¥ÇÂÀâÏÂ`iÑ ùÓ PÐÂ` Ì€ÕÌ€ÏÍÂ@’ÒÂ@ÒÂ`øÎÂ`KÖÂ`¶Ù FÜÂÀÄÔ ÍÐÂ@-ΠÿÒÂ ÊÆÂ`æÑÂ`ŸÈÂÌÂÏÂ@žÐ óÔÂÏÂ`ìЀØÂàÅÌÂàÝÈÂÀ”ÜÂ@hÙÂ@KÉ ÏÂà ÖÂàÕÂà<ÎÂÀ0à¤Â ÇÑÂ`æÑ€"Õ >ÓÂÀËÂà*ÑÂÐÂÀ›ÆÂ`‡ÌÂÀ$ÅÂ`æÑÂÀMÓ€|ÆÂµÇÂ`{΀ÛË ñÊ ¯Õ ¬ËÂ@WÇÂÀÊÂÀúË ÖÄÂ`ÚÓ »Ó tÊÂÀôÌÂ`ÈÖ€:Ñ€ÛË bÍÂ@ÎÈÂ@uÂÂàéÆÂ@ÈÉÂÀÇÂÀwÌÂà¿ÍÂ@3ÍÂÀË JÑ jÖ€@ÐÂ`øÎ ;ÉÂ`QÕÂÌ )Ì )Ì€·ÑÂàHÌÂàãÇ€ÉÎÂ@¶ÌÂÀAÕÂOØÂ`WÔ \ÎÂ`ÍÂ@ÔÇÂ`É€dÊ€iÞÂêÓÂÀƒÊÂüР”Ï ÿÒÂ@?Ë ;É žÃÂÀâÏÂ@!Р ÑÂà¹Î tÊÂ`ÎÕÂmÓÂ`{ÎÂ@Ò µÔ 5Ê‹ÎÂÀ*Ä€/¾ÂБÍÂÀ5×€XÌÂΠ”Ï zÉ SÅÂà`È ÷É ;ÉÂÀYÑÂàÝÈÂ@€ÕÂÀÇÂ@3Í€ÛË nËÂà¹ÎÂà×ÉÂ@Ñ ¬Ë€ÉÎÂÀSÒÂêÓÂ@'ÏÂ@Ò ñÊÂ@ŒÓÂà¹ÎÂ`KÖÂÀ‰ÉÂ`™ÉÂ`ÍÂÀeÏ€íÈÂÀkΠÖÄ€óÇ ùÓÂ@¶ÌÂàÑÊ ŽÐÂÀ¾Õ€ÚÂà*ÑÂÀSÒÂ@ÎÈÂÀqÍ ¯ÕÂ`WÔÂ`F ;É ÷É€ÃÏ ŒÆÂÏ€XÌÂ`òÏÂ@Ó ÁÒ€RÍÂÀYÑ Ë ªÁÂÌØÂ çÖ€LÎÂ@9ÌÂÀîÍÂ@ÂÊ€RÍÂ@ñ× ‚Ò ŽÐ d×ÂϯȠÎÂÀ¡ÅÂ`‡Ì šÎ ÐÂ`ÍÂËÂÀÐÒÂà<ÎÂ`Ê€ÏÍ AÈÂüÐÂÀ;ÖÂ`Ê ŽÐÂ@ëØÂàÑÊÂÀAÕ ëË€ÛË€(Ô€ŸÕ ßÍÂÌÂüÐÂÀÜЗÌÂ@zÖÂàÅÌÂà0ЀíȩɠbÍÂ@ÒÂ`ÎÕ åÌ È vÔ€XÌ€±Ò€‡Ù€‡ÙÂЀÛË€:Ñ€½ÐÂÀMÓ ØÂÀwÌ YÄÂÀSÒ€±ÒÂà<ÎÂÍÂ@žÐÂäÔ€ÕÌÂÐÂ@'ÏÂà­ÐÂ@†ÔÂ`9ÙÂà³Ï ÙÂ`àÒÂ@ ÔÂà6ÏÂà0ÐÂÀ|àÂaÕÂàúØÂyÑ bÍÂ@ßÚ ËÂ@ŒÓ )ÌÂàíï »Ó ÈÂ@ÚÆÂËÂ@µá€øÛÂà§ÑÂØÖ vÔÂÀAÕÂàAâÂ@µáÂÀGÔÂÐÂ`¶Ù€½ÐÂÀÚÂàîÚÂ`øÎÂ`æÑ Ù ØÂ ˆÑÂ@ÑÂÀšÛÂ`]ÓÂÀšÛÂ`?ØÂ ‘Ú€ŸÕÂüÐÂsÒÂ@˜Ñ€ÚÂ@t×Â@ýÕÂà¾âÂàúØÂ€vÇÂÏ çÖ Ú ÁÒÂðÒÂÀ|àÂIÙÂÀ}ËÂàÑÊ€¥ÔÂ@°ÍÂ`¤Ü€ØÂÀMÓÂàHÌÂIÙ çÖ€“×ÂÀ¾Õ€:ÑÂOØÂÀÝ :Þ€Ö vÔÂ@JÞÂ@-ΠÝÂàYÞÂÀ²× |ÓÂ@ÑÂ@˜Ñ€ìÝ€4ÒÂÀ ÉÂÀ5×ÂÀ¾ÕÂÀAÕ ÏÚÂà$ÒÂ2È pÕÂ@bÚÂ@ ÔÂÀ;ÖÂ`]ÓÂРØÂ@Ñ ÓÏÂ…ÏÂgÔ Ò  ÍÂΠÉÛÂÀ;Ö€"ÕÂà³Ï |Ó€ÛËÂ@t× £×Â@zÖÂР”ÏÂÀ)Ù€"Õ bÍÂà×ÂÀ¬ØÂà­Ð šÎÂÀÄÔ ÒÂÀ_РÒÂ@ñ×Â`òÏ 8ÔÂÀ_ÐÂ@ÂÊÂmÓ€ÃÏÂ@¤Ï€:ÑÂÀôÌ€ÃÏ çÖ  Ñ€ŸÕÂ`ÍÂ`™ÉÂ`{ΠÍÐÂà¡Ò ÇÑÂà­ÐÂgÔÂ@ÓÂ@t× ÎÂÀÈ @ÝÂ`™ÉÂÀîÍÂÀÐÒÂ`ÍÂÀ¸ÖÂêÓ @ÝÂà ÖÂ@°ÍÂ`Í JÑÂ`ŸÈÂ&ÊÂà­ÐÂ`@ÃÂ`KÖ€«ÓÂÀÜÐÂ`øÎÂ@ßÚÂ@QÈÂ`E×Âà<ΠÅ€jÉÂÀMÓÂÀ•ÇÂ@QÈÂÀÊ€FÏÂ@†ÔÂ>ÆÂ d×€L΀ ÄÂ`RÀ \ΠýÈ€ÅÂ`ÚÓ ÒÂÀeÏ GÇ€LÎÂ@ëØÂ@ñ×Âà›ÓÂÀkΠE½ÂÌÂ`ÔÔÂ@?ËÂÀÄÔ bÍÂà¡Ò ,Ö ‚Ò¯ÈÂÀâÏÂyÑ PРÐÅÂ`Ê€ ÀÂÀèÎÂ@3ÍÂÀk΀.ÓÂ@ÓÂ@’Ò bÍÂàŠÁÂàÕÂ@WÇÂàBÍ Ü ‚ÒÂ…ÏÂ`øÎÂ@QÈ ÄÇ€@Ѐ.Ó€#ÀÂÀÆÂ`ÚÓ ßÍÂ@ÕÂÀÊÓ £×ÂÀ5×Â@zÖÂÀqÍÂà0ÐÂ@9ÌÂà6Ï bÍÂ`Ë ñÊÂ@Ó ñÊ€XÌ  ÑÂÀÊÂ`ÀpÈ VÏÂËÂ@ªÎÂ`oÐÂ@˜ÑÂ`ìÐÂ&Ê ÁÒÂ2È ÓÏ yÞ ÙÂ`‡Ì VÏ€ŸÕ ¯ÕÂÀvá DÒÂ@Ñ»ÆÂÇÄÂÐÂàîÚÂÀwÌ nËÂ`ìеÇÂà×ÂÀ¾ÕÂàÅÌ ëËÂ`òÏ‘ÍÂà0ÐÂàTÊÂàËËÂÀ¸ÖÂ@bÚÂà×Â@’Ò€‚ÅÂ@†ÔÂà³ÏÂ`æÑÂ@'Ï PÐÂ@ÕÂàËË pÕÂ@EÊÂà0Ѐ±Ò€4ÒÂàfÇÂ`ÚÓÂà Ö€óÇ ÁÒÂÀ_РMÆÂ—Ì åÌÂ`«ÆÂ`-ÛÂyÑ€·ÑÂ`ìРAÈÂÀk΀·ÑÂÀeÏÂà`È€±ÒÂÀ5×ÂaÕÂ`ÍÂ`E×Â@žÐ ˆÑÂÀkÎÂÀkÎÂÀâÏÂmÓÂ@ýÕ€óÇÂ@zÖÂÀ²×ÂðÒ tʋ΀çÉÂà6ÏÂÀkÎÂà*ÑÂ@nØÂ ˆÑÂÀôÌÂ&ÊÂ@!ÐÂàÓÂÀè΀ÖÂ@†Ô€ŸÕÂ@˜ÑÂ`ÍÂ@t×Â`E×Âà¿ÍÂÀÐÒÂà¹ÎÂ`“ÊÂäÔÂàÕ€"ÕÂàØÂ`ÍÂ`¥Ç€ÕÌÂàËËÂÀwÌÂ@9Ì bÍ GÇÂ@žÐÂ@ÂÊ€ÛË ñÊÂÀÄÔ ÈÂÀƒÊ€±Ò ˜ÄÂ@žÐ ¬ËÂ`3ÚÂÏ  ÍÂ@-΀4Ò YÄÂÀúËÂàÓÂà¿Í€ ÄÂÌÂÏÂÀqÍÂàÓÂ@ÑÂàHÌ tÊ€«ÓÂ`¥ÇÂ@¶ÌÂ`cÒÂ@ŒÓ bÍÂ@!ÐÂ`ÎÕÂ`ÍÂÍÃÂ@ÔÇÂ@¤Ï©É—Ì€L΀ŸÕÂ@æÄÂ@¼ËÂÀ$Å tÊ€¥Ô¯È ô¿Â PÐÂ@ÂÊ€½ÐÂÀ}ËÂ`æÑ€4ÒÂ@ÓÂ@’ÒÂüРpÕ€LΠÍР€ÈÂà³ÏÂ@˜Ñ ÐÂà‰Ö€@ÐÂÀ¿ÀÂ`±ÅÂ@÷Ö€É΀vÇÂ@'ÏÂÌÂà¡Ò ¯ÕÂà›Ó€RÍÂ`ìЀíÈÂaÕ ;ÉÂÀèÎÂ@!ÐÂ@°Í Ù΀ÃÏÂÀ¡ÅÂÀMÓ ŒÆÂ ÇÑÂÀ}ËÂ`"ÈÂÀ§ÄÂ@÷ÖÂÀ¦Ù €ÈÂÀÊ hÌÂ@EÊ 8ÔÂà0ÐÂàÕÂ`Í >Ó€±Ò€|ÆÂ@3ÍÂ@ ÔÂÀ#ÚÂà¹Î€ÃÏÂ`ÈÖ d×Â`uÏ zÉÂ@¶ÌÂ`ʯÈÂàÝÈ€ÏÍ ÜÃÂ@?ËÂ@¶ÌÂ`iÑÂ`ìÐÂ@-Π΀LÎÂàÑÊÂ@ÚÆÂ@ÈÉ€óÇÂÀGÔ ÄÇ€LÎÂà×ÉÂÍÃÂ@°Í€çÉ€óÇÂ,ÉÂÏ ýÈÂ@ ÔÂ`Í€ÉÎÂà­ÐÂ`RÀÂ`cÒÂØÖÂÀÖÑÂ`°ÚÂ` Ì ¦ÌÂà6Ï ÕÙ€XÌ ÷ÉÂÀkÎÂÀBÀÂ8ÇÂ@¤Ï )Ì‹ÎÂÀÈÂÀ/ØÂàûÃÂàlÆÂ£Ê ÆÂàHÌÂÀƒÊ€^ËÂà‰ÖÂàËËÂà¡Ò€áÊ á×ÂàÕÂÀ ÉÂ`uÏÂ`ÊÂÀ_ÐÂ`Ë ÄÇÂÀk΀ÃÏÂà×ÉÂ@¼Ë€Å€àÈÂ@WÇÂÀîÍÂ@˜Ñ ëËÂ` ÌÂÀ ÉÂÀÈÂ@åÙ /ËÂ`ìÐÂ`“Ê€LÎÂ@ÈÉ€ŽÃÂÀÈ £×€pÈÂÀ‰ÉÂà§ÑÂÀË °À hÌÂ`ŸÈÂ…ÏÂà•Ô ¦ÌÂ@¼ËÂ@-ÎÂ`"È ÆÂà¿Í Ù΀^ËÂ`ÉÂà³ÏÂÀÐÒ€«ÓÂÀÆÂÀÜÐÂÀwÌ ÏÂ@°Í€:ÑÂ`·Ä &× åÌÂÎÂàõÄ GÇÂ@¤ÏÂÀSÒÂÀ_ÐÂ@uÂÂà¹ÎÂÀÄÔÂ`âÂà›ÓÂÀôÌ GÇ ÇÂÌØÂ çÖ #ÍÂÀîÍÂÀÇ ”ÏÂ`?ØÂ \ÎÂÀ§ÄÂ&ÊÂÀ/ØÂÀ¾Õ \ίȠ»ÓÂàÕÂà³Ï ÍЀ^Ë€«Ó AÈ€4ÒÂ@€ÕÂÀÊÓÂÀ*Ä ÈÂÐÂ@9ÌÂà‰Ö€ÃÏÂÀMÓÂ`Í ëËÂ@3ÍÂÀ‰ÉÂ@†ÔÂà¿ÍÂ@÷Ö—Ì€ÉΠJÑ ¯ÕÂ`"ÈÂ@'ÏÂ@'ÏÂÀÊÂ@Ñ€ÕÌÂ@Ó‹ÎÂ`ìÐÂ`Â×Â`cÒÂ@cÅÂà6ÏÂ@æÄ¯ÈÂÐÂ@Ò Ù΀:ÑÂmÓÂaÕÂ`oЀÿÅÂbÀÂ@’ÒÂ`-Û€4ÒÂ`.ÆÂ`«ÆÂ@VÜ €ÈÂÀ¾ÕÂàqÚ€ÃÏÂ`ìЀFÏÂÀúË€·ÑÂ@†Ô #ÍÂ`ŒàÂÀ¬ØÂ@!ÐÂà0Ѐ"Õ ÍÐÂà§Ñ ¸ÉÂÌ bÍÂà¡ÒÂ`ÉÂ@¤ÏÂ@9ÌÂÍ Ú ˆÑÂsÒÂ`ÉÂ`±ÅÂ@ÑÂà¿Í€íÈÂà›ÓÂÀYÑ€^ËÂР|Ó€±ÒÂÀôÌÂ@žÐ DÒÂÀ/ØÂàTÊ ÿÒ VÏ PÐÂmÓÂàÓÂ`òÏÂà›ÓÂÀ²×€™Ö€@РÒÂðÒÂ`É€ÃÏÂ`KÖ ñÊÂÀÈÂÀGÔÂÀÜÐÂÀÐÒÂ`Í ñÊÂ`Í ÍЀ‚Å ”ÏÂÀwÌÂ`¼ØÂ`{ÎÂ`Í ùÓÂà§Ñ€ÕÌ »Ó©É€pÈÂ@ Ô€ÕÌ€^ËÂaÕÂ`ìЀ@ÐÂàŠÁ ¾È /Ë 8ÔÂ@’ÒÂ@!ÐÂ`òÏ‘ÍÂà¡ÒÂÀ_Р/ËÂÀ;ÖÂÍÂÀSÒÂàéÆÂ 8Ô )Ì€ÉÎÂ@9ÌÂmÓ nËÂÀúË ÙÎÂÀîÍÂ@¶Ì€™Ö‹ÎÂà$Ò LÛÂÀkÎÂ`“Ê€½Ð€(Ô£ÊÂàïÅ ‚Ò‹ÎÂ@zÖÂ`žÝ )ÌÂ@åÙ AÈ ÅÂJÄÂÀMÓ ”Ï ÅÂÀÊÓ€øÛÂäÔÂ`QÕÂà_ÝÂ@!ÐÂ@°ÍÂ`òÏ 5Ê ÍР2ÕÂ@¤ÏÂà¹Î ÒÂÀ‰É ÇÑÂ`æÑ ¾È bÍ šÎÂà*Ñ PÐÂ@ÑÂÀ5×ÂsÒÂ@ýÕÂØÖ ÍÐÂà³Ï »Ó ‚Ò 8ÔÂ…ÏÂÀeÏÂà„ÂÂ`™ÉÂ@ÔÇÂÀèÎÂ@¤Ï VÏÂÀƒÊÂÀƒÊÂÐÂ@ŒÓ ¾ÈÂàTÊÂ…Ï ÁÒÂÀË€ÏÍÂÀ¦Ù€ÏÍ ˜ÄÂ@!ÐÂà­ÐÂ`æÑÂ`ÚÓÂÀƒÊÂÀôÌÂÀ­ÃÂ@'Ï ²Ê ßÍÂ`Í šÎ€4ÒÂ@?ËÂ@ªÎÂ…Ï ¦ÌÂÀôÌÂ@˜Ñ ÙÎÂ…ÏÂ@t×Â`ËÂ`ìÐÂ@ÒÂ`þÍ€šÁÂÍà2Õ©É GÇÂ@¤ÏÂ`“ÊÂ@3ÍÂÀ¬ØÂ`±Å€(ÔÂàfÇÂÀËÂ`¼ØÂà¹Î€çÉÂÀƒÊ ÁÒÂàÀÂàËËÂ@ªÎÂÀ$ÅÂ`տ¯ÈÂàËËÂÀ5×Â@žÐ€“×ÂöÑ€jÉ ÷ÉÂ ÊÆÂà6Ï€×ÂÀ¬ØÂ ùÓÂΠVÏ ΀«ÓÂàÅÌÂÀÇÂ@ÎÈÂ@ÑÂÀèÎÂÀèΠAÈ tÊ ÿÒÂgÔ 5Ê ¼¾Â ÄÇÂÀ¸Ö ÏÂÀYÑÂ`ÃÂÂÁÅ€çÉÂ[ÖÂÀîÍ È ÷ÉÂÀ§ÄÂà¹Î Ï PЀíÈ€áÊ€RÍÂ@ŒÓ€‚Å€^ËÂöÑÂ@ÂÊÂàBÍ€ŸÕ jÖÂÐÂ`Ê ÓÏÂ`ìÐÂ`þÍÂÀ É€·ÑÂ@EÊÂÀeÏÂ`oÐÂàNË€«Ó€pÈ ˜Ä €ÈÂ@€ÕÂà×ÉÂ`Í ÆÂ`{ΠØÂà0ÐÂÀÜÐÂ@ªÎÂöÑÂ@Ó šÎ€çÉ nË ßÍ ¦ÌÂàBÍ ÁÒ  ÍÂ`.ÆÂ MÆÂÀâÏÂÀ Þ &×ÂàNËÂÀËÂ`òÏ ØÂÀ}ËÂàfÇ ÙÎÂ`Í—Ì€^Ë ŒÆÂ ”Ï€@ЀóÇÂ`øÎÂÀqÍ åÌ ¯Õ ¬Ë€·ÑÂÀƒÊ€ùÆÂÀÇ€óÇÂDÅ #Í »ÓÂ@?Ë€‚ÅÂÀ$ÅÂÀúË€±Ò€jÉÂ`àÒ€ÿÅÂIÙÂà}ØÂàÅÌ€ÕÌÂ`«ÆÂ@KÉÂ`øÎÂ`±ÅÂàÀ€ ÄÂ@àÅÂÀÜЀÏÍ MÆÂ µÔÂÀÄÔÂÀÄÔ ¦ÌÂ`þÍÂÀîͩɀÕÌÂÀwÌÂ@ÑÂÀAÕÂàqÚ d×Â`ÎÕÂÀîÍ©ÉÂÀâÏÂaÕÂÀîÍÂ`“ÊÂÐÂ@'Ï€{Û ¦Ì ŒÆÂ Π£×ÂàÓÂ`Ë ÄÇÂ@žÐÂà$Ò€áÊÂ@ÓÂ@oÃÂ`ËÂÀâÏÂÀÄÔ€@ÐÂ`oÐÂ@KÉÂäÔÂÍÂ`™ÉÂ`øÎÂÀîÍÂ@!ÐÂÀqÍÂ`{ÎÂ`cÒÂÀeÏÂà•Ô€òÜÂàBÍÂÇÄÂ@QÈÂJÄ€(Ô€jÉÂ`ÚÓ /Ë /ËÂ`æÑ€4ÒÂÀ ÉÂ`‡ÌÂà`ÈÂÀwÌ ¯Õ ÿÒÂàÑÊÂ` Ì VÏÂàÕÂàÓÂÀ¡Å€½ÐÂüЀŸÕÂU×ÂÒ×ÂÇÄ tÊÂmÓ€dÊÂàúØÂ@bÚÂÐÂ@ÂÊÂOØÂÀÐÒ 8Ô ëË‹ÎÂ`òÏÂ&Ê»ÆÂÀkΠRÚ ÜÀ·ÑÂ`oРÓÏÂ@Ò \ÎÂÀƒÊ DÒ€4ÒÂÀwÌ )ÌÂðÒ ÙÎÂ@!ÐÂà$Ò ÿÒÂ@žÐÂ`{ΠÐÂ`“ÊÂ@ñ× —ÙÂ,É ¬Ë€RÍÂ`ËÂÀqÍÂ`4ÅÂÀ¡Å©ÉÂ@ÒÂ` ÌÂ`ËÂÀƒÊÂ`‡Ì ¬ËÂ@Ó Ù çÖÂ`þÍ€FÏÂÀîÍÂÀÆÂ bÍÂÀ6ÂÂmÓ€‡ÙÂÀ¾ÕÂ@t×Â`æÑÂà¹ÎÂà*ѩɀ4ÒÂsÒÂÀ5×ÂÀ/ØÂ€øÛÂ@’ÒÂ@°ÍÂÀ/ØÂsÒ 5Ê ëË ,Ö VÏ ‚ÒÂ@ÒÂ@€Õ ÍÐÂÀŽÝÂàØÂµÇÂ`ŸÈÂüÐÂ`àÒÂ`߀·Ñ€áÊÂà<΀(ÔÂÀ¦Ù€·Ñ ˆÑÂÀSÒÂà³ÏÂ`ÍÂ…ÏÂ@’ÒÂ`E×Â@ÕÂ`˜ÞÂ@˜Ñ 8ÔÂà¹Î€|ÆÂJÄÂàTÊ€ ÄÂ@°ÍÂ`‡Ì€ÉÎÂ@-ÎÂ@†ÔÂ`“ÊÂ@EÊ€«ÓÂ@°ÍÂ`òÏ€|ÆÂàfÇÂ`{ΠqÀ€áÊ ÆÂ@t×ÂÀèΠ Ñ 5ÊÂÀ‰É€½ÐÂÀAÕ JÑÂà­Ð€ÏÍ€:ÑÂÍÃÂ`9Ù€«Ó€(ÔÂmÓ—ÌÂ@ÔÇÂàTÊÂ@ Ô€ùÆÂ zÉÂà³ÏÂàZÉÂÀ_РÐÂ@?ËÂ ÊÆÂÀ}ˣʠÍРbÍÂ` Ì€ÉÎÂà`ÈÂàTÊÂ`ìÐÂ`øÎ vÔÂ` á zÉ #ÍÂà×ÉÂ`(Ç bÍ€@ÐÂà Á€‚ÅÂ@¶Ì íկȠëËÂÏ€ÛËÂöÑÂà*ÑÂ`ËÂÀ¸ÖÂÀ$ÅÂÀîÍÂ`Ë ÖÄÂ@¶Ì€dÊ€·Ñ bÍ‘ÍÂÀeÏÂÀîÍÂ@¶ÌÂÀÆÂ ÙΠ€È ÁÒ vÔ ØÂ ÄÇÂàlÆÂ@QÈ‘ÍÂ@cÅÂàÅÌ ΀^Ë nËÂίȻÆÂ@¶ÌÂÀ}ËÂ@’ÒµÇÂÌÂ2ȯÈÂ`“Ê €ÈÂÀݻ #ÍÂàÑÊÂÀƒÊ ØÂ`ÊÂàïÅÂ`{ÎÂ`ŸÈ ¬ËÂÎÂ@ÚÆÂ >Ó€·ÑÂ ÊÆÂ€çÉ ËÂÍ€FÏÂ@ÚÆÂ ÒÂÀËÂÀYÑÂ@àÅ©ÉÂà¡ÒÂ,ÉÂÀMÓÂ`ìÐÂ@KÉÂ`ÔÔ€±ÒÂ@-ΠÓÏÂàBÍÂ ÊÆÂ8ÇÂÀúË DÒÂÍ ,ÖÂÐÂÀÄÔÂgÔÂÀYÑÂPÃÂ`òÏÂà ÖÂgÔÂÇÄÂÌÂÀÊÓÂÀ ÚÂyÑ ÓÏ  ÑÂ@3Í€ùÆÂàîÚ LÛ€"ÕÂà¹ÎÂÓÂÂÀ¡Å€ÏÍÂ@ŒÓ GÇ žÃ€4ÒÂÀ¡Å£ÊÂÀqÍ€XÌÂ@¶ÌÂ`øÎ‘Í |ÓÂà¹ÎÂ`{ÎÂàûÃÂ@-ίÈÂà ÖÂà¿Í 5Ê ÓÏÂ&ÊÂU× XÙÂöÑ åÌÂÀ¸ÖÂàxĠǀáÊÂàƒ×ÂÀúËÂ`ËÂà*ÑÂ@°Í ˆÑÂàÕÂ`ìÐÂÀîÍ nË ªÁÂ`ËÂÀÜРÇÑÂàãÇ VÏÂÀeÏÂ`.ÆÂ`(Ç  Í ØÂ€LΠVÏ ÍÐÂÀ•ÇÂРýÈ AÈÂàãÇÂÀâÏ ëËÂàlÆÂ@ÒÂ@!ÐÂ@ÕÂÍÂà¡ÒÂàZÉÂ`ËÂà6Ï ’ÅÂ`WÔÂÀƒÊ ¬Ë ÐÂàÔ€ØÂà×É #ÍÂ@¤ÏÂ`WÔÂ@¤Ï€ŸÕÂ@QÈÂ@ò€ÉΠ—ÙÂ@ŒÓÂÀYÑ€ÕÌ€ÕÌ ”ÏÂÏÂ@KÉÂà•ÔÂàØÂ ©ÖÂÀk΀.Ó€çÉÂà*ÑÂàBÍ€"Õ ÇÑÂÀ/ØÂ tÊÂ`ìÐÂ@Ó ùÓÂÀ5×Â@ñ×ÂàãÇ€LΠ Ñ€«Ó  ÑÂ&ÊÂà–¿ÂÀeÏÂàBÍ€½Ð )ÌÂÀ ÉÂ`4ÅÂ`«ÆÂaÕ ÝÂ`WÔÂàØÂ@°ÍÂ@-ÎÂÏ ŽÐ ÎÂ`cÒ »ÓÂÌÂØÖÂ`òÏ€ÉΠ8ÔÂ@bÚÂ@ÎÈÂ@°ÍÂðÒÂÀÖÑÂ`æÑ€#À  ÍÂàlÆÂ€çÉÂ@€Õ /ËÂ@†ÔÂà¿Í€ÏÍÂ`4ÅÂ@KÉÂ,ÉÂÀeÏÂöÑ bÍ€ŸÕÂà¡ÒÂ@˜ÑÂIÙÂ`ÔÔÂÀÊÂ8ÇÂÀÈÂêÓ  ÑÂÀ)ÙÂ@ÈÉÂ@9ÌÂÀÖÑ€çÉÂ@?ËÂÀ_ÐÂàËËÂØÖ€ŸÕÂüÐÂ@hÙÂÀƒÊÂÏ ¾ÈÂ ÊÆÂ&Ê€×Â@!ÐÂàÅ̆ºÂµÇÂ`ìР‚ÒÂà ÖÂ`QÕÂÀÊ ”ÏÂgÔÂà§ÑÂ@†Ô 5Ê ,ÖÂmÓÂ`ÎÕÂ@¤ÏÂ@KÉÂÌØÂÌØÂ ÿÒÂ`WÔ€ÚÂöÑÂÀâÏÂÀ*ÄÂ@QÈÂÀYÑÂ@ªÎÂàÑÊ vÔ€:ÑÂ=ÛÂ@Ó€ØÂ€4ÒÂÀôÌÂÀîÍÂàÑÊÂÀ_ÐÂ`™ÉÂÀúËÂ@À zÉÂÀÈÂàËËÂÁÅÂÍÃÂà<ÎÂà³ÏÂàfÇÂàéÆÂ@°Í šÎ€.ÓÂ` ÌÂ`“ÊÂÀÖÑÂ`ÍÂ`?ØÂ@KÉ€ÛË JÑ€jÉÂÀèΠ Í€FÏÂ`KÖÂÀqÍÂàûÃÂ`Ê€” /Ë€ÕÌÂà}ØÂ€·ÑÂ@ÔÇÂÀîÍÂ8ÇÂ…Ï ”ÏÂÀúË€ÂÂ`ËÂÀ¾ÕÂÀSÒÂàãÇ ØÂ` Ì€½Ð€ÿÅÂ@°ÍÂ@]ÆÂ@¶ÌÂ[ÖÂyÑÂ@-΀ŽÃÂà`ÈÂ̯ÈÂ`¥ÇÂÀ­ÃÂ8Ç  Í ËÂ`uÏÂÀ}ËÂ@°ÍÂÀôÌÂ`Ê»ÆÂ€ÛËÂ`Õ¿ÂÍÂàƒ×ÂÀèÎÂÍÃÂ`þÍÂ`àÒ€@ÐÂ@¼ËÂÀÈÂmÓÂ`Í ÄÇ JÑÂÀîÍÂÀ§Ä€ÃÏÂà*ÑÂ@¼ËÂ`òÏÂ@QÈ ÙΠýÈÂ`¥Ç ;ÉÂÀkÎÂ`{ΠÛ»ÆÂ`¥Ç »ÓÂ@EÊÂ@ÂÊÂà›ÓÂÀSÒÂÀ ÉÂ`Í€.Ó çÖÂÀƒÊ ÐÅÂn¾Â †Ç€ˆÄÂÀÇÂà¹ÎÂ`àÒÂÀSÒ€GºÂÀË \ÎÂ…ÏÂàNËÂ@¤Ï€|ÆÂÀ¡Å ÄÂ2ÈÂà<ΑÍÂÀ‰É hÌÂ@ÔǠȀFÏÂÀ•Ç °À ”Ï w¿Â ”ÏÂ`ËÂ`]Ó ¤ÂÂ`{ÎÂÀôÌ€ÃÏÂÀ›ÆÂ©É _ÃÂ`þÍÂàéÆÂDÅÂÁÅÂ@KÉ ¦ÌÂ@?Ë€çÉÂàÔÂðÒÂyÑÂ@ªÎ !ÃÂà`ÈÂ`ÎÕ€çÉ DÒÂÀ$ÅÂ`LÁÂ@bÚÂ@ÓÂ`¥ÇÂÀÇ€óÇ€ÉÎÂà×É  Ñ ÉÛ GÇÂ`þÍÂÀ‰É ÆÂ |ÓÂ@“½Â РýÈÂ`iÑ )ÌÂЀ.Ó€±ÒÂ@ÓÂÍÂgÔÂÀÇÂà¿Í VÏÂàËËÂ[ÖÂ`ËÂ,É€ÕÌÂ@EÊÂ@!ÐÂ@’Ò e€óÇÂ`oЀ^ËÂ&ÊÂàÅÌÂ@ÓÂÀÈÂ@¼Ë \ÎÂ@ŒÓÂÀúËÂÀËÂ@ÔÇÂ`@ÃÂ`Ë€RÍ€ùÆÂ`·ÄÂÀúË ÍÐÂÀeÏÂ@æÄ—ÌÂ\ÁÂÀõ·Â`LÁ€™Ö€¥ÔÂÀqÍÂàZÉÂ`É ÙÎÂÀ$ÅÂ@ÑÂÀÊÂ`øÎ \ÎÂ,É€jÉÂàËËÂ@KÉ MÆÂ@ªÎÂ`Ë€jÉÂ@(ºÂ@ÔÇ»ÆÂ€ ÄÂ@Õ ÁÒÂà*ÑÂÀÊÂàqÚÂÀ‰É AÈÂ` ÌÂà<Π÷ÉÂ@'ÏÂ`™ÉÂÀÊ _ÃÂ` ÌÂ@-ΠtÊ ÇÑÂäÔÂÎÂ@žÐÂ@!ÐÂà¿ÍÂ@æÄ€Å€«ÓÂ`uÏ€çÉÂÀ³ÂÂÀÇÂ`øÎ »ÓÂà³ÏÂÀ‰ÉÂÀkΠ Í ŽÐ€@РVÏ ÇÑÂÀ;ÖÂËÂöÑÂ`ÎÕÂÀÐÒÂàrÅÂÍÂÀ*ÄÂ`ÊÂ`™ÉÂàZÉÂ&ÊÂà×É ”Ï€×Â@¼Ë ÈÂ@ÂÊÂàTÊ ÇÑ PÐÂÏÂaÕÂ@3ÍÂÀYÑ ;É ýÈ ÒÂÌÂ`àÒ€ùÆÂ >ÓÂ@ªÎÂ@Ñ ÇÑ€FÏ ÇÑ€RÍÂ`‡ÌÂàãÇÂ`ÚÓÂà6ÏÂà6ÏÂ=ÛÂÞÕÂÀ•ÇÂÀÈ ßÍÂ@-ÎÂàËËÂÐÂ`«ÆÂÀYÑÂ@9ÌÂ@ÚÆÂ`ÎÕ€¥Ô€·Ñ€ØÂÀ‰É üÝÂ@ŒÓÂ@ÂÊÂàlÆÂ€ÃÏ ßÍ€ØÂ ÍÐÂàrÅ ñÊ ÇÂà×ÉÂ@ªÎ ßÍÂ@ŒÓÂ`ÔÔÂÀ_РØÂ`cÒÂàïÅ ÓÏÂàúØÂ£ÊÂÀ_ÐÂ@3ÍÂËÂ@-΋ÎÂ`Ê€íÈÂ`òÏÂ&Ê€ÏÍ MÆÂ tÊÂÀwÌÂ`(ÇÂÀ¡ÅÂà×ÉÂàÑÊÂ`iÑÂyÑÂ@cÅÂÞÕÂ@9ÌÂ8Ç€±ÒÂ@3ÍÂà6Ï vÔÂÀ ÉÂ`«ÆÂ`™ÉÂ@3ÍÂÀqÍ PÐÂ…ÏÂ@ñ×€^ËÂË ¸ÉÂà ÖÂ@¶ÌÂÀ_ÐÂÀ;ÖÂÀkÎÂÀËÂà•Ô€óÇ€‚Å zÉÂÀ}ËÂ@]ÆÂ@æÄ©É€RÍÂÀ¡Å GÇÂ@?Ë šÎ—ÌÂÀqÍÂ@ò åÌ PÐÂ`{Π˜ÄÂ@ŒÓÂà<ÎÂ`þÍÂ`uÏ /Ë įÈÂà³ÏÂ`ÚÓÂЀÖ€LÎÂË€çÉ‹ÎÂÀÄÔÂ@ÈÉ ¾ÈÂÀ¹ÁÂàZÉÂ@ÓÂ`æÑÂ@]ÆÂ@?ËÂ[ÖÂàËË zɣʠšÎ ñÊ€·Ñ ÅÂöÑÂ@ÂÊÂ@t×Â@¶ÌÂÀMÓ€ÿÅ °ÀÂÀË ,Ö€áÊÂ@¤ÏÂ@EÊÂ@ÑÂÀ_ÐÂÀèÎÂËÂÀƒÊ ÐÅ ¸ÉÂ`ŸÈ /Ë žÃÂÀÆÂÀƒÊÂàûÃÂ@žÐ ÈÂÀÊ ýÈÂ`FÂÂà<ÎÂ…ÏÂ@Ñ ßÍ AÈ žÃÂ`ͩɠ\ÎÂ`ÉÁÂ`«ÆÂÀîͯÈÂ@÷Ö ËÂ`‡ÌÂöÑ€dÊ€áÊÂ…ÏÂà›ÓÂÀîÍ ‚Ò€jÉÂ`òÏ€½ÐÂ@9Ì tÊ»ÆÂ`ÍÂà•ÔÂÀâÏ  ÍÂÀ$ÅÂDÅÂ`@ÃÂ`™ÉÂÀôÌ€XÌÂ`ŸÈ ‚Ò‹ÎÂËÂ@¤Ï ÐÅÂËÂË€ÛËÂ`Ë ¾ÈÂà§ÑÂ@´öÂ`:Ä GÇÂà¹ÎÂ@ÒÂàÔ )Ì€dÊÂà*Ñ€|ÆÂ€óÇÂ@÷Ö€áÊÂðÒÂàéÆÂ€FÏÂÀ‰ÉÂ@ ¿Â@ÚÆÂ †ÇÂàlÆÂàxÄÂÀîÍÂÀ­ÃÂÀqÍÂÀÄÔ DÒ pÕÂ@Ñ ÄÂàïÅ€ˆÄÂ@æÄ€ÃÏÂ`™É MÆÂ@¼ËÂà<ÎÂ@‡¿Â`«ÆÂ zÉÂÀ)ÙÂàØÂ ËÂРËÂàØÂ@'ÏÂ@¶ÌÂÀ‰ÉÂ@¶ÌÂÀ›ÆÂ ÊÆÂ ÒÂ@ªÎÂÒ×ÂÀÄÔÂÀâÏ€áÊÂ@’Ò \ÎÂÀ5×Â@KÉ ßÍÂ@ÔÇÂ@9ÌÂࢽÂ`™ÉµÇ¯ÈÂ@?ËÂÀ²×ÂÀîÍ €ÈÂ@3ÍÂàZɯÈÂÀèÎÂ΀·ÑÂsÒ \ÎÂàîÚÂà<ÎÂ,ÉÂ`«ÆÂ`ÚÓ€ÚÂ`‡Ì ' ËÂÀ_РhÌ ÈÂà6Ï GÇ€pÈÂ@?ËÂ@øÁÂ`{ÎÂÀÈ AÈÂàéÆÂ ÄÇ€±Ò µÔÂàãÇ€‚ÅÂÀƒÊÂàÑÊ€šÁ€^ËÂ@'ÏÂ@3ÍÂ`±ÅÂàfÇÂÐÂ@ŒÓ ©ÖÂ`{ΠvÔÂ@WÇ ÓÏÂ`QÕÂ@ÂÊÂ@÷Ö€"ÕÂÀkÎÂ@¤Ï PР/Ë ÅÂ@KÉ€ÉÎÂÀËÂ@Ó VÏ€·ÑÂà¿ÍÂÀîÍÂ2ÈÂÀúËÂàïÅ€“×€ÕÌÂ`Í€FÏÂÀÇ€FÏÂ`æÑ€jÉÂ@]ÆÂmÓ ÈÂàÔ€uÜ€4ҠπÏÍ ÆÂÀ‰ÉÂàZÉÂ`ÉÂ`æÑÂàÓ èÁÂ`‡Ì¯È È€ Ä ÐÂJÄ €È€jÉÂ@ÒÂ@ÒÂ@WÇÂ@-ΠGÇ \ÎÂ`‡Ì€vÇÂgÔÂÀèÎÂ@9Ì ÄÇÂà›Ó d×Â`øÎÂ@3ÍÂ2È€ÛËÂ@!ЀÁÂ@°ÍÂÀ ÉÂ@ ÔÂ@àÅÂ`·Ä DÒÂÀMÓÂÀËÂ`òÏ€‚ÅÂ@žÐÂ@ÓÂàfÇÂ`ÚÓÂÀSÒÂÀ‰É€¥ÔÂà¿Í nËÂ ÊÆÂ`ÍÂ`˯ÈÂ`?ØÂà Ö€XÌ 8ÔÂÀËÂ@-΀áÊÂ2ÈÂ`æÑ€ÖÂ@ëØÂ@Ñ >ÓÂ@žÐÂÀeÏÂ`þÍÂàÑÊÂàÑÊ€™Ö€ÉÎÂ&Ê ßÍ€L΀FÏÂà<ÎÂöÑÂ`ËÂ`þÍ€·Ñ ÎÂ@°ÍÂ`Ë€^ËÂ`àÒÂÀGÔÂ@†ÔÂÀeÏÂÀ}ËÂ@ñ×Â`ÚÓÂ@ßÚÂ@?ËÂ`¥ÇÂà¡ÒÂÀ_Р/Ë ¸ÉÂ@9ÌÂÀ²× bÍÂËÂ@?ËÂÀ›ÆÂ€½Ð‘ÍÂ@¤Ï ËÂàlÆÂÏÂsÒ»ÆÂ&ÊÂ`4ÅÂU×Â@?Ë—Ì ÷ÉÂàTÊÂ@zÖ ß͵ÇÂÀ_ЀÕÌ€4ÒÂàÓÂÀwÌ ¸ÉÂ@KÉÂÀËÂ`uÏÂÀâÏ ˆÑÂàÓÂàÔÂàZÉÂà$ÒÂàwÙ )ÌÂ`‡ÌÂ@iÄ YÄÂ@WÇÂÀîÍ€™ÖÂ`Ë hÌ  ÍÂÀ•Ç 5Ê€ÏÍ pÕÂàÀ€ÿÅÂ@?ËÂÀË€‚Å€|ÆÂËÂ@°Í‘Í—ÌÂàBÍÂÀÆÂàéÆÂ`ÉÂ@Ó€XÌ ;ÉÂÀ*ÄÂ>ÆÂ@9ÌÂËÂ@’Ò Û ŽÐÂÀÄÔÂà•ÔÂÀÜÐÂÏ€‡ÙÂ`{ΠzÉ€|ÆÂàlÆÂà$ÒÂ`þÍ ëËÂ…ÏÂÀôÌÂÀ0àÃÜÂÀÐÒ€pÈÂðÒ€ŸÕ £×ÂÀÜЀ¥Ô åÌÂ&ÊÂ@’Ò hÌ€ÃÏ€FÏ€:Ñ ”ÏÂ`“Ê€ÃÏ€4Ò PÐÂ@nØÂ`ÍÂaÕÂmÓÂÀÜÐÂ@°ÍÂàTÊÂ@!ÐÂ@ÈÉÂ`"È šÎ ÛÂà³Ï€^ËÂ@QÈÂ@ÎÈÂà¹Î€«ÓÂ@¼Ë ¤ÂÂ@9ÌÂÀ¡ÅÂ`ÊÂà ÁÂÀAÕÂÀÐÒÂÀSÒ€ÏÍ€X̵ÇÂ`@ÀùÆÂàZÉÂÀâÏ ¬ËÂ`9ÙÂÀúËÂàTÊÂÀ³Â ÆÂ ÐÂàTÊ †ÇÂ`uÏÂЀ.ÓÂêÓÂ@-΀ÂÂ2ÈÂ`½ÃÂ@Ò€ˆÄÂ`cÒ€¥ÔÂàƒ×ÂÌÂ`iÑÂÀÊ€vÇÂ@àÅÂàÀÂ2È€RÍÂàïÅ€ÏÍÂ@’ÒÂÀ­ÃÂÀÆÂ zÉ‹ÎÂ`æÑÂ`Ê ¬Ë ýÈÂ`cÒÂÀâÏ ÏÂ@'ÏÂ`‡ÌÂ@¶Ì PРëË ŽÐÂ@nØÂ |ÓÂ@žÐÂ@ªÎ€XÌÂ8ÇÂ@’ÒÂ`æÑ 2ÕÂà‰ÖÂà*ÑÂÀÜЀ±ÒÂà•ÔÂ&ÊÂ`QÕ‹ÎÂÀqÍ óÔ pÕ ÁÒÂ@9Ì€·ÑÂ`ŸÈ€pÈÂ`ÚÓÂàÅÌÂ@ÔÇÂà¡ÒÂÐÂ`æÑ #ÍÂ@KÉÂöÑÂàØÂÀ5× /Ë ýÈÂËÂ@ªÎÂà×É pÕÂ̠πFÏÂ@ÒÂà¡Ò€ŸÕÂà$ÒÂ=Û€ØÂ 5ÊÂ@ÓÂ`ìÐÂÀ;ÖÂÀ}Ë€ÏÍÂÀÊÓÂ[ÖÂÀÊÂ@àÅÂÀîÍÂ@'ÏÂÀƒÊ VÏ  ÑÂàïÅÂà~ÃÂÀ_ÐÂ@ ÔÂaÕÂÀwÌ€ ÄÂ@¶ÌÂÀ_ÐÂÀÄÔ óÔ ëË íÕÂ@¤ÏÂÀYÑÂÀwÌ óÔÂ`þÍÂ@˜Ñ€«Ó çÖÂàÅÌÂ…ÏÂaÕ€cß ,ÖÂÀ”Ü VÏÂÀ_ÐÂ`3Ú ØÂ`cÒ VÏ >Ó pÕÂÀAÕÂ@’ÒÂ@'ÏÂÀAÕ€ÃÏ€"ÕÂ`WÔÂ`æÑÂ@EÊÂÀSÒÂ@¤Ï ÆÂÀeÏÂÀYÑ€{ÛÂ`¼ØÂ®ÝÂ@’Ò ŒÆÂÀâÏ #ÍÂà×€±ÒÂñ½ÂÍ &×ÂðÒÂ@°ÍÂ`@ÃÂ@ªÎ€ÛË Å 8Ô€Ö GÇÂÀÈ ¬ËÂyÑ€çÉÂÏÂÀÇÂÀGÔÂà¿ÍÂà×ÉÂ@9ÌÂ`KÖ  ÑÂ8Ç€ÛËÂÀúË #Í ÇÑ€"ÕÂ@ÕÂ`]ÓÂÀeÏ€.ÓÂ@’Ò€íÈÂà§Ñ€@ЀjÉÂ`øÎÂà¿ÍÂÀ¡Å ÒÂ`E×€æÞ —ÙÂ@°Í€áÊ ëËÂ@¼ËÂàÅÌ  Í€ØÂ`àÒÂà ÖÂ@˜ÑÂ[ÖÂ`cÒ :Þ Ï \ÎÂÀ¾ÕÂàõÄÂÀÊÓÂÀ}ËÂ`ÊÂ`‡Ì©É‹ÎÂ@°ÍÂ@ªÎÂ`‡Ì °ÀÂÀ}Ë jÖ ¬Ë ½Â ÁÒ ÷ÉÂÀÊÓÂ@Õ ÍÐÂüЀÁÂ@¤ÏÂ`‡ÌÂ@÷ÖÂêÓÂ2ÈÂÀÊ óÔÂ…Ï ÇÑÂÀ_ÐÂÞÕÂÌÂðÒ€XÌ  Ñ€·ÑÂà¡Ò—ÌÂ@¤Ï äáÂ@JÞ  Ñ AÈ 5ÊÂÏ ßÍ ”ÏÂsÒÂ`uÏÂÀôÌ ßÍÂ`uÏ€4ÒÂàÕ €ÈÂÀSÒÂ`ýâÂ@˜ÑÂàÝÈÂÎÂ̵ÇÂà¿ÍÂ@QÈÂ@ÎÈÂÀÊÓÂ`"ÈÂ`ÎÕÂ@°Í€vÇÂ`Õ¿Â JÑÂÀèΩÉÂÀGÔ bÍÂ@ÑÂ`ìÐÂà<ÎÂ@àÅÂÀAÕÂsÒÂaÕ ùÓ€XÌ 8ÔÂ@Õ åÌ Ú€XÌ bÍ åÌÂ@˜Ñ Å È€RÍÂÀÊ â€óÇ€ÛËÂ`™É€áÊÂ`àÒ€jÉÂ` Ì ÅÂ`ÍÂ@ÔÇÂ@ªÎÂ@ªÎÂ…ÏÂà<΀RÍÂàZÉÂà`È ;É ¸ÉÂÀwÌ ЀíÈÂ`Í€À.Ó ˜ÄÂ@-ÎÂ…ÏÂ`¥ÇÂ`æÑÂ@æÄÂà*Ñ )Ì tÊÂh¿Â—Ì€^Ë èÁÂÀ›ÆÂ ¸ÉÂàrÅÂ@EÊÂ`"ÈÂ@9ÌÂÀšÛ PРDÒÂÀwÌÂ@ÂÊ€XÌÂ@¶ÌÂÀ›ÆÂ`uÏÂ`“Ê )Ì €È åÌÂÀÖÑÂÀqÍÂ@ªÎÂ…ÏÂ@EÊÂàÓÂÀÄÔ tÊÂ@.¹ÂàTÊÂ`oРÍÐÂ`F€±Ò€×ÂðÒÂÀÖÑÂ@3ÍÂmÓ  Ñ€«Ó ÇÂËÂÀÈÂ@†ÔÂÀƒÊ ñÊÂ@-ΠµÔ VÏÂà$Ò ”ÏÂ@˜Ñ tÊÂ@ÂÊÂÀÜÐÂ@¼ËÂsÒÂ@ÓÂ@ÈÉ VÏÂ@EÊ€·Ñ nËÂÀ;ÖÂêÓ€ÿÅ  ÍÂ…ÏÂðÒÂ\ÁÂ`ÊÂ@°ÍÂ`]ÓÂaÕÂà$Ò€«ÓÂ@ ÔÂ`æÑ€ÉÎÂ@9ÌÂÀîÍ€«Ó 2ÕÂ`àÒÂ@ÓÂ`-ÛÂ@!ÐÂ,É‘ÍÂ@'ÏÂ`Â×€«ÓÂ`oРÙÎÂà$ÒÂ`'ÜÂ@ªÎÂÀÜР…ÜÂàNË€”ÂÂÀÊÓ€vÇÂüÐÂ`æÑÂ`uÏ ßÍ PÐÂ`:ÄÂyÑÂ`?ØÂÀÐÒÂ@žÐÂ`“Ê ÙÎÂ@ÕÂÀAÕÂÀwÌÂmÓ  ÑÂà× ñÊ ÆÂÞÕÂ`cÒÂ@Ò \ÎÂ`WÔÂ`ÍÂ@zÖÂà0Р5Ê ¦ÌÂÀÚÂ@DßÂ@ßÚ€× \ÎÂà0РˆÑÂÀ;ÖÂàÕ /ËÂgÔÂ`iÑÂ@˜Ñ€±ÒÂÀÜ€½Ð€½ÐÂ@ÓÂ`ÚÓÂÀÄÔÂÌØÂÀSÒÂà‰Ö >ÓÂ`þÍÂÀúË PÐÂ`oРšÎÂÀÖÑÂmÓÂ`øÎÂÀ¬ØÂ`?ØÂ@†ÔÂ@ÙÛÂà‰ÖÂÀ ÚÂ`Â×Â@åÙÂ`ÎÕÂ`™É ŒÆÂÀÜÐÂà}ØÂöÑ ÁÒÂÀîÍ bÍ µÔÂàÑÊ #ÍÂÀÊÓÂÀ;ÖÂ@žÐ  ÍÂà<ÎÂàÅÌÂ`æÑ ùÓÂ@Ñ ‹ÛÂÀ;ÖÂÀúËÂ@ŒÓÂàôÙÂ`ìЀíÈÂ@ÕÂ@ÕÂà¡Ò ùÓ ¸ÉÂà*ÑÂ@nØÂgÔÂ@ýÕ€áÊÂà<ÎÂ@ÙÛÂÀ/ØÂ=ÛÂÀèÎÂ@ŒÓÂÀÐÒÂ`iÑÂÀAÕ  ÑÂÀeÏ ÏÚÂà Ö £× —ÙÂðÒÂ`¶ÙÂ`øÎ ˆÑÂ`Â×€¥ÔÂ`3Ú€±ÒÂ@ÓÂ@zÖ ÕÙÂÀ ÚÂ`E×Â`]Ó€ÃÏ 8ÔÂÀÜÐÂ`{ΠÎÂÀÖÑÂà×É ùÓ ÓÏ€(Ô£ÊÂЀØÂ`iÑÂyÑÂ ÛØÂ€4ÒÂÀSÒÂ`iÑÂ`ªÛÂ`Â×Â@nØÂЀÉÎÂ@˜ÑÂàÔ€±ÒÂ`þÍÂ`KÖÂÀ¾Õ€òÜÂ7ÜÂÀ‰É ۢ߀ØÂ€ÏÍ€™Ö ÛÂüЀ(ÔÂ@ŒÓÂ@ñ×Â@žÐÂ>ÆÂÎÂ@ªÎÂÀ#ÚÂ@!Р¯ÕÂÀYÑÂ@bÚ€·ÑÂmÓ€«ÓÂàkÛÂàBÍÂ@9Ì€XÌ ,ÖÂ`ÍÂÀÊÓÂ@ÑÂüРÇÑÂ…Ï 2ÕÂ`þÍÂàƒ×Â@ýÕÂ`òÏÂÀGÔ \΀FÏ ùÓÂ[Ö ÒÂÀÊÓ€:ÑÂÀÊÓ ßÍÂÀ¦ÙÂÐÂÀqÍÂÀè΀FÏ€vÇ )Ì GÇ€RÍÂ@ÂÊ€þÚ€áÊ ÆÂ JÑÂ@¶Ì€^Ë€½Ð åÌÂÀ}ËÂ ÛØÂ€¥Ô ÍР,ÖÂà*Ñ »ÓÂÐÂ@ßÚÂÀ²× åÌ ©Ö Ï€4ÒÂ@ñ× ßÍÂà•ÔÂ@ ÔÂàúØÂ=ÛÂyÑÂÀÄÔ >ÓÂ`ÎÕÂΠóÔÂ@VÜ€«ÓÂU× ÇÑ 2Õ d×€uÜÂà‰ÖÂÀôÌÂÀ#ÚÂÀÄÔÂàBÍ€½ÐÂÀÚÂÀ¦Ù .à RÚÂÞÕÂ@˜Ñ ØÂ Ë ÁÒÂ@t× ‚ÒÂÍÂÀÐÒ€×Â`¶ÙÂ@¶ÌÂ@-ÎÂ[ÖÂÀ²×Â@åÙ€|ÆÂà×É€"ÕÂ`æÑ ëËÂà<ÎÂà}ØÂ€4Ò ÕÙÂÀîÍÂà¡Ò€FÏÂ`WÔÂÀkÎÂ`WÔÂÀÄÔ LÛÂüÐÂ@ÒÂ@'Ï »ÓÂ@°ÍÂ`(ÇÂ`cÒ€ŸÕ íÕÂ`ÎÕÂÀ5×Â…Ï pÕÂ ÛØÂÀkÎÂÀYÑÂ`ŸÈ€øÛÂÞÕÂ`9ÙÂÐÂ`?ØÂ ¸ÉÂ@ÚÆÂ pÕÂ@¼ËÂÀÆÂÀÇÂ`æÑÂàÅÌÂÀÐÒ åÌ€ÕÌ ÚÂ@ÓÂ@ªÎ€:ÑÂ@ëØÂ€ŸÕÂ@’ÒÂРÁÒÂÏÂ@’Ò€ØÂ@'ÏÂÀ_ÐÂÀôÌÂ@÷Ö€±Ò£ÊÂ`LÁ ‚ÒÂàÑÊ€‡ÙÂ[ÖÂàÑÊ€¥Ô€±ÒÂ@]ÆÂ€Ö€™Ö ÎÂ@3ÍÂ@'Ï€"ÕÂÀÈÂà­ÐÂ@ÈÉÂ@†ÔÂÀ²×Â@¶Ì€ÕÌÂÀâÏÂ`!Ý€·ÑÂÀeÏ #ÍÂ@°ÍÂ@zÖÂ@nØÂàƒ×Âà§Ñ ÍÐÂÀ)Ù ^ØÂà¡ÒÂà`ÈÂÀôÌ€WáÂ@»à€ÕÌ ¯ÕÂ@?ËÂЀ:ÑÂ@-ÎÂà×É PÐÂàÓÂ@ÑÂ@Õ 8ÔÂÀGÔÂ@QÈ ÇÑ >ÓÂmÓ &×ÂÀ¸ÖÂ@\Û vÔÂ`æÑÂ@EÊÂ`Í€ÕÌ€XÌÂØÖ€±Ò‹ÎÂà›ÓÂÀSÒÂÀ Ú ÏÂ`æÑÂ`æÑÂÐÂ`ÎÕÂÀÄÔÂà¹ÎÂsÒÂÀ¾ÕÂ@ßÚÂà6Ï  Ñ€RÍ PÐÂÀâÏÂ@!РLÛ€±ÒÂ@bÚÂà¹ÎÂàØÂ=ÛÂàÅÌÂ=ÛÂÀ5×Â@DßÂ@ ÔÂÀôÌ XÙÂØÖÂÀîÍÂàÔ ŽÐÂà$Ò pÕÂCÚ …ÜÂ`?ØÂ€:ÑÂÀÜÂà ÖÂ7ÜÂ@ÓÜÂ`òÏÂ`WÔ€"ÕÂ@ÒÂ`?ØÂ`'Ü€iÞÂ`!ÝÂ`ÔÔ PÐÂÒ×ÂU×ÂsÒÂ`9Ù€ÔáÂ`¼ØÂ@Ó€ØÂ …Ü DÒ€øÛÂàÓ #Í€‡Ù vÔÂ`E×€ØÂ@†Ô€àßÂ`QÕÂàeÜÂ@ÓÜ€×Â ÛØÂ€«Ó RÚÂà¡ÒÂ@€ÕÂÀ¾Õ‹ÎÂU×Â`]Ó ÕÙÂàÕ€™ÖÂ`zãÂÐÂ@t×€ŸÕ PÐÂ@9ÌÂàúØÂºÛÂàÕÂàÓÂ`òÏ€FÏÂà0ÐÂ`cÒÂ`ÎÕÂ̺ÛÂU×Â`ÈÖÂCÚÂ`¶ÙºÛÂ`3Ú sßÂ ÛØÂÀ¾Õ€L΀"ÕÂêÓÂÀÜЀ¥ÔÂ@nØÂàÔÂ@iÄ ÁÒÂäÔÂàôÙÂ`òÏÂà0РpÕ šÎÂà*Ñ€:Ñ ‘Ú DÒÂ@ÕÂÌÂàHÌ 8ÔÂ`ÍÂ8Ç DÒ 4ßÂàÓÂ`¶Ù ÒÂ@oÃÂ@°ÍÂgÔÂàÔÂ`{ΠÄÇ ¬ËÂ…Ï &×ÂÀ¾Õ ¯Õ ÏÚÂà}ØÂ€·ÑÂ@EÊÂÀ²×Â`KÖÂ`iÑ€™ÖÂàËËÂà ÖÂ@’ÒÂ@3Í€.Ó€ÛËÂ`.ÆÂà³ÏÂ`øÎÂ`3Ú€:ÑÂ@3ÍÂ`æÑ‹ÎÂàBÍ íÕÂ`ËÂ@Ò JÑ€™ÖÂÀkÎÂàúØÂ`ÈÖÂÀîÍÂ`{΀(Ô ÓÏÂà6Ï€ÃÏÂÀwÌÂðÒÂàHÌÂàËËÂ`°ÚÂyÑÂ[ÖÂ@ýÕÂ@?ËÂ`É—Ì€iÞÂgÔÂÀÊÓÂgÔ€uÜÂàÕ ˆÑÂàØÂà¿Í !ÃÂàHÌÂàTÊÂÀ ÉÂ@¤Ï GÇÂ@˜ÑÂÌØÂ€FÏ )Ì€ÏÍÂàúØÂ—Ì€ÕÌÂ`Ê£ÊÂ`{ÎÂÀÆÂàHÌÂÀGÔÂà­Ð 5ÊÂsÒ€LΠóÔ ¾ÈÂÎÂ@˜ÑÂ`KÖ€ Ù ¯Õ ÓÏ Ï hÌÂÀôÌÂÀÖÑÂàûÃÂPÀ Ä€ÛËÂÀ¦Ù ŽÐÂ…ÏÂ`ìЩÉÂÇÄ€LÎÂöÑ PÐÂ,ÉÂ`ÍÂÀ¾ÕÂÀÐÒÂ@EÊÂÀ‰É€vÇÂ`cÒÂ@ŒÓ SÅ !ÀdÊÂàûÃÂ@˜ÑÂ@?ËÂ`]Ó ;ÉÂÀ0ÀÉÎÂ@ÓÂÀ•Ç€½ÐÂ@¶Ì \ÎÂ&Ê€LΠРÓÏÂ`KÖÂÀÜРÐÂ`Ë€™ÖÂ`E×Â@ÑÂ@¼ËÂ` ÌÂðÒÂ`WÔÂyÑ€“×Â`uÏÂàBÍ »ÓÂ…ÏÂ@˜Ñ #ÍÂüРˆÑ ýÈÂàTÊÂÐÂ@zֵǠµÔÂà‰Ö€Õ̠ȣÊÂ@KÉ VÏ |Ó ÎÂ`ÚÓ Ë ÙΠÒÂÞÕ ‚ÒÂàZÉ µÔ€@ÐÂ@nØÂÎÂàÅÌ JÑÂàwÙÂ@Õ PР”ÏÂ@QÈÂ@ªÎÂÀ0à»ÓÂà×Â@9Ì Ѐ”ÂÂ@˜ÑÂàËËÂ@žÐÂ>ÆÂ@ªÎ ùÓÂà¡ÒÂàõÄ ÄÇÂ`:Ä ¬ËÂÀ#ÚÂ`]Ó€ŸÕ€ùÆÂ‘Í ©ÖÂ@'ÏÂÀMÓ ÿÒÂ`æÑÂ`oÐÂà6ÏÂÀ ɩɠ5ÊÂ@ªÎÂ…ÏÂaÕ€jÉÂ@¤ÏÂ`àÒÂ@˜ÑÂÀ}ËÂÐÂ`Â×Âà¹ÎÂ@?Ë ëËÂ@QÈÂ@ÕÂ@ëØÂ@-ΑÍÂ@æÄÂÀƒÊÂàéÆÂ ¬ËÂ`ìÐÂ`ÊÂ@ÒÂ@¤ÏÂ`ËÂàBÍ VÏ€·Ñ ÓÏÂ`Í ßÍ &×Â@ÂÊÂ`3ÚÂÀîÍ MÆÂ nË  Í pÕÂàÓÂ@9ÌÂ@9ÌÂ@ÔÇÂöÑ Ï ëËÂÀ_ÐÂ@-΀çÉÂ@ýÕÂ@÷ÖÂÀGԋ΀áÊÂàôÙÂ`É åÌÂà0ЀÿůȠ|Ó€ŸÕ€·ÑÂàÕÂ`æÑ ¦Ì Π)ÌÂ@!ÐÂ@9Ì  Ñ åÌÂ@ÚÆÂ,É ÷É FÜÂÀMÓ AÈ  ÍÂà›ÓÂÀ¦ÙÂ@t×ÂáÂÀÝ ßÍÂàBÍÂÀÚ ÚÂ@ŒÓÂ`E×ÂÏÂ@Ñ ½ÝÂ@Õ ÏÚÂÀSÒ ùÓ ÜÂ`oУÊÂyÑÂ@ýÕÂàÄáÂ@EÊÂmÓÂ`ÔÔ€iÞ€¥ÔÂ`QÕÂàGáÂ@ Ô &×Â`¤ÜÂÀ)ÙÂÀÝÂ@ñ×ÂР¯Õ€ìÝ€oÝÂÀíâÂ+ÞÂ`iÑÂÀGÔÂ@µáÂ@Õ€‡ÙÂÐÂÀMÓ &×Âà³Ï€{ÛÂU× vÔ€‡ÙÂ`òÏÂmÓÂ@ßÚÂà¡ÒÂ`Ë€“×€þÚÂ`¼ØÂÀeÏÂàúØÂ€«ÓÂÀÖÑ ÍЀÏÍÂ@ ÔÂ`3ÚÂÀÐÒ ¦ÌÂкÛÂÀúË ÿÒÂà¡ÒÂÀkÎÂsÒÂÀè΀ÅÂà<ΠJÑÂ@¶ÌÂ ÛØÂ`.ÆÂ èÁÂ@ÑÂ@3ÍÂ>ÆÂ ÇÂ`òÏÂàÕ !ÃÂàÝÈÂÌÂà6Ï ÓÏ bÍ€íÈÂ@ÚÆÂÀwÌÂÀîÍÂàÓ ÁÒÂàHÌÂ@!Ѐ4Ò VÏ€ÿÅ ÿÒ ýÈ YÄÂ`þÍÂ`ÉÂÀƒÊÂ@€ÕÂà­Ð€LÎÂ`@ÃÂË Π\ÎÂ@ Ô‘ÍÂàxÄ€FÏ€LÎÂ,É ŽÐÂÀ•ÇÂ`ÍÂ@ÓÂ`™É €È€^ËÂ@°ÍÂà¹ÎÂ`“ÊÂ@-ΠhÌÂ@3͠πdÊ€½ÐÂàrÅÂ@{ÁÂDÅÂà0ÐÂÀqÍÂ@Ñ€XÌÂ`{ΠÿÒ ‚ÒÂ@WÇ€|ÆÂà×ÉÂ@EÊÂà¡Ò€ÉÎÂÀ ÉÂÀ_РÖÄÂ`oР÷É PÐÂà¹ÎÂàËËÂà*ÑÂÀ5בÍÂÀÊÂÀâÏÂ@ ÔÂ`Â×ÂÀwÌÂ`ŸÈ ËÂ@¶Ì GÇÂàûàÒ€½ÐÂàfÇÂ`øÎ ÁÒ 8ÔÂ@ÒÂ`þÍÂ@˜Ñ€ŽÃ€·ÑÂ`WÔ ÖÄ óÔ ùÓ€ØÂàNËÂ`þÍÂÐÂ@-ÎÂÇÄÂ@EÊ #ÍÂ@žÐÂ@ÑÂ`‡ÌÂ&ÊÂ@nØÂ DÒÂàÔÂ`ŸÈÂ`¥Ç ”ÏÂ@ªÎÂsÒÂà¹ÎÂÀÖÑÂÀkÎÂ`iÑÂ&ÊÂ@ŒÓ #Í€^Ë€.ÓÂÀ_ÐÂÀ}ËÂ`uÏ ”Ï€ÉΠpÕÂÀ_ÐÂà§ÑÂ`KÖ ÄÇÂÀ}Ë bÍÂ@3ÍÂsÒ ±ß Ѐ4ÒÂÀMÓÂà<΀ÏÍ©ÉÂPÀRÍ vÔ ëËÂà³Ï ßÍÂà×ÂÀpâÂà0ÐÂ@bÚÂ`ÔÔÂÀSÒÂËÂ@ÕÂÀkÎÂàwÙÂ`QÕÂ` ÌÂÏ vÔÂgÔÂÀúË€LÎÂ@!ÐÂ@ýÕ€«Ó ²ÊÂyÑÂЯÈÂËÂÍÂÀîÍ )ÌÂàÑÊÂÀÜÐÂyÑ †Ç€ùÆÂàwÙÂÀGÔÂÏÂÀ5×Â@ßÚÂ`“Ê óÔ ÓÏ€dÊÂàéÆÂà›Ó€(Ô€pÈÂÀkÎÂàŠÁ |Ó ÿÒÂà6Ï€±Ò ¯ÕÂàÑÊÂ@†ÔÂ@ÒÂà›ÓÂ@¼Ë JÑÂ`ªÛÂ@PÝÂà¹Î€(Ô  Ñ ÝÂüРÏÂ`ÍÂöÑÂà¹ÎÂ`ÚÓ ŒÆÂÀ5× d׺۠‚ÒÂ`°ÚÂÀAÕ ÏÚ Ù€Ö€ÚÂÀqÍÂàSßÂ@\Û —ÙÂÁÅÂ`°Ú ÁÒÂ@'ÏÂÁÅ GÇ hÌ jÖ ÎÂà›Ó pÕ \ÎÂÀËÂ`ÈÖ 8ÔÂ…ÏÂ@ªÎ óÔ çÖ€Ö ”ÏÂÀ5×ÂàôÙÂ[Ö 8ÔÂ@VÜÂsÒ ÏÚÂàNËÂ`cÒÂ@hÙÂÀÜÂÐÂÀ}Ë ‘Ú€·ÑÂ`ŸÈÂüÐÂ`uÏÂÀÖÑ VÏÂàBÍÂ`æÑ RÚ 8Ô ÉÛÂÀ²×ÂÆÙÂàÔÂÀÄÔÂmÓÂÀ¸ÖÂ@ ÔÂ`ÍÂ`øÎ€ÚÂ@ŒÓÂ[ÖÂ…Ï€½ÐÂ`ÈÖÂ@t× Ú äá®ÝÂ@9ÌÂ`cÒÂ1Ý€·ÑÂà¹ÎÂÀ_Ѐ.ÓÂ@ÈÉÂàTÊÂÀšÛÂà³ÏÂ@ŒÓÂà0Р8Ô nËÂCÚ€þÚÂ@ÓÂÀkÎÂ`oÐÂ@ Ô€«Ó RÚÂ@!Б͠ÁÒÂÀMÓÂàÕ RÚÂ`°ÚÂÀƒÊ€óÇ€ įȠ»ÓÂ@nØÂCÚÂäÔ€ÃÏÂyÑ€¥ÔÂ@†ÔÂ[Ö ËÂ`iÑÂ`cÒ€@ÐÂà§ÑÂÀúË šÎÂàBÍÂÀâÏÂ=ÛÂ@bÚÂà¹ÎÂàÅÌ€^Ë€|ÆÂ jÖÂÀ¬ØÂ@ÔÇÂ8ÇÂIÙÂ`òÏÂÀ5×ÂaÕÂà×Â`òÏ€ÃÏ zÉ ˆÑ ’ÅÂ@'ÏÂÐÂàNË >ÓÂàBÍÂà*Ñ ˆÑ ÜÂÐÂÀwÌ€"ÕÂÀ*Ä \Π\ΠÇÑÂðÒÂÀMÓ _ÃÂàØÂ—ÌÂÀ¾ÕÂ@ñ× íÕ ùÓ€áÊ PРÇÑ žÃÂÍÃÂ@¶Ì€ÎâÂàâÜ€"Õ€vÇ YÄÂÀ$ÅÂ@÷ÖÂØÖÂÀÐÒÂ@ÓÂàËËÂÀúË€:Ñ åÌÂ@3ÍÂ@ÒÂ`øÎÂà ÖÂ`¼ØÂ@zÖ Û µÔÂÀƒÊÂ`ÎÕÂ`3Ú€ŸÕ µÔÂÀwÌ ÙÎÂÀ5×Â@hÙ åÌÂÀÜЀ‡Ù ”ÏÂÀYÑÂ`!ÝÂà×Â`]ÓÂÀîÍ PР/ËÂ@Ñ vÔÂ@ ÔÂ`ìÐÂÀâÏÂØÖÂàÓÂ`ÍÂ`ÚÓÂðÒÂ`æÑ€XÌÂaÕÂ@ëØÂÀè΀×Â@Ó€ÚÂ`àÒ ßÍÂ`ªÛÂ@’Ò€·ÑÂ@ÕÂÌÂàÕÂà ÖÂ`ËÂ@˜ÑÂ`ÍÂ@KÉÂ` Ì€"ÕÂ@EÊ >Ó€ŸÕ€4ÒÂàËË€‡Ù ØÂU×Â@ÈÉ€RÍÂà¿ÍÂ@t×Â`ÍÂ`]Ó  Ñ ùÓ€ÉÎÂÀ¾ÕÂÀÈ €È ÐÂ@À€ÃÏÂ`Â×€.Ó€çÉÂ@÷ÖÂÀÜÐÂÐÂà0ÐÂÀ¾ÕÂÀ_ЀÕÌÂ`cÒÂÀâÏÂ@3ÍÂ`‡ÌÂÀôÌÂ@ÒÂÀƒÊÂ@’ÒÂ`ÔÔÂ`æÑ Ë #Í #ÍÂ`æÑ€4ÒÂ@÷ÖÂ`]Ó ¸ÉÂ@†ÔÂÀôÌ€«Ó µÔ€ŸÕ 2ÕÂà Ö 2ÕÂ@ÓÂÀÖÑ ŒÆÂÀèÎÂÀSÒ€òÜ ÙÂà³ÏÂ@¶ÌÂÀ_ÐÂ@÷Ö€"ÕÂÀMÓÂ@ëØÂàÅÌ€× DÒÂÆÙÂÐÂ`oÐÂ`]Ó€(Ô ÎÂ@QÈÂ`iÑÂ`“Ê€ØÂ ¯ÕÂ`ÚÓ€ÉÎÂÀÊ ΀"ÕÂÀwÌÂÀÈÂÀ¾ÕÂOØÂ ˆÑÂ`øÎ 8ÔÂ@ÈÉÂàHÌÂà³ÏÂ@°ÍÂÀ›ÆÂÀ_РØÂ€@еÇÂ`tä€FÏ€uÜÂ@ªÎ ÕÙÂà³ÏÂÀ¾ÕÂÒ×Âà_ÝÂ@ýÕÂ@ÈÉ€É΀4Ò€oÝÂ`ÚÓÂà§ÑÂaÕÂ@àÅÂà<΀LÎÂ`"ÈÂäÔÂ`WÔÂ`ÎÕÂàÕÂÀSÒÂàÃÂ@žÐÂ@÷Ö€½ÐÂà*ÑÂ`ÈÖÂà­ÐÂà§ÑÂyÑÂäÔÂ`ÎÕÂsÒ ÍÐÂà0ÐÂ@’ÒÂÀeÏÂ`3ÚÂÀÊÓ€uÜ ßÍÂÍÂ@†Ô‹ÎÂÀ”ÜÂà•ÔÂmÓ ÁÒ€4ÒÂyÑÂ`°Ú vÔ©ÉÂ@ÒÂÞÕÂ@Õ ñÊ€@ÐÂ@ÍÝÂ@ÍÝ€ÏÍ ¦Ì d×Â@t×ÂàâÜ €ÈÂÀÐÒÂÀ¦Ù ÕÙÂÀkÎÂÀ²×Â`cÒ ‚ÒÂÀqÍÂ@ ÔÂ@ÙÛÂàîÚ  ÍÂÀÄÔ XÙ—ÌÂ,É ÇÑÂ…Ï€òÜÂà*ÑÂàØÂ@ ÔÂàÕÂêÓÂ@žÐ šÎÂ@ÓÂ@JÞ ‘ÚÂ`KÖ ÁÒÂÎÂOØÂà<ÎÂ@¶Ì€Ú€:ÑÂgÔ€™Ö€øÛÂ`°ÚÂÀjã ÙΠd× yÞ ˆÑÂà›ÓÂÀÜÐÂ@hÙ ÚÂÀÿß ÒÂ@ÂÊÂÀ¦ÙÂÀÝÂÀùàÂÀÊÓÂ@'ÏÂ`3Ú ^ØÂ`ìÐÂ@ýÕ ÙÂ[Ö€@Ѐ‡ÙÂ`täÂàÊà€ ÙÂ@PÝÂà§Ñ€FÏ 8Ô€:ÑÂà§Ñ |Ó€Ö€ØÂ@3Í€4ҋΠá× ¬Ë ŽÐ Ç ùÓÂÀÐÒÂ@ÒÂ`ÚÓÂà¡ÒÂà¹ÎÂÀ Ú óÔ€×Âà§ÑÂÀkÎÂÀÄÔÂ@ªÎÂà³ÏÂàTÊ€±ÒÂ`âÂ@8áÂ[ÖÂêÓÂÀÐÒÂ` Ì  ÍÂ`ÞÂ=ÛÂàkÛ€ÎâÂàYÞÂ@’ÒÂ`E× ^ØÂÀÖÑ€“×Â@˜Ñ LÛ ÈÂ`°ÚÂÀâÏ ”ÏÂà Ö tÊÂ`KÖ hÌ€Ö ÜÂ@ñ×ÂÍÂmÓÂ@Ò ˆÑÂ7ÜÂäÔÂà³ÏÂ@'ÏÂ`Â×ÂÀ²×Â`¤ÜÂà¿ÍÂÍÂ@˜ÑÂðÒÂà_Ý #ÍÂÀSÒÂ@ýÕÂÀËÂÀÖÑ€ŸÕÂÀÈ€ØÂ@?Ë€ÉÎÂ@ÍÝ€(ÔÂ@’Ò€«Ó ÉÛ µÔÂÀGÔÂÏÂ@ÙÛÂaÕÂ@€ÕÂ`™É µÔ Р)ÌÂ@žÐÂOØÂ@hÙÂÀÛÂOØÂàÅÌÂÀqÍÂà ÖÂ`{ÎÂÀè΀±Ò 8ÔÂðÒÂàúØÂ ‚ÒÂäÔ µÔ &×ÂÀGÔÂ@bÚ€ìÝÂÀÜÂ`ìРµÔÂàÕÂaÕÂÀôÌÂ`oÐÂ@Ó LÛÂÀ#ÚÂ`ÚÓ Û ^ØÂÀYÑÂ@ªÎÂÀ”Ü ùÓÂÀƒÊÂà×Â@€ÕÂ@žÐÂ@’ÒÂÀ¾ÕµÇ€ÉÎÂÀYÑÂ`þÍÂàÓÂàÜÝ€ Ù€‡ÙÂ`æÑ€4ÒÂ@-ÎÂ`Â×ÂÀ²×ÂàÅÌ€^Ë ÜÃÂÀ¦Ù‹Î€dÊÂà³ÏÂ@JÞ >ÓÂ`]Ó€@ÐÂ@÷Ö€«ÓÂ`ìР‹Û  Í ¦ÌÂ@ÂÊÂ`Í€ÃÏÂmÓÂ@zÖÂ`?ØÂ΀@РÐÅÂ@9ÌÂ`ÎÕ€ÖÂ`žÝÂ`]ÓÂàeÜ —Ù ŽÐ€"ÕÂ@ÎÈÂ`ìÐÂÀËÂà$ÒÂ@'ÏÂ[Ö PÐÂaÕÂ@¤ÏÂ[Ö ÍЀ× ùÓÂ@¤ÏÂ@ñ×ÂàÄáÂÀAÕ #ÍÂÀÊÓÂÎÂ`°Ú€«Ó‹ÎÂ`WÔÂËÂ`9ÙÂ`ÎÕÂ@ŒÓÂ`E× ÷ÉÂ@ÓÂàƒ×ÂÀÝÂ@ÒÂÀwÌ ˆÑ »ÓÂÀËÂ`ìРPЀÏÍ€{Û LÛÂ`3Ú€FÏÂàËËÂΠ>ÓÂ@nØÂ ”ÏÂPÃÂà³Ï ØÂ€ØÂ€.ÓÂà6ÏÂàÜÝÂ@ÕÂU× #Í )ÌÂÀÖÑ€"ÕÂÀ)Ù óÔÂà§ÑÂÀ¬ØÂ`ËÂÏÂ`uÏÂÀ¬ØÂ £× &×ÂÀ_ÐÂöÑ€±Ò ÙÂÀšÛ «àÂ@ Ô ÍРÏÚÂ@VÜÂà×Âà•ÔÂ@˜Ñ€ØÂÀŽÝÂ`uÏ€FÏ€ÃÏ€.ÓÂÒ×ÂàÅÌ  ыΠFÜÂÀ¸ÖÂ@˜ÑÂ@PÝ Ù 5Ê€FÏ€.ÓÂÏ ©ÖÂÀÚ€(ÔÂà$ÒÂ`âÂà Ö€«Ó€ØÂà×ÂÀâÏ /Ë€ØÂ1Ý ŽÐ€{ÛÂ`oÐÂ@ÓÂ@nØÂüÐÂ`oÐÂ`KÖÂ`iÑÂ`æÑÂÀYÑÂU× ˆÑÂà›ÓÂ@ŒÓ GÇÂ@°Í€FÏ€þÚÂÀ¸ÖÂàHÌ ëËÂÀMÓÂàîÚ >ÓÂÀ ÚÂ@ÇÞÂÀÄÔÂЀoÝÂ@Ó€¥ÔÂ`!ÝÂÀ_РnËÂ`’ß (áÂ`KÖÂ@€ÕÂà ÖÂÀËÂ`žÝÂÀ”Ü :Þ€þÚ€{ÛÂàîÚ ÏÂ`’ß ØÂ€FÏÂÀAÕÂàôÙ€“× ÍРRÚÂàØÂ ‹Û¨ÞÂÀjãÂ1ÝÂÀAÕÂ@PÝÂà}ØÂüÐÂàBÍ ÇÑÂgÔ á×Â@ëØÂàÐ߀ØÂ ÕÙ€LÎÂ@¤ÏÂ@ñ×ÂÀ‚ßÂ@nØÂ@9ÌÂsÒÂaÕ  Í ßÍ šÎÂüРyÞÂ`¶ÙÂàÕÂ`cÒ€™ÖÂÀËÂÀwÌÂà‰ÖÂ@ÕÂÀÐÒ€±Ò€™Ö€ØÂ€óÇÂ`iÑ ŽÐ€½ÐÂ`cÒ€×Âà­ÐÂàeÜÂÀôÌ ÇÑÂ@€ÕÂàÓÂ`àÒÂÀÄÔ ˆÑ tÊÂ@¼Ë VÏÂàÐßÂ`æÑÂÀÄÔ€RÍÂ`ìЀ™Ö€iÞ€™ÖÂà¾Â»ÆÂ`þÍÂàNËÂ@ëØÂÀÝ &×ÂöÑÂà¹Î€XÌ ‚Ò€óÇÂ ÊÆÂÀeÏÂàÕÂ@ Ô€¥ÔÂ@ÎÈ€ìÝÂ`˜Þ hÌÂüÐÂ@¤Ï ÏÚÂÐÂ`æÑÂà0ÐÂ`KÖ JÑ€™Ö€.Ó á×ÂÀYÑÂÀ_ÐÂ ÛØÂ`ÎÕÂ`iÑÂÀYÑ «àÂÀÊÓÂÀÝÂ`¤ÜÂÀqÍÂ`·ÄÂ`4ÅÂà­ÐÂÀèÎÂ`ËÂ@’Ò РVÏ€.ÓÂÀîÍ€4ÒÂ@¤ÏÂgÔÂ`òÏ ¤ÂÂ`QÕÂ`cÒÂÀâÏ€(ÔÂàHÌÂÀAÕ ØÂ`"ÈÂÀâÏÂ@{ÁÂÀ¾ÕÂ`3ÚÂà›ÓÂàÕ€cßÂÀÊ åÌ€ÏÍ€(ÔÂ@†Ô€×€4Ò€ÃÏ€LÎÂÀÜÐÂ@žÐÂÀ/ØÂÀYÑÂà*ÑÂàƒ×  ÍÂ@’Ò åÌÂà•Ô€±ÒÂsÒÂOØÂ€(ÔÂ@àÅÂàHÌÂ@Ñ€LÎÂ`æÑÂ`uÏ >ÓÂ`æÑ öÞÂÀ²×€FÏÂ`æÑÂàƒ× ùÓÂ`þÍÂ@žÐÂ`‡ÌÂ`uÏÂU×Â`]ÓÂàÔ€ÉÎÂ`iÑ€½ÐÂ`ìÐÂ@ Ô€FÏÂ`ìÐÂ`QÕÂPÃÂà¡ÒÂàwÙ€pÈÂàËËÂÀ_ÐÂ@ ÔÂÀ_ÐÂÏÂ@ÚÆÂÀʠˀ4ÒÂÀeÏÂ@'ÏÂ`þÍÂ`LÁ€É΀.Ó—ÌÂ ÊÆÂ ØÂ ýÈÂà<ÎÂÀ$Å  Í ýÈÂ[ÖÂÀ_ÐÂ`E×Â@'ÏÂöÑ€^Ë ÿÒ 5ÊÂà6Ï€.ÓÂ7Ü ¦Ì РÓÏ ÍЀLÎÂ`æÑÂ@°ÍÂ@ëØÂ€ÏÍ€ÛËÂàfÇÂ@ÑÂ`Û¾ÂàNË €ÈÂüЀ±Ò ”ÏÂà6ÏÂÀÜР”ÏÂ`oÐÂ@ Ô ‚Ò€±ÒÂàÓÂÀ_Рǀ‚ÅÂ@¼Ë€4Ò d×ÂyÑ AÈÂÀ}Ë€ÏÍÂà‰ÖÂ@hÙÂ@ªÎ€”ÂÂà`ÈÂ@9ÌÂÀôÌ ŒÆÂ@3ÍÂ`3ÚÂðÒÂà‰Ö€XÌÂ…ÏÂ`Â×Â@ªÎ ùÓ€·Ñ ëËÂ@ÒÂ@'ÏÂ`ŸÈÂà¹ÎÂàfÇÂà*Ñ »ÓÂËÂ@WÇ€ÛËÂÍÂÀMÓ€pÈÂàlÆÂÀ ÉÂàèÛ 8ÔÂ@ÚÆÂà¹ÎÂyÑÂöÑÂ@žÐÂÌ€ŸÕ /ËÂyÑÂà›ÓÂ`WÔ »Ó šÎ PЀ«Ó€4ÒÂÐÂ@WÇÂ`cÒÂ@’ÒÂà0ÐÂ`Ë ÈÂàÅÌÂ@!ÐÂ`‡ÌÂàãÇÂÀqÍÂÀ;Ö€ÿÅÂ…ÏÂ@!ÐÂ`¶Ù€½ÐÂÀeÏÂ`ß ÚÂ@9ÌÂÀ;Ö ÁÒÂÀÐÒÂàHÌ 8ÔÂÀ¾ÕÂ`¶ÙÂ`ÍÂÀèÎÂ`QÕÂà$ÒÂÀGÔ€4ÒÂàqÚ€Ú€ØÂ íÕÂöÑÂ@ëØÂ€"ÕÂ`3Ú€«Ó ÇÑÂ@ŒÓ€™ÖÂÐÂÐÂÀÐÒÂ`-ÛÂ@JÞÂÀ¾ÕÂ@ñ×Â[ÖÂÀÊÓÂ@ÙÛ ¯Õ€·ÑÂ8Ç€^Ë€× ØÂÀqÍ€ØÂà Ö 2Õ€:ÑÂ`“ÊÂÀGÔÂ&ÊÂÀ¬ØÂÀ5×ÂÀÛÂ@ýÕÂ@ëØÂ vÔÂyÑ€×Â`?ØÂ 8Ô€™ÖÂ`cÒÂàÓ€cß DÒÂ`{ÎÂÀ/ØÂ@zÖÂ`3Ú  Ñ åÌÂ@ýÕÂ@t×€ÕÌ &×Â`¤Ü€XÌ€øÛÂ`QÕ á× ÍЀ4ÒÂ@ÎÈ€@ÐÂà³ÏÂàƒ×ÂgÔ ØÂ 2Õ ¯ÕÂ`uÏÂÏÂà¹ÎÂ@!ÐÂ7ÜÂàÔÂmÓÂ@\ÛÂ`ÚÓ /Ë DÒÂ@ÙÛÂà­ÐÂ`-ÛÂ`ÍÂ@ñ×Â@ýÕ nË€LΠjÖÂ@!Ѐ±Ò€4ÒÂ`þÍ ÕÙÂÀGÔÂàÕÂà_Ý ñÊ ŽÐÂÀÝÂâÂØÖÂàÔµÇÂ`™É€4ÒÂÀÖÑÂ`“ÊÂ`ÍÂ@ÙÛ >ÓÂ`ìЯȠÍÐÂ@ ÔÂÌ ñÊÂÀÛÂÀÐÒÂðÒ€«ÓºÛ ùÓÂ`ìЀ×ÂÀeÏ ÏÂàÂ[ÖÂ`‡ÌÂ@KÉ´Ü ùÓÂ@°ÍÂ`ÈÖ ÜÂ@ŒÓÂ@€Õ ÏÚÂ[ÖÂà‰ÖÂà¿ÍÂ…ÏÂÀYÑ íÕÂÀSÒÂ`KÖ Ù ^ØÂ£ÊÂ@JÞ€L΀ÕÌÂÀ¸ÖÂ@€Õ ‚Ò >ÓÂöÑ ØÂÀúËÂ`ÍÂðÒÂÀ¦ÙÂ@ñ×Â@¤Ï€ØÂ 4ßÂÏÂÐÂ@ ÔÂ`QÕÂ`ÚÓÂÀ¦ÙÂÀMӯȠÿÒ óÔÂ@¤Ï ÁÒ 5Ê ØÂ€ØÂ ˆÑÂêÓÂmÓÂà¡ÒÂÀ/ØÂ PЀLÎÂàƒ×ÂÀkΠ ÍÂÀè΀™ÖÂ@©ãÂ`E× ÍЀ¥ÔÂàÕÂÀ5×ÂCÚÂÐÂ`?ØÂÀŽÝÂàHÌÂÀ‰ÉÂ`ËÂ@!ÐÂ`þÍ tÊÂ`ËÂ`æÑÂêÓÂ@VÜ€4ÒÂÀ5×€pÈÂÀ0àpÕ íÕÂÀÖÑÂÀ‰ÉÂàÕ >ÓÂ…ÏÂÀôÌ 8ÔÂ&ÊÂà0Ѐ:ÑÂ@EÊÂÀâÏ šÎÂ@žÐÂ`Ë€·ÑÂ`ªÛÂÀ߀·Ñ€ÖÂ@EÊÂ`{ÎÂ@ªÎ åÌÂ`ÈÖÂ`þÍÂÀGÔÂÀYÑÂsÒ ÁÒ€±Ò µÔÂà6Ï€@Ѐ(Ô jÖ€çÉÂÐÂàÜÝÂÀÐÒÂÌØÂØÖÂàÔ€¥Ô PЀ·Ñ»ÆÂ`¥ÇÂ@]ÆÂ£ÊÂà­Ð€ŸÕ ŒÆÂà‰ÖÂÀ_Р,ÖÂ@!Б̀ÏÍÂÀ ÚÂ@ßÚÂ`Í ßÍÂ@ÕÂ`‡ÌÂàwÙ€½Ð £×€"ÕÂàHÌ ÿÒÂ`Ë ÐÂØÖÂÀ;ÖÂÀAÕÂðÒÂOØÂgÔ JÑ bÍÂÍÂà¹ÎÂ`oЀ¥ÔÂ` ÌÂ`Í nËÂ=Û &× FÜÂàîÚÂÀÜЀ½Ð )ÌÂÀ¾ÕÂà Ö£ÊÂÀËÂU×Âà•Ô€±Ò ÕÙ ÁÒ€:ÑÂ ÛØÂaÕ ÕÙ pÕÂ@€ÕÂàúØÂ`òÏ åÌÂ@JÞÂà­Ð€oÝ ÏÂ`{ÎÂâÂ`†á Ú ÎÂà¡ÒÂ@°Í€¥Ô€FÏÂ`ÈÖ€½ÐÂ`àÒ ëËÂ`ìРDÒÂ@ñ×ÂØÖÂ@¤Ï LÛ —Ù 4ßÂ`E×€ÃÏ€× ðß PÐÂàÕÂÀÄÔÂà›Ó á×Â`ìÐÂà•Ô »ÓÂ@zÖÂÀíâÂÀSÒÂÀ¾ÕÂ@Õ€{Û tÊÂ`E×  ÑÂàèÛÂÌÂ@9ÌÂÀSÒ vÔÂÀÖÑ€«Ó€™ÖÂàÕÂäÔÂ`{ÎÂ΀pÈÂà×ÉÂ[Ö íÕÂ`“Ê :Þ€Îâ€ÔáÂ@ŒÓ šÎÂ`ÔÔÂ@˜Ñ€ŸÕÂ`3Ú 8ÔÂ@Dß jÖÂàqÚÂ`Í ùÓÂÀAÕÂmÓ çÖÂ@ÇÞÂ@zÖ íÕ &×Â@€Õ ÁÒ á× #ÍÂðÒ Ù΀‡ÙÂ@3Í€:ÑÂÀYÑÂÀ‰ÉÂ`ÚÓÂà¹ÎÂÀÊÓÂ`-Û€RÍ JÑ DÒÂÀÄÔ€ÃÏ |ÓÂÀÖÑ yÞ á× ŽÐÂ`{΀½ÐÂ`{ΠÈ †ÇÂà­ÐÂ@zÖÂÀÄÔÂ`uÏÂ[ÖÂÀ/ØÂ`KÖ á×ÂàÔÂ ÛØÂà× ÛÂ`WÔ€LÎÂÀqÍÂ@Õ€:ÑÂÀ_ÐÂà6Ï€½Ð ‚ÒÂ@ßÚÂÀ5×€·Ñ€þÚÂ@˜ÑÂà¹ÎÂ[Ö€:ÑÂ@ÚÆÂØÖ :Þ€ØÂ ËÂ@žÐ ÁÒÂ@ëØÂàÕÂ`«ÆÂ>ÆÂöÑ Ë ÙÎÂÒ×Â`]ÓÂà§ÑÂ`ÚÓÂÀÖÑ ¬ËÂ`øÎÂàYÞ ^ØÂÞÕ€«ÓÂ@žÐ bÍ µÔÂà0ÐÂ`ÎÕ ÄÇ€:ÑÂ`?ØÂÀAÕ ¦ÌÂ`“Ê€±ÒÂÀ¸Ö á×€±ÒÂ@ÔÇÂÀ_ÐÂêÓÂ@QÈÂ@ ÔÂsÒÂàÕÂ`æÑÂ`òÏÂà›ÓÂ`(ÇÂ`¥ÇÂ&ÊÂ`øÎÂÀ;ÖÂÀôÌ ÓÏ \ÎÂ@žÐÂêÓ€pÈ€ØÂà­ÐÂ@ÑÂ`±ÅÂ@˜Ñ åÌ óÔÂà0ЀoÝÂÀpâ‹ÎÂàéÆÂ \ÎÂÀ•Ç€óÇ€çÉ€^Ë ëË nËÂàYÞ ÁÒÂÀeÏÂÀ*ÄÂàHÌÂ@¶Ì‹Î µÔÂÞÕÂà$Ò€ ÙÂÀ_Ѐ¥ÔÂ`Í VÏÂ`oБ̀ÉÎÂ`ÚÓ VÏÂ`E×Â@ëØÂ@ÙÛÂ@ ÔÂ`¤ÜÂyÑ ÙΠ”Ï€½ÐÂ`WÔ ¦ÌÂ[ÖÂà›ÓÂ@ëØÂ ÃÜÂ@†ÔÂàÖÞ€¥ÔÂ`“ÊÂ`ÉÂ@†ÔÂ`QÕÂàƒ×Â`{΀:Ñ ¬Ë )Ì€áÊ zÉÂ`þÍ zɺÛÂ@ªÎÂà›ÓÂÀÊÓÂmÓÂ&ÊÂ@˜ÑÂÀYÑ ¯ÕÂðÒÂÀÚÂ@ ÔÂ@hÙÂ@t×Â`øÎÂà„ÂÂ@¾Â`þÍ€(ÔÂà¡ÒÂ`É€™Ö€ÏÍ ÷ÉÂyÑÂÀMÓ hÌÂà6ÏÂàxÄ  ÍÂà<΀.ÓÂ`þÍÂÀMÓÂ` ÌÂ`™É€ŸÕÂ`ÚÓÂ@?ËÂ@€ÕÂË 2ÕÂÀYÑÂ@€ÕÂÀâÏÂ@cÅÂà×ÉÂàËË \ÎÂÀMÓÂ`]ÓÂ`KÖ¯ÈÂàxÄÂà$ÒÂÀâÏÂ`øÎÂÀÇÂ@ÂÊÂ@zÖÂÀÝÂ`ÚÓ€RÍ€šÁÂ…Ï€ŸÕ DÒÂ@QÈÂÀqÍÂà×ÉÂÞÕÂ@3Í€·ÑÂ`ŸÈÂ`{ÎÂäÔÂ@JÞ€.ÓÂ`“ÊÂ`æÑ ýÈÂÀ}ËÂ@°ÍÂÀÈÂÀqÍÂ@¤ÏÂà$ÒÂÀYÑÂÀ¾ÕÂmÓÂÀ¸Ö ßÍÂÀôÌ€@ÐÂàúØÂ€ØÂÀ;Ö€dÊÂÀ#Ú¯ÈÂàØÂ€LΠ¾ÈÂ@ÑÂ` Ì€¥ÔÂÀÐÒÂà}ØÂ PЀ(ÔÂà*ÑÂàîÚÂÒ×Âà6ÏÂÀÄÔÂ@àÅ ¬ËÂ@ëØÂÀÖÑÂÀwÌÂÀŽÝ€ÛËÂ`Ê€áÊÂЀ‡Ù€×ÂÀ5×ÂÀGÔÂ@¤Ï€ÖÂÀè΀±Ò çÖÂà¡Ò ÓÏÂà×ÂÒ×ÂàôÙ€ØÂ@ñ×ÂgÔÂÀ)ÙÂ`QÕÂ@bÚÂ`uÏ€{Û ùÓÂà*ÑÂÀôÌÂàÔ€.Ó ^ØÂêÓÂ@nØÂà`ÈÂàîÚÂÀÄÔ >ÓÂ`3ÚÂ`oР·Þ ‹Û€ØÂ@t×ÂàwÙÂ@Ò€‚Å ”ÏÂ@\Û pÕ &×ÂÀ/ØÂäÔÂàÅÌ€ÉΠ@Ý 4ßÂ`¼ØÂ@!ÐÂöÑÂÀÊÓ hÌÂÀwÌ€^ËÂàÓÂÀ¸ÖÂÀ²×Â`-ÛÂ@žÐ @Ý€×Â`¤ÜÂàeÜ &×Â@!ÐÂà¡Ò ^ØÂ \ΠbÍÂ`cÒ€FÏÂ@bÚÂÀ Ú ùÓ€]à PÐÂ…Ï ÐÂ`ËÂ@°ÍÂ@÷ÖÂ@ªÎÂÀ¬ØÂ€‡ÙÂà›ÓÂ@Õ€"ÕÂÀ ÚÂêÓÂ@\Û ˆÑ ”ÏÂà*ÑÂàôÙÂàqÚÂ@ÇÞ€·Ñ 2ÕÂ@†Ô ÓÏÂÀeÏÂ1ÝÂÀAÕÂÀSÒÂÀ¸ÖÂà•ÔÂ@ÒÂ`øÎÂ`ÍÂÌØÂ #ÍÂàôÙÂàèÛ 2ÕÂàÕ µÔÂÀeÏÂaÕ ÏÚ ÝÂ@ÙÛÂØÖ€‡ÙÂÀÚ £×€±ÒÂ=Û ÚÂÀ;Ö ØÂ@,ãÂ@ ÔÂàGáÂÀÐÒÂ@nØÂ€.Ó€™ÖÂàÄá€ØÂ@t×ÂgÔ £×€“× 2ÕÂ@ýÕ XÙ€·ÑÂÀ#ÚÂ@nØÂÀâÏ ‹ÛÂÀ¸ÖÂÀùà DÒ  Í€ÚàÂâÂsÒ ½ÝÂ`˜Þ„äÂØÖÂÀ ÞÂÀ^åÂ@ŒÓÂà5äÂàÊàÂ`QÕÂàÕ —Ù ÝÂÏÂÀ²×Â`ÔÔÂ`9ÙÂÀGÔ€ìÝÂ`¶ÙÂÀ”ÜÂðÒ á×ÂàÜÝ 2Õ ÿÒ íÕÂàúØÂ ÏÚÂÀSÒ€ØÂ€ÔáÂÀâÏ€«ÓÂÀ²×Â@ëØÂºÛÂ@ÙÛÂàâÜÂÀšÛ€× ÝÂà¦æÂaÕ€:ÑÂCÚÂ@ÍÝÂOØÂ`9Ù€×Â`þÍÂÀ¾Õ ØÂ FÜÂàšèÂ@ßÚÂÀ¾ÕÂ@†ÔÂ`ªÛ íÕÂ@zÖÂ@†ÔÂ@Á߀øÛ ±ßÂà0ÐÂ`QÕÂà•ÔÂàÜÝ€‡Ù ©ÖÂ`ÈÖ€QâÂ`˜ÞÂ`Â×Â` ÌÂÀMÓ€.Ó ÜÂaÕ &× …ÜÂ@†Ô ¯ÕÂ`ŒàÂÀ߀(Ô€×€±ÒÂÀÚ€]àŠãÂà•Ô íÕ Û 4ßÂ`ý‟Հ9æÂ ÐÂ ÛØÂÀË ©Ö sßÂ@Vܠ倨ÂàÅ̠܀øÛ€™ÖÂÀXæÂàSßÂ@ÙÛÂÀšÛÂ@nØÂ€ØÂÀ5×ÂàÖÞÂà ÖÂ@ýÕÂâÂàÜÝ XÙÂâÂ@t×Âàƒ×Âà•ÔÂ ÛØÂà*ÑÂà ÖÂ`WÔÂ`˜ÞÂ`°ÚÂ@>àÂÀŽÝ€ØÂ`à€¥Ô€4Ò êàÂÀÄÔ ùÓÂà*ÑÂ@ÓÜÂ`ÎÕÂ`ÍÂ@÷Ö€cßÂ`ÎÕ ™ã€uÜÂ`ÔÔÂ@¤ÏÂ`â€{ÛÂ@£äÂ`Œà ”Ï µÔÂà•ÔÂ`ŒàÂÀÜ€‡Ù ÚÂ`â RÚÂ`E×ÂÀ‚߀ ÙÂ@hÙ€(ÔÂ@ßÚÂ@ßÚÂ`ßÂÀˆÞÂ`ªÛÂàÄá ‹ÛÂÀváÂÀ)ÙÂÀçãÂÀ@êÂÀpâ 4ßÂàwÙÂOØÂ ·Þ€KãÂ+ÞÂ`÷ãÂÀÿߊãÂIÙÂ@8áŠãÂ`ýâ€æÞ€ÈãÂäÂ@JÞ€oÝÂÀ¾ÕÂÀÚ€ ÙÂ@£äÂÀáäÂ`zãÂÀíâÂÀ‚ß þç€3çÂ@8áÂàeÜÂ@ÍÝ€cßÂàeÜ€òÜÂ`’ßÂ`ªÛ€ØÂ øè€Úà [ã ìêÂxæÂ`Œà ‘Ú ãÂ@¯âÂÀóáÂ@>à„äÂÒ×ÂàØÂ ØãÂ@2â´ÜÂ@PÝÂ`ëåÂáÂ@nØÂ€ÚÂÀˆÞÂ@nØÂÀ¬ØÂà;ãÂàÖÞÂØÖ€iÞÂ@†ÔÂ`ÈÖÂ@hÙ€× @ÝÂÀ^åÂÀùà€@Р…ÜÂ@€ÕÂÀ¬ØÂ€ÏÍ ÁÒÂàîÚ€]àÂ1Ý€ÚàÂàØÂ`iÑ RÚÂ@\ÛÂàúØÂ€@Ѐ{Û€ØÂ¨Þ óÔ êàÂÀ/ØÂ`Ë ÜÂ ÛØÂ€“×Âà‰ÖÂ@bÚÂÀÝ€ŸÕÂ@>àÂàèÛÂÌØÂ`Â×ÂÀ/ØÂ€uÜÂIÙ &×ÂÀÚÂàÜÝÂ@VÜÂ@žÐ€‡ÙÂÀÖÑÂ@ÒÂaÕ ÏÚ ØÂ€ Ù Û "â |ÓÂÀ ÞÂOØÂÀÛÂðÒÂÀváÂÀóá üÝÂ`¶ÙÂ`€âÂ@ëØÂ UäÂâ€ÛËÂCÚ "â€{ÛÂÀMÓ ΀ÔáÂ@ÓÜÂ`WÔÂÀ¬ØÂÀóáÂÐÂ`Â× ØÂÒ× #Í€þÚ€:ÑÂ=ÛÂ`°ÚÂ ÛØÂ+ÞÂÀÖÑ ©ÖÂûåÂ@£ä £×ÂÆÙ¨ÞÂ@÷ÖÂ@°ÍÂOØÂ€cß ðßÂ@t×Â@’ÒÂ@†Ô€Ö j֮݀±ÒÂ`òϺÛÂÀÜÐÂOØÂ`uÏÂ@ Ô µÔ ä€ÔáÂàÐß ¯ÕÂàÓ€òÜÂ@9ÌÂ`™É [ãÂ@ÇÞ ãÂ[ÖÂÀ¸Ö€"ÕÂÀÜÐÂ`cÒÂ@,ãÂàôÙÂÀGÔÂ`ÔÔÂ@€ÕÂ@ŒÓ ÁÒÂÀ¦ÙÂ=ÛÂà•ÔÂ`Þ Û€oÝ Ï 8ÔÂÀ·ëÂÀÝÂ@˜Ñ€ŸÕÂÀÖÑÂà0ÐÂ`æÑ…ϨÞÂ@åÙÂ@ªÎÂðÒ RÚÂ@'Ï€±ÒÂà$ÒÂ@÷Ö üÝÂØÖÂ@nØÂ€þÚ «àÂÀSÒÂàÓ ÿÒÂÀôÌÂ7Ü ^ØÂ`ªÛÂØÖÂÀGÔ yÞÂÀšÛÂ=Û€FÏÂÀÝ üÝÂ`˜Þ …Ü ÕÙ ÛÂà*ÑÂØÖÂ@ÓÂ@ñ×ÂÀd䀿ÞÂÀÜÐÂ@>àÂ`Çë ±ßÂ`3ÚÂðÒ ÍÐÂ`Þ Ù€Ôá€Úà Ú€·ÑÂ@zÖ€Úà pÕÂÀ;Ö …ÜÂ@'ÏÂÀ/ØÂÐÂÀ5×Â`cÒÂàƒ× pÕÂ@©ãÂ1Ý ¥á ØÂ jÖ ÙÂ@\Û ^ØÂOØÂ`ÎÕÂàeÜ€·Ñ ©ÖÂÀpâÂàÔ ÃÜÂÀÚÂ`KÖÂ`°ÚÂ`QÕÂ`âÂ@2â ÕÙÂàÕÂsÒ PÐÂÒ×€ìÝ€ìÝ RÚÂàÜÝ ·ÞÂÀ;ÖÂ1Ý RÚ ÛÂ`uÏ XÙÂà Ö€¥ÔÂàôÙ€¥Ô€‡Ù ÝÂ@ßÚ‘ÍÂàÕÂÀMÓÂ@t×ÂIÙÂÀSÒÂÀôÌÂ`ÞÂØÖÂàÂàÓ ©ÖÂÀ”Ü€¥ÔÂÀÄÔÂàeÜÂ`Í ,ÖÂ@ÙÛ 2Õ ΀±Ò yÞÂÀ¬ØÂ`?ØÂ Ý€:ÑÂ`ÎÕÂàÂÂ`Í ‹ÛÂÀAÕÂÀÊÓÂÀ#Ú öÞÂ7ÜÂ@ŒÓÂà*ÑÂ`ÚÓ |ÓÂyÑÂÀÊÓ íÕÂgÔÂ`ÈÖÂ@nØÂàÓ ÍÐÂ`cÒÂ`(ÇÂÀ5×ÂÀ Þ€½Ð€ÚÂàÕ ¦Ì á×ÂР/ËÂ`]Ó ÃÜÂ@¤ÏÂÀ¾Õ ¬Ë ˆÑÂ`Â×Â…ÏÂÒ×Â`˜Þ€"Õ€:ÑÂ@ÇÞÂðÒ€XÌÂ@nØÂ jÖÂ@€ÕÂàwÙÂÀ/ØÂ`°ÚÂàÜÝ€ ÙÂÀ}ËÂà­Ð ‚Ò vÔÂ@ªÎÂaÕ çÖÂ`¶ÙÂÀ5×Âà­Ð ‹ÛÂIÙ 2Õ€™Ö ©ÖÂ`¼ØÂÀSÒ  ÑÂÀÖÑÂ@!РvÔÂØÖÂ`æÑÂ`-ÛÂüЀXÌÂ`oÐÂÀGÔÂàÕÂ@ßÚ ØÂ@ ÔÂÌØÂ ·Þ€«ÓÂà Ö€\õÂyÑÂàØÂ@zÖÂÀ ÚÂ`KÖ ÙÂ@nØÂ€à߀]à :Þ ”ÏÂÐÂà¹Î #Í šÎ€ ÙÂà­ÐÂÀè΀:ÑÂüÐÂàÊà€ÖÂ@ëØÂ€3çÂ`Â× ‘ÚÂ`E×Â7ÜÂΠ\ÎÂ@zÖÂüÐÂà$ÒÂ@>àÂ@ýÕ XÙÂ@ÕÂüÐÂàƒ×ÂÀvá ØÂsÒÂà§Ñ .àÂ`¼ØÂà•Ô Ù aâÂ`]Ó ‚ÒÂÀ¸ÖÂÀšÛÂ1Ý€±ÒÂU×ÂÀqÍ »ÓÂ@nØÂ ØÂÀšÛÂàÜÝÂàqÚ çÖÂ@’ÒÂÀšÛÂ+ÞÂ`cÒÂ`-ÛÂ@»àÂ@JÞ ‚ÒÂ`WÔÂà¡Ò€.ÓÂCÚÂàeÜÂCÚ FÜÂÀ¦ÙÂàÜÝÂÀˆÞÂ@ŒÓÂàÕÂ@˜Ñ Ò ÒÂ`?ØÂ çÖ ÓÏ Ú >Ó€{Û ØÂàÓÂ@zÖÂ@ Ô€× üÝÂà¾â€ÃÏÂ@åÙ®ÝÂÀóáÂÀ ÚÂ`9ÙÂÀÐÒÂ@nØÂOØÂÀˆÞ (á RÚ€× &× —ÙÂ ÛØÂ yÞÂàÜÝÂÀ)Ù ÒÂäÔ€FÏ |ÓÂÀÝ LÛÂ`àÒ ØÂ€ŸÕÂà Ö€«ÓÂ@Õ 8ÔÂÀÚÂ@Íݠ܀æÞÂ@PÝ€XÌÂ`¤ÜÂ@ÑÂΠ”Ï€jɺ۠&×Â@ÓÜÂ@†Ô Û€ØÂ`cÒ 2Õ ÁÒÂÒ×€·Ñ PЀ±ÒÂÀ ÚÂ`¤ÜÂ@zÖ JÑÂ@¤ÏÂÀˆÞ ÉÛÂËÂÀAÕ óÔÂàÊà RÚÂ@\ÛÂsÒ€ÛË —ÙÂ`¼ØÂ šÎÂ`.ÆÂ€¥ÔÂ`QÕ ‹Û ØÂ ¯ÕÂà$ÒÂ`’ßÂ+Þ€×Â@ ÔÂàƒ×ÂÀîÍÂ@åÙ ÏÚ€{ÛÂÀˆÞ 2Õ ,Ö€^Ë PÐÂ@ÓÂÀwÌ£ÊÂà•ÔÂ`!ÝÂà ÖÂ`ÈÖ vÔ€vÇÂyÑÂyÑÂ@žÐÂ@ŒÓÂàÕÂ`cÒ¨Þ€¥Ô€øÛ 8ÔÂ@ÍÝ Òä€Ö—ÌÂ@nØÂÌ á×ÂÀßÂ@ÓÂ@DßÂàôÙÂÀ¾ÕÂàÕ€ÃÏÂà¡Ò€ÃÏÂ`ÎÕÂ`¶Ù 8ÔÂ`¶Ù ‚ÒÂ`ÔÔ 8Ô JÑ bÍÂà‰ÖÂ`.ÆÂ@KÉ‹ÎÂ@ÓÜ‹ÎÂà<ÎÂ@Õ€ÚàÂÀ”Ü—ÌÂÀ/ØÂ ÁÒ ëËÂÀ;Ö PÐÂ`æÑÂ@ÑÂàØÂðÒ€ŸÕÂ`ÎÕ€ŸÕÂ@t×Â`’ßÂ ÛØÂyÑÂÀÐÒ€™ÖÂÀƒÊÂ`cÒ€ØÂ`ÔÔ íÕ€@Ѐ¥ÔÂÀGÔÂ@,ãÂÀ}ËÂ@ëØÂàÕ  Í 8ÔÂÒ×€‡ÙÂ`øÎÂÀÄÔÂ@ ÔÂ@’ÒÂ[Ö ØÂ€ØÂÀMÓ€Ú XÙÂ ÛØÂOØÂÏ€ÚÂ`nåÂÆÙÂ=Û ‹ÛÂàÓÂ@nØÂ@ÑÂà¡Ò ÏÂðÒÂ`ìРǠÖÄÂ`ÈÖÂÀ;Ö )ÌÂÀYÑÂ…ÏÂÀ ÚÂá ËÂ@Õ ØÂ€‡ÙÂà¹Î »Ó ½ÝÂàÔÂÀ)ÙÂÀÜ XÙ çÖÂàúØÂà‰Ö ØÂÀÛÂÀ²×Â`òÏÂàËË ÐÂ`oÐÂÀîÍÂ@iÄÂaÕ ÛÂÀMÓÂðÒÂÀÐÒ á×€ëÂÀ¬ØÂ åÌ @Ý pÕ )Ì ¬Ë€×Â`Â×Â@ëØÂ ˆÑ€½ÐÂðÒÂÀ/ØÂ€ØÂÀ¾ÕÂU×€oÝ€cßÂà­Ð€dÊÂÀÜÐÂ`ÍÂ`cÒÂ`ìÐÂàÓ€jÉÂÞÕÂ@VÜÂ`™É »ÓÂ@˜ÑÂÀGÔ /ËÂ`‡ÌÂÀ/ØÂ íÕÂ`ÎÕÂàÓ zÉÂmÓÂÀÄÔ ÇÑÂ@!ÐÂà§Ñ €È \ΠAÈ €ÈÂÀ ÚÂÀîÍÂÒ×€Úà€ÉΠÏÂ`WÔ€ÿÅ€vÇÂÀqÍÂ@ÕÂÀÖÑ€4ÒÂà6Ï‘ÍÂ@ýÕÂ@Ò€:ÑÂà}ØÂ`KÖÂÀîÍ ²ÊÂ`Ë€ŸÕÂ` Ì çÖÂmÓ€ŸÕÂàՠ݀ Ù ©ÖÂ`àÒ€ÕÌÂÀÐÒÂÀ²×ÂàÝÈ ÒÂ`Ë #ÍÂÀeÏÂ@'Ï€ÃÏÂ`àÒ€ŸÕ ÏÚÂàwÙÂ`E×ÂØÖ >Ó ÇÑÂOØÂäÔÂàwÙÂ@ªÎÂÀ¾ÕÂ@ÓÜ ÆÂ[ÖÂÀ;Ö ,ÖÂÀƒÊ çÖÂ@-ÎÂÀšÛÂÀÊÓ LÛÂ@zÖÂÀÊÓÂ`¤ÜÂ`]ÓÂäÔ€XÌÂ@ ÔÂ@ Ô€RÍÂ@'ÏÂ`‡Ì®Ý vÔÂà<΀(Ô€jɩɠhÌÂàNË ÕÙÂÀ¾ÕÂÀÜЀ«Ó€LÎÂ@-Π;ÉÂ`@ÃÂÀÊÓ€×Â`E× ÍÐÂ`cÒÂaÕ ©ÖÂÀ ÚÂàSßÂ@\ÛÂ`'Ü€"Õ€ŸÕÂà¡ÒÂ`QÕÂà¹ÎÂäÔÂU×ÂäÔ ßÍÂ`òÏÂaÕÂÀYÑÂÀ}ËÂÀÜЀÕÌÂ@žÐÂ`Ë€½ÐÂÞÕ€ÏÍÂàHÌ€4ÒÂÀƒÊ ÒÂU×ÂØÖÂΠ‚ÒÂÐÂ@ýÕÂàHÌÂyÑÂäÔ€ØÂàõÄ€áÊÂ@ÑÂ`3ÚÂ`°Ú€LΠëË ÇÑÂCÚÂ1ÝÂÀ¾Õ ÿÒÂðÒ ÙÂ[ÖÂ@Õ£ÊÂÀ³Â 5ÊÂ@€ÕÂ@’ÒÂÀeÏÂäÔÂüЀ«ÓÂgÔÂêÓ  ÑÂà×ÂÐÂ@ ÔÂ@ÙÛÂÀ”ÜÂ@¶Ì ΠDÒÂà<ΠëË ¾ÈÂÀYÑÂ@!ÐÂ@ÈÉÂàÓ€±ÒÂà6ÏÂÀqÍ ØÂ zÉÂ@ Ô€4ÒÂ@ªÎÂÀÄÔÂàTÊ #Í€ŸÕÂ@?Ë€@ÐÂÀâÏÂÀ¸Ö íÕ€4ÒÂÀeÏ€RÍÂ@¼ËÂöÑ€‚ÅÂ`àÒ µÔÂà_Ý 2ÕÂÀ;ÖÂÀ¾Õ €ÈÂ@ÎÈÂÀ/ØÂ@t×€™Ö ¦ÌÂ@zÖÂ` áÂÀSÒ€ÛËÂ@iÄÂ@ÔÇÂ`‡ÌÂÀ¦Ù€:Ñ€ÃÏ ëËÂ@Ò€(ÔÂÀ­Ã ÷É ÎÂà¿ÍÂðÒÂÀAÕÂ@¼Ë µÔÂÀ/ØÂ€áÊÂgÔ  ÑÂàÔÂÐÂüÐÂ ÊÆÂÀÜÐÂÀ/ØÂ@3ÍÂà³Ï ˜ÄÂ@]ÆÂ »ÓÂàÔ ÒÂàfÇ ÒÂ@ìà;ÉÂ`ÚÓÂ@ªÎÂÆÙÂÀ¸ÖÂ`òÏ€·Ñ \ÎÂÏÂ@cÅ ÷ÉÂÀYÑ€ÏÍÂ@†ÔÂÌØÂsÒ šÎ ÏÂ`Â× ÓÏÂÀÈÂÀ_Ѐ±ÒÂÀYÑ€.ÓÂ@žÐÂÀËÂ@WÇÂ8ÇÂÀ}ËÂÀÖÑÂÀ_ÐÂ@€ÕÂ`“Ê€“×€.ÓÂ@žÐÂ`ÎÕ XÙ Ù΀@ÐÂ@¼ËÂËÂ`ÚÓÂÀÖÑÂÀÄÔÂ`uÏ ñÊ ÍЯÈÂàÑÊ ˜ÄÂ@¼ËÂР¬ËÂ`]Ó ¬ËÂ`iÑÂÀÄÔÂ@!Р&×Â@ÂÊÂÆÙ ÍÐÂ`òÏÂ`‡ÌÂ@WÇ€XÌ ÏÂà³ÏÂÀôÌ €ÈÂ@°ÍÂ@ªÎ€4ÒÂüÐÂàîÚ 8Ô€ Ù ùÓÂ`ÔÔÂ`ÎÕÂ`øÎ€ØÂ XÙÂ@3ÍÂ@ÂÊÂà¹ÎÂÀwÌ 4ß 4ß ÛÂÀ;Ö€½ÐÂ`ÚÓÂÀ•ÇÂ@ Ô  ÍÂ@€Õ LÛÂÀ²×Â=ÛÂÀGÔÂOØÂ ëËÂ`KÖ ”ÏÂ@ŒÓÂ@ýÕÂ@hÙÂàúØÂÀšÛÂðÒÂ@†Ô ÎÂ@nØÂ€4Ò€™Ö XÙ nË€±Ò ‚ÒÂÀ#Ú€×€Úà€]àÂÀ²×€æÞ DÒ€òÜÂüÐÂÒ×ÂöÑ€ ÙÂà0ÐÂà$ÒÂà•Ô DÒ óÔÂ@Õ d×ÂàôÙ€{ÛÂ`?ØÂ`KÖÂÀ¾Õ€ÏÍÂ`ÔÔ ½ÝÂðÒ€ÚÂÀß ÕÙÂÐÂöÑÂàîÚÂÀÄÔÂÀ¸ÖÂÀŽÝ ¯Õ —ÙÂ@ñ×ÂÀÜЀ™ÖÂ@!ÐÂР·Þ€ÚÂ…Ï€™ÖÂ+ÞÂÀßÂÀáäÂàÔÂOØÂ@¶ÌÂÀÜÐÂÀÜÐÂàeÜÂÀÚÂàeÜÂà ÖÂÀ)ÙÂÀÄÔÂÀAÕ€½Ð DÒ ÞâÂ`9Ù€øÛÂ@ýÕÂ@,ã€"ÕÂÞÕ€4ÒÂÀ5×€ÉÎÂ`ßÂÀdä€þÚÂIÙ á×ÂÀYÑÂ@VÜÂ@t×ÂàÜÝ€òÜÂ=Û LÛÂ@D߀‡ÙÂ@ÕÂàƒ× ,Ö hÌÂ@žÐÂ@€ÕÂà¡ÒÂàÀÂ`¼ØÂ`3ÚÂaÕ  Í‹Î€þÚÂÀAÕ€Úà€(Ô bÍ ØÂ€XÌÂ`àÒÂ@tרÞÂÀ²×€(ÔÂ@ýÕÂÀAÕÂàÖÞÂ`¤Ü€(ÔÂàØÂ@PÝÂÀˆÞÂÀ5×Â@8á€ÚÂ`KÖ´ÜÂÀÛ€æÞ€ØÂàAâ êàÂ`âÂÀÏçÂ@»àÂØÖÂàÐß ØÂØÖÂ@µáÂàMàÂÀóá ÞâÂ`¶Ù¨ÞÂ`!Ý€iÞÂÀß d×Â`ßÂàÐßÂ`zãÂ@ñ× «àÂ`žÝ ¢ìÂØÖÂàØÂU×€ÔáÂ@ëØÂ`?ØÂ€cߨޠ·Þ ÚÂ1Ý€ÚÂ`àÂàÔÂsÒÂÀáäÂ`!ÝÂÞÕÂ7ÜÂÀÜÂàwÙ ·ÞÂ@…é€c߀ ÙÂ`-Û€"ÕÂ`3ÚÂyÑ€±ÒÂà*ÑÂ ÆæÂ Þâ ÿÒ öÞÂÀ Þ (áÂÒ×Â@ÁßÂÀˆÞÂIÙÂÌØÂÀAÕ RÚÂ%ßÂà}ØÂ@hÙÂ`ÚÓ€9æÂ ÞâÂàîÚÂ@ÓÂ`WÔÂà›Ó€ÂäÂ@—æÂ`'ÜÂ`VéÂ@Dß sßÂ@2âÂIÙÂå ãÂ@ÇÞÂÀ#ڮݠaâÂ7Ü ÃÜ ·ÞÂàMàÂÀÜÂàMà yÞÂ@‹èÂÀ‚ßÂàîÚÂÀ¬ØÂ ÝÂ@zÖÂà ÖÂàÔÂ@PÝÂ@hÙÂ`ÚÓÂ%ßÂàÂ@ åÂÀáä€{ÛÂÀeÏÂÀYÑÂ@nØÂOØÂ€Ö ±ß ±ßÂ@PÝÂ`QÕÂ@ýÕÂØÖÂ`¶ÙÂ`9Ù yÞÂàÜÝ€æÞÂàƒ×ÂàèÛÂ`E× Oå ±ßÂÀßÂ@>à€þÚÂ`°ÚÂ@»àÂ@ÓÜ€]à d×€?å€øÛ ÓÏÂ`ªÛÂÆÙ RÚÂà;ãÂÀÚÂÀ ÚÂ@hÙÂàqÚÂÀšÛÂàeÜÂ@‘çÂàƒ×Âà ÖÂ@JÞÂÀÿßÂ+Þ ðßÂ×ëÂ`’ßÂÀóáÂàÊàÂÀÛÂ@PÝ :Þ çÖ€ ÙÂ`'ÜÂ`ÎÕÂ`'Ü€uÜÂà}ØÂ€òÜÂÀdä @Ý€ÎâÂÀ¬ØÂà}ØÂ€òÜÂ@nØÂ ¯Õ >ӜࠇæÂÀùà€]àÂ`zãÂ@8áÂ`KÖÂ`3Ú€4ÒÂ`†á ™ãÂÀÊÓÂÀ‚ßÂ@ ÔÂàwÙÂ`Ùè OåÂ@êÂ@—æÂ`bç çÂà5äÂÀßÂ`â–á RÚ «à äÂÀíâÂsÒÂ`Þ€iÞÂ@,ãÂÀÝÂÀ¦Ù€øÛÂÀ¬ØÂ€ØÂ€òÜÂ@ÇÞÂä äáÂÀ”ÜÂáÂ@ßÚÂ@»àÂàÖÞ «à€Kã 4ßÂ@ÙÛ€ÂäÂBï UäÂ@2âÂ@ÓÜÂÀvá€Èã€àßÂ6ñÂÀ¦Ù€ªèÂãéÂ@bÚÂà¸ã ·ÞÂIÙ€WáÂ@÷ÖÂ`ÚÓÂÀ/ØÂà}ØÂÀóá XÙÂ@åÂàšèÂ`Vé€Ôá .àÂÀXæÂ`߀¥Ô OåÂ@&äÂ`ßÂ@ÓÜÂ7ÜÂféÂ`'ÜÂÀíâ€WáÂÀLèÂ`ÓéÂ@‹èÂàèÂàÜÝÂàÖÞÂåŠã aâÂá Ü€-èÂ@ëØÂ ÆæÂ`ëåÂ@åÂÀáäÂ@åÂàèÛÂ`ê ºèÂ1Ý€uÜÂ@¯â®ÝÂûå ÛÂ@JÞ€Ôá€ØÂ 2Õ UäÂ@å ‡æÂ@JÞ€oÝ ¥áÂÀßÂÀdä :ÞÂàØÂÀÛ€ÔáÂ`†á€cßÂ`à€¼åÂ@¯âÂáÂàîÚ üÝÂ ÛØÂÀ/ØÂ€EäÂÀ Þ€°çÂÀÕæÂ cìÂ@©ãÂÀšÛÂÀpâ€E䀇ÙÂ`ýâ€àßÂÀRç mà€9æÂ`°Ú¢ßÂÀ.íÂ@Á߀¥ÔÂ`täÂ@ÓÜÂ`’߀Kã mà ç Òä öÞ€ÚàÂ@ÍÝÂZëÂà²ä ÛÂ@PÝÂà5ä çÂ@¯â–á ©ÖÂ@DßÂõæÂ€ÚÂà¸ã äáÂ`tä€'é .à 7éÂÝê€ØÂ —Ù€ÂäÂÀˆÞÂÐÂ+ÞÂ×ë€bôÂ@míÂ@ÍÝÂ`÷ã UäÂÀÃéÂ`†áÂ@ÍÝ üÝÂäÂ@»àÂÀ|à€ªè„ä ºèÂ@©ãÂ`ýâ öÞ Òä IæÂÀÜÂÀóáÂàMà€?åÂ`Íê ±ßÂ`ýâÂÀXæÂ@ÁßÂÀXæÂ`†á€ì ™ãÂ@ÓÜÂàeÜÂ`hæÂà‚ìÂàGá ŸâÂ`÷ã Cç yÞ sßÂàÄáÂà#ç 7é ½ÝÂ@å€uÜÂÀßÂ`¶Ù€Wá€ÂäÂ@,ãÂ@÷ÖÂá€àß yÞÂ@VÜÂÀÿßÂàkÛÂ`zã€Âä vÔ XÙÂÀGÔÂÀ#ÚÂ`÷ã¨Þ ½Ý QïÂ@£äÂ`Œà€×ÂÀ ÚÂàîÚÂ`žÝ€ÎâÂà_Ý äÂ`ßÂ@£äÂ`˜Þ ±ßÂ`ŒàÂÀˆÞ ‹Û€]à .àÂ@ÍÝÂ`žÝÂ`àÂ`!ÝÂÀ¬ØÂàkÛÂà/å€þÚ€òÜÂ`’ßÂÀGÔ ØÂàkÛÂaÕ€iÞ 2ÕÂàÖÞÂ@÷ÖÂÀÏç€ÈãÂÀíâÂàÜÝÂ@ýÕÂÀšÛ ±ßÂ`†áÂÀÝ FÜ€žêÂCÚÂ@˜ÑÂ@ñ× ©Ö€“׮ݠÏÚ€«ÓÂ@bÚÂêÓÂàôÙ€ŸÕÂÀÊÓÂÌØÂ`°Ú€-èÂ`€âÂÀŽÝÂ@nØÂ d×€Kã€þÚÂàØÂ`ÈÖÂäÂ`ÈÖ vÔÂ`ÊÂÆÙÂÀ¬ØÂ@ñלàÂ@ÍÝÂà²äÂÌØÂ ØÂ`Â×Â@t×ÂÀ_ÐÂÀ5×€Ú€Eä ÉÛ þçÂÀÕæÂÀˆÞÂ`E× 8ÔÂÏÂÀGÔÂàeÜÂÀÖÑÂÀ¸ÖÂ`ÚÓ d×Â@ÁßÂàwÙ®ÝÂ@DßÂ@KÉÂÀÄÔÂ`!Ý€Ö ‹Û ^ØÂ äá€'éÂÀÜÂU×€×Â`ßÂ`°ÚÂÀ²×€ÎâÂàâÜÂÀÛ ‡æÂ`!Ý &×Â+ÞÂ`3Ú€cßÂIÙÂ@ŒÓÂ@ÍÝÂÀ¬ØÂÌØÂmÓÂêÓÂ`™É XÙÂ=ÛÂàÔÂÀÊÓ RÚÂà$Ò ùÓÂ@ñ×ÂÀÚÂÀ)Ù ‘ÚÂ@t× ©Ö ‘Ú ˆÑ ÜÂ[ÖÂà× sßÂ`KÖ /Ë€×Â`9ÙÂÆÙÂÀ ÞÂ`WÔÂ@t×€¥ÔÂ`QÕÂ`?ØÂ`ÈÖÂ`E×€ ÙÂà­Ð £×Â@ÇÞ Ò€¥Ô jÖÂ`žÝ€Ö€iÞÂÞÕÂ@µá€cßÂÀ¬ØÂ`ÎÕÂ`WÔÂ@,ãÂÆÙÂÀˆÞÂà‰ÖÂàèÛÂàwÙ€Ú ÙÂmÓÂ`°Ú€ÚÂÀÜ šÎ€(ÔÂÀ¬ØÂ`àÒÂ@nØÂ€þÚÂà}ØÂ@ÑÂ@†ÔÂÀÚÂ+ÞÂ@ÁßÂÀùàÂàôÙ€òÜÂ@ç RÚ€«ÓÂàÕÂðÒÂÀçãÂ`¶Ù€"Õ :Þ ‘Ú ±ßÂ@ßÚ ‹Û€.ÓÂ1Ý´ÜÂÀ|àÂÀjã€cß„ä êà€LÎÂÀ¸Ö ±ß ØÂ`€â jÖÂà}ØÂ@zÖÂ@Ò jÖÂ`žÝ€ØÂÀ¾ÕÂàØÂ êàÂàâÜ ùÓ€ÚÂ`uÏÂÀ¾ÕÂÞÕÂÀˆÞÂà­ÐÂÀ ÞÂàôÙ€ÕÌÂ`WÔ d×Â%ßÂ@»àÂ`-ÛÂ@VÜÂÀ ÞÂ`¶Ù€uÜÂ` áÂà¸ãÂ`¶ÙÂ@PÝÂàeÜœà€±ÒÂ`ÈÖ€]àÂ`-ÛÂ@ å€KãÂàôÙÂÀ²×Â`ýâÂ×ëÂÀ¬ØÂÀŽÝÂ@»àÂÀ5×€LÎÂ@ßÚ üÝÂàSßÂàwÙ óÔ 8ÔÂUרޠŸâ ,ÖÂ`ÔÔÂàÔÂ`àÂÀ5×ÂÀÛå€à߀QâÂ`žÝÂàSßÂ7ÜÂ@ÍÝÂÀÝÂÀ/ØÂÀÐÒÂ`bçÂÀÛÂ`¶ÙÂÀâÏÂ`ìÐÂ`¤ÜÂ`€âÂ@°Í€ØÂ€™Ö€‡ÙÂ`ÈÖ —ÙÂ`æÑ€¥ÔÂàÔÂà;ã Òä€Èã çÖ šÎÂ`]ÓÂ@ ÔÂÀ5×€XÌÂÀ;Ö€àßÂ`Þ :ÞÂ@ŒÓ€™ÖÂàÊàÂà€¥Ô ÝÂà5äÂ1Ý çÖÂà}ØÂ ©Ö€cßÂ`àÒÂÀóáÂ`žÝ€ØÂ >ÓÂÀpâ€iÞ€(ÔÂàÕÂ@ëØÂ@ÁßÂàôÙÂ`Þ ÙÂàeÜÂ@¯âÂÀ|à€æÞÂOØÂÀ Þ€"ÕÂIÙÂàGáÂ7ÜÂ`E×Â`zãÂÀAÕÂ@VÜÂ@bÚÂàÊà 7é€oÝÂÀÛÂ@hÙ ØÂÀôÌÂÀˆÞ ÝÂ`˜ÞÂ@PÝÂà×Â@bÚÂ`?ØÂàƒ×ÂàwÙÂ`â sßÂ`°ÚÂ`ÚÓ Uä ÜÂÆÙÂ@nØÂ€‡ÙÂ`9Ù ØÂÀ‚ßÂ@‘ç ÕÙ öÞ€9æÂ ‘ÚÂ`KÖÂ`’ßÂ@2’ÖÂ@\ÛÂ@©ã ã ÏÚÂ@8áÂàôÙÂ`ÈÖÂ`žÝÂ@ÙÛ çÖÂ`’ßÂ`Â× [ã …ÜÂ@ÙÛÂ`žÝÂ@êÂ@,ãÂàîÚ€9æÂ@÷ÖÂ`täÂàSßÂ@Á߀ÚÂ@PÝÂÀÿß gဇÙÂöÑ LÛ îÂÀßÂ`°ÚÂ`ªÛ€ìÝÂ+ÞÂà ëÂ@\Û ‚Ò€{Û ÃÜ€ÚÂ`-ÛÂ@Ó DÒ |Ó ¯ÕÂÏ —Ù RÚÂàkÛÂÀGÔÂàÓ ^ØÂ ,ÖÂàeÜ€ŸÕ DÒÂ@hÙÂÀÄÔÂÒ×€ÚàÂàôÙÂà;ãÂ`’ßÂ@ëØÂ´ÜºÛ€“×Â`?ØÂÀ¾ÕÂÀ¾Õ€ÚàÂ@t×ÂUרÞÂà5äÂ`-ÛÂ@>àÂ@ÁßÂâÂ@©ã ·ÞÂ`ß ÝÂàSß .àÂ` áÂ ÆæÂ`ýâ€Wá ÝÂà)æÂ@éÂÀßÂàMà ãÂ@>àÂ@&äÂÀÕæÂÀXæÂ€Ôá–á–áÂà)æÂà¾âÂ%ßÂ`åæÂà;ãÂ1Ý ´é ìêÂ`PêÂàÐßÂ`’ßÂ`\èÂrçÂàêÂÀpâÂÀùà ãÂ+ÞÂ`à öޜࠇæÂ sßÂÀíâÂZë ‡æÂ€ØÂä å€ÚàÂ@,ãÂ@8áÂ`nåÂ@…éÂ`°ÚÂ@&äÂrçÂ@míÂ@&äÂÀˆÞÂaÕÂÀ‚ßÂ` áÂ@é€Èã êàÂÀçãÂ`bçÂÀ^åÂÀóá ¨ëÂÀóáÂÒ×Â%߀žê ¥áÂÒ×€3ç ÌåÂÀ5×€ÈãÂÀ߀KãÂ@»à€¼å «àÂ@åÂÀçãÂÀáäÂ@¯âÂÀÃé€ìÝÂxæÂéèÂ@êÂ@µá oêÂÀ‚ßÂ@åŠã WîÂ@ØðÂ ÛØÂ€ÈãÂàê  æÂ`ŒàÂ@è€3çÂ`€âÂÀváÂàMà€ÔáÂ@DßÂ`nå þçŠãÂà;ãÂ`ÙèÂÀ ÞÂ`’ßÂ@æÂ`àÂ`åæÂûåÂéèÂ@æÂÀRçÂ@ÙÛ ÞâÂ`VéÂ@ðì€ÚÂûåÂâÂ@JÞÂàÐßÂËí [ã€Qâ  æÂ àì  æÂÀ½ê äÂÀ ó àìÂ`ŒàÂÀíâ ¥áÂÀíâÂàdñ€WáÂ`täÂà¸ãÂ`ñäÂ~åÂàSßÂÀdäÂà;ãÂ`»í ™ã üÝÂà)æÂ uéÂà‚ìÂ@£äÂÀÃ逰çÂ`¤ÜÂ@8áÂ@¯â ¢ìÂÀ"ïÂ@êÂ@æÂ` òÂàdñÂ`VéÂÀ4ìÂ@æÂ@‹èÂûå gဒìÂf逪èÂ@åÂ`¯ïÂ`nåÂàŽê xóÂäÂÀ(îÂ`ü÷Â`ÙèÂà#çÂ`óÂ`bçÂ`Óé ué cìÂàùíÂ@è€-èÂ`ëå =è¨ÞÂ@&äÂÀæøÂ€Œí€WáÂàÿìÂ`µîÂ@g렇æÂ€Âä íÂÀ(îÂ`ñäÂ`ßçÂâÂ@&äÂàéÂ`zã€Îâ “ä Øã @ÝÂà/å gá€àߢßÂÀÿßÂ@PÝ´ÜÂÀáä€uÜÂÀÛÂ`€âÂ`ªÛ€KãÂà¦æÂ @Ý€Ôá (á ·Þ ÒÂ`ÚÓ´ÜÂ`ëåÂÀùàÂÀ²×ÂØÖÂà•ÔÂ@t×ÂàÜÝ€ØÂÀMÓÂÀGÔ &×ÂÀ5×ÂÀSÒ .àÂ@bÚ€WáÂ@Dß ÃÜÂêÓ 4ßÂ@PÝ s߀àßÂàÄá IæÂ Àç€òÜÂ@>à ØãÂà¸ã€íÂ`8îÂ@PÝÂà/åÂÀçãÂÀLèÂ@míÂà‰ÖÂ@Áß ½ÝÂÀ”ÜÂ@2â€iÞÂ@&äÂlèÂûåÂ`ªÛÂ@ÍÝ€ÎâÂÀˆÞ 8ÔÂ@åÙÂÀAÕ€iÞ€“×Â%߀æÞÂ@Á߀ÚÂÀAÕ @Ý á×€òÜÂ`ÎÕÂ`¶ÙÂ@åÙ€c߀à߀“×Â@ÙÛÂÀpâÂ%ßÂØÖÂ`¤ÜÂ@Õ ¯ÕÂÀ¬ØÂ óÔÂ[ÖÂ@—æÂ+Þ€(ÔÂIÙ æëÂ`Â× íÕ ÒÂÆÙÂÀeÏÂOØÂ„äÂàèÛ ½Ý€ÖÂ`iÑ€øÛÂÀGÔ€.ÓÂ@ñ×®ÝÂ@ÓÜ€àß ¯ÕÂàƒ×Â`QÕ€ Ù ‘ÚÂÌØÂ ÕÙ ©ÖÂ@>àÂ+Þ d×€“×Â`E×Â@ÇÞÂà$ÒÂÀšÛÂÀ¬ØÂ`ßÂ@8á ÃÜÂàôÙÂ ÛØÂ yދΠöÞÂ`ÈÖÂ`oÐÂàÖÞ «àÂ`iÑ€™Ö´ÜÂ@ÍÝÂØÖ vÔ &×€iÞÂÀƒÊÂÏÂà¡Ò ÙÎÂ@ýÕÂÀAÕÂàAâÂ`'ÜÂ`€âÂU×Â@†ÔÂ`˜ÞÂÀ5×Â@Õ€×Â@2âÂ`¶ÙÂÏ óÔÂ`òÏÂàkÛÂ@ßÚÂÆÙÂÀÛÂà‰Ö …ÜÂà‰Ö€4ÒÂ`9ÙÂÀ”ÜÂ`’ßÂ@ëØÂ ùÓ ÙÂ@nØÂÀ#ÚÂU×ÂÀ Þ€¤éÂmÓÂ@'ÏÂ@µáÂÌØÂ XÙÂ`]Ó yÞ LÛ 2Õ äáÂüЀ½Ð ÙÎÂ`E×Â+ÞÂ`Œà ‹Û DÒ€"ÕÂgÔÂ`ÈÖÂ@zÖ á×ÂÀváÂàMàÂ`\è .à µÔ &×Âà$ÒÂ ÛØÂ`°ÚÂ@-΀ØÂ@»à ,Ö &×ÂgԢߠêàÂÀÝÂ`ß ÉÛÂ`E× yÞ€{Û ‘ÚÂ`Â×€QâÂCÚÂÀ5×Â@t×Â%ßÂ+ÞÂÀMÓÂ`ñäÂ@ñ×Â@»à€øÛ€oÝ€ÚÂ7ÜÂàÓ …Ü á×ÂaÕ ÕÙ€×Â@µá€ÈãÂâÂ`ëå ¥á€ìÝ€ÚàÂ`ÔÔÂÀ|à ÚÂà›ÓÂ`'ÜÂ@VÜÂ`?ØÂà×Â7ÜÂà‰Ö€“×Â7ÜÂàôÙÂÀ)Ù ÙÎÂyÑ€òÜ€’ìÂàeÜÂÀ¦Ù€æÞ–á çÖ JÑÂ`¼ØÂ€ÈãÂÀˆÞÂ@ýÕÂ@»àÂàîÚÂÀ ÚÂÀÝÂ@ÓÜÂàØÂ çÖÂàÜÝ LÛ êà ^ØÂ[ÖÂÀˆÞÂÀjãÂàÖÞ€·Ñ€‡Ù€±ÒÂ@ŒÓ Ú ·ÞÂ`!ÝÂáÂàqÚ Ù ˆÑÂ@†ÔÂàÓÂà¹ÎÂ`÷ãÂ`'ÜÂÀڢߠ|Ó€oÝ LÛ€òÜÂ[Ö€æÞ Ü€ØÂ@ÓÜÂàÕÂ@hÙ …ÜÂ`ªÛ‹ÎÂ@PÝÂÀˆÞÂûåÂ@êÂ@2âÂÀ”ÜÂÀ ÞÂÀ¬ØÂÀjãÂ`'ÜÂ@€ÕÂÀ|àÂÀÛå @ÝÂàMàÂ@¼ËÂÀ;ÖÂsÒ€Îâ üÝÂïç€òÜÂ`3ÚÂ`?ØÂIÙÂàôÙÂàƒ× á×€¤é oêÂ@JÞ ·ÞÂ`KÖ€‡ÙÂ@êÂÀÜ ¥á ‡æÂ@2âÂÀ)Ù «à€× ÏÚÂàôÙÂïçÂà}ØÂ`Â×€ÚÂ7Ü PÐÂ`à @Ý ç Ù€ÚàÂÀ”ÜÂ7Ü  æÂ åÂàeÜÂÀ)Ù€RÍÂ+ÞÂ@ÙÛÂàâÜÂàYÞ 7éÂ@8á€æÞÂ@ÓÜÂäÂàîÚÂ@Dß yÞÂàGáÂ`E×ÂaÕÂ@nØÂ€uÜÂ`˜Þ€ÖÂàîÚÂÀÝ€áÊ€íȑ͠íÕÂÞÕÂÀ¦ÙÂöÑÂ`"È ^ØÂ`€â ·ÞÂ`KÖ FÜ >ÓÂàqÚ ^ØÂ ÿÒ€ØÂ7ÜÂ`Ë jÖ€þÚÂÀ#ÚÂ ÛØÂÏÂ`ÔÔ€"ÕÂ`ÈÖ€Ú€™ÖÂ`àÒÂ`†áÂÀçãÂ`9Ù€ØÂOØÂÀ¾Õ€«ÓÂÀÇÂ`òÏ€:ÑÂÀ_ÐÂÀÜÂà¡Ò Π|Ó€«ÓÂüÐÂÍÂ@EÊÂàËËÂ`øÎÂ`]Ó€ÖÂ`Â×Â@÷ÖÂÀk΀ØÂàƒ×Âà¡ÒÂÀ‰ÉÂÀqÍÂà$ÒÂ`Í€@РÓÏÂÀ;Ö sßÂРXÙ ‹ÛÂ`WÔ€™ÖÂêÓÂàâÜ vÔ€{ÛÂ`°ÚÂÀpâÂ@ßÚ ßÍÂIÙÂ`¤Ü€òÜÂ`Pꀙր(Ô ‹Û ¯ÕÂ`-ÛÂêӠ݀‡Ù sßÂ`°Ú jÖÂàHÌ€™ÖÂÀèÎÂ`Â×€ ÙÂÀ)Ù ÉÛÂàôÙ öÞÂmÓÂ`]Ó€ÃÏ ·Þ £×Â`Ë ßÍ íÕ ‘Ú€iÞÂà$ÒÂÀ_ÐÂ@ÑÂà×ÂÀ/ØÂ`ÚÓ ÙÎÂÀ²×€ØÂÀ ÞÂÀ²× 8ÔÂÀÚ ©ÖÂ[Ö µÔ€uÜ€¥Ô ÏÚÂà‰ÖÂ@€ÕÂÀÜÂêÓ ”ÏÂÀèÎÂàÓÂÀ¾Õ—Ì JÑÂÀÚÂÀ¬ØÂ@ ÔÂàÅÌ ØÂ µÔÂ`°Ú€Ö€@Р,ÖÂ@¤Ï€.ӀŀFÏÂ`cÒÂ`Â×  ÑÂ`ÈÖ ¯ÕÂêÓÂÀÄÔ Û€iÞÂ`“ÊÂ@ªÎ ЀFÏÂ@¶Ì€ØÂsÒÂ`WÔÂà1»Â`‡Ì çÖÂ`ÍÂ@'ÏÂÀÊÓÂ`E×Â`ÚÓ |ӣʀRÍÂà$ÒÂÀƒÊÂàÅÌÂàƒ×Â@€Õ pÕ  ÑÂ@¶ÌÂÀkÎÂÆÙÂ%ßÂà³ÏÂà<ÎÂyÑÂ`¶ÙÂêÓÂÀqÍÂÀ}Ë ØÂaÕ #Í€pÈÂ@ñ×ÂÐÂüÐÂ@bÚÂÀÝÂ`ÎÕ£ÊÂà³ÏÂ@ÈÉÂ`òÏÂ@˜ÑÂ`±ÅÂà­Ð€"Õ ‚Ò ¯Õ ‚ÒºÛ @Ý€ÏÍÂÀ)Ù–á€:ÑÂ@žÐÂ`]ÓÂ@'ÏÂgÔÂ@9Ì ,ÖÂà6ÏÂ@˜ÑÂà›Ó ©Ö á×ÂÀÜÂÒ×Â@t×€RÍÂ`°Ú JÑ hÌÂ`ÚÓ€·ÑÂ@Õ€þÚÂ@˜ÑÂöÑ /ËÂÀ‰ÉÂà ÖÂ@KÉ€ÏÍ )ÌÂ@ªÎÂÀGÔÂ`Ë ‹ÛÂ`]ÓÂ`‡ÌÂ`‡ÌÂÀùà€ÖÂÀÜР—ÙÂà­Ð€±ÒÂÀÇ PЀøÛÂêÓÂ@˜Ñ }¾Â@ÈÉÂ@9Ì€"Õ€"Õ—Ì Ò 8Ô tÊÂ@€ÕÂàrÅÂàHÌ ÒÂIÙ ÙÎÂàÝÈ ÎÂР5Ê ùÓÂêÓÂàÔÂÀwÌ ßÍ€RÍ‘ÍÂ`ìÐÂÀúËÂÌ SÅÂàHÌ pÕ€±ÒµÇÂËÂ` ÌÂ@ýÕ ÎÂ@!ÐÂ@ÈÉÂ@Õ€“×ÂÀ ÉÂÀè΀ÃϵÇÂÀÊ€½Ð€× hÌÂ@ ÔÂ@hÙ€4Ò€FÏ ÙÎÂ@ÂÊ jÖ ÙÂÀ}ËÂ`E× ÓÏÂmÓ€«ÓÂ`ŸÈÂà6ÏÂ`oР¦ÌÂ` ÌÂÀÈÂ@zÖ óÔ ùÓÂÀSÒÂÀƒÊÂ`3Ú€ÃÏÂ@¼Ë #ÍÂ`KÖÂ@ÒÂ@¤ÏÂÒ×ÂêÓÂÀ‰ÉÂ`É DÒÂ`Í DÒÂ@!РnËÂ@¤Ï »ÓÂÀâÏÂàeÜÂà¿Í šÎ€¼å€(ÔÂ@ ÔÂOØÂ@Õ ©ÖÂà•Ô€.Ó ÝÂ[ÖÂ@¤ÏÂÀÚÂ`àÒÂ@ÑÂà}ØÂ á×ÂÀÊÓÂÀˆÞ‘Í—ÌÂ@ßÚÂ@zÖÂ@÷ÖÂà³Ï€.ÓÂ@Ó€.Ó‘Í hÌÂIÙ DÒÂÆÙÂà•ÔÂÀÝ€×ÂÀÛÂ@3ÍÂ`Â×Â=ÛÂÀÐÒÂÀ_ÐÂ@÷ÖÂ`¼ØÂ »ÓÂÎÂ`uÏÂ`'Ü ÒÂ` Ì óÔÂÀeÏÂ`þÍ ÝÂàËËÂàÕ …ÜÂ@€ÕÂ@ÕÂÀ)ÙÂ ÛØÂ`KÖÂÀ)ÙÂÀâÏÂàÑÊ€LÎÂÀqÍÂ`Ê€ ÙÂËÂ`øÎ pÕÂÀ/ØÂ`9ÙÂà}ØÂ€RÍÂ`cÒÂäÔ€dÊÂàéÆÂ€ÏÍÂ`þÍÂà`ÈÂÀâÏÂ@ÑÂ`ÔÔ€"Õ ÁÒÂàØÂ PÐÂà0Ѐ±ÒÂà§ÑÂÀSÒÂ@Ó ßÍÂCÚÂà­ÐÂàqÚÂ@zÖ vÔÂ@¼Ë ÍÐÂà0ÐÂà‰ÖÂÀ¾ÕÂÀƒÊ  ÍÂ`ÚÓ ÙÂêÓ ÙÎÂÀ}ËÂ`ËÂÆÙ …Ü )ÌÂÀwÌÂÀkÎÂ@àÅ |ÓÂmÓÂÎÂàBÍÂÀeÏÂÀ_ÐÂà$ÒÂüÐÂ`WÔ€·Ñ ¦Ì€ÕÌ€LΠá×ÂÀ_ÐÂÀôÌÂÀËÂ`?ØÂ`cÒ€ÉΠnËÂ`þÍÂÏ€±ÒÂyÑÂ@?ËÂ`òÏ€ÕÌÂ`ìÐÂ@nØÂ@ýÕÂ`WÔ µÔÂà¹Î ÍÐÂà6ÏÂ`ÍÂ@ëØÂà­ÐÂàÅÌ ÇÑÂÀGÔ€FÏ€"Õ ©ÖÂ`°ÚÂÐÂ@ýÕÂ[ÖÂ@Ó JÑÂÀŽÝÂ`¶ÙÂÒ×ÂäÔ€FÏÂÀÖÑ€™Ö JÑ€vÇÂÀwÌ€«ÓÂ@ÚÆÂÀMÓ nËÂÒ×Â@ñ× ˆÑ€¥Ô€×Â@Ñ Ý PÐÂ@žÐ ŽÐ€"Õ >ÓÂÀ_Ѐ(ÔÂ`ªÛÂÀ‰É»ÆÂ€RÍÂàlÆÂ šÎÂ`]ÓÂ@t×€(Ô ÇÑ£ÊÂ@žÐÂÀÊÓÂ@ÒÂà§Ñ€·Ñ \ΠpÕºÛÂ@ÂÊ‹ÎÂÀGÔ \ΠXÙÂ`òÏ€(Ô Ù΀ÖÂÀ;ÖÂàqÚ€ÕÌÂÀîÍÂ@bÚ ÃÜ€ŸÕ ¬ËÂ@¼ËÂðÒÂàÜÝÂsÒÂ@˜Ñ ÿÒ  Ñ€4ÒÂ`{ΠPÐÂ@Ó ÉÛÂ@QÈ ØÂ€ÃÏ€ØÂyÑÂà›ÓÂÏ \ÎÂÀÚ >Ó ÍЀpÈ€oÝ yÞÂÎÂÀk΀«ÓÂ`¶ÙÂ@nØÂ€¥ÔÂ@žÐÂ`]Ó öÞÂà}ØÂ@ÓÜÂCÚÂ@t× ÕÙ€ÃÏÂ@t×Â@žÐÂ`E×Âà$ÒÂ`“ÊÂàÑÊÂ@-ÎÂ@†ÔÂ`àÒÂÀwÌÂ`QÕÂÀeÏ ©Ö€:Ñ ŽÐÂäÔ \ΩÉÂÀGÔ µÔ RÚÂ`ìЀøÛÂà Ö€“×ÂàÓ€ÏÍÂÀYÑ€«Ó ÍÐÂ@÷ÖÂ@!ÐÂà× …Ü ‚Ò  ÑÂÀÄÔ —ÙÂàÕÂ@ýÕ€òÜÂЀŸÕ ÒÂÀÄÔ ÍÐÂ@¤ÏÂmÓÂöÑÂ`ìÐÂaÕ€ŸÕÂÀSÒÂ@»àÂÀ¾Õ ßÍÂ`QÕÂ@¤ÏÂ`QÕÂaÕÂ@-ΠÇÑ |Ó d×Â@ÒÂàkÛÂÀÛÂÀÜÐÂÀ ÚÂÀ}ËÂ@ýÕÂà¡ÒÂÀqÍÂ@zÖ ¬ËÂ`òÏÂÀÛ óÔÂ@˜ÑÂ`ìÐÂÀÊÓ JÑÂÀ/ØÂ€:ÑÂÐÂà ÖÂàÔºÛ Ý ÿÒÂÀYÑ ;É ÷É \ÎÂà¹Î€KãÂ%ßÂÀîÍÂÇÄÂàTÊÂÀ¡ÅÂmÓÂ@3Í€×Â@žÐÂàTÊÂàÔ€ÃÏÂÀYÑÂà§ÑÂ`ÍÂ`ÊÂ`Â×Â@zÖÂà›ÓÂ@9ÌÂ`ìÐÂ@-΀ØÂ€ÛË šÎÂ@Õ€áÊÂÀÊÓÂÒ×Âà§ÑÂàÝÈ€É΀^ËÂ@°ÍÂ`cңʠLÛÂ@˜Ñ \Π8ÔÂàqÚ€{ÛÂà•ÔÂàÔ Ò ÇÑÂ@ Ô bÍÂ@EÊÂ@÷Ö jÖÂÀôÌÂÀËÂ@€ÕÂ`Í pÕÂ`ÍÂ`uÏÂà<ÎÂ`àÒ Ò€ØÂà<ÎÂЀ(Ô€RÍÂ@ŒÓÂ`æÑÂ`‡ÌÂÐÂ`àÒÂÀîÍÂ@ÈÉ pÕÂ…ÏÂàúØÂ€ŸÕÂàËËÂ@QÈÂöÑÂ`ÔÔÂêÓÂ@ Ô #ÍÂà*ÑÂ`QÕÂÀGÔÂÆÙ€·ÑÂ`uÏÂÀ_ÐÂðÒÂ`™ÉÂ@ÈÉÂyÑ #Í€dÊÂ@†ÔÂÀËÂ`ÉÂgÔÂ`?ØÂ`’߀ÕÌÂ`ËÂgÔÂ`ÈÖ DÒÂÀ›ÆÂÀÄÔÂ@!ÐÂà×Â`ÍÂ@{ÁÂÀeÏÂ@zÖ ;ÉÂà¡ÒÂ`ÚÓÂÀYÑ ÒÂÀÄÔÂ`øÎ \ΠóÔÂÀqÍ€ÏÍÂ@°Í d×€|ÆÂ d×Â`'ÜÂ@’Ò PЗÌÂà›Ó ÙΠíÕ€áÊÂÀÖÑÂ`ÚÓ€Ö€^ËÂ…Ï ÒÂÀ‚ßÂIÙ ØÂÀ;Ö ,Ö ßÍ ÍÐÂÐÂà ÖÂàÅÌÂ@ªÎ€(Ô€ÃÏÂ`.ÆÂ`uÏÂÀ•ÇÂ@'ÏÂ`cÒÂ`QÕÂ`{ΠçÖÂ`cÒ ØÂOØÂÀwÌÂà¹ÎÂÌØÂàîÚÂÀqÍÂà*ÑÂÀYÑÂÀÖÑ üÝÂà$ÒÂÀ_ÐÂàHÌÂÀ5×ÂàNË€½ÐÂÀ É€ÕÌÂ@¶Ì /Ë åÌ vÔÂÀ¾ÕÂ`cÒÂ`QÕÂ@˜Ñ íÕ ˜ÄÂÏÂÀÚÂÀ²×ÂÀÜЯȠíÕÂyÑÂðÒÂÀ¸ÖÂà›ÓÂÀYÑÂ`]ÓÂ@3Í \ÎÂ@!Ѐ4ÒÂÀ5×Â ÛØÂ РÒÂÀ Ú ÎÂÀôÌ 4ßÂðÒÂÁÅ åÌÂÌØÂàwÙ ßÍÂÀ•Ç DÒÂà×ÉÂ`oÐÂà•Ô ”Ï ÎÂ@¤Ï€ØÂ …ÜÂÀSÒÂ…ÏÂ@ Ô jÖ ‚ÒÂà›ÓÂØÖÂ@ÓÂ`ìÐÂÀËÂ@cÅÂ@€Õ€ØÂ  Í  ÍÂ@’ÒÂU×Â@ÓÜ€ØÂÀ¸Ö bÍ &×Â` Ì€LÎÂ@QÈ ¬ËÂ`oР²Ê ÿÒ (áÂà_Ý€‡ÙÂ@ÓÂ`QÕÂÀËÂÀƒÊ JÑÂàúØÂ ”ÏÂ[ÖÂÌØÂ2È ëË€«ÓÂ`]ÓÂ`‡ÌÂàÕÂÐÂÀSÒ ÓÏ€@РÐÂÒ×Â`E× màÂ@ñ×ÂÀÖÑÂ@!ÐÂmÓÂ`oÐÂÀMÓÂ`iÑÂ`iÑÂgÔÂÀúËÂ`{ÎÂ`žÝ€FÏÂÀeÏ€ Ù PЀ«ÓÂà<ÎÂ`iÑ ñÊÂÀèÎÂ@ëØÂ £× |Ó€ÖÂ+ÞÂàØÂ ¸ÉÂ@9ÌÂaÕÂ`€âÂàƒ× ‘ÚÂ@hÙ€«ÓÂÀ/ØÂ Ï nË€ÚÂÀGÔÂ@ëØÂ ùÓ  ÑÂ`ÈÖ ‚ÒÂ`°ÚÂ@€ÕÂÀÄÔ€“×ÂØÖ€øÛ »Ó€ÛËÂ@°ÍÂ@ýÕ ^ØÂÀ/ØÂ@-ÎÂmÓÂ`æÑÂÀÜÐÂ@ÔǵÇÂàÕ´Ü€±ÒÂà¿Í€@ÐÂÀ¦Ù üÝ —ÙÂÀSÒ ßÍÂ@÷ÖÂà¹Î VÏ€(ÔÂ`cÒ€@Рd×Â@÷Ö€jÉÂÀwÌÂ@ŒÓ€Wá€4Ò µÔÂ ÛØÂÀÜ€"ÕÂÀšÛÂ@t×Â@žÐ€Âä £×Âà¡ÒÂ@ÙÛÂ@ÕÂÀeÏÂ@ýÕÂ@zÖÂ`’ßÂÀ¾ÕÂ[Ö ÐÂà¿ÍÂàÕÂ@3Í (áÂàÜÝ ·ÞÂàƒ×Â@ýÕÂ@nØÂàÕÂàSß vÔ€ŸÕ€cßÂ@Ñ€¥ÔÂØÖÂÀ¬ØÂ@bÚ€½ÐÂÀ Ú (á€æÞ 1êÂÀ¾Õ ÉÛÂÀ‚ßÂÀ¸Ö màÂ`{ÎÂÀ²×ÂIÙÂÀÜÂ@zÖÂ`ÞÂÀÜÂØÖ ‘ÚÂ@ÓÜ £×ÂàeÜÂÀ‚ßÂàkÛÂáÂÀ Ú £×Â`ß d×ÂàÓ€Ôá ÓÏÂmÓ€×Â`9ÙÂ@ÇÞ jÖ€øÛ€c߀ڠ£×Â@ŒÓÂáÂ@ÇÞÂ@t× ØÂ@Ñ óÔÂIÙ ‘Ú ¥á ±ß€ìÝÂ@>àÂ@2â€ÚÂà›Ó€ ÙÂÀ#ÚÂàYÞ€QâÂ@÷ÖÂ`æÑÂ@÷ÖÂ`ªÛ ·ÞÂàèÛ »Ó RÚÂàèÛÂ@†Ô€?å ØÂàYÞÂ`?ØÂ màÂ7ÜÂàÔ  Í d×Â`-Û ØÂ äá ðßÂ`-Û€ŸÕÂ@ÇÞÂöÑ ÍÐÂ@ÙÛÂÀÜÂ@©ã ©ÖÂÒ×Â%߀uÜ FÜÂ ÛØÂ+Þ€àßÂÀ5×Â@ÓÜÂ ÛØÂ`€âÂ`3ÚÂàÊàÂxæÂ çÖ€‡Ù 4ßÂ`˜ÞÂÀˆÞÂ@nØÂ`ªÛ€þÚ€ÔáÂ@ßÚÂ@çÂÀÜÂ`E×€ØÂ |ÓÂ`E×Â`9Ù€"Õ€ŸÕ XÙ—ÌÂ@nØÂ ”ÏÂÀGÔÂÀ#Ú€½ÐÂ=Û€4ÒÂÀÛ ÛÂÀRç …ÜÂ`°ÚÂà× ÇÑÂ`3ÚÂÀ5× —ÙÂ`-Û ä€oÝÂ@8áÂ`zãÂ`KÖ (á XÙÂ@JÞ ØÂ ÌåÂ@DßÂ`°ÚÂÀpâÂàîÚÂ`!Ý€¼å  æÂ ±ßÂ@ëØÂ`˜ÞÂ`Íê€òÜ€ ÙÂÀ ÚÂ@,ã gá yÞ€WáÂàÊà  æÂ`E×Â ÛØÂÀpâ€ÚÂÀSÒ€°ç íÕÂ@æÂ`zãÂ`à€ªèÂ@öëÂÀLè [ãÂ@8áÂ+ÞÂà/å äÂ+Þ€¼åÂÀŽÝÂ@€Õ ÁÒÂÀ¾ÕÂ@ÇÞÂÀçãÂàîÚ öÞÂ@…éÂàÐßÂÀÜÂ@zÖÂ`ßÂà‰Ö€“×ÂàËË€þÚÂäÔÂ`ÈÖÂ`ßç€c߀ÎâÂäÔ ÛÂ`E× sßÂàwÙ ½ÝÂOØÂ pÕÂàâÜ€Kã d×Â@ŒÓÂàqÚÂ=Û ÛÂÀLèÂ@bÚÂà0РÇÑ Û óÔÂ`Â×ÂÀŽÝÂ`°ÚÂ`¼ØÂÀMÓÂ`zãÂ@hÙ¨ÞÂ@©ãÂÀšÛÂÀ/ØÂ VÏÂÀ5× FÜÂà Ö€×ÂÀÜ Ú |ÓÂàYÞ LÛÂÀ¾ÕÂÀ|àÂmÓ óÔÂÀ_ÐÂ@÷ÖÂÀ/ØÂ€:ÑÂÀôÌÂ@÷ÖÂàHÌÂ`ªÛÂà¡ÒÂà Ö ÒÂÀÖÑ  ÑÂàGá€(Ô ãÂ[Ö€“×ÂÀÛ€FÏÂÀÝÂÀAÕ€uÜ€ÚÂ+ÞÂ@Ò ÿÒ€× ÝÂÀ¸Ö ©ÖÂàSßÂ@hÙÂàwÙÂ@ýÕ #ÍÂ@ýÕ ØÂ€ÚàÂà ÖÂ`ÔÔ ÎÂ`ÔÔÂ`cÒ PРçÖÂÀ)Ù ØÂ@¤Ï Ù€™ÖÂÀÛÂÀßÂ`Â×Â`zã ^ØÂ RÚÂ@\ÛÂ`°ÚÂÀ;ÖÂ`þÍÂ@-ÎÂ`KÖÂàƒ×ÂÒ× XÙÂ`?ØÂüÐÂ@ýÕÂ@°ÍÂàúØÂ@ŒÓÂ`ÎÕÂðÒÂ`Â×Â7ÜÂ`]Ó€× ‹ÛÂ`9ÙÂÀ#ÚÂÀÛ |ÓÂÆÙÂ@\ÛÂêÓÂÀ)ÙÂØÖÂà6Ï€«Ó€ŸÕÂ@ÕÂà­ÐÂ`ßÂaÕ vÔÂÀYÑ€“×€:ÑÂÀšÛ ÜÂ@VÜ€ ÙÂ`-ÛÂ`†á LÛ‹ÎÂ`oÐÂ`KÖ€™ÖÂÀÛåÂ@ Ô »Ó€‡ÙÂ`WÔÂ@ÑÂÌÂ@nØÂ€ÖÂ@—æÂ ½ÝÂ`æÑÂÀ5×ÂÀÜРÐÅ ΀oÝÂ@zÖ ^ØÂ€«ÓÂ@'ÏÂàÔÂàÕÂ@ýÕÂ`†áÂ`ªÛÂ`KÖÂÀÚÂÀâÏ  Ñ ²ÊÂÀÄÔ @ÝÂ7ÜÂIÙÂ`9Ù€ÚÂ` á ‹ÛÂà çÂ@Pݺ۠¥áÂÀ¦Ù ØÂ€™Ö óÔ »Ó çÖÂâÂÀ|àÂÀ|à @ÝÂCÚÂ@JÞÂmÓÂ`cÒÂ[ÖÂ`WÔ :Þ DÒ€.ÓÂ@†Ô êàÂàÖÞ€ÚàÂàâÜ ØÂ`?ØÂ á×Âà×€ ÙÂÀŽÝÂà²äÂ@>àÂÀ;ÖÂ`ìЀøÛÂÀMÓÂ@Õ€“×€ØÂ ¦ÌÂà‰Ö FÜÂÀ)ÙÂ@†ÔÂ`3Ú€ò܆ـ·ÑÂ@bÚÂ@ßÚÂà­ÐÂà}ØÂ@VÜÂ@åÙÂàôÙÂ ÛØÂàÓÂ@†ÔÂÀÖÑÂ`æÑ çÖÂU× d× LÛ pÕÂ`ÔÔÂgÔÂ`Â×Âà0Ѐ«Ó FÜ€Ú€øÛÂ`]ÓÂ@ßÚ £×€þÚ ‹Û ëË JÑÂÀ¦Ù€·Ñ€"Õ€™ÖÂ`ÎÕ€“×€ìÝ€Eä »Ó  Ñ€‡ÙÂ`˜ÞÂ@ëØÂ€ÉÎÂ@ÒÂ`ÎÕ …Ü€:Ñ€FÏ€.ÓÂ@˜ÑÂÌÂÀ¾ÕÂ`ÍÂà¡ÒÂàÜÝÂ@˜Ñ DÒÂÀâÏ—Ì ¯ÕÂ@÷ÖÂàÕ óÔÂÀË  Í nËÂà×Â@EÊÂ@¶ÌÂêÓÂàÕ€¥ÔÂaÕÂ@ ÔÂÀ²× s߀@ÐÂà*ÑÂ1ÝÂàƒ×Â`uÏ PÐÂà¹Î ‚ÒÂ@\Û€øÛ€dÊÂà`ÈÂ…ÏÂÀîÍÂÀ¾ÕÂ`uÏ€pÈ€vÇÂ@ÚÆÂ íÕ vÔ€ÃÏ€"ÕÂ@°Í€ùÆÂà•ÔÂ`ÎÕÂÀÜÐÂðÒÂ@ÎÈÂ@KÉÂ`ìР&× £× ƒ½Â`þÍÂ@ÒÂÀeÏ€íÈÂ@òÂÂà¹ÎÂ`ÔÔÂàâÜÂ`òÏÂ@!ÐÂêÓ€(Ô€ŸÕ d×ÂÀAÕÂ@ëØÂ  ÑÂÀváÂ@’Ò ùÓÂÀGÔ RÚÂ`àÒ€× jÖÂà›ÓÂ@-ÎÂÀMÓ íÕÂÀÜРÏÂ…ÏÂ`¼ØÂà³ÏÂ@æÄÂ`E×€½Ð óÔ ßÍ ÓÏ€½ÐÂÀ5×ÂðÒ íÕÂÀôÌÂ@˜Ñ€¥Ô ëË€ØÂÌÂÀÆÂU×ÂÀîÍÂÀîÍ JÑÂà<ÎÂ@QÈÂà§ÑÂÀÈÂ@ÈÉÂàÔÂ@ŒÓ€FÏÂ2È€“×Â`ËÂ@bÚ vÔÂ@Ó Ò ÏÚÂÀGÔÂàqÚ ÉÛÂ`QÕ€Ö€øÛ€ÖÂ`ÔÔÂà×Â@ÑÂÀSÒÂ`¶ÙÂÐÂ@÷ÖÂÀ²× hÌ€ØÂ@ÒÂ…ÏÂ` ÌÂsÒ Ú PÐÂàrÅÂ`þÍ‘ÍÂÀ;ÖÂÀ”ÜÂÀwÌ£ÊÂêÓ  ÍÂÀeÏÂüÐÂÀ}ËÂàÅÌ 8Ô ËÂÀƒÊÂ@Õ 8ÔÂ`ªÛÂ`àÇÂ`oÐÂ@øÁ ëËÂ` Ì€ŽÃÂÀÖÑÂÀÊÂÀSÒÂà<ΠjÖ /ËÂ@ ÔÂÀqÍ ÄÂ`oЀ™Ö ÏÂÀ¹ÁÂaÕ€™Ö á×Â`uÏÂÎÂ@nØÂà¹Î ’Å JÑÂ@ÚÆÂ &×Â@ ÔÂäÔÂ`iÑ MÆÂ šÎ€ÛË€íÈÂ@’ÒÂàHÌ tÊ€(Ô€øÛÂà„ÂÂÀâÏÂ@3Í GÇÂà Ö€¥ÔÂÀÄÔÂÀ ÚÂ@Dß —ÙÂÀBÀÂ@'Ï ”Ï »ÓÂà•Ô€ÃÏ ˆÑ€ÕÌÂÀúË€×Â@!РAÈ€XÌÂÀ¬ØÂÀeÏÂÀYÑÂ`KÖÂÀ‰ÉÂÐÂ` ÌÂàïÅÂ`{ÎÂÀËÂàÔÂ`]ÓÂÀâÏÂÞÕÂ`ÍÂ`iÑÂ`ÈÖ ÏÚÂÀYÑ€íÈÂ@ªÎ !À¥Ô£ÊÂÀYÑÂ`{΀4ÒÂ,ÉÂÀôÌÂÀËÂPÃÂ`ËÂCÚ åÌÂ@ Ô ÏÂàHÌ )ÌÂÌØÂ d× #ÍÂàãÇ€^Ë€½ÐÂàÅÌ hÌ€4ÒÂ@-ÎÂÀÖÑÂ@÷ÖÂàTÊÂÀ;Ö€4Ò ÒÂ@Õ ÇÑÂ,ÉÂ`ÔÔÂ@QÈÂÀîÍ€ŽÃ ÁÒÂ@¼ËÂàÓÂà*ÑÂà¹Î ”ÏÂΠÁÒ€RÍ€ÃÂà$ÒÂ`iÑÂàNËÂ`oÐÂà~ÃÂ@¶Ì Ò ýÈÂàHÌ ÿÒ€±ÒÂ`þÍ hÌÂsÒÂÀ²×ÂÎÂ`ÍÂ@¤ÏÂàÑÊÂ@¤Ï ÙÎÂ…Ï åÌ€@ÐÂ@'ÏÂÐÂ`ÍÂ@Õ zÉÂà§ÑÂ`ªÛÂàÕÂÀGÔÂà•Ô »ÓÂ@žÐ ˆÑÂÀÊÓÂÀÖÑÂÀ²×Â@°Í €ÈÂ`É ˆÑÂà0Ѐ^ËÂ`]Ó >Ó€ÃÏ pÕ ÐÂàãÇÂà›Ó 8Ô 8ÔÂÀâÏ€·Ñ€ÖÂÀpâÂÐÂà`ÈÂÀkÎÂ`òÏÂÀwÌÂ@Ò  ÑÂÀÊ€(ÔÂ@˜Ñ ëËÂеÇÂà`ÈÂÀ#Ú ÓÏÂ`™ÉÂà6ÏÂ`]ÓÂ@!ÐÂÀÄÔ€™ÖÂÀ_Ѐ‡Ù ©ÖÂ@ÑÂ`æÑÂ@bÚÂ@ÍÝÂ`oÐÂ@¶ÌÂàËËÂà–¿Â`øÎÂàÔÂÏÂ@Õ |ÓÂöÑÂàïÅÂÀîÍ ¬ËÂ`:ÄÂ`"ÈÂÀ­ÃÂÀ}ËÂÀMÓ ßÍÂÀwÌ JÑÂ`iÑÂÀ¸Ö ²ÊÂ@˜ÑÂ`Â×€pÈÂ,É ØÂà§Ñ \ÎÂÀqÍ€òÜ€«Ó DÒÂ`¶Ù ùÓÂ@†Ô JÑÂ@ÎÈ€4ÒÂ@nØÂöÑÂ@¼Ë‘Í ¯ÕÂàÕÂÀ;ÖÂ@ÒÂêÓÂ[ÖÂÀ;Ö€LΠ|Ó€ŸÕÂÀÈÂ@zÖÂ@KÉÂÀÐÒ ¬Ë vÔÂIÙÂ@8áÂ@9Ì ¾ÈÂ@{Á ÒÂÀÜÐÂ`þÍ £× tÊÂ`ÍÂÀÄÔÂ@÷Ö€·ÑÂàéÆÂÀè΀^ËÂÀeÏÂ`‡Ì vÔ€áÊÂÀ5×ÂÀeÏ †ÇºÛ ÚÂà¹ÎÂ@3Í€.Ó ÇÑÂ@!ЀçÉ AÈ€ÕÌÂà¾ÂÌÂË »ÓÂÀ Ú šÎ Ï tÊÂ`]ÓÂà­ÐÂ`]ÓÂ@9ÌÂà× pÕ©ÉÂ`'ÜÂ@°ÍÂ`“ÊÂ,ÉÂ&Ê Р Í€áÊ€çÉÂà‰ÖÂ`]ÓÂ@KÉ hÌ€ŸÕÂ`ÂשÉÂ@òÂÂ`ÉÂÀ;ÖÂ@VÜ€^Ë€vÇ€^ËÂàûÃÂ`(ÇÂÀ¸ÖÂàTÊ€Ö€ÃÏÂ@ÈÉ ¤ÂÂàrÅÂ`øÎÂ`ÍÂà×ÉÂà¡Ò ÐÂ`"È€RÍÂÀÈ ýÈÂàxÄÂÙÁÂÀèÎÂÀMÓ€·Ñ€^ËÂ`4Å©ÉÂÀqÍ€XÌÂ@˜ÑÂÀeϩɠ‚ÒÂÀ ÚÂàÅÌÂ\Á  Ñ ÓÏÂ`™É€ÉΠÿÒÂà§ÑÂà6ÏÂÀ}Ë ”ÏÂÀƒÊ ÐÅ©ÉÂÀAÕ 8ÔÂà~ÀóÇ—ÌÂà›ÓÂà¿Â,ÉÂ@°ÍÂ`òÏ€™Ö€RÍÂ@˜ÑÂ@°ÍÂ&Ê  Ñ jÖ€4ÒÂÀÊÂ`cÒÂÀÐÒÂ`cÒÂà_ÝÂCÚÂÀ_ÐÂÀÄÔ€‚Å 5ÊÂ@Ó ‚Ò ÓÏÂ`]Ó #Í —Ù—ÌÂ`KÖÂÍÂÍÂà`ÈÂÀÊÂ8ÇÂÀÊÓÂ`àÒ ÚÂÀMÓÂ`{ÎÂÀSÒÂ`Ë AÈ MÆÂ€ÅÂU×Âà$ÒÂÀÄÔÂ@?Ë ©ÖÂ@'ÏÂÀ5×ÂÀ_ÐÂ@ŒÓÂ@ÂÊÂ@¶Ì  ÍÂ`uÏÂàÑÊ€XÌÂ[Ö ŽÐÂàHÌÂàHÌÂ@'Ï€"ÕÂyÑ šÎÂà<ÎÂyÑÂÀúË€·ÑÂðÒÂÀ/ØÂ £×ÂÀŽÝÂàÔÂ@’Ò€ÛËÂ@öëÂ`ÈÖ€ùÆÂ¯ÈÂ@-ÎÂ` Ì€(Ô ëË Ï nË ÙÎÂÀ Ú€(Ô€½Ð \ÎÂ`æÑÂ@ò DÒ åÌ ²ÊÂ@-ÎÂàNËÂ`¼ØÂà ÖÂà¹Î ÓÏÂà¿ÍÂà§ÑÂ`uÏÂU×€ØÂ tÊ€T£Â JÑÂÀ;Ö€ÉΠAÈ€:ÑÂÀ ÚÂà‰ÖÂ ÊÆÂ`KÖÂàØÂ@ Ô€ÕÌÂà*Ñ€@РÁÒÂ`ÍÂ@9Ì ¬ËÂàÓ€ŸÕÂ@˜ÑÂ@EÊÂàHÌÂ@ÑÂàeÜÂ@ÓÂ@ªÎ€pÈÂÀÈ РÓÏÂ@3ÍÂ`Ë€FÏÂ`{ÎÂà¹Î tÊ€^Ë Ù΀|ÆÂà§ÑÂ`˯ÈÂÀÊÂà`ÈÂàÑÊÂ@ÎÈ pÕ #Í |ÓÂÀ•Ç€ÛË ùÓÂÀqÍÂàÕÂÀÐÒÂÀwÌ nË€dÊÂÀÇ /ËÂ` ÌÂ`E× tÊ€“× Ù΀±Ò vÔÂàÅÌÂ@?Ë šÎ šÎ Ï åÌÂÀÈ€«ÓÂ`{ÎÂsÒ |Ó€íÈÂà¿Í ÈÂà¿ÍÂ,ÉÂ`ÉÂÀ_ЀÉ΀ÃÏ ‚ÒÂÀ ÉÂà¿ÍÂÀÈÂàËËÂ`ÍÂËÂ&Ê ;É€çÉÂ`æÑÂ`cÒÂ`ÊÂÀ}Ë )ÌÂÀúËÂÍÂÀ}Ë€ÕÌÂ`àÒÂ@ëØÂ ÁÒÂÀkÎÂ`Ê MÆÂ`cÒÂÀwÌÂàTÊ€RÍÂ@ëØÂ@˜ÑÂÍÂ@EÊÂÀMÓÂ`“Ê ÈÂÀYÑÂ`ìЀÃÏÂÐÂ`™É€ÃÂ`àÒ€XÌÂ@’ÒÂÍ€«ÓÂàƒ× \ÎÂ@ÑÂà ÁÂàxÄÂÀSÒÂ`Ë€iÞÂÀâÏÂ`¥ÇÂ@t× ŽÐ SÅ€ŽÃÂJÄÂ`"ÈÂ`(Ç€ÏÍÂÀMÓ ;ÉÂàZÉÂÀÈÂ@ÎÈ ÏÂà¡Ò€dÊÂËÂêÓ #Í€jÉÂ`cÒÂÌØÂ€LίȠñÊÂàîÚ€×  Ñ ЀÛË nËÂÀqÍÂÀÜÐÂÀ¸Ö Ò nË ”ÏÂàûÀ Ù »Ó€XÌÂüР;É—Ì€:Ñ 5ÊÂ`™ÉÂ@ªÎ€·ÑÂ2È MÆÂ`ÃÂÂÐÂàéÆÂÀGÔÂРˆÑ ú¾Â@’Ò )ÌÂÀ/ØÂ€XÌ ëË ”Ï€pÈÂ@ÈÉÂ@9Ì€LÎÂà¿ÍÂ@˜Ñ ÏÂ` ÌÂ` Ì€4ÒÂðÒ nËÂÀkΠ€È€jÉ †Ç€:ÑÂ@’ÒÂà ÖÂ@àÅÂËÂ@EÊ ËÂÀËÂ8ÇÂÀ‚ßÂÀ‰ÉÂ`‡ÌÂ`ËÂë¾ÂàÃÂ`(Ç žÃ JÑÂ@°ÍÂ`ËÂ`WÔ á×ÂmÓÂàÕÂËÂÀÊÓÂÏÂàNË ¸É€jÉÂ,É€”€ Ù )Ì£ÊÂ@÷ÖÂÀ)ÙÂàÕÂÇÄ€@Р¦Ì vÔÂ@ÂÊ \ÎÂÀqÍÂà§Ñ zÉÂ`þÍÂaÕ€ÛËÂÀÈÂÀ¸ÖÂàÔÂÀqÍÂ&ÊÂËÂ@3ÍÂÀYÑÂ`iÑÂÀGÔÂ`Ë Ò ëËÂÀkÎÂ`¥Ç šÎÂà„ÂÂêÓÂ@-ÎÂàôÙ ¦Ì€4ÒÂ`uÏÂ@žÐ€ÅÂÀYÑ ùÓ )Ì á×Â`{δÜÂÀ¦ÙÂ@ÕÂÀÖÑ€4Ò  Ñ ”ÏÂ`ˠπÏÍ ÖÄÂÀAÕÂÀ/ØÂÀ}ËÂ@QÈ íÕÂà³ÏÂ@’ÒÂÀÐÒÂ`4Å€·ÑÂÍÂ@?Ë ÷ÉÂ@°Í ñÊÂÀÐÒÂ@ýÕÂà}ØÂ ·ÞÂ`cÒ ΀ÃÂ@'ÏÂ@˜Ñ€É΀íÈÂ@¤Ï—Ì€FÏ žÃ tÊÂÀSÒÂà×ÉÂÀ•ÇÂ@{ÁÂÍÂ@EÊÂ`(ÇÂöÑÂÀMÓ¯ÈÂ@Ñ€ŸÕÂ` ÌÂ@žÐ€@ÐÂ@Õ Å ÒÂ@ÒÂà0Ѐ.Ó JÑ€Ú€ØÂ€“×Â`]ÓÂ`9ÙÂ`ÍÂ`ËÂ@ ÔÂ`Â×Âà$ÒÂ@WÇÂgÔÂ@!ÐÂ@ÙÛÂ`òÏÂ@ÓÂà$ÒÂ`ÊÂÀîÍÂÀSÒÂÀÐÒÂàËË ¾È€5½Â@ÔÇÂ@’ÒÂ@€ÕÂÀ5×Â`ÔÔ \΀.Ó pÕ ßÍÂÀËÂàéÆÂ8Ç€FÏÂÀîÍÂ@EÊ€ØÂ ÐÂà•ÔÂ@t×€É΀ÖÂ`þÍÂ@3ÍÂ@ Ô ÁÒÂàYÞ &×Âà›Ó€ŸÕ€ØÂ`‡ÌÂ`QÕÂ@ÈÉ á×€Ö hÌ åÌÂÀAÕ€:Ñ zÉ€ØÂ`cÒ >ÓÂàÅÌÂàÅÌ€;¼Â nËÂ@ªÎÂÀÛÂ`?ØÂ@åÙ ùÓÂ…ÏÂÀkÎÂ@9Ì ÇÑÂà$ÒÂÐÂÀÜÐÂà¹Î RÚ κÛÂ@ÒÂ@zÖ€4ÒÂ`uÏ€™ÖÂ@iÄÂË ÉÛ »Ó á×ÂgÔÂ ÛØÂØÖ€.ÓÂÀ›ÆÂ€XÌÂÍÂ`¶ÙÂÀAÕÂ`ªÛÂyÑ€Ö ‘Ú€@ÐÂ@˜ÑÂ`ìÐÂÀÊÓÂØÖ€4Ò€‡ÙÂà× ©ÖÂàúØÂ`øÎ€™Ö€þÚÂËÂ@†Ô€½ÐÂà•ÔÂà›ÓÂÀMÓÂ@zÖ hÌÂ@ßÚ µÔÂ@ªÎ ;ÉÂÎÂ@æÄ€¥ÔÂ`òÏÂüÐÂ@’Ò€ÏÍ€¥Ô ”ÏÂOØÂ`ÔÔÂ`°Ú ÁÒÂ`ÚÓÂOØÂ`Â× ÐÂÀîÍ€LÎÂàÑÊÂ@žÐ Ù \ÎÂ@˜Ñ  ÑÂÏÂËÂ@†ÔÂ`ÔÔÂ@’ÒÂÀ¾ÕÂÀ¬ØÂ ˜ÄÂ`øÎÂÀÜÐÂ@QÈÂÀÈ€(Ô ”Ï€±Ò ð߀oÝÂ@€ÕÂÀÊÓ VÏÂ`LÁÂ`WÔ€:ÑÂà¹Î JÑ€“×€FÏÂÀ#ÚÂà³ÏÂÀ­Ã ùÓÂÀÖÑÂ`ÍÂÏÂÀÖÑÂÏ  ÑÂ@ÈÉÂà¡ÒÂàÑÊ€(ÔÂ`WÔÂÀÐÒ€ÏÍ€ÃÏ€ŸÕÂ@EÊÂ@-ΠÒÂ@'Ï ¾ÈÂ`ÎÕ #ÍÂàôÙÂÀÆÂ  Ñ ¬Ë€ÛËÂàîÚÂÀÛÂØÖ€áÊÂÀ²×ÂmÓ€.ÓÂ@ìÀÕÌÂ`ìР#ÍÂ`KÖÂ@'ÏÂyÑ 5ÊÂäÔºÛÂ`ÍÂ@˜ÑÂÒ×€ÕÌÂÍÂ…ÏÂÀúË€ÛË PЀ“× d×Â@°Í 8ÔÂÀúËÂÀÖÑÂ@åÙ€ÖÂÀËÂÀwÌÂ@ÓÂ@ªÎ ˆÑÂ@ÈÉ€ÕÌÂ[ÖÂ@ñ×ÂÐÂà×€øÛ ÙΠŒÆÂ€ ÙÂÀYÑ >Ó nËÂ@¤Ï jÖ ÇÑÂà}ØÂ€·ÑÂàÓÂà*ÑÂÀMÓÂIÙÂ@Ó€4Ò ÓÏÂΠhÌÂà›ÓÂ@ªÎÂÀwÌ ¬Ë )ÌÂÀîÍ PÐÂÞÕ íÕ ”ÏÂ@¼ËÂÀ_ÐÂ`{ÎÂàZÉÂÀYÑ€Ö€dÊÂ@-΀·Ñ€½ÐÂÀÖÑÂÀÖÑÂ@¶Ì ÏÂ`cÒ€ÕÌÂÀ_РóÔÂÀÊÓ ÇÂÌ€:Ñ€jÉÂÀSÒÂ,ÉÂ`«ÆÂ@ÓÂÀ;Ö ²ÊÂ`oРÏÚÂ`°ÚÂÀAÕ µÔÂ@VÜ ÜÂà6Ï  Í šÎÂ`ÚÓÂ`òÏÂà›ÓÂ`uÏÂÏ £×€ØÂà³Ï µÔ màÂ`ìÐÂÀ5× 2Õ á×ÂàØÂÀÝÂ@ªÎ—ÌÂ`]Ó ÏÚ d×Â ÛØÂ`QÕÂ@bÚ´ÜÂ`'Ü &×Â@ ÔÂ=Û€QâÂCÚ ,ÖÂÀÜÐÂ`-ÛÂ@ñ×Â`9Ù ëËÂàwÙ Û RÚÂ@ýÕ d×Â@PÝ >Ó€ÛË ÍÐÂ@nØÂÀpâ vÔ 8ÔÂ`KÖ :Þ€.ÓÂàîÚÂ`ÈÖ ŸâÂ@¤ÏÂÞÕÂ@ÁßÂ@ÕÂàÕ €ÈÂà$ÒÂÞÕ€{Û ãÂÀÄÔÂ@!ÐÂ@'Ï AÈÂ8ÇÂÀ;ÖÂ@ŒÓ šÎÂ@9Ì€^ËÂÀ²×€LÎÂà›ÓÂàúØÂ€çÉÂöÑ€ÛËÂ@'ÏÂ ÛØÂÀqÍÂàYÞÂ@!Р ÑÂà¿ÍÂÀGÔÂ@t×Â`]ÓÂ@Õ ØÂ ÝÂ@ŒÓÂÀÄÔÂÀŽÝÂ@PÝ ‹ÛÂ`‡Ì ”ÏÂ@Ó€"ÕÂà¡ÒÂ`?ØÂ€ ÙÂà‰ÖÂ@ÂÊ jÖ ·Þ ÛÂ@°ÍÂ@’Ò ÐÂÀâÏ ‘Ú XÙÂ@zÖÂàNËÂ@ÓÜ€ÚàÂÀÖÑ hÌ »ÓÂÀ;ÖÂàÕÂ`ªÛ€ÔဥԠvÔÂ`°ÚÂgÔ ·ÞÂÀÊÂÀ²×Âà­ÐÂà‰ÖÂ2È€"ÕÂÀ¦ÙÂ`'ÜÂ`ÚÓÂ@t×Â@˜ÑÂ,É€ØÂ@t×Âà‰ÖÂÀ¾ÕÂà*ÑÂ`¼ØÂ`E×€ÃÏÂ@'ÏÂ`cÒ ©Ö ÐÂÀkÎÂÍÂÏ ØÂ@ ÔÂ@bÚÂgÔÂàÖÞÂÀÚ ØÂ ÙÎÂöÑ€óÇ ¯ÕÂÀÖÑ€ÖÂà;ãÂÀ#ÚÂÀîÍÂ`uÏÂÀSÒÂ7ÜÂà¹ÎÂ@9ÌÂÀúËÂÀ§Ä—ÌÂ`ËÂÀ_ÐÂàâÜÂÀ Ú€dÊÂÀÖÑÂ@ŒÓÂ@°Í ÅÂà³ÏÂÀÐÒ µÔ  ÍÂÀÆÂ`cÒÂÀÐÒÂàØÂsÒÂÍÂ\ÁÂàÝÈÂÀ)ÙÂ`ŸÈÂà¿ÍÂà$ÒÂ@ÈÉÂàTÊ€@Р8ÔÂË€oÝ :Þ pÕ ÐÂàÔÂÏ Ò ”ÏÂà¹ÎÂäÔÂgÔ€FÏ ·ÞÂÀË \ÎÂà¡ÒºÛ GÇ€·ÑÂêÓÂOØÂÀ¬ØÂ@¤Ï jÖÂ@'ÏÂðÒ€×€±ÒÂ@žÐ€LÎÂÁÅÂ@ÒÂ@žÐÂÀMÓÂ`KÖÂà›Ó ¯ÕÂà×ÉÂàØÂÏÂ@ÒÂ@°ÍÂÀ}ËÂ`ÚÓÂ2ÈÂàÕÂ`'ÜÂÒ×ÂDÅÂðÒÂ`æÑÂÀËÂàÑÊÂ`cÒ€çÉÂöÑ ùÓÂ`Â×ÂIÙ‹ÎÂ@ªÎÂ@ŒÓÂ…Ï€ÉΠÙÂ@€ÕÂÀ;Ö DÒÂ@¤ÏÂ@nØÂaÕÂ`{ÎÂàÅÌÂ@’ÒÂ@ ÔÂÀYÑ bÍ€ÛËÂÀ›ÆÂyÑÂÀÄÔÂÀwÌ€«Ó åÌÂÀ#Ú ÓÏÂ`ÎÕ€4ÒÂ…ÏÂÀGÔÂà¡ÒÂ@KÉ€XÌÂ`‡ÌÂ@ßÚ &×ÂÀMÓÂsÒÂ`ÔÔÂ@ýÕÂàØÂ ÓÏ Ù΀ÿÅÂÀîÍ ¬Ë ÷É 4ß PРåÌÂ@†Ô LÛ zÉÂà6Ï ‘Ú€uÜÂàÅÌÂÎÂ@åÙÂÀqÍ ”Ï€iÞÂ`-Û€¥ÔÂÀ¬ØÂ€½Ð Ù€ŸÕÂ`Â×ÂðÒ ^ØÂàÓ nËÂÀÊÓÂàÕÂÀAÕÂ@t× ¦ÌÂà¡ÒÂà*ÑÂmÓÂÀ)ÙÂyÑÂàâÜÂÀSÒ€½Ð€«Ó µÔÂ@!ÐÂüÐÂ`ÔÔÂà¹ÎÂ@ßÚÂ@µá ”ÏÂÀ ÉÂÀGÔ€½Ð bÍ _ÃÂÀeÏÂ@ÒÂÀÊÓÂ@9ÌÂ`žÝ »Ó€Ö ±ßÂØÖ ØÂÀ)ÙÂÀ)Ù ˆÑ ÁÒÂÀ²×€WáÂÀ_ÐÂÀ”Ü ÜÂ@>àÂÀƒÊÂ ÊÆÂ µÔ€‡ÙÂ@VÜ€4Ò 8ÔÂÀ”ÜÂÀ¦ÙÂÀîÍ€±ÒÂÀ;Ö ÏÚÂ@!ЀÃÏ |Ó ΀«Ó€“×ÂÀèÎÂà‰ÖÂ`¤Ü€ÚÂà­Ð šÎÂ@zÖ óÔÂäÔ€·ÑÂàÕ€×Â`à‘Í ßÍÂà¡Ò pÕÂàÔÂ@žÐÂàwÙÂ@ ÔÂsÒÂ`ËÂà›Ó ,Ö ÙÂäÔÂ΀.ÓÂ`ËÂ`ìÐÂàÔÂ@ ÔÂÀÜÐÂ`?ØÂ RÚÂàÔ€½Ð ëËÂ@÷ÖÂ`{ÎÂ`KÖÂðÒ ¬ËÂ`ìÐÂ`KÖ€Ú´Ü ÎÂÏÂ`iÑÂàËË ÿÒ @ÝÂ`ÚÓÂ@†ÔÂÌØÂ`øÎ ßÍÂÀGÔÂ@°ÍÂÀSÒ JÑÂ@9ÌÂà³ÏÂ`ìРÿÒÂ@'ÏÂàÕ€áÊÂ@'ÏÂÀÈÂÀ_Р©ÖÂàÓÂêÓÂyÑ€ÚÂ`QÕ á×Âà•Ô 4ßÂ@ÒÂÀk΀jÉ ’ÅÂÏÂ`iÑÂ@QÈÂÀƒÊÂyÑ€½ÐÂ@3Í »ÓÂÀAÕÂÀYÑ€.ÓÂÀÊÓ€ÏÍÂË #Í€:ÑÂ`ÔÔ€ØÂ Ë åÌ bÍÂ`ÔÔÂ`iÑÂÀ5×ÂØÖÂ@9Ì€íÈ ÈÂ`ìРíÕ ¯ÕÂÀeÏÂÀËÂà„ ëËÂyÑ ñÊÂ@!ÐÂÏ zÉÂ`iÑÂ`àÒÂà­Ð #Í€ØÂ@¼Ë€.Ó€ŸÕ tÊ á×Â@Ó€«ÓÂÀYÑ ÙÎÂ`"ÈÂ@nØÂ2ÈÂêÓ ýÈ ÓÏÂ`øÎ€ÖÂÌÂ@ÎÈÂÀwÌÂÀÄÔÂà× ßÍ€ÏÍ€:ÑÂ`ËÂÀƒÊ ÙÎÂÀÈÂÐÂÀôÌ €È #Í åÌÂàNË ýÈ€ÃÏ ”ÏÂÀôÌ ²Ê ÄÇ JÑÂ@€ÕÂ@ÓÂ`"ÈÂÀ‰É€ÏÍ DÒÂà0ЀdÊ ¬ËÂ`Í .àÂ@Á߀(ÔÂàÑÊ ²Ê Ï€±Ò ÐÂÍÂÀÇ ΀·Ñ€:Ñ ùÓÂ`àÇÑÂà‰Ö ßÍÂêÓÂ@ýÕ€½Ð VÏ€‚ůȀ(ÔÂ@’Ò åÌ»ÆÂ€LΠ÷ÉÂ,ÉÂàËË€ÕÌÂ2ÈÂÀôÌÂ@3Í »ÓÂ@ªÎÂ`™É€pȯȠÒÂÀGÔÂüÐÂÀÊÂà¹ÎÂà­Ð  ÑÂ`Ë DÒÂ@ìÀÏÍÂÙÁ ÍР²ÊÂÀwÌ ÎÂàHÌ ßÍÂ`“ÊÂDÅÂÀ§Ä ËÂÀîÍ€^ËÂÀ¡ÅÂðÒÂ`ËÂ…ÏÂà`È€çÉÂÀÈÂ`ŸÈ€½ÐÂÀ¡ÅÂ`"ÈÂ@˜ÑÂ@¼ËÂ@ÎÈÂÀÆÂÀwÌ ËÂ@æÄÂàÕÂ@ÕÂÀÈÂ`“ʑ̀ŽÃÂÀ¹ÁÂÀ¿À€|ÆÂ hÌÂàËË€vÇÂ`½Ã ÜÃÂàlÆÂ€LÎÂ@žÐÂVÂÂÀ¡ÅÂàBÍÂà`È€çÉ #ÍÂ@9ÌÂ@KÉÂÀÈÂë¾Â ýÈ€|ÆÂà¡ÒÂàHÌ \Π†ÇÂ@ÔÇÂh¿Â€pÈ€ÅÂ`@àtÊÂ`"È bÍÂ`(ÇÂ@‡¿Â8ÇÂÀÈ€šÁ /Ë ”ÏÂ\ÁÂPÀ@ÐÂ`·ÄÂ@¶ÌÂÀ$ÅÂ@½Â ¸É€áÊÂà<ÎÂ`{΀:Ñ hÌÂàãÇ€¸¼Â zÉÂÀ$Å€jÉÂÀMÓÂÀúËÂ`@ÃÂ@]ÆÂ 3ÀÂàHÌÂ@QÈÂ`ÉÂÀ³Â€áÊÂÙÁ AÈÂÐÂàÅÌÂ`uÏÂÀ‰É‘Í€ùÆÂ`¥ÇÂÀ6 DÒÂ`Í ñÊÂÏÂ@ÓÂÀƒÊÂàTÊÂ`Õ¿ÂÙÁ€dÊ€LΠ8ÔÂt½Â`þÍÂ@9ÌÂ`{ÎÂÀ ÉÂÀ¡ÅÂà¿Â€óÇ€|ÆÂà6ÏÂ`àÒÂàÃÂàéÆÂ`™É hÌ€@ÐÂ`“Ê€·ÑÂ`ìРAÈ€«ÓÂÀËÂ`þÍÂ`ÚÓ¯ÈÂà<ÎÂ`ÊÂmÓÂ@ÈÉ †ÇÂ@EÊ€·Ñ ÜÃÂ@QÈ /ËÂ8ÇÂÀ§Ä ÇÂÀÊÂàƒ×ÂÀeÏÂ`àÒÂà Á ;ɵÇÂÀ}ËÂ@'ÏÂà­ÐÂÀ5×ÂÀSÒ ^ØÂ`‡Ì€jÉÂ@3ÍÂÀkίÈÂ`øÎÂÀâÏ ýÈÂaÕÂÀâÏÂüР)ÌÂÀkΠÅ GÇÂÀâÏÂÀ_ÐÂ@°ÍÂ`þÍÂÀYÑ€ÛËÂÀqÍ€vÇÂ@'ÏÂ@ Ô€(Ô€çÉ ÷ÉÂ@¼ËÂàÅÌÂ@ÓÂÀ˾Â@KÉÂ`]ÓÂàÅÌ€dÊ nËÂÀËÂ@WÇ ;ÉÂ@ÚÆÂÀ›ÆÂàTÊÂÀîÍ _ÃÂêÓ€ÕÌÂ`ìÐÂ@QÈ JÑ  ÍÂÀ¸ÖÂàÓÂÀwÌÂàÝÈÂÀƒÊÂÀôÌÂaÕ JÑÂÍ€ÏÍÂÀîÍÂà³Ï ÒÂ`àÒ ßÍ€±ÒÂàHÌ‘ÍÂÀîÍ ²ÊÂ`ÔÔÂàBÍÂ˯ȑÍÂ@ªÎÂÀË—ÌÂàlÆÂ JÑÂРÓÏÂ@òÂÂÀúËÂÀeÏÂÀ§Ä€vÇÂ@3ÍÂÀ¿ÀÂàTÊ PÐÂÀÐÒÂ ÊÆÂ ÊÆÂ@¤ÏÂÀƒÊÂÀúË ²Ê ÿÒÂàxÄÂ@KÉÂà$ÒÂ2ÈÂ2ÈÂà×ÉÂ@¼ËÂÀÐÒ ÷ÉÂ@ŒÓ ;ÉÂ@3ÍÂÍÂöÑÂ@9Ì€ÏÍÂà*ÑÂ@9Ì€‚ÅÂyÑ€jÉ ¦ÌÂ`ÚÓ ÁÒÂ@Ó bÍÂà Á zÉ ýÈÂ@oÃÂ`QÕÂÀ;ÖÂ@ÈÉÂ@oÃÂà<ÎÂÀqÍ€vÇ ÇÑ †ÇÂ@øÁÂ`@ÃÂ@òÂÂ@KÉÂàTÊÂ ÊÆÂ Ç #Í€ÅÂàfÇ ô¿Â€ÛËÂ@ÂÊÂà~àtÊ€½ÐÂàûÃÂÀÜÐÂÀôÌÂ`Ê€áÊÂ@iÄÂàÃÂ@ÈÉÂÀúË‘ÍÂ@?ËÂàËËÂöÑ€¥ÔÂÀ¿ÀÂàTÊ »Ó ô¿Â€óÇ eÂÂà„ÂÂÀÇÂ@]ÆÂР¸É€dÊÂÀqÍÂÀYÑ ¦ÌÂ@?Ë ÆÂ`Í Ù΀@Р#Í 'ÂÂ`¥ÇÂàZÉ€dÊÂ`ìЀX̠ǣʗÌÂà6Ï€XÌÂÀ¡ÅÂ`“ÊÂ`ÍÂ`ˆ·Â@æÄ€óÇÂ`4ÅÂÀ0À”£ÊÂJÄÂÀÈÂÀôÌÂyÑÂà~àùÓ€RÍ€ ÀÂ@¼Ë 'ÂÂJÄÂ@ÔÇ zÉÂ8ÇÂÀîÍÂ`4ÅÂàÝÈ #Í GÇÂ`·ÄÂ@cÅÂÀÛÂ@ÂÊÂ@ÈÉÂ`øÎ€pÈÂàHÌÂË€“×Â2È ÏÂ`ÚÓÂ@æÄÂÀèΠPРßÍ ;ÉÂ@-ÎÂàTÊÂÀ›ÆÂ@ÚÆÂ@QÈÂÍÃÂàrÅÂ@¼ËÂ`Í€óÇÂ`uÏ hÌÂ@ÔÇ€íÈ ŽÐ€ùÆÂ©É€ÂÂà×ÉÂàZÉ ÓÏÂÀ§ÄÂ,ÉÂÀèÎÂÀ}ËÂ7ÜÂ`òÏÂÀÈÂz¼Â ÜÃÂ@ÂÊÂ@cÅÂ,ÉÂyÑ ýÈÂ@æÄ ;ÉÂ@KÉ tÊ ëËÂÀƒÊÂÀÆÂàŠÁÂÀ‰ÉÂÀeÏÂàÂÂ@ÔÇÂàlÆÂ@¼ËÂ@cÅÂ`X¿ÂJÄÂ@zÖÂ@D߀ˆÄ ÖÄÂ@9Ì DÒ ÇÑ 5Ê #Í€óÇÂÀ•Ç‹ÎÂ@ÕÂàTÊ ªÁ€dÊ »Ó ýÈÂ@¶ÌÂÏÂ@ÂÊ 3ÀÂÀúË€^ËÂÀôÌ€.ÓÂ` ÌÂà Ö€XÌ ñÊÂÀƒÊ ßÍ ‚ÒÂ@Ò—ÌÂ@ Ô€ÿÅ |ÓÂ@¶Ì ÒÂ@'ÏÂ@3ÍÂÀ É€·Ñ€.ÓÂÀÆÂ`ìÐÂ@ªÎ \ÎÂ`‡ÌÂÀqÍÂ`uÏÂðÒ ÏÂàlÆÂ€óǀŀLÎÂÀÊ€ ÀÂà6ÏÂàÓ ßÍÂÀÜÐÂ@?ËÂàNË€@РbÍÂ@-ÎÂ@ÂÊÂÀÜ€.Ó€Ö€øÛ vÔ FÜÂÀ}ËÂ@ýÕÂÀƒÊÂ@zÖÂÀâÏ VÏÂÀMÓÂêÓ vÔ ÿÒÂ@ªÎÂàwÙÂ@ Ô€¥ÔÂU× Ý ÕÙÂðÒÂÀ¸ÖÂÀÊÓ€ŸÕÂÀâÏÂ@ÈÉÂÏÂ@˜Ñ€dÊ hÌÂ@žÐÂ@?Ë€^ËÂ@¶Ì€‚ÅÂÞÕ ¾È PÐÂÀâÏÂΠÅ€RÍÂàËËÂà•Ô€jÉ—Ì  Ñ 5ÊÂsÒÂàÀÂ@]ÆÂ ÐÂÀ}ËÂÀMÓ€dÊ ÁÒÂÀÊ »ÓÂ`ÍÂà ÖÂ@-ΠåÌ #ÍÂÀèÎÂ`¥Ç€óÇÂÀGÔÂ ÛØÂ@’ÒÂàÑÊÂ`òÏÂÀÇ€ÿÅ #Í—Ì€^ËÂ@¤ÏÂàTÊ©ÉÂ@?ËÂÀÆÂ`ìÐÂ@ÎÈÂ…Ï€áÊÂ@Ó€ØÂ€dÊÂ`™ÉÂ`øÎ€"ÕÂCÚ€.Ó ’Å MÆÂà×ÉÂÍ PÐÂÀÜÐÂ`‡ÌÂ@!ÐÂ@ŒÓ hÌÂ=ÛÂ@ Ô ÿÒÂ@EÊ ¬ËÂà0РVÏÂà³ÏÂ@†Ô ÁÒ€:Ñ€4Ò€½ÐÂà§Ñ€FÏ€½ÐÂÀîÍ€±ÒÂà Ö  ÍÂ@ªÎÂàBÍÂ@9Ì€4ÒÂ`:ÄÂàqÚ ŒÆÂ@ÂÊ ÁÒ vÔÂ@ªÎÂà<ÎÂ@Ñ XÙÂÀÐÒ€«ÓÂÀAÕÂàBÍÂÀ¬ØÂ€Ú pÕ LÛ DÒÂÀƒÊ€±ÒÂÀšÛÂ@!ЀòÜÂ`òÏ€@Ѐ±ÒÂ@Ò 8Ô †Ç 2Õ ñÊÂgÔ óÔÂÀMÓ ÁÒ€dÊÂ`¶Ù jÖÂ[ÖÂÀ¸ÖÂ`{ÎÂ@nØÂ@žÐ YÄ€æÞÂÀÊÓÂ@€ÕÂÀkÎÂÀ/ØÂU×Â@zÖÂà§Ñ ÷É >Ó Ò ¯Õ€·Ñ€cßÂÀÐÒ Р2Õ |ÓÂØÖÂÀAÕ >Ó 2Õ ¥áÂÞÕÂ@ñ×Â@zÖÂðÒÂÀúË€ÏÍÂ@øÁ€"ÕÂàÝÈÂÀ)ÙÂÀ_ÐÂ@KÉÂ@ŒÓÂàÔÂÎÂOØÂ hÌÂà`ÈÂ`òÏ |Ó€.ÓÂà0РÏÚÂIÙÂ`˵ǠMÆÂ€ÏÍ 8ÔÂÒ×Â@ÒÂ@ëØÂaÕÂàwÙ€½ÐÂ@»à >Ó ¯ÕÂ@ýÕ LÛÂÀÊÓ :ޠ݀ÚÂ@!ÐÂ ÛØÂöÑ 8ÔÂ@¶ÌÂ@nØÂ ÏÂ@!Ѐ^ËÂ`"È€|ÆÂ@-ÎÂ`!ÝÂIÙ€LÎÂêÓÂÀúËÂ`QÕÂàHÌ ÚÂà³ÏÂ@°ÍÂÀMÓ íÕ ÿÒÂÐÂàHÌÂ`ìÐÂ@!РÁÒ ±ßÂÀÄÔ‹ÎÂ`]Ó hÌ ‚ÒÂ@!РPÐÂà ÖÂ΀#ÀÂ@ÚÆÂ@†Ô ˆÑ /ËÂÍ ÒÂ@Ñ hÌÂà¿Í µÔ ¬Ë GÇÂ@-΀ÃÏÂ@WÇ íÕ ÷ÉÂ`.ÆÂ`ÉÂ@¼ËÂ`“ÊÂà0Р ÑÂÀúË€ÉÎÂ`iÑÂ@ Ô€Ö€|ÆÂ€óÇÂ@EÊÂ@!ÐÂΠ΀·ÑÂðÒÂà¿ÍÂÀÐÒÂ`æÑÂ@zÖ€^Ë€ÂÂÀËÂ@KÉ€«Ó ËÂàZÉÂÀîÍÂ@9Ì€FÏ 5ÊÂ@†Ô€‡ÙÂ`¼ØÂ`?ØÂ@ՀőÍÂ@ëØÂÀÐÒ  ÑÂ@ ÔÂ@3ÍÂÀÄÔÂ@!РÇÂà§Ñ€±Ò€ÃÏ »ÓÂÐÂüÐÂà›Ó ÷É€"ÕÂÀGÔÂÀ¬ØÂ`3Ú ÎÂÀÐÒ€{ÛÂÀÄÔÂÞÕÂ@ÕÂ ÛØÂ ÁÒ |Ó€uÜ ‹Û ‚ÒÂ@ŒÓ Π#ÍÂ@ýÕÂ`¶Ù XÙÂ@¤ÏÂ@ŒÓÂ`°ÚÂ`]ÓÂ`E×€ÖœàÂ@öë pÕÂ@t×Â`KÖ€ÛËÂàÅÌ€™ÖÂàTÊ Ù :Þ¨ÞÂÀ‚ß |ÓÂ@ÇÞÂÆÙ >ÓÂäÔÂ[Ö€òÜ  ÑÂ@PÝÂ@ýÕ€ÚÂÀÛÂÆÙ ðßÂàúØÂÀ)ÙÂU×Â`ÈÖÂ@÷Ö FÜ€“×Â` áÂ@ åÂÀ¦ÙÂ`ýâÂ`¶ÙÂ@hÙÂ`÷ãÂ`¼ØÂàÓÂ`ÚÓ ÏÚÂÀ#ÚºÛÂ`÷ã´Ü ½ÝÂà/åÂàMà ¥áÂ@£ä ,ÖÂà_Ý ,Ö Ý .àÂÀjã€æÞÂÀvá€×ÂÀçã ÛÂÀÕæÂ%߀ÚÂ@,ãÂ`åæÂ`ýâ€ÔáÂÀXæÂ =èÂ@ÓÜ€òÜ€æÞ–á OåÂ%ß ÙÂ`?ØÂ`!Ý€àß =èÂ ÆæÂ„äÂÀ^åÂà²äÂlè€oÝÂ@VÜ gá öÞ€{Û UäÂà¸ãÂ@>à s߀æÞÂ@£äÂfé ÝÂ`ßç€×ÂÀ”ÜÂ@Õ LÛÂÀdä€Ú £× RÚ ãÂ1Ý êàÂ@ýÕœà "âÂ@ÍÝÂ`ýâÂ@JÞÂÀ;ÖÂ@2âÂ%ßÂÀ¦Ù ‹Û ‹Û ݨÞÂ@ÇÞ ã sßÂ`æÑÂ`zã ¥áÂ@2âÂ`¤ÜÂà$ÒÂ@÷Ö äÂ@Øð€{ÛÂ@VÜÂ@ÍÝ€òÜÂÀÝ€àßÂ`zã :Þ LÛÂ`?ØÂà_Ý€c߀WáÂ@»àÂ`Œà€"ÕÂ`¤ÜÂ@ÙÛÂ`-ÛÂàÄáÂàAâ ÕÙÂ@nØÂ  ÍºÛ€ØÂ óÔÂà0Ѐ ÙÂ%ß ÉÛ€™ÖÂ[ÖÂ`ÉÂÀ²×ÂÀ/ØÂ`žÝ /ËÂÀGÔÂ@VÜÂsÒÂÀGÔ ‘ÚÂ@ÓÂ`?ØÂ€‡ÙÂäÔ€þÚÂÀ”Ü€ìÝÂàôÙ´Ü vÔÂÀ²×ÂàÕÂCÚÂ…Ï€¥Ô ŽÐ ÉÛÂÀ”ÜÂ` Ì€·ÑÂ`˜Þ ‘ÚÂ`ÈÖÂàkÛ —Ù LÛÂÀ¦Ù ÝÂÌØÂÀÜÐÂÆÙÂsÒÂ@ëØÂ öÞÂ`?ØÂ€·Ñ ßÍ€?å ÛÂ@>àºÛ @Ý ÕÙÂÀ¾ÕÂ@ÒÂÀÊÓÂà Ö Ý ,ÖÂ@©ã …ÜÂàôÙ€"ÕÂÀ¾Õ€(Ô ØÂ ‘ÚÂ@ÍÝ [ã Û€4Ò ‚Ò€øÛÂàqÚÂ`E×Âà}ØÂ ØÂCÚÂ@DßÂyÑ vÔÂ`ÈÖÂàÐßÂÀÛ—ÌÂàÔ€×Â@Õ sßÂà•Ô ½Ý€±ÒÂÀwÌÂÀMÓÂ`ÔÔ £×Â`¶ÙÂÀ;ÖÂ`˜ÞÂ@ŒÓÂ…ÏÂgÔÂ`þ͵ǀ¥Ô šÎ€½ÐÂ`ÔÔÂÆÙ 4ß ÍÐÂàÕ £×Â@žÐ€¥ÔÂ@˜Ñ€Ú |Ó JÑÂ`]ÓÂ@ÕÂ`¼ØÂ€“×€“× µÔ (áÂÀˆÞÂ`þÍ‹ÎÂÀˆÞÂàÑÊ ¯Õ€ØÂÀAÕÂ@Õ ÙΠÏ €È ¬Ë ¯Õ€ØÂ ÁÒ XÙÂàwÙÂðÒ€4ÒÂÌØÂÀ_РpÕÂ`ÚÓÂ@!ÐÂÀÊÓ ÝÂÀkÎÂmÓÂà× ØÂsÒÂà}ØÂÀGÔÂ@!РóÔ )ÌÂÀqÍ šÎÂÀAÕ€:Ñ LÛ ·ÞÂ@9Ì RÚ€Ú€{Û€Ú€ÛËÂ`ÍÂàÔÂ@ÓÜÂà`ÈÂÀSÒÂÀ²× Ù΀FÏÂà­ÐÂàqÚÂÒ×ÂU×Â[ÖÂ`{Π‚ÒÂÀeÏÂ@9Ì 8ÔÂÀÚÂÀèÎÂ@’ÒÂà× ùÓÂ@÷ÖÂÀÐÒ á× pÕ ùÓ PРˆÑ vÔÂ`WÔÂÀ Þ üÝÂàÖÞ€"Õ ÝÂâ€ÚÂàÅÌÂöÑÂ`ËÂ@÷ÖÂÆÙÂ@EÊ ÙΠíÕÂÀMÓ ÇÑÂ`9Ù #Í ÙÎÂ`QÕ >Ó ±ß ÏÚÂ@žÐÂÞÕÂ`†á€ÏÍÂ`WÔ  ÍÂ@žÐÂ@>àÂ@PÝÂ@nØÂà¹ÎÂmÓÂ`E×Â@åÙÂ@'ÏÂÀÚÂÀ¾Õ á×Â@ ÔÂ@nØÂ@nØÂà‰ÖÂËÂ7Ü —ÙÂàèÛÂàƒ×ÂàÕÂüÐÂ@\ÛÂÀßÂ`†áÂ`E× ½Ý€òÜ ÜÃà§QÃ0BDÃ&JÃüLÃP?Ã`ç<Ãz8Ã0ã>à$8Àî3Ã@:7ðà4ÃP2àB3Ã`”5Ã0À/ÃP©+Ã`;/Ãà )Ã`S+ÃÀa&ð±'à É'Ã@v-Ã`Ð+Ãp’'ÃÀê$à á#Ç!Ã&à®!à ç"à ç"ÃPÇ&àºÃ@ÃPß"ÃPn Ã0 ÀéÃPýÀrÃêÃ` ÃÐÜÃ0ÇñÃÐ;ðF$ÃÀ‘ÃXÃðÃÉÃÀ—àOÃÀ©ÃRÃ@ÖàÀÃ0µÃsà[ÃPžà ¸ÃÃðÃpòÃðÃÀ8ÃdÃðHÃ`NðšÃðHàgÃð¹Ã2Ã`TÃÀhð/à‘ð¦ÃÐèÃà Ãà'ÃÏà ;À¨Ã@‰Ã0ÍÃp"Ã@ÃŽð;À1à À¨Ã0bÃÀVÃ`õð¾à ÊÃ@6Ã0ð¸ÀIÃP¼ðqðÊà âÃðfÈÃÀëÃ`à> ÃíÃ`Ãг à ô Ã8ÃðZÃÐÃà9ÃÐ* ÃàÂÃvà ô ðY ÃåÃ€Þ ÃÐ$ Ã` à Àà ô Ã` àÍÃð~ à ÃÓ ÃÀ Ã5 Ã`¨à •ÃÀ!Ã\ Ã@éàëÃ@T Ã`7Ã# Ã`=à 0Ã0Qà ­Ãð´Ã@rÃp^ÃàÃP¥ðÀyÃàuÃð1Ã`UþÂÜÃàÃpdÃÐlÃPà ³Ã\ ÃðÃ`Oÿ ÓÃ`Ìÿ€©Ã0ÔÀ£ÃŒÀÃèÃ`OÿÂ@~ÃÜÿ ñàzýÂ@¢ùÂð%ÃMÃ`OÃpÃà½÷Â`gûÂà™ý tþÂÀKýÂ@„þÂ`gûÂà«úÂeà 6Ã0KÃÀÚúÂà þà 6ÀDùÂÐ×À&þÂeÀhóÂpÃ@ŠýÂ@ûà föÂ`‹õ›õ€Áù€DùÂ`…ö Hû 6þÂÀKý°à€üÂSÃÃàLõÂÐràž÷Âà™Ã HûÂ`ÞüÂ`[ýÂqü€Ã@7öÂùÂqü€ÿÂÀiøÂ àýüÂÀ3Ã`[ýÂ`[ýÂ@ÃÀ]úÂà@÷ !÷Â@¢ù ð ýüÂ*ó¹ðÂ`mú€ëòÂàLõÂðÀÃ ×øÂ`yøÂ@üÂ@Cô Èð¡ôÂ`mú 3ô ŠðÂ`äûÂàdñÂÅî !÷Â@aï tþÂ÷ ðÂ@¨øÂ`óÂ@Cô€åó€hóÂ`…ö rôÂ@ÞïÂ`óÂ@ú€\õ –îÂ@®÷Âàçð ðÂ€ÇøÂ`,ð€nòÂ@äîÂÀðÂÀòöÂ€ÇøÂéè€ï `÷Â@gî àìÂ@UñÂÀ(î ñÂ÷ÂõÂ@%ùÂ@ØðÂ@ðìÂà”éÂàŽêÂ`õ øÂ€°çÂà½÷€tñÂàÃö föÂÀñÂ@gî ìê öÞÂNí€÷ð€˜ëÂ`,ð rôÂ@[ðÂÀðÂ`8îÂÀòÂ@êÂ`8î ÔîÂ@[ðÂÀñÂàé ï€KãÂ`,ð ¨ëÂ`÷€ýïÂõÂàpïÂÀô 9óÂàSß éõ xó€VöÂ@aïÂãéÂà4ùÂ@míÂÀô€'é uéÂ`Áì¿ï€åó€zðÂÀô Ý÷Âö ò tÃÀ«íÂ*óÂÀ·ë -õÂ`ÙèÂÀ½êÂ`£ñÂTì ]í¹ð Uä€ÈãÂÀôÂÀ±ìÂàjðÂûå€ì Îï ûòÂÀŸïÂÀ@ê lõ€ îÂÀôÂà½÷Âà½÷Â`ê€ëÂ@Šý ïôÂ`VéÂ@ÒñÂ`8îÂ`…öÂ@ å æë ´éÂ@OòÂàXóÂ`ô °ôÂ@7ö %ìÂàpïÂ@[ð í€ï xó øè„äÂ`JëÂÀþôÂ`÷§óÂ`2ï ñ çÂàùí€÷ð 9ó ãöÂ6ñ „ñÂÀòöÂÀ]ú œíÂà‚ìÂ@ûÂàFöÂàÛò€’ì€æÞÂ@DßÂÀ(î õó€ë ÈðÂÝêÂÀRçÂÅîÂö€ì€,ý€ßô€°ç€iÞ Úí ?òÂÀ±ì ?òÂÀðÂÀáä ´éÂàê ¢ì Wî€ëòÂ`>íÂ@£äÂàˆëÂÀñ åÂ@Þï îÂ ÆæÂàÄá ®êÂNí [ãÂàçðÂà#ç ië oêÂåÂ`zãÂà5ä€'é ië iëÂ`÷ãÂÝê +ëÂàŽêÂ@,ã çÂ`hæÂÀ·ëÂ` ò fö€ÎâÂàóî éõÂÀXæÂàˆëÂ@míÂÀ±ìÂÀÃéÂÀ“ñÂ@[ðÂà¾â€{Û CçÂàdñÂ@©ãÂ@ åÂ`Þ€!êÂÀ{õÂ@gî s߀’ìÂ`†áÂxæÂ€Âä ã ®êÂÀ™ðÂÝê œíÂ`8îÂàÂ@‘ç€ýïÂ`JëÂ@çÂ@aïÂ`†á€òÜ òéÂ`ÁìÂÀLèÂ×ë í€'é­ò +뀀ïÂà|í oê ŸâÂ`åæÂ`ÇëÂÀ@ê åÂÀðÂÀ±ì ™ãÂ`µîÂÀÃé Wî °ôÂÀLèÂ@[ð äÂà”éÂïçÂàAâÂÀþô€ îÂ@éÂ`zã -õÂ@ðìÂ`ÙèÂà¸ãÂà;ãÂ@ÁßÂ×ëÂÀ.íÂ`JëÂ@éÂ`bçÂ`µîÂÅî çÂàSßÂ`Óé {èÂHî€zðÂ`!Ý ½ÝÂ@ å€ë Èð ´éÂ`ÍêÂ@»àÂÀÿßÂ@¯âÂÀøõ ?ò çÂ`Pê òéÂÀjã ÜÂÀ·ë€9æÂ„ä€ëò ¨ëÂ`ßÂ€ÇøÂ€ îÂÀ·ëÂ@yë iëÂ ÆæÂNíÂÀXæÂ ØãÂõæÂ ¢ì ¨ëÂ@êÂÀì÷ í ÎïÂ@ÒñÂàÊàÂ@ðìÂÀÉèÂ@[ðÂ`zãÂÀñ€Âä oêÂ0ò ´éÂféÂÀ.íÂÀ{õ€žê€¶æÂ`Jë€ïÂ`ÍêÂ`>í "âÂ@µáÂ@…éÂàóîÂà#çÂ ÆæÂ×ëÂ@è€Qâ ÌåÂ@ØðÂ@çÂ`,ð ¥áÂ`,ð€ýëÂàwÙºÛÂÀíâ –îÂÀ(îÂàjð ’ùÂ`êÂÀÛåÂàpïÂ@—æÂ`ôÂ@åÂ`hæÂÀdä€ÚàÂÀ(îÂÀLèÂ@s젽ݠUä lõÂÀ·ë ìêÂ@…éÂ`£ñÂÀ·ëÂ~åÂ`ÇëÂÀ“ñ ´é ÝÂ@èÂàÄáÂ@çÂÀXæÂ€¤é `÷€ îÂàóîÂ`ÁìœàÂÀçã€'éÂ`¼ØÂ@ÇÞÂ@êÂ`ÓéÂÑìŠãÂà¬åÂ~åÂÀÉèÂàÐßÂÀdäÂÀ™ð sß ÌåÂ@ÓÜÂàíï€?åÂ@æÂ@‘çÂÀjãÂàdñÂàÛòÂàìÂÀðÂÀÏçÂ`\èÂ1ÝÂ@[ðÂÑì ]íÂÀðœà€-耒ì€ì€EäÂ@êÂ`VéÂ@gîœàÂ`÷ãÂ*ó€'éÂ@©ã€òÜÂàèÂ`&ñ€íÂ`ÓéÂÀ½êÂ`ÁìÂ@éÂàìÂ7Ü€Âä 1ê€ÈãÂàšè IæÂÀ±ìÂÀÉè€QâÂÀ@êÂ`¯ï ?ò ìêÂ@çÂ`nå Òä (áÂ@üêÂ`ßçÂ@倶æÂÀ‚ß "âÂÀdä¿ï øè ™ãÂ`ßçÂ`ßç€ìÂÀLè Wî€zðÂ`åæÂÀùàÂ`©ðÂãéÂBïÂ@öë QïÂ@ÆóÂ@gîÂ@£äÂÝêÂ@sì äÂÀ"ïÂ@©ãÂ`âÂÅîÂ`VéÂûåÂà¦æÂ€ìÂÀdäÂ@sìÂâ ìêÂÀFé  æÂ`ýâÂà²ä¨Þ€ÂäÂàÐßÂà5䀒ìÂ`©ð ºèÂÀ«íÂ@ÁßÂàéÂ@ê ÎïÂà5ä€÷ðÂàÿìÂÀ.íÂ@míÂÀpâÂÀçã Úí ïÂÀ·ë àì ÔëÂÀRçÂ`êÂ`hæÂ`ëåÂÀ½ê «àÂàŽêÂ`ßçÂ@ç åÂÀjã fö€øÛÂÀÛåÂ@ðìÂ×뀘ë€?åÂÀ·ëÂâÂ@sìÂ@2â³ñ€'éÂ@©ãÂà¦æÂ@ å gáÂàçðÂà 뀒ìÂà ë QïÂÀ”Ü€ëÂfé€ëÂ`âÂ`tä€-èÂàíï€tñÂ@êÂ`ÙèÂ`\èÂà|í oê ãÂÀ™ð€’ì ÔîÂ`Í꠺蠢ìÂ@åÂÀFéÂ@¯âÂãéÂ@ê î€]à àìÂàèÂÀÛåÂÀíâÂÀRç€9æÂàjð ð߀ªèÂ`ÇëÂÀŸïÂ`,ð ÞâÂà çÂÀ·ë ç€3ç´Ü ]íÂà¾â :ÞÂ`Vé ®êÂ`nå Ò䀤éÂ`bç  æÂà çÂÀòŠãÂ`âÂ@ç 7éÂÀ|àÂàŽêÂàêÂ`Ùè€ï 1ê€ÂäÂÀçãÂÀóáÂ@©ãÂ`¶ÙÂ`Jë êàÂàçðÂÀXæÂ ™ã ç€× ºè äÂÀ@ê€ÈãÂ@ÆóÂéèÂà ç€zð LÛ ¨ëÂàÜÝÂÀpâÂàMà€-èÂÀáä€3çÂ@8áÂ@t×ÂÀ@êÂ@¯â€?å Þâ á×€ÈãÂõæÂ Âñ€?å WîÂà”éÂÀÉèÂàjðÂÀ.íÂãéÂà)æÂ@ å ‚žÂ¹pÁ€XÌÁë¾Á€2üÁÐÂRÂ|Â@xÂÀ,Â@(€Å%Â@Õ2‹N€S8Âh?€ÿEÂÇDÂOÂÀ0CÂ=[ÂKÂ@ªNÂÀÜP€c_ÂÀÃiÂÀÉhÂ@+x€VvÂÀŽ]Â@&dÂÀ{u€ Â`Ò ÷€ÂyÂÀW{ÂÀqÂ@+x¡t€tqÂàò†ÂÀÈ}ÂÀþtÂ`¨ˆÂ€2|Âq|€©€Â@õƒÂ@BŒÂ@~‚ ˆÂàÚŠÂà‚ Á‰ÂओÂ`1‡Âà‚Â`®‡Â€UŽÂÀ'†Â £ŽÂ€=’Â`Ì‚ÂओÂ@$‘Â@ËŠÂ úŠÂ ³Â|’ ;•€¢–Â@—Â`–‹Â€´“ A”ÂÀ8˜Â€C‘ÂÀ—Â`<šÂ€+•ÂÀÁ– ©ÂÀtŽÂ€™ÂÀÍ”Â`¿™Â€œÂÀs£Âàñ›Âv“ ùŸÂ OœÂàJ¢Â@ô˜Âà€™Âàt›Â`›ŸÂ –¥Â Þ™ÂàÇ¢ÂÀœÂà ˜Â ó ÂÀä¥Â€~œÂàÓ Â` ¢Âà«Â@ô˜ÂÏ™Â@MŸÂ¦Âò¨Â ¥Â (­Â«ŸÂ՘“£Â¢Â€Ý¡Â€œÂÀs£Â 7 ÂàP¡Â€ïžÂ€éŸÂø§Âà—ªÂ@í®Â@)¥ÂÀO©Âà­Â ±«Â@¾¡Â`;¯Â€­ÂW­Â @©Â R¦Â`¬±Âàm±ÂÀO©Â@«Â ½©Â`ܩ ©Â`¡ÂȯÂÀg¥Â€¬Âà—ªÂ€$«Â ›¹ÂÀû¶Â9²Â@ղž¶Âø§ÂÀU¨Â`)²ÂÀ²Â@«¹Â ‡²Â€§ªÂ ì¶Â <´Âà1»ÂK¯Â-´ÂàI·Â€}±Â H²Âà®Â@¸¢Â€‰¯Â ¾ÂàC¸Â i·Â 0¶Â@«Â é¬Â` ³Â@^±ÂÀ²ÂÀ`»ÂÀl¹Â@(ºÂÀ²Â\ÁÂ!¶ÂŒ¹Â@ÀÂÀ ´ÂÀé¹Â  ¼ÂÀT½Â@.¹ÂÀr¸ÂJÄÂ@^±ÂàI·Â`#³Â é¬Â@½¶Âູ€ĺÂ@õ ì¶Â¸Âà1»Â»ÆÂ`M¬Â@æÄ ô¿Â’¸Â`ˆ·Âñ½Â ½ÂÀBÀ€ ÄÂ`óºÂ€ À€ ÄÂàfÇ€5½Â`LÁÂàŠÁ€ַ ì¶Â@"»Â`Û¾Â@ªÎÂßÀ -ÁÂ`í»Â »Âà³Ï ¾È 3À ÄÇ€ ÀÂàO¶Â`X¿Â€ˆÄÂ`տ¤µÂ ì¶ÂÀBÀÂ`X¿Â€|ÆÂÀƒÊÂ@¾ÂÀÇÂ@òÂÂVÂÂ`ÉÁÂ@òÂÂÀѽÂ@þÀÂ@ÚÆÂà×É€ʹÂàÑÊÂàõÄÂÀ}ËÂ`á½Â`¥Ç GÇÂ`ÏÀ€áÊÂ@iÄ Ժ ȼÂàrÅÂÀÈ MÆÂ e€” MÆÂ,ÉÂ`«ÆÂàïÅ îÀÂÍÃÂñ½Â€dÊÂà<ÎÂ@½Â@3Í€ŽÃ€ÏÍÂn¾Â,É GÇ€±Ò â€‚Å€#ÀÂÀ¹ÁÂ@°ÍÂ`‡ÌÂàûàâÂÂ@oÀ¦¿Â€¬¾Â£ÊÂÀ›ÆÂ`ÉÂà Á€šÁ©É ' 5ÊÂöÑÂÁÅ€íÈ ?¾Â ºÂ`¥ÇÂ@oÀÕÌ€ÛËÂÀ¹Á ƒ½Â`“Ê ßÍÂ@ÚÆÂ`^¾Â@cÅÂÀÆÂÀ¿À SÅ MÆÂ ¤ÂÂÀé¹Â@ÈÉÂàœ¾ÂÀ<Á ’Å€ÅÂÁŗ̠Ȁ¦¿Â`FµÇÂ`«ÆÂ` ÌÂà¿Â`ÉÁ£Ê ¬ËÂ`¸Â ŒÆÂ /ËÂ@]ÆÂ`ç¼Â@ªÎ€Å ȼ ÄÇÂà0ÐÂÀ ÉÂJÄ€ŽÃÂÀ ÉÂ@9Ì ÜÃÂn¾ÂàZÉÂ>ÆÂÀ•NjΠ?¾Â`:Ä£ÊÂàÑÊÂ@°ÍÂ2È»ÆÂÀ­ÃÂàÀˆÄ¯È VÏÂÀ›ÆÂÀ}ËÂ`·ÄÂ`ÉÁÂÀúË ýÈÂËÂàÑÊ AÈÂàÀóÇ€ ÄÂË £× ŽÐÂñ½ÂÀ É ñÊ€½Ð ¾È ΀XÌÂ÷¼Â€vÇ ÄÇÂ@òÂÂÀúË€^ËÂöÑÂ`øÎÂÀîÍÂÍÂÓÂÂ`±Å _àÈÂ@EÊÂÀ$ůȠ¾ÈÂ`LÁ tÊ ²Ê ”Ï€ÃÏ€áÊ tÊ GÇÂ@QÈ РhÌÂ`տ¯È !ÃÂà`È€^Ë MÆÂ@oÃÂ@àÅÂ@þÀ ¤ÂÂÀèÎÂà0Р†ÇÂ`{ÎÂÀúËÂ@þÀ MÆÂ 5Ê îÀÂà¹Î ÆÂ€ÕÌ îÀÂ`±ÅÂàBÍÂ@¼ËÂà„ÂÂÙÁÂt½Â€ ÀÂ@øÁ /ËÂ@ò #ÍÂ`.ÆÂÀÈ kÁÂÀîÍÂà<ÎÂ`æÑ€íÈ ¾ÈÂà6Ï ¬ËÂÀ}Ë /ËÂ`ÍÂÁÅÂh¿Âà<ÎÂ@ÚÆÂ@u ªÁ€^ËÂ`·Ä€ŽÃ †Ç ÜÃÂ`cÒ€óÇÂàÝÈ€ÅÂ@æÄ MÆÂÀ˾ÂÀÇÂ@ŒÓÂà–¿ÂàéÆÂ@ÀÂÀ`»Â`4Å£ÊÂ`™ÉÂ@KÉ ÜÀS¸Â€dÊÂ@Eʩɠ!ÃÂ`øÎÂÀwÌ _ÃÂÀBÀ ËÂÀ*ÄÂÓ 2ÕÂ@þÀÂ@ÈÉÂÀqÍ žÃ€#À€ÃÏ€šÁÂàfÇÂ@“½ÂÀ˾Ân¾Â@æÄÂÀ;ÖÂÀîÍÂ`«ÆÂ€ÿÅ€RÍÂ ÊÆÂÀÖÑÂÀ_Ѐ|ÆÂ ÊÆÂ€²½Âà~À¦¿Â |ÓÂÀ_ÐÂ@¤Ï zÉÂ@3Í€jÉÂ`¥ÇÂ@(ºÂ€ÃÂÀGÔÂ`Â×€‚Å€‚ÅÂ`ËÂ>ÆÂ€pÈ ?¾ÂDÅÂÀ¡ÅÂЀ½ÐÂÀ É }¾Â ªÁÂ`·ÄÂ`RÀÂ@cÅÂ@]ÆÂ€¦¿Â,É—ÌÂ@u€‚ÅÂ`LÁ ÐÅ€šÁÂ`·Ä åÌÂÀ<ÁÂÀH¿Â@¼ËµÇÂ@cÅ€óÇÂ`±ÅÂ`ù¹ÂÀ¡ÅÂ@KÉÂ`4ÅÂÍÃÂÀ¬ØÂ ;ɣʠÁÒÂÀSÒ€#À ŒÆÂ@?Ë€íÈÂàfÇÂ@9ÌÂ@ÔÇÂÀË€ÁÂ@?ËÂ@ªÎ ßÍ€Ö µÔ€íÈÂ&Ê€áÊÂàÔÂ@KÉÂÀ6ÂÂàZÉ€ÏÍÂÏÂ,É ëË èÁ€pÈÂÏ€(ÔÂn¾ÂàxÄÂÀËÂ`æÑÂàãÇÂ`Ë ÐÅÂ`¥Ç ;É ’Å 5ÊÂàHÌÂР/ËÂÀeÏÂÀè΀áÊ€^ËÂÌØÂ€ Ä€RÍÂÍÂ`FÂÂ`{ÎÂÀN¾ÂÏÂ&Ê ¾È€çÉ ýÈ ‚Ò šÎ ÇÑ€jÉÂÀ$ŠπÕÌÂÀÆÂ`«ÆÂÆÙÂàÝÈÂ@ìàvÔÂàïÅÂ&ÊÂ@ªÎÂÀeÏ nË©ÉÂ`ŸÈÂÀkΠ)Ì€XÌÂÀËÂà6Ï ¬ËÂ`iÑ€‚ÅÂ`™ÉÂ@'ÏÂ@ ÔÂ`{΋ÎÂ`uÏÂ`Í  ÑÂ`ìÐÂàlÆÂÀqÍ€ØÂ €ÈÂ@¼ËÂ`™É€ØÂËÂàûÃÂ8Ç YÄÂ@3ÍÂÀúË ßÍÂà$Ò /ËÂ`oЀ.ÓÂà³ÏÂ@QÈÂÀ É€Ö ýÈÂÀ•ÇÂ@EÊÂ`ÍÂ`ŸÈÂà¿Í€ùÆÂÀ6ÂÂ` Ì ,ÖÂ@'Ï—ÌÂÀqÍÂ`uÏ€4Ò ;ÉÂàNË ËÂà`È ©Ö ýÈ AÈ 8ÔÂðÒ©ÉÂ@!ÐÂ`æÑÂÀËÂÀ­ÃÂ`“ÊÂÀËÂ`ËÂàHÌÂ@æÄÂ2ÈÂ`ËÂà¡ÒÂ`]Ó€áÊÂÀ³ÂÂ`:Ä ËÂà6ÏÂ`ÊÂÁÅÂ@÷ÖÂ`oÐÂÀúË ÓÏÂ`RÀÂà0ÐÂÀ¿ÀÂàNË )ÌÂÍÂà+¼ÂDÅ €ÈÂ@ÔÇ ÜÃÂ`d½Â@Ñ€vÇ€RÍÂyÑ ÷ÉÂ`Í€ÏÍ€ÛËÂà ÁÂà ÁÂ@¼ËÂ@WÇ eÂÂÀ ÉÂà¡Ò åÌÂJÄ€íÈÂÐÂPÀjÉ tÊÂ,ÉÂÍ /ËÂà­Ð ÷ÉÂ@-΋ÎÂÏ€ÛËÂ@ÂÊÂÇÄ‹ÎÂàZÉÂ@ÎÈ ;É‘ÍÂà³ÏÂà Ö€4Ò XÙÂÀ/ØÂüР Ñ µÔÂðÒÂmÓÂ@¶ÌÂÀîÍÂ@¶Ì ØÂ@'ÏÂà`ÈÂ`]Ó YÄ tÊ€^Ë &×ÂÀÜЀíÈÂ@°Í  Í ½Â@EÊÂ@QÈÂà<ÎÂ@ ÔÂ,É€.ÓÂ@9ÌÂÀËÂ`þÍÂÀË—ÌÂ@KÉ€áʯȠÐÂÀôÌÂ@°ÍÂ`.ÆÂ@?ËÂÀËÂ`Í€çÉ »Â`‡ÌÂ`àÒÂÀ}ËÂ@3Í€áÊÂ`±ÅÂßÀÂ@QÈ€:ÑÂÀƒÊÂÀƒÊ€vÇ Ë /Ë€@ÐÂËÂ@9Ì GÇÂ`{ÎÂn¾Â`òÏÂÀúËÂÀ‰ÉÂÀîÍÂ`¥ÇÂÀè΀½Ð ¬Ë€‚ÅÂ@]ÆÂ nËÂ@ÎÈÂsÒ  ÍÂÁÅÂ@’Ò MÆÂÍÃÂ@ÎÈÂÀË€±ÒÂ@'ÏÂÀ}Ë MÆÂ@?ËÂ` ÌÂàÑÊ ñÊÂÀèÎÂà¿Í ²ÊÂÀè΀:Ñ€.ÓÂ@¼ËÂà¹ÎÂ`ìÐÂ`¶Ù nË ùÓ #ÍÂàBÍÂà0ÐÂmÓ€øÛ ØÂ ÙÂà›ÓÂ@nØÂÀMÓÂ@ßÚ pÕÂ@÷ÖÂ09ÃÀſ ¬Ë€“×ÂÀÊÓÂØÖÂ`òÏÂÀ}Ë 4ßÂÀÝÂ`€â€{Û LÛÂà}ØÂ®Ý€{ÛÂ@ ÔÂ=Û´ÜÂÀšÛÂÀùà ±ßÂ`]ÓÂ`{ÎÂ@åÙÂ`QÕ mà€¼åÂ@ÒÂöÑÂ@ å yÞÂ@åÙÂà×É FÜÂ`†áÂ@…éÂ`âÂÀ²×€"Õ€ŸÕÂÀßÂ@Õ€XÌ€"ÕÂà¸ãÂ@åÙÂà×ÂàÜÝÂÀváÂÒ×ÂàâÜÂá Ü Ë DÒÂÀÚÂ`˜ÞÂ`'Ü®ÝÂàÕÂÀóáÂ`täÂ@ÙÛÂ@ñ×€{ÛÂ`¶ÙÂ@ýÕÂ`Í€ Ù DÒÂ@VÜÂ@ýÕÂà•Ô€(Ô Ú DÒÂ`?ØÂÆÙ€þÚ á× ¯ÕÂÀÄÔ€‡ÙÂÀÚÂÀkÎÂ` á€ÕÌÂ`?ØÂ@ŒÓÂÀŽÝÂ`ŒàÂà§ÑÂÀÊÓÂIÙÂ@ŒÓÂÀYÑ€“× ØãÂ`Œà€¥ÔÂ%ß d×Â1ÝÂ`3ÚÂ%ߢßÂà›ÓÂàôÙ€“×Â`ÎÕ 2ÕÂàèÛÂàÄáÂ`E×Â@ßÚÂäÔ «à€iÞÂÀÐÒ ÕÙ ËÂà0ÐÂÀ¾ÕÂ`]ÓÂ@Õ Ò€ÃÏÂ`ÎÕ ÚÂ@'ÏÂÀËÂàÕÂ@'Ï UäÂ@ñ×Â`iÑ€ØÂ@ŒÓÂ`øÎÂ`°ÚÂÀ É€@РˆÑ &×Â[Ö€‡ÙÂÀ;ÖÂàÔÂ[Ö ÏÚÂ@’Ò RÚÂ@zÖ £×ÂU×Â@åÙ vÔÂàúØÂÀ#ÚÂ@†Ô€jÉ jÖ ýÈÂÏÂÀMÓÂÀ¸Ö ©ÖÂàÅÌÂ`þÍÂ`Ë€ŸÕ ÙÎÂÀ)Ù Ò€“×ÂÀ_ÐÂ`ªÛ´ÜÂà§Ñ€½ÐÂËÂЀ½ÐÂ`àÒÂ`ìÐÂ` Ì çÖ ÙÂÀkÎÂÀMÓÂà ÖÂ`‡ÌÂÀ•Ç€ÃÏ ÇÑÂ@žÐÂsÒ»ÆÂàZÉÂsÒ ;ÉÂÀÜЀRÍÂÀÚÂÀk΀ÏÍ MÆÂ‘ÍÂ ÛØÂà0ÐÂàÓÂ`ÔÔÂÀSÒ€ÃÏÂäÔÂÀYÑÂÀ_ÐÂÀSÒÂ@¶ÌÂ@Õ€¥Ô€ÉÎÂÀSÒ ¬ËÂÀ#Ú Ù΀@ÐÂ`â€áÊÂàÕÂÀèÎÂàƒ×Âà¡Ò †ÇÂ@ÒÂà×ÂÀkÎÂРÒ€½ÐÂ`àÒ€½Ð XÙÂ`ªÛ ‘Ú Ѐ^Ë ;ɑ͠ÚÂ@'Ï †ÇÂàÑÊÂàBÍÂsÒÂ`àÒÂàZÉ ÐÂOØÂÀwÌÂÀôÌÂ`«ÆÂ ùÓÂØÖÂàqÚÂ`WÔÂ`{΀:Ñ€ŸÕÂÀ5×Â@zÖ€dÊ€½Ð ÙΠÓÏÂ@ªÎ Ù΋ΠŽÐ 8Ô ÍÐÂÀAÕÂÀ¬ØÂ /ËÂÀeÏ€ÃÂ`‡ÌÂàúØÂaÕÂ`oÐÂ`øÎÂ`]ÓÂ`]Ó ÙÎÂ`«ÆÂyÑÂàôÙÂ ÛØÂêÓÂ@ÒÂ@Ñ ùÓÂ`Â×ÂêÓÂàØÂ@PÝ åÌÂêÓ ‹ÛÂ`KÖ ^ØÂà•Ô ßÍ µÔÂÀwÌÂÀÖÑÂ`æÑÂÀGÔÂÀîÍÂ@¼Ë€ÿÅÂ`“ÊÂ@-΀·Ñ GÇÂ`¶ÙÂ`¶ÙÂ`æÑÂ@9ÌÂÀ0ÀÛË€.Ó åÌÂà„ÂÂÀÜÐÂ@¶ÌÂ@]ÆÂÀ ÉÂÀôÌÂ@3Í µÔ  ÑÂ`ÔÔÂÀ²×ÂÀË #ÍÂà×Â@’ÒÂ@¤ÏÂÍ€:ÑÂàãÇÂ@ Ô vÔÂÀúË€þÚÂ`ÎÕÂ@åÙ€XÌÂ`òÏÂyÑ ¬Ë€XÌÂ`òÏÂ@ÈÉÂ`ÍÂ@QÈ€±Ò \ÎÂ,É€·Ñ DÒ€ØÂ@ëØÂ JÑÂàÝÈÂ@žÐ€FÏ€FÏÂ@ÑÂ` ÌÂ@WÇ€“×Â@ÚÆÂ`?ØÂ ˆÑÂ@¼Ë ÎÂàÅÌÂêÓÂ`ÎÕ€4ÒÂ`(Ç íÕ€«Ó€×ÂàØÂ ÿÒÂ,ÉÂÀkÎÂàÝÈÂàËËÂÀâÏÂÀwÌÂ@Ñ€ÉÎÂ`‡ÌÂ@àÅÂà0ÐÂ@ßÚ ”Ï 5Ê #ÍÂ@t×ÂgÔÂ` ÌÂ`ìÐÂ`QÕ JÑ pÕÂØÖÂüÐÂ`òÏÂà¹ÎÂ`{Π^ØÂ‘Í ÄÇ ,ÖÂ@?ËÂ@3ÍÂ[ÖÂà›Ó >ÓÂ` Ì ÇÑÂÏÂ`ìЀ½Ð &×Â`?ØÂ`WÔ€‡ÙÂÀîÍÂ@åÙÂÀSÒÂ@ÙÛ ˆÑÂ`°ÚÂ@ëØÂ€™Ö€uÜ€dÊÂ@°ÍÂÀèÎÂÌØÂ@8áÂØÖÂÞÕÂ@zÖÂà*Ñ 8ÔÂ`ìРnË óÔ @ÝÂΠóÔ ÿÒÂ`æÑÂà6Ï€ØÂÀAÕÂ@bÚÂÀ ÞÂÀ;ÖÂàØÂ`WÔÂ@ÕÂÀ¬ØÂ%ß …ÜÂ`'ÜÂ@>àÂ@ÒÂ@÷ÖÂàHÌÂ@ªÎÂÀeÏ ëËÂ`ßÂÀ5×Â@žÐÂ`WÔÂÏÂ@-ÎÂ@ýÕÂÌØÂÀÿßÂÀÛ :Þ XÙÂà0ÐÂÀkÎÂÀ#ÚÂàMà€ÚÂ`-ÛÂà×ÂsÒÂÀ”Ü RÚÂàÔÂÀ¸ÖÂÀkÎÂ`ÎÕ€Ú |ÓÂÀGÔ€KãÂâÂàeÜÂРjÖÂ`àÒ ŽÐ íÕ€×ÂÌØÂ@÷Ö ¯Õ€½ÐÂÀ#ÚÂàGá ¯Õ€«Ó€½ÐÂÀSÒ€ÛËÂ@ÎÈ /Ë >Ó€(Ô€(ÔÂÀ}ËÂ@ëØÂ`¥ÇÂÀ²×Â`ÚÓ€×Â`{Π‚ÒÂ`øÎÂÐÂ`ÎÕÂà×—Ì )ÌÂ@Ñ€c߀½ÐÂ@÷ÖÂÀkÎÂà*ÑÂ`æÑÂÀíâ VÏÂ`ÍÂ`ÍÂàÕ€FÏÂ@†Ô ¯ÕÂà<΀·ÑÂÀ;Ö Ï #ÍÂà³Ï ÒÂ`Í |Ó nË€½ÐÂðÒÂêÓÂàTÊÂÀ_РVÏ ÓÏÂüÐÂÀ/ØÂàØÂ@EÊ DÒÂà¡ÒÂ@>à©ÉÂ@˜Ñ ¯Õ µÔ \Π8ÔÂ`cÒµÇÂà<ÎÂà$ÒÂ`ˋΠvÔÂ@ëØÂ )ÌÂà¿ÍÂ`“Ê £×ÂÐÂU×Â`‡Ì€ÏÍÂ@ŒÓÂÀeÏÂÀÊÓ MÆÂ æëÂà•ÔÂ`ŸÈ€:ÑÂÀ}ËÂ[ÖÂÀ5×Â`þÍ ÷É \ÎÂmÓÂàÓ ÿÒ pÕ€@ÐÂ`WÔ ‚ÒÂà³ÏÂÀ¸Ö ÏÂ`‡ÌÂàwÙÂ΀jÉÂ`.ÆÂàlÆÂ †Ç€‚Å€ÛËÂàãÇ DÒÂÀ›ÆÂÁÅÂÀÈ€ÃÏ€ÉΠ^ØÂ ñÊÂ@'ÏÂ@ªÎÂÀÆÂ€LΠDÒÂà³Ï€¥ÔÂÀAÕÂ@Õ ²Ê #ÍÂÀâÏÂÀôÌ ¬Ë€× )ÌÂàrÅÂ`@ÃÂÀÄÔ€4ÒÂàHÌ ÷ÉÂà›ÓÂÀMÓ€@РGÇÂÀ_ÐÂÀ³Â€pÈÂÀ‰ÉÂà¹ÎÂÌÂ@zÖ€±ÒÂ&Ê DÒÂ`þÍÂ@’ÒÂ`ÚÓÂ@òÂÂàéÆÂ@QÈÂ`ÉÂ`þÍÂàûÃÂàxÄ ÓÏÂmÓ èÁÂ,ÉÂ`æÑ€dÊÂÀÇ€ÏÍ€«Ó šÎÂ@]ÆÂ@ÔÇÂÀ‰ÉÂÀËÂCÚÂÀÖÑÂà¹Î€@ÐÂàïÅ ’Å >ÓÂ@ìàšÎ ”ÏÂmÓ€dÊÂÀkÎÂàBÍÂàÅÌÂ@¶ÌÂ`™ÉÂÀk΀.ÓÂÀÈÂàÝÈ€pÈ€FÏÂàTÊ »ÓÂàÓ£ÊÂ2ÈÂàÑÊ ŽÐ€FÏÂÀ5×€Ö nËÂÍÂäÔÂà6ÏÂ`·ÄÂà ÖÂ`ìÐÂÀ•ÇÂ\ÁÂàÑÊ vÔ€ØÂ@÷ÖÂÌØÂÀkÎÂOØÂÀ/ØÂ@åÙÂ@ÚÆÂ`ÚÓÂ`±Å ”ϵǀÿÅ€"ÕÂ@ÑÂ`QÕ Ù ÇÑÂÀÊÓÂÍÀÚ 5ÊÂà0ÐÂàÓÂ@!ÐÂàTʣʀØÂàwÙÂÀ¾ÕÂà×Â@Ó€¥ÔÂ`oЀvÇ ëËÂ`oÐÂ@ÂÊÂaÕ ÍÐÂÀ_ÐÂà*ÑÂàTÊÂ`Â×Â`uÏÂà¿ÍÂÀè΀“×Â`cÒ ýÈÂΠÍРLÛÂ`?ØÂ` Ì€FÏ€FÏ ¯ÕÂàØÂÀ¾Õ ÃÜ ЀÕÌ ØÂÀÐÒÂ`KÖÂà¹Î€iÞÂsÒÂ@˜ÑÂÒ× vÔ ßÍÂgÔ ¬Ë€ÉÎÂ@¼Ë ÇÑÂÀèÎÂ`{ΠnË£ÊÂ`øÎÂÀAÕÂÀ²×Â@\ÛÂàÅÌÂöÑÂ`ìÐÂÆÙ€±ÒÂ@QÈ hÌÂÍÂ@†Ô€ŸÕÂ`¶Ù€:Ñ ”ÏÂàÕÂàÔÂÀ¸Ö€‡ÙÂÐÂà0ÐÂàÅÌ€dÊ pÕÂÀ²×Â@ ÔÂÀMÓ€½Ð tÊÂ@'ÏÂàîÚ‹ÎÂ@øÁÂ@'ÏÂ@˜ÑÂ`WÔÂ`9ÙÂÀË€™ÖÂmÓÂà×€Ö d×Âà0ЀáÊÂ`cÒ jÖ ˆÑÂ@'ÏÂàÕÂ@QÈÂ@-ÎÂàÝÈ /ËÂÀ/ØÂ€ ÙÂ+ÞÂ`9Ù€þÚ óÔ çÖÂÀ}Ë ‚Ò LÛÂÀóáÂ`ÞÂmÓÂ`¼ØÂ`¶ÙÂÀ ÚÂà¡ÒÂ`'Ü€ìÝ€ÉÎÂ@ñ×ÂÀ)ÙÂÀÐÒÂ@ßÚ çÖ€‡ÙÂÀÊÓÂà­ÐÂ`ÚÓ ÙÂàÓÂàâÜÂÀ¾ÕÂàÜÝ ‚ÒÂÀèÎÂÀ¾ÕÂà$Ò€¶æÂà çÂàèÛÂØÖ ØÂ`¼ØÂ ÕÙÂ@ýÕÂäÂ@bÚÂà‰Ö ·ÞÂÀßÂaÕÂà}ØÂ[ÖÂ@°Í ŽÐÂÞÕÂ`™ÉÂÀkΠ©Ö€@ÐÂàÓÂàéÆÂÀeÏÂ@zÖÂÀ¬ØÂ`ÍÂàÕÂ@ÂÊÂÀYÑÂÀ5×ÂÀSÒ LÛÂÌØÂÀ¾ÕÂÀYÑÂ`˜Þ ‚Ò £×Â@?ËÂÀqÍ óÔÂÀÜÐÂàØÂ d×€.ÓÂ@hÙ€ØÂ=Û ‘ÚÂÀ#ÚÂÀqÍ€«Ó pÕ€ÕÌÂ`QÕÂÀÜЀFÏÂ@°ÍÂÀ Þ€{ÛÂà6Ï ‘Ú€ÉÎÂРíÕÂàÔÂyÑÂÞÕÂ ÛØÂ€4Ò ²ÊÂ@»à€ÚÂ@€ÕÂàúØÂà<ÎÂgÔ RÚ€íÈÂ ÛØÂ ÿÒÂ`ËÂ`]ÓÂÀAÕ РËÂ`cÒ€‡Ù€Ö€ÉÎÂ`cÒÂyÑÂÀk΀ Ù ,ÖÂgÔ€ÛËÂà³ÏÂà¡Ò€ØÂgԋΠÍР^ØÂÀÈÂJÄÂ8ÇÂ@ÓÂàîÚÂàËË žÃ ëËÂÀwÌÂàØÂ£Ê€.ÓÂ@ñ×Â@ ÔÂ`ÚÓÂà³ÏÂ@æÄÂÀGÔÂ`]Ó µÔÂ`ìРóÔÂÀÈÂÀÊÓÂÀ}Ë hÌ€çÉ€à#ÍÂ@˜Ñ ™ã ÁÒ ËÂÀâÏÂ@¤ÏÂØÖ€4ÒÂ@ÁßÂÀ¾Õ ÏÂ`Ê vÔÂ`™ÉµÇÂ`þÍÂ`¤Ü—ÌÂÀ•Ç çÖÂ`“Ê€ÕÌÂÀ¾Õ€çÉÂÀÇÂ@ÔÇÂmÓÂ@ªÎÂÀMÓ >ÓÂÀ_ÐÂ@9ÌÂÀ‰ÉÂ@'ÏÂ`cÒ€ÛËÂ@QÈ  ÑÂ@¶ÌÂÀÆÂ ýÈÂ`.ÆÂ`¥ÇÂÀƒÊÂ`:ÄÂÀèÎÂsÒÂ`àÒ bÍ€(ÔÂyÑ 5ÊÂ@ŒÓÂÀÄÔÂ`KÖÂ`]ÓÂ@KÉÂà¹Î€áÊÂ`òÏÂà›Ó€ØÂ…ÏÂ` ÌÂà6ÏÂà0РóÔÂàÔÂÀAÕ íÕ 2Õ ÏÚÂ`{ÎÂmÓÂÀGÔ pÕ—ÌÂÀÐÒ€@ÐÂ@æÂ€‡ÙÂÆÙÂ@÷ÖÂ@°Í€.ÓÂêÓÂgÔ PР½Ý€.ÓÂÀMÓ€½ÐÂ`Â×Â`“ÊÂ@ ÔÂ`æÑ ßÍÂ@¤ÏÂ`ÍÂÆÙ nËÂ`¶ÙÂÀeÏ €È¢ßÂÀ/ØÂ`cÒ 8Ô FÜÂà‰Ö€¥Ô€ÔáÂÀeÏÂ@JÞ€×€4Ò€Ú€ÉÎÂ@-ÎÂà³ÏÂ@nØÂÀ”ÜÂ`9ÙÂÀ¦ÙÂ@ŒÓ »Ó ^ØÂ€"Õ€ ÙÂÀMÓÂ@PÝÂàÅÌ€þÚÂ`ŒàÂÀÄÔ€:Ñ ¬ËÂ`ÔÔ ØÂ`QÕÂÌØÂÀƒÊÂÀ)Ù ßÍÂÀâÏ€ØÂ€ÉÎÂÀ¾Õ‹ÎÂmÓÂ`ÈÖÂàôÙ€¥ÔÂCÚÂàÕÂÀÊÓÂ`]ÓÂà‰Ö€áÊÂàfÇÂÀÜÐÂ`«ÆÂà§Ñ€ÃÏÂà$Ò 5ÊÂ`oЀÛË ÙΠnËÂÀšÛÂàwÙ 8ÔÂà ÖÂ@ÙÛÂ`ÍÂ@DßÂ@JÞ ŽÐ©É€@ЀŸÕ‘ÍÂU×ÂË †ÇÂ`{΀ùÆÂ ²Ê€ÕÌ€øÛ ÓÏÂ`ËÂöÑÂà§Ñ ˆÑÂ@QÈÂ ÊÆÂ€“×ÂÀ_ÐÂàÅÌÂÞÕÂ@nØÂ€±Ò ÈÂ`þÍ ÏÚÂäÔ€ÃÏ hÌÂÏ€(ÔÂ@’ÒÂ@¼Ë©É‹Î€þÚ Ù΀.ÓÂ`òÏÂ`oÐÂÀÐÒÂà¹Î€ÖÂàØÂ`uÏÂÀÐÒÂ`E×€@ЯȠÈ ëËÂ@˜ÑÂ`cÒÂ@ÁßÂ@-Π>Ó€^Ë ‚ÒÂ@ëØÂ2È |Ó  Ñ ©ÖÂÀ‰ÉÂ@ëØÂàÕÂgÔÂÀSÒÂÀƒÊÂ@°Í ‚ÒÂÏ€ÉΠ”Ï€æÞÂÀÚÂàÓ€:Ñ€^ËÂüЀáÊÂ&ÊÂÀ¸ÖÂÀÚÂÀMÓÂÀAÕÂ@ÓÂàƒ×ÂÀ¾Õ€±Ò€4ÒÂàúØÂ`™É ùÓ ëËÂÀôÌÂà¹ÎÂÀ}ËÂ`ÚÓÂà$ÒÂ@ÒÂà¿ÍÂ`WÔÂ@†ÔÂÀ}Ë ”Ï€·ÑÂÐÂ@Ó óÔ‹ÎÂ`KÖ SÅÂ@9ÌÂ@ÈÉÂ…Ï ˆÑÂÐÂÀÊÓÂ`ÈÖ AÈ»ÆÂ šÎ ²Ê ÖÄ€dÊÂ`cÒÂ2ÈÂÀƒÊ 5Ê ’ÅÂ@ÂÊ€:Ñ€ÛËÂ@ÑÂÀeÏÂÀÇÂ`¥Ç ÍÐÂÇÄÂ`uÏ zÉÂ@3ÍÂ@9Ì€XÌÂmÓ ¾ÈÂ`QÕ AÈÂàÑÊ pÕ©ÉÂ@žÐÂ`"È ¸É ¾È ‚Ò€ÉÎÂÀ}Ë€½ÐÂà$Ò ÄÇÂàÕ ÇÑ€ŸÕÂÀÈÂ>ÆÂÀwÌ€ÃÂ`Ë—Ì ¸ÉÂ`™ÉÂà¹Î€çÉÂDÅÂàÝÈÂ`É€^ËÂ@'ÏÂ`ÎÕ€ÛË \ÎÂÀÖÑÂà$Ò —ÙÂ@ÎÈ VÏ ÙÎÂ`Í pÕÂÀ³Â€FÏ jÖÂöрŠȀÃÏ ÇÑÂ`uÏÂ@9̯ÈÂ`Ë—ÌÂÀÊÂÌÂ@’Ò ßÍÂÀ¦ÙÂ`·Ä€|ÆÂ€ÔáÂÀGÔÂ`iÑÂ`ÚÓÂÀ;Ö ÓÏ d× &×ÂàÅÌ >Ó PÐÂÀSÒÂ@€ÕÂÀ²×ÂØÖÂ`oЀLÎÂ`Ë€óÇÂ`æÑÂ`ÚÓ€ÉÎÂÀÐÒÂÀkÎÂ ÊÆÂöÑÂ@Ó ÓÏÂ`ÚÓ€(ÔÂ…ÏÂ@ŒÓÂ@-ΩɠvÔ XÙÂ`øÎÂ@àÅ |ÓÂÀ*ÄÂ@9ÌÂÌÂ@ÔÇ ²ÊÂ@ÈÉÂàÝÈÂÀ#Ú 2ÕÂ@]ÆÂÐÂÀËÂÀÐÒÂ@’ÒÂÀÊÂÐÂ@?ËÂ`‡Ì€ÖÂÀAÕ DÒ öÞÂÀ/ØÂ ”ÏÂ`:ÄÂ`Ê€½ÐÂÌØÂÀqÍ€¥Ô ”ÏÂà³Ï £×Â@ÑÂÀ¾Õ #ÍÂ`ËÂàxÄÂ@˜ÑÂÀ)ÙÂÀÖÑ SÅ Ç  ÍÂà×ÉÂ@QÈÂ`ÉÂ@3Í ÄÇ€L΀ÕÌ€ÏÍÂ@¼ËÂàõÄÂÀÊÂà¿ÍÂ@ÈÉ PÐÂÀîÍÂ@÷Ö Ï çÖ @ÝÂËÂ`Ë nË ÏÂ@ŒÓÂ`þÍ ÷ÉÂà„ÂÂ`:ÄÂ@!РbÍ€ÛË ÄÇÂàÅÌÂà0Ѐ¥ÔÂÀkÎÂàÝÈÂ` Ì€Ûˀŀ¥ÔÂÍ€·ÑÂÀÇ pÕÂÏÂà§Ñ nËÂàÑÊ ëËÂ`:ÄÂ@?ËÂ@žÐ 8ÔÂÀÜЯȠPÐÂàÕÂ`ËÂ@¶ÌÂ@ÎÈÂ`iÑÂ@˜ÑÂ@Ò ýÈ ^ØÂ[ÖÂ@9Ì 8Ô  ÑÂIÙ€ÕÌÂ`ÉÂ`¥Ç  Í€íÈÂÀk΀LÎÂà×É zÉÂÀqÍÂ`æÑÂÀË€ÿÅÂàZÉÂÀ²×Â@9ÌÂàÅÌÂ@ÑÂ@ÂÊÂ`E× JÑÂ`"È ÿÒÂàÅÌ ˜ÄÂ`“Ê óÔ ÍÐÂ@ÔÇ€ÏÍÂÀ›ÆÂÀ‰É Ѐ½ÐÂ@nØÂÀ¸Ö€4ÒÂ`ËÂà•Ô€4ÒÂà­Ð ÎÂÀGÔÂàÕ ŽÐÂÀwÌÂÀôÌ  ÑÂÀ‰É€RÍÂ`¼ØÂ`ìЗ̠¬Ë ¯ÕÂÀâÏÂàÝÈ 8ÔÂÀÄÔÂàZÉÂÀÐÒÂ\ÁÂÀkÎÂÀôÌ PÐÂ@KÉ ‘ÚÂ`øÎÂÀËÂàxÄÂÌÂ`@àâÂÂÀúË \ΠÓÏ€ÛËÂ@'ÏÂÀeÏ€ìÝÂ@¶ÌÂ`ÉÁ ‚Ò€4Ò€֣ʠÓÏÂ`ÚÓÂà0ЀXÌ€™ÖÂÀGÔ ¸ÉÂ@ªÎÂ`]ÓÂÀ¾ÕÂÀ¸Ö€:Ñ hÌÂÀvá€ÛË ßÍÂ@ÂÊ zÉÂyÑÂà6Ï JÑÂ@'ÏÂÀúË )ÌÂðÒ íÕ ²ÊÂà¹Î‘ÍÂ@’Ò‘ÍÂ`‡ÌÂÍ ÐÂÀ²×Â@nØÂ@t× >ÓÂ@¶ÌÂ`Â×Âà0Р;ÉÂ`ìÐÂ@EÊÂàÔÂà¡Ò€ÕÌ pÕ ØÂ@Ó PÐÂ@3ÍÂЀ·ÑÂÀMÓÂ`WÔÂÀYÑÂ`{ΠÇÑÂ@'Ï€(ÔÂ@ýÕ pÕÂ@Ò €ÈÂà ÖÂÀMÓ´Ü ©ÖÂà‰Ö€@РÐÂÀ)ÙÂÀÊÓÂ7ÜÂ`9Ù ¯ÕÂ@åÙÂ`oÐÂÀSÒÂàîÚÂ@\Û ЀLÎÂÀAÕ€FÏ€ÉÎÂÀ;ÖÂÀÈÂ`cÒ DÒÂ@t×ÂàwÙ€:ÑÂ@-Π8ÔÂ%ß ùÓÂ@ñ×ÂÀÐÒ ŽÐ€ØÂ`°ÚÂ`?ØÂ ÏÚÂ`‡Ì€ØÂU×€æÞÂ`ìÐÂgÔÂÀ5×ÂgÔÂIÙÂ@'Ï üÝÂÀ#Ú ÉÛ€uÜÂ@ÕÂ`Â× äáÂàqÚ€RÍ€]à ÃÜÂ=ÛÂÀíâÂÀ Þ€cß ½ÝÂ`¼ØÂ jÖÂÌØÂÀÐÒÂ@†ÔÂÀGÔÂÀÄÔÂ@ëØÂ 2ÕÂ`ß 4߀™ÖÂÀ)Ù®ÝÂ@EÊÂ@¤Ï XÙ€uÜÂØÖÂ@nØÂ JÑÂ@ÈÉ á×ÂàYÞ€4ÒÂÀ¾ÕÂÀ”ÜÂÀùàÂÀ¸Ö pÕÂÁÅÂà‰Ö vÔ ÓÏÂÀÐÒÂ`cÒÂà›ÓÂ@\ÛÂ`9Ù€ Ù ÒÂÀîÍ ÁÒ€ÚÂà0ÐÂàƒ×Â@€ÕÂÀSÒÂÀÊÓÂ`òÏ€ÃÏ€ØÂ ÛØÂ >ÓÂà³Ï€ØÂ ,ÖÂÀÆÂÀSÒ ÙÂÀ5×ÂÀ¦Ù€±ÒÂ`ÔÔÂ`E×Â`oР¯Õ ÎÂà¡ÒÂ@ÈÉ€pÈÂРùÓ šÎÂ`{Π‘ÚÂÀSÒÂ`E×ÂÌØÂÀîÍÂU×Â@Ó  Ñ ЀæÞÂ@JÞÂàƒ×Â@Ó DÒ ÞâÂÒ×Â=ÛÂ@ÙÛºÛ€.Ó€ØÂ jÖÂà ÖÂU× sß  ÑÂ`øÎÂ@ýÕ ‘ÚÂÀ)Ù áע߀ìÝÂ`-Û ÕÙÂ@ŒÓ 2Õ€ØÂ€¥ÔÂ@ÕÂ`°ÚÂ@>àÂÀGÔÂàkÛÂyÑÂ@!ЀØÂ`iÑÂyÑÂàØÂ€{ÛœàÂ@ÁßÂ ÛØÂ £× ‚ÒÂ`9ÙÂ`ìÐÂ`E× µÔÂ@ ÔÂüÐÂ@ Ô ¦Ì ùÓÂäÔÂЀòÜ çÖÂmÓÂ+Þ€‡ÙÂ[ÖÂ@'ÏÂ@PݨÞÂàÐßÂÀ;ÖÂà‰ÖÂ@\Û RÚÂàqÚÂÀÜÐÂCÚÂ@åÙÂÀšÛ€QâÂÀÚÂÀÐÒÂà›Ó íÕÂ=ÛÂÀeÏÂ@žÐÂ@˜ÑÂÌØÂÀ¸Ö ‹ÛÂÀŽÝ€ Ù€{ÛÂÀ‚ß ßÍÂ`:Ä JÑ¢ßÂ@ëØÂ ,ÖÂ`ÚÓÂÀYÑ 8ÔÂgÔ€ŸÕÂ`WÔ ¯Õ d×Â`òÏ€ŸÕÂÀqÍ€Ú€ ÙÂÀŽÝ€iÞ XÙÂ`KÖÂ`ªÛÂ@'ÏÂ@nØÂÌÂàÕ€ÔáÂCÚÂà}ØÂàâÜ€ ÙÂÀçãÂàYÞ ÁÒÂà›ÓÂà ÖÂ@—æÂ`-Û ˆÑÂ@ÑÂ@!РðßÂ`-Û vÔÂàËËÂ`߀RÍ©ÉÂ@ñ×ÂÀAÕÂ@Ѣ߀]àÂ=ÛÂ@ªÎ á×€ØÂÀ ÞÂàèÛÂÀ)Ù€oÝÂÀ¬ØÂàÔÂÀÚÂÒ×€KãÂ@bÚÂÀŽÝÂàÊà€ØÂ`¶ÙÂàôÙÂ@]ÆÂ`{ÎÂÀ¸ÖÂ+ÞÂ`¥Ç ÚÂÀ|à FÜÂÀ)Ù šÎÂ@åÙÂÀwÌ€ÃÏ RÚÂà•Ô€FÏÂà‰ÖÂÀ²×€FÏÂ`iÑÂà}ØÂÀÛ 8Ô ÓÏÂ`uÏ ØÂ »ÓÂ`Œà€Kã ÞâÂ`9ÙÂÀÜЀ™ÖÂ@¤Ï pÕÂà}ØÂ`°ÚÂ@åÙÂàØÂÐÂÀË€ÚÂàÜÝÂ@ ÔÂàYÞÂ@†ÔÂaÕÂ[ÖÂà×ÂÀ_РšÎÂU× d×Â@zÖÂÀ;ÖÂ@€ÕÂöÑÂÀÖÑÂ`àÒÂØÖÂÀ‚ß šÎÂÀ¬ØÂ@zÖÂàúØÂ@ýÕÂ`ÈÖÂ@ÕÂ@ŒÓÂ1ÝÂOØÂ€çÉÂÀ;ÖÂÀÊÓÂàîÚÂÀSÒÂ`ÎÕ€±ÒÂ`cÒÂ`ÈÖÂ[ÖÂ`'ÜÂΠDÒ€ØÂàúØÂ »ÓÂ@ÙÛ€(Ô€þÚ€(Ô€±ÒÂöÑ€ØÂÀ¬ØÂ@ ÔÂà×ÂÀâÏÂ`WÔÂàwÙ ÛÂ@ñ×Â@žÐÂ[ÖÂ@\Û ÇÑ á×ÂàØÂàƒ×ÂàîÚÂàwÙÂ@-ÎÂÀÚÂà}ØÂ`ÎÕÂÀqÍÂÀâÏÂ@¤ÏÂU×Â@ÍÝ€{Û |Ó€"Õ€iÞ pÕÂÀeÏÂ`]ÓÂ`uÏÂÀ•ÇÂ@ÓÂÐÂxæÂà¹Î Ë PР¤Â ÎÂ@-ÎÂà$ÒÂOØÂsÒÂ`ÍÂÁÅÂ`uÏÂ@ÔÇÂÀÊÓÂ…Ï€:ÑÂÁÅÂÀ5×Âà*Ñ PÐÂ`iÑ€:ÑÂÀ5× MÆÂà¹Î€(Ô \΋ΠˆÑÂÀ;Ö ÇÂ@ÂÊÂà­ÐÂà­ÐÂàHÌ VÏ ‚ÒÂàBÍÂ@¼Ë£Ê€"ÕÂ@’ÒÂàûÃÂ`QÕÂ ÛØÂ€Ö‹ÎÂ`æÑÂ`-ÛÂÀ‰É€ØÂË©ÉÂ`øÎ€ÃÏÂÀk΀±ÒÂÀqÍ€^ËÂ@ÓÂ&Ê  Í€dÊÂÀYÑ 8ÔÂÀ_ÐÂ@3ÍÂÀqÍ€çÉÂàÅÌ»ÆÂ@†ÔÂ`™É ÒÂ@ÁßÂÞÕÂ`E×ÂÐÂàôÙÂÀîÍ€ÛËÂàãÇÂ`þÍÂà$ÒÂà›ÓÂÀÖÑÂaÕ ÇÑÂ`uÏÂ`¼ØÂ ÜàzÉÂ[ÖÂ`Eב͠ Ñ€vÇÂà ÁÂàîÚÂ`E×ÂÀGÔÂÀÐÒ€ŸÕÂ@˜ÑÂ`ÍÂ…Ï€ÁÂà<ÎÂ@Ò PÐÂ@ÂÊ bÍ íÕÂÀÊÓ #Í SÅ€4ÒÂ@˜ÑÂ`¥ÇÂàéÆÂÀkλÆÂ ÓÏ šÎÂ@ÈÉÂàûõÇÂ@9Ì€^Ë€ÏÍÂ`oРÄÇÂàËËÂà6ÏÂ&ÊÂ`‡ÌÂ` Ì ¬Ë£Ê€½Ð |ÓÂ@˜ÑÂÀGÔ£ÊÂ`þÍÂàãÇÂ@àÅÂÀôÌ /ËÂ&ÊÂÀÊÂ`ìÐÂgÔÂÀ›ÆÂ€pÈÂ@ÙÛÂêÓ€^Ë‹ÎÂ,ÉÂà0РbÍÂ`4Å Ò ÐÂà×€dÊÂ@ÈÉÂà6ÏÂàHÌÂ@'ÏÂ`4ÅÂ`¥ÇÂÀ}ËÂ@ŒÓÂ`øÎ /ËÂ ÊÆÂàlÆÂ»ÆÂÀÊÓÂÀúËÂÀ_ЀÿÅÂ@]ÆÂ@Õ€ÛËÂU×€LÎÂÀwÌÂ`øÎ€^Ë ’ÅÂÇÄÂР²ÊÂ` ÌÂÀÖÑ ÁÒ ØÂÍ »ÓÂÀÜÐÂÀÊÓÂ@Ñ€:ÑÂÀ‰É ÄÇÂ`.ÆÂ`æÑ€«Ó GÇÂ` ÌÂ@t×£ÊÂàrÅÂÀâÏ€ˆÄÂà0ÐÂ`Í€jÉÂÀ ÉÂÀAÕÂ`Â×Â@!РPЀÏÍ€þÚ zÉÂÀYÑ ;ÉÂ@!ÐÂÀ;ÖÂÀÈ€íÈÂ`àÒ ¾È—̋΀dÊÂÀ5× zÉÂ@ÈÉÂ@!ÐÂÀ/ØÂÀ¡Å SÅ tÊÂ`æÑ€cßÂÀAÕÂÀÄÔÂ@ÕÂ@'Ï ‚Ò ÐÅÂ`“Ê€.Ó€(ÔÂ`iÑÂIÙÂÀAÕ 2ÕÂ`3Ú ÿÒÂ@hÙÂàÜÝÂÌ 2ÕÂà*ÑÂ,É èÁÂ`uÏ PÐÂsÒÂàãÇ€·ÑÂÀeÏÂà0Ѐ.ÓÂÀ¿À )ÌÂà³ÏÂÀk΀ÖÂ@ýÕÂ@ÚÆÂ€·Ñ ÁÒÂàãÇÂàØÂ Ƞπ«Ó€ÃÏ (áÂàƒ×ÂÀâÏÂà¿Í åÌ 8ÔÂ`ìÐÂÁÅÂàBÍ &×Â`Â×€:ÑÂÀÇÂà‰Ö€uÜÂ`9ÙÂÍ€:Ñ€þÚÂöÑ€4ÒÂàBÍÂàNËÂ`(ÇÂÀ$ÅÂêÓ€ÃÏÂÀ}Ë 2Õ ýÈÂ`Û¾Â`Ë ”Ï€|ÆÂ€@Ѐ@ÐÂÀ#ÚÂÀÈÂàÝÈÂÀÖÑÂÀqÍ SÅÂ@'ÏÂ@ÎÈÂà×ÉÂÍÂÀMÓÂ@!ÐÂÀ}Ë»ÆÂ@ÂÊÂ`ÉÁÂ`‡ÌÂÀËÂ@¶Ì€ŸÕÂÀSÒÂÀ0ÃÂ@-ÎÂÍÀ‡Ù \ÎÂ[Ö ?¾Â¯È ñÊÂàÅÌ zÉÂ`]Ó»ÆÂ`(Ç Å \΋ÎÂ,É€çÉÂà¿Í _àÖÄÂàÑÊ€íÈÂà0ЀÖÂ`iÑÂ`ÚÓ€çÉÂêÓÂ…ÏÂ`·ÄÂ@QÈÂ,É #Í †ÇÂà§Ñ ÄÇÂàØÂ ¾È£ÊÂÀAÕÂÀeÏ€vÇÂJÄÂ`ÉÂDÅ ÇÂÀ›ÆÂ€^ËÂ`oÐÂÎÂàËË #Í€ÕÌÂ@ÒÂÎÂ`øÎ€ÏÍÂà³Ï€.ÓÂÀâÏ»ÆÂ`{ÎÂàÅÌÂ@?Ë ëËÂÀÈ nË ¬ËÂÀôÌÂà6ϯȠëËÂ`QÕ РžÃÂ`ÈÖ VÏÂÀ‰ÉÂ` ÌÂ@iÄÂ`òÏ ŽÐ †ÇÂÀÅ¿ÂàéÆÂàNËÂ`X¿ÂàxÄÂÀÈÂàôÙÂÀkΠˆÑÂ@?Ë ÇÂàõÄ€XÌÂ@QÈ€ ÄÂÀÊ ”Ï qÀ©É£ÊÂ`ÊÂà6Ï ΀íÈÂ@ìÃÂV€áʯȠåÌ ýÈÂàNË€^ËÂ`ÏÀÂ@WÇÂ@¼Ë€FÏ ¶¿Â ÐÅÂÀ›ÆÂÀ_ÐÂÀÈÂàrÅÂäÔ ÐÂàÝÈÂ`ÉÂ>ÆÂ åÌÂÀôÌÂÀGÔ ÁÒÂ@ÈÉÂ2ÈÂ`«ÆÂ PРíÕ ,Ö ^ØÂ€”€vÇ hÌÂ@ÔÇÂ`Ê ëËÂ=Û€ÉÎÂ`uÏ€ÿÅ ùÓ bÍÂ`øÎ ¦Ì€jÉ€áÊÂ@ÑÂ`“Ê‹ÎÂ`òÏÂÀÖÑÂÀôÌÂÀÆÂàBÍÂyÑÂÏ€XÌÂÀË nËÂÍÂ`±ÅÂà„ÂÂ@ò€^ËÂÎÂ@KÉÂÀkΠóÔ€@ÐÂ`™ÉÂà¡ÒÂ@3ÍÂ,ÉÂ`þÍÂ@ò€dÊÂà$ÒÂÀ•Ç ¦Ì ”ÏÂà6ÏÂ`ÚÓ€@ÐÂ`øÎÂ`“ÊÂà¡ÒÂÀ_ÐÂ`àÒ SÅ€ÃÂ@-ÎÂà‰ÖÂÌÂ@cÅ ˆÑ€Ö€ÃÂ`ÊÂ`:Ä€jÉ ÙÂ`«ÆÂ@EÊÂ@ªÎÂàxÄÂ`4ÅÂ`ÊÂÀeÏÂÀËÂ8ÇÂ@°Í ÐÅ hÌÂ`™É PÐÂÀƒÊÂàHÌÂ`ìÐÂà¹Î ÒÂ@!ÐÂà•ÔÂ`WÔ zÉ åÌÂÇÄÂ@ŒÓÂ@'ÏÂàÓÂ@ìÀjÉ‘ÍÂÀYÑÂmÓ€XÌ€ÏÍ _ÃÂ@àÅÂ@]ÆÂÀYÑ PЀŸÕ€4Ò ÄÇÂàãÇÂÀqÍ€ÕÌ€vÇÂ` Ì Å ÓÏÂàÅÌÂ`ÚÓÂàlÆÂ€‚ÅÂÀ›ÆÂ€LΣʣÊÂÀÖÑ ©ÖÂöÑ€«Ó hÌÂàxÄÂàÝÈ ²ÊÂ`ËÂÀ‰É ñÊ ¬Ë ¸ÉÂà6Ï€4Ò ÅÂÀÜРÇÑÂ@¼ËÂØÖÂ@-ÎÂÀÈ 5Ê ÄÇÂ@åÙÂà<ÎÂ`ËÂ@9ÌÂ`{ÎÂ` ÌÂmÓÂÍÂÀÊ€½ÐÂËÂ`iÑ ;ÉÂÐÂsÒ€jÉÂÀ}Ë ‚Ò †ÇÂÏÂÀâÏ€(ÔÂ@€ÕÂÀ_ÐÂ`™É€óÇ€XÌÂÀèÎÂÀwÌ€^ËÂ&ÊÂ`“ÊÂàéÆÂÀË nË ¦Ì€.Ó€ÉÎÂË€±Ò ØÂ ÁÒ€çÉÂ@ÔÇÂ@°Í ØÂ@ÈÉ€çÉÂ`ìÐÂÀ}Ë€íÈÂ`@ÃÂ@ÀÂ`Ë€ŸÕÂ`ÚÓÂ@3Í€RÍ ¦ÌÂÀÈ ÿÒÂ`æÑ ;ÉÂmÓÂöÑ ÓÏÂ`ÎÕ ËÂ@¶ÌÂÀMÓ 2Õ  Ñ DÒ€ÕÌÂÀÖыΠ²ÊÂÀâÏÂΠÏ€XÌÂÀÖÑÂ@˜ÑÂÀ$ÅÂ@cÅ ÈÂà‰ÖÂÀ5×ÂÀ‰É ÇÂmÓ ˆÑÂÀwÌ€ÃÏÂàéÆÂÀ²×ÂàËË€FÏÂà¿ÍÂ@t× >ӀŠ÷É€@ÐÂà×€dÊÂ`uÏÂÀÖÑÂàËËÂ`ÉÂÏ€ÉÎÂÀË ŒÆÂ`(Ç _ÃÂ@3Í€vÇ hÌÂ`¥ÇÂÀ¸ÖÂÀÚÂ@ÒÂ@†ÔÂÀkεÇÂ@“½Â`¥Ç€·ÑÂÎÂ@QÈ zÉÂ@KÉÂ@àÅ ùÓÂà¾Â@ÀÂà­Ð€ÿÅÂÀqÍÂ@°ÍÂÀ6€ÏÍ PÐÂ@ÂÊÂÀúËÂà<ÎÂ…ÏÂë¾Â ÁÒÂà¹Î€™ÖÂÀôÌÂ@oÃÂÀwÌÂ@‡¿ÂàZÉÂ@?ËÂÀÇÂÀ¡ÅÂÀúË€çÉÂ`Ê€|ÆÂ`‡Ì€ÃÂ@ìÃÂÇÄÂÀqÍ ‚Ò ”Ï ¤Â€ùÆÂ ñÊ€dÊÂÀH¿Â zÉÂÀÊ€ÃÂTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°w (TREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHEAPX ¨datadescription8  @œhq·—NM€SNODX X¨(dt ?@4 4ÿxunitsyunitsÿÿÿÿÿÿÿÿhy (·—NM (CLASSTABLE (VERSION3.0 8TITLEDescription of sec2 0 FIELD_0_NAMEdt 0 FIELD_1_NAMExunits 0 FIELD_2_NAMEyunitsàŠÁÂ@À€XÌÂÀËÂ@¥ºÂµÇ€çÉÂ`™ÉÂ`RÀ ¸É‘ÍÂÀôÌ _àîÀÂà¡ÒÂà³Ï MÆÂ`òÏÂÀƒÊ ßÍÂ`"ÈÂ`4ÅÂ`½ÃÂ`4ÅÂ@ÂÊ€ùÆÂ÷¼Â@þÀÂÇÄÂ,ÉÂÀ¹Á ªÁ€ŽÃÂðÒ€pÈ Üà‚ÒÂÀËÂ@ÎÈÂ@ ¿Â€ ÀÂÀ0ÃÂà èÁÂ`ÊÂ`òÏÂ`àÒÂ@WÇ ÇÂñ½ÂßÀÂàéÆÂ@ÚÆÂ` Ì€ÂÂÀôÌ€íÈÂÀƒÊ !ÃÂÀeÏÂ@WÇ ÆÂ`^¾Â»ÆÂÀÊ€à÷ÉÂ@3Í †ÇÂ@··ÂÀN¾ÂàfÇÂ`{Π¸É ÆÂÀ$ÅÂ@!Р€ÈÂDÅÂàÀ€ÂÂ`F ²ÊÂ`d½Â /ËÂÀ$ÅÂÀÆÂyÑ GÇÂÙÁÂ`ìÐÂ ÊÆÂà$Ò 5ÊÂÀkÎÂàÀ 3ÀÂ`øÎÂ`ͯÈÂ`^¾Â€XÌÂ`ÉÁÂÀ‰ÉÂ@òÂÂÀÈÂ@˜Ñ€·ÑÂÀ¡ÅÂàûÃÂ`LÁÂ`“Ê€pÈÂàrÅÂ,ÉÂ@ÎÈ»ÆÂ`«ÆÂ€ÏÍÂ@{ÁÂ`«ÆÂ _ÃÂ`·ÄÂÀÈÂàfÇÂ@ ¿Â@þÀÂÀ¹ÁÂ`"ÈÂVÂÂ@ÔÇ ¶¿ÂÎÂ`ÈÖÂ`‡ÌÂ@¼Â ºÂ,ÉÂ`ÉÂàÑÊÂðÒ ¦Ì îÀÂÀƒÊÂÀ}ËÂà­Ð >Ó èÁÂ@KÉ ¤ÂÂà¾Â`á½Â ÏÂ@ÂÊ€RÍÂÀôÌ ’ÅÂÀ}Ë ú¾ÂÀÜÐÂÀ›ÆÂÌÂà¿Í€@ÐÂ@9ÌÂÀkÎÂ@¾ÂJÄÂ`™ÉÂ` Ì nË€ÛËÂÐÂ`½ÃÂ`Ë ÆÂ tÊÂ@EÊÂ@EÊÂ@ÎÈ€pÈÂà³ÏÂàTÊÂ@¼ËÂÀÜÐÂÀSÒÂÀÖÑ€ ÄÂÀYÑ»ÆÂ` ÌÂÀÈÂàËËÂ@9Ì Ù È ”ÏÂ@?Ë #ÍÂÀÐÒÂ@’ÒÂà<ÎÂà ÁÂ`á½Â€(ÔÂÏÂ@ÈÉÂ`"È ˜ÄÂ@EÊ ¸É€‚ÅÂ`]Ó >Ó€.ÓÂ@¼ËÂ@žÐÂ@ÀÂÀGÔÂ@¼ËÂàwÙ åÌ€çÉÂ@ÙÛ :ÞÂ`þÍÂ`‡Ì >ÓÂÀƒÊ hÌÂ`"È bÍÂ`Ë ÏÂàwÙ€«ÓÂ`"È€ÕÌ€{ÛÂàïÅÂÀkÎÂ@¶ÌÂ@QÈÂsÒÂÀ}Ë 8ÔÂÀŽÝÂÀîÍÂÀ˾¯ÈÂà•ÔÂ`‡Ì€LÎÂà³Ï ùÓÂ@°ÍÂà§ÑÂÀÄÔ 8Ô óÔÂ&Ê€ÉÎÂÌÂÀ}Ë åÌÂ`ÎÕ ÿÒÂÀ5×€ÚÂgԠǵÇÂÀîÍÂCÚ  Í—Ì ˆÑÂmÓÂàÃÂÇÄÂ@€ÕÂÐÂÀGÔÂ@åÙÂÀeÏ»ÆÂ`ʩɠ÷ÉÂ@?ËÂ`þÍÂà_ÝÂ@ÕÂ@’Ò zÉÂ ÊÆÂà}ØÂÐÂ`QÕ ÙÂà6ÏÂ@ÎÈ ÁÒ€@ÐÂÀYÑÂ@t×Â`ÚÓÂ@Ó€:Ñ€XÌ€RÍÂäÔÂÀqÍÂÀ É€@ÐÂà$ÒÂ`þÍÂÀ_ЀùÆÂÏÂ…Ï €ÈÂ@-ΠÒ óÔ ÇÑ åÌÂ@3ÍÂ@Ó ÷ÉÂ@3ÍÂÀÐÒÂ@iÄÂ` ÌÂÀ0ÃÂÀwÌÂàHÌÂÀúËÂàBÍ €È€¥ÔÂ@ªÎÂÀ ÉÂà`ÈÂ@EÊ ÍÐÂÍÂ`‡ÌÂ…ÏÂ@-ΠnË€½ÐÂ`½ÃÂ`ÍÂÀîÍ€|ÆÂ zÉÂÀÈ—Ì ’Å DÒ VÏÂ@!РÒÂàËË€ˆÄÂ@øÁµÇÂÀeÏÂÀwÌ åÌÂ`¥Ç kÁ èÁÂ@]ÆÂàrÅ€ÃÂ@ÚÆÂàÅÌ€dÊ ²ÊÂ@3Í ÐÅÂà›ÓÂÀÊÂÌÂàÀ ÈÂ` Ì€ÿÅ€^Ë ÅÂ@žÐ /Ë  Ñ€ÅÂÓÂÂÀúË jÖÂà³ÏÂ@øÁÂàËËÂ@¤Ï -ÁÂÍ ¯ÕÂà„ÂÂà¹Î šÎ€íÈÂàÝÈ PРQ»Â€:Ñ ¬ËÂÀîÍÂ@žÐÂ@¤ÏÂ`É€áÊÂ@ÈÉÂ@WÇ 2ÕÂ`ÉÂ8ÇÂ@™¼Â,É Ç ËÂÀ¿ÀÂàNËÂÀ5×Â@!ÐÂÍÂ`‡Ì €È hÌ šÎ€íÈÂÀwÌÂ`"ÈÂ@9ÌÂ=ÛÂ@EÊÂÌ ²ÊÂmÓÂÀÝ»Âå¿Â`KÖÂàHÌÂà„ÂÂàŠÁ€ ÄÂ@àÅÂÎÂ`ËÂÀwÌÂ`RÀÂÁÅ€@ÐÂàrÅÂ@EÊÂ@ÂÊÂüÐÂàNËÂ`"È€ÃÂ`ç¼Â ÖÄÂàZÉ ¾ÈÂÀYÑ ÄÇÂÀÇ€.ÓÂ@¼ËÂ`(ÇÂÀËÂà<ÎÂ@EÊÂ@¶ÌÂ@QÈ»ÆÂ€‚Å€áÊ ©Ö MÆÂ€“×€óÇÂ`cÒ€‚ÅÂÀ6ÂÂ`.ÆÂ`.ÆÂ`:Ä€ÏÍÂàÂÂàHÌÂ`ÊÂÀÅ¿ÂÀkÎÂÀÇÂ`Ë Ë ÒÂÀeÏÂ…Ï ÐÅ YÄÂÀqÍÂÀYÑÂ@ÎÈ€çÉÂàxÄÂÀÆÂ€ÕÌÂ`.ÆÂå¿Â`LÁÂÀÊÂ@øÁ€ùÆÂàÝÈÂÀÈ€²½Â`‡Ì PÐÂÀÈÂ`ŸÈ ¸ÉÂàãÇÂÇÄ€çÉÂÀ$Å€ Ä€óÇ ˆÑ tÊÂÀ•ÇÂÍÃÂÀ˾ÂmÓ nË€RÍÂÀ­ÃÂêÓ Ï MÆÂ€šÁÂÀË€^ËÂ&Ê È ¯ÕÂÀËÂ@æÄÂ@ÚÆÂÍàMÆÂÍÃÂÀ•ÇÂ@àÅÂÌÂÀ§Ä€çÉÂÀèÎÂÀqÍ ÍÐÂüÐÂ2ÈÂ ÊÆÂ ÖÄ ÍР’ÅÂÀ²×Â`·ÄÂ`·ÄÂàÓÂ ÊÆÂ ŽÐÂ`ìÐÂÀâÏ ˜ÄÂ`.ÆÂàÃÂ@EÊÂ`Í ÍЀÃÏ ßÍÂÀ$ÅÂ@oÃÂà`ÈÂ@ÂÊÂàrÅÂ`øÎ /ËÂ`ÊÂ@àŵǠ'ÂÂ@øÁÂ`X¿Â`Í ¸ÉÂàïÅ€pÈÂàlÆÂ€ùÆÂ@-ÎÂ@\Û 2Õ zÉÂ@oàSÅÂ\Á /ËÂ`@ÃÂÀkΠPÐÂ@?Ë ¾ÈÂÀÐÒÂÀkÎÂ@QÈÂ@QÈÂàHÌ€@Ѐ:Ñ ¸ÉÂ@ÎÈ tʯÈÂ`Û¾Â&Ê ÇÂÀË ¬ËÂ`:ÄÂ`iÑ‘ÍÂеÇÂ>ÆÂÀeÏÂ@òÂÂ@ÚÆÂÀ ÉÂÀÈÂÎÂÀ•Ç SÅÂÀ$ÅÂÀÇÂàfÇÂ ÊÆÂÀîÍ bÍÂ@ÎÈÂà¾Â`òÏÂÀqÍ ÆÂ MÆÂÀ*Ä€íÈÂàÑÊÂÀ³ÂÂ`Ë hÌÂ`á½Â€jÉÂ`òÏÂËÂ@QÈÂ@àÅ hÌÂàZÉÂÀ ÉÂ@ÈÉÂ`ÊÂàTÊÂÀúËÂ`ÔÔÂ@uÂÂ@KÉÂ@°ÍÂàTÊ ÇÑÂ`Í£ÊÂ@9Ì PРSÅ€”ÂÂ@'Ï ÄÇÂÀѽÂÀƒÊÂÌÂ@˜Ñ€@ÐÂ`«ÆÂ`(ÇÂ@ªÎ â€GºÂ@ŒÓ MÆÂÀ*ÄÂ`uÏÂ@9ÌÂàÂÂ`·ÄµÇÂ`ËÂ@]ÆÂÇÄÂÍ ΀ÏÍÂ@WÇ€@ÐÂ@]ÆÂ€ À 3ÀÂàãÇÂ@iÄ ÏÂ@ìànË GÇ ”Ï€ÕÌÂ@?Ë žÃÂ@ÈÉÂÌÂ` ÌÂ`]Ó€áÊÂ@ŒÓÂÀÊÂЀL΀|ÆÂ€RÍÂ`cÒ€pÈÂÀ¹ÁÂàÅÌ #ÍÂà–¿Â`ÉÁÂ`Í€ÉÎÂ@ýÕÂàfÇÂÀqÍÂÀúËÂ`ÍÂ@ªÎ ;ÉÂ@ÚÆÂàZÉ ÷ÉÂPÃÂàéÆÂàÅÌÂ@ìÃÂ@3Í€jÉÂ@WÇ ªÁ ýÈ ÐÅÂÀeÏÂàZÉÂ@-ΠÙΠVÏÂà$ҋ΀áÊ ˜ÄÂÀËÂÀ É€XÌÂàÝÈÂÀ ÉÂÀ¡ÅÂÀk΀±Ò zÉÂ@QÈÂÀwÌÂÀ­ÃÂÀ­ÃÂPÃÂ`¥Ç€™ÖÂÇÄÂàlÆÂÀ›ÆÂ@9ÌÂÀ}Ë€ÕÌÂÀ­Ã ÁÒÂ,É YÄÂ@KÉÂ`ŸÈÂÀ•ÇÂÀ­ÃÂ`޶Â@EÊÂàÂÂ@ÎÈÂàfÇ€ÁÂ`"ÈÂàZÉÂ@øÁÂ@ ¿ÂÀwÌ íÕÂ`™ÉÂËÂ@ÎÈ€^Ë ÆÂ SÅ ¾È‘Í ýÈÂ`™É åÌÂÀ_ÐÂà`ȯÈÂ`™É ;ÉÂ`í»Âà kÁ€vÇÂ`“Ê qÀÂ@KÉ GÇ€ÏÍÂà¹ÎÂ@EÊÂ@t× hÌ—ÌÂ`Õ¿Â ÊÆÂ qÀ ¸ÉÂJÄÂ@àÅ íÕÂ`ÍÂÀ<ÁÂàûÃÂ`^¾ÂàrÅÂgÔÂÀ}Ë ÄÂàlÆÂ@uÂÂ@æÄÂÍÂ`«ÆÂ †ÇÂ@{Á¯ÈÂà<ΠýÈÂÀƒÊÂmÓÂÌÂ`:Ä ô¿Â@]ÆÂÀ;֠ĀÃÂ&ÊÂÀÊÂÀ§Ä ²ÊÂÀÜÐÂ`ìЀáÊÂ`.ÆÂ@¶Ì€ÛËÂÀSÒ YÄÂ`ÀùÆÂàxÄÂËÂÀ¹ÁÂÙÁÂ`RÀ€^ËÂÀâÏ ²ÊÂÀeÏÂàHÌÂ`4ÅÂÀ_РhÌÂÇÄÂÀÇÂàÅÌ •ºÂ VÏÂàÅÌÂÀ­ÃÂ`ÉÂÀÐÒ€:ÑÂ@¶Ì€ŽÃÂ@?ËÂàTÊÂ`'ÜÂ`iÑ ËÂ@àÅ€@Р\΀ÃÏÂ@ÂÊÂÏ ‚ÒÂ`{ÎÂØÖ ÄÇÂÀwÌÂyÑÂÀôÌÂÀ}ËÂsÒÂ`æÑ #Í€«ÓÂ@žÐ€áÊÂ@°Í Ù žÃÂ@¤Ï VÏ #ÍÂØÖÂ`Â×ÂÀGÔÂà­Ð€ÉΠíÕ üÝÂ`ÔÔ ëË ½ÝÂ`E×Â`ÎÕÂ`ÍÂ@¶ÌÂÀ#ÚÂ`øÎÂÌØÂ€þÚÂ@'Ï€½Ð€øÛ€Ú€þÚÂêÓÂgÔÂ`¼ØÂàÔ JÑÂÀ#ÚÂyÑ 8ÔÂà$ÒŠãÂ@ÙÛ ÁÒÂÀ)Ù 2Õ :ÞÂÀÚ ÇÑÂÀ5× ݢߠ‹ÛÂ@ñ×Â@ÕÂ@t×Â@÷ÖÂÆÙÂ`¼ØÂÀAÕÂ@PÝÂ@ßÚÂ@ßÚÂ@÷ÖÂ@\ÛÂ@JÞÂÀŽÝ®ÝÂÀ¸ÖÂ@bÚÂ7Ü ÕÙ€ÈãÂ`ÎÕÂÀ²×Â@DßÂ`¤ÜÂàÂ`ÎÕÂ@ñ× £×ÂÀGÔ€oÝ„äÂÀváÂàšè ÝÂàîÚÂà_ÝÂ@bÚÂàÊàÂ@&ä .àÂÀùàÂ[ÖÂÀGÔÂâÂ`˜ÞÂ@»àÂ`ÞÂàwÙÂÀ;ÖÂÌØÂ@€ÕÂ@8áÂà)æÂàwÙÂ`tä€ÚÂÀùàÂ`à &× OåÂÀdä¢ßÂà²äÂÀ#ÚÂ@ÁßÂà”é ÏÚÂ`€âÂ7Ü€oÝÂ`Œà ûò ÒäÂàˆë®ÝÂàâÜ Àç …ÜÂà¦æÂ€!ê  æÂ´ÜÂ@¯â ÀçÂxæÂ  æÂà²äÂ0ò çÂ`nåÂïçÂ~åÂ`bç€Kã ué€ìÂÀÛÂrç€9æÂÀò Þ․éÂ@öëÂà ë .à€ÓöÂ`—óÂ`©ðÂÀLèÂ`hæÂËíÂ@míÂÀòÂ@êÂ÷‰øÂ@¢ù€JøÂ@Ìò Ý÷€¯üÂà™ý€£þ €ü `÷ÂÀ9À£À&þÂ`[ý€ÃàþÂàÿÂ`ÆÃð+ÃÀ3ÃÀÔûÂ@üÂÖÃ0EÃÜÃàÃGÃÐHÀð ÃP™à÷àÙà ›Ãпðà\ÃP ÃÀ¤ÃÀªþÃ5 ÃPàJÃëÃð~ Ãð7àhÃÙ Ãà] Ã@Ñ Ã€Þ Ã°_ Ãp½ ÃpjÃ@ûì ÃYÃpçÃÐfÃ0°ÃPø àÙÃàiÃàΠàVÃ0°ÃÜÃ@< ÀÈ ÔÃPu Ã`œ Ãà» Ãà] ðôÃàÔ Ãà¼Àä ãÃÀ Ãÿ Ãà?à ÖÀ[ à ÊÃÀtÃÐÀºà© à ÃàÔ Ã@Ãp(ÃÇ Ãà°ÃÐîÃÀý Ãóà ÖÀÆà ÜÃPÚÃð¹ÃÀÇÃ@­Ã@Ã0\à…Ã@}ÃçÃ`ïÃ@úÃÃp‡ÃP¶Ã0bÃÐqËðšÃàtÃð¡Ã`0Ã0»Ã@qÃüÃÉàÒÃ`¿ðÀÃвÃð Ã`­ÃàbðˆÃPŒÃPb"à ÃðÃàtà=ÀïÃÀÃ@ÐÓÃÀ»ÀlÃàÙÃaÃàhÃÀ Àã ÀlÃàtÃðÃØÃ"ðvà p!Ã@Ä ÃÀ—Ã`­ÃÃÀö"Ã`!à ùÃàëÃ@ÊÃàÇ"Ã0 Ãðô!Ã@¾!ÃÀ‹Ãø#ÀÝ!Ãðô!Ã@Ä Ã°½%ÃPtÀõà1!Ãp€*Ã`$ÃPh!ÃÀ['Ã@kà á#ÃÀs#Ù"Ã( Ãp9!à+"ÀN$à Û$ÃàV ÃàÓ ÃàÙÃpÂà á#Ãp-#ð@%à®!Ã@Ä Ãp¼ Ã0%ðL#Ã°Û Ã`!Ã{#Ã@Ä Ã0%Ãà©'Ã0£ÀÑ#ÃÀê$Ãðe$Ã0#ð^ ðjÃÀs#à d#Ã` "Ãp? à v Ã(Ã$ß!Ãp? ÃQ*Ã`î&Ã0…$Ãp†)à F(ð4'Ã0%Ã{#Ã1%à Û$ÃðG)Ã0ê(ÃpŒ(Ã1%Ãà©'Ã`Ö*Ãpý*àï+à +ÃK+ÃðG)à L'ÃE,Ã@”(Ã@(Ã`Ð+Ã~-Ãà&(à–%ÃðS'Ãà¯&Ã0ê(ÃÀÒ(ÃÐ|(ÀB&Ãp†)à ±+Ã`è'Ãp )ðþ/Ã`ô%à 4+Ã`Ä-ÃÐ^-ÃÎ.Ãà)Ã@j/Ãpn-ð,Ö)à L'Ãp*Ã@‚+à ±+ð±'Ãà,'ð“,Ã0m(À­)Ä,Ã@š'ð+Ão)Ü(Ãp )Ã@(Ã](Ãp!%ÃÀê$Ã@ &Ãp’'ÃpŒ(Ã],à d#ð·&à Ã(Ãà¯&ÃPJ&ô$à d#ÃÈ+ÃÎ*ÃÀê$Ã`‰"Ã`w%ÃÀÀ+Ãp’'À`!Ãp’'ð±'ÃðY&ðÉ#ÃðÐ'Ã`î&à)Ã`e(ÃP8)ð.(ð^ Ã%'à~)ÃÐù(Ã@(ÃQ*Ã@/$à @)Ãà8%à¨"ÃðÖ&À§*Ã](Ã&î%à L'ô$Ã`}$Ã0‘"ð±'à&Ã@#&î%ðÉ#Ãàµ%à á#à$Ãp'$ÃÀ… ÀB&Ãc'ÃÀ ð½%ÃÀÒ(Ãò$ÃPV$Ã`#Ãà¯&Ã@#&Ã`‰"ÀË$ÃPb"ÃÐ$Ã`$Ã1%Ã"Ãà8%ð()è&Ã¥ ÃÀy"Ãà>$ÃÐ%Ã`k'Ã@(à+"Ç%Ã¥Ã@MÃC"Ã0%ÀÅ%Ã$ÃPÓ$Ã(Ã`$ÃØÃ0$ÃP÷à !ÀïÃp-#ÃÀö"Ãðè#Ã0‘"ÃpÎÃpÂÃ`ú$Ã0%à p!ÃUÃ0µÀlÃ`­ðˆÃ0£ðóÃ`§ÀýÃà1!à |ÃÀÇ!ÃÀ£à=ÃÃ"ÃàbÃ`!Ãàßà´ ÃÀ—Ãðà  àCð^ ÃPŒÃÞÃ`BÃ`BàUÃÀ£Ãð­Ã`<ÃÐîÃ`0Ã@ÜÃ^àsÃ`*Ã@Ä Ã`Bàêà ¾à GÃ@Ã@à 5Ãà ;Ã@ƒÃP¤Àà ÊÃ0Íà à[Ãpð Ã0hÀÃLÃ@¡ð/Ã@qÃàžÃà-ïÃÀÓà ²àÀÃ`ÝÃÀÓÃpøàêÃ0VàðÃ@ÃpÃÀVÀ®Ã`ÑÃà˜Ã@ƒà Ã@ƒÃð6Ã0ßÃXÃ`rà SÃÛð/Ã0ÃÀ\ð5ÃàzÃP°à à‹ÃPQÃ@§ð¸Ãvàüà SÀCÃ|ÃðÝÑÃÀÙÃPWà ÊÃP¼Ú ÃÃ0ßÃ@­à£ÀUÃà!à 5Ã`ãÈÀ´ÀUð²Ã@•Ãdà eÃ@¿ Ã@*à MÃpŸÃ@*ÃàªÃÀ ÀUà Ãðû Ãà9Ã`„ð¬ÃðNÃ`rÃpà Mà£ÃÀÓÃà¤ÃðTÃdÃðfÃð`Ãðï Ã`éÃà3Ã`õð)ÃÀñà ô à© Ãà3ÃP]à Yðe ÂðMðîðРÃ`à, à ÐÀIÀa ÃÀñà ÃðãÃ€Þ Ã°S à ÃÀ Ã€Þ Ã Ã0’ à&Ã8ÃÀ àÁ à8 Ã0†Àê à ô à Ãð ÃÀ† à» ÃÇ ÃðéÃ@T Ãðx ÃP Ãг Ô Ã àÇÃ`Ã5àÃ|ÃP à w Ãp.ÀÒàÇÃ>à> àÇÃ@T Ã`~Ã0ñÃ>à ÃÀžÃðõ Ã`ãÃ`~Ãp.Ã` à à w ÃpÏÃàoàÓÃ@< Ã@Ë Ãà{Ãp: ÃðœÃpF à ÃÀ à •Àð Ã0' ÃðœÃÄÃ0EàÓÃ0¶ð}ÃÀ¶ÃýÀöððôÃÄÃSÃÀ?ÃðºÃ@xÃßÃÐTÃð¢ÃÜðÃàK ÃàÃMÃ_À‹ÃÀ3à 6ÃtðÃ0ÂÃðÀÃ@xÃ@rÃ÷ÃpçÃÐÅÃ0QÃÀÃPì ÃP“Ã0àÃðºÃ0ÈàåÃ0¶ÀÃ0]Ã@~Ãð7ÀöÃpjÃ`IÃÀ¤Ãð1Ãàà ¹Ã nÃ@ü€…ðîàÙøÃ@xÃàà ³Ãàÿ ÷ýÂðÃpdÃàÃ_à ­àÁ Ã`ÆÃ@Ãà{ÃâÃÀ?ÃÐTÃeÃÐéÃÐïÃ`ÀÃ@ûÿÂYÃÐÝÃÀÂðƒÃÀªÃbÃ0¼Ã0ÂÃký NúÂ€ÇøÂ nànÃ@œú€,Ã0QÃÀKýÂÀ¶à ­Ã0Eà à êàÂúú€à˜øÂàpïÂÀòöÂÀ3ÃP(àýüÂ`ÌÃ@ÿÂâþ€ÉøÂðCÆÃpÛÃSÃ0WÃÀ¼ÿÂpíÃ`ÀÃ@~ÿ€ÿÂ`IÃ`UÃÀþôÂ@=õ€£þÂSà Ý÷ÂSÃ}ú föÂP4çó Bü €üÂ÷ HûÂP.à <ý tà€üÂÀàùÂ`sùÂ@„Ã@ûÿ 'öÂ`ØÃ zÃà™ýÂeÀJøÂ@üÂàÃöÂ`Þü ¹Ã ýüÂÃ`ÌÿÂà^òÂ@ Ãôû Åû€>úÂ@%ùÂÀ¼ÿÂ`äû€»úÂÀòöÂ@ÆóÂà·øÂ ïÂàFöÂ`Ç뀆îÂ÷Â@œúÂ@¨øÂ`‘ôÂÀ]ú€ÓöÂ@´öÂ`‘ô ûò !÷€hóÂÀþôÂÀì÷ÂàêÂÀo÷Â@öë€tñ ûò€ÓöÂàjð Tù lõ 'öÂÀþô³ñÂ@[ð€bôÂà|í€íÂÀòöÂ`äûÂÀ‡óÂ@–û Ý÷ „ñÂ`>í ´éÂ@—æÂ@êíÂ`\耩ýÂ`µîÂrç§óÂàLõ oêÂà²äÂÀLèÂÀ:렖ëÂÀ@ê 1ê ïÂ`‹õ ué€Áù€ßô€åó€-è€ÔáÂâÂ@ðì ò ž÷ÂÝêÂàÛò€åó€9æÂ@êíÂõ€Áù€nòÂ`,ðÂ`ÙèÂ` ò€£þÂà|íÂ@[ðÂ`µî€hóÂÀÏçÂ`—ó€˜ëÂ@mí ÈðÂ@äîÂà:øÂàáñÂÀ(êÂÅîÂÀ™ðÂ@sìÂàŽê€-èÂ6ñ Èð€ßôÂÀWûÂÀŸïÂxæÂ çÂNíÂàŽê€Œí›õÂÅîÂ@Òñ ZøÂ`Çë 7éÂåÂéè€ï ŠðÂ@éÂÀQüÂÀ“ñ€°çÂàdñÂàþÂàÏôÂ`äûÂÀcùÂÀôÂàÛò KðÂàùí øÂÀàùÂ`‘ôÂÀò€,ýÂàFö ÔîÂàè oêÂËí cìÂàŽê€žêÂÀ óÂ@OòÂàý ûò æëÂ@Øð øèÂÀøõ€ññÂàùí rôÂ`8îÂ$ôÂ@sìÂÑìÂ@ê –îÂ`ÓéÂàùíÂÀ¥îÂÀ½êÂ@aïÂÀðÂÀuöÂàjð€’ì€Óö æëÂàáñÂÀ{õ€’ìÂ*óÂÀñÂàáñÂÀ½êÂ6ñÂÀ óÂà#ç cìÂ@sìÂÀ™ðÂ`aüÂ`‘ôÂ`£ñÂà·øÂÀôÂ6ñÂÀÛå ÚíÂõ€†îÂ@Uñ€JøÂ@úÂ`©ðÂlèÂ@äîÂÀ:ëÂ@ÌòÂ6ñ€àß –î àì ~ò -õÂÀ(îÂHî ï Kð íÂ@ûÂ`ÇëÂÝêÂàšè øè œíÂÀ«í 7é€ëò NúÂãéÂÀòÂÀÉ而íÂàè ìêÂ@ú ÔîÂ`\èÂöÂ@Øð çÂfé ìêÂ×ëÂàvîÂà¬åÂ`PêÂà|í ¨ëÂ@äîÂ@êÂ@…é í ZøÂ€Í÷ŠãÂõ î§óÂ`êÂÑìÂfé ÔîÂàê€ î +ëÂàùí€ññ€ïÂ@Æó€zðÂ`>íÂ`ê€-èÂTì ïÂÀÕæÂàÊà þçÂBï CçÂ`Ç뀞êÂ$ô ïôÂ@yë cì ï íÂà;ã ûòÂÀøõ€¤éŠãÂHîÂà|íÂ@ÆóÂÀ¥îÂà/åÂÀ{õÂõÂàpïÂÀÃéÂâ þçÂ`PêÂà”éÂ@åÂ@UñÂ*óÂ@gî +ë Cç ç›õÂÀò  æÂ@Oò€ÂäÂ@ê !÷Â@mí =è œíÂ`âÂ@sìÂ@gî òÂà@÷€ïÂõæÂàùíÂà|íÂÀ½ê€'é ñÂÝêÂ@ðìÂ@…é 1ꀶæÂà ç ïÂÀ‚ßÂà5äÂrç€?åÂZëÂËíÂ@Þï ië çÂàGáÂÀÿßÂ`,ðÂàáñÂÀíâÂ`ß瀰çÂ`åæÂ`\è€9æÂ€ë ¢ìÂ`’ßÂ@üê€ìÂà‚ìÂÀáä äÂ`÷ã U䀼å€ÎâÂàìÂ@äîÂ@aïÂÀÃéÂ@‘ç ¥á€9æÂ€EäÂNíÂÀFéÂNíÂ`ªÛÂ`>íÂNíÂÀjãÂàÊàÂ ÆæÂ@ åÂà_ÝÂÀÛåÂÀpâÂ`€âÂÀÿß “äÂÀÕæÂÀáä€?å€ìÝÂ@2â øè «àÂÀdä êàÂ`»íÂ@£äÂ@‹èÂÀÏç ºè€?åÂ@»àÂà¸ã {èÂÝê€\õÂ`ö€ŒíÂ@Áß 2Õ®ÝÂ%ßÂ@ åÂ`ŒàÂÀpâÂûåÂ`VéÂà;ã RÚ FÜÂ@JÞÂàíïÂ@öëÂÀŽÝ åÂ`€âÂ@åÂàÛò–áÂå IæÂ á×ÂÀ”ÜÂÀùàÂ@åÂ@ÞïÂ@öë€?å ¥áÂÀðÂÀ4ìÂÀd䀼åÂàèÂà)æÂ€uÜ øè€QâÂàGáÂ@,ãÂàšèÂäÂ+ÞÂà¸ãÂâÂ@å å„ä —ÙÂ`zãÂÀváÂ`]ÓÂ@8áÂ`\èÂ`hæÂ@—æÂ€ÈãÂà/å ØÂÀpâÂ@çÂ`ñäÂÀLèÂàkÛ€3çÂÀçãÂà”éÂ@PÝ€øÛÂ@µáÂÀšÛÂ=Û gá€Ôá ¥áÂ@&ä ðßÂà¦æÂ`ßÂ` áÂ@,ã€ÂäÂàšè ãÂ`à€ØÂ`’߀{Û ãÂ`hæÂ öÞ€¼åÂÌØÂ`¤ÜÂ@2âœà ÀçÂÀçãÂÀÚÂà5äÂ`ªÛÂÀßÂ+Þ ÃÜ ØãÂÀÝÂ@åÙÂ`3ÚÂÀpâ …ÜÂ1Ý ·ÞÂÀß ÌåÂ`zã :Þ gáÂàØÂ€]àÂ`täÂàÂ@ñ×Â7ÜÂÀÏçÂÀšÛÂ@Á߀àßÂ`†áÂÀ.í +ëÂ`êÂ0ò .àÂ`Œà ãÂ`'ÜÂàÐß ÝÂÀŽÝ€QâÂ`zãÂ`¤ÜÂ@ÍÝ ÉÛÂ@ÇÞÂ@JÞ ùÓ …ÜÂà¸ã :Þ€þÚ€¼åÂ@&äÂ@\ÛÂÀ)Ù .àÂÀÛå Úí€ÂäÂlèÂÀˆÞÂ@2âÂàÖÞ Ÿâ þçÂÀíâ «à ÀçÂ@bÚ„äÂ@èÂÀˆÞÂ`ŒàÂàYÞÂ`âÂÀùà “ä ¥áÂ@…é ™ã€9æÂáÂ@»àÂ`ŒàÂÀÿßÂ`?ØÂàÄáÂ`¶ÙÂà_Ý€-èÂÑìÂ@,ãÂàÕÂU×ÂÀÊÓ 4ßÂÀ(îÂ`€âÂ%ßÂÀvá Øã Oå€EäÂ`?ØÂÀ^åÂ@†ÔÂ`¼ØÂ «à .à ÜÂÀ|àÂâÂ@ßÚÂÀ:ëÂ@ÁßÂ`ŒàÂ@£ä ã CçÂàpïÂTìÂÀÛåÂàŽêÂÀáäÂÀŽÝÂÀÝÂà#çÂ@öëÂÀ|àÂÀßÂ` á yÞ€ë IæÂ äá Òä€QâÂåÂàMàÂÀ"ï€ÔáÂÀjãÂÀ^åÂÀáä€ÂäÂ@çÂàpïÂÀÕæÂ ÆæÂœà øèÂ`ëåÂå òé€{ÛÂ@¯âÂ@äîÂÀÕæÂÀÏçÂ`zãÂà}ØÂ ãÂ@ÌòÂà;ã øèÂxæÂ€KãÂ@ÁßÂàÖÞÂåÂ@çÂ@©ãÂ@çÂlèÂà#ç€ýï aâÂ7Ü€uÜÂÀ”Ü€æÞÂà;ãÂ`¯ï€Ôá =èºÛ 4ß Úí ·ÞÂÀváÂé耞êÂHîÂàšè sßÂÀpâ€EäÂ`ýâ€iÞÂ@ê€?åÂ@2â çÂà)æÂ€?å gáÂÀßÂ`PêÂ@…éÂÀ(îÂ@—æÂ@,ã Þâ @ÝÂûå„ä ¥áÂ`†áÂ%ß ™ãÂ@µáÂÀñÂ@DßÂ@öë aâÂàAâÂàéÂàÜÝÂ@2âÂ`êÂ@æÂÀ#Ú ¥áÂà¬åÂâ "âÂ@ÙÛÂ@ç gáÂ@ÍÝÂ@åÙ  æÂ@aï  æÂ€ÚÂ@©ã ÝÂ@,ãÂxæÂ äá€KãÂà#ç€]àÂ@>à€æÞœà€?åÂàSßÂ@DßÂ@µáÂàÐß äáÂ@\ÛÂ@\Û Oå ®êŠãÂÀçãÂÀùàÂÀŽÝ€?å€àßÂ@ÕÂàóîÂ@£äÂâÂ@ÙÛÂU× åÌ€"ÕÂ`ªÛÂÀ”Ü çÂ@ßÚÂãé àì %ì€ØÂ ÏÚ ÝÂàGáÂÀóá d×ÂàéÂ@ åÂÀ¦ÙÂ@hÙÂà×ÂÀßÂÀßÂ`ÞÂ`ŒàÂ`-Û€øÛ€×Â@»àÂ=ÛÂàAâ äÂàÜÝ€c߀oÝÂà‰ÖÂ`9Ù€æÞ Ìå ãÂ@ßÚÂÀ#Ú sß ÞâÂ@JÞÂCÚ ‘ÚÂàúØÂûåÂ`ßÂÀ‚ßÂ@©ãÂÀšÛÂ@ÍÝÂõæÂ¨ÞÂ@ åÂ@&äÂàS߀ÂäÂ@ñ× gá€ÂäÂïçÂ`¤ÜÂ`-ÛÂÀXæÂ€±Ò yÞ€ÚÂÀ Ú Ѐ:ÑÂ@>à€]à ÏڀΖ׀ØÂ@t× ½ÝÂ@bÚ —Ù€ØÂÀ¸ÖÂÀAÕÂÀ¦ÙÂÀÜ 2ÕÂ@ëØÂ¨ÞÂ@ÁßÂ@˜ÑÂÀ;ÖÂ+Þ ÃÜÂ%ßÂ@ñ×€Úà .àÂÀšÛ ‚ÒÂ`àÂ@ßÚ »Ó Р^ØÂ óÔÂ@’ÒÂ`E×ÂÀ|à öÞÂÀ5×Âà•Ô šÎÂÀ É >ÓÂà*ÑÂ@ÓÂ+ÞÂàÐßÂ`cÒ vÔÂ`9Ù€ìÝÂ`3Ú &× µÔÂ@ëØÂ@ÕÂ@VÜÂ`ñäÂCÚÂ@åÙÂ@hÙ á× …ÜÂ`¶ÙÂ`iÑÂà¾âÂÀ5×€ìÝÂÀšÛÂàÕ ±ß >ÓÂ@’Ò |Ó€{Û ØÂ`¤ÜÂ@2âÂ`Pê€ÚÂàYÞÂÀ²×Â…Ï€@ÐÂÀ5×ÂÀSÒÂÀÊÓ «à€WáÂàîÚÂ@DßÂÀùà XÙÂ`-ÛÂmÓÂ`]Ó€ÚàÂàÊà€iÞºÛÂ@€Õ€ÚÂ` áÂ@JÞÂ@ßÚ€°ç FÜÂ`ÚÓÂ`]Ó ½Ý çÖÂ@ÙÛ€× RÚÂ@ÇÞÂÀk΀WáÂàèÛÂ@Ó€ØÂ ‚Ò ©Ö DÒÂ`3ÚÂ`ªÛ ÕÙ€·ÑÂÀîÍÂ@ ÔÂÌØÂ@ÑÂU×€× ðßÂà ÖÂ@ÓÜÂU×Âà›ÓÂЀøÛ€þÚÂÀè΀±ÒÂ=ÛÂ[Ö ą̊ÞÂÀ5× äÂ@ßÚ ÙΠÏÂ@’Ò ÙÂÀ;ÖÂêÓÂ`9ÙÂàÓÂàÖÞ€{ÛÂ ÛØÂ`Â× ^ØÂOØÂÀ”Ü ¦ÌÂÀqÍ ¬Ë€×Â`àÂ`˜ÞÂ@ñ×ÂÀ¬ØÂ@ÓÜÂaÕÂÀ$ÅÂÀÿ߀{ÛÂÀ¾ÕÂàwÙÂÀ߀4ÒÂÀ)ÙÂÀÄÔÂ@ÓÜ€þÚÂà×Â`’ßÂOØÂà0ÐÂÀ ÚÂà¹ÎÂ@¶ÌÂ@’ÒÂ`iÑ ÕÙÂ@PÝ€oÝÂ@ÍÝ€{ÛÂÀ5×Âà¹Î€ÚÂ`¶ÙÂÀÐÒÂ@˜ÑÂ@3Í ÃÜÂ@Õ µÔ pÕÂ`WÔÂ`uÏÂäÔÂÌØÂ@åÙÂÀˆÞÂ`QÕÂÀ¾Õ€^Ë€“× ÁÒÂà_Ý XÙÂÀ¬ØÂäÔ€þÚÂ@PÝ jÖÂà›Ó€ØÂ ÏÚ ØÂ µÔÂ@Ñ€:ÑÂà ÖÂàÔÂà×Âàƒ× ™ãÂÀóá€æÞ ‘ÚÂ@ÓÜÂà0ÐÂ@˜Ñ€4ÒÂ`oÐÂ@÷ÖÂ`WÔ ØÂ`¤Ü ‚Ò ŒÆÂà‰Ö ™ãÂ`ß ‹ÛÂ`9ÙÂàqÚÂIÙ ÞâÂ`cÒÂà¡ÒÂ`¶ÙÂ`æÑ ÏÂ`ìÐÂÀ Ú äáÂàqÚÂU× sßÂ@zÖÂàØÂ7ÜÂ@\Û ÙÂÀîÍÂ`QÕÂÀŽÝ (á€EäÂÀ;ÖÂ@»à€QâÂÀÉè€uÜÂàúØÂÀÏçÂ`8îÂ@çÂàMà uéÂà/åÂà‚ìÂ@ÀôÂ@ÞïÂÀÏçÂ`ýâÂ`Çë äáÂïçÂ ÆæÂ€’ìÂÀ.íÂ@£ä€!ê€-èÂ䀪èÂ@gî ‡æÂ@µáÂ@»àÂ~åÂàMà€ÔáÂÀ4ìÂÀj〞ê åÂ`€â Cç …ÜÂÀçãÂÀ¦Ù€ÖÂ`â iëÂÀ4ì€àßÂàÖÞÂ@êÂ@öëÂÀpâÂÀÛåÂ`Ùè .à (áÂ%ßÂàÐ߀{ÛÂéè øèÂÀdäÂ ÆæÂ@ å€]à€òÜ€ÚàÂxæÂ`êÂÀÿßÂÀ¦ÙÂ@ÁßÂ ÆæÂàêÂ@,ãÂÀ#Ú€™ÖÂàÜÝ€iÞÂ@\ÛÂ`tä€WáÂà¬åÂÀçãÂ@8áÂ@bÚÂ`3ÚÂà)æÂxæÂ@JÞÂ`ªÛÂ@µá £×€¤é€«ÓÂOØÂ` á€ÚÂÀÛåÂà)æÂ@zÖ äá€Èã ½ÝÂ@PÝÂ%ßÂÀRçÂÀÄԢ߀KãÂÀÛ ÉÛÂÀ¦ÙÂ`ëå€à߀{ÛÂàÜÝÂ@8áÂâÂÀ½ê€iÞÂà¡ÒÂ ÛØÂÀ‚ßÂàîÚÂ`!ÝÂÀ”ÜÂ`°Ú€c߀ÚàÂÆÙÂ+Þ€þÚÂ`ýâ ¥áÂàeÜÂ@ÍÝ "âÂ`žÝÂ`ÔÔÂÀ¬ØÂÀšÛ ÉÛÂ@ÇÞÂ@JÞÂ@&äÂÀ5×€4ÒÂÌØÂ`ÚÓÂÀšÛ ÏÚ€iÞ€òÜ »Ó JÑÂsÒÂ`™ÉÂàÓÂÀeÏ LÛ —ÙÂ`ÈÖÂ%ßÂÀGÔÂÀMÓÂ`àÒÂ`Â×ÂÀ”ÜÂà6ÏÂyÑ ^ØÂÀ²× ½ÝÂà Ö £×Â@’Ò€oÝÂ`àÒÂàÕÂOØÂàÕÂ`æÑÂ@˜ÑÂ@åÙÂàèÛ »Ó 8Ô jÖÂÀ;ÖÂ@†Ô DÒ ‘Ú ˆÑÂÀ5×Â`€âÂ`E×ÂÀ)ÙÂ@8áÂ`˜ÞÂÀ#Ú€ÖÂ@žÐ€4ÒÂ@VÜÂmÓÂaÕÂsÒ ÛÂà<΀^Ë >ÓÂ`ÎÕÂÒ× @ÝÂCÚÂÀèÎÂmÓÂà§Ñ ÜÂÀGÔ ÇÑÂÀÄÔ JÑÂàÅÌÂÀ²× vÔÂ`QÕ ÛÂÀMÓÂ`‡ÌÂ@!РÏ€ÚÂà§ÑÂØÖÂ@t׺ÛÂÀwÌÂЀL΀×»ÆÂÌÂ`Â×€þÚÂ`ÍÂÌÂ@zÖÂ7ÜÂàÜÝÂÀèÎÂÀ_ÐÂÒ×Â@Ò€{Û ¦ÌÂà­ÐÂÒ×Â@Ò JÑÂ@ëØÂ ÏÂàeÜÂÀ¾ÕÂà$ÒÂ`?ØÂ >ÓÂ`àÒ ÁÒ šÎ€4Ò ÝÂ`'ÜÂÀ5× ˆÑ ÕÙÂ`Œà ÒÂ`ÊÂÀôÌ€LΠ>Ó ÁÒÂÀ_ÐÂÀ_ÐÂà‰ÖÂÀÄÔÂÀSÒÂ`iÑ€ØÂ`òÏÂà×Â`°ÚÂ@€Õ€^ËÂà³ÏÂIÙÂ`ÞÂàwÙÂ@¤Ï€“×Âà§ÑÂ@hÙÂÀ•Ç ”ÏÂ@¤Ï .àÂÀ)ÙÂÐÂàÜÝÂÀjãÂ@ýÕÂ@˜ÑÂ@ýÕ ¦ÌÂ@'ÏÂÀèÎÂ@ßÚ€òÜÂà× á×€ØÂ@ÙÛÂÀAÕÂ`ÎÕÂÀ‚ßÂ@¤ÏÂÀ_Р5ÊÂÀYÑ ÕÙÂÀ;Ö #ÍÂ`þÍÂÀÐÒÂà×ÂÀ)Ù ‘Ú  ÑÂà­ÐÂ`]ÓÂ`Â× ÎÂ`ÔÔÂàÓÂU×Â@ýÕÂÀ)ÙÂÀGÔÂ@ñ×Â`Â× ÏÚÂ`àÂ@†ÔÂ7ÜÂ`’ßÂ@˜ÑÂàËË€uÜÂ`°ÚÂàƒ×‘ÍÂ@Ò &×ÂàúØÂ€uÜÂ`òÏÂàúØÂüÐÂ`߀þÚÂyÑÂIÙÂ`]ÓÂ@ÙÛÂ`žÝÂ@ëØÂà<ÎÂ`9ÙÂàÓÂÀèÎÂÀeÏ€(ÔÂ@bÚ íÕ ½ÝÂà  ÑÂàÓÂ`E×Âà0Ѐ]à ,ÖÂ@ŒÓÂÀ ÞÂÀÜ vÔÂ@ªÎÂÀôÌÂU×ÂРšÎ€áÊ ÒÂ…ÏÂàúØÂ€(Ô€ÖÂ`QÕÂàZÉ€íÈÂÐÂ`oР‹ÛÂ`Þ ÓÏÂÀAÕÂêÓ 〷ÑÂ`ìÐÂà6ÏÂÌØÂ ,Ö vÔ€Ú šÎÂàwÙÂ@ÈÉÂà*ÑÂ`°ÚÂà¡ÒÂ@\Û &× ÉÛÂÀ¸Ö€×Â+ÞÂ@hÙ€dÊÂÀƒÊ >Ó€ØÂ@†ÔÂ@!ÐÂ@†Ô‹ÎÂ+ÞÂÀYÑÂ@zÖ€×ÂàeÜÂÀÐÒÂà³Ï JÑ€×Â ÛØÂ@JÞ€ ÙÂ`bçÂàèÛ ÜÂà Ö€‡Ù€.Ó€þÚÂOØÂÀYÑ ©ÖÂÞÕ sßÂÀdä€ÖÂÀÐÒ€þÚÂaÕ ‹ÛÂÀMÓÂ`9Ù ØÂêÓÂ@ÑÂ[ÖÂ@¤ÏÂà›ÓÂ@ÙÛÂà³Ï ÍÐÂüÐÂ@ŒÓÂÀÊÓÂÀîÍÂÀ²×Â`KÖÂÀÚ€ØÂ@Ò XÙ€ŸÕÂàúØÂÀ²×ÂÀ§Ä ¸ÉÂà0ÐÂ@÷ÖÂ`iÑ £×Â΀Ö á×ÂàNËÂ@ÒÂ`†áÂÀAÕÂ`iÑ #ÍÂ`.ÆÂ@]ÆÂÀîÍÂà‰Ö vÔÂ@!РVÏ …ÜÂ@'ÏÂ[Ö ØÂ€.Ó PÐÂà6ÏÂ`àÒÂà0ÐÂÀ5×Â@ÙÛÂÀ ÚÂà_ÝÂÌØÂ`ªÛÂÀŽÝ ÙÂà›ÓÂ`æÑÂÀSÒÂ`ÍÂ`WÔÂ@žÐÂÀGÔÂà`È ùÓÂ`æÑ &×€‡Ù AÈÂÀÚ€«ÓÂÀÐÒ \ÎÂ…ÏÂ`øÎ€4ÒÂÀ²×ÂÐÂ@\ÛÂ@\Û ÁÒÂ@¤Ï ”ÏÂÀYÑÂ`Í€ÉÎÂà0ÐÂ@åÙÂ`E×Â@'ÏÂ@†ÔÂ`cÒÂ`ÈÖÂ@QÈÂ@øÁ ‘ÚÂ@!Р2ÕÂ@ªÎÂ`‡ÌÂàÕÂÀîÍ‹ÎÂÀMÓ zÉÂ`cÒ »Ó LÛÂàAâÂÀôÌÂ@˜ÑÂ`ÔÔÂöÑÂÀ}ËÂØÖÂРpÕÂÀ5×Â@ýÕ »ÓÂÀÖÑÂ@˜ÑÂÀôÌ  ÑÂ`:ÄÂ`¼ØÂ@ÓÜ jÖÂàØÂàÅÌ€:Ñ üÝÂÀ_ÐÂ`ÀFÏ á× ‘ÚÂ`ÍÂ`uÏÂàúØÂ€¥Ô á×Âà0ÐÂ`Í€·ÑÂÀ¦Ù AÈÂ@bÚ€ØÂ LÛ ÐÂà6ÏÂà6Ï€ÏÍÂ@hÙ |ÓÂ`ÎÕ€{ÛÂà‰Ö€ÃÏÂ@ ÔÂ`3ÚÂ`øÎÂ@ÚÆÂJÄÂ@¼ËÂÌØÂ`cÒÂÀ¸ÖÂà§ÑÂÀeÏÂ@ÙÛÂÀ5× ¯Õ€±ÒÂ@˜Ñ€(Ô óÔÂР|ÓÂ@zÖ€ØÂ …Ü DÒÂÀ‰ÉÂà­ÐÂÀîÍÂ@3ÍÂÀGÔ VÏÂÀ}ËÂÀAÕÂÀeÏÂà6ÏÂà¿Í ÒÂ@ÕÂ@åÙ€"ÕÂ`iÑÂÀ¬ØÂ`àÂá &׋ÎÂÀ/ØÂà¡ÒÂà‰ÖÂÀËÂ@ÈÉÂÀqÍ€@РnË 2ÕÂ@ÚÆÂ`WÔÂöÑÂaÕ ŽÐÂ`F ÓÏÂ`òÏÂ@Ò 2ÕÂÀGÔ€·ÑÂ@ÕÂ@ÂÊ ÎÂ`ÚÓ€«ÓÂ`ÉÂ`E× hÌÂÀ)Ù€×ÂÀÜРVÏÂ@€Õ€ØÂ@÷ÖÂ`àÒÂ@JÞÂöÑÂâ öÞÂ`¥ÇÂ@t×ÂÀ²×Âà§ÑÂÞÕÂÌØÂØÖÂà*Ñ€áÊÂ`E×ÂáÂÀYÑ€íÈÂ@ÕÂ`¶ÙÂaÕÂÎÂ@]ÆÂ` ÌÂ`˜Þ VÏÂ@ÈÉÂ ÊÆÂ@˜ÑÂà Ö …ÜÂ`ªÛÂðÒÂÀŽÝ ØÂ€ØÂ`ËÂ`°ÚÂ`cÒÂ`Ë ”ÏÂäÔ ©Ö ÚÂ`ÔÔÂàØÂ€ØÂ íÕµÇÂ[Ö€ÅÂüРd×ÂÀ¾ÕÂOØÂàÕ€™Ö€øÛ óÔ ÙÂ@bÚµÇÂÀYÑÂCÚ ,Ö€ØÂ€@ÐÂÀ¸ÖÂ`QÕ \΀ùÆÂÀôÌÂ`¼ØÂ`KÖÂà›ÓÂÞÕ€×Â@€ÕÂ@t×Â`Â×€½Ð´Ü ±ß€iÞÂaÕÂ`¼ØÂ 8Ô LÛÂÀ Þ€×Â`€âÂ=ÛÂÀ;ÖÂ…Ï zÉ€@ÐÂÀ)Ù€ŸÕÂ`uÏ »Ó ßÍ ¬Ë€L΀pÈÂÁÅ £×ÂàØÂ€.ÓÂ@9Ì »ÓÂà¡Ò€ÚÂ`ÍÂÀÜРŽÐÂà‰ÖÂ`ÎÕÂÀAÕ ˆÑ vÔÂ@˜Ñ µÔ VÏÂ@-ÎÂ@!ÐÂ@ÈÉ €È /Ë€¥ÔÂÍ€™Ö óÔ ^ØÂÀÚÂÀ5×Â@bÚÂ@åÙÂÞÕÂà0ÐÂ`æÑÂ`øÎ ¯ÕÂÐÂà<ÎÂ`â€ÚÂàúØÂ@¶Ì µÔ€‡ÙÂU×ÂsÒÂÀ/ØÂ`cÒÂ@ßÚÂyÑÂÀÐÒ màÂ@ŒÓÂà­Ð ÇÑÂÀÄÔÂÀYÑÂmÓ ßÍÂäÔÂÀAÕ ŽÐ ¯ÕÂÀ ÚÂ`'ÜÂ@\ÛÂyÑÂsÒ€FÏÂàHÌ /ËÂÀAÕÂàqÚ Ù€·Ñ ¯ÕÂ@ÕÂ@ÂÊ€.Ó€òÜÂ`ÚÓÂIÙÂà›ÓÂ`òÏ pÕÂàÕ ¯ÕÂà•ÔÂ`WÔÂÀÐÒ |ÓÂ`ÚÓÂÒ×Â@ÒÂ@˜ÑÂ@ÁßÂmÓ 2Õ ÕÙÂ`ÚÓ€ÃÏ ÙÂ@†Ô ãÂ`ÈÖ€™ÖÂ1ÝÂ`uÏÂ@ýÕÂÀYÑÂÀ‰ÉÂÌÂÌØÂÀSÒÂÀSÒÂ@ÓÂ@!ÐÂ@hÙÂÀ¦Ù íÕÂà}ØÂÀÚÂ@°ÍÂà¡ÒÂàÝÈ€ØÂÀÊÓÂ@zÖ €È ÕÙÂÀeÏÂ@åÙÂ=ÛÂÀGÔÂ`òÏÂà*ÑÂà¹Î©É ÙÎÂàƒ×€ ÙÂyÑÂU×  Ñ á× ˆÑ 4ßÂ`E× ÄÂàÓ ÇÑÂsÒ VÏÂaÕÂyÑ€FÏÂÀÖÑ  Í PР¯ÕÂ&ÊÂ@ÈÉ ŽÐÂÀ¬ØÂ@ñ×Âà_ÝÂ@VÜ ùÓ çÖÂà‰Ö ‘ÚÂ@¤ÏÂà¡ÒÂà§ÑÂàwÙÂmÓÂÐÂÀîÍ€±Ò€pÈ ”ÏÂ&ÊÂ@°ÍÂà}ØÂ ØÂ€(ÔÂà ÖÂðÒÂ`E× óԋ΀"ÕÂÀAÕ—Ì ЀRÍÂÀèÎÂàÑÊ |ÓÂà•ÔÂäÔÂà6ÏÂÀÄÔÂàãÇÂ`Â×ÂU× \ÎÂÀ)ÙÂ`3ÚÂÀ‚ßÂ`]ÓÂ`àÒ  ÑÂÀÊÓ€½ÐÂ`ÔÔÂ@ÕÂðÒ µÔÂÒ× 8Ô€É΀«Ó ÓÏÂ@EÊÂ`iÑ _À@Рd×Â@ëØÂ[ÖÂÀîÍÂ`QÕÂÀèÎÂÀ/ØÂ Ù€™Ö »ÓÂ`-ÛÂÀÖÑÂðÒÂ@åÙÂÀeÏÂàÕÂ@'ÏÂ`KÖÂ`iÑÂ@÷ÖÂÀ¬ØÂ@ýÕÂ`oÐÂ`ÎÕ€4ÒÂ`ÎÕ ;ÉÂàâÜÂsÒÂÌÂ`uÏÂ ÛØÂ`WÔÂ`uÏÂ@˜Ñ€ÖÂÀMÓ d×€ÚÂðÒ —Ù£ÊÂ`ŸÈ »Ó ÇÑÂÀAÕÂà­Ð ©ÖÂ@†ÔÂ`ÈÖ ËÂ@nØÂàîÚ€‡ÙÂ`3ÚÂÀÄÔ€¥Ô€ìÝÂ`ÎÕÂÀÜР/ËÂÀôÌÂ=Û€.ÓÂ@†ÔÂ1ÝÂÀRç€L΀áÊÂöÑÂÀ É ÛÂàÓÂàÓÂÀÈÂ@-ÎÂàãÇÂ@ÕÂÀAÕÂà›ÓÂÐÂ[ÖÂ`oÐÂÒ×ÂÀÇÂ`{Π@ÝÂÀÈÂÀÊÓÂà‰ÖÂÀâÏÂgÔÂàúØÂðÒÂà§Ñ .àÂmÓÂ`æÑÂÀYÑ ÐÂà›Ó |ÓÂ`iÑÂÐÂ`ÚÓÂàkÛÂàZÉ€pÈ )ÌÂ`cÒ íÕ€ÖÂÀˆÞ ^ØÂ`oÐÂ@’ÒÂ`(ÇÂÀYÑ íÕÂÀYÑ ¾ÈÂÀîÍÂ@ªÎÂ@'ÏÂÀôÌ€@ÐÂ@'ÏÂàÕÂÞÕÂà0РÒÂ`E× ÏÚ€áÊ >ÓÂ@Ñ Ý —ÙÂÀ;ÖÂ@†ÔÂàÔ DÒÂU×Â@¼Ë ÃÜÂàZÉ 2ÕÂ`WÔÂÎÂ@åÙÂ@!Р^ØÂÀGÔ ÿÒÂÀ¾ÕÂ`uÏÂ@åÙÂà§ÑÂÀÐÒÂ@!ÐÂÀôÌÂ@€Õ »ÓÂ`ÉÂÍ PÐÂÀ#ÚÂ`òÏÂà}ØÂàlÆÂàÕÂmÓÂIÙÂ@\Û  ÑÂ`ìÐÂyÑÂ@¼ËÂ@ŒÓ ÉÛ¯ÈÂ@ÕÂÀÄÔÂ@žÐ >Ó ÙÎÂà›ÓÂ=Û DÒ€ ÙÂàÕÂ@-Π Ñ€·ÑÂ2ÈÂà­Ð vÔÂàãÇÂ`ÊÂÀeÏ á×ÂÀ_ÐÂàÝÈÂ`™É ùÓÂà›Ó€«Ó ÐÂ`WÔÂ`{ÎÂØÖ çÖÂ@ªÎÂÀqÍ€ÃÏ€ØÂÀÜÐÂÀwÌ€ÏÍÂÀYÑ‹ÎÂ[Ö JÑÂ@Ó€(ÔÂ`KÖ€ØÂ ßÍÂ`Â×€·Ñ ÙÂ@Õ )ÌÂÀÐÒ€ÏÍÂàNË vÔ€ÉÎÂ@¶ÌÂ@t×Â@ëØÂ@˜Ñ ¾ÈÂÀ/ØÂ`oЗÌÂÀGÔÂ`øÎÂÀ¾Õ€ØÂ@žÐ€±ÒÂmÓ JÑÂ`ÈÖÂÀ¸ÖÂ`¶ÙÂàBÍÂyÑÂÀôÌ€½Ð€É΀:ÑÂØÖÂàÓÂà×Âà›ÓÂÆÙÂà$ÒÂ@zÖÂÀ)Ù ‹ÛÂÀôÌÂ`cÒÂ`WÔ€ÉÎÂÀƒÊÂÀAÕÂÐÂÀ Þ ëËÂ`òÏ€ŸÕÂÆÙ ßÍÂ@ÂÊ€¥ÔÂàwÙÂ`(ÇÂ@ýÕÂ@EÊÂ`QÕÂÀ¸ÖÂàƒ×ÂËÂ`"ÈÂ@ÂÊ hÌ€× ÎÂÀ¾Õ ÖÄ€áÊÂÀîÍ šÎÂ`ÍÂ@3Í /ËÂÎÂ`KÖ JÑ ÁÒ€¥ÔÂ`ìÐÂà×ÂÀ)Ù€:ÑÂ@?ËÂ@QÈÂ@Õ VÏÂ@€ÕÂÀYÑÂ`QÕÂÀAÕÂ>ÆÂà­ÐÂ…Ï—Ì |Ó€ÃÏ  ÑÂ@†Ô ΀RÍÂÀwÌ€ÛËÂäÔ jÖ ÁÒÂ`àÒ DÒÂ`ìÐÂÀAÕÂàÕÂ ÛØÂà¡ÒÂ@'ÏÂ@!Ѐ™Ö ùÓ Ï VÏÂöÑ€×Â@ñ×Â`ÍÂà¹Î hÌ ¯Õ€‡ÙÂà§ÑÂ@°ÍÂ,É€(ÔÂÀÛÂ@\Û ØÂ FÜ £×Â@zÖ€:ÑÂÀÐÒ€ŸÕÂäÔ€×Â@ÙÛÂ`ÈÖÂÀAÕÂÀèÎÂ@¤ÏÂÆÙ &×€™ÖÂÀÖÑ DÒÂ@?ËÂà Ö€uÜÂ@!ÐÂÀóáÂ@€Õ€±Ò€·Ñ MÆÂà ÖÂØÖ ©ÖÂ@Ñ€þÚ 8ÔÂ`àÒÂ@?ËÂË ½ÝÂ`3ÚÂÀSÒÂ ÛØÂ ùÓ ÇÑÂàqÚÂ@ÕÂÀÜРµÔÂ`WÔ £×ÂäÔÂ@°ÍÂ@3Í€ÉÎÂà­ÐÂÀèΠÁÒÂ`oРÙ΀FÏÂà}ØÂ ÝÂ@˜ÑÂàfÇ€dÊ ÈÂ`Â×€"ÕÂaÕÂ`'ÜÂsÒÂ`ÔÔÂ@nØÂ`°Ú€“×€ØÂ@zÖÂÀ#Ú€.ÓÂ@-ΠØÂ@¤ÏÂ`cÒÂÀÚÂà×Âà ÖÂ`WÔ€ ÙÂ@ŒÓÂ@Ó á×€ÚÂàËËÂ`]Ó &× JÑÂ`žÝ‹Î€ ÙÂ`øÎ€"ÕÂ@÷ÖÂ`?ØÂ@nØÂ ÐÂÀ)Ù€ ÙÂ`WÔºÛÂ@åÙÂÀqÍÂÀÛÂ@Ñ »ÓÂyÑÂ@ŒÓ ©ÖÂ@÷Ö€{ÛÂàÂÀ¸Ö ÓÏ ØÂàwÙÂÀAÕÂ@ÑÂàeÜÂÀÿß Ý ÏÚÂ`-ÛÂ`9ÙÂàÜÝÂ`¼ØÂ |Ó€“×ÂgÔÂêÓ yÞÂ`ÚÓÂÌØÂ ØÂ€‡ÙÂ@ÇÞÂÀÿ߀™Ö d× ÇÑÂ@†ÔÂÀ¸ÖÂ@˜ÑÂsÒ óÔÂàèÛÂ@žÐ€™Ö¨Þ€{ÛÂöÑÂÀÝÂöÑÂà*ÑÂà0ÐÂÌØÂ@'ÏÂà}ØÂÀùàÂÀšÛÂyÑÂÀŽÝ€:Ñ ÉÛ ÚÂ`à ØÂ€@ÐÂ`¼ØÂ`KÖ€±Ò ÕÙÂ@¯âÂà_ÝÂÀ¬ØÂ€Ö€«ÓÂ@t×ÂàÐ߀ ÙÂ=Û ÉÛÂÆÙÂÀYÑ jÖ JÑÂ`ŒàÂÀ ÞÂàÕ€øÛ€oÝ€·ÑÂ@ßÚ€Ö êà LÛ ^ØÂ7ÜÂ@'ÏÂ@Ò€ìÝ´Ü vÔ‘ÍÂ@†Ô€{ÛÂ@JÞÂ@žÐÂ@Ò 8ÔºÛÂ@÷ÖÂà³ÏÂà•ÔÂà*Ñ€“×Â@2âÂ@hÙÂäÔÂ@VÜÂmÓÂÀ¸ÖÂÀÜ #Í ¥áÂ@>àÂ@>à€É΀«Ó€"ÕÂ@ßÚ Ò ÐÂÀÚÂÀÛÂ@t× ÐÂÀ²×€¥Ô PРÚÂ`ÈÖÂà¡ÒÂIÙÂÀÝÂÀ#ÚÂäÂ ÛØÂà§ÑÂÀâÏ nËÂäÔÂ`þÍÂÌÂÀÊÂ=ÛÂ[Ö óÔÂ…ÏÂàÕÂ@¶ÌÂ@ÑÂ`ßÂà‰ÖÂÀÐÒÂÀÄÔÂÀ;ÖÂÀ¬ØÂ ¯ÕÂäÔÂ`ªÛÂÀˆÞÂ ÛØÂà_Ý ÕÙÂ`¼ØÂ «àÂ`Œà "â ´éÂ`žÝÂàèÛ màÂáÂ@8á mà ã€"Õ d× ‹Û€uÜ€øÛ .àÂÀÿß ÉÛ FÜ FÜ êàÂÀÕæÂ Oå€iÞÂÀváÂàÂ`ÈÖ ‘ÚÂàÕ–áÂÀùà çÂ`ÞÂ@üê¢ßÂÀváÂ`÷ã ãÂÀ|à€òÜÂõæÂ ã ã€KãÂ`9Ù XÙ 4ß Ôî Òä màÂÀÏçÂ`‘ôƒùÂ`êÂÀÉèÂ`÷ãÂ@¯âÂà)æÂ`ŒàÂÒ×Â~å oê êàÂ`àÂÀdäÂ@>àÂÀ@ê€\õÂÀdä€ÔáÂÀóáÂà5ä€ÂäÂ`Pê CçÂÀvá€cßÂ`8îÂàÄá U䀞êÂ` áÂ`hæÂ  æÂËíÂÀLèÂ@&äÂ`ßç ÒäÂ`ÙèÂàì çÂ`tä å€3çÂ@æÂâÂ@JÞÂ@8áÂà çÂÀ¥îÂÀ4ì æë„äÂÀÿßÂàMà€Èã .à€WáÂ@£äÂ`à ÀçÂ`ÓéÂÀßÂ`’ߠïÂ`\èÂÀ4ìÂ@ÀôÂ`óÂ@ÞïÂ@ 値éÂàÜÝÂ`Þ€3çÂÀ ÞÂ`ªÛÂ`ëåÂ`hæÂ d×Âà;ã€Eä€oÝÂÀ ÚÂà²äÂÀ4ìÂ`ÁìÂÀò€ÂäÂàGá 7é Èð€’쀘ëÂ`bçÂ`täÂ+ÞÂ`nåÂáÂÀôÂ×ëÂÆÙÂÀáäœàÂ@…é Ü€KãÂÀíâÂ@—æÂâÂ`ñä ±ßÂÀÏç yÞÂà‰Ö€uÜÂ`Ùè€hóÂÀ(î "â¢ßÂ@èÂÀ:ëÂ`âÂ@8áÂÀ)ÙÂ`¤ÜÂà5äÂàéÂ@©ãÂ`ýâÂ`åæÂ  æÂ€¼åÂÀßÂÀóáÂÀÚÂ@ÙÛÂà¾â€ìÝ€ÚÂÀç〰çÂõæÂ êà€Kã€íÂõæÂ@DßÂà#瀤éÂ`Œà€òÜÂà#ç ÌåÂ ÆæÂÀÕæÂ sßÂÀíâÂà}ØÂ@ÙÛÂà_Ý ìêÂàèÛ …ÜÂÀóáÂ@ñ×Â`žÝ€cßÂ@©ã màÂrç gá€Qâ çÂ`Áì ã€Âä ]íÂ`PêÂà¦æÂ`ÞÂ`ýâÂ`åæÂä åÂÀŽÝ =è gáÂõæÂ€Qâ äá KðÂÀ“ñÂ`ëå€!êÂàwÙ å .àÂÀFé êà êà€ÚàÂ`ÁìÂ@åÂ`ñä äáÂÀÏç€!ꀶæÂàvî ìê «à€×€ÈãÂ@éÂ`åæÂà5äÂ`†áÂÌØÂàeÜÂàÄáÂ~åÂêÓ OåÂÀÃéÂ`nåÂ`täÂûå ŸâÂ`ªÛÂ@ëØÂ ÉÛ ÉÛ IæÂ =è€Ôá´Ü€?åÂ`!ÝÂÀÛÂ ÛØÂxæÂ@£äÂÀ Ú ÕÙÂËíÂ@ å ·Þ€ªèÂÀíâ ã ÃÜ [ãÂ`Vé€æÞ€þÚ€ÚÂàwÙÂÀXæÂ`ëå Ìå ÒäÂ@8áÂ@ßÚÂ`WÔÂ@2â€þÚÂØÖ FÜ øèÂà¬åÂ`-Û€æÞÂàÐßÂ@\ÛÂàâÜÂ@çÂ@ëØÂàYÞÂàÓÂ@£äÂÀ^å ðÂ`ëåÂ` ဤéÂ`>í “äÂ`Â×Â`-ÛÂàYÞÂÀíâ€ìÝÂ`ŒàÂ`'ÜÂàMàÂåÂ@©ã€Âäœà€Âä´ÜÂà ÖÂÀùàÂ`Dì =èÂmÓÂ@ëØÂàÂ@¯âÂÀÛÂâ¨Þ€˜ëÂÀšÛÂ`€âÂ`hæÂ€ÂäÂ@€ÕÂÀÄÔ€]à RÚ µÔ€(Ô ÞâÂÀùà€òÜ åÌÂÀÐÒÂà²ä–áÂ@è Ý «à€òÜ ùÓÂmÓ€ÚÂÀÜ [ãÂàeÜÂà/åÂ` áÂä 4ß êàÂÀ#Ú€±Ò€oÝÂ@µá ,Ö€Qâ€þÚÂÀÝ ÚÂàÂÀ Ú¨Þ "‼堣׀ØÂ @ÝÂàeÜÂ@ÍÝ–áÂ`-Û¢ßÂ@ŒÓÂIÙÂ@ëØÂ@!РRÚ ,ÖÂ`ýâÂ`ŒàÂÀùà€(Ô —ÙÂ@2â€ìÝ Ý ÜÂà …Ü€“×Â[ÖÂ@ßÚÂOØÂ ¥áÂà_Ý€ ÙÂ`ýâÂ`žÝ€"Õ pÕÂ`KÖ —ÙÂ@€Õ€cßÂ`€âÂ`ŒàÂ@ÙÛ XÙ äáÂCÚ€ìÝ [ãÂÀ)Ù ùÓÂàîÚ ØÂ€Ôá üÝÂÍ ˆÑ€iÞ LÛÂàîÚÂÀ_РöÞ FÜ ˆÑÂÀ Ú€ÚÂ@2â€]àÂïçÂ@2âÂà×€¥Ô€ÛË€™ÖÂ`!ÝÂ=ÛÂÀÿß Øã ÃÜÂÀpâÂ@ßÚÂÀÚÂ@bÚ€oÝ öÞÂ[Ö µÔÂ@ÁßÂ`]Ó 2ÕÂà}ØÂ &×Â@÷Ö jÖÂ`iÑÂÀ¸ÖÂÀÚÂàÖÞÂ`àÂÀÜÂ`ÞÂàÖÞ ÒäÂÀÝ ‚Ò ðß çÂÀRçÂ@æÂÀóáÂyÑÂÀˆÞÂà•Ô€±ÒÂÀMÓ á×€ÚÂÀ¦Ù€(ÔÂàAâÂà_ÝÂIÙ :ÞÂÀ4ì ÏÚÂ`¤Ü gáÂ@ñ×€]àÂÀ#Ú ¥á —ÙÂá ºèÂàâÜÂ@\ÛÂàÂ@©ã RÚÂ`tä ™ã íÂ+ÞÂ` áÂÀ ÚÂÀÛÂà/åÂ@2 ٠4ßÂ@ å ®êÂ@ÁßÂ@2â ±ßÂ@ÙÛÂàÜÝÂãéÂ@2âÂ@ÇÞÂ@µá–á€cßÂ@yë€ÔáÂàÖÞ€ŸÕÂ%ßÂà#çÂ@çÂ@ åÂàGáÂÀ ÚÂ`zãÂà_ÝÂ`9ÙÂà¦æÂà/åÂà¾âÂ`ÍêÂà5äÂå ºè–áÂIÙÂ@£äÂ@ åÂÀˆÞÂ`ñä ØãÂ`ëå øèÂ~å ‘ÚÂ`VéÂà;ãÂ@üêÂ~å€?å€ î „ñ oê çÂàpï ÀçÂà ëÂà‰ÖÂÀ^åÂ@…é¨ÞÂ` áÂ`hæÂ`Vé€?åÂÀFéÂÀáä€òÜ ué {èÂäÂ@èÂ@éÂà|í€ë€KãÂàì€Ôá ®êÂà¦æÂ ÞâÂ@»àÂ@©ãÂ`DìÂàS߀àßÂà¾âÂÀ^åÂà²ä€3çÂ`z〤é ã .à ®êÂ`PêÂ@ßÚÂÀÝÂÀYÑÂÀ5׊ã Ìå€Wá€iÞÂÀvá€(Ô ä Uä aâÂà”éÂ~åÂ@‹èÂãé€÷ðÂ@‹è€'éÂà¾â màÂÀ Ú€cß ºèÂ`âÂ@JÞÂà¸ãÂ`ßÂ`-Û çÂåÂéèÂ`VéÂ`DìÂ@ðì€uÜÂ`'Ü€ì€ÎâÂ`hæÂ`ŒàÂäÂ@æÂ Ú€àßÂ`’ßÂ`bçÂÀòÂ`ßçÂ@ýÕÂ`àÂÀíâ®ÝÂàGáÂ@Ió€ý堥ဘ련렮êÂ`¤Ü ÞâÂÀçã€uÜ aâÂÀíâÂ`†áÂ~åÂ`÷ãÂ`ÓéÂ`Â×ÂÀŽÝ€cßÂà¾âÂ`†áÂàSßÂÀ ÞÂÀšÛÂàMàÂ@¯â€¼åÂ`àÂ@VÜÂ@ñ×Â@ÓÜÂ@æÂ`†á„ä WîÂÀXæÂ ºè ½ÝÂÀ¸ÖÂyÑÂ`ÞÂ`PêÂ@>àÂ`nåÂàèÂ`åæÂ`ÙèÂ@,〘ëÂÀ"ïÂÀóáÂ@µáÂ@µá [ãÂàêÂàˆëÂàMàÂ@&äÂ`àÂ`†áÂ@ßÚ„äÂÀváÂÀ²×ÂÀXæÂÀíâÂ@VÜÂ`-ÛÂÀÉè Oå  æÂÀß´ÜÂ`âÂÀ”ÜÂÀÏç–áÂ ÛØÂàÄá€ÔáÂÀÛ üÝÂ@bÚ€uÜ€°çÂàèÛÂ`žÝÂOØÂ€ØÂ®ÝÂåÂàîÚÂ`3Ú ä€ÔáÂà¾â€Eä€]à¨ÞÂ@2âÂ`ªÛÂÀíâÂÀíâÂàYÞÂ@¯â€iÞÂàèÛÂ=ÛÂ`žÝœàÂÀùà OåÂÀXæÂ` áÂÀÛ€oÝÂÀÃé ÏÚÂ`†á€ÔáÂÀÿ߮ݠØÂÀ”ÜÂàÜÝÂàîÚÂ@ÇÞÂ`àÂàâÜÂÀèΠã´Ü„äÂ`à ÉÛÂ@>à CçÂ`žÝÂ@D߀ÈãÂ`˜Þ ÉÛ€ØÂ@Áß «àÂ[Ö .àÂàšèÂÀçãÂ`ýâ äá€ØÂÀÝÂÀŽÝÂàqÚÂàîÚÂÀpâÂàeÜÂ ٠gáÂ@ÓÜÂÀóá€æÞÂâÂöÑ ãÂØÖÂÀ Ú ±ßÂÀ‚ßÂàMàÂéèÂ`’ß åÂÀÃé Ù …Ü äá êà€9æÂ sßÂÀ#ÚÂ@ÍÝÂ@ÇÞ€(Ô XÙ màÂ@ÓÜÂåÂà€øÛ ´é màÂ`!ÝÂ@\ÛÂàèÛÂÀÿßÂàÓÂ@8áÂ@‘çÂ`€âÂ`Â×ÂàîÚÂà;ã´ÜÂà¦æÂ êà€¼åÂ`täÂÀÉèºÛÂ×ëÂÀjã =è€ÂäÂàÊà€]àÂ@£äÂà¦æÂ`Óé aâÂ@ðìÂ@åÂàèÂàì àì§ó€ëÂ@Oò€’ìÂ`Óé€-èÂÀÿß òÂËí ]íÂàšè€zðÂ`óÂ`ò äá€3ç ìêÂõÂàéÂ@öëÂÀ@ê€ññÂNíÂ`ÁìÂàRô {èÂ@[ðÂ`,ð€ îÂ@öëÂÀæøÂ ªõÂÀÚúÂ`>íÂ$ôÂÀ4ìÂ@Ió€bôÂàêÂÀ™ðÂ@®÷§óÂ@œú 'öÂöÂàÿìÂ`÷Â`‘ôÂ`Uþ EñÂà4ùÂÀÈý „ñÂ@œú€Óö ýüÂ`—ó€ÓöÂ@¢ù Ôî °ôÂ@Æó€nòÂ@Àô€ŒíÂÀ óÂ@ü Ñù €üÂàùíÂà(ûÂÀ™ðÂ`÷ÂŒÃÀÔûÂ`…öÂàÛòÂà·øÂà:øÂ€ëò€ýïÂ@ºõ ÈðÂ@ÀôÂàÛòÂÀo÷ÂàÕó€,ÃÀiøÂà|íÂ`¯ï ËúÂ` ò àì Eñ ñÂùÂúÂðÀà?òÂ`[à fö °ôÂMÃÐrÃ`ü÷ ãöÂÀàùÂP4Ã@üÂÀKýÂ@üÂÀ?ÿ€ßôÂ@–û°ÃÃ@~Ã`Ìÿ€JøÂ@ à˜øÂ@þÂà“Ã@ÌòÂà™ÃÐãÃàÕö€&Ã@„þÂ`—ó€&À\õÂÀiøÂà(û ¨ëÂàdñÂ`êú€ ÿ°$ð›ÀµûÂ`Þü 9óÂ`êúÂÀ>úÂ0]ÀÓö€tñÂ@®÷ÂÀiøÂ`yøÂà«ú 3ôÂ6ñÂ@ ÃàLõÂÀÔûÂpÃÀ?ÿÂ`>í Œú€ßô€ÁùÂ`äû Eñ€\õ rôÂ`ÞüÂÀKýÂ@%ùÂÀøõÂ`÷ xóÂ`÷ 3ô ¶óÂ@úÂÀæøÂÀøõÂÀÚúÂ@ÒñÂ@=õ€bô 3ôÂ`…ö€Óö€Óö éõÂàÉõÂ`‘ôÂà±ùÂàjð€£þÂ@UñÂkýÂÀÃéÂ@êíÂàFö ué õó€hóÂ÷Â@IóÂ`,ð ¤öÂ`£ñ ~òÂàìÂ€ÇøÂ ñÂ@ºõ€ññÂ@‘ç€ýïÂ÷€ýïÂà‚ì %ìÂÀàùÂ`,ð€†îÂ0ò€€ïÂ@ÀôÂ`÷Â`€âÂÀÉèÂ`‘ô€åó Eñ rô ñÂ`â³ñ øÂÀÈýÂàÕóÂ`µîÂàóîÂàèÂ`VéÂàšèÂ@ðì ªõ¡ôÂÀ"ïÂàìÂ`PêÂàdñÂ@gîÂ÷ ÔîÂ@Uñ ]퀌íÂ@OòÂ@ å€nòÂàvî Úí ïôÂÀWûÂÀ ó œí ÌåÂàšèÂ`ê +ë –î ®ê ï€†î Ôî€-èÂ`ëåÂÀRçÂ@…é cìÂàšè€!êÂÀpâ ç ÝÂ@êíÂàì ºè€'éÂÀ±ìÂÀ4ìÂ@—æÂ`Áì ÚíÂféÂ`hæÂ òéÂÀñ ~ò ~ò€ î ¢ìÂà¦æÂ€Ôá gá =è ç€Qâ€ï ÚíÂÀ½ê€¼åÂ@VÜ õó€ëò€÷ðÂ@JÞÂäÂ@åÂ`DìÂéèÂÀÿßÂõæÂ@öë ´éÂ@nØÂ uéÂ@öëÂ@2âÂ@üêÂ@&äÂ1ÝÂàšèÂÀ½êÂ`ÙèÂÑì€iÞ€’ìÂÀÃéÂ}úÂ@ê¨ÞÂÀXæÂ £×ÂÀpâ gáÂàÄá€KãÂ@\ÛÂ`’ßÂ@£äÂ@—æÂ¢ßÂ@míÂÀFéÂàÿìÂÀ”ÜÂà¸ã€-耰çÂÀçã€EäÂÀóáÂ@—æÂ` á 4߀ÂäÂÀ^åÂÀdä æëÂ@»àÂံæÂ ‹Û ãÂ`ÙèÂ@\ÛÂà¦æÂ`âÂ@VÜÂ`‘ôÂlèÂÀ@êÂàâÜ ±ßÂà/åÂ@êÂ@2â€Èã€Èã ìê€ìÂÀ@ê€?åÂ~åÂ@ÇÞ yÞÂÀpâÂ`zãÂ`ÙèÂàˆëÂÀRçÂ@êÂ`ýâ oêÂ`†áÂâÂ@&äÂ` á€Qâ€9æÂ€-èºÛ Òä &×Â@¯âÂÀÕæÂÀçãÂ`ªÛÂÀRçÂá€EäÂ`ýâÂ@>àÂ@ÇÞÂàúØÂÀFéÂÀùà€ï îÂÀLèÂà ç€°çÂ@2âÂÀpâÂÀÕæÂÀšÛ€žê %ìÂ@å€]àÂàÊàÂÀÉèÂÀ4ìÂ`ŒàÂá„äÂ@ å “äÂ@>àÂ`€â€3ç€ìÝÂ+ÞÂ`Œà êàÂà¦æÂ màÂÀŸï þçÂÀçãÂ[ÖÂ`-ÛÂàôÙÂà_Ý 㠅ܨÞÂÀ:ë€KãÂ`KÖ ™ãÂà/å —ÙÂÀóá ìêÂ@2â€ÈãÂ@©ãÂ@Á߀¼åÂà)æÂ@åÂÀß 4ßÂ%ß ·Þ ]íÂÀpâÂ@>à€Q ï€cßÂ@»àÂ`ŒàÂ`J뀘ë {èÂà5äÂàùí ã þç ~ò ðÂ×ë€Úà€Úà àìÂà¬å€'递ìÂà‚ì .àÂâÂà ØãÂ`êÂ@èÂrçÂàšèÂõæÂ%ßÂÀ™ð å Ìå òÂÀá䀰çÂ×ëÂHîÂÀðÂ@êÂ`ÙèÂ`hæÂàÄá å Àç€ýïÂàˆë€ëÂ`ßç äÂ@—æÂàA․éÂ`nåÂÀÉèÂ@üêÂ`VéÂ@yëÂ`ñäœà ÕÙÂ@çÂ`ò ûò€ÔဤéÂÀÕæÂ`ëåÂàé ]íÂéè„äÂ`hæÂ Oå oêÂÀ¥îÂàAâÂÀRçÂ`ê Cç Þ‪èÂàùí xóÂ@ꀒìÂÀ^åÂàGá LÛÂÀ‚ßÂåÂ@åÂà¸ãÂ@míÂÀíâ åÂãé ÒäÂ`ÍêÂ`†áÂàdñÂ`»í ´é€iÞÂ@>àÂfé .àÂá —ÙÂ`žÝ .àÂ`êÂ`8îÂ6ñ€zðÂ@è {èÂà)æÂ@¯âÂÀáäÂ@\Û€QâÂà “äÂ=Û “äÂàùíÂxæÂ ÒäÂàâÜÂÀjãÂà²äÂàèÂ`êÂ`2ïÂà¾âÂàîÚÂÀóáÂÀÏçÂÀ#ÚÂ@>àÂ`ýâÂ`°ÚÂàƒ×Â@,㠽ݠÜÂàØÂ Oå€WáÂxæÂ€ÚàÂ`3ÚÂ`¶Ù RÚÂàÜÝÂàSßÂÀ4ì€WáÂ`!ÝÂäÂà;ã€þÚÂ@ÁßÂ`Pê þçÂõæÂÀ¬ØÂ`WÔ€¼åÂ@,ãÂ`’ßÂ`nåÂ@ åÂU×ÂÀXæÂ`¶ÙÂ`!ÝÂà;ãÂÀpâÂà5ä€9æÂÀ^å€ÚàÂÀFé€uÜ RÚ€òÜ€¶æÂÀù࠱ߠÛ ØãÂàÊàÂäÂ@2â sß øèÂ@,ã€KãÂÒ×ÂÀíâÂà•ÔÂ`òÏÂà¾âÂâÂÀ«íÂ`°ÚÂÀÿß åÂà_ÝÂÀ¸ÖÂ`à®ÝÂàqÚ 1êÂ`€âÂ`ëåÂÀíâÂ@»àÂ@†ÔÂÀçã s߀]àÂàwÙ sßÂàSßÂÀÝÂÀÜÂ@&ä ÝÂàèÛÂÀ¬ØÂ@‘çÂÀ:ëÂÀÝÂ ÛØÂÀ)ÙÂÀóá€iÞÂ1ÝÂÀóáÂ~åÂ@>àÂ`à ãÂÀíâÂ@»àÂÀYÑ á×ÂáÂÀŽÝ€iÞÂOØÂÐÂà‰Ö ÜÂ@ÒÂàYÞÂ+Þ€Îâ „ñÂÀèÎÂ`?ØÂ€þÚÂ@ åÂÀ/ØÂ@ÇÞÂÀíâ ·Þ€Ú &×Â@PÝÂÀ|à öÞÂ`¼ØÂ€æÞÂ@¯â€þÚÂ@Áß ´é ØÂ€iÞ aâÂÀ^åÂÀ|àÂá„äÂÀjãÂ`àÂàeÜ–á ÉÛÂ@£äÂàêÂ`†áÂ@>à 4ßÂ@&ä "â€ØÂÀ^åÂ=ÛÂ` áÂ@ÁßÂàôÙÂÀšÛÂIÙ€¼åÂ%ßÂÀóá¢ß€ÚàÂÀŽÝÂ`ÈÖÂ`PêÂ@»à  æÂÀÛå µÔÂüÐÂ7ÜÂ@ëØÂàGáÂ@µáÂÀ”ÜÂÀ·ë€cßÂ`nåÂ@©ãÂ@hÙ ‹ÛÂÀvá FÜÂ@åÙÂà_Ý€uÜÂà_ÝÂ@VÜ [ãÂ`µîÂà¬å€cßÂ@ÙÛ¨ÞÂÀ¾ÕÂ@JÞÂrçÂàèÛÂ@ßÚ Ý «àÂÀ Ú ÌåÂ`Â×ÂàSß cìÂ`bçÂ@¯â€Wá€WáÂ@VÜÂ`-ÛÂàYÞÂà¬åÂàÐßÂàMàÂÀváÂàÄáÂ`\èÂ`Œà sß +ëÂ`zã€ëÂ+Þ€EäÂ@Áß ÏÚÂ`!ÝÂ@[ð {è€ÎâÂ@bÚÂÀváÂ7Ü …Ü€]àÂ`à üÝÂÀ¸ÖÂÀÚ´ÜÂ`-ÛÂÀÜ€oÝ€-èÂàÄáÂ`åæÂàîÚ äá€3çÂCÚÂ7Ü€3çÂàGáÂ`àÂÀÏçÂ`tä ï æë€˜ëÂ@VÜÂ@åÙ„ä€cßÂ@bÚÂà×€"ÕÂ`ÞÂØÖ Ý @ÝÂÀ|àÂàÊà ãÂàkÛÂ@¯â€‡Ù€æÞÂ@‘砱ߊ㠷ހWáÂÀóáÂ`täÂ`ß砽ݠFÜ pÕÂÀÜ€cßÂ`zãÂä ‘ÚÂ@ßÚÂàÐß ‹Û€oÝ€c߀àßÂàÖÞ “äÂÀLèÂ`ÓéÂÀ½êÂ@D߀(Ô @ÝÂà/åÂ`¶Ù€˜ëÂ`†á ‡æÂ …ÜÂ`E× öÞ ðßÂ`’ßÂäÔ ØÂÀ^å 4ßÂ@ÇÞ ðßÂ`’ß ØÂ ãÂ`3Ú ÚÂrçÂ`\è€ÈãÂ`˜Þ€“×Âà¾âÂàÊàÂ@ÇÞ ÛÂà”é€ÚàÂá iëÂàÕÂ+ÞÂ@8áÂàÖÞ yÞÂ`¼ØÂ µÔ€Qâ€æÞÂ@Áß®ÝÂÀváÂÀÉè «àÂ`˜ÞÂ@æÂCÚÂ@VÜÂ@÷ÖÂÀŽÝÂ@2âÂ`-ÛÂàÄáÂ@bÚÂàØÂà­ÐÂÀèÎÂ`E×Â@JÞÂ`’ßÂ`Â× ÛÂ@÷ÖÂàqÚ ðßÂÀÛÂàÊàÂ@nØÂêÓÂÀ)Ù “äÂ@çÂ`ëåÂ@°ÍÂ=ÛÂÀ¦ÙÂàYÞÂâÂÀ5×Â`ÔÔÂ@,ãÂÀ Ú€"Õ üÝÂÀÚÂ@µáÂ`ÞÂ+ÞÂà_Ý€{ÛÂ`ÚÓÂà‰Ö€ØÂ µÔ€.ÓÂsÒÂàôÙÂà•ÔÂà*ÑÂ@bÚÂÀ²× 2ÕÂ@ëØÂ £× Ù€"Õ€æÞ€±Ò bÍÂ%ß Ú€ÖÂàØÂ€cß ðß´ÜÂ`žÝ€àß ‚Ò çÖ€ØÂ@åÂÀdä —ÙÂ`ÔÔÂ`ßÂÀß ÉÛÂ@ëØÂà­ÐÂ@PÝÂ`°Ú€oÝÂàÜÝÂ@»àÂàGá  ÑÂàwÙÂÀÚ€ØÂ€ Ù€"ÕÂÀ Ú€æÞÂ+Þ ÍРÍÐÂ`øÎ€øÛ gá :Þ€æÞÂ ÆæÂ€ØÂðÒ  ÍÂÀSÒÂàÕÂàâÜ€XÌÂÀ¦ÙÂ+Þ :ÞÂàÕ £× ÝÂ@ñ×ÂÀvá€{ÛÂäÔ€uÜ ØÂ`˜ÞÂà›ÓÂÀâÏ ÌåÂ@»àÂÀ¬ØÂ`?ØÂ`iÑÂ`E×Â…Ï ÏÚÂ@¯âÂ@ßÚÂ@†Ô€ìÝ XÙ ‚ÒÂ`ÚÓ DÒÂ@åÙÂ`¶ÙÂÀváÂ`¼ØÂ€øÛ &×Â`ÔÔÂ`¤ÜÂ+Þ ãÂ@ýÕÂ`Ùè LÛ ùÓ —ÙÂáÂ`ÚÓÂaÕ€‡Ù€Qâ€ÚÂ ÛØÂ´ÜÂÀŽÝÂàúØÂÀ)Ù ‘Ú @Ý VÏÂÀÄÔÂÀˆÞÂÀ/ØÂÀÚÂàÜÝ€]à gá€oÝÂ@†ÔÂ@ßÚÂäÔÂÀÐÒ€XÌÂ@ÓÜ ™ãÂàúØÂ@t×ÂØÖ€“×Â@žÐÂ@€Õ ÉÛ ÉÛÂ@\ÛÂ@ñ×Âà$ÒÂÒ×€“×€"Õ€(Ô µÔÂ@ÓÜ µÔÂ`¶Ù  ÑÂ@nØÂà$ÒÂ[Ö &×ÂàîÚ€ìÝÂàËËÂ`æÑÂ@nØÂÀ¦Ù®Ý€øÛ ;ÉÂ`oÐÂÀ Ú ¯Õ€ØÂ@ñ×Â=Û€× ÛÂàHÌÂ`cÒÂ@ÓÜÂÀùà —Ù »ÓÂÀáäÂàMàœàÂ@†Ô —ÙÂaÕÂ`WÔ ÜÂÀ)ÙÂàAâ —ÙÂ@nØÂ á×ÂàYÞÂà_ÝÂ`E×Âà§ÑÂ`ªÛ ÚÂÀ Ú ^ØÂ —ÙÂ@ßÚ€‡Ù€øÛÂ@’ÒÂÀ¬ØÂ€¥ÔÂ@åÙÂ`žÝ€QâÂ@>àÂ@ ÔÂ`ëå€ÚàÂ%ßÂÀ²×Â@ÓÂÀ¸ÖÂàeÜÂàeÜÂÀ¬ØÂ€{Û —ÙÂ@ëØÂ`-Û€FÏÂàÕÂ`9Ù¢ßÂðÒ€¥Ô€ØÂ Ú€‡ÙÂ~åÂÀ;Ö XÙÂàYÞ :ÞÂ`cÒÂÀÛåÂ@&äÂ`9ÙÂ+ÞÂ`ÓéÂ`?ØÂàwÙÂ`°Ú yÞ ^ØÂ=ÛÂÀÝÂÀÛÂ`'ÜÂ ÛØÂ óÔ Ý öÞ &×ÂU×ÂÀeÏÂ@ÕÂÀ#Ú€Úà€ÚÂÒ×Â`ÔÔÂÀ)Ù ØãÂÀÜ &×Â`Â×€ØÂàÕÂ`QÕÂÀ/ØÂ ‘Ú´ÜÂ`¼ØÂ üÝÂ`zãÂ@PÝÂàÜÝÂÀMÓÂ`Þ€Úà ±ßÂ`’ß vÔºÛÂÀSÒÂÀÄÔÂà5ä  æÂ@ñ×ÂÀŽÝ€oÝ 2Õ´ÜŠãÂ@ßÚÂ@ßÚ€òÜÂ@ëØÂ€ØÂ`E×€‡Ù bÍÂ` ÌÂàqÚÂêÓÂÀßÂ@ÍÝÂaÕœà€æÞÂ1ÝÂÀÄÔÂàèÛÂ@8ဟÕÂðÒ ÏÂàÕ ã ØãÂ@¯âÂU×Â@€ÕÂÀ#Ú€.Ó FÜÂOØÂÀ Ú€Ö ÿÒ€"ÕÂÌØÂ ·ÞÂOØÂÀ5×Â@t×Â`É íÕÂ@\ÛÂ`¶ÙÂ1ÝÂÀ¸ÖÂ`KÖÂÆÙÂÀ›ÆÂÀÊÂCÚ€¥Ô€QâÂÒ×Â`òÏÂÀ¸Ö á×ÂÀÊÓ [ãÂÀRçÂ`¼ØÂàÓÂàîÚÂà‰ÖÂ`ÔÔÂ@€ÕÂÀÄÔ ¯ÕÂàÓÂàqÚÂðÒ ßÍÂ@ñ×Â@]ÆÂ |Ó @ÝÂÒ× ùÓ á×Â` áÂ@°Í€×ÂÀ)ÙÂÀ‚ßÂÒ×Â@†ÔÂ@ Ô ¯ÕºÛ€øÛÂÀ¸ÖÂ@ñ×ÂàôÙ ÝÂÞÕÂà×Â@€Õ gá€ÏÍÂÀeÏÂÀÄÔÂ`-Û SÅÂÀ²×Â@Ñ 2Õ€oÝÂ@ýÕ€™ÖÂ@'ÏÂÀúË ùÓ µÔÂ@VÜÂÀßÂà¡ÒÂà‰ÖÂ`WÔÂÏÂ@ Ô XÙ€™ÖÂÀeÏÂ@ßÚ€±ÒÂ`¶ÙÂ@>àÂÀ/ØÂÀÊÓÂ@¤ÏÂ@Áß ÏÂ@zÖ€Ú ,Ö JÑ€ÛËÂ@£äÂ@ Ô€dÊÂà§ÑÂ@ÔÇÂàÕÂ@ ÔÂÐÂà­ÐÂÀ”ÜÂàwÙÂ@¤ÏÂàÑÊÂÀÜÐÂ`-ÛÂ@†Ô ÍÐÂà¿ÍÂ@ åÂÀ¸Ö &×Â`-Û sßÂÀSÒ€·Ñ µÔÂÀ_ÐÂ@Õ ÒÂ@†ÔÂÀÛ 5Ê d×€«Ó ùÓÂ`ÔÔ€ÕÌÂà•ÔÂ@ÈÉÂÌØÂ@ýÕÂÆÙÂÀÊÓÂ`¶ÙÂÀváÂOØÂ€¥Ô #ÍÂ`¼ØÂà}ØÂ`˜ÞÂgÔÂÀYÑÂ`¼ØÂ`ÈÖ ÛÂà­Ð ¬Ë ½Ý ©ÖÂ@ÕÂà§ÑÂÀÊÓÂ`KÖÂyÑ´ÜÂàYÞÂ…ÏÂU×Â`!ÝÂàqÚÂ`E×Â@°ÍÂ@&äÂ@t×€‡Ù€øÛÂ`-ÛÂàÕÂ`E×ÂàYÞÂÀÜ ÜÂàwÙ ^ØÂ`ªÛÂàÕÂà}ØÂÇÄÂ@€ÕÂâÂüÐÂmÓÂgÔ ¯ÕÂÀ¦ÙÂâ ÉÛ ÿÒ Ü aâÂyÑÂàÔÂ`KÖÂ+ÞÂ`ªÛÂ=ÛÂ`àÒÂ`˜Þ€.ÓÂà×Â`˜Þ€×ÂÀ#ÚÂÀÜ€·ÑÂà*ÑÂ`oÐÂ`æÑ ˆÑ€ÚºÛ€“׺ۀàßÂ@€ÕÂ@ÕÂ`àÒÂàwÙÂàúØÂ@ÓÜ´ÜÂÀ‰ÉÂâÂaÕ ÕÙÂà¬å ÕÙ€LÎÂ`täÂ`ßÂ@©ã LÛÂÀáäÂ`à XÙÂ@©ãÂàeÜÂàÄá ܨÞÂ@µá€ØÂàèÛÂ@€ÕÂ@8áÂà²äÂ`†áÂ@»à sß gá€ÎâÂ`zã IæÂÀÛåÂxæÂ :ÞÂ@ÍÝÂÀ”ÜÂ1ÝÂÀdäÂ@Áß ¥áÂàRôÂàjðÂ`ªÛ€÷ð„äÂCÚÂÀÕæÂ`˜Þ øè ÜÂÀváÂàŽêÂ`ŒàÂÀŽÝ màÂ@êÂ`’ß´ÜÂàGáÂ`åæÂ€ÂäÂ`Œà öÞÂ@>àÂ%ß ÛÂ@JÞ€QâÂ`-Û …ÜÂlè€KãÂâÂÀ«íÂ@ ÔÂ%߀]àÂØÖÂ@ÓÜÂ`ýâÂÀváÂà çÂ`¤ÜÂÀ@êÂ`’ßÂ`€âÂ`\èÂ@hÙÂà€QâÂ`hæÂÀˆÞÂ`°Ú aâ yÞ€ìÝÂ`ßÂ`3Ú ÜÂ@»àÂÀÚÂ@>àÂ@ÁßÂ`¶ÙÂÀ¦Ù®ÝÂ`’ßÂ%ß Ü [ãÂà¸ã€°ç Û€oÝÂÀjãÂà¬åÂà¬åÂ@PÝ LÛÂ@t×Âà²ä€æÞ 4ßÂÀÉèÂÀváÂ`˜ÞÂ@ÇÞÂàÂ@êíÂ@©ãÂ@>à€iÞÂ`’ßÂàÖÞÂ`ýâÂ`?ØÂ@åÙœàÂÀ/ØÂ€3ç€cߖ᠙〶æÂàSß ÜÂ@2â (áÂÀ/ØÂ Ý€ ÙÂÆÙ€9æÂ€°çÂ[ÖºÛÂ@÷Ö  Ñ :Þ Ÿâ€ÚàÂà ç ÃÜ€Qâ ¯Õ ‘Ú gáÂ`zãÂ@t×Âlè€Ö ½ÝÂlèÂ`€â ºè€uÜ€ÎâÂ@hÙÂ`˜ÞÂ`JëÂ1ÝÂàÂûåÂ`nå€oÝÂ@êÂÀóဠـ{ÛÂ@æÂ üÝ ÝÂ@>àÂÀÛå ië€QâÂ@Áß öÞÂà_Ý€iÞÂÀYÑÂ@æÂÀ߀Kã åÂÀ½êÂÀáäÂ`‘ëÂ`z〠îÂà‚ìÂ`Ùè IæÂ IæÂ@ê ãÂ`\èÂ@äî +ëÂÀ(îÂ@ÒñÂ`\è +ëÂ`˜Þ Ü€òÜÂ`ëå  æÂÀÛåÂ`êÂ`¤ÜÂàGá€ØÂ@ÍÝ äáÂÀpâÂ`àÂÀ”ÜÂà¾â€ÎâÂÀŽÝÂ@>à RÚÂÀÿ߮ݠåÂÀ/ØÂàÜÝÂà¾âÂÀÚ LÛÂäÂÀAÕ€iÞÂÀÿ߀iÞ€ìÝÂ@ÇÞÂÀˆÞ á× sßÂÀŽÝ ½Ý IæÂ@,ãÂ@DßÂ@VÜÂÀ|àÂÀ ÚÂÀ^åÂÀÝ€ìÝÂ`'ÜÂ@PÝÂàSßÂ`-ÛÂ7ÜÂ@¤Ï ÕÙ Øã€ìÝÂ@»àÂÀÜÂÀÝ ãÂÀÚ€Ú ^ØÂ@ßÚ XÙÂÆÙÂ`ßÂÀíâ€ØÂ äáÂÀ|àÂ`E×Â@ÍÝÂðÒ LÛ êàÂ@»àÂ@\Û FÜ€ØÂyÑ€!ê€9æÂ`-Û ÁÒÂÀ¦ÙÂ`-ÛÂÀ/ØÂ`ªÛ Û€{ÛÂ@PÝ Ù —ÙÂà_Ý€øÛÂ@Áß ©Ö€øÛÂÀÊÓÂ@Áß 2Õ ¯ÕÂàkÛ ÕÙÂ`-ÛÂÀYÑÂÀóá€×Â@÷ÖÂÀÊÓÂU× &×Â`‡ÌÂ@'Ï PÐÂàÖÞÂ@åÙÂÀeÏ€uÜÂ@ÓÜÂsÒ€·ÑÂÀYÑ€™ÖÂÀeÏÂ@ÕÂÀÊÂàèÛÂaÕÂ@žÐ íÕÂ`ÔÔ LÛ€ÚÂ`àÂ`¼ØÂ@nØÂ€ìÝ€‡ÙÂ@-ΠLÛ€æÞÂÀváÂØÖ jÖÂàkÛ XÙÂüЀ‡Ù L۠܀iÞÂ`àÒ€.Ó€Ú öÞÂ`žÝ€ØÂ€×Â7ÜÂà#ç "âÂ@†Ô€øÛÂ@nØÂ€cßÂ@ÙÛÂ`QÕ íÕ€(ÔœàÂ`ªÛ€‡Ù€uÜÂÀÿßÂ`KÖÂÀMÓ 2ÕÂ@ªÎÂÀSÒ aâÂ@¯âÂÀçãŠãÂàÿìÂà²äÂÀÛå .à€iÞÂËíÂrçÂ`ªÛÂûåÂÀ^åÂ@yë€WáÂÀùàÂà²ä ´éÂ`â ðß ®ê àìÂ@8áÂ@—æÂ@¯âÂ`†á  æÂàÐߢßÂ`QÕÂÀˆÞ€æÞ ™ãÂ@µáÂâÂ@JÞ€]àÂÌØÂÀ”ÜÂ`€âÂÀLè ç màœàÂÀpâÂ`¤ÜÂ`†áÂ@&äÂ`bçÂféÂTì {èÂ@—æÂ€cߺÛÂ@ÓÜÂÀFéœàÂ`àÂ@ýÕ ØãÂà¾âÂ@ åÂÀÕæÂ ·ÞÂ@£ä€øÛÂÀváÂÀÏç oê IæÂ öÞÂ@VÜ€cß ½ÝÂ@ŒÓÂàâÜ€]àÂÀpâ ÛÂ@Ñ´ÜÂÀÛ êàÂ`ªÛ RÚÂ`ñäÂÀÃé Uä€cßÂÀÝÂàÅÌÂ@ŒÓÂàÕÂ`E×Â`'Ü ^ØÂ¢ßÂ@9ÌÂ@÷Ö€EäÂÀ²×Â@ñ×Â@nØÂàÕÂ`Œà€þÚÂÀÖÑÂ`E×Â@Dß ØÂÀ¬ØÂCÚ€¥ÔÂàBÍÂàqÚÂàƒ× ÛÂCÚ ÿÒ€uÜÂCÚÂ`’ß öÞÂ`¶ÙÂ[ÖÂäÔÂ`{ÎÂâÂØÖÂÀ;ÖÂ`ÔÔÂ`?ØÂ€«Ó€ØÂ (áÂ1Ý ©Ö ÏÚÂÀGÔÂà•ÔÂà}ØÂðÒ ÉÛ PЀ±ÒÂ`æÑÂàkÛ€¥ÔÂ@ÎÈ€×Â[Ö PРÁÒÂàØÂ@t×€«Ó ÕÙ jÖ £×€ŸÕÂàÓÂÀ É ¯ÕÂgÔÂ@Ó üÝ Ò íÕÂ@ÒÂàØÂà§Ñ€ ÙÂ@ÇÞÂÀ”Ü ÙÎÂ@˜ÑÂàÕÂ@ªÎÂäÔ€ŸÕÂØÖÂÀeÏ XÙ @ÝÂÆÙÂà­Ð ÚÂÀè΀ÏÍ \ÎÂ`òÏÂ`cÒÂaÕÂ@ Ô €È RÚ ÚÂà›ÓÂË€(ÔÂ@ÕÂÀeÏÂÏ —ÙÂà¿ÍÂ@÷ÖÂÀSÒ€ÏÍÂÀ_ÐÂÀYÑÂ`‡ÌÂêÓÂ@˜Ñ óÔÂà ÖÂ@ÈÉÂ@]ÆÂàxÄÂà¹ÎÂ`{ΠÛÂ@˜ÑÂÀSÒÂÀMÓ ÈÂ@’Ò :ÞÂ[Ö #ÍÂàÅÌÂ`™ÉÂÀÊ Ò Ï ÕÙÂÍ ùÓÂ@oÃÂ`ËÂ@ ÔÂÌØÂ |ÓÂ`cÒÂà§ÑÂÀËÂàTÊÂàØÂÀÚ |Ó hÌ »ÓÂÀ¸Ö€ØÂ€(ÔÂà Ö€LÎÂ`iÑÂÞÕÂàÕÂ`ìРvÔ€×Âà›ÓÂàƒ× DÒ‹ÎÂ@†Ô £×Â`?ØÂ 8ÔÂ@°ÍÂ`cÒÂàÐß ÁÒ \ÎÂ@ŒÓ ,Ö€iÞ vÔÂ@PÝ€@ÐÂà6Ï€RÍÂ`3ÚÂÀkÎÂàBÍÂsÒ )Ì€:Ñ€FÏÂ`cÒ Π8Ô€:Ñ€ÉΠ²Ê€½Ð jÖÂ`9ÙÂ`9Ù€ Ù ÚÂ@¶ÌÂðÒ 2ÕÂÀôÌÂ`E×€:ÑÂÀ5×ÂmÓ AÈÂÀ}Ë bÍÂÀ;Ö ÇÑÂ`ÎÕ€ ÙÂÀ)ÙÂà›Ó€RÍ€çÉÂyÑÂàËËÂàÓÂÀ‚ßÂ`cÒ \ÎÂÀGÔ€:Ñ€ÉÎÂ&ÊÂà¿ÍÂÀGÔ )ÌÂÀ_РÏÂÀMÓ šÎÂË€FÏ€"ÕÂà×ÂÀMÓ€ÉÎÂ@VÜÂ`þÍÂÀÐÒÂ`þÍÂ`¤ÜÂ@ëØÂ€×Â`cÒÂÀôÌÂ@t×ÂÀ›ÆÂ€4ÒÂà0ÐÂà}ØÂ`òÏÂaÕ€ÏÍÂÀ_ÐÂÆÙ€]àÂàfÇÂà¿ÍÂÀÖÑÂÀAÕÂäÔÂà‰ÖÂ`KÖÂ@’ÒÂ`¶Ù€KãÂ@t×ÂÏÂ@\ÛÂ`¶ÙÂÀ¾Õ £×Â@ÓÂà0ÐÂäÔ ÏÂà›Ó 8ÔÂ@?ËÂU×ÂäÔÂOØÂ@ Ô€ ÙÂ`WÔ |ÓÂ`]ÓÂÀkÎÂ…ÏÂàôÙÂàMà€cß ¯Õ ùÓÂÀ¸ÖÂ@ßÚÂ ÛØÂÀ#ÚÂ@åÙÂÀËÂ`oÐÂ[Ö  ÑÂÀqÍÂ@ªÎÂêÓÂ@zÖ &× …Ü ÚÂàƒ×ÂàwÙ€WáÂ`ÔÔÂÀ/ØÂÀeÏ šÎÂàÕÂàÕÂ`Â× Ú´Ü &×Âà)æÂðÒÂ@!ЀçÉ€ˆÄ€pÈÂ`cÒ #Í nËÂÀË€ØÂ ¯ÕÂà¹Î€ØÂàúØÂ ÉÛÂ`ÚÓ€@ÐÂà›ÓÂ@'ÏÂÀÐÒÂ`]ÓÂüР|ÓÂÀ;ÖÂàèÛ€ØÂ PÐÂÀMÓÂÀGÔÂ`oÐÂU×€"ÕÂà<ÎÂ`]ÓÂüÐÂ`KÖ€þÚÂÀ”ÜÂÎÂ`uÏ ÎÂsÒÂÀ¬ØÂ ¯Õ ˆÑ  Ñ ùÓ€±ÒÂ@9ÌÂàËËÂàÕÂ`Ë >ÓÂ@\ÛÂÀMÓÂ@’ÒÂÀèÎÂà‰Ö šÎÂà•ÔÂ`9ÙÂà›ÓÂ`ÈÖ óÔÂà}ØÂ 8Ô ÷ÉÂ`WÔÂàƒ×ÂÀ¬ØÂ`cÒÂ@ªÎÂàØÂÀ;ÖÂ@€Õ€ÃÏÂÀôÌÂêÓÂÍ ùÓ€‡Ù€ŸÕÂyÑ a‥ÔÂ@’ÒÂÀƒÊ µÔÂà$Ò ^ØÂ`¼ØÂàwÙÂ`ìРˆÑºÛÂ`{ÎÂà0РÁÒ ÓÏ vÔÂ@¤ÏÂ@bÚÂ`ÈÖ€ŸÕÂ@ŒÓÂ@ÑÂÀSÒÂ@QÈÂÀ¸ÖÂÀ#Ú ÁÒ XÙ ÎÂ`ÚÓ 8Ô µÔ FÜÂ@ªÎÂ@3ÍÂÀúËÂàHÌ€“×€ØÂ`3Ú ÏÚÂ7ÜÂ@ªÎÂ@ҋΠ‚Ò€ØÂ@-ÎÂ@t× íÕ DÒ  ÍÂ@ÓÂÞÕÂÀÐÒ JÑÂàÔÂ@†Ô€:ÑÂàƒ×ÂÀYÑÂÀ5×ÂÀ)ÙÂ`øÎÂÀÖÑÂ@ÓÂ`ìР¦ÌÂ`cÒÂÐÂ@°Í€(ÔÂ`3ÚÂÀÛÂàèÛ »Ó€XÌÂ[ÖÂÀYÑ DÒÂ`âÂ@¤ÏÂ@nØÂÀ_РñÊÂ`iÑÂ@ßÚÂmÓÂ@EÊÂ@’Ò€(Ô ÏÂ@’ÒÂ@ Ô -Á ÐÂÀˆÞÂ@€ÕÂàÔÂ@€Õ ÎÂÀeÏÂÀMÓ ˆÑ ˆÑÂàÅÌÂ@ÑÂà­ÐÂÀÐÒÂ`]Ó #ÍÂÀeÏÂ@ ÔÂÀ¾Õ€RÍÂ…ÏÂ@ªÎÂÀMÓÂgÔ AÈ ;É€·ÑÂËÂ@'ÏÂêÓ€áÊÂÀÚÂà‰ÖÂ`¥ÇÂÓ óÔÂ`¶ÙÂÀ¾ÕÂÎÂÀÈ ÇÑ DÒÂüЀ±Ò€ˆÄÂÐÂà<ÎÂÀÄÔÂ`E×Â@ÈÉÂ`"ÈÂ`¥ÇÂ@ÒÂ@ŒÓÂ` ÌÂ@žÐÂ`ÎÕÂàÓÂ`uÏÂ@ÒÂÀ|àÂ`òÏÂà0ÐÂÀÜРµÔ€ÏÍÂàÅÌÂsÒÂ`òÏ€ÖÂà$ÒÂÎÂaÕÂ@EÊÂOØÂüÐÂÀqÍ ßÍÂ`«ÆÂà6ÏÂÀkÎÂÀYÑ DÒÂàúØÂ åÌ ÏÂàÂàúØÂàHÌ€ÛËÂ@’ÒÂ`™É ÇÑ€Ö XÙÂÀMÓ  ÍÂà<ΠDÒ€ØÂ@ñ×ÂÀÜÐÂ`ËÂ@÷ÖÂ@˜Ñ »ÓÂÀ²×Â@ŒÓÂ@ªÎ ùÓ€½Ð çÖÂ@ÒÂ`™ÉÂÀYÑ€íÈÂÀYÑÂ`oРëËÂ`Ë ÚºÛ ÍР¦ÌÂäÔÂ@?ËÂ`ÚÓ jÖÂ@†Ô 8ÔÂÀÄÔ€@ÐÂàÔÂ@˜Ñ ¦ÌÂÀ}ËÂ@¼ËÂàeÜ€ØÂ ¯ÕÂÀGÔÂðÒÂÀ¾Õ€.ÓÂ`E×ÂÒ×ÂΠ©ÖÂ@ Ô RÚÂ@ÕÂà*ÑÂ@bÚÂà­ÐÂ@†ÔÂà×ÂØÖ€Ú€½ÐÂgÔ€XÌÂsÒ íÕÂà•ÔÂÀeÏ€"ÕÂÀ)ÙÂÀGÔ Ü´ÜÂà³ÏÂ[ÖÂ@ýÕ 5ÊÂU×€íÈÂ@ Ô€(Ô >ÓÂÀ¬ØÂàqÚÂÀÛÂ@÷ÖÂ@ÓÜÂ`uÏ€ÃÏ€iÞ ÝÂà›ÓÂêÓ 8ÔÂðÒ GÇÂ`òÏ€× FÜÂ…ÏÂàTÊÂ@ÑÂÀ_ÐÂÀ;Ö nË bÍ vÔ€ÖÂÀ²×Â`‡ÌÂàNËÂ@t×Âà¡ÒÂÀ}ËÂà Ö€×Âà6ÏÂ@!ЀùÆÂ`“ʯÈÂàÔ &×€FÏ »ÓÂÀùà bÍÂЀ¥ÔÂÏ ‚ÒÂ@†Ô sßÂaÕÂ@÷ÖÂàÕÂ`E×Â`¼ØÂ€:ё̀·Ñ »ÓÂÀôÌ VÏÂ`˜ÞÂÀGÔÂ`ìЀXÌ€ Ù ‹ÛÂàfÇ ¯ÕÂ`ìÐÂ@€ÕÂ@€Õ€Ú€‡Ù ‚Ò€ÉÎÂà$ÒÂðÒ ^ØÂ@€ÕÂ`9Ù \ÎÂÀ­ÃÂÀYÑÂàBÍÂÀÄÔ ÁÒÂÀ²× ÓÏ DÒ€ ÙÂ ÛØÂ VÏÂ@˜ÑÂÀ¾Õ ÿÒ ÐÂÞÕÂ`ÊÂ@KÉÂà×ÂÀYÑ ‚Ò ÓÏ jÖÂÆÙ ¬ËÂÀ_ÐÂ`æÑÂà•Ô ØÂ ÐÂ`™ÉÂÀkÎÂÀ¾ÕÂ`ÔÔÂ@DßÂêÓ »Ó bÍ€·ÑÂ@’Ò€ìÝÂ@hÙ ˆÑÂ@÷ÖÂ@nØÂ€ÉÎÂÀ|àÂÀ|àÂ`˜ÞÂ@t×ÂU×ÂÀ ÚÂ@†ÔÂÀAÕÂðÒÂ`'Ü€ØÂà•ÔÂÀGÔÂÀÛ€ØÂ ©ÖÂàÔÂÀSÒÂÀÜ ¥á bÍÂÀ)Ù€ØÂ ÕÙÂ`†áÂàMàÂsÒÂà×€ÃÏÂ`3Ú ÕÙÂÀÛ Ü äá 8ÔÂöÑ jÖÂ@t×ÂêÓÂÀÐÒÂ`øÎ Û´ÜÂ`ÈÖÂmÓÂàÕÂ@©ãÂàâÜÂ`ÞÂÀ¸ÖÂÎÂ`¼ØÂêÓÂmÓÂÀwÌ€ØÂ`?ØÂà¡Ò€·Ñ€Ú€™Ö ÕÙÂÀSÒÂ@ëØÂÀ/ØÂ@PÝÂ`Â×Âà¹Î 2Õ€^ËÂÀâÏ ÇÑÂà¹ÎÂ@åÙ  ÑÂêÓÂ`°ÚÂÀÛ€4Ò€ŸÕ DÒÂÆÙÂ@åÙÂÀAÕ€ÉÎÂ@'ÏÂ@ŒÓÂsÒ »Ó ^ØÂ ØÂ \ÎÂà×Â@nØÂ‹ÎÂyÑ€ ÙÂàBÍÂà}ØÂüРhÌ€óÇÂÀ²×Â@ëØÂ€4Ò€ØÂ€:Ñ€ÕÌÂÀwÌ VÏ Ò 8Ô€øÛÂ`3ÚÂ`3ÚÂÀîÍÂ`'ÜÂIÙÂ`E×Â`ÊÂ`òÏ€(ÔÂgÔÂÀGÔ€·Ñ€Ú€ ÙÂ@VÜ€ÖÂgÔ  ÑÂ@VÜÂ`?ØÂà¡ÒÂÀ)Ù€4Ò á× ëËÂ`¶Ù DÒÂÀÖÑÂÌØÂ€FÏÂ`ÔÔÂàÕ 8Ô pÕ€RÍ ^ØÂ€ØÂ`‡Ì JÑ ·ÞÂàâÜÂ`òÏÂ&ÊÂà³ÏÂÀÐÒ &×Â`æÑ ‚ÒÂ`E×Â`QÕÂ`Í ëËÂ@ýÕ ßÍÂ`]ÓÂ`ÎÕÂ`WÔÂÞÕÂêÓ€àßÂ@!ÐÂà§ÑÂàÔ€±Ò ÐÂ@t×Â`ÔÔÂ@ÑÂ@ñ×Â@zÖ€™ÖÂÞÕ ÏÚ€RÍÂ@PÝÂÀ|àÂà_ÝÂIÙ€ØÂàSßÂàôÙÂ`æÑÂ@ÕÂ`9Ù ‘ÚÂÀ_РóÔÂÀ}ËÂàâÜ ÍÐÂ`cÒÂàÕÂÀGÔ€.ÓÂ`WÔ€òÜ óÔÂ@ŒÓÂ@hÙ€ŸÕÂ`ªÛÂ@!ÐÂ`oРšÎÂà ÖÂ@bÚ 8ÔÂ@¤Ï 5ÊÂà ÖÂà›Ó ÎÂ`3Ú€.ÓÂà­Ð ùÓÂÀè΀Ú 2ÕÂÌØÂÀÚ ùÓ ÍÐÂ`?ØÂ€ŸÕ ÓÏÂ`˜ÞÂ@Ñ bÍ >ÓÂ`WÔÂÀîÍÂà0ÐÂÏÂÀ¾ÕÂ@¶Ì€±ÒÂàèÛÂ@ ÔÂ@˜Ñ ÕÙÂ@ŒÓÂà0ЯȠXÙÂàèÛ ©Ö ÝÂ`Í ÁÒ€LÎÂÐÂàÑÊ‘ÍÂà ÖÂ@ÓÜ€FÏÂ@ÓÜ çÖ á×Â` áÂ`°Ú€þÚ€XÌÂà§Ñ ½ÝÂÀ Ú€"ÕÂÀYÑÂÀ¦ÙÂ@¶ÌÂà³ÏÂ`QÕÂ`-Û ½ÝÂ`˜ÞÂÀîÍ€™ÖºÛ€ Ù€‡Ù íÕ ØÂ€ÚÂÀÝÂ`KÖÂÀÛ€iÞÂàê¢ßÂÀÄÔÂ`ªÛÂÀÛÂÀçãŠãÂ@å ÚÂÀÛÂ`àÂ~åÂàîÚ€«ÓÂsÒ€óÇ DÒÂyÑÂÆÙ DÒÂ`Ë€ÉÎÂ`žÝÂ@÷ÖÂ`]Ó ‹ÛÂà¡ÒÂ`]ÓÂÀSÒÂ@åÙÂÀdä ‚ÒÂ ÛØÂ`ÔÔÂÀÖÑ ÓÏÂÀÊÓÂ@¼Ë >ÓÂ7ÜÂIÙÂà Ö ÐÂ`¤Ü ˆÑÂÀ¬ØÂ€Ú€¥ÔÂ@ñ×Â@¶ÌÂàôÙÂâ sß JÑ€@ÐÂÀÜРùÓÂ`9Ù€:ÑÂ@¤Ï ÁÒÂ@žÐÂ@!ÐÂ@€ÕÂ`'ÜÂ@ýÕÂ@!ÐÂ`9ÙÂÀ¸ÖÂ`°Ú màÂÀÖÑ€@Р¦ÌÂaÕÂ@ŒÓÂ` ÌÂ@€ÕÂÀ¸ÖÂÀ¦Ù€òÜ "â VÏ çÖÂÀÊ jÖ ÎÂÀšÛ€‡ÙÂÀ ÚÂà$ÒÂ@ÓÜ€‡ÙÂÀúË ÿÒ€ÚÂÀÚÂà¿ÍœàÂ@nØÂ`E×Â@\ÛÂÀpâÂOØÂà_ÝÂ@ÇÞ FÜÂÀ_дÜÂIÙ d×Â@€ÕÂ`¤ÜÂà_ÝÂ`bçÂ`DìÂÀßÂ`ÔÔ ÃÜÂà§Ñ ‹Û€ ÙÂ@Á߀{Û åŠãÂÀ¦ÙÂ`àÒ€ŸÕÂàƒ×Âà¸ã€ÚÂ@ñ×Â@ÙÛ öÞ€øÛÂ@ÓÜÂ@ßÚÂ@žÐÂÀÝÂÀ ÞÂ`ÚÓÂÀÛ‹ÎÂ@&ä€ÎâÂàMà–á€c߀ÚÂäÂÀóá "âÂàÕÂÌØÂ ±ßÂÀšÛ "âÂ`¤ÜÂàÜÝ Û€]àÂ@ÇÞÂ`¤ÜÂàÄáÂûåÂ@hÙÂ@ÁßÂ@VܨÞÂà5äÂÀ¸Ö á×ÂÀAÕ ÃÜ€ªèÂÀùàÂÀ¦ÙÂÀ¦ÙÂ@ÓÜÂ`!ÝÂ`¤Ü ÏÚÂàÜÝ üÝ€¤éÂïçÂ@\ÛÂ`€â€ÚàÂõæÂ`žÝÂÀÝÂÀ ÚÂÀ)Ù ØÂ êà€àß Àç¨ÞÂ@ÍÝ€þÚÂ`÷ã UäÂ`ñäÂ@»àÂÀˆÞ€òÜ ,Ö ÝÂ`E×ÂàšèÂàÄáÂ`’ßÂÀÜÂ=ÛÂà¾â Ý€ØÂàSß®ÝÂà}ØÂ€Îâ€×Â@DßÂ%ßÂ`nåÂÀXæÂ€˜ë€ÎâÂ@µáÂûåÂÀSÒ Àç 4ßÂ%ßÂ`ßÂà²ä LÛÂ@é CçÂÀŽÝÂ`ýâÂÀ|à RÚ ä  æÂ@ å IæÂ ¥áÂ`VéÂåÂféÂÀ:ë¢ßÂäÂàAâÂ`'ÜÂ`€â€iÞ€]à€žêÂÀÛåÂÀˆÞÂà¸ã€ÚÂ`°Ú¨ÞÂ`!Ý ÀçÂâ€ÔáÂÀŽÝ »ÓÂ`†áÂàƒ×Â`WÔÂ@yëÂÀ:ëÂÀ#Ú€ÚÂ@VÜ @Ý ÁÒ€¥Ô€æÞ LÛ …ÜÂ@Á߀þÚÂàèÛÂ@ýÕ€ÚÂÀÄÔÂà_ÝÂàÔÂ@bÚ 4ßÂ`{ÎÂàØÂ€iÞÂ%ßÂÀçã¢ßÂÀMÓ .à€9æÂ€ìÝÂ`žÝ ^ØÂ@ßÚ ÜÂÀŽÝÂ`â€WáÂÀ/ØÂàôÙ RÚ€Èã ØÂ€Âä OåÂàÄáÂ`'ÜÂÀÝ ÿÒÂ@»à ãÂà ç àìÂ@ÍÝÂ@ÍÝ |ÓÂ@ÓÜÂÀ²× åÂÀŽÝÂ@ÙÛÂÀóá ØÂ £× ÕÙ€“×ÂàAâ€þÚÂà}ØÂàSßÂÀùàÂ` áÂ@»àÂâ  æÂ@¯â€ÈãÂrçÂCÚÂ@ÇÞ yÞÂÀ Ú€ÈãÂ`žÝÂÀváÂ`€âÂÀ‚߀×ÂÆÙÂ@»àÂàMà Ìå ¢ì =èÂàÄá€ØÂÀÝÂÀXæÂà)æÂÀváÂ`zãÂàSßÂ@8áÂà¾âÂÀváÂ`-ÛÂ@ÍÝÂ@hÙÂ+ÞÂ`¼ØÂõæÂ@>àÂ@¯â€æÞÂ`täÂàúØÂÀ”ÜÂ`ýâÂâ {èÂ@PÝ IæÂõæÂÀdäÂàSßÂÀÉèÂ`tä Ÿâ yÞÂ@>àÂàSßÂ`Ùè ¥áÂÀ”ÜÂÀÝÂ+ÞÂÀ5×Â@&äÂâÂ@>àÂ@JÞ ØÂ`bç ºèÂà€{ÛÂHîÂà/åÂðÒºÛ mà Ý £×Â@©ã @ÝÂàAâÂ@DßÂÀùàÂÀ Þ€Úà€'é =è vÔ ÒäÂ`ßç œíÂà;ã éõÂlèÂ` áÂ@!ÐÂ+ÞÂ@JÞ ÃÜÂÀ‚߀Ôá mà 4ßÂ@ åÂàSßÂ`VéÂ@ÁßÂ`àÂÀváÂà¾âÂàÊàÂ@\ÛÂlè IæÂ Ü üÝÂ`’ßÂ~åÂ@êÂ`!ÝÂ@µá "âÂàÐ߀˜ëÂ+ÞÂà#ç–á …ÜÂ@©ã€øÛÂ`˜Þ€™ÖÂÀ^倸ÛÂ` áÂÀpâÂÀRç®Ý :ÞÂÀÝ ãÂÀóáÂIÙÂ` áÂ`?ØÂ ±ß åÂäÂàÕÂÀÚ vÔ Ÿâ d×€‡ÙÂà‰Ö€ìÝÂ@ÇÞ Òä Ü äáÂà/åÂ`KÖÂ`ÈÖ€ØÂà_ÝÂÀMÓ íÕÂà}ØÂmÓÂ@PÝ€ØÂ`ߺÛÂ`ŒàÂÀSÒÂ=ÛÂ`ŒàÂxæÂ FÜ ·ÞÂÒ×€ÖÂÀáä "âÂ`ßÂ@ÙÛ ØÂ€þÚ ÏÚ màÂ`÷ã .àÂ`ßÂ@JÞÂCÚÂàÖÞ Ý ÇÑÂÀ/ØÂœàÂ`9Ù€òÜÂà_ÝÂ` áÂ@¯âÂ`'Ü 4ßÂÀ¬ØÂ¨ÞÂÀóáÂàGá sß Òä 4ß äá ãÂ@,ãÂà‰Ö€"ÕÂàkÛÂ@ëØÂ€ØÂ ±ßÂ@>àÂà²äÂÀ¬ØÂIÙÂàwÙ ØÂ ‹Û &×Â`]ÓÂ@PÝ€Úà´ÜÂÀŽÝÂÀóáÂ@2âÂ`-ÛÂ`˜Þ LÛ ÜÂ@ýÕÂÀùàÂÀ²×Â1ÝÂ`3ÚÂÀ‚ß ÛÂà¾â aâ Ìå XÙÂÀßÂàAâÂÀ¾ÕÂàS߀‡ÙÂ@ßÚ &× yÞÂ`!Ý ©ÖÂàÖÞÂ@>àÂÀ5×ÂÀYÑÂ@ýÕÂàÊàÂüÐÂÀÚ€Wá€Kã …ÜÂCÚÂàMàÂ`žÝÂà#çÂ`ßÂ@\Û€"ÕÂ@Á߀àß ÒÂ`ìÐÂrçÂ`߀uÜÂÆÙÂ@ŒÓÂà$ÒÂ@˜Ñ á×Â@ëØÂ€uÜÂÀ¾ÕÂU×Â@Á߀þÚÂ@÷Ö€4ÒÂРJÑ€¥Ô€(Ô€FÏÂ@ÓÜÂÀ ÚÂÀ¸ÖÂ`]Ó Ý ùÓÂàÕ |ÓÂ`oÐÂÀƒÊ€iÞÂÀ/ØÂ@÷ÖÂàqÚ€Ö€Ö€(ÔÂüÐÂ`?ØÂ€QâÂàÕ DÒ€Ú€(ÔÂ@t×ÂÀ¸ÖÂ`ªÛ —ÙÂ@’ÒÂØÖÂ`QÕ ØÂàúØÂ`E×Â@°ÍÂ`žÝÂÀ)Ù &×Â@ÙÛ€(ÔÂÀ¦ÙÂÀÊÓÂ@ŒÓÂ`'Ü Ü —ÙÂ`’ßÂÀ#Ú …ÜÂ@zÖÂ@ÕÂà­Ð á×ÂàîÚ RÚÂà Ö ^ØÂ@‹èÂàÊàÂ@åÙÂàÊàÂ@»àÂà¸ãÂ`ÞÂÀÛ á×ÂmÓÂ`ÔÔÂ@ÒÂÀGÔ€uÜ€òÜÂà¡ÒÂàwÙÂ@D߀QâÂU×Â ÛØÂ LÛÂÀ5×ÂàÖÞÂàôÙ€uÜÂ`¤ÜÂàÕÂà¸ãÂ`Vé€{ÛÂ`ÞÂaÕÂÀ#ÚÂÀ‚ßÂÀšÛ —Ù€±ÒÂà•ÔÂÀŽÝ€òÜÂÀÜÐÂ`ÎÕÂÀ¸ÖÂÒ×ÂÀ ÚÂÀÕæÂ öÞÂ`KÖÂ`ÎÕÂ@8áÂàÊà mà 4ßÂ@hÙÂüÐÂ@µáÂxæÂÀÛ€WáÂàÜÝ€ÏÍœàÂ`ŒàÂàîÚ€ØÂÀkΠ‚ÒÂÀÝÂÀóá Ü 5ÊÂÀ¬ØÂ@ÙÛÂÀíâ UäºÛÂ@¤ÏÂU×ÂàêÂÀ|àÂõæÂÀÿßÂà­Ð XÙÂ`oР@Ý€ ÙÂ`cÒÂ@åÙÂÀŽÝ ÒäÂ`WÔÂàwÙÂÀšÛÂOØÂ@ 借ÕÂÀÜÂU×Âà0ÐÂ`ÈÖÂ`Þ´Ü DÒ «àÂàúØÂOØÂÀ#Ú ÒÂ`KÖ€ØÂ`ÚÓ jÖÂà}ØÂà*ÑÂØÖ€Wá RÚÂ`?ØÂàÕ€ŸÕÂ@!РÍÐÂàâÜ€cßÂàkÛ ÞâÂÆÙ€{Û€Ú€Ö ÁÒÂ@ÓÂ`'Ü€ÚÂÀÜÐÂÀÚÂÀ¦Ù€™ÖÂ`WÔÂIÙ gá RÚÂ@VÜ€ÚÂ@>à€Ú ÛÂËÂðÒÂÌØÂ`iÑÂÒ× 2ÕÂ@ëØÂ€“×Â`æÑ€™Ö ØÂ€:ÑÂÀ}Ë ÿÒÂàÓÂ@bÚ€òܮ݀øÛÂÀ¸ÖÂÀYÑÂ`°ÚÂ@»àÂ@ÇÞÂàAâ ÉÛ€‡Ù ,Ö€àßÂ ÛØÂ€WáÂâÂ[ÖÂ@VÜÂàGáÂÀÿ߀™ÖÂÀdäÂà³Ï´Ü ±ß–áÂ`ÈÖ öÞÂÀŽÝÂà5äÂ%ßÂ`Â× ‘ÚÂÀ²×Â`]Ó€‡ÙÂà¡ÒÂàwÙÂÀGÔ ÉÛ FÜÂàËË XÙ€ØÂ`æÑÂ@ÁßÂà›Ó ÕÙÂÀAÕ \ÎÂ`òÏÂ@ýÕÂÀLèÂ@µá “ä€uÜ ÛÂIÙ€àßÂàTÊ ^ØÂ`¶ÙÂ@ÇÞÂàôÙ ÃÜÂ@¯âÂOØÂ XÙ€™Ö€FÏÂÀ¾Õ€½Ð XÙÂ`iÑÂU×Â@ëØÂàeÜ€æÞ ˆÑ€ ÙÂ`WÔÂ@ŒÓÂÀ;Ö€4Ò€"Õ€‡Ù aâÂÀ¦Ù Û ÐÂ`žÝÂÀ5×ÂÀAÕÂàqÚÂÍ€{Û ^ØÂà‰ÖÂ@’ÒÂ`ËÂÀóá ½ÝÂÀÝ \Π#ÍÂàÄáÂ@†ÔÂ@Ò ÍР&×€׺ÛÂ`3ÚÂ@t× —Ù€ Ù ÛÂ@!ÐÂÀkÎÂàÕÂÀ¦Ù€Ö JÑÂÀ¬ØÂà¡ÒÂ…Ï£ÊÂÀúË d×ÂÀAÕÂ@ñ×ÂàúØÂ@ÕÂ@ÓÜÂ`QÕ PРñÊ :Þ€¥ÔÂ@†ÔÂ…ÏÂÀ)Ù ,Ö€4ÒÂà¿ÍÂ@˜Ñ FÜÂÀSÒ€™ÖÂ[ÖÂ`ÔÔÂgÔÂ`ÔÔ€iÞÂÀÊÓÂ@-ÎÂ@Ó€‡Ù€“×ÂÀÄÔÂà•Ô šÎ‘ÍÂ`°Ú DÒ ÿÒ€™ÖÂ@VÜÂmÓ ÐÂ`oЀØÂ@zÖ ÙΠ|ÓÂÀôÌÂÌÂ`Œà XÙÂ`9ÙÂ@t×ÂÀwÌÂ@€Õ€™Ö ÉÛ€RÍÂ`øÎÂÀÐÒÂàÔÂ`ÚÓÂ`øÎ ÉÛÂÀ Þ ÍРÒÂÀÊ€4ÒÂ@‘çÂüРóÔÂ`uÏ€ÏÍ Ѐ“×ÂÀÜРÁÒÂÀŽÝÂÀeÏÂ`oР£×Â@-ÎÂàÅÌ JÑÂaÕ€·ÑÂyÑÂ,ÉÂ`{΀«ÓÂ@KɩɠÇÑÂ@nØÂ \ÎÂ@ñ× ŽÐ ØÂ€(Ô€ØÂÀÚÂÀ”ÜÂ@IóÂÀ‚߀¥ÔÂ`iÑ€ØÂ€±ÒÂCÚÂÀ¾ÕÂ@÷ÖÂÀ5×€oÝ€±ÒÂÀ‰ÉÂyÑÂU×€:Ñ€L΀ÕÌÂ`°Ú€ŸÕÂà•Ô ŽÐ ˆÑÂ@KÉÂÀ}Ë &× vÔÂ@¼ËÂÀÊÓ€ÚÂ@žÐ šÎÂÀqÍÂ`uÏÂ@'Ï ÓÏ€oÝÂàÅÌÂ`E×ÂØÖÂ@\ÛÂ`¶Ù€øÛÂÀâÏÂ`WÔÂ@nØÂÀ¦ÙÂÀkÎÂÀÊÓÂÀÛÂ`øÎ€ÕÌÂà¡Ò ùÓ óÔÂ@'Ï‘ÍÂU×ÂÀ¦ÙÂ@Õ€øÛ óÔÂ`°ÚÂÀúËÂàÀ DÒ ØÂà›ÓÂ`!Ý XÙ€×ÂÀ¸ÖÂ@ÇÞÂ@ÕÂ@¤Ï ¯ÕÂÀ;ÖÂ@bÚÂ@ŒÓÂÀÜÐÂaÕÂ@ŒÓÂÀ¬ØÂ€4Ò ÙÎÂÀ;Ö ÒÂÀÚÂ@ÁßÂ@zÖ€ ÙÂ@žÐÂ@ýÕ £×€FÏ€"ÕÂÀÚÂ@åÙ€{ÛÂ@åÙÂüÐÂàwÙÂ@t×ÂÀÝÂàBÍÂà¡ÒÂÀGÔÂ@žÐ´Ü€RÍ ¬Ë€ ÙÂ@’ÒÂ`oР¦Ì óÔ€™ÖÂà§Ñ®Ý Ѐ4ÒÂ@žÐ€×Â@bÚ€ØÂ€¥Ô€@ÐÂ`àÒÂ@\ÛÂIÙÂ@,ãÂ%ß &×€òÜÂÀùà Ï ¯ÕÂêÓ jÖ€@ÐÂÀ)ÙÂàÕÂ ÛØÂ@’ÒÂÀYÑÂàÕ ·ÞÂ@hÙÂÀÊÓÂ`ÚÓÂàBÍÂ`ÈÖ€øÛÂÀ¾ÕÂÀ;֋΀4ÒÂà¡Ò€·Ñ€«Ó |Ó€“× ÝÂ@†ÔÂ@zÖÂ@ñ×ÂÀ/ØÂÀ¾ÕÂ`ßÂà€:ÑÂà*ÑÂÀGÔ äÂ`iÑÂÀÐҠˀ@Р‘ÚÂÀSÒÂÀ5× Ò ^ØÂ@ýÕ€4ÒÂàÓ€½Ð ½ÝÂÀLèÂûåÂÀÜÂàèÛ hÌÂÀ}ËÂ@ÈÉÂ` Ì &×ÂÀ²× µÔÂÀSÒÂ`¤ÜÂà Ö€iÞÂÀ¦ÙÂàÔÂÀÛÂgÔÂ@ÑÂàHÌÂÀÊÓÂàqÚÂ@Ó ¯Õ ÍкۀàßÂà§ÑÂà0Р£×Â@ñ×€«ÓÂàSßÂÀMÓÂàúØÂäÂyÑÂàeÜ€™ÖÂ7ÜÂРýȩɠyÞÂ@zÖ á×Â@ÕÂÀ_ÐÂ`Ë ÏÚÂÀôÌÂ@KÉ ËÂ`ÍÂ@ Ô óÔÂ`æÑÂ`KÖÂ@¤Ï ÏÚÂÀ;Ö€|ÆÂ`ÍÂàqÚ€±ÒÂàÔ €ÈÂ@ýÕÂ@ÕÂ@!Ѐ"ÕÂ@nØÂÀßÂ`àÒÂÌØÂ`¶Ù€ÏÍ ØÂ pÕÂsÒ ÇÑÂÀ;Ö€™ÖÂÀeÏÂàúØÂàÕÂ[Ö€½ÐÂ`E×€@ÐÂêÓ pÕÂ`æÑÂ`žÝ  ÍÂàÔ ØÂ`Â× £×ÂÀÚ ÙÎÂ@ÔÇÂØÖ€ÖÂ@nØÂ@ÓÂ`ÍÂÀÐÒ€oÝ ÁÒ PÐÂ`øÎÂ`øÎÂÀAÕÂ`ÔÔÂàÅÌÂàBÍ€ØÂ©ÉÂà0ЀLÎÂ@¤ÏÂ`QÕÂÒ× PÐÂ`¤Ü …ÜÂÀÐÒ Ù ‹ÛÂ@t×ÂgÔ »ÓÂà§ÑÂàúØÂ`æÑÂ@ŒÓÂ@’ÒÂ[Ö€½ÐÂyÑÂÀ;Ö€¥ÔÂ@÷Ö€{ÛÂà×ÂàTÊ |ÓÂÀ|àÂ@ÈÉÂ@’ÒÂöÑ  ÍÂ@¼Ë AÈÂàTÊÂàÅÌ ÕÙ ÉÛ ÎÂ@’Ò ‚Ò ÍÐÂà³ÏÂàÑÊ ùÓ ßÍÂöÑ /ËÂà³Ï€”ÂÂàBÍ€(ÔÂÐÂÀôÌ€pÈ \ÎÂ@'ÏÂàÕ€áÊ€ÿÅ ÷ÉÂ@åÙÂàÑÊ tÊÂàBÍÂ`4ÅÂ`™É jÖ€ŸÕÂ@!ÐÂ`þÍ€ØÂàúØÂ`Í€Ö ¦Ì€ØÂ ²Ê€:ÑÂÀšÛ —Ù LÛÂàîÚÂ@ŒÓÂ@Ñ—Ì pÕ nËÂ`{Π2ÕÂàBÍÂ`òÏÂà6ÏÂÀ_ÐÂà³Ï€FÏÂ2ÈÂsÒ€"Õ€ØÂ`QÕÂ@ÂÊ »ÓÂ@ßÚ ÓÏÂÀèÎÂ=ÛÂâÂmÓÂà×ÉÂÀŽÝ ”Ï€‡ÙÂà`È€±ÒÂ@ŒÓ ‹ÛÂÀ Ú ØÂÀ ÚÂÀkÎÂ`(Ç >ÓÂà Ö ±ß€‡Ù€LÎÂÀÜÐÂ@’ÒÂÀSÒ€@Р>ÓÂ@ÈÉ DÒ ØÂÀÜР)Ì£ÊÂàÕ€.Ó bÍ€4Ò /ËÂà­ÐÂ@ÈÉ€çÉÂyÑÂCÚ íÕ 8ÔÂ>ÆÂ ÁÒ€ÏÍÂàÔÂ@ÎÈÂÐÂàƒ×Â@ ÔÂàÕ 8ÔÂàÔÂ@ÓÂ[ÖÂ@-Π&×Â@ ÔÂ`ÚÓÂ`ËÂÀ¾ÕÂÀ}ËÂ@ ÔÂ@žÐÂêÓÂà×ÉÂ1ÝÂà×ÂÌØÂ—ÌÂ`!ÝÂÀÄÔ ÐÂ@ÚÆÂ@-ÎÂ`!ÝÂ@ýÕÂ`øÎÂà<ÎÂÀÄÔÂ@÷ÖÂàéÂ@ÒÂ@ŒÓÂ@nØÂDÅÂÀÜÐÂ`cÒÂàqÚ€ Ù )ÌÂ@ ÔÂ+ÞÂ@ÑÂ@WÇ JÑ jÖÂÀeÏÂÀÊÓ ¦ÌÂà•Ô ”Ï ÏÂ@žÐÂ@t×ÂØÖ€¼åÂÀÄÔ€FÏÂ`¶Ù ÉÛ€ØÂ ÁÒ€™Ö ÓÏÂÀÊÓÂyÑ€øÛÂÀÚÂà¹ÎÂÀ²× ,Ö ÍР>Ó ˆÑÂÀqÍÂaÕÂà¡Ò £×Â`{ÎÂÀâÏÂIÙÂ`'ÜÂ`Â×Âá€×Â`?ØÂÀ¸ÖÂ@÷ÖÂàÄáÂ`ÔÔºÛÂÐÂà•Ô ÙÂÀ/ØÂ@ÕÂ@nØÂ@÷ÖÂ`žÝÂÀÜЀØÂàÖÞÂàÓÂà¹ÎÂÀ‚ßÂ`ÎÕÂ[Ö ÏÂàèÛÂÌØÂ€Ö ÙÂÀ‰É€½ÐÂ@÷ÖÂÀAÕ Ù á×Â@VÜ >ÓÂÀGÔÂ`þÍÂ`ÞÂÀ¾ÕÂàHÌ ¦Ì ¦ÌÂ`E×ÂÀóá Ú 8Ô ØÂ ØÂÀâÏ€.ÓÂ@ÒÂÀ²× d×ÂÀMÓÂ@åÙÂsÒ JÑÂOØÂ`‡ÌÂà×€çÉÂÀMÓ &×Â`¼ØÂ Π Ñ€:Ñ ^ØÂÀ}Ë€ÕÌÂËÂÀƒÊÂÀÐÒÂäÔ LÛÂÀqÍÂaÕÂöÑÂ`àÂÀqÍÂÏ€«ÓÂaÕÂà¡ÒÂ`9ÙÂà× nËÂà*Ñ åÌÂ[ÖÂÀ#ÚÂ`{ÎÂà6ÏÂ`iÑ€FÏ JÑÂ`(ÇÂ@˜ÑÂ`òÏ JÑÂ`þÍ pÕ€× á×€ØÂÀMÓÂ`òÏÂÎÂ@ßÚ ÝÂÀMÓ |ÓÂaÕÂÀ;ÖÂ@JÞÂà*Ñ€.ÓÂÀ ÞÂÏÂàÑÊÂ@nØÂÀôÌ »ÓºÛ PЋÎÂmÓÂàúØÂ€"ÕÂÀÜÐÂ@JÞÂ@°ÍÂ`{ΠÜ€4Ò€±ÒÂäÔ ñÊÂàHÌÂ@ÑÂ`{ÎÂØÖÂüÐÂÀ#ÚÂ`cÒÂ`ªÛ€ŸÕ ÕÙÂ`ÈÖÂ`Ê€(ÔÂ`cÒ DÒÂäÔ RÚ ¯ÕÂÀšÛ 2Õ ÇÑÂÀÚÂÀ‚ß ÝÂá µÔÂÀÖÑÂaÕÂàÕÂ@ÇÞ€ÕÌ€ÛË DÒ ÎÂÀ”Ü XÙ€@ЀFÏÂ@¶ÌÂÀ‰É pÕ€ÛË ÁÒ ÕÙ–áÂÀeÏÂà6ÏÂ@ªÎÂÀ;Ö€·ÑÂäÔ ¾ÈÂ`ÍÂ`WÔÂà¡ÒÂàÔÂ@bÚÂÒ×Â@hÙÂüÐÂÀâÏÂà$Ò »Ó »Ó Ý€™ÖÂÀÖÑÂ@ýÕ ÕÙÂ`ÔÔÂÀqÍÂ`àÒÂÀÐÒ ‘ÚÂÀÝÂà_ÝÂÀŽÝÂÀ;Ö€×ÂÀÊÓ ^ØÂÀwÌÂ`¥ÇÂmÓ …Ü —Ù€"ÕÂÀ#ÚÂ@JÞÂ@ñ× d×ÂÀ¾ÕÂ@8áÂÀ¦Ù€{ÛÂàîÚÂÀYÑ vÔÂàôÙ mà€ÖÂ@˜ÑÂÀ_ÐÂ@Dߑ͠ÝÂ`'ÜÂÀŽÝÂmÓ Ü sß (áÂ`Â×ÂàôÙ€æÞ å ÍÐÂà¦æÂÀváÂà›ÓÂsÒ ½ÝÂ@2â RÚÂ`åæÂÌØÂ@2â€cßÂÆÙ öÞÂ`÷ãÂ+ÞÂÀšÛ€WáÂà¾â€Úà€iÞ %ìÂ@\ÛÂàMà ØãÂlèÂÀ‚ßÂïçÂà ç òé KðÂàÖÞÂ`hæÂ`ýâÂÀóáÂà¦æÂ@JÞÂ~å€?åÂ@‘ç€zð ‡æÂàèÛ …Ü œí Øã€Âä„äÂ`ÓéÂÀ4ìÂ@öëÂà|íÂàAâÂ@…éÂÑìÂà5äÂ`8î [ãÂà çÂ~åÂÀvá çÂ@£äÂ@»à ãÂâ€àßÂ`bçŠã€¶æÂ`Vé€Kã 7éÂ@æÂ`ßç ÞâÂÀùà ™ãÂ`â cìÂÀ«íÂ`nåÂÀ(߀†î€ëòÂÀ4쀆î %ìÂÀøõ€hó °ô¿ï  æÂ –îÂà·øÂËí àìÂÀ"ï ûòÂ`õÂÀ¥î€ÓöÂÀŸï€ëÂ`÷€žêÂ}ú€°ç ¨ë iëÂàXó `÷ cìÂàˆëÂÀo÷ÂÀþô 7éÂàé ž÷Â@[ð éõÂÀ@êÂ`&ñ œíÂÀòÂ`äûÂ@ê ÎïÂ@‘çÂ`bç ¶óÂÀì÷Â@—æÂ€ëòÂ`>íÂå íÂÅïÂ`÷Â@UñÂõÂ`êú °ôÂ@œúÂ`múÂ@ØðÂ ÆæÂàóîÂÀô KðÂ`©ð EñÂÀÏç Kð¹ð Šð 3ôÂÀ“ñÂ×ë€?åÂÀ½ê€íÂàóî ªõÂ`õÂ0ò€€ïÂÀôÂ`êÂÀÃé Šð ué ªõ€'é€ïÂ`,ð€EäÂ`ôÂZëÂ`©ðÂàÃöÂÀ“ñ ò€ï ðÂàÿìÂ@[ðÂ@IóÂàùíÂ@—æÂ@7öÂ@ÀôÂù€hóÂÀ½êÂàpïÂ`âÂ~åÂ`\èÂà#çÂÀ“ñ „ñ€hóÂ@ûÂ`¯ï€ÙõÂ`ëå€Kã€3瀆îÂÀ·ëÂ@OòÂÑì€ î€˜ëÂÀ^åÂÀ“ñÂàÃöÂ`,ðÂ`‘ôÂ@üêÂ@Uñ³ñ ³þÂ@êí€3çÂà”逼åÂ@yëÂÀðÂ`‹õÂÀFéÂàèÂ`&ñ çÂ`2ïÂÀ4ì øèÂ`‘ôÂÀòÂÅîÂà”é åÂÀ(îÂxæÂ@,ãÂ`âÂàˆë€¼åÂ@£äÂ@è€Âä¨ÞÂ`Pê€WáÂõæÂ ´éÂ`©ðÂÀ^åÂÀÏç ŸâÂÀjãÂàâÜÂÀRçÂà¦æÂ€ÎâÂà¾âÂ`€âÂ`Œà ´éÂ`ëåÂà”éÂÀRçÂ@ðìÂà ç€WáÂ`ßÂ`>íÂ`PêÂ`bçÂ`¼ØÂ`täÂÀ¥î ™ãÂOØÂÀpâ€-è oê€!êÂ@VÜÂÀFé å çÂàÊà öÞ ÒäÂ@ÓÜ€Èã´ÜÂäÔ ÃÜ€9æÂ Àç€ìÝÂ@&äÂÀ@ê€Âä€òÜ «àÂà¬åÂàÜÝÂà/å€Qâ üÝÂ`žÝÂ@öë®ÝÂ ÆæÂ oê 4ßÂ@µáÂ`€âÂÀjãÂàS߀æÞÂ@ÇÞ í CçÂ@êí òéÂ`†á€× êàÂ@>àÂáÂÀùà€!êÂ@ñ× ÌåÂ`µî Kð Òä€WြåÂàAâÂ`€â ÉÛÂ@†Ô€í ‡æÂ@êÂ`ñäÂ`’ßÂ@öëÂ@ßÚÂÀpâ ¥áÂ` áÂÀáä€Úà€æÞÂ@åÂÀÉè ìê {èÂ@>à€ÚàÂÀÿ߀WáÂà*ÑÂÀFéÂàúØÂ µÔ€{ÛÂ`žÝÂ@åÂàƒ×Âà$ÒÂÀ߀Kã …ÜÂ@‘ç å oêÂÀÝÂ`Ùè€ìÝ€Wá (áÂáÂ@£ä€WáÂ`žÝÂÀ¬ØÂÀRç üÝÂ@8á Ÿâ ‡æÂ`žÝ 4ß vÔÂ@bÚ FÜÂ@Áß ¥áÂ`ÚÓÂ@D߀]àÂà¸ã êà ‹Û€{ÛÂ`QÕÂ@ýÕÂÀ ÞÂàSßÂÀ|à åÂ ÆæÂ=ÛÂ@\ÛÂÀÿßÂàÕÂ@¯â€Îâ ÉÛ êà€]àÂÀÚÂàYÞÂàÜÝÂ@€Õ€{ÛÂ`]Ó …ÜÂàGáÂÀ Þ mà |ÓÂà}ØÂ êàÂ@ÍÝÂ`-ÛÂ=Û ½ÝÂàÐß Cç åÂ`,ðÂ+Þ êàÂ ÆæÂ@¤ÏÂ`3ÚœàÂÀÏçÂàSßÂÀÏç å aâ€ÚÂ@…éÂ@‹èÂâ€Îâ€ÚàÂ@‘çÂ`ÓéÂ`˜ÞÂäÂ ÆæÂ (áÂ@åÂÀÿß á×Â@åÂÀ±ìÂÀ^åÂÀ ÚÂ+Þ ™ãÂ`ŒàÂà¸ãÂ@ åÂ`€âÂà/å |Ó ¥áÂàèÂàÓ ÝÂ@ åÂ@\Û ÐÂ@nØÂ€]àÂÀváÂÀÿßÂ@ñ×Â@ÍÝ€žêÂâÂàÐßÂ`hæÂ@PݮݠLÛÂàèÂ@µáÂà¸ãÂ@ýÕœàÂÀíâ€ÔáÂÀŽÝÂÀYÑÂ`°Ú .àÂgÔÂÀváÂàYÞ pÕ–áÂÀ|àÂ`ÞÂÀÚÂàa³ÂÀjãÂà çÂ=Û XÙÂàÖÞÂàâÜÂ@ßÚÂ`’ßÂà³ÏÂØÖ€{Û€‡ÙÂà;ãÂ`˜Þ€Ú DÒ ÏÚÂ@!ÐÂÀ¾ÕÂÀ)ÙÂÀÐÒÂ`zãÂÀèÎÂ`à [ãÂ@>àÂØÖ ÚÂ@t×Â`ÔÔÂå€(ÔÂ`ñäÂ@D߀Îâ  æÂ ÕÙÂOØÂ ÛØÂðÒÂCÚÂÀÐÒÂ@ñ×Â@hÙÂà*Ѡ܀]àÂ@>àÂàÖÞ FÜÂ`Ùè€Eä çÖÂ`Â×Â`9Ù ‘ÚÂà$ÒÂÀâÏÂÀ¾Õ JÑÂà•Ô€½ÐÂà›ÓÂàYÞÂ@ñ×ÂÀÝ€Úà€ØÂ`ÍÂ`æÑ€.ÓÂàSßÂ`nåÂà*Ñ€oÝ ‹ÛÂàÄáÂ`-ÛÂÀ;ÖÂ@ýÕÂ@hÙÂÀÄÔÂ`iÑ d×Â@t× 2ÕÂàƒ×Â@†Ô ÉÛ (áÂàÐßÂ=Û ØÂ@¶ÌÂ`ñäÂ@Á߀òÜÂà_ÝÂ`QÕÂgÔ€øÛÂ`3ÚÂà}ØÂÀ¸Ö ÕÙ€ŸÕÂÀóáÂÞÕÂ@†ÔÂ@€ÕÂ`æÑÂØÖ |ÓÂÀŽÝ FÜÂÀMÓÂÀ#Ú ÝÂáÂ@ ÔÂÀGÔÂÀGÔÂOØÂ`Þ€Ú€øÛÂ@nØÂÀAÕÂà¬åÂÀSÒ RÚ´ÜÂ`¶ÙÂ`KÖÂ@zÖ VÏÂ`“Ê FÜ€æÞ VÏÂÀÄÔÂ`-Û€(ÔÂ@-΀ùÆÂ çÖÂ`ÚÓÂà§ÑÂ[ÖÂ`àÒÂÀÝÂ@ÍÝÂIÙ€ìÝ€·Ñ€:Ñ€ÚÂÀ)ÙÂ@ÒÂÀÊÓÂ@>àÂ`†áÂà­ÐÂÀ ÞÂ`˜Þ‹Î€ ÙÂgÔÂàâÜÂ[Ö€(ÔÂÀAÕÂÀ;ÖÂÀ‚ß üÝÂàGáÂ@ýÕ€×ÂüÐÂ@ ÔÂüÐÂàÐßÂ…ÏÂàƒ×ÂöÑÂ@åÙ d×ÂðÒÂÀ¦ÙÂÀ ÞÂ@nØÂ ²ÊÂ@ŒÓÂ`ÔÔÂÀÖÑ ÕÙ‘Í ØÂÌØÂ€:ÑÂ`cÒÂ`QÕÂàÄáÂ`žÝÂÀÐÒÂ`Â×ÂÀ Þ ¯ÕÂ@’Ò íÕ€{ÛÂ@žÐÂÀ/ØÂ >ÓÂ`€âÂÀÊÓ ÐÂ@ýÕ ‚ÒÂÀˆÞÂà•ÔÂ@ ÔÂ`æÑÂÐÂ@'ÏÂ@°Í€·Ñ€QâÂà›ÓÂU×Â ÛØÂ >Ó€™ÖÂ@ÇÞÂàØÂÀwÌÂàeÜ d× 4߀Úà 4ß yÞÂ@VÜ >Ó ·Þ ·Þ ÉÛÂ@ÍÝÂàSß ”ÏÂ`'ÜÂà‚ìÂÀ”Ü€‡ÙÂà}ØÂ`°ÚÂ@PÝÂ@\Û€ÈãÂÀÚÂ@©ãÂ@JÞÂ@’ÒÂ`æÑ€Ö€uÜÂ`E×ÂÀ²×ÂÀpâÂ@¯âÂ@ÇÞÂâÂà¸ã€ÂäÂêÓÂ7ÜÂÀ¬ØÂàwÙÂ@ßÚÂà5äÂàS߀]àÂàšèÂÀ‚ßÂ@’Ò ±ßÂà¸ãÂÀ‚߀QâÂ=ÛÂå cìÂ`êÂ`hæÂÌØÂ1Ý ÒäÂ@æÂÀMÓÂÀ|àÂ ÛØÂ€ØÂàœàÂÀ¦ÙÂ`¤ÜÂ`’ßÂ`ßç€Qâ OåÂ`˜ÞÂàYÞÂ@©ãÂ`âÂÀˆÞÂàâÜÂÀ¬ØÂ´Ü ÛÂ@ÙÛ &×€.ÓÂ@Dß ´éÂ`ßçÂ`ßÂ`ªÛÂàGá€cßÂÀÜÂÌØÂ€c߀‡Ù€¼åÂà²ä mà :ÞÂà}ØÂ€æÞÂÀ|àÂà²ä gáÂÀ”ÜÂà)æÂàìÂlè Ý€]àÂ`ŒàÂ`bçÂ@VÜ€"ÕÂ@¯âÂÀ5× 4ß aâÂ@—æÂ@2âÂÀÿߨÞÂ`€âÂ`ýâÂàúØÂ€'é Šð€{Û ½ÝÂÀjãÂàÊàÂ`÷ãÂ@\ÛÂÀíâÂ`Jë ÙÂIÙ€ªè€ÚàÂ@hÙ¢ßÂ@2â€ìÝ ¥á€Èã …Ü Uä€Îâ uéÂàÂ`˜ÞÂÀLèÂ`ñä ºèÂàÊàÂàeÜ mà "âÂÀ)Ù CçÂÑìÂ`€âÂ@8á mà€EäÂ`êÂ`¤Ü€ÂäÂÀ:ëÂ`ëåÂ`’ßÂ`zãÂ@ÁßÂà5äÂÝêÂà)æÂ IæÂàé çÂà ë mà€-è€ÈãÂ@ÇÞÂÀÜÂ`ýâÂÀ«íÂÀ”ÜÂ7ÜÂÀçã€3çÂ%ßÂÀ|à®ÝÂxæÂ@µáÂ`µî LÛÂ`-ÛÂ`ßœàÂ`Þ„äÂ`VéÂ`¤ÜÂxæÂâÂà€9æÂáÂ`Þ ué ÕÙÂNí€uÜ€"Õ  æÂ`3ÚÂOØÂàSßÂ@t×ÂÀ ÚÂÀ ÚÂ`Œà ÃÜ (á RÚÂ@µá€?å øèÂ@DßÂCÚ€™Ö®Ý ð߀¶æÂ¨ÞÂà;ãÂÀÃéÂÌØÂ€:Ñ€ØÂÀÉè üÝÂÀ5ׄäÂàÄáÂ`°ÚºÛÂàÖÞ êà€ Ù >ÓÂàôÙÂû堺蠟âÂ`Â×€ÚÂÀÿß óÔÂ`˜ÞÂ@yëÂ`3Ú ‘ÚÂ@ÁßÂàS߀iÞ ½ÝÂlèÂà_ÝÂÀùàÂ@ å äáÂ@£ä øèÂÀíâ çÂ`Áì®ÝÂ@&ä ÝÂ@æÂ@å€]àÂ@2â ÉÛ ]íÂÀß …ÜÂ@nØÂ ÃÜÂÀLè€WáÂ@míÂàÐßÂ`â sßÂxæÂÀpâÂàwÙÂ`'ÜÂà;ãÂ`Œà ½ÝÂÀ±ìÂ`bçÂ`ßç–áÂÀíâ ÒäÂ@—æÂáÂàGáÂ`3Ú yÞÂÀdäÂàîÚ„äÂÀjãÂ@êÂ`ÍêÂà¦æÂ%ß ìêÂ`Œà O值å€cßÂ@—æÂ€æÞÂ@Dß .àÂÌØÂ€ÔáÂ@JÞ ™ãÂ`ªÛÂÀ)Ù€¶æÂ` áÂÀpâ€ìÝÂCÚÂÀùà ÕÙÂÀ)ÙÂOØÂÀ;Ö€uÜÂÀjãÂlè€øÛ "â 4ßÂá ÛÂCÚ ðßÂÀjã :Þ€àßÂ@8áÂÀ¦Ù íÕ ÿÒÂÀ ÞÂÀá䀸ÛÂÀ)Ù¨ÞÂ@—æÂ màÂÀjã ‹ÛÂàqÚÂ@t×Â@JÞÂ` áÂ@\Û ŸâÂàôÙ€Wá¢ß€'éÂÀFéÂ`{ΠçÖ jÖÂàâÜÂ`'ÜÂ[Ö äÂNí a„êÂÀ^å€àßÂûåÂàèÂ`åæÂ@—æÂ€QâÂÀ½êÂ@êíÂï瀒ìÂàóî€Ô᠖ê ué€Èã CçÂàìÂÀŸïÂ@+øÂ€÷ðÂ@ØðÂ`‘ôÂ@®÷Â`©ðÂà|íÂ@Àô Úí€hóÂà|íÂNíÂ@Àô€!ê Ôî ¨ëÂàvîÂà ç€†îÂ@míÂ@Uñ€ îÂö ]íÂ`hæÂàRôÂà|íÂà ë ŠðÂÀ ó QïÂÀLè IæÂ€°çÂ@CôÂ`©ðÂ@üêÂÀLè ië ?ò Èð€ŒíÂÀ(îÂàùí€nòÂàdñÂNíÂrçÂàˆëÂ`zã 9óÂÀ ó€!êÂféÂ`ÓéÂà‚ìÂàè ´éÂ`åæÂ@©ãÂà¸ã€¼åÂ ÆæÂ Šð ŠðÂ@èÂ`PêÂ`‘ôÂ`Dì òÂÀŸïÂà@÷Âù€'é€í€ï€÷ðÂÀ±ì %ìÂ@‘çÂÀÃé€'éÂâ­òÂ`ü÷ ÔîÂ`ëåÂÀ.íÂNí¿ïÂHîÂà5ä rôÂ`bç øèÂÀòÂ`ýâ òé êàÂà¬å ãÂTì ìêÂà¦æÂ@sì åÂÀô –î ™ã uéÂ@µáÂNíÂCÚÂ@êÂàóîÂ@êÂÀóáÂÀFéÂàìÂÀ"ïÂàÂ~åÂÀdäÂàìÂûåÂ@öëÂÀ.íÂ@‹è “ä€ îÂÀÕæÂà)æÂÀÛåÂ`©ðÂä uéÂÀ±ì€ îÂÀo÷€zðÂÀ·ë€ë€3çÂàè ØãÂ@ØðÂÀÏ瀒ìÂàÊà 1êÂ@êíÂÀðÂà)æÂ€!ê ?òÂ`täÂÀ.íÂÀ½ê ã€ì éõÂ`JëÂN퀀ïÂ0ò ‡æÂ`Áì ué€?å ?òÂàóîÂûåÂ@è ç€9æÂ@yëÂàóîÂÀáä Ìå ÙÂ@æÂ uéÂàáñ­òÂàùíÂÀ(îÂ`JëÂàÄáÂÀùàÂ@ÍÝÂ@,ã€'逌íÂ ÆæÂÀøõ ìê 7éÂ<ð€\õ€í åÂàÐ߀øÛ€ŒíÂà”éÂBï øèÂÀ.íÂ@üêÂ`zã€'éÂ@ê IæÂÀjãÂà ëÂ@VÜÂà¬åÂ@µáÂ@©ãÂÀÕæÂ@>àÂ@êÂ@ åÂûåÂÀ|à (ံæÂ@‹èÂàÿìÂ`ŒàÂ@êÂ`ëå ìꀒìÂ@JÞ ™ãÂ@ñ×Â@¯â€ÚàÂÀFéÂ`ëåÂÀíâÂ@8áÂ`9Ù€zð IæÂ%ßÂÀLèÂ@å åÂÀçã€Kã yÞÂÀˆÞÂáÂá êàÂàSßÂ`zã ÛÂÌØÂ€?åÂ`tä€9æÂ`nå ÉÛ yÞ€]àÂ@ßÚÂÀ|à€iÞ€ïÂÀjãÂ@ÇÞÂÀÉèÂ@8á .àÂ@JÞ ÀçÂ@8á ÃÜÂ`°ÚÂÀ#ÚÂïçÂ@µáÂ+ÞÂ`-Û [ãÂ`˜ÞÂàeÜÂ@åÂàkÛ€iÞÂ@ÇÞÂÀóá€iÞ yÞÂà Ö ÝÂÀÿßÂ`zãÂä LÛÂÀܢߠÉÛ€‡ÙÂ`÷ãÂ`€âÂàìÂ@ê€]à€3çÂÀ‚ß Òä¨Þ "âÂ@êÂå ã ãÂÀñÂïçÂ@Dߊã¢ß  æÂÀpâÂ`ÓéÂÐÂ1ÝÂ`†áÂ@æÂ ÜÂ`¶Ù€ØÂà•ÔÂÀ)ÙÂÀÝÂ@åÙÂÀáäÂÀÝ Uä ^ØÂ@t× (á UäÂÀváÂÌØÂ`Œà d×Â`°ÚÂàîÚÂàØÂ üÝÂ`€âÂàâÜÂ`ß þç€øÛÂÀáäÂàè–áÂÀùà€ÎâÂ`ªÛÂÀáäÂàqÚÂà¸ãÂàÊàÂàâÜÂ`ß„äÂÀÃéÂ`ßÂ@\Û€Ú ÙÂ`bç "âÂÀFé gáÂéèÂÀ#Ú IæÂ LÛÂÀÛåÂàꀼåÂ`µî yÞÂÀçã€WáÂàîÚÂÀÃéÂ@‘çÂ@—æÂ`'Ü€WáÂ×ëÂ@bÚÂÀ²×Â@ê ™ãÂ`,ð€3çÂ@öëÂà¦æÂÀÛåÂ@ÞïÂà”é³ñÂ`»íÂàìÂ`åæÂ %ìÂà¬åÂ@,ã Cç ™ã uéÂàSßÂÀ(î äÂà‚ìÂà蠱߀Úà€ÔáÂàÕ€{ÛÂ`ñä öÞ ŸâÂ@‘ç€iÞÂ` áÂàkÛ€QâÂ@ñ× ÕÙ€×´ÜÂÀÿßÂÀGÔ …Ü ‹ÛÂàèÛÂ@ëØÂ Ü€KãÂ`¼ØÂ@ÓÂ`?ØÂ€æÞ€Ö€Wá IæÂ ØãÂ@\ÛÂÀÐÒÂ@\ÛÂØÖÂÀ5× ¥á€iÞ€iÞÂ`†á€øÛÂÀFéÂ`iÑÂ`QÕÂÀ^åÂIÙÂÀ¾ÕÂÀÊÓ€ÚÂà¸ãÂ`àÂ`žÝÂ@VÜ€'éÂmÓÂÆÙÂà²ä Oå Ù á×Âà¾â€Èã gáÂaÕ€× gáÂ@sì äá ÏÚ OåÂ`åæÂ gáÂ@ ÔÂÀ¦ÙÂàÊàÂà¾âÂ@£ä€ÚàÂ`E×€QâÂÀÄÔÂ@ÇÞÂà#çÂà¬åÂ`zãÂ`3Ú€×Â@åÂ@2â ݺۀ{Û€oÝÂ@JÞÂÀdä "â .àÂ`KÖÂ+ÞÂ`†áÂ@ñ×Â@&äÂÝêÂÀ‚߀?åÂà­ÐÂ`â€oÝÂÀˆÞ ÀçÂ`Dì€9æÂ@ÙÛ€øÛ€ŸÕ üÝ€9æÂ@æÂ ÌåÂÀpâ€Âä„ä ãÂ`€âÂàƒ×Âà5äÂû倨Â7ÜÂ`ÔÔÂ`žÝ€iÞÂ`¶Ù (á€"ÕÂÀÛ íÕ€øÛÂ`¤ÜÂÀ¾ÕÂÀ”ÜÂÀ¬ØÂ@ëØÂ`KÖÂÒ×ÂÀ”ÜÂâ€ØÂaÕÂÀÛ óÔÂÀAÕÂàÄá€]àÂ`]ÓÂÀˆÞÂ@\Û ÃÜÂà­Ð€øÛÂÀÝÂàqÚÂU× ÃÜ .àÂÀ¦Ù —ÙÂ@8áºÛÂ`°Ú ·ÞÂàwÙ€WáÂÀ ÚÂÀçãÂâÂ=ÛÂÀ¸Ö ‹ÛÂ`]ÓÂ`žÝ€þÚ€oÝÂàÔ á×Â`9ÙÂÀÜÂ@nØÂ`žÝÂÀÖÑ »Ó€{Û .à IæÂÀ”Ü€·ÑÂÀ5׺۠ùÓÂCÚÂ[Ö€(ÔÂ1Ý ùÓÂ`ÎÕÂ`žÝÂ@PÝÂsÒ ÚÂ`oРÿÒ XÙÂÀÜÂ@ÓÂ@¯â€íÈ€FÏ DÒ ¯ÕÂÀ¬ØÂ )Ì€.Ó€(Ô åÌÂÀSÒ —Ù ñÊÂ@ Ô€™ÖÂ@\ÛÂ`-ÛÂ@hÙÂ@ÕÂÀÐÒÂà³Ï »ÓÂÀ²×Â`{ÎÂ@3Í€‡ÙÂ@JÞÂà$Ò jÖ€ÚÂmÓ€ØÂ`uÏ€ Ù€™ÖÂ`ÚÓÂ@ÇÞ€:ÑÂà•Ô‘ÍÂ`ÚÓÂ@°ÍÂ`oÐÂ`Â×Âà*Ñ —ÙÂàúØÂÀÊÓ ‚ÒÂàNË FÜÂÀYÑÂ@¤Ï bÍ€ØÂaÕÂÀ¬ØÂ€“× |ÓÂ>ÆÂÀÖÑÂ@8áÂ@ýÕ€4Ò †Ç€uÜ µÔÂÀ¾ÕÂàîÚÂ=ÛÂÀˆÞÂCÚÂ@ÒÂ@€ÕÂIÙÂ`ªÛ€4Ò šÎÂÀšÛÂ`QÕÂ=Û VÏÂÀÄÔÂÀ;Ö€ØÂ@!ÐÂ@'ÏÂáÂÀÝ ҋΠÙΠã€.ÓÂ`ìÐÂÀÈÂà¹ÎÂÀAÕÂÀèÎÂ@ÂÊÂÐÂàÔÂ@ÓÂÀÄÔ á×Â@t×€øÛÂà¿ÍÂÆÙ µÔÂÀÜ€XÌ hÌ€±ÒÂÀ5×ÂÀGÔÂ@Ñ üÝÂ@nØÂ@ÓÜÂàÕÂ`àÒÂà0Р½ÝÂ@ÑÂÀMÓ çÖÂ`ªÛÂ[ÖÂàÕ ÏÚÂ@ŒÓ€(ÔÂàNË€ÖÂ@ßÚÂÐÂ`þÍÂ@÷ÖÂ@'Ï ˜Ä ÁÒÂ@˜Ñ ,ÖÂÀSÒµÇÂ`ÔÔÂ@Ó€ÃÏ …Ü€“× ÇÑ ØÂ@ªÎ€(Ô µÔÂàÓÂÀÝÂ`ÚÓÂ`ìÐÂÀ ÞÂ`ÚÓÂÀÖÑ€iÞ ‹ÛÂà6ÏÂà­ÐÂÀÐÒÂsÒÂÐÂaÕÂÀMÓÂà³Ï€4Ò€çÉÂaÕÂIÙÂ`þÍ€@Р2Õ |ÓÂà§ÑÂ`WÔÂÀ_ÐÂÎÂÀÿßÂà§ÑÂ@EÊ d×Âà‰ÖÂàÔÂ`ìРPÐÂàwÙÂ`¤ÜÂàâÜ ÍЀ«ÓÂÀ¾ÕÂà¦æÂÀGÔÂàkÛ€½Ð £×Â@ÙÛ€(ÔÂàÔÂà›ÓÂ@˜ÑÂ`QÕÂÀ²×ÂÆÙ ÏÚ€ØÂ€{ÛÂàúØÂâÂ@ëØÂáÂÀkÎÂ@ÙÛÂÀeÏÂ`cÒºÛÂ@2âÂàqÚ€"ÕÂ`¤Ü ©Ö€±Ò vÔ ·Þ &×Â`¤Ü€(Ô »ÓÂ7Ü´Ü€þÚÂàôÙÂ%ßÂÀYÑÂàúØÂ DÒÂÀÛÂàYÞ€ÚàÂ`ªÛÂ@3ÍÂ@ ÔÂÀ#ÚÂ@÷ÖÂ@ëØÂ  Ñ PЀ·ÑÂÀqÍ RÚ ÇÑÂðÒ ÇÂÀÄÔ€(ÔÂÀÈÂ@hÙÂ@˜ÑÂ`ÎÕ€"Õ ßÍÂ@÷ÖÂÇÄ‘ÍÂ@ÂÊÂ@ŒÓ€uÜÂàÔÂ`ÔÔ ¾È ÇÑ€FÏ ÓÏÂaÕÂàÅÌ€ÕÌÂÀËÂðÒÂÀ”ÜÂ`cÒÂIÙÂ[Ö ‚Ò€ØÂ€±Ò€þÚ€øÛ ÞâÂáÂ@t×ÂÀ#ÚÂmÓ üÝÂäÔÂüÐÂàÕ íÕÂ@ñ×€ÃÏ€“×Â`¶Ù —ÙÂ`ªÛ |ÓÂ`WÔÂ=Û€ÖÂàÅÌ€·Ñ LÛÂ`9Ù ÉÛ óÔÂÀ/ØÂ ˆÑ©ÉÂà Ö¨Þ FÜÂ@t×€@ÐÂ@’ÒÂЀ.ÓÂ`ÚÓÂÀ¬ØÂÀ5×Â@˜ÑÂàúØÂ ÜÂÀÚÂ`°Ú ÕÙ€:ÑÂÀ#ÚÂÀÄÔÂ@€ÕÂ@'Ï ÒÂ@ŒÓ€Úà ÉÛ€·ÑÂ@’Ò€iÞÂ@Ó®ÝÂàúØÂ€½Ð RÚÂÀYÑÂ`ÎÕÂ@!РÁÒÂ`¶Ù ÉÛÂ@VÜ íÕÂà}ØÂ DÒÂà ÖÂà¹ÎÂ@nØÂ@°ÍÂ@¼Ë ÎÂÀ5×Â@÷ÖÂàÖÞÂ`?ØÂàwÙÂ7ÜÂ`iÑ êà ØÂ ÁÒÂ@˜ÑÂÀ#ÚÂ@EÊÂÀ)ÙÂ`KÖÂ@t×Â@ÓÂÀMÓÂàwÙÂOØÂ=Û€FÏÂà•ÔÂ@Õ óÔÂ@bÚ ©ÖÂ`QÕÂgÔÂ`Â×ÂÀ|à´ÜÂàÜÝ ØÂ`!ÝÂ`¼ØÂ ØÂ@ýÕÂÀîÍÂàÕÂàÜÝ ÛÂàúØÂà¿Í ÝÂÀÜЀ×€«ÓÂ@bÚ€Wá ÒÂÒ×€òÜÂ`ÔÔ 4ßÂÀ¬ØÂ LÛÂ`cÒÂ@bÚ LÛÂà‰ÖÂÀ¾ÕÂàâÜÂÀóáÂIÙÂÀ¬ØÂ`ìÐÂàÓÂ@ñ×ÂÆÙ ÉÛ :Þ @ÝÂÀAÕ ÉÛÂ@t×ÂàqÚ 2Õ ‹Û€"ÕÂ@÷ÖÂàèÛÂêÓ ÚÂÀ²×ÂÀGÔÂÀ;Ö êàÂÀ)ÙÂÀ#Ú ÉÛÂ`Â×Â@ýÕÂ`øÎ »ÓÂlèÂ@VÜÂ@ÍÝ  Ñ€àß ™ãÂ@ŒÓ€Ú€cß XÙ‘ÍÂÀwÌÂÀ¦ÙÂ@’ÒÂàÔ€±Ò‹Î 8ÔÂ@t×Â`™É€ØÂ@˜ÑÂ`9ÙÂàÔÂ`iÑ ùÓ€FÏ ÝÂ@-ÎÂà ÖÂ@†ÔÂÀváÂÀ/ØÂ LÛÂÒ×Â@ÒÂÀAÕ€(Ô AÈÂ@3ÍÂ@ÕÂÞÕÂÀÊÓ€ìÝÂ`'Ü ÷ÉÂIÙÂ…ÏÂ`!Ý ÁÒ€áÊÂ@bÚÂ@hÙ ©ÖÂ`ËÂÀâÏ ‹Û´ÜÂ`cÒÂ@!РDÒÂ`ýâ á×ÂÀváÂ`iÑÂà}ØÂ€(Ô 2ÕÂ`-ÛÂàƒ×Â`¼ØÂ[ÖÂàîÚ¨Þ„äÂà‰ÖÂOØÂàÕÂ@ëØÂàSßÂàÔÂ`¤Ü êàÂ`êÂàÕ  ÑÂÒ×€‡ÙÂ`˜ÞÂ@JÞ (áÂ@ÇÞÂ`uÏÂ`ÈÖ€ÕÌÂ@hÙÂàÕÂàØÂ@ýÕÂÀpâÂ+ÞÂ%ßÂàâÜ ùÓÂyÑ€ŸÕÂgÔÂÒ×ÂÀ¸ÖÂÀSÒ ÏÚÂ@’ÒÂ@†ÔÂ@ëØÂ`˜ÞÂ@÷Ö€uÜÂ ÛØÂ 5Ê€oÝÂÀ5×ÂàqÚ€@ÐÂàÖÞÂÞÕ ÜÂàÔ€XÌÂà­ÐÂ@ÙÛ€æÞ ÚÂ`˜ÞÂÀ Þ ÁÒÂà}ØÂ vÔÂàôÙ íÕÂÀjãÂÀÊÓ€uÜ ØÂàÕÂaÕÂ@nØÂ ™ã€·Ñ \ΠÙÂ`òÏÂ@nØÂàèÛ íÕ jÖÂÀ¬ØÂàØÂ@nØÂ ‹Û PÐÂ@ñ×Â`3ÚÂàÔÂÀÊÓÂØÖÂ@ÍÝÂÌØÂ`WÔÂÀ¬ØÂ "â ·Þ€ÚÂ`ÈÖ€Ú —ÙÂà$Ò ÍЀ:ÑÂÆÙ€“×ÂÀ ÞÂ@VÜÂ[ÖÂÀ5× pÕ€uÜÂà¡ÒÂÀkÎÂÀ_Ѐ«ÓÂOØÂ yÞÂâ ·Þ Ý \Π&× @ÝÂà¦æÂà ÖÂ` Ì ·Þ á×€(Ô ùÓ 2Õ 8Ô ßÍ ‹ÛºÛ ÕÙ€þÚÂà¡ÒÂÀGÔ—ÌÂ@ýÕÂ@£äÂàÕÂgÔÂÀÛ€½ÐÂ@’Ò€±ÒÂ@ñ×ÂöÑÂÆÙÂÀ¾ÕÂàèÛ ØÂ`¼ØÂàqÚÂmÓÂÀÜРÛ€Ú £× JÑÂ`¶Ù ‹ÛÂ@ÕÂÀ)ÙÂ`hæÂ ÛÂ`{ΠpÕ´Ü çÖÂ…ÏÂ`QÕÂ`3Ú€4ÒÂ@µáÂàîÚÂà¹ÎÂà¡ÒÂàèÛ ÒÂ`Â×ÂÀÛ ÃÜ€™ÖÂÀßÂIÙ ÜÂàÔÂ@åÙÂ@†ÔÂsÒÂ@hÙÂÀúËÂàBÍÂ`E×ÂÀ¦ÙÂàúØÂyÑÂ@hÙ€“×Â&Ê 8Ô —ÙÂÀGÔÂÀˆÞÂ@t×ÂÀÖÑ 2ÕÂÀƒÊÂüРjÖÂIÙÂ…ÏÂà§ÑÂÀÜÂÀÄÔ€ŸÕÂÀAÕ £× #ÍÂ@†ÔÂ`cÒÂyÑ€þÚ€ŸÕ ØÂ ©ÖÂ@PÝ »ÓÂ`Ë ÁÒ pÕÂ@ÁßÂà0ÐÂÀGÔÂ@-Π‹ÛÂÌØÂ >ÓÂÞÕÂ`oÐÂàÕÂÀGÔÂà­ÐÂ@\ÛÂà­ÐÂ`QÕÂaÕ€æÞÂàËËÂ`WÔ çÂÀÝ ^ØÂàúØÂµÇÂ@’ÒÂÀÝÂÀ¬ØÂÀÝ´ÜÂ@JÞÂÀÊÓ Ïڠ܀{ÛÂ@’ÒÂmÓÂ%ßÂÌØÂ@ýÕÂàeÜ€.ÓÂàØÂ€.Ó ‹ÛÂ`ªÛ ^ØÂ@ñ×€ŸÕÂ`-ÛÂ`9ÙÂ`-ÛÂà0ÐÂ`¶ÙÂà<΀þÚÂ@åÙ ¯ÕÂàYÞÂ@8áÂ@€ÕÂ@€ÕÂ@ßÚ€“×ÂàÖÞ ÝÂ@VÜ€‡ÙÂÀAÕ€«ÓÂ@'ÏÂà§ÑÂÀÊÓ€4ÒÂ@°ÍÂ@ýÕ ØÂÒ×ÂÀGÔÂ%ßÂ@zÖÂÀÛÂ`?ØÂÀ/ØÂ€KãÂ1ÝÂàÂÎÂ`Â×€™Ö€ÉΠÓÏÂ@'ÏÂmÓ /Ë )ÌÂÀSÒÂàÔÂÀ¸ÖÂà}ØÂ Ü ÕÙÂà§Ñ€×ÂàwÙÂ`'ÜÂ ÛØÂ —Ù€Ú ßÍÂ@ßÚ åÂ@ÑÂ`QÕ€“×ÂÀÊÓÂàÕÂÀ¬ØÂ€FÏÂaÕ€.ÓÂ@ÔÇÂà6ÏÂàÕÂÀ¸ÖÂÀ¾ÕÂyÑÂà0ÐÂÀ¦ÙÂ`3ÚÂ`-ÛÂ@ýÕÂ…Ï€“× ,ÖÂ@-Π\ΠmàÂÀ ÚÂ`WÔÂ`àÒÂOØÂЀL΀¥Ô€LÎÂ@9ÌÂU×Â=Û€™Ö 2Õ —ÙÂÀYÑÂ`Â× màÂÀAÕÂ`¶Ù´ÜÂÆÙÂ>ÆÂ ÿÒÂ`¤ÜÂàÕÂ@'ÏÂgÔÂ`žÝ€oÝ RÚ íÕÂ@†ÔÂ`?ØÂ`Â×Â`ëå …Ü ÖÄ  Í jÖÂ@»àÂÀ¾ÕÂàÕÂ`ÈÖÂÀ”ÜÂÀ;ÖÂ[ÖÂàwÙ€Úà 4ßÂ`°ÚÂ@2â€þÚ ¯ÕÂ@t×Â`†áÂàúØÂ[ÖÂÌÂà‰Ö€øÛÂ7Ü€ÏÍÂÀAÕÂ`cÒÂ`žÝ »Ó´ÜÂ@ÇÞ€þÚÂ`-ÛÂU×ÂÀÚ óÔÂÀAÕÂ@Ó€ØÂ`ªÛÂ`˜Þ€:ÑÂÀèÎÂà ÖÂ`Â×ÂàÜÝÂ@nØÂ@˜Ñ€½Ð€ÚÂ@ëØÂ ÝÂ`˜Þ€"ÕÂÀ¦ÙÂà›ÓÂÀ”Ü ÓÏÂ`QÕÂ`ÔÔ€ ÙÂ`QÕÂÏÂà›ÓÂ@÷ÖÂà}ØÂ "âÂÀ ÚÂ@nØÂÀŽÝÂÀ)ÙÂÀAÕ€™ÖÂ@ÕÂ@\ÛÂ@ÓÜÂêÓÂ`cÒÂ`ªÛ ÜÂÀÛ ˆÑÂà ÖÂà­ÐÂ@åÙ ‹ÛÂ`°ÚÂ`ÈÖ€ÏÍÂ@EÊ€ÉÎÂàZÉÂÀeÏÂöÑÂÍ€:ÑÂ`]Ó€½ÐÂ`¶ÙÂgÔ€.ÓÂ@¤Ï ˆÑ ÚÂ@žÐ á×Â1ÝÂ@ªÎ€"ÕÂ@9ÌÂ`ÈÖ ®êÂ1Ý€™Ö€:ÑÂÀîÍÂ`ÚÓ€·ÑÂ@ÒÂÀ ÚÂ@ÙÛ Ë ÏÂàeÜÂÀ5×ÂÀ5× ùÓ µÔÂ=ÛÂÀ/ØÂ ‘ÚÂàÔÂ@€ÕÂÀ/ØÂ`æÑÂÀ;ÖÂàSßÂ`ªÛÂ`Œà ŽÐÂ@\Û€þÚ€EäÂÀ Þ  Ñ€™Ö€™ÖÂàqÚ VÏ€™ÖÂ`]ÓÂàÔ pÕÂàÓÂÀÜ€ Ù€øÛÂÀ¬ØÂ ^ØÂ ÒäÂÀßÂ@ÒÂ`Ë€ÖÂÀÚÂàâÜ …ÜÂ@ê€òÜÂ@\ÛÂ@ÈÉÂ@ ÔÂ@ýÕ ßÍÂÀ;Ö ¯Õ€¥ÔÂ`¤Ü€:ÑÂ`ÔÔÂàâÜÂÀqÍ ÒÂÀ|àÂáÂÀŽÝÂ`E×€ŸÕ ²Ê ÙÂà×Â@Ó€:ÑÂà‰ÖÂÀ Ú€þÚ ØÂ@&ä íÕÂ`°Ú ÉÛÂ`uÏÂ`ÔÔÂ`þÍÂ`“ÊÂàqÚÂÀ¸Ö ÏÂ@9ÌÂ@ªÎÂ`E× ÉÛÂà¹ÎÂàïÅ Р¯Õ ^ØÂ€@ÐÂÀ²×ÂÏ ÍЀÏÍÂÀwÌ óÔÂÀ;ÖÂðÒÂÀ¸ÖÂ@!ÐÂÀ5×ÂgÔÂà§ÑÂÀ ÉÂ`QÕ ±ßÂ@Ò€4Ò€ØÂÀ¾ÕÂÀ¾ÕÂà¹ÎÂ`¤ÜÂ@ßÚÂ@\ÛÂÞÕ ùÓ ”ÏÂ`æÑÂ`QÕÂgÔ€·Ñ ÿÒÂU×ÂÀAÕ ^ØÂ`cÒÂàÕÂÀè΀ùÆÂÏÂÎÂ`WÔÂÀÐÒ hÌÂ@’Ò ÄÇ óÔÂ@ñ×ÂàúØÂ€ÕÌÂ@Ó€±ÒÂ@¤Ï µÔÂàNË  ÑÂà*Ñ OåÂ`Â×€ŸÕÂ@Õ€"Õ€¥ÔÂÐÂ@ÎȠπÛË 2ÕÂ`ÎÕ€¥Ô ßÍÂ`oÐÂà•ÔÂ@zÖÂ`KÖÂÀ‰É \ÎÂêÓ ÎÂÀ²×ÂÀwÌÂ`]Ó šÎÂ`òÏÂÀîÍÂÒ× ŽÐ GÇÂàTÊÂ@ÈÉ ¦Ì Ò ,ÖÂ[Ö‹ÎÂ@ÂÊ íÕÂÌØÂàÐß ßÍ€4ÒÂ`WÔÂà0ÐÂ@ŒÓ >Ó pÕ€ÉÎÂÀÚÂ@3Í ŽÐÂàÑÊ€dÊÂÀk΀ÛËÂÀYÑÂmÓÂÀwÌÂ`¼ØÂ |ÓÂ`KÖÂÀ²×Â` ÌÂ` Ì 'ÂÂ`iÑÂÀÜЀ«ÓÂ`àÒÂàãÇÂ@€ÕÂ@ÑÂ`QÕÂÀAÕÂàéÆÂÐÂàÝÈÂÀîÍÂÀ}ËÂ`’߀ØÂà ÖÂ`iÑÂ@÷ÖÂäÔÂsÒÂ`.ÆÂ‘ÍÂ`ÉÂà$Ò ¦ÌÂÀ‚ßÂ`ß µÔÂÀÊÓÂ@žÐ€¥ÔÂà}ØÂ ¯Õ€·Ñ€‡Ù &×€ØÂàTÊÂ@-ÎÂöÑÂCÚ #ÍÂÀk΀½ÐÂ`]Ó€·ÑÂÀSÒÂ`àÒ ßÍÂ`{Πd×Â` Ì€"ÕºÛ åÌÂ@ªÎ ¦Ì ·ÞÂÏÂ`òÏÂ@ÑÂÀAÕ–áÂÀMÓÂ@žÐÂ`{ÎÂàHÌ >Ó ¯ÕÂ`Â×Â@EÊÂ`ÍÂÀúËÂÀSÒ ^ØÂ€ØÂ1Ý ÙΠÙÎÂÀÜРXÙ )Ì ÙÎÂÀÐÒÂ@PÝÂ@?ËÂ@bÚÂÀAÕÂÀ;Ö d×ÂÀÐÒÂ@ªÎÂêÓ ЀXÌÂ@ÙÛ€.ÓÂàÜÝ ¬ËÂÀƒÊÂÀ/ØÂ ©ÖÂà•Ô€-èÂ@\ÛÂÌÂ@'ÏÂà}ØÂ íÕ ¾ÈÂ@EÊÂ`ÈÖÂ@t×ÂàÔ€(ÔÂØÖÂÌØÂ`9ÙÂ`ÚÓ€¥Ô€4ÒÂ…ÏÂ@nØÂ`òÏÂ@ÙÛÂ@\ÛÂà ÖÂ`uÏÂ@÷ÖÂ@'ÏÂàØÂ`ŒàÂ,ÉÂ`™ÉÂÀ¸Ö€(ÔÂ`]Ó€×ÂÀôÌ ¸ÉÂÀšÛ óÔ PÐÂàôÙÂà×Â@t×Âà­Ð ˆÑ´ÜÂ1ÝÂÀYÑÂ`ŸÈ ¸ÉÂà×ÉÂ@t×Â@hÙÂàØÂ€ÕÌÂsÒÂ`uÏÂÀË ËÂÌÂÀÖÑÂÀ ÚÂàeÜ€ŸÕ jÖ ÜÂ@Ó çÖÂàÕÂÀ;ÖÂ@DßÂyÑ€þÚÂ@VÜÂÀ¦Ù´ÜÂØÖÂÀ¸Ö @Ý€™ÖÂyÑÂ1ÝÂ`ÎÕ &×ÂàôÙÂõæÂà;ãÂ@DßÂàwÙÂÀAÕÂöÑÂà`È€ìÝ vÔ Ù€˜ëÂ@ÍÝ çÖÂ`E×ÂÀ)ÙÂ`cÒÂ@ÑÂÀ)ÙÂ`{ÎÂà­ÐÂ`àÂ`ÚÓ€òÜ€"Õ€.ÓÂàúØÂÀÕæÂ–áÂ@VÜ Ú€FÏ ÍÐÂ`¼ØÂ‹ÎÂ@ÒÂU×Â1Ý 2ÕÂ@JÞÂ`‡ÌÂU×ÂÀÛåÂà‰Ö€(ÔÂ@ÍÝ€ÚÂ@åÙÂÀ¬ØÂ€™ÖÂ`E×ÂÀ‚ß´Ü€ÎâÂ@€Õ çÖ ÏÚÂÀSÒ ΠØÂà³ÏÂÀ)ÙÂÀÐÒÂ`¶ÙœàÂ@ÇÞÂ@DßÂàHÌÂ@nØÂ@>à€øÛÂÀ ÚÂàÊà &× pÕÂà6Ï€“×Â@'ÏÂ`Â×Â@\ÛÂ@ÑÂ`¶ÙÂöÑ 2ÕÂaÕÂÀGÔÂ`æÑ öÞ üÝ íÕÂÀ)ÙÂÀAÕ nËÂ`þÍÂÌØÂÀÝÂ`WÔ€:ё̀½Ð ØÂ ÉÛÂ@VÜÂ@˜ÑÂàÊà€‡ÙÂÀÊÓÂÀ/ØÂ ‹ÛÂÀ Þ€æÞÂÌÂgÔ ,ÖÂ@8áÂà×ÂÀÜ ¦Ì€XÌÂÀAÕÂ`ÎÕÂÀÊÓÂäÔÂÀÜЀþÚÂàkÛ  ÑÂÞÕÂmÓ€“×Â`-ÛÂ+ÞÂÀ Þ ÀçÂàáñÂ`PêÂ`…öÂ`\èÂ`†áÂ@ å `÷ ®êÂ`»í °ôÂÀ™ð HûÂÀEþ­òÂ` òÂ`Uþ Ôî€JøÂÀEþÂîüÂÀì÷ÂÐÑàüÂ`öøÂ Tù í -õÂîü zà <ÃÀÎüÂÀ¼à 6À©Ãà¥ûÂÀKýÂîüÂð=ÃàÃà·øÂôûÂýÀßô ž÷ÂàFö €üÂ@àzðÃÀWûÂà“àhÃ`Øý€,ý°$Ãð´Ã`[Ã`Uþ øÂ`ÒÃà‡ð¡Ã)Ã0Âà 0ÿÂ÷ÃPŸÃýÀnò€8ûÂð´Ã`äûÂÀKÃPà <Ã@úÂÃ_ÿ€P÷€¯üÂ`ØÃ°àtÃGÃÀÈÃPÃàÃù°›Ã`ÌÃ0ÈÃàÿÂ`äûÂàÕó ³þ 0ÿ¸àúÂ`Uþ †ûÂð+ð›ÃP±Ã`ØÃ€©ýÂGÃèàhÃÀæøÂà:øÂÀKÀ©Ã@~ÿÂ@œúÂ`÷Â@–ûÂúÂ`ðùÂ0Úàž÷Â0cÃð7Ãù HûÂ@ûÃÐïÃeÃký€&þÂ`êú -õÂÀEþ ýüÂàÃ}úÂ}ú€©ýÂÀŸïÂîü›õÂ_Ã`OÿÂSÃð7ÃÀQüÂ@ûÿÂÀEþÂ@´öÂàÏôÂ`Òþ 6à Hû zýÂ0]Ã@úÂð=ÃÀcù ­ÿÂ`aü úÂ`ØýÂ@üÂðºÃÜÃ@ ÃÀÔû ãö°$À¯üÂ@~ÃÐÝà ¹Ã`ÆÃ@ŠÃ`UþÂP¥à ­ÃeþÂÜÿÂÀ?Ã@ûÿÂ0cà ¿üÂÀÔû tþÂ@ŠÃÐ`Ã@éÃ@1÷Â`ÞüÂ0?À&þ 6þ›õÂúú ZøÂõÂ`ö ¿üÂ@ÃÀì÷ÂÀÈýÂ`UþÂ@ ýÂpçÃÐZÀ&Ã@„þ ÅûÂÀKýÂÀKýÂ`UþÂp‚ÃÀÈÃ}úÂ@œúÂ`IÆÃ}ú €üÂ@ŠýÂkýÂ@ü€µûÂ@¢ù Nú ùÂÀòÂ`öøÂ ÷ýÂÀÔû ­ÿÂ`[à ­ÿÂ@¢ùÂ`yøÂ úÂÀEÃMÃÀEþÂúÂÀKÀP÷Â`òƒùÂà¥ûÂ0ÔÃ@ÆóÂ@=õÂ*óÂ`÷€åóÂÀo÷ÂÀÈý€£þ ¹ÃàÏô ÑùÂ`÷ÂÀþôÂâþ HûÂ@%ù ËúÂ@sìÂ`,ðÂÀ™ð Îï ãöÂ@Cô ³þÂÀô€,ý ˜øÂ`êúÂÀ¥îÂ`‘ôÂ@úÂÀì÷€åóÂà4ùÂ@´öÂÀKýÂ<ðÂ@¨øÂàXó 3ôÂÀÈý€8ûÂÀiøÂ€Í÷›õ€¯üÂ`‹õ ŒúÂÀo÷ ŠðÂ`Øý€»úÂ@Cô€hóÂÀÈý Îï øÂà“þÂàjð€ï àì øÂ€P÷Â`ö€zðÂ6ñÂ*óÂ@Uñ€÷ðÂ`òÂàpï€P÷Â@…éÂ`\èÂ`>íÂÀŸïÂÀÉè€ê cìÂ`€âÂàíïÂÀo÷ Èð€’ìÂlè ¼ò€÷ðÂàóî Qï€nòÂÅîÂùÂÀ:뀆îÂ`ò 3ôÂTì æë 7éÂà ëÂÝêÂ`Jë éõÂà ç .àÂà‚ìÂ@&äÂàÉõ¿ïÂ`Jë cìÂxæÂàíïÂ6ñÂ6ñ 7éÂ@êÂ`2ïÂËíÂ`Jë Ôî þçÂõæÂ “ä€hó –î –îÂ`êÂ`óÂÀ@êÂà¦æÂ`µî ðÂ@Ìò¹ðÂÀ4ìÂ`»í€zð 'ö€žê€åóÂ<ðÂ@£äÂéè€íÂÀjãÂ`JëÂ`2ïÂàXóÂàê 7éÂ<ðÂ`—ó€!ê ïôÂÀiøÂà@÷Â`ö ¨ëÂàÐßÂãéÂ@»à€tñÂà:øÂ ´é ¨ëÂÑì ìê 1êÂ`Vé àì 7éÂàùíÂàóî föÂ@äî ué Ôî ÔîÂÀ Þ€ÎâÂ`2ï TùÂà|íÂËíÂ*óÂÀðÂ`ÍêÂ@£äÂÑì ÎïÂéèÂ`©ðÂ`Vé àì EñÂ`ÙèÂÀÃéÂ`‘ôÂ@ÞïÂÀuö€¤é æë æëÂàÃö ï€퀞êÂÀñÂà ç³ñÂTìÂÀíâ %ìÂ@‘ç€JøÂÀ:ëÂàšèÂ@sìÂÀçã 1êÂâÂ倘ëÂ@ê•öÂ@éÂÀ^å Uä€Ôá ä ìêÂ@Øð Àç íÂÀdä€Wá ªõ OåÂàÿìÂ`Vé aâ€!êÂ`Vé€-èÂÀ™ð€žê ð åÂÀÛåÂ`ñäÂ@ðìÂ`2ïÂ@ÇÞÂr瀌íÂà ë {èÂ@ 倰çÂ@èÂြåÂÀdäÂ@ê¡ô€Âä Þâ yÞÂÀÜÂ`\èÂ@…éÂàšèÂ`¯ïÂÀ4ì€!ê€ïÂà)æÂŠã€?åÂ@—æÂ€\õÂ`ÙèÂ`ýâÂàÐ߀ëò åÂfé ÞâÂÀÏçÂÀÛåÂÀ^åÂ`Á쀘ëÂÀ(îÂàeÜÂÀÃéÂ@é ã äá 4ß„ä QïÂ`Jë ÎïÂ@å à쀞êÂàóîÂÀLè€Kã "âÂfé :ÞÂÀdäÂÀ“ñ i뀶æÂ`bçÂàGáÂÀ½êÂ<ðÂàGáÂà ëÂÀáäÂÀùàÂÀ½ê€Èã {èÂ@èÂ`ÇëÂ@ê€9æÂ€¤éÂÀjãÂ@…éÂà/åÂZëÂâŠã€¶æÂ@üêÂ@¯â€æÞÂ`PêÂ`†á¢ß å çÂ@êí öÞ äáÂÀÉè %ì å  æÂ %ì ç Cç IæÂ œíÂà)æÂ@åÂ@µáÂ<ð€9æÂ`ÞÂ`bçÂ`Pê äáÂÀ(îÂ ÆæÂ`JëÂ`ßç IæÂÝêÂ@êÂ`åæÂ`Áì "âÂ`ýâÂàéÂ@sìÂÀò›õÂàê îÂÀóáÂàšèÂÀLè¢ß€÷ðÂféÂ`»í€˜ëÂàꀼåÂ`ê Wî uéÂ`hæÂ@æÂ`ýâÂàùí€àßÂ@ëØÂ@¯âÂÀdäÂ@ðìÂ@gîÂ@ÁßÂÀRçÂ@ê€ì€ï ÌåÂ`>í€oÝÂàSß  æÂ@&äÂåÂà çÂÀ:ë cìÂàkÛ€ÈãÂ`ÓéÂà‚ì€ îÂâÂ@ÁßÂÀXæÂéèÂ@æÂ@èÂÀÏçÂ`ëå€ëÂ`€âÂ`ê ÚíÂ@ç {è ®ê Ìå€à߀ÎâÂ`»í€]àÂ`†áÂäÂ`ÓéÂ@é€ îÂàˆë¿ï 1êÂÀóáÂ`óÂ@©ãÂÀ@êÂ@êíÂ×ëÂ@8á€9æÂ {è Øã 1êÂà|íÂ@êíÂ`täÂÀjãÂâÂàùí ÈðÂÝê€3çÂ@PÝ€9æÂÀ|à «àÂÀ±ì ØãŠã [ãÂà¦æÂà¦æÂ€!êÂ@¯â oê ÌåÂ~åÂ ÆæÂÀÛåÂ@sì€9æÂ ÆæÂBߠìêÂàˆë€ë î€òÜ ºèÂàÊàÂ@ÙÛÂ` áÂ@µáÂÀ@ê ã€Qâ ±ßÂ@—æÂàAâÂâ€ìÝÂ`žÝÂ@å€-èÂÀÕæÂÀíâÂ@ÓÜ®ÝÂ`ÓéÂIÙÂàŽêÂà¾âÂ@—æÂ å€hóÂ@ÇÞ êà IæÂ`WÔÂ@åÙ¢ßÂ`ñä€Kã€Ôá€EäÂàÐßÂàÊà€-èÂàèÛ€Kã ŠðÂ`€âÂ`ŒàÂ1Ý€ îÂÀÜÂÀ|àÂà›ÓÂ`àÂÀRç @ÝÂ@t× @ÝÂÀ ÚÂÀ ÚÂÀÐÒÂ`àÂ`hæÂ`zãÂOØÂ€‡ÙÂ`’߀ØÂà}ØÂ Û€Ú€Wá€3çÂ`¼ØÂœàÂ@…éÂàôÙÂ@¯âÂà¸ãÂ[Ö yÞÂ7Ü€Wá ¥á¨ÞÂÀÛÂÀÛåÂ@ëØÂU× 8ÔÂÀ‚ßÂ@Ó€Ú gáÂÒ×ÂgÔ µÔÂà$ÒÂ@’Ò®ÝÂ@bÚ RÚÂàYÞÂÀ)ÙÂàeÜÂà_ÝÂ`òÏÂàîÚÂàeÜ ‘Ú€ìÝÂÀŽÝÂ`ÞÂ`WÔ€ ÙÂÀ_РÃÜÂ@‹èÂ@ÇÞÂÀùàÂ@ýÕÂ@ÙÛÂÀ¬ØÂÀ)ÙÂàôÙÂà_ÝÂ`â &×€× oêÂÀ¾Õ —ÙÂ`ÈÖ€¶æÂàS߀‡ÙÂIÙÂàšèÂéèÂ`¤ÜÂàqÚÂ`Â×Âà¬å XÙ€ØÂ XÙ 2Õ€oÝÂÀváÂ@'ÏÂÀ ÞÂIÙ ^ØÂ RÚÂâÂà Ö 4ßÂ=ÛÂ@nØÂÀÚÂÀÝÂ@ëØÂ@€ÕÂ@Dß pÕÂàÜÝÂàâÜÂ@2âÂäÂÀ5× ÉÛ´ÜÂà;ãÂ@>àÂ`WÔ äÂ@ÇÞ öÞÂàôÙÂ@bÚ µÔ 8ÔÂÀ ÞÂ@8áÂ@ÁßÂÀpâ€@ÐÂà×ÂÀÛ ÃÜÂÀÛÂ@t×Â`¼ØÂ ‹ÛÂÒ×€ÃÏ µÔ öÞÂüÐÂ@ßÚÂàÐß ØÂÀ5×Â@ÓÂ1ÝÂÀváÂÀ¦ÙÂÀÊÓÂàîÚÂàîÚÂðÒ´ÜÂ@Ó ^ØÂ ØãÂ@ëØÂ€iÞÂÀˆÞÂOØÂà$Ò hÌÂÀAÕÂ@ñ×Â@÷Ö€¥ÔÂÀ5×Â`]ÓÂgÔ ¥á vÔÂÌØÂ màÂÀGÔ€«ÓÂàÕÂ@ëØÂÀÚÂ@t×ÂaÕÂIÙ ÕÙÂ@åÙÂ@»à FÜÂà_ÝÂ@‘çÂ@ÕÂ`ìÐÂ+ÞÂ@t×Â@žÐ€·ÑÂàîÚ ÃÜÂ@bÚÂÌØÂ@ÇÞÂ`ªÛÂÀÊÓÂÀ)ÙÂ`æÑÂÀâÏ ÏÚÂÀßÂÀŽÝÂÀ5×Â@†Ô€?åÂàÊàÂ`ÙèÂàSßÂàeÜÂ`E×Â@Õ—ÌÂ%ßÂ@VÜÂÀ)ÙÂà¸ãÂ@ÙÛÂ@ÍÝÂ@ÍÝÂà Ö€Ú ÞâÂàS߀ìÝÂ@÷ÖÂà}ØÂÀXæÂ gá s߀KãÂàeÜÂÀ Þ€øÛÂ@£äÂàƒ×ÂÀeÏÂÀSÒÂàîÚ€òÜÂàÕÂ@€Õ RÚÂ`ßç ðßÂÀ^åÂàØÂÀÛÂ`¼ØÂÀAÕÂ@2âÂlèÂÀ”Ü sßÂà¸ã€Kã «à «à ÞâÂ@‘çÂÀváÂÀÐÒÂ ÆæÂ`-Û =èÂBïÂÀ^åÂÀßÂ@Áß ±ßÂ`Þ —ÙÂÀ|àÂ`ÚÓÂÀÝÂàšèÂÀdä„äÂ@2âÂ`ßÂàÜÝÂÀÝÂ`tä€KãÂ`\èÂàôÙ mà€Ö€ìÝÂà#çÂ`÷ãÂõæÂ ã¨ÞÂ~åÂ@Dß òéÂà_Ý çÂ`âÂÀjã äáÂàÜÝ€Ôá€KãÂ`ñäÂ`ÍêÂ@é UäÂ@¯â åÂÀÃéÂÀÝÂÀÕæÂ çÂÝêÂ@ÇÞÂÞÕÂàqÚÂàSß ‘ÚÂ7ÜÂà#ç åÂÀÛÂÀSÒÂ@¤Ï ÕÙÂ@bÚÂàeÜÂÀ)ÙÂ ÆæÂàYÞÂàGáÂïçÂÀ‚ßÂ`ßÂ`KÖÂ`KÖÂ@ÁßÂ`ŒàÂ`ªÛÂ@ÇÞÂÀÛ Uä„äÂàMàÂ`PêÂà ëÂÀpâÂCÚÂàGáÂ`˜ÞÂàÊà€‡Ù üÝÂ`÷〞ê @Ý€ØÂÀùàÂ@æÂ€ØÂ@ÓÜÂÀ”ÜÂaÕÂ`ªÛÂàâÜ€Ú€ØÂàƒ× aâ€ÎâÂàYÞÂ`ìРRÚ€øÛÂÀß ^ØÂ 4ßÂà)æÂ ã€9æÂ mà &× ÉÛ€Âäœà ©ÖÂà¡ÒÂР&×€òÜÂÀÝÂ=Û XÙÂ@åÙ€«ÓÂÀ²× ÜÂ`ÎÕ vÔÂ`ÚÓ ÏÚÂà¹Î€.ÓÂÀMÓÂà}ØÂàÕÂ@t×ÂàôÙÂ@hÙÂÀÐÒÂÀ#ÚÂäÔÂàØÂÀ|àÂÀóáÂà×ÂàSßÂlèÂ+ÞÂà Ö€·Ñ jÖ€±ÒÂÒ×Â`òÏ ÙÂ@©ãÂà§ÑÂàèÛ —Ù ãÂ@£äÂ@åÙÂ@ÙÛ ½Ý :Þ€òÜÂÀ”ÜÂ`3ÚÂIÙÂ`’ßÂàÖÞÂ`3ÚÂÀÄÔ ÁÒ .à ^ØÂ`ŒàÂàÐßÂ@bÚÂ%ß ÏÚÂ`ŒàÂàÜÝÂ@bÚÂÀ|à€øÛ sß pÕÂ@VÜÂ ÆæÂ äÂà¡ÒÂ`9ÙœàÂÀ Þ€ÚÂàGáÂÀvá ØãÂ`ªÛÂ@¯â :Þ€Ú€½ÐÂ@VÜÂÀ ÚÂÀAÕÂà0ÐÂÀÿßÂ@PÝÂàÊà Ÿâ mà€àß µÔÂ@>àÂÀ;ÖÂ1ÝÂÀ)Ù€±Ò ØÂ íÕÂ@÷ÖÂÀ Þ ÝÂûåÂ`VéÂ@åÙ ÝÂÀŽÝ jÖÂà›ÓÂàƒ×ÂÀ¦ÙÂÀîÍÂÀ/ØÂÀ/ØÂ€×ÂÌØÂ€«ÓÂàÕ€9æÂ@Dß µÔ Ú yÞÂ@ÁßÂÀÛ€™ÖÂÀAÕ€“×ÂÀˆÞÂ`?ØÂ —ÙÂÀRçÂàeÜÂàÖÞ ‘ÚÂÀ;ÖÂ@µá€ Ù Uä 4ß ^ØÂ Ý íÕÂà<΀ìÝ sß ¥áÂà¡ÒÂ@÷ÖÂåÂ@†Ô ”Ï \ÎÂÀ²×€ÚÂ@ÇÞ «àÂÀßÂÀ”ÜÂ`!Ý ‚ÒÂ`WÔ FÜÂsÒ€WáÂ@ÓÜ€ØÂ€ Ù€Ú€ìÝÂ@ÍÝ êà®ÝÂàSßÂ@åÙÂà§ÑÂ@ýÕÂ`¤ÜÂ`iÑÂÀ‚߀ÖÂ@zÖÂÀÜÐÂ@bÚ€ìÝ êà ,ÖÂäÔ ¯ÕÂÀÚ PР—Ù€ìÝ€àßÂOØÂà_ÝÂ@»à d×Âà Ö€·ÑÂà_ÝÂÀ Ú @ÝÂàúØÂ ‘Ú yÞ€(ÔÂà óÔÂàÂÀóá êà ©Ö äÂ1Ý “ä€ÚÂÀ5×Â`¼ØÂ ÙÂ@hÙÂàôÙÂà›Ó€Ö€àßÂÀÛ€Ú¨Þ íÕÂÀÄÔÂà_ÝÂ@'Ï yÞÂ@ÁßÂàƒ×Â`ŒàÂÀç〽ÐÂ`ÞÂ@†Ô sß RÚ ÌåÂÐÂ@ëØÂ€‡ÙÂ`ªÛ€™ÖÂØÖÂàSß 2ÕÂ@bÚÂ`à ã öÞÂ@8á LÛ ÚÂ`3ÚÂ`žÝ ©ÖÂ@zÖÂ`]ÓÂ`¼ØÂ€ØÂÏÂÀ#Ú ^ØÂ@ ÔÂ`žÝ PÐÂ`žÝÂàôÙ d× JÑÂ@°ÍÂðÒÂàúØÂ`!ÝÂ+Þ€þÚ€‡Ù ¥áÂÀ”ÜÂ`àÒÂ@åÙÂ@ ÔÂðÒ€^Ë ‚ÒÂ@ÓÜÂà‰Ö (áÂ@÷ÖÂà$Ò€ÚÂ`QÕ êàÂ@ëØÂ ÜÂ@†ÔÂÀAÕÂ@\ÛÂÀ#ÚÂ`QÕÂ`9Ù€LΠÛÂÀ)Ù€LÎÂàÓ —ÙÂgÔÂ`þÍ µÔ nËÂÀYÑ€ÖÂ`àÒ /ËÂ@3ÍÂàúØÂØÖÂ`ÈÖÂРÃÜÂðÒÂàÕÂ`¼ØÂ€@ÐÂ@ÍÝ µÔÂ`‡Ì€ÛËÂ@ªÎÂ@Ò çÖ pÕÂ@ÑÂà§ÑÂ[Ö€uÜ ½ÝÂêÓÂ`™É€4Ò€“×Â@t×ÂΠvÔÂ@ëØÂ PРPÐÂ@ÓÂ@÷ÖÂàwÙÂÀÐÒÂ@ªÎÂÀÊÓÂ@VÜÂyÑÂ`QÕÂ`WÔÂàôÙ€^Ë 5ÊÂÀGÔ€4Ò€‡ÙÂ@ÓÂ`Çë€]àÂÀ‚ß jÖÂà<Π ÑÂÀ¸Ö LÛÂU×€^Ë€ÃÏÂ`]ÓÂÌØÂÀSÒÂÆÙ ¯ÕÂOØÂ€òÜÂÀ”ÜÂ=ÛÂå Ü€RÍÂÀGÔ Àç …Ü ‘ÚÂ%ßÂ`†á —ÙÂ@÷ÖÂÀ¬ØÂ ·ÞÂÀÄÔÂ`°ÚÂ@ëØÂ ã‹ÎÂ@t× LÛ å€]à µÔÂÀˆÞÂÀÿßÂ`÷ãÂà/åÂËíÂÀ Þ LÛ ÃÜÂ`µîÂ`÷ã€cßÂ@,ãÂÀjã€Âä IæÂ (áºÛ åÂ@êíÂ@8áÂÀXæÂ çÂ@£ä gáÂÀRç€ëÂ@aïÂà)æÂ åÂÀçã€-èÂ`àÂÀ^åÂïçÂ@ åÂ@ åÂ@2âÂ`åæÂàôÙ å€?åÂÀÕæÂàꀰçÂ`ÍêÂàÄáÂáÂÀÉè€c߀à߀uÜ «àÂÀÛåÂ`täÂ@JÞÂÀLèÂ@£äÂÀçã€ÚàÂÀçãÂ@8á (á sß äáÂà)æÂ€˜ë :Þ IæÂàóîÂ`Jë€9æÂÀ^å þçÂ`\耀ïÂÑìÂ@çÂÀ·ë€tñ€WáÂ@êÂ`»í€\õ ÚíÂ@‹èÂ`bçÂÀÕæÂàáñÂ`VéÂàjðÂÀXæÂÀò€Îâ€?å€ îÂ`\èÂ@æÂÀ ÞŠãÂÀFé ï€¶æÂ„äÂ@µáÂ@yëÂ@æÂ@8á ¨ë€3çÂÀíâ¢ßÂ@çÂà”éÂ@©ã ‡æÂ ÀçÂrç ÃÜ 1êÂ@ åÂàšè .àÂà¾â ç€KãÂÀ½êÂà#çÂ@ꀰçÂÀFéÂÀÛå çÂ`ëåÂ@ÍÝÂ`VéÂà²ä€{Û€æÞ ´éœà ™ãÂ@,ãÂà)æÂ@£äÂÀváÂàGáÂà ç ðßÂ@DßÂNí€oÝÂ`êÂ@è ðßÂ`ñäœàÂ×ëÂÀ@êÂ`hæÂ€9æÂ@Dß ã màÂàGá oê Þâ ÒäÂ@©ã€]à 4ß +ëÂÀ ÞÂ@&äÂ@æÂ@JÞÂ`DìÂà5äÂrçÂäÂ`\èÂ`µî€-è€-è  æÂ@êíÂ`žÝ ÚíÂ@ÞïÂ`†á á×Âà5äÂå„äÂàÄá ä€쀪èÂ@ÍÝ äÂÀ"ï€bôÂ`!Ý ¥á ÀçÂ`ëåÂÀíâ RÚ€c߀ìÝ øèÂ`ßçÂ`ëåÂÀçãÂféÂàÄáÂ`'ÜÂÀ^åÂ@ÇÞ ™ãÂà¾â€ÂäÂÀXæÂÀÃéÂ`òÂ`nåÂ@©ãÂÀáäÂàÜÝÂ@t×ÂÀ”ÜœàÂ7ÜÂÀˆÞ oêÂ`âÂÀÿßÂÀdä ¥áÂÀdä ðßÂÀdäÂ`°ÚÂÀáä ÏÚ :ÞÂà#çÂ@ßÚ “äÂÀ ÚÂÀpâÂ`hæÂ yÞÂ`\è å Øã€°ç€òÜ ÏÚÂ@è äá aâ ™ã€Î†ـ“× sßÂàˆë Uä€Âä öÞ¨Þ œí Û€ØÂ ØãÂÀXæÂ„ä€òÜÂ%ßÂ@öëÂ@2â„ä€3çÂÀÉè€àßÂõæÂ`ñäÂÀùàÂÀçãÂ@8á ÉÛ ÝŠãÂ×ë€æÞÂÀjãÂÀjãÂÀváÂàÊàÂà¬åÂ@£äÂlè€òÜÂ`ÁìÂÀváÂ@»à€Îâ€ÔáÂ×ë ±ßÂÀ5× ºèÂ@ëØÂrçÂàê UäÂ`zãÂ+Þ€È〇ÙÂOØÂÀ¸ÖÂà;ãÂ@…éÂZëÂ@\ÛÂ`°ÚÂâÂ@hÙ€ ÙÂÀÿ߀Úà–áÂ`]ÓÂ`žÝÂÀLè€æÞÂ@êÂàGá gáÂ`¤Ü€cß ŸâÂâÂÀÛå êàÂ`>í€'é€ÚàÂÀÉèÂ@£äÂà)æÂàeÜÂÀŽÝÂÀjãÂ@ÍÝÂÀˆÞ .àÂ@©ãÂÀŽÝÂ@2â€?åÂÀváÂ@©ãÂ@2âÂàÄáÂÀ‚ß ÛÂ@£ä {è öÞ ‡æÂïçÂÀ½êÂ@PÝÂÀÛå þç¨Þ ÜÂà而íÂÀjã€ìÝ€ìÝÂâ åÂ@JÞÂ`åæÂ@ðìÂÀ)Ù€iÞÂÀ ÞÂ`ÔÔ FÜÂ@£äÂäÂÀpâ ½ÝÂ+ÞÂà²äÂ@>àÂ@åÂÀLè„ä þçÂÀßÂàÜÝ€ÚàÂÀÉèÂà¸ãÂrçÂàMà  æÂ@ê€!êÂÀÝÂÀ½ê€!êÂ`zãÂ`ŒàÂÀñÂÀÃéÂ[ÖÂÀÜ€í [ãÂÀ ÞÂ`'ÜÂ@êÂà)æÂà¬å€Qâ€ÚÂà_ÝÂ`?ØÂÀ ÚÂ ÆæÂ —ÙÂàAâÂ@ ÔÂ@êÂ`¶Ù€øÛÂÀˆÞÂ`¼ØÂ€‡ÙÂ@»àÂÀváÂ`àÂ@ŒÓÂ@åÙ€Ú åÂ@ýÕ XÙÂÏÂÀÕæÂàYÞœàÂ`täÂ@DßÂÀváÂ`ñä ÉÛ 4ßÂ@©ã€òÜÂÀ‚ß ·Þ ®êÂ`êÂ`täÂÀpâÂâÂ`nåÂ`†áÂ`ÚÓÂ@ÇÞÂàùíÂ`‘ôÂÀÈ€Âä€3ç®Ý ÃÜ ˆÑ€.Ó ÉÛÂàSß gáÂÀ4ì øèÂ@>à€žê€™Ö ÕÙÂ`ýâÂÀjãÂÀ±ìÂâ þçÂàYÞ€uÜÂ`zã äÂ@Áß RÚ€Wá ð߀EäÂ@»àÂ`WÔÂÌØÂÀáä€ÖÂÀ‚ßœàÂ@bÚÂ@ÇÞÂ@€ÕÂ@ å Ìå “ä äÂ@ê åÂ@gîÂÀjã ÜÂÀjã öÞ “ä màÂÀÏçÂå Oå ÛÂ+Þ OåÂàƒ× £×Â@ å€Âä 7éÂÀáäÂ`’ßÂàâÜÂÀ/ØÂ`ŒàÂ`-Û IæÂ [ã ºèÂÀóá gáÂàÐ߀Qâ€EäÂ`°Ú Ý Òä®ÝÂ`3ÚÂàYÞ RÚÂ`ñäÂÀ¦ÙÂ@\ÛÂàwÙÂmÓÂ`ŒàÂ@…é ,ÖÂàØÂ@ëØÂ ¯ÕÂ[Ö ±ß «àÂ@©ãÂ@ÍÝ€ìÝ€òÜÂ`¤Ü ±ß RÚÂà5äÂÀ|à€ ÙÂÀÚ 砙㠵Ԡ.àÂ`bçÂàSßÂ@VÜÂ@PÝ aâ ÚÂ`ªÛÂ`'ÜÂ`ßÂÀ_РçÖÂàSß Ÿâ màÂàîÚ jÖÂà¸ãŠã ÁÒÂÀ/ØÂÀáäÂÀÜÂ@bÚ Ú ßÍ yÞ …Ü€ î€ØÂÀdäÂÀÜÂ@ŒÓ€Ú Ù ^ØÂ`žÝÂ@€ÕÂ@D߀øÛÂÀÛ IæÂºÛÂÀjãÂÀ¾ÕÂ@t× åÂÀpâÂ`Þ€iÞÂà/å€ìÝÂÀ”ÜÂ`ªÛÂÀÊÓÂÀÕæÂ@©ãÂ@DßÂ` á€æÞÂÀ¬ØÂ@‘çÂ@æÂÀÚÂàúØÂà5äÂÀ ÞœàÂà§Ñ yÞÂ1ÝÂàÜÝÂä jÖ€WáÂÀ‚ßÂàâÜÂ@VÜÂ@ßÚÂ`ÞÂ`Â×ÂÀ#ÚÂ@zÖÂÀ|àÂ@ßÚ @ÝÂàMà ©Ö€Ú€ìÝ ^ØÂÀÛÂ`¤ÜÂÀ)ÙÂàeÜÂÀÚ sß @Ý gá ^ØÂ@nØÂ ØÂàÖÞ ÝÂà;ãÂÀÿßÂÀÜÂЀ±Ò Þâ .à€Wá ÃÜÂ`QÕ´Ü€(ÔÂÀ Ú€×Â@&äÂÀßÂà5äÂàéÂÀáäÂrçÂ@ñ×ÂÀÖÑÂ@!ÐÂà›ÓÂ@ýÕÂ`ýâÂ@¯âÂà×Â@÷ÖÂ`¤Ü€.ÓÂÀ¬ØÂ€¥ÔÂ`9Ù€XÌÂ`Ë€"ÕÂÀÖÑÂ@¶ÌÂU×€WáÂgÔ Ú€ØÂ@ýÕÂ`QÕ £×Â@hÙ …Ü€æÞÂU× [ã€ÉÎÂ`÷ã€oÝ màÂÀÚÂ@ÒÂØÖ ±ß ÝÂ`?ØÂ@†ÔÂÀ ÚÂÀÈÂ@nØÂ`KÖÂÀ¾Õ ÓÏÂgÔÂ`cÒ 2Õ çÖ€{ÛÂöÑ ÃÜ ÏÚÂðÒÂÀAÕ Ù —Ù€@ÐÂ`?ØÂ ÙÂØÖÂ8Ç€pÈ |ÓÂÀÖÑÂ@ŒÓÂ…Ï màÂ@ßÚ  ÑÂà$ÒÂ@ÓÂà•ÔÂÀ#Ú ÕÙÂ@¤ÏÂàÕ 2Õ€òÜÂ`9ÙÂ` ÌÂ@žÐ LÛÂÀ¸Ö Û€ÖÂÀË £×Â@Õ ÙÂ@ñ×€«ÓÂ@zÖ€‡ÙÂÀwÌ‹ÎÂ`ÚÓ€ÿÅÂà}ØÂ`"ÈÂaÕÂ@åÙÂà§Ñ µÔ \΢ߠÉÛ€FÏÂÀSÒÂ@÷ÖÂ@PÝÂàqÚÂÀYÑÂ`°ÚÂà ÖÂ`WÔ ÙÂ@ÓÜÂÀ/ØÂ`]Ó jÖÂIÙ€{ÛÂà­ÐÂÀâÏÂÀ¾Õ )Ì ùÓÂÀSÒÂ@ Ô ^ØÂ`E×ÂÀŽÝ ÙÎÂ`{ΠÜÂ`?ØÂ€½Ð€±ÒÂÀèΠˆÑ€ÚÂàØÂ óÔÂÀSҺۢߠ ÍÂÀ¾ÕÂ@åÙ ‘ÚÂ@VÜ´ÜÂÆÙ€(Ô XÙÂ`žÝ´Ü ñÊÂÀeÏ ÈÂ@bÚ€LΠ‚ÒÂØÖÂÏÂà6Ï ÐÂà}ØÂ€RÍÂà³Ï€Ö€RÍ ,ÖÂÀqÍ yÞÂÀ¦Ù€Ú€"ÕÂ`øÎ ÇÑÂ@ëØÂ@ëØÂ€ÚÂ[ÖÂàSß RÚÂÀ¸Ö >Ó d×€¥ÔÂà›Ó£Ê ,ÖÂ`QÕÂ`cÒÂmÓÂÌØÂàèÛÂÀ¦Ù 5Ê ¯Õ€òÜ RÚ€ØÂ` ÌÂà`ÈÂU×ÂÀÜÂ=ÛÂÀ|àÂ@»à¢ßÂÀ5×ÂsÒÂàÂ+ÞÂà<Π|Ó€"Õ®ÝÂ@nØÂ LÛÂ`žÝÂ@\Û 4ßÂ`¤Ü€4ÒÂ@PÝ€Úà€ÚÂÀYÑÂàèÛÂ@ýÕÂ`˜ÞÂ`ÎÕÂà×ÂÀMÓÂàôÙ€±Ò üÝÂà²ä€ØÂàØÂÀÄÔÂÀÛÂÀqÍ ÉÛ jÖ µÔ ‹ÛÂÀGÔÂ`KÖÂÒ×Â` ÌÂ`KÖÂ`9ÙÂ@\ÛÂÀˆÞ€× 4ßÂaÕÂgÔÂÀ²×Â@JÞ–á jÖ€.ÓÂ@€ÕŠãÂà)æÂà­Ð€ÚÂ`9ÙÂàÕÂÀ)ÙÂ@êÂ@ÍÝ€ÖÂ@ÍÝ jÖ LÛ€uÜÂ@ÍÝÂÀßÂà‰ÖÂ@ÇÞÂ@VÜÂÀ²×ÂÀ¾ÕÂ+ÞÂ@-ÎÂ`WÔ ÏÚ d×ÂÀ¸ÖÂÀšÛÂàØÂÀÛÂä “äÂÀÜ€¤é d×Âàƒ×Â`!Ý VÏ€:ÑÂàeÜ€ÚÂÀÜÂàkÛÂ`'Ü ùÓÂ`˜ÞÂ@,ãÂàôÙ ã€ÚàÂàéÂ@ñ× 4ß„äÂÀXæÂ@PÝ€ÚÂ@&äÂ`âÂ`¶ÙÂ@ßÚÂ@Dß FÜÂÀAÕÂÀŽÝÂ@ÍÝÂ`3ÚÂ`‶æÂ€ÚàÂàwÙ´ÜÂüÐÂ`’߀iÞÂ@ÓÜ Þâ ØÂ`-ÛÂ`ëåÂ`>íÂ%߀àßÂ`Œà€Eä€ÔáÂ`'Ü€àßÂxæÂ€“×€ÚàÂ@ßÚ [ãÂ@çÂ@JÞÂÀóá€ÚàÂ`¤ÜÂ@å Ý ãÂáÂäºÛÂàôÙÂÀ#ÚÂ`Þ€-è pÕ€.ÓÂÀ Ú€"Õ€.Ó 2ÕÂ@\ÛÂàwÙ «àÂaÕÂ`àÂêÓÂÀ)ÙÂ`ÞÂ%ßÂàÕÂ@†Ô á× ØÂ€ÔáÂâ ÒäÂ`°ÚÂ`?ØÂ`nåÂïç sß Ý ÜÂ7Ü ÒäÂ@ å€?å üÝÂàØÂÀíâÂ`¶ÙÂ@ÍÝÂÀùàÂ`ÚÓ Ù€ÎâÂÀjã aâ £×€Eä€iÞÂ@>àÂ@\ÛÂ@ëØÂ`ß màÂ@>àÂ`3Ú (áÂ@ÍÝÂ@D߀uÜÂàwÙ :ÞÂ@>àÂÀMÓ¢ßÂÀŽÝÂÀšÛÂ`’ßÂ@ßÚÂ` á (áÂ@&ä yÞ ‹ÛÂÆÙ®ÝÂà$Ò 4ßÂ ÛØÂ .à [ãÂÀóáÂrçÂ[Ö€Ú jÖ€ÉÎÂà*ÑÂ`Â×´ÜÂ`ÈÖÂÀŽÝ ‹Û ðßÂU× Û ÝÂà_ÝÂÀ¾ÕÂOØÂ`3Ú–á óÔ Û ÚÂ`'ÜÂmÓ€ŸÕÂ[ÖÂ`ÞÂ@»àÂÀÄÔ ÁÒ ÿÒÂàƒ× ÕÙÂ@!РyÞÂÀváÂ`¤ÜÂ`cÒ óÔÂ`¶ÙÂ`˜ÞÂ`]ÓÂÞÕ ‚ÒÂÀ;ÖÂ`WÔ€ØÂ ÕÙÂÀÝ |Ó µÔ ¯Õ€òÜÂ@ÑÂàÕ ØÂÀFéÂÀÐÒ€XÌ Ú€™Ö üÝ »ÓÂ@9ÌÂàÜÝ d×ÂÀdä 8ÔÂyÑÂaÕÂ`-ÛÂÀ²×Â@†ÔºÛ ØÂðÒÂ`àÒ jÖ€ÚÂ@nØÂÀ5× ÕÙ ·ÞÂ ÛØÂàÜÝ ÉÛÂÀ ÚÂÀdä ŽÐÂÀGÔÂà›ÓÂàwÙ ÕÙ€ÏÍÂ`àÒ€4ÒÂgÔÂ@€Õ £×ÂàÖÞÂ@÷ÖÂÀÐÒºÛ µÔÂàAâÂ@ÍÝÂà/åÂ`â vÔÂÀ¦Ù ‘ÚÂà}ØÂàîÚ JÑÂ@¤Ï€«ÓÂàØÂ@÷ÖÂ`’ß ØÂàÕ …Ü —ÙÂ`ÞÂÀAÕ ,Ö ÚÂ`’ßÂÀßÂ`WÔÂÀß üÝÂàúØÂØÖÂÀ¦Ù (á€"ÕÂÀ”ÜÂ`>íÂ`-Û @Ý–áÂU×€ÚÂÀ¦Ù€ÚÂ`àÂ@>àÂ@ÙÛÂ@ÙÛÂ@µáÂ@VÜÂ` áÂ@ñ×Â@»àÂÀçãÂàÄá êàÂ`˜Þ€?åÂà|í RÚÂ`žÝ€]àÂ@ÇÞ FÜ ŸâÂ%ß êà€KãÂÀ|à€àßÂàùíÂ`hæÂ¨ÞÂàé€]àÂ@VÜÂÀóá CçÂÀdä pÕ€iÞÂàÊà€ÔáÂ@>àÂ@éÂàôÙÂÀùà€Kã öÞ€WáÂà¾â å´ÜÂÀˆÞ€øÛÂ@&ä€KãÂTìÂ`â 4ßÂ` á 1êÂà¸ãÂ`êÂÀ½êÂàšèÂ@yë ÉÛÂïçÂrçÂà;ãÂÀÛ€æÞÂ`ÇëÂÀšÛÂ`E×Â@æÂå äáÂ@ åÂ1ÝÂàÂ@ÙÛÂ7ÜÂU×ÂàÊàÂ+ÞÂ@PÝ€òÜÂÀváÂ@¯âÂ`hæÂ@»à€WáÂ@>à ç–á€?å “äÂ`8î€zðÂ`ßçÂâ€cßÂ`bç€?å¨ÞÂ@&ä€KãÂ@µá ÝÂ`hæÂ@‘çÂ@,ãÂãéÂÀíâÂâÂ`\è êàÂÀváÂ@£ä ÃÜÂàŽê 7éÂÀô «àÂÀóáÂ`÷ã³ñÂ@,ã á×Ârç IæÂ@ðìÂféÂ`êÂÀßÂ`Þ€àßÂ`Œà ãÂàê .àÂ@è ºè 7é ìê€ìÝ€oÝÂ7Ü ‹Û Òä€Eä€ÚàÂ+ÞÂ@æÂ ÝÂ`9Ù€WáÂ@µá s߀ØÂ CçÂ@2â sßÂ@DßÂÀ Ú “ä "⠱߀ÚàÂàÖÞÂàêÂäÂ@¯â êà OåÂ`Â× ½Ý Û çÂâÂÀˆÞÂà²äÂÀÿßÂ`’ßÂ`-Û [ã ä᠙〪è {è ºè€?åÂÀ ÞÂÀçãÂ`†á JÑÂÀMÓÂÀjã€Wဒì€iÞ€×ÂàÜÝÂÀÏçÂ@bÚ µÔÂ@ßÚÂ@>àÂCÚÂ@ å€ìÝÂaÕÂà¦æÂ1Ý äá FÜÂ`˜Þ€àßÂ@ÓÜ jÖÂ%ßÂ@ÁßÂÒלàÂ`-ÛÂÀŽÝÂ@¯âÂ`¶Ù JÑÂàÄဓ×ÂÀ¾Õœà€žêÂÀpâÂ@êÂÀ^å yÞ …Ü Ú @ÝÂ@VÜ€òÜÂ`?ØÂ7ÜÂmÓ äáÂÀ ÞÂ`ÁìÂ`žÝÂâ€E䀿ÞÂ@DßÂ=ÛÂÀpâÂÀdäÂ@ÓÜÂÀùàÂ@ëØÂ@êÂÀÉèÂ@µáÂ`ñäÂÀdä ðÂ`˜ÞÂÀ/ØÂÌØÂ {èÂà)æÂ :Þ CçÂ@2â€ÚàÂ`hæÂ€oÝÂ@¯âÂÀŽÝ öÞÂÀóáÂ`àÂ@ÓÜÂÀ‚ßÂ`ÎÕ€ ÙÂÀváÂÀ ÚÂ`'Ü þçÂÀ(î€àßÂ@&äÂ@€ÕÂïçÂ`ýâÂ@£äÂõæÂ@DßÂÀ|àÂ`€âÂ@&äÂ+ÞŠãÂ` áÂxæÂ ué€3ç @ÝÂàÓ ÏÚ€ë OåÂ@,ãÂ`bç øèÂ`bçÂàƒ×Âlè ÝÂrçÂà¾â€ØÂ Uä–áÂÀdäÂàŽêÂàdñÂ`hæÂ ‘Ú€WáÂ`àÂÀ Þ€uÜ äáÂÀíâ å UäÂ@»à€ìÝÂàSßÂÀˆÞÂ`˜ÞÂ@»à  æÂ€iÞ ‹ÛÂÀÕæÂ€c߀Îâ ðßÂÀjã ué ÌåÂ`ñäÂàÖޠ݀ÚÂàóîÂ@æÂ@åÂ`˜Þ “äÂÀ ÞÂõæÂ€Wá ÚÂÀÜ Ú X٠݀렇æÂ@æÂ`nåÂÀ:ëÂ@ßÚÂ@y뀶æÂ@êÂàGáÂ@»à (áÂÀíâÂÀ‚ßÂáÂäÂ@ðìÂÀLè aâÂ@êÂ@æÂÀáä UäÂáÂÀÛå ØãÂàÜÝ .à ÙÂ@aïÂ@‹è€æÞÂàÜÝÂÀß aâ„äÂàYÞÂ@Áß Ý ã Òä äáÂØÖ IæÂ€WáÂ@…é€-è ™ã€'é gáÂÀjã "âÂ@ñ׿ïÂ@êÂ@‘ç 7éÂà ë€QâÂ`ÍêÂ@—æÂ ðßÂÀ²×€3çÂà‚ìÂ`êÂTì€æÞ€¤éÂåÂ`ÙèÂ@åÂÑìÂéèÂ`nåÂ@æÂ CçÂÀùàÂ`÷ã€c߀!êÂ@VÜÂÀ|àÂ@êÂÀçã€]àÂÀáäÂ`†áÂ`àÂÀpâÂ@å Ôî =èÂ`täÂÀRçÂ`†áÂÀ‚߀°çÂTìÂ<ðÂ~å ÝÂÀáäÂÀ"ïÂ`Áì€tñ CçÂà²äÂxæÂ`÷ {è å ç äáÂÀÏç ºèÂ@yë€Œí ±ßÂà ç€Eä€!ê åÂ~åÂÀŽÝ s߀¶æÂÀLèÂàdñ OåÂà²äÂàÄá üÝÂ@‹èÂËíÂÀ|à–áÂ@©ã ãÂ~å ã äáÂõæÂ`€â òéÂfé þç€!êÂàšèÂäÂâÂÀÉèÂàÄáÂ`߀ìÝÂÀÕæÂïçÂÀð ÔîÂûåÂà”é  æÂ`†á [ãÂÀóáÂÀRçÂàŽêÂÀóáÂ@¯âœàÂxæÂ@yëÂ@êÂ@sì ™ãÂ@æÂ@PÝÂ`,ðÂTì "âÂ`!ÝÂàÄáÂä øèÂà)æÂÀ¥îÂàÊàÂ@míÂà;ãÂÀÏçÂ`VéÂÀXæÂà¸ã mà€Œí ™ãÂ@êÂ@éÂáÂ%ßÂ`Óé ÏÚ {èÂ`Vé€3çÂ`ê aâ€ÚÂ@‹èÂ@&䀿ÞÂ~åÂÀXæÂZë¢ß %ìÂ`Ùè =è€iÞÂ`ªÛ€°çÂ@ÙÛÂ`˜Þ€·Ñ íÕ ØÂ€]à [ãÂÀßÂ@ÍÝÂÀ"ïÂÀLèÂÀÝ€Ú çÖ€æÞÂÀ‚ß ië ¢ìÂàôÙÂ@ÓÜÂÀÛåÂ`VéÂ@£äÂÀ¦ÙÂÀ/ØÂÀóáÂà¾âÂ@êÂ@ÇÞÂàŽêÂà ëÂ@ÁßÂÀ|àÂÀÿ߀oÝ sß –î ‹Û >ÓÂ`†á FÜÂÀ;ÖÂà‚ì 7éÂÀ‚ß ÀçÂ@8áÂ1ÝÂ@ýÕ ÞâÂ`¤Ü —Ù ã€iÞÂ@PÝÂÀ¦ÙÂÀùà åÂ@JÞÂ@hÙ …Ü€?å€]àÂÀšÛÂ ÆæÂ@µáÂÀváÂÀóáÂ@D߀ ÙÂÀßÂ`åæÂ€òÜÂ`ßÂÀóá€cßÂIÙÂà ÖÂ@—æÂà¸ãÂàèÂà¾âÂÀóáÂ`Þ :ÞÂàèÛ ÚÂÀjã LÛ yÞÂÀŽÝ FÜÂ@éÂ`Â×ÂàÕ€Ôá€]àÂ`PêÂàšèÂ=ÛÂäÂ`\èÂàèÛÂ`ß “äÂàGá€Eä üÝÂ`ñä ÃÜ @ÝÂ`ßç ½ÝÂà¦æÂàîÚÂ`âÂÀÛÂÀÝÂ@‘ç {è ÝÂ`ŒàÂà;ãÂ@,ã ¥á màÂsÒÂÀGÔÂÀ)Ù ÃÜÂÀÚ yÞÂ`žÝ [ãÂ`˜ÞÂàHÌÂ`°ÚÂ@ëØÂ`cÒÂOØÂÀYÑÂaÕ ØÂ`?ØÂà‰ÖÂ`–׀ڀ"Õ€ÚàÂàYÞÂÒ×´ÜÂ@nØÂ@JÞÂ ÛØÂ ŽÐÂ@ÓÜÂÀˆÞ 8ÔÂÀRçÂÀÿßÂà¬åÂÀ”Ü ÃÜÂ@ßÚÂÀˆÞ€Ú€uÜ€øÛ ©Ö 2Õ >Ó€øÛÂ@hÙÂ`!ÝÂ`æÑÂ@-Π·ÞÂ@hÙÂ`ß Ù€QâÂÀ¾ÕÂÀóဥÔÂàeÜ€Ö ØÂàÔ Ý öÞÂ`ÞÂ`'Ü ,ÖÂ@Ò gáÂ`žÝÂ@ÍÝÂ@ÁßÂÀ Ú ÇÑ üÝÂàÖÞÂâ ØÂÆÙÂÐÂÀ²×ÂÀ Þ ØÂ jÖÂ`ßÂCÚ ùÓÂ%ßÂàƒ×Âà<ÎÂà§ÑÂÞÕÂÒ× ØãÂàkÛÂà ÖÂ@ÍÝÂ@,ãÂà}ØÂÀGÔÂà6ÏÂ@ñ× êàÂ`¼ØÂ`˜ÞÂ=Û çÖ€™ÖÂ@¯â äáÂÀÛÂà$Ò€‡Ù€:ÑÂà¡ÒÂ`˜Þ äáÂàØÂ¨ÞÂ`-ÛÂ~åÂ@»à€ØÂ€™ÖÂ@2â êàÂ`'ÜÂÀÚÂ`¼ØÂà}ØÂàƒ×ÂÀ;ÖÂàÖÞÂÒ× [ã êà FÜ€WáÂà‰ÖÂàúØÂ RÚÂ`’ß êàÂÀ:ëÂ`'Ü€Îâ€ÈãÂ@µáÂ@hÙÂÀÛÂàYÞ öÞ ÝÂ`’ßÂÀjã ã ™ã ÏÚÂ@bÚ ±ß äáÂà‰ÖÂÀ²×Â@JÞ€žêÂ`ªÛ 4ßÂ@PÝÂ`?ØÂàèÛÂÏÂ@êÂ`DìÂà)æÂÀ”Ü FÜÂ@&äÂÀ#ÚÂÀ‚ß ‚ÒÂ@\Û€Qâ üÝÂU×Â`žÝÂ@Áß ãÂÀÚÂ`{ÎÂ@8áÂ@ëØÂ+Þ Øã XÙÂäÔ µÔ ÏÚÂØÖÂÐÂÀ‚ß ÒäÂÀšÛ ãÂÀÜ UäÂ1ÝÂÀ”ÜÂÀ¬ØÂà²ä€oÝÂàMà øèÂà/åÂÀçãÂÀçã€WáÂ@åÙÂÀ/ØÂÀ¬ØÂ@2âÂ`tä äá€ÔáÂÀ^åÂ@&ä€ìÝÂ`ñäÂ`†áÂ@µáÂÀóáÂ%ß —ÙÂÀÉèÂ`˜Þ€¶æÂ@»àÂÀÝ€ÚÂÀÜЀ Ù Ìå 7éÂ@æÂ´ÜÂÀváÂÀŽÝ€ ÙÂÀÿ߀ìÝÂ`’ßÂ`ìÐÂ`ñäÂ@êÂàeÜ€øÛÂàØÂ1ÝÂ`à€{Û€“×Â@ßÚÂ@ÙÛ ½ÝÂÀ¬ØÂàÊàÂáÂÀpâÂ`Œà þçÂàÊà ÏÚÂ`°ÚÂÀóá  æÂ@nØÂÀ/ØÂºÛÂ@£äÂ@2â &× ØÂ@é ‹ÛÂâ …ÜÂÀ‚ßÂà —ÙÂÆÙ ÏÚÂà¾âÂà¦æÂ ð߀ŸÕÂ`âÂ`?ØÂ å€iޢߠ.àÂ`ªÛÂ+Þ€]àÂ`ŒàÂàâÜ€™Ö ‘Ú .àÂÀ¾ÕÂàSßÂÀpâÂ`¶ÙÂÀò —ÙÂÆÙÂàèÛ€"Õ€ ÙÂà­Ð Û ‹Û€]à yÞÂà‰ÖÂ`'Ü€àßÂÀXæÂà5äÂ@t× @ÝÂà$ÒÂöÑÂÀYÑÂÀ¸Ö€þÚÂ`9Ù€øÛ€?åÂöÑÂ`ìÐÂÀŽÝ€ Ù óÔÂOØÂ@¯âÂà*ÑÂàÓÂIÙÂ`WÔ ÕÙÂÀ¾ÕÂÀßÂÀ;ÖÂàkÛÂÀÊÓÂ@,ãÂ`iÑÂ@ Ô®ÝÂ@ÓÜÂàeÜÂ@\Û öÞÂ@PÝÂ@€ÕÂà*ÑÂ`òÏÂÀ¦ÙÂàÔÂ`ßÂåÂ@Õ€“× tÊÂ`ÚÓ ùÓ RÚ DÒÂà$ÒÂÀÐÒÂ`ÎÕÂÀšÛÂÀeÏÂU×€þÚÂÀ5×ÂÀ”Ü ½ÝÂ@÷ÖÂÀšÛ€{Û …ÜÂ@ÇÞ€“×ÂCÚ ÜÂÀ¦ÙÂÀ#Ú ÏÚ ÝÂ@’Ò …ÜÂ@ÓÂà×Âà‰Ö¨Þ€Qâ€oÝ LÛÂ@ëØÂ ‚ÒÂàGá€òÜ€™ÖÂIÙÂàâÜ ©ÖÂÀÛ ÝÂIÙÂ@çÂÀß JÑÂ`QÕ€ØÂà›ÓÂÀÚ ÉÛÂ`€âÂ@PÝÂ`ßÂ@¶ÌÂIÙ á× ±ßÂ ÛØÂàØÂ€“×€ÚàÂgÔÂ+ÞÂ`'ÜÂ@\ÛÂÀÖÑÂÀÜÐÂØÖÂàGáÂ@åÙÂ@Ó màÂ`8îÂÀˆÞÂ[ÖÂàâÜÂ@ëØÂ@ßÚ 8ÔÂà_ÝÂ@ñ×ÂÀ/ØÂà§Ñ€“×€æÞ ÕÙ€uÜÂÀŽÝ€Ú Ý :Þ€LÎÂàÔÂ@÷֮ݠ¥á€òÜÂà*ÑÂà¸ãÂ@ÍÝÂ=ÛÂ+ÞÂÀdäÂ`E×Â1ÝÂà_Ý £×Â`KÖÂàAâ RÚÂÀŽÝÂÀ|àÂ@ÁßÂÀ”ÜÂ@†Ô€Ö€× [ãÂ`âÂ`ªÛÂöÑÂ@ÒÂÀÏç€Îâ çÖ€æÞÂ@\Û€iÞÂ@ªÎ€uÜÂ`¤Ü µÔ ØÂØÖ sßÂ@nØÂ+ÞÂ@÷Ö€{Û ÜÂÞÕÂÀß (áÂ7Üœà FÜÂCÚ ‹ÛÂ`oРyÞÂ@ßÚÂû堥ᠩ֠‘ÚÂâ ‘ÚÂ`E× jÖÂU×Â@µá ä€KãÂ@»àÂxæÂ` áœà pÕÂÀ#Ú .àÂ@ÁßÂ`ÞÂàkÛÂÀáä€uÜÂÀÜÂ@JÞÂ`'ÜÂÀYÑÂàYÞÂ`9ÙÂ`ýâ &×Â@»àÂ`‹õ êàÂ`÷ãÂ`àÂà”éÂàîÚÂàÊàÂ@8á åÂ`ÞÂxæÂ@‘ç ç€ÈãÂ@ÓÜ …ÜÂËíÂ@PÝÂ7ÜÂ~åÂàƒ×Â@Áß £×ÂÀvá€?åÂ@‹èÂ1Ý€ÚÂ`ßÂ7ÜÂà#çÂ`E×ÂÀ”Ü€àß´ÜÂÀóáÂÀ Ú€ìÝ´Ü€× ‘ÚÂÀ5×Âà#ç üÝ Òä "â äá€'éÂÀpâÂrçÂÀ‚ßÂÞÕÂ`ýâ êàÂ@»à ÙÂ`uÏ€oÝÂ`cÒÂ1Ý óÔ„äÂàÐ߀þÚÂàèÂÀùà ãÂ`ÔÔÂàeÜ ÏÚ XÙÂ@µá´ÜÂ@>àÂ@ÍÝÂ`Œà€נˀÚàÂ`’ßÂÀšÛÂ`'ÜÂ1ÝÂ`ŒàÂ%ßÂÀ‚ßÂ%ßÂ@ÙÛ€ØÂ /Ë "âÂàwÙÂàSßÂ`-ÛÂÀ)ÙÂàÜÝÂ@DßÂ@ýÕÂ`ÈÖÂ`?ØÂ …ÜÂÀ|à £× ÕÙÂ@ÍÝ mà PÐÂÀÜÂ@ÇÞ€Ú€KãÂ`¶Ù€"ÕÂ@-΢ߠ[ã€QâÂàâÜ€ÚÂÀ¦Ù …Ü€ÚàÂ`?ØÂà§ÑÂÀÜÂÀ²×ÂÀâÏÂ@÷ÖÂà•Ô€æÞÂ@ÓÜÂ@>àÂÀ|àÂ`{ÎÂÀÝÂÀÝÂ`nåÂ`?ØÂ ØÂ çÖÂÀ Ú ÙÂ@åÙÂàâܢ߀×ÂOØÂ`zã€ìÝ€þÚÂà­Ð XÙ £× »Ó€KãÂ`˜Þ ÉÛÂ` á€ÎâÂÀ#Ú hÌ€uÜ íÕÂÀYÑÂÒ×Â7Ü€{ÛÂOØÂÀ¸ÖÂÀçãÂ@¯âÂêÓÂàØÂ€oÝ @ÝÂ`Â×Â`oÐÂ@!ÐÂ@ŒÓÂ@ÕÂàèÛÂgÔÂ+Þ ÝÂ`¶ÙÂ ÛØÂ ‚ÒÂ@ßÚÂ@ ÔÂ`¶ÙÂ`¶ÙÂÀ#ÚÂàƒ×ÂàÔÂ`3Ú€oÝ€þÚÂ`WÔÂà•ÔÂCÚÂ@ñ×ÂCÚÂ`-ÛÂ@°Í d× ÜÂà¡ÒÂ@žÐÂàØÂÀ¬ØÂÀ²× jÖ€×Â7Ü€×ÂÀ/ØÂ@bÚÂ`ÍÂ`¼ØÂ`-ÛÂÀ¾ÕÂàÔÂ`ÔÔ€ØÂ@ ÔÂ@zÖ€±ÒÂÀÚ€iÞÂ@ÙÛ VÏÂ@€ÕÂ`ìÐÂà Ö ^ØÂ@ÇÞÂ`?ØÂ |ÓÂà×Â@t×€ìÝ ÇÑÂÀáäÂàØÂ@9ÌÂ`WÔ ÒÂgÔÂà§ÑÂ`¼ØÂ  æÂ€æÞ ùÓÂØÖ€ìÝÂàèÛÂ@ÈÉÂ@÷ÖÂ` áÂÀ‚߀FÏ€ÚÂÀÛÂ`Â×€þÚ åÌ #Í Ò¨Þ óÔ #ÍÂà›Ó€«ÓÂÀôÌ ¯ÕÂà‰Ö€ØÂ€«Ó€:Ñ€½ÐÂ`øÎ€ØÂà0РãÂáÂgÔÂÆÙÂÀeÏ LÛ öÞ @ÝÂmÓÂ@€ÕÂ@’ÒÂ…Ï€.ÓÂÒ× ¯Õ d×´Ü ÃÜ€“×ÂOØÂU×Â@Õ ©ÖÂÀ¬ØÂ`?ØÂ ÝÂ@ÇÞ gá ÝÂ`€â  æÂ€™ÖÂÀvá ™ãÂ`˜ÞŠãÂÀÚ ,ÖÂ`Â×Â`ÞÂ`â :Þ ãÂ`ŒàÂ`ŒàÂ@ýÕÂ@zÖÂÀ#ÚÂ`¤Ü€Ôá´Ü€ÚàÂ`-ÛÂàÜÝ ðßÂà²ä€Ôá ¯ÕÂ@hÙÂ@'ÏÂ`ÞÂÀÛåÂàúØÂ ã ÞâÂàÐß ÛÂ`ŒàÂÀXæÂÀj〪èÂà¾â ™ãÂ`ýâ ÝÂ`ߊãÂ@8áÂàƒ×€«ÓÂ@ÙÛÂ@PÝÂ`nåÂÀÿß ¥á ^ØÂ …Ü€¶æÂ€oÝÂ@PÝÂ` á ÃÜÂõæÂTìÂ@>à yÞ ÝÂ` áÂà×ÂàYÞÂ@,ã€ªè€æÞ€{ÛÂàkÛ€·ÑÂ`nå€ìÝÂäÂà ç ´éÂà‰Ö ‹ÛÂ@÷ÖÂ`ÎÕ .àÂàÊà€iÞÂàèÂ@»à€cßÂÀRçÂäÂ`åæÂÀßÂ@ÙÛÂàÖÞÂ`ªÛÂàÿìÂÀ^åÂàSßÂ7Ü ÞâÂ`&ñ ìêÂ@©ãÂÀdäÂ@ÓÜÂÀ/ØÂ çÖ€ÚÂ`˜ÞÂÀÕæÂ  æÂ€QâÂàÄáÂ`ßÂâÂàÐß®ÝÂ`¤ÜÂ7Ü€ÚÂÀLèÂÀÜÂÀíâÂÀÄÔÂÀ^å äÂ@ÍÝÂÀXæÂÀÛ倶æÂ çÂà)æÂ aâÂÀíâÂàeÜÂ`VéÂà)æÂ`߀3çÂÀÏçÂ@åÂÀ^åÂ`ßÂ`ÞÂCÚ´ÜÂàâÜ ÃÜÂ@ÇÞÂÀ‚ßÂ`bçÂÀˆÞÂ@µáÂlè€ÔáÂÀ^åÂ1Ý 4ßÂ@JÞÂ@&äÂ@,ãÂÀváÂà¦æÂ@üêÂà)æÂ øèÂÀùà€cß 4ßÂ@ê ÂñÂà5äÂ`WÔ àì„äÂÀÝ Û –î€]àÂ@ÍÝ XÙÂ`¶Ù€uÜÂ` áÂ`€âÂÀçã ÝÂ`¶ÙÂ`†áÂ@êÂà¾âÂÀ ÚÂ@åÙ {è€]àÂ@ÁߨÞÂà*Ñ  æÂ`߀ ÙÂåÂ@—æÂ çÂÀíâÂÀÛ öÞÂ`àÒÂ`ªÛÂÀ¸ÖÂ`ÔÔÂÀ‚ßÂ`âÂÀpâ ð߀“× þçÂà)æÂÀ)ÙÂ`QÕÂ`’ß @ÝÂ` á =èÂÀjãÂIÙÂ@ÍÝ ±ßÂÒ×Â=ÛÂÀFéÂ%ßÂàYÞÂÀ«í€ÂäÂ@PÝ€‡ÙÂÀ5× UäÂÀíâÂ@µáÂ%ßÂ@€ÕºÛÂ@>àÂà¸ãÂ@2⠱ߠ‹ÛÂØÖÂxæÂ@Áß ¯Õ 1êÂÀÝÂ@ åÂÀùàÂ`3Ú€Âä 1êÂ`÷ãÂ`ëåÂ@µá …ÜÂ@VܨÞÂÀ5× vÔÂ@&äœàÂ@ÓÜÂ%ßÂ`’ßÂÀˆÞ µÔÂàÕÂ@JÞ &×€™ÖÂàÐߨޠÝÂà;ãÂ+ÞÂ`ñäÂ@ÓܺۀÎâÂ@‹è ç€oÝÂÀ ÚÂ`¼ØÂ€þÚÂ@åÙÂ`ÍÂ`cÒÂ`ÚÓÂ`!Ý Ý®ÝÂ`âÂ@ëØÂ€™Ö óÔÂ`oÐÂIÙ€ÚÂ`3ÚÂ`Â×ÂàeÜÂÀÜÂÀeÏ gá€ØÂ yÞ VÏÂ@ñ×€ØÂ€ØÂÀùàÂÀ/ØÂ Ù€òÜÂ`ªÛ ‘ÚÂàâÜ 4ßÂàAâÂ`ÈÖÂ`ÚÓÂÆÙÂÀÜÐÂ@˜Ñ¨ÞÂÀ¸ÖÂÀ¬ØÂ@ñ×Â@ñ× ‘ÚÂàqÚÂ%ß ‘Ú€ŸÕ ½ÝÂ@hÙ d×€ÎâÂÀ;ÖÂ@JÞÂÀšÛ ¯ÕÂàAâÂ`E×ÂÀ²× ÁÒ ©ÖÂàƒ×Â@ÇÞÂ`àÂà×€ÚÂ` áÂà¿Í€Ö‹ÎÂàÓÂsÒÂ`ß ÝÂР‘ÚÂüÐÂÀ;Ö€Ú åÂà×ÂØÖÂ`¼ØÂ ÿÒÂÀÜÐÂÌØÂÀqÍÂ@€ÕÂ`9ÙÂ@ßÚÂ@ÍÝÂàÕ€Ú€.ÓÂ%ßÂIÙÂàYÞÂ@ßÚÂâÂÀ)ÙÂyÑÂöÑÂ`þÍ€™ÖÂðÒ Û ÝÂÀSÒÂ`±Å€ØÂ€“× á×ÂgÔÂ@ÈÉ ˆÑÂà¹Î PÐÂà*ÑÂIÙÂàwÙ€(ÔÂ@t× ÙÎÂÀ5×€ÃÏ€½ÐÂ`3ÚÂ`ÔÔÂà­ÐÂU×ÂÀúËÂ@9ÌÂÀYÑÂ@ŒÓ‘Í ©Ö ÉÛÂ`¤ÜÂ7ÜÂ`9Ù 8ÔÂØÖ ÕÙÂÀ;ÖÂ@\ÛÂ@JÞÂà•Ô vÔÂÀ¦ÙÂÀ²×Â@€Õ ÃÜÂÐÂÀ¾ÕÂÀeÏÂ@ÓÜÂIÙ ÛÂ`àÂ@åÙÂÀŽÝÂàèÂ@2â€Ôá ‘ÚÂ`?ØÂ€.ÓÂU×ÂÀ/ØÂ@Ò á×¢ßÂ`÷ãÂ@ýÕÂ`°Ú€þÚÂàâÜ Ú RÚÂ@ßÚÂ`¼ØÂ€øÛÂ@VÜ jÖ 2Õ€Ú ØÂ ãÂØÖÂ@VÜ åÂÀÄÔÂ@ÓÜÂ@ÇÞÂ@nØÂ JÑÂ@2â€òÜ Ú ÁÒ€ÎâÂ`9Ù€'éÂÀÿßÂ@yëÂ@nØÂ@ýÕÂ@ßÚ ØÂ`Â×ÂOØÂàwÙÂ@ñ×Â`òÏÂàËËÂà‰ÖÂäÔÂàYÞÂàSß pÕÂÀ¸ÖÂ`òÏÂ@ÒÂ[ÖÂ@ñ×Â`˜ÞÂ ÛØÂà*ÑÂyÑÂÀYÑÂU×Â@žÐÂ`ÎÕÂÀMÓÂà¡Òœà€ÚàÂ`9ÙÂ@ÓÜÂÒ×ÂàwÙ çÖÂàâÜÂà6ÏÂ`E×Âà•ÔÂÀÄÔÂ`ÎÕ ܨޠÝÂ`žÝÂàîÚÂ`ßÂÀ²× &×ÂàâÜÂÀ‚ß ´é ±ßÂÀ#ÚÂàÐß ÏÚÂIÙÂ@ÙÛÂ`\è€þÚÂàwÙÂ@åÂÀváÂà_ÝÂÀ¸ÖÂà<ÎÂàÐ߀æÞÂà¬åÂ@ê ½ÝÂÀšÛÂ@VÜÂ@ÁßÂ%ßÂ@bÚÂCÚ€oÝÂÀ Þ ÝÂ%߀à߀Kã€ØÂáÂØÖ Û€ØÂ€àßÂ`ßÂ`nåÂÀçã€uÜ€ÔáÂ`-ÛÂÀßÂ`˜ÞÂÀ ÚÂ@ÙÛÂÀçãÂ1ÝÂaÕ ÚÂÀ ÚÂ@VÜÂ@µá ,ÖÂ@˜Ñ€Èã ®ê€oÝ€øÛÂàqÚ€ìÝÂCÚÂ@ñ× ÀçÂà¬åÂ@ÕÂgÔÂÀpâÂÀ/ØÂ ðß´Üœà :ÞÂÀ_ЀoÝ ÚÂ@’Òœà¨ÞÂÀ¦Ù «àÂÀ^å @Ý€Qâ çÖÂ@8áÂ@8á ‘Ú€òÜ ÚÂ`¼ØÂ Ý ¯Õ ±ß —ÙÂÌØÂÀáäÂà²ä .à€4Ò€¥Ô ãÂàÜÝÂÀ½êÂ`¶ÙÂ@DßÂ` á€ìÝ >ÓÂ`¼ØÂºÛÂ`¶Ù ÌåÂàÐß åÂ1Ý€Ôá ãÂ@ÙÛÂàMàÂ`°ÚÂ@£ä€×ÂmÓÂàâÜÂ@ÓÜÂ@ÓÜÂ`€â 4ßÂ`à€ØÂ ‘ÚÂà¾â XÙÂaÕÂàØÂ1ÝÂÀùà 4ß "âÂÀ²×ÂÀ²×€‡Ù Ý€×€ØÂÀ5×Âà Ö€òÜ€oÝÂ@t× ùÓÂàôÙ€(Ô€]àÂàºÛ aâ€!êÂ@†ÔÂ@ßÚ ™ãÂ`ìÐÂØÖ€cßÂ`åæÂ@µáÂ`\èÂ@PÝ ^ØÂ€"ÕÂÀ²×€iÞÂ`3ÚÂÀ”Ü€{Û€“× ÕÙÂàMà€ÚàÂÀšÛ ^ØÂ€øÛÂ`WÔÂàèÛ VÏ ØÂ`!Ý d×ÂàÕÂÌØÂ`ÈÖÂÀÛÂ@åÙÂ@VÜÂ`âÂ+ÞÂ`Â×ÂÀ/ØÂ@ÁßÂØÖ ÐÂÒ×Â`ÈÖ ØÂ d×Â+ÞÂàôÙÂà ÖÂ@åÙÂàGáÂÀ;ÖÂÀâÏ  ÑÂ` ÌÂÀÖÑÂÀ#ڮ݀Ö€½ÐÂmÓ ÃÜÂàèÛÂàÐßÂÀkÎÂ`ÎÕÂà× ÙÂÀ)ÙÂ@ÁßÂÀGÔÂà²äÂ`÷ãÂÀˆÞ ÏÚÂÀÛ€“×ÂÀ#ÚÂÀÛÂÀ߀±ÒÂÒ×ÂÀAÕÂàØÂ áע߀¥ÔÂàèÛºÛ á×Â@ÓÜÂ@ýÕÂrç üÝ€.ÓÂàƒ× ^ØÂ`KÖÂÀâÏ ‹ÛÂàèÛÂ@ÇÞ ä„ä´ÜÂàAâ ÜÂ`9Ù€þÚ LÛÂ`]ÓÂÀ ÚÂÀÿßÂ@ÇÞÂ@…éÂàÂÀíâ =è®ÝÂÀŽÝ€ÖÂ7ÜÂà0ÐÂÀ‚߀ØÂ ‘ÚÂ@VÜ DÒÂ`?ØÂÀ#Ú€(ÔÂÀ¦ÙÂÀÛºÛÂ`¼ØÂ@˜Ñ ØÂàØÂ@ÙÛÂÌØÂ >Ó€ÚàÂ@PÝÂ`bçÂà¬å¨ÞÂà;ãÂàAâÂ@ÇÞ 2ÕÂØÖÂàâÜÂà ÖÂ+ÞÂÀÊÓÂ`÷ãÂàôÙÂÀšÛÂàƒ×ÂØÖÂàØÂàkÛÂà}ØÂà*ÑÂàîÚÂàôÙÂÀ¦ÙÂÀ;Ö€iÞÂÀ/ØÂàØÂÀ‚ßÂà¸ã€¥ÔÂ`à ÝÂà­ÐÂàkÛ ÏÚÂàMà ÏÚ ÕÙÂà_ÝÂ@PÝÂàÊà€·ÑÂÀ#Ú LÛ gဠÙÂ`Â×Â`’ß pÕÂÀ¦ÙÂ`ÈÖÂ@åÙ€]àÂàâÜÂ@DßÂà}ØÂ@ßÚÂ+ÞÂÀ”ÜÂàÓÂ7ÜÂ ÛØÂ€¥ÔÂ@ Ô ùÓÂÀÚÂÀˆÞ >Ó Ù màÂaÕÂ`WÔ¨ÞÂÀîÍ ðßÂàkÛÂ@ëØÂÀ)ÙÂ@Õ€ŸÕÂ`3Ú€™Ö€ ÙÂÀíâÂ@t×Â`E×ÂàÕÂÀSÒÂÀÜÂÀMÓÂ`Â×Â[ÖÂÀeÏ€±ÒÂ`ÈÖºÛ ÿÒÂ@t×Â`!Ý ÿÒÂ@ÓÜÂÀ Ú€òÜ &×€þÚ ÚÂ` á ØÂ`iÑ—ÌÂÀ¬ØÂ@ŒÓÂà*Ñ€òÜÂ`ÚÓÂÀÈÂöÑÂÀŽÝ ðßÂà Ö€Wá ñÊÂ`˜Þ€ÉÎÂ`¶ÙÂ`3Ú ‹Û ÙÎÂ@ÇÞÂàôÙÂÀ5×Â`oÐÂ@ëØÂ€æÞÂàYÞÂ@ŒÓ ΠÇÑÂàqÚ DÒÂ`ÔÔ DÒÂà•Ô€“× ÍÐÂ`oР Ñ á× @Ý  ÑÂÀÜÐÂÀÝÂÀÿßÂ@ÙÛÂ@DßÂà×€uÜÂ`uÏÂÀ_ЀØÂ ±ß :ÞÂ`KÖÂàèÛÂ`-Û ÛÂàSßÂÀáä :ÞÂ`WÔÂ@ßÚÂ@÷ÖÂÀÄÔÂà”éÂÀ|àÂ@zÖÂ`KÖ€™ÖÂÀÚÂ@˜ÑÂ@DßÂÀ/ØÂ 4ßÂÀLèÂ`WÔ ÏÚ€ÔáÂ`Þ äá€Èã€uÜÂÀ)ÙÂ7ÜÂ`ŒàÂÀdäÂ~åÂ`Íê aâ 2Õ€{ÛÂ`ªÛÂàeÜÂ`ŒàÂ@»àÂ×ëÂÀ4ìÂ@>àÂ@>àÂ@ñלà€× —Ù 4ßÂàYÞ ·ÞÂIÙÂÀ(îÂåÂ@æÂŠãÂÀjãÂàÜÝÂ`’߀òÜÂàMàÂÞÕÂ`’ß ÏÚ ‡æÂ IæÂÀRçÂ@è€'éÂ`åæÂŠãÂÀ ÚÂ×ë sß .àÂÀ¬ØÂÀ½ê ¥áÂ`hæÂ ½ÝÂÀ5× òéÂéè ãÂÀÜ€ìÝ ÌåÂà/åÂàqÚ ä øè€9æÂÀÉèÂà5ä€3çÂ@&ä oêÂà#çÂ`bç OåÂäÂ@»àÂÀ Þ öÞÂ`ýâ ïÂ`ñä "â =èÂÀò ìê ïÂàŽê œíÂÀ^å§ó çÂxæÂ`bçÂ@æÂ cìÂÀÉèÂàóî€ýï€퀆îÂ`JëÂ`Dì Ý …Ü€‡Ù  æÂé耆î WîÂ@ÇÞ òé¿ïÂ`bçÂ`\èÂ`ÇëÂÀo÷„ä =èÂËí ië ºèÂÀÏçÂÀLèÂ@üê€QâÂÀ.íÂàšèÂÀÝ Cç mà oêÂ@D߀øÛ€÷ðÂ@蠙〞êÂÀjã °ôÂÀÛå 퀤éÂ@öë CçÂà;ãÂÀcùÂ`yøÂ€zðÂZëÂ@‘ç€ÎâÂ`nå ì꠽݀Kã oê€\õ IæÂlè€ìÂÀ{õ€÷ðÂÀ"ïÂTìÂàÏôÂ@—æÂ ´éÂàšèÂàAâÂà¦æÂ Ìå€9æÂ Kð€Èã Þâ ÀçÂ@‹èÂÀFé {èÂÀ:ëÂà¾âÂÀ·ëÂ`PêÂ`ÓéÂ1Ý€Ôá€÷ð WîÂ@êíÂà ëÂ`Jë€ßôÂ×ëÂ`2ï ù€ïÂ@ê ðÂ`ßçÂ@£äÂ@gî ïÂ@Þï òÂ`bçÂ`yøÂ`&ñ€˜ë 7é­ò€ï ðÂàì !÷€zðÂàÉõÂ@1÷ °ôÂ@sìÂÀÉè ð õóÂàFöÂ@aïÂàáñÂàXóÂZëÂ÷Â`ÇëÂ`µîÂ6ñÂÀŸï +ëÂÀ½êÂ`hæÂÑìÂËí ÂñÂ0òÂ`¯ïÂÃ<ðÂËíÂÀòöÂ`ü÷ øèÂàÃö à쀒ìÂ`äûÂ@ÞïÂ@sìÂÀ“ñÂÀ“ñÂàóîÂÀ@ê òé ‡æÂ BüÂ`µîÂ×ëÂ6ñÂéè 7éÂÀ"ïÂHîÂ@ðìÂ@Þï€hó ïÂÀæøÂ@–ûÂ<ð ðÂ@Oò °ôÂÀôÂ`8îÂÀWû Qï€bô ªõÂ`òÂ@å ÔîÂÀo÷Â`,ð àìÂ@èÂÀ.퀘ëÂ`PêÂàìÂ`8îÂ@1÷ àìÂËíÂ`öøÂ KðÂ`2ïÂ@ÞïÂàáñ€9æÂÀÏç€÷ðÂÀòÂÀ:ëÂxæÂàÿìÂ$ôÂ@Øð€†î ð¡ôÂ@êÂÀÏç þç ®êÂà#çÂÀ.퀌íÂ@1÷Âà¥ûÂÀ“ñ ~òÂàŽêÂ`ëåÂàˆëÂà çÂ`¯ï ië ñÂàóîÂ@UñÂ@£äÂïçÂ@çÂÀ.íÂ`VéÂ`Ç뀀îÂïçÂ@êÂ@‹è äÂïçÂÀ‚ß üÝÂ@åÂ0òÂàÊà€Eä€ÈãÂåÂàˆëÂÀRç oêÂ@£ä€9æÂ`ñäÂÀjãÂÝê ìêÂÀçãÂ`VéÂ@&ä OåÂÀÜÂ`˜Þ€?å oêÂÀ^åÂÀ™ð „ñ ¢ì UäÂÀváÂ@èÂÀdä UäÂ@m퀶æÂ€Èã ãÂ@»àÂ`»íÂÀ(îÂ@èÂ@£ä ÀçÂ`D쀶æÂà#çÂ@ÙÛÂÀ:ë çÂÀ^åÂà€3ç …ÜÂá¨ÞÂÀRç äáÂ@ðìÂ@å aâ ºè¢ßÂ@¯â€9æÂféÂlè "â OåÂ@Dß VÏÂ`Œà (áÂà;ãÂfé ØãÂ@‘çÂÀdä€WáÂ@ÇÞÂ@8á€ëÂHî ¥áÂ~å Cç€òÜ ðß ØãÂ`VéÂ`VéÂ@ÇÞ€Kã ´éÂ`ôÂ@ÒñÂ@öëÂ@2â€ÂäÂTìÂ@éÂ@¯â iëÂÀ/ØÂrç ä€ÔáÂÀ±ì aâÂûå ‘ÚÂ@bÚ€ÚÂ@µá OåÂ`à Ìå ºèÂ`ýâÂïç€ îÂ@ 倨Â@bÚÂ`zã yÞ ãÂÀdäÂ@2âÂÝê€iÞ€Úà "âÂàô٠٢ßÂ@ðì€þÚ åÂ@&ä ç€]àÂÀÿß ·ÞÂà/åÂÀÜÂ@\ÛÂÀ|àÂ`\è Ý øèÂ`ýâÂ+ÞÂàÄáÂ`€â€°çÂ`åæÂ@…é ®êÂàÂÀùà &×ÂÀÉèÂàkÛÂéè€-èÂà çÂ`\è ‡æÂ`,ð€ìÝÂÀ5× öÞÂÀÜÂÀ^åÂ@PÝ ¥áÂÀùà€ìÝÂ`!ÝÂ`3ÚÂ@瀼åÂ`¼ØÂ oêÂ@8á€Wဪè "â ™ãÂ@ßÚÂ@Áß Û Øã ™ãÂ@£äÂÀùàÂÀçãÂÀÜ€ÚàÂ`\èºÛÂÀjãÂÀ|àÂàGáÂâ ½ÝÂàúØÂ@>àÂ`tä >ÓÂ`ÞÂ`PêÂØÖ ÕÙ ©Ö µÔÂ%߀“×€øÛÂ@2âÂ`ýâŠã —Ù€ÎâÂ@2â jÖÂ`°Ú ¥á€‡Ù ‘Ú€oÝÂ@yë€øÛÂàÄá€]àÂÞÕ ¥á ®êÂÀ½êÂÀ ÞÂ@ñ× «àÂÀ‚ßÂàÄá 4ßÂ@£äÂÀ^åÂ ÛØÂU×ÂÀpâÂàYÞÂéèÂ@…逼åºÛ oêÂ@µáÂàÖÞÂ@ÍÝÂ@>à€WáÂÀß ã ië€ÔáÂàÊàÂ` áœà Òä .àÂ@ÍÝÂâÂà²äœàÂÀ²×ÂÀáäÂÀçã ãÂ=ÛÂÀŽÝÂ`ýâ ÜÂ@…éÂ@8á sßÂÀßÂïçÂ ÛØÂà#ç ië€àßÂ@¯â òéÂrçÂrçÂÀ.íÂÀŽÝÂ`Pê€-èÂÀŽÝÂ@ÞïÂàAâÂ@»àÂÀŽÝ ç ÞâÂÀXæÂ`ÙèÂÀ^åÂ`täÂà)æÂ€ÈãÂ@êí [ãÂàšèÂ`zã€3ç Øã€È〤éÂ`¼ØÂ oêŠã :Þ€?åÂÀçã€ìÂÀváÂ@8á ‹ÛÂÀÿ߀žê ìê€Èã %ìÂàéÂÀRç€EäÂ@8á€Ú€òÜ [ã€Îâ Oå å QïÂÀ^åÂÀˆÞ IæÂ «àÂà¬åÂ`à  æÂ€ØÂ@sìÂ ÆæÂÒ× ÌåÂ@&äÂ@©ã (áÂ@æÂ~åÂÀRç œíÂ`tä ØãÂÀ|àÂ@DßÂàáñ Ÿâ ÜÂÀ¦ÙÂ@ÙÛÂÀÕæÂ@’ÒÂ@ÓÜ ÒäÂ`ýâ€iÞ€†îÂàÊàÂÀáäÂ@2âÂÀÏçÂ`tä OåÂÀçãÂÀ/ØÂÀóáÂ`DìÂ@‘ç UäÂÀ·ëÂ@VÜÂ%ß êàÂà¡Ò 4ßÂ`?ØÂ`bç äáÂ`žÝÂÀ ÚÂlèÂ`žÝÂà çÂàYÞ Uä€oÝ€oÝÂ@\Û «àÂáÂ@ÓÜÂ@bÚ ðßÂïçÂ`ŒàÂÀ#Ú á× ÉÛÂÀŽÝ «àÂÀáäÂàÖÞ Øã :ÞÂäºÛ€ÚÂàÕÂ@˜ÑÂgÔÂàAâ [ãºÛÂ`°ÚÂ`!ÝÂ`3ÚÂÀ;ÖÂà‰Ö€WáÂ~åÂ`zã ‘ÚÂ`ÞÂ`€â aâÂ`ñä®ÝÂà#ç„ä ‘Ú€"Õ ÜÂ`ßÂ`ýâÂáÂÀdä jÖÂ`ñä€þÚ€WáœàÂà‰ÖÂ@å€9æÂ` áÂÀ ÞÂ@ßÚÂ`3ÚÂ`ÞÂÀóá yÞÂäÂõæÂÀšÛÂ@bÚ€QâÂÀâÏÂÀ)ÙÂÒ×€Wá€Ö ÏÚÂÀÚ€òÜ ØÂ`žÝ @Ý ·ÞÂ`WÔ€øÛ ÛÂ`9ÙÂ`QÕ ·ÞÂ`?ØÂ€{ÛÂgÔÂÀÜ …Ü JÑÂ`?ØÂ`¤Ü mà ÉÛÂ@nØÂCÚÂ=Û ÙÂÀÝ ðß ÛÂà¡Ò ðßÂà_Ý€ìÝ d× ¯ÕÂà× jÖ ØÂ@&äÂ`ñäÂ`zã€ÚÂàÕÂ@»àÂ`ÎÕÂ`Þ€òÜÂà‰Ö ÉÛÂ@ëØÂ á×Âà­ÐÂâÂOØÂà)æÂ@åÙÂ`oÐÂ@nØÂ`QÕ çÖÂ@DßÂÀŽÝÂÆÙÂ`]ÓÂà}ØÂ LÛÂÀßÂÀdäÂðÒÂÀSÒ á×Âà/åÂÀÿßÂÀ;ÖÂ%ßÂ`?ØÂÀ‚߀Wá€øÛÂÀíâ€Ú€ØÂ€ÚàÂÀ/ØÂ¨ÞÂÀÚ€oÝÂ@ÍÝÂU×ÂU×ÂÀ Ú€:ÑÂ@ÓÜÂàYÞ€°çÂ`3Ú ÿÒÂ`-Û ÏÚÂ`ÈÖÂÀšÛ …ÜÂ`æÑ¢ß Ù€ÚÂ`àÒÂ@÷Ö€òÜÂÀˆÞÂàÓ [ã üÝ ØãÂ@zÖÂIÙÂ`ÎÕÂ…ÏÂ@ñ×Â@-ÎÂ`]Ó€™Ö XÙÂÀ/ØÂ7Ü ãÂÀá䀪èÂàîÚÂ@ýÕÂÀGÔÂ@VÜ®ÝÂ`'Ü ð߀E䀟ՠ½Ý€ÉΠØÂ jÖ Ü ½Ý üÝÂ@‘çÂ@JÞÂ@bÚÂ@ÍÝÂàÄáÂÀ|àÂ`ÔÔ€™ÖÂ@8á Ú€ Ù€iÞ ¯Õ —ÙÂà¸ãÂ`3ÚÂ%ß gáÂ@©ã€Ú€]à ‘Ú ^ØÂ@ßÚ€òܺ۠ÝÂ@€ÕºÛÂ`†á€-èÂàƒ×€Âä–á øèÂ`9ÙÂ=Û€æÞÂ`ÈÖ€ÔáÂ`Jë CçÂàè øèÂàÊàÂ@,ãÂà”éÂàSßÂ@ýÕÂ@nØÂ`!Ý :ÞÂ`ÔÔÂÀÿßÂ@€ÕÂ`täÂ`žÝÂàMàÂ@ÁßÂ@\Û Þâ :Þ ·ÞÂ`ÞÂOØÂ@bÚ sßÂÀ‚ßÂà;ã€í ¥áÂÀÃé …Ü aâ´ÜÂàÕ€çÉÂà_Ý µÔÂàƒ× 4ßÂÀ¬ØÂ€òÜÂÀ|àÂàÊàÂÀ²×ÂÀÐÒÂäÔÂ@2âÂ`¼ØÂâÂà}ØÂ€'éÂà çÂ@åÂàØÂ€Ú RÚ JÑÂ@\ÛÂÀ‚ßœàÂ`ŒàÂ`hæÂÀRç ÃÜÂÀ ÚÂÀÛÂ`¶Ù —Ù ÏÚ ‚ÒÂ ÛØÂÀÜÂ@£ä€c߀“×Â@ÓÂÀˆÞ öޮݠÞâÂÞÕÂÀ‚ß :ÞÂ`Ùè ØÂ ¥áÂà Ö€{ÛÂÀšÛÂ@ÁßÂÀÜ ÍÐÂÀ¬ØÂ@&ä êàÂÀÜ ÝÂ@VÜÂ`âÂ`àÂU×Â@ÓÜÂ`ªÛÂàGá aâÂ`ýâÂ@PÝÂ@ëØÂ`-ÛÂÀÿßÂÀ¦Ù€“× @ÝÂÀŽÝÂÀRçÂàâÜÂàeÜÂà_ÝÂ@,ãÂàYޜ࠽ÝÂÀÛåÂ`€â öÞÂÀ¬ØÂ ‡æÂ@ÍÝ€c߀ØÂàAâÂàâÜÂàâÜÂàqÚÂÀ¬ØÂÀ²×ÂÀwÌ ‹Û …ÜÂàkÛÂàúØÂ`’ßÂ1ÝÂ@ÓÜÂÀŽÝÂ@VÜÂ`˜ÞÂà ÖÂmÓ€oÝ ˆÑÂ`ÈÖÂÀŽÝ @ÝÂà‰Ö ¯ÕÂÀ5×ÂðÒÂ`¼ØÂ`€â á× "â€Ú .àÂ`ªÛÂ`¼ØÂ £× @ÝÂÀ”ÜÂ`E×Â@,ã€LΠRÚ :ÞÂÀóáÂ`'Ü ÕÙÂU×€ØÂÀóáÂàqÚÂ`ßç d× Û ÎÂ@ßÚÂ@…éÂ@\ÛÂÀGÔ jÖÂCÚÂ`ªÛÂàØÂ@€Õ€QâÂàÐßÂØÖ€ÉÎÂ`ÚÓÂàôÙÂ@PÝÂ ÆæÂ`-ÛÂ`àÒ ÜÂà‰ÖÂàîÚÂÀ#ÚÂàÕ @Ý€ÚÂÀAÕÂÀ¾Õ óÔÂ@ñ×ÂÀ¾ÕÂÒ×Â@ýÕ€cßÂ@VÜÂÒ×ÂÀ/ØÂ DÒÂIÙ€(Ô µÔÂÀÿß gáÂ`˜Þ€"ÕÂ@t× —ÙÂ@ŒÓÂ@÷ÖÂà›ÓÂ`ªÛÂ`žÝÂÀÜРRÚÂ1ÝÂÀLè å¢ßÂ ÛØÂÀ/ØÂ LÛ€òÜÂ@JÞÂÀßÂ@åÙÂÀ5×Â`°ÚÂ@ÁßÂ`’ßÂÀ ÚÂ`QÕÂÀ_ÐÂ@ÇÞÂ@ÓÜÂÀ²×ÂÀ5×Â`æÑ á×Â`¶Ù pÕÂ`cÒÂ@\ÛÂ@8áÂ`KÖÂ@\ÛÂ@ÓÜ ÏÚ€æÞ ¸ÉÂ@ÑÂà×Â`¼ØÂ &×ÂüÐÂ`¶Ù ÕÙÂÀÄÔÂ`ÎÕÂà#çÂÀ‚ß »Ó€^ËÂ ÛØÂÀíâ &× ”ÏÂ`9ÙÂ@£äÂ`¶Ù€ÃÏÂà‰ÖÂàâÜÂà•ÔÂÀ²×ÂÀÛ šÎÂà0ÐÂÀ)Ù ùÓ€™ÖÂÀÜÂ@ëØÂ€{ÛÂÀ”ÜÂ@µá íÕÂ@nØÂ ÕÙÂàMàÂà›Ó€KãºÛ ÿÒÂ@’ÒÂàôÙÂàØÂ ÚÂÀ Ú€"ÕÂ[Ö 8ÔÂàAâ´ÜÂÀ)ÙÂàkÛÂÆÙÂ@ÙÛÂÀ²×€Ú€ÚÂ`°ÚÂ`þÍ€cßÂàîÚÂàÕ€iÞÂàeÜ >ÓÂÀ_ÐÂÀÚÂàîÚÂà<ÎÂÀÜÂ@nØÂ çÖ d×ÂàôÙÂ`Â×Â1Ý öÞÂyÑ jÖÂÀ)Ù€×€¼åÂàSßÂÀÝÂÀ¦ÙÂàSßÂÀßÂ`'ÜÂ`E×€¥Ô LÛ€{Û€æÞÂ@—æÂ€Wá€oÝ yÞ€“×Â@©ãÂàôÙÂ@8áÂ@—æÂOØÂ`3Ú (áÂ@æÂàÐßÂ`ªÛÂàâÜÂ@ÍÝÂÀÝÂ`ýâÂÀíâ þç€æÞÂ@æÂ@ å ÒäÂÀváÂ@ßÚÂ`¼ØÂ FÜ [〰ç€ÚÂ@zÖÂÀÛÂà‚ìÂ@Dß FÜÂ@¯â€3ç  æÂÀÜÂÀÛåÂàâÜÂÀ/ØÂ€ØÂàqÚ€æÞÂàé ·Þ ºèÂ@DßÂ`’߀Úà¨ÞÂÀßÂÀÛ ðß öÞ ðßÂà²äÂ`ŒàÂÀXæÂ öÞÂ@JÞ ÝÂàÊà€uÜ %ìÂ`Â× "âÂÀ.íÂà¾âÂàÐßÂ`'ÜÂêÓÂõæÂ`-ÛÂ@ÁßÂ@£äÂà#çÂÀÕæÂ`†áÂ@ÍÝÂà_Ý€?倇ÙÂÀóáÂ×ë ðÂÀFéÂÀváÂ`¶ÙÂ`3Ú CçÂâ ðßÂÀ²× ÝÂàkÛ ç d×ÂÀpâÂ ÆæÂ å CçÂÀváÂ` áÂ@æÂ ÏÚÂà²äÂ`-ÛÂÀ¥îÂ`DìÂ`ÓéÂ@FµÂÀÛå€?åÂ`¶ÙÂÀ‚ß åÂÀùàÂ@—æÂ ŸâÂ`\èÂàóîÂ@ åÂ@JÞÂàÄáÂ@ å€uÜÂ`÷〞êÂÀÚÂ@¯âÂ`JëÂ@ê OåÂÒ×€9æÂÀßÂá LÛÂ@£äÂ@¯âÂ`†áÂàÂÀŽÝÂàGáÂ@ å€9æÂ`zãÂäÂÀdäÂ`ëå€þÚ ØÂ`!Ý€Kã€.ÓÂàYÞÂàìÂ`!ÝÂ@¯â í ðÂ`ÁìÂ`hæÂ¢ßÂÀ|à€øÛ äáÂûåÂ@—æÂà)æÂ€ îÂ%ß ä UäÂÀð€WáÂûåÂË퀒젽ÝÂÀÏç öÞ–áÂOØÂrçÂ`Jë ®êÂù ðßÂ`hæÂõæÂàúØÂ`†áÂÀùà màÂ`ÍêÂ`£ñÂàÖÞ äáÂàˆëÂ`»íÂ@ÇÞÂ@´ö€3çÂéèÂÀXæÂ`ŒàÂ@»à cì ïÂãéÂâÂ@åÂ@£äœàÂà;ãÂfé€òÜÂfé íÂûåÂ`»í ðß gá ÝÂ` áÂÀ:ëÂ@ÇÞ–á ^ØÂà5ä–áÂIÙ IæÂU× 〇ÙÂ@ßÚÂ@sì€ØÂàYÞÂ` á .àÂ`täÂ`nå U䀿ÞÂàØÂ ‚Ò ÝÂàâÜÂ`ñä ÜÂ`bçÂ@åÂ@bÚÂÌØÂ=Û OåÂÀáäÂ@©ã ç®Ý äÂàÂCÚÂÀçã çÂ`†áÂÀ Þ€(ÔÂâ màÂÀ|àÂ@8áÂà_Ý gáÂàèÂÀÜÂ`bçÂàôÙÂlèÂàMàÂÀjãÂ`hæÂ@µáÂ@yë ¥áÂ@µá€-è€]àÂ` áÂÀXæÂ€-èÂ`nåÂà_ÝÂàìÂà”逌íÂàÂàéÂàâÜÂ`åæÂ (áÂ@JÞÂ@,ãÂ`ýâÂ`ÙèÂ`˜Þ–áÂxæÂ@€ÕÂ@bÚÂàÖÞ€€ïÂÀÉèÂ`ß Ü &×Â`ÈÖÂàØÂ–á€Ôá ðßÂÀ·ë .àÂàÐßÂ`!ÝÂÀ‚ßÂÀáäÂÀAÕ ÛÂ`’ßÂàMàÂ`âÂàYÞÂ`ŒàÂ@åÂÀjãÂ@÷Ö€€ï ä€ÂäÂà)æÂÀ/ØÂàÄူçÂà²ä =èÂÀpâÂâ€!ê Uä yÞÂIÙ 9óÂ@‹èÂ`-ÛÂÀ#ÚÂ`€âÂ@åÂàeÜ ·Þ€¶æÂâÂ@üê øèÂûåÂÀ½êÂ`hæÂ@ñ×–áÂ ÆæÂ`åæÂ äáÂ`åæÂÀÛ ‹ÛÂà ™ãÂÀ¥î UäÂ`¤Ü [ãÂÀRç ØÂ@ÇÞÂàšèÂûåÂÀÏçÂÀ½ê ÎçÂâÂàÐ߀ë€Wá ŸâÂàˆëÂÀ:ëÂ@ÌòÂ` òÂ@Á߀Eä òÂÀ¥îÂ~åÂ@ å ÔîÂÀ(î ïŠãÂËí€ýï Ñù€€ïÂ@ØðÂàvî€Vö€©ý€nò „ñÂ÷ TùÂÐÃ@ïÃÀ‡ó€2ü ñÂ`múÂèýÂ@+øÂ@Cô ué€ýïÂ`ÌÿÂÀøõ§óÂö lõ€ÓöÂðCÃ`÷€8ûÂ`ÞüÂàÃù€ÁùÂ@Oò rô øÂ`ðù€DùÂàÿÂ@üÂ@OòÂ`µî ZøÂ oê³ñÂÀñ ´éÂ}úÂõ ù€JøÂ`&ñÂSÃÀøõ ˜øÂÀòö§ó€Dù€ìÂ€ÇøÂ€ÇøÂàXóÂÀòö€ î nÿÂ`÷ ¶óÂà"üÂàLõ ù€2ü€Áù€÷ð€ññÂàÃöÂàáñÂà|íÂÀ@êÂÀÈýÂ@7öÂ@Øð ¼òÂà@÷ ZøÂÀòÂ@=õÂà«úÂ`ÓéÂ@+øÂ rôÂàÏô NúÂ@„þÂ`gûÂÀ¼ÿÂ@+øÂ Nú ’ù ŒúÂöÂõæÂ ÂñÂ@´öÂÀo÷Â`2ï€ÓöÂ@ÀôÂà4ùÂÀQüÂÀ]úÂ@ðìÂÑìÂ`ü÷Âàÿ -õÂÀñÂ÷€ÁùÂà"ü€åóÂ`ØýÂ`öøÂÀ4ì€DùÂÀôÂ`óÂ@ê øÂ€Vö¡ôÂ@gî EñÂ@üêÂÀòÂ`Pê Þâ Úí `÷ œíÂàXóÂ`÷ÂÀòÂÝêÂÀ"ïÂ`»í€9æÂéèÂ`ÇëÂÀ^åÂÀ”ÜÂ`ê ï€ï€ì rô iëÂ@öëÂàêÂ@yëÂà)æÂ€¶æÂ Qï€ëÂàìÂÀ™ðÂ`PêÂ@µá–á òÂlèÂà|íÂ`µîÂ@êÂNí ïÂÀ:ëÂà)æÂ@ÆóÂ`2ïÂàˆë€žêÂ@géÂà|í +ëÂ@êíÂÀ(î çÂ€ÇøÂàvîÂBïÂ`ÍêÂàçðÂTì ~òÂàÛòÂ@‹èÂàpï ™ã 7éÂ@8áÂÀŸï ™ãÂ~å ïÂ`PêÂÀ:ëÂ%ß äáÂNíÂÀjãÂãéÂ`bçÂ@Cô€!ê€àßÂÀ½êÂàvîÂféÂÀôÂ=Û oêÂÀàù ¤ö ŠðÂÀ"ïÂNíÂ`>íÂ÷¿ïÂàMàÂÝêÂÀŸïÂÀLè ªõÂ`&ñ oêÂàvî€ìÂÀÉèÂÀòÂ`ëåÂ`ßÂÀŸï EñÂâ %ìÂ@çÂ`DìÂ`PêÂ`Ùè€-è¨Þ ¥áÂ@çÂ@gîÂ@2âÂ@…éÂà)æÂà/åÂ`hæÂ CçÂà|íÂà#çÂ@èÂ`8îÂéèÂÀjã€9æÂ@ÓÜ€ÎâÂàÊàÂ@ðì þçÂàˆëÂféÂ@míÂïç€-è ñÂàêÂ@…éÂ@»à€ÎâÂÀÿßÂ`ô ŠðÂ@êÂÑ쀤éÂ@è Nú€åó ®ê€ìÂ@sì¿ï oêÂÀÉèÂ`Çë iëÂ`÷Âà²ä ÔîÂ`õ Eñ %ìÂåÂ`ßç€Úà ºè€cßÂ@ åÂÀ@êÂ`µîÂà‚ìÂÀjã òéÂ@yëÂûå Òä àìÂTì (á ãÂ`bç +ëÂÀíâÂ` áÂàdñÂÀ«íÂàvîÂàÿìÂàÄáÂrç þçÂÀ|àÂàŽêÂxæÂ€°ç€-èÂÀ^å ]íÂ@Uñ€9æÂà çÂÀçã a„ê oê .à çÂÀXæÂ×ëÂ@üêÂà/åÂ`ýâ€øÛÂ`ñäÂàéÂûåÂ`€âÂ@ÍÝ€WáÂ@ê ãÂ`Óé êàÂà²ä íÂ@¯âÂÀ:ëÂ`†áÂ@,ãÂõæÂ@©ã€æÞÂ`âÂ`zãÂÀváÂÀÛÂ~å Ìå ìêÂ@üêÂÀ½ê iëÂàóîÂÀíâÂ ÆæÂà¾â€9æÂÀÏçÂ@&äÂÀÏçÂÀáäÂ@ åÂûåÂ@—æÂ ç ñÂ@Dß îÂ`>íÂ`âÂÀ@êÂÀ|àÂ@ åÂÒ× 7éÂàèÂÀ4ì ç€ªè€KãÂ+ÞÂãéÂ@yëÂÀíâ :ÞÂàìÂà”éÂ`2ïÂÀjãÂ`Óé ãÂ` áÂÀvá´ÜÂBï æëÂ`zã ‡æÂHîÂ@©ãÂ`VéÂ`êÂ`tä€-èÂ@£äÂ`»í OåÂÀíâ€Èã ´éÂ`’ß (áÂ@©ã€KãÂ`bçÂ`zãÂÀ^å LÛÂrç€òÜ –î À瀤éÂéèÂà çÂÀçãÂ`Vé üÝÂ`ñäÂ@èÂ@ðì ÕÙ  æÂâÂ@DßÂà)æÂÀdä ØãÂBïÂféÂ~åÂÀ|à€Âä€QâÂÀáäœàÂÀjãÂáÂrç gံæÂ@&äÂÀ@ê ™ã iëÂà¬å ÚÂõæÂ€Wá€9æÂàˆë “äÂ`ÓéÂÀpâÂåÂ`ßÂÀXæÂ`bçÂ+ÞÂ`ßÂ@è "â {èÂ@è þçÂÀvá ðß sßÂàÊà ÏÂÀjãÂ@‘çÂàYÞ€'é uéÂÀ^åÂ`Vé Oå =è æë€ªèÂà ç –î€!ê€Îâ “äÂ@&äÂÀRçÂ@»àÂ@»àÂ`täÂ@>àÂ`täÂÀóá Þâ€þÚ ·ÞÂ`ëå “äÂà¾â ãÂÀRçÂàGáÂÀ¦ÙÂâ€]àÂ@JÞÂ`ªÛ aâÂàMàÂ`žÝÂàkÛ€ Ù€‡Ù€àßÂ`Œà :ÞÂ`ßÂ@ÍÝÂ`åæÂ„ä ãÂÀóáÂÀóá ¥áÂ@ÙÛÂ@£äÂ@ç ðßÂ@æÂ@å (áÂ@Dß ŽÐÂàÊàÂ`†á aâÂ`¤Ü ØÂ` áÂ=ÛÂÀáäÂÆÙ€ÚàÂÀÕæÂ ‡æÂàØÂàèÛÂâ€ÂäÂà_ÝÂàeÜÂØÖÂÀÛÂåÂ`ß ÝÂ`?ØÂ`ÔÔ¨ÞÂ@hÙÂ=ÛÂÀ/ØÂâÂ1Ý ìêÂ`3ÚÂ@ŒÓ üÝ XÙÂÀÝ€Wá =èÂ`»í ÕÙ å ¯ÕÂà/候ÖÂ`òÏ ,ÖÂûå ÃÜÂêÓÂ[ÖÂ`¤Ü€(Ô üÝÂÒ× ÛÂàúØÂ@€ÕÂöÑÂ@-΀‡Ù¢ßÂ@PÝÂ`ÔÔ€æÞÂ`Œà ßÍ ÏÚÂÀAÕ€Ôá LÛÂÞÕÂCÚÂàÓ >ÓÂ@€ÕÂà¿ÍÂÀá䀷ÑÂÀˆÞÂà$ÒÂ`žÝÂ=ÛÂ`9ÙÂ`žÝÂ@zÖÂ`ÔÔ &×ÂÀÛÂCÚÂIÙÂ@3ÍÂ`àÒÂ@Õ ^ØÂ ,ÖÂIÙÂ`ÎÕÂàGáÂ@ÇÞÂ@ßÚÂ`E×Âà¾â¨ÞÂ@ÙÛÂ`¶Ù€(Ô µÔ€ ÙÂOØÂ@ÙÛ öÞÂà$Ò yÞÂ`€âÂCÚÂ@¯âÂÀ)ÙÂ`ŒàÂ`¼ØÂ€iÞ (á 8Ô sßÂ@t×ÂàÄá d×ÂàØÂ ÚÂÀpâÂ`ÞÂÀšÛ Ý®ÝÂ`ÔÔÂ@ Ô€àßÂÀ”ÜÂ@bÚÂÀšÛÂÀMÓ€øÛÂÀçãÂ`žÝÂ@åÙ€ ÙÂÀ^åÂ@DßÂÀ;ÖÂÀ5×Â@»à vÔ€× …ÜÂ ÛØÂ@ëØÂ€àß .à€æÞÂÀÄÔÂÀùàÂà}ØÂ[ÖÂ`3ÚÂÀ¦Ù€È〼åÂ`ÞÂàØÂÆÙÂ@ÍÝÂ`-Û FÜÂàwÙÂ`ÎÕ€EäÂàvîÂ`à XÙ€°çÂ`ßÂÀjãÂÀ#Ú€Ú ÏÚÂÀjãÂ`KÖ OåÂ@ßÚÂ`åæÂ “äÂ@è€Ôá ÀçÂ`'ÜœàÂïç ÛÂïç FÜÂÀùàÂ7Ü€{ÛÂ@ëØÂ üÝ€Eä€×€WáÂàéÂàMàÂ`ýâ€þÚÂ`9Ù€ÚàÂ@8á ÜÂàƒ×€Èã …ÜÂ@hÙ ‹Û ÏÚ€iÞ€ÚÂ`÷ãÂÀÛÂ@åÙ€ØÂ€Eä öÞ êàÂàîÚ FÜÂ`âÂÀjãÂÀ²×€ÔáÂ`†á€uÜÂêÓ ±ßÂ@»à jÖ€uÜÂÀ;ÖÂ@åÙ LÛÂÆÙ€]àÂ`ñä IæÂØÖÂÀ ÚÂÀ²×€Ö ðßÂ@ÇÞ€¥ÔÂ@zÖÂÀÕæÂ ã€æÞÂ`iÑÂàôÙÂ@’ÒÂÀÝ ÃÜ€æÞ ÃÜ€"Õ ¥áÂ@µáÂ`°ÚÂÆÙÂ@åÙ RÚ€òÜÂà¾âÂêÓÂ`QÕÂÀ‚ßÂ@»àÂ@8ဇÙÂÀ¾ÕÂ@ÇÞ çÖÂà×ÂÀÿßÂ@ÓÜÂ7ÜÂà”éÂT쀇ÙÂ@èÂàSßÂÀ|à ½ÝÂ`-Û€øÛ¢ßÂ`9Ù 7éÂ`'ÜÂÀˆÞÂ@©ãÂÀ”ÜÂÀÚ´ÜÂâÂ`ÚÓÂ`?ØÂ€ ÙÂ`?ØÂ€˜ë @Ý XÙÂà5äÂàÊà Ü€Qâ 4ßÂCÚÂ`!ÝÂ`žÝ€uÜ ÏÚ€øÛ IæÂ+ÞÂ@ëØÂ ØÂÀ¬ØÂ màÂ@÷ÖÂ`à çÂ`°Ú ·Þ LÛÂÀˆÞÂÌØÂ ä€ØÂ FÜÂ@€Õ ½Ý ÕÙÂà×ÂÀ ÚÂÆÙ ÏÚºÛ Ù öÞ »ÓÂ`ŸÈÂËÂ`àÒÂàÕÂ`QÕÂU×Â`¼ØÂâÂOØÂCÚÂ@hÙ ØÂ ¯Õ XÙÂà•Ô ˆÑÂÀ/ØÂ`?ØÂÀ^åÂ`'Ü€Ú€ÚÂ`àÒÂsÒÂ@ÒÂÀSÒÂàÐß —ÙÂ@hÙ 8Ô ÛÂà*Ñ çÖÂ`QÕ íÕÂÀšÛÂÀˆÞ ÚÂÀ‚߀"ÕÂ@nØÂ XÙ€FÏÂ@hÙÂ@t×ÂÀ)ÙÂÀÝÂ[ÖÂÀ¦ÙÂ@ÓÜ ,ÖÂ@ŒÓ€iÞÂ`?ØÂ‘ÍÂà0ÐÂÀÛ€“×Âà­Ð€uÜ »ÓÂ@ÙÛÂÀAÕÂ@Ò  Í d×€½ÐÂ`¼ØÂ ùÓ€{Û íÕ ‚ÒºÛÂ`ìРJÑ 8Ô€±Ò ÚÂÒ×ÂÒ×Âà0ÐÂsÒÂ@åÙÂ`¤ÜÂ@Ó€‡ÙÂ[ÖÂàØÂÀîÍ€(Ô ‹ÛÂ`{ΠüÝÂ`]Ó€ŸÕ >ÓÂIÙÂÀ‚߀òÜ€ØÂ`]ÓÂÀÐÒÂÀ”ÜÂ@ýÕÂ`àÒÂ@€ÕÂÀóáÂ`Œà ‘ÚÂ7ÜÂÀ Þ |ÓÂàkÛÂÀ#Ú ÝÂ`âÂàlÆÂ`3Ú ЀÖ€× >ÓÂÀ²×Â@÷ÖÂ`cÒÂÀÐÒÂ@€Õ´ÜÂ ÛØÂ@ëØÂÀAÕÂ[Ö€(Ô GÇÂ`àÒ šÎÂà¿ÍÂÀSÒ€ìÝ ðßÂàÜÝÂÀÊÓÂÏ 8Ô€uÜÂà×Â`¤ÜÂÀÝÂ@ÇÞÂÀùàÂ`-ÛÂ@ ÔÂÀÊÓÂÒ×ÂÀGÔÂÀ_ÐÂ`¼ØÂ`3Ú€ØÂ@!ÐÂIÙÂàØÂ Û çÖ€½ÐÂ`!Ý€ØÂ€«ÓÂ`E×ÂÀ‚ßÂ@éÂÐÂ@\ÛÂà³ÏÂ`Ë ùÓÂðÒÂ`-Û ßÍÂÀ²× ÇÑÂÀÝÂÀÐÒ€4ÒÂ`æÑÂ`¼ØÂ7ÜÂ@ëØÂÀkÎÂÀ ÞÂ`ÚÓÂ@¼ËÂà¹ÎÂÀ/ØÂ`æÑÂ@!ÐÂÀÆÂ RÚ á×Â`ªÛÂÀáä &×€oÝÂ@ÕÂ`]ÓÂÀ¦ÙÂ@ªÎ€iÞ hÌÂaÕÂ&ÊÂà‰ÖÂ`¤ÜÂÀ;ÖÂgÔÂàYÞ ðßÂà;ã€{Û€Ö€ÖÂÀ#ÚÂà}ØÂ€Ú ùÓ XÙ “ä ‘ÚÂÀùà€FÏÂÀ‚ßÂâÂà5äÂÀÜ ÁÒÂ`ËÂÀÖÑ ݨޠaâÂÀ”ÜÂà€‡ÙÂ@PÝÂà )Ì€WáÂ@2â Cç yÞ —Ù óÔÂàôÙÂ`nåÂ@nØÂ`!ÝÂÀYÑ€4Ò íÕÂ@JÞÂ`°ÚÂÀ)Ù€ØÂ LÛÂÀÃéÂrçÂÀˆÞÂÀ4ìŠãÂÀ¦Ù ´éÂÑìÂ@ÇÞÂ`’ßÂÀLèÂáÂà× åÂ`ëåÂ×ë mà€æÞÂàâÜÂõæÂÀÛÂÞÕ€òÜÂ@yëÂ@VÜÂ`Vé "â€Ôá€ìÝ ·Þ´Ü€øÛ ÌåÂàÐßÂ@bÚ ðßÂÀçãÂ`täÂà€“×ÂÀ Ú´Ü€™ÖÂÀ ÚÂ`iÑÂ@åÙ ½ÝÂ@\ÛÂ@ÁßÂàÂàôÙ ãÂ@&äÂÀ^å @Ý ÕÙÂ@8áÂ@nØÂ`ÞÂÀvá yÞ€]à€àßÂ`ýâÂ@¯âÂÀáäÂ`ëåÂàÂ@VÜ màÂ`Þ€]àÂ`zãÂ@2â ÛÂ@÷Ö @ÝÂàGá Ìå ®êÂÀçãÂÀ¦ÙÂÀ/ØÂÀÛÂ`€â åÂØÖ€Qâ @Ý ÉÛÂà_ÝÂàèÛ€ÚÂ@˜ÑŠãÂ`ýâÂÌØÂ .à€Ú çÖ€™Öœà ãÂ@€ÕÂõæÂÀùàÂ@µá :ÞÂyÑÂ+Þ ¯ÕÂà¸ã€ÈãÂ`nåÂÀˆÞÂÀùàÂ`-ÛÂûå€æÞ vÔÂ@˜ÑÂàÊà€{Û …ÜÂàqÚÂ`’ß ‘Ú öÞÂ`žÝ ãÂàÊàÂÀ¾Õ€“×ÂIÙÂ1ÝÂÀ¦Ù€oÝ ˆÑÂÀ ÚÂåÂàÓÂ`€â ·ÞÂÀ;Ö Øã "âÂ`ýâ€ØÂÀváÂÀ}ËÂÀ¾ÕÂÀ Þ ÉÛÂ@ÓÜÂ@ÙÛÂ+ÞÂàkÛ€ÛË€uÜÂaÕ€ÃÏ äÂÀÐÒ€oÝ ÐÂ`Þ yÞ ØÂ€ÔáÂ` áÂCÚ &×ÂÀÃéÂÀˆÞÂ@t× ,Ö Û .àÂàSß ™ãÂ@ å€9æÂ€‡ÙÂàÜÝÂàƒ×®ÝÂÀ²×ÂàwÙ ‡æÂàeÜÂÀÛÂÀÛ€.ÓÂÀjãÂÀ”Ü á× Òä€þÚÂ`KÖÂÌØÂàeÜÂÌØÂ óÔÂÀ¦ÙÂ@ëØÂ@ýÕÂ`oÐÂÀ5×Â@—æÂà³Ï LÛÂÀ ÚÂàÖÞ€KãÂmÓÂ`˜ÞÂà€{Û màÂ@Õ€Îâ öÞœàÂÀ Þ€]àÂ`?ØÂà‰ÖÂ`3ÚÂ@ÙۮݠÇÑ Ú jÖÂ[ÖÂà_ÝÂCÚÂ`˜ÞÂ@†ÔÂ@žÐ @ÝÂ`3ÚÂÀèÎÂà¡ÒÂÀGÔÂÀkÎÂà*ÑÂ`“ÊÂÀ Ú€ÃÏ€ØÂ—Ì ÒÂÀ/ØÂ@¤Ï ‘Ú ÏÚÂàúØÂ€™Ö ,ÖÂ@bÚÂ`’ßÂÆÙÂ`ÔÔ FÜÂ`cÒÂ`?ØÂàÓ —ÙºÛÂ@ÕÂàkÛÂÀ#ÚÂÀkÎÂàÕÂ@ýÕÂÀpâÂä ÙÂÒ×€ÔáÂ`uÏ ÏÂÀ²×€]àÂ@Õ JÑ€oÝ€ØÂ ,Ö€:ÑÂCÚÂà$Ò ©Ö ÇÑ >Ó€]àÂà²ä DÒÂÀ ÚÂÀ5×Â@ßÚÂ`'Ü @ÝÂ@ÇÞÂÀRçÂàéÂ@ëØÂ ÛØÂºÛ |ÓÂÀ¾ÕÂÀ²×ÂCÚ€@ÐÂ@D߀FÏÂ@°Í FÜ 2ÕÂÀ_ÐÂ@ ÔÂÀ5×Â`˜Þ ‘ÚÂsÒÂ`uÏÂ`ÔÔÂË ÍР»ÓÂÀ5×Â@t×ÂÞÕ ¯Õ€4Ò€4ÒºÛ€ÖÂàèÛÂðÒÂ`Â×Â@ýÕÂÀÝÂðÒ 2ÕÂ`WÔ®ÝÂ`°ÚÂàØÂ ‘ÚÂàèÛÂÀÛÂsÒÂ@Õ ÓÏ ‚Ò€àß ÇÑ ŽÐÂ@ßÚ€×Â`9ÙÂ@ ÔÂàØÂÐÂÀ5×€¥ÔÂÀ²× RÚ ˆÑ€™ÖÂÀèΠ…ÜÂÀ¦ÙÂ`Â×Â@zÖÂ`cÒ€oÝ€ÎâÂ`¤ÜÂ`ŒàÂÆÙÂ`'Ü€™ÖÂ`Ê ©Ö µÔÂÀšÛÂ@ŒÓ€æÞ ÚÂ`àÒÂ`¶Ù &× |Ó ¬ËÂÀÛÂá @ÝÂÀjã ÇÑÂ`ªÛ vÔ ÕÙÂ@ Ô€ÏÍ £×€Ú€ÚÂ`?ØÂàèÛ ‘ÚÂÀÛÂÀÜÐÂ`ÎÕ ÝÂàÖÞ ÛÂÀ¾ÕÂ`cÒÂÀ_ÐÂÀÊÓÂÐÂ@zÖÂ`ªÛÂÀ¸Ö€{ÛÂÀ5לàºÛÂàÔ€¥Ô€×€ÚÂÀß ØÂàBÍÂ@bڠ݀EäÂÒ×Â`'ÜÂÀÝÂ@Dß ,ÖÂà}ØÂÀ¾ÕÂà¡ÒÂ`¼ØÂÀ/ØÂàƒ× ÒÂÀßÂàHÌ LÛÂà$Ò  ÍÂ`ÍÂà³ÏÂàÕÂ`-Û ëËÂ`WÔÂ@VÜÂÀ¦ÙÂ…Ï FÜÂÀúË \ÎÂàkÛ ØÂ ÕÙÂà€^Ë ÿÒ‘ÍÂ`˜Þ€‡ÙÂyÑÂÀGÔ€iÞ€{Û ÇÑÂÀÚ€±Ò—Ì &×€ÃÏ€LÎÂ`(ÇÂÀƒÊÂ`ÊÂÀÖÑ ‹ÛÂàÓÂ@Ò £×Â`ÚÓÂÒ× bÍÂ`cÒÂ`]Ó€Ú VÏÂ`oЀøÛÂÀ²×Âà•ÔÂ@°ÍÂ[Ö äá ÙÂ@'ÏÂÀÖÑÂ`QÕ€.ÓÂÀ)Ù LÛ ÇÑÂ@’Ò ÙÂàƒ×Â=ÛÂ@ñ× 2Õ vÔ€òÜÂ`°Ú öÞ€àß @Ý ÁÒÂ@†ÔÂÀ5× µÔÂÀ/ØÂÀYÑÂÀ²×€‡ÙÂà¡ÒÂ…Ï Ò  ÍÂ`ìР&׋ÎÂ`žÝÂ`¼ØÂ bÍÂ@-Π¯ÕÂà}ØÂ€ÏÍÂÀ ÚÂ…ÏÂ`ÎÕÂ`æÑÂ@åÙ XÙÂ`¼ØÂàÔÂ@†ÔÂ@ëØÂÀ¸ÖÂ@ÙÛÂ`uÏ þçÂÀ|àÂÀ ÞÂàÐßÂÀ²×ÂÀ|àÂàúØÂ …Ü ÓÏÂàîÚÂaÕ ØÂ@nØÂ€@ЀRÍÂðÒ€Ö€òÜÂÀGÔ€×Â@ßÚÂ`!ÝÂ@'Ï ñÊ‘ÍÂ`¶ÙÂ`ÎÕ ½ÝÂÀîÍ 2Õ ÛÂ`ßÂà_ÝÂOØÂ çÖÂüР‘ÚÂÀ²× tÊÂàÄáÂ@µáÂÀ²×€(Ô  Ñ€^ËÂ`ÞÂ` áÂÀÜÐÂÀ;ÖÂ@€ÕÂÞÕÂðÒ üÝ £×€æÞÂà_Ý 2ÕÂÀÜЀòÜÂ@ÒÂÍÂÀMÓÂÀjãÂ@ÁßÂà•ÔÂàÅÌ€ Ù d× ¯ÕÂ`QÕ€ Ù ÐÂ@€Õ jÖÂ`KÖ yÞ ÃÜÂÏÂÀÚÂ ÛØÂ€øÛÂàTÊÂÀèÎÂ@åÙÂÀRç€× d×Â@zÖÂ@Õ VÏÂÀÝÂÀÿß ‹ÛÂàSß OåÂÀ/ØÂIÙ ^ØÂ€ÉÎÂ@ýÕ€ØÂ€ØÂÀSÒÂ`iÑÂ@¶Ì ùÓÂà<ÎÂÀÐÒ€iÞÂÀÐÒÂ`3ÚÂÀÜРßÍÂÀ”Ü vÔÂCÚ ‘Ú |ÓÂàeÜ á×ÂÀÜ ©Ö©ÉÂÀÈ ÐÂ@!ÐÂÀ_РåÌ€.ÓÂyÑ´ÜÂ`¼ØÂÀÄÔ€(Ô€:Ñ Ë šÎÂÞÕ 2ÕÂÀ|à€ÎâÂÀƒÊÂ=ÛÂÀ_Ѐ:Ñ€·ÑÂ@ëØÂ®Ý RÚÂàÅÌÂÌÂà­ÐÂØÖ€±ÒÂÀ/ØÂ@t×ÂmÓÂÀÊÓÂÀèÎÂàHÌ€«Ó€òÜ€‡Ù pÕÂ`]Ó€øÛÂ`KÖÂ@ýÕÂ`]ÓÂ1Ý€×Â@€Õ ØÂÀ/ØÂÀˆÞÂàkÛ #Í µÔÂàâÜÂÀÛåÂÀ”ÜÂÞÕ vÔ ÝÂ`ýâ /Ë€.ÓÂÀ_ÐÂ@\ÛÂ`ªÛ ùÓ @Ý RÚ íÕÂÀÖÑÂ@PÝÂCÚÂà§Ñ€™ÖÂÆÙÂ@hÙ Ý Û pÕÂÀšÛ &× ÝÂ@žÐÂ@ Ô óÔÂÀ/ØÂ`ÍÂÀMÓÂÀYÑÂyÑÂÀßÂØÖ€Qâ€ØÂÀÜÂàSß ‹Û LÛÂàTÊÂêÓÂCÚ óÔÂ@hÙÂ@ ÔÂ@ýÕ —ÙÂêÓ 4ßÂ@ŒÓÂàÖÞÂà*Ñ ÚÂÀ”ÜÂyÑ€"Õ ÁÒÂ`iÑ á× jÖ RÚ )ÌÂ`ÍÂ@’ÒÂ`E×ÂU× »Ó VÏÂÀMÓÂÀ#ÚÂ+Þ yÞ€.ÓÂà§Ñ€ ÙÂÀ¬ØÂÀ/ØÂà‰ÖÂ`°ÚÂ+Þ »ÓÂ@Ñ ÚÂ`!Ý€ÉΠýÈ µÔÂ`òÏÂÏÂ@åÙÂàBÍ€(ÔÂàÔÂ@÷Ö€·ÑÂà ÖÂàqÚÂàïÅ ÛÂ@VÜ€ØÂ zÉ 5Ê€ìÝ€·ÑÂmÓ€ÉÎÂ@-΀ØÂÍÂàÔÂðÒÂ`!ÝÂ@ŒÓÂà³ÏÂÀ5×Â@-ÎÂÀúËÂàÕÂÀ5×ÂàwÙ jÖ d× ßÍ žÃ ¸É ˜ÄÂ@ÓÂ`{΀^ËÂüРDÒ€× JÑÂÀúËÂà$ÒÂ΀«ÓÂÀSÒ ùÓÂ`¼ØÂà$Ò€LÎÂüРXÙÂàÅÌÂ@?ËÂ@ÈÉÂ@¼ËÂÀè΀ÉÎÂ ÛØÂÀ)ÙÂà<ÎÂÀ_Рá× &× šÎÂÀèÎÂÀ¸ÖÂ@ÒÂàÔÂàZÉÂÀqÍ XÙ jÖ€× \ÎÂÀ}Ë€pÈÂÀÊÓÂsÒÂDÅÂ@ÕÂ@÷Ö €È€^Ë ØÂ@!ÐÂ`:Ä ”Ï ÷É ¬ËÂ`ìЀvÇ ½€pÈÂ@æÄÂà•Ô€ÏÍ )Ì ¯ÕÂàBÍÂ`ìÐÂÀAÕÂÀÊÓÂ@˜ÑÂ@bÚÂ ÛØÂ@ÂÊÂ@˜ÑÂà*Ñ ˆÑ zÉÂ@¯â êà£ÊÂ`WÔÂ`ÍÂ@’ÒÂÀÐÒÂ@ŒÓ€FÏÂ>ÆÂÀÊÓ ÷É€^ËÂ`òÏ€çÉÂÁÅÂÀeÏÂà6ÏÂà²ä€dÊ ΀ùÆÂ`ŸÈÂ@9ÌÂ@žÐÂÒ×Â@QÈÂà*ÑÂàTÊÂÀ_ÐÂ`oÐÂà§ÑÂ`æÑÂÏÂàÕ 8Ô€uÜ€@ÐÂ@ÑÂ@†ÔÂ`iÑ 5Ê ;É bÍÂIÙÂÐÂà§ÑÂà§ÑÂöÑÂÀkΠ Ñ ØÂ ˆÑ JÑ åÌ XÙÂ@’ÒÂàÅÌÂ@VÜ :Þ‹ÎÂ`oРPР‚Ò ØÂ`æÑÂÀYÑÂÀÈ€·Ñ |ÓÂ`“ÊÂ`ËÂ@EÊ bÍ€XÌ ÁÒÂ`ÎÕÂÀ¦Ù€FÏÂà6ÏÂ`ÍÂÏ€ Ù #Í VÏ jÖÂ@†Ô £×Â@ÔÇ tÊÂРŒÆÂà¿ÍÂàËË€ Ù ÄÇ€pÈÂà<΀ÃÏÂöÑÂ`{ÎÂÀwÌ ŽÐÂ`Ê 8Ô ÓÏ ßÍÂ`iÑ—ÌÂàÓ ñÊÂÀ‰É VÏÂÀúË ÁÒ ÇÑ ÁÒ€çÉÂ@àÅÂÀËÂ@KÉ —Ù  Ñ ÎÂgÔ VÏÂ@†Ô ÓÏÂ`{΀×  Í€:ѵÇÂ` ÌÂ@ÕÂà×€“×Â`KÖÂà‰Ö€ìÝÂà<ÎÂÀúË zÉÂÀ¦ÙÂÀ_ÐÂ@ÇÞÂàwÙ µÔ€½Ð  Ñ ÿÒ £×Âà§ÑÂ@-΀]à€ÚÂà•Ô Ù΀ÃÏÂÀ¬ØÂ`ÈÖÂÀ}ËÂà­Ð yÞ€ÛËÂ@˜ÑÂ@KÉ VÏ bÍÂÀÊÓÂ@ëØÂ€ Ù íÕÂ@ÕÂÀqÍ€RÍÂà­ÐÂÀ)Ù íÕÂ…Ï€pÈ€XÌ€ÉΠØÂ ÍРçÖÂà¿Í€"ÕÂÀGÔÂÏÂà§ÑÂ@ýÕÂ`ÎÕ€ŸÕÂ`E×ÂÀèÎÂöÑ€¥ÔÂàÖÞ ‚ÒÂ@KÉÂÀÐÒ VÏ ÓÏÂ`ÍÂàlÆÂ@WÇÂÎÂ1ÝÂÀeÏ€¬¾Â€±Ò ëËÂgÔ GÇÂ`ÊÂ`þÍÂàÅÌÂmÓ FÜÂÒ×ÂÀeÏ€‚ÅÂÀwÌÂ@zÖÂ@KÉÂà§Ñ AÈ€·ÑÂ@t× ùÓÂ`.ÆÂà¿ÍÂ@€ÕÂ`E×ÂÀ#Ú€“×€ÚÂÀÛÂÀeÏÂàÕÂ@°ÍÂ@ÕÂ`9Ù€×ÂÀ;ÖÂàúØÂ`à jÖÂ`Œà ÇÑ zÉÂ@†ÔÂ@ÕÂ@ªÎÂ@-ÎÂàÓ€Ú€ÛËÂÀ}Ë€RÍÂüÐÂÀÿßÂgÔ €È€¥ÔÂàéÆÂ@-ÎÂÀkÎÂ`QÕ€ÉΠØÂÀ¸ÖÂÞÕÂ@ ÔÂ`QÕ ÙÎÂüЀ·Ñ |ÓÂà¿ÍÂà¡ÒÂà6Ï ÿÒÂÀ ÚÂðÒ€:ÑÂà$ÒÂà§ÑÂ@ÔÇÂÀ5×€4ÒÂÐÂ1ÝÂ@!Р8Ô€«Ó jÖÂ`¤Ü€oÝÂ@ÂÊÂà­Ð€XÌ€þÚÂ`ÔÔ @ÝÂ@?ËÂÀÄÔÂà›ÓÂ`cÒÂOØÂ ;ÉÂà×ÂÀMÓ€@ÐÂ@€ÕÂÐÂ@JÞÂÀ•Ç >Ó€øÛ hÌÂ@ýÕÂ@ÓÂ@hÙÂÀÐÒ zÉ )ÌÂ@ªÎ€pÈ 2ÕÂ@£ä —ÙÂà*Ñ ”ÏÂà0ÐÂ@žÐ ÓÏÂ@Ò€¥ÔÂàúØÂ`žÝ€«ÓÂÀ/ØÂ@!ÐÂ`àÒ 2ÕÂ`Í€ÏÍÂà6Ï ÐÂ`KÖÂöÑ ÛÂ`àÒÂ`˜ÞÂÀqÍ€dÊ ¦Ì ùÓÂÀß ±ßÂÀèΗÌÂ@-ΠßÍ Ï ÁÒ€{ÛÂ[ÖÂÀ)Ù®ÝÂ@KÉÂà$Ò ÍРµÔÂÀ¦ÙÂÌØÂ@?ËÂÀôÌ€.ÓÂ@ýÕ ÁÒÂÀÈÂ@ÒÂ`3Ú€{ÛÂ@ªÎÂ@ ÔÂ@ÙÛÂ`ÎÕÂ@-΀øÛÂÀ;ÖÂà¿ÍÂØÖÂÀ_ÐÂÀ²×Â`ÔÔ JÑ€@Р\Π»ÓÂàâÜ€@ЀçÉ€ÏÍÂÁÅ€ÛËÂ`É ÇÑÂ@nØÂà<ÎÂ`ÊÂ@'ÏÂ`ÚÓÂÎÂàlÆÂ€ÛË ©Ö óÔÂЀ«ÓÂsÒÂà$ÒÂ@?Ë  ÑÂsÒÂ@!Ѐ“×Â@nØÂ€:Ñ ËÂà›Ó ¦ÌÂ@¤ÏÂà›ÓÂÀîÍ ùÓÂàÀ /Ë )ÌÂàHÌ 8Ô€‡ÙÂ`ìР”ÏÂÀîÍÂ`"È ýÈÂà<ÎÂ`æÑÂÀ;ÖÂ`"ÈÂÎÂ`cÒÂÀfºÂ`uÏÂüРÓÏÂ@ñ×ÂÀÊ /ËÂ@ÒÂÀMÓÂ`oÐÂÀ¸ÖÂ@ñ×ÂËÂÀ¡ÅÂ`øÎ ÇÑ ñÊ !ÃÂ`iÑÂà­Ð€:ÑÂ@’ÒÂ`uÏ ¦Ì€ÛËÂ8ÇÂ`Í »ÓÂ+ÞÂöÑÂÀÄÔ€(ÔÂ@KÉ ÄÇÂ`±ÅÂ@]ÆÂÀîÍÂ@ŒÓÂ`æÑÂà× ÍÐÂ`±Å ÅÂ@ÈÉ€XÌÂ`.ÆÂàHÌÂ@ÂÊ bÍÂÀAÕ€pÈÂÀ³ÂÂÀ¸Ö ÄÇÂà§ÑÂ`ÉÂ`ËÂ`iÑÂ@¤Ï ÇÑ †Ç bÍ !ÀÿÅÂ@¼ËÂ`uÏÂÀ¾ÕÂ`ìÐÂà§ÑÂmÓÂÀƒÊ šÎ€dÊÂÍÃÂ`ÍÂàÔ—ÌÂàËËÂÍ€pÈÂ@¤Ï€±Ò tÊ€4ÒÂà¹ÎÂ@¤Ï nË£ÊÂÀôÌÂöÑ ‘ÚÂÀ›ÆÂ`ËÂmÓÂPÀÖÂà„ÂÂÀ‰ÉÂ@ÓÂàÃÂ@¼ËÂ@ÂÊÂà¡ÒÂÀYÑ ÎÂ`ÉÁ€@Ѐ·ÑÂàNË€íÈÂ@ÒÂ`“ÊÂ@ÔÇÂÀ}ËÂàËË #Í€ÃÏÂ@ÑÂÀôÌ âÂÂ`É JÑ€ØÂ`ìРßÍÂ`þÍ€“×€”ÂÂÀôÌ PÐÂÀÖÑÂà*Ñ åÌÂÀ6€çÉÂ@òÂÂ`òÏÂÀôÌÂàÝÈÂ`ÎÕÂ@ñ× AÈÂ`±Å©ÉÂÀ*ÄÂ@]ÆÂ@t×€"ÕÂ`cÒÂÀ/ØÂ€^Ë tÊÂ`:ÄÂ@KÉ èÁ GÇÂà¿ÍÂÀ§ÄÂà~ÃÂ`‡Ì©É ŽÐÂ΀½ÐÂÀÈÂ`Í »ÓÂ`:ÄÂ`(ÇÂ`:Ä€vÇÂDÅ€ÛË€ÛËÂ&Ê€LÎÂàfÇÂ`{΀ÏÍÂÀ0à‚ÒÂ@'Ï ÓÏ PÐÂðÒÂà×ÂÀúËÂ@žÐÂ@?ËÂÀÊÂ@ßÚ ùÓ /ËÂ@]ÆÂ YÄ ËÂÀ ÉÂ@?ËÂàTÊ£ÊÂ`™É ÙΠÿÒ íÕÂàÅÌÂ`uÏÂ@ÂÊ€øÛÂ`“ÊÂ@3ÍÂÀ›ÆÂ@WÇ€ÕÌÂ@ÒÂ`ÍÂ@'ÏÂÀeÏÂ@˜ÑÂÀ5×Â`ÈÖÂÀkΠJÑÂ@ÈÉÂÀôÌÂ`ÎÕ€ŸÕÂ`ÎÕ 2ÕÂÐÂ@-ÎÂ`Ë µÔÂÀùàÂ@ÕÂÀ›ÆÂ€L΀ÕÌ |Ó—ÌÂ@ÕÂ@3ͯÈÂ`òÏÂ`“Ê€^ËÂÀèΠ;ÉÂÀÜÐÂ`?ØÂ ÕÙÂà`ÈÂà}ØÂ@3ÍÂ@’ÒÂΠ¬Ë ßÍ€FÏÂÀ5×Â`ìÐÂàúØÂ LÛÂÀ¾ÕÂ`E×  Í€4Ò ÇÑÂ@!Р»ÓÂ`âÂà× ”ÏÂ`ËÂ@øÁÂ`oÐÂÌÂ@’Ò—Ì µÔÂÀÖÑ€pÈ åÌÂÀÈ vÔ€ÛËÂÀúËÂ@’Ò ëËÂÏ€RÍ ²ÊÂ`iÑ€XÌ #ÍÂ`WÔÂ@÷Ö 8ÔÂ`½Ã€áÊÂ`“Ê ²ÊÂ`’ßÂ̯ÈÂàÓÂÀkÎÂà§Ñ ŒÆÂ åÌÂà0Ѐ^Ë )Ì€ÖÂàqÚÂÀúËÂ@’Ò€FÏ ¸ÉÂ@'ÏÂüÐÂ`þÍ vÔÂ@3Í€@Ѐĺ ;ÉÂàÔÂà‰Ö ÙÎÂ@ÚÆÂÀ‰É ÁÒ bÍÂÀÐÒÂ`ÔÔÂ@¶ÌÂ&ÊÂ@KÉÂ@ÈÉÂÀSÒ vÔÂ`ÊÂ`É€íÈÂÀÛ€(Ô»ÆÂ ÍÐÂ`uÏ€Õ̵ǀíÈÂ@9Ì ¦ÌÂ`“ÊÂ`ËÂ`Í MÆÂ@!ÐÂàâÜÂÀÇÂà ÖÂËÂÀÆÂ@zÖ tÊÂàãÇ€ÛË€@ÐÂ@-ÎÂ@¤ÏÂ@ªÎÂ@ÕÂ@¶ÌÂà•ÔÂÀGÔÂ`cÒÂ`æÑÂ΀RÍÂ@ Ô€áÊÂÓ ÇÑ€áÊ ÓÏÂÀ¸Ö€{Û ÓÏÂÀËÂàÝÈÂ…ÏÂ@ò ‚Ò€É΀jÉ ¬Ë ÄÇÂIÙ€^ËÂ@ìÃÂ@ÈÉ»ÆÂ€‚ÅÂà§Ñ Ù΀@ÐÂÀÄÔÂ@?ËÂ`¶Ù€ÉÎÂÀ§Ä ¾ÈÂà<΀XÌ€@Ѐ@ÐÂà§Ñ€‚Å  ÑÂàÓ ËÂÀeÏÂÀkΠ)Ì DÒÂ@?ËÂ`‡ÌÂ`ŸÈ ÁÒÂ`{ΠÈ€ŽÃ€@ÐÂ8ÇÂ`þÍÂÀ•ÇÂÀ­Ã ;ÉÂ`«ÆÂ`‡ÌÂ@ªÎÂ`iÑÂ@!ЀdÊ GÇÂ@ÕÂà$Ò ØÂ€ÕÌÂ@?Ë€4Ò VÏÂà›ÓÂÀÈ€óÇ€áÊ€ÿÅÂ`òÏÂÇÄ€íÈ ô¿Â`X¿Â@u ëËÂ@Õ ;É€"Õ€±ÒÂ ÛØÂ@ÈÉ ¾ÈÂ@¤Ï€dÊ jÖÂ@ÎÈÂà}ØÂΠ†ÇÂ`{΀ØÂ€(ÔÂ@¤Ï ’Å€ÃÏÂ@ÈÉÂàèÛÂU× ÿÒÂ@Ñ >ÓÂ`uÏÂà¿ÍÂà0РßÍÂÀSÒÂ@ Ô€ÏÍÂ@ìÀXÌÂ@ÈÉ€ŽÃÂ8Ç >Ó 5Ê©ÉÂà•ÔÂ`“Ê‘ÍÂ@!ÐÂ`"ÈÂ`oÐÂ`ÍÂÀ5×ÂàHÌ È—Ì‹ÎÂÀÐÒ€ÉΠßÍÂà× jÖÂ@iÄ€½Ð pÕÂ@ÙÛ óÔ yÞ 5ÊÂàØÂàÕÂðÒ 2ÕÂà6ÏÂÀ#Ú RÚ JÑ€ÚÂ`Â×Â`ÚÓÂà§ÑÂ…ÏÂCÚ€oÝÂÀ¬ØÂ`uÏÂ@\ÛÂ`3ÚÂÀGÔÂ@ñ×Â@9ÌÂ`‡Ì€™ÖÂ`Í ¯ÕÂêÓ 8ÔÂÀÐÒ ÇÑ  ÑÂäÔÂÏ€(ÔÂÀ²×ÂÀ#ÚÂ@ÍÝÂmÓÂà¿ÍÂ@’ÒÂ@zÖÂÀÈÂ`uÏ ÆÂ@ÑÂÀ_Ѐ™ÖÂÀSÒÂ@†ÔÂÀÖÑÂ`žÝÂ`Ë€óÇÂ…Ï PР©ÖÂ`“ÊÂyÑ 2Õ€RÍÂàÜÝÂ@!ÐÂ`òÏÂ`Í  ÍÂÀšÛÂ@ñ×Â`]Ó ØÂ€ÕÌ€ÛËÂÀË€½ÐÂÀ É ßÍÂÀÐÒÂmÓ€½ÐÂsÒ€XÌÂÀÄÔ €È€«Ó |Ó MÆÂüРVÏÂ`ìÐÂÀÜÐÂÀMÓÂà¿Í€XÌÂÀÛÂ@3ÍÂà¹ÎÂàãÇÂÀYÑ ;É€(ÔÂÀ¾ÕÂ`òÏ€ØÂÀYÑÂàéÆÂ`(Ç€ÛË vÔÂ`{΀ØÂÀâÏÂÀkÎÂ`ªÛ DÒÂ@ŒÓÂÀwÌÂ@ÕÂÀ¾ÕÂ`QÕÂ`àÒÂÌÂ@bÚÂ@åÙÂ`cÒÂ@bÚ íÕÂÀ#ÚÂàúØÂgÔÂÀÛÂÀGÔ€רޠ…ÜÂ@zÖÂ@†ÔÂ`iÑ .àÂÀ5×€ŸÕÂÀwÌ€±ÒÂ`WÔ ©Ö ÏÚ ¯Õ€"ÕÂÒ×ÂàÊàÂ@!ÐÂàԣʠÉÛÂÀšÛÂàãÇ€(ÔÂ@ñ× &×€ÉΠVÏ [ã pÕÂàÂ@£äÂ@ÒÂ` áÂà¹Î ÿÒÂ@°ÍÂÀÐÒÂ@\ÛÂ`æÑÂ@ßÚÂ@Ó ˆÑ ØÂÌØÂ PÐÂ`ÎÕÂÀ²×ÂaÕÂ@¼ËÂ@?ËÂ@ÂÊ |Ó€.Ó€·ÑÂÏÂüÐÂà¡ÒÂàwÙÂ+ÞÂÀ¸ÖÂÒ׋ÎÂÀ}ËÂ`Ë ÷ÉÂÀÖÑÂ@VÜÂ`9ÙÂOØÂ@'ÏÂ[ÖÂ@ÒÂ`uÏÂ`iÑÂ@!ÐÂ@-ᾺçÉ nËÂ`òÏÂà$Ò€"ÕÂàkÛÂ@ÍÝÂU× &× óÔÂàÅÌÂ,ÉÂöÑÂ@æÄÂàwÙ #ÍœàÂðÒÂÀÜÐÂÀâÏ€RÍ ÄÇ »ÓÂ@hÙ ÁÒÂÀMÓ€"ÕÂÀYÑÂÀúËÂÀMÓÂà<ÎÂà6ÏÂà¿ÍÂ`™ÉÂÀZ¼Â`ËÂÀAÕÂ`¼ØÂ€ùÆÂ€ùÆÂ AÈ€RÍÂ@ÈÉ ÐÅÂ`ÊÂ`!ÝÂ@9Ì ÍРùÓ )Ì€^ËÂ@æÄÂà¹Î ÙΠ²ÊÂÀÄÔÂ`{΀^ËÂà<Π†ÇÂ@'ÏÂÀ‰ÉÂ`¥ÇÂàÝÈÂ`ÉÂ,ÉÂ@'Ï ÖÄÂÀ$Å€«ÓÂ@€Õ€ÏÍ ùÓ—ÌÂà¿ÍÂ@˜Ñ—Ì€ÕÌÂÀ$ÅÂ@°Í€áÊÂyÑ ÍРµÔÂÀÈÂ`æÑÂÀÈ vÔ‹ÎÂ`(ǠĀÛË GÇÂ@QÈÂ`ŸÈÂÀwÌ€XÌ€FÏÂ@9ÌÂ`“ÊÂ@˜Ñ ЀÕÌÂÀÊÂÀƒÊ Ï ÙΠˆÑ ŒÆÂРnËÂVÂÂÀÈÂ`iÑÂà­ÐÂüРλÂ@¼Ë ÎÂÀ•ÇÂ` Ì ÖÄ ²ÊÂà×ÉÂà ÖÂ@ªÎÂÀËÂÌØÂÀ)ÙÂàÝÈÂ`ìÐÂÀ;ÖÂ`ÎÕÂ@˜ÑÂ@žÐ€X̯ÈÂ@’Ò ¬ËÂmÓ PЀ^ËÂÀYÑÂà­ÐÂàÅÌ ëËÂ>ÆÂ@ÀÂ`àÒÂ@?ËÂ`àÒ >ÓÂà¹ÎÂàHÌÂ…Ï jÖ ÙÂÀÇÂêÓÂÀ*ÄÂ@øÁ€jÉ€ DÒ€ŸÕ»ÆÂÀôÌ \΀:Ñ ßÍÂà¿ÍÂàÔÂÀAÕÂ`¥ÇÂ@žÐÂà³Ï€ÉÎÂ@KÉÂ@9ÌÂ@t× »ÓÂ@ò€vÇÂàBÍÂ@ŒÓ ”ÏÂÀôÌ€áÊÂÀîÍ ÇÑ‹ÎÂà<ÎÂàãÇ‘ÍÂà§ÑÂÀâÏÂöÑ |ÓÂÀèÎÂà›Ó€jÉÂàTÊ ùÓÂàãÇÂ`{Π”ÏÂ`?ØÂ ÈÂ@’Ò åÌÂ@†Ô ΀LΠ;ÉÂ`½ÃÂÀ6ÂÂÀkÎÂÍÂÐÂÀ/ØÂgÔ€ÕÌÂÀGÔÂÀÜÐÂЀÏÍÂà¹ÎÂÀâÏ…ϩɀvÇÂÀ‰ÉÂ,ÉÂÀqÍ ÍÐÂ`uÏÂ`"ÈÂàfÇ»ÆÂ \ÎÂÀkÎÂÞÕÂ@¼ËÂà0ÐÂÀqÍ ËÂà<ÎÂàÅ̵Ǡ”ÏÂÀ ÉÂ@ÔǠȀ4ÒÂ`ìÐÂ`™É€ÏÍÂÒ×€ Ä bÍ )ÌÂOØÂ€·Ñ€pÈ ýÈÂ`uÏ vÔ€ÉÎÂ&ÊÂÀ}ËÂ@¤ÏÂÀ}ËÂ`“ÊÂ…Ï€{ÛÂàÅÌÂÀîÍ ¯Õ PÐÂÀeÏÂ&Ê€çÉ óÔ€vÇÂ@ÂÊÂ@9Ì åÌ DÒÂà6ÏÂÀ)ÙÂaÕ´Ü 3À€.ÓÂüЀÉΠÇÑÂà0РÁÒÂÀ§ÄÂàlÆÂÀwÌÂÀâÏÂÀSÒÂà¹ÎÂÀƒÊÂà¹ÎÂ`ËÂ@’Ò ²Ê ŽÐÂ`?ØÂàfÇÂ`ŸÈÂÀÆÂ DÒÂ@¶Ì MÆÂà×ÉÂ@KÉÂ@ŒÓÂà‰Ö€¥ÔÂàÅÌ ÍÐÂ`oЀLÎÂ@ÓÂÀ ÉÂàÔ JÑ \΀ÛË ÷ÉÂ@ÕÂàHÌÂ@˜ÑÂ`]ÓÂàqÚÂ@ýÕÂ`½Ã£ÊÂüÐÂ@3ÍÂÀ¸ÖÂÀ²×Â@zÖÂ`‡ÌÂà6Ï çÖÂ@ÂÊÂ`.ÆÂà6ÏÂÀÜР¸É€@ÐÂ`QÕÂÀ É >ÓÂÞÕÂàNËÂ@’ÒÂà`ÈÂ`æÑÂ@Ó ÚÂ@°ÍÂ`cÒÂÐÂà<ÎÂ`{ÎÂàËË LÛÂ@Ñ  Ñ—Ì‹ÎÂÀÈ€.ÓÂ`ªÛ >Ó Ò µÔÂ`]ÓÂà0ÐÂ`˜ÞÂàÓÂ ÛØÂ€Ö€ØÂà¾âÂ@ÓÂ`òÏÂ`iÑ FÜÂ@†ÔÂÀÄÔÂ@ÍÝÂ@ýՠ݀‡ÙÂ`ÞÂ`âÂ`žÝºÛÂ ÛØÂ ÍÐÂyÑÂÍÂÀYÑÂ`¼ØÂ`3ÚÂÀ”ÜÂà$ÒÂOØÂ`KÖÂÏ ÐÂÀAÕ pÕ€{Û öÞÂÀ|àÂ`nå @ÝÂÀeÏÂ@ÕÂ@ßÚÂU×Â`3ÚÂÀçã äá FÜÂ[Ö Ú€WáÂÀ Þ VÏ ‹Û€cßÂÀ;Ö€4ÒÂ`¼ØÂ PЀ×Â@bÚ .àÂ@ Ô (á ÝÂà¡Ò€ìÝ 2ÕÂ`¤Ü ‚Ò€ ÙÂ@>à —ÙÂ`’ßÂ`oÐÂÀjã =è VÏÂäÔÂàîÚÂÀAÕÂ1ÝÂ@ýÕÂ@ÍÝ Û êà€.Ó€(Ô€ÏÍ &×ÂmÓÂà}ØÂ€ØÂ€™Ö —ÙÂ`¤Ü ÝÂ`!Ý€×€]à´ÜÂÀGÔÂ@>à á× gá€R͋Π¯ÕÂàÕÂ`˜Þ€™ÖÂàÊàÂ[ÖÂÀÜÂ`9ÙÂà•ÔÂIÙÂ`ÎÕÂ1ÝÂ`ÈÖÂ@'ÏÂàâÜÂ@÷ÖÂ`ªÛÂ`߀·Ñ íÕÂÀ;ÖÂ@>àÂ@˜ÑÂ`-ÛÂ@˜ÑÂ7ÜÂÀÄÔ€±ÒÂ`°Ú ðß  ÍÂÀ¸ÖÂÀ¸ÖÂàÜÝÂàèÛ «à€ ÙÂ@˜Ñ pÕ€·ÑÂàwÙÂà•ÔÂà­ÐÂ`™É RÚÂÀ Ú »ÓÂàMà pÕÂÀ¦ÙÂÀSÒ‹ÎÂ`ŒàÂÆÙÂyÑ€¥ÔÂÀÄÔ vÔ€.ÓÂ`‡ÌÂà›Ó€½ÐÂÀ¾ÕÂÀ‚ßÂÀŽÝÂIÙÂ@9ÌÂàSß £×€LÎÂ`oР8ÔÂ@Ò Ù΀ÚÂ`ÈÖ &×€"Õ€4ÒÂ@ÑÂÀeÏÂÀâÏÂ@ŒÓ RÚÂÞÕÂÀ²× £×Âà0РèÁ >ÓÂ`ÞÂÀÚ vÔÂà•ÔÂ`KÖ€@ÐÂ`oÐÂÌÂ@?Ë ÈÂ@¶ÌÂÀ²×€×Â`žÝÂàÕ åÌ íÕÂ@ÕÂ`iÑÂ@°ÍÂÀSÒÂ`†áÂà*ÑÂàôÙ€ Ù çÖÂ`°ÚÂ@’ÒÂ@ ÔÂ@ýÕÂ`!ÝÂàwÙÂÀÚÂà$ÒÂÀÜÂ`ÎÕÂ@iÄÂÀGÔÂÀváÂ`-Û ·ÞÂàôÙÂÀùàÂ`ÎÕ ÁÒÂà Ö £×ÂØÖÂàîÚ ØÂÀùàÂ@nØÂÀÜÂàYÞ€iÞÂàMà€LÎÂ…ÏÂ@Õ€oÝ ,ÖÂ`·Ä€uÜÂà_Ý ãÂàÕ »Ó ÉÛ€uÜÂCÚÂÀ/ØÂ`žÝ€{Û€±ÒÂàîÚÂàqÚ ‚ÒÂàwÙÂàÊàÂ`’߀×ÂmÓÂ@-ÎÂ`Œà€ìÝÂÀÊÓÂU×Â`ìÐÂÀÝÂàØÂà<ÎÂà³Ï £×ÂÀ¸ÖÂàYÞ sßÂ@ßÚ ÓÏ öÞ ÕÙÂà×€™Ö€“×Â@hÙÂ`’߀™Ö yÞÂà/åÂ@DßÂ@ÁßÂ@˜Ñ ÈÂà§Ñ€±Ò FÜ ÉÛÂà­ÐÂàƒ× íÕ ^ØÂØÖ€@РXÙÂàkÛ Þâ ÏÚÂ@ÑÂÀË ^ØÂ RÚÂ@ßÚÂ`cÒÂ`ß :ÞÂàÕ€ØÂaÕ ˆÑ d×–á çÂ@ÙÛÂÀèÎÂÀMÓÂ@’ÒÂ`Ë€oÝÂ@Õ £× DÒÂàYÞÂ`ŒàÂ`QÕÂ@ÒÂ`QÕ€"ÕÂ@€ÕÂ`oÐÂ@DßÂÀßÂ,ÉÂÌØÂ`iÑÂà0ÐÂ`“ÊÂ`¼ØÂ d×ÂaÕ€øÛÂÀ²×ÂÒ× êà€ØÂ@€Õ€ŸÕÂàqÚ íÕÂ@€Õ ‹Û nËÂ@’ÒÂ=ÛÂ@Ò€áÊ€‡Ù üÝ JÑÂ@Õ bÍ 2ÕÂ`9Ù ½ÝÂà×Â[ÖÂ@ñ×Â@ÓÜÂ`òÏ ÃÜÂ@nØÂ ”ÏÂà›ÓÂÀeÏÂÀóáÂÀqÍÂàHÌÂàúØÂ@ßÚÂàeÜÂ@ÕÂàÜÝ€‡Ù€™ÖÂÀMÓÂ`¶ÙÂ@˜ÑÂÌØÂ`¶ÙÂ`-Û ÏÂÀ¬ØÂÀ¦ÙÂIÙ ÛÂÞÕ šÎ  Í ùÓÂ`àÒ€.ÓÂà<ÎÂÀÖÑÂÀ¸ÖÂÀÕæÂ`]Ó ;É ÓÏÂà³ÏÂ@'ÏÂÀÛ€uÜÂàÓ€oÝÂ@nØÂà0ЀØÂ@t×ÂÀÛÂÀÚÂ@ýÕÂ@bÚÂ@\ÛÂ@˜Ñ ßÍÂà€™Ö 8Ô ÁÒÂ@ñ× pÕÂàeÜ —ÙÂaÕÂ@\ÛÂÀ;ÖÂÐÂ@ÓÜ€±ÒÂ@˜ÑÂ@ëØÂ`iÑÂ@ñ×Â@ëØÂÀ²× ÏÚ  Ñ€ÛËÂÀ¬ØÂÀYÑÂ@Ñ€ŸÕÂ@DßÂ@¶Ì€Ö ÏÚÂ@’Ò ÙΠhÌ µÔ üÝ çÖÂüÐÂÀÖÑ á×€íÈÂÀ/ØÂ€±Ò€:Ñ€ŸÕ Ü íÕÂ@€ÕÂàÕÂäÂ+ÞÂ@ëØÂ€ŸÕ bÍ€"ՋΠ8Ô´Ü ØÂ€KãÂ`àÒ 8ÔÂ ÛØÂ€þÚÂÀ5×Âà§ÑÂ@ ÔÂ`àÂCÚÂ@\Û€øÛ€ØÂ`bç€þÚÂÀíâ€oÝÂà¹ÎÂÀ#ÚÂÀ5×ÂsÒÂ`?ØÂyÑÂ@°ÍÂÀ¸ÖÂaÕÂ`ÚÓ ‹ÛÂ`ªÛÂÀ}Ë€ÖÂÀ¦Ù€òÜÂmÓÂ`E×Â@ëØÂ`ÔÔÂàØÂÀšÛÂ@nØÂ€‡Ù€{Û :Þ äáÂ@ÙÛ .àÂIÙÂÀ/ØÂà‰ÖÂ`ÞÂàôÙÂ@t×ÂÀ#Ú€ÔáÂäÔÂ`QÕ€ØÂÀ‚ß ÉÛÂ`E×ÂÀ¸ÖÂÀXæÂ LÛ ±ßÂOØÂ`iÑ ÐÂ&ÊÂÀÛÂ@zÖÂÀAÕÂ@zÖÂâÂÀ/ØÂÀÜÂÆÙ ÌåÂ`ªÛÂ`¼ØÂÀ¦Ù ëËÂ@ñ×ÂÀÊÓÂà}ØÂ7ÜÂÀÄÔÂIÙ€¥Ô çÖÂ@nØÂ€ÖÂaÕÂÌØÂ€ØÂ`oÐÂ`ìР>Ó ^ØÂ ‚Ò »Ó 2ÕÂ`òÏÂÀAÕÂ`ªÛ ¯Õ nËÂ`‡ÌÂ@ ÔÂàØÂ€4Ò€òÜ€þÚÂàÊà€(ÔÂÌØÂ@°ÍÂ=Û ÜÂÀ_ÐÂêÓÂ`Â× ¬ËÂ`3ÚÂàÕ RÚ€“×ÂÀkÎÂ@!ÐÂ@ëØÂÀÿßÂ`¤ÜÂ;×ÌÂàÕÂ@ñ×ÂÀÖÑÂ@ÓÂàeÜÂÀ)ÙÂàkÛÂ@÷ÖÂ`'ÜÂРÒ€(ÔÂ`“Ê …ÜÂàÅÌÂØÖ€.Ó üÝÂà¹ÎÂà`È  ÑÂàƒ×€ìÝÂ`†áÂ`ÎÕÂ@!ÐÂ`3Ú Ë /ËÂ@ÑÂ@ÍÝ á×€ÖÂ@\Û LÛ ½Ý ÒÂÀ/ØÂ ÜÂà_݊〇ـ(ÔÂàwÙÂ@†ÔÂàÔÂ@»à€Úà€ÖÂ`ªÛÂÀâÏ¢ßÂÀÿß´ÜÂ`!Ý ËÂÀ;ÖÂ`àÂ`'Ü€ÚàÂ@bÚÂà›Ó ÝÂà ÖÂÀ;ÖÂÀÖÑÂÀAÕÂà­ÐÂ@nØÂ ‘ÚÂÆÙ ¯ÕÂ@ÕÂõæÂ@ëØÂyѠˀŸÕ ÁÒ€(ÔÂ@PÝ ÚÂÀÜР"â€ìÝ€ÔáÂ` áÂ@ßÚÂà¸ãÂ` ÌÂÀÜ€àßÂÌØÂ —ÙÂ@£äÂà/å€Ú ‘Ú ÝÂÀ¸ÖºÛÂàôÙÂ@ÓÜÂ`’߀ÂäÂÆÙ d×€QâÂÀßÂÀ/ØÂ@ÓÜ —Ù &×Â`¶ÙÂÞÕ á×Â@ÇÞÂ@VÜ ÏÚÂÀß ÞâÂ@‹èÂàÜÝÂÀÚÂ`à€×ÂÀváÂàkÛÂ@ýÕÂ@ŒÓÂàGá€cßÂà5ä öÞÂ@µá€“×Âà5ä€ÚàÂ`ŒàÂÀAÕÂà Ö DÒÂ@VÜ ‹ÛÂ@£äÂTìÂ`ýâÂ`žÝÂ@Ó ½ÝÂ@nØÂ màÂ@»àÂêÓÂàØÂ 2ÕÂ@çÂàÔÂ@8áÂÀ Þ LÛÂ@÷ÖÂÀ;ÖÂ+ÞÂÀ¦ÙÂIÙ€øÛÂ`?ØÂ€Úà€iÞÂ`¶ÙÂ@bÚÂÌØÂ`täÂàîÚÂ@ßÚÂàÜÝÂ@µáÂà çÂ@t×ÂÀ‚ßÂ`’ßÂàAâÂ@bÚÂ@˜ÑÂ@ÇÞ µÔÂ@PÝÂ@VÜÂ@µá€«Ó ÉÛ€ŸÕÂà×Â@¯âÂá ÎÂàâÜ ØÂ ‚Ò€½Ð XÙ€àßÂ`?ØÂà‰ÖÂàÖÞ ÝÂ@÷Ö XÙÂÀÊÓ ØÂ LÛ [ãÂÀ Ú ¯ÕÂ`!Ý (áÂÀíâÂÀÛÂ[Ö€ Ù–á¨ÞÂÀÿß ÐÂàâÜ 8ÔÂOØÂàÊà «àÂÀwÌÂ`™ÉÂIÙ ÉÛ Ú®ÝÂà*Ñ êàÂà ,ÖÂàÕ yÞÂ@žÐ jÖ d×Â@bÚÂ@ñ×€4ÒÂ`WÔÂ@bÚÂÀ”Ü Ù€ØÂ`QÕÂàîÚ€ŸÕÂ[Ö€òÜÂ@ÕÂÀšÛÂàÕ€ÖÂÀÖÑ FÜÂ`WÔ ÐÂ`oÐÂÀÜÐÂÀÝ ÏÚ óÔÂàîÚÂÀîÍÂ`òÏ ÁÒÂàYÞ€ÎâÂ`¼ØÂ ÁÒ ÉÛÂ,É RÚÂ@ýÕÂÀ¸Ö€¥ÔÂ`QÕ€uÜÂàÕ £× ÝÂÀ)ÙÂ`ÈÖ _ÃÂ`3ÚÂÀ#ÚÂÀôÌ€ÖÂ@˜ÑÂ@åÙÂ@ñ× XÙ€RÍÂÀÈÂ`Þ ÙÂØÖÂÀeÏÂ@€Õ JÑ ¦ÌÂÀ¾Õ€‡Ù jÖ€¥ÔÂÀ¾ÕºÛÂ…Ï ùÓ€RÍ€«ÓÂ`tä ¯Õ ŽÐ çÖÂäÔ ÓÏÂÀpâÂ@ñ× hÌ€.Ó ñÊÂ`øÎ€@ÐÂ`àÒ PРÎÂÀ_РsßÂà›ÓÂ@°ÍÂ`â —Ù ÝÂàÔ 8ÔÂ@9ÌÂ`ÔÔÂ@†Ô pÕ /Ë€þÚÂÀšÛÂÀ/ØÂàôÙ DÒ pÕ€ìÝ vÔ vÔ |ÓÂüÐÂàÕ€:ÑÂ@\ÛÂÀÊÓÂ@’ÒÂ@ýÕÂ`QÕÂ@¯âÂ@bÚÂ@ÓÂÀwÌÂäÔÂÀYÑ€ØÂË ØÂ@DßÂà*ÑÂÀôÌ€ÃÏÂàÔÂ`QÕÂ,ÉÂ@9Ì ùÓÂ`ÚÓÂ`ÈÖ JÑ€±Ò óÔÂÀYÑÂà*Ñ€|ÆÂ€XÌ€±Ò Þâ 2Õ FÜ ,Ö€“× &×Â`]Ó ˆÑ ‘ÚÂà*Ñ€^ËÂ@’ÒÂ@t×Â`QÕÂàâÜÂ`3ÚÂÀâÏÂöÑÂ`â pÕÂ`¼ØÂÀÄÔÂ`‡ÌÂ`E×€Ö Ü ÃÜÂ@ÍÝÂ7ÜÂ@ÙÛÂ@åÙÂsÒÂ`iÑÂ@ ÔÂ`9ÙÂÀÖÑ€ÏÍÂðÒ çÖ çÖºÛ‘ÍÂöÑÂÀ)ÙÂ@]ÆÂ d×Âà0Р,ÖÂÀÝÂ`òϣʠˆÑÂ@ÙÛÂ[ÖÂ`ìР#ÍÂàƒ× ÿÒÂàîÚÂÒ×Âà³Ï —Ù ‚ÒÂà¡ÒÂàwÙÂÀj〟ՠ|ÓÂ@†ÔÂ@zÖÂ`ÍÂàwÙÂ@nØÂ€FÏÂ`uÏÂ@ÑÂàîÚÂ`þÍ€ÚàÂà•ÔÂà›Ó€×ÂÀÄÔ ‚ÒÂÀqÍÂ`KÖÂÀeÏ £×Â`]Ó€.ÓÂ`-Û Ù &× ‘ÚÂ@žÐÂà³Ï d×ÂÀAÕÂÀ¸Ö ÛÂ@¯âÂÀˆÞÂ@µáÂÀ|àÂ@†ÔÂÀÐÒ ¯ÕÂ`°ÚÂgÔ ‚Ò XÙÂ=ÛÂ`¼ØÂ€òÜÂÀAÕ 2Õ 2ÕÂà¹Î ¯ÕÂ%ßÂÀ;ÖÂ`ßÂ`3ÚÂÀÜÂ@8á PÐÂ`ÞÂÀ¾Õ€cßÂàÐ߀ÚÂ`ÈÖ ‚ÒÂà§ÑÂÐÂ@ŒÓ€ÉÎÂ`ÈÖ &×Âà$Ò ÒÂà6ÏÂÀ}ËÂà*ÑÂÀßÂ@’ÒÂà ÖÂ@ÓÂàèÛÂÀ5× ¬Ë ^ØÂ€½Ð€.ÓÂsÒÂ@zÖ€(Ô ØãÂÀùàÂ@ÇÞÂ…Ï€æÞÂ`¶Ù€ÕÌÂÀÐÒÂ`àÒÂ`¶ÙÂ@’ÒÂ@ÎÈÂà•Ô ‹Û FÜ 2Õ ÇÑÂ`zãºÛ€¥ÔÂ`àÒÂÀÜÂÀÜРÉÛÂÀâÏÂàËË€ÕÌ€.ÓÂÀîÍ bÍÂ@åÙÂÀÛ€òÜÂÀAÕÂ`ÍÂ`ªÛ óÔ€þÚ€"ÕÂàúØÂ`ßÂ@t×Âà›Ó VÏÂÀÊÓ€ŸÕÂÀâÏÂ`?ØÂàËËÂÒ×ÂÆÙ€"ÕÂÀŽÝÂ`KÖÂU×ÂU×Â@\ÛÂØÖÂ`ÎÕÂ@9ÌÂ`þÍÂäÔÂà0ÐÂxæÂ 4ßÂ`òÏÂ`ªÛÂ`˜ÞÂ@Ó€«ÓÂ@ŒÓ ¦Ì€™Ö€pÈÂàkÛÂIÙÂà¹Î ÙÂà¡Ò ¯Õ ˆÑ jÖ d×ÂàkÛ€RÍÂà Ö€ÛË€"ÕÂÀŽÝÂÀÐÒ€4Ò Û ŽÐÂ`‡ÌÂ`ìÐÂÀ²×Â@!РµÔÂ`ÔÔÂ`{ÎÂàÕ ±ß€ÉÎÂ`cÒÂ`Í ^ØÂ€@РØÂ 8Ô€c߀™Ö ,ÖÂ@JÞ JÑ 2Õ€çÉÂgÔÂàeÜÂÀSÒÂmÓÂàÔ€øÛÂÆÙ£ÊÂ`Â× ÎÂÀ_ÐÂàƒ×ÂÀúËÂyÑÂ`ÍÂ@Ó ÉÛÂÀ‰É ¸É >ÓÂ@ëØÂÀ|àÂÀ¦Ù |ÓÂ@hÙ€|ÆÂ@žÐÂà×Â@ÍÝ ”Ï ÇÑÂ@ýÕ jÖÂmÓÂàÅÌÂÀÝÂ@ŒÓÂÀkÎÂ`WÔÂÀâÏ ÍÐÂàHÌÂàHÌÂ`ÞÂ@VÜ ÇÑÂ@'ÏÂ`"ÈÂêÓ€øÛÂ`‡ÌÂ@9Ì€±ÒÂà ÖÂaÕ ßÍÂ@t× JÑÂÀAÕºÛÂ@Ò íÕ ëËÂà¿Í ÉÛÂÀwÌÂàØÂ€ØÂmÓÂ`“ÊÂÀMÓÂ`ÎÕ€oÝÂ`ËÂOØÂ@ÓÜÂ`‡Ì íÕÂ`¶ÙÂ`°Ú £×Â`ÔÔ€¥ÔÂêÓÂÀ¸Ö ˆÑÂÀÚÂàúØÂØÖÂ@÷ÖÂ@åÂÀË óÔÂÀ‚ß çÖÂÀ¦ÙÂ`ÈÖÂêÓÂ`ÈÖÂàôÙÂ`âÂâÂÀÝ óÔ &× ©ÖÂyÑÂàÔ ÇÑÂ@3ÍÂgÔÂÒ×Â@ëØÂ@ýÕÂ`Œà ðßÂÀÄÔ€¥Ô€ÕÌ€¥ÔÂ@÷ÖÂ@ýÕ€™ÖÂ@ŒÓ€4Ò ”ÏÂ=Û @ÝÂÀ|à€ÛË ÝÂ@VÜÂÀ Þ‘ÍÂ@¯â £×€±ÒÂ`ìЀ“×ÂÀ5×Â`E× ŽÐ ‚ÒÂà§Ñ€{ÛÂ@EÊ ÁÒÂ@t×Â@ÇÞÂ@ßÚÂ`3ÚÂà§ÑÂ@nØÂ ÿÒ€.Ó ¦ÌÂ`QÕ–áÂ`ÎÕÂ[Ö€þÚÂðÒÂ`Â×ÂàNË  ÑÂà*Ñ ¯Õ€ÚÂIÙÂ@ýÕÂaծ݀FÏ DÒÂ`oÐÂÀ¾Õ nË ΀íÈ€íÈ€áÊ€@ÐÂ@÷Ö€@ЋÎÂà}ØÂ€ŸÕÂ`9Ù ÒÂÀkÎÂÏ ÁÒ 8Ô€ØÂ€½ÐÂà<ÎÂ@KÉ hÌ€çÉÂà0ЀvÇÂÀÐÒ Ù ÁÒÂCÚÂ@÷Ö  Í Ë€XÌ€Ú€ÚÂ@!ÐÂÀ ÉÂÀ_ÐÂÀkÎÂÀ¦ÙÂ@¶Ì€@ÐÂêÓÂàrÅÂ`"ÈÂ`ìÐÂàËËÂÀ‰É€4Ò ÇÑÂÏ€ÛË‘ÍÂÀeÏÂ`òÏÂ@QÈÂÍ ‚ÒÂÀ)Ù sßÂU×—ÌÂU×ÂÀ¸ÖÂ@bÚÂ@˜ÑÂ`ÏÀ€óÇÂ@ÒÂÀ/ØÂ€ÛË€½ÐÂ@ÒÂüРšÎ ØÂ@ÁßÂÀkÎÂ,ÉÂ@˜ÑÂ@°Í€vÇÂÀèÎÂ@!ÐÂ`É ÙÎÂ`]ÓÂ@ýÕÂOØÂ@ÑÂ`òÏÂ`æÑÂ`ËÂ@°ÍÂ@\ÛÂ`ÔÔÂà}ØÂ€:ÑÂ`WÔÂU×ÂÀ¾Õ€ÛË‹ÎÂÀîÍÂàÓÂà ÖÂàqÚÂàÕ íÕÂà$Ò ÇÑÂÀwÌÂÐÂÀƒÊÂ@¼ËÂÀ5× >ÓÂàTÊ ÷É ùÓÂÀÿßÂ@-ΠóÔ 5ÊÂÀË€L΀ Ä tÊ Å ÓÏÂU×Â@ÓÂÀËÂ>ÆÂ@'ÏÂÀôÌÂ@Ò€@ÐÂ`±Å 5ÊÂ@ÈÉ ñÊ åÌÂÀ•ÇÂ@3ÍÂaÕÂ`oР#Í 8Ô üÝÂ@ÒÂ`òÏÂÀÆÂÁÅÂ`¥ÇÂmÓÂ…Ï |ÓÂÀwÌ ÙÎÂàÕ |ÓÂ@'ÏÂ@ŒÓ ‘Ú€ÃÏ ”Ï€ùÆÂ ‚ÒÂàfÇ©ÉÂÀÜÂÀGÔÂ`Í ŒÆÂ`{ÎÂ`¼ØÂà¡ÒÂ@˜ÑÂaÕÂ`ÚÓÂÀîÍÂ@-ÎÂÀ É€íÈÂà³ÏÂÀîÍÂ@-΀óÇÂ`¤ÜÂ@ Ô  ÍÂ`þÍ >ÓÂÀâÏÂÀÖÑÂ@÷Ö vÔÂ…Ï€ÃÏ€(Ô€RÍÂ@’Ò )Ì ’ÅÂÀÈ ŒÆÂÀÈÂ`¥ÇÂ@?ËÂàÕ€‡Ù µÔÂ`àÒ€ÕÌÂàÓ ÝÂÀ;Ö vÔ€ÖÂÀèÎÂÀ¸Ö Ù΋ÎÂ`æÑ ÍÐÂ@ªÎÂÀƒÊ€dÊ€ÃÏÂ`Â×ÂàÕ ÏÚÂÀ²× PÐÂÀkÎÂ`‡ÌÂ`cÒ ©ÖÂàËËÂ`ìÐÂ`™É )ÌÂÀèΠ‚Ò€íÈÂ@Ջ΀ÖÂàïÅÂ`æÑÂÀÖÑÂðÒÂ`øÎ€FÏÂU×Â@ÒÂÀƒÊÂ`æÑ€RÍ€"Õ ËÂà ÖÂà`È »ÓÂàBÍÂà•ÔÂ`cÒÂ`WÔÂ@ÕÂ@¤Ï ÎÂÀÊÂ`æÑÂ`Þ€ØÂ@QÈ £× »ÓÂ@ÚÆÂ€ŽÃÂ@ÂÊÂêÓ ;É€™Ö |Ó€ÏÍÂ`Í |Ó ßÍÂ&Ê  Ñ AÈ ˜Ä€·Ñ MÆÂ »ÓÂà‰ÖÂ@nØÂ >Ó£ÊÂà–¿Â£Ê JÑÂ@°ÍÂ@æÄ PР#ÍÂêÓÂyÑ ÍÐÂIÙÂ@t× (á åÌ Ò€"ÕÂgÔ )Ì ÇÑÂËÂÀ‰É€Å Ò €È ùÓÂ@3ÍÂÀÜÐÂÀeÏÂ`ŸÈÂà­ÐÂà<ΠÿÒ€ØÂà•Ô€@Р‘ÚÂà¿Í ŒÆÂÀÛÂÀAÕÂàÝÈÂÀ¦ÙÂà¿Í ÏÚ€LΠ”ÏÂ@åÙÂ`iÑÂ@÷Ö nË—ÌÂ@9Ì€áÊÂ@Ò€ÖÂÀË »ÓÂ@EÊÂÀSÒ€“×Â`?ØÂàÅÌÂÀâÏÂàkÛÂÀÊÓÂàÔ€ØÂ zÉ åÌÂà0ÐÂ`žÝÂ`oРÿÒÂàƒ× ”ÏÂàwÙÂÞÕÂ ÊÆÂ€çÉÂ@-ÎÂÀ”Ü  Í€@ÐÂ`æÑÂsÒÂ`ÎÕÂ@ÈÉ ^ØÂ@˜ÑÂÀYÑÂ`þÍÂöÑÂÀè΀ÃÏÂàeÜÂÀÐÒ /ËÂ@÷ÖÂÀ ÚÂÀqÍÂ@ÓÂ`ËÂäÔÂÀÜЀ«Ó ’ÅÂ`ÉÂ@ìÀÿÅÂðÒÂàïÅÂ@'ÏÂ`]ÓÂ`uÏÂÀMÓÂ@ÓÜÂ2È DÒÂÞÕÂ`d½Â /ËÂ`ÍÂ@ÒÂÀ)ÙÂà§ÑÂöÑÂà§Ñ >Ó ùÓÂÀSÒ ŽÐÂÐÂ`ÎÕÂÀ¾ÕÂ&ÊÂyÑ  ÍÂ@÷ÖÂ`]Ó€ÛËÂÀÄÔÂÀ¾ÕÂàÕÂ`ÍÂà³ÏÂàîÚ ²Ê ¬Ë€ÚÂ@žÐ€XÌ ˆÑ h̋΀ÛËÂÀÐÒÂÀúË€dÊ ¬Ë‘Í ;É€^Ë€×€dÊÂ@ŒÓÂ,ÉÂà6ÏÂÀ#ÚÂà ÖÂ@ªÎ ñÊÂÞÕÂÀ¦ÙÂU×€.ÓÂÀ•ÇÂà ÁÂ`oРÍÐÂ@¼Ë 8Ô ©Ö»ÆÂ ¬ËÂ`þÍ ßÍ€LÎÂÀâÏ€‡ÙÂ`{ΠkÁ€ùÆÂ`oÐÂà³ÏÂÀ¡Å€·ÑÂÒ×ÂÀÈ€±Ò Ù΀ÕÌÂÏÂ@'ÏÂ`·Ä€ùÆÂ íÕ nË á×Â@‡¿ÂàÅÌ‘ÍÂyÑ ’Å ²ÊÂ`ËÂÀ É ÐÅ Ë ¸ÉÂU×Â@9ÌÂÀ¹ÁÂ`Â×ÂÀYÑ ©ÖÂËÂ@EÊÂ@!ÐÂà›Ó tÊÂÀîÍ hÌ€ÏÍÂÀwÌ DÒÂà¹Î ÇÑ€ÛË ñÊÂ@ŒÓÂ`æÑ€LΠÅÂ`«ÆÂ€ÃÏÂÀGÔ€áÊÂ@WÇÂ@°ÍÂÀwÌ€áÊÂà$Ò€dÊ€±ÒÂ`KÖÂàZÉÂÐÂÀGÔÂÀ}ËÂÀqÍ hÌ  ÑÂÀk΀·ÑÂ@˜ÑÂ&ÊÂÐÂàÅÌÂÞÕÂmÓÂ@9Ì€pÈÂÀ É€ÛË AÈÂ`iÑÂ`¥Ç tÊÂ ÊÆÂ€pÈÂàãÇÂÀ/ØÂ d×ÂÀ•ÇÂ,ÉÂ…ÏÂàfÇÂ`™É€ÏÍ€”—ÌÂà§ÑÂà¿Í€ÛËÂ`]ÓÂàÕÂ`“Ê bÍÂgÔÂ@åÙ †Ç ÎÂ`™É Ë€"Õ€ØÂ€vÇ qÀÂöÑÂöÑ€çÉÂÀîÍ€ÕÌÂ@'ÏÂ`ÍÂ`.ÆÂ ÓÏ€«Ó PÐÂàËËÂÀË€Ö€XÌÂÞÕ hÌÂÀÊÂÀèΠÒÂ`‡ÌÂà*ÑÂyÑÂ`iÑÂ@Ñ AÈÂÍÂÀÜÂ@3Í Ï ÄÇ€LÎÂ@ªÎÂ`oР_ÃÂ`ÚÓÂÀôÌ€RÍ ýÈ€FÏÂ@EÊÂ`ÉÁÂ@’Ò€XÌÂ@žÐÂ`4ÅÂËÂ@\ÛÂ`òÏÂÀeÏ€çÉÂË€íÈ€XÌ€XÌÂ@ÚÆÂ@˜ÑÂÀÐÒÂöÑÂU×Â`™ÉÂÎÂàZÉ»ÆÂ ËÂ@ªÎ€@ÐÂ`Ê JÑ ˆÑÂDÅÂÀȠˀ¥ÔÂˠˀÅÂ@þÀ ÜÃÂ@9ÌÂ`½ÃÂ@Õ ÏÂ@ÎÈÂÀË hÌ ßÍÂÀ}ËÂà§ÑÂJÄÂÀËÂ@'Ï #ÍÂ@÷Ö AÈÂ…ÏÂàHÌÂÀÈÂÀ¡Å ;É ÉÛ ÿÒ€RÍÂà³ÏÂ2ÈÂ`ÊÂÀqÍÂ`ÊÂ`þÍÂ`àÒÂÀeÏÂJÄ íÕ€ˆÄÂàHÌÂÀâÏ€vÇ €ÈÂ@9Ì€çɑ͠hÌÂ@åÙÂ@ÚÆÂ@æÄÂÀ0ÃÂ>ÆÂàÅÌÂàãÇÂàéÆÂÀk΀^ËÂ`ìÐÂÀ³Â Ù΀RÍÂÍÂ@àÅ€dÊÂ`ÊÂ@KÉ pÕÂ`?ØÂ`ËÂàÔ /ËÂ`¥Ç»ÆÂÀeÏÂàTÊÂ@¤ÏÂ@ªÎÂ`¥Ç€íÈÂÀ‰ÉÂÀ0à Í€LΠ²ÊÂ`“ÊÂÀGÔÂ`æÑÂà¹ÎÂÓÂÂ@ìÃÂ@†ÔÂà›ÓÂàïÅ vÔ ëË DÒÂà×ÉÂ@ÔÇÂ`ÊÂà×Â`àÒÂàúØÂ€ŸÕÂÀ;ÖÂmÓÂàËËÂÀèÎÂ`]ÓÂ`ÉÂüÐÂ`ËÂàéÆÂà‰ÖÂ`þÍ Ë á×€4ÒÂÀGÔ zÉÂ@˜ÑÂà<ÎÂÀÊÓÂ`iÑÂ@’Ò€FÏÂÀ‰ÉÂÞÕÂ`ËÂ@Ò€ÚÂàwÙÂàÕ€"Õ vÔÂöÑ )ÌÂà0ÐÂ`ÍÂ@ŒÓÂ@ŒÓ ”Ï…ϵÇÂÀÄÔÂÀeÏ€RÍÂ`±Å€×ÂàÕÂà¹ÎÂ@ÑÂàTÊÂÀSÒÂ`9ÙÂà×ÂÀ;ÖÂàÕÂÀ ÉÂ`ÈÖ çÖÂ`‡ÌÂ`òÏ ²ÊÂ`ÎÕ€(ÔÂÀóáÂÀèÎÂàÀÂ`cÒÂÀÊ€jÉ £×ÂàÓ€(Ô >ÓÂ`QÕ€½Ð öÞÂ@žÐ DÒ JÑ ;ÉÂ`E×Â@WÇÂÀkÎÂ@Ò ØÂ@3Í€ÏÍÂ`uÏÂ`oÐÂà³Ï€XÌ ñÊÂàÅÌÂ@ªÎÂÀGÔÂ@WÇÂ@ÓÂyÑ€pÈ ÐÂ`oÐÂ`“ÊÂ`(Ç €È  ÑÂ`Ê€pÈÂÀîÍ€ÕÌÂyÑÂ@nØÂàŠÁ åÌ€ŸÕÂà­ÐÂÀ¦ÙÂÀÈÂüÐÂ`¥ÇÂà•ÔÂsÒÂ`]ÓÂÀîÍ óÔÂ`iÑÂÀ›ÆÂÀ;Ö¯ÈÂU×Â@ÒÂ@Ó ;É€ÛËÂà„ÂÂà¹ÎÂÀè΀ÕÌ ÿÒ€dÊÂà~ÃÂÀËÂ@’Ò ÁÒ©É€LÎÂàãÇ ÇÑÂà¿ÍÂÀ*Ä žÃ€FÏÂÀ¡Å ýÈÂØÖÂРJÑ ;ÉÂÀGÔ€ÛËÂ`·Ä žÃ£ÊÂ@žÐ á×Â`‡ÌÂ`·ÄÂ`ŸÈ e åÌ PÐÂÀSÒÂ`ç¼Â@?ËÂ@QÈ€ÉÎÂàBÍÂ@ªÎÂà$ÒÂ@EÊÂ@ªÎ 5Ê»ÆÂ`oР‚ÒÂ@ÚÆÂÀÐÒÂÀâÏÂ`ìÐÂDÅ€çÉÂÍÂ@åÙÂàËËÂ@¼ËÂÀ§Ä ÖÄÂÀÜÐÂàrÅ 'ÂÂ@{Á€ÛË€dÊÂ`4ÅÂ`E× nËÂÀèΠÄÂÁÅÂÀ•ÇÂàBÍÂ`ÍÂöÑ€çɵǀÅÂ…ÏÂÀ0àÆÂ ¦ÌÂ@¶ÌÂÀÇÂ@ªÎÂ`ÍÂÀÄÔÂÞÕÂ`æÑ nË ÇÑ ÆÂ€¬¾Â&Ê  ÍÂàãÇÂÀ¹Á ƒ½Â °ÀÂ@WÇ€FÏÂÀÈ hÌÂÀ0ÃÂ`àÒ€áÊ€íÈÂàÕ©ÉÂ`™ÉÂ@uÂÂÀ*ÄÂÀMÓÂPÃÂà¡ÒÂ`þÍÂ`¥ÇÂà­ÐÂ`¥Ç È ÍÐÂ`òÏ  Ñ ÓÏÂyÑ€‚Å Ç µÔ»ÆÂ@¤ÏÂ@9Ì€FÏÂà`ÈÂ@ÎÈ€‚Å€ÛË€FÏÂ@ÔÇÂ@WÇÂ,ÉÂ`"È€ַÂ@øÁ€ÚÂÀGÔ YÄ ÖÄ ÄÇ åÌ ÇÑÂÀ0ÃÂ2ÈÂÀÈÂ`ÍÂ ÊÆÂ ÙÎÂàNËÂ@ò  Í€ÅÂÀÈÂàÑÊÂÀÆÂÏÂJÄ hÌ ¸É€^ËÂ@àÅÂÏÂ`æÑÂàZÉ ÜÀÛË‘ÍÂ@EÊ ?¾Â ô¿Â€/¾ÂÀ§Ä ¸ÉÂÌÂàZÉÂ@þÀÂ8Ç #ÍÂ`òÏÂàÝÈÂ`oÐÂ`4Å bÍÂÀqÍÂ`˵ÇÂÀÊÂ`]ÓÂ`iÑÂàÅÌ MÆÂÀ­ÃÂÀÊÓÂ@9Ì€XÌÂ@ÎÈ bÍÂàNËÂ`"ÈÂ@ÈÉÂÀÐÒÂ@ÎÈÂ`F€ÃÏÂÀ¡ÅÂÎÂ`™ÉÂ`ÎÕÂ…ÏÂÀYÑÂ@ÈÉ€dÊÂÀâÏÂÀ ÉÂÀeÏÂàÕÂàxÄ ÷ÉÂà¿Í€¥ÔÂà6Ï 3À€ÅÂ@¼Ë ¬ËÂÀ*ÄÂÀ§ÄµÇÂaÕ ;ÉÂ,ÉÂ`{Π8ÔÂÀ¸Ö€pÈÂ@3Í ÍÐÂÀÊÓÂ@àÅ€ùÆÂà*ÑÂÀ#ÚÂÀGÔÂ` ÌÂgÔÂ@ÎÈÂÀÆÂ@ÎÈÂ`ÚÓ »Ó€#ÀÂ@{Á ¸É ΀ÏÍ žÃ ÐÂ@WÇÂà„ÂÂ`Ë€ˆÄ ÜÃÂ`.ÆÂ@ÎÈÂàTÊÂà­Ð vÔ VÏÂ@˜ÑÂ@ Ô pÕ šÎÂÀ}Ë  ÑÂÀƒÊÂ`uÏÂ@ÈÉÂ@3ÍÂ@ÑÂ,É 8ÔÂÀMÓÂ@QÈÂà~ÃÂÀ²×ÂàÕÂ@ÔÇ ^ØÂ@KÉ qÀÂ`òÏÂ@9ÌÂ@'ÏÂ2È€ÉÎÂ@ñ×Â@3ÍÂ`æÑ ÙÂ`æÑÂêÓÂ@uÂÂàïÅÂ@‡¿Â  Í ,Ö »Ó 5ÊÂ@iÄ ÆÂ VÏÂàÅÌÂmÓÂà ÖÂà*ÑÂÀÄÔÂÀ}ËÂaÕÂ@†Ô€¥ÔÂÓÂÂàZÉ )Ì ÷ÉÂ`"È ½ÂàõÄÂÇÄ ¬ËÂ`“Ê ÿÒÂ@ÑÂÀGÔ /ËÂ@¤ÏÂàËË ëËÂࢽÂà<ΠßÍÂ@?Ë€É΀ÛË ÕÙ€ÉÎÂ` ÌÂ`ÍÂà<ÎÂÀÐÒÂÀ_Р²ÊÂà§ÑÂ\ÁÂ`“Ê JÑ  ÑÂÀ§ÄÂÙÁ ˜ÄµÇÂ@WÇÂÀ¡ÅÂ@ÔÇÂ@]ÆÂ€ŽÃÂ`™ÉÂ`±ÅÂüÐÂÀ$Å ßÍÂÀ6ÂÂ@ ÔÂ`™ÉÂÐÂ@?ËÂÀÖÑÂÍ ”ÏÂÀÊ ¾È ÇÂ`±Å€ÿÅÂà„ÂÂÓ ýÈ VÏÂà›Ó ëËÂ`4ÅÂ@ÔÇ€ÅÂbÀ Ò€(Ô£ÊÂÙÁ€ÉΠ©ÖÂ`ìÐÂ`ŸÈÂ`í»Â@øÁÂÀúËÂà Á©É hÌÂ`æÑÂÀîÍÂàûÃÂ@¶ÌÂ@°ÍÂ`"È ýÈ ÅÂÀ•Ǒ̠͗ Ñ ùÓÂàÅÌÂ`ÚÓÂ`oÐÂЀáÊÂ@¼Ë ÜÃÂàHÌÂ`øÎ€|ÆÂÀ‰ÉÂÀâÏÂ&Ê tÊÂÀBÀÂ`ŸÈÂ@øÁ žÃ  Í 5Ê‘ÍÂsÒ /ËÂÀîÍ ¦ÌÂ@ÂÊ€‚ÅÂÀîÍÂàTÊ€RÍÂ@Ò€RÍÂà¡Ò ˜Ä DÒ€@Ѐ‚ÅÂÀ‰ÉÂ@ŒÓÂÀeÏ€ÿÅÂà*ÑÂ@¶ÌÂ`þÍ ÎÂÀâÏÂ@ªÎ \ÎÂÀ_РÇÑÂå¿Â€dÊÂÀîÍÂ@°ÍÂ@ÂÊÂ@WÇÂ@’ÒÂ`øÎÂà ÖÂ@¼Ë tÊ hÌ 3ÀÂÀeϵÇÂÀÄÔÂ`ÎÕ ÈÂ@KÉÂ@KÉÂ@†Ô€çÉÂÀúËÂ@†Ô ÒÂ`ªÛ©É ŒÆÂ 5Ê ¾È€jÉ ÐÅ€ÕÌÂàNË€^ËÂ@KÉÂà ÖÂ`¥Ç‹ÎÂ`ÍÂ`òÏ ;ÉÂÐÂ@Ó ÁÒÂ`‡Ì‘ÍÂ`"È ½ÂàNË zÉÂ@!РPЀ4ÒÂ`cÒÂÀƒÊ ©ÖÂ@!ÐÂ`oÐÂÀ$Å ýÈ 8Ô tÊÂ`iÑÂ@åÙÂ@ñ×Â`uÏ ýÈÂ@EÊ€òÜ ÙΠXÙ ÈÂàÝÈ€vÇÂ@†Ô ÍÐÂ@!ÐÂà¿ÍÂ`òÏ€™ÖÂÀùàÂÀÖÑ AÈÂ`uÏ ¦ÌÂà¿ÍÂ@EÊ hÌÂÀ/ØÂÐÂ@€ÕÂàÅÌÂ@oÃÂÀÊÓ€±Ò ŽÐÂ@3Í ßÍÂЀÉ΀RÍÂ@ÎÈ€.ÓÂ`á½Â ²ÊÂ`cÒ€@ÐÂ@†ÔÂêÓÂ@ÒÂà`ÈÂÐÂàÕÂàxÄÂ` Ì |Ó 8Ô VÏÂ2ÈÂÀ³ÂÂÀÊÂ`QÕÂ@ÓÂyÑÂÀÈÂÀÐÒ nË ÐÂÀÈ AÈ €ÈÂÀ²× Ѐ^Ë VÏ€±Ò€«ÓÂà*Ñ€ÃÏÂà<ÎÂà­Ð ¸ÉÂÀîÍÂÀôÌÂà¹Î ÙÎÂàÅÌÂ`ÍÂàÅÌÂU×ÂÀeϩɠˆÑ ÁÒÂ@žÐ ëËÂà‰Ö åÌÂÍÂà0ÐÂ`“ÊÂÀÈ€RÍ€±Ò€.Ó€(ÔÂ@Õ ЀçÉÂÀYÑÂàÅÌÂÀÊÓ€þÚÂ@’ÒÂÀîÍ óÔ JÑ ÚÂ@ßÚÂ`òÏÂ`{΀«ÓÂ`Í€áÊÂà³Ï pÕÂ`ÊÂà•Ô ˆÑÂ@÷ÖÂ`uÏ ÍÐÂ@ÁßÂ@ÒÂàHÌÂÏ pÕ€™ÖÂU×€ÏÍÂÀwÌÂ@Õ @Ý ð߀@РbÍÂ[ÖÂyÑ‘ÍÂà¡ÒÂàÔÂ`{΀‡Ù€‡Ù€áÊ ÝÂØÖÂØÖ€FÏ YÄÂ@ÑÂ`æÑÂ@’ÒÂÀk΀½Ð tÊÂüÐÂ`øÎ€L΀ÕÌÂ`ËÂ`@ÃÂ`¥ÇÂàHÌÂäÔÂ@ÓÂà Ö šÎÂàTÊÂÀeÏÂ8ÇÂ`!Ý—ÌÂÎÂÀYÑÂ@Ó€ŸÕÂ@\Û€4Ò RÚÂà*ÑÂ`ŸÈÂà6ÏÂ@9ÌÂÀwÌÂ`ÍÂÀqÍÂgÔÂ@\Û 5ÊÂ`WÔÂàôÙ Ï ÁÒÂ`ÈÖ€‡Ù€Ö tÊÂÀ_РÏÂ`cÒ ¬Ë ²ÊÂ`!ÝÂ@ ÔÂÀâÏ€½Ð ˆÑÂ@'Ï€(Ô >ÓÂ`WÔÂÐÂÀMÓÂÀ)ÙÂ`Â×Â@nØÂ  ÍÂÀÜÐÂà ÖÂ@ÎÈÂ`uÏÂ=ÛÂ@˜Ñ zÉÂgÔÂÞÕ€:ÑÂ@ŒÓÂ`ËÂÀ)ÙÂà­ÐÂ@KÉÂàNË€LÎÂàÅÌÂ@˜Ñ ÈÂ@-ÎÂêÓÂàNË ßÍÂ@ÂÊ€4Ò€pÈÂÀGÔ ÙΠJÑÂÀÈ  ÑÂ`{΀|ÆÂ€:Ñ )ÌÂ&ÊÂ@˜ÑÂ>ÆÂÀkÎÂ@†ÔÂ@Õ€½ÐÂÞÕÂ@ÓÂÀwÌÂ`QÕ jÖÂ`ÈÖ #Í  ÍÂ@'ÏÂ`oÐÂ@t×Â@ÂÊÂÀÄÔÂàúØÂ ßÍ€ìÝ€ØÂ@àÅ 5ÊÂÀ$ÅÂÀeÏÂ@’ÒÂàfÇÂà0ÐÂà¹ÎÂmÓ€RÍÂ@EÊÂ`ŸÈ ùÓÂ`9ÙÂÀYÑ »Ó )ÌÂÀeÏ DÒ€vÇ ÁÒÂ@˜ÑÂJÄÂ@'ÏÂ`Ë€@ÐÂöÑÂ@ÎÈ JÑÂÞÕÂà³ÏÂ@˜ÑÂàwÙ€ÕÌ ¦ÌÂÀâÏÂ[ÖÂàHÌÂ@Ò MÆÂ€ÁÂ@¼ËÂÀ}ËÂÀîÍÂàÑÊ #ÍÂàZÉ Ç tÊÂäÔ Å ßÍÂà$ÒÂÀeÏÂÀ›ÆÂ€™ÖÂÀúË »ÓÂ@3Í ÅÂ`‡ÌÂ`ÈÖÂ`ÍÂàHÌÂÀƒÊ µÔ€jÉÂà¡Ò íÕ€ÖÂ`ÚÓÂÇÄÂÀîÍ€ ÄÂ`QÕÂ`cÒ šÎÂ`æÑÂ@ŒÓÂÀ/ØÂ ŽÐÂ`Í íÕ hÌÂ@Õ ¬Ë  ÍÂÌ ÇÑ€áÊÂà¹ÎÂ2ÈÂ@ýÕÂ@cÅ€ ÙÂà6Ï ŽÐÂ@oÀÿÅÂ2ÈÂÀÈ ÏÂ@æÄ |ÓÂÀGÔ€ÃÏ€½ÐÂÀÈÂ@ÚÆÂàûÃÂ`Ê€«ÓÂÀËÂà×ÉÂ@?ËÂ@ÒÂ@!ÐÂ`òÏÂ@¶Ì€¥ÔÂÀÜÐÂ@žÐ #ÍÂ@ñ× Ò€vÇÂ@¶Ì€«ÓÂÀwÌÂ@À ”ÏÂÀGÔ€™Ö )Ì tÊ€ÚÂ`àÂÀúË€FÏ€dÊÂ`æÑ ÄÇ ¸ÉÂ@WÇÂU×ÂÀqÍÂ@žÐÂ@žÐÂ@-ÎÂΠ‚Ò€ ÙÂÀâÏÂà}ØÂÀ_ÐÂÀÐÒÂ@òÂÂàNËÂàÂÂÀúË€:ѯȠá×€ÏÍÂ`˜Þ‹ÎÂРtÊÂêÓÂ@žÐ /Ë€·Ñ ˆÑÂÀÛÂà§ÑÂÀÊÓ šÎÂÀAÕÂà$Ò ‚ÒÂ@bÚÂ`òÏ€ ÄÂ@˜ÑÂà×€Ö —ÙÂ@˜ÑÂ`ìРùÓ vÔ JÑÂ@¶ÌÂÀËÂ`Â× DÒ hÌÂàÔÂÀÜЀFÏÂ@ÂÊÂêÓÂ@†ÔÂ`iÑÂà*ÑÂ`ìРíÕ€FÏÂmÓ€×ÂÀƒÊÂsÒ ˆÑÂÀeÏ€LΠÿÒÂÀÊÓ€¥ÔÂàÔ€dÊ VÏÂÀ›ÆÂÀeÏÂÀ É ùÓÂ`Â×ÂðÒÂaÕÂà×ÂÀÖÑÂ@ÒÂà³ÏÂÀ¹Á  ÍÂà}ØÂÆÙÂàƒ×€RÍÂðÒÂà<ÎÂÞÕÂàÓ€ÃÏÂ@’Ò€±ÒÂË ”ÏÂÀ•ÇÂ`þÍ |ÓÂÀôÌÂ>ÆÂ`uÏÂàBÍÂÀúËÂ@iÄ€ŸÕÂ@ÑÂ@'Ï DÒÂ@nØÂàÕÂÀÖÑÂ` Ì ‘Ú€]à€ÃÏÂàËË ŽÐ€ùÆÂÀ¬ØÂ ÆÂ 5ÊÂ`øÎÂ`‡Ì DÒÂ@¶ÌÂÞÕÂÀ¾Õ 5Ê ÓÏÂÀÇÂ`ËÂ@¤ÏÂà­ÐÂÀÄÔÂ@ÚÆÂ@]ÆÂÏÂ@ÓÜÂsÒÂ`]ÓÂ@nØÂ€ŸÕ |Ó µÔ »Ó€ØÂ€ÉÎÂÍÂÀƒÊÂ`E×ÂàÕ \ÎÂ@ýÕ šÎ YÄÂ@ ÔÂyÑ€·ÑÂàÝÈ ÐÂÀôÌÂ@ëØÂ >Ó€XÌÂà0РAÈÂÀqÍ çÖÂ`KÖÂÀSÒ€ÏÍ ÷É€RÍÂ` ÌÂÀAÕ€ÃÏÂ`ìЀ±ÒÂ ÊÆÂ`{ÎÂÀ}ËÂ@¤ÏÂ`æÑÂ`iÑÂ@9Ì ÇÑ€«ÓÂà×É DÒÂÀ•ÇÂ@ ÔÂ@ÑÂ&Ê ÄÇ€ÃÏ  Ñ ¤ÂÂ@Ñ ßÍ€.ÓÂà6Ï€.Ó ÿÒÂðÒÂà­Ð PÐÂÁÅÂ@ÔÇÂÀMӵǑ̀ÉΠåÌ VÏÂ@ÑÂ` ÌÂàÔÂ@!ÐÂà*ÑÂÌÂ@’ÒÂ@ŒÓ †Ç nËÂêÓ€™Ö ÐÅ€RÍ åÌ€«Ó SÅÂÍÃÂà<΀^ËÂàÑÊ DÒÂÀËÂ`øÎ©ÉÂàƒ× ”Ï€FÏÂÐÂ@!РÁÒÂà§ÑÂ…Ï GÇÂ`“Ê ‘Ú€XÌÂÀMÓÂ`ÍÂÀ‰ÉÂÀ¾Õ£Ê€/¾ÂöÑÂ@!ÐÂÀ;Ö åÌÂà0ÐÂmÓ XÙ XÙ€vÇÂ@˜Ñ  Í ñÊÂ`ìÐÂ`“ÊÂÀË€.ÓÂàÑÊÂüЀ× åÌ ýÈ MÆÂ 8Ô 8ÔÂÀGÔÂÌ€4Ò nË€ØÂà¹Î ÇÑ€ÚÂà¡Ò )ÌÂ…ÏÂgÔ åÌÂÌ€RÍ ÐÂÀ‰É \ÎÂ`ÊÂ`ËÂðÒ ØÂ`cÒÂ@°ÍÂsÒÂüÐÂ@!ÐÂ@?ËÂàõÄÂàBÍ€¥ÔÂ@9Ì€jÉÂsÒÂ ÊÆÂ`ÚÓÂ@!Р)Ì |ÓÂ@'ÏÂ`¶ÙÂ…ÏÂà›ÓÂêÓ »ÓÂàÔÂêÓÂöÑÂ@’ÒÂ@¤Ï PÐÂàÅÌÂöÑ€“×ÂgÔÂà*Ñ€:ÑÂÀeÏÂÀYѵÇÂÀ‰ÉÂÀâÏÂÀ¸ÖÂàÓ€ÏÍÂÀ;ÖÂ`{΀ÎâÂà$Ò /ËÂ@ýÕÂ…Ï€.ÓÂà¿ÍÂ`E× åÌÂ@KÉÂ@-ÎÂÐÂ@’ÒÂà¿ÍÂÀ²×ÂÀwÌ€ Ä VÏ€ÃÏ€çÉ ”ÏÂ`ìЀ½ÐÂÀƒÊ€ŸÕ€"ÕÂÀÊÓ ²ÊÂà`ÈÂ@ ÔÂÀSÒ€.Ó óÔ€íÈ€FÏ PÐÂ@¼ËÂ@¤Ï—Ì íÕ 5Ê óÔÂ@¤ÏÂàÔÂ`E×ÂüÐÂ@ýÕ d×ÂàèÛ íÕÂà}ØÂ`oРØÂà­ÐÂàÔÂ`Ê£ÊÂ`E×€ÏÍÂ@Õ€·Ñ &× µÔÂÀÈ µÔ€™ÖÂ@†Ô 2Õ ÛÂÀ¬ØÂ`¼ØÂ@÷Ö á× 8ÔÂàÅÌ€¥ÔÂà ÖÂgÔÂÀ Ú ˆÑÂ`]ÓÂà<΀ ÙÂ@DßÂÀ¬ØÂà<ÎÂÀÜЀ·Ñ ëË pÕÂ@2âÂ`-ÛÂ@3Í€@ÐÂ@¤ÏÂåÂà•ÔÂ@ÑÂà§ÑÂ`]ÓÂ@Ñ £×Â`Â×€ØÂ .à€XÌÂà­ÐÂÀÜЀXÌÂCÚÂ@°ÍÂÀAÕ ¯ÕÂ`3ÚÂÀYÑÂà­ÐÂÌØÂ€:ÑÂöÑ€@ЀÏÍ äá€ØÂ‹ÎÂØÖÂ`ÈÖ€þÚ´ÜÂ1ÝÂ`3ÚÂàâÜ ÝÂ`cÒŠã€(ÔÂàâÜÂ`QÕÂÀ)ÙÂàôÙÂ%ß LÛ ^ØÂ€‡ÙÂ`ÞÂ`QÕÂIÙÂ`?ØÂ€Ú s߀½ÐÂÀ#ÚÂÆÙ€ØÂ€ŸÕÂ`ÔÔ ©ÖÂÀ_ÐÂ`ÎÕÂêÓ JÑÂà§ÑÂ%߀ ÙÂ@ÓÂ@€ÕÂà§ÑÂÆÙÂà³Ï &×ÂÀÐÒÂ@€ÕÂ`ÈÖ ˆÑÂ`-ÛÂàÕ #Í€½Ð€.ÓÂU× ©ÖÂØÖÂÞÕÂêÓÂ@ÒÂ@'Ï íÕÂ@ÓÂ`¼ØÂ@ÓÂÀeÏÂ@t×Âàƒ×ÂÀËÂ`iÑ SÅÂU×ÂÀ#Ú€FÏ€{Û€4ÒÂ`ÔÔÂÀSÒÂÀeÏÂsÒÂ`QÕÂ@ŒÓ€±ÒÂÀ¦ÙÂÀ/ØÂ hÌÂàHÌÂ[Ö ÝÂ+ÞÂÀÖÑÂÀ5×Â`ÎÕ ¯ÕÂàÔÂ`oÐÂàÊàÂ@ÓÂ@ÇÞ€ŸÕÂaÕÂÀ‰É€ùÆÂÀMÓÂÎÂ`]ÓÂÀÐÒÂ`ÍÂ@3Í€¥ÔÂÐÂà*ÑÂà¹ÎÂ`(ÇÂÀËÂðÒÂmÓÂ@ÒÂCÚ hÌÂÀ¸ÖÂaÕÂÀeÏÂ@ÓÂaÕÂÀ ÉÂ@9ÌÂàÕÂ@÷ÖÂ@'ÏÂ@¶ÌÂ@ªÎ ùÓ VÏÂÒ×ÂÀSÒ ñÊÂÀAÕÂÀYÑÂ@°ÍÂà¹Î ùÓÂÀšÛ 8Ô€LΠßÍÂÀkÎÂ@ÍÝ€¥Ô ÍРˆÑ€ùÆÂÀÜÐÂÀ²×Â@Ò JÑ ŽÐ ñÊÂà$Ò VÏ PЀÛËÂ@ÚÆÂÀ¾Õ ßÍ ;É ÇÂ@ÒÂÀ¬ØÂ@÷ÖÂàéÆÂ`Â×ÂàÕÂà¡ÒÂà×Â=Û ßÍÂ`{ÎÂàÅÌÂüРóÔ 5Ê hÌÂà ÖÂ@¼Ë >Ó µÔÂ@ÈÉÂÀkΠvÔ ÈÂ@¶ÌÂà0Ѐ.ÓÂà•ÔÂOØÂ £× 2ÕÂ@°Í€"ÕÂ@¤Ï SÅÂ@ýÕÂÀYÑ €È ÒÂ@3ÍÂyÑÂsÒÂ8ÇÂÀwÌÂÀGÔÂ`oÐÂ@ÈÉÂöÑÂ@'ÏÂÀ•Ç VÏÂà*ÑÂÀ²× ^ØÂ µÔ€¥ÔÂ@°Í pÕÂ`ÍÂ@QÈ hÌ€4Ò ¦ÌÂà*ÑÂ@zÖ —ÙÂÀîÍÂàÕ JÑÂÀMÓÂ`QÕ€ØÂà0РóÔ jÖÂà*ÑÂ`“ÊÂÏ€ÏÍÂaÕ vÔÂà­Ð‹Î€ÃÏÂ`uÏ 8ÔÂÀâÏÂÀèÎÂ@ñ× ,֋ΠóÔÂ@¶ÌÂÀÚÂàHÌÂà*Ñ©ÉÂàÕ ÓÏÂÀÐÒÂÀâÏÂà6ÏÂ`àÒÂ@Õ ˆÑÂ@-Π¯ÕÂ`4ÅÂÌÂàBÍ€ÃÏ ÓÏ 2ÕÂÀ¸ÖÂ`ŸÈÂ@\ÛÂ`QÕ€:Ñ µÔÂÀ‰É€.ÓÂà­ÐÂà$ÒÂÌÂàÕ€±Ò ÏÂêÓ ßÍÂÀÜЀÉΠ‚ÒÂyÑ€LΠJÑÂ@€Õ ØÂàBÍÂÀYÑÂ@Ñ—ÌÂ`oÐÂ@žÐÂà•Ô ‹ÛÂ@ÕÂ@'Ï vÔÂ`]ÓÂ`{ÎÂÀÖÑ ˆÑ ŽÐÂРJÑÂ@ÎÈÂ@ÎÈÂàÝÈÂ@ÑÂsÒÂ@ÒÂ`WÔÂÀÊÓÂ@€ÕÂ`oЀçÉ óÔÂà€çÉÂÀÖÑ jÖ :Þ€ÛËÂCÚÂÀ}Ë óÔÂaÕ ßÍ >ÓÂ@žÐÂüÐÂ`ÉÂ@÷ÖÂà•ÔÂРµÔÂàHÌ—Ì JÑÂÀôÌÂà¿Í JÑ€™ÖÂ@ÑÂÀ5×ÂÀMÓÂ@¤Ï ÐÂ`“ÊÂà‰ÖÂ`øÎ€¥Ô€ÛËÂë¾Â@ýÕÂÀ;ÖºÛÂäÔ€ÏÍÂÀÊÓ€½ÐÂ@ÈÉÂCÚÂ@t×Â`KÖÂ@?Ë ÁÒ€(ÔÂàTÊ ,ÖÂ@¼Ë #Í µÔ ¸ÉÂ@!ÐÂsÒ€ÃÏÂ@9ÌÂàéÆÂ óÔÂ@˜Ñ€"Õ )Ì ”Ï ØÂ`àÂyÑÂn¾ÂàØÂ@VÜÂ`cÒÂ@žÐÂmÓÂÌØÂ`‡ÌÂ`àÒÂàÓÂ@\ÛÂ`ÈÖÂàÕ ÓÏÂàÑÊ 8ÔÂÀ²× µÔÂ@žÐÂÐÂ@ÕÂàwÙÂ`ËÂ@'Ï Π&×Â@9ÌÂ@ýÕÂ[ÖÂàÕÂÀ5×ÂÀeÏÂ@nØÂ@ßÚÂ@Ò ÙÂ@?ËÂÀÿßÂà*ÑÂ`ÚÓÂ@QÈÂ@QÈ€oÝÂÀMÓÂ[ÖÂ@zÖÂà³ÏÂÀ#ÚÂÀ/ØÂÀYÑ  ÑÂ`.ÆÂaÕ ¬Ë ¬Ë€ ÀÂ@PÝ€“×Â@åÙ€ŸÕÂÀ¾Õ€(ÔÂ`iÑÂРÛ€ÃÏÂgÔÂ@bÚ ,Ö RÚÂÀ¬ØÂà§Ñ€4ÒÂ@ÓÂaÕ ÇÑ€ÚÂÀËÂà}ØÂ ÙΠ>ÓÂ@ÑÂ`ìÐÂ@ŒÓ ˆÑ ‘Ú ÉÛÂàÔÂÀ/ØÂÀ ÉÂàïÅ ÁÒÂà6Ï pÕ  ÑÂ@€Õ—Ì ÇÑ€.Ó 8Ô€íÈ ’ÅÂÀúËÂà¡ÒÂ`àÒÂ`øÎÂ@ÒÂÀ}Ë ¬ËÂ@˜Ñ ØÂ )ÌÂРýÈ€vÇÂ`Í VÏÂ` ÌÂÀZ¼Â`ËÂ…Ï ‚Ò€ÏÍÂ@°Í  ÑÂ@ªÎ šÎÂ2ÈÂ`É #ÍÂ@!ÐÂà‰Ö€ÉÎÂ`¥ÇÂ@'Ï€^ËÂ@¼Ë çÖÂЀLÎÂà}ØÂÀYÑÂ`WÔ GÇ€ÿÅÂ`WÔ ÉÛÂÀ ÚÂ`þÍ >ÓÂ`?ØÂ€oÝÂØÖÂàƒ×ÂsÒÂà§ÑÂ@ÒÂÀúËÂ`KÖÂ`ªÛ ÐÂØÖÂÀúËÂ`ÔÔ pÕÂÀÊÓÂ`ÂׯÈÂàƒ×ÂàÓÂâ ÿÒÂÀkÎÂРzÉÂ@¤ÏÂÀwÌ ùÓ 2ÕÂ@ªÎ‘Í šÎÂ@?ËÂaÕ ŽÐ ¶¿Â¯ÈÂ`iÑ€ÃÏ€LÎÂ`þÍÂàrÅÂÀ*ÄÂàNËÂ`ÍÂ ÊÆÂ Π¶¿Â€çÉ ÄÇÂР\ÎÂàrÅÂÀÜРíÕÂ`ÍÂÀMÓ€óÇÂà›ÓÂ`ìÐÂ`¶Ù ÁÒÂ&Ê †ÇÂÀîÍ åÌÂÀ_Ѐ|ÆÂ åÌ 8ÔÂ@VÜÂ`Ê >ÓÂ`cÒ€.Ó—Ì âÂÂ`«ÆÂÀ}Ë€ùÆÂ ÁÒÂ@QÈÂ` ÌÂ@'Ï ¦ÌÂ@Ó Å °À€×Â@¤ÏÂCڠˀ:Ñ‹ÎÂ@ÑÂÀ¾Õ ;É óÔÂ@°Í ©ÖÂ`oÐÂ`"ÈÂ`òÏÂ`"È VÏ€×ÂÐÂ@9ÌÂàZÉÂ`‡Ì ŽÐÂ`ÔÔ€ÚÂ`¥Ç †Ç€.Ó€×€±Ò€çÉ€FÏÂÀÊ ŒÆÂà$Ò£ÊÂ@ñ×Â@ªÎ ˆÑÂ@˜ÑÂ`"ÈÂÐÂÀúËÂà*ÑÂÀAÕÂ@Ó€FÏÂ@žÐ €ÈÂÁÅ€FÏ€½ÐÂ`ìР”Ï€áÊÂàHÌ€óÇÂ`"ÈÂðÒÂ`“Ê jÖÂÀËÂ`cÒ Ï ßÍÂ`˜Þ€óÇ€#ÀÂ@ÎÈÂÀ‰ÉÂÌÂ@ªÎ ŽÐÂ`ÍÂ`uÏ ÍÐÂ&Ê JÑÂÀkÎÂà0Ѐ¥ÔÂ`ÊÂ`3Ú€çÉ ÈÂà¡ÒÂÀ›ÆÂ€^Ë€½ÐÂüРGÇÂÀÜРvÔ 2ÕÂ@ªÎÂÀ Ú 2ÕÂmÓ ÍР&×ÂàÃÂÀ/ØÂÀYÑÂäÔ ÙÎÂ@'ÏÂ8Ç »Ó€@Ѐ^ËÂÏÂàÅÌ€½Ð 8Ô \ÎÂà­ÐÂÀÊÓ€ÃÏ€RÍÂàMàÂ@†ÔÂsÒÂ`iÑ µÔÂàÔ€Ö šÎ ÇÑ Ü ÉÛ  Í€"ÕÂyÑÂ`QÕÂÀôÌÂÏ ÓÏ ßÍÂÀAÕ ÷ÉÂ@ Ô€ÃÏÂàÓÂÌÂmÓÂ@hÙÂà•Ô ùÓÂРÍÐÂÀYÑ nË€“×Â7ÜÂàúØÂ+Þ€¥ÔÂà§Ñ  ÑÂmÓÂÀ¦ÙÂ`ÈÖ€±ÒÂ@ªÎÂ`ÎÕÂ@-ΠÇÑ VÏ ÁÒ€“×ÂàeÜÂÀÜÐÂÀSÒÂ@D߀ØÂàÓÂ`ÚÓ AÈÂ@t×ÂàØÂ ”ÏÂÀeÏÂà­Ð ÿÒÂà›ÓÂ@t×ÂÐÂÀGÔÂ`]ÓÂàÕ µÔÂ@˜Ñ€{ÛÂàwÙ€"ÕÂàÓ‘ÍÂàèÛ å ¦ÌÂ@ ÔÂÐÂà}ØÂ@hÙÂ@Õ †ÇÂ@žÐÂ`ÎÕÂ@ñ×ÂÀMÓ …ÜÂÀ ÚÂ`ªÛ€¥Ô JÑÂ`Þ 2ÕÂ@nØÂ@žÐÂ`ìР©ÖÂ@ ÔÂÀíâÂ@ŒÓÂ`àÒ€ØÂ`‡ÌÂ@ÓÜÂ@!ÐÂàèÛÂ`ÔÔÂàwÙÂÀpâ jÖ @Ý ÒÂüÐÂ@zÖ€çÉÂ`¤ÜÂà}ØÂ`æÑÂ`WÔÂÀÜÐÂÀGÔÂ@÷ÖÂ@÷ÖÂÀeÏÂ@zÖ—ÌÂÀ²×ÂÀÐÒÂ`{ÎÂÀÝ Û€4Ò€LÎÂàúØÂ XÙ€4ÒÂàwÙÂ+Þ Ù 2Õ óÔ »ÓÂ@hÙÂ@åÙÂÀèÎÂà­ÐÂàÓ€.ÓÂ`àÒÂ@EÊÂÀ‰ÉÂ@ÇÞÂÀ/ØÂ@’ÒÂÀÛÂÀ²× 5Ê€4Ò êàÂàBÍ  ÑÂÀÿßÂmÓ ŽÐÂà6ÏÂÀYÑÂ@ŒÓ ØÂ@°ÍÂ@¤Ï ©ÖÂÀYÑ€{ÛÂ@ŒÓÂ`þÍÂàÕÂUנπ™ÖÂ@ÒÂàMàÂÀšÛÂ`ÈÖ€·Ñ ÐÂÀMÓÂ`KÖÂàÅÌ ΠžÃ ÏÚ ”Ï 2ÕÂ@Ñ JÑ ”ÏÂ`Ë ÏÂöÑÂÀ_РÏ€^ËÂ8ÇÂà`ÈÂ@9ÌÂ`ÍÂ`{ÎÂÀÜЀ¼åÂêÓÂ`iÑÂ`{ÎÂÀÇÂà•ÔÂ@ëØÂ`™ÉÂàÑÊ€RÍ GÇÂ` ÌÂðÒÂ@’ÒÂÀwÌÂ@ÔÇ€«Ó ÇÑÂ…Ï bÍÂÇÄÂ@ŒÓÂ`uÏÂ@KÉ€XÌ‘ÍÂöÑÂ@?ËÂ`øÎ€áÊÂ@÷Ö€:Ñ Р‘ÚÂ`WÔÂ@¤ÏÂ`uÏ ÁÒÂÀ ÚÂÀ”ÜÂËÂ@-Π¾È ŽÐÂ`:Ä€FÏÂ`¼ØÂÀÛÂÌØÂÀ ÉÂ…ÏÂ`þÍ —ÙÂàZÉ vÔÂmÓÂàÕÂüÐÂ@Ñ€óÇÂàÓÂ`ÚÓÂà0ÐÂ@ßÚ óÔ ÆÂРùÓ ΠèÁ€áÊÂ`9Ù ˆÑÂêÓÂ`ŸÈÂà³Ï á×Â@ÂÊ ^ØÂ€‚ÅÂÍÂÀAÕ #ÍÂÀÄÔÂ@¼Ë bÍÂ@3Í€^Ë€4Ò |Ó £×Â`ÚÓÂÀÊÓÂÀ5×Â@¼ËÂ@åÙÂÀeÏ€¥Ô GÇÂêÓ€ˆÄÂΠÒÂöÑÂ` ÌÂà¹ÎÂ`QÕÂ`?ØÂ@?Ë€«ÓÂ@žÐÂ`cÒ ÐÂà¹ÎÂÀèΠ€È 5ÊÂöÑ€:ÑÂØÖ ,ÖÂ@!РÇÑÂ`cÒÂÀYÑÂ@ŒÓÂÀ}ËÂÀîÍÂ`ÎÕÂàËËÂàfÇ€ ÙÂÀ6 ÇÑÂÀúËÂÀÈÂ@Ò \ÎÂÀSÒ ^ØÂ ÈÂöÑÂÀè΀FÏÂêÓ€ÉÎÂÒ×Â`ìÐÂ@nØÂàîÚÂ@ÈÉ DÒ€çÉ€)¿ÂРÒÂÆÙ©ÉÂ`“ÊÂ@ªÎÂ`àÒÂ`ìРÄ€¥Ô€ÃÏÂÀAÕÂ`æÑÂÀ/ØÂà§Ñ€óÇ ÍЀÃÏÂÀÿ߀™Ö ßÍÂà*Ñ d× á× 2ÕÂ`ÈÖÂà§Ñ Ý€(ÔÂ@zÖ€½ÐÂ@ªÎÂà6ÏÂ@h٠٠^ØÂ€@Р|ÓÂÀÜЀLÎÂ`]ÓÂÀ;ÖÂ@-ÎÂ`ÎÕÂ`þÍÂÀîÍÂ@EÊÂÞÕ sßÂРØÂÀÜ€KãÂ`KÖÂÀúËÂ@EÊÂà‰Ö ÐÂÌ  Í 2ÕÂ`øÎ 8Ô 8Ô€4ÒÂüРhÌÂ@3ÍÂ@ìïÈÂüÐÂàËËÂà­Ð ‘ÚÂà¡ÒÂà›Ó Ò€ØÂ nË€½Ð ¯ÕÂÀ#ÚÂ@ëØÂ@ÎÈÂ@¼Ë€±ÒÂ`E×ÂÀqÍÂàTÊ ÈÂÞÕ hÌ©ÉÂà6ÏÂÀÊÓ€çÉ€áÊ tÊÂ@ªÎ )ÌÂÌÂÀË jÖ ÍÐÂËÂ@°Í ÷ÉÂ@žÐ Ò€(ÔÂ`]ÓÂàËËÂåÂ`ßÂ2È ÐÂà6Ï ¤Â PЀ«Ó  ÑÂÀîÍÂà­ÐÂÀwÌÂàÅÌÂIÙ bÍÂ@ÂÊ£ÊÂÀúË€@Р ÍÂ@ÕÂyÑÂàfÇ hÌ€"ÕÂ@?ËÂ`¥Ç 8Ô ÙÎÂyÑ ÷ÉÂ@WÇ Ò çÖÂÌØÂ`KÖÂðÒ€LÎÂÀ}Ë€(Ô€ÕÌ€4ÒÂ@ÓÂ@ÂÊÂ@]ÆÂ GÇ 2ÕÂÀÇÂ`‡Ì >ÓÂÀÇ€¥ÔÂ`þÍÂÀwÌ€ìÝ€½Ð€ÏÍÂ`þÍÂà­Ð ëË€@ÐÂË nËÂÀSÒÂϵÇÂÏÂÀÜРÙ΀4Ò ²ÊÂÀwÌÂ&Ê  ÑÂà6Ï ÙΠJÑ€ùÆÂÀ ÉÂÀ²×Â`ÚÓÂÀÜРÁÒÂ@Õ vÔ€Fϯȋ΀ŸÕ€Ö íÕÂÀîÍ ‚Ò ÐÂ@ÒÂ@€ÕÂà›ÓÂÀSÒÂ@ŒÓÂÏÂàËË€4ÒÂ…ÏÂ`QÕ íÕÂÀ)ÙÂÀ ÚÂOØÂ@uÂÂÀkΠÍÐÂ@Ò VÏ€RÍÂ@nØÂà‰ÖÂ@Ñ >Ó€"ÕÂ@-ÎÂà•ÔÂà`È€pÈÂàNËÂ@PÝÂ`Â×Â`ŒàÂÀqÍÂ@3ÍÂ@ ÔÂ@'Ï€áÊÂ`Í »ÓÂ`‡ÌÂ@-ΠÝ€ØÂÀÛÂà ÖÂÆÙÂ`WÔÂÀ_ÐÂ`þÍ XÙÂ`QÕÂ@ñ×Â`‡Ì Ï VÏÂË FÜÂ`oЀFÏ€LÎÂ@ÈÉÂ@nØÂ ëËÂ`øÎ €ÈÂmÓ€RÍ€ÃÏÂ@ÚÆÂ`±ÅÂà„ÂÂÀ•Ç åÌ ÈÂËÂÀ‰É ÁÒÂà Ö åÌÂàSß d× ²ÊÂ@ Ô |ÓÂ@Ò€ŸÕÂÀÜ€½ÐÂà ÖÂ`þÍ DÒÂ@ÒÂÏÂyÑÂ@ªÎÂÀâÏÂÀ§Ä ŽÐÂÀkÎÂ@-ΠÇÑ FÜ bÍÂsÒÂ@hÙ ÏÂ`øÎ‘ÍÂÀ_РDÒ VÏÂР÷ÉÂ@åÙÂÍ€íÈÂ`E×ÂÀÊÓ d×ÂÀ‰ÉÂÏ JÑÂ`Ë 8ÔÂ@nØÂ`ÚÓÂ@-Π>ÓÂÀeÏÂ@ÓÂ,É hÌ ñÊ ùÓ Р^ØÂ…Ï€½Ð ÖÄ )ÌÂàÔ ,ÖÂ`ÚÓ ÇÑ€þÚ€áÊÂ@Ó€|ÆÂ íÕ€½Ð€Å€ÛËÂÀÊÂ`ÍÂ`{ÎÂà$Ò zɨÞÂÀÊÓ ëË JѠȀ½ÐÂaÕ >ÓÂà¹Î /ËÂÀSÒÂà×ÂÀ_Р¸ÉÂ@ŒÓ ÏÚ tÊÂ`Ë ÍР¯Õ ÅÂ@¤ÏÂàfǀŠÆÂ€ÖÂ@¼ËÂà×É  Í åÌÂ@¶ÌÂ@9Ì ÁÒÂ@ÎÈ€ÛË MÆÂ AÈ€ÃÏ ÇÂÀâÏ©ÉÂ`ìÐÂ@æÄÂàãÇ€ÉÎÂÀË ÈÂäÔ ÎÂ2ÈÂ`Ë Ý ÇÑ€áÊ€çÉ€ ÙÂÀÐÒ ©Ö©ÉÂà*Ñ ÛÂ`uÏÂ`.ÆÂ ÖÄ€íÈ€½ÐÂàÓºÛÂöÑÂ`“Ê vÔ 8Ô ^ØÂÞÕ€ÿÅÂÀeÏÂàÑÊÂÀ#Ú ëË€LΠÒ bÍÂÀ;Ö€dÊÂ`Ë‘ÍÂàNË€ùÆÂ€ÕÌÂyÑÂ…Ï ÖÄÂÀYÑ hÌÂÀÜÐÂ@3ÍÂÐÂàÕÂ@ßÚÂ@’ÒÂ@3ÍÂÀ¡Å€áÊÂ@3Í VÏÂÀT½ÂêÓÂà×ÉÂ`E×Âà ÁÒ ^ØÂ€·Ñ€«ÓÂÀ¬ØÂàŠÁÂ` ÌÂà³Ï€™ÖÂ@ýÕÂà`ÈÂ@ÒÂÀqÍÂ`ÈÖÂÆÙ€ÉÎÂ@¤Ï€dÊÂÀ²×ÂäÔÂÀeÏÂgÔ ÛÂäÔÂÏ€4Ò šÎÂêÓ€±Ò ½ÝÂüÐÂàÑÊÂ@'ÏÂÀúË ¦ÌÂ@ÂÊÂ@ÒÂU×ÂÀƒÊ€ÉÎÂ`uÏ‘ÍÂüР#ÍÂàîÚ ;É ÷ÉÂ`Í bÍÂÀSÒÂà¡Ò€@ÐÂÀ¾Õ€çÉ€Ú vÔÂ`ÔÔ€çÉÂ`(ÇÂÀâÏÂ@žÐ ùÓÂmÓ ¸É€ØÂÀÖÑ ÙΠ€È€óÇÂàƒ×ÂÀúË ^ØÂ@†Ô€“×ÂÀ߀ùÆÂ Ï åÌÂ`ÍÂà­ÐÂyÑÂaÕÂÀ ÉÂÀ&›Â`E× šÎÂÀ_ÐÂà×É ¦Ì >ÓÂàHÌ€ÛË€jÉ€ÛË PРpÕ bÍÂàÝÈ€ÏÍ€pÈ ˆÑÂàÕ Ò€áÊ ùÓÂÌÂà¡ÒÂà­ÐÂ`òÏÂÀwÌÂüРhÌÂÀîÍÂðÒ ùÓÂ@ÂÊÂÀÈÂ@ÒÂÀ‰ÉÂ@9Ì d×ÂÀÜÐÂ`ÚÓÂ@°Í 2ÕÂÀÖÑÂÀÜÐÂÀeÏÂ`ÍÂÀYÑ€ÉΠÿÒ ëËÂ`™ÉÂÀ‰ÉÂ@ÈÉÂ`.ÆÂ€ÅÂ@QÈ ÈÂÀèÎÂ`Í€½Ð JÑ ùÓÂ@žÐ ˆÑÂΠñʩɀÁÂÀqÍÂà<ΠÍЀLΠâÂÂ@]ÆÂ` ÌÂÌÂàÅÌÂÀ›ÆÂÀÆÂ Å€ÏÍÂ@3Í íÕ  ÍÂàÑÊÂ`¥Ç ˜Ä©ÉÂ[ÖÂÀÄÔ ÐÂ@°ÍÂ`·ÄÂ@¶ÌÂ@?ËÂÀÈÂ@ Ô€ Ù€ÉÎÂ@WÇÂÀÐÒÂ@ÂÊÂÀYÑ€XÌÂÀîÍÂ@ÒÂà`ÈÂ`“ÊÂ`“Ê€L΀ÉΠ5ÊÂ`àÒÂ@ªÎ€4Ò€íÈ€çÉÂÀÈ€íÈ€ÛËÂÀ‰É€(ÔÂÀÈÂàC¸Â ’Å ¾È ?¾Â@ÔÇ ˜Ä hÌÂÀwÌÂÁÅ€ÃÂÀ}Ë‹ÎÂ@ ÔÂ ÛØÂ@]ÆÂÀîÍ AÈ #Í€‚ÅÂ@?ËÂ`ŸÈ€Å ÓÏÂÀSÒ ”ÏÂ@†Ô€ÕÌÂàÃÂ@'ÏÂ@ÚÆÂà„ €ÈÂР!à¸ÉÂ2ȣʑÍÂÀúËÂÀqÍÂ@¼Â`ÊÂà¹Î šÎ |ÓÂàfÇÂÀ­ÃÂDÅÂ@ªÎ‘Í€áÊÂàÄá tÊ šÎÂàÝÈ—ÌÂà–¿Â MÆÂÀâÏÂÀÈ ÈÂÀ<ÁÂ`.ÆÂà³ÏÂ@ìÃÂàïÅ ;É €È zÉ îÀÂ`ËÂ@¶ÌÂà}ØÂ JÑ nË €ÈÂ@QÈÂ@±¸Â@WÇ ÜÃÂàÀ Π’ÅÂ`ÉÁÂ`@ÃÂàNËÂà¹Î€pÈÂ@ÈÉÂÀÊÂ@ìÀšÁ€FÏ ;ɣʀ|ÆÂÀË€øÛ€|ÆÂ€«ÓÂ@¥ºÂ@æÄÂàHÌ /˵Ǡ©ÖÂ@QÈÂÀ$ÅÂñ½Â,É _ÃÂàZÉÂàûÃÂÀÅ¿ÂÀƒÊÂÀ}ËÂ`ÉÂ2ÈÂ@¼Ë€ÛËÂàÀ©ÉÂÀ ÉÂàÝÈÂÀîÍ€dÊÂ`™ÉÂ@!ÐÂ`(ÇÂ`™ÉÂÀÇ€çÉÂÀÐÒÂ`KÖÂÀ³Â€jÉÂàTÊ€šÁÂÀôÌÂ@àÅ PÐÂ@ÒÂ`KÖÂ@!ÐÂÀ6 ëËÂÀË€4Ò hÌÂΠ/ËÂà¹ÎÂÀÜÐÂÀGÔÂÀËÂ`Í€ À  ÍÂÀÊÓÂ2ÈÂÀè΀#À€ˆÄ€«ÓÂÀšÛ »ÓÂà¡ÒÂ`™É )ÌÂ@øÁÂàÕ—Ì b͵ÇÂÀƒÊÂà§ÑÂÀÆÂ 5ÊÂ@¶ÌÂ@ÈÉ nËÂ@!ÐÂgÔÂÐÂËÂ`FÂÂmÓ ËÂ@’Ò VÏ ñÊÂ@'ÏÂÀ§Ä€FÏÂà0ÐÂ`¥Ç€ÏÍÂàÑÊ ÈÂ`oРóÔÂ`ìЀ(Ô€Õ̠π”ÂÂÀËÂäÔÂ@!Р/Ë ²ÊÂàÔÂÀ$Å ñÊÂ`ÚÓÂ`F€ÃÂ`±Å ÇÂ`ìРÇÑÂÀÊÂÀ­ÃÂ@!ÐÂÇÄÂ`¶Â@žÐÂ[Ö€:ÑÂÇÄ åÌÂ@¼ËÂ@€ÕÂ`ÍÂÀÇÂ`"ÈÂà%½Â£ÊÂàlÆÂàZÉÂ@¼Ë€4Ò ŽÐÂÀ‰ÉÂÍÂ`«ÆÂ`{ÎÂàlÆÂ`«ÆÂ€àhÌ€dÊ óÔÂ&Ê€LÎÂÀeÏ jÖ ©ÖÂ@ÂÊÂ@ŒÓ€½ÐÂàúØÂ tÊÂà×ÉÂ`ÚÓ óÔÂ`‡ÌÂ`ÊÂà<΀vÇÂ`oÐÂÌÂ`‡ÌÂ`oРá× _ÃÂà¹ÎÂÀkÎÂ`Â×Â@9Ì€RÍÂÀwÌ ÆÂÀ¡Å ÏÂ`ËÂÀkΠ”ÏÂÀÜÐÂà³Ï PÐÂðÒÂÐÂ@ÙÛÂàrÅÂüÐÂêÓ€iÞÂÀ5×ÂàÑÊÂ`Â×ÂÎÂàÔ Û ËÂ`“ÊÂàZÉÂÀÇÂ@’Ò çÖÂØÖÂ`É€:ÑÂ`uÏÂöÑÂà¿Í€@ÐÂ@ÎÈ€RÍÂàÝÈÂàúØÂÀîÍ€ŸÕÂÀÈ bÍÂ@ŒÓ ½ÝÂàÕÂËÂÀèÎÂÀÈ€RÍÂàÕÂÀƒÊ ȼ bÍÂË šÎ€vÇÂà6ÏÂÀqÍÂÀ•Ç \ÎÂÀËÂÀÈÂàlÆÂ—ÌÂIÙ PÐÂ`æÑ€RÍÂà­ÐÂ÷¼Â€ÛËÂÀ¸ÖÂÀ‰É€“×Â@˜Ñ bÍ€ÏÍ )Ì £×Â`ÚÓÂ@oÃÂ@3ÍÂ`þÍÂ`Í 'ÂÂÀ}Ë ÿÒ  ÑÂ`4ÅÂ`]Ó ‚Ò€ÿÅ \ÎÂ@°ÍÂÀîÍÂÀÜÐÂàéÆÂÀÆÂÀwÌÂ@˜Ñ€XÌÂàûÃÂÀ É€ÉÎÂÀYÑÂ@’ÒÂ@QÈÂÌ &×€RÍÂ`.ÆÂà¿Í hÌ zÉÂÀBÀÂ@KÉ ÙΠVÏ€#À #ÍÂà<Π¬ËÂÐÂ`ÍÂ`oÐÂ@¶Ì bÍÂ` ÌÂaÕ´ÜÂ@ÙÛ _ÃÂÀ²×ÂÀâÏ—ÌÂàËËÂ@ÂÊ ÐÂ@ÚÆÂ€@ЀáÊÂmÓÂ`cÒ—ÌÂàBÍÂ@°Í )Ì€vÇ ¬Ë€4ÒÂ`WÔÂ`¼ØÂ ÁÒÂ`FÂÂ`‡ÌÂ`™ÉÂàúØÂ@ÓÂÀ×¼Â>ÆÂàŠÁ€FÏ 5ÊÂàTÊÂàNË nËÂà`ÈÂ@˜Ñ¯ÈÂà­ÐÂÀ²×ÂÀ_ÐÂ`àÒÂ@!ÐÂàTÊÂÀeÏ ;ÉÂ`ŸÈÂ@¶ÌÂOØÂ@ŒÓÂÀÆÂàTÊÂ`Í JÑÂ`ÔÔÂ`òÏÂ@?ËÂ@ªÎ /Ë ÏÂ`Í€‚ÅÂÀ5×Â@KÉ€ùÆÂ ÄÇ ¾ÈÂ`ÃÂÂàBÍÂ@EÊÂ@3Í ЋÎÂ`ÔÔÂ`·Ä€‚ÅÂ`.ÆÂ`:Ä€ÂÂ@°ÍÂà`ÈÂ`É PÐÂàNËÂà6ÏÂÎÂà Ö ÍЀFÏ èÁ€ÃÂ@ ÔÂ`™ÉÂÀÊ€íÈÂà¿ÍÂÀ¿ÀÂàlÆÂàBÍÂüÐÂΠßÍÂÀ_ЀRÍ PÐÂà¿Í€RÍ »ÓÂÀwÌ ¤ÂÂ`ÉÂ@ÓÂÀèΠ”ÏÂ@†ÔÂ8ÇÂ@9Ì€jÉÂàéÆÂ 8ÔÂ`ªÛÂ`ÔÔ ªÁÂ΀vÇ )ÌÂÀ‰ÉÂàNËÂ@°ÍÂà›ÓÂÀeÏÂÀ}ËÂÀ‰ÉÂ`iÑ ‚ÒÂgÔÂÀ;Ö d×Â`Ê€^ËÂà§ÑÂÀÊÓÂÀ ÉÂ@ÚÆÂÀBÀÂàÝÈ ÏÚ ‘ÚÂÇĀŠhÌÂmÓÂËÂÀqÍÂÀ²× ÈÂÀîÍ ŽÐÂÆÙÂàeÜÂ`ÚÓÂÀ/ØÂ€FÏÂÎÂÀîÍ ¾È€çÉÂÐÂÀMÓÂÀÇÂÏ åÌ ÙΠ_ÃÂàÓ hÌÂ ÊÆÂ ¦Ì€«Ó  ÑÂÀÊÓ–áÂÀkÎÂ`ÎÕ€|ÆÂà*ѯÈÂ@ñ×ÂàÕ DÒÂà0ÐÂ`¶Ù ”ÏÂ@°Í ÏÂ`oÐÂÏÂ`]Ó€×Â`‡ÌÂ@9ÌÂmÓÂà­Ð€jÉ JÑ 4ßÂ@ŒÓ íÕ \ÎÂÀ_РµÔÂÀ}ËÂ`ÊÂ@¶ÌÂ`·ÄÂ`æÑÂ@ÈÉ VÏÂ@3Í€¥ÔÂà0ÐÂ`{ÎÂÀôÌÂÀeÏ€4Ò ýÈÂ@ÎÈ€"Õ |ÓÂÍÂ,É ‚ÒÂÀ6ÂÂà0РÍÐÂ@¼Â` Ì PÐÂБÍÂ` Ì åÌÂ@4¸Â€4ÒÂ@'ÏÂ@ÒÂ@Ó DÒÂ@žÐ€FÏ ñÊÂ@€Õ ÷É šÎÂÀwÌ€4ÒÂÀËÂÏ bÍ ȼÂ@9ÌÂ`ËÂÀÐÒÂÀôÌÂàfÇÂ`ÚÓÂ@KÉ€(ÔÂÀÈ€FÏÂ`ÊÂà¿ÂÀÊ €ÈÂà<΀òÜ€ÃÏ€pÈ€‚Å vÔÂÀYÑÂÀ•ÇÂ@ýÕÂ@EÊÂà$ÒÂà*ÑÂËÂÀîÍÂÌÂàÔ£ÊÂÀ›ÆÂ€ÏÍÂ`uÏ€:Ñ ЀÂÂ`ÎՀеÔÂ`àÒ ÁÒÂ`Í€LÎÂÏÂÀ#ÚÂ@Ñ€þÚ ¦Ì ÇÑÂà$ÒÂà§Ñ€ÉÎÂ`ÉÁÂÀÊӠˀÕ̯ȠÐÂ@ÕÂÀ‰ÉÂÀ_ЗÌÂ@nØÂ—ÌÂÀYÑ Р ÑÂàlÆÂàTÊ  Í ¦Ì ŽÐÂà¹Î€ÏÍÂÀ}ËÂÀ¡Å ÄÇ }¾Â AÈ€FÏ n˵ÇÂà`ÈÂÀ6ÂÂ@¤ÏÂ`uÏ€·ÑÂ`“ÊÂ`4ÅÂ@¶ÌÂ@€Õ€ÃÏÂÍ×̠¾ÈÂ ÊÆÂÀSÒ µÔ bÍÂ`øÎÂ`ŸÈÂ`WÔÂ2ÈÂàBÍ AÈ€šÁÂàÝÈÂÀÖÑÂÀ<Á¯ÈÂ`"ÈÂÀÇÂ@ÎÈÂ` ÌÂàBÍÂÀèΑ͠¬ËÂ`™ÉÂàBÍ )ÌÂÀYÑÂÀ6ÂÂ@-ÎÂÀË VÏÂÀÈÂ@QÈ ÇÂÍà÷É€«Ó€óÇÂÀqÍÂ`“ÊÂà•ÔÂà$Ò€ùÆÂÀúË€ùÆÂ€(Ô \ÎÂ@iÄÂÀÈÂÀÈÂOØÂ€çÉÂÀwÌ ¶¿Â@¶ÌÂÀôÌÂ@‡¿Â _ËΠ—ÙÂà×É‘ÍÂ` Ì ”ÏÂ`"ÈÂ@WÇ ¦Ì ²ÊÂà•Ô ¸É zÉ pÕÂÀ_Ѐ@Р/ËÂÀƒÊ PР¬ËÂaÕÂÀÊÓ€ŸÕÂ@9ÌÂàÑÊÂà×ÉÂàxÄ ñÊÂ@Õ ÄÇ »ÓÂË zÉÂüÐÂÀÜÐÂIÙ€«ÓÂàÂÂ@¼ËºÛÂÀÿß ’ÅÂàËËÂà¹Î ùÓÂ`QÕ nËÂ@¼ËÂÀÖÑÂ`ìÐÂ`FÂÂϋ΀‚Å |ÓÂËÂàHÌÂ@¶ÌÂà×Âà¿ÍÂÀMÓÂ@KÉÂ@ÎÈÂÐÂyÑÂ@ªÎÂ`ìÐÂ`òÏÂà*Ñ åÌÂàÑÊÂ@!ÐÂDÅÂ`QÕ€dÊÂ`ÉÂÀôÌ ÐÅÂ@’ÒÂÀ‰É #ÍÂ`“ÊÂÀîÍÂΠ/Ë€áÊ€óÇÂÀwÌ 2ÕÂÌÂ`4ÅÂ`QÕÂ`ËÂÀkÎÂÍÂ`þÍÂàrÅÂÀeÏÂÀ¸ÖÂ`Ë€½ÐÂ@’ÒÂàBÍ€@ÐÂ@€ÕÂÌÂà×ÂàØÂ ÎÂàÓÂÀèεÇÂ`æÑ‘ÍÂ@KÉÂà¡ÒÂÀ¸Ö€·ÑÂÌ€ÏÍ‹ÎÂà¿ÍÂ`¼ØÂÀÈ ¬ËÂÀ}Ë ÄÂ@-ÎÂÀ­ÃÂà³Ï ‚ÒÂË ÓÏ ÇÑÂ`uÏÂ@QÈÂÙÁÂ@EÊÂ`ÉÂ@ÕÂ@ŒÓÂØÖÂ@ŒÓÂÐÂ[Ö nË€ÉΠzÉÂ@’ÒÂÀÜÐÂmÓÂ`ÈÖÂmÓÂ@ÚÆÂgÔÂàNËÂÀÜÂ@òÂÂÓ zÉÂ@EÊÂOØÂàƒ×ÂÀ/ØÂ€:Ñ€íÈÂ@ÎÈÂà¡ÒÂÀÖÑ€@ÐÂ`Í >Ó Ò »ÓÂ`ŸÈ ÐÂ@ Ô€.Ó€þÚ åÌÂÐÂ@ÑÂà*Ñ ØÂ ¬Ë€áÊ DÒÂáÂÀ;ÖÂÍÂ`oÐÂàÕ€XÌÂà•ÔÂà•ÔÂ@Ñ ÐÅÂàHÌÂ@žÐ€ÃÏ £×€™ÖÂÀ/ØÂ ™ãÂOØÂ@¤ÏÂÀkÎÂÀk΀:Ñ ÜÃÂ@WÇÂU×€FÏ hÌÂÀ¾ÕÂ@zÖÂÀ¸Ö »Ó ØÂàfÇÂ`3Ú íÕ ‚Ò€ŸÕ |ÓÂà Ö€ÉÎÂÀôÌÂàÔ€ÉÎÂÀSÒÂ@¤Ï >Ó ,Ö€iÞÂ`K֢ߠ|ÓÂÀ/ØÂÀâÏÂ`cÒÂêÓÂàãÇ >ÓÂ@åÙÂÀ_ÐÂÀ¦ÙÂàîÚ çÖÂà ÖÂ@÷Ö€‡ÙÂÀAÕ †Ç€þÚºÛÂÀÖÑÂ@9ÌÂàØÂ`!ÝÂ`iÑÂà‰Ö bÍÂ2ÈÂ`QÕÂmÓÂ`9ÙÂÀ ÞÂ@KÉ µÔ€ŸÕÂ`™É ΀{Û ‚Ò€.Ó "âÂàÓ€“× >Ó ¯ÕÂà<΀RÍÂàÕÂÀGÔ€·ÑÂ@ ÔÂÀâÏ á× šÎ ØÂÀšÛ€vǠ܀LÎÂ@'ÏÂ`ÚÓÂ`3ÚÂØÖÂ7Ü ÓÏÂ@ÓÜ ÙÎÂÌÂ`{ÎÂàØÂ€çɋ΀4ÒÂÀÐÒÂÀwÌÂ`þÍ ¯Õ€±ÒÂIÙ€Ú —Ù ã µÔÂà‰ÖÂÀÄÔ€øÛ ^ØÂ >ÓÂàHÌÂÀÛÂöÑÂÏ€¥Ô€áÊ íÕ ßÍ€"ÕÂüРßÍÂ@ ÔÂ@'Ï á×ÂÀ•ÇÂ`cÒÂ`QÕ€“×ÂàBÍÂ`¼ØÂ`°ÚÂÀ5×ÂР/Ë€^ËÂ@VÜÂÌ€(Ô€{Û bÍ ÏÂÀÐÒÂàîÚ ÖÄÂÀ_Ѐ·Ñ€½Ð€òÜ ÎÂ@cÅ€vÇ€ÿÅÂÀÄÔÂÏ€:ÑÂÀÇÂ@ÕÂ`?ØÂ@žÐÂÀâÏ ÁÒÂ@ªÎÂ`ËÂà¡Ò :ÞÂ`]ÓÂöÑ †ÇÂÐÂ`øÎÂ@’ÒÂ@\Û€ÚÂ@9Ì€áÊÂÀSÒ¨ÞÂÀ5×ÂÀYÑÂ@ªÎ µÔÂË€ÃÏÂ`™É ÈÂ…ÏÂ@!РÁÒÂ`oР Í€:ÑÂàãÇ ÙΠ,Ö€.ÓÂÐÂ@žÐÂà§ÑÂÀkÎÂ`àÒÂ` ÌÂÀ}ËÂàZÉÂÌÂ`ÍÂ@ªÎÂàÑÊÂ@\Û€·ÑÂÀÜÐÂ@KÉÂÀSÒÂ@ßÚÂà0ÐÂ`QÕÂ` Ì ”Ï YÄÂ@žÐÂ`¤ÜÂ@ÕÂ`KÖ )ÌÂàfÇÂ@'ÏÂ`QÕ á× \ΠÁÒÂÀ;ÖÂÌØÂ d×€ØÂ`KÖÂàÕ nËÂàeÜÂ`øÎÂÀËÂ@JÞ€"ÕÂ@9Ì åÌÂsÒÂàNË ŽÐÂäÔÂ`cÒ #ÍÂ`þÍ€ØÂ€ÃÏÂà›Ó€"Õ€íÈÂ`æÑÂàAâÂàØÂ@ÒÂ`:ÄÂ`:ÄÂÀÈÂäÔ€LÎÂ` Ì€¥Ô á×Â@˜Ñ€ÉÎÂàõÄÂ@¤Ï  Í šÎÂà6ÏÂÀîÍ ÕÙÂà*Ñ ŒÆÂ vÔ tÊ ÷É€ÕÌÂ`ªÛÂ`þÍÂsÒÂÀ)Ù ùÓ€XÌÂàÅÌÂ@¶Ì ÅÂà$ÒÂ[ÖÂ@ÕÂöÑÂ`‡ÌÂ@zÖ€ÃÏÂ@'ÏÂ`iÑ á× íÕÂÀSÒÂÀ}ËÂÀGÔ VÏ hÌÂàBÍÂ@žÐ d×Âà}ØÂ€ŸÕ ÒÂà<ÎÂ@t×Â@°ÍÂà¿Í©ÉÂà›ÓÂàTÊÂà‰Ö ÓÏ ,ÖÂCÚ ùÓ ÐÅ  ÍÂ@÷ÖÂÀÖÑÂ ÊÆÂ`{ΑÍÂÐÂÀ0ÃÂ`™ÉÂà¹Î  ÑÂ@†ÔÂÀÖÑÂàÕÂ@€Õ d×ÂÐÂ,É  ÍÂàÔÂ`™ÉÂà*Ñ ÙÎÂ@¼ËÂðÒÂ@˜ÑÂ@ýÕ  Ñ€ÃÏ€ÕÌÂÀkÎÂÀYÑÂ@˜ÑÂ@÷ÖÂà§ÑÂ@ӵǠ)ÌÂ`ÔÔÂÀúË tÊ€FÏ ÙÎÂ`™ÉÂ ÊÆÂà×ÉÂÐÂ`·ÄÂ`ËÂ`ŸÈ hÌ ¾È pÕÂàYÞÂ@¼ËÂöÑÂà6Ï åÌÂàHÌÂ@¶Ì€RÍÂ[ÖÂ`ÎÕÂ@ÍÝÂðÒ )ÌÂÀ¡Å ŽÐÂÀSÒÂàÅÌ jÖ »ÓÂÀGÔÂà­ÐÂüÐÂ`ÔÔÂ`oÐÂÀšÛÂàÅÌÂÀqÍ€Ö€LÎÂÀYÑÂ`àÒÂ1ÝÂ@†Ô µÔ Ü€íÈÂÆÙ »ÓÂ@hÙ€½ÐÂà¿ÍÂÀÈÂà›Ó€™ÖÂà×Â@?ËÂ`ìÐÂ@?Ë€±ÒÂà¿ÍÂÀÆÂÀ}Ë #ÍÂ2ÈÂ@ Ô çÖÂ@’ÒÂÀ¦ÙÂ@°ÍÂ`uÏÂÀúËÂ@¼ËÂ…Ï  ÍÂÐÂ@-ÎÂ@ÎÈ€·Ñ šÎ ¯ÕÂÀÊÓÂ@Ó€@ÐÂà¹ÎÂÀwÌÂà¿ÍÂ`“Ê —ÙÂÀâÏ ÇÑ ñÊÂ@¶ÌÂà6ÏÂàfÇÂ@Ò€«Ó Ò çÖ ÏÂ`™ÉÂÀâÏÂ@¤ÏÂ`æÑ zÉ 2ÕÂ`“ÊÂÀÊÓ ”Ï©ÉÂöÑÂÏÂ@ëØÂ€RÍ ÈÂ`oÐÂêÓ ÆÂ@EÊ bÍ ”ÏÂàÑÊÂ@¶ÌÂ`QÕÂÀwÌÂ@-ÎÂÀúËÂà0ÐÂà<΀pÈ  ÑÂÀGÔ ¦Ì ßÍÂà×É ÓÏÂ@!ÐÂÀSÒ€“×€ÏÍÂÀÇ ñÊ PЯÈÂ` ÌÂ`Ë€vÇÂ@\ÛÂÀÐÒÂËÂÀƒÊÂà`ÈÂ@oàÎÂàÔÂàôÙÂàéÆÂ€ÃÂ@ÚÆÂ`·ÄÂÌ ÄÇ€ÕÌÂ` ÌÂà×ÉÂàÕÂ`ËÂ@!ÐÂVÂÂ`“ʑ͠5ÊÂÀqÍÂ`ÍÂÓÂÂ`±Å ñÊÂöÑÂ`øÎÂ`"ÈÂÀ¾Õ€XÌÂ`Ê 5Ê 9¿ÂÀâÏÂ@]ÆÂ ’ÅÂäÔÂ@’ÒÂ@þÀ€L΀çÉ ¦ÌÂÀÐÒ€LÎÂÏ ÙÎÂ=ÛÂ@€ÕÂÀÖÑÂh¿Â`Í ;ÉÂ`øÎÂ`ÚÓÂ@æÄÂàéÆÂ€vÇ€ÂÂ@¶Ì€çÉÂР8ÔÂ@PÝ ÇÑÂÀGÔÂÀâÏ ùÓÂàÝÈ )Ì€RÍÂ@ ÔÂà›Ó ”ÏÂà³ÏÂÀ_ÐÂ@ÂÊÂÐÂ@ÚÆÂÀÜР_ÃÂÇÄ /ËÂà•Ô JÑÂàÝÈ AÈÂÀƒÊÂ`:ÄÂ` Ì íÕÂ`ËÂ`òÏÂ`ËÂ[ÖÂ`ìÐÂ&ÊÂ`Û¾ÂÀ›ÆÂ€^Ë ýÈÂЗÌÂ@9Ì‹ÎÂ@žÐÂ`Ê Ä©ÉÂ`øÎ ÍРÏÚÂêÓÂ`þÍÂࢽÂ@EÊÂ…ÏÂßÀÂàéÆÂ`iÑÂÀ‰ÉÂDÅÂÀÜЀ^ËÂÀ É šÎ ÈÂ`øÎ ¦ÌÂàõÄÂüÐÂà*Ñ€@Р5Ê ;ÉÂà§ÑÂ@àÅÂ`ËÂ`QÕÂ`òÏÂàHÌ£ÊÂÀ ÉÂÍÂ`Ê ØÂÀ_ÐÂ@3ÍÂ`àÒ»ÆÂ ‚ÒÂ@ªÎÂà$Ò nËÂ`{Π”ÏÂ`WÔ€ŽÃ ËÂgÔ åÌÂÀÇ—ÌÂ@¼Ë€LΠVÏ ˆÑÂÀÜРÙ΀ÉΠÇÂÀâÏÂ@ªÎÂ@'ÏÂ@'ÏÂ…ÏÂРAÈÂ`“ÊÂ`uÏ ÿÒÂÀÜÐÂ`ËÂ@°Í 2ÕÂà¿ÍÂÀËÂ@3Í€:Ñ—Ì JÑ pÕ bÍÂà­ÐÂDÅÂ`ÚÓÂàãÇ zÉ vÔ )ÌÂ`æÑ€^ËÂÀ•ÇÂà›ÓÂ@WÇÂ`þÍÂà¿ÍÂ`™É ÁÒÂÀîÍÂàÑÊ VÏÂ`Í ëË †ÇÂ`ŸÈ ÙÎÂ@ÈÉÂ`Ë€·ÑÂÀ}ËÂØÖ #Í ¶¿Â€ÃÂ`"ÈÂÓÂÂ@QÈ  ÍÂyÑÂ@ªÎ€ÕÌ 2ÕÂ@ÕÂ@ÂÊÂà¹ÎÂ@ÈÉÂÁÅÂ…ÏÂ@žÐÂ@ÓÂ@°Í 2ÕÂà›ÓÂÀƒÊÂÍÂ@°Í€ÛËÂàÓÂ`Ê ¸É hÌÂ`¶Ù JÑ€|ÆÂ`(Ç ÁÒ€^ËÂyÑÂ`±ÅÂÀÜÐÂ@øÁÂËÂÀîÍÂ@!Ѐ.Ó ŽÐÂÀÜÐÂ`òÏ pÕ¨ÞÂ`ÊÂ`:ÄÂàNËÂÀôÌÂÍÀ‚ÅÂ@¼ËÂ`ÊÂÀ<ÁÂà ÖÂÀ ÉÂÀîÍÂÆÙ 8ÔÂ@'Ï€jÉ È ØÂ` ÌÂ`øÎÂ@ýÕÂà$ÒÂ@!ЀÛË ˜ÄÂ@EÊÂ`ËÂà ÖÂÀîÍ€‚Å #ÍÂ`9ÙÂÀÐÒÂÀ5× ÇÑÂà§ÑÂÀú˵ǠÐÂ`æÑ€ØÂÐÂЀXÌÂ@ÓÂÀôÌ šÎÂ@÷ÖÂÀúË \ÎÂÀ_ÐÂ ÊÆÂàBÍÂà³ÏÂà›ÓÂÞÕÂÀÊÓÂ ÊÆÂêÓÂÀîÍÂ`WÔ€RÍÂÏÂÀÈÂàfÇÂ@†ÔÂËÂà‰Ö šÎÂÍ VÏÂðÒ bÍ€áÊÂÀÜÐÂ`"ÈÂ`oÐÂÀÖÑÂà$Ò XÙÂ`«ÆÂ@ÈÉ ÍÐÂ`þÍÂÀ¬ØÂ@'ÏÂaÕÂ…ÏÂÀÄÔ€þÚÂÒ×ÂÀSÒ ÜÃÂ`]ÓÂá |ÓÂÀÇÂÐÂ@ªÎÂÀúËÂàËËÂ@åÙ PБ̀™ÖÂ`]ÓÂ`ìÐÂÀ}Ë zÉ€pÈ MÆÂÎÂà•ÔÂà¡ÒÂÀƒÊÂÍ »Ó ÐÂàÅÌ VÏ ÏÂ@ÂÊÂ`uϩɠ;ÉÂÀÜÐÂÀ ÚÂà›Ó©ÉÂÀîÍ€4ÒÂ`“Ê hÌÂÍàǀÉΠ|ÓÂÐÂ`ÎÕ€FÏÂàÑÊÂäÔÂOØÂsÒÂ…Ï€ ÙÂ`¶Ù óÔÂÀ$ÅÂàBÍÂ`Â×Â`cÒÂ@!ÐÂà<ÎÂgÔ á× £×Â@KÉ ¬ËÂÀSÒÂmÓ ;ÉÂÀÜÐÂ@!Р¾ÈÂÀ<ÁÂàÜÝÂ@ªÎ€·Ñ€íÈ€ÏÍ ØÂà§Ñ€‡ÙÂsÒÂ@’ÒÂ`¤ÜÂ`{ÎÂgÔ€‡ÙÂ`æÑ€Ö RÚÂÀ5×ÂàÖÞÂÀ#ÚÂàÓ€¥ÔÂ`þÍ€vÇÂà$Ò /Ë  ÑÂ`øÎ £× »ÓÂàÓ ÁÒ vÔ€:Ñ€ÃÏ jÖ€.ÓÂ`™É íÕÂÀqÍÂà§Ñ ÇÂ@Õ€QâÂ@ ÔÂÀ”ÜÂ`E×€XÌ€:ÑÂÀÜР»Ó€KãÂ@Ò \ΠçÖÂ…ÏÂà*Ñ€ÕÌÂ@!ÐÂàÝÈÂÀGÔÂ@ÈÉ‘ÍÂÀ/ØÂ€ÕÌÂ`iÑÂ`Í ¹ÂàfÇ—Ì ©ÖÂà6ÏÂàÅÌÂ@ ÔÂ`ÈÖÂÀMÓÂÀÐÒÂ@VÜ€íÈ šÎÂ@÷ÖÂ`“ÊÂ`ÔÔÂÀ‰É ©ÖÂ`ÊÂ@KÉ íÕÂÀȣʠˆÑ |ÓÂ`ÍÂ@ÂÊÂàBÍ šÎÂ`òÏÂ@\ÛÂàƒ×ÂÀAÕÂàØÂÀYÑÂ`«ÆÂ ÁÒ€‚Å€íÈÂ@àÅÂÀeÏÂ@t× åÌ ÅÂÀ¡ÅÂØÖÂ@ÑÂÀ;ÖÂ@ÂÊÂ@žÐ€(ÔÂgÔ  ÑÂ ÊÆÂ`oЀíÈÂ@Ó€ÃÏÂ@†Ô ˆÑ LÛ ßÍÂÀ¬ØÂ@¤ÏÂ@ÒÂ`Ê ßÍÂàHÌÂàÕÂÀGÔ Ù΀RÍ bÍÂ`ÊÂ`æÑ€pÈ á×ÂÒ×€«Ó ñÊÂà›Ó€½ÐÂà³ÏÂ@ ÔÂÀèÎÂà ÖÂ@ ÔÂ@t×Âà•ÔÂ`ÎÕÂ`øÎ€XÌÂàBÍ€ÃÏ€™ÖÂOØÂ[ÖÂ@ÒÂÎÂ@'ÏÂüРtÊ êàÂÀ¾ÕÂ`ÚÓÂ`ÉÂÀ/ØÂàÐßÂ@zÖ ‚ÒÂ@°ÍÂàqÚÂ@ýÕÂàØÂ€þÚÂà$ÒÂà¿Í€]àÂÀ¬ØÂ€þÚÂêÓ€ÕÌ®ÝÂOØÂ€ Ù ,ÖÂÀYÑÂ`uÏÂàÕÂ@2âÂàîÚ€"Õ©É PР©ÖÂ`KÖ€ÉÎÂÀGÔÂ`ËÂ`{ÎÂ`æÑ€Ú€ØÂà¡Ò ÏÚÂàØÂÏ€“×ÂÀ)Ù€½Ð /Ë ‚ÒÂ@àÅ PÐÂà Ö óÔÂàÜÝÂÀYÑÂàÓÂÀ5×Â@†ÔÂàÅÌÂà‰Ö Ò ßÍÂÀ¬ØÂ DÒÂ7ÜÂË çÖÂ`uÏÂ@Õ€ÃÏ 5ÊÂ8Ç ÏÂIÙÂÀ#Ú »ÓÂ@ÕÂÀkÎÂÀß pÕ¯ÈÂ@ýÕÂ@¶ÌÂÒ× gáÂ`{ÎÂ`âÂ`¤Ü ÓÏÂà›Ó€ŸÕÂà}ØÂ ÝÂ`-ÛÂà³ÏÂÀËÂàMàÂÀšÛÂ@ÓÂ`þÍÂ`ìР£×ÂÀwÌÂÀâÏÂ@ªÎÂ@!ÐÂöÑÂ@Ñ íÕ 2Õ |ÓÂÀ¾Õ€¥Ô ßÍÂ`ÔÔ€:Ñ€LΠXÙÂ@÷ÖÂ@hÙ€FÏÂà¡ÒÂà ÖÂÀúË€ÕÌÂ@ÒÂU×ÂÀGÔ€^ËÂ`¼ØÂ€Ö >Ó€{Û‹ÎÂ`ìЀ"Õ€‡Ù€ÛËÂÀîÍÂ`ËÂ`¶Ù€½Ð jÖ ÙÎÂ@\Û |Ó AÈÂРÒÂ@'ÏÂ`uÏÂ+Þ€òÜÂ`¼ØÂ µÔÂ`àÒÂÀ5× ÄÇÂÀúËÂ@¤Ï€íÈÂ@ÂÊÂÀ_ÐÂ@øÁ £× £× ЀjÉÂ`KÖÂ[Ö ŽÐ ÿÒÂà ÖÂsÒ€×ÂÀGÔÂ`Ë ˜ÄÂ@t×Â@€Õ ÒÂ`þÍÂÀÊÓÂÀ¬ØÂà0ЀÖÂ`Í ÁÒÂà×ÂÀ#ÚÂ@žÐÂàBÍÂÀÊÓÂà¡ÒÂÀ¸ÖÂ`ÍÂ@nØÂàãÇÂ`‡ÌÂÞÕÂÀÇ€XÌÂà ÖÂà×É šÎÂ=ÛÂ`æÑ ÿÒÂ`ŸÈ jÖÂàƒ×ÂÀúË€:ÑÂÀÐÒÂàÕ€ÏÍ€çÉÂ`ÔÔÂ@€ÕÂ+Þ€ØÂ£ÊÂÀ*ÄÂà›ÓÂ`iÑ DÒÂ`±ÅÂ@-ΠßÍÂ@zÖÂà6ÏÂÀÝÂÀ¸ÖÂàNËÂÒ×ÂÀGÔ FÜÂ`{Π»Ó€±ÒÂ,ÉÂÀeÏÂÀeÏ |ÓÂ@cÅÂ@ÈÉ€.ÓÂÀYÑ‘ÍÂ,ÉÂ@-΀"ÕÂ`iÑÂüÐÂÀ;Ö€«ÓÂ@ýÕ€½ÐÂàÑÊ€RÍ€×ÂüР ÑÂ@Ñ€ÖÂàôÙ á× ÏÂÀMÓÂà›Ó€þÚÂU×€çÉÂÀGÔ ÍРbÍÂ@Ñ€ÚàÂ`cÒÂ[ÖÂРÍРÏÂÀ¾ÕÂÞÕÂ@ÑÂ@åÙÂU× 2ÕÂ@€ÕÂ`E×Â@žÐÂà¹ÎÂ` ÌÂàÕ #ÍÂ@QÈ€±ÒÂà³Ï€RÍÂà§Ñ µÔ ¬Ë€WဥÔÂ…ÏÂ`ÚÓÂ@˜Ñ€:ÑÂ@ŒÓ€ØÂÀÜÂ ÛØÂ`ÉÂà<΀«ÓÂÀkΠ»Ó ÏÚ€·Ñ XÙÂ@°ÍÂ@9ÌÂ@9ÌÂöÑÂ@!Р»Ó ‘ÚÂ@bÚ€FÏÂ@žÐÂ@-ÎÂÀÜÂ@÷ÖÂÀ¡ÅÂàÓÂà*ÑÂ@-ÎÂÀÜÂgÔÂÀÖÑÂ`E×Â ÛØÂ Ï Ѐ±ÒÂ`ÊÂ`øÎ€ÛËÂÀSÒÂ@†ÔÂ`uÏÂ`{ÎÂÍÂÀYÑÂÀÄÔ »ÓÂ`þÍÂsÒÂ`ÔÔ€þÚ vÔ ØÂ@ŒÓÂêÓÂyÑÂU×ÂCÚ€.ÓÂ@zÖ€ÚÂ`?ØÂÀ¾Õ Ý UäÂ@zÖ ŽÐÂ@ªÎÂÒ×€‡ÙÂ`ÞÂà‰ÖÂ@hÙÂCÚ ÙÎÂ`KÖÂÀ¸ÖÂ@DßÂÀóáÂ@»à ‘ÚÂÀßÂ@ÕÂ@zÖ RÚÂÀ¾ÕÂmÓÂÀÄÔ äÂ=ÛÂ@\ÛÂ@ÓÂ@!Р©Ö óÔ Ü |Ó bÍ LÛÂ@Õ ½ÝÂÀÊÂÀËÂàÓ …ÜÂàÐßÂÀ5×Â`ÚÓÂÀ¬ØÂ€‡Ù µÔÂà¿Í ÿÒÂà§Ñ€.ÓÂðÒ çÖ€]à€uÜ ÏÚ óÔÂÀYÑÂÀ¬ØÂÀÖÑ PÐÂ`ÚÓ€(ÔÂàqÚÂ@†ÔÂàÔÂÎÂ@t×ÂÀGÔÂÀ5× &× ßÍÂàÓÂà$ÒÂ@ßÚÂ`oÐÂ@!ÐÂÀÄÔ€ØÂ€ÃÏÂ@ÓÜ€ØÂ@zÖÂÀeÏÂ`žÝÂàkÛÂÀÜÂÀâÏÂ@bÚÂ@,〓׀òÜÂàNËÂÀƒÊÂàôÙ Π ÍÂàËËÂÀÜÂàèÛÂÀŽÝ€«ÓÂ`iÑÂà•ÔÂÏÂmÓÂÀ߀ÕÌ sß ÁÒ—ÌÂÀšÛÂ@ÓÂÀ^åÂ`°Ú ÇÑÂ`ÈÖÂÀ_Ѐ(ÔÂ`!ÝÂ@†ÔÂ@Õ ÏÚÂàYÞÂ@ÕÂà ÖÂà³ÏÂÀƒÊÂ`?ØÂ vÔÂ`ªÛÂ@ÕÂ`QÕ »ÓÂaÕÂÀ¸ÖÂ`Â× ‚Ò€½ÐÂÀÛÂÒ×ÂÎÂ@VÜ€dÊÂÀMÓÂÀ§Ä bÍÂ`øÎÂ@'Ï d×ÂÏ —Ù€"ÕÂàkÛÂÀ_ÐÂ`ÔÔÂàÔ€«ÓµÇÂÀîÍÂàèÛÂ+Þ€×ÂäÔ€øÛÂÀúˮݠÿÒÂ`ÈÖ ÓÏÂÀ Ú >Ó RÚ€ÚÂ@'ÏÂ`æÑÂÌØÂ€àß ,ÖÂ`3ÚÂÀâÏÂ@ªÎ ßÍÂ`WÔÂ`ìЀ«ÓÂà*Ñ€LΠ²ÊÂüРŽÐÂà›Ó€{ÛÂ`ìÐÂ@ÑÂÀÐÒ€ÕÌ 8ÔÂ@žÐÂ@?ËÂ`WÔ 2ÕÂà*ÑÂ7Ü€±ÒÂ@µá @ÝÂ@’ÒÂ`øÎ |Ó >ÓÂÀÄÔ€ÚÂ@3ÍÂ@!ÐÂ`Ë ¾ÈÂÀYÑÂ@PÝÂ`QÕ ÍУʠtÊÂ@¶Ì ýÈÂ@ÍÝ ”ÏÂ`™ÉÂÀ¡ÅÂà•Ô £×ÂsÒ ÎÂ`ËÂÀ¾ÕÂÍÂ&ÊÂà³ÏÂ@ÚÆÂ@¼Ë€dÊÂÀeÏ nË zÉÂOØÂ`ÔÔ ØÂÀ ÚÂ@˜ÑÂÀkÎÂÀÈ€±Ò Ï€«Ó •ºÂÀ`»Â€pÈ€^Ë€:ÑÂäÔ íÕÂäÔ ¾È€ÉÎÂ`FÂÂ,ÉÂà6Ï ÈÂ`¶ÙÂàÓ€½ÐÂà$Ò ÛÂà*Ñ >ÓÂöÑÂÀÜРÇÑÂ`É nË ' |ӵǀFÏÂ@ýÕÂàBÍÂ`‡ÌÂÀYÑÂÀÖÑÂÏÂ@ýÕÂ`?ØÂà$ÒÂ`9Ù íÕÂÏÂÀk΀pÈ  ÑÂÀ Ú ëËÂàTÊÂ@-ÎÂ@!ÐÂà$ÒÂà0РDÒÂ@Õ€ØÂ Ò€@Р^ØÂ@Ó ‚Ò ¬ËÂÀÜÐÂ@ßÚ vÔ ©ÖÂ`æÑÂÀ_Р ÍÂ@-ÎÂÀúËÂ`ÚÓÂÀ¦Ù £×Âà¹ÎÂ@ßÚÂ`òÏÂ@žÐ ’Å€@ÐÂà›ÓÂà_Ý j֠πŸÕ ÝÂÀâÏ ÐÂà0ÐÂÀÇ ÙÎÂà}ØÂØÖÂ`"È€«ÓÂ`æÑÂÀwÌÂÀ”Ü hÌÂ`ìЀ:ÑÂà•Ô íÂCÚ€4ÒÂ@Ò ¯ÕÂ@3Í¢ßÂ@˜ÑÂÀË Ò ÏÚÂ@ŒÓÂ[ÖÂ@ÒÂ@Ñ€Ö€^Ë€dÊ‹ÎÂ`E×ÂÀèÎÂ@ÓÂÀ;ÖÂ`ÍÂyÑ ËÂÀ0ÃÂ`KÖÂmÓ ŽÐÂà¹ÎÂ`uÏÂ`ÔÔÂàúØÂ Ý ÎÂ` ÌÂàeÜÂüÐÂàrÅ £×ÂaÕÂàâÜ á×Â`òÏ ÒÂÀÆÂ@t×Â`ÔÔ 2ÕÂÀèΠpÕÂgÔ€·ÑÂÀGÔÂÀpâ ÝÂÀèÎÂ`òÏ€«Ó †ÇÂÒ×Â`¤Ü€¼å ”Ï ÕÙ ¯ÕÂà6Ï ØÂÐÂÀ)ÙÂÀ ÚÂà›Ó  ÑÂÐÂ@ Ô GÇÂ`iÑÂ@-ÎÂÀMÓ€“×ÂÀîÍÂêÓÂÀAÕ ßÍÂà6ÏÂ`QÕ íÕÂ@ Ô µÔ€(ÔÂÀ0ÃÂÀÇÂà›ÓÂ`E×ÂOØÂ@ëØÂ RÚÂ`òÏÂ`ÎÕ€.ÓÂ` ÌÂ@€ÕÂÀßÂÎÂ`]Ó £× µÔÂOØÂÀÖÑÂÀSÒÂ`ÍÂüРLÛÂ`WÔÂàâÜ XÙ 2ÕÂР>ÓÂ`°Ú šÎÂ@ ÔÂ@÷ÖÂ` áÂ@nØÂ@€Õ€¥Ô ÎÂ@’ÒÂÌÂàÓÂÀÐÒ óÔ åÌ€½Ð€½ÐÂÀMÓÂ@’ÒÂÞÕ »ÓÂ`ÎÕ XÙ€RÍ€{ÛÂ`ÎÕÂàîÚ€ÚÂÀ#Ú µÔ€uÜÂÐÂ@zÖ LÛÂàâÜ ;ÉÂ`ÈÖ )ÌÂÒ×€Ú€@ÐÂàúØÂ ÿÒÂà§ÑÂ@’Ò ^ØÂ€oÝÂ`žÝÂ`Þ ÇÑÂ`WÔ€cßÂà6Ï€{Û Ú ÁÒÂà}ØÂ µÔ óÔÂfé sßÂ`uÏÂ@µáÂÀ#ÚÂ`ÈÖ JÑÂ`òÏ€ØÂ ÕÙÂ`¶Ù £×€@ÐÂ`3ÚÂ`€âÂsÒ€¥Ô€¥ÔÂÀŽÝÂà§Ñ ÕÙÂÀÜ€"ÕÂ`ßÂÏÂà*ÑÂaÕÂÀŽÝÂ=ÛÂ@ÕÂàØÂ€™Ö€ØÂ@nØÂ@ÇÞ /ËÂàÕÂÀâÏÂ`ß ÍÐÂÀ ÚÂ@ÒÂÀÐÒÂ%ßÂ`¶ÙÂÀGÔÂÀ¸Ö€ØÂ`E× ÙÂ`!Ý |Ó 5ʀŠÿÒÂ`3Ú aâÂ`¶Ù FÜÂ`9Ù€"Õ ØÂ@åÙÂ`ÎÕÂÀqÍÂÀÛÂà¹ÎÂ@ëØÂ@t×ÂmÓ€Ú íÕÂà<ÎÂÀYÑ >ÓÂ`¶Ù€.Ó óÔÂàÓÂÀAÕÂÞÕ€½ÐÂ@VÜÂOØÂ@ÂÊÂ`iÑÂÀÊÓÂ`÷〪èÂ@nØÂ`iÑÂ@ÈÉÂ@t×ÂÀAÕÂüЀØÂÀSÒÂ@˜Ñ jÖÂ`ÎÕÂà¡Ò ÝÂàÜÝÂÀ#Ú€@Р’ÅÂ`uÏÂ@ÎÈ pÕÂ`ÎÕÂàÖÞÂÀ¦Ù€"ÕÂ@’ÒÂÀYÑ ØÂà¹ÎÂU×Â`cÒÂÀ É È :Þ Ù€áÊ€±Ò ”ÏÂ`ÍÂ@nØÂ`Â×Â`òÏ |ÓÂà¡ÒÂàÖÞÂ`ÚÓÂÀÖÑ ÛÂsÒÂ@3Í€·ÑÂyÑÂà*ÑÂà¹ÎÂ`øÎÂÀÄÔÂ`ÎÕÂÀ¸ÖÂÀÐÒÂÀeÏÂà¿Í€4ÒÂ` ÌÂÀâÏ pÕÂЀ"ÕÂ@ÂÊÂ7ÜÂà`ÈÂà­ÐÂ`QÕ€“×ÂàÝÈ Ѐ“×Âà<ÎÂ…Ï€ØÂ PРÁÒÂ`¼ØÂàÔÂ ÛØÂ[ÖÂà0РVÏÂ`3ÚÂ`9Ù€@Р€È€±Ò ©ÖÂ@’Ò PР2ÕÂ@žÐÂ@’Ò ˆÑ—Ì #ÍÂÀ‰É ÏÂÀšÛ íÕÂ@hÙ€@РÍÐÂÀ/ØÂ€½ÐÂyÑÂðÒÂÀAÕ€ÉΠ”ÏÂÀdä ÍÐÂàÅÌ &×Â[Ö ÙΠØÂüÐÂàÕÂàãÇÂ@Ñ óÔÂ@¤ÏÂàHÌ ‹ÛÂIÙ DÒÂÀkÎÂöÑÂ@’ÒÂ@ÙÛ LÛ€XÌ€·Ñ ‘ÚÂà›ÓÂÀˆÞÂàÕÂmÓÂðÒÂ`’߀×Â`ÎÕ ÍÐÂ@ýÕÂ`“ÊÂ@t×Âà‰Ö€½ÐÂ@'Ï 5Ê ØÂ@Ñ åÌÂ@ßÚ )ÌÂ7ÜÂà<΀·ÑÂ@Ó —ÙÂÀ;Ö pÕÂà0Р»Ó #ÍÂà³Ï ^ØÂ`¤Ü jÖÂ@\ÛÂ`¤ÜÂ@ýÕ€ÖÂ`Â×€(ÔÂ`àÒÂ`Œà€4ÒÂà`È€oÝÂÀ¾ÕÂÀ‚ß óÔ Ÿâ€¥ÔÂÀGÔ ÏÚ€{ÛÂ`ÔÔ  Í¨Þ€“×Âà$Ò ùÓÂ@ñ×Â`˜ÞÂà Ö äáÂàôÙÂêÓ ÜÂà§ÑÂgÔÂ`æÑ çÖÂÀˆÞÂà¡Ò€uÜÂ`QÕÂ@¤ÏÂà¡ÒÂIÙÂàÕÂà­Ð 2ÕÂàwÙÂ`°Ú€LÎÂÒ×Â@\ÛÂ`QÕÂ`þÍ ,Ö ßÍÂà*ÑÂ`ÚÓÂàƒ×Âà­ÐÂÀÖÑÂÀ¦ÙÂÀ¾Õ€òÜÂàwÙÂà‰ÖÂ@ñ×Â@°ÍÂ`ÔÔÂà•ÔÂ@hÙ€.Ó ðßÂ+ÞÂ@&äÂ@Õ vÔÂ`÷ãÂàSßÂà Ö ÃÜÂÀ²× d×ÂmÓ íÕÂ@ëØÂà}ØÂ€ØÂ€øÛÂ`¶ÙÂÀ Ú vÔ æë€‡Ù ÕÙÂàÕÂ@¤ÏÂÏ íÕÂOØÂgÔ€ØÂà_ÝÂàâÜ ©ÖÂà²äÂ@ÕÂ@†ÔÂ@ýÕÂà³Ï€½ÐÂØÖÂà_ÝÂÀ”ÜÂOØÂ€·ÑÂà¿Í 8ÔÂ`]ÓÂÀ#ÚÂ@’Ò ,ÖÂÀÈÂ@’ÒÂÀAÕ gáÂáÂ@ÙÛ€ ÙÂØÖ€øÛ€ìÝÂÀÛ :ÞÂaÕ ÛÂ@bÚ JÑ€"Õ :ÞÂÀváÂ@hÙÂ=ÛÂ`˜Þ€òÜÂ`°ÚÂ`Â׺ÛÂ`˜ÞÂà¹Î ÜÂÀ/ØÂ€Ú "âÂ@€ÕÂ`¤ÜÂÀÝÂà×ÂOØÂà¿ÍÂÀ5×Â`ëå 4ßÂ@ñ×Â`'ÜÂÀÜÂðÒ màÂIÙÂÀ¬ØÂ@†Ô :ÞÂÀ¾ÕÂÀÖÑÂ@PÝ€àßÂØÖÂ`3ÚÂÀ²×€¥ÔÂÀ¸ÖÂCÚÂ`àÂÀSÒÂðÒÂÀèÎÂàÓÂ`¤Ü€·ÑÂÀAÕ ÇÑÂàÕÂàôÙ RÚ Ï #ÍÂÀSÒÂ`(ÇÂ`Â×ÂàôÙÂÀGÔ LÛÂ`E×Â@\ÛÂ`ìÐÂÀÐÒ…ϋ΀ŸÕÂ@µáÂðÒ ØÂ@Ó ÇÑÂà¿Í RÚ€ ÙÂ`Â×Â`QÕ€òÜ ÁÒ màÂÀÜÐÂ@ªÎÂêÓÂà§Ñ ùÓ€™ÖÂ@°ÍÂ`ÎÕÂyÑ »Ó (á ÍÐÂàÕÂàôÙÂ`?ØÂ`?ØÂ@nØÂÀ5×Â`Ë€(Ô€.ÓÂ`9ÙÂÀ/ØÂ@ÙÛÂ@ÑÂàSßÂÀÝÂ[Ö ¦ÌÂ`¼ØÂ ÓÏ€·ÑÂÏÂÌÂ@¼Ë /ËÂÐÂÍ€×Â@€Õ )ÌÂÀ¸Ö 2ÕÂà×É€ÉÎÂmÓ ¯ÕÂÀ¬ØÂ ÍР Ñ ”ÏÂàTÊÂ@zÖÂàîÚÂÀÜÂÀ#ÚÂ`Â×Â7Ü šÎ€þÚÂ`ÚÓÂ@!ÐÂÀeÏ 8Ô€ŸÕÂU× ØÂ ŽÐÂ@3ÍÂ@-Π,ÖÂ…Ï€·ÑÂ@†Ô€ØÂ`]ÓÂ@åÙÂ`‡Ì &×Â`WÔÂ@hÙÂ@¼ËÂêÓ®ÝÂöÑÂ`ÈÖÂ@Ó€«ÓÂÀSÒ DÒÂ@ÒÂà6ÏÂàÕÂÀÜÂ@nØÂ@>à d×Âà ÖÂàÕÂ`þÍ€·ÑÂÀôÌÂàúØÂIÙ€FÏÂêÓ tÊÂ@’Ò€.Ó€ìÝÂ`9Ù  Í ÏÚ zÉ€@ÐÂÀeÏ |ÓÂ@Ò Ü íÕÂ`KÖÂÒ× FÜÂà_ÝÂàÓ€dÊÂÀMÓÂÀè΀FÏ ©ÖÂà§Ñ€@ÐÂà$Ò€FÏÂÀ¦Ù€ÃÏ€Ö åÂOØÂ`]Ó óÔÂ`òÏÂÀGÔÂà}ØÂ@ŒÓÂ@ýÕÂàØÂÀ_ÐÂàÕ€.Ó ØÂàúØÂà ÖÂ`-Û€iÞÂ@hÙÂЀ«ÓÂ@ñ×Âà³ÏÂà×Â@\Û€™ÖÂ`â ¯ÕÂ`oÐÂàÑÊ€(Ԡܠ݀à߀iÞÂàÕ€oÝÂ@ŒÓÂsÒÂÞÕ óÔ ÏÂ`™ÉÂà_Ý€ªè Ú Ü &×Â`!ÝÂà`È ,Ö 8ÔÂIÙÂ[ÖÂ@JÞÂÀ)ÙÂCÚÂàSßÂ`'Ü‹ÎÂÀƒÊ vÔÂà*Ñ€.Ó RÚÂØÖÂÀ¸ÖÂêÓÂ@ÕÂ`†á çÖ ©ÖÂ`¤ÜÂà_Ý€ÈãÂ@hÙÂIÙÂ@JÞÂàSß çÂ`!Ý ™ãÂà¸ãÂÀíâÂÀšÛÂ`à€Ú :ÞÂ`täÂÀ²×Â`3ÚÂàØÂà}ØÂ`žÝ «àÂàØÂÀ#Ú ±ßÂ ÆæÂ`t䀨ÂÀ”ÜÂÀßÂ@8á FܨހòÜÂ`QÕ d×ÂàÊà ºèÂ`ªÛÂÀ^åÂ`ÞÂà°Ã[RÃ@'Oà ÓOÃp=JÃ0¹EÃpgCÃ@{AÃÀÑ=Ãà@Ã`í;Ãp¯7Ãðj8à$8ê0Ã012À0Ã@d0Ã0Æ.Ãð/-à¿3Ãð²,ÃÔ-à Ÿ.Ãpz+Ãà-ÃÀö"ÃPÁ'Ãðè#Ãà&(ÃpŒ(Ã`}$ÃÐ$ÀÑ#Ã0‘"à%Ã0£ÃÀO)Ã`ô%Ã7$à à7 ÀN$àOà v ÀÝ!ÃÀä%Ãà©'Ã0…$ÃðÃ@ÐÃ0"Ã@A!ëÃp? ÀðùÃÀÀ„ÃÀ‹ÃLÀïÃ0Pà /ÃðÃ4Ã`§ÃpòÃÀ>Ã``à 5Ãà9Ã@¡ÃÏÃ@Ãð³ð”ÃÀµà àäÃà¤ÃÐwÃÀhÃ0åÃpìÃÐkÃpÃùãÃÐð ÃðÅÃðãÃ0€ÃPÔàöàÃp“ÃíÃ>Ã\ ÃàÔ Ã`éÂà è ÃPi Ã0Ã0†Ã`„à© Ã ðÄà Ã@¹ ðGÃ°Ü Ãp@ Ãvà> ÃÀ÷ Ã) Ã@Ë ÃP]ÃP{ Ã0’ ÃùÃÐ$ ÃÀý Ã°Ö Ã`% ÃÀ˜Ã` ÃPø ÃPŸÃ0’ ÃhÃà{ÃPu ÃPŸð ÀyàåÃGÃàðqÃ@éàåÃP¥à  Ãг ÀþàJÃÐÃð%Ã`[ÃpvÃÀ-ÃPÃPÀÃà‡ÃeþÂèÃàþÃpóÃPÃpF ÃAÃÀEÃ0àÃ`ÆÃ0]Ã`[ÃtÃ@éÃpçàhÃÀÂÃð1ÃP"ÃÀ¼Ã`Ià ËúÂ@~ÿÂ@À ÿÂ@rÃ`UþÂqüÂp^Ã@~Ã}ú€Áù€©ýÂ@xÃÀKÃÀ?þÃ@ Ã@–ûÂð¨Ãà™Ã bàëà÷Ã`÷ÂðºÃ@~ÿ ùÂ`ðùÂÀôÂÀôÂÐÀDùÂtà!÷°›Ã@~ÃpÿÀÓöÂÀÈàù ñÂàÿÂÀòö€&þ€ëòÂ÷ÂÀo÷€hó ñÃ@ŠýÂÃp|À,ýÂ`gû€ ÿÂ_ÿÂ’ÃÀÚúÂ`…öÂ`…ö hÃÀiøÂàÃö lõÂ`äûÂpóàñÃ÷Â`ðù€†î€ßô tÃÀiøÂèà rô Ý÷Âpÿà Nú°$ÃÀiøÂ`ðùÂÀ]úÂ@ûÂ`ô xóÂÀòÂÀòöÂÀàùÂ`—óÂÀòÂÀ]úÂ@¨øÂÀàù €ü€8ûÂ6ñÂÀðÂÀuö î õó ñÂ@‹èÂÀ™ðÂÀþô ªõÂ@%ù€åó€†îÂÀòÂ@üÂ@%ùÂ@Þï xóÂÜÿÂÀŸï –îÂ`Çë ¶óÂ`£ñ ªõÂkÀÍ÷ÂÀ]úÂ`÷Â0àà-õ –îÂ`£ñÂ`µîÂàjð !÷€VöÂÀòÂ@ê퀀ïÂ6ñ€¯üÂ@êíÂNíÂkýÂà±ùÂÀcùÂà|í€ññÂ`÷Â`…öÂðÀÀªèÂà‚ì Èð ¶óÂwûÂÀKÃ`Þü€Í÷€Dù xó ž÷€¯ü Œú€ë 1êÂBïÂ@äî€ßôÂ}úÂÀ óÂà«úÂ`ò€÷ð -õ ¤öÂÅî òÂ@Þï iëÂ`JëÂ`êúÂàˆë€¤éÂ@ºõÂ`ÁìÂÀ ó –îÂ`¯ïÂ}ú€¤éÂ@sìÂ@yë Cç ¢ìÂÀ^åÂ`µîÂ`ó€÷ð€bô€hóÂ÷ÂÀuöÂ`gû€÷ðÂÀ“ñ 1ꀒì !÷Â@OòÂ@7ö rôÂÀ@êÂBï€hóÂà:øÂlèÂ@¢ùÂÀ«íÂÀíâÂ`÷ã –î€åóÂÀ óÂ`2ï€P÷Âà:øÂ€hóÂ`¯ï€nòÂàRôÂ@äîÂàRôÂ@®÷ –îÂ`Íê¿ïÂà^ò !÷ÂÀKý¿ïÂ@êíÂ@ê [ãÂÀáäÂàùíÂÀò€¶æÂàÕóÂ`ó ZøÂ`8îÂ@ÀôÂ@+øÂ*óÂ@Øð ŒúÂÀàù€,ýÂÀ(îÂ@sìÂ@´ö 3ôÂ`¯ïÂ ÆæÂ@ê NúÂÀàùÂÀ{õÂÀ:ëÂÅîÂà(ûÂ@ÌòÂP.ÃàÏô rô€ëòÂÀÔûÂ@Oò³ñÂ@7öÂ`£ñÂ`¯ï ï€Í÷¡ôÂà¥ûÂÀ"ï QïÂèýÂÀEþÂôûÂ`öøÂÀôÂ@¨øÂ÷Âà«úÂà™ýÂÀuöÂ@aïÂàáñÂà¥ûÂ@ûÂàÛò ZøÂÀþô€nòÂ`>íÂ`ó€ëÂ@£äÂ@ÌòÂ@ŠýÂàÕó ÎïÂ`8îÂ@úÂàXóÂà‚ìÂôûÂ@sì ïô€ßô TùÂ`Uà-õ€ÿÂà½÷ÂàìÂÀuöÂÀñÂ@ÌòÂàpïÂ@%ùÂ` ò€¼å€\õ€†î€EäÂ` Ì ¿üÂÀñ§óÂ`DìÂ@+øÂà|í€÷ðÂÀLè€ý䀶æÂ ž÷ÂHîÂ@ú Øã cìÂå€ îÂÀ¥îÂ@é ºèÂÀÛåÂ@—æÂ@çÂ`¯ï€ìÂÀ.í ïÂÀ½ê€Ôá€9æÂ`tä ûòÂàÿìÂ@—æÂ€ýïÂ@äê äÂ@‘ç Òä iëÂ`nåÂà#çÂ@ðìÂÀ”Ü ŸâÂàÛòÂ@…é ?òÂ`ß瀆îÂ`ÁìÂrçŠã :Þ ãÂàèÂàêÂÀ«í å„äÂ@êíÂÀ‚ß³ñÂ@PÝ øèÂ`Þ üÝ€ÎâÂàMà äÂÀFéÂ`ýâ þçÂ`ÙèÂ`åæÂ´ÜÂ`ÞÂ@ê퀤é 4ß åÂféÂÀpâ òéÂ@£äÂàkÛ ¢ìÂ`àÂÀjãÂáÂ@üêÂ`€âÂàùíÂàšè =è  æÂ€?åÂ@êíÂÀvá (áÂ@PÝÂÀÝÂ@Øð sß ÌåÂÀjãÂàôÙ (á [ã€ì çÂ@ÍÝÂ@ÒñÂàAâÂ ÆæÂ IæÂ€!êÂTìÂ`Óé :Þ FÜÂàkÛ iëÂ`ëå®ÝÂÀß ØãÂ@…éÂÀ|àÂ`ÓéÂÀ/ØÂ€c߀oÝ Wî€'éÂ@©ãÂÀ|à ºè IæÂ øèÂ`ÇëÂ`Óé @ÝÂ`žÝÂàÊà€ëÂåÂ`VéÂ`’ßœà€KãÂàÊàÂ@èÂÀFéÂ@ ÔÂ@>àÂÀ@êÂ@ åÂ`hæÂ7Ü 7éÂ@8á à쀀ïÂ`Pê “ä OåÂ`täÂCÚ€KãÂÀ ÞÂà¸ãÂÀXæÂ@ÇÞÂÀ4ì€tñÂ@ÇÞÂ`÷ãÂ@yëÂ@…éÂÀ{õÂÀÃ逰çÂ@‹èÂÀÉè€ÈãÂÀ‚ßÂ@êÂà¸ãÂà#ç€-èÂûåÂ@çÂÀçãÂÀ”Ü ÒäÂ@,ãÂÀXæÂ€¤é Úí åÂ@öëÂàÿì€Ôá WîÂ`Íê€ýïÂÀpâ ™ãÂÀ«íÂÀóáÂÀjã€íÂ@JÞ £×Â@£äÂ`Dì ìêÂ`bçÂà¸ãÂ`ýâÂ`nåÂ`’ßÂàÂ@£ä€ªèÂÀFéÂ@µá üÝÂ@PÝ€?å ]í€Eä ÌåÂÀùà :ÞÂàAâ êàÂ@PÝÂ`!Ý€òÜÂ@ å€KãÂ`bç€iÞÂãé€Eä @ÝÂ`ëåÂä„ä ½ÝÂÀçãÂ@ åÂàkÛÂàAâ a․éÂàAâ€ïÂÀÚÂàÖÞ€Îâ®ÝÂáÂÀ‚ߊ〰ç íÕÂ@ åÂxæÂõæÂ@å Ÿâ ™ã€]àÂà;ãÂ@ëØÂ`˜ÞÂ`VéÂÀ Þ sßÂ@\ÛÂàeÜÂ1ÝÂ@£äÂ`ýâÂàÖÞÂ`ÇëÂàúØÂÀpâÂ@8áÂàYÞÂ@ÇÞÂàêÂÀ5×ÂCÚ€?å ÀçÂà¸ã€iÞÂ@PÝ 7é @ÝÂÀ/ØÂ€9æÂ ŸâÂ`nåÂ@t×€uÜÂ`¤Ü ÉÛ IæÂ@>àÂÀóá Àç Øã€æÞÂU×ÂÀváÂ`WÔÂÀŽÝÂÀùàÂÀÿ߀9æÂ€Eä€þÚ “äÂ`!ÝÂ%ßÂÀŽÝÂÀ½ê„ä ·Þ (áÂÀ|à FÜ€ Ù yÞÂáÂÀFéÂ@>àÂ@ßÚ jÖ üÝ€ÔáÂàÄáÂÀšÛÂÀ5×Â`àÂÀšÛÂ`¤ÜÂ`æÑÂ`à êà€-èÂ`˜ÞÂ=ÛÂ`ÞÂÀùà ØÂà•ÔÂ`ªÛÂ=ÛÂàÕ Ú€3çÂ@JÞÂÀ‚ßÂÀRçÂÀšÛ€ØÂ1ÝÂ@zÖÂÀ;Ö sßÂÀÊÓÂà­ÐÂ`!ÝÂ@ÓÂâÂ%ßÂâÂàÖÞ "âÂ`3Ú 7é uéÂÀpâ 4ß üÝÂÀ Ú …Ü ÏÚÂÀváÂ@VÜÂ`-ÛÂ`ÞÂ@æÂ —ٖᠱߠ7é€{Û uéÂ%߀ØÂ`¶ÙÂ7Ü óÔÂà›Ó€@ЀÚÂ`¤ÜÂâ€Èã€ÚàÂÀpâ€?å (á sßÂÀÜÂ@DßÂÀ‚ßÂàâÜÂ`žÝ€oÝ ØÂ màÂ`àÂÀ¥îÂ@©ãÂ`ýâÂ`°Ú ÉÛÂ@2â "â¨Þ€QâÂÀÝÂ@VÜÂáÂÞÕÂ`3ÚÂ@Áß  æÂà¦æÂà‚ì€iÞÂðÒÂà/å€WáÂÀŽÝÂ@&äÂÀvá åÂâÂÞÕÂ@VÜ€(ÔÂ@\ÛÂÀÿß d× OåÂÅîÂ@,ãÂàèÛÂà}ØÂ`€â€Îâ ´é yÞÂ`täÂ`iÑÂÌØÂàS߀QâÂ@2âÂÀD–Â÷À€œ—Á€®Á€A»Á€q³ÁûåÁÀEÂBïÁ€ÂâÂ@ÖÂ@ &€Ë$€¿&Â@š'€ã  :ÂÀê$Â@ &Â@øAÂ@™<Âå?€šAÂ@";ÂN€™VÂ2HÂ8GÂ@V\„dÂ@SÂ6qÂ@…i€Ôa€÷pÂÀdd€æ^ÂÀ±lÂ@jÂÀpÂ@—fÂè€Â€Îb‰xÂÀ‡s€lÂ@û‚ <€Â@{ÂÀÚz€VvÂãi€ÔaÂÀ°„Â@щÂ@û V†Â•v ­‚€>zÂà„ âŽÂÀýŒÂÀz€ñq€‘„ w‹Â²‰ÂàÚŠÂàÈÂ@NŠÂ@•“Âà˜•Â@–€I€C‘ ©ÂÀzÂ_‚ÂÀß‘Â^—Â@NŠÂ ŒÂÀhÂÕ˜Â:Â@›’Â`r‘ÂàŒ—ÂÀ&›Â`³›Â`é’ m— ޙÂàŒ—Â@ƒ– ēÂà˜•ÂÀb‘Âà—  ›ÂàßžÂ`~Â@w˜Â€™Â U›Âàñ›Â€™Â Â@Ö [šÂ€¨•Â`Ü©ÂÀU¨Â¥ ÂX˜ÂÀ Âà÷šÂ`¡žÂ@5£Â`¡žÂ v ÂÀ—ÂÀ¡Â`YªÂÀU¨Â€`¡Â@;¢Â™¢Â@ÊŸÂÀü¡Â j¢Â@”¨Â.ŸÂàÍ¡Â@¸¢Â`֪ եÂ`Ü©ÂÀg¥ÂÀ¨¯Â ½©Âà8¥ÂÀa¦ÂÀ… Â ¥Â@Ž©Â œ¤ÂÀº¬Âà©§Â@ó­Âì©ÂÀ‹ŸÂ€×¢Â-´Â@‚«ÂÀº¬Â€§ªÂÀ¨¯ÂÚ¬Â@p®Â@«ÂÀO©ÂÀ[§ÂÀ³Âà­Âà«Â@v­Â 4«Â@^±ÂÀ²Â@p®Â€±Â N±ÂÀÌ©Âþ¦Âà©Â€®Â $¸Â „¨Â þ³Âູ€è´Â€Ð¸Â û©Â€î³ÂÀZ¼Â¶²Â ~©Â 6µÂÇÄÂÀ¶Â@ɴ ú¾Âູ€è´Â†ºÂày¯Â@ɴ N±Â†ºÂ@v­Â 0¶ÂÀé¹Â F¨ÂÀ³Â@FµÂ`^¾Â H²Â@í®Â@··ÂÀÝ»Âà̶ xªÂ€S¸Â@.¹Â€ÄºÂ 3ÀÂ`RÀÂÀ~¶Â  ¼ÂàØ´Â€H¥ÂÀ1®Â`”µÂÀx·ÂÀ¶ÂÀ¨¯Â ýÈÂÀ1®ÂÀ„µÂÀãºÂ ¿³Â@(ºÂ }¾Â Ú¹Âñ½Â@™¼Â@ÎÈ€M¹Â ˜ÄÂ@“½ÂÀr¸ÂÀT½Â -ÁÂ@þÀÂ@(ºÂ€”€ ÀÂà%½Â€|ÆÂ`@ÃÂàrÅ ˜ÄÂàûà¶¿Â-´Âà7ºÂ`X¿Â ]¹Â@¼ÂàÀÂÀ`»Â€#ÀÂà¿Â ¾Â`«ÆÂ@iÄÂÀ6ÂÂPàeÂÂÀT½ÂÏ ¼¾Â ßÍÂÀƒÊ€ùÆÂ@ªÎÂÀN¾ÂÀËÂJÄ ÐÂÀ˾Â@øÁÂ@ìÃÂÀBÀÂ`4ÅÂ@ÎÈÂüÐÂêÓÂÀ§Ä E½Â‹Î€ÂÂÀ›ÆÂ Ë MÆÂ€²½Â€ŽÃÂ@ÎÈ€ˆÄÂÀÝ»Â`ÉÁ ¬ËÂ@þÀ w¿Â K¼Â@ÀÂà6ÏÂ@iÄÂÀ¹ÁÂÀ¹ÁÂÀ­Ã â ÄÂV bÍ€vÇ ¾È -ÁÂ@¼Â`uÏÂ2ÈÂJÄ †Ç tÊ ÇÂðÒÂt½Â@½Â ˜ÄÂ`Û¾Â@þÀ Ä€”ÂÂÀÇ žÃÂ`X¿Â€¬¾Â`óºÂ ÅÂÀ­ÃÂ@oàèÁÂÀ›ÆÂ€jÉ ›¹Â਼Â@àÅ€ÉÎÂÀ¡ÅÂàÀ žÃ©É #ÍÂ`iÑÂ`½ÃÂÀ0ÃÂ`X¿Â@™¼Â ”ÏÂ`þÍÂÀÊÂÀH¿Â@-ÎÂÀîÍ šÎ kÁ ¼¾ÂÀ›ÆÂ@¼ËÂÀ$Å /Ë ²ÊÂ`·ÄÂ@æÄ GÇ •ºÂ  ¼Â`“ʠĀRÍÂÀÆÂ YÄ€ À£ÊÂÀqÍ€XÌ tÊ€vÇ hÌ ÐÅ ]¹Â !ÃÂÀw̵ÇÂÀ ÉÂà6Ï€ùÆÂ@-ÎÂ`ÍÂÀÆÂ€ÂÂàÀ€»ÆÂ ¤Â€”€FÏÂÀkÎÂbÀÂà~ÃÂ`æÑ ŒÆÂ âÂÂ`ÃÂÂàŠÁÂ`(ÇÂbÀÂ@iÄÂ` ÌÂ,ÉÂ@EÊ AÈÂÀ•ÇÂ`¥ÇÂÁÅÂ@iÄÂÀ*ÄÂÀ•ÇÂ`Û¾ÂÀÆÂ€áÊÂ`"ÈÂDÅÂ8ÇÂ@-ÎÂ@ªÎ ñÊ ÅÂÀݻ \ÎÂ@æÄ€íÈÂÙÁÂ`"ÈÂÀ¡ÅÂ` ÌÂ@WÇÂ`¥ÇÂÀBÀ ¤ÂÂÀ¡ÅÂ`ìРÇÂ@ÈÉÂÀËÂà­ÐÂÐÂÀÜÐÂ@ÀÂÀYѩɠ)ÌÂÀÇÂÀqÍ ¦ÌÂ@t×Â`±ÅÂÀ$ÅÂ@ªÎ€;¼Â _ÃÂàõÄÂ@ìÃÂÌÂ@]ÆÂ ÇÑÂ@¼Ë€çÉÂ@æÄÂ@ÈÉÂÀ}ËÂ`iÑÂ@°ÍÂ@¼Ë ªÁ€” ȼÂàTÊ ýÈÂàÝÈÂ@°ÍÂ@QÈÂÀSÒÂÀÇÂà„ d×Â`Í€íÈ bÍ nËÂ`ËÂà¹Î vÔ€FÏÂ`¥Ç !ÃÂàxÄÂÀƒÊÂÀƒÊ ¦Ì °ÀÂ`oРÒ€4ÒÂ`þÍÂ@9Ì žÃ€áÊÂ`ÍÂà¹ÎÂ@ÚÆÂÀÈÂà×ÉÂàÀLÎÂà`ÈÂÀ0À|ÆÂ€±ÒÂÇÄ ˜Ä ýÈÂ`ËÂÀËÂàHÌ©ÉÂ@¼Ë ²ÊÂöÑ  ÑÂDÅÂ\ÁÂ@cÅÂ`QÕ€”ÂÂÀ}ËÂöÑ ÜÃÂàTÊ ¸É€ÛË hÌ РßÍ ‚Ò #ÍÂÀÖÑÂÀÈ ’ÅÂ@Õ€«ÓÂÀËÂ`(ÇÂ@¤ÏÂ`ìÐÂ@Ñ hÌÂÀwÌ€óÇÂ`™É€LÎÂ@ÔÇ ÐÂ`Â×ÂmÓÂ`ÍÂ`WÔÂ@°Í£Ê ÆÂ >ÓÂ@WÇÂÀ‰ÉÂ`ËÂÀ}Ë€|ÆÂ€ÛËÂà¡Ò zÉÂ@€ÕÂ@{ÁÂ`uÏ ¬ËÂÀ}ËÂ`Í€|ÆÂ šÎÂÀ$ÅÂàTÊÂ@ÈÉ †ÇÂà§Ñ GÇÂ@ÚÆÂ kÁÂ@ò ΀pÈÂÀÈÂ@ÚÆÂ`oÐÂÀ²×Â&ÊÂÀqÍ ¯ÕÂ`WÔÂàÑÊÂàÑÊ DÒÂàãÇ€LÎÂàHÌ ¾ÈÂÀ}ËÂ`"È€(ÔÂ@Õ ϵǠýÈÂ`{ÎÂà‰Ö—Ì€ÕÌÂà¡Ò €ÈÂ`4ÅÂÀeÏ ßÍÂ@ŒÓÂ@’Ò ÎÂ@°Í€«Ó JÑÂà¿ÍÂàãÇÂ@PÝ€ÖÂIÙÂ`“Ê€ÕÌ€‡ÙÂà ÖÂÀwÌÂ`?ØÂ 2ÕÂaÕ€^Ë»ÆÂ PÐÂà­Ð€RÍÂà‰Ö ÕÙÂÀÚÂ@Õ€·Ñ šÎÂ@3ÍÂàéÆÂàƒ× #ÍÂ@†ÔÂàZÉÂ`þÍÂàÅÌÂt½Â GÇÂÀÈÂÍÃÂÀâÏÂÀGÔÂ`øÎÂàûÃÂàNËÂÀ‰É AÈÂ@EÊÂ`.ÆÂ@ÎÈÂJÄ ¦ÌÂ@-ÎÂ@’Ò bÍÂ@3Í€vÇÂ@EÊ ÙÎÂÀ}Ë€·ÑÂà³ÏÂ@?Ë€RÍ€4ÒÂÀ¡ÅÂ@€ÕÂ@÷ÖÂÐÂÙÁÂ@àÅÂà`ÈÂÁÅÂÍÃÂÀÊ€½ÐÂüР Í ÐÂ`Í ÷É€5½Â ÊÆÂ \΀|ÆÂ`™É€Å \ÎÂàÓÂ@ÂÊÂÀ}Ë Π)ÌÂÀÈÂÀSÒ»ÆÂ ÄÇÂ@iÄÂà­Ð ¬Ë€¥Ô€RÍ€ØÂ >Ó€pÈÂ@°Í€¥ÔÂ`àÒÂ@°ÍÂàTÊÂÀGÔÂ`cÒÂ` ÌÂàTÊ /ËÂÀƒÊÂ=ÛÂðÒÂ@¶ÌÂ`±Å€ÛË€ÏÍÂ`ÊÂÀ É hÌÂàûÃÂà6Ï 5Ê€«ÓÂÀè΀A»ÂÀqÍÂ`Ë nËÂà¿Í ùÓ ÏÂ@EÊÂ`4ÅÂÀ˾ ÁÒ ²Ê ÎÂ`QÕ—Ì€·ÑÂ`WÔÂyÑ VÏ PÐÂÀšÛÂÀ¡Å»ÆÂà¿Í ßÍ Ï Ë #ÍÂ@3ÍÂÀ_РÙÎÂÀ$ŵǠ”Ï eÂÂÀ­ÃÂÀ_ÐÂ`-ÛÂ`àÒ€vÇÂàZÉÂÀ›ÆÂ ¸ÉÂ,ÉÂÀÜÐÂ`cÒÂàZÉÂ`ÍÂ@ÈÉÂ`ŸÈÂÀ_ÐÂ@]ÆÂ‹ÎÂРzÉ JѠȀ4ÒÂ`ÍÂàƒ× MÆÂ@3Í >ÓÂÀÐÒÂ`ÊÂ`oÐÂ@àÅ €ÈÂàBÍÂà*ÑÂË 5Ê€XÌÂ@ÓÂ`ŸÈÂàÂÂàÓÂÀ¡Å âÂÂÀ²×€:Ñ ÜàýÈ SÅÂà³Ï 5ÊÂ@¼Ë È ÜÃÂàËËÂ@ªÎÂ`:ÄÂà`ÈÂ`þÍ—Ì ñÊÂ@iÄÂ@À ËÂà§ÑÂÀ§Ä Ä  Í ÁÒ€²½Â tÊ ’ÅÂÌÂ@þÀ€óÇÂ`½ÃÂ@ ¿Â€ÏÍ€·Ñ /Ë€|ÆÂ€LÎÂà³ÏÂn¾Â`‡ÌÂà¿ÍÂ`þÍ€ÂÂ@QÈÂ@QÈÂ…ÏÂ`F zÉÂàÝÈÂÀÊ ¦ÌÂàËË AÈÂ2È»ÆÂ \΀çÉÂÌÂ@æÄÂàÅÌ€íÈÂ`àÒÂÀÐÒ ¬Ë VÏÂàËË€íȯÈÂ@EÊÂÇÄÂ2ÈÂ=Û hÌ€^ËÂÀúËÂ`{ÎÂ@WÇ€FÏÂsÒÂ`ÚÓ îÀ ô¿Â`ËÂsÒÂ`Ê€çÉ€çÉÂmÓÂàxÄ€ŽÃÂ@ÓÂà*Ñ€LÎÂÀ}ËÂ`ªÛÂà0ÐÂÁÅÂÀÐÒÂÀ6€ÿÅ€RÍ€:Ñ ÙΠ¦ÌÂ@¼Ë  ÑÂÀ_РÙÎÂÍÂàNË€«ÓÂ`.ÆÂÀ$ÅÂàïÅ€¥ÔÂ@¼Ë hÌÂÀAÕÂÀSҀŀFÏÂØÖÂ`¼ØÂÏÂÀôÌÂ`"ÈÂ`KÖÂ@¶ÌÂÀèÎÂà}ØÂ@VÜ€ˆÄÂà³Ï‘ÍÂ@¤Ï Ѐ× |Ó€FÏÂ`àÒÂöÑ€ÏÍÂðÒÂðÒÂêÓÂ@iÄÂ@ñ× ØÂàØÂ ÏÂÀÐÒÂÀ”Ü |ÓÂ`]ÓÂÀAÕÂ`Ë€4ÒÂ@¶Ì€‡Ù d× á×Â`uÏ ©ÖÂ@8áÂÀÄÔ ‚Ò€(ÔÂà¡Ò ΠÿÒ€±ÒÂ`àÒÂmÓÂ`iÑÂ`Ê Ò£ÊÂÀÛ€:ÑÂ`E×€øÛÂ…ÏÂàÜÝ€.ÓÂ`Â× Ò nË íÕÂÀÜÐÂ@ÈÉÂÀGÔ ”ÏÂ`KÖÂÀÜЀ{ÛÂ`WÔÂ`9Ù€ÃÏ€(ÔÂÀ/ØÂsÒÂ`€â€WáÂäÔÂ@EÊÂ>ÆÂ@zÖÂÀ²× ÍРÁÒ‹ÎÂ`¼ØÂ@÷Ö &×Â,É€.ÓÂgÔÂàËËÂà³ÏÂ@ÑÂ`ìÐÂ@ñ×ÂÀèÎÂ@Õ ßÍÂ`{ÎÂÏ ŒÆÂ ¦Ì ßÍ ÐÂÀÜÐÂÀ•ÇÂÀÖÑÂ`Ë íÕÂäÔ€dÊÂÀÖÑÂÀ#ÚÂàÊàÂà*ÑÂ`æÑ VÏ bÍ GÇÂà<ΠÎÂ`iÑ‹ÎÂÀâÏ€ÃÏÂÀ§ÄÂ`ìР©Ö ÇÑÂ@æÄÂ`oÐÂ`iÑÂ`ìÐÂ@˜ÑÂ@°Í ŽÐÂ`4ÅÂà­ÐÂüР>ÓÂ`òÏ€vÇÂ`ÍÂPàAȵǠŽÐÂ`Â×Â`™É zÉ€¥ÔÂà¿ÍÂàÅÌÂÀ;ÖÂ@¼ËÂà$ÒÂ&Ê 2ÕÂ@°ÍÂ` ÌÂÀúËÂDÅ ÖÄÂ`"ÈÂ`ÍÂ`ÎÕÂÀîÍÂà­ÐÂÏÂ@3Í nË€¥Ô€@ÐÂ@ ÔÂ`“Ê ÍЀ:ÑÂΠ5ÊÂ@ÂÊ€dÊÂà0ÐÂà~à\ÎÂà6Ï ÙÎÂ@bÚÂ@žÐÂàZÉ€LΠ€ÈÂ@ÑÂ΀.Ó 8Ô /ËÂ@àÅÂ`Ë )ÌÂ` ÌÂðÒÂÀk΀íÈ€ŸÕ  ÑÂÀwÌÂðÒ€×Â`3ÚÂËÂöÑÂàNËÂÀ*ÄÂÏÂàËË SÅÂbÀÂÀúËÂ@¤ÏÂ…ÏÂàÝÈÂ@àÅÂ`ìÐÂà›ÓÂ…Ï€ÕÌ€vÇ ¦Ì ¬ËÂà0ÐÂà¿ÍÂà›Ó »ÓÂ`F€·Ñ€½Ð€óÇ ØÂ@æÄÂ`æÑÂà³ÏÂ`ËÂ`ÍÂ`™É Р²ÊÂ@-΀ÛËÂ@ò †Ç€·Ñ ¦ÌÂÀYÑÂ`òÏÂà¿ÍÂ@¶Ì€RÍ€ÃÂÀúËÂÐÂ`ÉÂ`{Π€ÈÂà×É€ÂÂ@€ÕÂ`ÎÕÂÀYÑÂ ÊÆÂ€:Ñ ÆÂ`4Å ÏÂ@cÅÂËÂüÐÂÀâÏÂà<΀ÃÏ )Ì€.Ó€4ÒÂ@EÊ !ÃÂÀÇÂà¡ÒÂРЀìÝ šÎ£Ê hÌÂ@'Ï ˆÑÂÀeÏ !ÃÂ`ìР2Õ ‚Ò bÍÂÀ‰ÉÂÀôÌÂÐÂ`Â×ÂàŠÁÂPÀ^ËÂPÃÂVÂÂ@ÈÉÂ8ÇÂ@ŒÓÂ`ÍÂ@9ÌÂÀ‰ÉÂ@cÅÂÀèΠšÎ eÂÂÀÐÒÂ@øÁ ¸É vÔÂÐÂ`àÒÂ@-ÎÂ@-λÆÂà¡ÒÂà$ÒÂ@!РAÈÂÀ ÉÂÙÁÂÇÄÂ`øÎ€ÏÍÂàÂÂ@ÎÈ ˆÑÂÀkÎÂ@ÔÇÂ@-ÎÂyÑÂ@oõÇÂ@!ÐÂÀSÒÂ`uÏÂàZÉÂàHÌ ÙÎÂ`oÐÂ`æÑÂ@¶Ì€Å bÍ hÌÂà×É VÏÂ@!РùÓÂ,É ¬ËÂÀË€½ÐÂÀYÑ 5ÊÂ@'ÏÂ@-ÎÂÍÃÂ,É  ÑÂàlÆÂ€™Ö hÌÂÇÄÂÀ É€ùÆÂ€^Ë€ÃÏÂ`Ê ŒÆÂ VÏÂ@-ΠpÕ€XÌÂÀâÏÂ@¾ÂÀË€jÉ ”Ï€pÈÂ@ìÃÂ@Ñ€.ÓÂ@°Í€dÊ€@Р‚ÒÂsÒÂ@°Í šÎÂà­ÐÂà³ÏÂÀqÍ ;É ÐÅÂ@?ËÂ@]ÆÂ€4Ò ¦ÌÂ@]ÆÂ&ÊÂ`ÍÂ@u ˆÑÂsҠπ‚ÅÂàõÄ çÖ€ÉÎÂ`ÚÓ ÍÐÂàÅÌÂà¡Ò ÎÂ`uÏÂ`ÊÂÀ$ÅÂ@Ñ ÇÑ€óÇÂÀ ÉÂËÂ@9ÌÂÞÕÂ`àÒ€ÕÌÂ`oÐÂÀkΠ€ÈÂÀ*ÄÂ\Á zÉ€jÉÂ@žÐÂÀ‰É€(Ô \Π”Ï 5Ê ÎÂØÖÂ`FÂÂÀ_Р”Ï µÔÂÀÊ 5ÊÂ`àÒÂàõÄÂÀÊ ñÊ DÒÂÀîÍÂ`ÍÂ@bÚÂà‰ÖÂ`ªÛ 5ÊÂ2ÈÂ`ÎÕÂÀ}Ë€ÃÏÂÀÊÂ@ÂÊÂÀ‰ÉÂÀwÌÂäÔÂà*ÑÂ`æÑ€FÏ #ÍÂ@3ÍÂàËË ©ÖÂÀÜÐÂ@€ÕÂ@ÂÊ d× çÖ  Í »ÓÂÀMÓ€dÊÂ`ÔÔ—ÌÂ@¶ÌÂ@!ÐÂ@¶ÌÂà‰ÖÂà`È€{ÛÂ`ÍÂ@°Í€çÉÂàÝÈ€Ö \ΠhÌÂà6ÏÂÒ×Â`oÐÂÀÆÂà`È€FÏÂÀƒÊ€áÊÂà<ΠjÖ åÌÂ@žÐÂ8Ç€ÃÏÂÀâÏÂÀeÏ tÊÂ@ÂÊ 'ÂÂ&ÊÂ@¤ÏÂÀ ÉÂ@’ÒÂ`øÎÂ@-ÎÂÀÊ ”ÏÂ`oÐÂÀSÒÂ`ËÂ`cÒÂРÈÂ`{ÎÂ@ìÃÂ`ìЀ:ÑÂà$ÒÂ@ÈÉÂà`È ßÍ€“×ÂÀâÏÂàBÍÂÇÄÂ`þÍ€pÈ€“×Â@ÚÆÂ@9Ì åÌÂ`iÑÂ@¶Ì€LÎÂ@°Í åÌ ÄÇÂ@>à€(ÔÂ@QÈ åÌ €ÈÂ@Ó€íÈÂÀYÑÂÀ¸Ö 8ÔÂÀ›ÆÂ ÙΠÍÐÂ@àÅÂà³ÏÂà¡Ò€áÊ Ë )ÌÂàÔÂÀÜÐÂÀSÒ‹ÎÂà­ÐÂOØÂ žÃÂ@]ÆÂ@ªÎ€XÌ °À€dÊÂ`¥Ç ÓÏÂ`“Ê  ÍÂÀÜЀáÊÂ`Â× LÛÂÀ)ÙÂ@KÉÂàËËÂ`“ÊÂÀÈ #ÍÂ`Ë !ÃÂ@KÉÂÀAÕ£ÊÂà×É ҋ΀ùÆÂ€^ËÂàÕ tÊÂ@!ЀÉΠ’ÅÂÀ•ÇÂÀwÌ€4Ò‘ÍÂÀ›ÆÂàHÌÂÀ›ÆÂ ªÁ 5ÊÂÀȩɠGÇÂ@3ÍÂà­Ð¯ÈÂ@þÀÂ`"È ËÂàÝÈ€^ËÂ@ÎÈÂÀ‰É¯ÈÂà„ÂÂà0Р»Ó »Âà*ÑÂ@KÉ €È€ÉΠ!ÃÂ@KɵÇÂ` ÌÂÀ³ÂÂàœ¾Â ËÂÀèÎÂÀ‰ÉÂ@?Ë 9¿Â âÂÂ`oÐÂàœ¾ÂÀ³ÂÂÀ0àVÏ€XÌÂ`Ê ÷ÉÂ`:ÄÂÍàE½Â`Í€LΠñÊÂ@hÙÂ@KÉÂÀYÑÂÀ ÉÂ`]ÓÂÀúËÂ@°ÍÂÀ×¼Â`Û¾ÂàNË€ÅÂ@ÎÈÂ`FÂÂàûà|Ó€ÕÌÂöÑ ÙÎÂàûÃÂ`‡ÌÂ`ËÂ`(ÇÂ,ÉÂà³ÏÂàxÄÂ`Ë ÙÎÂà Á ýÈÂ@ÈÉÂÀkÎÂÀkÎÂÀwÌ€áÊÂ`±ÅÂ,ÉÂ@ÒÂ2ÈÂVÂÂÀMÓÂÀÆÂ`½ÃÂÀkÎÂ`Â× ÏÂ`¼ØÂÀÖÑ€«ÓÂüЀ¥ÔÂ`oÐÂ@¤Ï€çÉÂ`WÔ ÇÑÂ@ÑÂ@'ÏÂà›ÓÂÀÊÓÂÀMÓÂà$ÒÂðÒÂ@-΀·Ñ€"Õ‹ÎÂ`Í ùÓÂà³ÏÂà¹ÎÂÀ‰É µÔÂ@PÝÂ`æÑÂ@ÚÆÂ \ÎÂ@'ÏÂÀÜР÷É ‚Ò‹ÎÂÀîÍÂàÔ ¾È—Ì AÈÂà× ÓÏÂ2ÈÂÀèΠ¯Õ ˆÑÂ`ÍÂàHÌÂÀSÒÂà}ØÂ 2Õ ÉÛÂÀYÑÂà¡ÒÂà­Ð 8ÔÂÀ¦ÙÂÀÄÔÂàÕ åÌÂ…ÏÂà Ö‹ÎÂàÕ€çÉÂyÑ€ìÝÂ@÷ÖÂÀ¸ÖÂÀAÕÂÀ#Ú€½Ð€Ö€Ú€Ú€“×Â`¼ØÂ £× PÐÂäÔÂÀóáÂÌØÂ€ŸÕÂàkÛÂ@PÝ€{ÛÂ,ÉÂ@÷ÖÂÀÐÒÂà Ö ÇÑÂ`ìЀ™ÖÂ@\ÛÂÌ£ÊÂ@÷ÖÂ`¤ÜÂÀAÕÂ`3Ú ÇÑŠãÂàØÂ€“× @ÝÂ`Â× á×ÂÀÇ |Ó ØÂ€FÏ€4ÒÂÀâÏ€±ÒÂÀwÌÂÀ;Ö ßÍÂ@]ÆÂ ØÂà¡ÒÂà€ÕÌ€çÉÂà‰ÖÂ@žÐ€øÛÂ ÛØÂ 2Õ€ØÂ€uܨޠóÔÂÀAÕ ‚ÒÂ@t×€ŸÕÂ`KÖ€ØÂ€«ÓÂÀ)ÙÂà ÖÂOØÂ€KãÂ@ëØÂ€«Ó‘ÍÂÀ¸ÖÂ`!Ý RÚÂÀGÔ¢ßÂU×Â@t×Â@\ÛÂ+ÞÂ ÛØÂ ÿÒÂ@˜Ñ€òÜ€×ÂÀ²×Â`?ØÂ€ÚÂ@DßÂ`ÈÖ /Ë€±ÒÂ@ÇÞÂU× ©Ö€ÉÎÂÀ¦ÙÂ@žÐ RÚ &× ßÍÂà}ØÂ óÔÂäÔÂ`ÎÕÂ`cÒÂà}ØÂ@JÞÂÀôÌÂ@ëØÂà_ÝÂÀ¾ÕÂ@ÒÂÀÄÔ€:Ñ€4Ò—ÌÂ` Ì nË€@ÐÂàúØÂÀMÓÂ@°ÍÂ@ÑÂÐÂ@Ó tÊÂ@’ÒÂÌÂÀÖÑ€óÇÂ`É nË€ÏÍÂàfÇ 8Ô€ØÂÀÜÂêÓ€«ÓÂ@ÎÈ€™ÖÂÀ¸ÖÂ ÊÆÂàZÉÂÀGÔÂÀ¬ØÂ€(Ô€™Ö€·ÑÂyÑ€·ÑÂ`"ÈÂ@EÊÂ@WÇÂ`ŸÈ€4ÒÂ@ŒÓÂöÑ 8Ô—ÌÂ`"È€Ú ˆÑÂ`™É €ÈÂ@Ò ñÊÂÀwÌ RÚ ÐÂ@žÐ ΑÍÂ`àÒ bÍÂyÑ ÍÐÂ` ÌÂ`E×€(ÔÂà6ÏÂ`]ÓÂ@¤ÏÂØÖ€«Ó€±ÒÂ@÷ÖÂÀîÍÂ@¼Ë ¤Â‹ÎÂ`‡ÌÂyÑÂ`±ÅÂ`ÊÂÀkΠ;ÉÂ`àÒ ÏÂР¾ÈÂyÑÂðÒÂ@Õ åÌ ¶¿Â@iÄ€vÇÂ@¶ÌÂ@¶ÌÂÀ_РÐÂ@'ÏÂ@WÇ€óÇÂàÝÈ ÷ÉÂÀôÌ€¦¿ÂΠÇÂ@˜ÑÂ@3Í tÊ‘ÍÂ8Ç !àkÁ †Ç /ËÂàrÅ£ÊÂ@ÓÂ`4Å ”Ï€:Ñ€vÇÂà¡Ò DÒÂ`"È€½Ð tÊÂå¿Â€¦¿ÂàxÄ‹ÎÂ`ìÐÂ`?ØÂ@ÔÇÂ@¼ËÂàúØÂ€{ۯȠ Í hÌÂà6Ï€šÁ ÁÒÂàõÄÂPÃÂ` ÌÂ@¼ËÂ@ªÎ€RÍÂ@ÕÂ@QÈÂmÓ tʀŀ¥ÔÂJÄ µÔ ¬ËÂÁÅ AÈÂàNË€ÃÏÂ`ÎÕ€ÕÌÂ`ËÂ@¶ÌÂ`oÐÂà0РDÒ ùÓÂaÕÂ@3͋΀^Ë /Ë È #ÍÂàBÍ€@ÐÂ7ÜÂ@Ñ ÖÄÂàHÌ µÔÂàZÉÂ`ËÂÇÄ  ÍÂ@ÚÆÂÀ ÉÂ@ÈÉ ßÍÂ@ªÎÂðÒ€LÎÂÀâÏ ÎÂ@°ÍÂà×É >ÓÂÀ_Р‚ÒÂ`øÎ #Í€.Ó€ŸÕ ÏÂ`òÏÂÀ_ÐÂ@-΀jÉÂ` ÌÂ@ÇÞ€@ЀFÏ€.Ó çÖÂ@ëØÂà}ØÂ€¥ÔÂ@°ÍÂÀâÏÂÀÄÔÂ@!ÐÂàØÂ`ÉÂÀwÌÂÀÖÑÂyÑÂà¡ÒÂÀîÍÂÀGÔÂà³ÏÂàSß LÛÂ@žÐÂ`oÐÂÀ•Ç çÖ ”ÏÂ@˜Ñ€@ÐÂ@’Ò XÙÂÀšÛÂàkÛÂ@ÒÂÀ¸ÖÂ@ñ× bÍÂÀâÏÂÀ;ÖÂ@!РDÒÂ`3ÚÂ@ñ×ÂàwÙ ΀vÇ€iÞÂOØÂOØÂ`þÍ€½Ð ÛÂ@ÑÂ@-ÎÂ`KÖÂyÑÂ@ÈÉ ¯Õ€ˆÄ íÕÂ@ ÔÂ@'Ï€ÚÂÀ_РÃÜÂ`?ØÂÀîÍ€RÍÂ`ìÐÂ@nØÂÀîÍÂàÅÌ€(ÔÂÀÐÒÂ`WÔ JÑÂÎÂ`"È ÆÂgÔÂàÔ ÁÒÂ@ñ× ”Ï ¬Ë ŒÆÂ  ÍÂ`Â× —ÙÂ`øÎÂàéÆÂà•ÔÂàîÚ vÔÂà›Ó yÞ :Þ µÔÂ`àÒÂ`ÎÕÂ`†á ÇÑ PÐÂ`-Û€ ÙÂ@ŒÓÂêÓÂÀíâ ÙÂÀeÏÂà ÖÂàËËÂ`Â×€«ÓÂ@ßÚ å€(ÔÂÀÄÔ€¥ÔÂÀ”Ü Þâ€:ÑÂgÔÂÀ¾ÕÂàÔ»ÆÂÀ›ÆÂ@€Õ€“× ‚Ò€±ÒÂÀMÓ Û ÜÂ@ëØÂ ÐÂ@ëØÂ€(Ô µÔÂÀpâÂÀÊÂÀŽÝÂ@µáÂÞÕ€@ÐÂ`ÞÂ ÛØÂàwÙÂ@÷ÖÂðÒÂ@!ÐÂ@hÙÂà0ÐÂÞÕ€“×Âà›ÓÂà ÖÂàÔ€:ÑÂàîÚÂ`]Ó d×ÂsÒÂ`WÔ jÖÂÀÄÔÂ ÛØÂ`ìÐÂà›ÓÂ@bÚ€¥Ô€øÛ 2Õ€¥Ô€ÏÍÂ`WÔÂÀ¸ÖÂ`ÎÕÂÀYÑÂà}ØÂaÕÂ`¼ØÂÀAÕÂÌÂÐÂ@-ÎÂà*ÑÂÀ}Ë íÕÂðÒÂàÐßÂ`-ÛÂÀ/ØÂ ùÓ íÕ åÌÂ@÷Ö ¸ÉÂ`KÖÂÀâÏÂ@nØÂ€ÚÂ@˜Ñ ÒÂÀâÏ€{ÛÂöÑÂêÓ€XÌÂÀÐÒ€uÜÂ@žÐÂà•Ô #ÍÂäÔ€þÚÂ@zÖÂÀ¸ÖÂÀqÍÂà¿Í€(ÔÂÀ;ÖÂ@÷ÖÂ@!ÐÂàwÙÂaÕÂà6ÏÂ@÷Ö íÕÂ@ÕÂÀMÓÂÀYÑÂ@ÕÂ`!ÝÂ@ªÎÂ@’Ò€ÏÍÂÀZ¼Â ÈÂÀßÂ@ÍÝÂ@2âÂ`Â×Â@¼Ë 5Ê @Ý´ÜÂà¡ÒÂÀ¾Õ 8Ô |Ó€ØÂ€àßÂÀGÔÂ@¼ËÂà§Ñ€ØÂàqÚÂàôÙÂÌØÂ@nØÂ ½Ý€ÚÂÀ¬ØÂ &×  ÑÂàHÌ á×ÂÐÂà§ÑÂÒ×Âà×Â`˜ÞÂÀšÛ€cß màÂ`ñä ‚ÒÂ@ÁßÂüÐÂ`uÏÂ`ÔÔÂÀÝÂÞÕ JÑ Ú€"ÕÂΠ|ÓÂÀ¸ÖÂÀYÑ€@ÐÂ@˜ÑÂÀÐÒÂÀ;ÖÂ`Â×Â@ÕÂÀÊÂà$ÒÂCÚÂ`øÎ RÚÂ`æÑŠãÂ`ìÐÂ@nØÂÀAÕÂ@žÐÂà­ÐÂ`9ÙÂ`¶ÙÂ@ýÕÂÀYѠ݀"ÕÂrçÂàúØÂÀšÛÂàÊà ‹Û€4ÒÂ1ÝÂ@ÙÛÂÀ¸ÖÂ@3ÍÂÀùà€‡Ù€iÞ UäÂäÔÂCÚ VÏÂÀŽÝÂÀÚÂÀâÏÂÌØÂÀóáÂÀ|à€þڢ߀‡Ù ÉÛ  Í Ò€ìÝÂ`à ÉÛÂÀÝÂ@ýÕÂÞÕÂêÓÂÀÝÂ@»à€ Ù€ÚàÂàAâÂ@’Ò 8Ô€·Ñ ã Ý ^ØÂ€½ÐÂÀíâÂÆÙ DÒÂ`KÖÂ`™ÉÂÀ•ÇÂ`“ÊÂÀ_ÐÂ@˜ÑÂ`ËÂ`Â×Â@÷Ö ŽÐÂà­ÐÂ@\Û€±Ò€±Ò ÁÒ zÉ ÙÎÂ@zÖÂ@'ÏÂ…Ï JÑÂ`Â× "â  ÍÂ@þÀÂ@†Ô vÔÂ`Â×Â=Û–áÂ`ÈÖÂà‰ÖÂÀ Ú€‡ÙÂOØÂ€½ÐÂ@÷ÖÂðÒ >ÓÂ@µá ÙÂÀSÒÂàNË ^ØÂ€ÚÂÀ¬ØÂÐÂ΀ØÂÀ¦Ù ^ØÂ`KÖÂÀ ÞÂ@—æÂ`KÖÂÀ߀3çÂÀíâÂàÔœàÂ~åÂOØÂ`¼ØÂ …Ü€Ú ÕÙ äá€ØÂà 4ßÂà ÚÂÀˆÞÂàeÜÂ`'ÜÂ`¤Ü ½Ý ^ØÂ ŽÐ íÕÂÀ)ÙÂ` áÂÀdä uéÂàSßÂà¸ãÂàÊàÂÀܺۀڀ‡ÙÂàúØÂºÛ€æÞÂàôÙÂÀRçÂàÐßÂËíÂ`?ØÂ`ßÂ%߀ÚÂàAâÂÌØÂ ÝÂàÖÞ€àßÂàƒ×Â=ÛÂ@÷Ö µÔ ØÂ€ÖÂ1ÝÂàƒ×Â`ÎÕÂà}ØÂ ‹ÛÂØÖ ãÂÀóá€øÛ´Ü pÕÂ@\ÛÂàÕÂàeÜÂÞÕÂ@DßÂ`E×€¼å ,Ö¨Þ¿ïÂ`€â€Ôá€oÝÂÀkÎÂ ÛØÂ ØÂ ½ÝÂ@ÓÜÂÀ”ÜÂ@ëØÂ€òÜÂàúØÂ`Â× ÿÒ ÝÂÀ”ÜÂ@&äœà ÃÜÂ`ßÂ`Â× Ü LÛÂlèÂ@PÝÂàÊà Òä®ÝÂÀ”Ü £×ÂàÖÞ êàÂ@©ã€Âä ÃÜ öÞÂÀÐÒ ½ÝÂà‰ÖÂÀÛÂ`cÒ äáÂ`bçÂÀRçÂ@‘ç€ÈãÂ`÷ã Øã€9æÂ%ßÂ`åæÂàôÙœàÂÒ×Âà¸ãÂ`€â ]í€-èÂ@©ãÂÀÕæÂ`täÂ@»à ÝÂÀ‚ß ÃÜ "âÂÝêÂ@JÞÂ@»à€ªè aâÂ`ßç€(ÔÂ`3ÚÂÀáäÂÀdä€WáÂÞÕÂÀ#ÚÂàèÛÂ@ÙÛÂ@žÐÂ@ýÕ Ü ™ã ¯ÕÂÀÝÂàGá êàÂàÔ sß–á ãÂ@ÍÝÂÀ#ÚÂÀ¬ØÂ@nØÂ`ÚÓÂ`?ØÂ µÔÂà× ÏÚ ”Ï çÖÂ@\ÛÂÀÛÂàÜÝ 8Ô€ÃÏÂÀSÒ ,ÖÂ@3ÍÂ`ÈÖÂÀváÂ@ÍÝÂ+Þ …ÜÂ`ýâÂàšèÂàØÂÀÊÓÂ`øÎ ÜÂ`žÝÂ@bÚ RÚÂÀ¾Õ µÔ pÕ€‡ÙÂ`ÞÂÀ‚ßÂ`ÔÔÂÀÐÒ€™ÖÂÀ;ÖÂ@÷ÖÂàqÚÂÀ¾Õ ½Ý ÕÙÂ…ÏÂà¹ÎÂàôÙÂÀGÔÂ`9ÙÂàÔ€×Â@ÒÂaÕÂ@ÍÝ sßÂàÕÂÆÙÂ@ëØÂOØÂ@‹è çÖÂÀ¸ÖÂÀîÍÂCÚÂ`E×€‡ÙÂgÔÂÀÖÑÂ`QÕÂxæÂ Oå ÕÙÂ@!ÐÂàkÛÂà­Ð ,ÖÂ`QÕÂ@Áß óÔ ÇÑ pÕÂ@JÞ€ÚÂ@ëØÂ`QÕ€ÚÂ`ýâÂÀ#Ú€]à @ÝÂà¡ÒÂ@˜ÑÂ@ñ×ÂgÔÂàÕ€uÜ Àç–á äá (á @Ý FÜÂà¬åÂàeÜÂà­Ð yÞÂ`à —ÙÂCÚ€‡ÙÂ@åÙÂ@ñ×ÂOØÂ€4ÒÂU×€þÚÂ@!ÐÂàÊàÂÀAÕ  ÑÂà¹ÎÂ@ýÕ (á Ú€àß pÕÂÀ)Ù´ÜÂ@Ó yÞÂ` Ì pÕ £×Â@t×Â@'ÏÂ@ÓÂ@ŒÓÂ`·Ä ÍЖáÂ`øÎ )Ì ÿÒ€{Û€ ÙÂaÕÂ`þÍ ØÂ ÛÂaÕÂÀîÍÂà¡ÒÂ`uÏ á×—ÌÂà}ØÂ€ìÝÂà ÖÂ@]ÆÂ€ŸÕÂÀ)Ù ÁÒ ½ÝÂ@åÙ ¬ËÂÒ×Â@ßÚÂ`ÚÓÂ+Þ ‘ÚÂU×Âà<΀·Ñ ¬ËÂ@ÑÂCÚÂÀ/ØÂÀÜÂÀSÒÂ@!РPÐÂà ÖÂÀÊ ÕÙÂà¿Í€4Ò µÔÂ@ªÎÂ@zÖ 8ÔÂÀ¬ØÂ ŽÐ€Ú ÚÂ`ÔÔÂ`?ØÂ@EÊÂ`QÕÂaÕ ¸ÉÂÏÂÀÊÓ ,Ö€«ÓÂÞÕÂÀ}ËÂÀ²× ÐÂÞÕÂÀÊÓÂmÓ ùÓÂ`ÔÔ çÖÂ`ÚÓ |ÓÂ`ÎÕÂÀÖÑ ÙÎÂàÔÂÌÂ`ËÂÌØÂ`9Ù‹ÎÂ@ýÕÂ@ýÕ >Ó€ØÂÀÈ€ŸÕ ÐÂêÓÂàÓ€RÍÂ`9Ù Ï DÒÂÀÊÓÂ@¼ËÂÀíâÂ@-΀Ö ÙΠvÔ€½Ð  ÑÂÀGÔ «à‘ÍÂêÓ€(ÔÂCÚÂäÔÂàÐßÂÀÚÂ@ÓÜÂàƒ×ÂàôÙÂ@˜ÑÂÀwÌ XÙ€×€ØÂ@ÓÂà•ÔÂàÕ€"ÕÂàîÚÂ`“ÊÂ@nØÂOØÂ€ò܋΀@Ѐ·Ñ€"ÕÂ@ÓÜ€oÝ€iÞ RÚÂÀÐÒÂ@Ñ 8ÔÂÀAÕ (áÂØÖÂÀÊÓ šÎ çÖÂÀ Ú€{Û ^ØÂ çÖÂÀMÓ€×Âà•ÔÂ`iÑ DÒ ^ØÂà•Ô€"ÕÂà¹Î€4ÒÂÀSÒÂ`KÖÂ`WÔÂ ÛØÂüÐÂÀMÓÂ@÷ÖÂàrÅ 5ÊÂ`WÔÂÀGÔÂ@€Õ€dÊ€ ÙÂÀYÑÂÀ;ÖÂÀ”ÜÂ`¶ÙÂÀ;ÖÂà¡Ò€.ÓÂ…Ï ŽÐÂ@ñ×€:ÑÂ`KÖÂ@ÓÜÂ`Â× óÔÂ`ÎÕ€àßÂ`Ë€‡ÙÂ@bÚÂÀkÎÂÞÕÂU×Â@ ÔÂÀ ÞÂà_ÝÂ@ÍÝÂ`QÕÂÀÄÔÂ@Õ´Ü ©ÖÂÀ#ÚÂ1ÝÂÌØÂ ÜÂOØÂ@hÙÂà*ÑÂ@Ó 8ÔÂ,É€ ÙÂ`?ØÂ@t×€@РùÓ óÔÂ@ÒÂ@˜ÑÂà*ÑÂÀúËÂêÓÂ@nØÂ@?Ë  Ñ d×  ÍÂàèÛ€“× ÙÎÂ`Í £×Â@ÁßÂàâÜÂ`ÎÕ€‡ÙÂyÑÂ@ÕÂ@°Í ÉÛÂØÖ€«ÓÂÀSÒÂàBÍÂÀùàÂÀ)ÙÂ@˜Ñ ùÓÂÀÜÐÂÀˆÞÂ@Ò€4Ò ²Ê 2ÕÂà× vÔÂ`™ÉÂ@9ÌÂàÕ PÐÂ@ÑÂU× ^ØÂ`E×Âà›ÓÂÀYÑ€RÍÂÀeÏÂ`ìР/Ë€™Ö€4ÒÂÀYÑ€uÜÂÀ;ÖÂ@¤ÏÂäÔ€ØÂ`WÔÂsÒÂà‰Ö€ ÙÂ@¤ÏÂÀÖÑ bÍÂäÔ€"Õ€‡ÙÂðÒÂ`¼ØÂÀôÌÂDÅ€“×ÂÀYÑÂà¹ÎÂà6Ï ÙÎÂÀ#ÚÂ`-ÛÂÌÂÀÜР!ÃÂ`òÏÂ`KÖÂà¡ÒÂÀÜРAÈÂ`æÑÂà¹Î€:Ñ šÎÂU×€^ËÂàãÇ ¯ÕÂÀùà á× \ÎÂ@¼ËÂ@zÖÂÌÂOØÂà¿ÍÂ@-ÎÂ@Ó€«ÓÂàÅÌ€ÚÂà× ”ÏÂÀîÍÂ`QÕ‘Í€¥ÔÂÀ¸ÖÂÀÜÐÂCÚ ØÂ€(Ô ÈÂÀGÔÂÀYÑÂà­ÐÂÐÂà§Ñ tÊÂ`]ÓÂà¿ÍÂàúØÂ )Ì Ë ÓÏ @ÝÂ`Í VÏ€@ÐÂ`ìЀÕÌ 5ÊÂà§ÑÂà¡ÒÂaÕ á×ÂàØÂ pÕÂà¿Í€FÏÂ@˜ÑÂ`ÊÂÀÜÐÂÀ§Ä€ØÂàNË€ ÙÂà¹Î—Ì€"ÕÂ@ÚÆÂ€4ÒÂÀÊÓÂàrÅ€«Ó ¬ËÂ@Õ€@ÐÂÀqÍÂÀâÏÂÀ¡ÅÂÀÈ€^Ë€¥Ô€4ÒÂàÅÌ óÔÂà³Ï žÃ€ÃÏÂðÒÂ@?Ë‘ÍÂ@?Ë€ÕÌÂàTÊÂÀÄÔ pÕ ÏÚÂ`ÚÓ ¦ÌÂ@VÜÂà ÖÂ`̀ŠçÖÂÀôÌ ÓÏÂ@'ÏÂÀGÔ©ÉÂÀîÍ MÆÂÀSÒÂÀSÒÂ@˜ÑÂÀqÍÂ@÷Ö /ËÂà<ÎÂÀ_ÐÂüРbÍ€FÏÂ@VÜ€@ÐÂÀ;ÖÂ@¶ÌÂüР¦ÌÂà›Ó óÔ€«ÓÂ@Ò€4ÒÂ@t×Â@WÇÂÁÅÂ@ÂÊÂ&Ê hÌÂ@ÑÂàÕÂÀúËÂà¿ÍÂ` ̣ʠöÞÂ`cÒ Πå̯ȀŸÕ€½Ð pÕÂà¹Î PÐÂàÝÈ |ÓÂÀ›ÆÂ€±Ò ÕÙÂÀúËÂyÑ 2ÕÂà0ÐÂÀMÓ ØÂyÑ Å bÍ ŽÐÂà<΀ÃÏ€ŸÕÂà ÖÂ@ýÕ€FÏÂÀSÒ 8ÔÂ@'ÏÂ@-΀vÇ åÌÂàNË ùÓ hÌÂ`]ÓÂàîÚÂà›Ó€RÍÂÀ)ÙÂÍ€×ÂgÔ µÔ€ ÙÂà›Ó ¯ÕÂÀƒÊ ÙÎÂ`ÎÕÂ`KÖÂ`æÑÂÀË µÔ zÉ ^ØÂ jÖÂàÅÌ ÐÂÀ/ØÂ óÔÂÀYÑ—ÌÂÀšÛÂÀÄÔ íÕ ÿÒÂ[Ö bÍÂàÑÊ )ÌÂ@¤ÏÂäÔÂ`{ÎÂ…ÏÂ@ÕÂÀá䀱ÒÂ@KÉÂà Ö |ÓÂ@˜ÑÂÀÖÑ ‘ÚÂ@hÙ µÔÂ@ªÎÂà0Р‚Ò Ù΀"ÕÂ@Ò #Í€øÛ —Ù ÿÒÂÀÖÑ ŽÐÂ`þÍ€ PÐÂ`ìÐÂOØÂ@ ÔÂ@ÎÈÂ`òÏÂ`þÍ ßÍ 8ÔÂ@ÎÈÂ@ÓÜÂgÔ€áÊÂàZÉÂÀËÂÀ5× ÜÂmÓ —Ù \ÎÂ@'ÏÂ@ªÎ çÖÂ@’Ò )ÌÂà×Â@t×Â@bÚÂÀ²×€‡ÙÂ7Ü ÃÜ …Ü€.ÓÂ`ÞÂÀ¸ÖÂà*ÑÂ`ÚÓÂ`3ÚÂÀÄÔÂàúØÂØÖÂ@’Ò ©ÖÂIÙ ÏÂöÑÂàwÙ€«Ó€ØÂЀØÂ`ËÂÀ‰É€iÞÂÀkΠÙ€.ÓÂ@÷ÖÂàwÙÂàeÜÂÀ#ÚÂÀ;ÖÂ`3ÚÂàâÜÂöÑÂ`Ê vÔÂ+ÞÂIÙÂàØÂàÕÂ@,ãÂàôÙÂ`ÔÔÂ`òÏÂÀjãÂÀÚÂ`uÏ€óÇ jÖ :Þ íÕÂ@nØÂ@ÓÜÂ`ªÛ¢ßÂ@ßÚÂÀ#Ú |ÓÂaÕ vÔÂ@ÒÂOØÂ=ÛÂàBÍÂÀAÕÂ@ñ×Â`3Ú¨Þ ðßÂÒ×Âà­ÐÂ`ìÐÂ@ñ×€ÏÍ )ÌÂàÔÂàÕ »ÓÂà_Ý ˆÑÂ@'Ï€LÎÂ`iÑ VÏ ¯Õ€(ÔÂ&Ê€½ÐÂÀ¾Õ JÑ€iÞÂ`9Ù ÚÂ`Ë ëË RÚ€ØÂ`ÞÂmÓÂ`?ØÂÁÅÂ`‡ÌÂà•ÔÂÀqÍÂ`òÏÂ@t× çÖ€.Ó€.Ó Û ¬Ë ÍРtÊÂÀ_Ѐ½ÐÂàÅÌÂ`oÐÂÀÜР^ØÂ á×ÂÀeÏÂÀwÌÂ@ÂÊ çÖÂ@?Ë€dÊÂ`øÎÂ`oЀ^ËÂÀèΠFÜ ‚Ò€ØÂÀ ÚÂ`°ÚÂ@EÊÂ@!Р¯ÕÂË€ÚÂ=Û :ÞÂ`ÚÓÂÀkÎÂ[ÖÂ+ÞÂ@€Õ óÔÂà6ÏÂÀMÓÂÀeÏ ¦Ì€FÏ€×Â`Ê ÇÑÂ@3ÍÂÀH¿Â`ŸÈÂU×€.Ó€ÉÎÂÀôÌÂ`ÍÂ`òÏ€½ÐÂgÔÂäÔ  Í £×Â@ñ×ÂàqÚÂÀ¾Õ 8ÔÂÀŽÝÂCÚÂ`]ÓÂ@'ÏÂsÒÂ@åÙ ÇÑÂ`E×€ÛËÂ@ªÎÂ`±ÅÂÀ¹ÁÂ`QÕÂ`æÑÂ@3ÍÂ ÊÆÂ€‚ÅÂÀÐÒÂ`cÒ Ò ßÍ 8Ô€:ÑÂÍ ;É€ÏÍÂÀÐÒÂØÖÂ`Ë€@РÎÂÀGÔ€(Ô \ÎÂ@?ËÂ`òÏÂÀ}ËÂ@¶ÌÂ`ÎÕÂ`ÞÂÀ¦ÙÂ@zÖÂÀ_РÇÑ ÓÏ€ÏÍÂÏÂàïÅÂà¿Í hÌÂ@žÐÂà§Ñ€ŸÕ‘ÍÂÀÛÂÀ)ÙÂ`øÎÂÀkÎÂ@ÎÈÂ@ÀÂà ÖÂ`ÃÂÂ`ËÂ`ÍÂ@¤Ï &×Â`òÏÂ`ÔÔÂÀÈ€½Ð€íÈÂ`Ê ‘Ú ”Ï \ΠØÂÀMÓÂ`ÍÂ`ËÂÀwÌ šÎ€¥ÔÂÀ/ØÂ ÿÒ€«ÓÂ…Ï JÑÂ`ÈÖÂ@Ñ€‚ÅÂ@¼Ë€øÛ€XÌÂ`ËÂJįȠ\ÎÂ@-ÎÂÀÄÔ  ÑÂ@†ÔÂ@åÙÂà}ØÂ@°ÍÂà<Π€ÈÂÀîÍÂÀÊÓÂ@!Р\ÎÂàúØÂ /ËÂ@bÚÂàÔÂ@?Ë  ÑÂsÒÂ@PÝÂ@†ÔÂà¹ÎÂ`Â×ÂÀÜЀXÌ€ÕÌ \ÎÂÀÜÐÂ@PÝ€Ú€iÞÂ@?Ë€±Ò€"ÕÂ`«ÆÂ ÁÒÂ`þÍÂÀ¦ÙÂÀÜÂÀÄÔ ¯ÕÂ@-ÎÂ`cÒ ÓÏ )Ì íÕÂ@žÐÂ@?Ë ØÂ@hÙÂà§ÑÂÀè΀“×ÂØÖÂàÑÊ€LÎÂà›ÓÂ`ÍÂÀqÍÂÐÂ@÷ÖÂÀÊÂÀÐÒÂà$ÒÂà³Ï ©ÖÂ΀±ÒÂÀMÓ€«ÓÂ`òÏ ‚Ò çÖ€4ÒÂÀ;ÖÂ=ÛÂ@ÂÊÂmÓ ÇÑÂ@nØÂ@ëØÂ`E× »Ó šÎ€‡ÙÂà¡Ò€^ËÂ@t×ÂÀ5× £×Âà5äÂ`¼ØÂÀšÛÂyÑÂ`É€LÎÂà_ÝÂ@÷ÖÂàîÚÂÀGÔÂ`KÖÂÀ²×Â`Â× &× Ü «àÂÀ¸ÖÂ`?ØÂaÕ 〷Ѡ8ÔÂÆÙÂ`KÖ€"ÕÂ@Ó íÕœàÂà*ÑÂ@€Õ 8ÔÂ`ìÐÂ@ÒÂ@ªÎ RÚ€4ÒÂ@?ËÂ@†ÔÂÀËÂ@Ò ‹ÛÂàSß yÞ Ú ”Ï vÔ ©Ö ÏÚ€ÖÂàËË€¥ÔÂàÕ "âÂ`WÔÂàYÞÂÀMÓÂ`{΀LΠ@ÝÂ`{κÛÂ`]ÓÂ`ÍÂÀ¦Ù 8Ô £×Â@ÓÂ`Â×´Ü #Í ØÂ@¼ËÂÀÊÓ &×Â@¤ÏÂ`ªÛ€ÃÏÂ`ÈÖÂ`ÔÔÂà6ÏÂΠ”Ï DÒÂà‰Ö bÍÂ@ßÚÂÀAÕ€áÊ ÐÂ`ÈÖÂ@ÕÂÀÄÔ€™ÖÂÌØÂÀ²×Â@žÐÂ`uÏÂyÑ‘ÍÂàÝÈÂÀ/ØÂà‰ÖÂ@PÝÂðÒÂ@÷Ö€LÎÂÀÜЀ™ÖÂÀYÑ 2Õ¯ÈÂU×Â@†Ô d×—ÌÂÀwÌÂ`Í€oÝÂÀÐÒÂ@?ËÂÀqÍ€ùÆÂ€íÈÂàÑÊÂ2ÈÂÀúËÂ@˜ÑÂÀÊÓ€™ÖÂÀSÒÂ…Ï ÁÒ ¦ÌÂ@ŒÓÂàÑÊÂ`oÐÂ@ŒÓ tÊ€±ÒÂÀ¾ÕÂ[Ö€4Ò ‚Ò d×Âà•ÔÂÀ²×Â@ÕÂ@ Ô€çÉÂà¿ÍÂU×ÂЀ±ÒÂà*ÑÂ`3Ú€L΀ÏÍÂÀkÎÂ`]ÓÂÏ€"Õ ‘ÚÂ@!ÐÂÞÕÂ`oÐÂ@€Õ #ÍÂ`¼ØÂ ‘ÚÂÌÂÀYÑÂ`Â× ÐÂà0ÐÂËÂÀSÒÂÀ}ËÂ@˜ÑÂ`3ÚÂ`KÖÂàØÂTREEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@y (stimfit-0.14.11/src/pystfio/pystfio.h0000755000175200017520000000131112472345762014427 00000000000000#ifndef _PYSTFIO_H #define _PYSTFIO_H #include "../libstfio/stfio.h" #include #define array_data(a) (((PyArrayObject *)a)->data) #if PY_MAJOR_VERSION >= 3 int #else void #endif wrap_array(); stfio::filetype gettype(const std::string& ftype); bool _read(const std::string& filename, const std::string& ftype, bool verbose, Recording& Data); PyObject* detect_events(double* data, int size_data, double* templ, int size_templ, double dt, const std::string& mode="criterion", bool norm=true, double lowpass=0.5, double highpass=0.0001); PyObject* peak_detection(double* invec, int size, double threshold, int min_distance); #endif stimfit-0.14.11/src/pystfio/stfio_neo.py0000644000175200017520000000305112277771204015115 00000000000000""" Adapter to represent stfio recordings as neo objects Based on exampleio.py and axonio.py from neo.io 08 Feb 2014, C. Schmidt-Hieber, University College London """ # needed for python 3 compatibility from __future__ import absolute_import import sys import numpy as np import stfio def neo2stfio(neo_obj): """Convert neo object to stfio recording. Restrictions: * Only converts the first block * Assumes that the sampling rate is constant throughout segments * Assumes that we have the same number of channels throughout segments * Assumes that the channel units do not change Usage: >>> import neo >>> neo_obj = neo.io.AxonIO("filename.abf") >>> import stfio >>> stfio_obj = stfio.neo.neo2stfio(neo_obj) >>> assert(stfio_obj[0][0][0] == neo_obj.read()[0].segments[0].analogsignals[0][0]) """ blocks = neo_obj.read() if len(blocks) > 1: sys.stderr.write("Warning: Only the first block" + "of this neo object will be converted\n") reference_signal = blocks[0].segments[0].analogsignals nchannels = len(reference_signal) rec = stfio.Recording([ stfio.Channel([ stfio.Section(np.array(seg.analogsignals[nc], dtype=np.float64)) for seg in blocks[0].segments ], reference_signal[nc].units.dimensionality.string) for nc in range(nchannels) ]) rec.dt = float(reference_signal[0].sampling_period.rescale('ms')) rec.xunits = "ms" return rec stimfit-0.14.11/src/pystfio/pystfio.i0000644000175200017520000003313512475053163014430 00000000000000%define DOCSTRING "The stfio module provides functions to read/write data from/to common electrophysiology file formats" %enddef %module(docstring=DOCSTRING) stfio %{ #define SWIG_FILE_WITH_INIT #include #include #include #include #include #include #include "./../libstfio/stfio.h" #include "./../libstfio/recording.h" #include "./../libstfio/channel.h" #include "./../libstfio/section.h" #include "pystfio.h" static int myErr = 0; // flag to save error state %} %include "../stimfit/py/numpy.i" %include "std_string.i" %include "exception.i" %init %{ import_array(); PyDateTime_IMPORT; %} %define %apply_numpy_typemaps(TYPE) %apply (TYPE* IN_ARRAY1, int DIM1) {(TYPE* invec, int size)}; %apply (TYPE* IN_ARRAY1, int DIM1) {(TYPE* data, int size_data)}; %apply (TYPE* IN_ARRAY1, int DIM1) {(TYPE* templ, int size_templ)}; %enddef /* %apply_numpy_typemaps() macro */ %apply_numpy_typemaps(double) class Recording { public: Recording(); /* %feature("autodoc", "The sampling interval") dt; double dt; %feature("autodoc", "File description") file_description; %feature("autodoc", "The time of recording") time; %feature("autodoc", "The date of recording") date; %feature("autodoc", "Comment on the recording") comment; %feature("autodoc", "x unit string") xunits; %feature("autodoc", "The date and time of recording") datetime; std::string file_description, time, date, comment, xunits; PyObject* datetime; */ }; class Channel { public: /* %feature("autodoc", "Channel name") name; %feature("autodoc", "y unit string") yunits; std::string name, yunits;*/ }; class Section { }; %exception Recording::__getitem__ { assert(!myErr); $action if (myErr) { myErr = 0; SWIG_exception(SWIG_IndexError, "Index out of bounds"); } } %exception Channel::__getitem__ { assert(!myErr); $action if (myErr) { myErr = 0; SWIG_exception(SWIG_IndexError, "Index out of bounds"); } } %exception Section::__getitem__ { assert(!myErr); $action if (myErr) { myErr = 0; SWIG_exception(SWIG_IndexError, "Index out of bounds"); } } %extend Recording { Recording(PyObject* ChannelList) : dt(1.0), file_description(""), time(""), date(""), comment(""), xunits("") { if (!PyList_Check(ChannelList)) { std::cerr << "Argument is not a list\n"; return NULL; } Py_ssize_t listsize = PyList_Size(ChannelList); std::deque ChannelCpp(listsize); for (Py_ssize_t i=0; i(argp1); ChannelCpp[i] = *arg1; } // Note that array size is fixed by this allocation: Recording* rec = new Recording(ChannelCpp); return rec; } ~Recording() {delete $self;} double dt; std::string file_description; std::string time; std::string date; std::string comment; std::string xunits; PyObject* datetime; Channel* __getitem__(int at) { if (at >= 0 && at < (int)$self->size()) { return &(*($self))[at]; } else { myErr = 1; return NULL; } } int __len__() { return $self->size(); } %feature("autodoc", "Writes a Recording to a file. Arguments: fname -- file name #ifndef TEST_MINIMAL ftype -- file type (string). At present, only \"hdf5\" is supported. #else ftype -- file type (string). At present, \"hdf5\", \"gdf\", \"cfs\" and \"ibw\" are supported. #endif // TEST_MINIMAL verbose-- Show info while writing Returns: True upon successful completion.") write; bool write(const std::string& fname, const std::string& ftype="hdf5", bool verbose=false) { stfio::filetype stftype = gettype(ftype); stfio::StdoutProgressInfo progDlg("File export", "Writing file", 100, verbose); try { return stfio::exportFile(fname, stftype, *($self), progDlg); } catch (const std::exception& e) { std::cerr << "Couldn't write to file:\n" << e.what() << std::endl; return false; } } %pythoncode { def aspandas(self): import sys import numpy as np has_pandas = True try: import pandas as pd except ImportError: has_pandas = False if has_pandas: chnames = [ch.name for ch in self] channels = np.array([np.concatenate([sec for sec in ch]) for ch in self]) date_range = pd.date_range(start=self.datetime, periods=channels.shape[1], freq='%dU' % np.round(self.dt*1e3)) return pd.DataFrame(channels.transpose(), index=date_range, columns=chnames) else: sys.stderr.write("Pandas is not available on this system\n") return None } } %{ double Recording_dt_get(Recording *r) { return r->GetXScale(); } void Recording_dt_set(Recording *r, double val) { r->SetXScale(val); } const std::string& Recording_file_description_get(Recording *r) { return r->GetFileDescription(); } void Recording_file_description_set(Recording *r, const std::string& val) { r->SetFileDescription(val); } const std::string& Recording_time_get(Recording *r) { return r->GetTime(); } void Recording_time_set(Recording *r, const std::string& val) { r->SetTime(val); } const std::string& Recording_date_get(Recording *r) { return r->GetDate(); } void Recording_date_set(Recording *r, const std::string& val) { r->SetDate(val); } const std::string& Recording_xunits_get(Recording *r) { return r->GetXUnits(); } void Recording_xunits_set(Recording *r, const std::string& val) { r->SetXUnits(val); } const std::string& Recording_comment_get(Recording *r) { return r->GetComment(); } void Recording_comment_set(Recording *r, const std::string& val) { r->SetComment(val); } PyObject* Recording_datetime_get(Recording *r) { struct tm rec_tm = r->GetDateTime(); if (rec_tm.tm_hour < 0 || rec_tm.tm_hour >= 24) { std::cerr << "Date out of range: hour is " << rec_tm.tm_hour << std::endl; } return PyDateTime_FromDateAndTime(rec_tm.tm_year+1900, rec_tm.tm_mon+1, rec_tm.tm_mday, rec_tm.tm_hour, rec_tm.tm_min, rec_tm.tm_sec, 0); } void Recording_datetime_set(Recording *r, const PyObject* val) { if (val != NULL && PyDate_Check(val)) { int year = PyDateTime_GET_YEAR(val); int month = PyDateTime_GET_MONTH(val); int day = PyDateTime_GET_DAY(val); int hour = PyDateTime_DATE_GET_HOUR(val); int minute = PyDateTime_DATE_GET_MINUTE(val); int second = PyDateTime_DATE_GET_SECOND(val); r->SetDateTime(year, month, day, hour, minute, second); } } %} %extend Channel { Channel(PyObject* SectionList, const std::string& yunits_="") : name(""), yunits(yunits_) { if (!PyList_Check(SectionList)) { std::cerr << "Argument is not a list\n"; return NULL; } Py_ssize_t listsize = PyList_Size(SectionList); std::deque
SectionCpp(listsize); for (Py_ssize_t i=0; i(argp1); SectionCpp[i] = *arg1; } // Note that array size is fixed by this allocation: Channel *ch = new Channel(SectionCpp); ch->SetYUnits(yunits_); return ch; } ~Channel() {delete $self;} std::string name; std::string yunits; Section* __getitem__(int at) { if (at >= 0 && at < (int)$self->size()) { return &(*($self))[at]; } else { myErr = 1; return NULL; } } int __len__() { return $self->size(); } } %{ const std::string& Channel_name_get(Channel *c) { return c->GetChannelName(); } void Channel_name_set(Channel *c, const std::string& val) { c->SetChannelName(val); } const std::string& Channel_yunits_get(Channel *c) { return c->GetYUnits(); } void Channel_yunits_set(Channel *c, const std::string& val) { c->SetYUnits(val); } %} %extend Section { Section(PyObject* nparray) { wrap_array(); npy_intp nplen = PyArray_DIM(nparray, 0); // Note that array size is fixed by this allocation: Section *sec = new Section(nplen, ""); double* npptr = (double*)PyArray_DATA(nparray); std::copy(&npptr[0], &npptr[nplen], &(sec->get_w()[0])); return sec; } ~Section() { delete($self); } double __getitem__(int at) { if (at >= 0 && at < (int)$self->size()) { return (*($self))[at]; } else { myErr = 1; return 0; } } int __len__() { return $self->size(); } %feature("autodoc", "Returns the section as a numpy array.") asarray; PyObject* asarray() { npy_intp dims[1] = {$self->size()}; PyObject* np_array = PyArray_SimpleNew(1, dims, NPY_DOUBLE); double* gDataP = (double*)array_data(np_array); std::copy( $self->get().begin(), $self->get().end(), gDataP); return np_array; }; } //-------------------------------------------------------------------- %feature("autodoc", 0) _read; %feature("docstring", "Reads a file and returns a recording object. Arguments: filename -- file name #ifndef TEST_MINIMAL ftype -- File type #else ftype -- File type (obsolete) #endif // TEST_MINIMAL verbose -- Show info while reading Returns: A recording object.") _read; bool _read(const std::string& filename, const std::string& ftype, bool verbose, Recording& Data); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) detect_events; %feature("kwargs") detect_events; %feature("docstring", " Arguments: ") detect_events; PyObject* detect_events(double* data, int size_data, double* templ, int size_templ, double dt, const std::string& mode="criterion", bool norm=true, double lowpass=0.5, double highpass=0.0001); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) peak_detection; %feature("kwargs") peak_detection; %feature("docstring", " Arguments: ") peak_detection; PyObject* peak_detection(double* invec, int size, double threshold, int min_distance); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %pythoncode { import os class StfIOException(Exception): """ raises Exceptions for the Stfio module """ def __init__(self, error_msg): self.msg = error_msg def __str__(self): return repr(self.msg) filetype = { '.dat':'cfs', '.h5':'hdf5', '.abf':'abf', '.atf':'atf', '.axgd':'axg', '.axgx':'axg'} def read(fname, ftype=None, verbose=False): """Reads a file and returns a Recording object. Arguments: fname -- file name #ifndef TEST_MINIMAL ftype -- file type (string); can be one of: "cfs" - CED filing system "hdf5" - HDF5 "abf" - Axon binary file "atf" - Axon text file "axg" - Axograph X binary file "heka" - HEKA binary file if ftype is None (default), it will be guessed from the extension. #else ftype -- file type (string) is obsolete. in the past it has been used to determine the file type. Now an automated file type identification is used, and this parameter become obsolete; eventually it will be removed. #endif // TEST_MINIMAL verbose-- Show info while reading file Returns: A Recording object. """ if not os.path.exists(fname): raise StfIOException('File %s does not exist' % fname) #ifndef TEST_MINIMAL if ftype is None: ext = os.path.splitext(fname)[1] try: ftype = filetype[ext] except KeyError: raise StfIOException('Couldn\'t guess file type from extension (%s)' % ext) #endif // TEST_MINIMAL rec = Recording() if not _read(fname, ftype, verbose, rec): raise StfIOException('Error reading file') if verbose: print("") return rec } //-------------------------------------------------------------------- stimfit-0.14.11/src/pystfio/stfio_plot.py0000644000175200017520000005412212622700407015306 00000000000000""" Some plotting utilities to use scale bars rather than coordinate axes. 04 Feb 2011, C. Schmidt-Hieber, University College London From the stfio module: http://code.google.com/p/stimfit """ # TODO: Pin scale bars to their position # TODO: Implement 2-channel plots import os import sys import numpy as np import numpy.ma as ma HAS_MPL = True try: import matplotlib import matplotlib.pyplot as plt from mpl_toolkits.axes_grid.axislines import Subplot except ImportError as err: HAS_MPL = False MPL_ERR = err # dummy class class Subplot(object): pass scale_dist_x = 0.04 scale_dist_y = 0.04 graph_width = 6.0 graph_height = 4.0 key_dist = 0.04 def save_ma(ftrunk, marr): if not isinstance(marr, ma.core.MaskedArray): marr = ma.array(marr, mask=False) data = np.array(marr) mask = np.array(marr.mask) np.save(ftrunk + ".data.npy", data) np.save(ftrunk + ".mask.npy", mask) def load_ma(ftrunk): data = np.load(ftrunk + ".data.npy") mask = np.load(ftrunk + ".mask.npy") return ma.array(data, mask=mask) class Timeseries(object): # it this is 2d, the second axis (shape[1]) is time def __init__(self, *args, **kwargs): if len(args) > 2: raise RuntimeError( "Timeseries accepts at most two non-keyworded arguments") fromFile = False # First argument has to be either data or file_trunk if isinstance(args[0], str): if len(args) > 1: raise RuntimeError( "Timeseries accepts only one non-keyworded " "argument if instantiated from file") if os.path.exists("%s_data.npy" % args[0]): self.data = np.load("%s_data.npy" % args[0]) else: self.data = load_ma("%s_data.npy" % args[0]) self.dt = np.load("%s_dt.npy" % args[0]) fxu = open("%s_xunits" % args[0], 'r') self.xunits = fxu.read() fxu.close() fyu = open("%s_yunits" % args[0], 'r') self.yunits = fyu.read() fyu.close() fromFile = True else: self.data = args[0] self.dt = args[1] if len(kwargs) > 0 and fromFile: raise RuntimeError( "Can't set keyword arguments if Timeseries was " "instantiated from file") for key in kwargs: if key == "xunits": self.xunits = kwargs["xunits"] elif key == "yunits": self.yunits = kwargs["yunits"] elif key == "linestyle": self.linestyle = kwargs["linestyle"] elif key == "linewidth": self.linewidth = kwargs["linewidth"] elif key == "color": self.color = kwargs["color"] elif key == "colour": self.color = kwargs["colour"] else: raise RuntimeError("Unknown keyword argument: " + key) if "xunits" not in kwargs and not fromFile: self.xunits = "ms" if "yunits" not in kwargs and not fromFile: self.yunits = "mV" if "linestyle" not in kwargs: self.linestyle = "-" if "linewidth" not in kwargs: self.linewidth = 1.0 if "color" not in kwargs and "colour" not in kwargs: self.color = 'k' def __getitem__(self, idx): return self.data[idx] def __setitem__(self, idx, value): self.data[idx] = value def __add__(self, other): if isinstance(other, Timeseries): result = self.data + other.data else: result = self.data + other return self.copy_attributes(result) def __mul__(self, other): if isinstance(other, Timeseries): result = self.data * other.data else: result = self.data * other return self.copy_attributes(result) def __sub__(self, other): if isinstance(other, Timeseries): result = self.data - other.data else: result = self.data - other return self.copy_attributes(result) def __div__(self, other): if isinstance(other, Timeseries): result = self.data / other.data else: result = self.data / other return self.copy_attributes(result) def __truediv__(self, other): return self.__div__(other) def copy_attributes(self, data): return Timeseries( data, self.dt, xunits=self.xunits, yunits=self.yunits, linestyle=self.linestyle, linewidth=self.linewidth, color=self.color) def x_trange(self, tstart, tend): return np.arange(int(tstart/self.dt), int(tend/self.dt), 1.0, dtype=np.float) * self.dt def y_trange(self, tstart, tend): return self.data[int(tstart/self.dt):int(tend/self.dt)] def timearray(self): return np.arange(0.0, self.data.shape[-1]) * self.dt def duration(self): return self.data.shape[-1] * self.dt def interpolate(self, newtime, newdt): if len(self.data.shape) == 1: return Timeseries(np.interp(newtime, self.timearray(), self.data, left=np.nan, right=np.nan), newdt) else: # interpolate each row individually: # iparray = ma.zeros((self.data.shape[0], len(newtime))) # for nrow, row in enumerate(self.data): # flin = \ # interpolate.interp1d( # self.timearray(), row, # bounds_error=False, fill_value=np.nan, kind=kind) # iparray[nrow,:]=flin(newtime) iparray = ma.array([ np.interp( newtime, self.timearray(), row, left=np.nan, right=np.nan) for nrow, row in enumerate(self.data)]) return Timeseries(iparray, newdt) def maskedarray(self, center, left, right): # check whether we have enough data left and right: if len(self.data.shape) > 1: mask = \ np.zeros((self.data.shape[0], int((right+left)/self.dt))) maskedarray = \ ma.zeros((self.data.shape[0], int((right+left)/self.dt))) else: mask = np.zeros((int((right+left)/self.dt))) maskedarray = ma.zeros((int((right+left)/self.dt))) offset = 0 if center - left < 0: if len(self.data.shape) > 1: mask[:, :int((left-center)/self.dt)] = 1 else: mask[:int((left-center)/self.dt)] = 1 leftindex = 0 offset = int((left-center)/self.dt) else: leftindex = int((center-left)/self.dt) if center + right >= len(self.data) * self.dt: endtime = len(self.data) * self.dt if len(self.data.shape) > 1: mask[:, -int((center+right-endtime)/self.dt):] = 1 else: mask[-int((center+right-endtime)/self.dt):] = 1 rightindex = int(endtime/self.dt) else: rightindex = int((center+right)/self.dt) for timest in range(leftindex, rightindex): if len(self.data.shape) > 1: if timest-leftindex+offset < maskedarray.shape[1] and \ timest < self.data.shape[1]: maskedarray[:, timest-leftindex+offset] = \ self.data[:, timest] else: if timest-leftindex+offset < len(maskedarray): maskedarray[timest-leftindex+offset] = \ self.data[timest] maskedarray.mask = ma.make_mask(mask) return Timeseries(maskedarray, self.dt) def save(self, file_trunk): if isinstance(self.data, ma.MaskedArray): save_ma("%s_data.npy" % file_trunk, self.data) else: np.save("%s_data.npy" % file_trunk, self.data) np.save("%s_dt.npy" % file_trunk, self.dt) fxu = open("%s_xunits" % file_trunk, 'w') fxu.write(self.xunits) fxu.close() fyu = open("%s_yunits" % file_trunk, 'w') fyu.write(self.yunits) fyu.close() def plot(self): fig = plt.figure(figsize=(8, 6)) ax = StandardAxis(fig, 111, hasx=True) ax.plot(self.timearray(), self.data, '-k') class timeseries(Timeseries): def __init__(self, *args, **kwargs): super(timeseries, self).__init__(*args, **kwargs) sys.stderr.write("stfio_plot.timeseries is deprecated. " "Use stfio_plot.Timeseries instead.\n") class StandardAxis(Subplot): def __init__(self, *args, **kwargs): if not HAS_MPL: raise MPL_ERR hasx = kwargs.pop('hasx', False) hasy = kwargs.pop('hasy', True) kwargs['frameon'] = False super(StandardAxis, self).__init__(*args, **kwargs) args[0].add_axes(self) self.axis["right"].set_visible(False) self.axis["top"].set_visible(False) if not hasx: self.axis["bottom"].set_visible(False) if not hasy: self.axis["left"].set_visible(False) def average(tsl): # find fastest dt: dt_common = 1e12 for ts in tsl: if ts.dt < dt_common: newtime = ts.timearray() dt_common = ts.dt # interpolate all series to new dt: tslip = [ts.interpolate(newtime, dt_common) for ts in tsl] if len(tslip[0].data.shape) == 1: ave = np.empty((len(tslip), len(tslip[0].data))) else: ave = np.empty( (len(tslip), tslip[0].data.shape[0], tslip[0].data.shape[1])) for its, ts in enumerate(tslip): if len(ts.data.shape) == 1: ave[its] = ts.data else: ave[its, :, :] = ts.data[:, :] if len(ts.data.shape) == 1: return Timeseries(ma.mean(ave, axis=0), dt_common) else: avef = ma.zeros((tslip[0].data.shape[0], tslip[0].data.shape[1])) for nrow, row in enumerate(avef): avef[nrow, :] = ma.mean(ave[:, nrow, :], axis=0) return Timeseries(avef, dt_common) def prettyNumber(f): fScaled = f if fScaled < 1: correct = 10.0 else: correct = 1.0 # set stepsize try: nZeros = int(np.log10(fScaled)) except OverflowError: nZeros = 0 prev10e = 10.0**nZeros / correct next10e = prev10e * 10 if fScaled / prev10e > 7.5: return next10e elif fScaled / prev10e > 5.0: return 5 * prev10e else: return round(fScaled/prev10e) * prev10e def plot_scalebars(ax, div=3.0, labels=True, xunits="", yunits="", nox=False, sb_xoff=0, sb_yoff=0, sb_ylabel_xoff_comp=False, sb_ylabel_yoff=0, rotate_yslabel=False, linestyle="-k", linewidth=4.0, textcolor='k', textweight='normal', xmin=None, xmax=None, ymin=None, ymax=None): # print dir(ax.dataLim) if xmin is None: xmin = ax.dataLim.xmin if xmax is None: xmax = ax.dataLim.xmax if ymin is None: ymin = ax.dataLim.ymin if ymax is None: ymax = ax.dataLim.ymax xscale = xmax-xmin yscale = ymax-ymin xoff = (scale_dist_x + sb_xoff) * xscale if sb_ylabel_xoff_comp: xoff_ylabel = scale_dist_x * xscale else: xoff_ylabel = xoff yoff = (scale_dist_y - sb_yoff) * yscale # plot scale bars: xlength = prettyNumber((xmax-xmin)/div) xend_x, xend_y = xmax, ymin if not nox: xstart_x, xstart_y = xmax-xlength, ymin scalebarsx = [xstart_x+xoff, xend_x+xoff] scalebarsy = [xstart_y-yoff, xend_y-yoff] else: scalebarsx = [xend_x+xoff, ] scalebarsy = [xend_y-yoff] ylength = prettyNumber((ymax-ymin)/div) yend_x, yend_y = xmax, ymin+ylength scalebarsx.append(yend_x+xoff) scalebarsy.append(yend_y-yoff) ax.plot(scalebarsx, scalebarsy, linestyle, linewidth=linewidth, solid_joinstyle='miter') if labels: # if textcolor is not None: # color = "\color{%s}" % textcolor # else: # color = "" if not nox: # xlabel if xlength >= 1: xlabel = r"%d$\,$%s" % (xlength, xunits) else: xlabel = r"%g$\,$%s" % (xlength, xunits) xlabel_x, xlabel_y = xmax-xlength/2.0, ymin xlabel_y -= key_dist*yscale ax.text( xlabel_x+xoff, xlabel_y-yoff, xlabel, ha='center', va='top', weight=textweight, color=textcolor) # ylabel if ylength >= 1: ylabel = r"%d$\,$%s" % (ylength, yunits) else: ylabel = r"%g$\,$%s" % (ylength, yunits) if not rotate_yslabel: ylabel_x, ylabel_y = \ xmax, ymin + ylength/2.0 + sb_ylabel_yoff*yscale ylabel_x += key_dist*xscale ax.text(ylabel_x+xoff_ylabel, ylabel_y-yoff, ylabel, ha='left', va='center', weight=textweight, color=textcolor) else: ylabel_x, ylabel_y = xmax, ymin + ylength/2.0 + sb_ylabel_yoff ylabel_x += key_dist*xscale ax.text(ylabel_x+xoff_ylabel, ylabel_y-yoff, ylabel, ha='left', va='center', rotation=90, weight=textweight, color=textcolor) def xFormat(x, res, data_len, width): points = int(width/2.5 * res) part = float(x) / data_len return int(part*points) def yFormat(y): return y def reduce(ydata, dy, maxres, xoffset=0, width=graph_width): x_last = xFormat(0, maxres, len(ydata), width) y_last = yFormat(ydata[0]) y_max = y_last y_min = y_last x_next = 0 y_next = 0 xrange = list() yrange = list() xrange.append(x_last) yrange.append(y_last) for (n, pt) in enumerate(ydata[:-1]): x_next = xFormat(n+1, maxres, len(ydata), width) y_next = yFormat(ydata[n+1]) # if we are still at the same pixel column, # only draw if this is an extremum: if (x_next == x_last): if (y_next < y_min): y_min = y_next if (y_next > y_max): y_max = y_next else: # else, always draw and reset extrema: if (y_min != y_next): xrange.append(x_last) yrange.append(y_min) y_last = y_min if (y_max != y_next): xrange.append(x_last) yrange.append(y_max) y_last = y_max xrange.append(x_next) yrange.append(y_next) y_min = y_next y_max = y_next x_last = x_next y_last = y_next trace_len_pts = width/2.5 * maxres trace_len_time = len(ydata) * dy dt_per_pt = trace_len_time / trace_len_pts xrange = np.array(xrange)*dt_per_pt + xoffset return xrange, yrange def plot_traces(traces, traces2=None, ax=None, Fig=None, pulses=None, xmin=None, xmax=None, ymin=None, ymax=None, y2min=None, y2max=None, xoffset=0, maxres=None, plot_sb=True, sb_yoff=0, sb_xoff=0, linestyle_sb="-k", dashedline=None, sagline=None, rotate_yslabel=False, textcolor='k', textweight='normal', textcolor2='r', figsize=None, pulseprop=0.05, border=0.2): if ax is None: if figsize is None: Fig = plt.figure(dpi=maxres) else: Fig = plt.figure(dpi=maxres, figsize=figsize) Fig.patch.set_alpha(0.0) if pulses is not None and len(pulses) > 0: prop = 1.0-pulseprop-border else: prop = 1.0-border ax = Fig.add_axes([0.0, (1.0-prop), 1.0-border, prop], alpha=0.0) # This is a hack to find the y-limits of the # traces. It should be supplied by stf.plot_ymin() & stf.plot_ymax(). But # this doesn't work for a 2nd channel, and if the active channel is 2 (IN # 2). It seems like stf.plot_ymin/max always gets data from channel 0 (IN # 0), irrespective of which is choosen as the active channel. if y2min is not None and y2max is not None: ymin, ymax = np.inf, -np.inf for trace in traces: if maxres is None: xrange = trace.timearray()+xoffset yrange = trace.data else: xrange, yrange = reduce(trace.data, trace.dt, maxres=maxres) xrange += xoffset if y2min is not None and y2max is not None: ymin, ymax = min(ymin, yrange.min()), max(ymax, yrange.max()) # Hack to get y-limits of data. See comment above. ax.plot( xrange, yrange, trace.linestyle, lw=trace.linewidth, color=trace.color) y2min, y2max = np.inf, -np.inf # Hack to get y-limit of data, see comment above. if traces2 is not None: copy_ax = ax.twinx() for trace in traces2: if maxres is None: xrange = trace.timearray()+xoffset yrange = trace.data else: xrange, yrange = reduce(trace.data, trace.dt, maxres=maxres) xrange += xoffset y2min, y2max = min(y2min, yrange.min()), max(y2max, yrange.max()) # Hack to get y-limit of data, see comment above. copy_ax.plot(xrange, yrange, trace.linestyle, lw=trace.linewidth, color=trace.color) else: copy_ax = None if xmin is not None: phantomrect_x0 = xmin else: phantomrect_x0 = ax.dataLim.xmin if xmax is not None: phantomrect_x1 = xmax else: phantomrect_x1 = ax.dataLim.xmax if ymin is not None: phantomrect_y0 = ymin else: phantomrect_y0 = ax.dataLim.ymin if ymax is not None: phantomrect_y1 = ymax else: phantomrect_y1 = ax.dataLim.ymax ax.plot( [phantomrect_x0, phantomrect_x1], [phantomrect_y0, phantomrect_y1], alpha=0.0) if traces2 is not None: if y2min is not None: phantomrect_y20 = y2min else: phantomrect_y20 = copy_ax.dataLim.ymin if y2max is not None: phantomrect_y21 = y2max else: phantomrect_y21 = copy_ax.dataLim.ymax copy_ax.plot( [phantomrect_x0, phantomrect_x1], [phantomrect_y20, phantomrect_y21], alpha=0.0) xscale = ax.dataLim.xmax-ax.dataLim.xmin if dashedline is not None: ax.plot([ax.dataLim.xmin, ax.dataLim.xmax], [dashedline, dashedline], "--k", linewidth=traces[0].linewidth*2.0) gridline_x = ax.dataLim.xmax gridline_x += key_dist*xscale if sagline is not None: ax.plot([ax.dataLim.xmin, ax.dataLim.xmax],[sagline, sagline], "--k", linewidth=traces[0].linewidth*2.0) gridline_x = ax.dataLim.xmax gridline_x += key_dist*xscale if xmin is None: xmin = ax.dataLim.xmin if xmax is None: xmax = ax.dataLim.xmax if ymin is None: ymin = ax.dataLim.ymin if ymax is None: ymax = ax.dataLim.ymax ax.set_xlim(xmin, xmax) ax.set_ylim(ymin, ymax) if traces2 is not None: if y2min is None: y2min = copy_ax.dataLim.ymin if y2max is None: y2max = copy_ax.dataLim.ymax copy_ax.set_ylim(y2min, y2max) sb_xoff_total = -0.03+sb_xoff sb_yl_yoff = 0.025 else: sb_xoff_total = sb_xoff sb_yl_yoff = 0 if plot_sb: plot_scalebars( ax, linestyle=linestyle_sb, xunits=traces[0].xunits, yunits=traces[0].yunits, textweight=textweight, textcolor=textcolor, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, rotate_yslabel=rotate_yslabel, sb_xoff=sb_xoff_total, sb_ylabel_xoff_comp=(traces2 is not None), sb_ylabel_yoff=sb_yl_yoff) if traces2 is not None: plot_scalebars( copy_ax, linestyle=traces2[0].linestyle, xunits=traces2[0].xunits, yunits=traces2[0].yunits, textweight=textweight, textcolor=textcolor2, xmin=xmin, xmax=xmax, ymin=y2min, ymax=y2max, rotate_yslabel=rotate_yslabel, nox=True, sb_xoff=-0.01+sb_xoff, sb_ylabel_xoff_comp=True, sb_ylabel_yoff=-sb_yl_yoff) if pulses is not None and len(pulses) > 0: axp = Fig.add_axes( [0.0, 0.0, 1.0-border, pulseprop+border/4.0], sharex=ax) for pulse in pulses: xrange = pulse.timearray() yrange = pulse.data axp.plot( xrange, yrange, pulse.linestyle, linewidth=pulse.linewidth, color=pulse.color) plot_scalebars( axp, linestyle=linestyle_sb, nox=True, yunits=pulses[0].yunits, textweight=textweight, textcolor=textcolor) for o in axp.findobj(): o.set_clip_on(False) axp.axis('off') for o in ax.findobj(): o.set_clip_on(False) ax.axis('off') if traces2 is not None: copy_ax.axis('off') if ax is None: return Fig return ax # NOTE copy_ax HKT mod def standard_axis(fig, subplot, sharex=None, sharey=None, hasx=False, hasy=True): sys.stderr.write("This method is deprecated. " "Use stfio_plot.StandardAxis instead.\n") try: iter(subplot) if isinstance(subplot, matplotlib.gridspec.GridSpec): ax1 = Subplot( fig, subplot, frameon=False, sharex=sharex, sharey=sharey) else: ax1 = Subplot( fig, subplot[0], subplot[1], subplot[2], frameon=False, sharex=sharex, sharey=sharey) except: ax1 = Subplot( fig, subplot, frameon=False, sharex=sharex, sharey=sharey) fig.add_axes(ax1) ax1.axis["right"].set_visible(False) ax1.axis["top"].set_visible(False) if not hasx: ax1.axis["bottom"].set_visible(False) if not hasy: ax1.axis["left"].set_visible(False) return ax1 stimfit-0.14.11/src/pystfio/__init__.py0000644000175200017520000000026312277666257014704 00000000000000# -*- coding: utf-8 -*- ''' Python module to read common electrophysiology file formats. ''' from .stfio import * from . import stfio_plot as plot from . import stfio_neo as neo stimfit-0.14.11/src/Makefile.in0000644000175200017520000004635712622700721013134 00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/stfconf.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = libstfio libstfnum stimfit stimfit/py pystfio DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ GT_CPPFLAGS = @GT_CPPFLAGS@ GT_CXXFLAGS = @GT_CXXFLAGS@ GT_LDFLAGS = @GT_LDFLAGS@ GT_LIBS = @GT_LIBS@ HDF5_CFLAGS = @HDF5_CFLAGS@ HDF5_LIBS = @HDF5_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBBIOSIG_LDFLAGS = @LIBBIOSIG_LDFLAGS@ LIBHDF5_LDFLAGS = @LIBHDF5_LDFLAGS@ LIBLAPACK_LDFLAGS = @LIBLAPACK_LDFLAGS@ LIBNUMPY_INCLUDES = @LIBNUMPY_INCLUDES@ LIBOBJS = @LIBOBJS@ LIBPYTHON_INCLUDES = @LIBPYTHON_INCLUDES@ LIBPYTHON_LDFLAGS = @LIBPYTHON_LDFLAGS@ LIBS = @LIBS@ LIBSTF_LDFLAGS = @LIBSTF_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MACSETFILE = @MACSETFILE@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPT_CXXFLAGS = @OPT_CXXFLAGS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTLINK_COMMAND = @POSTLINK_COMMAND@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_DIST_PKG = @PYTHON_DIST_PKG@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ PYTHON_NUMPY_INCLUDE = @PYTHON_NUMPY_INCLUDE@ PYTHON_PRE_DIST_PKG = @PYTHON_PRE_DIST_PKG@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ PY_AC_VERSION = @PY_AC_VERSION@ RANLIB = @RANLIB@ REZ = @REZ@ SED = @SED@ SETFILE = @SETFILE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STFIO_PYTHON_LIBNAME = @STFIO_PYTHON_LIBNAME@ STF_PYTHON_LIBNAME = @STF_PYTHON_LIBNAME@ STRIP = @STRIP@ SWIG = @SWIG@ SWIG_LIB = @SWIG_LIB@ SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@ SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@ VERSION = @VERSION@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @BUILD_MODULE_FALSE@SUBDIRS = libstfio libstfnum stimfit stimfit/py # The order is important here because libstimfit.la will be used by stfswig. @BUILD_MODULE_TRUE@SUBDIRS = libstfio libstfnum pystfio all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: stimfit-0.14.11/src/stimfit/0000755000175200017520000000000012623045305012610 500000000000000stimfit-0.14.11/src/stimfit/res/0000755000175200017520000000000012623045304013400 500000000000000stimfit-0.14.11/src/stimfit/res/stimfit32x32.xpm0000644000175200017520000001145712277666257016264 00000000000000/* XPM */ static char *stimfit_32x32[] = { /* columns rows colors chars-per-pixel */ "32 32 164 2 ", " c black", ". c #020000", "X c #050305", "o c #090000", "O c #110000", "+ c #130103", "@ c #19070E", "# c #1E080F", "$ c #0D0D1B", "% c #160E1C", "& c #290B17", "* c #220F1E", "= c #2E0D1A", "- c #1A1021", "; c #111D3A", ": c #111E3D", "> c #201124", ", c #2E1327", "< c #2F1327", "1 c #29172E", "2 c #37152A", "3 c #30172E", "4 c #261D3A", "5 c #211F3F", "6 c #361933", "7 c #391A34", "8 c #3F1A34", "9 c #301D3A", "0 c #441831", "q c #16254B", "w c #17264B", "e c #17254C", "r c #17264C", "t c #182850", "y c #182851", "u c #182951", "i c #182952", "p c #192B56", "a c #1E2B57", "s c #232143", "d c #2D2346", "f c #2B284F", "g c #302449", "h c #2A2953", "j c #2A2F5E", "k c #2E2E5C", "l c #2F2F5E", "z c #302E5C", "x c #382C58", "c c #3D2F5E", "v c #2C305F", "b c #252F60", "n c #2A3265", "m c #2E3264", "M c #303060", "N c #313162", "B c #283871", "V c #293B77", "C c #283C78", "Z c #323C77", "A c #303C79", "S c #323F7D", "D c #4C2040", "F c #462D5B", "G c #4D2D5B", "H c #4B3264", "J c #2E468C", "K c #354284", "L c #354285", "P c #32478F", "I c #3A478E", "U c #3E478E", "Y c #3E478F", "T c #3E4C98", "R c #384E9C", "E c #3152A3", "W c #3253A6", "Q c #3253A7", "! c #3A52A4", "~ c #3454A8", "^ c #3455AA", "/ c #3356AD", "( c #3457AE", ") c #3757AE", "_ c #3857AF", "` c #3458AF", "' c #3558B1", "] c #3559B1", "[ c #3658B0", "{ c #365BB7", "} c #385DBA", "| c #385FBE", " . c #3A5FBF", ".. c #48458A", "X. c #4F458A", "o. c #4554A9", "O. c #4559B2", "+. c #4958B1", "@. c #4A5CB7", "#. c #3A62C3", "$. c #3B62C4", "%. c #3D63C8", "&. c #3B65C9", "*. c #3B67CD", "=. c #3C66CC", "-. c #3D66CC", ";. c #3C66CD", ":. c #3D66CD", ">. c #3C67CD", ",. c #3D67CD", "<. c #3C67CE", "1. c #3D67CE", "2. c #3C67CF", "3. c #3D67CF", "4. c #3E67CF", "5. c #3E68CF", "6. c #3D68D0", "7. c #3C69D1", "8. c #3E68D0", "9. c #3E68D1", "0. c #3D69D3", "q. c #3E69D2", "w. c #3F69D2", "e. c #3F69D3", "r. c #3C6AD3", "t. c #3F6AD2", "y. c #3E6AD3", "u. c #3F6AD3", "i. c #3E6AD4", "p. c #3F6AD4", "a. c #3E6AD5", "s. c #3E6BD5", "d. c #3F6BD5", "f. c #3E6BD6", "g. c #3F6BD6", "h. c #3E6BD7", "j. c #3F6BD7", "k. c #3E6CD7", "l. c #3F6CD8", "z. c #4262C3", "x. c #4562C3", "c. c #4063C7", "v. c #4466CC", "b. c #4369D3", "n. c #4468D0", "m. c #4469D3", "M. c #406BD5", "N. c #426BD5", "B. c #406BD6", "V. c #406BD7", "C. c #436BD6", "Z. c #426BD7", "A. c #436BD7", "S. c #406CD7", "D. c #426CD7", "F. c #486BD5", "G. c #406CD8", "H. c #416DDA", "J. c #446DDA", "K. c #456DDA", "L. c #426EDC", "P. c #426FDE", "I. c #4270DF", "U. c None", /* pixels */ "U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.", "U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.", "U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.", "U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.", "U.U.U.U.^ J.B.J.B.B.F.B.B.B.B.B.B.J.B.B.F.B.B.B.B.B.J.~ U.U.U.U.", "U.U.U.q B.:.:.:.:.:.v.:.v.:.v.:.:.:.:.:.:.v.%.:.v.:.:.B.t U.U.U.", "U.U.U.u n.:.:.:.:.:.:.7.:.:.:.:.:.:.:.:.:.:.%.,.:.:.:.B.u U.U.U.", "U.U.U.t 7.:.:.:.:.:.:.7.7.,.:.:.:.:.%.:.:.:.,.,.:.:.:.B.u U.U.U.", "U.U.U.u n.,.:.%.,.,.,.C b %.,.:.,.,.:.,.,.,.,.,.:.:.,.B.t U.U.U.", "U.U.U.t B.,.:.:.,.,.` * & h ,.,.:.,.%.,.,.%.:.,.%.:.,.7.t U.U.U.", "U.U.U.u B.,.:.:.,.7.P , G 3 A l.%.,.%.,.:.%.:.%.,.:.:.7.u U.U.U.", "U.U.U.t 7.,.%.:.,.B.A , O.H 7 ^ ,.,.:.,.,.,.,.,.,.:.:.n.u U.U.U.", "U.U.U.u 7.:.%.:.,.B.N 3 %.@.D x ,.7.,.,.,.,.,.,.%.:.:.B.u U.U.U.", "U.U.U.t B.:.:.:.,.7.f 9 %.7.X.0 K 7.,.,.%.:.:.%.:.:.:.7.u U.U.U.", "U.U.U.t B.:.:.:.,.:.4 d ,.,.v.G 9 ) B.:.,.,.:.:.:.:.:.B.u U.U.U.", "U.U.U.u B.:.%.:.7.%.> z B.:.7.@.0 d :.,.,.%.:.,.%.:.:.B.y U.U.U.", "U.U.U.t 7.:.:.:.B.^ @ Z 7.,.,.7...= n 7.:.:.:.:.:.:.,.B.t U.U.U.", "U.U.U.t B.:.:.:.I.V O R 7.,.,.,.n.c # J J.:.:.:.%.:.,.B.t U.U.U.", "U.U.U.t B.:.,.7.~ $ - :.7.,.:.%.,.x.1 % | 7.:.:.:.:.:.7.u U.U.U.", "U.U.U.t B.7.:.i X o U B.:.,.,.,.,.J.T O u J.:.:.:.:.:.,.u U.U.U.", "U.U.U.u 7.| ; X 5 o.B.:.,.,.,.,.:.:.B.s X ` l.7.B.7.7.B.u U.U.U.", "U.U.U.t I.B X j B.7.:.v.%.:.:.%.:.:.7.! X ; ` ^ ^ ^ | 7.y U.U.U.", "U.U.U.u B.x.U B.,.:.:.:.,.,.,.,.:.:.:.B.j X X X X X ; J.u U.U.U.", "U.U.U.t 7.:.B.:.:.:.%.:.,.%.:.,.:.:.:.,.n.U k k k k K B.u U.U.U.", "U.U.U.u B.:.:.:.:.:.:.,.,.,.:.%.:.:.:.:.:.B.J.J.J.J.B.B.t U.U.U.", "U.U.U.u B.:.:.%.%.:.:.%.%.:.:.:.:.:.:.:.:.:.:.:.:.:.:.B.t U.U.U.", "U.U.U.q B.:.:.:.:.:.:.:.,.,.,.,.:.:.:.:.:.:.:.:.:.:.:.B.t U.U.U.", "U.U.U.U.~ B.B.7.B.B.B.7.7.B.B.n.7.n.7.7.n.B.7.B.7.7.B.^ U.U.U.U.", "U.U.U.U.U.q u t u t t u t u t u t t t t u t t u u u q U.U.U.U.U.", "U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.", "U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.", "U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U." }; stimfit-0.14.11/src/stimfit/res/arrow_down.xpm0000755000175200017520000000246612277666257016267 00000000000000/* XPM */ static const char *arrow_down[] = { /* columns rows colors chars-per-pixel */ "16 16 60 1", " c #256421", ". c #266522", "X c #276623", "o c #286824", "O c #296925", "+ c #2C6D27", "@ c #33752D", "# c #367A31", "$ c #3D8236", "% c #3E8338", "& c #438A3C", "* c #458C3D", "= c #4A8C45", "- c #4B8D46", "; c #4D8F48", ": c #4A9242", "> c #4C9545", ", c #50924B", "< c #509A48", "1 c #539E4A", "2 c #559A4E", "3 c #579951", "4 c #57A24E", "5 c #59A650", "6 c #5DAA53", "7 c #5FAD56", "8 c #63B259", "9 c #65B45B", "0 c #68B85D", "q c #6ABB5F", "w c #6CAD65", "e c #6DBE62", "r c #7CBF76", "t c #6FC063", "y c #70C265", "u c #72C566", "i c #73C667", "p c #74C768", "a c #7EC079", "s c #80C17A", "d c #82C27D", "f c #85C37E", "g c #87C581", "h c #89C682", "j c #8CC785", "k c #8EC987", "l c #91CA8A", "z c #93CB8B", "x c #95CC8E", "c c #98CE90", "v c #9ACF93", "b c #9CD094", "n c #9FD296", "m c #A1D398", "M c #A3D49A", "N c #A5D49C", "B c #A7D69E", "V c #A9D7A0", "C c #ABD8A2", "Z c None", /* pixels */ "ZZZZZZZZZZZZZZZZ", "ZZZZZZpuyeZZZZZZ", "ZZZZZZuCC0ZZZZZZ", "ZZZZZZtBN8ZZZZZZ", "ZZZZZZqMm6ZZZZZZ", "ZZZZZZ9nn4ZZZZZZ", "ZZZZZZ7vxjh$ZZZZZZ", "ZZZZZZ2gf#ZZZZZZ", "ZZZZ:*wds,+oZZZZ", "ZZZZZ%3ar=XZZZZZ", "ZZZZZZ@;=XZZZZZZ", "ZZZZZZZoXZZZZZZZ", "ZZZZZZZZZZZZZZZZ" }; stimfit-0.14.11/src/stimfit/res/zoom.xpm0000755000175200017520000000263112277666257015064 00000000000000/* XPM */ static const char *zoom[] = { /* columns rows colors chars-per-pixel */ "16 16 67 1", " c #874828", ". c #9B5830", "X c #A55C33", "o c #AB6437", "O c #AB6737", "+ c #AB643D", "@ c #BE7340", "# c #B67943", "$ c #B77E47", "% c #B87F47", "& c #B98048", "* c #B98149", "= c #BC854A", "- c #BC844B", "; c #BB814C", ": c #BC834F", "> c #BC864C", ", c #BD864C", "< c #BD894C", "1 c #BE894D", "2 c #BE8A4D", "3 c #BE8A4F", "4 c #BC8451", "5 c #C18E4F", "6 c #C18F4F", "7 c #C28F50", "8 c #C18C52", "9 c #C18E58", "0 c #C39150", "q c #C39153", "w c #C39255", "e c #C39156", "r c #C49555", "t c #C69655", "y c #C79757", "u c #C69956", "i c #C79A57", "p c #C89C57", "a c #C99F5B", "s c #CDA45B", "d c #CCA15D", "f c #CDA55E", "g c #CDA65E", "h c #CEA65E", "j c #CEA75E", "k c #C99B61", "l c #CDA561", "z c #CEA660", "x c #CEA761", "c c #CEA662", "v c #CFA762", "b c #CFA861", "n c #CFA864", "m c #D2AB6F", "M c #D6B479", "N c #D7B57D", "B c #D6B57F", "V c #DABB80", "C c #DBBF87", "Z c #DEC48D", "A c #DFC58F", "S c #E0C793", "D c #E3CC99", "F c #E7D3A0", "G c #E8D5A3", "H c #E9D7A5", "J c None", /* pixels */ "JJJjxnxdaJJJJJJJ", "JJxjJJJJuyJJJJJJ", "JxsJJJJJJ00JJJJJ", "jjJJJJJJJJ7à‹ 2A¾3+b|Uõ@ÕÙ.yAĉÄq­Ú¨\âtÚ%]hýðȰèSóœ}ÕÙ\ûœ|¦è{ÆC›„û8çãªVjC¥ÒÀ›7¾ýÔ×§Â S ” ´ö€ŒˆWX°ü«Ëç.þôãm Ô‹ŠjYTRF„ÑáÒ»RÚ·å¦7ÿþÝÀX B¨©ÀrªÖt-\õë\¡[«ˆ„ªâT¥I¦$Óg%_èÖ–9‹oÎw,œäÓµz€˜:ƒç¹Î/ r§‰ŸDi6ã_GUŒ1Xñ3~üúë “®™z@¾mÞ9çÔ9ƒæ…'‚ˆŸm]š2 SÏ€qË9u¶ ƤÆT9n†EñS‚‰ 0ãFPm4ËŸªsPdSu7õ6à PœÇñ8T©3€¦^8í©šÆd:Ë`ÀÔ1ÿ#˜NmïUuM#G ¤21öùŸH°1 ·[¢ôΓ´õ\Jç’+2ÅY˜ÕQ¡QÃx{^üC¯ü¯ô.¥×ïgç#×V‡f¥ih8qX¦Ò÷­ÙÚ²ítä:È»½Oüg£Ù¡ Ó€ª2ºãiòAžB'Ÿ)дОm#_f߆_L°»Ç"Buo/™ €o|ã“ñ2äü<­Ù¼7ÝþÙc®bp•`Œ‡1_ðu BÎÏÑ–›CØ{/qudÖä €Z IibÙ1wYŠ'†|&OÑÏ1òÌÏo1 XÐ@ KxbPçÈO$RGñ 2-& ˜i!_=ÀØîuœ ( QDPux§"À;Q…Œ«d½,Ål+ñæ{ˆ«Ž/ˆFv#ª‚â0§ Iq‘ýsÏ¢sþ…ü­™"•ÞûAÌ1U…†P܆ˆ(ê^ç)ï•£ vé•XbÄÐâú7QÙõÂ15ˆ  ܆˜¤pìP¤õ£ŒW‘E„pÊŠoaÕâ{Ål'ñ«÷bm|ÌX0- Pñ³„j¡^ºªôçãºqêÈúYòjyþVDRÒ¬¨*áÈN@pêP/ª‡¾x¡Š¥ãâïâÒë\Ђ·£»_JlÇ 3¡±¡° Q§‚ªî0¾BØnCº–|Ž(®â‰¡䩼p;ÑØÐŒÛƒ?’4XQœs¨Ÿ?b1Ĉ°ïäK(vŽSG`òAÁ ·à\Ü|¨ ¨ÃÙÎ9bQè\Èû½F«ÄUZ/º(eMÆËàìbxë_˜ÉZdCÚÈ.\jÍ­ ÉvŸù¾t¶ÇUzV|›0ªà‰!ãg)¿v£ïnj6ô=¢Xµ„ñ…yçÕ—÷ÏYDÏk‰\Œ'†\ÐÂþçI–g¤œØ0#xàí¿¡ V-¹|a®ãè\§ )/þ ™|'ÖYŒñð⻟üQƒª“3@T"ª %ôw–|÷"[;ê°‹9sõI6©Šoìþ·è½?ɧ‘ æÃ?1 ï|ƒSGdCZç]6šR!å­¨ÌÙ«n"Œ«x~†Á×î£VÚƒ L—>˜¸ò4ý7ÔJýlúfT‡# GéZ´zÊþ\UÙÑÞÃÉ‹V»AðDèûëu8%žf¶ ¥÷Þàß/ßÃëë¯I¥ŸÐÙò¯0âg>P9Í©£ýÂoÐÞÞƒU›¤ØÑ[$y_9 Puôoù#¯QÄh­¼oµi¬Í¬ÛÕ5å’]º4U'6*—˜Ð;dêq€Øöho•Q©:×´ýšlªu1Ά î|îY’ž¡qÔ£®]†d+y[¶8/›o?y©O#ͺk<Ù®c£ •Á¾¾í/Üö;`(‘´ÎD~ôc  ”ßÙxÇzcü9] /ý„ççTŒ/ÍÆEQgÕÙPÆFvíýÑn%éï²õ1Cä€`.0˜W<áÌ3ºzV—-žxbº£©iÚ¦4GKûw<»yh×s½@?°;=e ¬ïÌôÓtÝ)]@+PHAòhŽÆÉqF¥ ÞÒóPìáT`8ý,*@‘CÛLf{3‘NXÏ(0’J}(%7„~ÝC6Õñë0}8OÒfâ5,IoàX*ÈJz^¥®qÒŸð`\Ljñ‡êúìšÄ¸:Æ›$ëÛgÆGjžï©?š AÓlW‰Lpýÿd ‘IŽÍýëáBýúñG–®ÎzS‚‚IEND®B`‚stimfit-0.14.11/src/stimfit/res/stimfit16x16.xpm0000644000175200017520000000317612277666257016267 00000000000000/* XPM */ static char *stimfit_16x16[] = { /* columns rows colors chars-per-pixel */ "16 16 82 1 ", " c #14162D", ". c #0F1830", "X c #0F1A33", "o c #151A34", "O c #141B37", "+ c #1C1F3E", "@ c #241E3C", "# c #1C203F", "$ c #25274E", "% c #3E264B", "& c #2B2850", "* c #302D5A", "= c #382C58", "- c #2D3060", "; c #2E376D", ": c #323060", "> c #3B366C", ", c #2A3870", "< c #452E5D", "1 c #304183", "2 c #32458B", "3 c #3A458A", "4 c #354992", "5 c #334A95", "6 c #324E9D", "7 c #3150A1", "8 c #3351A2", "9 c #3155A9", "0 c #3358AF", "q c #3658B0", "w c #3459B2", "e c #3A5AB4", "r c #395EBC", "t c #395EBD", "y c #3A5FBD", "u c #395FBE", "i c #3E5DBC", "p c #4650A1", "a c #425AB5", "s c #3961C2", "d c #3C61C2", "f c #3C65C9", "g c #3E64C9", "h c #3E65CA", "j c #3C66CC", "k c #3D66CC", "l c #3D67CD", "z c #3F66CD", "x c #3D67CE", "c c #3C67CF", "v c #3D67CF", "b c #3E67CE", "n c #3E67CF", "m c #3D68CF", "M c #3E68CF", "N c #3D68D0", "B c #3D68D1", "V c #3E68D0", "C c #3E68D1", "Z c #3D69D2", "A c #3D69D3", "S c #3E69D2", "D c #3F69D2", "F c #3D6AD3", "G c #3F6AD3", "H c #3F6AD4", "J c #3E6AD5", "K c #3F6BD6", "L c #3D6CD7", "P c #3F6CD7", "I c #3F6CD8", "U c #4167CC", "Y c #4268D1", "T c #4369D2", "R c #406AD3", "E c #406AD4", "W c #406AD5", "Q c #416BD7", "! c #406CD8", "~ c #416DDB", "^ c #426FDE", "/ c None", /* pixels */ "////////////////", "////////////////", "//rzzfzzzzfzzr//", "//SMMzMzzzzMMS//", "//MzS1-SjjjzzM//", "//zMS-%3SzjjMz//", "//zzz*e;!MMM//", "//!7.2IjU@7~SM//", "//qo5!jjI5Ow9f//", "//frSzzjMS,#+6//", "//S!zzMzMz!Y!U//", "//rSzzzMzzzz!r//", "///XX..XX.X.X///", "////////////////" }; stimfit-0.14.11/src/stimfit/res/arrow_out.xpm0000755000175200017520000000426112277666257016122 00000000000000/* XPM */ static const char *arrow_out[] = { /* columns rows colors chars-per-pixel */ "16 16 96 2", " c #418A3E", ". c #428B3F", "X c #428C3F", "o c #438D40", "O c #448D40", "+ c #458E41", "@ c #458F41", "# c #469042", "$ c #479143", "% c #499445", "& c #4A9545", "* c #4C9447", "= c #4D9948", "- c #4E9948", "; c #4F9B4A", ": c #509C4A", "> c #529F4C", ", c #54A14E", "< c #55A24E", "1 c #56A34F", "2 c #57A450", "3 c #57A550", "4 c #58A651", "5 c #59A752", "6 c #5BA654", "7 c #5AA852", "8 c #5AA853", "9 c #5BA953", "0 c #5CAA54", "q c #5CAB54", "w c #5DAC55", "e c #5EAD56", "r c #5FAD56", "t c #5FAE57", "y c #5EA05A", "u c #61A55D", "i c #63A45F", "p c #64A65E", "a c #64A75F", "s c #60AF58", "d c #61B058", "f c #61B159", "g c #62B159", "h c #62B259", "j c #63B35A", "k c #64B45B", "l c #66B65C", "z c #67B45F", "x c #68B95E", "c c #69B95F", "v c #67A862", "b c #70AD6C", "n c #71AD6D", "m c #73AE6E", "M c #6ABB60", "N c #6BBC60", "B c #6DBF63", "V c #71B46A", "C c #73B46C", "Z c #73B56C", "A c #73B66C", "S c #73B66D", "D c #74B56E", "F c #75B86E", "G c #7AB773", "H c #79B375", "J c #7DBD75", "K c #7EBD76", "L c #6EC063", "P c #70C365", "I c #71C365", "U c #72C466", "Y c #72C566", "T c #73C667", "R c #74C768", "E c #75C56B", "W c #83BB7D", "Q c #82C479", "! c #84C77B", "~ c #86C07E", "^ c #87CA7E", "/ c #89BF83", "( c #8AC083", ") c #8AC084", "_ c #89C980", "` c #8CCC83", "' c #90C58A", "] c #93C78C", "[ c #94C88D", "{ c #95C98E", "} c #9BD192", "| c #A4D39B", " . c #A5D69D", ".. c #A7D69E", "X. c #A9D8A1", "o. c None", /* pixels */ "R R T T P o.o.o.o.o.o.l l g t t ", "R X...P o.o.o.o.o.o.o.o.z ] { 0 ", "U ..} ^ L o.o.o.o.o.o.g K ~ ' 8 ", "P R ` | ! N o.o.o.o.g K ] S 5 3 ", "P o.B _ Q N o.o.o.o.s F S 5 o.< ", "o.o.o.N x o.o.o.o.o.o.8 5 o.o.o.", "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.", "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.", "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.", "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.", "o.o.o.t t o.o.o.o.o.o.: ; o.o.o.", "g o.t S V 5 o.o.o.o.; a v & o.$ ", "g t V ) D 2 o.o.o.o.= p H i * O ", "t ( G D 3 o.o.o.o.o.o.& y p n X ", "q / W 6 o.o.o.o.o.o.o.o.$ n m X ", "8 5 < < > o.o.o.o.o.o.$ O X X " }; stimfit-0.14.11/src/stimfit/res/resultset_last.xpm0000755000175200017520000000322312277666257017153 00000000000000/* XPM */ static const char *resultset_last[] = { /* columns rows colors chars-per-pixel */ "16 16 83 1", " c #1239B6", ". c #133AB7", "X c #133CB7", "o c #143EB9", "O c #1441BB", "+ c #164ABD", "@ c #1752C0", "# c #1855C0", "$ c #1959C4", "% c #1859C6", "& c #195CC6", "* c #1A60C6", "= c #1A62C8", "- c #1A63C8", "; c #1E6BCD", ": c #2A72CF", "> c #2C74CF", ", c #397BD1", "< c #397BD2", "1 c #4281D3", "2 c #4481D3", "3 c #4685D6", "4 c #4E80D2", "5 c #4B87D6", "6 c #4584D8", "7 c #4E89D8", "8 c #5385D4", "9 c #578BD6", "0 c #528BD9", "q c #5E92D9", "w c #5E94D8", "e c #5990DD", "r c #5C92DF", "t c #6397DA", "y c #6095DF", "u c #6297DF", "i c #6699DD", "p c #6A9BDC", "a c #699DDF", "s c #6E9DDF", "d c #709FDE", "f c #74A3DF", "g c #76A3DF", "h c #659BE1", "j c #73A2E0", "k c #70A0E2", "l c #72A2E2", "z c #77A6E6", "x c #7AA6E5", "c c #7BA8E3", "v c #7EA8E1", "b c #7FA9E3", "n c #7FAAE3", "m c #7BA7E8", "M c #7EA9E8", "N c #81ABE2", "B c #82ABE3", "V c #83ACE3", "C c #85ADE4", "Z c #84AEE4", "A c #86AEE4", "S c #80ABE8", "D c #87B0E6", "F c #89B1E4", "G c #8AB1E5", "H c #8BB2E5", "J c #89B1E6", "K c #8BB3E7", "L c #8DB2E6", "P c #88B0E8", "I c #91B6E8", "U c #92B7E8", "Y c #94B7E8", "T c #97BAEA", "R c #98BBE9", "E c #9ABCEA", "W c #9EBEEA", "Q c #9EC0EB", "! c #A6C3EE", "~ c #A5C4ED", "^ c #ABC8EF", "/ c #ADC8EF", "( c None", /* pixels */ "((((((((((((((((", "((((((((((((((((", "(((SM((((hue0(((", "(((SMk(((rJE6(((", "(((z/Pu((0AY<(((", "(((k^!x7(3cL>(((", "(((h~TWa<V2&((@8tO(((", "(((;1%(((+4tO(((", "(((=#((((Oo (((", "((((((((((((((((", "((((((((((((((((" }; stimfit-0.14.11/src/stimfit/res/camera_ps.xpm0000755000175200017520000000604312277666257016033 00000000000000/* XPM */ static const char *camera_ps[] = { /* columns rows colors chars-per-pixel */ "16 16 143 2", " c #2A2A2A", ". c gray17", "X c #2C2C2C", "o c #2D2D2D", "O c #313131", "+ c gray20", "@ c #343434", "# c #353535", "$ c #373737", "% c #393939", "& c gray23", "* c #3C3C3C", "= c #3E3E3E", "- c #3F3F3F", "; c gray25", ": c #414141", "> c gray26", ", c #444444", "< c #464646", "1 c gray28", "2 c gray29", "3 c #4E4E4E", "4 c #505050", "5 c #535353", "6 c #565656", "7 c gray34", "8 c #585858", "9 c #5A5A5A", "0 c #5B5B5B", "q c gray36", "w c gray37", "e c #5F5F5F", "r c #606060", "t c gray38", "y c #626262", "u c #646464", "i c #656565", "p c #676767", "a c #686868", "s c DimGray", "d c #6A6A6A", "f c #6C6C6C", "g c #6D6D6D", "h c gray43", "j c #6F6F6F", "k c #717171", "l c #727272", "z c #747474", "x c gray46", "c c #767676", "v c gray47", "b c gray48", "n c #7C7C7C", "m c #7E7E7E", "M c #857C69", "N c #9B937F", "B c #F3BE41", "V c #5C96D5", "C c #5E96D5", "Z c #5E97D6", "A c #5F98D6", "S c #6496CE", "D c #6899CE", "F c #689ACE", "G c #6397D0", "H c #6397D1", "J c #6496D0", "K c #6099D6", "L c #6299D6", "P c #609AD6", "I c #629AD7", "U c #639BD7", "Y c #669BD7", "T c #649CD7", "R c #659CD7", "E c #699AD4", "W c #6A9AD4", "Q c #619AD8", "! c #659BD8", "~ c #669CD8", "^ c #679CD8", "/ c #679DD8", "( c #669DD9", ") c #699ED9", "_ c #6A9FD9", "` c #6AA0D9", "' c #808080", "] c #818181", "[ c #848484", "{ c gray52", "} c #868686", "| c gray53", " . c #888888", ".. c #8B8B8B", "X. c gray55", "o. c #8D8D8D", "O. c #8E8E8E", "+. c #909090", "@. c #929292", "#. c #939392", "$. c #939393", "%. c gray58", "&. c #959595", "*. c gray59", "=. c #979797", "-. c #989898", ";. c #9A9A9A", ":. c #9B9B9B", ">. c #9D9D9D", ",. c gray62", "<. c #9F9F9F", "1. c #8393A3", "2. c #95A5B8", "3. c gray64", "4. c #A5A5A5", "5. c gray65", "6. c #A9A9A9", "7. c #AAAAAA", "8. c gray68", "9. c #AEAEAE", "0. c gray69", "q. c #B4B4B4", "w. c #B7B7B7", "e. c #B9B9B9", "r. c gray73", "t. c #BCBCBC", "y. c #F9E0A4", "u. c #A2B3C5", "i. c #B7C7DA", "p. c #C0C0C0", "a. c gray77", "s. c #C6C6C6", "d. c gray78", "f. c #C8C8C8", "g. c gray79", "h. c gray80", "j. c #D0D0D0", "k. c #D2D2D2", "l. c #D5D5D5", "z. c #D7D7D7", "x. c #D8D8D8", "c. c #DDDDDD", "v. c None", /* pixels */ "v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.", "v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.", "v.-.+... .] v k h c ..v.v.v.v.v.", "v.-.f.f.s.a.N y.B M +.v.q q q v.", "h 9.k.0.5.,.w.=.4.u.7.l a a a 5 ", "h t.5.t.c.z.z.h.5.[ =.q.,.o...: ", "a 5.r.i.W C V H u.=.k 9.-.a N # ", "p -.x.W L Y T A S 9.w 6.@.w b $ ", "i %.j.C ! ` ) R L 4.5 5.X.7 c % ", "y o.d.A ! ) ` v.v.v.v.v.v.v.v.v.", "r | r.S U ! ! v.. . . . v.. . . ", "w m ..2.S T ! v.. v.v.. v.. v.v.", "7 j a b :.-.$.v.. v.v.. v.. . v.", "v.$ $ , , : - v.. . . . v.v.. . ", "v.v.v.v.v.v.v.v.. v.v.v.v.v.v.. ", "v.v.v.v.v.v.v.v.. v.v.v.v.. . . " }; stimfit-0.14.11/src/stimfit/res/event.xpm0000755000175200017520000000074512277666257015225 00000000000000/* XPM */ static const char *event[] = { /* columns rows colors chars-per-pixel */ "16 16 4 1", " c grey32", "x c grey48", "X c grey64", ". c None", /* pixels */ "................", " X......... x", "... X........ x.", "... X....... x..", "... X...... x...", "... X..... x....", "... X....X X....", "... X.... X.....", "... X...X ......", "... X..X .......", "... X.X X.......", "...x X X.......", "...X X........", "....X ..........", "................", "................" }; stimfit-0.14.11/src/stimfit/res/latency_lim.xpm0000755000175200017520000000107712277666257016403 00000000000000/* XPM */ static const char * latency_lim[] = { "16 16 13 1", " c None", ". c #678FB1", "+ c #97B4CD", "@ c #DCE9F5", "# c #97BDE1", "$ c #DBE8F4", "% c #95B2CC", "& c #72A6D6", "* c #EBF2F9", "= c #AFCCE8", "- c #96BCE0", "; c #D6E5F2", "> c #96B3CC", " ", " ", " .. .. ", " .+@..@+. ", " .+@@..@@+. ", " .+@#@..$#$%. ", " .+@#&#**#&#$+. ", ".+@#&&&==&&&-@+.", ".+@#&&&==&&&-@+.", " .+@#&#**#&#$+. ", " .+@#@..$-;>. ", " .+@@..@@+. ", " .+@..@+. ", " .. .. ", " ", " "}; stimfit-0.14.11/src/stimfit/res/camera.xpm0000755000175200017520000000560112277666257015330 00000000000000/* XPM */ static const char *camera[] = { /* columns rows colors chars-per-pixel */ "16 16 143 2", " c #2A2A2A", ". c gray17", "X c #2C2C2C", "o c #2D2D2D", "O c #313131", "+ c gray20", "@ c #343434", "# c #353535", "$ c #373737", "% c #393939", "& c gray23", "* c #3C3C3C", "= c #3E3E3E", "- c #3F3F3F", "; c gray25", ": c #414141", "> c gray26", ", c #444444", "< c #464646", "1 c gray28", "2 c gray29", "3 c #4E4E4E", "4 c #505050", "5 c #535353", "6 c #565656", "7 c gray34", "8 c #585858", "9 c #5A5A5A", "0 c #5B5B5B", "q c gray36", "w c gray37", "e c #5F5F5F", "r c #606060", "t c gray38", "y c #626262", "u c #646464", "i c #656565", "p c #676767", "a c #686868", "s c DimGray", "d c #6A6A6A", "f c #6C6C6C", "g c #6D6D6D", "h c gray43", "j c #6F6F6F", "k c #717171", "l c #727272", "z c #747474", "x c gray46", "c c #767676", "v c gray47", "b c gray48", "n c #7C7C7C", "m c #7E7E7E", "M c #857C69", "N c #9B937F", "B c #F3BE41", "V c #5C96D5", "C c #5E96D5", "Z c #5E97D6", "A c #5F98D6", "S c #6496CE", "D c #6899CE", "F c #689ACE", "G c #6397D0", "H c #6397D1", "J c #6496D0", "K c #6099D6", "L c #6299D6", "P c #609AD6", "I c #629AD7", "U c #639BD7", "Y c #669BD7", "T c #649CD7", "R c #659CD7", "E c #699AD4", "W c #6A9AD4", "Q c #619AD8", "! c #659BD8", "~ c #669CD8", "^ c #679CD8", "/ c #679DD8", "( c #669DD9", ") c #699ED9", "_ c #6A9FD9", "` c #6AA0D9", "' c #808080", "] c #818181", "[ c #848484", "{ c gray52", "} c #868686", "| c gray53", " . c #888888", ".. c #8B8B8B", "X. c gray55", "o. c #8D8D8D", "O. c #8E8E8E", "+. c #909090", "@. c #929292", "#. c #939392", "$. c #939393", "%. c gray58", "&. c #959595", "*. c gray59", "=. c #979797", "-. c #989898", ";. c #9A9A9A", ":. c #9B9B9B", ">. c #9D9D9D", ",. c gray62", "<. c #9F9F9F", "1. c #8393A3", "2. c #95A5B8", "3. c gray64", "4. c #A5A5A5", "5. c gray65", "6. c #A9A9A9", "7. c #AAAAAA", "8. c gray68", "9. c #AEAEAE", "0. c gray69", "q. c #B4B4B4", "w. c #B7B7B7", "e. c #B9B9B9", "r. c gray73", "t. c #BCBCBC", "y. c #F9E0A4", "u. c #A2B3C5", "i. c #B7C7DA", "p. c #C0C0C0", "a. c gray77", "s. c #C6C6C6", "d. c gray78", "f. c #C8C8C8", "g. c gray79", "h. c gray80", "j. c #D0D0D0", "k. c #D2D2D2", "l. c #D5D5D5", "z. c #D7D7D7", "x. c #D8D8D8", "c. c #DDDDDD", "v. c None", /* pixels */ "v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.", "v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.", "v.-.+... .] v k h c ..v.v.v.v.v.", "v.-.f.f.s.a.N y.B M +.v.q q q v.", "h 9.k.0.5.,.w.=.4.u.7.l a a a 5 ", "h t.5.t.c.z.z.h.5.[ =.q.,.o...: ", "a 5.r.i.W C V H u.=.k 9.-.a N # ", "p -.x.W L Y T A S 9.w 6.@.w b $ ", "i %.j.C ! ` ) R L 4.5 5.X.7 c % ", "y o.d.A ! ) ` ) L :.4 ,.{ 3 h $ ", "r | r.S U ! ! ! D X.2 -.' 1 a $ ", "w m ..2.S T ! D 1.0 : =.n : u O ", "7 j a b :.-.$.{ 8 ; p +.z t 9 O ", "v.$ $ , , : - * @ o . . . ", "v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.", "v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v." }; stimfit-0.14.11/src/stimfit/res/arrow_up.xpm0000755000175200017520000000246412277666257015742 00000000000000/* XPM */ static const char *arrow_up[] = { /* columns rows colors chars-per-pixel */ "16 16 60 1", " c #22601E", ". c #256421", "X c #266522", "o c #296925", "O c #2B6B26", "+ c #2D6E28", "@ c #30722B", "# c #33752D", "$ c #367A31", "% c #397D33", "& c #3D8236", "* c #3F8539", "= c #438A3C", "- c #468D3F", "; c #4A9242", ": c #4C9545", "> c #509A48", ", c #539E4A", "< c #58A44F", "1 c #59A650", "2 c #5EAC55", "3 c #5FAD56", "4 c #65AC5D", "5 c #65B45B", "6 c #68B85D", "7 c #6EBF62", "8 c #78BD72", "9 c #7ABD74", "0 c #7CBF76", "q c #70C265", "w c #71C365", "e c #72C466", "r c #72C566", "t c #73C667", "y c #7DC073", "u c #7EC079", "i c #80C17A", "p c #83C679", "a c #82C27D", "s c #86C37D", "d c #85C37E", "f c #85C87B", "g c #87CA7C", "h c #88CA7E", "j c #87C581", "k c #89C682", "l c #8CC785", "z c #8EC987", "x c #91CA8A", "c c #93CB8B", "v c #95CC8E", "b c #98CE90", "n c #9ACF93", "m c #9CD094", "M c #9FD296", "N c #A1D398", "B c #A3D49A", "V c #A5D49C", "C c #A7D69E", "Z c None", /* pixels */ "ZZZZZZZZZZZZZZZZ", "ZZZZZZZrwZZZZZZZ", "ZZZZZZrhg6ZZZZZZ", "ZZZZZrgCV93ZZZZZ", "ZZZZw7pBNs<,ZZZZ", "ZZZZZZ5MM4ZZZZZZ", "ZZZZZZ3nv>ZZZZZZ", "ZZZZZZ1vc;ZZZZZZ", "ZZZZZZ,cz=ZZZZZZ", "ZZZZZZ:lk&ZZZZZZ", "ZZZZZZ-js$ZZZZZZ", "ZZZZZZ*au@ZZZZZZ", "ZZZZZZ%uuOZZZZZZ", "ZZZZZZ#98XZZZZZZ", "ZZZZZZ+oX ZZZZZZ", "ZZZZZZZZZZZZZZZZ" }; stimfit-0.14.11/src/stimfit/res/fit_lim.xpm0000755000175200017520000000074712277666257015531 00000000000000/* XPM */ static const char *fit_lim[] = { /* columns rows colors chars-per-pixel */ "16 16 4 1", " c grey32", "x c grey48", "X c grey64", ". c None", /* pixels */ "x...............", "x............xx.", "x............ .", "x............ .", "x...........X .", "x..xx xx.... .", "x.X ..X .x", "x. XX .x", "x. .... ..x", "x. ......xx...x", "xX ...........x", ". X...........x", ". ............x", ". ............x", ".xx............x", "...............x" }; stimfit-0.14.11/src/stimfit/res/arrow_left.xpm0000755000175200017520000000212512277666257016242 00000000000000/* XPM */ static const char *arrow_left[] = { /* columns rows colors chars-per-pixel */ "16 16 45 1", " c #205E1D", ". c #246321", "X c #296925", "o c #2F702A", "O c #35782F", "+ c #3B8035", "@ c #42883B", "# c #499141", "$ c #4F9947", "% c #56A14D", "& c #5CA953", "* c #64AA5B", "= c #62B158", "- c #68B85D", "; c #7BBE71", ": c #78BD72", "> c #7CBE76", ", c #71C365", "< c #74C768", "1 c #7EC078", "2 c #80C17A", "3 c #83C17A", "4 c #82C27D", "5 c #84C37E", "6 c #86C87B", "7 c #87C97C", "8 c #8ACC7F", "9 c #87C581", "0 c #89C682", "q c #8BC785", "w c #8BCD80", "e c #8EC987", "r c #90CA89", "t c #93CB8B", "y c #95CC8E", "u c #98CE90", "i c #9ACF93", "p c #9DD094", "a c #9FD296", "s c #A1D398", "d c #A3D49A", "f c #A5D59C", "g c #A7D69E", "h c #ABD8A2", "j c None", /* pixels */ "jjjjjjjjjjjjjjjj", "jjjjjjjjjjjjjjjj", "jjjjjjjjjjjjjjjj", "jjjjjjjjjjjjjjjj", "jjjj:.j", "jj-;3*$#@+OoX. j", "jjj&%jjjjjjjjjjj", "jjjj$jjjjjjjjjjj", "jjjjjjjjjjjjjjjj", "jjjjjjjjjjjjjjjj", "jjjjjjjjjjjjjjjj", "jjjjjjjjjjjjjjjj" }; stimfit-0.14.11/src/stimfit/res/arrow_right.xpm0000755000175200017520000000210712277666257016425 00000000000000/* XPM */ static const char *arrow_right[] = { /* columns rows colors chars-per-pixel */ "16 16 44 1", " c #246321", ". c #296925", "X c #35782F", "o c #3B8035", "O c #42883B", "+ c #45883F", "@ c #498B44", "# c #4A8C45", "$ c #499141", "% c #4F9947", "& c #50914A", "* c #5C9D55", "= c #56A14D", "- c #5CA953", "; c #5EA159", ": c #62A35A", "> c #62B158", ", c #68B85D", "< c #6DBE61", "1 c #7CBE76", "2 c #71C365", "3 c #74C768", "4 c #80C17A", "5 c #82C27D", "6 c #84C37E", "7 c #87C581", "8 c #89C682", "9 c #8BC785", "0 c #8EC987", "q c #90CA89", "w c #93CB8B", "e c #95CC8E", "r c #98CE90", "t c #9ACF93", "y c #9DD094", "u c #9FD296", "i c #A1D398", "p c #A3D49A", "a c #A5D59C", "s c #A7D69E", "d c #A9D7A0", "f c #ABD8A2", "g c #AEDAA5", "h c None", /* pixels */ "hhhhhhhhhhhhhhhh", "hhhhhhhhhhhhhhhh", "hhhhhhhhhhhhhhhh", "hhhhhhhhhhhhhhhh", "hhhhhhhhhhh%hhhh", "hhhhhhhhhhh$Ohhh", "h332<,>-=%$:*Xhh", "h3gfsputeq975&.h", "h2ssiytq08641# h", "h<,>-=%$Oo+;@ hh", "hhhhhhhhhhh. hhh", "hhhhhhhhhhh hhhh", "hhhhhhhhhhhhhhhh", "hhhhhhhhhhhhhhhh", "hhhhhhhhhhhhhhhh", "hhhhhhhhhhhhhhhh" }; stimfit-0.14.11/src/stimfit/res/slope.xpm0000755000175200017520000000164012277666257015221 00000000000000/* XPM */ static const char *slope[] = { "16 16 37 1", " c None", ". c #5297DA", "+ c #3E678F", "@ c #2A80D3", "# c #6D9BC8", "$ c #2981D5", "% c #2485E1", "& c #3176B8", "* c #318AE0", "= c #2C7DCB", "- c #2A7ED0", "; c #5998D5", "> c #2A7ECF", ", c #5897D5", "' c #6099D1", ") c #6F9BC6", "! c #287FD3", "~ c #1E90FF", "{ c #2C7BC8", "] c #2783DA", "^ c #5F99D0", "/ c #2581D8", "( c #5196D8", "_ c #2E7BC6", ": c #2C8AE5", "< c #2F7AC3", "[ c #328AE0", "} c #2782DA", "| c #3488DB", "1 c #2882D7", "2 c #348ADD", "3 c #2B7FCF", "4 c #2980D4", "5 c #2486E4", "6 c #1F8DF7", "7 c #3E94E8", "8 c #4B85BC", " ", " ", " .+@ ", " #$%&# ", " *=#@-; ", " @;@#>,@ ", " @'@@)!~@ ", " @'@ @){~@ ", " @'@ @]^~@ ", " @'@ #/(@@ ", " @'@ _:~@@ ", " @'@ <[~@@", " @'@ }|@@", "@@@1'@ =2@", "34567@ @8", " "}; stimfit-0.14.11/src/stimfit/res/zoom_in.xpm0000755000175200017520000000323312277666257015551 00000000000000/* XPM */ static const char *zoom_in[] = { /* columns rows colors chars-per-pixel */ "16 16 84 1", " c #2A6B26", ". c #2E6F29", "X c #30712B", "o c #32742C", "O c #33762E", "+ c #357930", "@ c #874828", "# c #A55C33", "$ c #AB6437", "% c #AB6737", "& c #AB643D", "* c #3E8337", "= c #448B3D", "- c #4D9645", "; c #539E4B", ": c #5A9B53", "> c #5CA852", ", c #5EAB54", "< c #5FAD56", "1 c #65A75E", "2 c #61B057", "3 c #63B259", "4 c #67B65C", "5 c #6BAC63", "6 c #76B76D", "7 c #B98048", "8 c #BC854A", "9 c #BC844B", "0 c #BC834F", "q c #BC864C", "w c #BD864C", "e c #BD894C", "r c #BE894D", "t c #BE8A4D", "y c #BE8A4F", "u c #BC8451", "i c #C18E4F", "p c #C18F4F", "a c #C28F50", "s c #C18E58", "d c #C39150", "f c #C39153", "g c #C39156", "h c #C49555", "j c #C69655", "k c #C79757", "l c #C69956", "z c #C79A57", "x c #C89C57", "c c #C99F5B", "v c #CDA45B", "b c #CCA15D", "n c #CDA55E", "m c #CDA65E", "M c #CEA65E", "N c #CEA75E", "B c #C99B61", "V c #CDA561", "C c #CEA660", "Z c #CEA761", "A c #CEA662", "S c #CFA762", "D c #CFA861", "F c #CFA864", "G c #D7B57D", "H c #D6B57F", "J c #82C27D", "K c #86C57D", "L c #DABB80", "P c #8BC683", "I c #8BC785", "U c #90CA88", "Y c #9ACF92", "T c #9ED195", "R c #9FD297", "E c #A6D59D", "W c #DEC48D", "Q c #DFC58F", "! c #E0C793", "~ c #E3CC99", "^ c #E7D3A0", "/ c #E8D5A3", "( c #E9D7A5", ") c None", /* pixels */ "))))))))))))))))", ")))NCFFbc)))))))", "))DN))))lk))))))", ")Dv))))))dd)))))", "NN))))))))iy))))", "C))))))))))y))))", "C))))))42>)y))))", "C))))))TYKUP+))))", ")ki));-1I:o.))))", "))dy)))*Jo~Q0)))", ")))9ww9+X /(L&))", ")))))))))sQ^!B@)", "))))))))))uHHg%)", ")))))))))))#7%))" }; stimfit-0.14.11/src/stimfit/res/16-em-down.xpm0000755000175200017520000000111012277666257015661 00000000000000/* XPM */ static const char *___em_down[] = { /* columns rows colors chars-per-pixel */ "16 16 10 1", " c #678FB1", ". c #72A6D6", "X c #B8B7AD", "o c #97B4CD", "O c #9DB8CF", "+ c #97BDE1", "@ c #AFCCE8", "# c #DCE9F5", "$ c #EBF2F9", "% c None", /* pixels */ "%%%%%%%%%%%%%%%%", "%%%%% %%%%%", "%%%%% $$$$ %%%%%", "%%%%% $@@$ %%%%%", "%%%%% $@@$ %%%%%", "%%%%% $@@$ %%%%%", "%% O$@@$O %%", "%% ###+..+### %%", "%% o#+....+#o %%", "%%X o#+..+#o X%%", "%%%X o#++#o X%%%", "%%%%X o##o X%%%%", "%%%%%X oo X%%%%%", "%%%%%%X X%%%%%%", "%%%%%%%XX%%%%%%%", "%%%%%%%%%%%%%%%%" }; stimfit-0.14.11/src/stimfit/res/resultset_first.xpm0000755000175200017520000000314712277666257017344 00000000000000/* XPM */ static const char *resultset_first[] = { /* columns rows colors chars-per-pixel */ "16 16 80 1", " c #1233B2", ". c #1239B6", "X c #133CB7", "o c #143EB6", "O c #1441BB", "+ c #164ABD", "@ c #1752C0", "# c #1855C4", "$ c #195AC4", "% c #1859C6", "& c #195CC6", "* c #1A62C8", "= c #1E69CB", "- c #1E6BCD", "; c #3364C6", ": c #386BCA", "> c #2C74CF", ", c #3D77D0", "< c #397BD2", "1 c #4481D3", "2 c #4180D4", "3 c #4384D6", "4 c #4784D6", "5 c #4A85D6", "6 c #4584D8", "7 c #4A89D9", "8 c #4C89D8", "9 c #5089D9", "0 c #528BD9", "q c #538DD9", "w c #5E91D8", "e c #5C92DF", "r c #6397DA", "t c #6297DB", "y c #6597DB", "u c #6497DD", "i c #669ADF", "p c #6A9BDC", "a c #6B9CDD", "s c #699DDF", "d c #6E9FDD", "f c #6D9DDE", "g c #6D9EDE", "h c #709FDE", "j c #71A1DF", "k c #76A3DF", "l c #659BE1", "z c #73A2E1", "x c #70A0E2", "c c #77A4E1", "v c #77A6E6", "b c #79A7E1", "n c #7AA7E0", "m c #7BA8E1", "M c #7EA8E1", "N c #7EA9E2", "B c #7EA9E8", "V c #83ACE3", "C c #85ADE4", "Z c #86AEE4", "A c #80ABE8", "S c #80ABEA", "D c #8AB1E5", "F c #8DB2E6", "G c #8EB3E6", "H c #8FB5E7", "J c #8FB4E8", "K c #90B5E6", "L c #90B4E7", "P c #91B6E8", "I c #96B9EA", "U c #98BBE9", "Y c #9DBEEC", "T c #9EC0EB", "R c #A2C1EE", "E c #A5C4ED", "W c #ABC8EF", "Q c #B0CBF0", "! c #B4CEF2", "~ c None", /* pixels */ "~~~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~~~", "~~~SSBv~~~~q0~~~", "~~~S!Rx~~~876~~~", "~~~vQYl~~5aP<~~~", "~~~xWIe~4lJF>~~~", "~~~lEJ01uKMC-~~~", "~~~eTU3xFbaM*~~~", "~~~0UF=1mrh@~~~", "~~~Vy*~~+:rO~~~", "~~~-mw%~~~o;X~~~", "~~~*&#@~~~~ .~~~", "~~~~~~~~~~~~~~~~", "~~~~~~~~~~~~~~~~" }; stimfit-0.14.11/src/stimfit/res/sum_new.xpm0000755000175200017520000000215512277666257015556 00000000000000/* XPM */ static const char *sum_new[] = { /* columns rows colors chars-per-pixel */ "16 16 48 1", " c black", ". c gray8", "X c gray16", "o c #2A2A2A", "O c #2D2D2D", "+ c gray18", "@ c #2F2F2F", "# c #313131", "$ c #323232", "% c #343434", "& c #353535", "* c #373737", "= c #3A3A3A", "- c gray25", "; c gray27", ": c gray28", "> c #484848", ", c #494949", "< c #4C4C4C", "1 c #4E4E4E", "2 c gray31", "3 c #515151", "4 c gray32", "5 c #555555", "6 c #565656", "7 c #585858", "8 c #5D5D5D", "9 c gray39", "0 c #646464", "q c gray40", "w c #686868", "e c #6A6A6A", "r c #6D6D6D", "t c #6F6F6F", "y c gray44", "u c #727272", "i c gray45", "p c #767676", "a c #777777", "s c #7B7B7B", "d c #7E7E7E", "f c #818181", "g c #8B8B8B", "h c gray56", "j c #9A9A9A", "k c gray62", "l c gray74", "z c None", /* pixels */ "zzzzzzzzzzzzzzzz", "zzzzzzzzzzzzzzzz", "zzfdspytw9zzzzzz", "zzdlsytwq8zzzzzz", "zzzghzzzz6zzzzzz", "zzzykqzzzzzzzzzz", "zzzzqjzzzzzzzzzz", "zzzzz74zzzzzzzzz", "zzzz64zzzzzzz zz", "zzz64,zzz%zz zzz", "zzz<:zzzz+z zzzz", "zz<::%%$+oz ---z", "zz:==%$+o. -zzz-", "zzzzzzzzz z-zzz-", "zzzzzzzz zz-zzz-", "zzzzzzz zzz-zzz-" }; stimfit-0.14.11/src/stimfit/res/cursor.xpm0000755000175200017520000000250612277666257015416 00000000000000/* XPM */ static const char *cursor[] = { /* columns rows colors chars-per-pixel */ "16 16 63 1", " c gray46", ". c gray47", "X c #797979", "o c #7C7C7C", "O c gray49", "+ c #848484", "@ c #868686", "# c #888888", "$ c #898989", "% c #8D8D8D", "& c #8E8E8E", "* c gray57", "= c gray58", "- c #959595", "; c gray59", ": c gray61", "> c #9D9D9D", ", c gray62", "< c #A0A0A0", "1 c #A4A4A4", "2 c #A7A7A7", "3 c #A9A9A9", "4 c #AAAAAA", "5 c gray68", "6 c #AFAFAF", "7 c #B1B1B1", "8 c gray71", "9 c #B6B6B6", "0 c #B7B7B7", "q c #B9B9B9", "w c #BBBBBB", "e c gray74", "r c gray", "t c #C1C1C1", "y c gray77", "u c #C5C5C5", "i c #C6C6C6", "p c #C8C8C8", "a c #CBCBCB", "s c #D0D0D0", "d c #D5D5D5", "f c #D7D7D7", "g c gray85", "h c gray86", "j c #DFDFDF", "k c gray88", "l c #E1E1E1", "z c #E2E2E2", "x c gray89", "c c #E4E4E4", "v c gray90", "b c #E7E7E7", "n c gray91", "m c #EAEAEA", "M c #ECECEC", "N c gray93", "B c #EEEEEE", "V c #EFEFEF", "C c gray94", "Z c gray95", "A c #F4F4F4", "S c gray97", "D c None", /* pixels */ "DDDDDDDDDDDDDDDD", "DDDDpuDDDDDDDDDD", "DDDDugeDDDDDDDDD", "DDDDtSdqDDDDDDDD", "DDDDeSVa6DDDDDDD", "DDDD0SVVp2DDDDDD", "DDDD0ZncVu,DDDDD", "DDDD6Vczzct;DDDD", "DDDD6Vzzzccq%DDD", "DDDD2Zzcc;*%$$DD", "DDDD1d,aV*DDDDDD", "DDDD,,D;gt$DDDDD", "DDDD,DDD6Z@DDDDD", "DDDDDDDD@gqODDDD", "DDDDDDDDD4g.DDDD", "DDDDDDDDDO. DDDD" }; stimfit-0.14.11/src/stimfit/res/ch1.xpm0000755000175200017520000000110512277666257014546 00000000000000/* XPM */ static const char *ch_[] = { /* columns rows colors chars-per-pixel */ "16 16 11 1", "1 c grey8", "2 c grey12", "3 c grey16", "4 c grey20", "5 c grey24", "6 c grey28", "7 c grey32", "8 c grey36", "9 c grey40", "0 c grey44", ". c None", /* pixels */ "................", "................", "......000.......", ".......00.......", ".......99.......", ".......99.......", ".......88.......", ".......88.......", ".......88.......", ".......77.......", ".......44.......", ".......33.......", ".....111111.....", "................", "................", "................" }; stimfit-0.14.11/src/stimfit/res/zoom_out.xpm0000755000175200017520000000300612277666257015750 00000000000000/* XPM */ static const char *zoom_out[] = { /* columns rows colors chars-per-pixel */ "16 16 74 1", " c #EA111C", ". c #EC1A23", "X c #EE262E", "o c #F1353A", "O c #874828", "+ c #A55C33", "@ c #AB6437", "# c #AB6737", "$ c #AB643D", "% c #B77E47", "& c #F44548", "* c #F75456", "= c #FA6362", "- c #FC6F6D", "; c #FE7874", ": c #B98048", "> c #BC854A", ", c #BC844B", "< c #BB814C", "1 c #BC834F", "2 c #BC864C", "3 c #BD864C", "4 c #BD894C", "5 c #BE894D", "6 c #BE8A4D", "7 c #BE8A4F", "8 c #BC8451", "9 c #C18E4F", "0 c #C18F4F", "q c #C28F50", "w c #C18C52", "e c #C18E58", "r c #C39150", "t c #C39153", "y c #C39156", "u c #C49555", "i c #C69655", "p c #C79757", "a c #C69956", "s c #C79A57", "d c #C89C57", "f c #C99F5B", "g c #CDA45B", "h c #CCA15D", "j c #CDA55E", "k c #CDA65E", "l c #CEA65E", "z c #CEA75E", "x c #C99B61", "c c #CDA561", "v c #CEA660", "b c #CEA761", "n c #CEA662", "m c #CFA762", "M c #CFA861", "N c #CFA864", "B c #D6B479", "V c #D7B57D", "C c #D6B57F", "Z c #DABB80", "A c #DBBF87", "S c #F3A09B", "D c #F4ABA4", "F c #F6B6AE", "G c #DEC48D", "H c #DFC58F", "J c #E0C793", "K c #E3CC99", "L c #E7D3A0", "P c #E8D5A3", "I c #E9D7A5", "U c #F7C0B7", "Y c #F8C8BF", "T c None", /* pixels */ "TTTTTTTTTTTTTTTT", "TTTzvNNhfTTTTTTT", "TTMzTTTTapTTTTTT", "TMgTTTTTTrrTTTTT", "zzTTTTTTTT97TTTT", "vTTTTTTTTTT7TTTT", "vTTTTTTTTTT7TTTT", "vTTTTTTTTTT3TTTT", "fTTTT;-=*&oXTTTT", "apTTT-YUFDS.TTTT", "Tp0TT=*&oX. TTTT", "TT97TTTTwBKG1TTT", "TTT>33,%1APIZ$TT", "TTTTTTTTTeHLJxOT", "TTTTTTTTTT8VVe#T", "TTTTTTTTTTT+:#TT" }; stimfit-0.14.11/src/stimfit/res/accept.xpm0000755000175200017520000000546212277666257015344 00000000000000/* XPM */ static const char *acceptbmp[] = { /* columns rows colors chars-per-pixel */ "16 16 136 2", " c #1D6C1A", ". c #1E6E1A", "X c #1E701A", "o c #1E711A", "O c #1F711B", "+ c #1E731A", "@ c #1F781B", "# c #1E7A1B", "$ c #1F7A1B", "% c #1E7F1B", "& c #1F831B", "* c #208A1B", "= c #20881C", "- c #2D961C", "; c #2F961C", ": c #329D1D", "> c #42A91F", ", c #42AB1F", "< c #42AD1F", "1 c #4C973D", "2 c #4BB426", "3 c #52B92B", "4 c #52BB2D", "5 c #54BB2D", "6 c #54BD31", "7 c #55BE34", "8 c #55C034", "9 c #59C236", "0 c #5BC239", "q c #4E9B41", "w c #52A042", "e c #5EA948", "r c #64B04C", "t c #6CB656", "y c #6DB757", "u c #6AB950", "i c #6EB558", "p c #6FB558", "a c #6FB559", "s c #70BF57", "d c #74B75B", "f c #74B75C", "g c #70B859", "h c #71B95B", "j c #72B95B", "k c #73BA5C", "l c #71BE5F", "z c #7DB766", "x c #77BC60", "c c #7CBA64", "v c #7DBC66", "b c #7DBE67", "n c #7FB869", "m c #74C259", "M c #6FC261", "N c #6FC361", "B c #6EC461", "V c #6EC462", "C c #6EC563", "Z c #6FC664", "A c #70C163", "S c #71C463", "D c #74C364", "F c #70C765", "G c #73C766", "H c #79C164", "J c #7EC169", "K c #7EC76F", "L c #72C868", "P c #74C868", "I c #75C868", "U c #76C969", "Y c #76CA6A", "T c #79C96B", "R c #7ACC6D", "E c #7FCA70", "W c #83BE6D", "Q c #87C272", "! c #85C575", "~ c #89C476", "^ c #80CA73", "/ c #80CC72", "( c #83CE77", ") c #87C979", "_ c #8BC878", "` c #90CE7F", "' c #96C783", "] c #9AC787", "[ c #96CB86", "{ c #97CC85", "} c #98CB86", "| c #9ACA87", " . c #98CC87", ".. c #96CD88", "X. c #99CD8A", "o. c #9DCE8B", "O. c #99D18B", "+. c #99D08C", "@. c #9AD48D", "#. c #9FD291", "$. c #9BD791", "%. c #9DD892", "&. c #A1D695", "*. c #A1D795", "=. c #A3D796", "-. c #ABD29B", ";. c #ABD39B", ":. c #AFD7A0", ">. c #AED7A1", ",. c #AEDCA5", "<. c #AFDCA6", "1. c #B3D9A5", "2. c #B4D9A5", "3. c #B4DAA6", "4. c #B1DDA7", "5. c #B2DBA8", "6. c #B5DBA8", "7. c #B4DDAA", "8. c #B4DFAC", "9. c #B5DFAC", "0. c #B5E1AE", "q. c #B7E1AF", "w. c #B7E1B0", "e. c #BEE3B6", "r. c #BFE3B8", "t. c #C0E4B9", "y. c #D6EED2", "u. c #D9ECD4", "i. c #E6F4E3", "p. c #EDF7EB", "a. c #F1F9F0", "s. c #F4FAF2", "d. c #FCFDFB", "f. c #FDFEFD", "g. c gray100", "h. c None", /* pixels */ "h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.", "h.h.h.h.h.h.0 6 4 3 h.h.h.h.h.h.", "h.h.h.h.9 m =.,.,.*.u < h.h.h.h.", "h.h.h.8 ` q.%.( ( %.q.~ : h.h.h.", "h.h.7 ` q.R I L I I T 8.~ - h.h.", "h.h.s q.R L Z Z Z S e.K q.e h.h.", "h.5 *.$.I Z Z M M r.g.i.O.o.= h.", "h.2 4./ L q.y.M e.g.d.+.J >.% h.", "h., ,./ ^ a.g.p.g.d...j b :.$ h.", "h.> &.+.D ) s.g.g.[ t j [ ] $ h.", "h.h.r 7.H l ! u.X.t i f 3.q h.h.", "h.h.; Q 5.x k j i i d 1.n o h.h.", "h.h.h.* W 3. .c c | 3.c h.h.h.", "h.h.h.h.= w .-.-.' 1 h.h.h.h.", "h.h.h.h.h.h.$ + O h.h.h.h.h.h.", "h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h." }; stimfit-0.14.11/src/stimfit/res/16-em-open.xpm0000755000175200017520000000112712277666257015663 00000000000000/* XPM */ static const char *___em_open[] = { /* columns rows colors chars-per-pixel */ "16 16 11 1", " c #678FB1", ". c #72A6D6", "X c #B8B7AD", "o c #97B4CD", "O c #9DB8CF", "+ c #97BDE1", "@ c #AFCCE8", "# c #C4D9EE", "$ c #DCE9F5", "% c #EBF2F9", "& c None", /* pixels */ "&&&&&&&&&&&&&&&&", "&&&&&&& &&&&&&&", "&&&&&& OO &&&&&&", "&&&&& O%%O &&&&&", "&&&& O%##%O &&&&", "&&& O%#@@#%O &&&", "&& O%#@@@@#%O &&", "&& $$$+..+$$$ &&", "&& o$..$o &&", "&&XXX $..$ XXX&&", "&&&&& $..$ &&&&&", "&&&&& $..$ &&&&&", "&&&&& $$$$ &&&&&", "&&&&& &&&&&", "&&&&&XXXXXX&&&&&", "&&&&&&&&&&&&&&&&" }; stimfit-0.14.11/src/stimfit/res/sum_new_aligned.xpm0000755000175200017520000000216512277666257017242 00000000000000/* XPM */ static const char *sum_new_aligned[] = { /* columns rows colors chars-per-pixel */ "16 16 48 1", " c black", ". c gray8", "X c gray16", "o c #2A2A2A", "O c #2D2D2D", "+ c gray18", "@ c #2F2F2F", "# c #313131", "$ c #323232", "% c #343434", "& c #353535", "* c #373737", "= c #3A3A3A", "- c gray25", "; c gray27", ": c gray28", "> c #484848", ", c #494949", "< c #4C4C4C", "1 c #4E4E4E", "2 c gray31", "3 c #515151", "4 c gray32", "5 c #555555", "6 c #565656", "7 c #585858", "8 c #5D5D5D", "9 c gray39", "0 c #646464", "q c gray40", "w c #686868", "e c #6A6A6A", "r c #6D6D6D", "t c #6F6F6F", "y c gray44", "u c #727272", "i c gray45", "p c #767676", "a c #777777", "s c #7B7B7B", "d c #7E7E7E", "f c #818181", "g c #8B8B8B", "h c gray56", "j c #9A9A9A", "k c gray62", "l c gray74", "z c None", /* pixels */ "zzzzzzzzzzzzzzzz", "zzzzzzzzzzzzzzzz", "zzfdspytw9zzzzz ", "zzdlsytwq8zz zz ", "zzzghzzzz6zzz z ", "zzzykqzzzzz ", "zzzzqjzzzzzzz z ", "zzzzz74zzzzz zz ", "zzzz64zzzzzzz z ", "zzz64,zzz%zz zzz", "zzz<:zzzz+z zzzz", "zz<::%%$+oz ---z", "zz:==%$+o. -zzz-", "zzzzzzzzz z-zzz-", "zzzzzzzz zz-zzz-", "zzzzzzz zzz-zzz-" }; stimfit-0.14.11/src/stimfit/res/ch2.xpm0000755000175200017520000000104412277666257014551 00000000000000/* XPM */ static const char * ch2_[] = { /* columns rows colors chars-per-pixel */ "16 16 8 1", "0 c #FF0000", "1 c #FF2A2A", "2 c #FF3333", "3 c #FF2000", "4 c #FF1000", "5 c #FF6347", "X c #E9967A", ". c None", /* pixels */ "................", "................", "......0000......", ".....00..00.....", "....55...X55....", "....44....44....", "..........44....", ".........44.....", "........44......", "......33........", ".....33.........", "....22222000....", "....00001111....", "................", "................", "................" }; stimfit-0.14.11/src/stimfit/res/resultset_previous.xpm0000755000175200017520000000234412277666257020067 00000000000000/* XPM */ static const char *resultset_previous[] = { /* columns rows colors chars-per-pixel */ "16 16 54 1", " c #1130B0", ". c #1233B4", "X c #1339B4", "o c #1339B7", "O c #1440B9", "+ c #1547BD", "@ c #164ABD", "# c #1752C0", "$ c #195CC4", "% c #195CC6", "& c #315FC4", "* c #1B65C9", "= c #276ECD", "- c #376BC9", "; c #2A72CF", ": c #3D77D0", "> c #3A7CD4", ", c #4180D6", "< c #4885D6", "1 c #4A87D9", "2 c #5089D9", "3 c #538DD9", "4 c #5A90DB", "5 c #5990DD", "6 c #5F95DC", "7 c #6295DA", "8 c #6095DD", "9 c #6698DB", "0 c #679ADC", "q c #6599DF", "w c #699BDC", "e c #6E9FDD", "r c #71A1DE", "t c #72A1DF", "y c #6297E1", "u c #6599E1", "i c #6B9BE1", "p c #6B9DE0", "a c #71A0E0", "s c #77A4E0", "d c #75A4E3", "f c #7AA6E1", "g c #7AA6E5", "h c #7CA9E1", "j c #81ABE3", "k c #83ADE3", "l c #86AFE5", "z c #8BB3E5", "x c #8DB2E6", "c c #95B8E8", "v c #95B9E8", "b c #99BBE9", "n c #9ABDEA", "m c None", /* pixels */ "mmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmm", "mmmmmmmmmiummmmm", "mmmmmmmmqy5mmmmm", "mmmmmmm8gn1mmmmm", "mmmmmm4dnc>mmmmm", "mmmmm3ablx;mmmmm", "mmmm2pcjrk*mmmmm", "mmmm,7xtqt%mmmmm", "mmmmm; c #6392CE", ", c #6493CE", "< c #6896D1", "1 c #6A97D1", "2 c #6E99D3", "3 c #6F9BD4", "4 c #729ED6", "5 c #74A0D7", "6 c #75A1D7", "7 c #7AA3DA", "8 c #7AA4D9", "9 c #7DA5DC", "0 c #7EA8DD", "q c #89C682", "w c #8EC987", "e c #93CB8B", "r c #98CE90", "t c #9DD094", "y c #A1D398", "u c #A5D59C", "i c #80A9DD", "p c #82AADF", "a c #84ACE0", "s c #87AEE1", "d c #88AFE2", "f c #8CB1E3", "g c #8CB2E4", "h c #8FB4E5", "j c #90B5E6", "k c #93B7E7", "l c #94B7E7", "z c #96BAE9", "x c #98BAE9", "c c #9ABCEB", "v c #9BBDEB", "b c #9DBEEB", "n c #9EBFEC", "m c #9FC0ED", "M c #A6C3E9", "N c #A1C1EE", "B c #A2C1EF", "V c #A9C4E8", "C c #AAC6E9", "Z c #ACC7E8", "A c #ACC6E9", "S c #ADC7E9", "D c #ACC7EA", "F c #ADC7EA", "G c #AEC8E8", "H c #AEC9E9", "J c #AEC9EA", "K c #B0C8E8", "L c #B0C9E9", "P c #B0C9EA", "I c #B2CBEA", "U c #B3CCEA", "Y c #B5CCE8", "T c #B5CDEA", "R c #B7CEEA", "E c #BACFEA", "W c #BAD0EB", "Q c #BBD0EB", "! c #BDD1EB", "~ c #BED2EB", "^ c #BFD3EB", "/ c #D8E2F0", "( c #DBE4F1", ") c #DBE5F1", "_ c #DEE7F2", "` c #DEE7F3", "' c #E2EAF4", "] c #E6EDF6", "[ c #EAF0F7", "{ c #EBF1F7", "} c #EDF2F8", "| c #EEF3F9", " . c #EFF3F9", ".. c #F0F4FA", "X. c #F1F6FA", "o. c #F2F6FA", "O. c #F2F6FB", "+. c #F4F7FB", "@. c gray100", "#. c None", /* pixels */ "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", "#.#.B m b v z k k g d a i 9 7 #.", "#.B +.+.+.+.+.+.o.o.+.+.+.+.5 #.", "#.n +.u y t r e w q X . o.4 #.", "#.v +.@.@.@.@.@.@.@.@.@.@.+.1 #.", "#.x +.M M M M M M M M M M +., #.", "#.l +.M @.C @.@.@.A @.@.@.{ : #.", "#.h o.C A A A H K Z K K Y _ * #.", "#.g O.J @.K @.@.@.H @.@.@.) @ #.", "#.a o.U U U U U Y Z A K H / @ #.", "#.a .Y @.W @.@.@.W O.@.@./ & #.", "#.9 .W E ! W E ! Y Y T Y / % #.", "#.8 .^ @.! @.@.@.A @.@.@./ & #.", "#.5 .[ ] ' ` _ / / / / / / % #.", "#.4 2 < , ; = @ O O O O O O o #.", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#." }; stimfit-0.14.11/src/stimfit/res/resultset_next.xpm0000755000175200017520000000235712277666257017175 00000000000000/* XPM */ static const char *resultset_next[] = { /* columns rows colors chars-per-pixel */ "16 16 55 1", " c #1441B7", ". c #1545B9", "X c #164ABD", "o c #1750BD", "O c #164EC0", "+ c #1853C0", "@ c #1859C4", "# c #1959C6", "$ c #1A62C6", "% c #1A62C9", "& c #236ECD", "* c #2C72CD", "= c #3B71CC", "- c #3C74CF", "; c #3577D2", ": c #3D77D0", "> c #3F7AD0", ", c #437FD3", "< c #4384D6", "1 c #4784D6", "2 c #4B88D6", "3 c #538EDB", "4 c #6095DD", "5 c #6197DD", "6 c #72A1DF", "7 c #75A3DF", "8 c #6297E1", "9 c #6EA0E2", "0 c #74A3E0", "q c #74A2E2", "w c #77A4E0", "e c #75A4E3", "r c #79A6E0", "t c #79A7E6", "y c #7CA9E1", "u c #7EA8E1", "i c #7CA9E8", "p c #7EA9E8", "a c #81ABE2", "s c #80AAE3", "d c #81ABE3", "f c #87AFE4", "g c #80ABE8", "h c #80ABEA", "j c #8AB1E4", "k c #87B0E8", "l c #90B5E7", "z c #92B7E8", "x c #99BBE9", "c c #99BBEA", "v c #A1C1EC", "b c #A3C2ED", "n c #A8C7EE", "m c #ADC8EF", "M c None", /* pixels */ "MMMMMMMMMMMMMMMM", "MMMMMMMMMMMMMMMM", "MMMMhpMMMMMMMMMM", "MMMMhiqMMMMMMMMM", "MMMMtmk4MMMMMMMM", "MMMM9nbe1MMMMMMM", "MMMM8vzx5*MMMMMM", "MMMM3cssj2$MMMMM", "MMMM&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/stimfit DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/stfconf.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkglibdir)" LTLIBRARIES = $(pkglib_LTLIBRARIES) am__DEPENDENCIES_1 = libstimfit_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ ../libstfio/libstfio.la ../libstfnum/libstfnum.la am_libstimfit_la_OBJECTS = libstimfit_la-stf.lo libstimfit_la-app.lo \ libstimfit_la-unopt.lo libstimfit_la-doc.lo \ libstimfit_la-stfcheckbox.lo libstimfit_la-copygrid.lo \ libstimfit_la-graph.lo libstimfit_la-printout.lo \ libstimfit_la-parentframe.lo libstimfit_la-childframe.lo \ libstimfit_la-view.lo libstimfit_la-table.lo \ libstimfit_la-zoom.lo libstimfit_la-convertdlg.lo \ libstimfit_la-cursorsdlg.lo libstimfit_la-eventdlg.lo \ libstimfit_la-fitseldlg.lo libstimfit_la-smalldlgs.lo \ libstimfit_la-usrdlg.lo libstimfit_la_OBJECTS = $(am_libstimfit_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libstimfit_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) $(libstimfit_la_LDFLAGS) \ $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libstimfit_la_SOURCES) DIST_SOURCES = $(libstimfit_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ GT_CPPFLAGS = @GT_CPPFLAGS@ GT_CXXFLAGS = @GT_CXXFLAGS@ GT_LDFLAGS = @GT_LDFLAGS@ GT_LIBS = @GT_LIBS@ HDF5_CFLAGS = @HDF5_CFLAGS@ HDF5_LIBS = @HDF5_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBBIOSIG_LDFLAGS = @LIBBIOSIG_LDFLAGS@ LIBHDF5_LDFLAGS = @LIBHDF5_LDFLAGS@ LIBLAPACK_LDFLAGS = @LIBLAPACK_LDFLAGS@ LIBNUMPY_INCLUDES = @LIBNUMPY_INCLUDES@ LIBOBJS = @LIBOBJS@ LIBPYTHON_INCLUDES = @LIBPYTHON_INCLUDES@ LIBPYTHON_LDFLAGS = @LIBPYTHON_LDFLAGS@ LIBS = @LIBS@ LIBSTF_LDFLAGS = @LIBSTF_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MACSETFILE = @MACSETFILE@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPT_CXXFLAGS = @OPT_CXXFLAGS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTLINK_COMMAND = @POSTLINK_COMMAND@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_DIST_PKG = @PYTHON_DIST_PKG@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ PYTHON_NUMPY_INCLUDE = @PYTHON_NUMPY_INCLUDE@ PYTHON_PRE_DIST_PKG = @PYTHON_PRE_DIST_PKG@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ PY_AC_VERSION = @PY_AC_VERSION@ RANLIB = @RANLIB@ REZ = @REZ@ SED = @SED@ SETFILE = @SETFILE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STFIO_PYTHON_LIBNAME = @STFIO_PYTHON_LIBNAME@ STF_PYTHON_LIBNAME = @STF_PYTHON_LIBNAME@ STRIP = @STRIP@ SWIG = @SWIG@ SWIG_LIB = @SWIG_LIB@ SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@ SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@ VERSION = @VERSION@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ pkglib_LTLIBRARIES = libstimfit.la libstimfit_la_SOURCES = ./stf.cpp \ ./gui/app.cpp ./gui/unopt.cpp ./gui/doc.cpp ./gui/stfcheckbox.cpp ./gui/copygrid.cpp ./gui/graph.cpp \ ./gui/printout.cpp ./gui/parentframe.cpp ./gui/childframe.cpp ./gui/view.cpp ./gui/table.cpp ./gui/zoom.cpp \ ./gui/dlgs/convertdlg.cpp ./gui/dlgs/cursorsdlg.cpp ./gui/dlgs/eventdlg.cpp \ ./gui/dlgs/fitseldlg.cpp ./gui/dlgs/smalldlgs.cpp \ ./gui/usrdlg/usrdlg.cpp libstimfit_la_CPPFLAGS = libstimfit_la_CXXFLAGS = $(OPT_CXXFLAGS) $(WX_CXXFLAGS) libstimfit_la_LDFLAGS = $(LIBPYTHON_LDFLAGS) $(LIBSTF_LDFLAGS) libstimfit_la_LIBADD = $(WX_LIBS) ../libstfio/libstfio.la ../libstfnum/libstfnum.la @BUILD_PYTHON_FALSE@PYTHON_ADDINCLUDES = # the application source, library search path, and link libraries @BUILD_PYTHON_TRUE@PYTHON_ADDINCLUDES = $(LIBPYTHON_INCLUDES) INCLUDES = $(PYTHON_ADDINCLUDES) all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/stimfit/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/stimfit/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ } uninstall-pkglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ done clean-pkglibLTLIBRARIES: -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) @list='$(pkglib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libstimfit.la: $(libstimfit_la_OBJECTS) $(libstimfit_la_DEPENDENCIES) $(EXTRA_libstimfit_la_DEPENDENCIES) $(AM_V_CXXLD)$(libstimfit_la_LINK) -rpath $(pkglibdir) $(libstimfit_la_OBJECTS) $(libstimfit_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-app.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-childframe.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-convertdlg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-copygrid.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-cursorsdlg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-doc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-eventdlg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-fitseldlg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-graph.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-parentframe.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-printout.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-smalldlgs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-stf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-stfcheckbox.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-table.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-unopt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-usrdlg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-view.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstimfit_la-zoom.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< libstimfit_la-stf.lo: ./stf.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-stf.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-stf.Tpo -c -o libstimfit_la-stf.lo `test -f './stf.cpp' || echo '$(srcdir)/'`./stf.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-stf.Tpo $(DEPDIR)/libstimfit_la-stf.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./stf.cpp' object='libstimfit_la-stf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-stf.lo `test -f './stf.cpp' || echo '$(srcdir)/'`./stf.cpp libstimfit_la-app.lo: ./gui/app.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-app.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-app.Tpo -c -o libstimfit_la-app.lo `test -f './gui/app.cpp' || echo '$(srcdir)/'`./gui/app.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-app.Tpo $(DEPDIR)/libstimfit_la-app.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/app.cpp' object='libstimfit_la-app.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-app.lo `test -f './gui/app.cpp' || echo '$(srcdir)/'`./gui/app.cpp libstimfit_la-unopt.lo: ./gui/unopt.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-unopt.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-unopt.Tpo -c -o libstimfit_la-unopt.lo `test -f './gui/unopt.cpp' || echo '$(srcdir)/'`./gui/unopt.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-unopt.Tpo $(DEPDIR)/libstimfit_la-unopt.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/unopt.cpp' object='libstimfit_la-unopt.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-unopt.lo `test -f './gui/unopt.cpp' || echo '$(srcdir)/'`./gui/unopt.cpp libstimfit_la-doc.lo: ./gui/doc.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-doc.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-doc.Tpo -c -o libstimfit_la-doc.lo `test -f './gui/doc.cpp' || echo '$(srcdir)/'`./gui/doc.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-doc.Tpo $(DEPDIR)/libstimfit_la-doc.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/doc.cpp' object='libstimfit_la-doc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-doc.lo `test -f './gui/doc.cpp' || echo '$(srcdir)/'`./gui/doc.cpp libstimfit_la-stfcheckbox.lo: ./gui/stfcheckbox.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-stfcheckbox.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-stfcheckbox.Tpo -c -o libstimfit_la-stfcheckbox.lo `test -f './gui/stfcheckbox.cpp' || echo '$(srcdir)/'`./gui/stfcheckbox.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-stfcheckbox.Tpo $(DEPDIR)/libstimfit_la-stfcheckbox.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/stfcheckbox.cpp' object='libstimfit_la-stfcheckbox.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-stfcheckbox.lo `test -f './gui/stfcheckbox.cpp' || echo '$(srcdir)/'`./gui/stfcheckbox.cpp libstimfit_la-copygrid.lo: ./gui/copygrid.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-copygrid.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-copygrid.Tpo -c -o libstimfit_la-copygrid.lo `test -f './gui/copygrid.cpp' || echo '$(srcdir)/'`./gui/copygrid.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-copygrid.Tpo $(DEPDIR)/libstimfit_la-copygrid.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/copygrid.cpp' object='libstimfit_la-copygrid.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-copygrid.lo `test -f './gui/copygrid.cpp' || echo '$(srcdir)/'`./gui/copygrid.cpp libstimfit_la-graph.lo: ./gui/graph.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-graph.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-graph.Tpo -c -o libstimfit_la-graph.lo `test -f './gui/graph.cpp' || echo '$(srcdir)/'`./gui/graph.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-graph.Tpo $(DEPDIR)/libstimfit_la-graph.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/graph.cpp' object='libstimfit_la-graph.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-graph.lo `test -f './gui/graph.cpp' || echo '$(srcdir)/'`./gui/graph.cpp libstimfit_la-printout.lo: ./gui/printout.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-printout.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-printout.Tpo -c -o libstimfit_la-printout.lo `test -f './gui/printout.cpp' || echo '$(srcdir)/'`./gui/printout.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-printout.Tpo $(DEPDIR)/libstimfit_la-printout.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/printout.cpp' object='libstimfit_la-printout.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-printout.lo `test -f './gui/printout.cpp' || echo '$(srcdir)/'`./gui/printout.cpp libstimfit_la-parentframe.lo: ./gui/parentframe.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-parentframe.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-parentframe.Tpo -c -o libstimfit_la-parentframe.lo `test -f './gui/parentframe.cpp' || echo '$(srcdir)/'`./gui/parentframe.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-parentframe.Tpo $(DEPDIR)/libstimfit_la-parentframe.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/parentframe.cpp' object='libstimfit_la-parentframe.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-parentframe.lo `test -f './gui/parentframe.cpp' || echo '$(srcdir)/'`./gui/parentframe.cpp libstimfit_la-childframe.lo: ./gui/childframe.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-childframe.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-childframe.Tpo -c -o libstimfit_la-childframe.lo `test -f './gui/childframe.cpp' || echo '$(srcdir)/'`./gui/childframe.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-childframe.Tpo $(DEPDIR)/libstimfit_la-childframe.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/childframe.cpp' object='libstimfit_la-childframe.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-childframe.lo `test -f './gui/childframe.cpp' || echo '$(srcdir)/'`./gui/childframe.cpp libstimfit_la-view.lo: ./gui/view.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-view.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-view.Tpo -c -o libstimfit_la-view.lo `test -f './gui/view.cpp' || echo '$(srcdir)/'`./gui/view.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-view.Tpo $(DEPDIR)/libstimfit_la-view.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/view.cpp' object='libstimfit_la-view.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-view.lo `test -f './gui/view.cpp' || echo '$(srcdir)/'`./gui/view.cpp libstimfit_la-table.lo: ./gui/table.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-table.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-table.Tpo -c -o libstimfit_la-table.lo `test -f './gui/table.cpp' || echo '$(srcdir)/'`./gui/table.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-table.Tpo $(DEPDIR)/libstimfit_la-table.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/table.cpp' object='libstimfit_la-table.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-table.lo `test -f './gui/table.cpp' || echo '$(srcdir)/'`./gui/table.cpp libstimfit_la-zoom.lo: ./gui/zoom.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-zoom.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-zoom.Tpo -c -o libstimfit_la-zoom.lo `test -f './gui/zoom.cpp' || echo '$(srcdir)/'`./gui/zoom.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-zoom.Tpo $(DEPDIR)/libstimfit_la-zoom.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/zoom.cpp' object='libstimfit_la-zoom.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-zoom.lo `test -f './gui/zoom.cpp' || echo '$(srcdir)/'`./gui/zoom.cpp libstimfit_la-convertdlg.lo: ./gui/dlgs/convertdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-convertdlg.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-convertdlg.Tpo -c -o libstimfit_la-convertdlg.lo `test -f './gui/dlgs/convertdlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/convertdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-convertdlg.Tpo $(DEPDIR)/libstimfit_la-convertdlg.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/dlgs/convertdlg.cpp' object='libstimfit_la-convertdlg.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-convertdlg.lo `test -f './gui/dlgs/convertdlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/convertdlg.cpp libstimfit_la-cursorsdlg.lo: ./gui/dlgs/cursorsdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-cursorsdlg.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-cursorsdlg.Tpo -c -o libstimfit_la-cursorsdlg.lo `test -f './gui/dlgs/cursorsdlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/cursorsdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-cursorsdlg.Tpo $(DEPDIR)/libstimfit_la-cursorsdlg.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/dlgs/cursorsdlg.cpp' object='libstimfit_la-cursorsdlg.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-cursorsdlg.lo `test -f './gui/dlgs/cursorsdlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/cursorsdlg.cpp libstimfit_la-eventdlg.lo: ./gui/dlgs/eventdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-eventdlg.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-eventdlg.Tpo -c -o libstimfit_la-eventdlg.lo `test -f './gui/dlgs/eventdlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/eventdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-eventdlg.Tpo $(DEPDIR)/libstimfit_la-eventdlg.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/dlgs/eventdlg.cpp' object='libstimfit_la-eventdlg.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-eventdlg.lo `test -f './gui/dlgs/eventdlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/eventdlg.cpp libstimfit_la-fitseldlg.lo: ./gui/dlgs/fitseldlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-fitseldlg.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-fitseldlg.Tpo -c -o libstimfit_la-fitseldlg.lo `test -f './gui/dlgs/fitseldlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/fitseldlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-fitseldlg.Tpo $(DEPDIR)/libstimfit_la-fitseldlg.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/dlgs/fitseldlg.cpp' object='libstimfit_la-fitseldlg.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-fitseldlg.lo `test -f './gui/dlgs/fitseldlg.cpp' || echo '$(srcdir)/'`./gui/dlgs/fitseldlg.cpp libstimfit_la-smalldlgs.lo: ./gui/dlgs/smalldlgs.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-smalldlgs.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-smalldlgs.Tpo -c -o libstimfit_la-smalldlgs.lo `test -f './gui/dlgs/smalldlgs.cpp' || echo '$(srcdir)/'`./gui/dlgs/smalldlgs.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-smalldlgs.Tpo $(DEPDIR)/libstimfit_la-smalldlgs.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/dlgs/smalldlgs.cpp' object='libstimfit_la-smalldlgs.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-smalldlgs.lo `test -f './gui/dlgs/smalldlgs.cpp' || echo '$(srcdir)/'`./gui/dlgs/smalldlgs.cpp libstimfit_la-usrdlg.lo: ./gui/usrdlg/usrdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -MT libstimfit_la-usrdlg.lo -MD -MP -MF $(DEPDIR)/libstimfit_la-usrdlg.Tpo -c -o libstimfit_la-usrdlg.lo `test -f './gui/usrdlg/usrdlg.cpp' || echo '$(srcdir)/'`./gui/usrdlg/usrdlg.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstimfit_la-usrdlg.Tpo $(DEPDIR)/libstimfit_la-usrdlg.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./gui/usrdlg/usrdlg.cpp' object='libstimfit_la-usrdlg.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstimfit_la_CPPFLAGS) $(CPPFLAGS) $(libstimfit_la_CXXFLAGS) $(CXXFLAGS) -c -o libstimfit_la-usrdlg.lo `test -f './gui/usrdlg/usrdlg.cpp' || echo '$(srcdir)/'`./gui/usrdlg/usrdlg.cpp mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(pkglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-pkglibLTLIBRARIES install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-pkglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-pkglibLTLIBRARIES cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-pkglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-pkglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: stimfit-0.14.11/src/stimfit/stf.cpp0000644000175200017520000000560012472345762014045 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file stf.cpp * \author Christoph Schmidt-Hieber * \date 2011-10-01 * \brief General functions for stf * * * Implements some general functions within the stf namespace */ #include "stf.h" #if 0 wxString stf::sectionToString(const Section& section) { wxString retString; retString << (int)section.size() << wxT("\n"); for (int n=0;n<(int)section.size();++n) { retString << section.GetXScale()*n << wxT("\t") << section[n] << wxT("\n"); } return retString; } wxString stf::CreatePreview(const wxString& fName) { ifstreamMan ASCIIfile( fName ); // Stop reading if we are either at the end or at line 100: wxString preview; ASCIIfile.myStream.ReadAll( &preview ); return preview; } #endif stf::wxProgressInfo::wxProgressInfo(const std::string& title, const std::string& message, int maximum, bool verbose) : ProgressInfo(title, message, maximum, verbose), pd(stf::std2wx(title), stf::std2wx(message), maximum, NULL, wxPD_SMOOTH | wxPD_AUTO_HIDE | wxPD_APP_MODAL ) { } bool stf::wxProgressInfo::Update(int value, const std::string& newmsg, bool* skip) { return pd.Update(value, stf::std2wx(newmsg), skip); } std::string stf::wx2std(const wxString& wxs) { #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) return wxs.ToStdString(); #else return std::string(wxs.mb_str()); #endif } wxString stf::std2wx(const std::string& sst) { #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) /* Problems with direct constructor; copying each character for the time being. return wxString(sst); */ wxString wxs; std::string::const_iterator it; for (it = sst.begin(); it != sst.end(); ++it) { if (*it < 0) wxs += ' '; else wxs += (char)*it; } return wxs; #else return wxString(sst.c_str(), wxConvUTF8); #endif } stf::SectionAttributes::SectionAttributes() : eventList(),pyMarkers(),isFitted(false), isIntegrated(false),fitFunc(NULL),bestFitP(0),quad_p(0),storeFitBeg(0),storeFitEnd(0), storeIntBeg(0),storeIntEnd(0),bestFit(0,0) {} stf::SectionPointer::SectionPointer(Section* pSec, const stf::SectionAttributes& sa) : pSection(pSec), sec_attr(sa) {} stimfit-0.14.11/src/stimfit/Makefile.am0000755000175200017520000000163312521540625014574 00000000000000pkglib_LTLIBRARIES = libstimfit.la libstimfit_la_SOURCES = ./stf.cpp \ ./gui/app.cpp ./gui/unopt.cpp ./gui/doc.cpp ./gui/stfcheckbox.cpp ./gui/copygrid.cpp ./gui/graph.cpp \ ./gui/printout.cpp ./gui/parentframe.cpp ./gui/childframe.cpp ./gui/view.cpp ./gui/table.cpp ./gui/zoom.cpp \ ./gui/dlgs/convertdlg.cpp ./gui/dlgs/cursorsdlg.cpp ./gui/dlgs/eventdlg.cpp \ ./gui/dlgs/fitseldlg.cpp ./gui/dlgs/smalldlgs.cpp \ ./gui/usrdlg/usrdlg.cpp libstimfit_la_CPPFLAGS = libstimfit_la_CXXFLAGS = $(OPT_CXXFLAGS) $(WX_CXXFLAGS) libstimfit_la_LDFLAGS = $(LIBPYTHON_LDFLAGS) $(LIBSTF_LDFLAGS) libstimfit_la_LIBADD = $(WX_LIBS) ../libstfio/libstfio.la ../libstfnum/libstfnum.la # the application source, library search path, and link libraries if BUILD_PYTHON PYTHON_ADDINCLUDES = $(LIBPYTHON_INCLUDES) else PYTHON_ADDINCLUDES = endif INCLUDES = $(PYTHON_ADDINCLUDES) stimfit-0.14.11/src/stimfit/py/0000755000175200017520000000000012623045305013240 500000000000000stimfit-0.14.11/src/stimfit/py/mintools.py0000755000175200017520000000200412277666257015421 00000000000000""" 2008-04-11, C. Schmidt-Hieber Some helper functions for least-squares mimization using SciPy """ from scipy.optimize import leastsq import numpy as np import stf def fexpbde(p,x): tpeak = p[3]*p[1]*np.log(p[3]/p[1])/(p[3]-p[1]) adjust = 1.0/((1.0-np.exp(-tpeak/p[3]))-(1.0-np.exp(-tpeak/p[1]))); e1=np.exp((p[0]-x)/p[1]); e2=np.exp((p[0]-x)/p[3]); # normalize the amplitude so that the peak really is the peak: ret = adjust*p[2]*e1 - adjust*p[2]*e2 + stf.get_base(); start_index = 0 for elem in x: if ( elem < p[0] ): start_index = start_index+1 else: break ret[ 0 : start_index ] = stf.get_base() return ret def leastsq_stf(p,y,lsfunc,x): return y - lsfunc(p,x) def stf_fit( p0, lsfunc ): data = stf.get_trace()[ stf.get_fit_start() : stf.get_fit_end() ] dt = stf.get_sampling_interval() x = np.arange(0, len(data)*dt, dt) plsq = leastsq(leastsq_stf, p0, args=(data, lsfunc, x)) return plsq[0] stimfit-0.14.11/src/stimfit/py/pystf.i0000755000175200017520000017765612472352307014535 00000000000000#if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic ignored "-Wwrite-strings" #endif %define DOCSTRING "The stf module allows to access a running stimfit application from the embedded python shell." %enddef %module(docstring=DOCSTRING) stf %{ #define SWIG_FILE_WITH_INIT #include "pystf.h" %} %include "numpy.i" %include "std_string.i" %include "std_vector.i" namespace std { %template(vectord) vector; }; %init %{ import_array(); %} %define %apply_numpy_typemaps(TYPE) %apply (TYPE* IN_ARRAY1, int DIM1) {(TYPE* invec, int size)}; %apply (TYPE* IN_ARRAY2, int DIM1, int DIM2) {(TYPE* inarr, int traces, int size)}; %enddef /* %apply_numpy_typemaps() macro */ %apply_numpy_typemaps(double) //-------------------------------------------------------------------- %feature("autodoc", 0) get_versionstring; %feature("docstring", "Returns the current version of Stimfit.") get_versionstring; std::string get_versionstring( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_trace; %feature("kwargs") get_trace; %feature("docstring", """Returns a trace as a 1-dimensional NumPy array. Arguments: trace -- ZERO-BASED index of the trace within the channel. Note that this is one less than what is shown in the drop-down box. The default value of -1 returns the currently displayed trace. channel -- ZERO-BASED index of the channel. This is independent of whether a channel is active or not. The default value of -1 returns the currently active channel. Returns: The trace as a 1D NumPy array.""") get_trace; PyObject* get_trace(int trace=-1, int channel=-1); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) new_window; %feature("docstring", "Creates a new window showing a 1D NumPy array. Arguments: invec -- The NumPy array to be shown. Returns: True upon successful completion, false otherwise.") new_window; bool new_window( double* invec, int size ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) _new_window_gMatrix; %feature("docstring", "Creates a new window from the global matrix. Do not use directly.") _new_window_gMatrix; bool _new_window_gMatrix( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) new_window_matrix; %feature("docstring", "Creates a new window showing a 2D NumPy array. Arguments: inarr -- The NumPy array to be shown. First dimension are the traces, second dimension the sampling points within the traces. Returns: True upon successful completion, false otherwise.") new_window_matrix; bool new_window_matrix( double* inarr, int traces, int size ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) new_window_selected_this; %feature("docstring", "Creates a new window showing the selected traces of the current file. Returns: True if successful.") new_window_selected_this; bool new_window_selected_this( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) new_window_selected_all; %feature("docstring", "Creates a new window showing the selected traces of all open files. Returns: True if successful.") new_window_selected_all; bool new_window_selected_all( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) show_table; %feature("kwargs") show_table; %feature("docstring", "Shows a python dictionary in a results table. The dictionary has to have the form \"string\" : float Arguments: dict -- A dictionary with strings as key values and floating point numbers as values. caption -- An optional caption for the table. Returns: True if successful.") show_table; bool show_table( PyObject* dict, const char* caption = "Python table" ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) show_table_dictlist; %feature("kwargs") show_table_dictlist; %feature("docstring", "Shows a python dictionary in a results table. The dictionary has to have the form \"string\" : list. Arguments: dict -- A dictionary with strings as key values and lists of floating point numbers as values. caption -- An optional caption for the table. reverse -- If True, The table will be filled in column-major order, i.e. dictionary keys will become column titles. Setting it to False has not been implemented yet. Returns: True if successful.") show_table_dictlist; bool show_table_dictlist( PyObject* dict, const char* caption = "Python table", bool reverse = true ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_size_trace; %feature("kwargs") get_size_trace; %feature("docstring", "Retrieves the number of sample points of a trace. Arguments: trace -- ZERO-BASED index of the trace. Default value of -1 will use the currently displayed trace. Note that this is one less than what is displayed in the drop- down list. channel -- ZERO-BASED index of the channel. Default value of -1 will use the current channel. Returns: The number of sample points.") get_size_trace; int get_size_trace( int trace = -1, int channel = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_size_channel; %feature("kwargs") get_size_channel; %feature("docstring", "Retrieves the number of traces in a channel. Note that at present, stimfit only supports equal-sized channels, i.e. all channels within a file need to have the same number of traces. The channel argument is only for future extensions. Arguments: channel -- ZERO-BASED index of the channel. Default value of -1 will use the current channel. Returns: The number traces in a channel.") get_size_channel; int get_size_channel( int channel = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_maxdecay; %feature("docstring", "Retrieves the maximal slope of the decay between the peak cursors in the current trace. Uses the currently measured values, i.e. does not update measurements if the peak window cursors have changed. Returns: The maximal slope of the decay, -1.0 upon failure.") get_maxdecay; double get_maxdecay( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_maxrise; %feature("docstring", "Retrieves the maximal slope of the rise between the peak cursors in the current trace. Uses the currently measured values, i.e. does not update measurements if the peak window cursors have changed. Returns: The maximal slope of the rise, -1.0 upon failure.") get_maxrise; double get_maxrise( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_size_recording; %feature("docstring", "Retrieves the number of channels in a recording. Returns: The number of channels in a recording.") get_size_recording; int get_size_recording( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_sampling_interval; %feature("docstring", "Returns the sampling interval. Returns: The sampling interval.") get_sampling_interval; double get_sampling_interval( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_xunits; %feature("docstring", "Returns the x units of the specified section. X units are assumed to be the same for the entire file. Returns: The x units as a string.") get_xunits; const char* get_xunits( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_yunits; %feature("kwargs") get_yunits; %feature("docstring", "Returns the y units of the specified trace. Y units are not allowed to change between traces at present. Arguments: trace -- The zero-based index of the trace of interest. If < 0, the name of the active trace will be returned. channel -- The zero-based index of the channel of interest. If < 0, the active channel will be used. Returns: The x units as a string.") get_yunits; const char* get_yunits( int trace = -1, int channel = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_yunits; %feature("kwargs") set_yunits; %feature("docstring", "Sets the y unit string of the specified trace. Y units are not allowed to change between traces at present. Arguments: units -- The new y unit string. trace -- The zero-based index of the trace of interest. If < 0, the name of the active trace will be returned. channel -- The zero-based index of the channel of interest. If < 0, the active channel will be used. Returns: True if successful.") set_yunits; bool set_yunits( const char* units, int trace = -1, int channel = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_xunits; %feature("kwargs") set_xunits; %feature("docstring", "Sets the x unit string for the entire file. Arguments: units -- The new x unit string. Returns: True if successful.") set_xunits; bool set_xunits( const char* units ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_sampling_interval; %feature("docstring", "Sets a new sampling interval. Argument: si -- The new sampling interval. Returns: False upon failure.") set_sampling_interval; bool set_sampling_interval( double si ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) select_trace; %feature("kwargs") select_trace; %feature("docstring", "Selects a trace. Checks for out-of-range indices and stores the baseline along with the trace index. Arguments: trace -- ZERO-BASED index of the trace. Default value of -1 will select the currently displayed trace. Note that this is one less than what is displayed in the drop- down list. Returns: True if the trace could be selected, False otherwise.") select_trace; bool select_trace( int trace = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) select_all; %feature("docstring", "Selects all traces in the current file. Stores the baseline along with the trace index.") select_all; void select_all( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) unselect_all; %feature("docstring", "Unselects all previously selected traces in the current file.") unselect_all; void unselect_all( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) subtract_base; %feature("docstring", "Subtracts the baseline from the selected traces of the current file, then displays the subtracted traces in a new window. Returns: True if the subtraction was successful, False otherwise.") subtract_base; bool subtract_base( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) subtract_base; %feature("docstring", "Subtracts the baseline from the selected traces of the current file, then displays the subtracted traces in a new window. Returns: True if the subtraction was successful, False otherwise.") subtract_base; bool subtract_base( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) leastsq; %feature("kwargs") leastsq; %feature("docstring", "Fits a function to the data between the current fit cursors. Arguments: fselect -- Zero-based index of the function as it appears in the fit selection dialog. refresh -- To avoid flicker during batch analysis, this may be set to False so that the fitted function will not immediately be drawn. Returns: A dictionary with the best-fit parameters and the least-squared error, or a null pointer upon failure.") leastsq; PyObject* leastsq( int fselect, bool refresh = true ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_fit; %feature("kwargs") get_fit; %feature("docstring", "Get the waveform resulted from the fitting, if available. Arguments: trace -- The zero-based index of the trace of interest. If < 0, the name of the active trace will be returned. channel -- The zero-based index of the channel of interest. If < 0, the active channel will be used. Returns: A 2D Numpy array with the x-values of the fit in the first dimension, and the y-values in the second dimension. None if no fit is available.") get_fit; PyObject* get_fit( int trace = -1, int channel = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) leastsq_param_size; %feature("docstring", "Retrieves the number of parameters for a function. Arguments: fselect -- Zero-based index of the function as it appears in the fit selection dialog. Returns: The number of parameters for the function with index fselect, or a negative value upon failure.") leastsq_param_size; int leastsq_param_size( int fselect ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) check_doc; %feature("docstring", "Checks whether a file is open. Arguments: show_dialog -- True if an error dialog should be shown if no file is open. Returns: True if a file is open, False otherwise.") check_doc; bool check_doc( bool show_dialog=true ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_filename; %feature("docstring", "Returns the name of the current file.") get_filename; std::string get_filename( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) _gMatrix_resize; %feature("docstring", "Resizes the global matrix. Do not use directly. Arguments: channels -- New number of channels of the global matrix. sections -- New number of sections of the global matrix. ") _gMatrix_resize; void _gMatrix_resize( std::size_t channels, std::size_t sections ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) _gMatrix_at; %feature("docstring", "Sets the valarray at the specified position of the global matrix. Do not use directly. Arguments: invec -- The NumPy array to be used. channel -- The channel index within the global matrix. section -- The seciton index within the global matrix. ") _gMatrix_at; void _gMatrix_at( double* invec, int size, int channel, int section ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) _gNames_resize; %feature("docstring", "Resizes the global names. Do not use directly. Arguments: channels -- New number of channels of the global names. ") _gNames_resize; void _gNames_resize( std::size_t channels ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) _gNames_at; %feature("docstring", "Sets the channel name of the specifies channel. Do not use directly. Arguments: name -- The new channel name channel -- The channel index within the global names. ") _gNames_at; void _gNames_at( const char* name, int channel ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) file_open; %feature("docstring", "Opens a file. Arguments: filename -- The file to be opened. On Windows, use double back- slashes (\"\\\\\\\\\") between directories to avoid con- version to special characters such as \"\\\\t\" or \"\\\\n\". Example usage in Windows: file_open(\"C:\\\\\\data\\\\\\datafile.dat\") Example usage in Linux: file_open(\"/home/cs/data/datafile.dat\") This is surprisingly slow when called from python. Haven't figured out the reason yet. Returns: True if the file could be opened, False otherwise.") file_open; bool file_open( const char* filename ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) file_save; %feature("docstring", "Saves a file. Arguments: filename -- The file to be saved. On Windows, use double back- slashes (\"\\\\\\\\\") between directories to avoid con- version to special characters such as \"\\\\t\" or \"\\\\n\". Example usage in Windows: file_save(\"C:\\\\\\data\\\\\\datafile.dat\") Example usage in Linux: file_save(\"/home/cs/data/datafile.dat\") This is surprisingly slow when called from python. Haven't figured out the reason yet. Returns: True if the file could be saved, False otherwise.") file_save; bool file_save( const char* filename ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_recording_time; %feature("docstring", "Returns the time at which the recording was started as a string.") get_recording_time; const char* get_recording_time( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_recording_date; %feature("docstring", "Returns the date at which the recording was started as a string.") get_recording_date; const char* get_recording_date( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_recording_comment; %feature("docstring", "Returns a comment about the recording. ") get_recording_comment; std::string get_recording_comment( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_recording_date; %feature("docstring", "Sets a date about the recording. Argument: date -- A date string. Returns: True upon successful completion.") set_recording_date; bool set_recording_date( const char* date ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_recording_time; %feature("docstring", "Sets a time about the recording. Argument: time -- A time string. Returns: True upon successful completion.") set_recording_time; bool set_recording_time( const char* time ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_recording_comment; %feature("docstring", "Sets a comment about the recording. Argument: comment -- A comment string. Returns: True upon successful completion.") set_recording_comment; bool set_recording_comment( const char* comment ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_recording_comment; %feature("docstring", "Sets a comment about the recording. Argument: comment -- A comment string. Returns: True upon successful completion.") set_recording_comment; bool set_recording_comment( const char* comment ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) close_all; %feature("docstring", "Closes all open files. Returns: True if all files could be closed.") close_all; bool close_all( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) close_this; %feature("docstring", "Closes the currently active file. Returns: True if the file could be closed.") close_this; bool close_this( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_base; %feature("kwargs") get_base; %feature("docstring", "Returns the current baseline value. Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Arguments: active -- If True, returns the baseline in the active channel. If False returns the baseline within the reference channel. Returns: The current baseline.") get_base; double get_base( bool active = true); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_peak; %feature("docstring", "Returns the current peak value, measured from zero (!). Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Returns: The current peak value, measured from zero (again: !).") get_peak; double get_peak( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- #ifdef WITH_PSLOPE %feature("autodoc", 0) get_pslope; %feature("docstring", "Returns the slope, measured from slope cursor values defined in the cursors settings menu(!). This option is only available under GNU/Linux. Returns: The current slope value.") get_pslope; double get_pslope( ); #endif //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) peak_index; %feature("kwargs") peak_index; %feature("docstring", "Returns the zero-based index of the current peak position in the specified channel. Uses the currently measured values, i.e. does not update measurements if the peak window cursors have changed. Arguments: active -- If True, returns the current peak index of the active channel. Otherwise, returns the current peak index of the reference channel. Returns: The zero-based index in units of sampling points. May be interpolated if more than one point is used for the peak calculation. Returns a negative value upon failure.") peak_index; %callback("%s_cb"); double peak_index( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) maxrise_index; %feature("kwargs") maxrise_index; %feature("docstring", "Returns the zero-based index of the maximal slope of rise in the specified channel. Uses the currently measured values, i.e. does not update measurements if the peak window cursors have changed. Arguments: active -- If True, returns the current index of the maximal slope of rise within the active channel. Otherwise, returns the current index of the maximal slope of rise within the reference channel. Returns: The zero-based index of the maximal slope of rise in units of sampling points interpolated between adjacent sampling points. Returns a negative value upon failure.") maxrise_index; %callback("%s_cb"); double maxrise_index( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) maxdecay_index; %feature("docstring", "Returns the zero-based index of the maximal slope of decay in the current channel. Uses the currently measured values, i.e. does not update measurements if the peak window cursors have changed. Note that in contrast to maxrise_index, this function only works on the active channel. Returns: The zero-based index of the maximal slope of decay in units of sampling points interpolated between adjacent sampling points. Returns a negative value upon failure.") maxdecay_index; double maxdecay_index( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) foot_index; %feature("kwargs") foot_index; %feature("docstring", "Returns the zero-based index of the foot of an event in the active channel. The foot is the intersection of an interpolated line through the points of 20 and 80% rise with the baseline. Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Arguments: active -- If True, returns the current index of the foot within the active channel. Only implemented for the active channel at this time. Will return a negative value and show an error message if active == False. Returns: The zero-based index of the foot of an event in units of sampling points. Interpolates between sampling points. Returns a negative value upon failure.") foot_index; %callback("%s_cb"); double foot_index( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) t50left_index; %feature("kwargs") t50left_index; %feature("docstring", "Returns the zero-based index of the left half- maximal amplitude of an event in the specified channel. Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Arguments: active -- If True, returns the current index of the left half- maximal amplitude within the active channel. If False, returns the current index of the left half-maximal amplitude within the reference channel. Returns: The zero-based index of the left half-maximal amplitude in units of sampling points. Interpolates between sampling points. Returns a negative value upon failure.") t50left_index; %callback("%s_cb"); double t50left_index( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) t50right_index; %feature("kwargs") t50right_index; %feature("docstring", "Returns the zero-based index of the right half- maximal amplitude of an event in the active channel. Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Arguments: active -- If True, returns the current index of the right half- maximal amplitude within the active channel. Only implemented for the active channel at this time. Will return a negative value and show an error message if active == False. Returns: The zero-based index of the right half-maximal amplitude in units of sampling points. Interpolates between sampling points. Returns a negative value upon failure.") t50right_index; %callback("%s_cb"); double t50right_index( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_halfwidth; %feature("kwargs") get_halfwidth; %feature("docstring", "Returns the half-maximal amplitude of an event in the specified channel. Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Only implemented for the active channel. Arguments: active -- If True, returns the current half-maximal amplitude within the active channel. Returns: The half-maximal amplitude in units of x-units. Returns a negative value upon failure.") get_halfwidth; %callback("%s_cb"); double get_halfwidth( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) rtlow_index; %feature("kwargs") rtlow_index; %feature("docstring", "Returns the zero-based index of the lower rise- time of an event in the specified channel. Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Arguments: active -- If True, returns the current index within the active channel. If False, returns the current index within the reference channel. Returns: The zero-based index of the lower rise time in units of sampling points. Interpolates between sampling points. Returns a negative value upon failure.") rtlow_index; %callback("%s_cb"); double rtlow_index( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) rthigh_index; %feature("kwargs") rthigh_index; %feature("docstring", "Returns the zero-based index of the higher rise time of an event in the specified channel. Uses the currently measured values, i.e. does not update measurements if the peak or base window cursors have changed. Arguments: active -- If True, returns the current index within the active channel. If False, returns the current index within the reference channel. Returns: The zero-based index of the higher rise time in units of sampling points. Interpolates between sampling points. Returns a negative value upon failure.") rthigh_index; %callback("%s_cb"); double rthigh_index( bool active = true ); %nocallback; //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_threshold_time; %feature("kwargs") get_threshold_time; %feature("docstring", "Returns the crossing value of the threshold slope. Note that this value is not updated after changing the AP threshold. Call measure() or hit enter to update the cursors. Arguments: is_time -- If False (default), returns the zero-based index at which the threshold slope is crossed (e.g in mV). If True, returns the time point at which the threshold slope is crossed. A negative number is returned upon failure. ") get_threshold_time; double get_threshold_time( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_latency; %feature("docstring", "Returns the latency value (in x-units) determined by the latency cursors set in the cursors settings menu. Call measure() or hit enter to update the cursors. ") get_latency; double get_latency( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_risetime; %feature("docstring", "Returns the rise time (in x-units) determined by the linear interpolation between sampling points (e.g at 20% and 80% of the peak amplitude. ) Call measure() or hit enter to update the cursors. ") get_risetime; double get_risetime( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_risetime_factor; %feature("docstring", "Returns the lower proportion factor used to calculate the rise time (e.g 0.2 if we calculate the 20--80% rise time. ) ") get_risetime_factor; double get_risetime_factor( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_risetime_factor; %feature("kwargs") set_risetime_factor; %feature("docstring", "Sets the lower proportion factor to calculate the rise time (e.g 0.2 if we want to calculate the 20--80% rise time. ) It will update the rise time measurement. Arguments: factor -- the low proportion factor to calculate rise time Returns: False upon failure (such as factor lower than 0.05 or larger than 0.5) ") set_risetime_factor; bool set_risetime_factor(double factor); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_threshold_value; %feature("docstring", "Returns the value found at the threshold slope. Note that this value is not updated after changing the AP threshold. Call measure or hit enter to update the threshold. ") get_threshold_value; double get_threshold_value( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_fit_start; %feature("kwargs") get_fit_start; %feature("docstring", "Returns the zero-based index or the time point of the fit start cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position. ") get_fit_start; double get_fit_start( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_fit_end; %feature("kwargs") get_fit_end; %feature("docstring", "Returns the zero-based index or the time point of the fit end cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position. ") get_fit_end; double get_fit_end( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_fit_start; %feature("kwargs") set_fit_start; %feature("docstring", "Sets the fit start cursor to a new position. Arguments: pos -- The new cursor position, either in units of sampling points if is_time == False (default) or in units of time if is_time == True. is_time -- see above. Returns: False upon failure (such as out-of-range).") set_fit_start; bool set_fit_start( double pos, bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_fit_end; %feature("kwargs") set_fit_end; %feature("docstring", "Sets the fit end cursor to a new position. Arguments: pos -- The new cursor position, either in units of sampling points if is_time == False (default) or in units of time if is_time == True. is_time -- see above. Returns: False upon failure (such as out-of-range).") set_fit_end; bool set_fit_end( double pos, bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_peak_start; %feature("kwargs") get_peak_start; %feature("docstring", "Returns the zero-based index or the time point of the peak start cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position. ") get_peak_start; double get_peak_start( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_peak_end; %feature("kwargs") get_peak_end; %feature("docstring", "Returns the zero-based index or the time point of the peak end cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position. ") get_peak_end; double get_peak_end( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_peak_start; %feature("kwargs") set_peak_start; %feature("docstring", "Sets the peak start cursor to a new position. This will NOT update the peak calculation. You have to either call measure() or hit enter in the main window to achieve that. Arguments: pos -- The new cursor position, either in units of sampling points if is_time == False (default) or in units of time if is_time == True. is_time -- see above. Returns: False upon failure (such as out-of-range).") set_peak_start; bool set_peak_start( double pos, bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_peak_end; %feature("kwargs") set_peak_end; %feature("docstring", "Sets the peak end cursor to a new position. This will NOT update the peak calculation. You have to either call measure() or hit enter in the main window to achieve that. Arguments: pos -- The new cursor position, either in units of sampling points if is_time == False (default) or in units of time if is_time == True. is_time -- see above. Returns: False upon failure (such as out-of-range).") set_peak_end; bool set_peak_end( double pos, bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_peak_mean; %feature("docstring", "Sets the number of points used for the peak calculation. Arguments: pts -- A moving average (aka sliding, boxcar or running average) is used to determine the peak value. Pts specifies the number of sampling points used for the moving window. Passing a value of -1 will calculate the average of all sampling points within the peak window. Returns: False upon failure (such as out-of-range).") set_peak_mean; bool set_peak_mean( int pts ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_peak_mean; %feature("docstring", "Returns the number of sampling points used for the peak calculation. Returns: 0 upon failure (i.e no file opened). -1 means average of all sampling points within the peak window.") get_peak_mean; int get_peak_mean( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_peak_direction; %feature("docstring", "Sets the direction of the peak detection. Arguments: direction -- A string specifying the peak direction. Can be one of: \"up\", \"down\" or \"both\" Returns: False upon failure.") set_peak_direction; bool set_peak_direction( const char* direction ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_peak_direction; %feature("docstring", "Gets the current direction of the detection for the peak cursors. Returns: A string specifying the peak direction. Can be one of: \"up\", \"down\" or \"both\"") get_peak_direction; const char* get_peak_direction( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_latency_start_mode; %feature("docstring", "Sets the mode of the latency start cursor. Arguments: direction -- A string specifying the mode for the latency start cursor. Can be one of \"manual\", \"peak\", \"rise\" or \"half\" Returns: False upon failure.") set_latency_start_mode; bool set_latency_start_mode( const char* mode ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_baseline_method; %feature("docstring", "Gets the method used to compute the baseline Returns: A string specifying the method to compute the baseline. Can be one of \"mean\" or \"median\"") get_baseline_method; const char* get_baseline_method( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_baseline_method; %feature("docstring", "Sets the method to compute the baseline. Arguments: method -- A string specifying the method to calculate the baseline. Can be one of \"mean\" or \"median\" Returns: False upon failure.") set_baseline_method; bool set_baseline_method( const char* method ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_latency_start_mode; %feature("docstring", "Gets the latency start mode Returns: A string specifying the latency start mode. Can be one of \"manual\", \"peak\", \"rise\" or \"half\"") get_latency_start_mode; const char* get_latency_start_mode( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_latency_end_mode; %feature("docstring", "Sets the mode of the latency end cursor. Arguments: direction -- A string specifying the mode for the latency end cursor. Can be one of \"manual\", \"peak\", \"rise\", \"foot\" or \"half\" Returns: False upon failure.") set_latency_end_mode; bool set_latency_end_mode( const char* mode ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_latency_end_mode; %feature("docstring", "Gets the latency end mode Returns: A string specifying the latency end mode. Can be one of \"manual\", \"peak\", \"rise\", \"foot\" or \"half\"") get_latency_end_mode; const char* get_latency_end_mode( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_latency_start; %feature("kwargs") get_latency_start; %feature("docstring", "Returns the zero-based index or the time point of the latency start cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position.") get_latency_start; double get_latency_start( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_latency_end; %feature("kwargs") get_latency_end; %feature("docstring", "Returns the zero-based index or the time point of the latency end cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position.") get_latency_end; double get_latency_end( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_base_start; %feature("kwargs") get_base_start; %feature("docstring", "Returns the zero-based index or the time point of the base start cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position.") get_base_start; double get_base_start( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_base_end; %feature("kwargs") get_base_end; %feature("docstring", "Returns the zero-based index or the time point of the base end cursor. Arguments: is_time -- If False (default), returns the zero-based index. If True, returns the time from the beginning of the trace to the cursor position.") get_base_end; double get_base_end( bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_base_start; %feature("kwargs") set_base_start; %feature("docstring", "Sets the base start cursor to a new position. This will NOT update the baseline calculation. You have to either call measure() or hit enter in the main window to achieve that. Arguments: pos -- The new cursor position, either in units of sampling points if is_time == False (default) or in units of time if is_time == True. is_time -- see above. Returns: False upon failure (such as out-of-range).") set_base_start; bool set_base_start( double pos, bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_base_end; %feature("kwargs") set_base_end; %feature("docstring", "Sets the base end cursor to a new position. This will NOT update the baseline calculation. You have to either call measure() or hit enter in the main window to achieve that. Arguments: pos -- The new cursor position, either in units of sampling points if is_time == False (default) or in units of time if is_time == True. is_time -- see above. Returns: False upon failure (such as out-of-range).") set_base_end; bool set_base_end( double pos, bool is_time = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_slope; %feature("docstring", "Sets the AP threshold to the value given by the slope and takes it as reference for AP kinetic measurements. Note that you have to either call measure() or hit enter to update calculations. Arguments: slope -- slope value in mV/ms Returns: False upon failure (such as out-of-range).") set_slope; bool set_slope( double slope); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) measure; %feature("docstring", "Updates all measurements (e.g. peak, baseline, latency) according to the current cursor settings. As if you had pressed \"Enter\" in the main window. Returns: False upon failure, True otherwise.") measure; bool measure( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_selected_indices; %feature("docstring", "Returns a tuple with the indices (ZERO-BASED) of the selected traces.") get_selected_indices; PyObject* get_selected_indices( ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_trace; %feature("docstring", "Sets the currently displayed trace to a new index. Subsequently updates all measurements (e.g. peak, base, latency, i.e. you don't need to call measure() yourself.) Arguments: trace -- The zero-based index of the new trace to be displayed. Returns: True upon success, false otherwise (such as out-of-range).") set_trace; bool set_trace( int trace ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_trace_index; %feature("docstring", "Returns the ZERO-BASED index of the currently displayed trace (this is one less than what is shown in the combo box). ") get_trace_index; int get_trace_index(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_channel_index; %feature("kwargs") get_channel_index; %feature("docstring", "Returns the ZERO-BASED index of the specified channel. Arguments: active -- If True, returns the index of the active (black) channel. If False, returns the index of the reference (red) channel. ") get_channel_index; int get_channel_index( bool active = true ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_channel_name; %feature("kwargs") get_channel_name; %feature("docstring", "Returns the name of the channel with the specified index. Arguments: index -- The zero-based index of the channel of interest. If < 0, the name of the active channel will be returned. Returns: the name of the channel with the specified index.") get_channel_name; const char* get_channel_name( int index = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_channel; %feature("docstring", "Sets the currently displayed channel to a new index. Subsequently updates all measurements (e.g. peak, base, latency, i.e. you don't need to call measure() yourself.) Arguments: channel -- The zero-based index of the new trace to be displayed. Returns: True upon success, false otherwise (such as out-of-range).") set_channel; bool set_channel( int channel); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_channel_name; %feature("kwargs") set_channel_name; %feature("docstring", "Sets the name of the channel with the specified index. Arguments: name -- The new name of the channel. index -- The zero-based index of the channel of interest. If < 0, the active channel will be used. Returns: True upon success.") set_channel_name; bool set_channel_name( const char* name, int index = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) get_trace_name; %feature("kwargs") get_trace_name; %feature("docstring", "Returns the name of the trace with the specified index. Arguments: trace -- The zero-based index of the trace of interest. If < 0, the name of the active trace will be returned. channel -- The zero-based index of the channel of interest. If < 0, the active channel will be used. Returns: the name of the trace with the specified index.") get_trace_name; const char* get_trace_name( int trace = -1, int channel = -1 ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) align_selected; %feature("kwargs") align_selected; %feature("docstring", "Aligns the selected traces to the index that is returned by the alignment function, and then creates a new window showing the aligned traces. This function requires to select the traces of interest and the presence of a second (i.e reference) channel. Arguments: alignment -- The alignment function to be used. Accepts any function returning a valid index within a trace. These are some predefined possibilities: maxrise_index (default; maximal slope during rising phase) peak_index (Peak of an event) foot_index (Beginning of an event) t50left_index t50right_index (Left/right half-maximal amplitude) active -- If True, the alignment function will be applied to the active channel. If False (default), it will be applied to the reference channel. zeropad -- Not yet implemented: If True, missing parts at the beginning or end of a trace will be padded with zeros after the alignment. If False (default), traces will be cropped so that all traces have equal sizes. ") align_selected; void align_selected( double (*alignment)( bool ), bool active = false ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) set_marker; %feature("docstring", "Sets a marker to the specified position in the current trace. Arguments: x -- The horizontal marker position in units of sampling points. y -- The vertical marker position in measurement units (e.g. mV). Returns: False upon failure (such as out-of-range).") set_marker; bool set_marker( double x, double y ); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) erase_markers; %feature("docstring", "Erases all markers in the current trace. Returns: False upon failure.") erase_marker; bool erase_markers(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) plot_xmin; %feature("docstring", "Returns x value of the left screen border") plot_xmin; double plot_xmin(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) plot_xmax; %feature("docstring", "Returns x value of the right screen border") plot_xmax; double plot_xmax(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) plot_ymin; %feature("docstring", "Returns y value of the bottom screen border") plot_ymin; double plot_ymin(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) plot_ymax; %feature("docstring", "Returns y value of the top screen border") plot_ymax; double plot_ymax(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) plot_y2min; %feature("docstring", "Returns y value of the bottom screen border for the reference channel") plot_y2min; double plot_y2min(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) plot_y2max; %feature("docstring", "Returns y value of the top screen border for the reference channel") plot_y2max; double plot_y2max(); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %feature("autodoc", 0) mpl_panel; %feature("kwargs") mpl_panel; %feature("docstring", "Returns a pointer to the parent window") mpl_panel; PyObject* mpl_panel(const std::vector& figsize = std::vector(_figsize, _figsize+2)); //-------------------------------------------------------------------- //-------------------------------------------------------------------- %pythoncode { class StfException(Exception): """ raises Exceptions for the Stfio module """ def __init__(self, error_msg): self.msg = error_msg def __str__(self): return repr(self.msg) def new_window_list( array_list ): """Creates a new window showing a sequence of 1D NumPy arrays, or a sequence of a sequence of 1D NumPy arrays. As opposed to new_window_matrix(), this has the advantage that the arrays need not have equal sizes. Arguments: array_list -- A sequence (e.g. list or tuple) of numpy arrays, or a sequence of a sequence of numpy arrays. Returns: True upon successful completion, false otherwise. """ try: it = iter(array_list) except TypeError: print( "Argument is not a sequence" ) return False try: it = iter(array_list[0]) except TypeError: print( "Argument is not a sequence of sequences." ) print( "You can either pass a sequence of 1D NumPy arrays," ) print( "Or a sequence of sequences of 1D NumPy arrays." ) return False is_3d = True try: it = iter(array_list[0][0]) except TypeError: is_3d = False n_channels = 1 if is_3d: n_channels = len(array_list) _gMatrix_resize( n_channels, len(array_list[0]) ) for (n_c, c) in enumerate(array_list): for (n_s, s) in enumerate(c): _gMatrix_at( s, n_c, n_s ) else: _gMatrix_resize( n_channels, len(array_list) ) for (n, a) in enumerate(array_list): _gMatrix_at( a, 0, n ) return _new_window_gMatrix( ) def stfio_open(stfio_rec): """Open an stfio recording object with Stimfit Arguments: stfio_rec -- An stfio recording object, e.g. opened with stfio.read("filename") Returns: True upon successful completion, false otherwise. """ n_channels = len(stfio_rec) _gMatrix_resize( n_channels, len(stfio_rec[0]) ) for n_c, c in enumerate(stfio_rec): for n_s, s in enumerate(c): _gMatrix_at( c[n_s].asarray(), n_c, n_s ) succ = _new_window_gMatrix( ) if not succ: return False for n_c, c in enumerate(stfio_rec): set_channel_name(c.name, n_c) set_yunits(c.yunits, n_c) set_recording_date(stfio_rec.date) set_recording_time(stfio_rec.time) set_recording_comment(stfio_rec.comment) set_xunits(stfio_rec.xunits) set_sampling_interval(stfio_rec.dt) measure() return True def cut_traces( pt ): """Cuts the selected traces at the sampling point pt, and shows the cut traces in a new window. Returns True upon success, False upon failure.""" if not get_selected_indices(): print( "Trace is not selected!" ) return False new_list = list() for n in get_selected_indices(): if not set_trace(n): return False if pt < get_size_trace(): new_list.append( get_trace()[:pt] ) new_list.append( get_trace()[pt:] ) else: print( "Cutting point %d is out of range" %pt ) if len(new_list) > 0: new_window_list( new_list ) return True def cut_traces_multi( pt_list ): """Cuts the selected traces at the sampling points in pt_list and shows the cut traces in a new window. Returns True upon success, False upon failure.""" if not get_selected_indices(): print( "Trace is not selected!" ) return False new_list = list() for n in get_selected_indices(): if not set_trace(n): return False old_pt = 0 for pt in pt_list: if pt < get_size_trace(): new_list.append( get_trace()[old_pt:pt] ) old_pt = pt else: print( "Cutting point %d is out of range" %pt ) if len(new_list) > 0: new_list.append( get_trace()[old_pt:] ) new_window_list( new_list ) return True def template_matching(template, mode="criterion", norm=True, lowpass=0.5, highpass=0.0001): import sys sys.stderr.write("template_matching is deprecated. Use detect_events instead.\n") return detect_events(template, mode, norm, lowpass, highpass) def detect_events(template, mode="criterion", norm=True, lowpass=0.5, highpass=0.0001): if not check_doc(): return None import stfio return stfio.detect_events(get_trace(), template, get_sampling_interval(), mode, norm, lowpass, highpass) def peak_detection(data, threshold, min_distance): import stfio return stfio.peak_detection(data, threshold, distance) class _cursor_pair(object): def __init__(self, get_start, set_start, get_end, set_end, get_value=None, index=None): self._get_start = get_start self._set_start = set_start self._get_end = get_end self._set_end = set_end self._get_value = get_value self._index = index def _get_cursors(self, is_time): if not check_doc(show_dialog=False): raise StfException("Couldn't find open file") return (self._get_start(is_time=is_time), self._get_end(is_time=is_time)) def _set_cursors(self, cursors, is_time): if not check_doc(show_dialog=False): raise StfException("Couldn't find open file") try: if len(cursors) != 2: raise ValueError("cursors has to have length 2 when setting the time value") except TypeError: raise TypeError("cursors has to be a tuple or list of length 2") if cursors[0] is not None: self._set_start(cursors[0], is_time=is_time) if cursors[1] is not None: self._set_end(cursors[1], is_time=is_time) @property def cursor_time(self): return self._get_cursors(True) @cursor_time.setter def cursor_time(self, cursors): self._set_cursors(cursors, True) @property def cursor_index(self): return self._get_cursors(False) @cursor_index.setter def cursor_index(self, cursors): self._set_cursors(cursors, False) @property def value(self): if self._get_value is None: raise AttributeError("Missing _get_value function") return self._get_value() @property def index(self): if self._index is None: raise AttributeError("Missing _index function") return self._index() base = _cursor_pair(get_base_start, set_base_start, get_base_end, set_base_end, get_base) peak = _cursor_pair(get_peak_start, set_peak_start, get_peak_end, set_peak_end, get_peak, peak_index) fit = _cursor_pair(get_fit_start, set_fit_start, get_fit_end, set_fit_end) } //-------------------------------------------------------------------- stimfit-0.14.11/src/stimfit/py/spells.py0000644000175200017520000004327212606532726015055 00000000000000""" spells.py Python recipes to solve frequently requested tasks with Stimfit. You can find a complete description of these functions in the Stimfit online documentation (http://www.stimfit.org/doc/sphinx/index.html) Check "The Stimfit Book of Spells" for details. Authors: Jose Guzman, Alois Schloegl and Christoph Schmidt-Hieber Last change: Tue Dec 16 10:50:15 CET 2014 """ import numpy as np # stimfit python module: import stf import wx # see APFrame class import wx.grid # see APFrame class from math import ceil, floor def resistance( base_start, base_end, peak_start, peak_end, amplitude): """Calculates the resistance from a series of voltage clamp traces. Keyword arguments: base_start -- Starting index (zero-based) of the baseline cursors. base_end -- End index (zero-based) of the baseline cursors. peak_start -- Starting index (zero-based) of the peak cursors. peak_end -- End index (zero-based) of the peak cursors. amplitude -- Amplitude of the voltage command. Returns: The resistance. """ if not stf.check_doc(): print('Couldn\'t find an open file; aborting now.') return 0 #A temporary array to calculate the average: array = np.empty( (stf.get_size_channel(), stf.get_size_trace()) ) for n in range( 0, stf.get_size_channel() ): # Add this trace to set: array[n] = stf.get_trace( n ) # calculate average and create a new section from it: stf.new_window( np.average(set, 0) ) # set peak cursors: # -1 means all points within peak window. if not stf.set_peak_mean(-1): return 0 if not stf.set_peak_start(peak_start): return 0 if not stf.set_peak_end(peak_end): return 0 # set base cursors: if not stf.set_base_start(base_start): return 0 if not stf.set_base_end(base_end): return 0 # measure everything: stf.measure() # calculate r_seal and return: return amplitude / (stf.get_peak()-stf.get_base()) def rmean(binwidth, trace=-1, channel=-1): """ Calculates a running mean of a single trace Arguments: binwidth -- size of the bin in sampling points (pt). Obviously, it should be smaller than the length of the trace. trace: -- ZERO-BASED index of the trace within the channel. Note that this is one less than what is shown in the drop-down box. The default value of -1 returns the currently displayed trace. channel -- ZERO-BASED index of the channel. This is independent of whether a channel is active or not. The default value of -1 returns the currently active channel. Returns: A smoothed traced in a new stf window. """ # loads the current trace of the channel in a 1D Numpy Array sweep = stf.get_trace(trace, channel) # creates a destination python list to append the data dsweep = np.empty((len(sweep))) # running mean algorithm for i in range(len(sweep)): if (len(sweep)-i) > binwidth: # append to list the running mean of `binwidth` values # np.mean(sweep) calculates the mean of list dsweep[i] = np.mean( sweep[i:(binwidth+i)] ) else: # use all remaining points for the average: dsweep[i] = np.mean( sweep[i:] ) stf.new_window(dsweep) def get_amplitude(base, peak, delta, trace=None): """ Calculates the amplitude deviation (peak-base) in units of the Y-axis Arguments: base -- Starting point (in ms) of the baseline cursor. peak -- Starting point (in ms) of the peak cursor. delta -- Time interval to calculate baseline/find the peak. trace -- Zero-based index of the trace to be processed, if None then current trace is computed. Returns: A float with the variation of the amplitude. False if Example: get_amplitude(980,1005,10,i) returns the variation of the Y unit of the trace i between peak value (10050+10) msec and baseline (980+10) msec """ # sets the current trace or the one given in trace if trace is None: sweep = stf.get_trace_index() else: if type(trace) != int: print('trace argument admits only intergers') return False sweep = trace # set base cursors: if not(stf.set_base_start(base, True)): return False # out-of range if not(stf.set_base_end(base+delta, True)): return False # set peak cursors: if not(stf.set_peak_start(peak, True)): return False # out-of range if not(stf.set_peak_end(peak+delta, True)): return False # update measurements stf.set_trace(sweep) amplitude = stf.get_peak()-stf.get_base() return amplitude def cut_sweeps(start, delta, sequence=None): """ Cuts a sequence of traces and present them in a new window. Arguments: start -- starting point (in ms) to cut. delta -- time interval (in ms) to cut sequence -- list of indices to be cut. If None, every trace in the channel will be cut. Returns: A new window with the traced cut. Examples: cut_sweeps(200,300) cut the traces between t=200 ms and t=500 ms within the whole channel. cut_sweeps(200,300,range(30,60)) the same as above, but only between traces 30 and 60. cut_sweeps(200,300,stf.get_selected_indices()) cut between 200 ms and 500 ms only in the selected traces. """ # select every trace in the channel if not selection is given in sequence if sequence is None: sequence = range(stf.get_size_channel()) # transform time into sampling points dt = stf.get_sampling_interval() pstart = int( round(start/dt) ) pdelta = int( round(delta/dt) ) # creates a destination python list dlist = [ stf.get_trace(i)[pstart:(pstart+pdelta)] for i in sequence ] return stf.new_window_list(dlist) def count_events(start, delta, threshold=0, up=True, trace=None, mark=True): """ Counts the number of events (e.g action potentials (AP)) in the current trace. Arguments: start -- starting time (in ms) to look for events. delta -- time interval (in ms) to look for events. threshold -- (optional) detection threshold (default = 0). up -- (optional) True (default) will look for upward events, False downwards. trace -- (optional) zero-based index of the trace in the current channel, if None, the current trace is selected. mark -- (optional) if True (default), set a mark at the point of threshold crossing Returns: An integer with the number of events. Examples: count_events(500,1000) returns the number of events found between t=500 ms and t=1500 ms above 0 in the current trace and shows a stf marker. count_events(500,1000,0,False,-10,i) returns the number of events found below -10 in the trace i and shows the corresponding stf markers. """ # sets the current trace or the one given in trace. if trace is None: sweep = stf.get_trace_index() else: if type(trace) !=int: print('trace argument admits only integers') return False sweep = trace # set the trace described in sweep stf.set_trace(sweep) # transform time into sampling points dt = stf.get_sampling_interval() pstart = int( round(start/dt) ) pdelta = int( round(delta/dt) ) # select the section of interest within the trace selection = stf.get_trace()[pstart:(pstart+pdelta)] # algorithm to detect events event_counter, i = 0, 0 # set counter and index to zero # choose comparator according to direction: if up: comp = lambda a, b: a > b else: comp = lambda a, b: a < b # run the loop while i < len(selection): if comp(selection[i], threshold): event_counter += 1 if mark: stf.set_marker(pstart+i, selection[i]) while i < len(selection) and comp(selection[i], threshold): i += 1 # skip until value is below/above threshold else: i += 1 return event_counter class Spike(object): """ A collection of methods to calculate AP properties from threshold (see Stuart et al., 1997). Note that all calculations are performed in the active/current channel!!! """ def __init__(self,threshold): """ Create a Spike instance with sampling rate and threshold measurements are performed in the current/active channel!!! Arguments: threshold -- slope threshold to measure AP kinetics """ self._thr = threshold # set all the necessary AP parameters at construction self._updateattributes() def _updateattributes(self): """ update base, peak, t50, max_rise and tamplitude """ self.base = self.get_base() # in Stimfit is baseline self.peak = self.get_peak() # in Stimfit peak (from threshold) self.t50 = self.get_t50() # in Stimfit t50 self.max_rise = self.get_max_rise() # in Stimfit Slope (rise) self.thr = self.get_threshold_value() # in Stimit Threshold # attributes necessary to calculate latencies self.tonset = self.get_threshold_time() self.tpeak = self.get_tamplitude() self.t50_left = self.get_t50left() def update(self): """ update current trace sampling rate, cursors position and measurements (peak, baseline & AP kinetics) according to the threshold value set at construction or when the object is called with a threshold argument. """ # set slope stf.set_slope(self._thr) # on stf v0.93 or above # update sampling rate self._dt = stf.get_sampling_interval() # update cursors and AP kinetics (peak and half-width) stf.measure() def __call__(self, threshold=None ): """ update AP kinetic parameters to a new threshold in the current trace/channel threshold (optional) -- the new threshold value Examples : dend = Spike(40) # set the spike threshold at 40mV/ms dend(20) # now we set the spike threshold at 20mV/ms The AP parameters will be thereby updated in the current trace/channel. This method allow us to use the same object to calculate AP latencies in different traces. """ if threshold is not None: self._thr = threshold # set a new threshold self.update() # update dt and sampling rate self._updateattributes() def get_base(self): """ Get baseline according to cursor possition in the given current channel/trace """ self.update() return stf.get_trace(trace = -1 ,channel = -1)[stf.get_base_start():stf.get_base_end()+1].mean() def get_peak(self): """ calculate peak measured from threshold in the current trace, (see Stuart et al (1997) """ stf.set_peak_mean(1) # a single point for the peak value stf.set_peak_direction("up") # peak direction up self.update() peak = stf.get_peak()-stf.get_threshold_value() return peak def get_t50(self): """ calculates the half-widht in ms in the current trace""" self.update() # current t50's difference to calculate half-width (t50) return (stf.t50right_index()-stf.t50left_index())*self._dt def get_max_rise(self): """ maximum rate of rise (dV/dt) of AP in the current trace, which depends on the available Na+ conductance, see Mainen et al, 1995, Schmidt-Hieber et al, 2008 """ self.update() pmaxrise = stf.maxrise_index() # in active channel trace = stf.get_trace(trace = -1, channel =-1) # current trace dV = trace[int(ceil(pmaxrise))]-trace[(int(floor(pmaxrise)))] return dV/self._dt def get_tamplitude(self): """ return the time a the peak in the current trace""" #stf.peak_index() does not update cursors!!! self.update() return stf.peak_index()*self._dt def get_t50left(self): """ return the time at the half-width """ self.update() return stf.t50left_index()*self._dt def show_threshold(self): """ return the threshold value (in mV/ms) set at construction or when the object was called""" return self._thr def get_threshold_value(self): """ return the value (in y-units) at the threshold """ self.update() # stf.get_threshold_value does not update return stf.get_threshold_value() def get_threshold_time(self): """ return the value (in x-units) at the threshold """ self.update() return stf.get_threshold_time('True') # TODO # how to get the name of the object as string # Latencies according to Schmidt-Hieber need revision!!! class APFrame(wx.Frame): def __init__(self, soma, dend): """ creates a grid and fill it with AP kinetics from soma and dendrites Arguments: soma_AP -- Spike object for the soma dend_AP -- Spike object for the dendrite see Spike() class for more details """ # first check that both soma and dend are Spike() instances if not isinstance(soma,Spike) or not isinstance(dend,Spike): print('wrong argument, did you create a Spike object???') return 0 # initialize the wxframe wx.Frame.__init__(self, None, \ title = "AP parameters (from threshold)", size = (740,135)) # wxgrid columns self.col = ["Threshold\n (mV/ms)", "Onset\n (ms)", "Onset\n (mV)", "Baseline\n (mV)", "AP Peak\n (mV)", "AP Peak\n (ms)", "Half-width\n (ms)","Vmax\n (mV/ms)"] # wxgrid rows self.row = ["Soma", "Dend", "latency"] # Grid grid = wx.grid.Grid(self) grid.CreateGrid(len(self.row), len(self.col)) # Set grid labels for i in range(len(self.col)): grid.SetColLabelValue(i, self.col[i]) for i in range(len(self.row)): grid.SetRowLabelValue(i, self.row[i]) # Create a list with the AP parameters for the dendrite somalist = [soma.show_threshold(), soma.tonset, soma.thr, soma.base, soma.peak, soma.tpeak, soma.t50, soma.max_rise] # Fill soma values in the grid for i in range(len(self.col)): grid.SetCellValue(0,i, "%.4f"%somalist[i]) # Create a list with the AP parameters for the dendrite dendlist = [dend.show_threshold(), dend.tonset, dend.thr, dend.base, dend.peak, dend.tpeak, dend.t50, dend.max_rise] # Fill dend values in the grid for i in range(len(self.col)): grid.SetCellValue(1,i, "%.4f"%dendlist[i]) # Calculate latencies with different methods # onset latency grid.SetCellValue(2,1, "%.4f"%(dend.tonset - soma.tonset)) # peak latency grid.SetCellValue(2,5, "%.4f"%(dend.tpeak - soma.tpeak)) # half-width latency grid.SetCellValue(2,6, "%.4f"%(dend.t50_left -soma.t50_left)) def latency(soma, dend): """ Shows a results table with the latencies between the somatic and dendritic object Arguments: soma -- Spike Object of a trace containing the somatic AP dend -- Spike Object of a trace containing the dendritic AP see Spike() class for more details """ frame = APFrame(soma, dend) frame.Show() def count_aps(): """ Shows a result table with the number of action potentials (i.e events whose potential is above 0 mV) in selected traces. If no trace is selected, then the current trace is analyzed. Returns: False if document is not open. """ if not stf.check_doc(): print("Open file first") return False if len( stf.get_selected_indices() )==0: sel_trace = [ stf.get_trace_index()] else: sel_trace = stf.get_selected_indices() mytable = dict() for trace in sel_trace: tstart = 0 tend = stf.get_size_trace(trace)*stf.get_sampling_interval() threshold = 0 spikes = count_events(tstart, tend, threshold, True, trace, True) mytable["Trace %.3d" %trace] = spikes stf.show_table(mytable) return True def loadnrn( file ): """ Load a NEURON datafile and opens a new Stimfit window with a trace with the default units (e.g ms and mV) Arguments: file -- (string) file to be read """ time, trace = np.loadtxt(fname = file, skiprows = 2, unpack =1) dt = time[1] # the second temporal sampling point is the sampling stf.new_window( trace ) stf.set_sampling_interval( dt ) def loadtxt(freq=400): """ Loads an ASCII file with extension *.GoR. This file contains ratiometric fluorescent measurements (i.e Green over Red fluorescence) saved in one column. This function opens a new Stimfit window and sets the x-units to "ms" and y-units to "Delta G over R". Arguments: freq -- (float) the sampling rate (in Hz) for fluorescence acquistion. the default value is 400 Hz """ fname = wx.FileSelector("Import Ca transients" , default_extension="Ratiometric" , default_path="." , wildcard = "Ratiometric fluorescence (*.GoR)|*.GoR" , flags = wx.OPEN | wx.FILE_MUST_EXIST) stf.new_window( np.loadtxt(fname) ) stf.set_xunits('ms') stf.set_yunits('Delta G/R') stf.set_sampling_interval(1.0/freq*1000) # acquisition at 400 Hz stimfit-0.14.11/src/stimfit/py/numpy.i0000644000175200017520000015174212277666257014540 00000000000000/* -*- C -*- (not really, but good for syntax highlighting) */ #ifdef SWIGPYTHON %{ #ifndef SWIG_FILE_WITH_INIT # define NO_IMPORT_ARRAY #endif #include "stdio.h" #include %} /**********************************************************************/ /* The following code originally appeared in * enthought/kiva/agg/src/numeric.i written by Eric Jones. It was * translated from C++ to C by John Hunter. Bill Spotz has modified * it to fix some minor bugs, upgrade from Numeric to numpy (all * versions), add some comments and functionality, and convert from * direct code insertion to SWIG fragments. */ %fragment("NumPy_Macros", "header") { /* Macros to extract array attributes. */ %#define is_array(a) ((a) && PyArray_Check((PyArrayObject *)a)) %#define array_type(a) (int)(PyArray_TYPE(a)) %#define array_numdims(a) (((PyArrayObject *)a)->nd) %#define array_dimensions(a) (((PyArrayObject *)a)->dimensions) %#define array_size(a,i) (((PyArrayObject *)a)->dimensions[i]) %#define array_data(a) (((PyArrayObject *)a)->data) %#define array_is_contiguous(a) (PyArray_ISCONTIGUOUS(a)) %#define array_is_native(a) (PyArray_ISNOTSWAPPED(a)) %#define array_is_fortran(a) (PyArray_ISFORTRAN(a)) } /**********************************************************************/ %fragment("NumPy_Utilities", "header") { /* Given a PyObject, return a string describing its type. */ const char* pytype_string(PyObject* py_obj) { if (py_obj == NULL ) return "C NULL value"; if (py_obj == Py_None ) return "Python None" ; if (PyCallable_Check(py_obj)) return "callable" ; if (PyString_Check( py_obj)) return "string" ; if (PyInt_Check( py_obj)) return "int" ; if (PyFloat_Check( py_obj)) return "float" ; if (PyDict_Check( py_obj)) return "dict" ; if (PyList_Check( py_obj)) return "list" ; if (PyTuple_Check( py_obj)) return "tuple" ; if (PyModule_Check( py_obj)) return "module" ; %#if PY_MAJOR_VERSION < 3 if (PyFile_Check( py_obj)) return "file" ; if (PyInstance_Check(py_obj)) return "instance" ; %#endif return "unkown type"; } /* Given a NumPy typecode, return a string describing the type. */ const char* typecode_string(int typecode) { static const char* type_names[25] = {"bool", "byte", "unsigned byte", "short", "unsigned short", "int", "unsigned int", "long", "unsigned long", "long long", "unsigned long long", "float", "double", "long double", "complex float", "complex double", "complex long double", "object", "string", "unicode", "void", "ntypes", "notype", "char", "unknown"}; return typecode < 24 ? type_names[typecode] : type_names[24]; } /* Make sure input has correct numpy type. Allow character and byte * to match. Also allow int and long to match. This is deprecated. * You should use PyArray_EquivTypenums() instead. */ int type_match(int actual_type, int desired_type) { return PyArray_EquivTypenums(actual_type, desired_type); } } /**********************************************************************/ %fragment("NumPy_Object_to_Array", "header", fragment="NumPy_Backward_Compatibility", fragment="NumPy_Macros", fragment="NumPy_Utilities") { /* Given a PyObject pointer, cast it to a PyArrayObject pointer if * legal. If not, set the python error string appropriately and * return NULL. */ PyArrayObject* obj_to_array_no_conversion(PyObject* input, int typecode) { PyArrayObject* ary = NULL; if (is_array(input) && (typecode == NPY_NOTYPE || PyArray_EquivTypenums(array_type(input), typecode))) { ary = (PyArrayObject*) input; } else if is_array(input) { const char* desired_type = typecode_string(typecode); const char* actual_type = typecode_string(array_type(input)); PyErr_Format(PyExc_TypeError, "Array of type '%s' required. Array of type '%s' given", desired_type, actual_type); ary = NULL; } else { const char * desired_type = typecode_string(typecode); const char * actual_type = pytype_string(input); PyErr_Format(PyExc_TypeError, "Array of type '%s' required. A '%s' was given", desired_type, actual_type); ary = NULL; } return ary; } /* Convert the given PyObject to a NumPy array with the given * typecode. On success, return a valid PyArrayObject* with the * correct type. On failure, the python error string will be set and * the routine returns NULL. */ PyArrayObject* obj_to_array_allow_conversion(PyObject* input, int typecode, int* is_new_object) { PyArrayObject* ary = NULL; PyObject* py_obj; if (is_array(input) && (typecode == NPY_NOTYPE || PyArray_EquivTypenums(array_type(input),typecode))) { ary = (PyArrayObject*) input; *is_new_object = 0; } else { py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_DEFAULT); /* If NULL, PyArray_FromObject will have set python error value.*/ ary = (PyArrayObject*) py_obj; *is_new_object = 1; } return ary; } /* Given a PyArrayObject, check to see if it is contiguous. If so, * return the input pointer and flag it as not a new object. If it is * not contiguous, create a new PyArrayObject using the original data, * flag it as a new object and return the pointer. */ PyArrayObject* make_contiguous(PyArrayObject* ary, int* is_new_object, int min_dims, int max_dims) { PyArrayObject* result; if (array_is_contiguous(ary)) { result = ary; *is_new_object = 0; } else { result = (PyArrayObject*) PyArray_ContiguousFromObject((PyObject*)ary, array_type(ary), min_dims, max_dims); *is_new_object = 1; } return result; } /* Given a PyArrayObject, check to see if it is Fortran-contiguous. * If so, return the input pointer, but do not flag it as not a new * object. If it is not Fortran-contiguous, create a new * PyArrayObject using the original data, flag it as a new object * and return the pointer. */ PyArrayObject* make_fortran(PyArrayObject* ary, int* is_new_object, int min_dims, int max_dims) { PyArrayObject* result; if (array_is_fortran(ary)) { result = ary; *is_new_object = 0; } else { Py_INCREF(ary->descr); result = (PyArrayObject*) PyArray_FromArray(ary, ary->descr, NPY_FORTRAN); *is_new_object = 1; } return result; } /* Convert a given PyObject to a contiguous PyArrayObject of the * specified type. If the input object is not a contiguous * PyArrayObject, a new one will be created and the new object flag * will be set. */ PyArrayObject* obj_to_array_contiguous_allow_conversion(PyObject* input, int typecode, int* is_new_object) { int is_new1 = 0; int is_new2 = 0; PyArrayObject* ary2; PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode, &is_new1); if (ary1) { ary2 = make_contiguous(ary1, &is_new2, 0, 0); if ( is_new1 && is_new2) { Py_DECREF(ary1); } ary1 = ary2; } *is_new_object = is_new1 || is_new2; return ary1; } /* Convert a given PyObject to a Fortran-ordered PyArrayObject of the * specified type. If the input object is not a Fortran-ordered * PyArrayObject, a new one will be created and the new object flag * will be set. */ PyArrayObject* obj_to_array_fortran_allow_conversion(PyObject* input, int typecode, int* is_new_object) { int is_new1 = 0; int is_new2 = 0; PyArrayObject* ary2; PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode, &is_new1); if (ary1) { ary2 = make_fortran(ary1, &is_new2, 0, 0); if (is_new1 && is_new2) { Py_DECREF(ary1); } ary1 = ary2; } *is_new_object = is_new1 || is_new2; return ary1; } } /* end fragment */ /**********************************************************************/ %fragment("NumPy_Array_Requirements", "header", fragment="NumPy_Backward_Compatibility", fragment="NumPy_Macros") { /* Test whether a python object is contiguous. If array is * contiguous, return 1. Otherwise, set the python error string and * return 0. */ int require_contiguous(PyArrayObject* ary) { int contiguous = 1; if (!array_is_contiguous(ary)) { PyErr_SetString(PyExc_TypeError, "Array must be contiguous. A non-contiguous array was given"); contiguous = 0; } return contiguous; } /* Require that a numpy array is not byte-swapped. If the array is * not byte-swapped, return 1. Otherwise, set the python error string * and return 0. */ int require_native(PyArrayObject* ary) { int native = 1; if (!array_is_native(ary)) { PyErr_SetString(PyExc_TypeError, "Array must have native byteorder. " "A byte-swapped array was given"); native = 0; } return native; } /* Require the given PyArrayObject to have a specified number of * dimensions. If the array has the specified number of dimensions, * return 1. Otherwise, set the python error string and return 0. */ int require_dimensions(PyArrayObject* ary, int exact_dimensions) { int success = 1; if (array_numdims(ary) != exact_dimensions) { PyErr_Format(PyExc_TypeError, "Array must have %d dimensions. Given array has %d dimensions", exact_dimensions, array_numdims(ary)); success = 0; } return success; } /* Require the given PyArrayObject to have one of a list of specified * number of dimensions. If the array has one of the specified number * of dimensions, return 1. Otherwise, set the python error string * and return 0. */ int require_dimensions_n(PyArrayObject* ary, int* exact_dimensions, int n) { int success = 0; int i; char dims_str[255] = ""; char s[255]; for (i = 0; i < n && !success; i++) { if (array_numdims(ary) == exact_dimensions[i]) { success = 1; } } if (!success) { for (i = 0; i < n-1; i++) { sprintf(s, "%d, ", exact_dimensions[i]); strcat(dims_str,s); } sprintf(s, " or %d", exact_dimensions[n-1]); strcat(dims_str,s); PyErr_Format(PyExc_TypeError, "Array must have %s dimensions. Given array has %d dimensions", dims_str, array_numdims(ary)); } return success; } /* Require the given PyArrayObject to have a specified shape. If the * array has the specified shape, return 1. Otherwise, set the python * error string and return 0. */ int require_size(PyArrayObject* ary, npy_intp* size, int n) { int i; int success = 1; int len; char desired_dims[255] = "["; char s[255]; char actual_dims[255] = "["; for(i=0; i < n;i++) { if (size[i] != -1 && size[i] != array_size(ary,i)) { success = 0; } } if (!success) { for (i = 0; i < n; i++) { if (size[i] == -1) { sprintf(s, "*,"); } else { sprintf(s, "%ld,", (long int)size[i]); } strcat(desired_dims,s); } len = strlen(desired_dims); desired_dims[len-1] = ']'; for (i = 0; i < n; i++) { sprintf(s, "%ld,", (long int)array_size(ary,i)); strcat(actual_dims,s); } len = strlen(actual_dims); actual_dims[len-1] = ']'; PyErr_Format(PyExc_TypeError, "Array must have shape of %s. Given array has shape of %s", desired_dims, actual_dims); } return success; } /* Require the given PyArrayObject to to be FORTRAN ordered. If the * the PyArrayObject is already FORTRAN ordered, do nothing. Else, * set the FORTRAN ordering flag and recompute the strides. */ int require_fortran(PyArrayObject* ary) { int success = 1; int nd = array_numdims(ary); int i; if (array_is_fortran(ary)) return success; /* Set the FORTRAN ordered flag */ ary->flags = NPY_FARRAY; /* Recompute the strides */ ary->strides[0] = ary->strides[nd-1]; for (i=1; i < nd; ++i) ary->strides[i] = ary->strides[i-1] * array_size(ary,i-1); return success; } } /* Combine all NumPy fragments into one for convenience */ %fragment("NumPy_Fragments", "header", fragment="NumPy_Backward_Compatibility", fragment="NumPy_Macros", fragment="NumPy_Utilities", fragment="NumPy_Object_to_Array", fragment="NumPy_Array_Requirements") { } /* End John Hunter translation (with modifications by Bill Spotz) */ /* %numpy_typemaps() macro * * This macro defines a family of 41 typemaps that allow C arguments * of the form * * (DATA_TYPE IN_ARRAY1[ANY]) * (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) * (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) * * (DATA_TYPE IN_ARRAY2[ANY][ANY]) * (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) * (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) * * (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) * (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) * (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) * * (DATA_TYPE INPLACE_ARRAY1[ANY]) * (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) * (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) * * (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) * (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) * (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) * * (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) * (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) * (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) * * (DATA_TYPE ARGOUT_ARRAY1[ANY]) * (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) * (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) * * (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) * * (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) * * (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1) * (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1) * * (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2) * (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2) * * (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) * (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) * * where "DATA_TYPE" is any type supported by the NumPy module, and * "DIM_TYPE" is any int-like type suitable for specifying dimensions. * The difference between "ARRAY" typemaps and "FARRAY" typemaps is * that the "FARRAY" typemaps expect FORTRAN ordering of * multidimensional arrays. In python, the dimensions will not need * to be specified (except for the "DATA_TYPE* ARGOUT_ARRAY1" * typemaps). The IN_ARRAYs can be a numpy array or any sequence that * can be converted to a numpy array of the specified type. The * INPLACE_ARRAYs must be numpy arrays of the appropriate type. The * ARGOUT_ARRAYs will be returned as new numpy arrays of the * appropriate type. * * These typemaps can be applied to existing functions using the * %apply directive. For example: * * %apply (double* IN_ARRAY1, int DIM1) {(double* series, int length)}; * double prod(double* series, int length); * * %apply (int DIM1, int DIM2, double* INPLACE_ARRAY2) * {(int rows, int cols, double* matrix )}; * void floor(int rows, int cols, double* matrix, double f); * * %apply (double IN_ARRAY3[ANY][ANY][ANY]) * {(double tensor[2][2][2] )}; * %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY]) * {(double low[2][2][2] )}; * %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY]) * {(double upp[2][2][2] )}; * void luSplit(double tensor[2][2][2], * double low[2][2][2], * double upp[2][2][2] ); * * or directly with * * double prod(double* IN_ARRAY1, int DIM1); * * void floor(int DIM1, int DIM2, double* INPLACE_ARRAY2, double f); * * void luSplit(double IN_ARRAY3[ANY][ANY][ANY], * double ARGOUT_ARRAY3[ANY][ANY][ANY], * double ARGOUT_ARRAY3[ANY][ANY][ANY]); */ %define %numpy_typemaps(DATA_TYPE, DATA_TYPECODE, DIM_TYPE) /************************/ /* Input Array Typemaps */ /************************/ /* Typemap suite for (DATA_TYPE IN_ARRAY1[ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE IN_ARRAY1[ANY]) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE IN_ARRAY1[ANY]) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[1] = { $1_dim0 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 1) || !require_size(array, size, 1)) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(freearg) (DATA_TYPE IN_ARRAY1[ANY]) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[1] = { -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 1) || !require_size(array, size, 1)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); } %typemap(freearg) (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[1] = {-1}; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 1) || !require_size(array, size, 1)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE IN_ARRAY2[ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE IN_ARRAY2[ANY][ANY]) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE IN_ARRAY2[ANY][ANY]) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { $1_dim0, $1_dim1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2)) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(freearg) (DATA_TYPE IN_ARRAY2[ANY][ANY]) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } %typemap(freearg) (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } %typemap(freearg) (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3)) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(freearg) (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } %typemap(freearg) (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* IN_ARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3) | !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } %typemap(freearg) (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* IN_FARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /***************************/ /* In-Place Array Typemaps */ /***************************/ /* Typemap suite for (DATA_TYPE INPLACE_ARRAY1[ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE INPLACE_ARRAY1[ANY]) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE INPLACE_ARRAY1[ANY]) (PyArrayObject* array=NULL) { npy_intp size[1] = { $1_dim0 }; array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,1) || !require_size(array, size, 1) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = ($1_ltype) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) (PyArrayObject* array=NULL, int i=1) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,1) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = 1; for (i=0; i < array_numdims(array); ++i) $2 *= array_size(array,i); } /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) (PyArrayObject* array=NULL, int i=0) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,1) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = 1; for (i=0; i < array_numdims(array); ++i) $1 *= array_size(array,i); $2 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) (PyArrayObject* array=NULL) { npy_intp size[2] = { $1_dim0, $1_dim1 }; array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_size(array, size, 2) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = ($1_ltype) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) (PyArrayObject* array=NULL) { npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 }; array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_size(array, size, 3) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = ($1_ltype) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* INPLACE_ARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* INPLACE_FARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } /*************************/ /* Argout Array Typemaps */ /*************************/ /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY1[ANY]) */ %typemap(in,numinputs=0, fragment="NumPy_Backward_Compatibility,NumPy_Macros") (DATA_TYPE ARGOUT_ARRAY1[ANY]) (PyObject * array = NULL) { npy_intp dims[1] = { $1_dim0 }; array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(argout) (DATA_TYPE ARGOUT_ARRAY1[ANY]) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) */ %typemap(in,numinputs=1, fragment="NumPy_Fragments") (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) (PyObject * array = NULL) { npy_intp dims[1]; if (!PyInt_Check($input)) { const char* typestring = pytype_string($input); PyErr_Format(PyExc_TypeError, "Int dimension expected. '%s' given.", typestring); SWIG_fail; } $2 = (DIM_TYPE) PyInt_AsLong($input); dims[0] = (npy_intp) $2; array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); } %typemap(argout) (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) */ %typemap(in,numinputs=1, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) (PyObject * array = NULL) { npy_intp dims[1]; if (!PyInt_Check($input)) { const char* typestring = pytype_string($input); PyErr_Format(PyExc_TypeError, "Int dimension expected. '%s' given.", typestring); SWIG_fail; } $1 = (DIM_TYPE) PyInt_AsLong($input); dims[0] = (npy_intp) $1; array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); if (!array) SWIG_fail; $2 = (DATA_TYPE*) array_data(array); } %typemap(argout) (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) */ %typemap(in,numinputs=0, fragment="NumPy_Backward_Compatibility,NumPy_Macros") (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) (PyObject * array = NULL) { npy_intp dims[2] = { $1_dim0, $1_dim1 }; array = PyArray_SimpleNew(2, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(argout) (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) */ %typemap(in,numinputs=0, fragment="NumPy_Backward_Compatibility,NumPy_Macros") (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) (PyObject * array = NULL) { npy_intp dims[3] = { $1_dim0, $1_dim1, $1_dim2 }; array = PyArray_SimpleNew(3, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(argout) (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /*****************************/ /* Argoutview Array Typemaps */ /*****************************/ /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1 ) (DATA_TYPE* data_temp , DIM_TYPE dim_temp) { $1 = &data_temp; $2 = &dim_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1) { npy_intp dims[1] = { *$2 }; PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1 , DATA_TYPE** ARGOUTVIEW_ARRAY1) (DIM_TYPE dim_temp, DATA_TYPE* data_temp ) { $1 = &dim_temp; $2 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1) { npy_intp dims[1] = { *$1 }; PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) (DATA_TYPE* data_temp , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) { npy_intp dims[2] = { *$2, *$3 }; PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_ARRAY2) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp ) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2) { npy_intp dims[2] = { *$1, *$2 }; PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) (DATA_TYPE* data_temp , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) { npy_intp dims[2] = { *$2, *$3 }; PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || !require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_FARRAY2) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp ) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2) { npy_intp dims[2] = { *$1, *$2 }; PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || !require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; $4 = &dim3_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) { npy_intp dims[3] = { *$2, *$3, *$4 }; PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &dim3_temp; $4 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) { npy_intp dims[3] = { *$1, *$2, *$3 }; PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; $4 = &dim3_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) { npy_intp dims[3] = { *$2, *$3, *$4 }; PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &dim3_temp; $4 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) { npy_intp dims[3] = { *$1, *$2, *$3 }; PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } %enddef /* %numpy_typemaps() macro */ /* *************************************************************** */ /* Concrete instances of the %numpy_typemaps() macro: Each invocation * below applies all of the typemaps above to the specified data type. */ %numpy_typemaps(signed char , NPY_BYTE , int) %numpy_typemaps(unsigned char , NPY_UBYTE , int) %numpy_typemaps(short , NPY_SHORT , int) %numpy_typemaps(unsigned short , NPY_USHORT , int) %numpy_typemaps(int , NPY_INT , int) %numpy_typemaps(unsigned int , NPY_UINT , int) %numpy_typemaps(long , NPY_LONG , int) %numpy_typemaps(unsigned long , NPY_ULONG , int) %numpy_typemaps(long long , NPY_LONGLONG , int) %numpy_typemaps(unsigned long long, NPY_ULONGLONG, int) %numpy_typemaps(float , NPY_FLOAT , int) %numpy_typemaps(double , NPY_DOUBLE , int) /* *************************************************************** * The follow macro expansion does not work, because C++ bool is 4 * bytes and NPY_BOOL is 1 byte * * %numpy_typemaps(bool, NPY_BOOL, int) */ /* *************************************************************** * On my Mac, I get the following warning for this macro expansion: * 'swig/python detected a memory leak of type 'long double *', no destructor found.' * * %numpy_typemaps(long double, NPY_LONGDOUBLE, int) */ /* *************************************************************** * Swig complains about a syntax error for the following macro * expansions: * * %numpy_typemaps(complex float, NPY_CFLOAT , int) * * %numpy_typemaps(complex double, NPY_CDOUBLE, int) * * %numpy_typemaps(complex long double, NPY_CLONGDOUBLE, int) */ #endif /* SWIGPYTHON */ stimfit-0.14.11/src/stimfit/py/embedded_init.py0000644000175200017520000000236012277666257016333 00000000000000#========================================================================= # embedded_init.py # 2009.12.31 # # This file loads both Numpy and stf modules into the current namespace. # Additionally, it loads the custom initialization script (stf_init.py) # # 2010.06.12 # Major stf classes were added (Recording, Channel, Section) # # It is used by embedded_stf.py and embedded_ipython.py # Please, do not modify this file unless you know what you are doing # #========================================================================= import numpy as np import stf from stf import * from os.path import basename try: from stf_init import * except ImportError: # let the user know stf_init does not work! pass except SyntaxError: pass else: pass def intro_msg(): """ this is the starting message of the embedded Python shell. Contains the current Stimfit version, together with the NumPy and wxPython version. """ # access current versions of wxWidgets and NumPy from wx import version as wx_version from numpy.version import version as numpy_version version_s = 'NumPy %s, wxPython %s' % (numpy_version, wx_version()) intro = '%s, using %s' % (stf.get_versionstring(), version_s) return intro stimfit-0.14.11/src/stimfit/py/natools.py0000755000175200017520000004457512277666257015257 00000000000000""" 2008-04-11, C. Schmidt-Hieber Batch analysis of Na IVs """ import numpy as np from scipy.io import write_array def dens_batch( nFunc = 0 ): """Fits activation and inactivation of 15 iv pulses using a biexponential funtion with a delay, creates a table showing the results. Keyword argument: nFunc -- Index of function used for fitting. At present, 10 is the HH gNa function, 5 is a sum of two exponentials with a delay.""" stf = __import__("stf") # Some ugly definitions for the time being gFitStart = 70.56 gFSelect = nFunc # HH function gDictSize = stf.leastsq_param_size( gFSelect ) + 2 # Parameters, chisqr, peak value gBaseStartCtrl = 69.5 # Start and end of the baseline before the control pulse, in ms gBaseEndCtrl = 70.5 gPeakStartCtrl = 70.64 # Start and end of the peak cursors for the control pulse, in ms gPeakWindowSize = 0.8 gFitEnd = gFitStart+4.5 dt = stf.get_sampling_interval() if ( gDictSize < 0 ): print("Couldn\'t retrieve function id=%d; aborting now." % gFSelect) return False if ( not(stf.check_doc()) ): print("Couldn\'t find an open file; aborting now.") return False # set cursors: if ( not(stf.set_peak_start( gPeakStartCtrl/dt )) ): return False if ( not(stf.set_base_start( gBaseStartCtrl/dt )) ): return False if ( not(stf.set_base_end( gBaseEndCtrl/dt )) ): return False if ( not(stf.set_peak_mean( 3 )) ): return False if ( not(stf.set_peak_direction( "both" )) ): return False # A list for dictionary keys and values: dict_keys = [] dict_values = np.empty( (gDictSize, 1) ) if ( not(stf.set_peak_end( (gPeakStartCtrl + gPeakWindowSize)/dt )) ): return False stf.measure() # set the fit window cursors: if ( not(stf.set_fit_start( stf.peak_index()+1 )) ): return False if ( not(stf.set_fit_end( gFitEnd/dt )) ): return False # Least-squares fitting: p_dict = stf.leastsq( gFSelect ) if ( p_dict == 0 ): print('Couldn\'t perform a fit; aborting now.') return False # Create an empty list: tempdict_entry = [] row = 0 for k, v in p_dict.iteritems(): dict_keys.append( k ) dict_values[row][0] = v row = row+1 dict_keys.append( "Peak amplitude" ) dict_values[row][0] = stf.get_peak()-stf.get_base() retDict = dict() # Create the dictionary for the table: entry = 0 for elem in dict_keys: retDict[ elem ] = dict_values[entry].tolist() entry = entry+1 if not stf.show_table_dictlist( retDict ): return False # divide by inactivation part: trace = stf.get_trace()[gFitStart/dt:gFitEnd/dt] l = np.empty( (3, len(trace)) ) l[1] = trace - stf.get_base() t = np.arange(0,len(l[1]))*dt l[2] = np.exp(-t/p_dict['Tau_0']) l[0] = l[1] / l[2] stf.new_window_matrix( l ) stf.set_base_start(0) stf.set_base_end(0) stf.set_peak_mean(-1) stf.set_peak_start(10) stf.set_peak_end(32) stf.measure() def act_batch( nFunc = 5, filename="", lat=60 ): """Fits activation and inactivation of 15 iv pulses using a biexponential funtion with a delay, creates a table showing the results. Keyword argument: nFunc -- Index of function used for fitting. At present, 10 is the HH gNa function, 5 is a sum of two exponentials with a delay. filename -- If not an empty string, stores the best-fit parameters in this file.""" stf = __import__("stf") # Some ugly definitions for the time being gFitStart = 70.5 + lat/1000.0 # fit end cursor is variable gFSelect = nFunc # HH function gDictSize = stf.leastsq_param_size( gFSelect ) + 2 # Parameters, chisqr, peak value gBaseStartCtrl = 69.5 # Start and end of the baseline before the control pulse, in ms gBaseEndCtrl = 70.5 gPeakStartCtrl = 70.64 # Start and end of the peak cursors for the control pulse, in ms gPeakWindowSizes = ( 2.5, 2, 1.5, 1, 1, 0.8, 0.8, 0.8, 0.6, 0.6, 0.5, 0.5, 0.4, 0.4, 0.4 ) gFitDurations = ( 8, 8, 7, 6, 5.5, 5, 4.5, 3.5, 2.5, 2, 1.5, 1.5, 1.0, 0.8, 0.8 ) gPulses = len( gFitDurations ) # Number of traces if ( gDictSize < 0 ): print("Couldn\'t retrieve function id=%d; aborting now." % gFSelect) return False if ( not(stf.check_doc()) ): print("Couldn\'t find an open file; aborting now.") return False # set cursors: if ( not(stf.set_peak_start( gPeakStartCtrl, True )) ): return False if ( not(stf.set_peak_end( stf.get_size_trace(0)-1 )) ): return False if ( not(stf.set_base_start( gBaseStartCtrl, True )) ): return False if ( not(stf.set_base_end( gBaseEndCtrl, True )) ): return False if ( not(stf.set_peak_mean( 3 )) ): return False if ( not(stf.set_peak_direction( "both" )) ): return False firstpass = True # A list for dictionary keys and values: dict_keys = [] dict_values = np.empty( (gDictSize, stf.get_size_channel()) ) if not filename=="": ls_file=np.empty((gPulses,stf.leastsq_param_size(nFunc))) for n in range( 0, gPulses ): if ( stf.set_trace( n ) == False ): print('Couldn\'t set a new trace; aborting now.') return False print('Analyzing trace %d of %d'%( n+1, stf.get_size_channel())) # set the fit window cursors: if ( not(stf.set_peak_end( gPeakStartCtrl + gPeakWindowSizes[n], True )) ): return False if ( not(stf.set_fit_start( gFitStart, True )) ): return False if ( not(stf.set_fit_end( gFitStart + gFitDurations[n], True )) ): return False stf.measure() # Least-squares fitting: p_dict = stf.leastsq( gFSelect ) if not filename=="": ls_file[n][0]=p_dict["gprime_na"] ls_file[n][1]=p_dict["tau_m"] ls_file[n][2]=p_dict["tau_h"] ls_file[n][3]=p_dict["offset"] if ( p_dict == 0 ): print('Couldn\'t perform a fit; aborting now.') return False # Create an empty list: tempdict_entry = [] row = 0 for k, v in p_dict.iteritems(): if ( firstpass == True ): dict_keys.append( k ) dict_values[row][n] = v row = row+1 if ( firstpass ): dict_keys.append( "Peak amplitude" ) dict_values[row][n] = stf.get_peak()-stf.get_base() firstpass = False if not filename=="": write_array(file(filename,'w'), ls_file, precision=15) retDict = dict() # Create the dictionary for the table: entry = 0 for elem in dict_keys: retDict[ elem ] = dict_values[entry].tolist() entry = entry+1 return stf.show_table_dictlist( retDict ) def inact_batch(): """Determines peak amplitudes for inactivation protocol.""" stf = __import__("stf") # Some ugly definitions for the time being gDictSize = 1 # Parameters, chisqr, peak value gBaseStartCtrl = 69 # Start and end of the baseline before the control pulse, in ms gBaseEndCtrl = 70 gPeakStartCtrl = 70.12 # Start and end of the peak cursors for the control pulse, in ms gPeakWindowSize = 0.2 gPeakEndCtrl = gPeakStartCtrl + gPeakWindowSize gPulses = 11 # Number of traces if ( not(stf.check_doc()) ): print('Couldn\'t find an open file; aborting now.') return False # set cursors: if ( not(stf.set_peak_start( gPeakStartCtrl, True )) ): return False if ( not(stf.set_peak_end( gPeakEndCtrl, True )) ): return False if ( not(stf.set_base_start( gBaseStartCtrl, True )) ): return False if ( not(stf.set_base_end( gBaseEndCtrl, True )) ): return False if ( not(stf.set_peak_mean( 4 )) ): return False if ( not(stf.set_peak_direction( "both" )) ): return False # A list for dictionary keys and values: dict_keys = [ "Peak amplitude", ] dict_values = np.empty( (gDictSize, gPulses) ) for n in range( 0, gPulses ): if ( stf.set_trace( n ) == False ): print('Couldn\'t set a new trace; aborting now.') return False print('Analyzing pulse %d of %d'%( n+1, stf.get_size_channel())) # Update calculations: stf.measure() # Store values: dict_values[0][n] = stf.get_peak() - stf.get_base() inactDict = dict() # Create the dictionary for the table: entry = 0 for elem in dict_keys: inactDict[ elem ] = dict_values[entry].tolist() entry = entry+1 return stf.show_table_dictlist( inactDict ) def deact_batch( filename="" ): """Fits deactivation time constants: Monoexponential until <=-70, biexponential for >-70 mV. filename -- If not an empty string, stores the best-fit parameters in this file.""" stf = __import__("stf") # Some ugly definitions for the time being gNMono = 5 # Monoexponential fits gNBi = 4 # Biexponential fits gFMono = 0 # id of monoexponential function gFBi = 3 # id of biexponential function gMonoDictSize = stf.leastsq_param_size( gFMono ) + 1 # Parameters, chisqr gBiDictSize = stf.leastsq_param_size( gFBi ) + 1 # Parameters, chisqr if ( gMonoDictSize < 0 or gBiDictSize < 0 ): print('Couldn\'t retrieve function; aborting now.') return False if ( not(stf.check_doc()) ): print('Couldn\'t find an open file; aborting now.') return False # set the test pulse window cursors: if ( not(stf.set_peak_start( 70.84, True )) ): return False if ( not(stf.set_peak_end( 74.84, True )) ): return False if ( not(stf.set_base_start( 69.5, True )) ): return False if ( not(stf.set_base_end( 70.5, True )) ): return False if ( not(stf.set_peak_mean( 1 )) ): return False if ( not(stf.set_peak_direction( "down" )) ): return False # Monoexponential loop --------------------------------------------------- firstpass = True # A list for dictionary keys... mono_keys = [] # ... and values: mono_values = np.empty( (gMonoDictSize, gNMono) ) if not filename=="": ls_file=np.empty((gNMono,stf.leastsq_param_size(gFMono))) # Monoexponential fits: for n in range( 0, gNMono ): if ( stf.set_trace( n ) == False ): print("Couldn't set a new trace; aborting now.") return False print('Analyzing trace %d of %d'%( n+1, stf.get_size_channel())) # set the fit window cursors: # use the index for the start cursor: if ( not(stf.set_fit_start( stf.peak_index( True ) )) ): return False # fit 1.5 ms: fit_end_time = stf.get_fit_start( True )+1.0 if ( not(stf.set_fit_end( fit_end_time, True)) ): return False # Least-squares fitting: p_dict = stf.leastsq( gFMono ) if not filename=="": ls_file[n][0]=p_dict["Amp_0"] ls_file[n][1]=p_dict["Tau_0"] ls_file[n][2]=p_dict["Offset"] if ( p_dict == 0 ): print('Couldn\'t perform a fit; aborting now.') return False # Create an empty list: tempdict_entry = [] row = 0 for k, v in p_dict.iteritems(): if ( firstpass == True ): mono_keys.append( k ) mono_values[row][n] = v row = row+1 firstpass = False monoDict = dict() # Create the dictionary for the table: entry = 0 for elem in mono_keys: monoDict[ elem ] = mono_values[entry].tolist() entry = entry+1 if ( not(stf.show_table_dictlist( monoDict )) ): return False # Biexponential loop --------------------------------------------------- firstpass = True # A list for dictionary keys... bi_keys = [] # ... and values: bi_values = np.empty( (gBiDictSize, gNBi) ) # Monoexponential fits: for n in range( gNMono, gNBi+gNMono ): if ( stf.set_trace( n ) == False ): print('Couldn\'t set a new trace; aborting now.') return False print('Analyzing trace %d of %d'%( n+1, stf.get_size_channel())) # set the fit window cursors: # use the index for the start cursor: if ( not(stf.set_fit_start( stf.peak_index( True ) )) ): return False # fit 4 ms: fit_end_time = stf.get_fit_start( True )+3.5 if ( not(stf.set_fit_end( fit_end_time, True)) ): return False # Least-squares fitting: p_dict = stf.leastsq( gFBi ) if ( p_dict == 0 ): print('Couldn\'t perform a fit; aborting now.') return False # Create an empty list: tempdict_entry = [] row = 0 for k, v in p_dict.iteritems(): if ( firstpass == True ): bi_keys.append( k ) bi_values[row][n-gNMono] = v row = row+1 firstpass = False biDict = dict() # Create the dictionary for the table: entry = 0 for elem in bi_keys: biDict[ elem ] = bi_values[entry].tolist() entry = entry+1 if not filename=="": write_array(file(filename,'w'), ls_file, precision=15) if ( not(stf.show_table_dictlist( biDict )) ): return False return True def inact_recov_batch( show_table = True ): """Determines recovery from inactivation.""" stf = __import__("stf") if ( not(stf.check_doc()) ): print('Couldn\'t find an open file; aborting now.') return False # Some ugly definitions for the time being gBaseStartCtrl = 69 # Start and end of the baseline before the control pulse, in ms gBaseEndCtrl = 70 gPeakStartCtrl = 70.12 # Start and end of the peak cursors for the control pulse, in ms gPeakWindowSize = 0.5 gPeakEndCtrl = gPeakStartCtrl + gPeakWindowSize gDictSize = 2 # Control peak amplitude, test peak amplitude gDurations = ( 0, 1, 2, 3, 5, 7, 9, 13, 20, 30, 50, 100 ) # Durations of the pulses gPulses = len( gDurations ) # Number of pulses # A list for dictionary keys... dict_keys = [ "Control amplitude", "Test amplitude" ] # ... and values: dict_values = np.empty( (gDictSize, gPulses) ) if ( not(stf.set_peak_mean( 3 )) ): return False if ( not(stf.set_peak_direction( "down" )) ): return False for n in range( 0, gPulses ): if ( stf.set_trace( n ) == False ): print('Couldn\'t set a new trace; aborting now.') return False # set the control pulse window cursors: if ( not(stf.set_peak_start( gPeakStartCtrl, True )) ): return False if ( not(stf.set_peak_end( gPeakEndCtrl, True )) ): return False if ( not(stf.set_base_start( gBaseStartCtrl, True )) ): return False if ( not(stf.set_base_end( gBaseEndCtrl, True )) ): return False # Update calculations: stf.measure() # Store values: dict_values[0][n] = stf.get_peak() - stf.get_base() # set the test pulse window cursors: if ( not(stf.set_peak_start( gDurations[n]+100.16, True )) ): return False if ( not(stf.set_peak_end( gDurations[n]+100.16+gPeakWindowSize, True )) ): return False if ( not(stf.set_base_start( gDurations[n]+100-1, True )) ): return False if ( not(stf.set_base_end( gDurations[n]+100, True )) ): return False # Update calculations: stf.measure() # Store values: dict_values[1][n] = stf.get_peak() - stf.get_base() inactDict = dict() # Create the dictionary for the table: entry = 0 for elem in dict_keys: inactDict[ elem ] = dict_values[entry].tolist() entry = entry+1 if show_table: if not stf.show_table_dictlist( inactDict ): return -1 return dict_values def inact_onset_batch( show_table = True ): """Determines onset of inactivation.""" stf = __import__("stf") if ( not(stf.check_doc()) ): print('Couldn\'t find an open file; aborting now.') return -1 # Some ugly definitions for the time being gPeakWindowSize = 0.5 gDictSize = 1 # Control peak amplitude, test peak amplitude gDurations = ( 0, 1, 2, 3, 5, 7, 9, 13, 20, 25, 30 ) # Durations of the pulses gPulses = len( gDurations ) # Number of pulses # A list for dictionary keys... dict_keys = [ "Test amplitude", ] # ... and values: dict_values = np.empty( (gDictSize, gPulses) ) if ( not(stf.set_peak_mean( 4 )) ): return -1 if ( not(stf.set_peak_direction( "down" )) ): return -1 for n in range( 0, gPulses ): if ( stf.set_trace( n ) == False ): print('Couldn\'t set a new trace; aborting now.') return -1 print('Analyzing pulse %d of %d'%( n+1, stf.get_size_channel())) # set the test pulse window cursors: if ( not(stf.set_peak_start( gDurations[n]+70.12, True )) ): return -1 if ( not(stf.set_peak_end( gDurations[n]+70.12+gPeakWindowSize, True )) ): return -1 if ( not(stf.set_base_start( gDurations[n]+70-1, True )) ): return -1 if ( not(stf.set_base_end( gDurations[n]+70, True )) ): return -1 # Update calculations: stf.measure() # Store values: dict_values[0][n] = stf.get_peak() - stf.get_base() inactDict = dict() # Create the dictionary for the table: entry = 0 for elem in dict_keys: inactDict[ elem ] = dict_values[entry].tolist() entry = entry+1 if show_table: if not stf.show_table_dictlist( inactDict ): return -1 return dict_values[0] stimfit-0.14.11/src/stimfit/py/pystf.h0000755000175200017520000001104612472345762014517 00000000000000#ifndef _PYSTF_H #define _PYSTF_H #undef _DEBUG #include #undef _DEBUG #include std::string get_versionstring( ); #ifdef WITH_PYTHON PyObject* get_trace(int trace=-1, int channel=-1); #endif bool new_window( double* invec, int size ); bool new_window_matrix( double* inarr, int traces, int size ); bool new_window_selected_this( ); bool new_window_selected_all( ); #ifdef WITH_PYTHON bool show_table( PyObject* dict, const char* caption = "Python table" ); bool show_table_dictlist( PyObject* dict, const char* caption = "Python table", bool reverse = true ); #endif int get_size_trace( int trace = -1, int channel = -1 ); int get_size_channel( int channel = -1 ); int get_size_recording( ); double get_sampling_interval( ); bool set_sampling_interval( double si ); const char* get_xunits( ); const char* get_yunits( int trace = -1, int channel = -1 ); bool set_xunits( const char* units ); bool set_yunits( const char* units, int trace = -1, int channel = -1 ); double get_maxdecay(); double get_maxrise(); const char* get_recording_time( ); const char* get_recording_date( ); std::string get_recording_comment( ); bool set_recording_comment( const char* comment ); bool set_recording_time( const char* time ); bool set_recording_date( const char* date ); bool select_trace( int trace = -1 ); void select_all( ); void unselect_all( ); #ifdef WITH_PYTHON PyObject* get_selected_indices( ); #endif bool set_trace( int trace ); int get_trace_index(); const char* get_trace_name( int trace = -1, int channel = -1 ); bool set_channel( int channel); int get_channel_index( bool active = true ); const char* get_channel_name( int index = -1 ); bool set_channel_name( const char* name, int index = -1 ); void align_selected( double (*alignment)( bool ), bool active = false ); bool subtract_base( ); int leastsq_param_size( int fselect ); #ifdef WITH_PYTHON PyObject* leastsq( int fselect, bool refresh = true ); PyObject* get_fit( int trace = -1, int channel = -1 ); #endif bool check_doc( bool show_dialog = true ); std::string get_filename( ); bool file_open( const char* filename ); bool file_save( const char* filename ); bool close_all( ); bool close_this( ); bool measure( ); double get_base( bool active = true ); double get_peak( ); double get_halfwidth (bool active = true); #ifdef WITH_PSLOPE double get_pslope(); #endif double get_threshold_time( bool is_time = false ); double get_threshold_value( ); double get_latency(); double get_risetime(); double peak_index( bool active = true ); double maxrise_index( bool active = true ); double maxdecay_index( ); double foot_index( bool active = true ); double rtlow_index( bool active = true ); double rthigh_index( bool active = true ); double t50left_index( bool active = true ); double t50right_index( bool active = true ); double get_risetime_factor(); bool set_risetime_factor(double factor); bool set_marker(double x, double y); bool erase_markers(); double get_fit_start( bool is_time = false ); bool set_fit_start( double pos, bool is_time = false ); double get_fit_end( bool is_time = false ); bool set_fit_end( double pos, bool is_time = false ); double get_peak_start( bool is_time = false ); bool set_peak_start( double pos, bool is_time = false ); double get_peak_end( bool is_time = false ); bool set_peak_end( double pos, bool is_time = false ); int get_peak_mean( ); bool set_peak_mean( int pts ); const char* get_peak_direction( ); bool set_peak_direction( const char* direction ); double get_base_start( bool is_time = false ); bool set_base_start( double pos, bool is_time = false ); double get_base_end( bool is_time = false ); bool set_base_end( double pos, bool is_time = false ); const char* get_baseline_method( ); bool set_baseline_method( const char* method); const char* get_latency_start_mode( ); bool set_latency_start_mode( const char* direction ); const char* get_latency_end_mode( ); bool set_latency_end_mode( const char* direction ); double get_latency_start( bool is_time = false ); double get_latency_end( bool is_time = false ); bool set_slope(double slope); double plot_xmin(); double plot_xmax(); double plot_ymin(); double plot_ymax(); double plot_y2min(); double plot_y2max(); void _gMatrix_resize( std::size_t channels, std::size_t sections ); void _gNames_resize( std::size_t channels ); void _gMatrix_at( double* invec, int size, int channel, int section ); void _gNames_at( const char* name, int channel ); bool _new_window_gMatrix( ); extern double _figsize[]; #ifdef WITH_PYTHON PyObject* mpl_panel(const std::vector& figsize = std::vector(_figsize, _figsize+2)); #endif #endif stimfit-0.14.11/src/stimfit/py/minidemo.py0000755000175200017520000000203712277666257015364 00000000000000"""Performs fits as decribed in the manual to create preliminary and final templates from minis.dat. last revision: May 09, 2008 C. Schmidt-Hieber """ import stf def preliminary(): """Creates a preliminary template""" stf.set_peak_start(209900) stf.set_peak_end(210500) stf.set_fit_start(209900) stf.set_fit_end(210400) stf.set_peak_mean(3) stf.set_base_start(209600) stf.set_base_end(209900) stf.measure() return stf.leastsq(5) def final(): """Creates a final template""" stf.set_peak_start(100) stf.set_peak_end(599) stf.set_fit_start(100) stf.set_fit_end(599) stf.set_peak_mean(3) stf.set_base_start(0) stf.set_base_end(100) stf.measure() return stf.leastsq(5) def batch_cursors(): """Sets appropriate cursor positions for analysing the extracted events.""" stf.set_peak_start(100) stf.set_peak_end(598) stf.set_fit_start(120) stf.set_fit_end(598) stf.set_peak_mean(3) stf.set_base_start(0) stf.set_base_end(100) stf.measure() stimfit-0.14.11/src/stimfit/py/Makefile.in0000644000175200017520000006527512622700721015243 00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/stimfit/py DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/depcomp $(am__noinst_HEADERS_DIST) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/stfconf.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkglibdir)" LTLIBRARIES = $(pkglib_LTLIBRARIES) am__DEPENDENCIES_1 = @BUILD_PYTHON_TRUE@libpystf_la_DEPENDENCIES = ../libstimfit.la \ @BUILD_PYTHON_TRUE@ ../../libstfio/libstfio.la \ @BUILD_PYTHON_TRUE@ $(am__DEPENDENCIES_1) am__libpystf_la_SOURCES_DIST = $(srcdir)/pystf.cxx @BUILD_PYTHON_TRUE@am_libpystf_la_OBJECTS = libpystf_la-pystf.lo @BUILD_PYTHON_TRUE@nodist_libpystf_la_OBJECTS = \ @BUILD_PYTHON_TRUE@ libpystf_la-pystf_wrap.lo libpystf_la_OBJECTS = $(am_libpystf_la_OBJECTS) \ $(nodist_libpystf_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libpystf_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libpystf_la_CXXFLAGS) \ $(CXXFLAGS) $(libpystf_la_LDFLAGS) $(LDFLAGS) -o $@ @BUILD_PYTHON_TRUE@am_libpystf_la_rpath = -rpath $(pkglibdir) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libpystf_la_SOURCES) $(nodist_libpystf_la_SOURCES) DIST_SOURCES = $(am__libpystf_la_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__noinst_HEADERS_DIST = pystf.h HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ GT_CPPFLAGS = @GT_CPPFLAGS@ GT_CXXFLAGS = @GT_CXXFLAGS@ GT_LDFLAGS = @GT_LDFLAGS@ GT_LIBS = @GT_LIBS@ HDF5_CFLAGS = @HDF5_CFLAGS@ HDF5_LIBS = @HDF5_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBBIOSIG_LDFLAGS = @LIBBIOSIG_LDFLAGS@ LIBHDF5_LDFLAGS = @LIBHDF5_LDFLAGS@ LIBLAPACK_LDFLAGS = @LIBLAPACK_LDFLAGS@ LIBNUMPY_INCLUDES = @LIBNUMPY_INCLUDES@ LIBOBJS = @LIBOBJS@ LIBPYTHON_INCLUDES = @LIBPYTHON_INCLUDES@ LIBPYTHON_LDFLAGS = @LIBPYTHON_LDFLAGS@ LIBS = @LIBS@ LIBSTF_LDFLAGS = @LIBSTF_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MACSETFILE = @MACSETFILE@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPT_CXXFLAGS = @OPT_CXXFLAGS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTLINK_COMMAND = @POSTLINK_COMMAND@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_DIST_PKG = @PYTHON_DIST_PKG@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ PYTHON_NUMPY_INCLUDE = @PYTHON_NUMPY_INCLUDE@ PYTHON_PRE_DIST_PKG = @PYTHON_PRE_DIST_PKG@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ PY_AC_VERSION = @PY_AC_VERSION@ RANLIB = @RANLIB@ REZ = @REZ@ SED = @SED@ SETFILE = @SETFILE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STFIO_PYTHON_LIBNAME = @STFIO_PYTHON_LIBNAME@ STF_PYTHON_LIBNAME = @STF_PYTHON_LIBNAME@ STRIP = @STRIP@ SWIG = @SWIG@ SWIG_LIB = @SWIG_LIB@ SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@ SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@ VERSION = @VERSION@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @BUILD_PYTHON_TRUE@pkglib_LTLIBRARIES = libpystf.la @BUILD_PYTHON_TRUE@nodist_libpystf_la_SOURCES = $(srcdir)/pystf_wrap.cxx @BUILD_PYTHON_TRUE@libpystf_la_SOURCES = $(srcdir)/pystf.cxx # $(SWIG_SOURCES) @BUILD_PYTHON_TRUE@noinst_HEADERS = pystf.h @BUILD_PYTHON_TRUE@INCLUDES = $(LIBNUMPY_INCLUDES) @BUILD_PYTHON_TRUE@libpystf_la_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -I$(top_srcdir)/src @BUILD_PYTHON_TRUE@libpystf_la_CXXFLAGS = $(OPT_CXXFLAGS) $(WX_CXXFLAGS) @BUILD_PYTHON_TRUE@libpystf_la_LDFLAGS = $(LIBPYTHON_LDFLAGS) $(LIBSTF_LDFLAGS) $(LIBBIOSIG_LDFLAGS) @BUILD_PYTHON_TRUE@libpystf_la_LIBADD = ../libstimfit.la ../../libstfio/libstfio.la $(WX_LIBS) @BUILD_PYTHON_TRUE@EXTRA_DIST = pystf.i numpy.i ivtools.py mintools.py natools.py minidemo.py charlie.py mintools.py hdf5tools.py spells.py embedded_init.py embedded_stf.py embedded_mpl.py embedded_ipython.py heka.py extensions.py gccwarn all: all-am .SUFFIXES: .SUFFIXES: .cxx .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/stimfit/py/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/stimfit/py/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ } uninstall-pkglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ done clean-pkglibLTLIBRARIES: -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) @list='$(pkglib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libpystf.la: $(libpystf_la_OBJECTS) $(libpystf_la_DEPENDENCIES) $(EXTRA_libpystf_la_DEPENDENCIES) $(AM_V_CXXLD)$(libpystf_la_LINK) $(am_libpystf_la_rpath) $(libpystf_la_OBJECTS) $(libpystf_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpystf_la-pystf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpystf_la-pystf_wrap.Plo@am__quote@ .cxx.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cxx.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cxx.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< libpystf_la-pystf.lo: $(srcdir)/pystf.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystf_la_CPPFLAGS) $(CPPFLAGS) $(libpystf_la_CXXFLAGS) $(CXXFLAGS) -MT libpystf_la-pystf.lo -MD -MP -MF $(DEPDIR)/libpystf_la-pystf.Tpo -c -o libpystf_la-pystf.lo `test -f '$(srcdir)/pystf.cxx' || echo '$(srcdir)/'`$(srcdir)/pystf.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpystf_la-pystf.Tpo $(DEPDIR)/libpystf_la-pystf.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(srcdir)/pystf.cxx' object='libpystf_la-pystf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystf_la_CPPFLAGS) $(CPPFLAGS) $(libpystf_la_CXXFLAGS) $(CXXFLAGS) -c -o libpystf_la-pystf.lo `test -f '$(srcdir)/pystf.cxx' || echo '$(srcdir)/'`$(srcdir)/pystf.cxx libpystf_la-pystf_wrap.lo: $(srcdir)/pystf_wrap.cxx @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystf_la_CPPFLAGS) $(CPPFLAGS) $(libpystf_la_CXXFLAGS) $(CXXFLAGS) -MT libpystf_la-pystf_wrap.lo -MD -MP -MF $(DEPDIR)/libpystf_la-pystf_wrap.Tpo -c -o libpystf_la-pystf_wrap.lo `test -f '$(srcdir)/pystf_wrap.cxx' || echo '$(srcdir)/'`$(srcdir)/pystf_wrap.cxx @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpystf_la-pystf_wrap.Tpo $(DEPDIR)/libpystf_la-pystf_wrap.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(srcdir)/pystf_wrap.cxx' object='libpystf_la-pystf_wrap.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpystf_la_CPPFLAGS) $(CPPFLAGS) $(libpystf_la_CXXFLAGS) $(CXXFLAGS) -c -o libpystf_la-pystf_wrap.lo `test -f '$(srcdir)/pystf_wrap.cxx' || echo '$(srcdir)/'`$(srcdir)/pystf_wrap.cxx mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(pkglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @BUILD_PYTHON_FALSE@install-exec-hook: @BUILD_PYTHON_FALSE@uninstall-hook: clean: clean-am clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-pkglibLTLIBRARIES @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-pkglibLTLIBRARIES @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-exec-am install-strip uninstall-am .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-pkglibLTLIBRARIES cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-exec-hook install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-pkglibLTLIBRARIES install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-hook uninstall-pkglibLTLIBRARIES @BUILD_PYTHON_TRUE@$(srcdir)/pystf_wrap.cxx $(srcdir)/stf.py: $(srcdir)/pystf.i @BUILD_PYTHON_TRUE@ $(SWIG) $(SWIG_PYTHON_OPT) -o $@ $< @BUILD_PYTHON_TRUE@ cat $(srcdir)/gccwarn $(srcdir)/pystf_wrap.cxx > $(srcdir)/pystf_wrap_tmp.cxx @BUILD_PYTHON_TRUE@ mv $(srcdir)/pystf_wrap_tmp.cxx $(srcdir)/pystf_wrap.cxx @BUILD_PYTHON_TRUE@install-exec-hook: @BUILD_PYTHON_TRUE@ cd ${prefix}/lib/stimfit && ln -sf ${STF_PYTHON_LIBNAME} _stf.so @BUILD_PYTHON_TRUE@ rm -f ${prefix}/lib/stimfit/*.la @BUILD_PYTHON_TRUE@ rm -f ${prefix}/lib/stimfit/*.a @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/ivtools.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/mintools.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/natools.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/minidemo.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/charlie.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/hdf5tools.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/stf.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/spells.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/embedded_init.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/embedded_stf.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/embedded_mpl.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/embedded_ipython.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/heka.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/extensions.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ cp -p $(srcdir)/../../pystfio/stfio_plot.py ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@ chmod -x ${prefix}/lib/stimfit/*.py @BUILD_PYTHON_TRUE@uninstall-hook: @BUILD_PYTHON_TRUE@ rm -rf ${prefix}/lib/stimfit @BUILD_PYTHON_TRUE@clean_local: @BUILD_PYTHON_TRUE@ rm -f $(srcdir)/pystf_wrap.cxx $(srcdir)/stf.py # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: stimfit-0.14.11/src/stimfit/py/embedded_mpl.py0000755000175200017520000001001712310037276016136 00000000000000#=========================================================================== # embedded_mpl.py # 2011.02.05 # Don't modify this file unless you know what you are doing!!! #=========================================================================== """ embedded_mpl.py starting code to embed a matplotlib wx figure into the stf application. """ import sys if 'linux' in sys.platform: import wxversion try: wxversion.select('2.8') except: pass import wx import matplotlib if sys.version_info[0] < 3: matplotlib.use('WXAgg') from matplotlib.backends.backend_wxagg import \ FigureCanvasWxAgg as FigCanvas, \ NavigationToolbar2WxAgg as NavigationToolbar from matplotlib.figure import Figure import matplotlib.mlab as mlab import numpy as np try: import stfio_plot except: from stfio import plot as stfio_plot class MplPanel(wx.Panel): """The matplotlib figure""" def __init__(self, parent, figsize=(8.0, 6.0)): super(MplPanel, self).__init__(parent, -1) self.fig = Figure(figsize, dpi=72) self.canvas = FigCanvas(self, -1, self.fig) # Since we have only one plot, we can use add_axes # instead of add_subplot, but then the subplot # configuration tool in the navigation toolbar wouldn't # work. # self.axes = self.fig.add_subplot(111) # Create the navigation toolbar, tied to the canvas # self.toolbar = NavigationToolbar(self.canvas) # # Layout with box sizers # self.vbox = wx.BoxSizer(wx.VERTICAL) self.vbox.Add(self.canvas, 1, wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT, 10) self.vbox.Add(self.toolbar, 0, wx.EXPAND) self.SetSizer(self.vbox) def plot_screen(self): import stf tsl = [] try: l = stf.get_selected_indices() for idx in l: tsl.append(stfio_plot.Timeseries(stf.get_trace(idx), stf.get_sampling_interval(), yunits = stf.get_yunits(), color='0.2')) fit = stf.get_fit(idx) if fit is not None: self.axes.plot(fit[0], fit[1], color='0.4', alpha=0.5, lw=5.0) except: pass tsl.append(stfio_plot.Timeseries(stf.get_trace(), stf.get_sampling_interval(), yunits = stf.get_yunits())) if stf.get_size_recording()>1: tsl2 = [stfio_plot.Timeseries(stf.get_trace(trace=-1, channel=stf.get_channel_index(False)), stf.get_sampling_interval(), yunits = stf.get_yunits(trace=-1, channel=stf.get_channel_index(False)), color='r', linestyle='-r')] stfio_plot.plot_traces(tsl, traces2=tsl2, ax=self.axes, textcolor2 = 'r', xmin=stf.plot_xmin(), xmax=stf.plot_xmax(), ymin=stf.plot_ymin(), ymax=stf.plot_ymax(), y2min=stf.plot_y2min(), y2max=stf.plot_y2max()) else: stfio_plot.plot_traces(tsl, ax=self.axes, xmin=stf.plot_xmin(), xmax=stf.plot_xmax(), ymin=stf.plot_ymin(), ymax=stf.plot_ymax()) fit = stf.get_fit() if fit is not None: self.axes.plot(fit[0], fit[1], color='0.2', alpha=0.5, lw=5.0) def plot_spectrum(self): import stf Pow, freq = mlab.psd(stf.get_trace(), Fs=(1.0/stf.get_sampling_interval())*1e3, detrend=mlab.detrend_linear) self.axes.plot(freq, 10*np.log10(Pow)) self.axes.set_xlabel("Frequency (Hz)") self.axes.set_ylabel("Power spectral density (dB/Hz)") stimfit-0.14.11/src/stimfit/py/Makefile.am0000755000175200017520000000401312277666257015241 00000000000000if BUILD_PYTHON pkglib_LTLIBRARIES = libpystf.la $(srcdir)/pystf_wrap.cxx $(srcdir)/stf.py: $(srcdir)/pystf.i $(SWIG) $(SWIG_PYTHON_OPT) -o $@ $< cat $(srcdir)/gccwarn $(srcdir)/pystf_wrap.cxx > $(srcdir)/pystf_wrap_tmp.cxx mv $(srcdir)/pystf_wrap_tmp.cxx $(srcdir)/pystf_wrap.cxx nodist_libpystf_la_SOURCES = $(srcdir)/pystf_wrap.cxx libpystf_la_SOURCES = $(srcdir)/pystf.cxx # $(SWIG_SOURCES) noinst_HEADERS = pystf.h INCLUDES = $(LIBNUMPY_INCLUDES) libpystf_la_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -I$(top_srcdir)/src libpystf_la_CXXFLAGS = $(OPT_CXXFLAGS) $(WX_CXXFLAGS) libpystf_la_LDFLAGS = $(LIBPYTHON_LDFLAGS) $(LIBSTF_LDFLAGS) $(LIBBIOSIG_LDFLAGS) libpystf_la_LIBADD = ../libstimfit.la ../../libstfio/libstfio.la $(WX_LIBS) EXTRA_DIST = pystf.i numpy.i ivtools.py mintools.py natools.py minidemo.py charlie.py mintools.py hdf5tools.py spells.py embedded_init.py embedded_stf.py embedded_mpl.py embedded_ipython.py heka.py extensions.py gccwarn install-exec-hook: cd ${prefix}/lib/stimfit && ln -sf ${STF_PYTHON_LIBNAME} _stf.so rm -f ${prefix}/lib/stimfit/*.la rm -f ${prefix}/lib/stimfit/*.a cp -p $(srcdir)/ivtools.py ${prefix}/lib/stimfit cp -p $(srcdir)/mintools.py ${prefix}/lib/stimfit cp -p $(srcdir)/natools.py ${prefix}/lib/stimfit cp -p $(srcdir)/minidemo.py ${prefix}/lib/stimfit cp -p $(srcdir)/charlie.py ${prefix}/lib/stimfit cp -p $(srcdir)/hdf5tools.py ${prefix}/lib/stimfit cp -p $(srcdir)/stf.py ${prefix}/lib/stimfit cp -p $(srcdir)/spells.py ${prefix}/lib/stimfit cp -p $(srcdir)/embedded_init.py ${prefix}/lib/stimfit cp -p $(srcdir)/embedded_stf.py ${prefix}/lib/stimfit cp -p $(srcdir)/embedded_mpl.py ${prefix}/lib/stimfit cp -p $(srcdir)/embedded_ipython.py ${prefix}/lib/stimfit cp -p $(srcdir)/heka.py ${prefix}/lib/stimfit cp -p $(srcdir)/extensions.py ${prefix}/lib/stimfit cp -p $(srcdir)/../../pystfio/stfio_plot.py ${prefix}/lib/stimfit chmod -x ${prefix}/lib/stimfit/*.py uninstall-hook: rm -rf ${prefix}/lib/stimfit clean_local: rm -f $(srcdir)/pystf_wrap.cxx $(srcdir)/stf.py endif stimfit-0.14.11/src/stimfit/py/charlie.py0000755000175200017520000001276212277666257015200 00000000000000""" Calculates resistances 2008-05-06, C. Schmidt-Hieber Indices are zero-based! """ import numpy as np # stimfit python module: import stf # import iv tools: import ivtools def resistance( base_start, base_end, peak_start, peak_end, amplitude ): """Calculates the resistance from a series of voltage clamp traces. Keyword arguments: base_start -- Starting index (zero-based) of the baseline cursors. base_end -- End index (zero-based) of the baseline cursors. peak_start -- Starting index (zero-based) of the peak cursors. peak_end -- End index (zero-based) of the peak cursors. amplitude -- Amplitude of the voltage command. Returns: The resistance. """ if (stf.check_doc() == False): print('Couldn\'t find an open file; aborting now.') return 0 # A temporary array to calculate the average: set = np.empty( (stf.get_size_channel(), stf.get_size_trace()) ) for n in range( 0, stf.get_size_channel() ): # Add this trace to set: set[n] = stf.get_trace( n ) # calculate average and create a new section from it: stf.new_window( np.average(set,0) ) # set peak cursors: if ( not(stf.set_peak_mean(-1)) ): return False # -1 means all points within peak window. if ( not(stf.set_peak_start(peak_start)) ): return False if ( not(stf.set_peak_end(peak_end)) ): return False # set base cursors: if ( not(stf.set_base_start(base_start)) ): return False if ( not(stf.set_base_end(base_end)) ): return False # measure everything: stf.measure() # calculate r_seal and return: return amplitude / (stf.get_peak()-stf.get_base()) def r_seal( amplitude=50 ): """Calculates the seal resistance from a series of voltage clamp traces. Keyword arguments: amplitude -- Amplitude of the voltage command. Defaults to 50 mV. Returns: The seal resistance. """ return resistance( 0, 199, 1050, 1199, amplitude ) def r_in( amplitude=-5 ): """Calculates the input resistance from a series of voltage clamp traces. Keyword arguments: amplitude -- Amplitude of the voltage command. Defaults to -5 mV. Returns: The input resistance. """ return resistance( 0, 999, 10700, 10999, amplitude ) def glu_iv( pulses = 13, subtract_base=True ): """Calculates an iv from a repeated series of fast application and voltage pulses. Keyword arguments: pulses -- Number of pulses for the iv. subtract_base -- If True (default), baseline will be subtracted. Returns: True if successful. """ # Some ugly definitions for the time being # Cursors are in ms here. gFitEnd = 330.6 # fit end cursor is variable gFSelect = 0 # Monoexp gDictSize = stf.leastsq_param_size( gFSelect ) + 2 # Parameters, chisqr, peak value gBaseStart = 220.5 # Start and end of the baseline before the control pulse, in ms gBaseEnd = 223.55 gPeakStart = 223.55 # Start and end of the peak cursors for the control pulse, in ms gPeakEnd = 253.55 if ( gDictSize < 0 ): print('Couldn\'t retrieve function id=%d, aborting now.'%gFSelect) return False if ( not(stf.check_doc()) ): print('Couldn\'t find an open file; aborting now.') return False # analyse iv, subtract baseline if requested: ivtools.analyze_iv( pulses ) if ( subtract_base == True ): if ( not(stf.set_base_start( gBaseStart, True )) ): return False if ( not(stf.set_base_end( gBaseEnd, True )) ): return False stf.measure() stf.select_all() stf.subtract_base() # set cursors: if ( not(stf.set_peak_start( gPeakStart, True )) ): return False if ( not(stf.set_peak_end( gPeakEnd, True )) ): return False if ( not(stf.set_base_start( gBaseStart, True )) ): return False if ( not(stf.set_base_end( gBaseEnd, True )) ): return False if ( not(stf.set_fit_end( gFitEnd, True )) ): return False if ( not(stf.set_peak_mean( 3 )) ): return False if ( not(stf.set_peak_direction( "both" )) ): return False # A list for dictionary keys and values: dict_keys = [] dict_values = np.empty( (gDictSize, stf.get_size_channel()) ) firstpass = True for n in range( 0, stf.get_size_channel() ): if ( stf.set_trace( n ) == False ): print('Couldn\'t set a new trace; aborting now.') return False print('Analyzing trace %d of %d'%( n+1, stf.get_size_channel() ) ) # set the fit window cursors: if ( not(stf.set_fit_start( stf.peak_index() )) ): return False # Least-squares fitting: p_dict = stf.leastsq( gFSelect ) if ( p_dict == 0 ): print('Couldn\'t perform a fit; aborting now.') return False # Create an empty list: tempdict_entry = [] row = 0 for k, v in p_dict.iteritems(): if ( firstpass == True ): dict_keys.append( k ) dict_values[row][n] = v row = row+1 if ( firstpass ): dict_keys.append( "Peak amplitude" ) dict_values[row][n] = stf.get_peak()-stf.get_base() firstpass = False retDict = dict() # Create the dictionary for the table: entry = 0 for elem in dict_keys: retDict[ elem ] = dict_values[entry].tolist() entry = entry+1 return stf.show_table_dictlist( retDict ) stimfit-0.14.11/src/stimfit/py/ivtools.py0000755000175200017520000000756612277666257015276 00000000000000""" Some functions to create I-V curves 2008-03-26, C. Schmidt-Hieber Indices are zero-based! """ import numpy as np # stimfit python module: import stf def analyze_iv( pulses, trace_start = 0, factor = 1.0 ): """Creates an IV for the currently active channel. Keyword arguments: pulses -- Number of pulses for the IV. trace_start -- ZERO-BASED index of the first trace to be used for the IV. Note that this is one less than what is diplayed in the drop-down box. factor -- Multiply result with an optional factor, typically from some external scaling. Returns: True upon success, False otherwise. """ if (stf.check_doc() == False): print("Couldn\'t find an open file; aborting now.") return False if (pulses < 1): print("Number of pulses has to be greater or equal 1.") return False # create an empty array (will contain random numbers) channel = list() for m in range(pulses): # A temporary array to calculate the average: set = np.empty( (int((stf.get_size_channel()-m-1-trace_start)/pulses)+1, stf.get_size_trace( trace_start+m )) ) n_set = 0 for n in range( trace_start+m, stf.get_size_channel(), pulses ): # Add this trace to set: set[n_set,:] = stf.get_trace( n ) n_set = n_set+1 # calculate average and create a new section from it, multiply: channel.append( np.average(set, 0) * factor ) stf.new_window_list( channel ) return True def select_pon( pon_pulses = 8 ): """Selects correction-subtracted pulses from FPulse-generated files. Keyword arguments: pon_pulses -- Number of p-over-n correction pulses. This is typically 4 (for PoN=5 in the FPulse script) or 8 (for PoN=9). Returns: True upon success, False otherwise. """ # Zero-based indices! Hence, for P over N = 8, the first corrected # trace index is 9. for n in range( pon_pulses+1, stf.get_size_channel(), pon_pulses+2 ): if ( stf.select_trace( n ) == False ): # Unselect everything and break if there was an error: stf.unselect_all() return False return True def pon_batch( iv_pulses, pon_pulses = 8, trace_start = 0, subtract_base = False, factor = 1.0 ): """Extracts p-over-n corrected traces in FPulse-generated files, and then creates an IV for the currently active channel. Keyword arguments: iv_pulses -- Number of pulses for the IV. pon_pulses -- Number of p-over-n correction pulses. This is typically 4 (for PoN=5 in the FPulse script) or 8 (for PoN=9). trace_start -- ZERO-BASED index of the first trace to be used for the IV. Note that this is one less than what is diplayed in the drop-down box. subtract_base -- Set to True if you want to subtract the baseline at the end. You will need to set the baseline cursors in the original file to appropriate positions if you want to do this. factor -- Multiply result with an optional factor, typically from some external scaling. Returns: True upon success, False otherwise. """ # Extract corrected pulses: if ( select_pon( pon_pulses ) == False ): return False if ( stf.new_window_selected_this( ) == False ): return False # Create IV: if ( analyze_iv( iv_pulses, trace_start, factor ) == False ): return False # Subtract base: if ( subtract_base == True ): stf.select_all( ) if ( stf.subtract_base( ) == False ): return False return True stimfit-0.14.11/src/stimfit/py/pystf.cxx0000755000175200017520000014631112556527764015105 00000000000000#include #include #ifndef WX_PRECOMP #include "wx/wx.h" #endif #ifdef _WINDOWS #ifdef _DEBUG #undef _DEBUG #define _UNDEBUG #endif #endif #ifdef _POSIX_C_SOURCE #define _POSIX_C_SOURCE_WAS_DEF #undef _POSIX_C_SOURCE #endif #ifdef _XOPEN_SOURCE #define _XOPEN_SOURCE_WAS_DEF #undef _XOPEN_SOURCE #endif #ifdef WITH_PYTHON #include #endif #ifdef _POSIX_C_SOURCE_WAS_DEF #ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE #endif #endif #ifdef _XOPEN_SOURCE_WAS_DEF #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE #endif #endif #if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic ignored "-Wwrite-strings" #endif #ifdef WITH_PYTHON #if PY_MAJOR_VERSION >= 3 #include #define PyInt_FromLong PyLong_FromLong #define PyString_AsString PyBytes_AsString #else #include #endif #endif // revert to previous behaviour #if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic warning "-Wwrite-strings" #endif #ifdef _WINDOWS #ifdef _UNDEBUG #define _DEBUG #endif #endif #ifdef WITH_PYTHON #include #endif #include "pystf.h" #include "./../gui/app.h" #include "./../gui/doc.h" #include "./../gui/view.h" #include "./../gui/graph.h" #include "./../gui/parentframe.h" #include "./../gui/childframe.h" #include "./../gui/dlgs/cursorsdlg.h" #include "./../../libstfnum/fit.h" #ifdef WITH_PYTHON #define array_data(a) (((PyArrayObject *)a)->data) #endif std::vector< std::vector< Vector_double > > gMatrix; std::vector< std::string > gNames; double _figsize[] = {8.0,6.0}; #if PY_MAJOR_VERSION >= 3 int wrap_array() { #ifdef WITH_PYTHON import_array(); return 0; #else return 0; #endif } #else void wrap_array() { #ifdef WITH_PYTHON import_array(); #endif } #endif void ShowExcept(const std::exception& e) { wxString msg; msg << wxT("Caught an exception in the python module:\n") << wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg( msg ); return; } void ShowError( const wxString& msg ) { wxString fullmsg; fullmsg << wxT("Error in the python module:\n") << msg; wxGetApp().ErrorMsg( msg ); return; } wxStfDoc* actDoc() { return wxGetApp().GetActiveDoc(); } wxStfGraph* actGraph() { if ( !check_doc() ) return NULL; wxStfView* pView=(wxStfView*)actDoc()->GetFirstView(); if ( !pView ) return NULL; return pView->GetGraph(); } bool refresh_graph() { wxStfGraph* pGraph = actGraph(); if ( !pGraph ) { ShowError( wxT("Pointer to graph is zero") ); return false; } pGraph->Refresh(); return true; } // update data and labels in the results box bool update_results_table(){ wxStfChildFrame* pFrame = (wxStfChildFrame*)actDoc()->GetDocumentWindow(); if (!pFrame) { ShowError( wxT("Error in update_results_table()") ); return false; } wxGetApp().OnPeakcalcexecMsg(); pFrame->UpdateResults(); return true; } void write_stf_registry(const wxString& item, int value){ wxGetApp().wxWriteProfileInt(wxT("Settings"), item, value); } bool update_cursor_dialog( ) { if (wxGetApp().GetCursorsDialog()!=NULL && wxGetApp().GetCursorsDialog()->IsShown()) { try { wxGetApp().GetCursorsDialog()->UpdateCursors(); } catch (const std::runtime_error& e) { ShowExcept( e ); // We don't necessarily need to return false here. } } return refresh_graph(); } bool check_doc( bool show_dialog ) { if (actDoc() == NULL) { if (show_dialog) ShowError( wxT("Couldn't find open file") ); return false; } return true; } std::string get_filename( ) { if ( !check_doc() ) return 0; #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) return std::string(actDoc()->GetFilename()); #else return std::string(actDoc()->GetFilename().mb_str()); #endif } std::string get_versionstring() { #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) return std::string(wxGetApp().GetVersionString()); #else return std::string(wxGetApp().GetVersionString().mb_str()); #endif } #ifdef WITH_PYTHON PyObject* get_trace(int trace, int channel) { wrap_array(); if ( !check_doc() ) return NULL; if ( trace == -1 ) { trace = actDoc()->GetCurSecIndex(); } if ( channel == -1 ) { channel = actDoc()->GetCurChIndex(); } npy_intp dims[1] = {(int)actDoc()->at(channel).at(trace).size()}; PyObject* np_array = PyArray_SimpleNew(1, dims, NPY_DOUBLE); double* gDataP = (double*)array_data(np_array); /* fill */ std::copy( (*actDoc())[channel][trace].get().begin(), (*actDoc())[channel][trace].get().end(), gDataP); return np_array; } #endif bool new_window( double* invec, int size ) { bool open_doc = actDoc() != NULL; std::vector< double > va(size); std::copy( &invec[0], &invec[size], va.begin() ); Section sec(va); Channel ch(sec); if (open_doc) { ch.SetYUnits( actDoc()->at( actDoc()->GetCurChIndex() ).GetYUnits() ); } Recording new_rec( ch ); if (open_doc) { new_rec.SetXScale( actDoc()->GetXScale() ); } wxStfDoc* testDoc = wxGetApp().NewChild( new_rec, actDoc(), wxT("From python") ); if ( testDoc == NULL ) { ShowError( wxT("Failed to create a new window.") ); return false; } return true; } bool _new_window_gMatrix( ) { bool open_doc = actDoc() != NULL; Recording new_rec( gMatrix.size() ); for (std::size_t n_c=0; n_c < new_rec.size(); ++n_c) { Channel ch( gMatrix[n_c].size() ); for ( std::size_t n_s = 0; n_s < ch.size(); ++n_s ) { ch.InsertSection( Section(gMatrix[n_c][n_s]), n_s ); } std::string yunits = ""; if (open_doc) { yunits = actDoc()->at( actDoc()->GetCurChIndex() ).GetYUnits(); } ch.SetYUnits( yunits ); if ( !gNames.empty() ) { ch.SetChannelName(gNames[n_c]); } new_rec.InsertChannel( ch, n_c ); } gNames.resize(0); double xscale = 1.0; if (open_doc) { xscale = actDoc()->GetXScale(); } new_rec.SetXScale( xscale ); wxStfDoc* pDoc = NULL; if ( open_doc ) { pDoc = actDoc(); } wxStfDoc* testDoc = wxGetApp().NewChild( new_rec, pDoc, wxT("From python") ); if ( testDoc == NULL ) { ShowError( wxT("Failed to create a new window.") ); return false; } return true; } bool new_window_matrix( double* invec, int traces, int size ) { bool open_doc = actDoc() != NULL; Channel ch( traces ); for (int n = 0; n < traces; ++n) { std::size_t offset = n * size; std::vector< double > va(size); std::copy( &invec[offset], &invec[offset+size], &va[0] ); Section sec(va); ch.InsertSection(sec, n); } if (open_doc) { ch.SetYUnits( actDoc()->at( actDoc()->GetCurChIndex() ).GetYUnits() ); } Recording new_rec( ch ); if (open_doc) { new_rec.SetXScale( actDoc()->GetXScale() ); } wxStfDoc* testDoc = wxGetApp().NewChild( new_rec, actDoc(), wxT("From python") ); if ( testDoc == NULL ) { ShowError( wxT("Failed to create a new window.") ); return false; } return true; } bool new_window_selected_this( ) { if ( !check_doc() ) return false; if ( !actDoc()->OnNewfromselectedThis( ) ) { return false; } return true; } bool new_window_selected_all( ) { if ( !check_doc() ) return false; try { wxCommandEvent wce; wxGetApp().OnNewfromselected( wce ); } catch ( const std::exception& e) { ShowExcept( e ); return false; } return true; } int get_size_trace( int trace, int channel ) { if ( !check_doc() ) return 0; if ( trace == -1 ) { trace = actDoc()->GetCurSecIndex(); } if ( channel == -1 ) { channel = actDoc()->GetCurChIndex(); } int size = 0; try { size = actDoc()->at(channel).at(trace).size(); } catch ( const std::out_of_range& e) { ShowExcept( e ); return 0; } return size; } int get_size_channel( int channel ) { if ( !check_doc() ) return 0; if ( channel == -1 ) { channel = actDoc()->GetCurChIndex(); } int size = 0; try { size = actDoc()->at(channel).size(); } catch ( const std::out_of_range& e) { ShowExcept( e ); return 0; } return size; } int get_size_recording( ) { if ( !check_doc() ) return 0; return actDoc()->size(); } double get_maxdecay() { if ( !check_doc() ) return -1.0; return actDoc()->GetMaxDecay(); } double get_maxrise() { if ( !check_doc() ) return -1.0; return actDoc()->GetMaxRise(); } const char* get_recording_time( ) { if ( !check_doc() ) return 0; return actDoc()->GetTime().c_str(); } const char* get_recording_date( ) { if ( !check_doc() ) return 0; return actDoc()->GetDate().c_str(); } std::string get_recording_comment( ) { if ( !check_doc() ) return ""; std::ostringstream comment; comment << actDoc()->GetFileDescription() << actDoc()->GetGlobalSectionDescription(); return comment.str(); } bool set_recording_comment( const char* comment ) { if ( !check_doc() ) return false; actDoc()->SetFileDescription(comment); return true; } bool set_recording_date( const char* date ) { if ( !check_doc() ) return false; actDoc()->SetDate(date); return true; } bool set_recording_time( const char* time ) { if ( !check_doc() ) return false; actDoc()->SetTime(time); return true; } bool select_trace( int trace ) { if ( !check_doc() ) return false; int max_size = (int)actDoc()->at(actDoc()->GetCurChIndex()).size(); if (trace < -1 || trace >= max_size) { wxString msg; msg << wxT("Select a trace with a zero-based index between 0 and ") << max_size-1; ShowError( msg ); return false; } if ((int)actDoc()->GetSelectedSections().size() == max_size) { ShowError(wxT("No more traces can be selected\nAll traces are selected")); return false; } if ( trace == -1 ) { trace = actDoc()->GetCurSecIndex(); } // control whether trace has already been selected: bool already=false; for (c_st_it cit = actDoc()->GetSelectedSections().begin(); cit != actDoc()->GetSelectedSections().end() && !already; ++cit) { if ((int)*cit == trace) { already = true; } } // add trace number to selected numbers, print number of selected traces if (!already) { actDoc()->SelectTrace(trace, actDoc()->GetBaseBeg(), actDoc()->GetBaseEnd()); //String output in the trace navigator wxStfChildFrame* pFrame = (wxStfChildFrame*)actDoc()->GetDocumentWindow(); if ( !pFrame ) { ShowError( wxT("Pointer to frame is zero") ); return false; } pFrame->SetSelected(actDoc()->GetSelectedSections().size()); } else { ShowError( wxT("Trace is already selected") ); return false; } return true; } void select_all( ) { if ( !check_doc() ) return; wxCommandEvent wce; actDoc()->Selectall( wce ); } void unselect_all( ) { if ( !check_doc() ) return; wxCommandEvent wce; actDoc()->Deleteselected( wce ); } #ifdef WITH_PYTHON PyObject* get_selected_indices() { if ( !check_doc() ) return NULL; PyObject* retObj = PyTuple_New( (int)actDoc()->GetSelectedSections().size() ); c_st_it cit; int n=0; for ( cit = actDoc()->GetSelectedSections().begin(); cit != actDoc()->GetSelectedSections().end(); ++cit ) { PyTuple_SetItem(retObj, n++, PyInt_FromLong( (long)*cit ) ); } // The main program apparently takes the ownership of the tuple; // no reference count decrement should be performed here. return retObj; } #endif bool set_trace( int trace ) { if ( !check_doc() ) return false; // use only with open document if ( !actDoc()->SetSection( trace ) ) { return false; } wxGetApp().OnPeakcalcexecMsg(); wxStfChildFrame* pFrame = (wxStfChildFrame*)actDoc()->GetDocumentWindow(); if ( !pFrame ) { ShowError( wxT("Pointer to frame is zero") ); return false; } pFrame->SetCurTrace( trace ); return refresh_graph(); } int get_trace_index() { if ( !check_doc() ) return -1; return actDoc()->GetCurSecIndex(); } int get_channel_index( bool active ) { if ( !check_doc() ) return -1; if ( active ) return actDoc()->GetCurChIndex(); else return actDoc()->GetSecChIndex(); } bool set_channel(int channel) { if ( !check_doc() ) return false; // use only with open document // channel negative if (channel<0) { ShowError( wxT("Negative value is not allowed") ); return false; } // only if we want to change the active channel if ((unsigned int)channel == actDoc()->GetCurChIndex() ) { return true; } int reference_ch = actDoc()->GetCurChIndex(); // catch exceptions (i.e out of range) try { actDoc()->SetCurChIndex(channel); } catch (const std::out_of_range& e) { ShowError( wxT("Value exceeds the number of available channels") ); return false; } // Pointer to wxStfChildFrame to access Channel selection combo wxStfChildFrame* pFrame = (wxStfChildFrame*)actDoc()->GetDocumentWindow(); if (!pFrame) { ShowError( wxT("Pointer to frame is zero") ); return false; } // set the channel selection combo //pFrame->SetChannels( actDoc()->GetCurChIndex(), actDoc()->GetSecChIndex()); pFrame->SetChannels( actDoc()->GetCurChIndex(), reference_ch); pFrame->UpdateChannels(); // update according to the combo return refresh_graph(); } const char* get_channel_name( int index ) { if ( !check_doc() ) return ""; if (index < 0) { index = actDoc()->GetCurChIndex(); } try { return actDoc()->at( index ).GetChannelName().c_str(); } catch (const std::out_of_range& e) { wxString msg(wxT("Index out of range in get_channel_name:\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return ""; } } bool set_channel_name( const char* name, int index ) { if ( !check_doc() ) return ""; if (index < 0) { index = actDoc()->GetCurChIndex(); } try { actDoc()->at( index ).SetChannelName(name); } catch (const std::out_of_range& e) { wxString msg(wxT("Index out of range in get_channel_name:\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return false; } return true; } const char* get_trace_name( int trace, int channel ) { if ( !check_doc() ) return ""; if (channel < 0) { channel = actDoc()->GetCurChIndex(); } if (trace < 0) { trace = actDoc()->GetCurSecIndex(); } try { return actDoc()->at( channel ).at( trace ).GetSectionDescription().c_str(); } catch (const std::out_of_range& e) { wxString msg(wxT("Index out of range in get_trace_name:\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return ""; } } bool subtract_base( ) { if ( !check_doc() ) return false; return actDoc()->SubtractBase(); } bool file_open( const char* filename ) { wxString wxFilename( filename, wxConvLocal ); return wxGetApp().OpenFilePy( wxFilename ); } bool file_save( const char* filename ) { if ( !check_doc() ) return false; wxString wxFilename( filename, wxConvLocal ); return actDoc()->OnSaveDocument( wxFilename ); } bool close_all( ) { return wxGetApp().CloseAll(); } bool close_this( ) { if ( !check_doc() ) return false; return actDoc()->DeleteAllViews( ); } double peak_index( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetMaxT(); } else { // Test whether a second channel is available at all: if ( actDoc()->size() < 2 ) { ShowError( wxT("No second channel found") ); return -1.0; } return actDoc()->GetAPMaxT(); } } double maxrise_index( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetMaxRiseT(); } else { // Test whether a second channel is available at all: if ( actDoc()->size() < 2 ) { ShowError( wxT("No second channel found") ); return -1.0; } return actDoc()->GetAPMaxRiseT(); } } double maxdecay_index( ) { if ( !check_doc() ) return -1.0; return actDoc()->GetMaxDecayT(); } double foot_index( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetTLoReal() - (actDoc()->GetTHiReal() - actDoc()->GetTLoReal()) / 3.0; } else { ShowError( wxT("At this time, foot_index() is only implemented for the active channel") ); return -1.0; } } double t50left_index( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetT50LeftReal(); } else { // Test whether a second channel is available at all: if ( actDoc()->size() < 2 ) { ShowError( wxT("No second channel found") ); return -1.0; } return actDoc()->GetAPT50LeftReal(); } } double t50right_index( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetT50RightReal(); } else { ShowError( wxT("At this time, t50right_index() is only implemented for the active channel") ); return -1.0; } } double get_halfwidth( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { double dt = actDoc()->GetXScale(); double t50left = actDoc()->GetT50LeftReal(); double t50right = actDoc()->GetT50RightReal(); return ( t50right-t50left )*dt; } else { ShowError( wxT("At this time, halfwidth is only implemented for the active channel") ); return -1.0; } } double rtlow_index( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetTLoReal(); } else { ShowError( wxT("At this time, rtlow_index() is only implemented for the active channel") ); return -1.0; } } double rthigh_index( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetTHiReal(); } else { ShowError( wxT("At this time, rthigh_index() is only implemented for the active channel") ); return -1.0; } } double get_threshold_time( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetThrT(); else return (double)actDoc()->GetThrT() * actDoc()->GetXScale(); } double get_threshold_value( ) { if ( !check_doc() ) return -1; return actDoc()->GetThreshold(); } double get_latency( ) { if ( !check_doc() ) return -1.0; double dt = actDoc()->GetXScale(); return ( actDoc()->GetLatency() )*dt; } double get_risetime( ) { if ( !check_doc() ) return -1.0; double dt = actDoc()->GetXScale(); return ( actDoc()->GetTHiReal()-actDoc()->GetTLoReal() )*dt; } double get_risetime_factor() { if ( !check_doc() ) return -1.0; return actDoc()->GetRTFactor()/100.; } double get_fit_start( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetFitBeg(); else return (double)actDoc()->GetFitBeg() * actDoc()->GetXScale(); } bool set_risetime_factor(double factor) { if ( !check_doc() ) return false; if (factor > 0.45 || factor < 0.05) { ShowError( wxT("Value out of range (0.05-0.45) in set_risetime_factor()") ); return false; } int RTFactor = (int)(factor*100); actDoc()->SetRTFactor(RTFactor); // defined in wxStfApp::OnPeakcalcexecMsg update_cursor_dialog(); update_results_table(); write_stf_registry(wxT("RTFactor"), RTFactor); return true; } bool set_fit_start( double pos, bool is_time ) { if ( !check_doc() ) return false; if ( is_time ) pos /= actDoc()->GetXScale(); int posInt = stf::round( pos ); // range check: if ( posInt < 0 || posInt >= (int)actDoc()->cursec().size() ) { ShowError( wxT("Value out of range in set_fit_start()") ); return false; } //conversion of pixel on screen to time (inversion of xFormat()) if (wxGetApp().GetCursorsDialog() != NULL && wxGetApp().GetCursorsDialog()->GetStartFitAtPeak()) { ShowError( wxT("Fit will start at the peak. Change cursor settings (Edit->Cursor settings) to set manually.") ); return false; } actDoc()->SetFitBeg( posInt ); return update_cursor_dialog(); } double get_fit_end( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetFitEnd(); else return (double)actDoc()->GetFitEnd() * actDoc()->GetXScale(); } bool set_fit_end( double pos, bool is_time ) { if ( !check_doc() ) return false; if ( is_time ) pos /= actDoc()->GetXScale(); int posInt = stf::round( pos ); // range check: if ( posInt < 0 || posInt >= (int)actDoc()->cursec().size() ) { ShowError( wxT("Value out of range in set_fit_end()") ); return false; } //conversion of pixel on screen to time (inversion of xFormat()) if (wxGetApp().GetCursorsDialog() != NULL && wxGetApp().GetCursorsDialog()->GetStartFitAtPeak()) { ShowError( wxT("Fit will start at the peak. Change cursor settings (Edit->Cursor settings) to set manually.") ); return false; } actDoc()->SetFitEnd( posInt ); return update_cursor_dialog(); } double get_peak_start( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetPeakBeg(); else return (double)actDoc()->GetPeakBeg() * actDoc()->GetXScale(); } bool set_peak_start( double pos, bool is_time ) { if ( !check_doc() ) return false; if ( is_time ) pos /= actDoc()->GetXScale(); int posInt = stf::round( pos ); // range check: if ( posInt < 0 || posInt >= (int)actDoc()->cursec().size() ) { ShowError( wxT("Value out of range in set_peak_start()") ); return false; } actDoc()->SetPeakBeg( posInt ); return update_cursor_dialog(); } double get_peak_end( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetPeakEnd(); else return (double)actDoc()->GetPeakEnd() * actDoc()->GetXScale(); } bool set_peak_end( double pos, bool is_time ) { if ( !check_doc() ) return false; if ( is_time ) pos /= actDoc()->GetXScale(); int posInt = stf::round( pos ); // range check: if ( posInt < 0 || posInt >= (int)actDoc()->cursec().size() ) { ShowError( wxT("Value out of range in set_peak_end()") ); return false; } actDoc()->SetPeakEnd( posInt ); return update_cursor_dialog(); } bool set_peak_mean( int pts ) { if ( !check_doc() ) return false; // range check (-1 is a legal value!): if ( pts == 0 || pts < -1 ) { ShowError( wxT("Value out of range in set_peak_mean()") ); return false; } actDoc()->SetPM( pts ); return update_cursor_dialog(); } int get_peak_mean() { if ( !check_doc() ) return 0; return (int)actDoc()->GetPM(); } const char* get_peak_direction( ) { if ( !check_doc() ) return ""; const char *direction = "both"; if ( actDoc()->GetDirection() == stfnum::up ) direction = "up"; else if ( actDoc()->GetDirection() == stfnum::down ) direction = "down"; else if ( actDoc()->GetDirection() == stfnum::both ) direction = "both"; return direction; } bool set_peak_direction( const char* direction ) { if ( !check_doc() ) return false; if ( strcmp( direction, "up" ) == 0 ) { actDoc()->SetDirection( stfnum::up ); return update_cursor_dialog(); } if ( strcmp( direction, "down" ) == 0 ) { actDoc()->SetDirection( stfnum::down ); return update_cursor_dialog(); } if ( strcmp( direction, "both" ) == 0 ) { actDoc()->SetDirection( stfnum::both ); return update_cursor_dialog(); } wxString msg; msg << wxT("\"") << wxString::FromAscii(direction) << wxT("\" is not a valid direction\n"); msg << wxT("Use \"up\", \"down\" or \"both\""); ShowError( msg ); return false; } const char* get_baseline_method() { if ( !check_doc() ) return ""; const char *method=" "; if ( actDoc()->GetBaselineMethod() == stfnum::mean_sd ) method = "mean"; else if ( actDoc()->GetBaselineMethod() == stfnum::median_iqr ) method = "median"; return method; } bool set_baseline_method( const char* method ) { if ( !check_doc() ) return false; const wxString myitem = wxT("BaselineMethod"); if ( strcmp( method, "mean" ) == 0 ) { actDoc()->SetBaselineMethod( stfnum::mean_sd ); update_cursor_dialog(); update_results_table(); write_stf_registry(myitem, stfnum::mean_sd); return true; } else if ( strcmp( method, "median" ) == 0 ) { actDoc()->SetBaselineMethod( stfnum::median_iqr ); update_cursor_dialog(); // update wxStfCursorsDlg update_results_table(); // update results and labels in the table write_stf_registry(myitem, stfnum::median_iqr); // write in .Stimfit return true; } else { wxString msg; msg << wxT("\"") << wxString::FromAscii(method) << wxT("\" is not a valid method\n"); msg << wxT("Use \"mean\" or \"median\""); ShowError( msg ); return false; } } const char* get_latency_start_mode( ) { if ( !check_doc() ) return ""; const char *mode = "undefined"; if ( actDoc()->GetLatencyStartMode() == stf::manualMode ) mode = "manual"; else if ( actDoc()->GetLatencyStartMode() == stf::peakMode ) mode = "peak"; else if ( actDoc()->GetLatencyStartMode() == stf::riseMode ) mode = "rise"; else if ( actDoc()->GetLatencyStartMode() == stf::halfMode ) mode = "half"; return mode; } bool set_latency_start_mode( const char* mode ) { if ( !check_doc() ) return false; const wxString myitem = wxT("LatencyStartMode"); bool dlg_OK, result_OK; if ( strcmp( mode, "manual" ) == 0 ) { actDoc()->SetLatencyStartMode( stf::manualMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::manualMode); return true; } return false; } else if ( strcmp( mode, "peak" ) == 0 ) { actDoc()->SetLatencyStartMode( stf::peakMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::peakMode); return true; } return false; } else if ( strcmp( mode, "rise" ) == 0 ) { actDoc()->SetLatencyStartMode( stf::riseMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::riseMode); return true; } return false; } else if ( strcmp( mode, "half" ) == 0 ) { actDoc()->SetLatencyStartMode( stf::halfMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::halfMode); return true; } return false; } else { wxString msg; msg << wxT("\"") << wxString::FromAscii(mode) << wxT("\" is not a valid start latency mode\n"); msg << wxT("Use \"manual\", \"peak\", \"rise\" or \"half\""); ShowError( msg ); return false; } } const char* get_latency_end_mode( ) { if ( !check_doc() ) return ""; const char *mode = "undefined"; if ( actDoc()->GetLatencyEndMode() == stf::manualMode ) mode = "manual"; else if ( actDoc()->GetLatencyEndMode() == stf::peakMode ) mode = "peak"; else if ( actDoc()->GetLatencyEndMode() == stf::riseMode ) mode = "rise"; else if ( actDoc()->GetLatencyEndMode() == stf::halfMode ) mode = "half"; else if ( actDoc()->GetLatencyEndMode() == stf::footMode ) mode = "foot"; return mode; } bool set_latency_end_mode( const char* mode ) { if ( !check_doc() ) return false; const wxString myitem = wxT("LatencyEndMode"); bool dlg_OK, result_OK; if ( strcmp( mode, "manual" ) == 0 ) { actDoc()->SetLatencyEndMode( stf::manualMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::manualMode); return true; } return false; } else if ( strcmp( mode, "peak" ) == 0 ) { actDoc()->SetLatencyEndMode( stf::peakMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::peakMode); return true; } return false; } else if ( strcmp( mode, "rise" ) == 0 ) { actDoc()->SetLatencyEndMode( stf::riseMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::riseMode); return true; } return false; } else if ( strcmp( mode, "half" ) == 0 ) { actDoc()->SetLatencyEndMode( stf::halfMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::halfMode); return true; } return false; } else if ( strcmp( mode, "foot" ) == 0 ) { actDoc()->SetLatencyEndMode( stf::footMode ); dlg_OK = update_cursor_dialog(); result_OK = update_results_table(); if (dlg_OK && result_OK) { write_stf_registry(myitem, stf::footMode); return true; } return false; } else { wxString msg; msg << wxT("\"") << wxString::FromAscii(mode) << wxT("\" is not a valid end latency mode\n"); msg << wxT("Use \"manual\", \"peak\", \"rise\", \"half\" or \"foot\""); ShowError( msg ); return false; } } double get_latency_start( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetLatencyBeg(); else return (double)actDoc()->GetLatencyBeg() * actDoc()->GetXScale(); } double get_latency_end( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetLatencyEnd(); else return (double)actDoc()->GetLatencyEnd() * actDoc()->GetXScale(); } double get_base_start( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetBaseBeg(); else return (double)actDoc()->GetBaseBeg() * actDoc()->GetXScale(); } bool set_base_start( double pos, bool is_time ) { if ( !check_doc() ) return false; if ( is_time ) pos /= actDoc()->GetXScale(); int posInt = stf::round( pos ); // range check: if ( posInt < 0 || posInt >= (int)actDoc()->cursec().size() ) { ShowError( wxT("Value out of range in set_base_start()") ); return false; } actDoc()->SetBaseBeg( posInt ); return update_cursor_dialog(); } double get_base_end( bool is_time ) { if ( !check_doc() ) return -1; if ( !is_time ) return actDoc()->GetBaseEnd(); else return (double)actDoc()->GetBaseEnd() * actDoc()->GetXScale(); } bool set_base_end( double pos, bool is_time ) { if ( !check_doc() ) return false; if ( is_time ) pos /= actDoc()->GetXScale(); int posInt = stf::round( pos ); // range check: if ( posInt < 0 || posInt >= (int)actDoc()->cursec().size() ) { ShowError( wxT("Value out of range in set_base_end()") ); return false; } actDoc()->SetBaseEnd( posInt ); return update_cursor_dialog(); } bool set_slope(double slope) { if ( !check_doc() ) return false; actDoc()->SetSlopeForThreshold( slope ); actDoc()->SetFromBase( false ); return update_cursor_dialog(); } double get_sampling_interval( ) { if ( !check_doc() ) return -1.0; return actDoc()->GetXScale(); } const char* get_xunits( ) { if ( !check_doc() ) return ""; return actDoc()->GetXUnits().c_str(); } const char* get_yunits( int trace, int channel ) { if ( !check_doc() ) return ""; if (channel < 0) { channel = actDoc()->GetCurChIndex(); } if (trace < 0) { trace = actDoc()->GetCurSecIndex(); } try { return actDoc()->at( channel ).GetYUnits().c_str(); } catch (const std::out_of_range& e) { wxString msg(wxT("Index out of range in get_yunits:\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return ""; } } bool set_xunits( const char* units ) { if ( !check_doc() ) return false; actDoc()->SetXUnits(units); return true; } bool set_yunits( const char* units, int trace, int channel ) { if ( !check_doc() ) return false; if (channel < 0) { channel = actDoc()->GetCurChIndex(); } if (trace < 0) { trace = actDoc()->GetCurSecIndex(); } try { actDoc()->at( channel ).SetYUnits(units); } catch (const std::out_of_range& e) { wxString msg(wxT("Index out of range in set_yunits:\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return false; } return true; } bool set_sampling_interval( double si ) { if ( !check_doc() ) return false; if (si <= 0) { ShowError( wxT("New sampling interval needs to be greater than 0.") ); return false; } actDoc()->SetXScale( si ); return refresh_graph(); } bool measure( ) { if ( !check_doc() ) return false; // check cursor positions: if ( actDoc()->GetPeakBeg() > actDoc()->GetPeakEnd() ) { ShowError( wxT("Peak window cursors are reversed; will abort now.") ); return false; } if ( actDoc()->GetBaseBeg() > actDoc()->GetBaseEnd() ) { ShowError( wxT("Base window cursors are reversed; will abort now.") ); return false; } if ( actDoc()->GetFitBeg() > actDoc()->GetFitEnd() ) { ShowError( wxT("Fit window cursors are reversed; will abort now.") ); return false; } wxStfChildFrame* pFrame = (wxStfChildFrame*)actDoc()->GetDocumentWindow(); if ( !pFrame ) { ShowError( wxT("Pointer to frame is zero") ); return false; } wxGetApp().OnPeakcalcexecMsg(); pFrame->UpdateResults(); return true; } double get_base( bool active ) { if ( !check_doc() ) return -1.0; if ( active ) { return actDoc()->GetBase(); } else { // Test wheter a second channel is available at all: if ( actDoc()->size() < 2) { ShowError( wxT("No second channel was found") ); return -1.0; } return actDoc()->GetAPBase(); } } #ifdef WITH_PSLOPE double get_pslope() { if (!check_doc() ) return 0.0; return actDoc()->GetPSlope(); } #endif double get_peak( ) { if ( !check_doc() ) return 0.0; return actDoc()->GetPeak(); } void _gMatrix_resize( std::size_t channels, std::size_t sections ) { gMatrix.resize( channels ); std::vector< std::vector< Vector_double > >::iterator it; for (it = gMatrix.begin(); it != gMatrix.end(); ++it) { it->resize( sections ); } } void _gMatrix_at( double* invec, int size, int channel, int section ) { std::vector< double > va(size); std::copy( &invec[0], &invec[size], va.begin() ); try{ gMatrix.at(channel).at(section).resize( va.size() ); gMatrix[channel][section] = va; } catch (const std::out_of_range& e) { wxString msg(wxT("Out of range exception in _gMatrix_at:\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return; } } void _gNames_resize( std::size_t channels ) { gNames.resize( channels ); } void _gNames_at( const char* name, int channel ) { try{ gNames.at(channel) = std::string(name); } catch (const std::out_of_range& e) { wxString msg(wxT("Out of range exception in _gNames_at:\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return; } } void align_selected( double (*alignment)( bool ), bool active ) { if ( !check_doc() ) return; wxStfDoc* pDoc = actDoc(); //store current section: std::size_t section_old = pDoc->GetCurSecIndex(); if ( pDoc->GetSelectedSections().empty() ) { ShowError( wxT("No selected traces") ); return; } // check for a second channel if ( actDoc()->size() < 2 ) { ShowError( wxT("No second channel found") ); return; } //initialize the lowest and the highest index: std::size_t min_index=0; try { min_index=pDoc->get()[pDoc->GetSecChIndex()].at(pDoc->GetSelectedSections().at(0)).size()-1; } catch (const std::out_of_range& e) { wxString msg(wxT("Error while aligning\nIt is safer to re-start the program\n")); msg+=wxString( e.what(), wxConvLocal ); ShowError( msg ); return; } std::size_t max_index=0; std::vector shift( pDoc->GetSelectedSections().size(), 0 ); int_it it = shift.begin(); //loop through all selected sections: for (c_st_it cit = pDoc->GetSelectedSections().begin(); cit != pDoc->GetSelectedSections().end() && it != shift.end(); cit++) { //Set the selected section as the current section temporarily: pDoc->SetSection(*cit); if ( pDoc->GetPeakAtEnd() ) { pDoc->SetPeakEnd((int)pDoc->get()[pDoc->GetSecChIndex()][*cit].size()-1); } // Calculate all variables for the current settings // APMaxSlopeT will be calculated for the second (==reference) // channel, so channels may not be changed! try { pDoc->Measure(); } catch (const std::out_of_range& e) { ShowExcept( e ); return; } //check whether the current index is a max or a min, //and if so, store it: double alignIndex = alignment( active ); *it = stf::round( alignIndex ); if (alignIndex > max_index) { max_index=alignIndex; } if (alignIndex < min_index) { min_index=alignIndex; } it++; } // now that max and min indices are known, calculate the number of // points that need to be shifted: for (int_it it2 = shift.begin(); it2 != shift.end(); it2++) { (*it2) -= (int)min_index; } //restore section and channel settings: pDoc->SetSection( section_old ); int new_size=(int)(pDoc->get()[0][pDoc->GetSelectedSections()[0]].size()-(max_index-min_index)); Recording Aligned( pDoc->size(), pDoc->GetSelectedSections().size(), new_size ); ch_it chan_it; // Channel iterator std::size_t n_ch = 0; for ( ch_it chan_it = pDoc->get().begin(); chan_it != pDoc->get().end(); ++chan_it ) { Channel ch( pDoc->GetSelectedSections().size() ); ch.SetChannelName( pDoc->at(n_ch).GetChannelName() ); ch.SetYUnits( pDoc->at(n_ch).GetYUnits() ); std::size_t n_sec = 0; int_it it3 = shift.begin(); for ( c_st_it sel_it = pDoc->GetSelectedSections().begin(); sel_it != pDoc->GetSelectedSections().end() && it3 != shift.end(); ++sel_it ) { Vector_double va( new_size ); std::copy( &(chan_it->at( *sel_it ).get_w()[ 0 + (*it3) ]), &(chan_it->at( *sel_it ).get_w()[ (*it3) + new_size ]), &va[0] ); Section sec(va); ch.InsertSection(sec, n_sec++); ++it3; } Aligned.InsertChannel( ch, n_ch++ ); } wxString title( pDoc->GetTitle() ); title += wxT(", aligned"); Aligned.CopyAttributes( *pDoc ); wxStfDoc* testDoc = wxGetApp().NewChild(Aligned, pDoc, title); if ( testDoc == NULL ) { ShowError( wxT("Failed to create a new window.") ); } return; } int leastsq_param_size( int fselect ) { int npar = 0; try { npar = (int)wxGetApp().GetFuncLib().at(fselect).pInfo.size(); } catch (const std::out_of_range& e) { wxString msg( wxT("Could not retrieve function from library:\n") ); msg << wxString( e.what(), wxConvLocal ); ShowError(msg); return -1; } return npar; } PyObject* leastsq( int fselect, bool refresh ) { if ( !check_doc() ) return NULL; wxStfDoc* pDoc = actDoc(); wxCommandEvent wce; int n_params = 0; try { n_params=(int)wxGetApp().GetFuncLib().at(fselect).pInfo.size(); } catch (const std::out_of_range& e) { wxString msg( wxT("Could not retrieve function from library:\n") ); msg << wxString( e.what(), wxConvLocal ); ShowError(msg); return NULL; } std::vector< double > x( pDoc->GetFitEnd() - pDoc->GetFitBeg() ); //fill array: std::copy(&pDoc->cursec()[pDoc->GetFitBeg()], &pDoc->cursec()[pDoc->GetFitEnd()], &x[0]); std::vector< double > params( n_params ); // initialize parameters from init function, wxGetApp().GetFuncLib().at(fselect).init( x, pDoc->GetBase(), pDoc->GetPeak(), pDoc->GetRTLoHi(), pDoc->GetHalfDuration(), pDoc->GetXScale(), params ); std::string fitInfo; int fitWarning = 0; std::vector< double > opts( 6 ); // check values in src/stimfit/gui/dlgs/fitseldlg.cpp // Respectively the scale factor for initial damping term \mu, // stopping thresholds for ||J^T e||_inf, ||Dp||_2 and ||e||_2, // maxIter, maxPass //opts[0]=5*1E-3; //default: 1E-03; opts[0] = 1E-05; //default: 1E-03; opts[1] = 1E-17; //default: 1E-17; opts[2] = 1E-17; //default: 1E-17; opts[3] = 1E-32; //default: 1E-17; opts[4] = 64; //default: 64; opts[5] = 16; double chisqr = 0.0; try { chisqr = stfnum::lmFit( x, pDoc->GetXScale(), wxGetApp().GetFuncLib().at(fselect), opts, true, params, fitInfo, fitWarning ); pDoc->SetIsFitted( pDoc->GetCurChIndex(), pDoc->GetCurSecIndex(), params, wxGetApp().GetFuncLibPtr(fselect), chisqr, pDoc->GetFitBeg(), pDoc->GetFitEnd() ); } catch (const std::out_of_range& e) { ShowExcept( e ); return NULL; } catch (const std::runtime_error& e) { ShowExcept( e ); return NULL; } catch (const std::exception& e) { ShowExcept( e ); return NULL; } if ( refresh ) { if ( !refresh_graph() ) return NULL; } // Dictionaries apparently grow as needed; no initial size is required. PyObject* retDict = PyDict_New( ); for ( std::size_t n_dict = 0; n_dict < params.size(); ++n_dict ) { PyDict_SetItemString( retDict, wxGetApp().GetFuncLib()[fselect].pInfo.at(n_dict).desc.c_str(), PyFloat_FromDouble( params[n_dict] ) ); } PyDict_SetItemString( retDict, "SSE", PyFloat_FromDouble( chisqr ) ); return retDict; } #ifdef WITH_PYTHON PyObject* get_fit( int trace, int channel ) { wrap_array(); if ( !check_doc() ) return NULL; if ( trace == -1 ) { trace = actDoc()->GetCurSecIndex(); } if ( channel == -1 ) { channel = actDoc()->GetCurChIndex(); } /* Does the specified section contain a fit at all? */ stf::SectionAttributes sec_attr; try { sec_attr = actDoc()->GetSectionAttributes(channel, trace); } catch (const std::out_of_range& e) { return NULL; } if (!sec_attr.isFitted) { return Py_None; } unsigned int size = sec_attr.storeFitEnd - sec_attr.storeFitBeg; Vector_double xy_fit(2*size); for (unsigned int x = 0; x < size; ++x) { xy_fit[x] = (x+sec_attr.storeFitBeg) * actDoc()->GetXScale(); xy_fit[x+size] = sec_attr.fitFunc->func(x*actDoc()->GetXScale(), sec_attr.bestFitP); } npy_intp dims[2] = {2, size}; PyObject* np_array = PyArray_SimpleNew(2, dims, NPY_DOUBLE); double* gDataP = (double*)array_data(np_array); /* fill */ std::copy(xy_fit.begin(), xy_fit.end(), gDataP); return np_array; } #endif bool show_table( PyObject* dict, const char* caption ) { if ( !check_doc() ) return false; // Check whether the dictionary is intact: if ( !PyDict_Check( dict ) ) { ShowError( wxT("First argument to ShowTable() is not a dictionary.") ); return false; } std::map< std::string, double > pyMap; Py_ssize_t n_dict = 0; PyObject *pkey = NULL, *pvalue = NULL; while ( PyDict_Next( dict, &n_dict, &pkey, &pvalue ) ) { if ( !pkey || !pvalue ) { ShowError( wxT("Couldn't read from dictionary in ShowTable().") ); return false; } std::string key = PyString_AsString( pkey ); double value = PyFloat_AsDouble( pvalue ); pyMap[key] = value; } stfnum::Table pyTable( pyMap ); wxStfChildFrame* pFrame = (wxStfChildFrame*)actDoc()->GetDocumentWindow(); if ( !pFrame ) { ShowError( wxT("Pointer to frame is zero") ); return false; } pFrame->ShowTable( pyTable, wxString( caption, wxConvLocal ) ); return true; } bool show_table_dictlist( PyObject* dict, const char* caption, bool reverse ) { if ( !check_doc() ) return false; if ( !reverse ) { ShowError( wxT("Row-major order (reverse = False) has not been implemented yet.") ); return false; } // Check whether the dictionary is intact: if ( !PyDict_Check( dict ) ) { ShowError( wxT("First argument to ShowTable() is not a dictionary.") ); return false; } Py_ssize_t n_dict = 0; PyObject *pkey = NULL, *pvalue = NULL; std::vector< Vector_double > pyVector; std::vector< std::string > pyStrings; while ( PyDict_Next( dict, &n_dict, &pkey, &pvalue ) ) { if ( !pkey || !pvalue ) { ShowError( wxT("Couldn't read from dictionary in ShowTable().") ); return false; } pyStrings.push_back(PyString_AsString( pkey )); if ( !PyList_Check( pvalue ) ) { ShowError( wxT("Dictionary values are not (consistently) lists.") ); return false; } Vector_double values( PyList_Size( pvalue ) ); for (int n_list = 0; n_list < (int)values.size(); ++n_list ) { PyObject* plistvalue = PyList_GetItem( pvalue, n_list ); if ( !plistvalue ) { ShowError( wxT("Can't read list elements in show_table().") ); return false; } values[n_list] = PyFloat_AsDouble( plistvalue ); } pyVector.push_back( values ); } if ( pyVector.empty() ) { ShowError( wxT("Dictionary was empty in show_table().") ); return false; } stfnum::Table pyTable( pyVector[0].size(), pyVector.size() ); std::vector< std::vector< double > >::const_iterator c_va_it; std::size_t n_col = 0; for ( c_va_it = pyVector.begin(); c_va_it != pyVector.end(); ++c_va_it ) { try { pyTable.SetColLabel( n_col, pyStrings[n_col] ); for ( std::size_t n_va=0; n_va < (*c_va_it).size(); ++n_va ) { pyTable.at( n_va, n_col ) = (*c_va_it)[n_va]; } } catch ( const std::out_of_range& e ) { ShowExcept( e ); return false; } n_col++; } wxStfChildFrame* pFrame = (wxStfChildFrame*)actDoc()->GetDocumentWindow(); if ( !pFrame ) { ShowError( wxT("Pointer to frame is zero") ); return false; } pFrame->ShowTable( pyTable, wxString( caption, wxConvLocal ) ); return true; } bool set_marker(double x, double y) { if ( !check_doc() ) return false; try { actDoc()->GetCurrentSectionAttributesW().pyMarkers. push_back(stf::PyMarker(x,y)); } catch (const std::out_of_range& e) { wxString msg( wxT("Could not set the marker:\n") ); msg << wxString( e.what(), wxConvLocal ); ShowError(msg); return false; } return refresh_graph(); } bool erase_markers() { if ( !check_doc() ) return false; try { actDoc()->GetCurrentSectionAttributesW().pyMarkers.clear(); } catch (const std::out_of_range& e) { wxString msg( wxT("Could not erase markers:\n") ); msg << wxString( e.what(), wxConvLocal ); ShowError(msg); return false; } return refresh_graph(); } double plot_xmin() { wxStfGraph* pGraph = actGraph(); if ( !pGraph ) { ShowError( wxT("Pointer to graph is zero") ); return 0; } return pGraph->get_plot_xmin(); } double plot_xmax() { wxStfGraph* pGraph = actGraph(); if ( !pGraph ) { ShowError( wxT("Pointer to graph is zero") ); return 0; } return pGraph->get_plot_xmax(); } double plot_ymin() { wxStfGraph* pGraph = actGraph(); if ( !pGraph ) { ShowError( wxT("Pointer to graph is zero") ); return 0; } return pGraph->get_plot_ymin(); } double plot_ymax() { wxStfGraph* pGraph = actGraph(); if ( !pGraph ) { ShowError( wxT("Pointer to graph is zero") ); return 0; } return pGraph->get_plot_ymax(); } double plot_y2min() { wxStfGraph* pGraph = actGraph(); if ( !pGraph ) { ShowError( wxT("Pointer to graph is zero") ); return 0; } return pGraph->get_plot_y2min(); } double plot_y2max() { wxStfGraph* pGraph = actGraph(); if ( !pGraph ) { ShowError( wxT("Pointer to graph is zero") ); return 0; } return pGraph->get_plot_y2max(); } PyObject* mpl_panel(const std::vector& figsize) { if ( !check_doc() ) return NULL; if (figsize.size() < 2) { ShowError( wxT("figsize has to have length 2") ); } wxStfParentFrame* parent = GetMainFrame(); if ( !parent ) { ShowError( wxT("Parent window is NULL") ); return 0; } std::ostringstream mpl_name; mpl_name << "mpl" << parent->GetMplFigNo(); int width = 800 * figsize[0]/8.0; int height = 600 * figsize[1]/6.0; PyObject* result = parent->MakePythonWindow("makeWindowMpl", mpl_name.str(), "Matplotlib", true, false, true, width, height, figsize[0], figsize[1]).pyWindow; return result; } stimfit-0.14.11/src/stimfit/py/embedded_ipython.py0000644000175200017520000000364112277666257017065 00000000000000#=========================================================================== # embedded_ipython.py # 2009.09.14 # Don't modify this file unless you know what you are doing!!! #=========================================================================== """ embedded_ipython.py starting code to embed wxPython into the stf application. """ import wx from IPython.frontend.wx.wx_frontend import WxController # from IPython.gui.wx.ipython_view import IPShellWidget import IPython.ipapi # test if stf_init was loaded try: import stf_init except ImportError: LOADED = " " except SyntaxError: LOADED = " Syntax error in custom initialization script stf_init.py" else: LOADED = " Successfully loaded custom initializaton script stf_init.py" class MyPanel(wx.Panel): """ The wxPython shell application """ def __init__(self, parent): # super makes the same as wx.Panel.__init__(self, parent, etc..) # but prepares for Python 3.0 among other things... super(MyPanel, self).__init__(parent, -1, \ style = wx.BORDER_NONE | wx.MAXIMIZE) # ipython_shell is the shell object # WxController provides a Wx frontend for the IPython interpreter # see in /usr/lib/pymodules/python2.5/IPython/frontend/wx # see an example in /usr/lib/modules/python2.5/IPython/gui/wx ipython_shell = WxController(self) # ipython_shell = IPShellWidget(self,background_color = "BLACK") # ipython_shell = IPShellWidget(self) ipython_shell.clear_screen() # the ip object will access the IPython functionality ip = IPython.ipapi.get() # Stimfit and NumPy are visible to the interactive sesion. # see embedded_init for details ip.ex('from embedded_init import *') sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(ipython_shell, 1, wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT, 10) self.SetSizer(sizer) stimfit-0.14.11/src/stimfit/py/extensions.py0000644000175200017520000000216312277666257015757 00000000000000""" User-defined Python extensions that can be called from the menu. """ import spells # class to create a submenu of Extensions class Extension(object): """ A Python extension that can be added as a submenu in the Extensions menu of Stimfit. """ def __init__(self, menuEntryString, pyFunc, description="", requiresFile=True, parentEntry=None): """ Arguments: menuEntryString -- This will be shown as a menu entry. pyFunc -- The Python function that is to be called. Takes no arguments and returns a boolean. description -- A more verbose description of the function. requiresFile -- Whether pyFunc requires a file to be opened. """ self.menuEntryString = menuEntryString self.pyFunc = pyFunc self.description = description self.requiresFile = requiresFile self.parentEntry = parentEntry # define an Extension: it will appear as a submenu in the Extensions Menu myExt = Extension("Count APs", spells.count_aps, "Count events >0 mV in selected files", True) extensionList = [myExt,] stimfit-0.14.11/src/stimfit/py/gccwarn0000644000175200017520000000023412277666257014552 00000000000000#if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic ignored "-Wuninitialized" #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif stimfit-0.14.11/src/stimfit/py/heka.py0000644000175200017520000000530212277666257014466 00000000000000import sys import numpy as np def read_heka(filename): ascfile = open(filename) nchannels = 0 nsweeps = 0 newsweep = True header = True channels = [] channelnames = [] channelunits = [] channeldt = [] istext=False sys.stdout.write("Reading") sys.stdout.flush() for line in ascfile: words = line.replace('\r','').replace('\n','').split(",") try: np = int(words[0]) istext=False except: istext = True if not header: newsweep=True else: prevline = words if not istext: if header: nchannels = (len(words)-1)/2 channels = [list() for i in range(nchannels)] for nc in range(nchannels): channelnames.append( prevline[nc*2+2].replace("\"",'').strip()[:-3]) channelunits.append( prevline[nc*2+2][prevline[nc*2+2].find('[')+1: \ prevline[nc*2+2].find(']')]) header=False if newsweep: for channel in channels: channel.append(list()) nsweeps += 1 sys.stdout.write(".") sys.stdout.flush() newsweep=False if len(channels[-1][-1])==0: dt0 = float(words[1]) if len(channels[-1][-1])==1: dt1 = float(words[1]) channeldt.append(dt1-dt0) for nc, channel in enumerate(channels): channel[-1].append(float(words[nc*2+2])) return channels, channelnames, channelunits, channeldt def read_heka_stf(filename): channels, channelnames, channelunits, channeldt = read_heka(filename) for nc, channel in enumerate(channels): if channelunits[nc]=="V": for ns, sweep in enumerate(channel): channels[nc][ns] = np.array(channels[nc][ns]) channels[nc][ns] *= 1.0e3 channelunits[nc]="mV" if channelunits[nc]=="A": for ns, sweep in enumerate(channel): channels[nc][ns] = np.array(channels[nc][ns]) channels[nc][ns] *= 1.0e12 channelunits[nc]="pA" import stf stf.new_window_list(channels) for nc, name in enumerate(channelnames): stf.set_channel_name(name, nc) for nc, units in enumerate(channelunits): for ns in range(stf.get_size_channel()): stf.set_yunits(units, ns, nc) stf.set_sampling_interval(channeldt[0]*1e3) if __name__=="__main__": read_heka("JK100205aa.asc") stimfit-0.14.11/src/stimfit/py/hdf5tools.py0000755000175200017520000002150112277666257015467 00000000000000import sys sys.argv = "" import tables import numpy as np class Recording(): def __init__(self, channels, comment, date, time): self.channels = channels self.comment = comment self.date = date self.time = time def __getitem__( self, i ): return self.channels[i] def get_list( self ): return [ [ s.data for s in c.sections ] for c in self.channels ] def __len__( self ): return len( self.channels ) class Channel(): def __init__(self, sections, name): self.sections = sections self.name = name def __len__( self ): return len( self.sections ) def __getitem__( self, i ): return self.sections[i] class Section(): def __init__(self, data, dt, xunits, yunits): self.data = data self.dt = dt self.xunits = xunits self.yunits = yunits def __len__( self ): return len( self.data ) def __getitem__( self, i ): return self.data[i] class RecordingDescription(tables.IsDescription): channels = tables.Int32Col() date = tables.StringCol(128) time = tables.StringCol(128) class ChannelDescription(tables.IsDescription): n_sections = tables.Int32Col() class SectionDescription(tables.IsDescription): dt = tables.Float64Col() xunits = tables.StringCol(16) yunits = tables.StringCol(16) def save_hdf5( rec, filename ): h5file = tables.openFile(filename, mode = "w", title = "%s, converted to hdf5" % filename) # write global file description root_table = h5file.createTable(h5file.root, "description", RecordingDescription, "Description of %s" % filename) root_row = root_table.row root_row['channels'] = len(rec) root_row['date'] = rec.date root_row['time'] = rec.time root_row.append() root_table.flush() # write comment comment_group = h5file.createGroup("/", "comment", "multiline file comment") strarray = h5file.createArray(comment_group, "comment", [rec.comment,], "multiline file comment") # create group for channel names: chroot_group = h5file.createGroup("/", "channels", "channel names") # loop through channels: for n_c in range(len(rec)): channel_name = rec[n_c].name if channel_name == "": channel_name = "ch%d" % (n_c) channel_group = h5file.createGroup("/", channel_name, "channel%d" % (n_c)) # write channel name to root group: strarray = h5file.createArray(chroot_group, "ch%d" % n_c, [channel_name,], "channel name") channel_table = h5file.createTable(channel_group, "description", ChannelDescription, "Description of %s" % channel_name) channel_row = channel_table.row channel_row['n_sections'] = len(rec[n_c]) channel_row.append() channel_table.flush() if len(rec[n_c])==1: max_log10 = 0 else: max_log10 = int(np.log10(len(rec[n_c])-1)) for n_s in range(len(rec[n_c])): # construct a number with leading zeros: if n_s==0: n10 = 0 else: n10 = int(np.log10(n_s)) strZero = "" for n_z in range(n10,max_log10): strZero += "0" # construct a section name: section_name = "sec%d" % (n_s) # create a child group in the channel: section_group = h5file.createGroup(channel_group, "section_%s%d" % (strZero, n_s), section_name) # add data and description: array = h5file.createArray(section_group, "data", np.array(rec[n_c][n_s].data, dtype=np.float32), "data in %s" % section_name) desc_table = h5file.createTable(section_group, "description", SectionDescription, "description of %s" % section_name) desc_row = desc_table.row desc_row['dt'] = rec[n_c][n_s].dt desc_row['xunits'] = rec[n_c][n_s].xunits desc_row['yunits'] = rec[n_c][n_s].yunits desc_row.append() desc_table.flush() h5file.close() return True def export_hdf5( filename="" ): """ Exports a file in hdf5 format using PyTables. """ stf = __import__("stf") if filename=="": filename = "%s.h5" % (stf.get_filename()) # loop through channels: channel_list = list() for n_c in range(stf.get_size_recording()): section_list = [ Section( stf.get_trace(n_s, n_c), stf.get_sampling_interval(), stf.get_xunits(n_s, n_c), stf.get_yunits(n_s, n_c) ) \ for n_s in range(stf.get_size_channel(n_c)) ] channel_list.append( Channel( section_list, stf.get_channel_name() ) ) rec = Recording( channel_list, stf.get_recording_comment(), stf.get_recording_date(), stf.get_recording_time() ) save_hdf5( rec, filename ) return True def import_hdf5( filename ): """ Imports a file in hdf5 format stored by stimfit using PyTables, returns a Recording object. """ h5file = tables.openFile( filename, mode='r' ) # read global file description root_node = h5file.getNode("/", "description") date = root_node.col("date")[0] time = root_node.col("time")[0] n_channels = root_node.col("channels")[0] # read comment com = h5file.getNode("/", "comment") comment = "" for entry in h5file.walkNodes(com,classname='Array'): comment += "%s" % entry.read()[0] # read channel names channel_names = list() chan = h5file.getNode("/", "channels") for entry in h5file.walkNodes(chan, classname='Array'): channel_names.append( "%s" % entry.read()[0] ) # read data from channels: channel_list = list() for n_c in range(n_channels): channel_node = h5file.getNode("/", channel_names[n_c]) chdesc_node = h5file.getNode( channel_node, "description" ) n_sections = chdesc_node.col("n_sections")[0] # required number of zeros: if n_sections==1: max_log10 = 0 else: max_log10 = int(np.log10(n_sections-1)) # loop through sections: section_list = list() for n_s in range(n_sections): # construct a number with leading zeros: if n_s==0: n10 = 0 else: n10 = int(np.log10(n_s)) strZero = "" for n_z in range(n10,max_log10): strZero += "0" section_name = "section_%s%d" % ( strZero, n_s) section_node = h5file.getNode( channel_node, section_name ) secdesc_node = h5file.getNode( section_node, "description" ) dt = secdesc_node.col("dt")[0] xunits = secdesc_node.col("xunits")[0] yunits = secdesc_node.col("yunits")[0] data = h5file.getNode( section_node, "data").read() section_list.append( Section(data, dt, xunits, yunits) ) channel_list.append( Channel(section_list, channel_names[n_c]) ) h5file.close() return Recording( channel_list, comment, date, time ) def open_hdf5( filename ): """ Opens and shows an hdf5 file with stimfit """ rec = import_hdf5( filename ) stf = __import__("stf") stf._gNames_resize( len(rec.channels) ) for n_c in range(len(rec.channels)): stf._gNames_at( rec.channels[n_c].name, n_c ) stf.new_window_list( rec.get_list() ) n_channels = stf.get_size_recording() dt = rec.channels[0].sections[0].dt stf.set_sampling_interval( dt ) stf.set_recording_comment( rec.comment ) stf.set_recording_date( rec.date ) stf.set_recording_time( rec.time ) for n_c in range(stf.get_size_recording()): for n_s in range(stf.get_size_channel(n_c)): xunits = rec.channels[n_c].sections[n_s].xunits yunits = rec.channels[n_c].sections[n_s].yunits stf.set_xunits( xunits ) stf.set_yunits( yunits, n_s, n_c ) return True def show_rec( rec ): """ Shows recording object in a new stimfit window """ stf = __import__("stf") stf._gNames_resize( len(rec.channels) ) for n_c in range(len(rec.channels)): stf._gNames_at( rec.channels[n_c].name, n_c ) stf.new_window_list( rec.get_list() ) n_channels = stf.get_size_recording() dt = rec.channels[0].sections[0].dt stf.set_sampling_interval( dt ) stf.set_recording_comment( rec.comment ) stf.set_recording_date( rec.date ) stf.set_recording_time( rec.time ) for n_c in range(stf.get_size_recording()): for n_s in range(stf.get_size_channel(n_c)): xunits = rec.channels[n_c].sections[n_s].xunits yunits = rec.channels[n_c].sections[n_s].yunits stf.set_xunits( xunits ) stf.set_yunits( yunits, n_s, n_c ) return True def test(): export_hdf5() open_hdf5("/home/cs/data/EE07_04_11_2AC.dat.h5") stimfit-0.14.11/src/stimfit/py/embedded_stf.py0000644000175200017520000000315412277666257016166 00000000000000#=========================================================================== # embedded_stf.py # 2009.09.14 # Don't modify this file unless you know what you are doing!!! #=========================================================================== """ embedded_stf.py starting code to embed wxPython into the stf application. """ import sys if 'win' in sys.platform: import wxversion wxversion.select('3.0-msw') import wx from wx.py import shell # to access the current versions of Stimfit, NumPy and wxPython from embedded_init import intro_msg # test if stf_init was loaded try: import stf_init except ImportError: LOADED = " " except SyntaxError: LOADED = " Syntax error in custom initialization script stf_init.py" else: LOADED = " Successfully loaded custom initializaton script stf_init.py" class MyPanel(wx.Panel): """ The wxPython shell application """ def __init__(self, parent): # super makes the same as wx.Panel.__init__(self, parent, etc..) # but prepares for Python 3.0 among other things... super(MyPanel, self).__init__(parent, -1, \ style = wx.BORDER_NONE | wx.MAXIMIZE) # the Pycrust shell object pycrust = shell.Shell(self,-1, \ introText = intro_msg() + LOADED) # Workaround for http://trac.wxwidgets.org/ticket/15008 if "darwin" in sys.platform: pycrust.autoCallTip = False pycrust.push('from embedded_init import *', silent = True) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(pycrust, 1, wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT, 10) self.SetSizer(sizer) stimfit-0.14.11/src/stimfit/stf.h0000644000175200017520000004240712556527764013527 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file stimdefs.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Common definitions and classes. * * * Header file for common definitions and classes. */ #ifndef _STF_H_ #define _STF_H_ #if (__cplusplus < 201103) #include #endif #include #include #include #include "./gui/zoom.h" #ifdef _MSC_VER #pragma warning( disable : 4251 ) // Disable warning messages #pragma warning( disable : 4996 ) // Disable warning messages #endif //! Defines dll export or import functions for Windows #if defined(_WINDOWS) && !defined(__MINGW32__) #ifdef STFDLL #define StfDll __declspec( dllexport ) #else #define StfDll __declspec( dllimport ) #endif #else #define StfDll #endif #ifndef MODULE_ONLY #include #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include #endif #include #include #else typedef std::string wxString; typedef int wxWindow; #define wxT(x) x #define wxCHECK_VERSION(major,minor,release) 0 #endif #include "../libstfio/stfio.h" #include "../libstfnum/stfnum.h" //! The stimfit namespace. /*! All essential core functions and classes are in this namespace. * Its purpose is to reduce name mangling problems. */ namespace stf { /*! \addtogroup stfgen * @{ */ //! Progress Info interface adapter; maps to wxProgressDialog class wxProgressInfo : public stfio::ProgressInfo { public: wxProgressInfo(const std::string& title, const std::string& message, int maximum, bool verbose=true); bool Update(int value, const std::string& newmsg="", bool* skip=NULL); private: wxProgressDialog pd; }; std::string wx2std(const wxString& wxs); wxString std2wx(const std::string& sst); //! Converts a Section to a wxString. /*! \param section The Section to be written to a string. * \return A string containing the x- and y-values of the section in two columns. */ wxString sectionToString(const Section& section); //! Creates a preview of a text file. /*! \param fName Full path name of the file. * \return A string showing at most the initial 100 lines of the text file. */ wxString CreatePreview(const wxString& fName); //! Strips the directory off a full path name, returns only the filename. /*! \param fName The full path of a file. * \return The file name without the directory. */ wxString noPath(const wxString& fName); //! Get a Recording, do something with it, return the new Recording. #if (__cplusplus < 201103) typedef boost::function&)> PluginFunc; #else typedef std::function&)> PluginFunc; #endif //! Represents user input from dialogs that can be used in plugins. struct UserInput { std::vector labels; /*!< Dialog entry labels. */ Vector_double defaults; /*!< Default dialog entries. */ std::string title; /*!< Dialog title. */ //! Constructor. /*! \param labels_ A vector of dialog entry label strings. * \param defaults_ A vector of default dialog entries. * \param title_ Dialog title. */ UserInput( const std::vector& labels_=std::vector(0), const Vector_double& defaults_=Vector_double(0), std::string title_="\0" ) : labels(labels_),defaults(defaults_),title(title_) { if (defaults.size()!=labels.size()) { defaults.resize(labels.size()); std::fill(defaults.begin(), defaults.end(), 0.0); } } }; //! User-defined plugin /*! Class used for extending Stimfit's functionality: * The client supplies a new menu entry and an ExtFunc * that will be called upon selection of that entry. */ struct Plugin { //! Constructor /*! \param menuEntry_ Menu entry string for this plugin. * \param pluginFunc_ Function to be executed by this plugin. * \param input_ Dialog entries required by this plugin. */ Plugin( const wxString& menuEntry_, const PluginFunc& pluginFunc_, const UserInput& input_=UserInput() ) : menuEntry(menuEntry_),pluginFunc(pluginFunc_),input(input_) { id = n_plugins; n_plugins++; } //! Destructor ~Plugin() { } int id; /*!< The plugin id; set automatically upon construction, so don't touch. */ static int n_plugins; /*!< Static plugin counter. Initialised in plugins/plugins.cpp. */ wxString menuEntry; /*!< Menu entry string for this plugin. */ PluginFunc pluginFunc; /*!< The function to be executed by this plugin. */ UserInput input; /*!< Dialog entries */ }; //! User-defined Python extension /*! Class used for extending Stimfit's functionality: * The client supplies a new menu entry and a Python function * that will be called upon selection of that entry. */ struct Extension { //! Constructor /*! \param menuEntry_ Menu entry string for this extension. * \param pyFunc_ Python function to be called. * \param description_ Description for this function. * \param requiresFile_ Whether a file needs to be open for this function to work */ Extension(const std::string& menuEntry_, void* pyFunc_, const std::string& description_, bool requiresFile_) : menuEntry(menuEntry_), pyFunc(pyFunc_), description(description_), requiresFile(requiresFile_) { id = n_extensions; n_extensions++; } //! Destructor ~Extension() { } int id; /*!< The extension id; set automatically upon construction, so don't touch. */ static int n_extensions; /*!< Static extension counter. Initialised in extensions/extensions.cpp. */ std::string menuEntry; /*!< Menu entry string for this extension. */ void* pyFunc; /*!< Python function to be called. */ std::string description; /*!< Description for this function. */ bool requiresFile; /*!< Whether a file needs to be open for this function to work */ }; //! Resource manager for ifstream objects. struct ifstreamMan { //! Constructor /*! See fstream documentation for details */ ifstreamMan( const wxString& filename ) : myStream( filename, wxT("r") ) {} //! Destructor ~ifstreamMan() { myStream.Close(); } //! The managed stream. wxFFile myStream; }; //! Resource manager for ofstream objects. struct ofstreamMan { //! Constructor /*! See fstream documentation for details */ ofstreamMan( const wxString& filename ) : myStream( filename, wxT("w") ) {} //! Destructor ~ofstreamMan() { myStream.Close(); } //! The managed stream. wxFFile myStream; }; //! Describes the attributes of an event. class Event { public: //! Constructor explicit Event(std::size_t start, std::size_t peak, std::size_t size, bool discard_ = false) : eventStartIndex(start), eventPeakIndex(peak), eventSize(size), discard(discard_) { } //! Destructor ~Event() {} //! Retrieves the start index of an event. /*! \return The start index of an event within a section. */ std::size_t GetEventStartIndex() const { return eventStartIndex; } //! Retrieves the index of an event's peak. /*! \return The index of an event's peak within a section. */ std::size_t GetEventPeakIndex() const { return eventPeakIndex; } //! Retrieves the size of an event. /*! \return The size of an event in units of data points. */ std::size_t GetEventSize() const { return eventSize; } //! Indicates whether an event should be discarded. /*! \return true if it should be discarded, false otherwise. */ bool GetDiscard() const { return discard; } //! Sets the start index of an event. /*! \param value The start index of an event within a section. */ void SetEventStartIndex( std::size_t value ) { eventStartIndex = value; } //! Sets the index of an event's peak. /*! \param value The index of an event's peak within a section. */ void SetEventPeakIndex( std::size_t value ) { eventPeakIndex = value; } //! Sets the size of an event. /*! \param value The size of an event in units of data points. */ void SetEventSize( std::size_t value ) { eventSize = value; } //! Determines whether an event should be discarded. /*! \return true if it should be discarded, false otherwise. */ void SetDiscard( bool value ) { discard = value; } //! Sets discard to true if it was false and vice versa. void ToggleStatus() { discard = !discard; } private: std::size_t eventStartIndex; std::size_t eventPeakIndex; std::size_t eventSize; bool discard; }; //! A marker that can be set from Python /*! A pair of x,y coordinates */ struct PyMarker { //! Constructor /*! \param xv x-coordinate. * \param yv y-coordinate. */ PyMarker( double xv, double yv ) : x(xv), y(yv) {} double x; /*!< x-coordinate in units of sampling points */ double y; /*!< y-coordinate in trace units (e.g. mV) */ }; struct StfDll SectionAttributes { SectionAttributes(); std::vector eventList; std::vector pyMarkers; bool isFitted,isIntegrated; stfnum::storedFunc *fitFunc; Vector_double bestFitP; Vector_double quad_p; std::size_t storeFitBeg; std::size_t storeFitEnd; std::size_t storeIntBeg; std::size_t storeIntEnd; stfnum::Table bestFit; }; struct SectionPointer { SectionPointer(Section* pSec=NULL, const SectionAttributes& sa=SectionAttributes()); Section* pSection; SectionAttributes sec_attr; }; //! Add decimals if you are not satisfied. const double PI=3.14159265358979323846; //! Does what it says. /*! \param toRound The double to be rounded. * \return The rounded integer. */ int round(double toRound); //! Mouse cursor types enum cursor_type { measure_cursor, /*!< Measurement cursor (crosshair). */ peak_cursor, /*!< Peak calculation limits cursor. */ base_cursor, /*!< Baseline calculation limits cursor. */ decay_cursor, /*!< Fit limits cursor. */ latency_cursor, /*!< Latency cursor. */ zoom_cursor, /*!< Zoom rectangle cursor. */ event_cursor, /*!< Event mode cursor. */ #ifdef WITH_PSLOPE pslope_cursor, /*!< PSlope mode cursor. */ #endif undefined_cursor /*!< Undefined cursor. */ }; //! Determines which channels to scale enum zoom_channels { zoomch1, /*!< Scaling applies to channel 1 only. */ zoomch2, /*!< Scaling applies to channel 2 only. */ zoomboth /*!< Scaling applies to both channels. */ }; //! Latency cursor settings enum latency_mode { manualMode = 0, /*!< Set the corresponding latency cursor manually (by clicking on the graph). */ peakMode = 1, /*!< Set the corresponding latency cursor to the peak. */ riseMode = 2, /*!< Set the corresponding latency cursor to the maximal slope of rise. */ halfMode = 3, /*!< Set the corresponding latency cursor to the half-maximal amplitude. */ footMode = 4, /*!< Set the corresponding latency cursor to the beginning of an event. */ undefinedMode /*!< undefined mode. */ }; //! Latency window settings enum latency_window_mode { defaultMode = 0, /*!< Use the current peak cursor window for the active channel. */ windowMode = 1 /*!< Use a window of 100 sampling points around the peak. */ }; #ifdef WITH_PSLOPE //! PSlope start cursor settings enum pslope_mode_beg { psBeg_manualMode =0, /*< Set the start Slope cursor manually. */ psBeg_footMode =1, /*< Set the start Slope cursor to the beginning of an event. */ psBeg_thrMode =2, /*< Set the start Slope cursor to a threshold. */ psBeg_t50Mode =3, /*< Set the start Slope cursor to the half-width of an event*/ psBeg_undefined }; //! PSlope end cursor settings enum pslope_mode_end { psEnd_manualMode =0, /*< Set the end Slope cursor manually. */ psEnd_t50Mode =1, /*< Set the Slope cursor to the half-width of an event. */ psEnd_DeltaTMode =2, /*< Set the Slope cursor to a given distance from the first cursor. */ psEnd_peakMode =3, /*< Set the Slope cursor to the peak. */ psEnd_undefined }; #endif // WITH_PSLOPE //! Deconvolution enum extraction_mode { criterion, /*!< Clements & Bekkers criterion. */ correlation, /*!< Jonas et al. correlation coefficient. */ deconvolution /*!< Pernia-Andrade et al. deconvolution. */ }; /*@}*/ } // end of namespace inline int stf::round(double toRound) { return toRound <= 0.0 ? int(toRound-0.5) : int(toRound+0.5); } typedef std::vector< wxString >::iterator wxs_it; /*!< std::string iterator */ typedef std::vector< wxString >::const_iterator c_wxs_it; /*!< constant std::string iterator */ typedef std::vector< stf::Event >::iterator event_it; /*!< stf::Event iterator */ typedef std::vector< stf::Event >::const_iterator c_event_it; /*!< constant stf::Event iterator */ typedef std::vector< stf::PyMarker >::iterator marker_it; /*!< stf::PyMarker iterator */ typedef std::vector< stf::PyMarker >::const_iterator c_marker_it; /*!< constant stf::PyMarker iterator */ // Doxygen-links to documentation of frequently used wxWidgets-classes /*! \defgroup wxwidgets wxWidgets classes * @{ */ /*! \class wxApp * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxapp.html (wxWidgets documentation) */ /*! \class wxCheckBox * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxcheckbox.html (wxWidgets documentation) */ /*! \class wxCommandEvent * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxcommandevent.html (wxWidgets documentation) */ /*! \class wxDialog * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxdialog.html (wxWidgets documentation) */ /*! \class wxDocMDIChildFrame * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxdocmdichildframe.html (wxWidgets documentation) */ /*! \class wxDocMDIParentFrame * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxdocmdiparentframe.html (wxWidgets documentation) */ /*! \class wxDocument * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxdocument.html (wxWidgets documentation) */ /*! \class wxGrid * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxgrid.html (wxWidgets documentation) */ /*! \class wxGridCellCoordsArray * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxgridcellcoordsarray.html (wxWidgets documentation) */ /*! \class wxGridTableBase * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxgridtablebase.html (wxWidgets documentation) */ /*! \class wxPoint * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxpoint.html (wxWidgets documentation) */ /*! \class wxPrintout * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxprintout.html (wxWidgets documentation) */ /*! \class wxSize * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxsize.html (wxWidgets documentation) */ /*! \class wxString * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxstring.html (wxWidgets documentation) */ /*! \class wxThread * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxthread.html (wxWidgets documentation) */ /*! \class wxView * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxview.html (wxWidgets documentation) */ /*! \class wxWindow * \brief See http://www.wxwidgets.org/manuals/stable/wx_wxwindow.html (wxWidgets documentation) */ /*@}*/ /*! \defgroup stdcpp C++ standard library classes * @{ */ /*! \namespace std * \brief The namespace of the C++ standard library (libstdc++). */ /*! \class std::map * \brief See http://www.sgi.com/tech/stl/Map.html (SGI's STL documentation) */ /*! \class std::vector * \brief See http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1valarray.html (gcc's libstdc++ documentation) */ /*! \class std::vector * \brief See http://www.sgi.com/tech/stl/Vector.html (SGI's STL documentation) */ /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/0000755000175200017520000000000012623045305013374 500000000000000stimfit-0.14.11/src/stimfit/gui/app.cpp0000755000175200017520000015213112475053163014614 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // app.cpp // The application, derived from wxApp // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #include // For compilers that support precompilation, includes "wx/wx.h". #include #include #include #include #include #include #include #include #include #include #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include #endif #if !wxUSE_DOC_VIEW_ARCHITECTURE #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! #endif #if !wxUSE_MDI_ARCHITECTURE #error You must set wxUSE_MDI_ARCHITECTURE to 1 in setup.h! #endif #include "../../../stfconf.h" #include "./app.h" #include "./doc.h" #include "./view.h" #include "./parentframe.h" #include "./childframe.h" #include "./graph.h" #include "./dlgs/cursorsdlg.h" #include "./dlgs/smalldlgs.h" #include "./../../libstfnum/funclib.h" #include "./../../libstfnum/fit.h" #if defined(__WXGTK__) || defined(__WXMAC__) #if !defined(__MINGW32__) #include "./../../libstfio/abf/axon/Common/axodefn.h" #include "./../../libstfio/abf/axon/AxAbfFio32/abffiles.h" #endif #endif extern wxStfApp& wxGetApp(); wxStfApp& wxGetApp() { return *static_cast(wxApp::GetInstance()); } wxStfParentFrame *frame = (wxStfParentFrame *) NULL; BEGIN_EVENT_TABLE( wxStfApp, wxApp ) EVT_KEY_DOWN( wxStfApp::OnKeyDown ) EVT_MENU( ID_CURSORS, wxStfApp::OnCursorSettings ) EVT_MENU( ID_NEWFROMSELECTED, wxStfApp::OnNewfromselected ) EVT_MENU( ID_NEWFROMALL, wxStfApp::OnNewfromall ) EVT_MENU( ID_APPLYTOALL, wxStfApp::OnApplytoall ) #ifdef WITH_PYTHON EVT_MENU( ID_IMPORTPYTHON, wxStfApp::OnPythonImport ) EVT_MENU_RANGE(ID_USERDEF, ID_USERDEF+32, wxStfApp::OnUserdef) #endif END_EVENT_TABLE() wxStfApp::wxStfApp(void) : directTxtImport(false), isBars(true), txtImport(), funcLib(), #ifdef WITH_PYTHON extensionLib(), #endif CursorsDialog(NULL), storedLinFunc( stfnum::initLinFunc() ), /*m_file_menu(0),*/ m_fileToLoad(wxEmptyString)/*, activeDoc(0)*/ {} void wxStfApp::OnInitCmdLine(wxCmdLineParser& parser) { wxApp::OnInitCmdLine(parser); parser.AddOption(wxT("d"), wxT("dir"), wxT("Working directory to change to"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL ); parser.AddParam(wxT("File to open"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL ); } bool wxStfApp::OnCmdLineParsed(wxCmdLineParser& parser) { // Check if we should change the working directory: wxString new_cwd( wxT("\0") ); if ( parser.Found( wxT("dir"), &new_cwd ) ) { // Check whether the directory exists: if ( !wxDirExists( new_cwd ) ) { wxString msg; msg << wxT("New working directory ") << new_cwd << wxT(" doesn't exist."); ErrorMsg( msg ); return false; } // Change to the new wd: if ( !wxSetWorkingDirectory( new_cwd ) ) { wxString msg; msg << wxT("Couldn't change working directory to ") << new_cwd; ErrorMsg( msg ); return false; } } // Get file to load if ( parser.GetParamCount() > 0 ) { m_fileToLoad = parser.GetParam(); } return wxApp::OnCmdLineParsed(parser); } bool wxStfApp::OnInit(void) { if (!wxApp::OnInit()) { return false; } #ifdef WITH_PYTHON if ( !Init_wxPython() ) { // don't start the app if we can't initialize wxPython. return false; } // Load Python extensions before creation of wxMenuBar ( see later CreateUnifiedMenuBar() ) #if PY_MAJOR_VERSION < 3 extensionLib = LoadExtensions(); #ifdef _STFDEBUG std::cout << (int) GetExtensionLib().size() << " Python extension/s loaded"<< std::endl; #endif #endif #endif //WITH_PTYHON // Config: config.reset(new wxFileConfig(wxT("Stimfit"))); //// Create a document manager wxDocManager* docManager = new wxDocManager; //// Create a template relating drawing documents to their views #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) m_biosigTemplate=new wxDocTemplate( docManager, wxT("All files"), wxT("*.*"), wxT(""), wxT(""), wxT("Biosig Document"), wxT("Biosig View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); #endif #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) m_biosigTemplate=new wxDocTemplate( docManager, wxT("Biosig files"), wxT("*.dat;*.cfs;*.gdf;*.ibw"), wxT(""), wxT(""), wxT("Biosig Document"), wxT("Biosig View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); #endif m_cfsTemplate=new wxDocTemplate( docManager, wxT("CED filing system"), wxT("*.dat;*.cfs"), wxT(""), wxT("dat;cfs"), wxT("CFS Document"), wxT("CFS View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); m_hdf5Template=new wxDocTemplate( docManager, wxT("hdf5 file"), wxT("*.h5"), wxT(""), wxT("h5"), wxT("HDF5 Document"), wxT("HDF5 View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); m_abfTemplate=new wxDocTemplate( docManager, wxT("Axon binary file"), wxT("*.abf"), wxT(""), wxT("abf"), wxT("ABF Document"), wxT("ABF View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); #if defined(__WXGTK__) || defined(__WXMAC__) #if !defined(__MINGW32__) #if !defined(WITHOUT_ABF) ABF_Initialize(); #endif #endif #endif m_atfTemplate=new wxDocTemplate( docManager, wxT("Axon text file"), wxT("*.atf"), wxT(""), wxT("atf"), wxT("ATF Document"), wxT("ATF View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); m_axgTemplate=new wxDocTemplate( docManager, wxT("Axograph binary file"), wxT("*.axgd;*.axgx"), wxT(""), wxT("axgd;axgx"), wxT("AXG Document"), wxT("AXG View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); m_hekaTemplate=new wxDocTemplate( docManager, wxT("HEKA file"), wxT("*.dat"), wxT(""), wxT("dat"), wxT("HEKA Document"), wxT("HEKA View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); #if 0 m_sonTemplate=new wxDocTemplate( docManager, wxT("CED Spike 2 (SON) file"), wxT("*.smr"), wxT(""), wxT(""), wxT("SON Document"), wxT("SON View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); #endif m_txtTemplate=new wxDocTemplate( docManager, wxT("General text file import"), wxT("*.*"), wxT(""), wxT(""), wxT("Text Document"), wxT("Text View"), CLASSINFO(wxStfDoc), CLASSINFO(wxStfView) ); // read last directory from config: wxString lastDir = wxGetProfileString( wxT("Settings"), wxT("Last directory"), wxT("") ); if (lastDir == wxT("") || !wxFileName::DirExists( lastDir )) { lastDir = wxFileName::GetCwd(); } docManager->SetLastDirectory( lastDir ); //// Create the main frame window frame = new wxStfParentFrame(docManager, (wxFrame *)NULL, wxT("Stimfit"), wxDefaultPosition, #ifndef __WXMAC__ wxSize(1024, 768), #else wxSize(640, 480), #endif wxDEFAULT_FRAME_STYLE | wxFULL_REPAINT_ON_RESIZE | wxMAXIMIZE); #if 0 frame->SetIcon( wxICON(sample) ); #endif // frame->SetIcon(wxIcon(wxT("doc.xbm"))); #ifndef __WXGTK__ //// Make a menubar wxMenu* m_file_menu = new wxMenu; // wxMenu *edit_menu = (wxMenu *) NULL; m_file_menu->Append(wxID_OPEN); m_file_menu->AppendSeparator(); m_file_menu->Append(ID_CONVERT, wxT("Convert file series...")); #ifdef WITH_PYTHON m_file_menu->AppendSeparator(); m_file_menu->Append( ID_IMPORTPYTHON, wxT("&Import Python module...\tCtrl+I"), wxT("Import or reload user-defined Python modules") ); #endif // WITH_PYTHON m_file_menu->AppendSeparator(); m_file_menu->Append(wxID_EXIT); // A nice touch: a history of files visited. Use this menu. GetDocManager()->FileHistoryLoad( *config ); GetDocManager()->FileHistoryUseMenu(m_file_menu); #if (wxCHECK_VERSION(2, 9, 0)) GetDocManager()->FileHistoryAddFilesToMenu(m_file_menu); #else GetDocManager()->FileHistoryAddFilesToMenu(); #endif wxMenu *help_menu = new wxMenu; help_menu->Append(wxID_HELP); help_menu->Append(ID_UPDATE, wxT("&Check for updates")); help_menu->Append(wxID_ABOUT); wxMenu *m_view_menu = new wxMenu; #ifdef WITH_PYTHON m_file_menu->AppendSeparator(); m_view_menu->Append(ID_VIEW_SHELL, wxT("&Toggle Python shell"), wxT("Shows or hides the Python shell")); #endif // WITH_PYTHON wxMenuBar *menu_bar = new wxMenuBar; menu_bar->Append(m_file_menu, wxT("&File")); /* if (edit_menu) menu_bar->Append(edit_menu, wxT("&Edit")); */ menu_bar->Append(m_view_menu, wxT("&View")); menu_bar->Append(help_menu, wxT("&Help")); #ifdef __WXMAC__ // wxApp::SetExitOnFrameDelete(false); wxMenuBar::MacSetCommonMenuBar(menu_bar); #endif //def __WXMAC__ //// Associate the menu bar with the frame #else // __WXGTK__ wxMenuBar* menu_bar = CreateUnifiedMenuBar(); #endif //__WXGTK__ frame->SetMenuBar(menu_bar); frame->Centre(wxBOTH); /* pStatusBar = new wxStatusBar(frame); frame->SetStatusBar(pStatusBar); */ #if 1 //ndef __WXMAC__ frame->Show(true); #endif //ndef __WXMAC__ // check for updates in background: #ifndef __WXMAC__ frame->CheckUpdate(); #endif // load user-defined plugins: // pluginLib = stf::GetPluginLib(); //#ifdef WITH_PYTHON // extensionLib = LoadExtensions(); // std::cout << "DEBUG: wxStfApp extensionLib size is " << GetExtensionLib().size() << std::endl; //#endif // load fit function library: funcLib = stfnum::GetFuncLib(); SetTopWindow(frame); if (!m_fileToLoad.empty()) { wxDocTemplate* templ=GetDocManager()->FindTemplateForPath(m_fileToLoad); wxStfDoc* NewDoc=(wxStfDoc*)templ->CreateDocument(m_fileToLoad,wxDOC_NEW); NewDoc->SetDocumentTemplate(templ); if (!NewDoc->OnOpenDocument(m_fileToLoad)) { ErrorMsg(wxT("Couldn't open file, aborting file import")); GetDocManager()->CloseDocument(NewDoc); return false; } } return true; } int wxStfApp::OnExit() { #if wxUSE_CONFIG GetDocManager()->FileHistorySave(*config); #endif // wxUSE_CONFIG delete GetDocManager(); #ifdef WITH_PYTHON Exit_wxPython(); #endif return wxApp::OnExit(); } // "Fake" registry void wxStfApp::wxWriteProfileInt(const wxString& main, const wxString& sub, int value) const { // create a wxConfig-compatible path: wxString path=wxT("/")+main+wxT("/")+sub; if (!config->Write(path,(long)value)) { ErrorMsg(wxT("Couldn't write application settings")); return; } config->Flush(); } int wxStfApp::wxGetProfileInt(const wxString& main,const wxString& sub, int default_) const { wxString path=wxT("/")+main+wxT("/")+sub; return config->Read(path,default_); } void wxStfApp::wxWriteProfileString( const wxString& main, const wxString& sub, const wxString& value ) const { // create a wxConfig-compatible path: wxString path=wxT("/")+main+wxT("/")+sub; if (!config->Write(path,value)) { ErrorMsg(wxT("Couldn't write application settings")); return; } config->Flush(); } wxString wxStfApp::wxGetProfileString( const wxString& main, const wxString& sub, const wxString& default_) const { wxString path=wxT("/")+main+wxT("/")+sub; return config->Read(path,default_); } void wxStfApp::OnPeakcalcexecMsg(wxStfDoc* actDoc) { if (actDoc==0) { actDoc = GetActiveDoc(); if (!actDoc) return; } if (!actDoc->IsInitialized()) { ErrorMsg(wxT("Uninitialized file in wxStfApp::OnPeakcalcexecMsg()")); return; } #ifdef __WXMAC__ wxStfView* actView = (wxStfView*)actDoc->GetFirstView(); #else wxStfView* actView = GetActiveView(); #endif if (actView!=NULL) { wxStfGraph* pGraph = actView->GetGraph(); if (pGraph != NULL) pGraph->Refresh(); else return; } if (CursorsDialog != NULL && CursorsDialog->IsShown() && actView!=NULL && actDoc!=NULL && actDoc->IsInitialized()) { CursorsDialog->SetActiveDoc(actDoc); switch (CursorsDialog->CurrentCursor()) { case stf::measure_cursor: actDoc->SetMeasCursor(CursorsDialog->GetCursorM());// * GetDocument()->GetSR())); wxWriteProfileInt(wxT("Settings"), wxT("MeasureCursor"), CursorsDialog->GetCursorM() ); actDoc->SetMeasRuler( CursorsDialog->GetRuler() ); wxWriteProfileInt(wxT("Settings"), wxT("ShowRuler"), CursorsDialog->GetRuler() ); break; //Get limits for peak calculation from the dialog box: case stf::peak_cursor: actDoc->SetPeakBeg(CursorsDialog->GetCursor1P());// * GetDocument()->GetSR())); actDoc->SetPeakEnd(CursorsDialog->GetCursor2P());// * GetDocument()->GetSR())); actDoc->CheckBoundaries(); break; case stf::base_cursor: wxWriteProfileInt(wxT("Settings"), wxT("BaselineMethod"), CursorsDialog->GetBaselineMethod()); actDoc->SetBaseBeg(CursorsDialog->GetCursor1B()); actDoc->SetBaseEnd(CursorsDialog->GetCursor2B()); actDoc->SetBaselineMethod(CursorsDialog->GetBaselineMethod()); break; case stf::decay_cursor: actDoc->SetFitBeg(CursorsDialog->GetCursor1D()); actDoc->SetFitEnd(CursorsDialog->GetCursor2D()); break; case stf::latency_cursor: // Use peak cursors for latency? actDoc->SetLatencyWindowMode(CursorsDialog->UsePeak4Latency() ); wxWriteProfileInt(wxT("Settings"), wxT("LatencyWindowMode"), CursorsDialog->UsePeak4Latency() ); // Latency start mode actDoc->SetLatencyBeg(CursorsDialog->GetCursor1L()); // set latency mode in wxStfDoc actDoc->SetLatencyStartMode(CursorsDialog->GetLatencyStartMode() ); // write latency start mode in Stimfit Profile wxWriteProfileInt(wxT("Settings"), wxT("LatencyStartMode"), CursorsDialog->GetLatencyStartMode() ); if (CursorsDialog->GetLatencyStartMode() == stf::manualMode) wxWriteProfileInt(wxT("Settings"), wxT("LatencyStartCursor"), CursorsDialog->GetCursor1L() ); // Latency end mode actDoc->SetLatencyEnd(CursorsDialog->GetCursor2L()); actDoc->SetLatencyEndMode(CursorsDialog->GetLatencyEndMode() ); wxWriteProfileInt(wxT("Settings"), wxT("LatencyEndMode"), CursorsDialog->GetLatencyEndMode() ); if (CursorsDialog->GetLatencyEndMode() == stf::manualMode) wxWriteProfileInt(wxT("Settings"), wxT("LatencyEndCursor"), CursorsDialog->GetCursor2L() ); break; #ifdef WITH_PSLOPE case stf::pslope_cursor: // first PSlope cursor actDoc->SetPSlopeBegMode( CursorsDialog->GetPSlopeBegMode() ); wxWriteProfileInt(wxT("Settings"), wxT("PSlopeStartMode"), CursorsDialog->GetPSlopeBegMode() ); if (actDoc->GetPSlopeBegMode() == stf::psBeg_manualMode) actDoc->SetPSlopeBeg( CursorsDialog->GetCursor1PS() ); //wxWriteProfileInt(wxT("Settings"), wxT("PSlopeStartCursor"), CursorsDialog->GetCursor1PS() ); // second PSlope cursor actDoc->SetPSlopeEndMode( CursorsDialog->GetPSlopeEndMode() ); if (actDoc->GetPSlopeEndMode() == stf::psEnd_manualMode) actDoc->SetPSlopeEnd( CursorsDialog->GetCursor2PS() ); // we take data from CursorsDialog only if we need the DeltaT //else if (actDoc->GetPSlopeEndMode() == stf::psEnd_DeltaTMode){ actDoc->SetDeltaT(CursorsDialog->GetDeltaT()); break; #endif case stf::undefined_cursor: ErrorMsg(wxT("Undefined cursor in wxStfApp::OnPeakcalcexecMsg()")); return; default: break; } wxWriteProfileInt(wxT("Settings"), wxT("PeakAtEnd"), CursorsDialog->GetPeakAtEnd() ); //Update edit peak limits in the peak calculation dialog box if (CursorsDialog->GetPeakAtEnd()) { //If 'Upper limit at end of trace' is selected in the dialog box //Set upper limit to end of trace actDoc->SetPeakEnd((int)actDoc->cursec().size()-1); try { CursorsDialog->UpdateCursors(); } catch (const std::runtime_error& e) { ExceptMsg(wxString(e.what(), wxConvLocal)); return; } actDoc->SetPeakAtEnd(true); } else { actDoc->SetPeakAtEnd(false); } // Get number of peak points from the dialog box... actDoc->SetPM(CursorsDialog->GetPeakPoints()); wxWriteProfileInt(wxT("Settings"),wxT("PeakMean"),(int)actDoc->GetPM()); // Get direction from the dialog box actDoc->SetDirection(CursorsDialog->GetDirection()); wxWriteProfileInt(wxT("Settings"),wxT("Direction"), CursorsDialog->GetDirection()); // Get reference for AP kinetics from the dialog box actDoc->SetFromBase(CursorsDialog->GetFromBase()); wxWriteProfileInt(wxT("Settings"),wxT("FromBase"), CursorsDialog->GetFromBase()); // Get factor for rise time calculation actDoc->SetRTFactor(CursorsDialog->GetRTFactor()); wxWriteProfileInt(wxT("Settings"),wxT("RTFactor"), CursorsDialog->GetRTFactor()); // Get slope for threshold: actDoc->SetSlopeForThreshold( CursorsDialog->GetSlope() ); wxString wxsSlope; wxsSlope << CursorsDialog->GetSlope(); wxWriteProfileString(wxT("Settings"), wxT("Slope"), wxsSlope); wxWriteProfileInt(wxT("Settings"), wxT("StartFitAtPeak"), CursorsDialog->GetStartFitAtPeak() ); //Update start fit at peak if ( CursorsDialog->GetStartFitAtPeak() ) { actDoc->SetFitBeg( actDoc->GetMaxT() ); actDoc->SetStartFitAtPeak(true); try { CursorsDialog->UpdateCursors(); } catch (const std::runtime_error& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); return; } } else { actDoc->SetStartFitAtPeak(false); } } // Calculate peak, base, Lo/Hi rise time, half duration, // ratio of rise/slope, maximum slope and geometrical slope (PSlope). try { if (actDoc != NULL) { actDoc->Measure( ); } } catch (const std::out_of_range& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); } /* // Set fit start cursor to new peak if necessary. //std::cout << CursorsDialog->GetPeakAtEnd() << std::endl; //wxWriteProfileInt(wxT("Settings"), wxT("StartFitAtPeak"), CursorsDialog->GetStartFitAtPeak() ); if (actDoc != NULL && CursorsDialog != NULL && CursorsDialog->GetStartFitAtPeak()) //if ( CursorsDialog->GetStartFitAtPeak() ) { //actDoc->SetFitBeg(actDoc->GetMaxT()); actDoc->SetStartFitAtPeak( true ); //try { // CursorsDialog->UpdateCursors(); //} //catch (const std::runtime_error& e) { // ExceptMsg(wxString( e.what(), wxConvLocal )); // return; //} } else { actDoc->SetStartFitAtPeak( true ); } */ // Updates strings in the result box if (actView != NULL) { wxStfChildFrame* pChild=(wxStfChildFrame*)actView->GetFrame(); if (pChild != NULL) pChild->UpdateResults(); wxStfGraph* pGraph = actView->GetGraph(); if (pGraph != NULL) pGraph->SetFocus(); } } wxMenuBar *wxStfApp::CreateUnifiedMenuBar(wxStfDoc* doc) { //// Make a menubar wxMenu *file_menu = new wxMenu; file_menu->Append(wxID_OPEN); file_menu->Append(wxID_CLOSE); // file_menu->Append(wxID_SAVE, wxT("&Save")); file_menu->Append(wxID_SAVEAS); //#ifdef _WINDOWS file_menu->AppendSeparator(); file_menu->Append(ID_CONVERT, wxT("&Convert file series...")); //#endif file_menu->AppendSeparator(); file_menu->Append(ID_FILEINFO, wxT("File information...")); file_menu->AppendSeparator(); file_menu->Append(ID_MPL, wxT("Create &figure...")); file_menu->Append(ID_PRINT_PRINT, wxT("&Print...")); file_menu->Append(ID_PRINT_PAGE_SETUP, wxT("Print &Setup...")); #ifdef WITH_PYTHON file_menu->AppendSeparator(); file_menu->Append( ID_IMPORTPYTHON, wxT("&Import Python module...\tCtrl+I"), wxT("Import or reload user-defined Python modules") ); #endif // WITH_PYTHON file_menu->AppendSeparator(); file_menu->Append(wxID_EXIT); #if !defined __WXGTK__ && (wxCHECK_VERSION(2, 9, 0)) ((wxStfDoc*)doc)->SetFileMenu( file_menu ); #else GetDocManager()->FileHistoryLoad( *config ); #endif GetDocManager()->FileHistoryUseMenu(file_menu); #if (wxCHECK_VERSION(2, 9, 0)) GetDocManager()->FileHistoryAddFilesToMenu(file_menu); #else GetDocManager()->FileHistoryAddFilesToMenu(); #endif wxMenu* m_edit_menu=new wxMenu; m_edit_menu->Append( ID_CURSORS, wxT("&Cursor settings...\tCtrl+R"), wxT("Set cursor position, direction, etc.") ); m_edit_menu->AppendSeparator(); m_edit_menu->Append( ID_MYSELECTALL, wxT("&Select all traces\tCtrl+A"), wxT("Select all traces in this file") ); m_edit_menu->Append( ID_SELECTSOME, wxT("S&elect some traces..."), wxT("Select every n-th trace in this file") ); m_edit_menu->Append( ID_UNSELECTALL, wxT("&Unselect all traces\tCtrl+U"), wxT("Unselect all traces in this file") ); m_edit_menu->Append( ID_UNSELECTSOME, wxT("U&nselect some traces"), wxT("Unselect some traces in this file") ); wxMenu *editSub=new wxMenu; editSub->Append( ID_NEWFROMSELECTEDTHIS, wxT("&selected traces from this file"), wxT("Create a new window showing all selected traces from this file") ); editSub->Append( ID_NEWFROMSELECTED, wxT("&selected traces from all files"), wxT("Create a new window showing all selected traces from all files") ); editSub->Append(ID_NEWFROMALL, wxT("&all traces from all files"), wxT("Create a new window showing all traces from all files") ); m_edit_menu->AppendSeparator(); m_edit_menu->AppendSubMenu(editSub,wxT("New window with...")); m_edit_menu->Append( ID_CONCATENATE_MULTICHANNEL, wxT("&Concatenate selected sweeps (multiple channels)"), wxT("Create one large sweep by merging selected sweeps in this file") ); wxMenu* m_view_menu = new wxMenu; m_view_menu->Append( ID_VIEW_RESULTS, wxT("&Results..."), wxT("Select analysis results to be shown in the results table") ); m_view_menu->Append( ID_APPLYTOALL, wxT("&Apply scaling to all windows"), wxT("Apply this trace's scaling to all other windows") ); m_view_menu->AppendCheckItem( ID_SCALE, wxT("&View scale bars"), wxT("If checked, use scale bars rather than coordinates") ); m_view_menu->AppendSeparator(); m_view_menu->Append(ID_SAVEPERSPECTIVE,wxT("&Save window positions")); m_view_menu->Append(ID_LOADPERSPECTIVE,wxT("&Load window positions")); m_view_menu->Append(ID_RESTOREPERSPECTIVE,wxT("&Restore default window positions")); #ifdef WITH_PYTHON m_view_menu->AppendSeparator(); m_view_menu->Append(ID_VIEW_SHELL, wxT("&Toggle Python shell"), wxT("Shows or hides the Python shell")); #endif // WITH_PYTHON wxMenu* ch2Sub=new wxMenu; ch2Sub->Append(ID_CH2BASE, wxT("Match &baseline")); ch2Sub->Append(ID_CH2POS, wxT("Match &abs. position")); ch2Sub->Append(ID_CH2ZOOM, wxT("Match &y-scale")); ch2Sub->Append(ID_CH2BASEZOOM, wxT("Match baseline a&nd y-scale")); m_view_menu->AppendSeparator(); m_view_menu->AppendSubMenu(ch2Sub, wxT("&Channel 2 scaling")); m_view_menu->Append(ID_SWAPCHANNELS, wxT("&Swap channels")); wxMenu *analysis_menu = new wxMenu; wxMenu *fitSub = new wxMenu; fitSub->Append( ID_FIT, wxT("&Nonlinear regression...\tCtrl+N"), wxT("Fit a function to this trace between fit cursors") ); fitSub->Append( ID_LFIT, wxT("&Linear fit..."), wxT("Fit a linear function to this trace between fit cursors") ); analysis_menu->AppendSubMenu(fitSub, wxT("&Fit")); wxMenu *transformSub = new wxMenu; transformSub->Append( ID_LOG, wxT("&Logarithmic (base e)..."), wxT("Transform selected traces logarithmically") ); analysis_menu->AppendSubMenu(transformSub, wxT("&Transform")); analysis_menu->Append( ID_MULTIPLY, wxT("&Multiply..."), wxT("Multiply selected traces") ); analysis_menu->Append( ID_INTEGRATE, wxT("&Integrate"), wxT("Integrate this trace between fit cursors") ); analysis_menu->Append( ID_DIFFERENTIATE, wxT("&Differentiate"), wxT("Differentiate selected traces") ); analysis_menu->Append( ID_SUBTRACTBASE, wxT("&Subtract baseline"), wxT("Subtract baseline from selected traces") ); analysis_menu->Append( ID_FILTER, wxT("Fi<er..."), wxT("Filter selected traces") ); analysis_menu->Append( ID_MPL_SPECTRUM, wxT("&Power spectrum..."), wxT("Compute an estimate of the power spectrum of the selected traces") ); analysis_menu->Append( ID_POVERN, wxT("P over &N correction..."), wxT("Apply P over N correction to all traces of this file") ); wxMenu* eventPlotSub = new wxMenu; eventPlotSub->Append(ID_PLOTCRITERION, wxT("&Detection criterion...")); eventPlotSub->Append(ID_PLOTCORRELATION, wxT("&Correlation coefficient...")); eventPlotSub->Append(ID_PLOTDECONVOLUTION, wxT("&Deconvolution...")); wxMenu* eventSub = new wxMenu; eventSub->AppendSubMenu(eventPlotSub,wxT("Plot")); eventSub->Append(ID_EXTRACT,wxT("&Template matching...")); eventSub->Append(ID_THRESHOLD,wxT("Threshold &crossing...")); analysis_menu->AppendSubMenu(eventSub,wxT("Event detection")); analysis_menu->Append( ID_BATCH, wxT("&Batch analysis..."), wxT("Analyze selected traces and show results in a table") ); #if 0 wxMenu* userdefSub=new wxMenu; for (std::size_t n=0;nAppend( ID_USERDEF1+(int)n, GetPluginLib()[n].menuEntry ); } analysis_menu->AppendSubMenu(userdefSub,wxT("User-defined functions")); #endif #ifdef WITH_PYTHON wxMenu *extensions_menu = new wxMenu; for (std::size_t n=0;nAppend(ID_USERDEF+(int)n, stf::std2wx(GetExtensionLib()[n].menuEntry)); } #endif wxMenu *help_menu = new wxMenu; help_menu->Append(wxID_HELP, wxT("Online &help\tF1")); help_menu->Append(wxID_ABOUT, wxT("&About")); help_menu->Append(ID_UPDATE, wxT("&Check for updates")); wxMenuBar *menu_bar = new wxMenuBar; menu_bar->Append(file_menu, wxT("&File")); menu_bar->Append(m_edit_menu, wxT("&Edit")); menu_bar->Append(m_view_menu, wxT("&View")); menu_bar->Append(analysis_menu, wxT("&Analysis")); #ifdef WITH_PYTHON menu_bar->Append(extensions_menu, wxT("E&xtensions")); #endif menu_bar->Append(help_menu, wxT("&Help")); return menu_bar; } /* * Centralised code for creating a document frame. * Called from view.cpp when a view is created. */ wxStfChildFrame *wxStfApp::CreateChildFrame(wxDocument *doc, wxView *view) { //// Make a child frame #ifdef __WXMAC__ int xpos = (GetDocCount()-1) * 16 + 64; int ypos = (GetDocCount()-1) * 16 + 80; #endif wxStfChildFrame *subframe = new wxStfChildFrame( doc, view, GetMainFrame(), wxID_ANY, doc->GetTitle(), #ifdef __WXMAC__ wxPoint(xpos,ypos), wxSize(800,600), #else wxDefaultPosition, wxDefaultSize, #endif wxDEFAULT_FRAME_STYLE | // wxNO_FULL_REPAINT_ON_RESIZE | wxWANTS_CHARS | wxMAXIMIZE ); #ifdef __WXMSW__ subframe->SetIcon(wxString(wxT("chart"))); #endif #ifdef __X__ // subframe->SetIcon(wxIcon(wxT("doc.xbm"))); #endif #ifndef __WXGTK__ wxMenuBar* menu_bar = CreateUnifiedMenuBar((wxStfDoc*)doc); //// Associate the menu bar with the frame subframe->SetMenuBar(menu_bar); #endif // __WXGTK__ return subframe; } wxStfDoc* wxStfApp::NewChild(const Recording& NewData, const wxStfDoc* Sender, const wxString& title) { wxStfDoc* NewDoc=(wxStfDoc*)m_cfsTemplate->CreateDocument(title,wxDOC_NEW); NewDoc->SetDocumentName(title); NewDoc->SetTitle(title); NewDoc->SetDocumentTemplate(m_cfsTemplate); if (!NewDoc->OnNewDocument()) return NULL; try { NewDoc->SetData(NewData, Sender, title); } catch (const std::out_of_range& e) { wxString msg; msg << wxT("Error while creating new document:\n") << stf::std2wx(e.what()); ExceptMsg(msg); // Close file: NewDoc->OnCloseDocument(); return NULL; } catch (const std::runtime_error& e) { wxString msg; msg << wxT("Runtime error while creating new document:\n") << wxString( e.what(), wxConvLocal ); ExceptMsg( msg ); // Close file: if (!NewDoc->OnCloseDocument()) ErrorMsg(wxT("Could not close file; please close manually")); return NULL; } return NewDoc; } wxStfView* wxStfApp::GetActiveView() const { if ( GetDocManager() == 0) { ErrorMsg( wxT("Couldn't access the document manager")); return NULL; } return (wxStfView*)GetDocManager()->GetCurrentView(); } wxStfDoc* wxStfApp::GetActiveDoc() const { if ( GetDocManager() == 0) { ErrorMsg( wxT("Couldn't access the document manager")); return NULL; } if (GetDocManager()->GetDocuments().empty()) return NULL; wxStfDoc* pDoc = (wxStfDoc*)GetDocManager()->GetCurrentDocument(); return pDoc; } /* void wxStfApp::SetActiveDoc(wxStfDoc* pDoc) { if (pDoc != activeDoc.back()) { activeDoc.push_back( pDoc ); } } */ void wxStfApp::OnKeyDown( wxKeyEvent& event ) { event.Skip(); wxStfDoc* actDoc = GetActiveDoc(); if (!actDoc) return; // wxStfView* actView = (wxStfView*)actDoc->GetFirstView(); wxStfView* actView = GetActiveView(); if (actView) { wxStfGraph* pGraph = actView->GetGraph(); wxStfChildFrame* pChild=(wxStfChildFrame*)actView->GetFrame(); if (pGraph && pChild && pChild->IsActive()) pGraph->OnKeyDown(event); } } void wxStfApp::OnCursorSettings( wxCommandEvent& WXUNUSED(event) ) { wxStfDoc* actDoc=GetActiveDoc(); if (CursorsDialog==NULL && actDoc!=NULL) { CursorsDialog=new wxStfCursorsDlg(frame, actDoc); CursorsDialog->Show(); CursorsDialog->SetActiveDoc(actDoc); //set CEdit controls to given values try { CursorsDialog->UpdateCursors(); } catch (const std::runtime_error& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); return; } //set CButton to given direction CursorsDialog->SetDirection(actDoc->GetDirection()); CursorsDialog->SetPeakPoints((int)actDoc->GetPM()); CursorsDialog->SetFromBase(actDoc->GetFromBase()); CursorsDialog->SetSlope( actDoc->GetSlopeForThreshold() ); return; } if(CursorsDialog!=NULL && !CursorsDialog->IsShown() && actDoc!=NULL) { CursorsDialog->Show(); CursorsDialog->SetActiveDoc(actDoc); //set CEdit controls to given values try { CursorsDialog->UpdateCursors(); } catch (const std::runtime_error& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); return; } //set CButton to given direction CursorsDialog->SetDirection(actDoc->GetDirection()); CursorsDialog->SetPeakPoints((int)actDoc->GetPM()); CursorsDialog->SetFromBase(actDoc->GetFromBase()); CursorsDialog->SetSlope( actDoc->GetSlopeForThreshold() ); } } void wxStfApp::OnNewfromselected( wxCommandEvent& WXUNUSED(event) ) { // number of selected traces across all open documents: std::size_t nwxT=0; // Search the document's template list for open documents: wxList docList=GetDocManager()->GetDocuments(); if (docList.IsEmpty()) { ErrorMsg(wxT("No traces were found")); return; } // Since random access is expensive, go through the list node by node: // Get first node: wxObjectList::compatibility_iterator curNode=docList.GetFirst(); std::size_t n_channels=((wxStfDoc*)curNode->GetData())->size(); while (curNode) { wxStfDoc* pDoc=(wxStfDoc*)curNode->GetData(); if (pDoc->size()!=n_channels) { ErrorMsg(wxT("Can't combine files: different numbers of channels")); return; } try { nwxT+=pDoc->GetSelectedSections().size(); } catch (const std::out_of_range& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); return; } curNode=curNode->GetNext(); } if (nwxT==0) { ErrorMsg(wxT("No selected traces were found")); return; } Recording Selected(n_channels,nwxT); // Do the same iteration once again filling the channel with data: curNode=docList.GetFirst(); wxStfDoc* pDoc=NULL; nwxT=0; std::vector > channel_names(n_channels); while (curNode) { pDoc=(wxStfDoc*)curNode->GetData(); if (pDoc->GetSelectedSections().size() > 0) { for (std::size_t n_c=0;n_csize();++n_c) { channel_names[n_c].push_back(pDoc->get()[n_c].GetChannelName()); for (std::size_t n=0; nGetSelectedSections().size(); ++n) { try { Selected[n_c].InsertSection( pDoc->get()[n_c][pDoc->GetSelectedSections()[n]], n+nwxT ); } catch (const std::out_of_range& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); return; } } } } nwxT+=pDoc->GetSelectedSections().size(); curNode=curNode->GetNext(); } // Set channel names: for (std::size_t n_c=0;n_c=0 && !used;--n_used) { // can't use size_t here because // n_used might be negative when checking loop condition used = ( channel_names[n_c][n_n].compare( channel_names[n_c][n_used] ) == 0 ); } if (!used) { channel_name << wxT(", ") << channel_names[n_c][n_n]; } } Selected.get()[n_c].SetChannelName(channel_name.str()); } // Copy some variables from the last document's recording // to the new recording: Selected.CopyAttributes(*pDoc); // Create a new document in a new child window, using the settings // of the last open document: NewChild(Selected,pDoc,wxT("New from selected traces")); } void wxStfApp::OnNewfromall( wxCommandEvent& WXUNUSED(event) ) { // number of traces in all open documents: std::size_t nwxT=0; // minimal number of channels: // Search the document's template list for open documents: wxList docList=GetDocManager()->GetDocuments(); if (docList.IsEmpty()) { ErrorMsg(wxT("No traces were found")); return; } // Since random access is expensive, go through the list node by node: // Get first node: wxObjectList::compatibility_iterator curNode=docList.GetFirst(); std::size_t n_channels=((wxStfDoc*)curNode->GetData())->size(); while (curNode) { wxStfDoc* pDoc=(wxStfDoc*)curNode->GetData(); if (pDoc->size()!=n_channels) { ErrorMsg(wxT("Can't combine files: different numbers of channels")); return; } try { nwxT+=pDoc->get().at(pDoc->GetCurChIndex()).size(); } catch (const std::out_of_range& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); return; } curNode=curNode->GetNext(); } Recording Selected(n_channels,nwxT); //Do the same iteration once again filling the channel with data: curNode=docList.GetFirst(); nwxT=0; wxStfDoc* pDoc=NULL; std::vector > channel_names(n_channels); while (curNode) { pDoc=(wxStfDoc*)curNode->GetData(); if (pDoc->get()[pDoc->GetCurChIndex()].size() > 0) { for (std::size_t n_c=0;n_cget()[n_c].GetChannelName()); for (std::size_t n=0; nget()[n_c].size(); ++n) { try { Selected[n_c].InsertSection(pDoc->get()[n_c][n],n+nwxT); } catch (const std::out_of_range& e) { ExceptMsg(wxString( e.what(), wxConvLocal )); return; } } } } nwxT+=pDoc->get()[pDoc->GetCurChIndex()].size(); curNode=curNode->GetNext(); } // Set channel names: for (std::size_t n_c=0;n_c=0 && !used;--n_used) { // can't use size_t here because // n_used might be negative when checking loop condition used = ( channel_names[n_c][n_n].compare( channel_names[n_c][n_used] ) == 0 ); } if (!used) { channel_name << wxT(", ") << channel_names[n_c][n_n]; } } Selected.get()[n_c].SetChannelName(channel_name.str()); } // Copy some variables from the last document's recording // to the new recording: Selected.CopyAttributes(*pDoc); // Create a new document in a new child window, using the settings // of the last open document: NewChild(Selected,pDoc,wxT("New from all traces")); } void wxStfApp::OnApplytoall( wxCommandEvent& WXUNUSED(event) ) { // toggle through open documents to find out // which one is active: // Search the document's template list for open documents: wxList docList=GetDocManager()->GetDocuments(); if (docList.IsEmpty()) { ErrorMsg(wxT("No traces were found")); return; } wxStfDoc* pDoc=GetActiveDoc(); wxStfView* pView=GetActiveView(); if (pDoc==NULL || pView==NULL) { ErrorMsg(wxT("Couldn't find an active window")); return; } std::size_t llbToApply=pDoc->GetBaseBeg(); std::size_t ulbToApply=pDoc->GetBaseEnd(); std::size_t llpToApply=pDoc->GetPeakBeg(); std::size_t ulpToApply=pDoc->GetPeakEnd(); std::size_t lldToApply=pDoc->GetFitBeg(); std::size_t uldToApply=pDoc->GetFitEnd(); double latencyStartCursorToApply=pDoc->GetLatencyBeg(); double latencyEndCursorToApply=pDoc->GetLatencyEnd(); // Since random access is expensive, go through the list node by node: // Get first node: wxObjectList::compatibility_iterator curNode=docList.GetFirst(); while (curNode) { wxStfDoc* OpenDoc=(wxStfDoc*)curNode->GetData(); if (OpenDoc==NULL) return; wxStfView* curView = (wxStfView*)OpenDoc->GetFirstView(); //(GetActiveView()); if (curView!=pView && curView!=NULL) { OpenDoc->GetXZoomW() = pDoc->GetXZoom(); for ( std::size_t n_c=0; n_c < OpenDoc->size(); ++n_c ) { if ( n_c < pDoc->size() ) { OpenDoc->GetYZoomW(n_c) = pDoc->GetYZoom(n_c); } } OpenDoc->SetBaseBeg((int)llbToApply); OpenDoc->SetBaseEnd((int)ulbToApply); OpenDoc->SetPeakBeg((int)llpToApply); OpenDoc->SetPeakEnd((int)ulpToApply); OpenDoc->SetFitBeg((int)lldToApply); OpenDoc->SetFitEnd((int)uldToApply); OpenDoc->SetLatencyBeg(latencyStartCursorToApply); OpenDoc->SetLatencyEnd(latencyEndCursorToApply); wxStfChildFrame* pChild=(wxStfChildFrame*)curView->GetFrame(); pChild->UpdateResults(); if (curView->GetGraph() != NULL) curView->GetGraph()->Refresh(); } curNode=curNode->GetNext(); } } bool wxStfApp::OpenFileSeries(const wxArrayString& fNameArray) { int nFiles=(int)fNameArray.GetCount(); if (nFiles==0) return false; bool singleWindow=false; if (nFiles!=1) { // Ask whether to put files into a single window: singleWindow=(wxMessageDialog( frame, wxT("Put files into a single window?"), wxT("File series import"), wxYES_NO ).ShowModal() == wxID_YES); } wxProgressDialog progDlg( wxT("Importing file series"), wxT("Starting file import"), 100, frame, wxPD_SMOOTH | wxPD_AUTO_HIDE ); int n_opened=0; Recording seriesRec; while (n_opened!=nFiles) { wxString progStr; progStr << wxT("Reading file #") << n_opened + 1 << wxT(" of ") << nFiles; progDlg.Update( (int)((double)n_opened/(double)nFiles*100.0), progStr ); if (!singleWindow) { wxDocTemplate* templ=GetDocManager()->FindTemplateForPath(fNameArray[n_opened]); wxStfDoc* NewDoc=(wxStfDoc*)templ->CreateDocument(fNameArray[n_opened],wxDOC_NEW); NewDoc->SetDocumentTemplate(templ); if (!NewDoc->OnOpenDocument(fNameArray[n_opened++])) { ErrorMsg(wxT("Couldn't open file, aborting file import")); GetDocManager()->CloseDocument(NewDoc); return false; } } else { // Add to recording first: #ifndef TEST_MINIMAL // Find a template: wxDocTemplate* templ=GetDocManager()->FindTemplateForPath(fNameArray[n_opened]); // Use this template only for type recognition: wxString filter(templ->GetFileFilter()); stfio::filetype type = stfio::findType(stf::wx2std(templ->GetFileFilter())); #else stfio::filetype type = stfio::none; #endif #if 0 // TODO: re-implement ascii if (type==stfio::ascii) { if (!get_directTxtImport()) { wxStfTextImportDlg ImportDlg(NULL, stf::CreatePreview(fNameArray[n_opened]), 1, true); if (ImportDlg.ShowModal()!=wxID_OK) { return false; } // store settings in application: set_txtImportSettings(ImportDlg.GetTxtImport()); set_directTxtImport(ImportDlg.ApplyToAll()); } } #endif // add this file to the series recording: Recording singleRec; try { stf::wxProgressInfo progDlg("Reading file", "Opening file", 100); stfio::importFile(stf::wx2std(fNameArray[n_opened++]),type,singleRec,txtImport, progDlg); if (n_opened==1) { seriesRec.resize(singleRec.size()); // reserve memory to avoid allocations: for (std::size_t n_c=0;n_cFindTemplateForPath( filename ); if ( templ == NULL ) { ErrorMsg(wxT("Couldn't open file, aborting file import")); return false; } wxStfDoc* NewDoc = (wxStfDoc*)templ->CreateDocument( filename, wxDOC_NEW ); if ( NewDoc == NULL ) { ErrorMsg(wxT("Couldn't open file, aborting file import")); return false; } NewDoc->SetDocumentTemplate(templ); if (!NewDoc->OnOpenPyDocument(filename)) { ErrorMsg(wxT("Couldn't open file, aborting file import")); GetDocManager()->CloseDocument(NewDoc); return false; } return true; } #endif //WITH_PYTHON void wxStfApp::CleanupDocument(wxStfDoc* pDoc) { // count open docs: if (GetDocManager() && GetDocManager()->GetDocuments().GetCount()==1) { // Clean up if this was the last document: if (CursorsDialog!=NULL) { CursorsDialog->Destroy(); CursorsDialog=NULL; } } // Update active document: /* activeDoc.remove(pDoc); */ // Remove menu from file history menu list: // GetDocManager()->FileHistoryUseMenu(m_file_menu); // GetDocManager()->FileHistoryAddFilesToMenu(); } std::vector wxStfApp::GetSectionsWithFits() const { // Search the document's template list for open documents: wxList docList=GetDocManager()->GetDocuments(); if (docList.IsEmpty()) { return std::vector(0); } std::vector sectionList; // Since random access is expensive, go through the list node by node: // Get first node: wxObjectList::compatibility_iterator curNode=docList.GetFirst(); while (curNode) { wxStfDoc* pDoc=(wxStfDoc*)curNode->GetData(); try { for (std::size_t n_sec=0; n_sec < pDoc->get().at(pDoc->GetCurChIndex()).size(); ++n_sec) { stf::SectionAttributes sec_attr = pDoc->GetSectionAttributes(pDoc->GetCurChIndex(), n_sec); if (sec_attr.isFitted) { sectionList.push_back(stf::SectionPointer(&pDoc->get()[pDoc->GetCurChIndex()][n_sec], sec_attr) ); } } } catch (const std::out_of_range& e) { ExceptMsg( wxString( e.what(), wxConvLocal ) ); return std::vector(0); } curNode=curNode->GetNext(); } return sectionList; } wxString wxStfApp::GetVersionString() const { wxString verString; verString << wxT("Stimfit ") << wxString(PACKAGE_VERSION, wxConvLocal) #ifdef _STFDEBUG << wxT(", debug build, "); #else << wxT(", release build, "); #endif verString << wxT(__DATE__) << wxT(", ") << wxT(__TIME__); return verString; } StfDll wxStfParentFrame *GetMainFrame(void) { return frame; } // LocalWords: wxStfView #ifdef WITH_PYTHON void wxStfApp::OnPythonImport(wxCommandEvent& WXUNUSED(event)) { // show a file selection dialog menu. wxString pyFilter; // file filter only show *.py pyFilter = wxT("Python file (*.py)|*.py"); wxFileDialog LoadModuleDialog (frame, wxT("Import/reload Python module"), wxT(""), wxT(""), pyFilter, wxFD_OPEN | wxFD_PREVIEW ); if (LoadModuleDialog.ShowModal() == wxID_OK) { wxString modulelocation = LoadModuleDialog.GetPath(); ImportPython(modulelocation); // see in /src/app/unopt.cpp L196 } else { return; } } #endif // WITH_PYTHON stimfit-0.14.11/src/stimfit/gui/view.h0000755000175200017520000000673012277666257014474 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file view.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfView. */ #ifndef _VIEW_H #define _VIEW_H /*! \addtogroup wxstf * @{ */ #include class wxStfDoc; class wxStfGraph; //! The view class, derived from wxView. /*! It is used to model the viewing and editing component of the file-based data. * It is part of the document/view framework supported by wxWidgets. Note that * this class does almost nothing in stimfit. Its only purpose is to adhere to * the doc/view paradigm. All of the actual drawing happens in wxStfGraph. */ class wxStfView : public wxView { public: //! Constructor wxStfView(); //! Destructor ~wxStfView() {} //! Override default view creation /*! Creates a child frame and a graph, sets the window title. * \param doc Pointer to the attached document. * \param flags View creation flags. * \return true upon successful view creation, false otherwise. */ virtual bool OnCreate(wxDocument *doc, long flags); //! The drawing function (note that actual drawing happens in wxStfGraph::OnDraw()) /*! \param dc Pointer to the device context. * \sa wxStfGraph::OnDraw() */ virtual void OnDraw(wxDC *dc); //! Override default updating behaviour /*! Called when the graph should be refreshed. * \param sender Pointer to the view that requested the update. * \param hint Unused. */ virtual void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL); //! Override default file closing behaviour /*! \param deleteWindow true if the child frame should be deleted. * \return true if file closing was successful. */ virtual bool OnClose(bool deleteWindow = true); //! Retrieve the attached graph /*! \return A pointer to the attached graph. */ wxStfGraph* GetGraph() { return graph; } //! Retrieve the attached document /*! \return A pointer to the attached document. */ wxStfDoc* Doc(); //! Retrieve the attached document /*! \return A pointer to the attached document. */ wxStfDoc* DocC() const; protected: //! Called when the view is activated; dialogs and menus are then updated. /*! \param activate true if this view is being activated. * \param activeView Pointer to the view that is now active. * \param deactiveView Pointer to the view that has just been deactivated. */ virtual void OnActivateView(bool activate, wxView *activeView, wxView *deactiveView); private: DECLARE_DYNAMIC_CLASS(wxStfView) DECLARE_EVENT_TABLE() wxStfGraph *graph; wxStfChildFrame *childFrame; }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/copygrid.h0000755000175200017520000000650512556527764015341 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file copygrid.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfGrid. Derived from wxGrid to allow copying to clipboard. */ #ifndef _COPYGRID_H #define _COPYGRID_H /*! \addtogroup wxstf * @{ */ //! Derived from wxGrid. Allows to copy cells to the clipboard. class wxStfGrid : public wxGrid { DECLARE_CLASS(wxStfGrid) public: //! Constructor /*! \param parent Pointer to the parent window. * \param id Window id. * \param pos Initial window position. * \param size Initial window size. * \param style Grid style. * \param name Name of this grid. */ wxStfGrid( wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxWANTS_CHARS, const wxString& name = wxGridNameStr ); //! Get the selection. /*! \return The selected cells as a string. */ wxString GetSelection() const {return selection;} // Get the context menu. /*! \return A pointer to the context menu. */ wxMenu* get_labelMenu() {return m_labelContext.get();} //! Updates the context menu. void ViewResults(); private: wxString selection; void Copy(wxCommandEvent& event); void OnRClick(wxGridEvent& event); void OnLabelRClick(wxGridEvent& event); void OnKeyDown(wxKeyEvent& event); void ViewCrosshair(wxCommandEvent& event); void ViewBaseline(wxCommandEvent& event); void ViewBaseSD(wxCommandEvent& event); void ViewThreshold(wxCommandEvent& event); void ViewPeakzero(wxCommandEvent& event); void ViewPeakbase(wxCommandEvent& event); void ViewPeakthreshold(wxCommandEvent& event); void ViewRTLoHi(wxCommandEvent& event); void ViewInnerRiseTime(wxCommandEvent& event); void ViewOuterRiseTime(wxCommandEvent& event); void ViewT50(wxCommandEvent& event); void ViewRD(wxCommandEvent& event); void ViewSloperise(wxCommandEvent& event); void ViewSlopedecay(wxCommandEvent& event); void ViewLatency(wxCommandEvent& event); #ifdef WITH_PSLOPE void ViewPSlope(wxCommandEvent& event); #endif void ViewCursors(wxCommandEvent& event); void SetCheckmark(const wxString& RegEntry, int id); #if (__cplusplus < 201103) boost::shared_ptr m_context; boost::shared_ptr m_labelContext; #else std::shared_ptr m_context; std::shared_ptr m_labelContext; #endif DECLARE_EVENT_TABLE() }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/graph.h0000755000175200017520000003746612556527764014634 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file graph.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfGraph. */ #ifndef _GRAPH_H #define _GRAPH_H /*! \addtogroup wxstf * @{ */ // forward declarations: class wxStfView; class wxStfDoc; class wxStfParentFrame; class wxStfCheckBox; class wxEnhMetaFile; #include "./zoom.h" enum plottype { active, reference, background }; //! Handles drawing of traces and keyboard or mouse input. /*! Derived from wxScrolledWindow, although no scrolling is implemented * at this time. All the trace scaling and drawing happens here. Mouse * and keyboard input is handled here as well. */ class StfDll wxStfGraph : public wxScrolledWindow { public: //! Constructor. /*! \param v is a pointer to the attached wxView. * \param frame is a pointer to the attached child frame. * \param pos and \param size indicate the initial position and size of this frame. * \param style is the window style. */ wxStfGraph(wxView *v, wxStfChildFrame *frame, const wxPoint& pos, const wxSize& size, long style); //! The central drawing function. Used for drawing to any output device, such as a printer or a screen. /*! \param dc is the device context used for drawing (can be a printer, a screen or a file). */ virtual void OnDraw(wxDC& dc); //! Copies the drawing to the clipboard as a windows metafile. /*! Metafiles are only implemented in Windows. Some applications * allow you to paste as an enhanced metafile (usually through * "Edit -> Paste special..."); choose this option for best results. */ void Snapshotwmf(); //! Handles mouse events. /*! The different possibilities (e.g. left or right click) split up * within this function. * \param event The mouse event. Contains information such as whether * the left or right button was clicked. */ void OnMouseEvent(wxMouseEvent& event); //! Handles keyboard input. /*! Key modifiers (e.g. Shift or Ctrl) ar handled within this function. * \param event The keyboard event. Contains information about the key * that was pressed. */ void OnKeyDown(wxKeyEvent& event); //! Show and analyse next trace. /*! Called when either the "next trace"-button is clicked or the right * arrow cursor key is pressed. Wraps around when last trace is reached. */ void OnNext(); //! Show and analyse previous trace. /*! Called when either the "previous trace"-button is clicked or the left * arrow cursor key is pressed. Wraps around when first trace is reached. */ void OnPrevious(); //! Show and analyse last trace. /*! Called when the "last trace"-button is clicked. */ void OnLast(); //! Show and analyse first trace. /*! Called when the "first trace"-button is clicked. */ void OnFirst(); //! Moves the traces up by 20 px. /*! Called when either the up arrow cursor key is pressed * or the "Move traces up"-button is clicked. */ void OnUp(); //! Moves the traces down by 20 px. /*! Called when either the down arrow cursor key is pressed * or the "Move traces down"-button is clicked. */ void OnDown(); //! Moves the traces right by 20 px. /*! Called when either the right arrow cursor key and Ctrl are pressed * at the same time or the "Move traces right"-button is clicked. */ void OnRight(); //! Moves the traces left by 20 px. /*! Called when either the left arrow cursor key and Ctrl are pressed * at the same time or the "Move traces left"-button is clicked. */ void OnLeft(); //! Enlarges the x-scale by a factor of 2. /*! This is currently never called and might be removed in the future. */ void OnXenlhi(); //! Enlarges the x-scale by a factor of 1.1. /*! Called when either the "+" key and Ctrl are pressed * at the same time or the "Enlarge x-scale"-button is clicked. */ void OnXenllo(); //! Shrinks the x-scale by a factor of 1.1. /*! Called when either the "-" key and Ctrl are pressed * at the same time or the "Shrink x-scale"-button is clicked. */ void OnXshrinklo(); //! Shrinks the x-scale by a factor of 2. /*! This is currently never called and might be removed in the future. */ void OnXshrinkhi(); //! Enlarges the y-scale by a factor of 2. /*! This is currently never called and might be removed in the future. */ void OnYenlhi(); //! Enlarges the y-scale by a factor of 1.1. /*! Called when either the "+" key is pressed * or the "Enlarge x-scale"-button is clicked. */ void OnYenllo(); //! Shrinks the y-scale by a factor of 1.1. /*! Called when either the "-" key is pressed * or the "Shrink x-scale"-button is clicked. */ void OnYshrinklo(); //! Shrinks the y-scale by a factor of 2. /*! This is currently never called and might be removed in the future. */ void OnYshrinkhi(); //! Adjust y-positioning so that the baselines of channel 1 and 2 are at the same y-position. void Ch2base(); //! Adjust y-positioning so that channel 1 and 2 are at the same absolute y-position. void Ch2pos(); //! Adjust y-scale so that channel 1 and 2 have the same y-scale. void Ch2zoom(); //! Combines Ch2zoom() and Ch2base(). /*! This is a separate function so that the graph is not * refreshed between adjusting the y-scale and the baseline. */ void Ch2basezoom(); #if 0 //! Swaps the active and the reference channel. void SwapChannels(); #endif //! Fits the graph to the window. /*! Fits the graph to 100% of the width and 50% of the height * of the window and centers it. * \param refresh Set to true if the graph should be refreshed after fitting it to the window. */ void Fittowindow(bool refresh); //! Set to true if the graph is drawn on a printer. /*! \param value boolean determining whether the graph is printed. */ void set_isPrinted(bool value); //! Sets the printing scale to the specified value. /*! \param value The new printing scale. */ void set_printScale(double value) {printScale=value;} //! Sets the size of the printout to the epcified rectangle. /*! \param value The new printing rectangle. */ void set_printRect(wxRect value) {printRect=value;} //! Set to true if the results table and the cursors should be printed. /*! \param value boolean determining whether everything should be printed. */ void set_noGimmicks(bool value) {no_gimmicks=value;} //! Prints every n-th point. /*! \param value Determines that every n-th point should be printed. */ void set_downsampling(int value) { downsampling = (value < 1 ? 1 : value); } //! Indicates whether everything (cursors, results table, etc.) is printed out. /*! \return true if everything is printed out. */ bool get_noGimmicks() const {return no_gimmicks;} //! Returns the y-position of a right click when in event-detection mode. /*! \return the index of the trace that the right-click position corresponds to. */ int get_eventPos() const { return eventPos; } //! Returns the current zoom struct. /*! \return the current zoom struct. */ // Zoom get_zoom() { return Doc()->at(Doc()->GetCurChIndex()).GetZoom(); } //! Sets the current zoom struct. /*! \param zoom_ The current zoom struct. */ // void set_zoom(const Zoom& zoom_) { Doc()->at(Doc()->GetCurChIndex()).GetZoomW()=zoom_; } //! The view attached to this wxStfGraph. wxStfView *view; //! Returns x value of the left screen border /*! \return x value of the left screen border */ double get_plot_xmin() const; //! Returns x value of the right screen border /*! \return x value of the right screen border */ double get_plot_xmax() const; //! Returns y value of the bottom screen border /*! \return y value of the bottom screen border */ double get_plot_ymin() const; //! Returns y value of the top screen border /*! \return y value of the top screen border */ double get_plot_ymax() const; //! Returns y value of the bottom screen border for the reference channel /*! \return y value of the bottom screen border for the reference channel */ double get_plot_y2min() const; //! Returns y value of the top screen border for the reference channel /*! \return y value of the top screen border for the reference channel */ double get_plot_y2max() const; private: wxStfChildFrame* pFrame; bool isZoomRect; //True if zoom window is set bool no_gimmicks; //True if no extra rulers/lines and circles shall be displayed bool isPrinted; //True when the View is drawn to a printer bool isLatex; bool firstPass; bool isSyncx; //Zoom struct // Zoom zoom; //Zoom struct to retain StdOut // Zoom zoomOld; //Zoom struct for PrintOut // Zoom zoomPrint; //Variables for the scaling of the print out wxRect printRect; //Printout graphic variables static const int boebbelStd=6;//Size of circles for display output int boebbel, //Size of circles (for peak, 2080rise time, etc.) boebbelPrint; //Size of circles for scalable print out double printScale; int printSizePen1,//Size of pens for scalable print out printSizePen2, printSizePen4, downsampling, eventPos; // ll... means lower limit, ul... means upper limit double llz_x, ulz_x, llz_y, ulz_y, llz_y2,ulz_y2; //Three lines of text containing the results wxString results1, results2, results3,results4, results5, results6; //Pens are declared here instead of locally to accelerate OnDraw() //Drawing (pen) styles for the different graphical standard output wxPen standardPen, standardPen2, standardPen3, scalePen, scalePen2, peakPen, peakLimitPen, basePen, baseLimitPen, decayLimitPen, ZoomRectPen, fitPen, fitSelectedPen, selectPen, averagePen, rtPen, hdPen, rdPen, slopePen, latencyPen, alignPen, measPen, eventPen, PSlopePen; /*CSH*/ //Drawing (pen) styles for the different graphical standard output wxPen standardPrintPen, standardPrintPen2, standardPrintPen3, scalePrintPen, scalePrintPen2,measPrintPen, peakPrintPen, peakLimitPrintPen, basePrintPen, baseLimitPrintPen, decayLimitPrintPen, fitPrintPen, fitSelectedPrintPen, selectPrintPen, averagePrintPen, rtPrintPen, hdPrintPen, rdPrintPen, slopePrintPen, resultsPrintPen, latencyPrintPen, PSlopePrintPen; wxBrush baseBrush, zeroBrush; wxPoint lastLDown; YZoom yzoombg; #if (__cplusplus < 201103) boost::shared_ptr m_zoomContext; boost::shared_ptr m_eventContext; #else std::shared_ptr m_zoomContext; std::shared_ptr m_eventContext; #endif std::vector cbList; void InitPlot(); void PlotSelected(wxDC& DC); void PlotAverage(wxDC& DC); void DrawZoomRect(wxDC& DC); void PlotGimmicks(wxDC& DC); void PlotEvents(wxDC& DC); void DrawCrosshair( wxDC& DC, const wxPen& pen, const wxPen& printPen, int crosshairSize, double xch, double ych); void PlotTrace( wxDC* pDC, const Vector_double& trace, plottype pt=active, int bgno=0 ); void DoPlot( wxDC* pDC, const Vector_double& trace, int start, int end, int step, plottype pt=active, int bgno=0 ); void PrintScale(wxRect& WindowRect); void PrintTrace( wxDC* pDC, const Vector_double& trace, plottype ptype=active); void DoPrint( wxDC* pDC, const Vector_double& trace, int start, int end, plottype ptype=active); void DrawCircle(wxDC* pDC, double x, double y, const wxPen& pen, const wxPen& printPen); void DrawVLine(wxDC* pDC, double x, const wxPen& pen, const wxPen& printPen); void DrawHLine(wxDC* pDC, double y, const wxPen& pen, const wxPen& printPen); void eventArrow(wxDC* pDC, int eventIndex); void DrawFit(wxDC* pDC); void PlotFit( wxDC* pDC, const stf::SectionPointer& Sec ); void DrawIntegral(wxDC* pDC); void CreateScale(wxDC* pDC); // Function receives the x-coordinate of a point and returns // its formatted value according to the current Zoom settings long xFormat(double); long xFormat(long); long xFormat(int); long xFormat(std::size_t); // The same for the y coordinates long yFormat(double); long yFormat(long); long yFormat(int); long yFormatD(double f) { return yFormat(f); } // The same for the y coordinates of the second channel long yFormat2(double); long yFormat2(long); long yFormat2(int); long yFormatD2(double f) { return yFormat2(f); } // The same for the y coordinates of the background channel long yFormatB(double); long yFormatB(long); long yFormatB(int); long yFormatDB(double f) { return yFormatB(f); } void FittorectY(YZoom& yzoom, const wxRect& rect, double min, double max, double screen_part); void FitToWindowSecCh(bool refresh); void LButtonDown(wxMouseEvent& event); void RButtonDown(wxMouseEvent& event); void LButtonUp(wxMouseEvent& event); // shorthand: wxStfDoc* Doc() { if (view != NULL) return view->Doc(); else return NULL; } wxStfDoc* DocC() const { if (view != NULL) return view->DocC(); else return NULL; } void ChangeXScale(double factor); void ChangeYScale(double factor); wxStfParentFrame* ParentFrame(); void OnZoomHV(wxCommandEvent& event); void OnZoomH(wxCommandEvent& event); void OnZoomV(wxCommandEvent& event); #if defined __WXMAC__ && !(wxCHECK_VERSION(2, 9, 0)) void OnPaint(wxPaintEvent &event); #endif long SPX() const { return DocC()->GetXZoom().startPosX; } long& SPXW() { return DocC()->GetXZoomW().startPosX; } long SPY() const { return DocC()->GetYZoom(DocC()->GetCurChIndex()).startPosY; } long& SPYW() { return DocC()->GetYZoomW(DocC()->GetCurChIndex()).startPosY; } long SPY2() const { return DocC()->GetYZoom(DocC()->GetSecChIndex()).startPosY; } long& SPY2W() { return DocC()->GetYZoomW(DocC()->GetSecChIndex()).startPosY; } double XZ() const { return DocC()->GetXZoom().xZoom; } double& XZW() { return DocC()->GetXZoomW().xZoom; } double YZ() const { return DocC()->GetYZoom(DocC()->GetCurChIndex()).yZoom; } double& YZW() { return DocC()->GetYZoomW(DocC()->GetCurChIndex()).yZoom; } double YZ2() const { return DocC()->GetYZoom(DocC()->GetSecChIndex()).yZoom; } double& YZ2W() { return DocC()->GetYZoomW(DocC()->GetSecChIndex()).yZoom; } DECLARE_EVENT_TABLE() }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/doc.h0000755000175200017520000012347212472345762014262 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file doc.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfDoc. */ #ifndef _DOC_H #define _DOC_H /*! \addtogroup wxstf * @{ */ #include "./../stf.h" //! The document class, derived from both wxDocument and Recording. /*! The document class can be used to model an application’s file-based data. * It is part of the document/view framework supported by wxWidgets. */ class StfDll wxStfDoc: public wxDocument, public Recording { #ifndef FROM_PYTHON DECLARE_DYNAMIC_CLASS(wxStfDoc) #endif private: bool peakAtEnd, startFitAtPeak, initialized, progress; Recording Average; int InitCursors(); void PostInit(); bool ChannelSelDlg(); void WriteToReg(); bool outOfRange(std::size_t check) { return (check >= cursec().size()); } void Focus(); void OnNewfromselectedThisMenu( wxCommandEvent& event ) { OnNewfromselectedThis( ); } void Selectsome(wxCommandEvent& event); void Unselectsome(wxCommandEvent& event); void ConcatenateMultiChannel(wxCommandEvent& event); void OnAnalysisBatch( wxCommandEvent& event ); void OnAnalysisIntegrate( wxCommandEvent& event ); void OnAnalysisDifferentiate( wxCommandEvent& event ); //void OnSwapChannels( wxCommandEvent& event ); void Multiply(wxCommandEvent& event); void SubtractBaseMenu( wxCommandEvent& event ) { SubtractBase( ); } void LFit(wxCommandEvent& event); void LnTransform(wxCommandEvent& event); void Filter(wxCommandEvent& event); void P_over_N(wxCommandEvent& event); void Plotextraction(stf::extraction_mode mode); void Plotcriterion(wxCommandEvent& event); void Plotcorrelation(wxCommandEvent& event); void Plotdeconvolution(wxCommandEvent& event); void MarkEvents(wxCommandEvent& event); void Threshold(wxCommandEvent& event); void Viewtable(wxCommandEvent& event); void Fileinfo(wxCommandEvent& event); Recording ReorderChannels(); wxMenu* doc_file_menu; stf::latency_mode latencyStartMode, latencyEndMode; stf::latency_window_mode latencyWindowMode; stfnum::direction direction; //of peak detection: UP, DOWN or BOTH #ifdef WITH_PSLOPE stf::pslope_mode_beg pslopeBegMode; // for left mode PSlope cursor stf::pslope_mode_end pslopeEndMode; // for right mode PSlope cursor #endif std::size_t baseBeg, baseEnd, peakBeg, peakEnd, fitBeg, fitEnd; stfnum::baseline_method baselineMethod; // method for calculating baseline #ifdef WITH_PSLOPE std::size_t PSlopeBeg, PSlopeEnd; int DeltaT; // distance (number of points) from the first cursor bool viewPSlope; #endif std::size_t measCursor; bool ShowRuler; // show a ruler throught the measurement cursor? double latencyStartCursor, latencyEndCursor, latency, //time from latency cursor to beginning of event base, APBase, baseSD, threshold, slopeForThreshold, peak, APPeak, tLoReal, tHiReal, t50LeftReal, t50RightReal, maxT, thrT, maxRiseY, maxRiseT, maxDecayY, maxDecayT, maxRise, maxDecay, t50Y, APMaxT, APMaxRiseY, APMaxRiseT, APt50LeftReal, #ifdef WITH_PSLOPE PSlope, #endif rtLoHi, InnerLoRT, InnerHiRT, OuterLoRT, OuterHiRT, halfDuration, slopeRatio, t0Real; // cursor windows: int pM; //peakMean, number of points used for averaging int RTFactor; // Lower point for the rise-time calculation std::size_t tLoIndex, tHiIndex, t50LeftIndex, t50RightIndex, APt50LeftIndex, APt50RightIndex; bool fromBase, viewCrosshair,viewBaseline,viewBaseSD,viewThreshold, viewPeakzero,viewPeakbase,viewPeakthreshold, viewRTLoHi, viewInnerRiseTime, viewOuterRiseTime, viewT50,viewRD,viewSloperise,viewSlopedecay,viewLatency, viewCursors; XZoom xzoom; std::vector yzoom; std::vector< std::vector > sec_attr; public: //! Constructor. /*! Does nothing but initialising the member list. */ wxStfDoc(); //! Destructor. ~wxStfDoc(); //! Swaps active and inactive channel /*! \param event The menu event that made the call. */ void OnSwapChannels( wxCommandEvent& event ); //! Override default file opening. /*! Attempts to identify the file type from the filter extension (such as "*.dat") * \param filename Full path of the file. * \return true if successfully opened, false otherwise. */ virtual bool OnOpenDocument(const wxString& filename); //! Open document without progress dialog. /*! Attempts to identify the file type from the filter extension (such as "*.dat") * \param filename Full path of the file. * \return true if successfully opened, false otherwise. */ virtual bool OnOpenPyDocument(const wxString& filename); //! Override default file saving. /*! \return true if successfully saved, false otherwise. */ virtual bool SaveAs(); #ifndef TEST_MINIMAL //! Override default file saving. /*! \param filename Full path of the file. * \return true if successfully saved, false otherwise. */ virtual bool DoSaveDocument(const wxString& filename); #endif //! Override default file closing. /*! Writes settings to the config file or registry before closing. * \return true if successfully closed, false otherwise. */ virtual bool OnCloseDocument(); //! Override default file creation. /*! \return true if successfully closed, false otherwise. */ virtual bool OnNewDocument(); //! Sets the content of a newly created file. /*! \param c_Data The data that is used for the new file. * \param Sender Pointer to the document that generated this file. * \param title Title of the new document. */ void SetData( const Recording& c_Data, const wxStfDoc* Sender, const wxString& title ); //! Indicates whether an average has been created. /*! \return true if an average has been created, false otherwise. */ bool GetIsAverage() const { return !Average.get().empty(); } //! Indicates whether the left decay cursor should always be at the peak of the trace. /*! \return true if the left decay cursor should be at the end of the trace, false otherwise. */ bool GetStartFitAtPeak() const { return startFitAtPeak; } //! Indicates whether the right peak cursor should always be at the end of a trace. /*! \return true if the right peak cursor should be at the end, false otherwise. */ bool GetPeakAtEnd() const { return peakAtEnd; } //! Indicates whether the the document is fully initialised. /*! The document has to be fully initialized before other parts of the * program start accessing it; for example, the graph might start reading out values * before they exist. * \return true if the document is fully initialised, false otherwise. */ bool IsInitialized() const { return initialized; } //! Sets the right peak cursor to the end of a trace. /*! \param value determines whether the peak cursor should be at the end of a trace. */ void SetPeakAtEnd(bool value) { peakAtEnd=value; } //! Sets the left decay cursor to the peak of the trace. /*! \param value determines whether the left decay cursor should be at the peak of the trace. */ void SetStartFitAtPeak(bool value) { startFitAtPeak=value; } //! Retrieves the average trace(s). /*! \return The average trace as a Recording object. */ const Recording& GetAverage() const { return Average; } //! Checks whether any cursor is reversed or out of range and corrects it if required. void CheckBoundaries(); //! Sets the current section to the specified value /*! Checks for out-of-range errors * \param section The 0-based index of the new section */ bool SetSection(std::size_t section); //! Creates a new window containing the selected sections of this file. /*! \return true upon success, false otherwise. */ bool OnNewfromselectedThis( ); //! Selects all sections /*! \param event The menu event that made the call. */ void Selectall(wxCommandEvent& event); //! Unselects all sections /*! \param event The menu event that made the call. */ void Deleteselected(wxCommandEvent& event); //! Updates the status of the selection button void UpdateSelectedButton(); //! Creates an average trace from the selected sections /*! \param calcSD Set to true if the standard deviation should be calculated as well, false otherwise * \param align Set to true if traces should be aligned to the point of steepest rise of the reference channel, * false otherwise. */ void CreateAverage( bool calcSD, bool align ); #if 0 //! Applies a user-defined function to the current data set /*! \param id The id of the user-defined function */ void Userdef(std::size_t id); #endif //! Toggles the selection status of the current section void ToggleSelect( ); //! Selects the current section if previously unselected void Select(); //! Unselects the current section if previously selected void Remove(); //! Creates a new document from the checked events /*! \param event The menu event that made the call. */ void Extract(wxCommandEvent& event); //! Erases all events, independent of whether they are checked or not /*! \param event The menu event that made the call. */ void InteractiveEraseEvents(wxCommandEvent& event); //! Adds an event at the current eventPos /*! \param event The menu event that made the call. */ void AddEvent( wxCommandEvent& event ); //! Subtracts the baseline of all selected traces. /*! \return true upon success, false otherwise. */ bool SubtractBase( ); //! Fit a function to the data. /*! \param event The menu event that made the call. */ void FitDecay(wxCommandEvent& event); //! Sets a pointer to the file menu attached to this document. /*! \param menu The menu to be attached. */ void SetFileMenu( wxMenu* menu ) { doc_file_menu = menu; } //! Measure everything using functions defined in measlib.h /*! This will measure the baseline, peak values, Lo to Hi% rise time, * half duration, maximal slopes during rise and decay, the ratio of these slopes * and the latency. */ void Measure(); //! Put the current measurement results into a text table. stfnum::Table CurResultsTable(); //! Retrieves the position of the measurement cursor (crosshair). /*! \return The index of the measurement cursor within the current section. */ std::size_t GetMeasCursor() const { return measCursor; } //! Retrieves the computation mode for baseline. /*! \return The current mode for computing the baseline. */ stfnum::baseline_method GetBaselineMethod() const { return baselineMethod; } //! Retrieves the position of the left baseline cursor. /*! \return The index of the left baseline cursor within the current section. */ std::size_t GetBaseBeg() const { return baseBeg; } //! Retrieves the position of the right baseline cursor /*! \return The index of the left baseline cursor within the current section. */ std::size_t GetBaseEnd() const { return baseEnd; } //! Retrieves the position of the left peak cursor. /*! \return The index of the left peak cursor within the current section. */ std::size_t GetPeakBeg() const { return peakBeg; } //! Retrieves the position of the right peak cursor. /*! \return The index of the right peak cursor within the current section. */ std::size_t GetPeakEnd() const { return peakEnd; } //! Retrieves the position of the left fitting cursor. /*! \return The index of the left fitting cursor within the current section. */ std::size_t GetFitBeg() const { return fitBeg; } //! Retrieves the position of the right fitting cursor. /*! \return The index of the right fitting cursor within the current section. */ std::size_t GetFitEnd() const { return fitEnd; } #ifdef WITH_PSLOPE //! Retrieves the position of the left PSlope cursor. /*! \return The index of the left PSlope cursor within the current section. */ std::size_t GetPSlopeBeg() const { return PSlopeBeg; } //! Retrieves the position of the right PSlope cursor. /*! \return The index of the right PSlope cursor within the current section. */ std::size_t GetPSlopeEnd() const { return PSlopeEnd; } #endif // WITH_PSLOPE //! Retrieves the number of points used for averaging during peak calculation. /*! \return The number of points to be used. */ int GetPM() const { return pM; } #ifdef WITH_PSLOPE //! Retrieves the number of points used for distance from the first cursor. /*! \return The number of points to be used. */ int GetDeltaT() const { return DeltaT; } #endif //! Retrieves the position of the left latency cursor. /*! \return The index of the left latency cursor within the current section. Note that by contrast * to the other cursors, this is a double because the latency cursor may be set to an interpolated * position between two data points. */ double GetLatencyBeg() const { return latencyStartCursor; } //! Retrieves the position of the right latency cursor. /*! \return The interpolated index of the right latency cursor within the current section. Note that * by contrast to the other cursors, this is a double because the latency cursor may be set to an * interpolated position between two data points. */ double GetLatencyEnd() const { return latencyEndCursor; } //! Retrieves the latency. /*! \return The latency, expressed in units of data points. */ double GetLatency() const { return latency; } //! Retrieves the time point at which Lo% of the maximal amplitude have been reached. /*! \return The time point at which Lo% of the maximal amplitude have been reached, expressed in * units of data points. */ double GetTLoReal() const { return tLoReal; } //! Retrieves the time point at which Hi% of the maximal amplitude have been reached. /*! \return The time point at which Hi% of the maximal amplitude have been reached, expressed in * units of data points. */ double GetTHiReal() const { return tHiReal; } //! Retrieves the time point at which Lo% of the maximal amplitude have been reached. /*! \return The time point at which Lo% of the maximal amplitude have been reached, expressed in * units of data points. */ double GetInnerLoRT() const { return InnerLoRT; } //! Retrieves the time point at which Hi% of the maximal amplitude have been reached. /*! \return The time point at which Hi% of the maximal amplitude have been reached, expressed in * units of data points. */ double GetInnerHiRT() const { return InnerHiRT; } //! Retrieves the time point at which Lo% of the maximal amplitude have been reached. /*! \return The time point at which Lo% of the maximal amplitude have been reached, expressed in * units of data points. */ double GetOuterLoRT() const { return OuterLoRT; } //! Retrieves the time point at which Hi% of the maximal amplitude have been reached. /*! \return The time point at which Hi% of the maximal amplitude have been reached, expressed in * units of data points. */ double GetOuterHiRT() const { return OuterHiRT; } //! Retrieves the time point at which 50% of the maximal amplitude have been reached from the left of the peak. /*! \return The time point at which 50% of the maximal amplitude have been reached from the left of the peak, * expressed in units of data points. */ double GetT50LeftReal() const { return t50LeftReal; } //! Retrieves the time point at which 50% of the maximal amplitude have been reached from the right of the peak. /*! \return The time point at which 50% of the maximal amplitude have been reached from the right of the peak, * expressed in units of data points. */ double GetT50RightReal() const { return t50RightReal; } //! Retrieves the y value at 50% of the maximal amplitude. /*! \return The y value at 50% of the maximal amplitude. */ double GetT50Y() const { return t50Y; } //! Retrieves the maximal slope of the rising phase. /*! \return The maximal slope during the rising phase. */ double GetMaxRise() const { return maxRise; } //! Retrieves the maximal slope of the decaying phase. /*! \return The maximal slope of rise. */ double GetMaxDecay() const { return maxDecay; } //! Retrieves the time point of the maximal slope of the rising phase in the second channel. /*! This time point is needed as a reference for the latency calculation and for aligned averages. * \return The time point at which the maximal slope of the rising phase is reached in the second channel, * expressed in units of data points.. */ double GetAPMaxRiseT() const { return APMaxRiseT; } //! Retrieves the time point of the peak in the second channel. /*! \return The time point at which the peak is found in the second channel, * expressed in units of data points. */ double GetAPMaxT() const { return APMaxT; } //! Retrieves the time point at which 50% of the max. amplitude have been reached from the left of the peak in the reference channel. /*! \return The time point at which 50% of the maximal amplitude have been reached from the left of the peak * in the reference channel, expressed in units of data points. */ double GetAPT50LeftReal() const { return APt50LeftReal; } //! Retrieves the time point of the maximal slope during the rising phase. /*! \return The time point of the maximal slope during the rising phase, expressed in units of data points. */ double GetMaxRiseT() const { return maxRiseT; } //! Retrieves the y-value at the time point of the maximal slope during the rising phase. /*! \return The y-value at the time point of the maximal slope during the rising phase. */ double GetMaxRiseY() const { return maxRiseY; } //! Retrieves the time point of the maximal slope during the decaying phase. /*! \return The time point of the maximal slope during the decaying phase, expressed in units of data points. */ double GetMaxDecayT() const { return maxDecayT; } //! Retrieves the y-value at the time point of the maximal slope during the decaying phase. /*! \return The y-value at the time point of the maximal slope during the decaying phase. */ double GetMaxDecayY() const { return maxDecayY; } //! Retrieves the y-value at the measurement cursor (crosshair). Will update measCursor if out of range. /*! \return The y-value at the measurement cursor. */ double GetMeasValue(); //! Retrieves the peak value. /*! \return The peak value. */ double GetPeak() const { return peak; } //! Retrieves the peak time value. /*! \return The peak time value. */ double GetPeakTime() const { return maxT; } //! Retrieves the baseline. /*! \return The baseline value. */ double GetBase() const { return base; } //! Retrieves the baseline in the second channel. /*! \return The baseline value in the second channel. */ double GetAPBase() const { return APBase; } //! Retrieves the standard deviation of the baseline. /*! \return The standard deviation of the baseline. */ double GetBaseSD() const { return baseSD; } //! Retrieves the value at which the threshold slope is crossed. /*! \return The standard deviation of the baseline. */ double GetThreshold() const { return threshold; } //! Retrieves the time point at which the peak is found. /*! \return The time point at which the peak is found, expressed in units of data points. */ double GetMaxT() const { return maxT; } //! Retrieves the time point at which the threshold slope is crossed. /*! \return The time point at which the threshold slope is crossed, or * a negative value if the threshold is not attained. */ double GetThrT() const { return thrT; } //! Retrieves the Lo to Hi% rise time. /*! \return The difference between GetTHiReal() and GetTLoReal(), expressed in units o data points. */ double GetRTLoHi() const { return rtLoHi; } //! Retrieves the inner rise time. /*! expressed in units o data points. */ double GetInnerRiseTime() const { return (InnerHiRT-InnerLoRT); } //! Retrieves the outer rise time. /*! expressed in units o data points. */ double GetOuterRiseTime() const { return (OuterHiRT-OuterLoRT); } //! Retrieves the full width at half-maximal amplitude ("half duration"). /*! \return The difference between GetT50RightReal() and GetT50LeftReal(), expressed in units of data points. */ double GetHalfDuration() const { return halfDuration; } //! Retrieves ratio of the maximal slopes during the rising and decaying phase. /*! \return The ratio of GetMaxRise() and GetMaxDecay(). */ double GetSlopeRatio() const { return slopeRatio; } //! Retrieves lower factor (e.g 20) for the rise time calculation. /*! \return lower factor value for rise time calculation expressed in percentage (e.g 20). */ int GetRTFactor() const { return RTFactor; } #ifdef WITH_PSLOPE //! Retrieves the value of the Slope /*! \return slope value in y-units/x-units. */ double GetPSlope() const { return PSlope; } #endif //! Retrieves the mode of the latency start cursor. /*! \return The current mode of the latency start cursor. */ stf::latency_mode GetLatencyStartMode() const { return latencyStartMode; } //! Retrieves the mode of the latency end cursor. /*! \return The current mode of the latency end cursor. */ stf::latency_mode GetLatencyEndMode() const { return latencyEndMode; } //! Retrieves the mode of the latency window. /*! \return The current mode of the latency window. */ stf::latency_window_mode GetLatencyWindowMode() const { return latencyWindowMode; } //! Retrieves the direction of peak calculations. /*! \return The current direction of peak calculations. */ stfnum::direction GetDirection() const { return direction; } #ifdef WITH_PSLOPE //! Retrieves the mode of the left PSlope cursor. /*! \return The current mode of the left PSlope cursor. */ stf::pslope_mode_beg GetPSlopeBegMode() const { return pslopeBegMode; } //! Retrieves the mode of the right PSlope cursor. /*! \return The current mode of the right PSlope cursor. */ stf::pslope_mode_end GetPSlopeEndMode() const { return pslopeEndMode; } #endif // WITH_PSLOPE //! Indicates whether to use the baseline as a reference for AP kinetics. /*! \return true if the baseline should be used, false if the threshold should be used. */ bool GetFromBase() const { return fromBase; } //! Indicates whether the measurement cursor (crosshair) value should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewCrosshair() const { return viewCrosshair; } //! Indicates whether the baseline value should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewBaseline() const { return viewBaseline; } //! Indicates whether the baseline's standard deviation should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewBaseSD() const { return viewBaseSD; } //! Indicates whether the threshold should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewThreshold() const { return viewThreshold; } //! Indicates whether the peak value (measured from zero) should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewPeakZero() const { return viewPeakzero; } //! Indicates whether the peak value (measured from baseline) should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewPeakBase() const { return viewPeakbase; } //! Indicates whether the peak value (measured from threshold) should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewPeakThreshold() const { return viewPeakthreshold; } //! Indicates whether the Lo to Hi% rise time should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewRTLoHi() const { return viewRTLoHi; } //! Indicates whether the inner rise time should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewInnerRiseTime() const { return viewInnerRiseTime; } //! Indicates whether the outer rise time should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewOuterRiseTime() const { return viewOuterRiseTime; } //! Indicates whether the half duration should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewT50() const { return viewT50; } //! Indicates whether the ratio of the maximal slopes during rise and decay should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewRD() const { return viewRD; } //! Indicates whether the maximal slope during the rising phase should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewSlopeRise() const { return viewSloperise; } //! Indicates whether the maximal slope during the decaying phase should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewSlopeDecay() const { return viewSlopedecay; } //! Indicates whether the latency should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewLatency() const { return viewLatency; } #ifdef WITH_PSLOPE //! Indicates whether the Slope should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewPSlope() const { return viewPSlope; } #endif //! Indicates whether two additional rows showing the positions of start and end cursors should be shown in the results table. /*! \return true if it should be shown, false otherwise. */ bool GetViewCursors() const { return viewCursors; } //! Returns the slope for threshold detection. /*! \return The slope value for threshold detection. */ double GetSlopeForThreshold() const { return slopeForThreshold; } //! Returns the current zoom settings for this channel (read-only). /*! \return The current zoom settings. */ const XZoom& GetXZoom() { return xzoom; } //! Returns the current zoom settings for this channel (read & write). /*! \return The current zoom settings. */ XZoom& GetXZoomW() { return xzoom; } //! Returns the current zoom settings for this channel (read-only). /*! \return The current zoom settings. */ const YZoom& GetYZoom(int ch) { return yzoom.at(ch); } //! Returns the current zoom settings for this channel (read & write). /*! \return The current zoom settings. */ YZoom& GetYZoomW(int ch) { return yzoom.at(ch); } //! Sets the position of the measurement cursor (crosshair). /*! \param value The index of the measurement cursor within the current section. */ void SetMeasCursor(int value); //! Sets whether the measurement cursor (crosshair) should be visible. /*! \param value is true if the ruler will be visible, false otherwirse.. */ void SetMeasRuler(bool value) { ShowRuler = value; } //! Retrieves whether the measurement cursor (crosshair) is visible. /*! \param true if the ruler is visible, false otherwirse.. */ bool GetMeasRuler() const { return ShowRuler;} //! Sets the method to compute the baseline. /*! \param value The new method to calculate the baseline. */ void SetBaselineMethod(stfnum::baseline_method value) { baselineMethod = value; } //! Sets the position of the left baseline cursor. /*! \param value The index of the left baseline cursor within the current section. */ void SetBaseBeg(int value); //! Sets the position of the right baseline cursor /*! \param value The index of the left baseline cursor within the current section. */ void SetBaseEnd(int value); //! Sets the position of the left peak cursor. /*! \param value The index of the left peak cursor within the current section. */ void SetPeakBeg(int value); //! Sets the position of the right peak cursor. /*! \param value The index of the right peak cursor within the current section. */ void SetPeakEnd(int value); //! Sets the position of the left fitting cursor. /*! \param value The index of the left fitting cursor within the current section. */ void SetFitBeg(int value); //! Sets the position of the right fitting cursor. /*! \param value The index of the right fitting cursor within the current section. */ void SetFitEnd(int value); //! Sets the position of the left latency cursor. /*! \param value The index of the left latency cursor within the current section. Note that by contrast * to the other cursors, this is a double because the latency cursor may be set to an interpolated * position between two data points. */ void SetLatencyBeg(double value); //! Sets the position of the right latency cursor. /*! \param value The index of the right latency cursor within the current section. Note that by contrast * to the other cursors, this is a double because the latency cursor may be set to an interpolated * position between two data points. */ void SetLatencyEnd(double value); //! Sets the latency. /*! \param value The latency, expressed in units of data points. */ void SetLatency(double value) { latency=value; } #ifdef WITH_PSLOPE //! Sets the position of the left PSlope cursor. /*! \param value The index of the left PSlope cursor within the current section. */ void SetPSlopeBeg(int value); //! Sets the position of the right PSlope cursor. /*! \param value The index of the right PSlope cursor within the current section. */ void SetPSlopeEnd(int value); //! Sets the PSlope. /*! \param value The slope, expressed in y-units/x-units. */ void SetPSlope(double value) { PSlope=value; } //! Set the position mode of the left PSlope cursor. /*! \param value The new mode of the left PSlope cursor. */ void SetPSlopeBegMode(stf::pslope_mode_beg value) { pslopeBegMode=value; } //! Set the position mode of the right PSlope cursor. /*! \param value The new mode of the right PSlope cursor. */ void SetPSlopeEndMode(stf::pslope_mode_end value) { pslopeEndMode=value; } //! Sets the number of points used for the distance from the first cursor. /*! \param value The number of points to be used. */ void SetDeltaT(int value) { DeltaT=value; } #endif // WITH_PSLOPE //! Sets the number of points used for averaging during peak calculation. /*! \param value The number of points to be used. */ void SetPM(int value) { pM=value; } //! Sets the lower value (e.g 20) to calculate the rise time. /*! \param value The lower percentage (e.g 20) to be used to c calculate the rise time. */ void SetRTFactor(int value); //! Sets the mode of the latency start cursor. /*! \param value The new mode of the latency start cursor. */ void SetLatencyStartMode(stf::latency_mode value) { latencyStartMode=value; } //! Sets the mode of the latency end cursor. /*! \param value The new mode of the latency end cursor. */ void SetLatencyEndMode(stf::latency_mode value) { latencyEndMode=value; } //! Sets the mode of the latency end cursor. /*! \param value The new mode of the latency end cursor.. */ void SetLatencyWindowMode(stf::latency_window_mode value) { latencyWindowMode=value; } //! Sets the mode of the latency start cursor. /*! \param value The new mode of the latency start cursor.. */ void SetLatencyStartMode(int value); //! Sets the mode of the latency end cursor. /*! \param value The new mode of the latency end cursor.. */ void SetLatencyEndMode(int value); //! Sets the mode of the latency end cursor. /*! \param value The new mode of the latency end cursor.. */ void SetLatencyWindowMode(int value); //! Sets the direction of peak calculations. /*! \param value The new direction of peak calculations. */ void SetDirection(stfnum::direction value) { direction=value; } //! Sets the reference for AP kinetics measurements. /*! \param frombase true if the baseline should be used, false if the threshold should be used. */ void SetFromBase(bool frombase) { fromBase = frombase; } //! Determines whether the measurement cursor (crosshair) value should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewCrosshair(bool value) { viewCrosshair=value; } //! Determines whether the baseline value should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewBaseline(bool value) { viewBaseline=value; } //! Determines whether the baseline's standard deviation should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewBaseSD(bool value) { viewBaseSD=value; } //! Determines whether the threshold should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewThreshold(bool value) { viewThreshold=value; } //! Determines whether the peak value (measured from zero) should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewPeakZero(bool value) { viewPeakzero=value; } //! Determines whether the peak value (measured from baseline) should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewPeakBase(bool value) { viewPeakbase=value; } //! Determines whether the peak value (measured from threshold) should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewPeakThreshold(bool value) { viewPeakthreshold=value; } //! Determines whether the Lo to Hi% rise time should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewRTLoHi(bool value) { viewRTLoHi=value; } //! Determines whether the inner rise time should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewInnerRiseTime(bool value) { viewInnerRiseTime=value; } //! Determines whether the outer rise time should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewOuterRiseTime(bool value) { viewOuterRiseTime=value; } //! Determines whether the half duration should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewT50(bool value) { viewT50=value; } //! Determines whether the ratio of the maximal slopes during rise and decay should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewRD(bool value) { viewRD=value; } //! Determines whether the maximal slope during the rising phase should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewSlopeRise(bool value) { viewSloperise=value; } //! Determines whether the maximal slope during the decaying phase should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewSlopeDecay(bool value) { viewSlopedecay=value; } //! Determines whether the latency should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewLatency(bool value) { viewLatency=value; } #ifdef WITH_PSLOPE //! Determines whether the slope should be shown in the results table. /*! \param value Set to true if it should be shown, false otherwise. */ void SetViewPSlope(bool value) { viewPSlope=value; } #endif //! Determines whether two additional rows showing the positions of start and end cursors should be shown in the results table. /*! \param value Set to true if they should be shown, false otherwise. */ void SetViewCursors(bool value) { viewCursors=value; } //! Sets the slope where the baseline should be set. /*! \param value The slope value where the baseline shoudl be set. */ void SetSlopeForThreshold(double value) { slopeForThreshold=value; } //! Put the current trace into a text table. stfnum::Table CurAsTable() const; //! Copies the cursor positions from another Recording to this Recording. /*! This will copy the crosshair, base, peak and fit cursors positions as * well as the number of points for peak averaging from another Recording * and correct the new values if they are out of range. The latency cursors * will not be copied. * \param c_Recording The Recording from which to copy the cursor positions. */ void CopyCursors(const wxStfDoc& c_Recording); //! Resize the Recording to a new number of channels. /*! Resizes both the channel and the global y units arrays. * \param c_n_channels The new number of channels. */ virtual void resize(std::size_t c_n_channels); //! Insert a Channel at a given position. /*! Will throw std::out_of_range if range check fails. * \param c_Channel The Channel to be inserted. * \param pos The position at which to insert the channel (0-based). */ virtual void InsertChannel(Channel& c_Channel, std::size_t pos); const stf::SectionAttributes& GetSectionAttributes(std::size_t nchannel, std::size_t nsection) const; const stf::SectionAttributes& GetCurrentSectionAttributes() const; stf::SectionAttributes& GetCurrentSectionAttributesW(); //! Deletes the current fit, sets isFitted to false; void DeleteFit(std::size_t nchannel, std::size_t nsection); //! Sets the best-fit parameters when a fit has been performed on this section. /*! \param bestFitP_ The best-fit parameters \param fitFunc_ The function used for fitting \param chisqr The sum of squared errors \param fitBeg Sampling point index where the fit starts \param fitEnd Sampling point index where the fit ends */ void SetIsFitted( std::size_t nchannel, std::size_t nsection, const Vector_double& bestFitP_, stfnum::storedFunc* fitFunc_, double chisqr, std::size_t fitBeg, std::size_t fitEnd ); //! Determines whether an integral has been calculated in this section. /*! \return true if an integral has been calculated, false otherwise. */ void SetIsIntegrated(std::size_t nchannel, std::size_t nsection, bool value, std::size_t begin, std::size_t end, const Vector_double& quad_p_); //! Erases all events. void ClearEvents(std::size_t nchannel, std::size_t nsection); void correctRangeR(int& value); void correctRangeR(std::size_t& value); DECLARE_EVENT_TABLE() }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/view.cpp0000755000175200017520000001071412277666257015024 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // view.cpp // Derived from wxView to satisfy the doc/view architecture. // Doesn't do a lot in stimfit. // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "wx/filename.h" #if !wxUSE_DOC_VIEW_ARCHITECTURE #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! #endif #include "./app.h" #include "./doc.h" #include "./view.h" #include "./parentframe.h" #include "./childframe.h" #include "./graph.h" #include "./dlgs/cursorsdlg.h" IMPLEMENT_DYNAMIC_CLASS(wxStfView, wxView) BEGIN_EVENT_TABLE(wxStfView, wxView) END_EVENT_TABLE() extern wxStfParentFrame* frame; wxStfView::wxStfView() : graph((wxStfGraph *) NULL), childFrame((wxStfChildFrame *) NULL) { } // What to do when a view is created. Creates actual // windows for displaying the view. bool wxStfView::OnCreate(wxDocument *doc, long WXUNUSED(flags) ) { childFrame = wxGetApp().CreateChildFrame(doc, this); if (childFrame==NULL) { return false; } // extract file name: wxFileName fn(doc->GetFilename()); childFrame->SetTitle(fn.GetName()); graph = GetMainFrame()->CreateGraph(this, childFrame); if (graph==NULL) { return false; } childFrame->GetMgr()->AddPane( graph, wxAuiPaneInfo().Caption(wxT("Traces")).Name(wxT("Traces")).CaptionVisible(true). CloseButton(false).Centre().PaneBorder(true) ); childFrame->GetMgr()->Update(); // childFrame->ActivateGraph(); #if defined(__X__) || defined(__WXMAC__) // X seems to require a forced resize // childFrame->SetClientSize(800,600); #endif childFrame->Show(true); Activate(true); return true; } wxStfDoc* wxStfView::Doc() { return (wxStfDoc*)GetDocument(); } wxStfDoc* wxStfView::DocC() const { return (wxStfDoc*)GetDocument(); } // Sneakily gets used for default print/preview // as well as drawing on the screen. void wxStfView::OnDraw(wxDC *WXUNUSED(pDC)) { } void wxStfView::OnUpdate(wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint)) { if (graph) { graph->Refresh(); } } // Clean up windows used for displaying the view. bool wxStfView::OnClose(bool deleteWindow) { if ( !GetDocument()->Close() ) return false; Activate(false); if ( deleteWindow ) wxDELETE(childFrame); SetFrame(NULL); return true; } void wxStfView::OnActivateView(bool activate, wxView *activeView, wxView *deactiveView) { //this function will be called whenever the view is activated if (activeView!=NULL) { wxStfDoc *pDoc = ((wxStfView*)activeView)->Doc(); if (pDoc) { if (wxGetApp().GetCursorsDialog()!=NULL && wxGetApp().GetCursorsDialog()->IsShown()) { wxGetApp().GetCursorsDialog()->SetActiveDoc(Doc()); try { wxGetApp().GetCursorsDialog()->UpdateCursors(); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } // Update menu checks: // pDoc->UpdateMenuCheckmarks(); pDoc->UpdateSelectedButton(); if (frame!=NULL) frame->SetSingleChannel(pDoc->size()<2); } #ifdef __WXGTK__ wxStfGraph *pGraph = ((wxStfView*)activeView)->GetGraph(); if (pGraph) pGraph->SetFocus(); #endif } // wxGetApp().SetActiveDoc(Doc()); wxView::OnActivateView(activate,activeView,deactiveView); } stimfit-0.14.11/src/stimfit/gui/stfcheckbox.h0000755000175200017520000000440412277666257016021 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file stfcheckbox.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfCheckBox. Derived from wxCheckBox. */ #ifndef _STFCHECKBOX_H #define _STFCHECKBOX_H /*! \addtogroup wxstf * @{ */ //! A checkbox used to select or unselect detected events. /*! Toggles the stf::Event status, and forwards keyboard input to the graph.*/ class wxStfCheckBox : public wxCheckBox { DECLARE_CLASS(wxStfCheckBox) public: //! Constructor /*! \param parent Pointer to the parent window. * \param id Window id. * \param label The checkbox label. * \param pEvent The event attached to this checkbox. * \param pos Initial checkbox position. * \param size Initial checkbox size. * \param style Checkbox style. * \param validator Checkbox validator. * \param name Name of this grid. */ wxStfCheckBox( wxWindow *parent, wxWindowID id, const wxString& label, stf::Event* pEvent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxCheckBoxNameStr ); //! Resets the pointer to the attached event /*! \param pEvent The pointer to the new event */ void ResetEvent( stf::Event* pEvent ) { m_pEvent = pEvent; SetValue( !pEvent->GetDiscard() );} private: void OnKeyDown(wxKeyEvent& event); void OnStfClicked(wxMouseEvent& event); stf::Event* m_pEvent; DECLARE_EVENT_TABLE() }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/parentframe.h0000755000175200017520000002220512556527764016020 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file parentframe.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfParentFrame. */ #ifndef _PARENTFRAME_H #define _PARENTFRAME_H /*! \addtogroup wxstf * @{ */ #include #include #include #include "./../stf.h" class wxStfGraph; class wxStfTable; class wxStfGrid; class wxStfFileDrop; class wxProgressDialog; //! child frame type; depends on whether aui is used for the doc/view interface #ifdef WITH_AUIDOCVIEW typedef wxAuiDocMDIChildFrame wxStfChildType; #else typedef wxDocMDIChildFrame wxStfChildType; #endif //! parent frame type; depends on whether aui is used for the doc/view interface #ifdef WITH_AUIDOCVIEW typedef wxAuiDocMDIParentFrame wxStfParentType; #else typedef wxDocMDIParentFrame wxStfParentType; #endif typedef wxAuiToolBar wxStfToolBar; #ifdef WITH_PYTHON struct new_wxwindow { new_wxwindow(wxWindow* cppW=NULL, PyObject* pyW=NULL) : cppWindow(cppW), pyWindow(pyW) {} wxWindow* cppWindow; PyObject* pyWindow; }; #else struct new_wxwindow { new_wxwindow(wxWindow* cppW=NULL, void* pyW=NULL) : cppWindow(cppW), pyWindow(pyW) {} wxWindow* cppWindow; void* pyWindow; }; #endif //! Provides the top-level frame. /*! It is part of the of the document/view framework implemented in wxWidgets. * This class can only be used for MDI parent frames. */ class StfDll wxStfParentFrame : public wxStfParentType { DECLARE_CLASS(wxStfParentFrame) public: //! Constructor /*! \param manager Pointer to the document manager. * \param frame Pointer to the parent frame (should be NULL, because this is * the top-level frame * \param title Title of this frame. * \param pos Initial position of this frame. * \param size Initial size of this frame. * \param style Window style. */ wxStfParentFrame(wxDocManager *manager, wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, long style); //! Destructor ~wxStfParentFrame(); //! Shows the "About" dialog. /*! \param event The menu event that made the call. */ void OnAbout(wxCommandEvent& event); //! Creates a new graph. /*! Called from view.cpp when a new drawing view is created. * \param view Pointer to the attached view. * \param parent Pointer to the child frame that will serve as a parent for the new graph. * \return A pointer to the newly created graph. */ wxStfGraph *CreateGraph(wxView *view, wxStfChildFrame *parent); //! Retrieve the current mouse mode. /*! \return The current mouse cursor mode. */ stf::cursor_type GetMouseQual() const; //! Sets the current mouse cursor mode. /*! \param value The new mouse cursor mode. */ void SetMouseQual(stf::cursor_type value); //! Sets status of the toolbar's selection button. /*! \param selected The desired toggle status of the selection button. */ void SetSelectedButton(bool selected); //! Retrieve which channels will be affected by scaling operations /*! \return The channels affected by scaling operations. */ stf::zoom_channels GetZoomQual() const; //! Set the channels that will be affected by scaling operations /*! \param value The channels affected by scaling operations. */ void SetZoomQual(stf::zoom_channels value); //! Set the zoom buttons to single- or multi-channel mode. /*! \param value Set to true for single- or false for multi-channel mode. */ void SetSingleChannel(bool value); //! Retrieves the print data /*! \return Pointer to the stored print data. */ wxPrintData* GetPrintData() { return m_printData.get(); } //! Retrieves the page setup /*! \return Pointer to the page setup data. */ wxPageSetupDialogData* GetPageSetup() { return m_pageSetupData.get(); } //! Retrieve the wxAuiManager. /*! \return A reference to the wxAuiManager. */ wxAuiManager& GetMgr() { return m_mgr; } //! Checks for updates. /*! \param progDlg An optional progress dialog */ void CheckUpdate( wxProgressDialog* progDlg=NULL ) const; new_wxwindow MakePythonWindow(const std::string& windowFunc, const std::string& mgr_name="pythonShell", const std::string& caption="Python Shell", bool show=true, bool full=false, bool isfloat=true, int width=-1, int height=-1, double mpl_width=8.0, double mpl_height=6.0); int GetMplFigNo() {return mpl_figno++;} private: wxAuiManager m_mgr; wxStfToolBar *m_cursorToolBar, *m_scaleToolBar; wxStfFileDrop* m_drop; #ifdef WITH_PYTHON wxString python_code2; // python import code void RedirectStdio(); #endif #if (__cplusplus < 201103) // print data, to remember settings during the session boost::shared_ptr m_printData; // page setup data boost::shared_ptr m_pageSetupData; #else // print data, to remember settings during the session std::shared_ptr m_printData; // page setup data std::shared_ptr m_pageSetupData; #endif bool firstResize; int mpl_figno; wxStfToolBar* CreateStdTb(); wxStfToolBar* CreateScaleTb(); wxStfToolBar* CreateEditTb(); wxStfToolBar* CreateCursorTb(); void OnHelp(wxCommandEvent& event); void OnCheckUpdate(wxCommandEvent& event); void OnToggleSelect(wxCommandEvent& event); void OnToolFirst(wxCommandEvent& event); void OnToolNext(wxCommandEvent& event); void OnToolPrevious(wxCommandEvent& event); void OnToolLast(wxCommandEvent& event); void OnToolXenl(wxCommandEvent& event); void OnToolXshrink(wxCommandEvent& event); void OnToolYenl(wxCommandEvent& event); void OnToolYshrink(wxCommandEvent& event); void OnToolUp(wxCommandEvent& event); void OnToolDown(wxCommandEvent& event); void OnToolFit(wxCommandEvent& event); void OnToolLeft(wxCommandEvent& event); void OnToolRight(wxCommandEvent& event); void OnToolCh1(wxCommandEvent& event); void OnToolCh2(wxCommandEvent& event); void OnToolSnapshotwmf(wxCommandEvent& event); void OnToolMeasure(wxCommandEvent& event); void OnToolPeak(wxCommandEvent& event); void OnToolBase(wxCommandEvent& event); void OnToolDecay(wxCommandEvent& event); void OnToolLatency(wxCommandEvent& event); void OnToolZoom(wxCommandEvent& event); void OnToolEvent(wxCommandEvent& event); #ifdef WITH_PSLOPE void OnToolPSlope(wxCommandEvent& event); #endif // void OnSwapChannels(wxCommandEvent& event); void OnCh2base(wxCommandEvent& event); void OnCh2pos(wxCommandEvent& event); void OnCh2zoom(wxCommandEvent& event); void OnCh2basezoom(wxCommandEvent& event); void OnAverage(wxCommandEvent& event); void OnAlignedAverage(wxCommandEvent& event); void OnExportfile(wxCommandEvent& event); void OnExportatf(wxCommandEvent& event); void OnExportigor(wxCommandEvent& event); void OnExporthdf5(wxCommandEvent& event); void OnConvert(wxCommandEvent& event); void OnPrint(wxCommandEvent& event); void OnScale(wxCommandEvent& event); void OnMpl(wxCommandEvent& event); void OnMplSpectrum(wxCommandEvent& event); void OnPageSetup(wxCommandEvent& event); void OnViewResults(wxCommandEvent& event); void OnSaveperspective(wxCommandEvent& event); void OnLoadperspective(wxCommandEvent& event); void OnRestoreperspective(wxCommandEvent& event); #ifdef WITH_PYTHON void OnViewshell(wxCommandEvent& event); void OnUserdef(wxCommandEvent& event); #endif void OnLStartMaxslope(wxCommandEvent& event); void OnLStartHalfrise(wxCommandEvent& event); void OnLStartPeak(wxCommandEvent& event); void OnLStartManual(wxCommandEvent& event); void OnLEndFoot(wxCommandEvent& event); void OnLEndMaxslope(wxCommandEvent& event); void OnLEndHalfrise(wxCommandEvent& event); void OnLEndPeak(wxCommandEvent& event); void OnLEndManual(wxCommandEvent& event); void OnLWindow(wxCommandEvent& event); DECLARE_EVENT_TABLE() }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/table.cpp0000755000175200017520000000560712277666257015146 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // table.cpp // Table entries for spreadsheets in wxStfGrid. // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "wx/grid.h" #include "./table.h" bool wxStfTable::IsEmptyCell( int row, int col ) { try { if (row==0 && col>=1) { return table.GetColLabel(col-1) == "\0"; } else if (col==0 && row>=1) { return table.GetRowLabel(row-1) == "\0"; } else if (col!=0 && row!=0) { return table.IsEmpty(row-1,col-1); } else { return true; } } catch (const std::out_of_range&) { return true; } } wxString wxStfTable::GetValue( int row, int col ) { try { if (row==0 && col>=1) { return stf::std2wx(table.GetColLabel(col-1)); } else if (col==0 && row>=1) { return stf::std2wx(table.GetRowLabel(row-1)); } else if (col!=0 && row!=0) { if (table.IsEmpty(row-1,col-1)) return wxT("\0"); wxString strVal; strVal << table.at(row-1,col-1); return strVal; } else { return wxT("\0"); } } catch (const std::out_of_range&) { return wxT("\0"); } } void wxStfTable::SetValue( int row, int col, const wxString& value ) { try { if (row==0 && col>=1) { return table.SetColLabel(col-1, stf::wx2std(value)); } else if (col==0 && row>=1) { return table.SetRowLabel(row-1, stf::wx2std(value)); } else if (col!=0 && row!=0) { wxString strVal; strVal << value; double in=0.0; strVal.ToDouble(&in); table.at(row-1,col-1)=in; } else { return; } } catch (const std::out_of_range&) { return; } } wxString wxStfTable::GetSelection(const wxGridCellCoordsArray& selection) { wxString ret(wxT("\0")); for (std::size_t n_sel=0;n_sel #ifndef WX_PRECOMP #include "wx/wx.h" #endif // WX_PRECOMP #ifdef _POSIX_C_SOURCE #define _POSIX_C_SOURCE_WAS_DEF #undef _POSIX_C_SOURCE #endif #ifdef _XOPEN_SOURCE #define _XOPEN_SOURCE_WAS_DEF #undef _XOPEN_SOURCE #endif #include #ifdef _POSIX_C_SOURCE_WAS_DEF #ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE #endif #endif #ifdef _XOPEN_SOURCE_WAS_DEF #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE #endif #endif #if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic ignored "-Wwrite-strings" #endif #if PY_MAJOR_VERSION >= 3 #include #define PyString_Check PyBytes_Check #define PyString_AsString PyBytes_AsString #else #include #endif // revert to previous behaviour #if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic warning "-Wwrite-strings" #endif #include "./app.h" #include "./parentframe.h" int stf::Extension::n_extensions = 0; #if defined(__WXMAC__) || defined (__WXGTK__) #include wxString GetExecutablePath() { return wxStandardPaths::Get( ).GetExecutablePath(); } #endif // __WXMAC__ || __WXGTK__ #ifdef _WINDOWS #include #include wxString GetExecutablePath() { HKEY keyHandle; if( RegOpenKeyEx( HKEY_CURRENT_USER, wxT("Software\\Stimfit 0.14"), 0, KEY_QUERY_VALUE, &keyHandle) == ERROR_SUCCESS) { DWORD BufferSize = 8192; DWORD cbData = BufferSize; wxCharTypeBuffer data( BufferSize ); DWORD dwRet = RegQueryValueEx( keyHandle, TEXT("InstallLocation"), NULL, NULL, (LPBYTE) data.data(), &cbData ); while( dwRet == ERROR_MORE_DATA ) { // Get a buffer that is big enough. BufferSize += 4096; data.extend( BufferSize ); cbData = BufferSize; dwRet = RegQueryValueEx( keyHandle, TEXT("InstallLocation"), NULL, NULL, (LPBYTE) data.data(), &cbData ); } if( dwRet == ERROR_SUCCESS ) { RegCloseKey(keyHandle); return wxString( data ); } else { // wxGetApp().ErrorMsg( wxT("Couldn't read registry key for Stimfit") ); return wxT(""); } } else { // wxGetApp().ErrorMsg( wxT("Couldn't open registry key for Stimfit") ); return wxT(""); } } #endif // _WINDOWS bool wxStfApp::Init_wxPython() { // Initialize the Python interpreter Py_Initialize(); PyEval_InitThreads(); wxString cwd; #ifdef __WXMAC__ // Add the cwd to the present path: wxString app_path = wxFileName( GetExecutablePath() ).GetPath(); cwd << wxT("import os\n"); cwd << wxT("cwd=\"") << app_path << wxT("/../Frameworks\"\n"); cwd << wxT("import sys\n"); cwd << wxT("sys.path.append(cwd)\n"); cwd << wxT("cwd=\"") << app_path << wxT("/../Frameworks/stimfit\"\n"); cwd << wxT("sys.path.append(cwd)\n"); // cwd << wxT("cwd=\"") << app_path << wxT("/../Frameworks/numpy\"\n"); // cwd << wxT("sys.path.insert(0,cwd)\n"); #ifdef _STFDEBUG cwd << wxT("print(sys.path)\n"); cwd << wxT("import numpy\n"); cwd << wxT("print(numpy.version.version)\n"); #endif // _STFDEBUG #endif // __WXMAC__ #ifdef __WXGTK__ // Add the cwd to the present path: wxString app_path = wxFileName( GetExecutablePath() ).GetPath(); cwd << wxT("import os\n"); cwd << wxT("cwd=\"") << app_path << wxT("/../lib/stimfit\"\n"); cwd << wxT("import sys\n"); cwd << wxT("sys.path.append(cwd)\n"); #ifdef _STFDEBUG cwd << wxT("print(sys.path)\n"); cwd << wxT("import numpy\n"); cwd << wxT("print(numpy.version.version)\n"); #endif // _STFDEBUG #endif // __WXGTK__ #ifdef _WINDOWS // Add the cwd to the present path: wxString app_path = GetExecutablePath().BeforeFirst( wxUniChar('\0') ); cwd << wxT("cwd = \"") << app_path << wxT("\\wx-3.0-msw\"\nimport sys\nsys.path.insert(0,cwd)\n"); cwd << wxT("cwd = \"") << app_path << wxT("\\stf-site-packages\"\nsys.path.insert(0,cwd)\n"); cwd << wxT("cwd = \"") << app_path << wxT("\"\nsys.path.insert(0,cwd)\n"); #endif int cwd_result = PyRun_SimpleString(cwd.utf8_str()); if (cwd_result!=0) { PyErr_Print(); ErrorMsg( wxT("Couldn't modify Python path") ); Py_Finalize(); return false; } // Load the wxPython core API. Imports the wx._core_ module and sets a // local pointer to a function table located there. The pointer is used // internally by the rest of the API functions. #if PY_MAJOR_VERSION < 3 // Specify version of the wx module to be imported PyObject* wxversion = PyImport_ImportModule("wxversion"); if (wxversion==NULL) { PyErr_Print(); ErrorMsg( wxT("Couldn't import wxversion") ); Py_Finalize(); return false; } PyObject* wxselect = PyObject_GetAttrString(wxversion, "select"); Py_DECREF(wxversion); if (!PyCallable_Check(wxselect)) { PyErr_Print(); ErrorMsg( wxT("Couldn't select correct version of wx") ); Py_Finalize(); return false; } #if wxCHECK_VERSION(3, 0, 0) PyObject* ver_string = Py_BuildValue("ss","3.0",""); #elif wxCHECK_VERSION(2, 9, 0) PyObject* ver_string = Py_BuildValue("ss","2.9",""); #else PyObject* ver_string = Py_BuildValue("ss","2.8",""); #endif PyObject* result = PyEval_CallObject(wxselect, ver_string); Py_DECREF(ver_string); if (result == NULL) { PyErr_Print(); ErrorMsg( wxT("Couldn't call wxversion.select") ); Py_Finalize(); return false; } #endif // < python 3 #if 0 // wxversion.select doesn't return an error code, but raises an exception long iresult = PyInt_AsLong(result); Py_DECREF(result); if (iresult == 0) { PyErr_Print(); ErrorMsg( wxT("Couldn't select correct version of wx") ); Py_Finalize(); return false; } #endif #if PY_MAJOR_VERSION >= 3 if (wxPyGetAPIPtr()==NULL) { #else if ( ! wxPyCoreAPI_IMPORT() ) { #endif PyErr_Print(); wxString errormsg; errormsg << wxT("Couldn't load wxPython core API.\n"); #ifdef _WINDOWS errormsg << wxT("Try the following steps:\n"); errormsg << wxT("1.\tUninstall a previous Stimfit installation\n"); errormsg << wxT("\t(Control Panel->Software)\n"); errormsg << wxT("2.\tUninstall a previous wxPython installation\n"); errormsg << wxT("\t(Control Panel->Software)\n"); errormsg << wxT("3.\tUninstall a previous Python 2.5 installation\n"); errormsg << wxT("\t(Control Panel->Software)\n"); errormsg << wxT("4.\tSet the current working directory\n"); errormsg << wxT("\tto the program directory so that all shared\n"); errormsg << wxT("\tlibraries can be found.\n"); errormsg << wxT("\tIf you used a shortcut, right-click on it,\n"); errormsg << wxT("\tchoose \"Properties\", select the \"Shortcut\"\n"); errormsg << wxT("\ttab, then set \"Run in...\" to the stimfit program\n"); errormsg << wxT("\tdirectory (typically C:\\Program Files\\Stimfit).\n"); errormsg << wxT("\tIf you started stimfit from the command line, you\n"); errormsg << wxT("\thave to set the current working directory using the\n"); errormsg << wxT("\t\"/d\" option (e.g. /d=C:\\Program Files\\Stimfit)\n"); #endif // _WINDOWS ErrorMsg( errormsg ); Py_Finalize(); #if PY_MAJOR_VERSION < 3 Py_DECREF(result); #endif return false; } // Save the current Python thread state and release the // Global Interpreter Lock. m_mainTState = wxPyBeginAllowThreads(); #ifdef IPYTHON // Set a dummy sys.argv for IPython wxPyBlock_t blocked = wxPyBeginBlockThreads(); char* argv = (char *)"\0"; PySys_SetArgv(1, &argv); wxPyEndBlockThreads(blocked); #endif return true; } void wxStfApp::ImportPython(const wxString &modulelocation) { // Get path and filename from modulelocation wxString python_path = wxFileName(modulelocation).GetPath(); wxString python_file = wxFileName(modulelocation).GetName(); // Grab the Global Interpreter Lock. wxPyBlock_t blocked = wxPyBeginBlockThreads(); wxString python_import; #ifdef IPYTHON // the ip object is created to access the interactive IPython session python_import << wxT("import IPython.ipapi\n"); python_import << wxT("ip = IPython.ipapi.get()\n"); python_import << wxT("import sys\n"); python_import << wxT("sys.path.append(\"") << python_path << wxT("\")\n"); python_import << wxT("if not sys.modules.has_key(\"") << python_file << wxT("\"):"); python_import << wxT("ip.ex(\"import ") << python_file << wxT("\")\n"); python_import << wxT("else:") << wxT("ip.ex(\"reload(") << python_file << wxT(")") << wxT("\")\n"); python_import << wxT("sys.path.remove(\"") << python_path << wxT("\")\n"); #else // Python code to import a module with PyCrust python_import << wxT("import sys\n"); python_import << wxT("sys.path.append(\"") << python_path << wxT("\")\n"); python_import << wxT("if not sys.modules.has_key(\"") << python_file << wxT("\"):"); python_import << wxT("import ") << python_file << wxT("\n"); python_import << wxT("else:") << wxT("reload(") << python_file << wxT(")") << wxT("\n"); python_import << wxT("sys.path.remove(\"") << python_path << wxT("\")\n"); python_import << wxT("del sys\n"); #endif #if ((wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) && !defined(__WXMAC__)) PyRun_SimpleString(python_import); #else PyRun_SimpleString(python_import.char_str()); #endif // Release the Global Interpreter Lock wxPyEndBlockThreads(blocked); } bool wxStfApp::Exit_wxPython() { wxPyEndAllowThreads(m_mainTState); Py_Finalize(); return true; } void wxStfParentFrame::RedirectStdio() { // This is a helpful little tidbit to help debugging and such. It // redirects Python's stdout and stderr to a window that will popup // only on demand when something is printed, like a traceback. wxString python_redirect; python_redirect = wxT("import sys, wx\n"); python_redirect << wxT("output = wx.PyOnDemandOutputWindow()\n"); python_redirect << wxT("sys.stdin = sys.stderr = output\n"); python_redirect << wxT("del sys, wx\n"); wxPyBlock_t blocked = wxPyBeginBlockThreads(); #if ((wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) && !defined(__WXMAC__)) PyRun_SimpleString(python_redirect); #else PyRun_SimpleString(python_redirect.char_str()); #endif wxPyEndBlockThreads(blocked); } new_wxwindow wxStfParentFrame::MakePythonWindow(const std::string& windowFunc, const std::string& mgr_name, const std::string& caption, bool show, bool full, bool isfloat, int width, int height, double mpl_width, double mpl_height) { // More complex embedded situations will require passing C++ objects to // Python and/or returning objects from Python to be used in C++. This // sample shows one way to do it. NOTE: The above code could just have // easily come from a file, or the whole thing could be in the Python // module that is imported and manipulated directly in this C++ code. See // the Python API for more details. wxWindow *window = NULL; PyObject *result; // As always, first grab the GIL wxPyBlock_t blocked = wxPyBeginBlockThreads(); RedirectStdio(); // Now make a dictionary to serve as the global namespace when the code is // executed. Put a reference to the builtins module in it. (Yes, the // names are supposed to be different, I don't know why...) PyObject* globals = PyDict_New(); #if PY_MAJOR_VERSION >= 3 PyObject* builtins = PyImport_ImportModule("builtins"); #else PyObject* builtins = PyImport_ImportModule("__builtin__"); #endif PyDict_SetItemString(globals, "__builtins__", builtins); Py_DECREF(builtins); // Execute the code to make the makeWindow function result = PyRun_String(python_code2.char_str(), Py_file_input, globals, globals); // Was there an exception? if (! result) { PyErr_Print(); wxGetApp().ErrorMsg(wxT("Couldn't initialize python shell")); wxPyEndBlockThreads(blocked); return NULL; } Py_DECREF(result); // Now there should be an object named 'makeWindow' in the dictionary that // we can grab a pointer to: PyObject* func = NULL; func = PyDict_GetItemString(globals, windowFunc.c_str()); if (!PyCallable_Check(func)) { PyErr_Print(); wxGetApp().ErrorMsg(wxT("Couldn't initialize window for the python shell")); wxPyEndBlockThreads(blocked); return NULL; } // Now build an argument tuple and call the Python function. Notice the // use of another wxPython API to take a wxWindows object and build a // wxPython object that wraps it. #if PY_MAJOR_VERSION >= 3 PyObject* arg = wxPyConstructObject((void*)this, wxT("wxWindow"), false); #else PyObject* arg = wxPyMake_wxObject(this, false); #endif wxASSERT(arg != NULL); PyObject* py_mpl_width = PyFloat_FromDouble(mpl_width); wxASSERT(py_mpl_width != NULL); PyObject* py_mpl_height = PyFloat_FromDouble(mpl_height); wxASSERT(py_mpl_height != NULL); PyObject* figsize = PyTuple_New(2); PyTuple_SET_ITEM(figsize, 0, py_mpl_width); PyTuple_SET_ITEM(figsize, 1, py_mpl_height); PyObject* argtuple = PyTuple_New(2); PyTuple_SET_ITEM(argtuple, 0, arg); PyTuple_SET_ITEM(argtuple, 1, figsize); result = PyEval_CallObject(func, argtuple); Py_DECREF(argtuple); Py_DECREF(py_mpl_width); Py_DECREF(py_mpl_height); Py_DECREF(figsize); // Was there an exception? if (! result) { PyErr_Print(); wxGetApp().ErrorMsg(wxT("Couldn't create window for the python shell")); wxPyEndBlockThreads(blocked); return NULL; } else { // Otherwise, get the returned window out of Python-land and // into C++-ville... #if PY_MAJOR_VERSION >= 3 if (!wxPyConvertWrappedPtr(result, (void**)&window, _T("wxWindow"))) { #else if (!wxPyConvertSwigPtr(result, (void**)&window, _T("wxWindow"))) { #endif PyErr_Print(); wxGetApp().ErrorMsg(wxT("Returned object was not a wxWindow!")); wxPyEndBlockThreads(blocked); return NULL; } Py_DECREF(result); } // Release the python objects we still have Py_DECREF(globals); // Finally, after all Python stuff is done, release the GIL wxPyEndBlockThreads(blocked); if (!full) { if (isfloat) { m_mgr.AddPane( window, wxAuiPaneInfo().Name(stf::std2wx(mgr_name)). CloseButton(true). Show(show).Caption(stf::std2wx(caption)).Float(). BestSize(width, height) ); } else { m_mgr.AddPane( window, wxAuiPaneInfo().Name(stf::std2wx(mgr_name)). CloseButton(true). Show(show).Caption(stf::std2wx(caption)).Dockable(true).Bottom(). BestSize(width, height) ); } } else { m_mgr.AddPane( window, wxAuiPaneInfo().Name(stf::std2wx(mgr_name)). Floatable(false).CaptionVisible(false). BestSize(GetClientSize().GetWidth(),GetClientSize().GetHeight()).Fixed() ); } m_mgr.Update(); return new_wxwindow(window, result); } std::vector wxStfApp::LoadExtensions() { std::vector< stf::Extension > extList; // As always, first grab the GIL wxPyBlock_t blocked = wxPyBeginBlockThreads(); // import extensions.py: PyObject* pModule = PyImport_ImportModule("extensions"); if (!pModule) { PyErr_Print(); #ifdef _STFDEBUG wxGetApp().ErrorMsg(wxT("Couldn't load extensions.py")); #endif wxPyEndBlockThreads(blocked); return extList; } PyObject* pExtList = PyObject_GetAttrString(pModule, "extensionList"); if (!pExtList) { PyErr_Print(); wxGetApp().ErrorMsg(wxT("Couldn't find extensionList in extensions.py")); wxPyEndBlockThreads(blocked); Py_DECREF(pModule); return extList; } if (!PyList_Check(pExtList)) { PyErr_Print(); wxGetApp().ErrorMsg(wxT("extensionList is not a Python list in extensions.py")); wxPyEndBlockThreads(blocked); Py_DECREF(pExtList); Py_DECREF(pModule); return extList; } // retrieve values from list: for (int i=0; i= (int)GetExtensionLib().size() || id<0) { wxString msg(wxT("Couldn't find extension function")); ErrorMsg( msg ); return; } // As always, first grab the GIL wxPyBlock_t blocked = wxPyBeginBlockThreads(); // retrieve function PyObject* pPyFunc = (PyObject*)(GetExtensionLib()[id].pyFunc); // retrieve function name wxString FuncName = stf::std2wx(GetExtensionLib()[id].menuEntry); if (!pPyFunc || !PyCallable_Check(pPyFunc)) { wxString msg(FuncName << wxT(" Couldn't call extension function ")); ErrorMsg( msg ); wxPyEndBlockThreads(blocked); return; } // call function PyObject* res = PyObject_CallObject(pPyFunc, NULL); if (!res) { PyErr_Print(); wxString msg(FuncName << wxT(" call failed")); ErrorMsg( msg ); wxPyEndBlockThreads(blocked); return; } if (res==Py_False) { wxString msg(FuncName << wxT(" returned False")); ErrorMsg( msg ); } Py_XDECREF(res); // Finally, after all Python stuff is done, release the GIL wxPyEndBlockThreads(blocked); } #endif // WITH_PYTHON stimfit-0.14.11/src/stimfit/gui/childframe.h0000755000175200017520000001735212472345762015612 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file childframe.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfChildFrame. */ #ifndef _CHILDFRAME_H #define _CHILDFRAME_H /*! \addtogroup wxstf * @{ */ #include #include #include #include #include "./../stf.h" // Define a new frame class wxStfGraph; class wxStfTable; class wxStfGrid; //! child frame type; depends on whether aui is used for the doc/view interface #ifdef WITH_AUIDOCVIEW typedef wxAuiDocMDIChildFrame wxStfChildType; #else typedef wxDocMDIChildFrame wxStfChildType; #endif //! parent frame type; depends on whether aui is used for the doc/view interface #ifdef WITH_AUIDOCVIEW typedef wxAuiDocMDIParentFrame wxStfParentType; #else typedef wxDocMDIParentFrame wxStfParentType; #endif //! Default perspective string. /*! Can be loaded to restore the default AUI perspective. */ const wxString defaultPersp = wxT("layout2| \ name=Results;caption=Results;state=2044;dir=1;layer=0;row=0;pos=1;prop=167270; \ bestw=200;besth=184;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1| \ name=Selection;caption=Trace selection;state=2044;dir=1;layer=0;row=0;pos=0;prop=32730; \ bestw=128;besth=64;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1| \ name=Traces;caption=Traces;state=18428;dir=5;layer=0;row=0;pos=0;prop=100000; \ bestw=20;besth=20;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1|"); #if wxUSE_DRAG_AND_DROP class wxStfFileDrop : public wxFileDropTarget { protected: virtual bool OnDropFiles(wxCoord x, wxCoord y, const wxArrayString& filenames); }; #endif //! Provides the child frame for displaying documents on separate windows. /*! This class can only be used for MDI child frames. It is part of the document/view * framework supported by wxWidgets. */ class StfDll wxStfChildFrame : public wxStfChildType { DECLARE_CLASS( wxStfChildFrame ) public: //! Constructor /*! \param doc Pointer to the attached document. * \param view Pointer to the attached view. * \param parent Pointer to the parent frame. * \param id Window id. * \param title Window title string. * \param pos Initial window position. * \param size Initial window size. * \param style Window style. * \param name Name of this frame. */ wxStfChildFrame( wxDocument* doc, wxView* view, wxStfParentType* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxPoint(48,48), const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxT("frame") ); //! Destructor ~wxStfChildFrame(); //! Adds a table to the results notebook /*! \param table The table to be added. * \param caption The title of the new table in the notebook. */ void ShowTable(const stfnum::Table& table,const wxString& caption); //! Retrieves the current trace from the trace selection combo box. /*! \return The 0-based index of the currently selected trace. */ std::size_t GetCurTrace() const; //! Sets the current trace from the trace selection combo box. /*! \return The 0-based index of the trace to be selected. */ void SetCurTrace(std::size_t); //! Creates the trace selection menu. /*! \param value The number of traces. */ void CreateMenuTraces(std::size_t value); //! Creates the channel selection combo boxes. /*! \param channelNames The channel names for the combo box drop-down list. */ void CreateComboChannels( const wxArrayString& channelNames ); //! Refreshes the trace selection string. /*! \param value The number of selected traces. */ void SetSelected(std::size_t value); //! Sets the channels in the combo boxes. Checks and corrects equal channels in both boxes. /*! \param act Index of the active channel. * \param inact Index of the reference channel. */ void SetChannels( std::size_t act, std::size_t inact ); //! Updates the channels according to the current combo boy selection. void UpdateChannels( ); //! Updates the results table. /*! Called from wxStfApp::OnPeakcalcexecMsg() to update the results table. * Don't call this directly; use wxStfApp::OnPeakcalcexecMsg() instead. */ void UpdateResults(); //! Retrieve the wxAuiManager. /*! \return A pointer to the wxAuiManager. */ wxAuiManager* GetMgr() {return &m_mgr;} //! Retrieve the wxStfGrid that contains the results table. /*! \return A pointer to the grid. */ wxStfGrid* GetCopyGrid() {return m_table;} //! Write the current AUI perspective to the configuration void Saveperspective(); //! Load the saved AUI perspective from the configuration void Loadperspective(); //! Restore the default AUI perspective. void Restoreperspective(); //! Indicates whether all selected traces should be plotted. /*! \return true if they should be plotted, false otherwise. */ bool ShowSelected() const {return pShowSelected->IsChecked();} //! Indicates whether the second channel should be plotted. /*! \return true if it should be plotted, false otherwise. */ bool ShowSecond();// const {return pShowSecond->IsChecked();} //! Indicates whether all channels should be plotted. /*! \return true if they should be plotted, false otherwise. */ bool ShowAll() const {return pShowAll->IsChecked();} //! Activated the current graph void ActivateGraph(); void OnActivate(wxActivateEvent &event); //! Override default GetMenuBar /*! \return the menu bar if non-NULL; otherwise, the parent's menu bar */ virtual wxMenuBar *GetMenuBar() const { if (wxStfChildType::GetMenuBar()) { return wxStfChildType::GetMenuBar(); } else { return m_parent->GetMenuBar(); } } private: wxStfParentType* m_parent; wxAuiManager m_mgr; wxAuiNotebook* m_notebook; long m_notebook_style; wxPanel *m_traceCounter; wxPanel *m_channelCounter; wxStaticText *pSize; wxComboBox *pActChannel, *pInactChannel; wxSpinCtrl *trace_spinctrl; wxStfGrid* m_table; wxCheckBox *pZeroIndex, *pShowSelected, *pShowSecond, *pShowAll; std::size_t sizemax; wxAuiNotebook* CreateNotebook(); wxPanel* CreateTraceCounter(); wxPanel* CreateChannelCounter(); wxStfGrid* CreateTable(); void OnMenuHighlight(wxMenuEvent& event); void OnShowselected(wxCommandEvent& event); void OnZeroIndex(wxCommandEvent& event); void OnSpinCtrlTraces(wxSpinEvent& event); void OnComboActChannel(wxCommandEvent& event); void OnComboInactChannel(wxCommandEvent& event); DECLARE_EVENT_TABLE() }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/zoom.h0000755000175200017520000000424712472352307014470 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file zoom.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares the Zoom struct. */ #ifndef _ZOOM_H #define _ZOOM_H //! Handles y-scaling of traces class YZoom { public: //! Default constructor YZoom() : startPosY(500), yZoom(0.1), isLogScaleY(false) {} //! Constructor /*! \param spy1 The y offset in pixels. * \param yz1 The y-scaling. * \param lsy Currently unused. */ YZoom(long spy1, double yz1, bool lsy=false) : startPosY(spy1), yZoom(yz1), isLogScaleY(lsy) {} long startPosY; /*!< The y offset in pixels. */ double yZoom; /*!< The y-scaling. */ bool isLogScaleY; /*!< Currently unused. */ //! Overloaded multiplication operator. YZoom operator*( double factor ); }; //! Handles x-scaling of traces class XZoom { public: //! Default constructor XZoom() : startPosX(0), xZoom(0.1), isLogScaleX(false) {} //! Constructor /*! \param spx The x offset in pixels. * \param xz The x-scaling. * \param lsx Currently unused. */ XZoom( long spx, double xz, bool lsx=false ) : startPosX(spx), xZoom(xz), isLogScaleX(lsx) {} long startPosX; /*!< The x offset in pixels. */ double xZoom; /*!< The x-scaling. */ bool isLogScaleX; /*!< Currently unused. */ //! Overloaded multiplication operator. XZoom operator*( double factor ); }; #endif stimfit-0.14.11/src/stimfit/gui/doc.cpp0000755000175200017520000035346112521540625014606 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // doc.cpp // The document class, derived from both wxDocument and recording // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg // For compilers that support precompilation, includes "wx/wx.h". #include #include #include #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include #endif #if !wxUSE_DOC_VIEW_ARCHITECTURE #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! #endif #include "./app.h" #include "./view.h" #include "./parentframe.h" #include "./childframe.h" #include "./dlgs/smalldlgs.h" #include "./dlgs/fitseldlg.h" #include "./dlgs/eventdlg.h" #include "./dlgs/cursorsdlg.h" #include "./../../libstfnum/stfnum.h" #include "./../../libstfnum/fit.h" #include "./../../libstfnum/funclib.h" #include "./../../libstfnum/measure.h" #include "./../../libstfio/stfio.h" #include "./usrdlg/usrdlg.h" #include "./doc.h" #include "./graph.h" IMPLEMENT_DYNAMIC_CLASS(wxStfDoc, wxDocument) BEGIN_EVENT_TABLE( wxStfDoc, wxDocument ) EVT_MENU( ID_SWAPCHANNELS, wxStfDoc::OnSwapChannels ) EVT_MENU( ID_FILEINFO, wxStfDoc::Fileinfo) EVT_MENU( ID_NEWFROMSELECTEDTHIS, wxStfDoc::OnNewfromselectedThisMenu ) EVT_MENU( ID_MYSELECTALL, wxStfDoc::Selectall ) EVT_MENU( ID_UNSELECTALL, wxStfDoc::Deleteselected ) EVT_MENU( ID_SELECTSOME, wxStfDoc::Selectsome ) EVT_MENU( ID_UNSELECTSOME, wxStfDoc::Unselectsome ) EVT_MENU( ID_CONCATENATE_MULTICHANNEL, wxStfDoc::ConcatenateMultiChannel ) EVT_MENU( ID_BATCH, wxStfDoc::OnAnalysisBatch ) EVT_MENU( ID_INTEGRATE, wxStfDoc::OnAnalysisIntegrate ) EVT_MENU( ID_DIFFERENTIATE, wxStfDoc::OnAnalysisDifferentiate ) EVT_MENU( ID_MULTIPLY, wxStfDoc::Multiply) EVT_MENU( ID_SUBTRACTBASE, wxStfDoc::SubtractBaseMenu ) EVT_MENU( ID_FIT, wxStfDoc::FitDecay) EVT_MENU( ID_LFIT, wxStfDoc::LFit) EVT_MENU( ID_LOG, wxStfDoc::LnTransform) EVT_MENU( ID_FILTER,wxStfDoc::Filter) EVT_MENU( ID_POVERN,wxStfDoc::P_over_N) EVT_MENU( ID_PLOTCRITERION,wxStfDoc::Plotcriterion) EVT_MENU( ID_PLOTCORRELATION,wxStfDoc::Plotcorrelation) EVT_MENU( ID_PLOTDECONVOLUTION,wxStfDoc::Plotdeconvolution) EVT_MENU( ID_EXTRACT,wxStfDoc::MarkEvents ) EVT_MENU( ID_THRESHOLD,wxStfDoc::Threshold) EVT_MENU( ID_VIEWTABLE, wxStfDoc::Viewtable) EVT_MENU( ID_EVENT_EXTRACT, wxStfDoc::Extract ) EVT_MENU( ID_EVENT_ERASE, wxStfDoc::InteractiveEraseEvents ) EVT_MENU( ID_EVENT_ADDEVENT, wxStfDoc::AddEvent ) END_EVENT_TABLE() static const int baseline=100; // static const double rtfrac = 0.2; // now expressed in percentage, see RTFactor wxStfDoc::wxStfDoc() : Recording(),peakAtEnd(false), startFitAtPeak(false), initialized(false),progress(true), Average(0), latencyStartMode(stf::riseMode), latencyEndMode(stf::footMode), latencyWindowMode(stf::defaultMode), direction(stfnum::both), #ifdef WITH_PSLOPE pslopeBegMode(stf::psBeg_manualMode), pslopeEndMode(stf::psEnd_manualMode), #endif baseBeg(0), baseEnd(0), peakBeg(0), peakEnd(0), fitBeg(0), fitEnd(0), baselineMethod(stfnum::mean_sd), #ifdef WITH_PSLOPE PSlopeBeg(0), PSlopeEnd(0), DeltaT(0), viewPSlope(true), #endif measCursor(0), ShowRuler(false), latencyStartCursor(0.0), latencyEndCursor(0.0), latency(0.0), base(0.0), APBase(0.0), baseSD(0.0), threshold(0.0), slopeForThreshold(20.0), peak(0.0), APPeak(0.0), tLoReal(0), tHiReal(0), t50LeftReal(0), t50RightReal(0), maxT(0.0), thrT(-1.0), maxRiseY(0.0), maxRiseT(0.0), maxDecayY(0.0), maxDecayT(0.0), maxRise(0.0), maxDecay(0.0), t50Y(0.0), APMaxT(0.0), APMaxRiseY(0.0), APMaxRiseT(0.0), APt50LeftReal(0.0), #ifdef WITH_PSLOPE PSlope(0.0), #endif rtLoHi(0.0), InnerLoRT(NAN), InnerHiRT(NAN), OuterLoRT(NAN), OuterHiRT(NAN), halfDuration(0.0), slopeRatio(0.0), t0Real(0.0), pM(1), RTFactor(20), tLoIndex(0), tHiIndex(0), t50LeftIndex(0), t50RightIndex(0), APt50LeftIndex(0), APt50RightIndex(0), fromBase(true), viewCrosshair(true), viewBaseline(true), viewBaseSD(true), viewThreshold(false), viewPeakzero(true), viewPeakbase(true), viewPeakthreshold(false), viewRTLoHi(true), viewInnerRiseTime(false), viewOuterRiseTime(false), viewT50(true), viewRD(true), viewSloperise(true), viewSlopedecay(true), viewLatency(true), viewCursors(true), xzoom(XZoom(0, 0.1, false)), yzoom(size(), YZoom(500,0.1,false)), sec_attr(size()) { for (std::size_t nchannel=0; nchannel < sec_attr.size(); ++nchannel) { sec_attr[nchannel].resize(at(nchannel).size()); } } wxStfDoc::~wxStfDoc() {} bool wxStfDoc::OnOpenPyDocument(const wxString& filename) { progress = false; bool success = OnOpenDocument( filename ); progress = true; return success; } bool wxStfDoc::OnOpenDocument(const wxString& filename) { // Check whether the file exists: if ( !wxFileName::FileExists( filename ) ) { wxString msg; msg << wxT("Couldn't find ") << filename; wxGetApp().ErrorMsg( msg ); return false; } // Store directory: wxFileName wxfFilename( filename ); wxGetApp().wxWriteProfileString( wxT("Settings"), wxT("Last directory"), wxfFilename.GetPath() ); if (wxDocument::OnOpenDocument(filename)) { //calls base class function #ifndef TEST_MINIMAL #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2) && !defined(__WXMAC__)) // Detect type of file according to filter: wxString filter(GetDocumentTemplate()->GetFileFilter()); #else wxString filter(wxT("*.") + wxfFilename.GetExt()); #endif stfio::filetype type = stfio::findType(stf::wx2std(filter)); #else stfio::filetype type = stfio::none; #endif #if 0 // TODO: backport ascii if (type==stf::ascii) { if (!wxGetApp().get_directTxtImport()) { wxStfTextImportDlg ImportDlg( GetDocumentWindow(), stf::CreatePreview(filename), 1, false ); if (ImportDlg.ShowModal()!=wxID_OK) { get().clear(); return false; } // store settings in application: wxGetApp().set_txtImportSettings(ImportDlg.GetTxtImport()); } } #endif try { if (progress) { stf::wxProgressInfo progDlg("Reading file", "Opening file", 100); stfio::importFile(stf::wx2std(filename), type, *this, wxGetApp().GetTxtImport(), progDlg); } else { stfio::StdoutProgressInfo progDlg("Reading file", "Opening file", 100, true); stfio::importFile(stf::wx2std(filename), type, *this, wxGetApp().GetTxtImport(), progDlg); } } catch (const std::runtime_error& e) { wxString errorMsg(wxT("Error opening file\n")); errorMsg += wxString( e.what(),wxConvLocal ); wxGetApp().ExceptMsg(errorMsg); get().clear(); return false; } catch (const std::exception& e) { wxString errorMsg(wxT("Error opening file\n")); errorMsg += wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(errorMsg); get().clear(); return false; } catch (...) { wxString errorMsg(wxT("Error opening file\n")); wxGetApp().ExceptMsg(errorMsg); get().clear(); return false; } if (get().empty()) { wxGetApp().ErrorMsg(wxT("File is probably empty\n")); get().clear(); return false; } if (get()[0].get().empty()) { wxGetApp().ErrorMsg(wxT("File is probably empty\n")); get().clear(); return false; } if (get()[0][0].get().empty()) { wxGetApp().ErrorMsg(wxT("File is probably empty\n")); get().clear(); return false; } wxStfParentFrame* pFrame = GetMainFrame(); if (pFrame == NULL) { throw std::runtime_error("pFrame is 0 in wxStfDoc::OnOpenDocument"); } pFrame->SetSingleChannel( size() <= 1 ); if (InitCursors()!=wxID_OK) { get().clear(); wxGetApp().ErrorMsg(wxT( "Couldn't initialize cursors\n" )); return false; } //Select active channel to be displayed if (get().size()>1) { try { if (ChannelSelDlg() != true) { wxGetApp().ErrorMsg(wxT( "File is probably empty\n" )); get().clear(); return false; } } catch (const std::out_of_range& e) { wxString msg(wxT( "Channel could not be selected:" )); msg += wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(msg); get().clear(); return false; } } } else { wxGetApp().ErrorMsg(wxT( "Failure in wxDocument::OnOpenDocument\n" )); get().clear(); return false; } // Make sure curChannel and secondChannel are not out of range // so that we can use them safely without range checking: wxString msg(wxT( "Error while checking range:\nParts of the file might be empty\nClosing file now" )); if (!(get().size()>1)) { if (cursec().size()==0) { wxGetApp().ErrorMsg(msg); get().clear(); return false; } } else { if (cursec().size()==0 || secsec().size()==0) { wxGetApp().ErrorMsg(msg); get().clear(); return false; } } wxFileName fn(GetFilename()); SetTitle(fn.GetFullName()); PostInit(); return true; } void wxStfDoc::SetData( const Recording& c_Data, const wxStfDoc* Sender, const wxString& title ) { resize(c_Data.size()); std::copy(c_Data.get().begin(),c_Data.get().end(),get().begin()); CopyAttributes(c_Data); // Make sure curChannel and curSection are not out of range: std::out_of_range e("Data empty in wxStimfitDoc::SetData()"); if (get().empty()) { throw e; } wxStfParentFrame* pFrame = GetMainFrame(); if (pFrame == NULL) { throw std::runtime_error("pFrame is 0 in wxStfDoc::SetData"); } pFrame->SetSingleChannel( size() <= 1 ); // If the title is not a zero string... if (title != wxT("\0")) { // ... reset its title ... SetTitle(title); } //Read object variables and ensure correct and appropriate values: if (Sender!=NULL) { CopyCursors(*Sender); SetLatencyBeg( Sender->GetLatencyBeg() ); SetLatencyEnd( Sender->GetLatencyEnd() ); //Get value of the reset latency cursor box //0=Off, 1=Peak, 2=Rise SetLatencyStartMode( Sender->GetLatencyStartMode() ); SetLatencyEndMode( Sender->GetLatencyEndMode() ); SetLatencyWindowMode( Sender->GetLatencyWindowMode() ); #ifdef WITH_PSLOPE SetPSlopeBegMode ( Sender->GetPSlopeBegMode() ); SetPSlopeEndMode ( Sender->GetPSlopeEndMode() ); #endif // Update menu checks: // UpdateMenuCheckmarks(); //Get value of the peak direction dialog box SetDirection( Sender->GetDirection() ); SetFromBase( Sender->GetFromBase() ); CheckBoundaries(); } else { if (InitCursors()!=wxID_OK) { get().clear(); return; } } //Number of channels to display (1 or 2 only!) if (get().size()>1) { //Select active channel to be displayed try { if (ChannelSelDlg()!=true) { get().clear(); throw std::runtime_error("Couldn't select channels"); } } catch (...) { throw; } } //Latency Cursor: OFF-Mode only if one channel is selected! if (!(get().size()>1) && GetLatencyStartMode()!=stf::manualMode && GetLatencyEndMode()!=stf::manualMode) { SetLatencyStartMode(stf::manualMode); SetLatencyEndMode(stf::manualMode); // UpdateMenuCheckmarks(); } // Make sure once again curChannel and curSection are not out of range: if (!(get().size()>1)) { if (cursec().size()==0) { throw e; } } else { if (cursec().size()==0 || secsec().size()==0) { throw e; } } PostInit(); } //Dialog box to display the specific settings of the current CFS file. int wxStfDoc::InitCursors() { //Get values from .Stimfit and ensure proper settings SetMeasCursor(wxGetApp().wxGetProfileInt(wxT("Settings"), wxT("MeasureCursor"), 1)); SetMeasRuler( wxGetApp().wxGetProfileInt(wxT("Settings"), wxT("ShowRuler"), 0) ); SetBaseBeg(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("BaseBegin"), 1)); SetBaseEnd(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("BaseEnd"), 20)); int ibase_method = wxGetApp().wxGetProfileInt(wxT("Settings"), wxT("BaselineMethod"),0); switch (ibase_method) { case 0: SetBaselineMethod(stfnum::mean_sd); break; case 1: SetBaselineMethod(stfnum::median_iqr); break; default: SetBaselineMethod(stfnum::mean_sd); } SetPeakBeg(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("PeakBegin"), (int)cursec().size()-100)); SetPeakEnd(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("PeakEnd"), (int)cursec().size()-50)); int iDirection = wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("Direction"),2); switch (iDirection) { case 0: SetDirection(stfnum::up); break; case 1: SetDirection(stfnum::down); break; case 2: SetDirection(stfnum::both); break; default: SetDirection(stfnum::undefined_direction); } SetFromBase( true ); // reset at every program start wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("FromBase"),1) ); SetPeakAtEnd( wxGetApp().wxGetProfileInt(wxT("Settings"), wxT("PeakAtEnd"), 0)); SetFitBeg(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("FitBegin"), 10)); SetFitEnd(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("FitEnd"), 100)); SetStartFitAtPeak( wxGetApp().wxGetProfileInt(wxT("Settings"), wxT("StartFitAtPeak"), 0)); SetLatencyWindowMode(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("LatencyWindowMode"),1)); SetLatencyBeg(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("LatencyStartCursor"), 0)); /*CSH*/ SetLatencyEnd(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("LatencyEndCursor"), 2)); /*CSH*/ SetLatencyStartMode( wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("LatencyStartMode"),0) ); SetLatencyEndMode( wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("LatencyEndMode"),0) ); // Set corresponding menu checkmarks: // UpdateMenuCheckmarks(); SetPM(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("PeakMean"),1)); SetRTFactor(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("RTFactor"),20)); wxString wxsSlope = wxGetApp().wxGetProfileString(wxT("Settings"),wxT("Slope"),wxT("20.0")); double fSlope = 0.0; wxsSlope.ToDouble(&fSlope); SetSlopeForThreshold( fSlope ); if (!(get().size()>1) && GetLatencyStartMode()!=stf::manualMode && GetLatencyEndMode()!=stf::manualMode) { wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("LatencyStartMode"),stf::manualMode); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("LatencyEndMode"),stf::manualMode); SetLatencyStartMode(stf::manualMode); SetLatencyEndMode(stf::manualMode); } #ifdef WITH_PSLOPE // read PSlope Beg mode from Stimfit registry int iPSlopeMode = wxGetApp().wxGetProfileInt( wxT("Settings"), wxT("PSlopeStartMode"), stf::psBeg_manualMode ); switch (iPSlopeMode) { case 0: SetPSlopeBegMode( stf::psBeg_manualMode ); break; case 1: SetPSlopeBegMode( stf::psBeg_footMode ); break; case 2: SetPSlopeBegMode( stf::psBeg_thrMode ); break; case 3: SetPSlopeBegMode( stf::psBeg_t50Mode ); break; default: SetPSlopeBegMode( stf::psBeg_undefined ); } // read PSlope End mode from Stimfit registry iPSlopeMode = wxGetApp().wxGetProfileInt( wxT("Settings"), wxT("PSlopeEndMode"), stf::psEnd_manualMode ); switch (iPSlopeMode) { case 0: SetPSlopeEndMode( stf::psEnd_manualMode ); break; case 1: SetPSlopeEndMode( stf::psEnd_t50Mode ); break; case 2: SetPSlopeEndMode( stf::psEnd_DeltaTMode ); break; case 3: SetPSlopeEndMode( stf::psEnd_peakMode ); break; default: SetPSlopeEndMode( stf::psEnd_undefined ); } #endif CheckBoundaries(); return wxID_OK; } //End SettingsDlg() void wxStfDoc::PostInit() { wxStfChildFrame *pFrame = (wxStfChildFrame*)GetDocumentWindow(); if ( pFrame == NULL ) { wxGetApp().ErrorMsg( wxT("Zero pointer in wxStfDoc::PostInit") ); return; } // Update some vector sizes sec_attr.resize(size()); for (std::size_t nchannel=0; nchannel < sec_attr.size(); ++nchannel) { sec_attr[nchannel].resize(at(nchannel).size()); } yzoom.resize(size()); try { pFrame->CreateMenuTraces(get().at(GetCurChIndex()).size()); if ( size() > 1 ) { wxArrayString channelNames; channelNames.Alloc( size() ); for (std::size_t n_c=0; n_c < size(); ++n_c) { wxString channelStream; channelStream << n_c << wxT(" (") << stf::std2wx( at(n_c).GetChannelName() ) << wxT(")"); channelNames.Add( channelStream ); } pFrame->CreateComboChannels( channelNames ); pFrame->SetChannels( GetCurChIndex(), GetSecChIndex() ); } } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal ) ); return; } if (GetSR()>1000) { wxString highSampling; highSampling << wxT("Sampling rate seems very high (") << GetSR() << wxT(" kHz).\n") << wxT("Divide by 1000?"); if (wxMessageDialog( GetDocumentWindow(), highSampling, wxT("Adjust sampling rate"), wxYES_NO ).ShowModal()==wxID_YES) { SetXScale(GetXScale()*1000.0); } } // Read results table settings from registry: SetViewCrosshair(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewCrosshair"),1)==1); SetViewBaseline(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewBaseline"),1)==1); SetViewBaseSD(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewBaseSD"),1)==1); SetViewThreshold(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewThreshold"),1)==1); SetViewPeakZero(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewPeakzero"),1)==1); SetViewPeakBase(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewPeakbase"),1)==1); SetViewPeakThreshold(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewPeakthreshold"),1)==1); SetViewRTLoHi(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewRTLoHi"),1)==1); SetViewInnerRiseTime(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewInnerRiseTime"),1)==1); SetViewOuterRiseTime(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewOuterRiseTime"),1)==1); SetViewT50(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewT50"),1)==1); SetViewRD(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewRD"),1)==1); SetViewSlopeRise(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewSloperise"),1)==1); SetViewSlopeDecay(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewSlopedecay"),1)==1); #ifdef WITH_PSLOPE //SetViewPSlope(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewPSlope"),1)==1); SetViewPSlope(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewPSlope"),1)==1); //SetPSlopeBegMode( wxGetApp().wxGetProfileInt( wxT("Settings"), wxT("PSlopeStartMode"), 1)==1); #endif SetViewLatency(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewLatency"),1)==1); SetViewCursors(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewCursors"),1)==1); // refresh the view once we are through: initialized=true; pFrame->SetCurTrace(0); UpdateSelectedButton(); wxGetApp().OnPeakcalcexecMsg(); wxStfParentFrame* parentFrame = GetMainFrame(); if (parentFrame) { parentFrame->SetFocus(); } wxStfView* pView=(wxStfView*)GetFirstView(); if (pView != NULL) { wxStfGraph* pGraph = pView->GetGraph(); if (pGraph != NULL) { pGraph->Refresh(); pGraph->Enable(); // Set the focus: pGraph->SetFocus(); } } } //Dialog box to select channel to be displayed bool wxStfDoc::ChannelSelDlg() { // Set default channels: if ( size() < 2 ) { return false; } // SetCurChIndex(); done in Recording constructor // SetSecCh( 1 ); return true; } //End ChannelSelDlg() void wxStfDoc::CheckBoundaries() { //Security check base if (GetBaseBeg() > GetBaseEnd()) { std::size_t aux=GetBaseBeg(); SetBaseBeg((int)GetBaseEnd()); SetBaseEnd((int)aux); wxGetApp().ErrorMsg(wxT("Base cursors are reversed,\nthey will be exchanged")); } //Security check peak if (GetPeakBeg() > GetPeakEnd()) { std::size_t aux=GetPeakBeg(); SetPeakBeg((int)GetPeakEnd()); SetPeakEnd((int)aux); wxGetApp().ErrorMsg(wxT("Peak cursors are reversed,\nthey will be exchanged")); } //Security check decay if (GetFitBeg() > GetFitEnd()) { std::size_t aux=GetFitBeg(); SetFitBeg((int)GetFitEnd()); SetFitEnd((int)aux); wxGetApp().ErrorMsg(wxT("Decay cursors are reversed,\nthey will be exchanged")); } if (GetPM() > (int)cursec().size()) { SetPM((int)cursec().size()-1); } if (GetPM() == 0) { SetPM(1); } } bool wxStfDoc::OnNewDocument() { // correct caption: wxString title(GetTitle()); wxStfChildFrame* wnd=(wxStfChildFrame*)GetDocumentWindow(); wnd->SetLabel(title); // call base class member: return true; // return wxDocument::OnNewDocument(); } void wxStfDoc::Fileinfo(wxCommandEvent& WXUNUSED(event)) { //Create CFileOpenDlg object 'dlg' std::ostringstream oss1, oss2; oss1 << "Number of Channels: " << static_cast(get().size()); oss2 << "Number of Sweeps: " << static_cast(get()[GetCurChIndex()].size()); char buf[128]; struct tm t = GetDateTime(); snprintf(buf, 128, "Date:\t%04i-%02i-%02i\nTime:\t%02i:%02i:%02i\n", t.tm_year+1900, t.tm_mon+1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec); std::string general = buf + oss1.str() + "\n" + oss2.str() + "\n" + "Comment:\n" + GetComment(); wxStfFileInfoDlg dlg( GetDocumentWindow(), general, GetFileDescription(), GetGlobalSectionDescription() ); dlg.ShowModal(); } bool wxStfDoc::OnCloseDocument() { if (!get().empty()) { WriteToReg(); } // Remove file menu from file menu list: #ifndef __WXGTK__ wxGetApp().GetDocManager()->GetFileHistory()->RemoveMenu( doc_file_menu ); #endif // Tell the App: wxGetApp().CleanupDocument(this); return wxDocument::OnCloseDocument(); //Note that the base class version will delete all the document's data } bool wxStfDoc::SaveAs() { // Override file save dialog to display only writeable // file types wxString filters; filters += wxT("hdf5 file (*.h5)|*.h5|"); filters += wxT("CED filing system (*.dat;*.cfs)|*.dat;*.cfs|"); filters += wxT("Axon text file (*.atf)|*.atf|"); filters += wxT("Igor binary wave (*.ibw)|*.ibw|"); filters += wxT("Text file series (*.txt)|*.txt|"); #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) filters += wxT("GDF file (*.gdf)|*.gdf"); #endif wxFileDialog SelectFileDialog( GetDocumentWindow(), wxT("Save file"), wxT(""), wxT(""), filters, wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxFD_PREVIEW ); if(SelectFileDialog.ShowModal()==wxID_OK) { wxString filename = SelectFileDialog.GetPath(); Recording writeRec(ReorderChannels()); if (writeRec.size() == 0) return false; try { stf::wxProgressInfo progDlg("Reading file", "Opening file", 100); stfio::filetype type; switch (SelectFileDialog.GetFilterIndex()) { case 0: type=stfio::hdf5; break; case 1: type=stfio::cfs; break; case 2: type=stfio::atf; break; case 3: type=stfio::igor; break; case 4: type=stfio::ascii; break; #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) default: type=stfio::biosig; #else default: type=stfio::hdf5; #endif } return stfio::exportFile(stf::wx2std(filename), type, writeRec, progDlg); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(stf::std2wx(e.what())); return false; } } else { return false; } } Recording wxStfDoc::ReorderChannels() { // Re-order channels? std::vector< wxString > channelNames(size()); wxs_it it = channelNames.begin(); for (c_ch_it cit = get().begin(); cit != get().end() && it != channelNames.end(); cit++) { *it = stf::std2wx( cit->GetChannelName() ); it++; } std::vector channelOrder(size()); if (size()>1) { wxStfOrderChannelsDlg orderDlg(GetDocumentWindow(),channelNames); if (orderDlg.ShowModal() != wxID_OK) { return Recording(0); } channelOrder=orderDlg.GetChannelOrder(); } else { int n_c = 0; for (int_it it = channelOrder.begin(); it != channelOrder.end(); it++) { *it = n_c++; } } Recording writeRec(size()); writeRec.CopyAttributes(*this); std::size_t n_c = 0; for (c_int_it cit2 = channelOrder.begin(); cit2 != channelOrder.end(); cit2++) { writeRec.InsertChannel(get()[*cit2],n_c); // correct units: writeRec[n_c++].SetYUnits( at(*cit2).GetYUnits() ); } return writeRec; } #ifndef TEST_MINIMAL bool wxStfDoc::DoSaveDocument(const wxString& filename) { Recording writeRec(ReorderChannels()); if (writeRec.size() == 0) return false; try { stf::wxProgressInfo progDlg("Reading file", "Opening file", 100); if (stfio::exportFile(stf::wx2std(filename), stfio::hdf5, writeRec, progDlg)) return true; else return false; } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(stf::std2wx(e.what())); return false; } } #endif void wxStfDoc::WriteToReg() { //Write file length wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("FirstPoint"), 1); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("LastPoint"), (int)cursec().size()-1); //Write cursors if (!outOfRange(GetBaseBeg())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("BaseBegin"), (int)GetBaseBeg()); if (!outOfRange(GetBaseEnd())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("BaseEnd"), (int)GetBaseEnd()); if (!outOfRange(GetPeakBeg())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("PeakBegin"), (int)GetPeakBeg()); if (!outOfRange(GetPeakEnd())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("PeakEnd"), (int)GetPeakEnd()); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("PeakMean"),(int)GetPM()); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("RTFactor"),(int)GetRTFactor()); wxString wxsSlope; wxsSlope << GetSlopeForThreshold(); wxGetApp().wxWriteProfileString(wxT("Settings"),wxT("Slope"),wxsSlope); //if (wxGetApp().GetCursorsDialog() != NULL) { // wxGetApp().wxWriteProfileInt( // wxT("Settings"),wxT("StartFitAtPeak"),(int)wxGetApp().GetCursorsDialog()->GetStartFitAtPeak() // ); //} if (!outOfRange(GetFitBeg())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("FitBegin"), (int)GetFitBeg()); if (!outOfRange(GetFitEnd())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("FitEnd"), (int)GetFitEnd()); wxGetApp().wxWriteProfileInt( wxT("Settings"),wxT("StartFitAtPeak"),(int)GetStartFitAtPeak() ); if (!outOfRange((size_t)GetLatencyBeg())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("LatencyStartCursor"), (int)GetLatencyBeg()); if (!outOfRange((size_t)GetLatencyEnd())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("LatencyEndCursor"), (int)GetLatencyEnd()); #ifdef WITH_PSLOPE if (!outOfRange((size_t)GetPSlopeBeg())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("PSlopeStartCursor"), GetPSlopeBeg() ); if (!outOfRange((size_t)GetPSlopeEnd())) wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("PSlopeEndCursor"), GetPSlopeEnd() ); wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("PSlopeStartMode"), (int)GetPSlopeBegMode()); wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("PSlopeEndMode"), (int)GetPSlopeEndMode()); wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("DeltaT"), GetDeltaT() ); #endif // Write Zoom wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("Zoom.xZoom"), (int)GetXZoom().xZoom*100000); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("Zoom.yZoom"), GetYZoom(GetCurChIndex()).yZoom*100000); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("Zoom.startPosX"), (int)GetXZoom().startPosX); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("Zoom.startPosY"), GetYZoom(GetCurChIndex()).startPosY); if ((get().size()>1)) { wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("Zoom.yZoom2"), (int)GetYZoom(GetSecChIndex()).yZoom*100000); wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("Zoom.startPosY2"), GetYZoom(GetSecChIndex()).startPosY); } } bool wxStfDoc::SetSection(std::size_t section){ // Check range: if (!(get().size()>1)) { if (section>=get()[GetCurChIndex()].size()) { wxGetApp().ErrorMsg(wxT("subscript out of range\nwhile calling CStimfitDoc::SetSection()")); return false; } if (get()[GetCurChIndex()][section].size()==0) { wxGetApp().ErrorMsg(wxT("Section is empty")); return false; } } else { if (section>=get()[GetCurChIndex()].size() || section>=get()[GetSecChIndex()].size()) { wxGetApp().ErrorMsg(wxT("subscript out of range\nwhile calling CStimfitDoc::SetSection()")); return false; } if (get()[GetCurChIndex()][section].size()==0 || get()[GetSecChIndex()][section].size()==0) { wxGetApp().ErrorMsg(wxT("Section is empty")); return false; } } CheckBoundaries(); SetCurSecIndex(section); UpdateSelectedButton(); return true; } void wxStfDoc::OnSwapChannels(wxCommandEvent& WXUNUSED(event)) { if ( size() > 1) { // Update combo boxes: wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); if ( pFrame == NULL ) { wxGetApp().ErrorMsg( wxT("Frame is zero in wxStfDoc::SwapChannels")); return; } pFrame->SetChannels( GetSecChIndex(), GetCurChIndex() ); pFrame->UpdateChannels(); } } void wxStfDoc::ToggleSelect() { // get current selection status of this trace: bool selected = false; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end() && !selected; ++cit) { if (*cit == GetCurSecIndex()) { selected = true; } } if (selected) { Remove(); } else { Select(); } } void wxStfDoc::Select() { if (GetSelectedSections().size() == get()[GetCurChIndex()].size()) { wxGetApp().ErrorMsg(wxT("No more traces can be selected\nAll traces are selected")); return; } //control whether trace has already been selected: bool already=false; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end() && !already; ++cit) { if (*cit == GetCurSecIndex()) { already = true; } } //add trace number to selected numbers, print number of selected traces if (!already) { SelectTrace(GetCurSecIndex(), baseBeg, baseEnd); //String output in the trace navigator wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); pFrame->SetSelected(GetSelectedSections().size()); } else { wxGetApp().ErrorMsg(wxT("Trace is already selected")); return; } Focus(); } void wxStfDoc::Remove() { if (UnselectTrace(GetCurSecIndex())) { //Message update in the trace navigator wxStfChildFrame* pFrame = (wxStfChildFrame*)GetDocumentWindow(); if (pFrame) pFrame->SetSelected(GetSelectedSections().size()); } else { wxGetApp().ErrorMsg(wxT("Trace is not selected")); } Focus(); } void wxStfDoc::ConcatenateMultiChannel(wxCommandEvent &WXUNUSED(event)) { if (GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("Select sweeps first")); return; } stf::wxProgressInfo progDlg("Concatenating sections", "Starting...", 100); try { Recording Concatenated = stfio::concatenate(*this, GetSelectedSections(), progDlg); wxGetApp().NewChild(Concatenated,this,wxString(GetTitle()+wxT(", concatenated"))); } catch (const std::runtime_error& e) { wxGetApp().ErrorMsg(wxT("Error concatenating sections:\n") + stf::std2wx(e.what())); } } void wxStfDoc::CreateAverage( bool calcSD, bool align //align to steepest rise of other channel? ) { if(GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("Select traces first")); return; } wxBusyCursor wc; //array indicating how many indices to shift when aligning, //has to be filled with zeros: std::vector shift(GetSelectedSections().size(),0); int shift_size = 0; /* Aligned average */ //find alignment points in the reference (==second) channel: if (align) { // check that we have more than one channel if (size()==1){ wxGetApp().ErrorMsg(wxT("Aligned average requires more than one channel")); return; } wxStfAlignDlg AlignDlg(GetDocumentWindow()); if (AlignDlg.ShowModal()!=wxID_OK) return; //store current section and channel index: std::size_t section_old=GetCurSecIndex(); std::size_t channel_old=GetCurChIndex(); //initialize the lowest and the highest index: std::size_t min_index=0; try { min_index=get()[GetSecChIndex()].at(GetSelectedSections().at(0)).size()-1; } catch (const std::out_of_range& e) { wxString msg(wxT("Error while aligning\nIt is safer to re-start the program\n")); msg+=wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(msg); return; } // swap channels temporarily: SetCurChIndex(GetSecChIndex()); std::size_t max_index=0, n=0; int_it it = shift.begin(); //loop through all selected sections: for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end() && it != shift.end(); cit++) { //Set the selected section as the current section temporarily: SetSection(*cit); if (peakAtEnd) { SetPeakEnd((int)get()[GetSecChIndex()][*cit].size()-1); } // Calculate all variables for the current settings // APMaxSlopeT will be calculated for the second (==reference) // channel, so channels may not be changed! try { Measure(); } catch (const std::out_of_range& e) { Average.resize(0); SetSection(section_old); SetCurChIndex(channel_old); wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return; } std::size_t alignIndex; //check whether the current index is a max or a min, //and if so, store it: switch (AlignDlg.AlignRise()) { case 0 : // align to peak time alignIndex = lround(GetMaxT()); break; case 1 : // align to steepest slope time alignIndex = lround(GetAPMaxRiseT()); break; case 2 : // align to half amplitude time alignIndex = lround(GetAPT50LeftReal()); break; default: wxGetApp().ExceptMsg(wxT("Invalid alignment method")); return; } *it = alignIndex; if (alignIndex > max_index) { max_index=alignIndex; } if (alignIndex < min_index) { min_index=alignIndex; } n++; it++; } //now that max and min indices are known, calculate the number of //points that need to be shifted: for (int_it it = shift.begin(); it != shift.end(); it++) { (*it) -= (int)min_index; } //restore section and channel settings: SetSection(section_old); SetCurChIndex(channel_old); shift_size = (max_index-min_index); } //number of points in average: size_t average_size = cursec().size(); for (c_st_it sit = GetSelectedSections().begin(); sit != GetSelectedSections().end(); sit++) { if (curch().get()[*sit].size() < average_size) { average_size = curch().get()[*sit].size(); } } average_size -= shift_size; //initialize temporary sections and channels: Average.resize(size()); std::size_t n_c = 0; for (c_ch_it cit = get().begin(); cit != get().end(); cit++) { Section TempSection(average_size), TempSig(average_size); try { MakeAverage(TempSection, TempSig, n_c, GetSelectedSections(), calcSD, shift); } catch (const std::out_of_range& e) { Average.resize(0); wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return; } TempSection.SetXScale(get()[n_c][0].GetXScale()); // set xscale for channel n_c and the only section TempSection.SetSectionDescription(stf::wx2std(GetTitle()) +std::string(", average")); Channel TempChannel(TempSection); TempChannel.SetChannelName(cit->GetChannelName()); try { Average.InsertChannel(TempChannel,n_c); } catch (const std::out_of_range& e) { Average.resize(0); wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return; } n_c++; } Average.CopyAttributes(*this); wxString title; title << GetFilename() << wxT(", average of ") << (int)GetSelectedSections().size() << wxT(" traces"); wxGetApp().NewChild(Average,this,title); } //End of CreateAverage(.,.,.) void wxStfDoc::FitDecay(wxCommandEvent& WXUNUSED(event)) { int fselect=-2; wxStfFitSelDlg FitSelDialog(GetDocumentWindow(), this); if (FitSelDialog.ShowModal() != wxID_OK) return; wxBeginBusyCursor(); fselect=FitSelDialog.GetFSelect(); if (outOfRange(GetFitBeg()) || outOfRange(GetFitEnd())) { wxGetApp().ErrorMsg(wxT("Subscript out of range in wxStfDoc::FitDecay()")); return; } //number of parameters to be fitted: std::size_t n_params=0; //number of points: std::size_t n_points = GetFitEnd()-GetFitBeg(); if (n_points<=1) { wxGetApp().ErrorMsg(wxT("Check fit limits")); return; } std::string fitInfo; try { n_params=(int)wxGetApp().GetFuncLib().at(fselect).pInfo.size(); } catch (const std::out_of_range& e) { wxString msg(wxT("Could not retrieve function from library:\n")); msg+=wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(msg); return; } Vector_double params ( FitSelDialog.GetInitP() ); int warning = 0; try { std::size_t fitSize = GetFitEnd() - GetFitBeg(); Vector_double x( fitSize ); //fill array: std::copy(&cursec()[GetFitBeg()], &cursec()[GetFitBeg()+fitSize], &x[0]); if (params.size() != n_params) { throw std::runtime_error("Wrong size of params in wxStfDoc::lmFit()"); } double chisqr = stfnum::lmFit( x, GetXScale(), wxGetApp().GetFuncLib()[fselect], FitSelDialog.GetOpts(), FitSelDialog.UseScaling(), params, fitInfo, warning ); SetIsFitted( GetCurChIndex(), GetCurSecIndex(), params, wxGetApp().GetFuncLibPtr(fselect), chisqr, GetFitBeg(), GetFitEnd() ); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString(e.what(), wxConvLocal) ); return; } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg( wxString(e.what(), wxConvLocal) ); return; } // Refresh the graph to show the fit before // the dialog pops up: wxStfView* pView=(wxStfView*)GetFirstView(); if (pView!=NULL && pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); wxStfFitInfoDlg InfoDialog(GetDocumentWindow(), stf::std2wx(fitInfo)); wxEndBusyCursor(); InfoDialog.ShowModal(); wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); wxString label; label << wxT("Fit, Section #") << (int)GetCurSecIndex()+1; try { pFrame->ShowTable(sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).bestFit, label); } catch (const std::out_of_range e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } void wxStfDoc::LFit(wxCommandEvent& WXUNUSED(event)) { wxBusyCursor wc; if (outOfRange(GetFitBeg()) || outOfRange(GetFitEnd())) { wxGetApp().ErrorMsg(wxT("Subscript out of range in wxStfDoc::FitDecay()")); return; } //number of parameters to be fitted: std::size_t n_params=0; //number of points: std::size_t n_points=GetFitEnd()-GetFitBeg(); if (n_points<=1) { wxGetApp().ErrorMsg(wxT("Check fit limits")); return; } std::string fitInfo; n_params=2; Vector_double params( n_params ); //fill array: Vector_double x(n_points); std::copy(&cursec()[GetFitBeg()], &cursec()[GetFitBeg()+n_points], &x[0]); Vector_double t(x.size()); for (std::size_t n_t=0;n_tGetGraph()!=NULL) pView->GetGraph()->Refresh(); std::ostringstream fitInfoStr; fitInfoStr << wxT("slope = ") << params[0] << wxT("\n1/slope = ") << 1.0/params[0] << wxT("\ny-intercept = ") << params[1]; fitInfo += fitInfoStr.str(); wxStfFitInfoDlg InfoDialog(GetDocumentWindow(), stf::std2wx(fitInfo)); InfoDialog.ShowModal(); wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); wxString label; label << wxT("Fit, Section #") << (int)GetCurSecIndex(); try { pFrame->ShowTable(sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).bestFit, label); } catch (const std::out_of_range e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } void wxStfDoc::LnTransform(wxCommandEvent& WXUNUSED(event)) { Channel TempChannel(GetSelectedSections().size(), get()[GetCurChIndex()][GetSelectedSections()[0]].size()); std::size_t n = 0; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end(); cit++) { Section TempSection(size()); std::transform(get()[GetCurChIndex()][*cit].get().begin(), get()[GetCurChIndex()][*cit].get().end(), TempSection.get_w().begin(), #if defined(_WINDOWS) && !defined(__MINGW32__) std::logl); #else log); #endif TempSection.SetXScale(get()[GetCurChIndex()][*cit].GetXScale()); TempSection.SetSectionDescription( get()[GetCurChIndex()][*cit].GetSectionDescription()+ ", transformed (ln)"); try { TempChannel.InsertSection(TempSection,n); } catch (const std::out_of_range e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } n++; } if (TempChannel.size()>0) { Recording Transformed(TempChannel); Transformed.CopyAttributes(*this); wxString title(GetTitle()); title+=wxT(", transformed (ln)"); wxGetApp().NewChild(Transformed,this,title); } } void wxStfDoc::Viewtable(wxCommandEvent& WXUNUSED(event)) { wxBusyCursor wc; try { wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); pFrame->ShowTable( CurAsTable(), stf::std2wx( cursec().GetSectionDescription() ) ); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return; } } void wxStfDoc::Multiply(wxCommandEvent& WXUNUSED(event)) { if (GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("Select traces first")); return; } //insert standard values: std::vector labels(1); Vector_double defaults(labels.size()); labels[0]="Multiply with:";defaults[0]=1; stf::UserInput init(labels,defaults,"Set factor"); wxStfUsrDlg MultDialog(GetDocumentWindow(),init); if (MultDialog.ShowModal()!=wxID_OK) return; Vector_double input(MultDialog.readInput()); if (input.size()!=1) return; double factor=input[0]; try { Recording Multiplied = stfio::multiply(*this, GetSelectedSections(), GetCurChIndex(), factor); wxGetApp().NewChild(Multiplied, this, wxString(GetTitle()+wxT(", multiplied"))); } catch (const std::exception& e) { wxGetApp().ErrorMsg(wxT("Error during multiplication:\n") + stf::std2wx(e.what())); } } bool wxStfDoc::SubtractBase( ) { if (GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("Select traces first")); return false; } Channel TempChannel(GetSelectedSections().size(), get()[GetCurChIndex()][GetSelectedSections()[0]].size()); std::size_t n = 0; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end(); cit++) { Section TempSection(stfio::vec_scal_minus(get()[GetCurChIndex()][*cit].get(), GetSelectBase()[n])); TempSection.SetXScale(get()[GetCurChIndex()][*cit].GetXScale()); TempSection.SetSectionDescription( get()[GetCurChIndex()][*cit].GetSectionDescription()+ ", baseline subtracted"); try { TempChannel.InsertSection(TempSection,n); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return false; } n++; } if (TempChannel.size()>0) { Recording SubBase(TempChannel); SubBase.CopyAttributes(*this); wxString title(GetTitle()); title+=wxT(", baseline subtracted"); wxGetApp().NewChild(SubBase,this,title); } else { wxGetApp().ErrorMsg( wxT("Channel is empty.") ); return false; } return true; } void wxStfDoc::OnAnalysisBatch(wxCommandEvent &WXUNUSED(event)) { // event.Skip(); if (GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("No selected traces")); return; } std::size_t section_old=GetCurSecIndex(); // wxStfBatchDlg SaveYtDialog(GetDocumentWindow()); if (SaveYtDialog.ShowModal()!=wxID_OK) return; std::vector colTitles; //Write the header of the SaveYt file in a string if (SaveYtDialog.PrintBase()) { colTitles.push_back("Base"); } if (SaveYtDialog.PrintBaseSD()) { colTitles.push_back("Base SD"); } if (SaveYtDialog.PrintThreshold()) { colTitles.push_back("Slope threshold"); } if (SaveYtDialog.PrintSlopeThresholdTime()) { colTitles.push_back("Slope threshold time"); } if (SaveYtDialog.PrintPeakZero()) { colTitles.push_back("Peak (from 0)"); } if (SaveYtDialog.PrintPeakBase()) { colTitles.push_back("Peak (from baseline)"); } if (SaveYtDialog.PrintPeakThreshold()) { colTitles.push_back("Peak (from threshold)"); } if (SaveYtDialog.PrintPeakTime()) { colTitles.push_back("Peak time"); } if (SaveYtDialog.PrintRTLoHi()) { colTitles.push_back("RT Lo-Hi%"); } if (SaveYtDialog.PrintInnerRTLoHi()) { colTitles.push_back("inner Rise Time Lo-Hi%"); } if (SaveYtDialog.PrintOuterRTLoHi()) { colTitles.push_back("Outer Rise Time Lo-Hi%"); } if (SaveYtDialog.PrintT50()) { colTitles.push_back("duration Amp/2"); } if (SaveYtDialog.PrintT50SE()) { colTitles.push_back("start Amp/2"); colTitles.push_back("end Amp/2"); } if (SaveYtDialog.PrintSlopes()) { colTitles.push_back("Max. slope rise"); colTitles.push_back("Max. slope decay"); } if (SaveYtDialog.PrintSlopeTimes()) { colTitles.push_back("Time of max. rise"); colTitles.push_back("Time of max. decay"); } if (SaveYtDialog.PrintLatencies()) { colTitles.push_back("Latency"); } int fselect=-2; std::size_t n_params=0; wxStfFitSelDlg FitSelDialog(GetDocumentWindow(), this); if (SaveYtDialog.PrintFitResults()) { while (fselect<0) { FitSelDialog.SetNoInput(true); if (FitSelDialog.ShowModal()!=wxID_OK) { SetSection(section_old); return; } fselect=FitSelDialog.GetFSelect(); } try { n_params=(int)wxGetApp().GetFuncLib().at(fselect).pInfo.size(); } catch (const std::out_of_range& e) { wxString msg(wxT("Error while retrieving function from library:\n")); msg += stf::std2wx(e.what()); wxGetApp().ExceptMsg(msg); SetSection(section_old); return; } for (std::size_t n_pf=0;n_pf(1, thrS.str()), Vector_double (1,0.0), "Set threshold"); wxStfUsrDlg myDlg( GetDocumentWindow(), Input ); if (myDlg.ShowModal()!=wxID_OK) { return; } threshold=myDlg.readInput()[0]; } wxProgressDialog progDlg( wxT("Batch analysis in progress"), wxT("Starting batch analysis"), 100, GetDocumentWindow(), wxPD_SMOOTH | wxPD_AUTO_HIDE | wxPD_APP_MODAL ); stfnum::Table table(GetSelectedSections().size(),colTitles.size()); for (std::size_t nCol=0;nColGetStartFitAtPeak()) if ( startFitAtPeak ) SetFitBeg(GetMaxT()); Vector_double params; int fitWarning = 0; if (SaveYtDialog.PrintFitResults()) { try { n_params=(int)wxGetApp().GetFuncLib().at(fselect).pInfo.size(); } catch (const std::out_of_range& e) { wxString msg(wxT("Could not retrieve function from library:\n")); msg+=wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(msg); return; } // in this case, initialize parameters from init function, // not from user input: Vector_double x(GetFitEnd()-GetFitBeg()); //fill array: std::copy(&cursec()[GetFitBeg()], &cursec()[GetFitEnd()], &x[0]); params.resize(n_params); wxGetApp().GetFuncLib().at(fselect).init( x, GetBase(), GetPeak(), GetRTLoHi(), GetHalfDuration(), GetXScale(), params ); std::string fitInfo; try { double chisqr = stfnum::lmFit( x, GetXScale(), wxGetApp().GetFuncLib()[fselect], FitSelDialog.GetOpts(), FitSelDialog.UseScaling(), params, fitInfo, fitWarning ); SetIsFitted( GetCurChIndex(), GetCurSecIndex(), params, wxGetApp().GetFuncLibPtr(fselect), chisqr, GetFitBeg(), GetFitEnd() ); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); SetSection(section_old); return; } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); SetSection(section_old); return; } catch (const std::exception& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); SetSection(section_old); return; } } // count number of threshold crossings if needed: std::size_t n_crossings=0; if (SaveYtDialog.PrintThr()) { n_crossings= stfnum::peakIndices( cursec().get(), threshold, 0 ).size(); } std::size_t nCol=0; //Write the variables of the current channel in a string try { table.SetRowLabel(n_s, cursec().GetSectionDescription()); if (SaveYtDialog.PrintBase()) table.at(n_s,nCol++)=GetBase(); if (SaveYtDialog.PrintBaseSD()) table.at(n_s,nCol++)=GetBaseSD(); if (SaveYtDialog.PrintThreshold()) table.at(n_s,nCol++)=GetThreshold(); if (SaveYtDialog.PrintSlopeThresholdTime()) table.at(n_s,nCol++)=GetThrT()*GetXScale(); if (SaveYtDialog.PrintPeakZero()) table.at(n_s,nCol++)=GetPeak(); if (SaveYtDialog.PrintPeakBase()) table.at(n_s,nCol++)=GetPeak()-GetBase(); if (SaveYtDialog.PrintPeakThreshold()) table.at(n_s,nCol++)=GetPeak()-GetThreshold(); if (SaveYtDialog.PrintPeakTime()) table.at(n_s,nCol++)=GetPeakTime()*GetXScale(); if (SaveYtDialog.PrintRTLoHi()) table.at(n_s,nCol++)=GetRTLoHi(); if (SaveYtDialog.PrintInnerRTLoHi()) table.at(n_s,nCol++)=GetInnerRiseTime(); if (SaveYtDialog.PrintOuterRTLoHi()) table.at(n_s,nCol++)=GetOuterRiseTime(); if (SaveYtDialog.PrintT50()) table.at(n_s,nCol++)=GetHalfDuration(); if (SaveYtDialog.PrintT50SE()) { table.at(n_s,nCol++)=GetT50LeftReal()*GetXScale(); table.at(n_s,nCol++)=GetT50RightReal()*GetXScale(); } if (SaveYtDialog.PrintSlopes()) { table.at(n_s,nCol++)=GetMaxRise(); table.at(n_s,nCol++)=GetMaxDecay(); } if (SaveYtDialog.PrintSlopeTimes()) { table.at(n_s,nCol++)=GetMaxRiseT()*GetXScale(); table.at(n_s,nCol++)=GetMaxDecayT()*GetXScale(); } if (SaveYtDialog.PrintLatencies()) { table.at(n_s,nCol++)=GetLatency()*GetXScale(); } if (SaveYtDialog.PrintFitResults()) { for (std::size_t n_pf=0;n_pfShowTable(table,wxT("Batch analysis results")); } void wxStfDoc::OnAnalysisIntegrate(wxCommandEvent &WXUNUSED(event)) { double integral_s = 0.0, integral_t = 0.0; const std::string units = at(GetCurChIndex()).GetYUnits() + " * " + GetXUnits(); try { integral_s = stfnum::integrate_simpson(cursec().get(),GetFitBeg(),GetFitEnd(),GetXScale()); integral_t = stfnum::integrate_trapezium(cursec().get(),GetFitBeg(),GetFitEnd(),GetXScale()); } catch (const std::exception& e) { wxGetApp().ErrorMsg(wxString( e.what(), wxConvLocal )); return; } stfnum::Table integralTable(6,1); try { integralTable.SetRowLabel(0, "Trapezium (linear)"); integralTable.SetRowLabel(1, "Integral (from 0)"); integralTable.SetRowLabel(2, "Integral (from base)"); integralTable.SetRowLabel(3, "Simpson (quadratic)"); integralTable.SetRowLabel(4, "Integral (from 0)"); integralTable.SetRowLabel(5, "Integral (from base)"); //integralTable.SetColLabel(0, "Results"); integralTable.SetColLabel(0, units); integralTable.SetEmpty(0,0); integralTable.at(1,0) = integral_t; integralTable.at(2,0) = integral_t - (GetFitEnd()-GetFitBeg())*GetXScale()*GetBase(); integralTable.SetEmpty(3,0); integralTable.at(4,0) = integral_s; integralTable.at(5,0) = integral_s - (GetFitEnd()-GetFitBeg())*GetXScale()*GetBase(); } catch (const std::out_of_range& e) { wxGetApp().ErrorMsg(wxString( e.what(), wxConvLocal )); return; } wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); pFrame->ShowTable(integralTable,wxT("Integral")); try { Vector_double quad_p = stfnum::quad(cursec().get(), GetFitBeg(), GetFitEnd()); SetIsIntegrated(GetCurChIndex(), GetCurSecIndex(), true,GetFitBeg(),GetFitEnd(), quad_p); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } void wxStfDoc::OnAnalysisDifferentiate(wxCommandEvent &WXUNUSED(event)) { if (GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("Select traces first")); return; } Channel TempChannel(GetSelectedSections().size(), get()[GetCurChIndex()][GetSelectedSections()[0]].size()); std::size_t n = 0; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end(); cit++) { Section TempSection( stfnum::diff( get()[GetCurChIndex()][*cit].get(), GetXScale() ) ); TempSection.SetXScale(get()[GetCurChIndex()][*cit].GetXScale()); TempSection.SetSectionDescription( get()[GetCurChIndex()][*cit].GetSectionDescription()+ ", differentiated"); try { TempChannel.InsertSection(TempSection,n); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } n++; } if (TempChannel.size()>0) { Recording Diff(TempChannel); Diff.CopyAttributes(*this); Diff[0].SetYUnits(at(GetCurChIndex()).GetYUnits()+" / ms"); wxString title(GetTitle()); title+=wxT(", differentiated"); wxGetApp().NewChild(Diff,this,title); } } bool wxStfDoc::OnNewfromselectedThis( ) { if (GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("Select traces first")); return false; } Channel TempChannel(GetSelectedSections().size(), get()[GetCurChIndex()][GetSelectedSections()[0]].size()); std::size_t n = 0; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end(); cit++) { // Multiply the valarray in Data: Section TempSection(get()[GetCurChIndex()][*cit].get()); TempSection.SetXScale(get()[GetCurChIndex()][*cit].GetXScale()); TempSection.SetSectionDescription( get()[GetCurChIndex()][*cit].GetSectionDescription()+ ", new from selected"); try { TempChannel.InsertSection(TempSection,n); } catch (const std::out_of_range e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return false; } n++; } if (TempChannel.size()>0) { Recording Selected(TempChannel); Selected.CopyAttributes(*this); Selected[0].SetYUnits( at(GetCurChIndex()).GetYUnits() ); Selected[0].SetChannelName( at(GetCurChIndex()).GetChannelName() ); wxString title(GetTitle()); title+=wxT(", new from selected"); wxGetApp().NewChild(Selected,this,title); } else { wxGetApp().ErrorMsg( wxT("Channel is empty.") ); return false; } return true; } void wxStfDoc::Selectsome(wxCommandEvent &WXUNUSED(event)) { if (GetSelectedSections().size()>0) { wxGetApp().ErrorMsg(wxT("Unselect all")); return; } //insert standard values: std::vector labels(2); Vector_double defaults(labels.size()); labels[0]="Select every x-th trace:";defaults[0]=1; labels[1]="Starting with the y-th:";defaults[1]=1; stf::UserInput init(labels,defaults,"Select every n-th (1-based)"); wxStfUsrDlg EveryDialog(GetDocumentWindow(),init); if (EveryDialog.ShowModal()!=wxID_OK) return; Vector_double input(EveryDialog.readInput()); if (input.size()!=2) return; int everynth=(int)input[0]; int everystart=(int)input[1]; //div_t n_selected=div((int)get()[GetCurChIndex()].size(),everynth); for (int n=0; n*everynth+everystart-1 < (int)get()[GetCurChIndex()].size(); ++n) { try { SelectTrace(n*everynth+everystart-1, baseBeg, baseEnd); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString::FromAscii(e.what()) ); } } wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); pFrame->SetSelected(GetSelectedSections().size()); Focus(); } void wxStfDoc::Unselectsome(wxCommandEvent &WXUNUSED(event)) { if (GetSelectedSections().size() < get()[GetCurChIndex()].size()) { wxGetApp().ErrorMsg(wxT("Select all traces first")); return; } //insert standard values: std::vector labels(2); Vector_double defaults(labels.size()); labels[0]="Unselect every x-th trace:";defaults[0]=1; labels[1]="Starting with the y-th:";defaults[1]=1; stf::UserInput init(labels,defaults,"Unselect every n-th (1-based)"); wxStfUsrDlg EveryDialog(GetDocumentWindow(),init); if (EveryDialog.ShowModal()!=wxID_OK) return; Vector_double input(EveryDialog.readInput()); if (input.size()!=2) return; int everynth=(int)input[0]; int everystart=(int)input[1]; //div_t n_unselected=div((int)get()[GetCurChIndex()].size(),everynth); for (int n=0; n*everynth+everystart-1 < (int)get()[GetCurChIndex()].size(); ++n) { UnselectTrace(n*everynth+everystart-1); } wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); pFrame->SetSelected(GetSelectedSections().size()); Focus(); } void wxStfDoc::Selectall(wxCommandEvent& event) { //Make sure all traces are unselected prior to selecting them all: if ( !GetSelectedSections().empty() ) Deleteselected(event); for (int n_s=0; n_s<(int)get()[GetCurChIndex()].size(); ++n_s) { SelectTrace(n_s, baseBeg, baseEnd); } wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); pFrame->SetSelected(GetSelectedSections().size()); Focus(); } void wxStfDoc::Deleteselected(wxCommandEvent &WXUNUSED(event)) { wxStfChildFrame* pFrame=(wxStfChildFrame*)GetDocumentWindow(); if( !GetSelectedSections().empty() ) { GetSelectedSectionsW().clear(); GetSelectBaseW().clear(); //Update selected traces string in the trace navigator pFrame->SetSelected(GetSelectedSections().size()); } else { wxGetApp().ErrorMsg(wxT("No selected trace to remove")); return; } // refresh the view once we are through: if (pFrame->ShowSelected()) { wxStfView* pView=(wxStfView*)GetFirstView(); if (pView!=NULL && pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } Focus(); } void wxStfDoc::Focus() { UpdateSelectedButton(); // refresh the view once we are through: wxStfView* pView=(wxStfView*)GetFirstView(); if (pView != NULL && pView->GetGraph() != NULL) { pView->GetGraph()->Enable(); pView->GetGraph()->SetFocus(); } } void wxStfDoc::UpdateSelectedButton() { // control whether trace has been selected: bool selected=false; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end() && !selected; ++cit) { if (*cit == GetCurSecIndex()) { selected = true; } } // Set status of selection button: wxStfParentFrame* parentFrame = GetMainFrame(); if (parentFrame) { parentFrame->SetSelectedButton( selected ); } } void wxStfDoc::Filter(wxCommandEvent& WXUNUSED(event)) { #ifndef TEST_MINIMAL if (GetSelectedSections().empty()) { wxGetApp().ErrorMsg(wxT("No traces selected")); return; } //--For details on the Fast Fourier Transform see NR in C++, chapters 12 and 13 std::vector windowLabels(2); Vector_double windowDefaults(windowLabels.size()); windowLabels[0]="From point #:";windowDefaults[0]=0; windowLabels[1]="To point #:";windowDefaults[1]=(int)cursec().size()-1; stf::UserInput initWindow(windowLabels,windowDefaults,"Filter window"); wxStfUsrDlg FilterWindowDialog(GetDocumentWindow(),initWindow); if (FilterWindowDialog.ShowModal()!=wxID_OK) return; Vector_double windowInput(FilterWindowDialog.readInput()); if (windowInput.size()!=2) return; int llf=(int)windowInput[0]; int ulf=(int)windowInput[1]; wxStfFilterSelDlg FilterSelectDialog(GetDocumentWindow()); if (FilterSelectDialog.ShowModal()!=wxID_OK) return; int fselect=FilterSelectDialog.GetFilterSelect(); int size=0; bool inverse=true; switch (fselect) { case 1: size=3; break; case 2: case 3: size=1; break; } wxStfGaussianDlg FftDialog(GetDocumentWindow()); Vector_double a(size); switch (fselect) { case 1: if (FftDialog.ShowModal()!=wxID_OK) return; a[0]=(int)(FftDialog.Amp()*100000.0)/100000.0; /*amplitude from 0 to 1*/ a[1]=(int)(FftDialog.Center()*100000.0)/100000.0; /*center in kHz*/ a[2]=(int)(FftDialog.Width()*100000.0)/100000.0; /*width in kHz*/ break; case 2: case 3: { //insert standard values: std::vector labels(1); Vector_double defaults(labels.size()); labels[0]="Cutoff frequency (kHz):"; defaults[0]=10; stf::UserInput init(labels,defaults,"Set frequency"); wxStfUsrDlg FilterHighLowDialog(GetDocumentWindow(),init); if (FilterHighLowDialog.ShowModal()!=wxID_OK) return; Vector_double input(FilterHighLowDialog.readInput()); if (input.size()!=1) return; a[0]=(int)(input[0]*100000.0)/100000.0; /*midpoint of sigmoid curve in kHz*/ break; } } wxBusyCursor wc; //--I. Defining the parameters of the filter function /*sampling interval in ms*/ Channel TempChannel(GetSelectedSections().size(), get()[GetCurChIndex()][GetSelectedSections()[0]].size()); std::size_t n = 0; for (c_st_it cit = GetSelectedSections().begin(); cit != GetSelectedSections().end(); cit++) { try { switch (fselect) { case 3: { Section FftTemp(stfnum::filter(get()[GetCurChIndex()][*cit].get(), llf,ulf,a,(int)GetSR(),stfnum::fgaussColqu,false)); FftTemp.SetXScale(get()[GetCurChIndex()][*cit].GetXScale()); FftTemp.SetSectionDescription( get()[GetCurChIndex()][*cit].GetSectionDescription()+ ", filtered"); TempChannel.InsertSection(FftTemp, n); break; } case 2: { Section FftTemp(stfnum::filter(get()[GetCurChIndex()][*cit].get(), llf,ulf,a,(int)GetSR(),stfnum::fbessel4,false)); FftTemp.SetXScale(get()[GetCurChIndex()][*cit].GetXScale()); FftTemp.SetSectionDescription( get()[GetCurChIndex()][*cit].GetSectionDescription()+ ", filtered" ); TempChannel.InsertSection(FftTemp, n); break; } case 1: { Section FftTemp(stfnum::filter(get()[GetCurChIndex()][*cit].get(), llf,ulf,a,(int)GetSR(),stfnum::fgauss,inverse)); FftTemp.SetXScale(get()[GetCurChIndex()][*cit].GetXScale()); FftTemp.SetSectionDescription( get()[GetCurChIndex()][*cit].GetSectionDescription()+ std::string(", filtered") ); TempChannel.InsertSection(FftTemp, n); break; } } } catch (const std::exception& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } n++; } if (TempChannel.size()>0) { Recording Fft(TempChannel); Fft.CopyAttributes(*this); wxGetApp().NewChild(Fft, this,GetTitle()+wxT(", filtered")); } #endif } void wxStfDoc::P_over_N(wxCommandEvent& WXUNUSED(event)){ //insert standard values: std::vector labels(1); Vector_double defaults(labels.size()); labels[0]="N = (mind polarity!)";defaults[0]=-4; stf::UserInput init(labels,defaults,"P over N"); wxStfUsrDlg PonDialog(GetDocumentWindow(),init); if (PonDialog.ShowModal()!=wxID_OK) return; Vector_double input(PonDialog.readInput()); if (input.size()!=1) return; int PoN=(int)fabs(input[0]); int ponDirection=input[0]<0? -1:1; int new_sections=(int)get()[GetCurChIndex()].size()/(PoN+1); if (new_sections<1) { wxGetApp().ErrorMsg(wxT("Not enough traces for P/n correction")); return; } //File dialog box wxBusyCursor wc; Channel TempChannel(new_sections); //read and PoN for (int n_section=0; n_section < new_sections; n_section++) { //Section loop Section TempSection(get()[GetCurChIndex()][n_section].size()); TempSection.SetXScale(get()[GetCurChIndex()][n_section].GetXScale()); for (int n_point=0; n_point < (int)get()[GetCurChIndex()][n_section].size(); n_point++) TempSection[n_point]=0.0; //Addition of the PoN-values: for (int n_PoN=1; n_PoN < PoN+1; n_PoN++) for (int n_point=0; n_point < (int)get()[GetCurChIndex()][n_section].size(); n_point++) TempSection[n_point] += get()[GetCurChIndex()][n_PoN+(n_section*(PoN+1))][n_point]; //Subtraction from the original values: for (int n_point=0; n_point < (int)get()[GetCurChIndex()][n_section].size(); n_point++) TempSection[n_point] = get()[GetCurChIndex()][n_section*(PoN+1)][n_point]- TempSection[n_point]*ponDirection; std::ostringstream povernLabel; povernLabel << GetTitle() << ", #" << n_section << ", P over N"; TempSection.SetSectionDescription(povernLabel.str()); try { TempChannel.InsertSection(TempSection,n_section); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } if (TempChannel.size()>0) { Recording DataPoN(TempChannel); DataPoN.CopyAttributes(*this); wxGetApp().NewChild(DataPoN,this,GetTitle()+wxT(", p over n subtracted")); } } void wxStfDoc::Plotextraction(stf::extraction_mode mode) { std::vector sectionList(wxGetApp().GetSectionsWithFits()); if (sectionList.empty()) { wxGetApp().ErrorMsg( wxT("You have to create a template first\nby fitting a function to an event") ); return; } wxStfEventDlg MiniDialog(GetDocumentWindow(), sectionList, false); if (MiniDialog.ShowModal()!=wxID_OK) { return; } int nTemplate=MiniDialog.GetTemplate(); try { Vector_double templateWave( sectionList.at(nTemplate).sec_attr.storeFitEnd - sectionList.at(nTemplate).sec_attr.storeFitBeg); for ( std::size_t n_p=0; n_p < templateWave.size(); n_p++ ) { templateWave[n_p] = sectionList.at(nTemplate).sec_attr.fitFunc->func( n_p*GetXScale(), sectionList.at(nTemplate).sec_attr.bestFitP); } wxBusyCursor wc; #undef min #undef max // subtract offset and normalize: double fmax = *std::max_element(templateWave.begin(), templateWave.end()); double fmin = *std::min_element(templateWave.begin(), templateWave.end()); templateWave = stfio::vec_scal_minus(templateWave, fmax); double minim=fabs(fmin); templateWave = stfio::vec_scal_div(templateWave, minim); std::string section_description, window_title; Section TempSection(cursec().get().size()); switch (mode) { case stf::criterion: { stf::wxProgressInfo progDlg("Computing detection criterion...", "Computing detection criterion...", 100); TempSection = Section(stfnum::detectionCriterion( cursec().get(), templateWave, progDlg)); section_description = "Detection criterion of "; window_title = ", detection criterion"; break; } case stf::correlation: { stf::wxProgressInfo progDlg("Computing linear correlation...", "Computing linear correlation...", 100); TempSection = Section(stfnum::linCorr(cursec().get(), templateWave, progDlg)); section_description = "Template correlation of "; window_title = ", linear correlation"; break; } case stf::deconvolution: std::string usrInStr[2] = {"Lowpass (kHz)", "Highpass (kHz)"}; double usrInDbl[2] = {0.5, 0.0001}; stf::UserInput Input( std::vector(usrInStr, usrInStr+2), Vector_double (usrInDbl, usrInDbl+2), "Filter settings" ); wxStfUsrDlg myDlg( GetDocumentWindow(), Input ); if (myDlg.ShowModal()!=wxID_OK) return; Vector_double filter = myDlg.readInput(); stf::wxProgressInfo progDlg("Computing deconvolution...", "Starting deconvolution...", 100); TempSection = Section(stfnum::deconvolve(cursec().get(), templateWave, (int)GetSR(), filter[1], filter[0], progDlg)); section_description = "Template deconvolution from "; window_title = ", deconvolution"; break; } if (TempSection.size()==0) return; TempSection.SetXScale(cursec().GetXScale()); TempSection.SetSectionDescription(section_description + cursec().GetSectionDescription()); Channel TempChannel(TempSection); Recording detCrit(TempChannel); detCrit.CopyAttributes(*this); wxGetApp().NewChild(detCrit, this, GetTitle() + stf::std2wx(window_title)); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } catch (const std::exception& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } void wxStfDoc::Plotcriterion(wxCommandEvent& WXUNUSED(event)) { Plotextraction(stf::criterion); } void wxStfDoc::Plotcorrelation(wxCommandEvent& WXUNUSED(event)) { Plotextraction(stf::correlation); } void wxStfDoc::Plotdeconvolution(wxCommandEvent& WXUNUSED(event)) { Plotextraction(stf::deconvolution); } void wxStfDoc::MarkEvents(wxCommandEvent& WXUNUSED(event)) { std::vector sectionList(wxGetApp().GetSectionsWithFits()); if (sectionList.empty()) { wxGetApp().ErrorMsg( wxT( "You have to create a template first\nby fitting a function to an event" ) ); return; } wxStfEventDlg MiniDialog( GetDocumentWindow(), sectionList, true ); if ( MiniDialog.ShowModal()!=wxID_OK ) { return; } int nTemplate=MiniDialog.GetTemplate(); try { Vector_double templateWave( sectionList.at(nTemplate).sec_attr.storeFitEnd - sectionList.at(nTemplate).sec_attr.storeFitBeg); for ( std::size_t n_p=0; n_p < templateWave.size(); n_p++ ) { templateWave[n_p] = sectionList.at(nTemplate).sec_attr.fitFunc->func( n_p*GetXScale(), sectionList.at(nTemplate).sec_attr.bestFitP); } wxBusyCursor wc; #undef min #undef max // subtract offset and normalize: double fmax = *std::max_element(templateWave.begin(), templateWave.end()); double fmin = *std::min_element(templateWave.begin(), templateWave.end()); templateWave = stfio::vec_scal_minus(templateWave, fmax); double minim=fabs(fmin); templateWave = stfio::vec_scal_div(templateWave, minim); Vector_double detect( cursec().get().size() - templateWave.size() ); switch (MiniDialog.GetMode()) { case stf::criterion: { stf::wxProgressInfo progDlg("Computing detection criterion...", "Computing detection criterion...", 100); detect=stfnum::detectionCriterion(cursec().get(), templateWave, progDlg); break; } case stf::correlation: { stf::wxProgressInfo progDlg("Computing linear correlation...", "Computing linear correlation...", 100); detect=stfnum::linCorr(cursec().get(), templateWave, progDlg); break; } case stf::deconvolution: std::string usrInStr[2] = {"Lowpass (kHz)", "Highpass (kHz)"}; double usrInDbl[2] = {0.5, 0.0001}; stf::UserInput Input( std::vector(usrInStr, usrInStr+2), Vector_double (usrInDbl, usrInDbl+2), "Filter settings" ); wxStfUsrDlg myDlg( GetDocumentWindow(), Input ); if (myDlg.ShowModal()!=wxID_OK) return; Vector_double filter = myDlg.readInput(); stf::wxProgressInfo progDlg("Computing deconvolution...", "Starting deconvolution...", 100); detect=stfnum::deconvolve(cursec().get(), templateWave, (int)GetSR(), filter[1], filter[0], progDlg); break; } if (detect.empty()) { wxGetApp().ErrorMsg(wxT("Error: Detection criterion is empty.")); return; } std::vector startIndices( stfnum::peakIndices( detect, MiniDialog.GetThreshold(), MiniDialog.GetMinDistance() ) ); if (startIndices.empty()) { wxGetApp().ErrorMsg( wxT( "No events were found. Try to lower the threshold." ) ); return; } // erase old events: ClearEvents(GetCurChIndex(), GetCurSecIndex()); for (c_int_it cit = startIndices.begin(); cit != startIndices.end(); ++cit ) { sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.push_back( stf::Event( *cit, 0, templateWave.size() ) ); // Find peak in this event: double baselineMean=0; for ( int n_mean = *cit-baseline; n_mean < *cit; ++n_mean ) { if (n_mean < 0) { baselineMean += cursec().at(0); } else { baselineMean += cursec().at(n_mean); } } baselineMean /= baseline; double peakIndex=0; int eventl = templateWave.size(); if (*cit + eventl >= cursec().get().size()) { eventl = cursec().get().size()-1- (*cit); } stfnum::peak( cursec().get(), baselineMean, *cit, *cit + eventl, 1, stfnum::both, peakIndex ); if (peakIndex != peakIndex || peakIndex < 0 || peakIndex >= cursec().get().size()) { throw std::runtime_error("Error during peak detection (result is NAN)\n"); } // set peak index of this event: sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.back().SetEventPeakIndex((int)peakIndex); } } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal )); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal )); } catch (const std::exception& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal )); } } void wxStfDoc::Extract( wxCommandEvent& WXUNUSED(event) ) { try { stfnum::Table events(GetCurrentSectionAttributes().eventList.size(), 2); events.SetColLabel(0, "Time of event onset"); events.SetColLabel(1, "Inter-event interval"); // using the peak indices (these are the locations of the beginning of an optimal // template matching), new sections are created: // count non-discarded events: std::size_t n_real = 0; for (c_event_it cit = GetCurrentSectionAttributes().eventList.begin(); cit != GetCurrentSectionAttributes().eventList.end(); ++cit) { n_real += (int)(!cit->GetDiscard()); } Channel TempChannel2(n_real); std::vector peakIndices(n_real); n_real = 0; c_event_it lastEventIt = GetCurrentSectionAttributes().eventList.begin(); for (c_event_it it = GetCurrentSectionAttributes().eventList.begin(); it != GetCurrentSectionAttributes().eventList.end(); ++it) { if (!it->GetDiscard()) { wxString miniName; miniName << wxT( "Event #" ) << (int)n_real+1; events.SetRowLabel(n_real, stf::wx2std(miniName)); events.at(n_real,0) = (double)it->GetEventStartIndex() / GetSR(); events.at(n_real,1)= ((double)(it->GetEventStartIndex() - lastEventIt->GetEventStartIndex())) / GetSR(); // add some baseline at the beginning and end: std::size_t eventSize = it->GetEventSize() + 2*baseline; Section TempSection2( eventSize ); for ( std::size_t n_new = 0; n_new < eventSize; ++n_new ) { // make sure index is not out of range: int index = it->GetEventStartIndex() + n_new - baseline; if (index < 0) index = 0; if (index >= (int)cursec().size()) index = cursec().size()-1; TempSection2[n_new] = cursec()[index]; } std::ostringstream eventDesc; eventDesc << "Extracted event #" << (int)n_real; TempSection2.SetSectionDescription(eventDesc.str()); TempSection2.SetXScale(get()[GetCurChIndex()][GetCurSecIndex()].GetXScale()); TempChannel2.InsertSection( TempSection2, n_real ); n_real++; lastEventIt = it; } } if (TempChannel2.size()>0) { Recording Minis( TempChannel2 ); Minis.CopyAttributes( *this ); wxStfDoc* pDoc=wxGetApp().NewChild( Minis, this, GetTitle()+wxT(", extracted events") ); if (pDoc != NULL) { wxStfChildFrame* pChild=(wxStfChildFrame*)pDoc->GetDocumentWindow(); if (pChild!=NULL) { pChild->ShowTable(events,wxT("Extracted events")); } } } } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } catch (const std::exception& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } void wxStfDoc::InteractiveEraseEvents( wxCommandEvent& WXUNUSED(event) ) { if (wxMessageDialog( GetDocumentWindow(), wxT("Do you really want to erase all events?"), wxT("Erase all events"), wxYES_NO ).ShowModal()==wxID_YES) { try { ClearEvents(GetCurChIndex(), GetCurSecIndex()); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } } void wxStfDoc::AddEvent( wxCommandEvent& WXUNUSED(event) ) { try { // retrieve the position where to add the event: wxStfView* pView = (wxStfView*)GetFirstView(); wxStfGraph* pGraph = pView->GetGraph(); int newStartPos = pGraph->get_eventPos(); stf::Event newEvent(newStartPos, 0, GetCurrentSectionAttributes().eventList.at(0).GetEventSize()); // Find peak in this event: double baselineMean=0; for ( int n_mean = newStartPos - baseline; n_mean < newStartPos; ++n_mean ) { if (n_mean < 0) { baselineMean += cursec().at(0); } else { baselineMean += cursec().at(n_mean); } } baselineMean /= baseline; double peakIndex=0; stfnum::peak( cursec().get(), baselineMean, newStartPos, newStartPos + GetCurrentSectionAttributes().eventList.at(0).GetEventSize(), 1, stfnum::both, peakIndex ); // set peak index of last event: newEvent.SetEventPeakIndex( (int)peakIndex ); // find the position in the current event list where the new // event should be inserted: bool found = false; for (event_it it = sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.begin(); it != sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.end(); ++it) { if ( (int)(it->GetEventStartIndex()) > newStartPos ) { // insert new event before this event, then break: sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.insert( it, newEvent ); found = true; break; } } // if we are at the end of the list, append the event: if (!found) sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.push_back( newEvent ); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } catch (const std::exception& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); } } void wxStfDoc::Threshold(wxCommandEvent& WXUNUSED(event)) { // get threshold from user input: Vector_double threshold(0); std::ostringstream thrS; thrS << "Threshold (" << at(GetCurChIndex()).GetYUnits() << ")"; stf::UserInput Input( std::vector(1, thrS.str()), Vector_double (1,0.0), "Set threshold" ); wxStfUsrDlg myDlg( GetDocumentWindow(), Input ); if (myDlg.ShowModal()!=wxID_OK) { return; } threshold=myDlg.readInput(); std::vector startIndices( stfnum::peakIndices( cursec().get(), threshold[0], 0 ) ); if (startIndices.empty()) { wxGetApp().ErrorMsg( wxT("Couldn't find any events;\ntry again with lower threshold") ); } // clear table from previous detection sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.clear(); for (c_int_it cit = startIndices.begin(); cit != startIndices.end(); ++cit) { sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()).eventList.push_back( stf::Event( *cit, 0, baseline ) ); } // show results in a table: stfnum::Table events(GetCurrentSectionAttributes().eventList.size(),2); events.SetColLabel( 0, "Time of event peak"); events.SetColLabel( 1, "Inter-event interval"); std::size_t n_event = 0; c_event_it lastEventCit = GetCurrentSectionAttributes().eventList.begin(); for (c_event_it cit2 = GetCurrentSectionAttributes().eventList.begin(); cit2 != GetCurrentSectionAttributes().eventList.end(); ++cit2) { wxString eventName; eventName << wxT("Event #") << (int)n_event+1; events.SetRowLabel(n_event, stf::wx2std(eventName)); events.at(n_event,0)= (double)cit2->GetEventStartIndex() / GetSR(); events.at(n_event,1)= ((double)(cit2->GetEventStartIndex() - lastEventCit->GetEventStartIndex()) ) / GetSR(); n_event++; lastEventCit = cit2; } wxStfChildFrame* pChild=(wxStfChildFrame*)GetDocumentWindow(); if (pChild!=NULL) { pChild->ShowTable(events,wxT("Extracted events")); } } //Function calculates the peak and respective measures: base, Lo/Hi rise time //half duration, ratio of rise/slope and maximum slope void wxStfDoc::Measure( ) { double var=0.0; if (cursec().get().size() == 0) return; try { cursec().at(0); } catch (const std::out_of_range&) { return; } long windowLength = 1; /* windowLength (defined in samples) determines the size of the window for computing slopes. if the window length larger than 1 is used, a kind of smoothing and low pass filtering is applied. If slope estimates from data with different sampling rates should be compared, the window should be choosen in such a way that the length in milliseconds is approximately the same. This reduces some variability, the slope estimates are more robust and comparible. Set window length to 0.05 ms, with a minimum of 1 sample. In this way, all data sampled with 20 kHz or lower, will use a 1 sample window, data with a larger sampling rate use a window of 0.05 ms for computing the slope. */ windowLength = lround(0.05 * GetSR()); // use window length of about 0.05 ms. if (windowLength < 1) windowLength = 1; // use a minimum window length of 1 sample //Begin peak and base calculation //------------------------------- try { base=stfnum::base(baselineMethod,var,cursec().get(),baseBeg,baseEnd); baseSD=sqrt(var); peak=stfnum::peak(cursec().get(),base, peakBeg,peakEnd,pM,direction,maxT); } catch (const std::out_of_range& e) { base=0.0; baseSD=0.0; peak=0.0; throw e; } try { threshold = stfnum::threshold( cursec().get(), peakBeg, peakEnd, slopeForThreshold/GetSR(), thrT, windowLength ); } catch (const std::out_of_range& e) { threshold = 0; throw e; } //Begin Lo to Hi% Rise Time calculation //------------------------------------- // 2009-06-05: reference is either from baseline or from threshold double reference = base; if (!fromBase && thrT >= 0) { reference = threshold; } double ampl=peak-reference; tLoReal=0.0; double factor= RTFactor*0.01; /* normalized value */ InnerLoRT=NAN; InnerHiRT=NAN; OuterLoRT=NAN; OuterHiRT=NAN; try { // 2008-04-27: changed limits to start from the beginning of the trace // 2013-06-16: changed to accept different rise-time proportions rtLoHi=stfnum::risetime2(cursec().get(),reference,ampl, (double)0/*(double)baseEnd*/, maxT, factor/*0.2*/, InnerLoRT, InnerHiRT, OuterLoRT, OuterHiRT); InnerLoRT/=GetSR(); InnerHiRT/=GetSR(); OuterLoRT/=GetSR(); OuterHiRT/=GetSR(); } catch (const std::out_of_range& e) { throw e; } try { // 2008-04-27: changed limits to start from the beginning of the trace // 2013-06-16: changed to accept different rise-time proportions rtLoHi=stfnum::risetime(cursec().get(),reference,ampl, (double)0/*(double)baseEnd*/, maxT, factor/*0.2*/, tLoIndex, tHiIndex, tLoReal); } catch (const std::out_of_range& e) { rtLoHi=0.0; throw e; } tHiReal=tLoReal+rtLoHi; rtLoHi/=GetSR(); //Begin Half Duration calculation //------------------------------- //t50LeftReal=0.0; // 2008-04-27: changed limits to start from the beginning of the trace // and to stop at the end of the trace halfDuration = stfnum::t_half(cursec().get(), reference, ampl, (double)0 /*(double)baseBeg*/, (double)cursec().size()-1 /*(double)peakEnd*/,maxT, t50LeftIndex, t50RightIndex, t50LeftReal); t50RightReal=t50LeftReal+halfDuration; halfDuration/=GetSR(); t50Y=0.5*ampl + reference; //Calculate the beginning of the event by linear extrapolation: if (latencyEndMode==stf::footMode) { t0Real=tLoReal-(tHiReal-tLoReal)/3.0; } else { t0Real=t50LeftReal; } //Begin Ratio of slopes rise/decay calculation //-------------------------------------------- double left_rise = peakBeg; maxRise=stfnum::maxRise(cursec().get(),left_rise,maxT,maxRiseT,maxRiseY,windowLength); double t_half_3=t50RightIndex+2.0*(t50RightIndex-t50LeftIndex); double right_decay=peakEnd<=t_half_3 ? peakEnd : t_half_3+1; maxDecay=stfnum::maxDecay(cursec().get(),maxT,right_decay,maxDecayT,maxDecayY,windowLength); //Slope ratio if (maxDecay !=0) slopeRatio=maxRise/maxDecay; else slopeRatio=0.0; maxRise *= GetSR(); maxDecay *= GetSR(); if (size()>1) { //Calculate the absolute peak of the (AP) Ch2 inbetween the peak boundaries //A direction dependent evaluation of the peak as in Ch1 does NOT exist!! // endResting is set to 100 points arbitrarily in the pascal version // (see measlib.pas) assuming that the resting potential is stable // during the first 100 sampling points. // const int endResting=100; const int searchRange=100; double APBase=0.0, APVar=0.0; try { // in 2012-11-02: use baseline cursors and not arbitrarily 100 points //APBase=stfnum::base(APVar,secsec().get(),0,endResting); APBase=stfnum::base(baselineMethod,APVar,secsec().get(), baseBeg, baseEnd ); // use baseline cursors //APPeak=stfnum::peak(secsec().get(),APBase,peakBeg,peakEnd,pM,stfnum::up,APMaxT); APPeak=stfnum::peak( secsec().get(),APBase ,peakBeg ,peakEnd ,pM,direction ,APMaxT ); } catch (const std::out_of_range& e) { APBase=0.0; APPeak=0.0; throw e; } //------------------------------- //Maximal slope in the rise before the peak //---------------------------- APMaxRiseT=0.0; APMaxRiseY=0.0; double left_APRise = peakBeg; if (GetLatencyWindowMode() == stf::defaultMode ) { left_APRise= APMaxT-searchRange>2.0 ? APMaxT-searchRange : 2.0; } try { stfnum::maxRise(secsec().get(),left_APRise,APMaxT,APMaxRiseT,APMaxRiseY,windowLength); } catch (const std::out_of_range&) { APMaxRiseT=0.0; APMaxRiseY=0.0; left_APRise = peakBeg; } //End determination of the region of maximal slope in the second channel //---------------------------- //------------------------------- //Half-maximal amplitude //---------------------------- //APt50LeftReal=0.0; //std::size_t APt50LeftIndex,APt50RightIndex; stfnum::t_half(secsec().get(), APBase, APPeak-APBase, left_APRise, (double)secsec().get().size(), APMaxT, APt50LeftIndex, APt50RightIndex, APt50LeftReal); //End determination of the region of maximal slope in the second channel //---------------------------- } // get and set start of latency measurement: double latStart=0.0; switch (latencyStartMode) { // Interestingly, latencyCursor is an int in pascal, although // the maxTs aren't. That's why there are double type casts // here. case stf::peakMode: //Latency cursor is set to the peak latStart=APMaxT; break; case stf::riseMode: latStart=APMaxRiseT; break; case stf::halfMode: latStart=APt50LeftReal; break; case stf::manualMode: default: latStart=GetLatencyBeg(); break; } SetLatencyBeg(latStart); // get and set end of latency measurement: double latEnd=0.0; switch (latencyEndMode) { // Interestingly, latencyCursor is an int in pascal, although // the maxTs aren't. That's why there are double type casts // here. case stf::footMode: //Latency cursor is set to the peak latEnd=tLoReal-(tHiReal-tLoReal)/3.0; break; case stf::riseMode: latEnd=maxRiseT; break; case stf::halfMode: latEnd=t50LeftReal; break; case stf::peakMode: latEnd=maxT; break; case stf::manualMode: default: latEnd=GetLatencyEnd(); break; } SetLatencyEnd(latEnd); SetLatency(GetLatencyEnd()-GetLatencyBeg()); #ifdef WITH_PSLOPE //------------------------------------- // Begin PSlope calculation (PSP Slope) //------------------------------------- // int PSlopeBegVal; switch (pslopeBegMode) { case stf::psBeg_footMode: // Left PSlope to commencement PSlopeBegVal = (int)(tLoReal-(tHiReal-tLoReal)/3.0); break; case stf::psBeg_thrMode: // Left PSlope to threshold PSlopeBegVal = (int)thrT; break; case stf::psBeg_t50Mode: // Left PSlope to the t50 PSlopeBegVal = (int)t50LeftReal; break; case stf::psBeg_manualMode: // Left PSlope cursor manual default: PSlopeBegVal = PSlopeBeg; } SetPSlopeBeg(PSlopeBegVal); int PSlopeEndVal; switch (pslopeEndMode) { case stf::psEnd_t50Mode: // Right PSlope to t50rigth PSlopeEndVal = (int)t50LeftReal; break; case stf::psEnd_peakMode: // Right PSlope to peak PSlopeEndVal = (int)maxT; break; case stf::psEnd_DeltaTMode: // Right PSlope to DeltaT time from first peak PSlopeEndVal = (int)(PSlopeBeg + DeltaT); break; case stf::psEnd_manualMode: default: PSlopeEndVal = PSlopeEnd; } SetPSlopeEnd(PSlopeEndVal); try { PSlope = (stfnum::pslope(cursec().get(), PSlopeBeg, PSlopeEnd))*GetSR(); } catch (const std::out_of_range& e) { PSlope = 0.0; throw e; } //----------------------------------- // End PSlope calculation (PSP Slope) //----------------------------------- #endif // WITH_PSLOPE //-------------------------- } //End of Measure(,,,,,) void wxStfDoc::CopyCursors(const wxStfDoc& c_Recording) { measCursor=c_Recording.measCursor; correctRangeR(measCursor); baseBeg=c_Recording.baseBeg; correctRangeR(baseBeg); baseEnd=c_Recording.baseEnd; correctRangeR(baseEnd); peakBeg=c_Recording.peakBeg; correctRangeR(peakBeg); peakEnd=c_Recording.peakEnd; correctRangeR(peakEnd); fitBeg=c_Recording.fitBeg; correctRangeR(fitBeg); fitEnd=c_Recording.fitEnd; correctRangeR(fitEnd); #ifdef WITH_PSLOPE PSlopeBeg = c_Recording.PSlopeBeg; // PSlope left cursor correctRangeR(PSlopeBeg); PSlopeEnd = c_Recording.PSlopeEnd; // PSlope right cursor correctRangeR(PSlopeEnd); DeltaT=c_Recording.DeltaT; //distance (number of points) from first cursor #endif pM=c_Recording.pM; //peakMean, number of points used for averaging } void wxStfDoc::SetLatencyStartMode(int value) { switch (value) { case 1: latencyStartMode=stf::peakMode; break; case 2: latencyStartMode=stf::riseMode; break; case 3: latencyStartMode=stf::halfMode; break; case 4: latencyStartMode=stf::footMode; break; case 0: default: latencyStartMode=stf::manualMode; } } void wxStfDoc::SetLatencyEndMode(int value) { switch (value) { case 1: latencyEndMode=stf::peakMode; break; case 2: latencyEndMode=stf::riseMode; break; case 3: latencyEndMode=stf::halfMode; break; case 4: latencyEndMode=stf::footMode; break; case 0: default: latencyEndMode=stf::manualMode; } } void wxStfDoc::SetLatencyWindowMode(int value) { if ( value == 1 ) { latencyWindowMode = stf::windowMode; } else { latencyWindowMode = stf::defaultMode; } } void wxStfDoc::correctRangeR(int& value) { if (value<0) { value=0; return; } if (value>=(int)cursec().size()) { value=(int)cursec().size()-1; return; } } void wxStfDoc::correctRangeR(std::size_t& value) { if (value>=cursec().size()) { value=cursec().size()-1; return; } } void wxStfDoc::SetMeasCursor(int value) { correctRangeR(value); measCursor=value; } double wxStfDoc::GetMeasValue() { if (measCursor>=curch().size()) { correctRangeR(measCursor); } return cursec().at(measCursor); } void wxStfDoc::SetBaseBeg(int value) { correctRangeR(value); baseBeg=value; } void wxStfDoc::SetBaseEnd(int value) { correctRangeR(value); baseEnd=value; } void wxStfDoc::SetPeakBeg(int value) { correctRangeR(value); peakBeg=value; } void wxStfDoc::SetPeakEnd(int value) { correctRangeR(value); peakEnd=value; } void wxStfDoc::SetFitBeg(int value) { correctRangeR(value); fitBeg=value; } void wxStfDoc::SetFitEnd(int value) { correctRangeR(value); fitEnd=value; } void wxStfDoc::SetLatencyBeg(double value) { if (value<0.0) { value=0.0; } if (value>=(double)cursec().size()) { value=cursec().size()-1.0; } latencyStartCursor=value; } void wxStfDoc::SetLatencyEnd(double value) { if (value<0.0) { value=0.0; } if (value>=(double)cursec().size()) { value=cursec().size()-1.0; } latencyEndCursor=value; } void wxStfDoc::SetRTFactor(int value) { if (value < 0){ value = 5; } else if (value > 50) { value = 45; } RTFactor = value; } #ifdef WITH_PSLOPE void wxStfDoc::SetPSlopeBeg(int value) { correctRangeR(value); PSlopeBeg = value; } void wxStfDoc::SetPSlopeEnd(int value) { correctRangeR(value); PSlopeEnd = value; } #endif stfnum::Table wxStfDoc::CurAsTable() const { stfnum::Table table(cursec().size(),size()); try { for (std::size_t nRow=0;nRow= 0) { table.at(0,nCol) = GetPeak()-GetThreshold(); } else { table.at(0,nCol) = 0; } if (viewCursors) { table.at(1,nCol)=GetPeakBeg()*GetXScale(); table.at(2,nCol)=GetPeakEnd()*GetXScale(); } nCol++; } // RT (Lo-Hi%) if (viewRTLoHi) {table.at(0,nCol)=GetRTLoHi(); if (viewCursors) { table.at(1,nCol)=GetTLoReal()*GetXScale(); table.at(2,nCol)=GetTHiReal()*GetXScale(); } nCol++; } if (viewInnerRiseTime) { table.at(0,nCol)=GetInnerRiseTime(); if (viewCursors) { table.at(1,nCol)=GetInnerLoRT(); table.at(2,nCol)=GetInnerHiRT(); } nCol++; } if (viewOuterRiseTime) { table.at(0,nCol)=GetOuterRiseTime(); if (viewCursors) { table.at(1,nCol)=GetOuterLoRT(); table.at(2,nCol)=GetOuterHiRT(); } nCol++; } // Half duration if (viewT50) {table.at(0,nCol)=GetHalfDuration(); if (viewCursors) { table.at(1,nCol)=GetT50LeftReal()*GetXScale(); table.at(2,nCol)=GetT50RightReal()*GetXScale(); } nCol++; } // Rise/decay if (viewRD) {table.at(0,nCol)=GetSlopeRatio(); if (viewCursors) { table.at(1,nCol)=GetMaxRiseT()*GetXScale(); table.at(2,nCol)=GetMaxDecayT()*GetXScale(); } nCol++; } // Max rise if (viewSloperise) {table.at(0,nCol)=GetMaxRise(); if (viewCursors) { table.at(1,nCol)=GetMaxRiseT()*GetXScale(); table.SetEmpty(2,nCol,true); } nCol++; } // Max decay if (viewSlopedecay) {table.at(0,nCol)=GetMaxDecay(); if (viewCursors) { table.at(1,nCol)=GetMaxDecayT()*GetXScale(); table.SetEmpty(2,nCol,true); } nCol++; } // Latency if (viewLatency) {table.at(0,nCol)=GetLatency()*GetXScale(); if (viewCursors) { table.at(1,nCol)=GetLatencyBeg()*GetXScale(); table.at(2,nCol)=GetLatencyEnd()*GetXScale(); } nCol++; } #ifdef WITH_PSLOPE // PSlope if (viewPSlope) {table.at(0,nCol)=GetPSlope(); if (viewCursors) { table.at(1,nCol)=GetPSlopeBeg()*GetXScale(); table.at(2,nCol)=GetPSlopeEnd()*GetXScale(); } nCol++; } #endif // WITH_PSLOPE return table; } void wxStfDoc::resize(std::size_t c_n_channels) { Recording::resize(c_n_channels); yzoom.resize(size()); sec_attr.resize(size()); for (std::size_t nchannel = 0; nchannel < size(); ++nchannel) { sec_attr[nchannel].resize(at(nchannel).size()); } } void wxStfDoc::InsertChannel(Channel& c_Channel, std::size_t pos) { Recording::InsertChannel(c_Channel, pos); yzoom.resize(size()); sec_attr.resize(size()); for (std::size_t nchannel = 0; nchannel < size(); ++nchannel) { sec_attr[nchannel].resize(at(nchannel).size()); } } void wxStfDoc::SetIsFitted( std::size_t nchannel, std::size_t nsection, const Vector_double& bestFitP_, stfnum::storedFunc* fitFunc_, double chisqr, std::size_t fitBeg, std::size_t fitEnd ) { if (nchannel >= sec_attr.size() || nsection >= sec_attr[nchannel].size()) { throw std::out_of_range("Index out of range in wxStfDoc::SetIsFitted"); } if ( !fitFunc_ ) { throw std::runtime_error("Function pointer is zero in wxStfDoc::SetIsFitted"); } if ( fitFunc_->pInfo.size() != bestFitP_.size() ) { throw std::runtime_error("Number of best-fit parameters doesn't match number\n \ of function parameters in wxStfDoc::SetIsFitted"); } sec_attr[nchannel][nsection].fitFunc = fitFunc_; if ( sec_attr[nchannel][nsection].bestFitP.size() != bestFitP_.size() ) sec_attr[nchannel][nsection].bestFitP.resize(bestFitP_.size()); sec_attr[nchannel][nsection].bestFitP = bestFitP_; sec_attr[nchannel][nsection].bestFit = sec_attr[nchannel][nsection].fitFunc->output(sec_attr[nchannel][nsection].bestFitP, sec_attr[nchannel][nsection].fitFunc->pInfo, chisqr ); sec_attr[nchannel][nsection].storeFitBeg = fitBeg; sec_attr[nchannel][nsection].storeFitEnd = fitEnd; sec_attr[nchannel][nsection].isFitted = true; } void wxStfDoc::DeleteFit(std::size_t nchannel, std::size_t nsection) { if (nchannel >= sec_attr.size() || nsection >= sec_attr[nchannel].size()) { throw std::out_of_range("Index out of range in wxStfDoc::DeleteFit"); } sec_attr[nchannel][nsection].fitFunc = NULL; sec_attr[nchannel][nsection].bestFitP.resize( 0 ); sec_attr[nchannel][nsection].bestFit = stfnum::Table( 0, 0 ); sec_attr[nchannel][nsection].isFitted = false; } void wxStfDoc::SetIsIntegrated(std::size_t nchannel, std::size_t nsection, bool value, std::size_t begin, std::size_t end, const Vector_double& quad_p_) { if (nchannel >= sec_attr.size() || nsection >= sec_attr[nchannel].size()) { throw std::out_of_range("Index out of range in wxStfDoc::SetIsIntegrated"); } if (value==false) { sec_attr[nchannel][nsection].isIntegrated=value; return; } if (end<=begin) { throw std::out_of_range("integration limits out of range in Section::SetIsIntegrated"); } int n_intervals=std::div((int)end-(int)begin,2).quot; if ((int)quad_p_.size() != n_intervals*3) { throw std::out_of_range("Wrong number of parameters for quadratic equations in Section::SetIsIntegrated"); } sec_attr[nchannel][nsection].quad_p = quad_p_; sec_attr[nchannel][nsection].isIntegrated=value; sec_attr[nchannel][nsection].storeIntBeg=begin; sec_attr[nchannel][nsection].storeIntEnd=end; } void wxStfDoc::ClearEvents(std::size_t nchannel, std::size_t nsection) { try { sec_attr.at(nchannel).at(nsection).eventList.clear(); } catch(const std::out_of_range& e) { throw e; } } const stf::SectionAttributes& wxStfDoc::GetSectionAttributes(std::size_t nchannel, std::size_t nsection) const { try { return sec_attr.at(nchannel).at(nsection); } catch(const std::out_of_range& e) { throw e; } } const stf::SectionAttributes& wxStfDoc::GetCurrentSectionAttributes() const { try { return sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()); } catch(const std::out_of_range& e) { throw e; } } stf::SectionAttributes& wxStfDoc::GetCurrentSectionAttributesW() { try { return sec_attr.at(GetCurChIndex()).at(GetCurSecIndex()); } catch(const std::out_of_range& e) { throw e; } } #if 0 void wxStfDoc::Userdef(std::size_t id) { wxBusyCursor wc; int fselect=(int)id; Recording newR; Vector_double init(0); // get user input if necessary: if (!wxGetApp().GetPluginLib().at(fselect).input.labels.empty()) { wxStfUsrDlg myDlg( GetDocumentWindow(), wxGetApp().GetPluginLib().at(fselect).input ); if (myDlg.ShowModal()!=wxID_OK) { return; } init=myDlg.readInput(); } // Apply function to current valarray std::map< wxString, double > resultsMap; try { newR=wxGetApp().GetPluginLib().at(fselect).pluginFunc( *this, init, resultsMap ); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return; } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return; } catch (const std::exception& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal )); return; } if (newR.size()==0) { return; } wxString newTitle(GetTitle()); newTitle += wxT(", "); newTitle += wxGetApp().GetPluginLib().at(fselect).menuEntry; wxStfDoc* pDoc = wxGetApp().NewChild(newR,this,newTitle); ((wxStfChildFrame*)pDoc->GetDocumentWindow())->ShowTable( stfnum::Table(resultsMap), wxGetApp().GetPluginLib().at(fselect).menuEntry ); } #endif stimfit-0.14.11/src/stimfit/gui/table.h0000755000175200017520000000501212472345762014571 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file table.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfTable. Derived from wxGridTableBase. */ #ifndef _TABLE_H #define _TABLE_H #include "../stf.h" /*! \addtogroup wxstf * @{ */ //! Adapts stfnum::Table to be used by wxStfGrid class wxStfTable : public wxGridTableBase { public: //! Constructor /*! \param table_ The associated stfnum::Table */ wxStfTable(const stfnum::Table& table_) : table(table_) {} //! Get the number of rows. /*! \return The number of rows. */ virtual int GetNumberRows() {return (int)table.nRows()+1;} //! Get the number of columns. /*! \return The number of columns. */ virtual int GetNumberCols() {return (int)table.nCols()+1;} //! Check whether a cell is empty. /*! \param row The row number of the cell. * \param col The column number of the cell. * \return true if the cell is empty, false otherwise. */ virtual bool IsEmptyCell(int row,int col); //! Retrieve a cell entry. /*! \param row The row number of the cell. * \param col The column number of the cell. * \return The cell entry as a string. */ virtual wxString GetValue( int row, int col ); //! Set a cell entry. /*! \param row The row number of the cell. * \param col The column number of the cell. * \param value The new cell entry. */ virtual void SetValue( int row, int col, const wxString& value ); //! Retrieve values from selected cells. /*! \param selection The selected cells. * \return The selection as a single string. */ wxString GetSelection(const wxGridCellCoordsArray& selection); private: stfnum::Table table; }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/printout.h0000755000175200017520000000512712277666257015405 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file printout.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfPrintout. Derived from wxPrintout to handle printing of traces. */ #ifndef _PRINTOUT_H #define _PRINTOUT_H /*! \addtogroup wxstf * @{ */ //! Handles printing of traces. class wxStfPrintout : public wxPrintout { public: //! Constructor /*! \param title Printout title */ wxStfPrintout(const wxChar *title = _T("Printout")); //! Called by the framework when a page should be printed. /*! \param page The page number to be printed * \return false will cancel the print job. */ bool OnPrintPage(int page); //! Checks whether a page exists. /*! \param page The page number to be checked. * \return True if \e page exists. */ bool HasPage(int page); //! Called by the framework at the start of document printing. /*! \param startPage Page from which to start printing. * \param endPage Page at which to end printing. * \return false cancels the print job. */ bool OnBeginDocument(int startPage, int endPage); //! Retrieve information about the pages that will be printed. /*! \param minPage On return, a pointer to the minimal page number allowed. * \param maxPage On return, a pointer to the maximal page number allowed. * \param selPageFrom On return, a pointer to the minimal selected page number allowed. * \param selPageTo On return, a pointer to the maximal selected page number allowed. */ void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo); //! Prints the first (and only) page. void DrawPageOne(); private: void PrintHeader(wxDC* pDC,double scale); bool store_noGimmicks; wxStfDoc* Doc() const {return wxGetApp().GetActiveDoc();} }; /*@}*/ #endif stimfit-0.14.11/src/stimfit/gui/dlgs/0000755000175200017520000000000012623045305014325 500000000000000stimfit-0.14.11/src/stimfit/gui/dlgs/convertdlg.h0000644000175200017520000000635612521540625016601 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file convertdlg.h * \author Christoph Schmidt-Hieber * \date 2015-05-04 * \brief Batch conversion of files */ #ifndef _CONVERTDLG_H #define _CONVERTDLG_H /*! \addtogroup wxstf * @{ */ #include #include #include #include "./../../stf.h" //! Dialog for batch conversion of files.from cfs to atf. class wxStfConvertDlg : public wxDialog { DECLARE_EVENT_TABLE() private: wxGenericDirCtrl *mySrcDirCtrl, *myDestDirCtrl; wxString srcDir,destDir; wxString srcFilter; wxCheckBox* myCheckBoxSubdirs; stfio::filetype srcFilterExt, destFilterExt; wxArrayString srcFileNames; bool ReadPath(const wxString& path); void OnComboBoxSrcExt(wxCommandEvent& event); void OnComboBoxDestExt(wxCommandEvent& event); //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfConvertDlg( wxWindow* parent, int id = wxID_ANY, wxString title = wxT("Convert file series"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the source directory. /*! \return The source directory. */ wxString GetSrcDir() const {return srcDir;} //! Get the destination directory. /*! \return The destination directory. */ wxString GetDestDir() const {return destDir;} //! Get the source extension filter. /*! \return The source extension filter. */ wxString GetSrcFilter() const {return srcFilter;} //! Get the source extension as stfio::filetype. /*! \return The source extension as stfio::filetype. */ stfio::filetype GetSrcFileExt() const {return srcFilterExt;} //! Get the destination extension as stfio::filetype. /*! \return The destination extension as stfio::filetype. */ stfio::filetype GetDestFileExt() const {return destFilterExt;} //! Get the list of file names. /*! \return A vector with source file names. */ wxArrayString GetSrcFileNames() const {return srcFileNames;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; /* @} */ #endif stimfit-0.14.11/src/stimfit/gui/dlgs/cursorsdlg.cpp0000755000175200017520000024445412472345762017174 00000000000000#include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "./../app.h" #include "./cursorsdlg.h" #include "./../doc.h" enum { wxLOADCRS, wxSAVECRS, wxCOMBOUM, wxCOMBOU1P, wxCOMBOU2P, wxCOMBOU1B, wxCOMBOU2B, wxCOMBOU1D, wxCOMBOU2D, wxCOMBOU1L, wxCOMBOU2L, #ifdef WITH_PSLOPE wxCOMBOU1PS, wxCOMBOU2PS, #endif wxTEXTM, wxTEXT1P, wxTEXT2P, wxTEXT1B, wxTEXT2B, wxTEXT1D, wxTEXT2D, wxTEXT1L, wxTEXT2L, #ifdef WITH_PSLOPE wxTEXT1PS, wxTEXT2PS, wxTEXT_PSDELTAT, #endif wxTEXTPM, wxRADIOALL, wxRADIOMEAN, wxRADIO_BASELINE_METHOD, // 0: mean + s.d.; 1: median + iqr wxRADIO_LAT_MAXSLOPE1, wxRADIO_LAT_HALFWIDTH1, wxRADIO_LAT_PEAK1, wxRADIO_LAT_MANUAL1, wxRADIO_LAT_EVENT2, wxRADIO_LAT_MAXSLOPE2, wxRADIO_LAT_HALFWIDTH2, wxRADIO_LAT_PEAK2, wxRADIO_LAT_MANUAL2, wxLATENCYWINDOW, #ifdef WITH_PSLOPE // Slope radio boxes wxRADIO_PSManBeg, wxRADIO_PSEventBeg, wxRADIO_PSThrBeg, wxRADIO_PSt50Beg, wxRADIO_PSManEnd, wxRADIO_PSt50End, wxRADIO_PSDeltaT, wxRADIO_PSPeakEnd, #endif //WITH_PSLOPE wxMEASCURSOR, wxPEAKATEND, wxPEAKMEAN, wxDIRECTION, wxSLOPE, wxSLOPEUNITS, wxREFERENCE, wxSTARTFITATPEAK, //wxID_STARTFITATPEAK, wxRT_LABEL, wxRT_SLIDER, wxIDNOTEBOOK }; BEGIN_EVENT_TABLE( wxStfCursorsDlg, wxDialog ) EVT_NOTEBOOK_PAGE_CHANGED(wxIDNOTEBOOK, wxStfCursorsDlg::OnPageChanged) EVT_COMBOBOX( wxCOMBOUM, wxStfCursorsDlg::OnComboBoxUM ) EVT_COMBOBOX( wxCOMBOU1P, wxStfCursorsDlg::OnComboBoxU1P ) EVT_COMBOBOX( wxCOMBOU2P, wxStfCursorsDlg::OnComboBoxU2P ) EVT_COMBOBOX( wxCOMBOU1B, wxStfCursorsDlg::OnComboBoxU1B ) EVT_COMBOBOX( wxCOMBOU2B, wxStfCursorsDlg::OnComboBoxU2B ) EVT_COMBOBOX( wxCOMBOU1D, wxStfCursorsDlg::OnComboBoxU1D ) EVT_COMBOBOX( wxCOMBOU2D, wxStfCursorsDlg::OnComboBoxU2D ) EVT_COMBOBOX( wxCOMBOU1L, wxStfCursorsDlg::OnComboBoxU1L ) EVT_COMBOBOX( wxCOMBOU2L, wxStfCursorsDlg::OnComboBoxU2L ) #ifdef WITH_PSLOPE EVT_COMBOBOX( wxCOMBOU1PS, wxStfCursorsDlg::OnComboBoxU1PS ) EVT_COMBOBOX( wxCOMBOU2PS, wxStfCursorsDlg::OnComboBoxU2PS ) #endif EVT_BUTTON( wxID_APPLY, wxStfCursorsDlg::OnPeakcalcexec ) EVT_BUTTON( wxID_OPEN, wxStfCursorsDlg::OnLoadCursorConf ) EVT_BUTTON( wxID_SAVE, wxStfCursorsDlg::OnSaveCursorConf ) // bindings radio buttons EVT_RADIOBUTTON( wxRADIOALL, wxStfCursorsDlg::OnRadioAll ) EVT_RADIOBUTTON( wxRADIOMEAN, wxStfCursorsDlg::OnRadioMean ) EVT_RADIOBUTTON( wxRADIO_LAT_MANUAL1, wxStfCursorsDlg::OnRadioLatManualBeg ) EVT_RADIOBUTTON( wxRADIO_LAT_MAXSLOPE1, wxStfCursorsDlg::OnRadioLatNonManualBeg ) EVT_RADIOBUTTON( wxRADIO_LAT_HALFWIDTH1, wxStfCursorsDlg::OnRadioLatNonManualBeg ) EVT_RADIOBUTTON( wxRADIO_LAT_PEAK1, wxStfCursorsDlg::OnRadioLatNonManualBeg ) EVT_RADIOBUTTON( wxRADIO_LAT_MANUAL2, wxStfCursorsDlg::OnRadioLatManualEnd ) EVT_RADIOBUTTON( wxRADIO_LAT_HALFWIDTH2, wxStfCursorsDlg::OnRadioLatNonManualEnd ) EVT_RADIOBUTTON( wxRADIO_LAT_PEAK2, wxStfCursorsDlg::OnRadioLatNonManualEnd ) EVT_RADIOBUTTON( wxRADIO_LAT_MAXSLOPE2, wxStfCursorsDlg::OnRadioLatNonManualEnd ) EVT_RADIOBUTTON( wxRADIO_LAT_EVENT2, wxStfCursorsDlg::OnRadioLatNonManualEnd ) EVT_COMMAND_SCROLL( wxRT_SLIDER, wxStfCursorsDlg::OnRTSlider ) EVT_CHECKBOX (wxPEAKATEND, wxStfCursorsDlg::OnPeakAtEnd ) EVT_CHECKBOX (wxSTARTFITATPEAK, wxStfCursorsDlg::OnStartFitAtPeak ) #ifdef WITH_PSLOPE EVT_RADIOBUTTON( wxRADIO_PSManBeg, wxStfCursorsDlg::OnRadioPSManBeg ) EVT_RADIOBUTTON( wxRADIO_PSEventBeg, wxStfCursorsDlg::OnRadioPSEventBeg ) EVT_RADIOBUTTON( wxRADIO_PSThrBeg, wxStfCursorsDlg::OnRadioPSThrBeg ) EVT_RADIOBUTTON( wxRADIO_PSt50Beg, wxStfCursorsDlg::OnRadioPSt50Beg ) EVT_RADIOBUTTON( wxRADIO_PSManEnd, wxStfCursorsDlg::OnRadioPSManEnd ) EVT_RADIOBUTTON( wxRADIO_PSt50End, wxStfCursorsDlg::OnRadioPSt50End ) EVT_RADIOBUTTON( wxRADIO_PSDeltaT, wxStfCursorsDlg::OnRadioPSDeltaT ) EVT_RADIOBUTTON( wxRADIO_PSPeakEnd, wxStfCursorsDlg::OnRadioPSPeakEnd ) #endif END_EVENT_TABLE() wxStfCursorsDlg::wxStfCursorsDlg(wxWindow* parent, wxStfDoc* initDoc, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), cursorMIsTime(true), cursor1PIsTime(true), cursor2PIsTime(true), cursor1BIsTime(true), cursor2BIsTime(true), cursor1DIsTime(true), cursor2DIsTime(true), #ifdef WITH_PSLOPE cursor1PSIsTime(true), cursor2PSIsTime(true), #endif cursor1LIsTime(true), cursor2LIsTime(true), actDoc(initDoc) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); m_notebook = new wxNotebook( this, wxIDNOTEBOOK, wxDefaultPosition, wxDefaultSize, 0 ); m_notebook->AddPage( CreateMeasurePage(), wxT("Measure")); m_notebook->AddPage( CreatePeakPage(), wxT("Peak")); m_notebook->AddPage( CreateBasePage(), wxT("Base")); m_notebook->AddPage( CreateDecayPage(), wxT("Decay")); m_notebook->AddPage( CreateLatencyPage(), wxT("Latency")); #ifdef WITH_PSLOPE m_notebook->AddPage( CreatePSlopePage(), wxT("PSlope")); #endif topSizer->Add( m_notebook, 1, wxEXPAND | wxALL, 5 ); wxButton* bClose = new wxButton( this, wxID_CANCEL, wxT("Close") ); wxButton* bApply = new wxButton( this, wxID_APPLY, wxT("Apply") ); wxButton* bLoad = new wxButton( this, wxID_OPEN, wxT("Load") ); wxButton* bSave = new wxButton( this, wxID_SAVE, wxT("Save") ); wxBoxSizer* pSdbSizer = new wxBoxSizer(wxHORIZONTAL); pSdbSizer->Add( bClose, 0, wxALL, 1); pSdbSizer->Add( bApply, 0, wxALL, 1); pSdbSizer->Add( bLoad, 0, wxALL, 1); pSdbSizer->Add( bSave, 0, wxALL, 1); //pSdbSizer->Realize(); topSizer->Add( pSdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); if (actDoc!=NULL) { try { UpdateCursors(); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal )); } } } bool wxStfCursorsDlg::TransferDataFromWindow() { // Apply settings before closing dialog: wxCommandEvent unusedEvent; return wxWindow::TransferDataFromWindow(); } void wxStfCursorsDlg::EndModal(int retCode) { wxCommandEvent unusedEvent; // similar to overriding OnOK in MFC (I hope...) switch (retCode) { case wxID_OK: if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } OnPeakcalcexec(unusedEvent); break; case wxID_CANCEL: break; default: ; } wxDialog::EndModal(retCode); } bool wxStfCursorsDlg::IsCSRSyntax( wxFileConfig* csr_file) { wxString msg = wxT("Syntax Error: "); // Check groups wxString CSR_Group[] = { wxT("__CSR_HEADER__"), wxT("__MEASURE__"), wxT("__PEAK__"), wxT("__BASE__"), wxT("__DECAY__"), wxT("__LATENCY__") }; unsigned int nGroups = sizeof(CSR_Group)/sizeof(wxString); for (std::vector::size_type i=0; iHasGroup(CSR_Group[i])) { wxGetApp().ErrorMsg( msg + CSR_Group[i] + wxT(" not found !") ); return false; } } // check entry in every group // Other checkings... number of Groups if (nGroups != csr_file->GetNumberOfGroups()) { wxGetApp().ErrorMsg( wxT("Unexpected number of groups") ); return false; } return true; } bool wxStfCursorsDlg::OnOK() { //wxCommandEvent unusedEvent; //OnPeakcalcexec(unusedEvent); return true; } wxNotebookPage* wxStfCursorsDlg::CreateMeasurePage() { wxPanel* nbPage; nbPage=new wxPanel(m_notebook); wxBoxSizer* pageSizer; pageSizer=new wxBoxSizer(wxVERTICAL); pageSizer->Add( CreateCursorInput( nbPage, wxTEXTM, -1, wxCOMBOUM, -1, 1, 10 ), 0, wxALIGN_CENTER | wxALL, 2 ); wxCheckBox* pMeasCursor=new wxCheckBox( nbPage, wxMEASCURSOR, wxT("Show vertical ruler through cursor"), wxDefaultPosition, wxDefaultSize, 0 ); pageSizer->Add( pMeasCursor, 0, wxALIGN_CENTER | wxALL, 2); pageSizer->SetSizeHints( nbPage ); nbPage->SetSizer( pageSizer ); nbPage->Layout(); return nbPage; } wxNotebookPage* wxStfCursorsDlg::CreatePeakPage() { wxPanel* nbPage; nbPage=new wxPanel(m_notebook); wxBoxSizer* pageSizer; pageSizer=new wxBoxSizer(wxVERTICAL); pageSizer->Add( CreateCursorInput( nbPage, wxTEXT1P, wxTEXT2P, wxCOMBOU1P, wxCOMBOU2P, 1, 10 ), 0, wxALIGN_CENTER | wxALL, 2 ); wxCheckBox* pPeakAtEnd=new wxCheckBox( nbPage, wxPEAKATEND, wxT("Peak window ends at end of trace"), wxDefaultPosition, wxDefaultSize, 0 ); pPeakAtEnd->SetValue(false); pageSizer->Add( pPeakAtEnd, 0, wxALIGN_CENTER | wxALL, 2); wxFlexGridSizer* peakSettingsGrid; peakSettingsGrid=new wxFlexGridSizer(1,2,0,0); // rows, cols // START: Number of points for peak calculation: wxFlexGridSizer* CommonGrid; CommonGrid = new wxFlexGridSizer(1,2,0,0); wxFlexGridSizer* LeftGrid; LeftGrid = new wxFlexGridSizer(1,0,0); wxStaticBoxSizer* peakPointsSizer = new wxStaticBoxSizer( wxVERTICAL, nbPage, wxT("Number of points for peak") ); wxRadioButton* pAllPoints = new wxRadioButton( nbPage, wxRADIOALL, wxT("All points within peak window"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); wxRadioButton* pMeanPoints = new wxRadioButton( nbPage, wxRADIOMEAN, wxT("User-defined:"), wxDefaultPosition, wxDefaultSize ); wxFlexGridSizer* usrdefGrid; usrdefGrid = new wxFlexGridSizer(1,2,0,0); usrdefGrid->Add(pMeanPoints, 0, wxALIGN_RIGHT |wxALIGN_CENTER_VERTICAL | wxALL, 2); wxTextCtrl* textMeanPoints=new wxTextCtrl( nbPage, wxTEXTPM, wxT("1"), wxDefaultPosition, wxSize(44,20), wxTE_RIGHT ); usrdefGrid->Add(textMeanPoints, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, 2); peakPointsSizer->Add( pAllPoints, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2 ); peakPointsSizer->Add( usrdefGrid, 0, wxALIGN_LEFT | wxALIGN_BOTTOM | wxALL, 2 ); peakSettingsGrid->Add( peakPointsSizer, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2 ); LeftGrid->Add(peakSettingsGrid, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2); /** Rise time slider **/ wxFlexGridSizer* RTGrid; RTGrid = new wxFlexGridSizer(1,2,0,0); wxStaticText* pRTLabel = new wxStaticText( nbPage, wxRT_LABEL, wxT("Rise time 20-80%"), wxDefaultPosition, wxDefaultSize, wxTE_LEFT ); wxSlider *RTSlider = new wxSlider( nbPage, wxRT_SLIDER, 20, 5, 45, wxDefaultPosition, wxSize(100, wxDefaultCoord), wxSL_HORIZONTAL | wxSL_AUTOTICKS, wxDefaultValidator, wxT("")); #if (wxCHECK_VERSION(2, 9, 0)) RTSlider->SetTickFreq(5); #else RTSlider->SetTickFreq(5,1); #endif RTGrid->Add(pRTLabel, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RTGrid->Add(RTSlider, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); LeftGrid->Add(RTGrid, 1, wxALIGN_CENTER | wxALIGN_CENTER_VERTICAL | wxALL, 2); CommonGrid->Add(LeftGrid, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2); // END: Number of points for peak calculation: // START: Peak direction wxFlexGridSizer* RigthGrid; RigthGrid = new wxFlexGridSizer(1,0,0); wxString directionChoices[] = { wxT("Up"), wxT("Down"), wxT("Both") }; int directionNChoices = sizeof( directionChoices ) / sizeof( wxString ); wxRadioBox* pDirection = new wxRadioBox( nbPage, wxDIRECTION, wxT("Peak direction"), wxDefaultPosition, wxDefaultSize, directionNChoices, directionChoices, 0, wxRA_SPECIFY_ROWS ); pDirection->SetSelection(1); //peakSettingsGrid->Add( pDirection, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2 ); RigthGrid->Add( pDirection, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2 ); CommonGrid->Add(RigthGrid, 0, wxALIGN_RIGHT | wxALIGN_TOP | wxALL, 2); pageSizer->Add(CommonGrid, 0, wxALIGN_CENTER_VERTICAL | wxALL, 2); //pageSizer->Add(peakSettingsGrid, 0, wxALIGN_CENTER | wxALL, 2); // END: Peak direction wxFlexGridSizer* slopeSettingsGrid = new wxFlexGridSizer(1,2,0,0); // Threshold slope wxStaticBoxSizer* slopeSizer = new wxStaticBoxSizer( wxVERTICAL, nbPage, wxT("Threshold slope ") ); wxFlexGridSizer* slopeGrid = new wxFlexGridSizer(1,2,0,0); // user entry wxTextCtrl* pSlope=new wxTextCtrl( nbPage, wxSLOPE, wxT(""), wxDefaultPosition, wxSize(64,20), wxTE_RIGHT ); slopeGrid->Add( pSlope, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Units wxStaticText* pSlopeUnits=new wxStaticText( nbPage, wxSLOPEUNITS, wxT(" "), wxDefaultPosition, wxDefaultSize, wxTE_LEFT ); slopeGrid->Add( pSlopeUnits, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); slopeSizer->Add( slopeGrid, 0, wxALIGN_CENTER | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); slopeSettingsGrid->Add( slopeSizer, 0, wxALIGN_CENTER | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // START: Measure peak kinetics wxString referenceChoices[] = { wxT("From baseline"), wxT("From threshold") }; int referenceNChoices = sizeof( referenceChoices ) / sizeof( wxString ); wxRadioBox* pReference = new wxRadioBox( nbPage, wxREFERENCE, wxT("Measure peak kinetics "), wxDefaultPosition, wxDefaultSize, referenceNChoices, referenceChoices, 0, wxRA_SPECIFY_ROWS ); pReference->SetSelection(0); slopeSettingsGrid->Add( pReference, 0, wxALIGN_CENTER | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); pageSizer->Add( slopeSettingsGrid, 0, wxALIGN_CENTER | wxALL, 2 ); // END: Measure peak kinetics pageSizer->SetSizeHints(nbPage); nbPage->SetSizer( pageSizer ); nbPage->Layout(); return nbPage; } wxNotebookPage* wxStfCursorsDlg::CreateBasePage() { wxPanel* nbPage; nbPage=new wxPanel(m_notebook); wxBoxSizer* pageSizer; pageSizer=new wxBoxSizer(wxVERTICAL); pageSizer->Add( CreateCursorInput( nbPage, wxTEXT1B, wxTEXT2B, wxCOMBOU1B, wxCOMBOU2B, 1, 10 ), 0, wxALIGN_CENTER | wxALL, 2 ); // Grid wxFlexGridSizer* BaseMethodSizer = new wxFlexGridSizer(1, 0, 0); wxString BaselineMethods[] = { wxT("Mean and Standard Deviation (SD)"), wxT("Median and InterQuartil Ratio (IQR)") }; int iBaselineMethods = sizeof(BaselineMethods) / sizeof(wxString); //**** Radio options for baseline methods "mean, or median " **** wxRadioBox* pBaselineMethod = new wxRadioBox( nbPage, wxRADIO_BASELINE_METHOD, wxT("Method to compute the baseline"), wxDefaultPosition, wxDefaultSize, iBaselineMethods, BaselineMethods, 0, wxRA_SPECIFY_ROWS ); pBaselineMethod->SetSelection(0); BaseMethodSizer->Add(pBaselineMethod, 0, wxALIGN_CENTER | wxALIGN_TOP | wxALL, 2); pageSizer->Add( BaseMethodSizer, 0, wxALIGN_CENTER | wxALL, 2 ); pageSizer->SetSizeHints(nbPage); nbPage->SetSizer( pageSizer ); nbPage->Layout(); return nbPage; } wxNotebookPage* wxStfCursorsDlg::CreateDecayPage() { wxPanel* nbPage; nbPage=new wxPanel(m_notebook); wxBoxSizer* pageSizer; pageSizer=new wxBoxSizer(wxVERTICAL); pageSizer->Add( CreateCursorInput( nbPage, wxTEXT1D, wxTEXT2D, wxCOMBOU1D, wxCOMBOU2D, 1, 10 ), 0, wxALIGN_CENTER | wxALL, 2 ); wxFlexGridSizer* decaySettingsGrid = new wxFlexGridSizer(1,3,0,0); wxCheckBox* pStartFitAtPeak = new wxCheckBox( nbPage, wxSTARTFITATPEAK, wxT("Start fit at peak"), wxDefaultPosition, wxDefaultSize, 0 ); decaySettingsGrid->Add( pStartFitAtPeak, 0, wxALIGN_CENTER | wxALL, 2); pageSizer->Add( decaySettingsGrid, 0, wxALIGN_CENTER | wxALL, 2 ); pageSizer->SetSizeHints(nbPage); nbPage->SetSizer( pageSizer ); nbPage->Layout(); return nbPage; } wxNotebookPage* wxStfCursorsDlg:: CreateLatencyPage(){ wxPanel* nbPage; nbPage = new wxPanel(m_notebook); wxBoxSizer* pageSizer; pageSizer = new wxBoxSizer(wxVERTICAL); pageSizer->Add(CreateCursorInput(nbPage, wxTEXT1L, wxTEXT2L, wxCOMBOU1L, wxCOMBOU2L, 1, 10), 0, wxALIGN_CENTER | wxALL, 2); // Checkbox for using peak window for latency cursors wxCheckBox *pUsePeak = new wxCheckBox(nbPage, wxLATENCYWINDOW, wxT("Measure latencies within peak cursors"), wxDefaultPosition, wxDefaultSize, 0); pageSizer->Add(pUsePeak, 0 , wxALIGN_CENTER | wxALL, 2); // Grid wxFlexGridSizer* LatBegEndGrid; LatBegEndGrid = new wxFlexGridSizer(1,2,0,0); // rows, cols //**** Radio options "Measure from" **** wxStaticBoxSizer* LeftBoxSizer = new wxStaticBoxSizer( wxVERTICAL, nbPage, wxT("Reference channel") ); LeftBoxSizer->GetStaticBox()->SetForegroundColour(*wxRED); // Latency from: Manual wxRadioButton* wxRadio_Lat_Manual1 = new wxRadioButton( nbPage, wxRADIO_LAT_MANUAL1, wxT("Manual"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); // Latency from: Peak wxRadioButton* wxRadio_Lat_Peak1 = new wxRadioButton( nbPage, wxRADIO_LAT_PEAK1, wxT("Peak"), wxDefaultPosition, wxDefaultSize); // Latency from: Maximal slope wxRadioButton* wxRadio_Lat_MaxSlope1 = new wxRadioButton( nbPage, wxRADIO_LAT_MAXSLOPE1, wxT("Maximal slope"), wxDefaultPosition, wxDefaultSize ); // Latency from: Half-maximal amplitude wxRadioButton* wxRadio_Lat_HalfWidth1 = new wxRadioButton( nbPage, wxRADIO_LAT_HALFWIDTH1, wxT("Half-width (t50)"), wxDefaultPosition, wxDefaultSize ); // Sizer to group the radio options LeftBoxSizer->Add( wxRadio_Lat_Manual1, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); LeftBoxSizer->Add( wxRadio_Lat_Peak1, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); LeftBoxSizer->Add( wxRadio_Lat_MaxSlope1, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); LeftBoxSizer->Add( wxRadio_Lat_HalfWidth1, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); // Add to LatBegEndGrid LatBegEndGrid->Add(LeftBoxSizer, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2); //**** Radio options "Latency to" **** wxStaticBoxSizer* RightBoxSizer = new wxStaticBoxSizer( wxVERTICAL, nbPage, wxT("To active channel") ); // Latency to: Manual wxRadioButton* wxRadio_Lat_Manual2 = new wxRadioButton( nbPage, wxRADIO_LAT_MANUAL2, wxT("Manual"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); //wxRadio_Lat_Manual2->SetValue(true); // Latency to: Peak wxRadioButton* wxRadio_Lat_Peak2 = new wxRadioButton( nbPage, wxRADIO_LAT_PEAK2, wxT("Peak"), wxDefaultPosition, wxDefaultSize); // Latency to: Half-maximal amplitude wxRadioButton* wxRadio_Lat_HalfWidth2 = new wxRadioButton( nbPage, wxRADIO_LAT_HALFWIDTH2, wxT("Half-width (t50)"), wxDefaultPosition, wxDefaultSize); // Latency to: Maximal slope wxRadioButton* wxRadio_Lat_MaxSlope2 = new wxRadioButton( nbPage, wxRADIO_LAT_MAXSLOPE2, wxT("Maximal slope"), wxDefaultPosition, wxDefaultSize); // Latency to: Beginning of event wxRadioButton* wxRadio_Lat_Event2 = new wxRadioButton( nbPage, wxRADIO_LAT_EVENT2, wxT("Beginning of event"), wxDefaultPosition, wxDefaultSize ); // Sizer to group the radio options RightBoxSizer->Add( wxRadio_Lat_Manual2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RightBoxSizer->Add( wxRadio_Lat_Peak2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RightBoxSizer->Add( wxRadio_Lat_MaxSlope2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RightBoxSizer->Add( wxRadio_Lat_HalfWidth2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RightBoxSizer->Add( wxRadio_Lat_Event2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); // Add to LatBegEndGrid LatBegEndGrid->Add(RightBoxSizer, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2); pageSizer->Add(LatBegEndGrid, 0, wxALIGN_CENTER | wxALL, 2); nbPage->SetSizer(pageSizer); nbPage->Layout(); return nbPage; } #ifdef WITH_PSLOPE wxNotebookPage* wxStfCursorsDlg::CreatePSlopePage() { wxPanel* nbPage; nbPage=new wxPanel(m_notebook); // Sizer wxBoxSizer* pageSizer; pageSizer=new wxBoxSizer(wxVERTICAL); pageSizer->Add( CreateCursorInput( nbPage, wxTEXT1PS, wxTEXT2PS, wxCOMBOU1PS, wxCOMBOU2PS, 1, 10 ), 0, wxALIGN_CENTER | wxALL, 2 ); // Grid wxFlexGridSizer* PSBegEndGrid; PSBegEndGrid = new wxFlexGridSizer(1,2,0,0); // rows, cols //**** Radio options "Slope from" **** wxStaticBoxSizer* LeftBoxSizer = new wxStaticBoxSizer( wxVERTICAL, nbPage, wxT("Slope from") ); // Slope from: Manual wxRadioButton* pPSManBeg = new wxRadioButton( nbPage, wxRADIO_PSManBeg, wxT("Manual"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); //pPSManBeg->SetValue(true); // Slope from: Beginning of event wxRadioButton* pPSEventBeg = new wxRadioButton( nbPage, wxRADIO_PSEventBeg, wxT("Beginning of event"), wxDefaultPosition, wxDefaultSize ); // Slope from: Threshold slope wxFlexGridSizer* thrGrid; thrGrid = new wxFlexGridSizer(1,2,0,0); wxRadioButton* pPSThrBeg = new wxRadioButton( nbPage, wxRADIO_PSThrBeg, wxT("Threshold"), wxDefaultPosition, wxDefaultSize); thrGrid->Add(pPSThrBeg, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, 2); // Slope from: t50 wxRadioButton* pPSt50Beg = new wxRadioButton( nbPage, wxRADIO_PSt50Beg, wxT("Half-width (t50)"), wxDefaultPosition, wxDefaultSize); // activate radio buttons according to the PSlope mode of the active document wxTextCtrl* pCursor1PS = (wxTextCtrl*)FindWindow(wxTEXT1PS); if ( pCursor1PS == NULL ){ wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::CreatePSlopePage()")); } switch( actDoc->GetPSlopeBegMode()){ case 1: pPSEventBeg->SetValue(true); pCursor1PS->Enable(false); break; case 2: pPSThrBeg->SetValue(true); pCursor1PS->Enable(false); break; case 3: pPSt50Beg->SetValue(true); pCursor1PS->Enable(false); break; case 0: default: pPSManBeg->SetValue(true); pCursor1PS->Enable(true); } // Sizer to group the radio options LeftBoxSizer->Add( pPSManBeg, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); LeftBoxSizer->Add( pPSEventBeg, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); LeftBoxSizer->Add( thrGrid, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); LeftBoxSizer->Add( pPSt50Beg, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); // Add to PSBegEndGrid PSBegEndGrid->Add(LeftBoxSizer, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2); //**** Radio options "Slope to" **** wxStaticBoxSizer* RightBoxSizer = new wxStaticBoxSizer( wxVERTICAL, nbPage, wxT("Slope to") ); // Slope to: Manual wxRadioButton* pPSManEnd = new wxRadioButton( nbPage, wxRADIO_PSManEnd, wxT("Manual"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); // Slope to: Half-width wxRadioButton* pPSt50End = new wxRadioButton( nbPage, wxRADIO_PSt50End, wxT("Half-width (t50)"), wxDefaultPosition, wxDefaultSize); // Slope to: DeltaT wxFlexGridSizer* DeltaTGrid; DeltaTGrid = new wxFlexGridSizer(1,2,0,0); wxRadioButton* pPSDeltaT = new wxRadioButton( nbPage, wxRADIO_PSDeltaT, wxT("Delta t"), wxDefaultPosition, wxDefaultSize); DeltaTGrid->Add(pPSDeltaT, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, 2); wxTextCtrl* pTextPSDeltaT = new wxTextCtrl(nbPage, wxTEXT_PSDELTAT, wxT(""), wxDefaultPosition, wxSize(44,20), wxTE_RIGHT); pTextPSDeltaT->Enable(false); DeltaTGrid->Add(pTextPSDeltaT, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, 2); // Slope to: Peak wxRadioButton* pPSPeakEnd = new wxRadioButton( nbPage, wxRADIO_PSPeakEnd, wxT("Peak"), wxDefaultPosition, wxDefaultSize); // activate radio buttons according to the PSlope mode of the active document wxTextCtrl* pCursor2PS = (wxTextCtrl*)FindWindow(wxTEXT2PS); if (pCursor2PS == NULL){ wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::CreatePSlopePage()")); } switch( actDoc->GetPSlopeEndMode()){ case 1: pPSt50End->SetValue(true); pCursor2PS->Enable(false); break; case 2: pPSDeltaT->SetValue(true); pTextPSDeltaT->Enable(true); pCursor2PS->Enable(false); break; case 3: pPSPeakEnd->SetValue(true); pCursor2PS->Enable(false); break; case 0: default: pPSManEnd->SetValue(true); pCursor2PS->Enable(true); } // Sizer to group the radio options RightBoxSizer->Add( pPSManEnd, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RightBoxSizer->Add( pPSt50End, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RightBoxSizer->Add( DeltaTGrid, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); RightBoxSizer->Add( pPSPeakEnd, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2); // Add to PSBegEndGrid PSBegEndGrid->Add(RightBoxSizer, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2); pageSizer->Add(PSBegEndGrid, 0, wxALIGN_CENTER | wxALL, 2); nbPage->SetSizer(pageSizer); nbPage->Layout(); return nbPage; } #endif // WITH_PSLOPE wxFlexGridSizer* wxStfCursorsDlg::CreateCursorInput( wxPanel* nbPage, wxWindowID textC1id, wxWindowID textC2id, wxWindowID comboU1id, wxWindowID comboU2id, std::size_t c1, std::size_t c2 ) { wxFlexGridSizer* cursorGrid=new wxFlexGridSizer(2,3,0,0); // Cursor 1: // Description wxStaticText *Cursor1; Cursor1 = new wxStaticText( nbPage, wxID_ANY, wxT("First cursor:"), wxDefaultPosition, wxDefaultSize, wxTE_LEFT ); cursorGrid->Add( Cursor1, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // user entry wxString strc1,strc2; strc1 << (int)c1; wxTextCtrl* textC1 = new wxTextCtrl( nbPage, textC1id, strc1, wxDefaultPosition, wxSize(64,20), wxTE_RIGHT ); cursorGrid->Add( textC1, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // units #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) wxString szUnits[] = { actDoc->GetXUnits(), wxT("pts") }; int szUnitsSize = sizeof( szUnits ) / sizeof( wxString ); wxComboBox* comboU1 = new wxComboBox( nbPage, comboU1id, actDoc->GetXUnits(), wxDefaultPosition, #else wxString szUnits[] = { wxString(actDoc->GetXUnits().c_str(), wxConvUTF8), wxT("pts") }; int szUnitsSize = sizeof( szUnits ) / sizeof( wxString ); wxComboBox* comboU1 = new wxComboBox( nbPage, comboU1id, wxString(actDoc->GetXUnits().c_str(), wxConvUTF8), wxDefaultPosition, #endif wxSize(64,20), szUnitsSize, szUnits, wxCB_DROPDOWN | wxCB_READONLY ); cursorGrid->Add( comboU1, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Cursor 2: if (textC2id >= 0) { wxStaticText *Cursor2; // Description Cursor2 = new wxStaticText( nbPage, wxID_ANY, wxT("Second cursor:"), wxDefaultPosition, wxDefaultSize, wxTE_LEFT ); cursorGrid->Add( Cursor2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // user entry strc2 << (int)c2; wxTextCtrl* textC2 = new wxTextCtrl( nbPage, textC2id, strc2, wxDefaultPosition, wxSize(64,20), wxTE_RIGHT ); cursorGrid->Add( textC2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // units #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) wxComboBox* comboU2 = new wxComboBox( nbPage, comboU2id, actDoc->GetXUnits(), wxDefaultPosition, #else wxComboBox* comboU2 = new wxComboBox( nbPage, comboU2id, wxString(actDoc->GetXUnits().c_str(), wxConvUTF8), wxDefaultPosition, #endif wxSize(64,20), szUnitsSize, szUnits, wxCB_DROPDOWN | wxCB_READONLY ); cursorGrid->Add( comboU2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); } return cursorGrid; } void wxStfCursorsDlg::OnPeakcalcexec( wxCommandEvent& event ) { event.Skip(); // Update the results table (see wxStfApp in app.cpp) wxGetApp().OnPeakcalcexecMsg(actDoc); } bool wxStfCursorsDlg::LoadCursorConf(const wxString& filepath ){ // When loading the configuration we'll write directly in the active document // loading a cursor file will also update measurements, cursors, the graph and result table. // It will write the registry as well, since it is similar to pressing "Apply". // see wxStfApp::OnPeakcalcexeMsg() for details. if (actDoc == NULL) { wxGetApp().ErrorMsg(wxT("No active document found")); return false; } wxFileConfig* csr_config = new wxFileConfig(wxT(""), wxT(""), filepath ); // minimal syntax check if ( !IsCSRSyntax( csr_config ) ) { return false; } wxString CursorValue; long start_csr, end_csr; // *** update controls in __MEASURE__ tab **** csr_config->Read( wxT("__MEASURE__/Cursor"), &start_csr ); // read from file wxTextCtrl *pMeasureCursor = (wxTextCtrl*)FindWindow(wxTEXTM); if (pMeasureCursor == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::LoadCursorConf()")); return false; } if (cursorMIsTime) { float fvalue = start_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), start_csr ); pMeasureCursor->SetValue( CursorValue ); actDoc->SetMeasCursor( GetCursorM() ); int show_ruler; csr_config->Read( wxT("__MEASURE__/ShowRuler"), &show_ruler ); // read from file SetRuler( show_ruler ); actDoc->SetMeasRuler( show_ruler ); // **** update controls in __PEAK__ tab **** csr_config->Read( wxT("__PEAK__/LeftCursor"), &start_csr ); // read from file csr_config->Read( wxT("__PEAK__/RightCursor"), &end_csr ); // read from file wxTextCtrl *pPeak1Cursor = (wxTextCtrl*)FindWindow(wxTEXT1P); wxTextCtrl *pPeak2Cursor = (wxTextCtrl*)FindWindow(wxTEXT2P); if (pPeak1Cursor == NULL || pPeak2Cursor == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::LoadCursorConf()")); return false; } if (cursor1PIsTime) { float fvalue = start_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), start_csr ); pPeak1Cursor->SetValue( CursorValue ); actDoc->SetPeakBeg( GetCursor1P() ); if (cursor2PIsTime) { float fvalue = end_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), end_csr ); pPeak2Cursor->SetValue( CursorValue ); actDoc->SetPeakEnd( GetCursor2P() ); bool is_end; csr_config->Read( wxT("__PEAK__/PeakAtEnd"), &is_end ); // read from file SetPeakAtEnd( is_end ); actDoc->SetPeakAtEnd( is_end ); int npoints; csr_config->Read( wxT("__PEAK__/NumberOfPoints"), &npoints ); // read from file SetPeakPoints( npoints); actDoc->SetPM( npoints ); int direction; csr_config->Read( wxT("__PEAK__/Direction"), &direction ); // read from file stfnum::direction mydirection; switch (direction) { case 0: mydirection = stfnum::up; break; case 1: mydirection = stfnum::down; break; case 2: mydirection = stfnum::both; break; default: mydirection = stfnum::undefined_direction; } SetDirection( mydirection ); actDoc->SetDirection ( mydirection ); bool confbase; csr_config->Read( wxT("__PEAK__/FromBase"), &confbase ); // read from file SetFromBase( confbase ); actDoc->SetFromBase( confbase ); int rt_factor; csr_config->Read( wxT("__PEAK__/RTFactor"), &rt_factor ); // read from file SetRTFactor( rt_factor ); actDoc->SetRTFactor( rt_factor ); double slope; wxString wxSlope; csr_config->Read( wxT("__PEAK__/Slope"), &wxSlope); // read from file wxSlope.ToDouble(&slope); SetSlope( slope ); actDoc->SetSlopeForThreshold( slope ); // **** update controls in __BASE__ tab **** csr_config->Read( wxT("__BASE__/LeftCursor"), &start_csr ); // read from file csr_config->Read( wxT("__BASE__/RightCursor"), &end_csr ); // read from file wxTextCtrl *pBase1Cursor = (wxTextCtrl*)FindWindow(wxTEXT1B); wxTextCtrl *pBase2Cursor = (wxTextCtrl*)FindWindow(wxTEXT2B); if (pBase1Cursor == NULL || pBase2Cursor == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::LoadCursorConf()")); return false; } if (cursor1BIsTime) { float fvalue = start_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), start_csr ); pBase1Cursor->SetValue( CursorValue ); actDoc->SetBaseBeg( GetCursor1B() ); if (cursor2BIsTime) { float fvalue = end_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), end_csr ); pBase2Cursor->SetValue( CursorValue ); actDoc->SetBaseEnd( GetCursor2B() ); int base_method; csr_config->Read( wxT("__BASE__/BaselineMethod"), &base_method ); // read from file stfnum::baseline_method mybase_method; switch( base_method ) { case 0: mybase_method = stfnum::mean_sd; break; case 1: mybase_method = stfnum::median_iqr; break; default: mybase_method = stfnum::mean_sd; } SetBaselineMethod ( mybase_method ); actDoc->SetBaselineMethod( mybase_method ); // **** update controls in __DECAY__ tab **** csr_config->Read( wxT("__DECAY__/LeftCursor"), &start_csr ); // read from file csr_config->Read( wxT("__DECAY__/RightCursor"), &end_csr ); // read from file wxTextCtrl *pFit1Cursor = (wxTextCtrl*)FindWindow(wxTEXT1D); wxTextCtrl *pFit2Cursor = (wxTextCtrl*)FindWindow(wxTEXT2D); if (pBase1Cursor == NULL || pBase2Cursor == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::LoadCursorConf()")); return false; } if (cursor1DIsTime) { float fvalue = start_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), start_csr ); pFit1Cursor->SetValue( CursorValue ); actDoc->SetFitBeg( GetCursor1D() ); if (cursor2DIsTime) { float fvalue = end_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), end_csr ); pFit2Cursor->SetValue( CursorValue ); actDoc->SetFitEnd( GetCursor2D() ); bool is_peak; csr_config->Read(wxT("__DECAY__/StartFitAtPeak"), &is_peak); SetStartFitAtPeak( is_peak); actDoc->SetStartFitAtPeak( is_peak ); // **** update controls in LATENCY tab **** csr_config->Read( wxT("__LATENCY__/LeftCursor"), &start_csr ); // read from file csr_config->Read( wxT("__LATENCY__/RightCursor"), &end_csr ); // read from file wxTextCtrl *pLatency1Cursor = (wxTextCtrl*)FindWindow(wxTEXT1L); wxTextCtrl *pLatency2Cursor = (wxTextCtrl*)FindWindow(wxTEXT2L); if (pLatency1Cursor == NULL || pLatency2Cursor == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::LoadCursorConf()")); return false; } if (cursor1LIsTime) { float fvalue = start_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), start_csr ); pLatency1Cursor->SetValue( CursorValue ); actDoc->SetLatencyBeg( GetCursor1L() ); if (cursor2LIsTime) { float fvalue = end_csr*actDoc->GetXScale() ; CursorValue = wxString::Format( wxT("%f"), fvalue ); } else CursorValue = wxString::Format( wxT("%i"), end_csr ); pLatency2Cursor->SetValue( CursorValue ); actDoc->SetLatencyEnd( GetCursor2L() ); int mode; csr_config->Read( wxT("__LATENCY__/LeftMode"), &mode ); // read from file stf::latency_mode latency_mode; switch( mode ) { case 0: latency_mode =stf::manualMode; break; case 1: latency_mode = stf::peakMode; break; case 2: latency_mode = stf::riseMode; break; case 3: latency_mode = stf::halfMode; break; case 4: latency_mode = stf::footMode; break; default: latency_mode = stf::undefinedMode; } SetLatencyStartMode( latency_mode ); actDoc->SetLatencyStartMode( latency_mode ); csr_config->Read( wxT("__LATENCY__/RightMode"), &mode ); // read from file switch( mode ) { case 0: latency_mode =stf::manualMode; break; case 1: latency_mode = stf::peakMode; break; case 2: latency_mode = stf::riseMode; break; case 3: latency_mode = stf::halfMode; break; case 4: latency_mode = stf::footMode; break; default: latency_mode = stf::undefinedMode; } SetLatencyEndMode( latency_mode ); actDoc->SetLatencyEndMode( latency_mode ); delete csr_config; // we use wxStfApp::OnPeakcalcexec() here basically to update the results table. // Because wxStfApp::OnPeakcalcexec() only updates the properties of wxStfDoc in the current tab // of the cursor dialog, we need to call the methods from actDoc() to update the cursors which // are not currently visible, but stored in the csr file. wxGetApp().OnPeakcalcexecMsg(actDoc); return true; } void wxStfCursorsDlg::OnLoadCursorConf( wxCommandEvent& event ) { event.Skip(); wxString csrFilter = wxT("Cursor conf (*.csr)|*csr"); wxFileDialog* LoadCursorDialog = new wxFileDialog(this, wxT("Load Cursor configuration"), wxT(""), wxT(""), csrFilter, wxFD_OPEN | wxFD_PREVIEW); if (LoadCursorDialog->ShowModal() == wxID_OK ){ wxString mypath = LoadCursorDialog->GetPath(); LoadCursorConf( mypath ); } } bool wxStfCursorsDlg::SaveCursorConf(const wxString& mypath ){ // Read cursor configuration from active document! if (actDoc == NULL){ throw std::runtime_error("No active document found"); return false; } wxDateTime now = wxDateTime::Now(); wxFileConfig* csr_config = new wxFileConfig(wxT(""), wxT(""), mypath ); csr_config->SetPath( wxT("__CSR_HEADER__") ); //csr_config->Write( wxT("Date"), now.Format( wxT("%Y/%M/%d"), wxDateTime::CET) ); csr_config->Write( wxT("Date"), now.Format( wxT("%A, %d %B, %Y"), wxDateTime::CET) ); csr_config->Write( wxT("Time"), now.Format( wxT("%H:%M:%S %p"), wxDateTime::CET) ); csr_config->SetPath( wxT("../__MEASURE__") ); csr_config->Write( wxT("Cursor"), (int)actDoc->GetMeasCursor() ); csr_config->Write( wxT("ShowRuler"), (int)actDoc->GetMeasRuler() ); csr_config->SetPath( wxT("../__PEAK__") ); csr_config->Write( wxT("LeftCursor"), (int)actDoc->GetPeakBeg() ); csr_config->Write( wxT("Rightcursor"), (int)actDoc->GetPeakEnd() ); csr_config->Write( wxT("PeakAtEnd"), (int)actDoc->GetPeakAtEnd() ); csr_config->Write( wxT("NumberOfPoints"), (int)actDoc->GetPM() ); csr_config->Write( wxT("Direction"), (int)actDoc->GetDirection() ); csr_config->Write( wxT("FromBase"), (int)actDoc->GetFromBase() ); csr_config->Write( wxT("RTFactor"), (int)actDoc->GetRTFactor() ); wxString mySlope; mySlope << actDoc->GetSlopeForThreshold(); csr_config->Write( wxT("Slope"), mySlope ); csr_config->SetPath( wxT("../__BASE__") ); csr_config->Write( wxT("LeftCursor"), (int)actDoc->GetBaseBeg() ); csr_config->Write( wxT("RightCursor"),(int)actDoc->GetBaseEnd() ); csr_config->Write( wxT("BaselineMethod"), (int)actDoc->GetBaselineMethod() ); csr_config->SetPath( wxT("../__DECAY__") ); csr_config->Write( wxT("LeftCursor"), (int)actDoc->GetFitBeg() ); csr_config->Write( wxT("RightCursor"),(int)actDoc->GetFitEnd() ); csr_config->Write( wxT("StartFitAtPeak"),(int)actDoc->GetStartFitAtPeak() ); csr_config->SetPath( wxT("../__LATENCY__") ); csr_config->Write( wxT("LeftCursor"), (int)actDoc->GetLatencyBeg() ); csr_config->Write( wxT("RightCursor"),(int)actDoc->GetLatencyEnd() ); csr_config->Write( wxT("LeftMode"),(int)actDoc->GetLatencyStartMode() ); csr_config->Write( wxT("RightMode"),(int)actDoc->GetLatencyEndMode() ); csr_config->Flush(); // write all changes return true; } void wxStfCursorsDlg::OnSaveCursorConf( wxCommandEvent& event ) { event.Skip(); wxString crsFilter = wxT("Cursor conf (*.csr)|*csr"); wxFileDialog* SaveCursorDialog = new wxFileDialog(this, wxT("Save Cursor configuration"), wxT(""), wxT(""), crsFilter, wxFD_SAVE | wxFD_PREVIEW); if (SaveCursorDialog->ShowModal() == wxID_OK ){ wxString mypath = SaveCursorDialog->GetPath(); SaveCursorConf( mypath ); } } int wxStfCursorsDlg::ReadCursor(wxWindowID textId, bool isTime) const { // always returns in units of sampling points, // conversion is necessary if it's in units of time: long cursor; wxString strEdit; wxTextCtrl *pText = (wxTextCtrl*)FindWindow(textId); if (pText == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::ReadCursor()")); return 0; } strEdit << pText->GetValue(); if (isTime) { double fEdit; strEdit.ToDouble( &fEdit ); cursor=stf::round(fEdit/actDoc->GetXScale()); } else { strEdit.ToLong ( &cursor ); } return (int)cursor; } void wxStfCursorsDlg::WriteCursor(wxWindowID textId, bool isTime, long value) const { wxString myvalue; wxTextCtrl *pText = (wxTextCtrl*)FindWindow(textId); if (pText == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::SetCursor()")); return; } if (isTime){ float fvalue = stf::round( value/actDoc->GetXScale() ); myvalue = wxString::Format(wxT("%f"), fvalue); } else { myvalue = wxString::Format(wxT("%i"), value); } pText->SetValue(myvalue); } #ifdef WITH_PSLOPE int wxStfCursorsDlg::ReadDeltaT(wxWindowID textID) const { // returns DeltaT entered in the textBox in units of sampling points long cursorpos=0; wxString strDeltaT; wxTextCtrl *pText = (wxTextCtrl*)FindWindow(textID); if (pText == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::ReadDeltaT()")); return 0; } strDeltaT << pText->GetValue(); double DeltaTval; strDeltaT.ToDouble(&DeltaTval); cursorpos = stf::round(DeltaTval/actDoc->GetXScale()); return (int)cursorpos; } #endif // WITH_PSLOPE int wxStfCursorsDlg::GetCursorM() const { return ReadCursor(wxTEXTM,cursorMIsTime); } int wxStfCursorsDlg::GetCursor1P() const { return ReadCursor(wxTEXT1P,cursor1PIsTime); } int wxStfCursorsDlg::GetCursor2P() const { return ReadCursor(wxTEXT2P,cursor2PIsTime); } int wxStfCursorsDlg::GetCursor1B() const { return ReadCursor(wxTEXT1B,cursor1BIsTime); } int wxStfCursorsDlg::GetCursor2B() const { return ReadCursor(wxTEXT2B,cursor2BIsTime); } int wxStfCursorsDlg::GetCursor1D() const { return ReadCursor(wxTEXT1D,cursor1DIsTime); } int wxStfCursorsDlg::GetCursor2D() const { return ReadCursor(wxTEXT2D,cursor2DIsTime); } int wxStfCursorsDlg::GetCursor1L() const { return ReadCursor(wxTEXT1L, cursor1LIsTime); } int wxStfCursorsDlg::GetCursor2L() const { return ReadCursor(wxTEXT2L, cursor2LIsTime); } #ifdef WITH_PSLOPE int wxStfCursorsDlg::GetCursor1PS() const { return ReadCursor(wxTEXT1PS, cursor1PSIsTime); } int wxStfCursorsDlg::GetCursor2PS() const { return ReadCursor(wxTEXT2PS, cursor2PSIsTime); } #endif int wxStfCursorsDlg::GetPeakPoints() const { wxRadioButton* pRadioButtonAll = (wxRadioButton*)FindWindow(wxRADIOALL); wxRadioButton* pRadioButtonMean = (wxRadioButton*)FindWindow(wxRADIOMEAN); if (pRadioButtonAll==NULL || pRadioButtonMean==NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetPeakPoints()")); return 0; } if (pRadioButtonAll->GetValue()) { return -1; } else { if (pRadioButtonMean->GetValue()) { return ReadCursor(wxTEXTPM,false); } else { wxGetApp().ErrorMsg(wxT("nothing selected in wxStfCursorsDlg::GetPeakPoints()")); return 0; } } } int wxStfCursorsDlg::GetRTFactor() const { wxSlider *pRTSlider = (wxSlider*)FindWindow(wxRT_SLIDER); if (pRTSlider == NULL ) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg:GetRTFactor()")); return -1; } return pRTSlider->GetValue(); } #ifdef WITH_PSLOPE int wxStfCursorsDlg::GetDeltaT() const { return ReadDeltaT(wxTEXT_PSDELTAT); } #endif #ifdef WITH_PSLOPE void wxStfCursorsDlg::SetDeltaT (int DeltaT) { wxRadioButton* pRadPSDeltaT = (wxRadioButton*)FindWindow(wxRADIO_PSDeltaT); wxTextCtrl* pTextPSDeltaT = (wxTextCtrl*)FindWindow(wxTEXT_PSDELTAT); if (pRadPSDeltaT == NULL || pTextPSDeltaT == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::wxSetDeltaT()")); return; } // transform sampling points into x-units double fDeltaT; fDeltaT =DeltaT*actDoc->GetXScale(); wxString strDeltaTval; strDeltaTval << fDeltaT; pTextPSDeltaT->SetValue(strDeltaTval); } #endif // WITH_PSLOPE void wxStfCursorsDlg::SetPeakPoints(int peakPoints) { wxRadioButton* pRadioButtonAll = (wxRadioButton*)FindWindow(wxRADIOALL); wxRadioButton* pRadioButtonMean = (wxRadioButton*)FindWindow(wxRADIOMEAN); wxTextCtrl* pTextPM = (wxTextCtrl*)FindWindow(wxTEXTPM); if (pRadioButtonAll==NULL || pRadioButtonMean==NULL || pTextPM==NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::SetPeakPoints()")); return; } if (peakPoints==0 || peakPoints<-1) { throw std::runtime_error("peak points out of range in wxStfCursorsDlg::SetPeakPoints()"); } else if (peakPoints == -1) { pRadioButtonAll->SetValue(true); pRadioButtonMean->SetValue(false); pTextPM->Enable(false); } else { wxString entry; entry << peakPoints; pRadioButtonAll->SetValue(false); pRadioButtonMean->SetValue(true); pTextPM->Enable(true); pTextPM->SetValue( entry ); } } stfnum::direction wxStfCursorsDlg::GetDirection() const { wxRadioBox* pDirection = (wxRadioBox*)FindWindow(wxDIRECTION); if (pDirection == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetDirection()")); return stfnum::undefined_direction; } switch (pDirection->GetSelection()) { case 0: return stfnum::up; case 1: return stfnum::down; case 2: return stfnum::both; default: return stfnum::undefined_direction; } } void wxStfCursorsDlg::SetDirection(stfnum::direction direction) { wxRadioBox* pDirection = (wxRadioBox*)FindWindow(wxDIRECTION); if (pDirection == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetDirection()")); return; } switch (direction) { case stfnum::up: pDirection->SetSelection(0); break; case stfnum::down: pDirection->SetSelection(1); break; case stfnum::both: case stfnum::undefined_direction: pDirection->SetSelection(2); break; } } bool wxStfCursorsDlg::GetFromBase() const { wxRadioBox* pReference = (wxRadioBox*)FindWindow(wxREFERENCE); if (pReference == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetFromBase()")); return true; } switch (pReference->GetSelection()) { case 0: return true; case 1: return false; default: return true; } } void wxStfCursorsDlg::SetRTFactor(int RTFactor) { wxSlider *pRTSlider = (wxSlider*)FindWindow(wxRT_SLIDER); wxStaticText *pRTLabel = (wxStaticText*)FindWindow(wxRT_LABEL); if (pRTSlider == NULL || pRTLabel == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg:SetRTFactor()")); return; } pRTSlider->SetValue(RTFactor); wxString label(wxT("Rise time ")); label << pRTSlider->GetValue() << wxT("-"); label << 100-pRTSlider->GetValue() << wxT("\%"); pRTLabel->SetLabel(label); } void wxStfCursorsDlg::SetFromBase(bool fromBase) { wxRadioBox* pReference = (wxRadioBox*)FindWindow(wxREFERENCE); if (pReference == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::SetFromBase()")); return; } if (fromBase) { pReference->SetSelection(0); } else { pReference->SetSelection(1); } } enum stfnum::baseline_method wxStfCursorsDlg::GetBaselineMethod() const { wxRadioBox* pBaselineMethod = (wxRadioBox*)FindWindow(wxRADIO_BASELINE_METHOD); if (pBaselineMethod == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetBaseSelection()")); return stfnum::mean_sd; //default value mean and standard deviation } switch( pBaselineMethod->GetSelection() ) { case 0: return stfnum::mean_sd; case 1: return stfnum::median_iqr; default: return stfnum::mean_sd; } } void wxStfCursorsDlg::SetBaselineMethod(stfnum::baseline_method base_method) { wxRadioBox* pBaselineMethod = (wxRadioBox*)FindWindow(wxRADIO_BASELINE_METHOD); if (pBaselineMethod == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::SetBaselineMethod()")); return; } switch(base_method) { case stfnum::median_iqr: pBaselineMethod->SetSelection(1); break; case stfnum::mean_sd: pBaselineMethod->SetSelection(0); break; } } bool wxStfCursorsDlg::GetPeakAtEnd() const { //Check if 'Upper limit at end of trace' is selected wxCheckBox* pPeakAtEnd = (wxCheckBox*)FindWindow(wxPEAKATEND); if (pPeakAtEnd == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetPeakAtEnd()")); return false; } return pPeakAtEnd->IsChecked(); } void wxStfCursorsDlg::OnPeakAtEnd( wxCommandEvent& event) { event.Skip(); wxCheckBox* pPeakAtEnd = (wxCheckBox*)FindWindow(wxPEAKATEND); wxTextCtrl* pCursor2P = (wxTextCtrl*)FindWindow(wxTEXT2P); if (pPeakAtEnd == NULL || pCursor2P == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnPeakAtEnd()")); return; } // second peak cursor is inactive if the peak at the end checkbox is checked pCursor2P->Enable(! pPeakAtEnd->IsChecked() ); } void wxStfCursorsDlg::SetPeakAtEnd( bool is_end ) { wxCheckBox* pPeakAtEnd = (wxCheckBox*)FindWindow(wxPEAKATEND); wxTextCtrl* pCursor2P = (wxTextCtrl*)FindWindow(wxTEXT2P); if (pPeakAtEnd == NULL || pCursor2P == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::SetPeakAtEnd()")); return; } pCursor2P->Enable( ! is_end ); pPeakAtEnd->SetValue( is_end ); } bool wxStfCursorsDlg::GetStartFitAtPeak() const { //Check if 'Start fit at peak' is selected wxCheckBox* pStartFitAtPeak = (wxCheckBox*)FindWindow(wxSTARTFITATPEAK); if (pStartFitAtPeak == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetStartFitAtPeak()")); return false; } return pStartFitAtPeak->IsChecked(); } void wxStfCursorsDlg::SetStartFitAtPeak(bool is_peak){ wxCheckBox* pStartFitAtPeak = (wxCheckBox*)FindWindow(wxSTARTFITATPEAK); wxTextCtrl* pCursor1D = (wxTextCtrl*)FindWindow(wxTEXT1D); if (pStartFitAtPeak == NULL || pCursor1D == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetStartFitAtPeak()")); return; } pCursor1D->Enable( ! is_peak ); pStartFitAtPeak->SetValue( is_peak); } void wxStfCursorsDlg::OnStartFitAtPeak( wxCommandEvent& event) { event.Skip(); wxCheckBox* pStartFitAtPeak = (wxCheckBox*)FindWindow(wxSTARTFITATPEAK); wxTextCtrl* pCursor1D = (wxTextCtrl*)FindWindow(wxTEXT1D); if (pStartFitAtPeak == NULL || pCursor1D == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnStartFitAtEnd()")); return; } // left decay cursor is inactive if the start fit at peak is checked pCursor1D->Enable(! pStartFitAtPeak->IsChecked() ); } void wxStfCursorsDlg::OnPageChanged(wxNotebookEvent& event) { event.Skip(); if (actDoc!=NULL) { try { UpdateCursors(); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal )); } } } void wxStfCursorsDlg::OnComboBoxUM( wxCommandEvent& event ) { event.Skip(); UpdateUnits(wxCOMBOUM,cursorMIsTime,wxTEXTM); } void wxStfCursorsDlg::OnComboBoxU1P( wxCommandEvent& event ) { event.Skip(); UpdateUnits(wxCOMBOU1P,cursor1PIsTime,wxTEXT1P); } void wxStfCursorsDlg::OnComboBoxU2P( wxCommandEvent& event ) { event.Skip(); UpdateUnits(wxCOMBOU2P,cursor2PIsTime,wxTEXT2P); } void wxStfCursorsDlg::OnComboBoxU1B( wxCommandEvent& event ) { event.Skip(); UpdateUnits(wxCOMBOU1B,cursor1BIsTime,wxTEXT1B); } void wxStfCursorsDlg::OnComboBoxU2B( wxCommandEvent& event ) { event.Skip(); UpdateUnits(wxCOMBOU2B,cursor2BIsTime,wxTEXT2B); } void wxStfCursorsDlg::OnComboBoxU1D( wxCommandEvent& event ) { event.Skip(); UpdateUnits(wxCOMBOU1D,cursor1DIsTime,wxTEXT1D); } void wxStfCursorsDlg::OnComboBoxU2D( wxCommandEvent& event ) { event.Skip(); UpdateUnits(wxCOMBOU2D,cursor2DIsTime,wxTEXT2D); } void wxStfCursorsDlg::OnComboBoxU1L( wxCommandEvent& event ) { event.Skip(); wxRadioButton* wxRadio_Lat_Manual1 = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL1); if (wxRadio_Lat_Manual1 == NULL){ wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::OnComboBoxU1LS()")); return; } else wxRadio_Lat_Manual1->SetValue(true); UpdateUnits(wxCOMBOU1L,cursor1LIsTime,wxTEXT1L); } void wxStfCursorsDlg::OnComboBoxU2L( wxCommandEvent& event ) { event.Skip(); wxRadioButton* wxRadio_Lat_Manual2 = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL2); if (wxRadio_Lat_Manual2 == NULL){ wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::OnComboBoxU2LS()")); return; } else wxRadio_Lat_Manual2->SetValue(true); UpdateUnits(wxCOMBOU2L,cursor2LIsTime,wxTEXT2L); } void wxStfCursorsDlg::OnRadioLatManualBeg( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor1L = (wxTextCtrl*)FindWindow(wxTEXT1L); wxCheckBox *pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); if (pCursor1L == NULL || pUsePeak == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioLatManBeg()")); return; } // if cursor wxTextCtrl is NOT enable2 if (!pCursor1L->IsEnabled()) pCursor1L->Enable(true); if (pUsePeak->IsChecked()) { pUsePeak->SetValue(false); } pUsePeak->Enable(false); } void wxStfCursorsDlg::OnRadioLatManualEnd( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor2L = (wxTextCtrl*)FindWindow(wxTEXT2L); wxCheckBox *pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); if (pCursor2L == NULL || pUsePeak == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioLatManEnd()")); return; } // if cursor wxTextCtrl is NOT enabled if (!pCursor2L->IsEnabled()) pCursor2L->Enable(true); if (pUsePeak->IsChecked()) { pUsePeak->SetValue(false); } pUsePeak->Enable(false); } void wxStfCursorsDlg::OnRadioLatNonManualBeg( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor1L = (wxTextCtrl*)FindWindow(wxTEXT1L); wxCheckBox* pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); wxRadioButton* pLatencyManualEnd = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL2); if (pCursor1L == NULL || pUsePeak == NULL || pLatencyManualEnd == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioLatt50Beg()")); return; } // disable cursor wxTextCtrl if it is enabled if (pCursor1L->IsEnabled()) pCursor1L->Enable(false); // enable latency between peak cursors if the second latency cursor is NOT manual if (!pLatencyManualEnd->GetValue()) pUsePeak->Enable(true); } void wxStfCursorsDlg::OnRadioLatNonManualEnd( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor2L = (wxTextCtrl*)FindWindow(wxTEXT2L); wxCheckBox *pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); wxRadioButton* pLatencyManualBeg = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL1); if (pCursor2L == NULL || pUsePeak == NULL || pLatencyManualBeg == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioNonManualEnd()")); return; } // disable cursor wxTextCtrl if it is enabled if (pCursor2L->IsEnabled()) pCursor2L->Enable(false); // enable latency between peak cursors if the first second latency cursor is NOT manual if (!pLatencyManualBeg->GetValue()) pUsePeak->Enable(true); } #ifdef WITH_PSLOPE void wxStfCursorsDlg::OnComboBoxU1PS( wxCommandEvent& event ) { event.Skip(); // select manual option in "measurement from" box wxRadioButton* pPSManBeg = (wxRadioButton*)FindWindow(wxRADIO_PSManBeg); if (pPSManBeg == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::OnComboBoxU1PS()")); return; } else pPSManBeg->SetValue(true); UpdateUnits(wxCOMBOU1PS,cursor1PSIsTime,wxTEXT1PS); } void wxStfCursorsDlg::OnComboBoxU2PS( wxCommandEvent& event ) { event.Skip(); // select manual option in "measurement to" box wxRadioButton* pPSManEnd = (wxRadioButton*)FindWindow(wxRADIO_PSManEnd); if (pPSManEnd == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::OnComboBoxU2PS()")); return; } else pPSManEnd->SetValue(true); UpdateUnits(wxCOMBOU2PS,cursor2PSIsTime,wxTEXT2PS); } void wxStfCursorsDlg::OnRadioPSManBeg( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor1PS = (wxTextCtrl*)FindWindow(wxTEXT1PS); if (pCursor1PS == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioManBeg()")); return; } // if cursor wxTextCtrl is NOT enabled if (!pCursor1PS->IsEnabled()) pCursor1PS->Enable(true); } void wxStfCursorsDlg::OnRadioPSEventBeg( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor1PS = (wxTextCtrl*)FindWindow(wxTEXT1PS); if ( pCursor1PS == NULL ) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioPSEventBeg()")); return; } // disable cursor wxTextCtrl if it is enabled if (pCursor1PS->IsEnabled()) pCursor1PS->Enable(false); } void wxStfCursorsDlg::OnRadioPSThrBeg( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor1PS = (wxTextCtrl*)FindWindow(wxTEXT1PS); if (pCursor1PS == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioThrBeg()")); return; } // disable cursor wxTextCtrl if it is enabled if (pCursor1PS->IsEnabled()) pCursor1PS->Enable(false); } void wxStfCursorsDlg::OnRadioPSt50Beg( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor1PS = (wxTextCtrl*)FindWindow(wxTEXT1PS); if ( pCursor1PS == NULL ) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioPSt50Beg()")); return; } // disable cursor wxTextCtrl if it is enabled if (pCursor1PS->IsEnabled()) pCursor1PS->Enable(false); } void wxStfCursorsDlg::OnRadioPSManEnd( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor2PS = (wxTextCtrl*)FindWindow(wxTEXT2PS); wxTextCtrl* pTextPSDeltaT = (wxTextCtrl*)FindWindow(wxTEXT_PSDELTAT); if (pCursor2PS == NULL || pTextPSDeltaT == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioManEnd()")); return; } // if cursor wxTextCtrl is NOT enabled if (!pCursor2PS->IsEnabled()) pCursor2PS->Enable(true); if (pTextPSDeltaT->IsEnabled()) pTextPSDeltaT->Enable(false); } void wxStfCursorsDlg::OnRadioPSt50End( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor2PS = (wxTextCtrl*)FindWindow(wxTEXT2PS); wxTextCtrl* pTextPSDeltaT = (wxTextCtrl*)FindWindow(wxTEXT_PSDELTAT); if (pCursor2PS == NULL || pTextPSDeltaT == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioPSt50End()")); return; } // disable cursor wxTextCtrl if it is enabled if (pCursor2PS->IsEnabled()) pCursor2PS->Enable(false); if (pTextPSDeltaT->IsEnabled()) pTextPSDeltaT->Enable(false); SetPSlopeEndMode(stf::psEnd_t50Mode); } void wxStfCursorsDlg::OnRadioPSDeltaT( wxCommandEvent& event) { event.Skip(); wxTextCtrl* pCursor2PS = (wxTextCtrl*)FindWindow(wxTEXT2PS); wxTextCtrl* pTextPSDeltaT = (wxTextCtrl*)FindWindow(wxTEXT_PSDELTAT); if (pCursor2PS == NULL || pTextPSDeltaT == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioPSDeltaT")); return; } // disable cursor wxTextCtrl if it is enabled if (pCursor2PS->IsEnabled()) pCursor2PS->Enable(false); // enable text control if (!pTextPSDeltaT->IsEnabled()) pTextPSDeltaT->Enable(true); SetPSlopeEndMode(stf::psEnd_DeltaTMode); } void wxStfCursorsDlg::OnRadioPSPeakEnd( wxCommandEvent& event ) { event.Skip(); wxTextCtrl* pCursor2PS = (wxTextCtrl*)FindWindow(wxTEXT2PS); wxTextCtrl* pTextPSDeltaT = (wxTextCtrl*)FindWindow(wxTEXT_PSDELTAT); if (pCursor2PS == NULL || pTextPSDeltaT == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioPeakEnd()")); return; } // disable cursor wxTextCtrl if is enabled if (pCursor2PS->IsEnabled()) pCursor2PS->Enable(false); if (pTextPSDeltaT->IsEnabled()) pTextPSDeltaT->Enable(false); SetPSlopeEndMode(stf::psEnd_peakMode); } #endif // WITH_PSLOPE void wxStfCursorsDlg::OnRadioAll( wxCommandEvent& event ) { event.Skip(); wxRadioButton* pRadioAll = (wxRadioButton*)FindWindow(wxRADIOALL); wxRadioButton* pRadioMean = (wxRadioButton*)FindWindow(wxRADIOMEAN); wxTextCtrl* pTextPM = (wxTextCtrl*)FindWindow(wxTEXTPM); if (pTextPM==NULL || pRadioMean==NULL || pRadioAll==NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioAll()")); return; } pTextPM->Enable(false); pRadioMean->SetValue(false); } void wxStfCursorsDlg::OnRadioMean( wxCommandEvent& event ) { event.Skip(); wxRadioButton* pRadioAll = (wxRadioButton*)FindWindow(wxRADIOALL); wxRadioButton* pRadioMean = (wxRadioButton*)FindWindow(wxRADIOMEAN); wxTextCtrl* pTextPM = (wxTextCtrl*)FindWindow(wxTEXTPM); if (pTextPM==NULL || pRadioMean==NULL || pRadioAll==NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::OnRadioMean()")); return; } pTextPM->Enable(true); pRadioAll->SetValue(false); } void wxStfCursorsDlg::OnRTSlider( wxScrollEvent& event ) { event.Skip(); wxSlider *pRTSlider = (wxSlider*)FindWindow(wxRT_SLIDER); wxStaticText *pRTLabel = (wxStaticText*)FindWindow(wxRT_LABEL); if (pRTSlider==NULL || pRTLabel == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg:OnRTSlider()")); return; } wxString label(wxT("Rise time ")); label << pRTSlider->GetValue() << wxT("-"); label << 100-pRTSlider->GetValue() << wxT("\%"); pRTLabel->SetLabel(label); } stf::latency_mode wxStfCursorsDlg::GetLatencyStartMode() const { wxRadioButton* pManual = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL1); wxRadioButton* pPeak = (wxRadioButton*)FindWindow(wxRADIO_LAT_PEAK1); wxRadioButton* pMaxSlope = (wxRadioButton*)FindWindow(wxRADIO_LAT_MAXSLOPE1); wxRadioButton* pt50 = (wxRadioButton*)FindWindow(wxRADIO_LAT_HALFWIDTH1); if (pManual == NULL || pPeak == NULL || pMaxSlope == NULL || pt50 == NULL ) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::GetLatencyStartMode()")); return stf::undefinedMode; } if (pManual->GetValue() ) return stf::manualMode; else if (pPeak->GetValue()) return stf::peakMode; else if (pMaxSlope->GetValue()) return stf::riseMode; else if (pt50->GetValue()) return stf::halfMode; else return stf::undefinedMode; } stf::latency_mode wxStfCursorsDlg::GetLatencyEndMode() const { wxRadioButton* pEvent = (wxRadioButton*)FindWindow(wxRADIO_LAT_EVENT2); wxRadioButton* pManual = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL2); wxRadioButton* pPeak = (wxRadioButton*)FindWindow(wxRADIO_LAT_PEAK2); wxRadioButton* pMaxSlope = (wxRadioButton*)FindWindow(wxRADIO_LAT_MAXSLOPE2); wxRadioButton* pt50 = (wxRadioButton*)FindWindow(wxRADIO_LAT_HALFWIDTH2); if (pEvent == NULL || pManual == NULL || pPeak == NULL || pMaxSlope == NULL || pt50 == NULL ) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::GetLatencyEndMode()")); return stf::undefinedMode; } if (pManual->GetValue() ) { return stf::manualMode; } else { if (pEvent->GetValue()) { return stf::footMode; } else { if (pPeak->GetValue()) { return stf::peakMode; } else { if (pMaxSlope->GetValue()) { return stf::riseMode; } else { if (pt50->GetValue()) { return stf::halfMode; } else { return stf::undefinedMode; } } } } } } void wxStfCursorsDlg::SetLatencyStartMode(stf::latency_mode latencyBegMode){ wxRadioButton* pManual = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL1); wxRadioButton* pPeak = (wxRadioButton*)FindWindow(wxRADIO_LAT_PEAK1); wxRadioButton* pMaxSlope = (wxRadioButton*)FindWindow(wxRADIO_LAT_MAXSLOPE1); wxRadioButton* pt50 = (wxRadioButton*)FindWindow(wxRADIO_LAT_HALFWIDTH1); wxCheckBox* pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); if (pManual == NULL || pPeak == NULL || pMaxSlope == NULL || pt50 == NULL || pUsePeak==NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::SetLatencyStartMode()")); } switch (latencyBegMode) { case stf::manualMode: pManual->SetValue(true); pUsePeak->Enable(false); break; case stf::peakMode: pPeak->SetValue(true); break; case stf::riseMode: pMaxSlope->SetValue(true); break; case stf::halfMode: pt50->SetValue(true); break; default: break; } } void wxStfCursorsDlg::SetLatencyEndMode(stf::latency_mode latencyEndMode){ wxRadioButton* pManual = (wxRadioButton*)FindWindow(wxRADIO_LAT_MANUAL2); wxRadioButton* pPeak = (wxRadioButton*)FindWindow(wxRADIO_LAT_PEAK2); wxRadioButton* pMaxSlope = (wxRadioButton*)FindWindow(wxRADIO_LAT_MAXSLOPE2); wxRadioButton* pt50 = (wxRadioButton*)FindWindow(wxRADIO_LAT_HALFWIDTH2); wxRadioButton* pEvent = (wxRadioButton*)FindWindow(wxRADIO_LAT_EVENT2); wxCheckBox* pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); if (pManual == NULL || pPeak == NULL || pMaxSlope == NULL || pt50 == NULL || pEvent == NULL || pUsePeak == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::SetLatencyEndtMode()")); } switch (latencyEndMode) { case stf::manualMode: pManual->SetValue(true); pUsePeak->Enable(false); break; case stf::peakMode: pPeak->SetValue(true); break; case stf::riseMode: pMaxSlope->SetValue(true); break; case stf::halfMode: pt50->SetValue(true); break; case stf::footMode: pEvent->SetValue(true); break; default: break; } } void wxStfCursorsDlg::SetPeak4Latency(int val){ wxCheckBox* pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); if (pUsePeak == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::SetUsePeak4Latency()")); return; } pUsePeak->SetValue(val); } bool wxStfCursorsDlg::UsePeak4Latency() const { wxCheckBox* pUsePeak = (wxCheckBox*)FindWindow(wxLATENCYWINDOW); if (pUsePeak == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetUsePeak4Latency()")); return false; } return pUsePeak->IsChecked(); } #ifdef WITH_PSLOPE stf::pslope_mode_beg wxStfCursorsDlg::GetPSlopeBegMode() const { wxRadioButton* pPSManBeg = (wxRadioButton*)FindWindow(wxRADIO_PSManBeg); wxRadioButton* pPSEventBeg = (wxRadioButton*)FindWindow(wxRADIO_PSEventBeg); wxRadioButton* pPSThrBeg = (wxRadioButton*)FindWindow(wxRADIO_PSThrBeg); wxRadioButton* pPSt50Beg = (wxRadioButton*)FindWindow(wxRADIO_PSt50Beg); if (pPSManBeg == NULL || pPSEventBeg == NULL || pPSThrBeg == NULL || pPSt50Beg == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::OnRadioPSBeg()")); return stf::psBeg_undefined; } if ( pPSManBeg->GetValue() ) return stf::psBeg_manualMode; else if ( pPSEventBeg->GetValue() ) return stf::psBeg_footMode; else if( pPSThrBeg->GetValue() ) return stf::psBeg_thrMode; else if ( pPSt50Beg->GetValue() ) return stf::psBeg_t50Mode; else return stf::psBeg_undefined; } stf::pslope_mode_end wxStfCursorsDlg::GetPSlopeEndMode() const { wxRadioButton* pPSManEnd = (wxRadioButton*)FindWindow(wxRADIO_PSManEnd); wxRadioButton* pPSt50End = (wxRadioButton*)FindWindow(wxRADIO_PSt50End); wxRadioButton* pPSDeltaT = (wxRadioButton*)FindWindow(wxRADIO_PSDeltaT); wxRadioButton* pPSPeakEnd = (wxRadioButton*)FindWindow(wxRADIO_PSPeakEnd); if (pPSManEnd == NULL || pPSt50End == NULL || pPSDeltaT == NULL || pPSPeakEnd == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::GetPSlopeEndMode()")); } if ( pPSManEnd->GetValue() ) return stf::psEnd_manualMode; else if ( pPSt50End->GetValue() ) return stf::psEnd_t50Mode; else if( pPSDeltaT->GetValue() ) return stf::psEnd_DeltaTMode; else if ( pPSPeakEnd->GetValue() ) return stf::psEnd_peakMode; else return stf::psEnd_undefined; // return dlgPSlopeModeEnd; } void wxStfCursorsDlg::SetPSlopeEndMode(stf::pslope_mode_end pslopeEndMode) { wxRadioButton* pPSManBeg = (wxRadioButton*)FindWindow(wxRADIO_PSManBeg); wxRadioButton* pPSEventBeg = (wxRadioButton*)FindWindow(wxRADIO_PSEventBeg); wxRadioButton* pPSThrBeg = (wxRadioButton*)FindWindow(wxRADIO_PSThrBeg); wxRadioButton* pPSt50Beg = (wxRadioButton*)FindWindow(wxRADIO_PSThrBeg); if (pPSManBeg == NULL || pPSEventBeg == NULL || pPSThrBeg == NULL || pPSt50Beg == NULL){ wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::SetPSlopeEndMode()")); return; } switch (pslopeEndMode) { case stf::psBeg_manualMode: pPSManBeg->Enable(true); break; case stf::psBeg_footMode: pPSEventBeg->Enable(true); break; case stf::psBeg_thrMode: pPSThrBeg->Enable(true); break; case stf::psBeg_t50Mode: pPSt50Beg->Enable(true); default: break; } } void wxStfCursorsDlg::SetPSlopeBegMode(stf::pslope_mode_beg pslopeBegMode) { wxRadioButton* pPSManBeg = (wxRadioButton*)FindWindow(wxRADIO_PSManBeg); wxRadioButton* pPSEventBeg = (wxRadioButton*)FindWindow(wxRADIO_PSEventBeg); wxRadioButton* pPSThrBeg = (wxRadioButton*)FindWindow(wxRADIO_PSThrBeg); wxRadioButton* pPSt50Beg = (wxRadioButton*)FindWindow(wxRADIO_PSThrBeg); if (pPSManBeg == NULL || pPSEventBeg == NULL || pPSThrBeg == NULL || pPSt50Beg == NULL){ wxGetApp().ErrorMsg(wxT("Null pointer in wxStfCursorsDlg::SetPSlopeBegMode()")); return; } switch (pslopeBegMode) { case stf::psBeg_manualMode: pPSManBeg->Enable(true); break; case stf::psBeg_footMode: pPSEventBeg->Enable(true); break; case stf::psBeg_thrMode: pPSThrBeg->Enable(true); break; case stf::psBeg_t50Mode: pPSt50Beg->Enable(true); default: break; } } #endif // WITH_PSLOPE void wxStfCursorsDlg::UpdateUnits(wxWindowID comboId, bool& setTime, wxWindowID textId) { // Read current entry: wxString strRead; wxTextCtrl* pText = (wxTextCtrl*)FindWindow(textId); if (pText == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::UpdateUnits()")); return; } strRead << pText->GetValue(); double fEntry=0.0; strRead.ToDouble( &fEntry ); wxComboBox* pCombo = (wxComboBox*)FindWindow(comboId); if (pCombo == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::UpdateUnits()")); return; } bool isTimeNow=(pCombo->GetCurrentSelection()==0); // switched from pts to time: if (!setTime&&isTimeNow) { // switched from pts to time: double fNewValue=fEntry*actDoc->GetXScale(); wxString strNewValue;strNewValue << fNewValue; pText->SetValue( strNewValue ); setTime=true; } if (setTime&&!isTimeNow) { // switched from time to pts: int iNewValue = stf::round(fEntry/actDoc->GetXScale()); wxString strNewValue; strNewValue << iNewValue; pText->SetValue( strNewValue ); setTime=false; } } void wxStfCursorsDlg::UpdateCursors() { stf::cursor_type select = CurrentCursor(); int iNewValue1=0, iNewValue2=0; bool cursor2isTime=true, cursor1isTime=true; wxTextCtrl* pText1=NULL, *pText2=NULL; if (actDoc == NULL) { throw std::runtime_error("No active document found"); } switch (select) { case stf::measure_cursor: // Measure iNewValue1=(int)actDoc->GetMeasCursor(); cursor1isTime=cursorMIsTime; pText1=(wxTextCtrl*)FindWindow(wxTEXTM); // update Show ruler SetRuler( actDoc->GetMeasRuler() ); break; case stf::peak_cursor: // Peak iNewValue1=(int)actDoc->GetPeakBeg(); iNewValue2=(int)actDoc->GetPeakEnd(); cursor1isTime=cursor1PIsTime; cursor2isTime=cursor2PIsTime; pText1=(wxTextCtrl*)FindWindow(wxTEXT1P); pText2=(wxTextCtrl*)FindWindow(wxTEXT2P); // Update peak at the end SetPeakAtEnd( actDoc->GetPeakAtEnd() ); // Update the mean peak points and direction: SetPeakPoints( actDoc->GetPM() ); SetDirection( actDoc->GetDirection() ); SetFromBase( actDoc->GetFromBase() ); // Update rise time factor SetRTFactor( actDoc->GetRTFactor() ); // Update threshold slope SetSlope( actDoc->GetSlopeForThreshold() ); break; case stf::base_cursor: // Base iNewValue1=(int)actDoc->GetBaseBeg(); iNewValue2=(int)actDoc->GetBaseEnd(); cursor1isTime=cursor1BIsTime; cursor2isTime=cursor2BIsTime; pText1=(wxTextCtrl*)FindWindow(wxTEXT1B); pText2=(wxTextCtrl*)FindWindow(wxTEXT2B); SetBaselineMethod( actDoc->GetBaselineMethod() ); break; case stf::decay_cursor: // Decay iNewValue1=(int)actDoc->GetFitBeg(); iNewValue2=(int)actDoc->GetFitEnd(); cursor1isTime=cursor1DIsTime; cursor2isTime=cursor2DIsTime; pText1=(wxTextCtrl*)FindWindow(wxTEXT1D); pText2=(wxTextCtrl*)FindWindow(wxTEXT2D); // Update left decay cursor to peak SetStartFitAtPeak( actDoc->GetStartFitAtPeak() ); break; case stf::latency_cursor: // Latency iNewValue1= (int)actDoc->GetLatencyBeg(); iNewValue2= (int)actDoc->GetLatencyEnd(); cursor1isTime=cursor1LIsTime; cursor2isTime=cursor2LIsTime; // if GetLatencyStartmode() is zero, textbox is enabled pText1=(wxTextCtrl*)FindWindow(wxTEXT1L); pText1->Enable(!actDoc->GetLatencyStartMode()); // if GetLatencyEndmode() is zero, textbox is enabled pText2=(wxTextCtrl*)FindWindow(wxTEXT2L); pText2->Enable(!actDoc->GetLatencyEndMode()); // use peak for latency measurements? SetPeak4Latency ( actDoc->GetLatencyWindowMode() ); // Update RadioButton options SetLatencyStartMode( actDoc->GetLatencyStartMode() ); SetLatencyEndMode( actDoc->GetLatencyEndMode() ); break; #ifdef WITH_PSLOPE case stf::pslope_cursor: iNewValue1=(int)actDoc->GetPSlopeBeg(); iNewValue2=(int)actDoc->GetPSlopeEnd(); cursor1isTime = cursor1PSIsTime; cursor2isTime = cursor2PSIsTime; pText1=(wxTextCtrl*)FindWindow(wxTEXT1PS); pText2=(wxTextCtrl*)FindWindow(wxTEXT2PS); // Update PSlope Beg and End radio options SetPSlopeBegMode( actDoc->GetPSlopeBegMode() ); SetPSlopeEndMode( actDoc->GetPSlopeEndMode() ); SetDeltaT( actDoc->GetDeltaT() ); break; #endif default: break; } double fNewValue1=iNewValue1*actDoc->GetXScale(); double fNewValue2=iNewValue2*actDoc->GetXScale(); wxString strNewValue; if (cursor1isTime) { strNewValue << fNewValue1; } else { strNewValue << iNewValue1; } if (pText1 != NULL) { pText1->SetValue( strNewValue ); } if (select!=stf::measure_cursor && pText2 != NULL) { wxString strNewValue2; if (cursor2isTime) { strNewValue2 << fNewValue2; } else { strNewValue2 << iNewValue2; } pText2->SetValue( strNewValue2 ); } //SetSlope( actDoc->GetSlopeForThreshold() ); wxString slopeUnits; slopeUnits += stf::std2wx( actDoc->at(actDoc->GetCurChIndex()).GetYUnits() ); slopeUnits += wxT("/"); slopeUnits += stf::std2wx( actDoc->GetXUnits() ); SetSlopeUnits(slopeUnits); } stf::cursor_type wxStfCursorsDlg::CurrentCursor() const { if (m_notebook == NULL) return stf::undefined_cursor; switch (m_notebook->GetSelection()) { case 0: return stf::measure_cursor; case 1: return stf::peak_cursor; case 2: return stf::base_cursor; case 3: return stf::decay_cursor; case 4: return stf::latency_cursor; #ifdef WITH_PSLOPE case 5: return stf::pslope_cursor; #endif default: return stf::undefined_cursor; } } double wxStfCursorsDlg::GetSlope() const { double f=0.0; wxTextCtrl* pSlope =(wxTextCtrl*) FindWindow(wxSLOPE); if (pSlope == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetSlope()")); return 0; } wxString entry; entry << pSlope->GetValue(); entry.ToDouble( &f ); return f; } void wxStfCursorsDlg::SetSlope( double fSlope ) { wxTextCtrl* pSlope = (wxTextCtrl*)FindWindow(wxSLOPE); wxString wxsSlope; wxsSlope << fSlope; if ( pSlope != NULL ) pSlope->SetValue( wxsSlope ); } void wxStfCursorsDlg::SetSlopeUnits(const wxString& units) { wxStaticText* pSlopeUnits = (wxStaticText*)FindWindow(wxSLOPEUNITS); if (pSlopeUnits != NULL) { pSlopeUnits->SetLabel(units); } } bool wxStfCursorsDlg::GetRuler() const { wxCheckBox* pMeasCursor = (wxCheckBox*)FindWindow(wxMEASCURSOR); if (pMeasCursor == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::GetRuler()")); return false; } return pMeasCursor->IsChecked(); } void wxStfCursorsDlg::SetRuler(bool value) { wxCheckBox* pMeasCursor = (wxCheckBox*)FindWindow( wxMEASCURSOR ); if (pMeasCursor == NULL) { wxGetApp().ErrorMsg(wxT("null pointer in wxStfCursorsDlg::SetRuler()")); return; } pMeasCursor->SetValue(value); } stimfit-0.14.11/src/stimfit/gui/dlgs/fitseldlg.h0000755000175200017520000000747412277666257016436 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file fitseldlg.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfFitSelDlg. */ #ifndef _FITSELDLG_H #define _FITSELDLG_H /*! \addtogroup wxstf * @{ */ #include #include #include "./../../stf.h" //! Non-linear regression settings dialog class wxStfFitSelDlg : public wxDialog { DECLARE_EVENT_TABLE() private: int m_fselect; Vector_double init_p; Vector_double opts; bool noInput, use_scaling; void SetPars(); void SetOpts(); void InitOptions(wxFlexGridSizer* optionsGrid); void Update_fselect(); void read_init_p(); void read_opts(); static const int MAXPAR=20; void OnListItemSelected( wxListEvent& event ); void OnButtonClick( wxCommandEvent& event ); wxStdDialogButtonSizer* m_sdbSizer; wxListCtrl* m_listCtrl; wxTextCtrl *m_textCtrlMu,*m_textCtrlJTE,*m_textCtrlDP,*m_textCtrlE2, *m_textCtrlMaxiter, *m_textCtrlMaxpasses; wxCheckBox *m_checkBox; std::vector< wxStaticText* > paramDescArray; std::vector< wxTextCtrl* > paramEntryArray; wxStfDoc* pDoc; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param doc Pointer to the document the call originated from. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfFitSelDlg( wxWindow* parent, wxStfDoc* doc, int id = wxID_ANY, wxString title = wxT("Non-linear regression"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); //! Get the selected fit function. /*! \return The index of the selected fit function. */ int GetFSelect() const {return m_fselect;} //! Get the initial parameters. /*! \return A valarray containing the initial parameter set to start the fit. */ Vector_double GetInitP() const {return init_p;} //! Get options for the algorithm. /*! \return A valarray containing the initial parameters for the algorithm. */ Vector_double GetOpts() const {return opts;} //! Scale x- and y-amplitudes to 1.0 before fit /*! \return True if scaling should be used */ bool UseScaling() const {return use_scaling;} //! Determines whether user-defined initial parameters are allowed. /*! \param noInput_ Set to true if the user may set the initial parameters, false otherwise. * Needed for batch analysis. */ void SetNoInput(bool noInput_) {noInput=noInput_;} }; /* @} */ #endif stimfit-0.14.11/src/stimfit/gui/dlgs/eventdlg.h0000755000175200017520000000654012277666257016262 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file eventdlg.h * \author Christoph Schmidt-Hieber * \date 2008-01-18 * \brief Declares wxStfEventDlg. */ #ifndef _EVENTDLG_H #define _EVENTDLG_H /*! \addtogroup wxstf * @{ */ #include class SectionPointer; //! Dialog for event-detection settings. class wxStfEventDlg : public wxDialog { DECLARE_EVENT_TABLE() private: double m_threshold; stf::extraction_mode m_mode; bool isExtract; int m_minDistance; int m_template; wxStdDialogButtonSizer* m_sdbSizer; wxTextCtrl *m_textCtrlThr, *m_textCtrlDist; wxRadioBox* m_radioBox; wxComboBox* m_comboBoxTemplates; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param templateSections A vector of pointers to sections that contain fits * which might be used as a template. * \param isExtract true if events are to be detected for later extraction * (rather than just plotting the detection criterion or * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfEventDlg( wxWindow* parent, const std::vector& templateSections, bool isExtract, int id = wxID_ANY, wxString title = wxT("Event detection settings"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the event detection threshold. /*! \return The event detection threshold. */ double GetThreshold() const {return m_threshold;} //! Indicates the selected extraction algorithm /*! \return The extraction algorithm. */ stf::extraction_mode GetMode() const {return m_mode;} //! Get the minimal distance between events. /*! \return The minimal distance between events in units of sampling points. */ int GetMinDistance() const {return m_minDistance;} //! Get the selected template. /*! \return The index of the template fit to be used for event detection. */ int GetTemplate() const {return m_template;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; /* @} */ #endif stimfit-0.14.11/src/stimfit/gui/dlgs/cursorsdlg.h0000755000175200017520000003426412472345762016635 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file cursorsdlg.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfCursorsDlg. */ #ifndef _CURSORSDLG_H #define _CURSORSDLG_H /*! \addtogroup wxstf * @{ */ #include "./../../stf.h" #include #include #include #include #include class wxStfDoc; //! Cursor settings non-modal dialog class StfDll wxStfCursorsDlg : public wxDialog { DECLARE_EVENT_TABLE() private: wxNotebookPage* CreateMeasurePage(); wxNotebookPage* CreatePeakPage(); wxNotebookPage* CreateBasePage(); wxNotebookPage* CreateDecayPage(); wxNotebookPage* CreateLatencyPage(); #ifdef WITH_PSLOPE wxNotebookPage* CreatePSlopePage(); #endif wxFlexGridSizer* CreateCursorInput( wxPanel* nbPage, wxWindowID textC1, wxWindowID textC2, wxWindowID comboU1, wxWindowID comboU2, std::size_t c1, std::size_t c2 ); int ReadCursor(wxWindowID textId, bool isTime) const; void WriteCursor(wxWindowID textID, bool isTime, long cursor) const; int ReadDeltaT(wxWindowID textId) const; void UpdateUnits(wxWindowID comboId, bool& setTime, wxWindowID textID); bool cursorMIsTime, cursor1PIsTime,cursor2PIsTime, cursor1BIsTime,cursor2BIsTime, cursor1DIsTime,cursor2DIsTime, #ifdef WITH_PSLOPE cursor1PSIsTime,cursor2PSIsTime, #endif cursor1LIsTime,cursor2LIsTime; wxStfDoc* actDoc; wxNotebook* m_notebook; void OnPageChanged( wxNotebookEvent& event ); void OnComboBoxUM( wxCommandEvent& event ); void OnComboBoxU1P( wxCommandEvent& event ); void OnComboBoxU2P( wxCommandEvent& event ); void OnComboBoxU1B( wxCommandEvent& event ); void OnComboBoxU2B( wxCommandEvent& event ); void OnComboBoxU1D( wxCommandEvent& event ); void OnComboBoxU2D( wxCommandEvent& event ); void OnComboBoxU1L( wxCommandEvent& event ); void OnComboBoxU2L( wxCommandEvent& event ); #ifdef WITH_PSLOPE void OnComboBoxU1PS( wxCommandEvent& event ); void OnComboBoxU2PS( wxCommandEvent& event ); #endif void OnRadioLatManualBeg( wxCommandEvent& event ); void OnRadioLatManualEnd( wxCommandEvent& event ); void OnRadioLatNonManualBeg( wxCommandEvent& event ); void OnRadioLatNonManualEnd( wxCommandEvent& event ); #ifdef WITH_PSLOPE void OnRadioPSManBeg( wxCommandEvent& event ); void OnRadioPSEventBeg( wxCommandEvent& event ); void OnRadioPSThrBeg( wxCommandEvent& event ); void OnRadioPSt50Beg( wxCommandEvent& event ); void OnRadioPSManEnd( wxCommandEvent& event ); void OnRadioPSt50End( wxCommandEvent& event ); void OnRadioPSDeltaT( wxCommandEvent& event ); void OnRadioPSPeakEnd( wxCommandEvent& event ); #endif void OnRadioAll( wxCommandEvent& event ); void OnRadioMean( wxCommandEvent& event ); void OnPeakcalcexec( wxCommandEvent& event ); void OnLoadCursorConf( wxCommandEvent& event ); void OnSaveCursorConf( wxCommandEvent& event ); void OnBasetoslope( wxCommandEvent& event ); void OnRTSlider( wxScrollEvent& event ); void OnPeakAtEnd( wxCommandEvent& event ); void OnStartFitAtPeak( wxCommandEvent& event ); //! check the syntax of csr config files and return true if the syntax is correct. /*! \param crs_file, a crs config file */ bool IsCSRSyntax( wxFileConfig* crs_file ); //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param initDoc Pointer to the document the call originated from. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfCursorsDlg( wxWindow* parent, wxStfDoc* initDoc, int id = wxID_ANY, wxString title = wxT("Cursor settings"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); //! Called when data should be transferred from the non-modal dialog (e.g. when OK is pressed) /*! Note that a non-modal dialog won't be destroyed when OK is clicked, * it will only disappear from sight. This function will then apply the current * cursor settings and update the results table. * \return The return value of the base class version wxWindow::TransferDataFromWindow() */ virtual bool TransferDataFromWindow(); //! Get the measurement cursor x-position /*! \return The measurement cursor x-position in units of sampling points. */ int GetCursorM() const; //! Get the left peak cursor x-position /*! \return The left peak cursor x-position in units of sampling points. */ int GetCursor1P() const; //! Get the right peak cursor x-position /*! \return The right peak cursor x-position in units of sampling points. */ int GetCursor2P() const; //! Get the left base cursor x-position /*! \return The left base cursor x-position in units of sampling points. */ int GetCursor1B() const; //! Get the right base cursor x-position /*! \return The right base cursor x-position in units of sampling points. */ int GetCursor2B() const; //! Get the left fit cursor x-position /*! \return The left fit cursor x-position in units of sampling points. */ int GetCursor1D() const; //! Get the right fit cursor x-position /*! \return The right fit cursor x-position in units of sampling points. */ int GetCursor2D() const; //! Get the left latency cursor x-position /*! \return The left fit cursor x-position in units of sampling points. */ int GetCursor1L() const; //! Get the right latency cursor x-position /*! \return The right fit cursor x-position in units of sampling points. */ int GetCursor2L() const; #ifdef WITH_PSLOPE //! Get the left PSlope cursor x-position /*! \return The left fit cursor x-position in units of sampling points. */ int GetCursor1PS() const; //! Get the right PSlope cursor x-position /*! \return The right fit cursor x-position in units of sampling points. */ int GetCursor2PS() const; #endif //! Gets the number of points used for the binned average during peak detection. /*! \return The number of points used for the binned average during peak detection. */ int GetPeakPoints() const; //! Gets the lower factor (e.g 20) used to calculate the rise time. /*! \return The lower value of the percentage (e.g 20) to calculate the rise time. */ int GetRTFactor() const; //! Sets whether the right peak cursor should be at the end of the trace. /*! \param is_end true if the peak cursor is at the end of the trace, false otherwise. */ void SetPeakAtEnd( bool is_end); //! Sets the number of points used for the binned average during peak detection. /*! \param peakPoints The number of points used for the binned average during peak detection. */ void SetPeakPoints(int peakPoints); //! Set the lower value (e.g 20) to compute the rise-time. The high value is simply 100-lower value. /*! \param RTFactor is the lower value (e.g 20) . */ void SetRTFactor(int RTFactor); //! Gets the distance to the first PSlope cursor in number of points. /*! \return The distance to the first PSlope cursor in number of points. */ int GetDeltaT() const; //! Sets the number of points used for the distance from the first PSlope cursor. /*! \param peakPoints The number of points used for the distance from the first PSlope cursor. */ void SetDeltaT(int DeltaT); //! Sets whether the left decay cursor should be at the peak of the trace. /*! \param is_peak true if the decay cursor is at the peak of the trace, false otherwise. */ void SetStartFitAtPeak( bool is_peak); //! Gets the direction of peak calculations. /*! \return The current direction of peak calculations. */ stfnum::direction GetDirection() const; //! Gets the mode of Latency for the beginning of the latency cursor. /*! \return The current mode for the beginning latency cursor. */ stf::latency_mode GetLatencyStartMode() const; //! Gets the mode of Latency of the last latency cursor. /*! \return The current mode of the last latency cursor. */ stf::latency_mode GetLatencyEndMode() const; //! Sets the latency mode of the left latency cursor. /*! \param latencyBegMode: the new mode for the left latency cursor. */ void SetLatencyStartMode(stf::latency_mode latencyBegMode); //! Sets the latency mode of the right latency cursor. /*! \param latencyEndMode: the new mode for the right latency cursor. */ void SetLatencyEndMode(stf::latency_mode latencyEndMode); //! Indicates whether latency measurements should be taken within the current peak cursors. /*! \return true if latency measurement is taken within the peak cursors. */ bool UsePeak4Latency() const; //! Sets the latency measurements to current peak cursors. /*! \param val. */ void SetPeak4Latency(int val); #ifdef WITH_PSLOPE //! Gets the mode of measure for the beginning of the slope cursor. /*! \return The current mode for the beginning slope cursor. */ stf::pslope_mode_beg GetPSlopeBegMode() const; //! Gets the mode of measure for the end of the slope cursor. /*! \return The current mode for the end slope cursor. */ stf::pslope_mode_end GetPSlopeEndMode() const; #endif // WITH_PSLOPE //! Indicates whether to use the baseline as a reference for AP kinetics. /*! \return true if the baseline should be used, false if the threshold should be used. */ bool GetFromBase() const; //! Sets the direction of peak calculations. /*! \param direction The new direction of peak calculations. */ void SetDirection(stfnum::direction direction); #ifdef WITH_PSLOPE //! Sets the mode of the right slope cursor. /*! \param pslopeEndMode The new mode for the slope cursor. */ void SetPSlopeEndMode(stf::pslope_mode_end pslopeEndMode); //! Sets the mode of the left slope cursor. /*! \param pslopeBegMode The new mode for the slope cursor. */ void SetPSlopeBegMode(stf::pslope_mode_beg pslopeBegMode); #endif // WITH_PSLOPE //! Sets the reference for AP kinetics measurements. /*! \param frombase true if the baseline should be used, false if the threshold should be used. */ void SetFromBase(bool frombase); //! Sets the reference for baseline measurement. /*! \param median true if the median should be used, false if the average is used. */ void SetBaselineMethod(enum stfnum::baseline_method); //! Indiates whether baseline is computed as mean or as median. /*! \param false indicates computing average (mean & s.d.), 1 indicates median & iqr. */ enum stfnum::baseline_method GetBaselineMethod() const; //! Indicates whether the right peak cursor should always be at the end of the trace. /*! \return true if the peak cursor should always be at the end of the trace. */ bool GetPeakAtEnd() const; //! Indicates whether to always start a fit at the current peak position. /*! \return true if the fit should always be started at the current peak position. */ bool GetStartFitAtPeak() const; //! Updates the cursor entries in the Cursors Settings menu. void UpdateCursors(); //! Retrieve the current cursor notebook page. /*! \return The cursor corresponding to the currently selected notebook page. */ stf::cursor_type CurrentCursor() const; //! Get the slope at which the baseline should be fixed. /*! \return The slope at which the baseline should be fixed. */ double GetSlope() const; //! Set the threshold slope. /*! \param slope The new threshold slope. */ void SetSlope( double slope ); //! Set the units of the slope. /*! \param units The units of the slope. */ void SetSlopeUnits(const wxString& units); //! Indicates whether the baseline should be fixed to a certain slope. /*! \return true if the baseline should be fixed, false otherwise. */ bool GetBaseToSlope() const; //! Indicates whether an additional vertical ruler is drawn through the measurement cursor. /*! \return true if an additional ruler should be drawn. */ bool GetRuler() const; //! Sets whether an additional vertical ruler should be drawn through the measurement cursor. /*! \param value true if an additional ruler should be drawn, false otherwise. */ void SetRuler(bool value); //! Load a cursor configuration file (*csr) in the Cursor Settings menu. /*! \param filepath The path where the csr file is located. */ bool LoadCursorConf( const wxString& filepath ); //! Save a cursor configuration file (*csr) from the Cursor Settings menu. /*! \param filepath The path where the csr file will be saved */ bool SaveCursorConf( const wxString& filepath ); //! Sets the currently active document. /*! \param actDoc_ A pointer to the currently active document. */ void SetActiveDoc(wxStfDoc* actDoc_) { actDoc = actDoc_; } }; /* @} */ #endif stimfit-0.14.11/src/stimfit/gui/dlgs/smalldlgs.h0000755000175200017520000005743312521540625016421 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file smalldlgs.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares several small dialogs. */ #ifndef _SMALLDLGS_H #define _SMALLDLGS_H /*! \addtogroup wxstf * @{ */ #include #include #include #include "./../../stf.h" //! Dialog showing file information. class wxStfFileInfoDlg : public wxDialog { DECLARE_EVENT_TABLE() private: wxStdDialogButtonSizer* m_sdbSizer; public: //! Constructor /*! \param parent Pointer to parent window. * \param szGeneral General information. * \param szFile File variables information. * \param szSection Section variable information. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfFileInfoDlg( wxWindow* parent, const std::string& szGeneral, const std::string& szFile, const std::string& szSection, int id = wxID_ANY, wxString title = wxT("File information"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); }; //! Dialog for selecting channels class wxStfChannelSelDlg : public wxDialog { DECLARE_EVENT_TABLE() private: int m_selChannel1, m_selChannel2; wxStdDialogButtonSizer* m_sdbSizer; wxComboBox *m_comboBoxCh1,*m_comboBoxCh2; void OnComboCh1( wxCommandEvent& event ); void OnComboCh2( wxCommandEvent& event ); //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param channelNames A vector containing the channel names. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfChannelSelDlg( wxWindow* parent, const std::vector& channelNames= std::vector(0), int id = wxID_ANY, wxString title = wxT("Select channels"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); //! Get selection for channel 1 /*! \return The index of the first (active) channel */ int GetSelCh1() const {return m_selChannel1;} //! Get selection for channel 2 /*! \return The index of the second (reference) channel */ int GetSelCh2() const {return m_selChannel2;} }; //! Dialog for selecting alignment mode class wxStfAlignDlg : public wxDialog { DECLARE_EVENT_TABLE() private: int m_alignRise; wxRadioBox* m_radioBox; wxStdDialogButtonSizer* m_sdbSizer; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfAlignDlg( wxWindow* parent, int id = wxID_ANY, wxString title = wxT("Alignment mode"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Indicates whether the average should be aligned to the steepest rise. /*! \return true if it should be aligned to the steepest rise, false if it should be * aligned to the peak. */ int AlignRise() const {return m_alignRise;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; //! Dialog for selecting a filter function class wxStfFilterSelDlg : public wxDialog { DECLARE_EVENT_TABLE() private: int m_filterSelect; wxRadioBox* m_radioBox; wxStdDialogButtonSizer* m_sdbSizer; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfFilterSelDlg( wxWindow* parent, int id = wxID_ANY, wxString title = wxT("Filter function"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the selected filter function. /*! \return The index of the selected filter function. */ int GetFilterSelect() const {return m_filterSelect;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; //! Dialog for selecting a transform function class wxStfTransformDlg : public wxDialog { DECLARE_EVENT_TABLE() private: int m_fSelect; wxRadioBox* m_radioBox; wxStdDialogButtonSizer* m_sdbSizer; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfTransformDlg( wxWindow* parent, int id = wxID_ANY, wxString title = wxT("Choose function"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the selected transform function. /*! \return The index of the selected transform function. */ int GetFSelect() const {return m_fSelect;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; //! Dialog showing information about a fit. class wxStfFitInfoDlg : public wxDialog { DECLARE_EVENT_TABLE() private: wxStdDialogButtonSizer* m_sdbSizer; public: //! Constructor /*! \param parent Pointer to parent window. * \param info A string containing information about the fit. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfFitInfoDlg( wxWindow* parent, const wxString& info, int id = wxID_ANY, wxString title = wxT("Fit information"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); }; //! small struct representing a batch dialog option struct BatchOption { //! Default constructor BatchOption( ) : label( wxT("\0") ), selection(false), index(-1) {} //! Constructor //! \param lab Checkbox label //! \param sel Checkbox status //! \param id Index in dialog BatchOption(const wxString& lab, bool sel, int id) : label(lab), selection(sel), index(id) {} wxString label; //! Checkbox label bool selection; //! Checkbox status int index; //! Index within dialog }; //! Dialog for batch analysis settings. class wxStfBatchDlg : public wxDialog { DECLARE_EVENT_TABLE() private: std::vector batchOptions; wxCheckListBox* m_checkList; wxStdDialogButtonSizer* m_sdbSizer; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); BatchOption LookUp( int index ) const; enum { id_base=0, id_basesd, id_threshold, id_slopethresholdtime, id_peakzero, id_peakbase, id_peakthreshold, id_peaktime, id_rtLoHi, id_innerLoHi, id_outerLoHi, id_t50, id_t50se, id_slopes, id_slopetimes, id_latencies, id_fit, #ifdef WITH_PSLOPE id_pslopes, #endif id_crossings }; public: //! Constructor /*! \param parent Pointer to parent window. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfBatchDlg( wxWindow* parent, int id = wxID_ANY, wxString title = wxT("Choose values"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Indicates whether the baseline should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintBase() const {return LookUp(id_base).selection;} //! Indicates whether the standard deviation of the baseline should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintBaseSD() const {return LookUp(id_basesd).selection;} //! Indicates whether the threshold should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintThreshold() const {return LookUp(id_threshold).selection;} //! Indicates whether the time of slope threshold crossing should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintSlopeThresholdTime() const {return LookUp(id_slopethresholdtime).selection;} //! Indicates whether the peak (from 0) value should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintPeakZero() const {return LookUp(id_peakzero).selection;} //! Indicates whether the peak (from baseline) value should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintPeakBase() const {return LookUp(id_peakbase).selection;} //! Indicates whether the peak value (from threshold) should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintPeakThreshold() const {return LookUp(id_peakthreshold).selection;} //! Indicates whether the peak value (from threshold) should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintPeakTime() const {return LookUp(id_peaktime).selection;} //! Indicates whether the Lo-Hi% rise time should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintRTLoHi() const {return LookUp(id_rtLoHi).selection;} //! Indicates whether the Lo-Hi% inner rise time should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintInnerRTLoHi() const {return LookUp(id_innerLoHi).selection;} //! Indicates whether the Lo-Hi% inner rise time should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintOuterRTLoHi() const {return LookUp(id_outerLoHi).selection;} //! Indicates whether the half amplitude duration should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintT50() const {return LookUp(id_t50).selection;} //! Indicates whether the start and end time for half amplitude should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintT50SE() const {return LookUp(id_t50se).selection;} //! Indicates whether the maximal slopes should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintSlopes() const {return LookUp(id_slopes).selection;} //! Indicates whether the peak value (from threshold) should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintSlopeTimes() const {return LookUp(id_slopetimes).selection;} #ifdef WITH_PSLOPE //! Indicates whether the slopes should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintPSlopes() const {return LookUp(id_pslopes).selection;} #endif //! Indicates whether a threshold crossing should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintThr() const {return LookUp(id_crossings).selection;} //! Indicates whether the latency should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintLatencies() const {return LookUp(id_latencies).selection;} //! Indicates whether the fit results should be printed in the batch analysis table. /*! \return true if it should be printed, false otherwise. */ bool PrintFitResults() const {return LookUp(id_fit).selection;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; //! Dialog for setting printout options. class wxStfPreprintDlg : public wxDialog { DECLARE_EVENT_TABLE() private: bool m_gimmicks,m_isFile; int m_downsampling; wxStdDialogButtonSizer* m_sdbSizer; wxCheckBox* m_checkBox; wxTextCtrl* m_textCtrl; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param isFile Set this to true if something should be printed to a file. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfPreprintDlg( wxWindow* parent, bool isFile=false, int id = wxID_ANY, wxString title = wxT("Settings"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Indicates whether gimmicks (cursors, results table etc.) sould be printed. /*! \return true if gimmicks should be printed. */ bool GetGimmicks() const {return m_gimmicks;} //! Prints every n-th point. /*! \return If the return value \e n > 1, every n-th point will be printed. */ int GetDownSampling() const {return m_downsampling;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; //! Dialog for setting the parameters of a Gaussian function. class wxStfGaussianDlg : public wxDialog { DECLARE_EVENT_TABLE() private: double m_width; double m_center; double m_amp; wxStdDialogButtonSizer* m_sdbSizer; wxSlider* m_slider; wxTextCtrl *m_textCtrlCenter, *m_textCtrlWidth; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfGaussianDlg( wxWindow* parent, int id = wxID_ANY, wxString title = wxT("Settings for Gaussian function"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the width of the Gaussian. /*! \return The width of the Gaussian. */ double Width() const {return m_width;} //! Get the center of the Gaussian. /*! \return The center of the Gaussian. */ double Center() const {return m_center;} //! Get the amplitude of the Gaussian. /*! \return The amplitude of the Gaussian. */ double Amp() const {return m_amp;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; //! Dialog for text import filter settings. class wxStfTextImportDlg : public wxDialog { DECLARE_EVENT_TABLE() private: int m_hLines; bool m_toSection; bool m_firstIsTime; bool m_isSeries; int m_ncolumns; double m_sr; wxString m_yUnits; wxString m_yUnitsCh2; wxString m_xUnits; bool m_applyToAll; void disableSenseless(); wxStdDialogButtonSizer* m_sdbSizer; wxTextCtrl *m_textCtrlHLines, *m_textCtrlYUnits, *m_textCtrlYUnitsCh2, *m_textCtrlXUnits, *m_textCtrlSR; wxComboBox *m_comboBoxNcolumns,*m_comboBoxFirsttime,*m_comboBoxSecorch; wxCheckBox *m_checkBoxApplyToAll; void OnComboNcolumns( wxCommandEvent& event ); void OnComboFirsttime( wxCommandEvent& event ); void OnComboSecorch( wxCommandEvent& event ); //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param textPreview The preview text to be shown. * \param hLines_ The number of header lines that are initially set. * \param isSeries Set this to true for file series so that they can * be batch-opened. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfTextImportDlg( wxWindow* parent, const wxString& textPreview=wxT("\0"), int hLines_=1, bool isSeries=false, int id = wxID_ANY, wxString title = wxT("Text file import settings"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the number of header lines. /*! \return The number of header lines. */ int GetHLines() const {return m_hLines;} //! Indicates whether columns should be put into section or into channels. /*! \return true if they should be put into sections. */ bool ToSection() const {return m_toSection;} //! Indicates whether the first column contains time values. /*! \return true is the first column contains time values. */ bool FirstIsTime() const {return m_firstIsTime;} //! Get the number of columns. /*! \return The number of columns. */ int GetNColumns() const {return m_ncolumns;} //! Get the sampling rate. /*! \return The sampling rate. */ double GetSR() const {return m_sr;} //! Get the y units of the first channel. /*! \return The y units of the first channel. */ const wxString& GetYUnits() const {return m_yUnits;} //! Get the y units of the second channel. /*! \return The y units of the second channel. */ const wxString& GetYUnitsCh2() const {return m_yUnitsCh2;} //! Get the x units. /*! \return The x units. */ const wxString& GetXUnits() const {return m_xUnits;} //! Indicates whether the settings apply to all files in a series. /*! \return true if the settings apply to all files. */ bool ApplyToAll() const {return m_applyToAll;} //! Get the text import filter settings struct. /*! \return The stf::txtImportSettings struct. */ stfio::txtImportSettings GetTxtImport() const; //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; class wxDirPickerCtrl; class wxListCtrl; //! Dialog for re-ordering channels before saving to file class wxStfOrderChannelsDlg : public wxDialog { DECLARE_EVENT_TABLE() private: wxListCtrl* m_List; std::vector channelOrder; void OnUparrow( wxCommandEvent& event ); void OnDownarrow( wxCommandEvent& event ); void SwapItems(long itemId1, long itemId2); //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param channelNames A vector containing channel names. * \param id Window id. * \param title Dialog title. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfOrderChannelsDlg( wxWindow* parent, const std::vector& channelNames= std::vector(0), int id = wxID_ANY, wxString title = wxT("Re-order channels"), wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the new channel order. /*! \return A vector of newly ordered channel indices. */ std::vector GetChannelOrder() const {return channelOrder;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; /* @} */ #endif stimfit-0.14.11/src/stimfit/gui/dlgs/convertdlg.cpp0000644000175200017520000002444112521565261017132 00000000000000#include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include #include #include #include "convertdlg.h" #include "./../app.h" enum { wxCOMBOBOX_SRC, wxCOMBOBOX_DEST, wxGENERICDIRCTRL_SRC, wxGENERICDIRCTRL_DEST }; BEGIN_EVENT_TABLE( wxStfConvertDlg, wxDialog ) EVT_COMBOBOX( wxCOMBOBOX_SRC, wxStfConvertDlg::OnComboBoxSrcExt) EVT_COMBOBOX( wxCOMBOBOX_DEST, wxStfConvertDlg::OnComboBoxDestExt) END_EVENT_TABLE() // wxStfConvertDlg constructor wxStfConvertDlg::wxStfConvertDlg(wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), srcDir(wxT("")), destDir(wxT("")), srcFilter(wxT("")), myCheckBoxSubdirs(NULL), srcFilterExt(stfio::cfs), destFilterExt(stfio::igor), srcFileNames(0) { if (srcDir == wxT("")) { srcDir = wxGetApp().wxGetProfileString( wxT("Settings"), wxT("Most recent batch source directory"), wxT("")); if (srcDir == wxT("") || !wxFileName::DirExists(srcDir)) { srcDir = wxStandardPaths::Get().GetDocumentsDir(); } } if (destDir == wxT("")) { destDir = wxGetApp().wxGetProfileString( wxT("Settings"), wxT("Most recent batch target directory"), wxT("")); if (destDir == wxT("") || !wxFileName::DirExists(destDir)) { destDir = wxStandardPaths::Get().GetDocumentsDir(); } } wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); //wxFlexGridSizer *gridSizer; //gridSizer = new wxFlexGridSizer(2,2,0,10); wxFlexGridSizer *gridSizer; gridSizer = new wxFlexGridSizer(1,2,0,0); // SOURCE dir ------------------------------------------------------ // wxFlexGridSizer to place a 1) combo + 2) directory listing wxFlexGridSizer *myLeftSizer; // this is a sizer for the left side myLeftSizer = new wxFlexGridSizer(3, 1, 0, 0); // SOURCE 1.- wxComboBox to select the source file extension wxFlexGridSizer *mySrcComboSizer; // a sizer for my Combo mySrcComboSizer = new wxFlexGridSizer(1, 2, 0, 0); wxStaticText* staticTextExt; staticTextExt = new wxStaticText( this, wxID_ANY, wxT("Origin filetype:"), wxDefaultPosition, wxDefaultSize, 0 ); wxArrayString myextensions; myextensions.Add(wxT("CFS binary [*.dat ]")); myextensions.Add(wxT("Axon binary [*.abf ]")); myextensions.Add(wxT("Axograph [*.axgd]")); myextensions.Add(wxT("Axon textfile [*.atf ]")); myextensions.Add(wxT("ASCII [*.* ]")); myextensions.Add(wxT("HDF5 [*.h5 ]")); myextensions.Add(wxT("HEKA files [*.dat ]")); #if (BIOSIG_VERSION >= 10404) myextensions.Add(wxT("Igor files [*.ibw ]")); #endif wxComboBox* myComboBoxExt; myComboBoxExt = new wxComboBox(this, wxCOMBOBOX_SRC, myextensions[0], wxDefaultPosition, wxDefaultSize, myextensions, wxCB_READONLY); // add to mySrcComboSizer mySrcComboSizer->Add( staticTextExt, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); mySrcComboSizer->Add( myComboBoxExt, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // add to myLeftSizer myLeftSizer->Add( mySrcComboSizer, 0, wxEXPAND | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // ---- wxComboBox to select the source file extension // SOURCE 2.- A wxGenericDirCtrl to select the source directory: //wxGenericDirCtrl *mySrcDirCtrl; mySrcDirCtrl = new wxGenericDirCtrl(this, wxGENERICDIRCTRL_SRC, srcDir, wxDefaultPosition, wxSize(300,300), wxDIRCTRL_DIR_ONLY); // add to myLeftSizer myLeftSizer->Add( mySrcDirCtrl, 0, wxEXPAND | wxALL , 2 ); // ---- A wxGenericDirCtrl to select the source directory: myCheckBoxSubdirs = new wxCheckBox( this, wxID_ANY, wxT("Include subdirectories"), wxDefaultPosition, wxDefaultSize, 0 ); myCheckBoxSubdirs->SetValue(false); myLeftSizer->Add( myCheckBoxSubdirs, 0, wxALIGN_LEFT | wxALL, 2 ); // Finally add myLeftSizer to the gridSizer gridSizer->Add( myLeftSizer, 0, wxALIGN_LEFT, 5 ); //topSizer->Add( gridSizer, 0, wxALIGN_CENTER, 5 ); // DESTINATION dir ---------------------------------------------------------- // wxFlexGridSizer to place a 1) combo + 2) directory listing wxFlexGridSizer *myRightSizer; // this is a sizer for the right side myRightSizer = new wxFlexGridSizer(2, 1, 0, 0); // DESTINATION 1.- wxComboBox to select the destiny file extension wxFlexGridSizer *myDestComboSizer; // a sizer for my Combo myDestComboSizer = new wxFlexGridSizer(1, 2, 0, 0); wxStaticText* staticTextDestExt; staticTextDestExt = new wxStaticText( this, wxID_ANY, wxT("Destination filetype:"), wxDefaultPosition, wxDefaultSize, 0 ); wxArrayString mydestextensions; //ordered by importance mydestextensions.Add(wxT("Igor binary [*.ibw ]")); mydestextensions.Add(wxT("Axon textfile [*.atf ]")); #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) mydestextensions.Add(wxT("GDF (Biosig) [*.gdf ]")); #endif wxComboBox* myComboBoxDestExt; myComboBoxDestExt = new wxComboBox(this, wxCOMBOBOX_DEST, mydestextensions[0], wxDefaultPosition, wxDefaultSize, mydestextensions, wxCB_READONLY); // add to mySrcComboSizer myDestComboSizer->Add( staticTextDestExt, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); myDestComboSizer->Add( myComboBoxDestExt, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // add to myRightSizer myRightSizer->Add( myDestComboSizer, 0, wxEXPAND | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // ---- wxComboBox to select the source file extension // DESTINATION 2.- A wxGenericDirCtrl to select the destiny directory: myDestDirCtrl = new wxGenericDirCtrl(this, wxGENERICDIRCTRL_DEST, destDir, wxDefaultPosition, wxSize(300,300), wxDIRCTRL_DIR_ONLY); // add to myLeftSizer myRightSizer->Add( myDestDirCtrl, 0, wxEXPAND | wxALL, 2 ); // ---- A wxGenericDirCtrl to select the source directory: // Finally add myRightSizer to gridSizer and this to topSizer gridSizer->Add( myRightSizer, 0, wxALIGN_RIGHT, 5); topSizer->Add( gridSizer, 0, wxALIGN_CENTER, 5 ); // OK / Cancel buttons----------------------------------------------- wxStdDialogButtonSizer* sdbSizer = new wxStdDialogButtonSizer(); wxButton *myConvertButton; myConvertButton = new wxButton( this, wxID_OK, wxT("C&onvert")); // this for wxWidgets 2.9.1 //myConvertButton->SetBitmap(wxBitmap(wxT("icon_cross.png"), wxBITMAP_TYPE_PNG)); sdbSizer->AddButton(myConvertButton); sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); sdbSizer->Realize(); topSizer->Add( sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfConvertDlg::OnComboBoxDestExt(wxCommandEvent& event){ event.Skip(); wxComboBox* pComboBox = (wxComboBox*)FindWindow(wxCOMBOBOX_DEST); if (pComboBox == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfConvertDlg::OnComboBoxDestExt()")); return; } // update destFilterExt switch(pComboBox->GetSelection()){ case 0: destFilterExt = stfio::igor; break; case 1: destFilterExt = stfio::atf; break; #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) case 2: destFilterExt = stfio::biosig; break; #endif default: destFilterExt = stfio::igor; } } void wxStfConvertDlg::OnComboBoxSrcExt(wxCommandEvent& event){ event.Skip(); wxComboBox* pComboBox = (wxComboBox*)FindWindow(wxCOMBOBOX_SRC); if (pComboBox == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfConvertDlg::OnComboBoxSrcExt()")); return; } // update srcFilterExt and srcFilter // see index of wxArrayString myextensions to evaluate case switch(pComboBox->GetSelection()){ case 0: srcFilterExt = stfio::cfs; break; case 1: srcFilterExt = stfio::abf; break; case 2: srcFilterExt = stfio::axg; break; case 3: srcFilterExt = stfio::atf; break; case 4: break; case 5: srcFilterExt = stfio::hdf5; break; case 6: srcFilterExt = stfio::heka; break; #if (BIOSIG_VERSION >= 10404) case 7: srcFilterExt = stfio::igor; break; #endif default: srcFilterExt = stfio::none; } srcFilter = wxT("*") + stf::std2wx(stfio::findExtension(srcFilterExt)); } void wxStfConvertDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { return; } } wxDialog::EndModal(retCode); } bool wxStfConvertDlg::OnOK() { srcDir = mySrcDirCtrl->GetPath(); destDir = myDestDirCtrl->GetPath(); if (!wxDir::Exists(srcDir)) { wxString msg; msg << srcDir << wxT(" doesn't exist"); wxLogMessage(msg); return false; } if (!wxDir::Exists(destDir)) { wxString msg; msg << destDir << wxT(" doesn't exist"); wxLogMessage(msg); return false; } if (!ReadPath(srcDir)) { wxString msg; msg << srcFilter << wxT(" not found in ") << srcDir; wxLogMessage(msg); return false; } wxGetApp().wxWriteProfileString( wxT("Settings"), wxT("Most recent batch source directory"), srcDir); wxGetApp().wxWriteProfileString( wxT("Settings"), wxT("Most recent batch target directory"), destDir); return true; } bool wxStfConvertDlg::ReadPath(const wxString& path) { // Walk through path: wxDir dir(path); if ( !dir.IsOpened() ) { return false; } if (!dir.HasFiles(srcFilter)) { return false; } int dir_flags = myCheckBoxSubdirs->IsChecked() ? wxDIR_FILES | wxDIR_DIRS | wxDIR_HIDDEN : wxDIR_FILES | wxDIR_HIDDEN; wxDir::GetAllFiles(path, &srcFileNames, srcFilter, dir_flags); return true; } stimfit-0.14.11/src/stimfit/gui/dlgs/smalldlgs.cpp0000755000175200017520000011373112521540625016746 00000000000000#include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include #include "./../../res/arrow_down.xpm" #include "./../../res/arrow_up.xpm" #include "./../app.h" #include "./smalldlgs.h" BEGIN_EVENT_TABLE( wxStfFileInfoDlg, wxDialog ) END_EVENT_TABLE() wxStfFileInfoDlg::wxStfFileInfoDlg( wxWindow* parent, const std::string& szGeneral, const std::string& szFile, const std::string& szSection, int id, wxString title, wxPoint pos, wxSize size, int style ) : wxDialog( parent, id, title, pos, size, style ) { // this->SetSize(464,464); wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxString wxs = stf::std2wx(szGeneral); wxTextCtrl* textCtrlGeneral = new wxTextCtrl( this, wxID_ANY, wxs, wxDefaultPosition, wxSize(640,100), wxTE_MULTILINE | wxTE_DONTWRAP | wxTE_READONLY ); topSizer->Add( textCtrlGeneral, 0, wxALL, 5 ); wxBoxSizer* subSizer; subSizer = new wxBoxSizer( wxHORIZONTAL ); wxTextCtrl* textCtrlFile = new wxTextCtrl( this, wxID_ANY, stf::std2wx(szFile), wxDefaultPosition, wxSize(416,400), wxTE_MULTILINE | wxTE_DONTWRAP | wxTE_READONLY ); subSizer->Add( textCtrlFile, 0, wxALL, 5 ); wxTextCtrl* textCtrlSection = new wxTextCtrl( this, wxID_ANY, stf::std2wx(szSection), wxDefaultPosition, wxSize(214,400), wxTE_MULTILINE | wxTE_DONTWRAP | wxTE_READONLY ); subSizer->Add( textCtrlSection, 0, wxALL, 5 ); topSizer->Add( subSizer, 0, wxALIGN_CENTER, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } #define wxCOMBOCH1 1000 #define wxCOMBOCH2 1001 BEGIN_EVENT_TABLE( wxStfChannelSelDlg, wxDialog ) EVT_COMBOBOX( wxCOMBOCH1, wxStfChannelSelDlg::OnComboCh1 ) EVT_COMBOBOX( wxCOMBOCH2, wxStfChannelSelDlg::OnComboCh2 ) END_EVENT_TABLE() wxStfChannelSelDlg::wxStfChannelSelDlg( wxWindow* parent, const std::vector& channelNames, int id, wxString title, wxPoint pos, wxSize size, int style ) : wxDialog( parent, id, title, pos, size, style ), m_selChannel1(0), m_selChannel2(1) { wxArrayString strArray; strArray.Alloc(channelNames.size()); for (c_wxs_it cit = channelNames.begin(); cit != channelNames.end(); cit++) { strArray.Add( *cit ); } wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); // Add static boxes and combo boxes: wxStaticBoxSizer* ch1Sizer; ch1Sizer = new wxStaticBoxSizer( new wxStaticBox( this, -1, wxT("Select active channel:") ), wxVERTICAL ); m_comboBoxCh1 = new wxComboBox( this, wxCOMBOCH1, channelNames[0], wxDefaultPosition, wxSize(128,20), strArray, wxCB_DROPDOWN | wxCB_READONLY ); ch1Sizer->Add( m_comboBoxCh1, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 ); topSizer->Add( ch1Sizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); wxStaticBoxSizer* ch2Sizer; ch2Sizer = new wxStaticBoxSizer( new wxStaticBox( this, -1, wxT("Select second channel:") ), wxVERTICAL ); m_comboBoxCh2 = new wxComboBox( this, wxCOMBOCH2, channelNames[1], wxDefaultPosition, wxSize(128,20), strArray, wxCB_DROPDOWN | wxCB_READONLY ); ch2Sizer->Add( m_comboBoxCh2, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 ); topSizer->Add( ch2Sizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 ); m_comboBoxCh1->SetSelection(0); m_comboBoxCh2->SetSelection(1); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfChannelSelDlg::OnComboCh1( wxCommandEvent& event ) { event.Skip(); if (m_comboBoxCh1->GetCurrentSelection()==m_comboBoxCh2->GetCurrentSelection()) { // correct selection: for (int n_c=0;n_c<(int)m_comboBoxCh1->GetCount();++n_c) { if (n_c!=m_comboBoxCh1->GetCurrentSelection()) { m_comboBoxCh2->SetSelection(n_c); break; } } } } void wxStfChannelSelDlg::OnComboCh2( wxCommandEvent& event ) { event.Skip(); if (m_comboBoxCh2->GetCurrentSelection()==m_comboBoxCh1->GetCurrentSelection()) { // correct selection: for (int n_c=0;n_c<(int)m_comboBoxCh2->GetCount();++n_c) { if (n_c!=m_comboBoxCh2->GetCurrentSelection()) { m_comboBoxCh1->SetSelection(n_c); break; } } } } void wxStfChannelSelDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxGetApp().ErrorMsg(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfChannelSelDlg::OnOK() { m_selChannel1 = m_comboBoxCh1->GetCurrentSelection(); m_selChannel2 = m_comboBoxCh2->GetCurrentSelection(); return true; } BEGIN_EVENT_TABLE( wxStfAlignDlg, wxDialog ) END_EVENT_TABLE() wxStfAlignDlg::wxStfAlignDlg(wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), m_alignRise(false) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxString m_radioBoxChoices[] = { wxT("to peak"),wxT("to steepest slope during rise"),wxT("to half amplitude") }; int m_radioBoxNChoices = sizeof( m_radioBoxChoices ) / sizeof( wxString ); m_radioBox = new wxRadioBox( this, wxID_ANY, wxT("Align reference channel"), wxDefaultPosition, wxDefaultSize, m_radioBoxNChoices, m_radioBoxChoices, 3, wxRA_SPECIFY_ROWS ); topSizer->Add( m_radioBox, 0, wxALL, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfAlignDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfAlignDlg::OnOK() { m_alignRise = m_radioBox->GetSelection(); return true; } BEGIN_EVENT_TABLE( wxStfFilterSelDlg, wxDialog ) END_EVENT_TABLE() wxStfFilterSelDlg::wxStfFilterSelDlg(wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size,int style) : wxDialog( parent, id, title, pos, size, style ), m_filterSelect(0) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxString m_radioBoxChoices[] = { wxT("Notch (inverted Gaussian)"), wxT("Low pass (4th-order Bessel)"), wxT("Low pass (Gaussian)") }; int m_radioBoxNChoices = sizeof( m_radioBoxChoices ) / sizeof( wxString ); m_radioBox = new wxRadioBox( this, wxID_ANY, wxT("Select filter function"), wxDefaultPosition, wxDefaultSize, m_radioBoxNChoices, m_radioBoxChoices, 3, wxRA_SPECIFY_ROWS ); topSizer->Add( m_radioBox, 0, wxALL, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfFilterSelDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfFilterSelDlg::OnOK() { m_filterSelect=m_radioBox->GetSelection()+1; return true; } BEGIN_EVENT_TABLE( wxStfTransformDlg, wxDialog ) END_EVENT_TABLE() wxStfTransformDlg::wxStfTransformDlg(wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), m_fSelect(0) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxString m_radioBoxChoices[] = { wxT(" ln(x) ") }; int m_radioBoxNChoices = sizeof( m_radioBoxChoices ) / sizeof( wxString ); m_radioBox = new wxRadioBox( this, wxID_ANY, wxT("Select function"), wxDefaultPosition, wxDefaultSize, m_radioBoxNChoices, m_radioBoxChoices, 0, wxRA_SPECIFY_ROWS ); topSizer->Add( m_radioBox, 0, wxALIGN_CENTER | wxALL, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfTransformDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfTransformDlg::OnOK() { m_fSelect=m_radioBox->GetSelection()+1; return true; } BEGIN_EVENT_TABLE( wxStfFitInfoDlg, wxDialog ) END_EVENT_TABLE() wxStfFitInfoDlg::wxStfFitInfoDlg(wxWindow* parent, const wxString& info, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxTextCtrl* m_textCtrl; m_textCtrl=new wxTextCtrl( this, wxID_ANY, info, wxDefaultPosition, wxSize(320,120), wxTE_MULTILINE | wxTE_READONLY | wxTE_DONTWRAP ); topSizer->Add( m_textCtrl, 0, wxALIGN_CENTER | wxALL, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } BEGIN_EVENT_TABLE( wxStfBatchDlg, wxDialog ) END_EVENT_TABLE() wxStfBatchDlg::wxStfBatchDlg(wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, wxT("Choose values"), pos, size, style ), batchOptions( 0 ) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); batchOptions.push_back( BatchOption( wxT("Base"), true, id_base ) ); batchOptions.push_back( BatchOption( wxT("Base SD"), false, id_basesd ) ); batchOptions.push_back( BatchOption( wxT("Threshold"), true, id_threshold ) ); batchOptions.push_back( BatchOption( wxT("time of slope threshold crossing"), false, id_slopethresholdtime ) ); batchOptions.push_back( BatchOption( wxT("Peak (from 0)"), true, id_peakzero ) ); batchOptions.push_back( BatchOption( wxT("Peak (from base)"), true, id_peakbase ) ); batchOptions.push_back( BatchOption( wxT("Peak (from threshold)"), true, id_peakthreshold ) ); batchOptions.push_back( BatchOption( wxT("Peak time"), true, id_peaktime ) ); batchOptions.push_back( BatchOption( wxT("Lo-Hi% risetime"), false, id_rtLoHi ) ); batchOptions.push_back( BatchOption( wxT("inner risetime"), false, id_innerLoHi ) ); batchOptions.push_back( BatchOption( wxT("outer risetime"), false, id_outerLoHi ) ); batchOptions.push_back( BatchOption( wxT("Half amplitude duration"), false, id_t50 ) ); batchOptions.push_back( BatchOption( wxT("start and end time of half amplitude"), false, id_t50se ) ); batchOptions.push_back( BatchOption( wxT("Max slopes"), false, id_slopes ) ); batchOptions.push_back( BatchOption( wxT("Max slope times"), false, id_slopetimes ) ); batchOptions.push_back( BatchOption( wxT("Latencies"), false, id_latencies ) ); batchOptions.push_back( BatchOption( wxT("Fit results"), false, id_fit ) ); #ifdef WITH_PSLOPE batchOptions.push_back( BatchOption( wxT("pSlope"), false, id_pslopes ) ); #endif batchOptions.push_back( BatchOption( wxT("Threshold crossings"), false, id_crossings ) ); std::vector::const_iterator bo_it; std::vector checkListChoices(batchOptions.size()); for (bo_it = batchOptions.begin(); bo_it != batchOptions.end(); ++bo_it) { try { checkListChoices.at(bo_it->index) = bo_it->label; } catch (const std::out_of_range& e) { wxString errorMsg( wxT("Error while populating checkbox list:\n") ); errorMsg += wxString(e.what(), wxConvLocal); wxGetApp().ExceptMsg( errorMsg ); } }; m_checkList = new wxCheckListBox( this, wxID_ANY, wxDefaultPosition, wxSize(280,350), checkListChoices.size(), &checkListChoices[0], 0 ); for (bo_it = batchOptions.begin(); bo_it != batchOptions.end(); ++bo_it) { m_checkList->Check(bo_it->index, wxGetApp().wxGetProfileInt( wxT("Batch Dialog"), bo_it->label, bo_it->selection) ); } topSizer->Add( m_checkList, 0, wxALIGN_CENTER | wxALL, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfBatchDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfBatchDlg::OnOK() { std::vector::iterator bo_it; for (bo_it = batchOptions.begin(); bo_it != batchOptions.end(); ++bo_it) { bo_it->selection = m_checkList->IsChecked( bo_it->index ); wxGetApp().wxWriteProfileInt( wxT("Batch Dialog"), bo_it->label, bo_it->selection ); } return true; } BatchOption wxStfBatchDlg::LookUp( int index ) const { std::vector::const_iterator bo_it; for (bo_it = batchOptions.begin(); bo_it != batchOptions.end(); ++bo_it) { if ( bo_it->index == index ) { return *bo_it; } } return BatchOption( wxT(""), false, -1 ); } BEGIN_EVENT_TABLE( wxStfPreprintDlg, wxDialog ) END_EVENT_TABLE() wxStfPreprintDlg::wxStfPreprintDlg(wxWindow* parent, bool isFile_, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), m_gimmicks(true), m_isFile(isFile_), m_downsampling(1) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); if (!m_isFile) { m_checkBox=new wxCheckBox( this, wxID_ANY, wxT("Print gimmicks (Cursors etc.)"), wxDefaultPosition, wxDefaultSize, 0 ); m_checkBox->SetValue(true); topSizer->Add( m_checkBox, 0, wxALIGN_LEFT | wxALL, 5 ); } wxFlexGridSizer* gridSizer; gridSizer=new wxFlexGridSizer(1,2,0,0); wxStaticText* staticText; staticText=new wxStaticText( this, wxID_ANY, wxT("Print every n-th point:"), wxDefaultPosition, wxSize(112,20), 0 ); gridSizer->Add( staticText, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString def; def << 1; m_textCtrl=new wxTextCtrl( this, wxID_ANY, def, wxDefaultPosition, wxSize(32,20), wxTE_RIGHT ); gridSizer->Add( m_textCtrl, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); topSizer->Add( gridSizer, 0, wxALIGN_CENTER | wxALL, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfPreprintDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfPreprintDlg::OnOK() { if (!m_isFile) { m_gimmicks=m_checkBox->IsChecked(); } else { m_gimmicks=false; } // Read entry to string: wxString entry = m_textCtrl->GetValue(); long tempLong; entry.ToLong( &tempLong ); m_downsampling = (int) tempLong; return true; } BEGIN_EVENT_TABLE( wxStfGaussianDlg, wxDialog ) END_EVENT_TABLE() wxStfGaussianDlg::wxStfGaussianDlg(wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), m_width(0.001), m_center(0.05), m_amp(1.0) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxFlexGridSizer *gridSizer; gridSizer=new wxFlexGridSizer(3,2,0,0); wxStaticText* staticTextAmp; staticTextAmp=new wxStaticText( this, wxID_ANY, wxT("Amplitude:"), wxDefaultPosition, wxDefaultSize, 0); gridSizer->Add( staticTextAmp, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); m_slider = new wxSlider( this, wxID_ANY, 100, 0, 100, wxDefaultPosition, wxSize(128,-1), wxSL_HORIZONTAL ); gridSizer->Add( m_slider, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxStaticText* staticTextCenter; staticTextCenter=new wxStaticText( this, wxID_ANY, wxT("Center (kHz):"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextCenter, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString def; def << m_center; m_textCtrlCenter=new wxTextCtrl( this, wxID_ANY, def, wxDefaultPosition, wxSize(40,20), wxTE_RIGHT ); gridSizer->Add( m_textCtrlCenter, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxStaticText* staticTextWidth; staticTextWidth=new wxStaticText( this, wxID_ANY, wxT("Width (kHz):"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextWidth, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString def2; def2 << m_width; m_textCtrlWidth=new wxTextCtrl( this, wxID_ANY, def2, wxDefaultPosition, wxSize(40,20), wxTE_RIGHT ); gridSizer->Add( m_textCtrlWidth, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); topSizer->Add( gridSizer, 0, wxALIGN_CENTER | wxALL, 5 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfGaussianDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfGaussianDlg::OnOK() { m_amp=m_slider->GetValue() / 100.0; // Read entry to string: wxString entryCenter = m_textCtrlCenter->GetValue(); entryCenter.ToDouble( &m_center ); wxString entryWidth = m_textCtrlWidth->GetValue(); entryWidth.ToDouble( &m_width ); return true; } #define wxCOMBONCOLUMNS 1000 #define wxCOMBOFIRSTTIME 1001 #define wxCOMBOSECORCH 1002 BEGIN_EVENT_TABLE( wxStfTextImportDlg, wxDialog ) EVT_COMBOBOX( wxCOMBONCOLUMNS, wxStfTextImportDlg::OnComboNcolumns ) EVT_COMBOBOX( wxCOMBOFIRSTTIME, wxStfTextImportDlg::OnComboFirsttime ) EVT_COMBOBOX( wxCOMBOSECORCH, wxStfTextImportDlg::OnComboSecorch ) END_EVENT_TABLE() wxStfTextImportDlg::wxStfTextImportDlg(wxWindow* parent, const wxString& textPreview, int hLines_, bool isSeries, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), m_hLines(hLines_),m_toSection(true), m_firstIsTime(true),m_isSeries(isSeries),m_ncolumns(2), m_sr(20),m_yUnits(wxT("mV")),m_yUnitsCh2(wxT("pA")),m_xUnits(wxT("ms")) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxFlexGridSizer *gridSizer; gridSizer=new wxFlexGridSizer(4,4,0,10); // Header lines------------------------------------------------------ wxStaticText* staticTextHLines; staticTextHLines=new wxStaticText( this, wxID_ANY, wxT("Header lines to skip:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextHLines, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strHLines; strHLines << m_hLines; m_textCtrlHLines=new wxTextCtrl( this, wxID_ANY, strHLines, wxDefaultPosition, wxSize(64,20), wxTE_RIGHT ); gridSizer->Add( m_textCtrlHLines, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Number of columns------------------------------------------------- wxStaticText* staticTextNcolumns; staticTextNcolumns=new wxStaticText( this, wxID_ANY, wxT("Number of columns:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextNcolumns, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString szNcolumns[] = { wxT("1"), wxT("2"), wxT("3") }; int szNcolumnsSize = sizeof( szNcolumns ) / sizeof( wxString ); m_comboBoxNcolumns = new wxComboBox( this, wxCOMBONCOLUMNS, wxT("1"), wxDefaultPosition, wxSize(64,20), szNcolumnsSize, szNcolumns, wxCB_DROPDOWN | wxCB_READONLY ); gridSizer->Add( m_comboBoxNcolumns, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Type of first column--------------------------------------------- wxStaticText* staticTextFirsttime; staticTextFirsttime=new wxStaticText( this, wxID_ANY, wxT("First column is time:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextFirsttime, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString szFirsttime[] = { wxT("Yes"), wxT("No"), }; int szFirsttimeSize = sizeof( szFirsttime ) / sizeof( wxString ); m_comboBoxFirsttime = new wxComboBox( this, wxCOMBOFIRSTTIME, wxT("Yes"), wxDefaultPosition, wxSize(64,20), szFirsttimeSize, szFirsttime, wxCB_DROPDOWN | wxCB_READONLY ); gridSizer->Add( m_comboBoxFirsttime, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Read into sections or channels----------------------------------- wxStaticText* staticTextSecorch; staticTextSecorch=new wxStaticText( this, wxID_ANY, wxT("Read columns into:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextSecorch, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString szSecorch[] = { wxT("Sections"), wxT("Channels"), }; int szSecorchSize = sizeof( szSecorch ) / sizeof( wxString ); m_comboBoxSecorch = new wxComboBox( this, wxCOMBOSECORCH, wxT("Sections"), wxDefaultPosition, wxSize(64,20), szSecorchSize, szSecorch, wxCB_DROPDOWN | wxCB_READONLY ); gridSizer->Add( m_comboBoxSecorch, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Y units----------------------------------------------------------- wxStaticText* staticTextYUnits; staticTextYUnits=new wxStaticText( this, wxID_ANY, wxT("Y units:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextYUnits, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); m_textCtrlYUnits=new wxTextCtrl( this, wxID_ANY, m_yUnits, wxDefaultPosition, wxSize(64,20), wxTE_LEFT ); gridSizer->Add( m_textCtrlYUnits, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Y units of channel 2---------------------------------------------- wxStaticText* staticTextYUnitsCh2; staticTextYUnitsCh2=new wxStaticText( this, wxID_ANY, wxT("Y units, channel 2:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextYUnitsCh2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); m_textCtrlYUnitsCh2=new wxTextCtrl( this, wxID_ANY, m_yUnitsCh2, wxDefaultPosition, wxSize(64,20), wxTE_LEFT ); gridSizer->Add( m_textCtrlYUnitsCh2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // X units----------------------------------------------------------- wxStaticText* staticTextXUnits; staticTextXUnits=new wxStaticText( this, wxID_ANY, wxT("X units:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextXUnits, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); m_textCtrlXUnits=new wxTextCtrl( this, wxID_ANY, m_xUnits, wxDefaultPosition, wxSize(64,20), wxTE_LEFT ); gridSizer->Add( m_textCtrlXUnits, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Sampling rate----------------------------------------------------- wxStaticText* staticTextSR; staticTextSR=new wxStaticText( this, wxID_ANY, wxT("Sampling rate (kHz):"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextSR, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strSR; strSR << m_sr; m_textCtrlSR=new wxTextCtrl( this, wxID_ANY, strSR, wxDefaultPosition, wxSize(64,20), wxTE_RIGHT ); gridSizer->Add( m_textCtrlSR, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); topSizer->Add( gridSizer, 0, wxALIGN_CENTER, 5 ); // Check box for batch import---------------------------------------- if (m_isSeries) { m_checkBoxApplyToAll=new wxCheckBox( this, wxID_ANY, wxT("Apply settings to all files in series"), wxDefaultPosition, wxDefaultSize, 0 ); m_checkBoxApplyToAll->SetValue(false); topSizer->Add( m_checkBoxApplyToAll, 0, wxALIGN_CENTER | wxALL, 5 ); } // OK / Cancel buttons----------------------------------------------- m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); // Text preview------------------------------------------------------ wxTextCtrl* previewCtrl; previewCtrl=new wxTextCtrl( this, wxID_ANY, textPreview, wxDefaultPosition, wxSize(368,160), wxTE_MULTILINE | wxTE_DONTWRAP | wxTE_READONLY ); topSizer->Add( previewCtrl, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); disableSenseless(); this->Layout(); } void wxStfTextImportDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfTextImportDlg::OnOK() { long tempLong; m_textCtrlHLines->GetValue().ToLong( &tempLong ); m_hLines = tempLong; m_toSection=(m_comboBoxSecorch->GetCurrentSelection()==0); m_firstIsTime=(m_comboBoxFirsttime->GetCurrentSelection()==0); m_ncolumns=m_comboBoxNcolumns->GetCurrentSelection()+1; m_yUnits = m_textCtrlYUnits->GetValue(); m_yUnitsCh2 = m_textCtrlYUnitsCh2->GetValue(); m_xUnits = m_textCtrlXUnits->GetValue(); double tempDouble; m_textCtrlSR->GetValue().ToDouble ( &tempDouble ); m_sr = tempDouble; if (m_isSeries) { m_applyToAll=m_checkBoxApplyToAll->IsChecked(); } return true; } stfio::txtImportSettings wxStfTextImportDlg::GetTxtImport() const { stfio::txtImportSettings retTxtImport; retTxtImport.firstIsTime=m_firstIsTime; retTxtImport.hLines=m_hLines; retTxtImport.ncolumns=m_ncolumns; retTxtImport.sr=m_sr; retTxtImport.toSection=m_toSection; retTxtImport.xUnits = stf::wx2std(m_xUnits); retTxtImport.yUnits = stf::wx2std(m_yUnits); retTxtImport.yUnitsCh2 = stf::wx2std(m_yUnitsCh2); return retTxtImport; } void wxStfTextImportDlg::disableSenseless() { // if there is only one column, it can't be time: if (m_comboBoxNcolumns->GetCurrentSelection()==0) { m_firstIsTime=false; m_comboBoxFirsttime->SetSelection(1); m_comboBoxFirsttime->Enable(false); } else { m_comboBoxFirsttime->Enable(); } // if the first column is time, disable manual sampling rate settings: if (m_comboBoxFirsttime->GetCurrentSelection()==0) { m_textCtrlSR->Enable(false); } else { m_textCtrlSR->Enable(); } // if there is only one data column, // it doesn't make sense to choose between channels and sections int temp_nColumns=m_comboBoxNcolumns->GetCurrentSelection()+1; int temp_nTime=(m_comboBoxFirsttime->GetCurrentSelection()==0)? 1:0; int nData=temp_nColumns-temp_nTime; if (nData<2) { m_comboBoxSecorch->Enable(false); } else { m_comboBoxSecorch->Enable(); } // Enable units of second channel only if // there is a second channel at all: if (nData>1 && m_comboBoxSecorch->GetCurrentSelection()==1) { m_textCtrlYUnitsCh2->Enable(); } else { m_textCtrlYUnitsCh2->Enable(false); } } void wxStfTextImportDlg::OnComboNcolumns( wxCommandEvent& event ) { event.Skip(); m_ncolumns=m_comboBoxNcolumns->GetCurrentSelection()+1; disableSenseless(); } void wxStfTextImportDlg::OnComboFirsttime( wxCommandEvent& event ) { event.Skip(); m_firstIsTime=(m_comboBoxFirsttime->GetCurrentSelection()==0); disableSenseless(); } void wxStfTextImportDlg::OnComboSecorch( wxCommandEvent& event ) { event.Skip(); m_toSection=(m_comboBoxSecorch->GetCurrentSelection()==0); disableSenseless(); } enum { wxID_BUP, wxID_BDOWN, wxID_LISTCH }; BEGIN_EVENT_TABLE( wxStfOrderChannelsDlg, wxDialog ) EVT_BUTTON( wxID_BUP, wxStfOrderChannelsDlg::OnUparrow ) EVT_BUTTON( wxID_BDOWN, wxStfOrderChannelsDlg::OnDownarrow ) END_EVENT_TABLE() wxStfOrderChannelsDlg::wxStfOrderChannelsDlg(wxWindow* parent, const std::vector& channelNames, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), channelOrder(channelNames.size()) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); // 2-column sizer for funcs (left) and settings (right) wxFlexGridSizer* mainGrid; mainGrid=new wxFlexGridSizer(1,2,0,5); m_List = new wxListCtrl( this, wxID_LISTCH, wxDefaultPosition, wxSize(240,(int)channelNames.size()*24), wxLC_LIST | wxLC_SINGLE_SEL ); for (long n_c=0;n_c<(long)channelNames.size();++n_c) { m_List->InsertItem( n_c, channelNames[n_c] ); channelOrder[n_c]=n_c; } mainGrid->Add( m_List, 0, wxALIGN_CENTER_HORIZONTAL, 2 ); // Add up and down arrows: wxBoxSizer* arrowSizer; arrowSizer = new wxBoxSizer( wxVERTICAL ); wxBitmapButton *bUp, *bDown; bUp = new wxBitmapButton(this,wxID_BUP,arrow_up); bDown = new wxBitmapButton(this,wxID_BDOWN,arrow_down); arrowSizer->Add(bUp, 0, wxALIGN_CENTER | wxALL, 2 ); arrowSizer->Add(bDown, 0, wxALIGN_CENTER | wxALL, 2 ); mainGrid->Add( arrowSizer, 0, wxALIGN_CENTER_HORIZONTAL, 2 ); topSizer->Add( mainGrid, 0, wxALIGN_CENTER_HORIZONTAL| wxALL, 5 ); wxStdDialogButtonSizer* sdbSizer = new wxStdDialogButtonSizer(); sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); sdbSizer->Realize(); topSizer->Add( sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfOrderChannelsDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxGetApp().ErrorMsg(wxT("Please select a valid function")); return; } } wxDialog::EndModal(retCode); } bool wxStfOrderChannelsDlg::OnOK() { return true; } void wxStfOrderChannelsDlg::OnUparrow( wxCommandEvent& event ) { event.Skip(); // Get currently selected item in list: if (m_List->GetSelectedItemCount()>0) { // Get first selected item: long item = -1; item=m_List->GetNextItem(item,wxLIST_NEXT_ALL,wxLIST_STATE_SELECTED); // Return if this is already the topmost item: if (item <= 0) return; // Otherwise, move this item up by swapping with the previous item: SwapItems(item-1,item); // Focus on list: m_List->SetFocus(); } } void wxStfOrderChannelsDlg::OnDownarrow( wxCommandEvent& event ) { event.Skip(); // Get currently selected item in list: if (m_List->GetSelectedItemCount()>0) { // Get first selected item: long item = -1; item=m_List->GetNextItem(item,wxLIST_NEXT_ALL,wxLIST_STATE_SELECTED); // Return if this is the last item: if (item >= m_List->GetItemCount()-1) return; // Otherwise, move this item down by swapping with the next item: SwapItems(item,item+1); // Focus on list: m_List->SetFocus(); } } void wxStfOrderChannelsDlg::SwapItems(long itemId1, long itemId2) { // Store the first item: wxString labelFirst=m_List->GetItemText(itemId1); int orderFirst=channelOrder[itemId1]; // Change first item label: m_List->SetItemText(itemId1,m_List->GetItemText(itemId2)); // Change second item label: m_List->SetItemText(itemId2,labelFirst); // Update channel order: channelOrder[itemId1]=channelOrder[itemId2]; channelOrder[itemId2]=orderFirst; } stimfit-0.14.11/src/stimfit/gui/dlgs/fitseldlg.cpp0000755000175200017520000003500712277666257016762 00000000000000#include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "./../app.h" #include "./../doc.h" #include "./../view.h" #include "./../graph.h" #include "./fitseldlg.h" #define wxID_LIST 1001 #define wxID_PREVIEW 1002 BEGIN_EVENT_TABLE( wxStfFitSelDlg, wxDialog ) EVT_LIST_ITEM_SELECTED( wxID_LIST, wxStfFitSelDlg::OnListItemSelected ) EVT_BUTTON( wxID_PREVIEW, wxStfFitSelDlg::OnButtonClick ) END_EVENT_TABLE() wxStfFitSelDlg::wxStfFitSelDlg(wxWindow* parent, wxStfDoc* doc, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), m_fselect(18), init_p(0), opts(6), noInput(false), use_scaling(false), paramDescArray(MAXPAR), paramEntryArray(MAXPAR), pDoc(doc) { // Check www.ics.forth.gr/~lourakis/levmar/levmar.pdf for details // if you change values here, please change src/stimfit/py/pystf.cxx accordingly //opts[0]=5*1E-3; //default: 1E-03; opts[0] = 1E-05; //scale for initial damping term, default: 1E-03; opts[1] = 1E-17; //stopping thr. for ||J^T e||, default: 1E-17; opts[2] = 1E-17; //stopping thr. for ||Dp||_2, default: 1E-17; opts[3] = 1E-32; //stopping thr. for squared diff ||e||_2, default: 1E-17; opts[4] = 64; //max number of iterations (Kmax), default: 64; opts[5] = 16; //max number of pass per iteration; wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); // 2-column sizer for funcs (left) and settings (right) wxFlexGridSizer* mainGrid = new wxFlexGridSizer(1,2,0,5); wxStaticBoxSizer* m_listSizer = new wxStaticBoxSizer( wxVERTICAL, this, wxT("Available functions") ); m_listCtrl = new wxListCtrl( this, wxID_LIST, wxDefaultPosition, wxSize(550,400), wxLC_LIST ); int n_f = 0; for (c_stfunc_it cit = wxGetApp().GetFuncLib().begin(); cit != wxGetApp().GetFuncLib().end(); cit++) { wxString funcName; funcName << wxString::Format(wxT("%2d: "), n_f) << stf::std2wx(cit->name); m_listCtrl->InsertItem( n_f++, funcName ); } m_listSizer->Add( m_listCtrl, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 2 ); mainGrid->Add( m_listSizer, 0, wxALIGN_CENTER_HORIZONTAL, 2 ); // vertical sizer for initial parameters (top) and options (bottom) wxBoxSizer* settingsSizer; settingsSizer=new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer* paramSizer = new wxStaticBoxSizer( wxVERTICAL, this, wxT("Initial parameters") ); // grid for parameters: wxFlexGridSizer* paramGrid; paramGrid=new wxFlexGridSizer(0,4,0,4); // add parameter boxes: std::vector< wxStaticText* >::iterator it1; std::vector< wxTextCtrl* >::iterator it2 = paramEntryArray.begin(); for (it1 = paramDescArray.begin(); it1 != paramDescArray.end() && it2 != paramEntryArray.end(); it1++) { *it1 = new wxStaticText( this, wxID_ANY, wxT(" "), wxDefaultPosition, wxSize(74,20), wxTE_LEFT ); paramGrid->Add( *it1, 0, wxALIGN_CENTER_VERTICAL | wxALL, 2 ); *it2 = new wxTextCtrl( this, wxID_ANY, wxT(" "), wxDefaultPosition, wxSize(74,20), wxTE_RIGHT ); paramGrid->SetFlexibleDirection(wxHORIZONTAL); paramGrid->Add( *it2, 0, wxALIGN_CENTER_VERTICAL | wxALL, 2 ); it2++; } //settingsSizer->Add( paramGrid, 0, wxALIGN_CENTER_HORIZONTAL, 2 ); paramSizer->Add( paramGrid, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 2 ); settingsSizer->Add( paramSizer, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 2 ); // Fit options: // grid for parameters: wxFlexGridSizer* optionsGrid; optionsGrid=new wxFlexGridSizer(opts.size()+1, 2, 0, 0); wxStaticBoxSizer* fitoptSizer = new wxStaticBoxSizer( wxVERTICAL, this, wxT("Fitting options") ); InitOptions(optionsGrid); // add the options grid to the settings sizer: fitoptSizer->Add( optionsGrid, 0, wxEXPAND | wxALL, 2 ); settingsSizer->Add( fitoptSizer, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_BOTTOM, 2 ); //settingsSizer->Add( optionsGrid, 0, wxALIGN_CENTER_HORIZONTAL | wxALIGN_BOTTOM, 2 ); // add the settings sizer to the main grid: mainGrid->Add( settingsSizer, 0, wxALIGN_CENTER_HORIZONTAL, 2 ); // add the main grid to the dialog: topSizer->Add( mainGrid, 0, wxALIGN_CENTER_HORIZONTAL| wxALL, 5 ); // Ok / Cancel / Preview: wxButton* previewButton; previewButton = new wxButton( this, wxID_PREVIEW, wxT("Preview"), wxDefaultPosition, wxDefaultSize, 0 ); topSizer->Add( previewButton, 0, wxALIGN_CENTER | wxALL, 2 ); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER| wxALL, 2 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); // select first function: if (m_listCtrl->GetItemCount()>0) { m_listCtrl->SetItemState(0,wxLIST_STATE_SELECTED,wxLIST_STATE_SELECTED); } } void wxStfFitSelDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) switch (retCode) { case wxID_OK: if (!OnOK()) { wxLogMessage(wxT("Please select a valid function")); return; } break; case wxID_CANCEL: try { pDoc->DeleteFit(pDoc->GetCurChIndex(), pDoc->GetCurSecIndex()); } catch (const std::out_of_range& e) { } break; default: ; } wxDialog::EndModal(retCode); } bool wxStfFitSelDlg::OnOK() { Update_fselect(); read_init_p(); read_opts(); // wxStfDoc* pDoc=pDoc; // pDoc->cur().SetIsFitted(false); // pDoc->cur().SetFit(Vector_double(0)); return true; } void wxStfFitSelDlg::InitOptions(wxFlexGridSizer* optionsGrid) { // Number of passes-------------------------------------------------- wxStaticText* staticTextNPasses; staticTextNPasses=new wxStaticText( this, wxID_ANY, wxT("Max. number of passes:"), wxDefaultPosition, wxDefaultSize, 0 ); optionsGrid->Add( staticTextNPasses, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strNPasses; strNPasses << opts[5]; m_textCtrlMaxpasses = new wxTextCtrl( this, wxID_ANY, strNPasses, wxDefaultPosition, wxSize(74,20), wxTE_RIGHT ); optionsGrid->Add( m_textCtrlMaxpasses, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Number of iterations---------------------------------------------- wxStaticText* staticTextNIter; staticTextNIter=new wxStaticText( this, wxID_ANY, wxT("Max. number of iterations per pass:"), wxDefaultPosition, wxDefaultSize, 0 ); optionsGrid->Add( staticTextNIter, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strNIter; strNIter << opts[4]; m_textCtrlMaxiter=new wxTextCtrl( this, wxID_ANY, strNIter, wxDefaultPosition, wxSize(74,20), wxTE_RIGHT ); optionsGrid->Add( m_textCtrlMaxiter, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Initial scaling factor-------------------------------------------- wxStaticText* staticTextMu; staticTextMu=new wxStaticText( this, wxID_ANY, wxT("Initial scaling factor:"), wxDefaultPosition, wxDefaultSize, 0 ); optionsGrid->Add( staticTextMu, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strMu; strMu << opts[0]; m_textCtrlMu=new wxTextCtrl( this, wxID_ANY, strMu, wxDefaultPosition, wxSize(74,20), wxTE_RIGHT ); optionsGrid->Add( m_textCtrlMu, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Gradient of squared error----------------------------------- wxStaticText* staticTextJTE; staticTextJTE=new wxStaticText( this, wxID_ANY, wxT("Stop. thresh. for gradient of squared error:"), wxDefaultPosition, wxDefaultSize, 0 ); optionsGrid->Add( staticTextJTE, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strJTE; strJTE << opts[1]; m_textCtrlJTE=new wxTextCtrl( this, wxID_ANY, strJTE, wxDefaultPosition, wxSize(74,20), wxTE_RIGHT ); optionsGrid->Add( m_textCtrlJTE, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Parameter gradient------------------------------------------------ wxStaticText* staticTextDP; staticTextDP=new wxStaticText( this, wxID_ANY, wxT("Stop. thresh. for rel. parameter change:"), wxDefaultPosition, wxDefaultSize, 0 ); optionsGrid->Add( staticTextDP, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strDP; strDP << opts[2]; m_textCtrlDP=new wxTextCtrl( this, wxID_ANY, strDP, wxDefaultPosition, wxSize(74,20), wxTE_RIGHT ); optionsGrid->Add( m_textCtrlDP, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Squared error----------------------------------------------------- wxStaticText* staticTextE2; staticTextE2=new wxStaticText( this, wxID_ANY, wxT("Stop. thresh. for squared error:"), wxDefaultPosition, wxDefaultSize, 0 ); optionsGrid->Add( staticTextE2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString strE2; strE2 << opts[3]; m_textCtrlE2=new wxTextCtrl( this, wxID_ANY, strE2, wxDefaultPosition, wxSize(74,20), wxTE_RIGHT ); optionsGrid->Add( m_textCtrlE2, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); // Use scaling------------------------------------------------------- m_checkBox = new wxCheckBox(this, wxID_ANY, wxT("Scale data amplitude to 1.0"), wxDefaultPosition, wxDefaultSize, 0); m_checkBox->SetValue(true); optionsGrid->Add( m_checkBox, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); } void wxStfFitSelDlg::OnButtonClick( wxCommandEvent& event ) { event.Skip(); // Make sure we are up-to-date: Update_fselect(); // read in parameters: read_init_p(); // tell the document that a fit has been performed: if (pDoc==0) { wxGetApp().ErrorMsg(wxT("Couldn't connect to document")); return; } // calculate a graph from the current parameters: std::size_t fitSize= pDoc->GetFitEnd()-pDoc->GetFitBeg(); Vector_double fit(fitSize); for (std::size_t n_f=0;n_fGetXScale()*n_f,init_p ); } catch (const std::out_of_range& e) { wxString msg(wxT("Could not retrieve selected function from library:\n")); msg += wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(msg); m_fselect=-1; return; } } try { pDoc->SetIsFitted(pDoc->GetCurChIndex(), pDoc->GetCurSecIndex(), init_p, wxGetApp().GetFuncLibPtr(m_fselect), 0, pDoc->GetFitBeg(), pDoc->GetFitEnd() ); } catch (const std::out_of_range& e) { } // tell the view to draw the fit: wxStfView* pView = (wxStfView*)pDoc->GetFirstView(); if (pView != NULL) if (pView->GetGraph() != NULL) pView->GetGraph()->Refresh(); } void wxStfFitSelDlg::SetPars() { Update_fselect(); // get parameter names from selected function: try { // fill a temporary array: if (pDoc==NULL) return; std::size_t fitSize= pDoc->GetFitEnd()-pDoc->GetFitBeg(); if (fitSize<=0) { wxGetApp().ErrorMsg(wxT("Check fit cursor settings")); return; } Vector_double x(fitSize); //fill array: std::copy(&pDoc->cursec()[pDoc->GetFitBeg()], &pDoc->cursec()[pDoc->GetFitBeg()+fitSize], &x[0]); Vector_double initPars(wxGetApp().GetFuncLib().at(m_fselect).pInfo.size()); wxGetApp().GetFuncLib().at(m_fselect).init( x, pDoc->GetBase(), pDoc->GetPeak(), pDoc->GetRTLoHi(), pDoc->GetHalfDuration(), pDoc->GetXScale(), initPars); std::vector< wxStaticText* >::iterator it1; std::vector< wxTextCtrl* >::iterator it2 = paramEntryArray.begin(); std::size_t n_p = 0; for (it1 = paramDescArray.begin(); it1 != paramDescArray.end() && it2 != paramEntryArray.end(); it1++) { if (n_p < wxGetApp().GetFuncLib().at(m_fselect).pInfo.size()) { (*it1)->Show(); (*it2)->Show(); // Parameter label: (*it1)->SetLabel(stf::std2wx(wxGetApp().GetFuncLib().at(m_fselect).pInfo[n_p].desc)); // Initial parameter values: wxString strInit; strInit << initPars[n_p]; (*it2)->SetValue(strInit); (*it2)->Enable(!noInput); } else { (*it1)->Show(false); (*it2)->Show(false); } it2++; n_p++; } } catch (const std::out_of_range& e) { wxString msg(wxT("Could not retrieve selected function from library:\n")); msg += wxString( e.what(), wxConvLocal ); wxLogMessage(msg); m_fselect = -1; return; } this->Layout(); } void wxStfFitSelDlg::Update_fselect() { // Update currently selected function: if (m_listCtrl->GetSelectedItemCount()>0) { // Get first selected item: long item = -1; item=m_listCtrl->GetNextItem(item,wxLIST_NEXT_ALL,wxLIST_STATE_SELECTED); if (item==-1) return; m_fselect = item; } } void wxStfFitSelDlg::OnListItemSelected( wxListEvent& event ) { event.Skip(); SetPars(); } void wxStfFitSelDlg::read_init_p() { init_p.resize(wxGetApp().GetFuncLib().at(m_fselect).pInfo.size()); for (std::size_t n_p=0;n_pGetValue(); entryInit.ToDouble( &init_p[n_p] ); } } void wxStfFitSelDlg::read_opts() { // Read entry to string: wxString entryMu = m_textCtrlMu->GetValue(); entryMu.ToDouble( &opts[0] ); wxString entryJTE = m_textCtrlJTE->GetValue(); entryJTE.ToDouble( &opts[1] ); wxString entryDP = m_textCtrlDP->GetValue(); entryDP.ToDouble( &opts[2] ); wxString entryE2 = m_textCtrlE2->GetValue(); entryE2.ToDouble( &opts[3] ); wxString entryMaxiter = m_textCtrlMaxiter->GetValue(); entryMaxiter.ToDouble( &opts[4] ); wxString entryMaxpasses = m_textCtrlMaxpasses->GetValue(); entryMaxpasses.ToDouble( &opts[5] ); use_scaling = m_checkBox->GetValue(); } stimfit-0.14.11/src/stimfit/gui/dlgs/eventdlg.cpp0000755000175200017520000001316212472352307016574 00000000000000#include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "./../../stf.h" #include "./eventdlg.h" enum {wxID_COMBOTEMPLATES}; BEGIN_EVENT_TABLE( wxStfEventDlg, wxDialog ) END_EVENT_TABLE() wxStfEventDlg::wxStfEventDlg(wxWindow* parent, const std::vector& templateSections, bool isExtract_, int id, wxString title, wxPoint pos, wxSize size, int style) : wxDialog( parent, id, title, pos, size, style ), m_threshold(4.0), m_mode(stf::criterion), isExtract(isExtract_), m_minDistance(150), m_template(-1) { wxBoxSizer* topSizer; topSizer = new wxBoxSizer( wxVERTICAL ); wxFlexGridSizer* templateSizer = new wxFlexGridSizer(2,1,0,0); wxStaticText* staticTextTempl = new wxStaticText( this, wxID_ANY, wxT("Select template fit from section:"), wxDefaultPosition, wxDefaultSize, 0 ); templateSizer->Add( staticTextTempl, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxArrayString templateNames; templateNames.Alloc(templateSections.size()); int max_w = 0; for (std::size_t n_templ=0;n_templGetSectionDescription()); if (sec_desc.empty()) { sec_desc = wxT("Section "); sec_desc << n_templ; } int w, h; GetTextExtent( sec_desc, &w, &h ); if ( w > max_w ) max_w = w; templateNames.Add( sec_desc ); } } m_comboBoxTemplates = new wxComboBox( this, wxID_COMBOTEMPLATES, wxT("1"), wxDefaultPosition, wxSize( max_w + 36, 24 ), templateNames, wxCB_DROPDOWN | wxCB_READONLY ); if (templateSections.size()>0) { m_comboBoxTemplates->SetSelection(0); } templateSizer->Add( m_comboBoxTemplates, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); topSizer->Add( templateSizer, 0, wxALIGN_CENTER | wxALL, 5 ); if (isExtract) { wxFlexGridSizer* gridSizer; gridSizer=new wxFlexGridSizer(2,2,0,0); wxStaticText* staticTextThr; staticTextThr = new wxStaticText( this, wxID_ANY, wxT("Threshold:"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextThr, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString def; def << m_threshold; m_textCtrlThr = new wxTextCtrl( this, wxID_ANY, def, wxDefaultPosition, wxSize(40,20), wxTE_RIGHT ); gridSizer->Add( m_textCtrlThr, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxStaticText* staticTextDist; staticTextDist = new wxStaticText( this, wxID_ANY, wxT("Min. distance between events (# points):"), wxDefaultPosition, wxDefaultSize, 0 ); gridSizer->Add( staticTextDist, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString def2; def2 << m_minDistance; m_textCtrlDist = new wxTextCtrl( this, wxID_ANY, def2, wxDefaultPosition, wxSize(40,20), wxTE_RIGHT ); gridSizer->Add( m_textCtrlDist, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 2 ); topSizer->Add( gridSizer, 0, wxALIGN_CENTER | wxALL, 5 ); wxString m_radioBoxChoices[] = { wxT("Use template scaling (Clements && Bekkers)"), wxT("Use correlation coefficient (Jonas et al.)"), wxT("Use deconvolution (Pernia-Andrade et al.)") }; int m_radioBoxNChoices = sizeof( m_radioBoxChoices ) / sizeof( wxString ); m_radioBox = new wxRadioBox( this, wxID_ANY, wxT("Select method"), wxDefaultPosition, wxDefaultSize, m_radioBoxNChoices, m_radioBoxChoices, 0, wxRA_SPECIFY_ROWS ); m_radioBox->SetSelection(0); topSizer->Add( m_radioBox, 0, wxALIGN_CENTER | wxALL, 5 ); } m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER | wxALL, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfEventDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { return; } } wxDialog::EndModal(retCode); } bool wxStfEventDlg::OnOK() { // Read template: m_template=m_comboBoxTemplates->GetCurrentSelection(); if (m_template<0) { wxLogMessage(wxT("Please select a valid template")); return false; } if (isExtract) { // Read entry to string: m_textCtrlThr->GetValue().ToDouble( &m_threshold ); long tempLong; m_textCtrlDist->GetValue().ToLong( &tempLong ); m_minDistance = (int)tempLong; switch (m_radioBox->GetSelection()) { case 0: m_mode = stf::criterion; break; case 1: m_mode = stf::correlation; break; case 2: m_mode = stf::deconvolution; break; } if (m_mode==stf::correlation && (m_threshold<0 || m_threshold>1)) { wxLogMessage(wxT("Please select a value between 0 and 1 for the correlation coefficient")); return false; } } return true; } stimfit-0.14.11/src/stimfit/gui/main.cpp0000755000175200017520000000064712277666257015002 00000000000000// For compilers that support precompilation, includes "wx/wx.h". #include #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "./app.h" wxAppConsole *wxCreateApp() { wxAppConsole::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, "your program"); return new wxStfApp; } wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); IMPLEMENT_WXWIN_MAIN IMPLEMENT_WX_THEME_SUPPORT stimfit-0.14.11/src/stimfit/gui/copygrid.cpp0000755000175200017520000003332612277666257015676 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // copygrid.cpp // Derived from wxGrid to allow copying to clipboard // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "wx/grid.h" #include "wx/clipbrd.h" #include "./app.h" #include "./doc.h" #include "./parentframe.h" #include "./childframe.h" #include "./view.h" #include "./graph.h" #include "./copygrid.h" IMPLEMENT_CLASS(wxStfGrid, wxGrid) BEGIN_EVENT_TABLE(wxStfGrid, wxGrid) EVT_MENU(ID_COPYINTABLE,wxStfGrid::Copy) EVT_MENU(ID_VIEW_MEASURE,wxStfGrid::ViewCrosshair) EVT_MENU(ID_VIEW_BASELINE,wxStfGrid::ViewBaseline) EVT_MENU(ID_VIEW_BASESD,wxStfGrid::ViewBaseSD) EVT_MENU(ID_VIEW_THRESHOLD,wxStfGrid::ViewThreshold) EVT_MENU(ID_VIEW_PEAKZERO,wxStfGrid::ViewPeakzero) EVT_MENU(ID_VIEW_PEAKBASE,wxStfGrid::ViewPeakbase) EVT_MENU(ID_VIEW_PEAKTHRESHOLD,wxStfGrid::ViewPeakthreshold) EVT_MENU(ID_VIEW_RTLOHI,wxStfGrid::ViewRTLoHi) EVT_MENU(ID_VIEW_INNERRISETIME,wxStfGrid::ViewInnerRiseTime) EVT_MENU(ID_VIEW_OUTERRISETIME,wxStfGrid::ViewOuterRiseTime) EVT_MENU(ID_VIEW_T50,wxStfGrid::ViewT50) EVT_MENU(ID_VIEW_RD,wxStfGrid::ViewRD) EVT_MENU(ID_VIEW_SLOPERISE,wxStfGrid::ViewSloperise) EVT_MENU(ID_VIEW_SLOPEDECAY,wxStfGrid::ViewSlopedecay) EVT_MENU(ID_VIEW_LATENCY,wxStfGrid::ViewLatency) #ifdef WITH_PSLOPE EVT_MENU(ID_VIEW_PSLOPE,wxStfGrid::ViewPSlope) #endif EVT_MENU(ID_VIEW_CURSORS,wxStfGrid::ViewCursors) EVT_GRID_CELL_RIGHT_CLICK(wxStfGrid::OnRClick) EVT_GRID_LABEL_RIGHT_CLICK(wxStfGrid::OnLabelRClick) EVT_KEY_DOWN( wxStfGrid::OnKeyDown ) END_EVENT_TABLE() wxStfGrid::wxStfGrid( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxGrid(parent,id,pos,size,style,name), selection(wxT("")) { m_context.reset(new wxMenu()); m_context->Append(ID_COPYINTABLE, wxT("Copy selection")); m_labelContext.reset(new wxMenu()); m_labelContext->AppendCheckItem(ID_VIEW_MEASURE,wxT("Crosshair")); m_labelContext->AppendCheckItem(ID_VIEW_BASELINE,wxT("Baseline")); m_labelContext->AppendCheckItem(ID_VIEW_BASESD,wxT("Base SD")); m_labelContext->AppendCheckItem(ID_VIEW_THRESHOLD,wxT("Threshold")); m_labelContext->AppendCheckItem(ID_VIEW_PEAKZERO,wxT("Peak (from 0)")); m_labelContext->AppendCheckItem(ID_VIEW_PEAKBASE,wxT("Peak (from base)")); m_labelContext->AppendCheckItem(ID_VIEW_PEAKTHRESHOLD,wxT("Peak (from threshold)")); m_labelContext->AppendCheckItem(ID_VIEW_RTLOHI,wxT("RT (Lo-Hi%)")); m_labelContext->AppendCheckItem(ID_VIEW_INNERRISETIME,wxT("inner Rise Time (experimental)")); m_labelContext->AppendCheckItem(ID_VIEW_OUTERRISETIME,wxT("outer Rise Time (experimental)")); m_labelContext->AppendCheckItem(ID_VIEW_T50,wxT("t50")); m_labelContext->AppendCheckItem(ID_VIEW_RD,wxT("Rise/Decay")); m_labelContext->AppendCheckItem(ID_VIEW_SLOPERISE,wxT("Slope (rise)")); m_labelContext->AppendCheckItem(ID_VIEW_SLOPEDECAY,wxT("Slope (decay)")); m_labelContext->AppendCheckItem(ID_VIEW_LATENCY,wxT("Latency")); #ifdef WITH_PSLOPE m_labelContext->AppendCheckItem(ID_VIEW_PSLOPE,wxT("PSlope")); #endif m_labelContext->AppendSeparator(); m_labelContext->AppendCheckItem(ID_VIEW_CURSORS,wxT("Cursors")); } void wxStfGrid::Copy(wxCommandEvent& WXUNUSED(event)) { if (!IsSelection()) { wxGetApp().ErrorMsg( wxT("Select cells first") ); return; } // Write some text to the clipboard // These data objects are held by the clipboard, // so do not delete them in the app. selection.Clear(); bool newline=true; for (int nRow=0;nRowOpen()) { wxTheClipboard->SetData( new wxTextDataObject(selection) ); wxTheClipboard->Close(); } } void wxStfGrid::OnRClick(wxGridEvent& event) { event.Skip(); PopupMenu(m_context.get()); } void wxStfGrid::OnLabelRClick(wxGridEvent& event) { event.Skip(); // Update checkmarks: m_labelContext->Check(ID_VIEW_MEASURE,wxGetApp().GetActiveDoc()->GetViewCrosshair()); m_labelContext->Check(ID_VIEW_BASELINE,wxGetApp().GetActiveDoc()->GetViewBaseline()); m_labelContext->Check(ID_VIEW_BASESD,wxGetApp().GetActiveDoc()->GetViewBaseSD()); m_labelContext->Check(ID_VIEW_THRESHOLD,wxGetApp().GetActiveDoc()->GetViewThreshold()); m_labelContext->Check(ID_VIEW_PEAKZERO,wxGetApp().GetActiveDoc()->GetViewPeakZero()); m_labelContext->Check(ID_VIEW_PEAKBASE,wxGetApp().GetActiveDoc()->GetViewPeakBase()); m_labelContext->Check(ID_VIEW_PEAKTHRESHOLD,wxGetApp().GetActiveDoc()->GetViewPeakThreshold()); m_labelContext->Check(ID_VIEW_RTLOHI,wxGetApp().GetActiveDoc()->GetViewRTLoHi()); m_labelContext->Check(ID_VIEW_INNERRISETIME,wxGetApp().GetActiveDoc()->GetViewInnerRiseTime()); m_labelContext->Check(ID_VIEW_OUTERRISETIME,wxGetApp().GetActiveDoc()->GetViewOuterRiseTime()); m_labelContext->Check(ID_VIEW_T50,wxGetApp().GetActiveDoc()->GetViewT50()); m_labelContext->Check(ID_VIEW_RD,wxGetApp().GetActiveDoc()->GetViewRD()); m_labelContext->Check(ID_VIEW_SLOPERISE,wxGetApp().GetActiveDoc()->GetViewSlopeRise()); m_labelContext->Check(ID_VIEW_SLOPEDECAY,wxGetApp().GetActiveDoc()->GetViewSlopeDecay()); m_labelContext->Check(ID_VIEW_LATENCY,wxGetApp().GetActiveDoc()->GetViewLatency()); #ifdef WITH_PSLOPE m_labelContext->Check(ID_VIEW_PSLOPE,wxGetApp().GetActiveDoc()->GetViewPSlope()); #endif m_labelContext->Check(ID_VIEW_CURSORS,wxGetApp().GetActiveDoc()->GetViewCursors()); PopupMenu(m_labelContext.get()); } void wxStfGrid::OnKeyDown(wxKeyEvent& event) { // Handle CTRL + 'c' //event.Skip(); switch (event.GetKeyCode()) { case 67: case 99: { if (event.ControlDown()) { wxCommandEvent dEvent; Copy(dEvent); } break; } default: // pipe everything else to the graph if (wxGetApp().GetActiveView()!=NULL && wxGetApp().GetActiveView()->GetGraph()!=NULL) wxGetApp().GetActiveView()->GetGraph()->OnKeyDown(event); } } void wxStfGrid::ViewResults() { // Update checkmarks: m_labelContext->Check(ID_VIEW_MEASURE,wxGetApp().GetActiveDoc()->GetViewCrosshair()); m_labelContext->Check(ID_VIEW_BASELINE,wxGetApp().GetActiveDoc()->GetViewBaseline()); m_labelContext->Check(ID_VIEW_BASESD,wxGetApp().GetActiveDoc()->GetViewBaseSD()); m_labelContext->Check(ID_VIEW_THRESHOLD,wxGetApp().GetActiveDoc()->GetViewThreshold()); m_labelContext->Check(ID_VIEW_PEAKZERO,wxGetApp().GetActiveDoc()->GetViewPeakZero()); m_labelContext->Check(ID_VIEW_PEAKBASE,wxGetApp().GetActiveDoc()->GetViewPeakBase()); m_labelContext->Check(ID_VIEW_PEAKTHRESHOLD,wxGetApp().GetActiveDoc()->GetViewPeakThreshold()); m_labelContext->Check(ID_VIEW_RTLOHI,wxGetApp().GetActiveDoc()->GetViewRTLoHi()); m_labelContext->Check(ID_VIEW_INNERRISETIME,wxGetApp().GetActiveDoc()->GetViewInnerRiseTime()); m_labelContext->Check(ID_VIEW_OUTERRISETIME,wxGetApp().GetActiveDoc()->GetViewOuterRiseTime()); m_labelContext->Check(ID_VIEW_T50,wxGetApp().GetActiveDoc()->GetViewT50()); m_labelContext->Check(ID_VIEW_RD,wxGetApp().GetActiveDoc()->GetViewRD()); m_labelContext->Check(ID_VIEW_SLOPERISE,wxGetApp().GetActiveDoc()->GetViewSlopeRise()); m_labelContext->Check(ID_VIEW_SLOPEDECAY,wxGetApp().GetActiveDoc()->GetViewSlopeDecay()); m_labelContext->Check(ID_VIEW_LATENCY,wxGetApp().GetActiveDoc()->GetViewLatency()); #ifdef WITH_PSLOPE m_labelContext->Check(ID_VIEW_PSLOPE,wxGetApp().GetActiveDoc()->GetViewPSlope()); #endif m_labelContext->Check(ID_VIEW_CURSORS,wxGetApp().GetActiveDoc()->GetViewCursors()); PopupMenu(m_labelContext.get()); } void wxStfGrid::ViewCrosshair(wxCommandEvent& event) { event.Skip(); // Toggle on or off: wxGetApp().GetActiveDoc()->SetViewCrosshair(m_labelContext->IsChecked(ID_VIEW_MEASURE)); SetCheckmark(wxT("ViewCrosshair"),ID_VIEW_MEASURE); } void wxStfGrid::ViewBaseline(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewBaseline(m_labelContext->IsChecked(ID_VIEW_BASELINE)); SetCheckmark(wxT("ViewBaseline"),ID_VIEW_BASELINE); } void wxStfGrid::ViewBaseSD(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewBaseSD(m_labelContext->IsChecked(ID_VIEW_BASESD)); SetCheckmark(wxT("ViewBaseSD"),ID_VIEW_BASESD); } void wxStfGrid::ViewThreshold(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewThreshold(m_labelContext->IsChecked(ID_VIEW_THRESHOLD)); SetCheckmark(wxT("ViewThreshold"),ID_VIEW_THRESHOLD); } void wxStfGrid::ViewPeakzero(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewPeakZero(m_labelContext->IsChecked(ID_VIEW_PEAKZERO)); SetCheckmark(wxT("ViewPeakzero"),ID_VIEW_PEAKZERO); } void wxStfGrid::ViewPeakbase(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewPeakBase(m_labelContext->IsChecked(ID_VIEW_PEAKBASE)); SetCheckmark(wxT("ViewPeakbase"),ID_VIEW_PEAKBASE); } void wxStfGrid::ViewPeakthreshold(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewPeakThreshold(m_labelContext->IsChecked(ID_VIEW_PEAKTHRESHOLD)); SetCheckmark(wxT("ViewPeakthreshold"),ID_VIEW_PEAKTHRESHOLD); } void wxStfGrid::ViewRTLoHi(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewRTLoHi(m_labelContext->IsChecked(ID_VIEW_RTLOHI)); SetCheckmark(wxT("ViewRTLoHi"),ID_VIEW_RTLOHI); } void wxStfGrid::ViewInnerRiseTime(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewInnerRiseTime(m_labelContext->IsChecked(ID_VIEW_INNERRISETIME)); SetCheckmark(wxT("ViewInnerRiseTime"),ID_VIEW_INNERRISETIME); } void wxStfGrid::ViewOuterRiseTime(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewOuterRiseTime(m_labelContext->IsChecked(ID_VIEW_OUTERRISETIME)); SetCheckmark(wxT("ViewOuterRiseTime"),ID_VIEW_OUTERRISETIME); } void wxStfGrid::ViewT50(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewT50(m_labelContext->IsChecked(ID_VIEW_T50)); SetCheckmark(wxT("ViewT50"),ID_VIEW_T50); } void wxStfGrid::ViewRD(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewRD(m_labelContext->IsChecked(ID_VIEW_RD)); SetCheckmark(wxT("ViewRD"),ID_VIEW_RD); } void wxStfGrid::ViewSloperise(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewSlopeRise(m_labelContext->IsChecked(ID_VIEW_SLOPERISE)); SetCheckmark(wxT("ViewSloperise"),ID_VIEW_SLOPERISE); } void wxStfGrid::ViewSlopedecay(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewSlopeDecay(m_labelContext->IsChecked(ID_VIEW_SLOPEDECAY)); SetCheckmark(wxT("ViewSlopedecay"),ID_VIEW_SLOPEDECAY); } void wxStfGrid::ViewLatency(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewLatency(m_labelContext->IsChecked(ID_VIEW_LATENCY)); SetCheckmark(wxT("ViewLatency"),ID_VIEW_LATENCY); } #ifdef WITH_PSLOPE void wxStfGrid::ViewPSlope(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewPSlope(m_labelContext->IsChecked(ID_VIEW_PSLOPE)); SetCheckmark(wxT("ViewPSlope"),ID_VIEW_PSLOPE); } #endif void wxStfGrid::ViewCursors(wxCommandEvent& event) { event.Skip(); wxGetApp().GetActiveDoc()->SetViewCursors(m_labelContext->IsChecked(ID_VIEW_CURSORS)); SetCheckmark(wxT("ViewCursors"),ID_VIEW_CURSORS); } void wxStfGrid::SetCheckmark(const wxString& RegEntry, int id) { // Toggle on or off: if (m_labelContext->IsChecked(id)) { wxGetApp().wxWriteProfileInt(wxT("Settings"),RegEntry,1); } else { wxGetApp().wxWriteProfileInt(wxT("Settings"),RegEntry,0); } // Update table: wxStfChildFrame* pChild=(wxStfChildFrame*)GetMainFrame()->GetActiveChild(); pChild->UpdateResults(); } stimfit-0.14.11/src/stimfit/gui/childframe.cpp0000755000175200017520000005337012472345762016145 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // frame.cpp // These are the top-level and child windows of the application. // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #ifdef _STFDEBUG #include #endif // For compilers that support precompilation, includes "wx/wx.h". #include #include #include #include #include #include #include #include #include #include #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include #endif #if !wxUSE_DOC_VIEW_ARCHITECTURE #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! #endif #if !wxUSE_MDI_ARCHITECTURE #error You must set wxUSE_MDI_ARCHITECTURE to 1 in setup.h! #endif #include "./app.h" #include "./doc.h" #include "./view.h" #include "./graph.h" #include "./table.h" #include "./printout.h" #include "./dlgs/smalldlgs.h" #include "./copygrid.h" #ifdef _WINDOWS #include "./../../libstfio/atf/atflib.h" #include "./../../libstfio/igor/igorlib.h" #endif #include "./childframe.h" IMPLEMENT_CLASS(wxStfChildFrame, wxStfChildType) BEGIN_EVENT_TABLE(wxStfChildFrame, wxStfChildType) EVT_SPINCTRL( ID_SPINCTRLTRACES, wxStfChildFrame::OnSpinCtrlTraces ) EVT_COMBOBOX( ID_COMBOACTCHANNEL, wxStfChildFrame::OnComboActChannel ) EVT_COMBOBOX( ID_COMBOINACTCHANNEL, wxStfChildFrame::OnComboInactChannel ) EVT_CHECKBOX( ID_ZERO_INDEX, wxStfChildFrame::OnZeroIndex) EVT_CHECKBOX( ID_PLOTSELECTED, wxStfChildFrame::OnShowselected ) // workaround for status bar: EVT_MENU_HIGHLIGHT_ALL( wxStfChildFrame::OnMenuHighlight ) END_EVENT_TABLE() wxStfChildFrame::wxStfChildFrame(wxDocument* doc, wxView* view, wxStfParentType* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name) : wxStfChildType(doc,view,parent,id,title,pos,size,style,name), m_parent(parent), m_notebook(NULL) { m_mgr.SetManagedWindow(this); m_mgr.SetFlags( wxAUI_MGR_ALLOW_FLOATING | wxAUI_MGR_TRANSPARENT_DRAG | wxAUI_MGR_VENETIAN_BLINDS_HINT | wxAUI_MGR_ALLOW_ACTIVE_PANE ); } wxStfChildFrame::~wxStfChildFrame() { // deinitialize the frame manager m_mgr.UnInit(); } wxStfGrid* wxStfChildFrame::CreateTable() { // create the notebook off-window to avoid flicker //wxSize client_size = GetClientSize(); wxStfGrid* ctrl = new wxStfGrid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL | wxHSCROLL ); #ifndef __APPLE__ wxFont font( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL ); ctrl->SetDefaultCellFont(font); #endif ctrl->SetDefaultColSize(108); ctrl->SetColLabelSize(20); ctrl->SetDefaultCellAlignment(wxALIGN_RIGHT,wxALIGN_CENTRE); ctrl->CreateGrid(3,10); ctrl->EnableEditing(false); return ctrl; } wxAuiNotebook* wxStfChildFrame::CreateNotebook() { // create the notebook off-window to avoid flicker wxSize client_size = GetClientSize(); m_notebook_style = wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_CLOSE_ON_ACTIVE_TAB |/*wxAUI_NB_DEFAULT_STYLE | */ wxNO_BORDER; wxAuiNotebook* ctrl = new wxAuiNotebook( this, wxID_ANY, wxPoint(client_size.x, client_size.y), wxSize(200,200), m_notebook_style ); return ctrl; } wxPanel* wxStfChildFrame::CreateTraceCounter() { //wxSize client_size = GetClientSize(); wxPanel* ctrl = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize );// , wxSize(165,88) ); return ctrl; } wxPanel* wxStfChildFrame::CreateChannelCounter() { wxPanel* ctrl = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize ); //, wxSize(256,88) ); return ctrl; } void wxStfChildFrame::CreateMenuTraces(const std::size_t value) { sizemax = value; m_traceCounter = CreateTraceCounter(); // this is wxPanel wxBoxSizer* pTracesBoxSizer; // top-level Sizer pTracesBoxSizer = new wxBoxSizer(wxVERTICAL); wxGridSizer* TracesGridSizer; // top-level GridSizer TracesGridSizer = new wxGridSizer(3,1,0,0); // Grid for spin control wxFlexGridSizer* pSpinCtrlTraceSizer; pSpinCtrlTraceSizer = new wxFlexGridSizer(1,3,0,0); // 1 row, 3 columns for the SpinCtrl + text // 1) the wxSpinCtrl object trace_spinctrl = new wxSpinCtrl( m_traceCounter, ID_SPINCTRLTRACES, wxEmptyString, wxDefaultPosition, wxSize(64, wxDefaultCoord), wxSP_WRAP); // the "of n", where n is the number of traces // n is zero-based in zero-based check box is selected wxStaticText* pIndexText; pIndexText = new wxStaticText(m_traceCounter, wxID_ANY, wxT("Index: ")); pSize=new wxStaticText( m_traceCounter, wxID_ANY, wxEmptyString); wxString sizeStr; pSpinCtrlTraceSizer->Add( pIndexText, 0, wxALIGN_CENTER_VERTICAL | wxALL, 1) ; pSpinCtrlTraceSizer->Add( trace_spinctrl, 0, wxALIGN_LEFT, 1) ; pSpinCtrlTraceSizer->Add( pSize, 0, wxALIGN_LEFT | wxALIGN_CENTER, 1) ; // 2) Show zero-based index? Read from Stimfit registry pZeroIndex = new wxCheckBox( m_traceCounter, ID_ZERO_INDEX, wxT("Zero-based index ") ); pZeroIndex->SetValue(wxGetApp().wxGetProfileInt(wxT("Settings"), wxT("Zeroindex"), 0)); // If true set the starting value to zero if (pZeroIndex->GetValue()){ sizemax--; trace_spinctrl->SetValue(0); trace_spinctrl->SetRange(0, (int)sizemax); } else { trace_spinctrl->SetValue(1); trace_spinctrl->SetRange(1, (int)sizemax); } // value argument is the number of traces sizeStr << wxT("(") << value << wxT(")"); // gives asserts on OS X: wxString::Format(wxT("%3d"), value); pSize->SetLabel(sizeStr); // Show selected pShowSelected = new wxCheckBox( m_traceCounter, ID_PLOTSELECTED, wxT("Show selected")); pShowSelected->SetValue(false); // Add everything to top-level GridSizer TracesGridSizer->Add(pSpinCtrlTraceSizer, 0, wxALIGN_LEFT | wxALIGN_TOP | wxALL, 3); TracesGridSizer->Add(pZeroIndex, 0, wxALIGN_LEFT | wxALIGN_BOTTOM | wxALL, 3); TracesGridSizer->Add(pShowSelected, 0, wxALIGN_LEFT | wxALIGN_BOTTOM | wxALL, 3); pTracesBoxSizer->Add(TracesGridSizer, 0, wxALIGN_CENTER | wxALL, 1); pTracesBoxSizer->SetSizeHints(m_traceCounter); m_traceCounter->SetSizer( TracesGridSizer ); m_traceCounter->Layout(); wxSize size = m_traceCounter->GetSize(); wxStfDoc* pDoc=(wxStfDoc*)GetDocument(); m_mgr.AddPane( m_traceCounter, wxAuiPaneInfo().Caption(wxT("Trace selection")).Fixed().BestSize(size.x, size.y). Position(pDoc->size()-1).CloseButton(false).Floatable().Dock().Top().Name(wxT("SelectionT")) ); m_table=CreateTable(); m_mgr.AddPane( m_table, wxAuiPaneInfo().Caption(wxT("Results")).Position(pDoc->size()). CloseButton(false).Floatable().Dock().Top().Name(wxT("Results")) ); m_mgr.Update(); Refresh(); } // Channel Selection childframe void wxStfChildFrame::CreateComboChannels(const wxArrayString& channelStrings) { m_channelCounter = CreateChannelCounter(); wxBoxSizer* pChannelsBoxSizer; // top-level Sizer pChannelsBoxSizer = new wxBoxSizer(wxVERTICAL); // Grid for ChannelCombo wxFlexGridSizer* ChannelCombos; ChannelCombos = new wxFlexGridSizer(2,2,4,0); // Active channel Combo wxStaticText* pActIndex = new wxStaticText( m_channelCounter, wxID_ANY, wxT("Active channel: ") ); pActChannel = new wxComboBox( m_channelCounter, ID_COMBOACTCHANNEL, wxT("0"), wxDefaultPosition, wxSize(120, wxDefaultCoord), channelStrings, wxCB_DROPDOWN | wxCB_READONLY ); // Inactive channel Combo wxStaticText* pInactIndex = new wxStaticText( m_channelCounter, wxID_ANY, wxT("Reference channel: ") ); pInactIndex->SetForegroundColour( *wxRED ); pInactChannel = new wxComboBox( m_channelCounter, ID_COMBOINACTCHANNEL, wxT("1"), wxDefaultPosition, wxSize(120,wxDefaultCoord), channelStrings, wxCB_DROPDOWN | wxCB_READONLY ); ChannelCombos->Add( pActIndex, 1, wxALIGN_CENTER_VERTICAL, 1); ChannelCombos->Add( pActChannel, 1); ChannelCombos->Add( pInactIndex,1, wxALIGN_CENTER_VERTICAL, 1); ChannelCombos->Add( pInactChannel, 1); wxBoxSizer *pShowChannelSizer; pShowChannelSizer = new wxBoxSizer(wxHORIZONTAL); // Show reference channel? Read from Stimfit registry pShowSecond = new wxCheckBox( m_channelCounter, ID_PLOTSELECTED, wxT("Show reference") ); pShowSecond->SetValue(wxGetApp().wxGetProfileInt(wxT("Settings"), wxT("ShowReference"),0)); pShowSecond->SetForegroundColour( *wxRED ); pShowAll = new wxCheckBox( m_channelCounter, ID_PLOTSELECTED, wxT("Show all ") ); pShowAll->SetValue(false); pShowChannelSizer->Add( pShowAll ); pShowChannelSizer->Add( pShowSecond ); pChannelsBoxSizer->Add(ChannelCombos, 0, wxALIGN_CENTER | wxALL, 3); pChannelsBoxSizer->Add(pShowChannelSizer, 0, wxALIGN_LEFT | wxALL, 3); pChannelsBoxSizer->SetSizeHints(m_channelCounter); m_channelCounter->SetSizer( pChannelsBoxSizer ); m_channelCounter->Layout(); wxSize size = m_channelCounter->GetSize(); m_mgr.AddPane( m_channelCounter, wxAuiPaneInfo().Caption(wxT("Channel selection")).Fixed().BestSize(size.x, size.y). Position(0).CloseButton(false).Floatable().Dock().Top().Name(wxT("SelectionC")) ); m_mgr.Update(); Refresh(); } // Trace selection childframe void wxStfChildFrame::SetSelected(std::size_t value) { wxString selStr; selStr << wxT("Show ") << wxString::Format(wxT("%3d"),(int)value) << wxT(" selected"); pShowSelected->SetLabel(selStr); } void wxStfChildFrame::SetChannels( std::size_t act, std::size_t inact ) { pActChannel->SetSelection( act ); pInactChannel->SetSelection( inact ); } std::size_t wxStfChildFrame::GetCurTrace() const { // if zero-based is True if ( pZeroIndex->GetValue() ) return trace_spinctrl->GetValue(); else return trace_spinctrl->GetValue()-1; } void wxStfChildFrame::SetCurTrace(std::size_t n) { // if zero-based is True if ( pZeroIndex->GetValue() ) trace_spinctrl->SetValue((int)n); else trace_spinctrl->SetValue((int)n+1); } void wxStfChildFrame::OnSpinCtrlTraces( wxSpinEvent& event ){ event.Skip(); wxStfView* pView=(wxStfView*)GetView(); wxStfDoc* pDoc=(wxStfDoc*)GetDocument(); if (pDoc == NULL || pView == NULL) { wxGetApp().ErrorMsg(wxT("Null pointer in wxStfChildFrame::OnSpinCtrlTraces()")); return; } pDoc->SetSection(GetCurTrace()); wxGetApp().OnPeakcalcexecMsg(); if (pView->GetGraph() != NULL) { pView->GetGraph()->Refresh(); pView->GetGraph()->Enable(); pView->GetGraph()->SetFocus(); } } void wxStfChildFrame::OnActivate(wxActivateEvent &event) { wxStfView* pView=(wxStfView*)GetView(); if (pView) pView->Activate(true); } void wxStfChildFrame::OnComboActChannel(wxCommandEvent& WXUNUSED(event)) { if ( pActChannel->GetCurrentSelection() == pInactChannel->GetCurrentSelection()) { // correct selection: for (int n_c=0;n_c<(int)pActChannel->GetCount();++n_c) { if (n_c!=pActChannel->GetCurrentSelection()) { pInactChannel->SetSelection(n_c); break; } } } UpdateChannels(); } void wxStfChildFrame::OnComboInactChannel(wxCommandEvent& WXUNUSED(event)) { if (pInactChannel->GetCurrentSelection()==pActChannel->GetCurrentSelection()) { // correct selection: for (int n_c=0;n_c<(int)pInactChannel->GetCount();++n_c) { if (n_c!=pInactChannel->GetCurrentSelection()) { pActChannel->SetSelection(n_c); break; } } } UpdateChannels(); } void wxStfChildFrame::UpdateChannels( ) { wxStfDoc* pDoc=(wxStfDoc*)GetDocument(); if ( pDoc != NULL && pDoc->size() > 1) { try { if (pActChannel->GetCurrentSelection() >= 0 || pActChannel->GetCurrentSelection() < (int)pDoc->size()) { pDoc->SetCurChIndex( pActChannel->GetCurrentSelection() ); if (pInactChannel->GetCurrentSelection() >= 0 || pInactChannel->GetCurrentSelection() < (int)pDoc->size()) { pDoc->SetSecChIndex( pInactChannel->GetCurrentSelection() ); } else { pDoc->SetCurChIndex(0); pDoc->SetSecChIndex(1); } } else { pDoc->SetCurChIndex(0); pDoc->SetSecChIndex(1); } } catch (const std::out_of_range& e) { wxString msg(wxT("Error while changing channels\nPlease close file\n")); msg += wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(msg); return; } // Update measurements: wxGetApp().OnPeakcalcexecMsg(); UpdateResults(); wxStfView* pView=(wxStfView*)GetView(); if ( pView == NULL ) { wxGetApp().ErrorMsg( wxT("View is zero in wxStfDoc::SwapChannels")); return; } if (pView->GetGraph() != NULL) { pView->GetGraph()->Refresh(); pView->GetGraph()->Enable(); pView->GetGraph()->SetFocus(); } } } void wxStfChildFrame::OnZeroIndex( wxCommandEvent& event) { event.Skip(); wxSpinCtrl* pTraceCtrl = (wxSpinCtrl*)FindWindow(ID_SPINCTRLTRACES); wxCheckBox* pZeroIndex = (wxCheckBox*)FindWindow(ID_ZERO_INDEX); if (pZeroIndex == NULL || pTraceCtrl == NULL){ wxGetApp().ErrorMsg(wxT("Null pointer in wxStfChildFrame::OnZeroIndex")); return; } // If Zero-index is ON (selected) if (pZeroIndex->GetValue()){ wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("Zeroindex"), 1); // write config if (pTraceCtrl->GetValue()==1){ sizemax--; pTraceCtrl->SetRange(0, sizemax); // first set new range pTraceCtrl->SetValue(pTraceCtrl->GetValue()-1); // now you can move one less } else if (pTraceCtrl->GetValue()==(int)sizemax){ sizemax--; pTraceCtrl->SetValue(pTraceCtrl->GetValue()-1); // move one less pTraceCtrl->SetRange(0, sizemax); // next set new range } else { sizemax--; pTraceCtrl->SetRange(0, sizemax); // first set new range pTraceCtrl->SetValue(pTraceCtrl->GetValue()-1); // now you can move one less } } // If Zero-index is OFF (unselected) else { wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("Zeroindex"), 0); if (pTraceCtrl->GetValue()==0){ sizemax++; pTraceCtrl->SetValue(pTraceCtrl->GetValue()+1); pTraceCtrl->SetRange(1, (int)sizemax); } else if (pTraceCtrl->GetValue()==(int)sizemax){ sizemax++; pTraceCtrl->SetRange(1, (int)sizemax); // first set new range pTraceCtrl->SetValue(pTraceCtrl->GetValue()+1); // now you can move one more } else { // now the order does not matter sizemax++; pTraceCtrl->SetRange(1, (int)sizemax); // first set new range pTraceCtrl->SetValue(pTraceCtrl->GetValue()+1); // now you can move one more } } //wxString sizeStr; //sizeStr << wxT("of ") << wxString::Format(wxT("%3d"),(int)sizemax); //pSize->SetLabel(sizeStr); } void wxStfChildFrame::OnShowselected(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=(wxStfView*)GetView(); if (pView != NULL && pView->GetGraph()!= NULL) { pView->GetGraph()->Refresh(); pView->GetGraph()->Enable(); pView->GetGraph()->SetFocus(); } } bool wxStfChildFrame::ShowSecond() { wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("ShowReference"), pShowSecond->IsChecked()); // write config return pShowSecond->IsChecked(); } void wxStfChildFrame::ActivateGraph() { wxStfView* pView=(wxStfView*)GetView(); // Set the focus somewhere else: if (m_traceCounter != NULL) m_traceCounter->SetFocus(); if (pView != NULL && pView->GetGraph()!= NULL) { pView->GetGraph()->Enable(); pView->GetGraph()->SetFocus(); } } void wxStfChildFrame::ShowTable(const stfnum::Table &table,const wxString& caption) { // Create and show notebook if necessary: if (m_notebook==NULL && !m_mgr.GetPane(m_notebook).IsOk()) { m_notebook=CreateNotebook(); m_mgr.AddPane( m_notebook, wxAuiPaneInfo().Caption(wxT("Analysis results")). Floatable().Dock().Left().Name( wxT("Notebook") ) ); } else { // Re-open notebook if it has been closed: if (!m_mgr.GetPane(m_notebook).IsShown()) { m_mgr.GetPane(m_notebook).Show(); } } wxStfGrid* pGrid = new wxStfGrid( m_notebook, wxID_ANY, wxPoint(0,20), wxDefaultSize ); wxStfTable* pTable(new wxStfTable(table)); pGrid->SetTable(pTable,true); // the grid will take care of the deletion pGrid->SetEditable(false); pGrid->SetDefaultCellAlignment(wxALIGN_RIGHT,wxALIGN_CENTRE); for (std::size_t n_row=0; n_row<=table.nRows()+1; ++n_row) { pGrid->SetCellAlignment(wxALIGN_LEFT,(int)n_row,0); } m_notebook->AddPage( pGrid, caption, true ); // "commit" all changes made to wxAuiManager m_mgr.Update(); wxStfView* pView=(wxStfView*)GetView(); if (pView != NULL && pView->GetGraph()!= NULL) { pView->GetGraph()->Enable(); pView->GetGraph()->SetFocus(); } } void wxStfChildFrame::UpdateResults() { wxStfDoc* pDoc=(wxStfDoc*)GetDocument(); stfnum::Table table(pDoc->CurResultsTable()); // Delete or append columns: if (m_table->GetNumberCols()<(int)table.nCols()) { m_table->AppendCols((int)table.nCols()-(int)m_table->GetNumberCols()); } else { if (m_table->GetNumberCols()>(int)table.nCols()) { m_table->DeleteCols(0,(int)m_table->GetNumberCols()-(int)table.nCols()); } } // Delete or append row: if (m_table->GetNumberRows()<(int)table.nRows()) { m_table->AppendRows((int)table.nRows()-(int)m_table->GetNumberRows()); } else { if (m_table->GetNumberRows()>(int)table.nRows()) { m_table->DeleteRows(0,(int)m_table->GetNumberRows()-(int)table.nRows()); } } for (std::size_t nRow=0;nRowSetRowLabelValue((int)nRow, stf::std2wx(table.GetRowLabel(nRow))); for (std::size_t nCol=0;nColSetColLabelValue((int)nCol, stf::std2wx(table.GetColLabel(nCol))); if (!table.IsEmpty(nRow,nCol)) { wxString entry; entry << table.at(nRow,nCol); m_table->SetCellValue((int)nRow,(int)nCol,entry); } else { m_table->SetCellValue((int)nRow,(int)nCol,wxT("n.a.")); } } } } void wxStfChildFrame::Saveperspective() { wxString perspective = m_mgr.SavePerspective(); // Save to wxConfig: wxGetApp().wxWriteProfileString(wxT("Settings"),wxT("Windows"),perspective); #ifdef _STFDEBUG wxFile persp(wxT("perspective.txt"), wxFile::write); persp.Write(perspective); persp.Close(); #endif } void wxStfChildFrame::Loadperspective() { wxString perspective = wxGetApp().wxGetProfileString(wxT("Settings"),wxT("Windows"),wxT("")); if (perspective!=wxT("")) { m_mgr.LoadPerspective(perspective); } else { wxGetApp().ErrorMsg(wxT("Couldn't find saved windows settings")); } } void wxStfChildFrame::Restoreperspective() { m_mgr.LoadPerspective(defaultPersp); m_mgr.Update(); } void wxStfChildFrame::OnMenuHighlight(wxMenuEvent& event) { if (this->GetMenuBar()) { wxMenuItem *item = this->GetMenuBar()->FindItem(event.GetId()); if(item) { wxLogStatus(item->GetHelp()); } } event.Skip(); } #if wxUSE_DRAG_AND_DROP bool wxStfFileDrop::OnDropFiles(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y), const wxArrayString& filenames) { int nFiles=(int)filenames.GetCount(); if (nFiles>0) { return wxGetApp().OpenFileSeries(filenames); } else { return false; } } #endif stimfit-0.14.11/src/stimfit/gui/parentframe.cpp0000755000175200017520000015012012521565121016326 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // parentframe.cpp // These are the top-level and child windows of the application. // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #ifdef _STFDEBUG #include #endif // For compilers that support precompilation, includes "wx/wx.h". #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include #endif #if !wxUSE_DOC_VIEW_ARCHITECTURE #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! #endif #if !wxUSE_MDI_ARCHITECTURE #error You must set wxUSE_MDI_ARCHITECTURE to 1 in setup.h! #endif #include "../../../stfconf.h" #include "./app.h" #include "./doc.h" #include "./view.h" #include "./graph.h" #include "./table.h" #include "./printout.h" #include "./dlgs/convertdlg.h" #include "./dlgs/smalldlgs.h" #include "./copygrid.h" #include "./../../libstfio/atf/atflib.h" #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) #include "./../../libstfio/biosig/biosiglib.h" #endif #include "./../../libstfio/igor/igorlib.h" #include "./childframe.h" #include "./parentframe.h" #include "./../../libstfnum/levmar/levmar.h" #include "./../res/16-em-down.xpm" #include "./../res/16-em-open.xpm" #include "./../res/accept.xpm" #include "./../res/arrow_down.xpm" #include "./../res/arrow_left.xpm" #include "./../res/arrow_out.xpm" #include "./../res/arrow_right.xpm" #include "./../res/arrow_up.xpm" #include "./../res/camera.xpm" #include "./../res/camera_ps.xpm" #include "./../res/ch1.xpm" #include "./../res/ch2.xpm" #include "./../res/cursor.xpm" #include "./../res/event.xpm" #include "./../res/fit.xpm" #include "./../res/fit_lim.xpm" #include "./../res/latency_lim.xpm" #include "./../res/resultset_first.xpm" #include "./../res/resultset_last.xpm" #include "./../res/resultset_next.xpm" #include "./../res/resultset_previous.xpm" #include "./../res/sum_new.xpm" #include "./../res/sum_new_aligned.xpm" #include "./../res/table.xpm" #include "./../res/zoom.xpm" #include "./../res/zoom_in.xpm" #include "./../res/zoom_out.xpm" #ifdef WITH_PSLOPE #include "./../res/slope.xpm" #endif #ifndef wxS_DIR_DEFAULT #define wxS_DIR_DEFAULT 0777 #endif IMPLEMENT_CLASS(wxStfParentFrame, wxStfParentType) BEGIN_EVENT_TABLE(wxStfParentFrame, wxStfParentType) EVT_MENU(wxID_HELP, wxStfParentFrame::OnHelp) EVT_MENU(ID_UPDATE, wxStfParentFrame::OnCheckUpdate) EVT_MENU(wxID_ABOUT, wxStfParentFrame::OnAbout) EVT_TOOL(ID_TOOL_SELECT,wxStfParentFrame::OnToggleSelect) EVT_TOOL(ID_TOOL_FIRST, wxStfParentFrame::OnToolFirst) EVT_TOOL(ID_TOOL_NEXT, wxStfParentFrame::OnToolNext) EVT_TOOL(ID_TOOL_PREVIOUS, wxStfParentFrame::OnToolPrevious) EVT_TOOL(ID_TOOL_LAST, wxStfParentFrame::OnToolLast) EVT_TOOL(ID_TOOL_XENL, wxStfParentFrame::OnToolXenl) EVT_TOOL(ID_TOOL_XSHRINK, wxStfParentFrame::OnToolXshrink) EVT_TOOL(ID_TOOL_YENL, wxStfParentFrame::OnToolYenl) EVT_TOOL(ID_TOOL_YSHRINK, wxStfParentFrame::OnToolYshrink) EVT_TOOL(ID_TOOL_UP, wxStfParentFrame::OnToolUp) EVT_TOOL(ID_TOOL_DOWN, wxStfParentFrame::OnToolDown) EVT_TOOL(ID_TOOL_FIT, wxStfParentFrame::OnToolFit) EVT_TOOL(ID_TOOL_LEFT, wxStfParentFrame::OnToolLeft) EVT_TOOL(ID_TOOL_RIGHT, wxStfParentFrame::OnToolRight) EVT_TOOL(ID_TOOL_SNAPSHOT_WMF, wxStfParentFrame::OnToolSnapshotwmf) EVT_TOOL(ID_TOOL_CH1, wxStfParentFrame::OnToolCh1) EVT_TOOL(ID_TOOL_CH2, wxStfParentFrame::OnToolCh2) EVT_TOOL(ID_TOOL_MEASURE, wxStfParentFrame::OnToolMeasure) EVT_TOOL(ID_TOOL_PEAK,wxStfParentFrame::OnToolPeak) EVT_TOOL(ID_TOOL_BASE,wxStfParentFrame::OnToolBase) EVT_TOOL(ID_TOOL_DECAY,wxStfParentFrame::OnToolDecay) #ifdef WITH_PSLOPE EVT_TOOL(ID_TOOL_PSLOPE,wxStfParentFrame::OnToolPSlope) #endif EVT_TOOL(ID_TOOL_LATENCY,wxStfParentFrame::OnToolLatency) EVT_TOOL(ID_TOOL_ZOOM,wxStfParentFrame::OnToolZoom) EVT_TOOL(ID_TOOL_EVENT,wxStfParentFrame::OnToolEvent) EVT_MENU(ID_CONVERT, wxStfParentFrame::OnConvert) EVT_MENU(ID_AVERAGE, wxStfParentFrame::OnAverage) EVT_MENU(ID_ALIGNEDAVERAGE, wxStfParentFrame::OnAlignedAverage) EVT_MENU( ID_VIEW_RESULTS, wxStfParentFrame::OnViewResults) EVT_MENU( ID_CH2BASE, wxStfParentFrame::OnCh2base ) EVT_MENU( ID_CH2POS, wxStfParentFrame::OnCh2pos ) EVT_MENU( ID_CH2ZOOM, wxStfParentFrame::OnCh2zoom ) EVT_MENU( ID_CH2BASEZOOM, wxStfParentFrame::OnCh2basezoom ) EVT_MENU( ID_SCALE, wxStfParentFrame::OnScale ) EVT_MENU( ID_PRINT_PRINT, wxStfParentFrame::OnPrint) EVT_MENU( ID_MPL, wxStfParentFrame::OnMpl) EVT_MENU( ID_MPL_SPECTRUM,wxStfParentFrame::OnMplSpectrum) EVT_MENU( ID_PRINT_PAGE_SETUP, wxStfParentFrame::OnPageSetup) EVT_MENU( ID_SAVEPERSPECTIVE, wxStfParentFrame::OnSaveperspective ) EVT_MENU( ID_LOADPERSPECTIVE, wxStfParentFrame::OnLoadperspective ) EVT_MENU( ID_RESTOREPERSPECTIVE, wxStfParentFrame::OnRestoreperspective ) #ifdef WITH_PYTHON EVT_MENU( ID_VIEW_SHELL, wxStfParentFrame::OnViewshell ) #endif #if 0 EVT_MENU( ID_LATENCYSTART_MAXSLOPE, wxStfParentFrame::OnLStartMaxslope ) EVT_MENU( ID_LATENCYSTART_HALFRISE, wxStfParentFrame::OnLStartHalfrise ) EVT_MENU( ID_LATENCYSTART_PEAK, wxStfParentFrame::OnLStartPeak ) EVT_MENU( ID_LATENCYSTART_MANUAL, wxStfParentFrame::OnLStartManual ) EVT_MENU( ID_LATENCYEND_FOOT, wxStfParentFrame::OnLEndFoot ) EVT_MENU( ID_LATENCYEND_MAXSLOPE, wxStfParentFrame::OnLEndMaxslope ) EVT_MENU( ID_LATENCYEND_PEAK, wxStfParentFrame::OnLEndPeak ) EVT_MENU( ID_LATENCYEND_HALFRISE, wxStfParentFrame::OnLEndHalfrise ) EVT_MENU( ID_LATENCYEND_MANUAL, wxStfParentFrame::OnLEndManual ) EVT_MENU( ID_LATENCYWINDOW, wxStfParentFrame::OnLWindow ) #endif END_EVENT_TABLE() wxStfParentFrame::wxStfParentFrame(wxDocManager *manager, wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, long type): wxStfParentType(manager, frame, wxID_ANY, title, pos, size, type, _T("myFrame")), mpl_figno(0) { // ::wxInitAllImageHandlers(); m_mgr.SetManagedWindow(this); m_mgr.SetFlags( wxAUI_MGR_ALLOW_FLOATING | wxAUI_MGR_TRANSPARENT_DRAG | wxAUI_MGR_VENETIAN_BLINDS_HINT | wxAUI_MGR_ALLOW_ACTIVE_PANE ); #if wxUSE_DRAG_AND_DROP m_drop = new wxStfFileDrop; // obviously gets deleted when the frame is destructed SetDropTarget(m_drop); #endif m_printData.reset(new wxPrintData); // initial paper size // m_printData->SetQuality(wxPRINT_QUALITY_HIGH); // int ppi = m_printData->GetQuality(); m_printData->SetPaperId(wxPAPER_A4); // initial orientation m_printData->SetOrientation(wxLANDSCAPE); m_pageSetupData.reset(new wxPageSetupDialogData); // copy over initial paper size from print record m_pageSetupData->SetPrintData(*m_printData); // Set some initial page margins in mm. m_pageSetupData->SetMarginTopLeft(wxPoint(15, 15)); m_pageSetupData->SetMarginBottomRight(wxPoint(15, 15)); // create some toolbars wxStfToolBar* tb1 = CreateStdTb(); tb1->Realize(); m_scaleToolBar=CreateScaleTb(); m_scaleToolBar->Realize(); wxStfToolBar* tb4=CreateEditTb(); tb4->Realize(); m_cursorToolBar=CreateCursorTb(); m_cursorToolBar->Realize(); // add the toolbars to the manager m_mgr.AddPane( tb1, wxAuiPaneInfo().Name(wxT("tb1")).Caption(wxT("Std Toolbar")).ToolbarPane().Resizable(false). Position(0).Top().Gripper().RightDockable(false) ); #ifdef __WXMAC__ int xpos = 64, ypos = 32; #endif m_mgr.AddPane( m_cursorToolBar, wxAuiPaneInfo().Name(wxT("tb2")).Caption(wxT("Edit Toolbar")). ToolbarPane().Resizable(false). #ifndef __WXMAC__ Position(1).Top().Gripper().RightDockable(false) ); #else Dockable(false).Float().FloatingPosition(xpos, ypos) ); xpos += m_cursorToolBar->GetSize().GetWidth()+8; #endif m_mgr.AddPane( tb4, wxAuiPaneInfo().Name(wxT("tb4")).Caption(wxT("Analysis Toolbar")). ToolbarPane().Resizable(false). #ifndef __WXMAC__ Position(2).Top().Gripper().RightDockable(false) ); #else Dockable(false).Float().FloatingPosition(xpos,ypos) ); xpos += tb4->GetSize().GetWidth()+8; #endif m_mgr.AddPane( m_scaleToolBar, wxAuiPaneInfo().Name(wxT("m_scaleToolBar")).Caption(wxT("Navigation Toolbar")). ToolbarPane().Resizable(false). #ifndef __WXMAC__ Position(3).Top().Gripper().RightDockable(false) ); #else Dockable(false).Float().FloatingPosition(xpos,ypos) ); #endif SetMouseQual( stf::measure_cursor ); #ifdef WITH_PYTHON python_code2 << wxT("import sys\n") << wxT("sys.path.append('.')\n") #ifdef IPYTHON << wxT("import embedded_ipython\n") #else << wxT("import embedded_stf\n") #endif << wxT("\n") << wxT("def makeWindow(parent, figsize=(8,6)):\n") #ifdef IPYTHON << wxT(" win = embedded_ipython.MyPanel(parent)\n") #else << wxT(" win = embedded_stf.MyPanel(parent)\n") #endif << wxT(" return win\n") << wxT("\n") #if PY_MAJOR_VERSION < 3 << wxT("import embedded_mpl\n") << wxT("def plotWindowMpl(parent, figsize=(8,6)):\n") << wxT(" win = embedded_mpl.MplPanel(parent, figsize)\n") << wxT(" win.plot_screen()\n") << wxT(" return win\n") << wxT("\n") << wxT("def spectrumWindowMpl(parent, figsize=(8,6)):\n") << wxT(" win = embedded_mpl.MplPanel(parent, figsize)\n") << wxT(" win.plot_spectrum()\n") << wxT(" return win\n") << wxT("\n") << wxT("def makeWindowMpl(parent, figsize=(8,6)):\n") << wxT(" win = embedded_mpl.MplPanel(parent, figsize)\n") << wxT(" return win\n") #endif ; /* The window remains open after the main application has been closed; deactivated for the time being. * RedirectStdio(); */ bool show = wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewShell"), 1); wxWindow* pPython = MakePythonWindow("makeWindow", "pythonShell", "Python Shell", show, #ifdef __WXMAC__ true #else false, false, GetClientSize().GetWidth(), GetClientSize().GetHeight()/5 #endif ).cppWindow; if ( pPython == 0 ) { wxGetApp().ErrorMsg(wxT("Can't create a window for the python shell\nPointer is zero")); } #ifdef _STFDEBUG #ifdef _WINDOWS wxGetApp().InfoMsg( python_code2 ); #else std::cout << "python startup script:\n" << std::string( python_code2.char_str() ); #endif // _WINDOWS #endif // _STFDEBUG #else // WITH_PYTHON m_mgr.Update(); #endif // WITH_PYTHON wxStatusBar* pStatusBar = new wxStatusBar(this, wxID_ANY, wxST_SIZEGRIP); SetStatusBar(pStatusBar); //int widths[] = { 60, 60, -1 }; //pStatusBar->SetFieldWidths(WXSIZEOF(widths), widths); //pStatusBar->SetStatusText(wxT("Test"), 0); } wxStfParentFrame::~wxStfParentFrame() { // deinitialize the frame manager #ifdef WITH_PYTHON // write visibility of the shell to config: bool shell_state = m_mgr.GetPane(wxT("pythonShell")).IsShown(); wxGetApp().wxWriteProfileInt( wxT("Settings"),wxT("ViewShell"), int(shell_state) ); #endif m_mgr.UnInit(); } wxStfToolBar* wxStfParentFrame::CreateStdTb() { wxStfToolBar* tb1=new wxStfToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_DEFAULT_STYLE ); tb1->SetToolBitmapSize(wxSize(20,20)); tb1->AddTool( wxID_OPEN, wxT("Open"), wxArtProvider::GetBitmap( wxART_FILE_OPEN, wxART_TOOLBAR, wxSize(16,16) ), wxT("Open file"), wxITEM_NORMAL ); tb1->AddTool( wxID_SAVEAS, wxT("Save"), wxArtProvider::GetBitmap( wxART_FILE_SAVE_AS, wxART_TOOLBAR, wxSize(16,16) ), wxT("Save traces"), wxITEM_NORMAL ); tb1->AddTool( ID_PRINT_PRINT, wxT("Print"), wxArtProvider::GetBitmap( wxART_PRINT, wxART_TOOLBAR, wxSize(16,16) ), wxT("Print traces"), wxITEM_NORMAL ); return tb1; } wxStfToolBar* wxStfParentFrame::CreateScaleTb() { wxStfToolBar* scaleToolBar = new wxStfToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_DEFAULT_STYLE ); scaleToolBar->SetToolBitmapSize(wxSize(20,20)); scaleToolBar->AddTool( ID_TOOL_FIRST, wxT("First"), wxBitmap(resultset_first), wxT("Go to first trace"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_PREVIOUS, wxT("Prev."), wxBitmap(resultset_previous), wxT("Go to previous trace (left cursor)"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_NEXT, wxT("Next"), wxBitmap(resultset_next), wxT("Go to next trace (right cursor)"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_LAST, wxT("Last"), wxBitmap(resultset_last), wxT("Go to last trace"), wxITEM_NORMAL ); scaleToolBar->AddSeparator(); scaleToolBar->AddTool( ID_TOOL_LEFT, wxT("Left"), wxBitmap(arrow_left), wxT("Move traces left (CTRL+left cursor)"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_RIGHT, wxT("Right"), wxBitmap(arrow_right), wxT("Move traces right (CTRL+right cursor)"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_FIT, wxT("Fit"), wxBitmap(arrow_out), wxT("Fit traces to window (\"F\")"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_UP, wxT("Up"), wxBitmap(arrow_up), wxT("Move traces up (up cursor)"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_DOWN, wxT("Down"), wxBitmap(arrow_down), wxT("Move traces down (down cursor)"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_XENL, wxT("Zoom X"), wxBitmap(zoom_in), wxT("Enlarge x-scale (CTRL + \"+\")"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_XSHRINK, wxT("Shrink X"), wxBitmap(zoom_out), wxT("Shrink x-scale (CTRL + \"-\")"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_YENL, wxT("Zoom Y"), wxBitmap(zoom_in), wxT("Enlarge y-scale (\"+\")"), wxITEM_NORMAL ); scaleToolBar->AddTool( ID_TOOL_YSHRINK, wxT("Shrink Y"), wxBitmap(zoom_out), wxT("Shrink y-scale (\"-\")"), wxITEM_NORMAL ); scaleToolBar->AddSeparator(); scaleToolBar->AddTool( ID_TOOL_CH1, wxT("Ch 1"), wxBitmap(ch_), wxT("Scaling applies to active (black) channel (\"1\")"), wxITEM_CHECK ); scaleToolBar->AddTool( ID_TOOL_CH2, wxT("Ch 2"), wxBitmap(ch2_), wxT("Scaling applies to reference (red) channel (\"2\")"), wxITEM_CHECK ); return scaleToolBar; } wxStfToolBar* wxStfParentFrame::CreateEditTb() { wxStfToolBar* tb4= new wxStfToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_DEFAULT_STYLE ); tb4->SetToolBitmapSize(wxSize(20,20)); tb4->AddTool( ID_AVERAGE, wxT("Mean"), wxBitmap(sum_new), wxT("Average of selected traces"), wxITEM_NORMAL ); tb4->AddTool( ID_ALIGNEDAVERAGE, wxT("Aligned"), wxBitmap(sum_new_aligned), wxT("Aligned average of selected traces"), wxITEM_NORMAL ); tb4->AddTool( ID_FIT, wxT("Fit"), wxBitmap(fit),//chart_line), wxT("Fit function to data"), wxITEM_NORMAL ); tb4->AddTool( ID_VIEWTABLE, wxT("Table"), wxBitmap(table), wxT("View current trace as a table"), wxITEM_NORMAL ); return tb4; } wxStfToolBar* wxStfParentFrame::CreateCursorTb() { wxStfToolBar* cursorToolBar = new wxStfToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_DEFAULT_STYLE ); cursorToolBar->SetToolBitmapSize(wxSize(20,20)); cursorToolBar->AddTool( ID_TOOL_SELECT, wxT("Select"), wxBitmap( acceptbmp ), wxT("Select or unselect this trace (\"S\" / \"R\")"), wxITEM_CHECK ); // cursorToolBar->AddTool( ID_TOOL_REMOVE, // wxT("Unselect"), // wxBitmap( bin ), // wxT("Unselect this trace (\"R\")"), // wxITEM_NORMAL ); cursorToolBar->AddSeparator(); cursorToolBar->AddTool( ID_MPL, wxT("Snapshot"), wxBitmap(camera), wxT("Create snapshot with matplotlib"), wxITEM_NORMAL ); cursorToolBar->AddTool( ID_TOOL_SNAPSHOT_WMF, wxT("WMF Snapshot"), wxBitmap(camera_ps), wxT("Copy vectorized image to clipboard"), wxITEM_NORMAL ); cursorToolBar->AddSeparator(); cursorToolBar->AddTool( ID_TOOL_MEASURE, _T("Measure"), wxBitmap(cursor), wxT("Mouse selects measurement (crosshair) cursor (\"M\")"), wxITEM_CHECK ); cursorToolBar->AddTool( ID_TOOL_PEAK, _T("Peak"), wxBitmap(___em_open), wxT("Mouse selects peak cursors (\"P\")"), wxITEM_CHECK ); cursorToolBar->AddTool( ID_TOOL_BASE, _T("Base"), wxBitmap(___em_down), wxT("Mouse selects base cursors (\"B\")"), wxITEM_CHECK ); cursorToolBar->AddTool( ID_TOOL_DECAY, _T("Fit"), wxBitmap(fit_lim),//chart_curve), wxT("Mouse selects fit cursors (\"D\")"), wxITEM_CHECK ); cursorToolBar->AddTool( ID_TOOL_LATENCY, _T("Latency"), wxBitmap(latency_lim),//chart_curve), wxT("Mouse selects latency cursors (\"L\")"), wxITEM_CHECK ); #ifdef WITH_PSLOPE cursorToolBar->AddTool( ID_TOOL_PSLOPE, _T("Slope"), wxBitmap(slope), wxT("Mouse selects slope cursors (\"O\")"), wxITEM_CHECK ); #endif cursorToolBar->AddTool( ID_TOOL_ZOOM, _T("Zoom"), wxBitmap(zoom), wxT("Draw a zoom window with left mouse button (\"Z\")"), wxITEM_CHECK ); cursorToolBar->AddTool( ID_TOOL_EVENT, _T("Events"), wxBitmap(event), wxT( "Add, erase or extract events manually with right mouse button (\"E\")" ), wxITEM_CHECK ); return cursorToolBar; } #if 0 #if defined(WITH_BIOSIG2) #define CREDIT_BIOSIG "Biosig import using libbiosig2 http://biosig.sf.net\n\n" #elif defined(WITH_BIOSIG) #define CREDIT_BIOSIG "Biosig import using libbiosig http://biosig.sf.net\n\n" #else #define CREDIT_BIOSIG "" #endif #endif void wxStfParentFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) { wxAboutDialogInfo info; info.SetName(wxT("Stimfit")); info.SetVersion(wxString(PACKAGE_VERSION, wxConvLocal)); info.SetWebSite(wxT("http://www.stimfit.org")); wxString about = wxString(wxT("Credits:\n\nOriginal idea (Stimfit for DOS):\n\ Peter Jonas, Physiology Department, University of Freiburg\n\n\ Fourier transform:\nFFTW, http://www.fftw.org\n\n\ Levenberg-Marquardt non-linear regression, version ") + wxString(wxT(LM_VERSION)) + wxT("\n\ Manolis Lourakis, http://www.ics.forth.gr/~lourakis/levmar/ \n\n")) + #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) wxString( wxT("BioSig import using libbiosig\n") ) + //+ wxString( wxT("version ") + wxT(BIOSIG_VERSION ) ) + wxString( wxT("http://biosig.sf.net\n\n") ) + #endif wxString(wxT("Documentation:\n\ Jose Guzman\n\n\ Event detection algorithms:\n\ Jonas, P., Major, G. & Sakmann B. (1993) J Physiol 472:615-63\n\ Clements, J. D. & Bekkers, J. M. (1997) Biophys J 73:220-229\n\ Pernía-Andrade, A.J., et al., (2012) Biophys J 103:1429-39.\n\n\ Thanks to Bill Anderson (www.winltp.com) for helpful suggestions")); info.SetDescription(about); info.SetCopyright(wxT("(C) 2001-2015 Christoph Schmidt-Hieber \n\ Christoph Schmidt-Hieber, University College London\n\ Published under the GNU general public license (http://www.gnu.org/licenses/gpl.html)")); wxAboutBox(info); } void wxStfParentFrame::OnHelp(wxCommandEvent& WXUNUSED(event) ) { wxLaunchDefaultBrowser( wxT("http://www.stimfit.org/doc/sphinx/index.html") ); } std::vector ParseVersionString( const wxString& VersionString ) { std::vector VersionInt(5); const char pt = '.'; // Major version: long major=0; wxString sMajor = VersionString.BeforeFirst(pt); if ( sMajor.length() == VersionString.length() ) { major = 0; } else { sMajor.ToLong( &major ); } VersionInt[0] = major; // Minor version: long minor=0; wxString sMinor1 = VersionString.AfterFirst(pt); if ( sMinor1.empty() ) { minor = 0; } else { wxString sMinor = sMinor1.BeforeFirst(pt); if ( sMinor1.length() == sMinor.length() ) { minor = 0; } else { sMinor.ToLong( &minor ); } } VersionInt[1] = minor; // Build version: long build=0; wxString sBuild = VersionString.AfterLast(pt); if ( sBuild.empty() ) { build = 0; } else { sBuild.ToLong( &build ); } VersionInt[2] = build; return VersionInt; } bool CompVersion( const std::vector& version ) { // Get current version: wxString currentString(PACKAGE_VERSION, wxConvLocal); std::vector current = ParseVersionString(currentString); if (version[0] > current[0]) { return true; } else { if (version[0] == current[0]) { if (version[1] > current[1]) { return true; } else { if (version[1] == current[1]) { if (version[2] > current[2]) { return true; } else { return false; } } else { // version[0] == current[0] && version[1] < current[1] return false; } } } else { // version[0] < current[0] return false; } } } void wxStfParentFrame::CheckUpdate( wxProgressDialog* progDlg ) const { #if defined (__MINGW32__) wxString address(wxT("/latest_mingw")); #elif defined (_WINDOWS) wxString address(wxT("/latest_windows")); #elif defined (__APPLE__) wxString address(wxT("/latest_mac")); #else wxString address(wxT("/latest_linux")); #endif wxHTTP http; http.SetHeader( wxT("Accept") , wxT("text/*") ); http.SetHeader( wxT("User-Agent"), wxT("Mozilla") ); http.SetTimeout( 1 ); // seconds // Note that Connect() wants a host address, not an URL. 80 is the server's port. wxString server( wxT("www.stimfit.org") ); if( http.Connect(server) ) { if(wxInputStream* in_stream = http.GetInputStream (address)) { wxString verS; int c_int = in_stream->GetC(); while ( c_int != wxEOF ) { if (progDlg != NULL) { progDlg->Pulse( wxT("Reading version information...") ); } verS << wxChar(c_int); c_int = in_stream->GetC(); } wxDELETE(in_stream); std::vector version = ParseVersionString( verS ); if ( CompVersion(version) ) { wxString msg; msg << wxT("A newer version of Stimfit (") << verS << wxT(") is available. ") << wxT("Would you like to download it now?"); wxMessageDialog newversion( NULL, msg, wxT("New version available"), wxYES_NO ); if ( newversion.ShowModal() == wxID_YES ) { wxLaunchDefaultBrowser( wxT("http://code.google.com/p/stimfit/downloads/list") ); } } else { if (progDlg != NULL) { wxMessageDialog newversion( NULL, wxT("You already have the newest version"), wxT("No new version available"), wxOK ); newversion.ShowModal(); } } } else { if (progDlg != NULL) { wxGetApp().ErrorMsg( wxT("Couldn't retrieve update information. Are you connected to the internet?") ); } } } else { if (progDlg != NULL) { wxGetApp().ErrorMsg( wxT("Couldn't connect to server. Are you connected to the internet?") ); } } } void wxStfParentFrame::OnCheckUpdate(wxCommandEvent& WXUNUSED(event) ) { wxProgressDialog progDlg( wxT("Checking for updates"), wxT("Connecting to server..."), 100, NULL, wxPD_SMOOTH | wxPD_AUTO_HIDE ); CheckUpdate( &progDlg ); } void wxStfParentFrame::OnConvert(wxCommandEvent& WXUNUSED(event) ) { int nfiles; // files to convert wxString src_ext; // extension of the source file wxString dest_ext; // extesion of the destiny file // "Convert files" Dialog (see wxStfConvertDlg in smalldlgs.cpp) wxStfConvertDlg myDlg(this); if(myDlg.ShowModal() == wxID_OK) { stfio::filetype ift = myDlg.GetSrcFileExt(); stfio::filetype eft = myDlg.GetDestFileExt(); src_ext = myDlg.GetSrcFilter(); // wxProgressDialog wxProgressDialog progDlg( wxT("CFS conversion utility"), wxT("Starting file conversion"), 100, NULL, wxPD_SMOOTH | wxPD_AUTO_HIDE | wxPD_APP_MODAL ); wxArrayString srcFilenames(myDlg.GetSrcFileNames()); nfiles = srcFilenames.size(); // number of files to convert wxString myDestDir = myDlg.GetDestDir(); for (std::size_t nFile=0; nFile ") << destFilename; progDlg.Update( (int)(((double)nFile/(double)srcFilenames.size())*100.0), progStr ); // Open source file and convert: Recording sourceFile; try { stf::wxProgressInfo progDlgIn("Reading file", "Opening file", 100); stfio::importFile(stf::wx2std(srcFilenames[nFile]), ift, sourceFile, wxGetApp().GetTxtImport(), progDlgIn); stf::wxProgressInfo progDlgOut("Writing file", "Opening file", 100); switch ( eft ) { #ifndef WITHOUT_ABF case stfio::atf: stfio::exportATFFile(stf::wx2std(destFilename), sourceFile); dest_ext = wxT("Axon textfile [*.atf]"); break; #endif case stfio::igor: stfio::exportIGORFile(stf::wx2std(destFilename), sourceFile, progDlgOut); dest_ext = wxT("Igor binary file [*.ibw]"); break; #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) case stfio::biosig: stfio::exportBiosigFile(stf::wx2std(destFilename), sourceFile, progDlgOut); dest_ext = wxT("Biosig/GDF [*.gdf]"); break; #endif default: wxString errorMsg(wxT("Unknown export file type\n")); wxGetApp().ErrorMsg(errorMsg); return; } } catch (const std::runtime_error& e) { wxString errorMsg(wxT("Error opening file\n")); errorMsg += wxT("Runtime Error\n"); errorMsg += wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(errorMsg); return; } catch (const std::exception& e) { wxString errorMsg(wxT("Error opening file\n")); errorMsg += wxT("Exception\n"); errorMsg += wxString( e.what(), wxConvLocal ); wxGetApp().ExceptMsg(errorMsg); return; } } // Show now a smal information dialog //std::count << srcFilter.c_str() << std::endl; wxString msg; msg = wxString::Format(wxT("%i"), nfiles); msg << src_ext; msg << wxT(" files \nwere converted to "); msg << dest_ext; wxMessageDialog Simple(this, msg); Simple.ShowModal(); } // end of wxStfConvertDlg } // Creates a graph. Called from view.cpp when a new drawing // view is created. wxStfGraph *wxStfParentFrame::CreateGraph(wxView *view, wxStfChildFrame *parent) { int width=800, height=600; parent->GetClientSize(&width, &height); // Non-retained graph wxStfGraph *graph = new wxStfGraph( view, parent, #ifndef __APPLE__ wxPoint(0, 0), #else wxDefaultPosition, #endif wxSize(width, height), wxFULL_REPAINT_ON_RESIZE | wxWANTS_CHARS ); return graph; } void wxStfParentFrame::OnPrint(wxCommandEvent& WXUNUSED(event)) { if (wxGetApp().GetActiveDoc()==NULL) return; wxPrintDialogData printDialogData(* m_printData); wxPrinter printer(& printDialogData); wxStfPreprintDlg myDlg(this); if (myDlg.ShowModal()!=wxID_OK) return; wxStfView* pView=wxGetApp().GetActiveView(); pView->GetGraph()->set_downsampling(myDlg.GetDownSampling()); pView->GetGraph()->set_noGimmicks(!myDlg.GetGimmicks()); wxStfPrintout printout(_T("Trace printout")); if (!printer.Print(this, &printout, true /*prompt*/)) { if (wxPrinter::GetLastError() == wxPRINTER_ERROR) wxMessageBox( _T("There was a problem printing.\nPerhaps your current printer is not set correctly?"), _T("Printing"), wxOK ); else wxMessageBox(_T("You canceled printing"), _T("Printing"), wxOK); } else { (*m_printData) = printer.GetPrintDialogData().GetPrintData(); } } void wxStfParentFrame::OnMpl(wxCommandEvent& WXUNUSED(event)) { if (wxGetApp().GetActiveDoc()==NULL) return; #ifdef WITH_PYTHON std::ostringstream mgr_name; mgr_name << "mpl" << GetMplFigNo(); wxWindow* pPython = MakePythonWindow("plotWindowMpl", mgr_name.str(), "Matplotlib", true, false, true, 800, 600).cppWindow; if ( pPython == 0 ) #endif wxGetApp().ErrorMsg(wxT("Can not create figure (python/matplotlib is not available)")); } void wxStfParentFrame::OnMplSpectrum(wxCommandEvent& WXUNUSED(event)) { if (wxGetApp().GetActiveDoc()==NULL) return; #ifdef WITH_PYTHON std::ostringstream mgr_name; mgr_name << "mpl" << GetMplFigNo(); wxWindow* pPython = MakePythonWindow("spectrumWindowMpl", mgr_name.str(), "Matplotlib", true, false, true, 800, 600).cppWindow; if ( pPython == 0 ) #endif wxGetApp().ErrorMsg(wxT("Can not create figure (python/matplotlib is not available)")); } void wxStfParentFrame::OnPageSetup(wxCommandEvent& WXUNUSED(event)) { (*m_pageSetupData) = *m_printData; wxPageSetupDialog pageSetupDialog(this, m_pageSetupData.get()); pageSetupDialog.ShowModal(); (*m_printData) = pageSetupDialog.GetPageSetupDialogData().GetPrintData(); (*m_pageSetupData) = pageSetupDialog.GetPageSetupDialogData(); } void wxStfParentFrame::OnToggleSelect(wxCommandEvent& WXUNUSED(event)) { wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pDoc!=NULL) { pDoc->ToggleSelect(); } } void wxStfParentFrame::OnToolFirst(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnFirst(); } } void wxStfParentFrame::OnToolNext(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnNext(); } } void wxStfParentFrame::OnToolPrevious(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnPrevious(); } } void wxStfParentFrame::OnToolLast(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnLast(); } } void wxStfParentFrame::OnToolXenl(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnXenllo(); } } void wxStfParentFrame::OnToolXshrink(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnXshrinklo(); } } void wxStfParentFrame::OnToolYenl(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnYenllo(); } } void wxStfParentFrame::OnToolYshrink(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnYshrinklo(); } } void wxStfParentFrame::OnToolUp(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnUp(); } } void wxStfParentFrame::OnToolDown(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnDown(); } } void wxStfParentFrame::OnToolFit(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->Fittowindow(true); } } void wxStfParentFrame::OnToolLeft(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnLeft(); } } void wxStfParentFrame::OnToolRight(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->OnRight(); } } void wxStfParentFrame::OnToolCh1(wxCommandEvent& WXUNUSED(event)) { // activate channel 1 if no channel is active: if (!m_scaleToolBar->GetToolToggled(ID_TOOL_CH1) && !m_scaleToolBar->GetToolToggled(ID_TOOL_CH2)) { m_scaleToolBar->ToggleTool(ID_TOOL_CH1,true); } m_scaleToolBar->Refresh(); } void wxStfParentFrame::OnToolCh2(wxCommandEvent& WXUNUSED(event)) { // activate channel 1 if no channel is active: if (!m_scaleToolBar->GetToolToggled(ID_TOOL_CH1) && !m_scaleToolBar->GetToolToggled(ID_TOOL_CH2)) { m_scaleToolBar->ToggleTool(ID_TOOL_CH1,true); } m_scaleToolBar->Refresh(); } void wxStfParentFrame::SetSingleChannel(bool value) { if (!m_scaleToolBar) return; if (value) { if (!m_scaleToolBar->GetToolEnabled(ID_TOOL_CH1)) m_scaleToolBar->EnableTool(ID_TOOL_CH1,true); if (m_scaleToolBar->GetToolEnabled(ID_TOOL_CH2)) m_scaleToolBar->EnableTool(ID_TOOL_CH2,false); } else { if (!m_scaleToolBar->GetToolEnabled(ID_TOOL_CH1)) m_scaleToolBar->EnableTool(ID_TOOL_CH1,true); if (!m_scaleToolBar->GetToolEnabled(ID_TOOL_CH2)) m_scaleToolBar->EnableTool(ID_TOOL_CH2,true); } // Make sure at least one value is selected: if (!m_scaleToolBar->GetToolToggled(ID_TOOL_CH1) && (value || !m_scaleToolBar->GetToolToggled(ID_TOOL_CH2))) { m_scaleToolBar->ToggleTool(ID_TOOL_CH1, true); } m_scaleToolBar->Refresh(); } void wxStfParentFrame::OnToolSnapshotwmf(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->Snapshotwmf(); } } void wxStfParentFrame::OnToolMeasure(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::measure_cursor ); } void wxStfParentFrame::OnToolPeak(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::peak_cursor ); } void wxStfParentFrame::OnToolBase(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::base_cursor ); } void wxStfParentFrame::OnToolDecay(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::decay_cursor ); } #ifdef WITH_PSLOPE void wxStfParentFrame::OnToolPSlope(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::pslope_cursor ); } #endif void wxStfParentFrame::OnToolLatency(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::latency_cursor ); } void wxStfParentFrame::OnToolZoom(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::zoom_cursor ); } void wxStfParentFrame::OnToolEvent(wxCommandEvent& WXUNUSED(event)) { SetMouseQual( stf::event_cursor ); } void wxStfParentFrame::OnCh2zoom(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->Ch2zoom(); } } void wxStfParentFrame::OnCh2base(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->Ch2base(); } } void wxStfParentFrame::OnCh2pos(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->Ch2pos(); } } void wxStfParentFrame::OnCh2basezoom(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { pView->GetGraph()->Ch2basezoom(); } } void wxStfParentFrame::OnViewResults(wxCommandEvent& WXUNUSED(event)) { wxStfChildFrame* pChild=(wxStfChildFrame*)GetActiveChild(); if (pChild!=NULL) { pChild->GetCopyGrid()->ViewResults(); } } void wxStfParentFrame::OnScale(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); if (pView!=NULL) { if (GetActiveChild()->GetMenuBar() && GetActiveChild()->GetMenuBar()->GetMenu(2)->IsChecked(ID_SCALE)) { wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("ViewScaleBars"),1); wxGetApp().set_isBars(true); } else { wxGetApp().wxWriteProfileInt(wxT("Settings"),wxT("ViewScaleBars"),0); wxGetApp().set_isBars(false); } if (pView->GetGraph() != NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnAverage(wxCommandEvent& WXUNUSED(event)) { wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pDoc!=NULL) { pDoc->CreateAverage(false,false); } } void wxStfParentFrame::OnAlignedAverage(wxCommandEvent& WXUNUSED(event)) { wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pDoc!=NULL) { pDoc->CreateAverage(false,true); } } #if 0 void wxStfParentFrame::OnUserdef(wxCommandEvent& event) { wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pDoc!=NULL) { pDoc->Userdef(event.GetId()-ID_USERDEF1); } } #endif void wxStfParentFrame::OnSaveperspective(wxCommandEvent& WXUNUSED(event)) { wxStfChildFrame* pChild=(wxStfChildFrame*)GetActiveChild(); if (pChild!=NULL) { pChild->Saveperspective(); } } void wxStfParentFrame::OnLoadperspective(wxCommandEvent& WXUNUSED(event)) { wxStfChildFrame* pChild=(wxStfChildFrame*)GetActiveChild(); if (pChild!=NULL) { pChild->Loadperspective(); } } void wxStfParentFrame::OnRestoreperspective(wxCommandEvent& WXUNUSED(event)) { wxStfChildFrame* pChild=(wxStfChildFrame*)GetActiveChild(); if (pChild!=NULL) { pChild->Restoreperspective(); } } #ifdef WITH_PYTHON void wxStfParentFrame::OnViewshell(wxCommandEvent& WXUNUSED(event)) { // Save the current visibility state: bool old_state = m_mgr.GetPane(wxT("pythonShell")).IsShown(); // Toggle python shell visibility: m_mgr.GetPane(wxT("pythonShell")).Show( !old_state ); wxGetApp().wxWriteProfileInt( wxT("Settings"),wxT("ViewShell"), int(!old_state) ); m_mgr.Update(); } #endif void wxStfParentFrame::OnLStartMaxslope(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { // get previous mode: // bool prevMode=pDoc->GetLatencyStartMode()==stfio::riseMode; // toggle on if it wasn't the previous mode: // if (!prevMode) { pDoc->SetLatencyStartMode(stf::riseMode); wxGetApp().wxWriteProfileInt(wxT("Settings"), wxT("LatencyStartMode"), pDoc->GetLatencyStartMode()); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLStartHalfrise(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { pDoc->SetLatencyStartMode(stf::halfMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyStartMode"), pDoc->GetLatencyStartMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLStartPeak(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { pDoc->SetLatencyStartMode(stf::peakMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyStartMode"), pDoc->GetLatencyStartMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLStartManual(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { // Always keep manual mode as a default, even if attempted to uncheck: pDoc->SetLatencyStartMode(stf::manualMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyStartMode"), pDoc->GetLatencyStartMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLEndFoot(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { pDoc->SetLatencyEndMode(stf::footMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyEndMode"), pDoc->GetLatencyEndMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLEndMaxslope(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { pDoc->SetLatencyEndMode(stf::riseMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyEndMode"), pDoc->GetLatencyEndMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLEndHalfrise(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { pDoc->SetLatencyEndMode(stf::halfMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyEndMode"), pDoc->GetLatencyEndMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLEndPeak(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { pDoc->SetLatencyEndMode(stf::peakMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyEndMode"), pDoc->GetLatencyEndMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } void wxStfParentFrame::OnLEndManual(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL && pDoc!=NULL) { pDoc->SetLatencyEndMode(stf::manualMode); wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyEndMode"), pDoc->GetLatencyEndMode() ); if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } # if 0 void wxStfParentFrame::OnLWindow(wxCommandEvent& WXUNUSED(event)) { wxStfView* pView=wxGetApp().GetActiveView(); wxStfDoc* pDoc=wxGetApp().GetActiveDoc(); if (pView!=NULL) { // Select if (GetActiveChild()->GetMenuBar() && GetActiveChild()->GetMenuBar()->GetMenu(1)->IsChecked(ID_LATENCYWINDOW)) { wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyWindowMode"), stf::windowMode ); pDoc->SetLatencyWindowMode(stf::windowMode); } else { wxGetApp().wxWriteProfileInt( wxT("Settings"), wxT("LatencyWindowMode"), stf::defaultMode ); pDoc->SetLatencyWindowMode(stf::defaultMode); } if (pView->GetGraph()!=NULL) pView->GetGraph()->Refresh(); } } #endif stf::cursor_type wxStfParentFrame::GetMouseQual() const { if (m_cursorToolBar->GetToolToggled(ID_TOOL_MEASURE)) return stf::measure_cursor; if (m_cursorToolBar->GetToolToggled(ID_TOOL_PEAK)) return stf::peak_cursor; if (m_cursorToolBar->GetToolToggled(ID_TOOL_BASE)) return stf::base_cursor; if (m_cursorToolBar->GetToolToggled(ID_TOOL_DECAY)) return stf::decay_cursor; if (m_cursorToolBar->GetToolToggled(ID_TOOL_LATENCY)) return stf::latency_cursor; if (m_cursorToolBar->GetToolToggled(ID_TOOL_ZOOM)) return stf::zoom_cursor; if (m_cursorToolBar->GetToolToggled(ID_TOOL_EVENT)) return stf::event_cursor; #ifdef WITH_PSLOPE if (m_cursorToolBar->GetToolToggled(ID_TOOL_PSLOPE)) return stf::pslope_cursor; #endif return stf::undefined_cursor; } void wxStfParentFrame::SetMouseQual(stf::cursor_type value) { if (m_cursorToolBar == NULL) return; // Need to set everything to false explicitly first: m_cursorToolBar->ToggleTool(ID_TOOL_MEASURE,false); m_cursorToolBar->ToggleTool(ID_TOOL_PEAK,false); m_cursorToolBar->ToggleTool(ID_TOOL_BASE,false); m_cursorToolBar->ToggleTool(ID_TOOL_DECAY,false); m_cursorToolBar->ToggleTool(ID_TOOL_LATENCY,false); m_cursorToolBar->ToggleTool(ID_TOOL_ZOOM,false); m_cursorToolBar->ToggleTool(ID_TOOL_EVENT,false); #ifdef WITH_PSLOPE m_cursorToolBar->ToggleTool(ID_TOOL_PSLOPE,false); #endif // Then set the state of the selected button: if (value==stf::measure_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_MEASURE,true); if (value==stf::peak_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_PEAK,true); if (value==stf::base_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_BASE,true); if (value==stf::decay_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_DECAY,true); if (value==stf::latency_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_LATENCY,true); #ifdef WITH_PSLOPE if (value==stf::pslope_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_PSLOPE,true); #endif if (value==stf::zoom_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_ZOOM,true); if (value==stf::event_cursor) m_cursorToolBar->ToggleTool(ID_TOOL_EVENT,true); m_cursorToolBar->Refresh(); } void wxStfParentFrame::SetSelectedButton(bool selected) { if (m_cursorToolBar==NULL) return; m_cursorToolBar->ToggleTool(ID_TOOL_SELECT, selected); m_cursorToolBar->Refresh(); } stf::zoom_channels wxStfParentFrame::GetZoomQual() const { if (m_scaleToolBar->GetToolToggled(ID_TOOL_CH1)) { if (m_scaleToolBar->GetToolToggled(ID_TOOL_CH2)) { return stf::zoomboth; } else { return stf::zoomch1; } } return stf::zoomch2; } void wxStfParentFrame::SetZoomQual(stf::zoom_channels value) { if (m_scaleToolBar==NULL) return; if (value==stf::zoomch1) { m_scaleToolBar->ToggleTool(ID_TOOL_CH1,true); m_scaleToolBar->ToggleTool(ID_TOOL_CH2,false); } if (value==stf::zoomch2) { m_scaleToolBar->ToggleTool(ID_TOOL_CH1,false); m_scaleToolBar->ToggleTool(ID_TOOL_CH2,true); } if (value==stf::zoomboth) { m_scaleToolBar->ToggleTool(ID_TOOL_CH1,true); m_scaleToolBar->ToggleTool(ID_TOOL_CH2,true); } m_scaleToolBar->Refresh(); } stimfit-0.14.11/src/stimfit/gui/zoom.cpp0000755000175200017520000000041512472352307015014 00000000000000#include "./zoom.h" YZoom YZoom::operator*( double factor ) { return YZoom( long(startPosY*(double)factor), yZoom*factor, isLogScaleY ); } XZoom XZoom::operator*( double factor ) { return XZoom( long(startPosX*(double)factor), xZoom*factor, isLogScaleX ); } stimfit-0.14.11/src/stimfit/gui/stfcheckbox.cpp0000755000175200017520000000364412277666257016361 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // checkbox.cpp // Derived from wxCheckBox to pipe keyboard input to the graph // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "wx/checkbox.h" #include "./app.h" #include "./doc.h" #include "./view.h" #include "./graph.h" #include "./stfcheckbox.h" IMPLEMENT_CLASS(wxStfCheckBox, wxCheckBox) BEGIN_EVENT_TABLE(wxStfCheckBox, wxCheckBox) EVT_KEY_DOWN( wxStfCheckBox::OnKeyDown ) EVT_MOUSE_EVENTS( wxStfCheckBox::OnStfClicked ) END_EVENT_TABLE() wxStfCheckBox::wxStfCheckBox( wxWindow* parent, wxWindowID id, const wxString& label, stf::Event* pEvent, const wxPoint& pos, const wxSize& size, long style, const wxValidator& val, const wxString& name) : wxCheckBox(parent,id,label,pos,size,style,val,name), m_pEvent(pEvent) { } void wxStfCheckBox::OnKeyDown(wxKeyEvent& event) { // Do nothing here: event.Skip(); // pipe the key input to the graph: ((wxStfGraph*)GetParent())->OnKeyDown(event); } void wxStfCheckBox::OnStfClicked(wxMouseEvent& event) { // Toggle discard status of event: event.Skip(); if (event.LeftDown()) m_pEvent->ToggleStatus(); } stimfit-0.14.11/src/stimfit/gui/printout.cpp0000755000175200017520000001714112472345762015727 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // printout.cpp // Controls printing of traces. // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #include #ifndef WX_PRECOMP #include #endif #include #include "./app.h" #include "./view.h" #include "./parentframe.h" #include "./doc.h" #include "./printout.h" #include "./graph.h" extern wxStfParentFrame* frame; wxStfPrintout::wxStfPrintout(const wxChar *title) : wxPrintout(title) , store_noGimmicks(false) { wxStfDoc* pDoc = wxGetApp().GetActiveDoc(); if (!pDoc) { wxGetApp().ErrorMsg(wxT("Null pointer (pDoc) in wxStfPrintout::wxStfPrintout()\nAborting printing")); return; } wxStfView* pView = (wxStfView*)pDoc->GetFirstView(); if (!pView) { wxGetApp().ErrorMsg(wxT("Null pointer (pView) in wxStfPrintout::wxStfPrintout()\nAborting printing")); return; } wxStfGraph* pGraph = pView->GetGraph(); if (!pGraph) { wxGetApp().ErrorMsg(wxT("Null pointer (pGraph) in wxStfPrintout::wxStfPrintout()\nAborting printing")); return; } store_noGimmicks=wxGetApp().GetActiveView()->GetGraph()->get_noGimmicks(); } bool wxStfPrintout::OnPrintPage(int WXUNUSED(page)) { wxDC* dc=GetDC(); if (dc) { DrawPageOne(); return true; } else return false; } bool wxStfPrintout::OnBeginDocument(int startPage, int endPage) { if (!wxPrintout::OnBeginDocument(startPage, endPage)) return false; return true; } void wxStfPrintout::GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo) { *minPage = 1; *maxPage = 1; *selPageFrom = 1; *selPageTo = 1; } bool wxStfPrintout::HasPage(int pageNum) { return (pageNum == 1); } void wxStfPrintout::DrawPageOne() { int x,y; GetPPIPrinter(&x,&y); // Get size of Graph, in pixels: wxStfDoc* pDoc = wxGetApp().GetActiveDoc(); if (!pDoc) { wxGetApp().ErrorMsg(wxT("Null pointer (pDoc) in wxStfPrintout::DrawPageOne()\nAborting printing")); return; } wxStfView* pView = (wxStfView*)pDoc->GetFirstView(); if (!pView) { wxGetApp().ErrorMsg(wxT("Null pointer (pView) in wxStfPrintout::DrawPageOne()\nAborting printing")); return; } wxStfGraph* pGraph = pView->GetGraph(); if (!pGraph) { wxGetApp().ErrorMsg(wxT("Null pointer (pGraph) in wxStfPrintout::DrawPageOne()\nAborting printing")); return; } wxRect screenRect(pGraph->GetRect()); // Get size of page, in pixels: wxRect printRect=GetLogicalPageMarginsRect(*(frame->GetPageSetup())); // A first guess at the scale: double hScale=(double)printRect.height/(double)screenRect.height; double headerSizeY=0.0; // Space needed for the header: if (!store_noGimmicks) { headerSizeY=30.0*hScale; } else { pGraph->set_noGimmicks(true); } // Fit to width or fit to height? // If the screenRect's proportion is wider than the printRect's, // fit to width: double scale=1.0; wxRect propPrintRect(printRect); double prop=(double)screenRect.width/(double)screenRect.height; if (prop > (printRect.height-headerSizeY)/printRect.width) { scale=(double)printRect.width/(double)(screenRect.width); // keep width: propPrintRect.height=(int)((double)propPrintRect.width/prop); } else { scale=(double)(printRect.height-headerSizeY)/(double)(screenRect.height); propPrintRect.width=(int)((double)propPrintRect.height*prop); } // maximal extent of the Graph on paper: wxCoord maxX = (int)((double)(screenRect.width)*scale); wxCoord maxY = (int)((double)(screenRect.height)*scale); wxCoord xoff =(printRect.width - maxX) / 2.0; wxCoord yoff =(printRect.height - maxY) / 2.0; #ifdef __WXGTK__ xoff = -printRect.width*0.8; OffsetLogicalOrigin(xoff, 0); xoff = 0; #endif pGraph->set_isPrinted(true); pGraph->set_printScale(scale); // construct a rectangle with the same proportion as the graph on screen: pGraph->set_printRect(propPrintRect); if (!store_noGimmicks) { PrintHeader(GetDC(),hScale); } // create a font that looks similar to the screen font: wxFont font( (int)(6.0 * (double)x/72.0), wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL ); GetDC()->SetFont(font); OffsetLogicalOrigin(xoff, (int)(yoff+headerSizeY)); pGraph->OnDraw(*GetDC()); pGraph->set_isPrinted(false); } void wxStfPrintout::PrintHeader(wxDC* pDC, double scale) { int ppiX,ppiY; GetPPIPrinter(&ppiX,&ppiY); double resScale = ppiX / 72.0; #ifdef _WINDOWS int fontScale=(int)(6.0 * resScale); #else int fontScale=(int)(10.0 * resScale); #endif int xstart=0; int ystart=0; // create a font that looks similar to the screen font: wxFont font( fontScale, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD ); GetDC()->SetFont(font); // File name and section number: wxString description; description << Doc()->GetFilename() << wxT(", Trace ") << (int)Doc()->GetCurSecIndex()+1 << wxT(" of ") << (int)Doc()->get()[Doc()->GetCurChIndex()].size(); pDC->DrawText(description,xstart,ystart); // Results: stfnum::Table table(Doc()->CurResultsTable()); font.SetWeight(wxFONTWEIGHT_NORMAL); pDC->SetFont(font); int xpos=xstart; for (std::size_t nRow=0;nRow<1;/*table.nRows()*/++nRow) { // row label: for (std::size_t nCol=0;nColDrawText(stf::std2wx(table.GetColLabel(nCol)),xpos,(int)(14.0*resScale)+ystart); if (!table.IsEmpty(nRow,nCol)) { wxString entry; entry << table.at(nRow,nCol); pDC->DrawText(entry,xpos,(int)(24.0*resScale)+ystart); } xpos+=colSize; } } try { stf::SectionAttributes sec_attr = Doc()->GetCurrentSectionAttributes(); if (sec_attr.isFitted) { wxRect WindowRect(GetLogicalPageMarginsRect(*(frame->GetPageSetup()))); int increment=WindowRect.height/50; int yPos=(int)(WindowRect.height*0.5); int xPos=(int)(WindowRect.width*0.75); // print fit info line by line: for (std::size_t n=0;n < sec_attr.bestFit.nRows();++n) { pDC->DrawText(stf::std2wx(sec_attr.bestFit.GetRowLabel(n)),xPos,yPos); wxString value; value << sec_attr.bestFit.at(n,0); pDC->DrawText(value,(int)(xPos+40.0*resScale),yPos); yPos+=increment; } } } catch (const std::out_of_range& e) { } } stimfit-0.14.11/src/stimfit/gui/usrdlg/0000755000175200017520000000000012623045305014674 500000000000000stimfit-0.14.11/src/stimfit/gui/usrdlg/usrdlg.h0000755000175200017520000000474312277666257016324 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file usrdlg.h * \author Christoph Schmidt-Hieber * \date 2008-01-20 * \brief Declares wxStfUsrDlg. */ #ifndef _USRDLG_H #define _USRDLG_H /*! \addtogroup wxstf * @{ */ #ifdef _MSC_VER #pragma warning( disable : 4251 ) // Disable warning messages #endif #include #include #include #include "./../../stf.h" //! A user-defined dialog for entering floating-point numbers. class wxStfUsrDlg : public wxDialog { DECLARE_EVENT_TABLE() private: stf::UserInput input; Vector_double retVec; wxStdDialogButtonSizer* m_sdbSizer; std::vector m_textCtrlArray; std::vector m_staticTextArray; //! Only called when a modal dialog is closed with the OK button. /*! \return true if all dialog entries could be read successfully */ bool OnOK(); public: //! Constructor /*! \param parent Pointer to parent window. * \param input_ A stf::UserInput struct. * \param id Window id. * \param pos Initial position. * \param size Initial size. * \param style Dialog style. */ wxStfUsrDlg( wxWindow* parent, const stf::UserInput& input_, int id = wxID_ANY, wxPoint pos = wxDefaultPosition, wxSize size = wxDefaultSize, int style = wxCAPTION ); //! Get the user entries. /*! \return The user entries as a vector of doubles. */ Vector_double readInput() const {return retVec;} //! Called upon ending a modal dialog. /*! \param retCode The dialog button id that ended the dialog * (e.g. wxID_OK) */ virtual void EndModal(int retCode); }; /*! @} */ #endif stimfit-0.14.11/src/stimfit/gui/usrdlg/usrdlg.cpp0000755000175200017520000000471112277666257016652 00000000000000#include #ifndef WX_PRECOMP #include #endif #include "./usrdlg.h" BEGIN_EVENT_TABLE( wxStfUsrDlg, wxDialog ) END_EVENT_TABLE() wxStfUsrDlg::wxStfUsrDlg( wxWindow* parent, const stf::UserInput& input_, int id, wxPoint pos, wxSize size, int style #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) ) : wxDialog( parent, id, input_.title, pos, size, style ), #else ) : wxDialog( parent, id, wxString(input_.title.c_str(), wxConvUTF8), pos, size, style ), #endif input(input_), retVec(input_.labels.size()), m_textCtrlArray(input_.labels.size()), m_staticTextArray(input_.labels.size()) { wxFlexGridSizer* gSizer; gSizer = new wxFlexGridSizer( (int)input.labels.size(), 2, 0, 0 ); for (std::size_t nRow=0;nRowAdd( m_staticTextArray[nRow], 0, wxALIGN_CENTER_VERTICAL | wxALL, 2 ); wxString defLabel; defLabel << input.defaults[nRow]; m_textCtrlArray[nRow]= new wxTextCtrl( this, wxID_ANY, defLabel, wxDefaultPosition, wxSize(64,20), wxTE_RIGHT ); gSizer->Add( m_textCtrlArray[nRow], 0, wxALIGN_CENTER_VERTICAL | wxALL, 2 ); } wxSizer* topSizer; topSizer=new wxBoxSizer(wxVERTICAL); topSizer->Add(gSizer,0,wxALIGN_CENTER,5); m_sdbSizer = new wxStdDialogButtonSizer(); m_sdbSizer->AddButton( new wxButton( this, wxID_OK ) ); m_sdbSizer->AddButton( new wxButton( this, wxID_CANCEL ) ); m_sdbSizer->Realize(); topSizer->Add( m_sdbSizer, 0, wxALIGN_CENTER, 5 ); topSizer->SetSizeHints(this); this->SetSizer( topSizer ); this->Layout(); } void wxStfUsrDlg::EndModal(int retCode) { // similar to overriding OnOK in MFC (I hope...) if (retCode==wxID_OK) { if (!OnOK()) { wxLogMessage(wxT("Check your entries")); return; } } wxDialog::EndModal(retCode); } bool wxStfUsrDlg::OnOK() { try { for (std::size_t n=0;nGetValue(); entry.ToDouble( &retVec[n] ); } } catch (const std::out_of_range&) { return false; } return true; } stimfit-0.14.11/src/stimfit/gui/graph.cpp0000755000175200017520000024342012556527764015154 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // graph.cpp // This is where the actual drawing happens. // 2007-12-27, Christoph Schmidt-Hieber, University of Freiburg #include #ifndef WX_PRECOMP #include #endif #include #include #include #include #include #include "./app.h" #include "./doc.h" #include "./view.h" #include "./parentframe.h" #include "./childframe.h" #include "./printout.h" #include "./stfcheckbox.h" #include "./dlgs/cursorsdlg.h" #include "./dlgs/smalldlgs.h" #include "./usrdlg/usrdlg.h" #include "./graph.h" #include "./../../libstfnum/measure.h" #ifdef _STFDEBUG #include #endif #if defined (_WIN32) #define isnan _isnan #elif !defined(isnan) #define isnan std::isnan #endif // #define BENCHMARK // uncomment to run benchmark #ifdef BENCHMARK //def _STFDEBUG #include #include #include #include #ifdef __MACH__ #include #include #endif /* From https://gist.github.com/jbenet/1087739 */ void current_utc_time(struct timespec *ts) { #ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time clock_serv_t cclock; mach_timespec_t mts; host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); clock_get_time(cclock, &mts); mach_port_deallocate(mach_task_self(), cclock); ts->tv_sec = mts.tv_sec; ts->tv_nsec = mts.tv_nsec; #else clock_gettime(CLOCK_REALTIME, ts); #endif } static const double BILLION = 1000000000L; double tdiff(timespec time1, timespec time0) { return ( time1.tv_sec - time0.tv_sec ) + ( time1.tv_nsec - time0.tv_nsec ) / BILLION; } double t2d(timespec time1) { return time1.tv_sec + time1.tv_nsec / BILLION; } #endif BEGIN_EVENT_TABLE(wxStfGraph, wxWindow) EVT_MENU(ID_ZOOMHV,wxStfGraph::OnZoomHV) EVT_MENU(ID_ZOOMH,wxStfGraph::OnZoomH) EVT_MENU(ID_ZOOMV,wxStfGraph::OnZoomV) EVT_MOUSE_EVENTS(wxStfGraph::OnMouseEvent) EVT_KEY_DOWN( wxStfGraph::OnKeyDown ) #if defined __WXMAC__ && !(wxCHECK_VERSION(2, 9, 0)) EVT_PAINT( wxStfGraph::OnPaint ) #endif END_EVENT_TABLE() // Define a constructor for my canvas wxStfGraph::wxStfGraph(wxView *v, wxStfChildFrame *frame, const wxPoint& pos, const wxSize& size, long style): wxScrolledWindow(frame, wxID_ANY, pos, size, style),pFrame(frame), isZoomRect(false),no_gimmicks(false),isPrinted(false),isLatex(false),firstPass(true),isSyncx(false), printRect(),boebbel(boebbelStd),boebbelPrint(boebbelStd), #ifdef __WXGTK__ printScale(1.0),printSizePen1(4),printSizePen2(8),printSizePen4(16), #else printScale(1.0),printSizePen1(4),printSizePen2(8),printSizePen4(16), #endif downsampling(1),eventPos(0), llz_x(0.0),ulz_x(1.0),llz_y(0.0),ulz_y(1.0),llz_y2(0.0),ulz_y2(1.0), results1(wxT("\0")),results2(wxT("\0")),results3(wxT("\0")),results4(wxT("\0")),results5(wxT("\0")),results6(wxT("\0")), standardPen(*wxBLACK,1,wxSOLID), //Solid black line standardPen2(*wxRED,1,wxSOLID), //Solid red line standardPen3(wxColour(255,192,192),1,wxSOLID), //Solid red line scalePen(*wxBLACK,2,wxSOLID), //Solid black line scalePen2(*wxRED,2,wxSOLID), //Solid red line peakPen(*wxRED,1,wxSHORT_DASH), //Dashed red line peakLimitPen(*wxRED,1,wxDOT), //Dotted red line basePen(*wxGREEN,1,wxSHORT_DASH), //Dashed green line baseLimitPen(*wxGREEN,1,wxDOT), //Dotted green line decayLimitPen(wxColour(127,127,127),1,wxDOT), //Dotted dark blue line ZoomRectPen(*wxLIGHT_GREY,1,wxDOT), //Dotted grey line fitPen(wxColour(127,127,127),4,wxSOLID), //Solid dark grey line fitSelectedPen(wxColour(192,192,192),2,wxSOLID), //Solid dark grey line selectPen(wxColour(127,127,127),1,wxSOLID), //Solid grey line averagePen(*wxBLUE,1,wxSOLID), //Solid light blue line rtPen(*wxGREEN,2,wxSOLID), //Solid green line hdPen(*wxCYAN,2,wxSOLID), //Solid violet line rdPen(*wxRED,2,wxSOLID), //Solid dark violet line #ifdef WITH_PSLOPE slopePen(*wxBLUE,2,wxSOLID), //Solid blue line #endif latencyPen(*wxBLUE,1,wxDOT), alignPen(*wxBLUE,1,wxSHORT_DASH), measPen(*wxBLACK,1,wxDOT), eventPen(*wxBLUE,2,wxSOLID), #ifdef WITH_PSLOPE PSlopePen(wxColor(30,144,255), 1, wxDOT), // Dotted bright blue line #endif standardPrintPen(*wxBLACK,printSizePen1,wxSOLID), //Solid black line standardPrintPen2(*wxRED,printSizePen1,wxSOLID), //Solid red line standardPrintPen3(wxColour(255,192,192),printSizePen1,wxSOLID), //Solid red line scalePrintPen(*wxBLACK,printSizePen2,wxSOLID), //Solid black line scalePrintPen2(*wxRED,printSizePen2,wxSOLID), //Solid red line measPrintPen(*wxBLACK,printSizePen1,wxDOT), peakPrintPen(*wxRED,printSizePen1,wxSHORT_DASH), //Dashed red line peakLimitPrintPen(*wxRED,printSizePen1,wxDOT), //Dotted red line basePrintPen(*wxGREEN,printSizePen1,wxSHORT_DASH), //Dashed green line baseLimitPrintPen(*wxGREEN,printSizePen1,wxDOT), //Dotted green line decayLimitPrintPen(wxColour(63,63,63),printSizePen1,wxDOT), //Dotted dark blue line fitPrintPen(wxColour(63,63,63),printSizePen2,wxSOLID), //Solid dark grey line fitSelectedPrintPen(wxColour(128,128,128),printSizePen2,wxSOLID), //Solid dark grey line selectPrintPen(wxColour(31,31,31),printSizePen1,wxSOLID), //Solid grey line averagePrintPen(*wxBLUE,printSizePen1,wxSOLID), //Solid light blue line rtPrintPen(*wxGREEN,printSizePen2,wxSOLID), //Solid green line hdPrintPen(*wxCYAN,printSizePen2,wxSOLID), //Solid violet line rdPrintPen(*wxRED,printSizePen2,wxSOLID), //Solid dark violet line #ifdef WITH_PSLOPE slopePrintPen(*wxBLUE,printSizePen4,wxSOLID), //Solid blue line #endif resultsPrintPen(*wxLIGHT_GREY,printSizePen2,wxSOLID),//Solid light grey line latencyPrintPen(*wxBLUE,printSizePen1,wxDOT),//Dotted violett line PSlopePrintPen(wxColour(30,144,255), printSizePen1, wxDOT), // Dotted bright blue line baseBrush(*wxLIGHT_GREY,wxBDIAGONAL_HATCH), zeroBrush(*wxLIGHT_GREY,wxFDIAGONAL_HATCH), lastLDown(0,0), yzoombg(), m_zoomContext( new wxMenu ), m_eventContext( new wxMenu ) { m_zoomContext->Append( ID_ZOOMHV, wxT("Expand zoom window horizontally && vertically") ); m_zoomContext->Append( ID_ZOOMH, wxT("Expand zoom window horizontally") ); m_zoomContext->Append( ID_ZOOMV, wxT("Expand zoom window vertically") ); m_eventContext->Append( ID_EVENT_ADDEVENT, wxT("Add an event that starts here") ); m_eventContext->Append( ID_EVENT_ERASE, wxT("Erase all events") ); m_eventContext->Append( ID_EVENT_EXTRACT, wxT("Extract selected events") ); SetBackgroundColour(*wxWHITE); view = (wxStfView*)v; wxString perspective=wxGetApp().wxGetProfileString(wxT("Settings"),wxT("Windows"),wxT("")); /* if (perspective != wxT("")) { // load the stored perspective: frame->GetMgr()->LoadPerspective(perspective); } else { // or the default: frame->GetMgr()->LoadPerspective(defaultPersp); } */ } wxStfParentFrame* wxStfGraph::ParentFrame() { return (wxStfParentFrame*)wxGetApp().GetTopWindow(); } // Defines the repainting behaviour void wxStfGraph::OnDraw( wxDC& DC ) { if ( !view || Doc()->get().empty() || !Doc()->IsInitialized() ) return; // ugly hack to force active document update: #if defined(__WXGTK__) || defined(__WXMAC__) view->Activate(true); #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) if (!HasFocus()) #else if (wxWindow::FindFocus()!=(wxWindow*)this) #endif SetFocus(); #endif wxRect WindowRect(GetRect()); if (isPrinted) { PrintScale(WindowRect); } if (firstPass) { firstPass = false; InitPlot(); } //Creates scale bars and labelings for display or print out //Calculate scale bars and labelings CreateScale(&DC); //Create additional rulers/lines and circles on display if (!no_gimmicks) { PlotGimmicks(DC); } //Plot all selected traces and fitted functions if at least one trace ist selected //and 'is selected' is selected in the trace navigator/control box //Polyline() is used for printing to avoid separation of traces //in postscript files //LineTo()is used for display for performance reasons //Plot fit curves (including current trace) DrawFit(&DC); if (!Doc()->GetSelectedSections().empty() && pFrame->ShowSelected()) { PlotSelected(DC); } //End plot all selected traces //Plot average if (Doc()->GetIsAverage()) { PlotAverage(DC); } //End plot average // Plot integral boundaries try { if (Doc()->GetCurrentSectionAttributes().isIntegrated) { DrawIntegral(&DC); } } catch (const std::out_of_range& e) { /* Do nothing for now */ } //Zoom window is displayed (see OnLeftButtonUp()) if (isZoomRect) { DrawZoomRect(DC); } //End zoom //Plot of the second channel //Trace one when displayed first time if ((Doc()->size()>1) && pFrame->ShowSecond()) { if (!isPrinted) { //Draw current trace on display //For display use point to point drawing DC.SetPen(standardPen2); PlotTrace(&DC,Doc()->get()[Doc()->GetSecChIndex()][Doc()->GetCurSecIndex()].get(), reference); } else { //Draw second channel for print out //For print out use polyline tool DC.SetPen(standardPrintPen2); PrintTrace(&DC,Doc()->get()[Doc()->GetSecChIndex()][Doc()->GetCurSecIndex()].get(), reference); } // End display or print out } //End plot of the second channel if ((Doc()->size()>1) && pFrame->ShowAll()) { for (std::size_t n=0; n < Doc()->size(); ++n) { if (!isPrinted) { //Draw current trace on display //For display use point to point drawing DC.SetPen(standardPen3); PlotTrace(&DC,Doc()->get()[n][Doc()->GetCurSecIndex()].get(), background, n); } } } //End plot of the second channel //Standard plot of the current trace //Trace one when displayed first time if (!isPrinted) { //Draw current trace on display //For display use point to point drawing DC.SetPen(standardPen); PlotTrace(&DC,Doc()->get()[Doc()->GetCurChIndex()][Doc()->GetCurSecIndex()].get()); } else { //For print out use polyline tool DC.SetPen(standardPrintPen); PrintTrace(&DC,Doc()->get()[Doc()->GetCurChIndex()][Doc()->GetCurSecIndex()].get()); } // End display or print out //End plot of the current trace //Ensure old scaling after print out if(isPrinted) { for (std::size_t n=0; n < Doc()->size(); ++n) { Doc()->GetYZoomW(n) = Doc()->GetYZoomW(n) * (1.0/printScale); } Doc()->GetXZoomW() = Doc()->GetXZoomW() * (1.0/printScale); WindowRect=printRect; } //End ensure old scaling after print out view->OnDraw(& DC); } void wxStfGraph::InitPlot() { if (wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewScaleBars"),1)) { if (pFrame->GetMenuBar() && pFrame->GetMenuBar()->GetMenu(2)) { pFrame->GetMenuBar()->GetMenu(2)->Check(ID_SCALE,true); } wxGetApp().set_isBars(true); } else { if (pFrame->GetMenuBar() && pFrame->GetMenuBar()->GetMenu(2)) { pFrame->GetMenuBar()->GetMenu(2)->Check(ID_SCALE,false); } wxGetApp().set_isBars(false); } if (wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("ViewSyncx"),1)) { isSyncx=true; } else { isSyncx=false; } // Ensure proper dimensioning // Determine scaling factors and Units // Zoom and offset variables are currently not part of the settings dialog => // Read from registry // Return a negative value upon first program start so that the trace is // fit to the window dimensions YZW()=(double)(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("zoom.yZoom"), -1) / 100000.0); SPYW()=wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("zoom.startPosY"), 0); XZW()=(double)(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("zoom.xZoom"), -1) / 100000.0); SPXW()=wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("zoom.startPosX"), 0); if (XZ() <= 0 || YZ() <= 0 || fabs(double(SPY())) >= 1e15) Fittowindow(false); if ((Doc()->size()>1)) { //Second channel is not part of the settings dialog =>read from registry SPY2W() = wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("Zoom.startPosY2"), 1); YZ2W() = (double)(wxGetApp().wxGetProfileInt(wxT("Settings"),wxT("Zoom.yZoom2"), 1) / 100000.0); //Ensure proper dimensioning if (YZ2() <=0) FitToWindowSecCh(false); } } void wxStfGraph::PlotSelected(wxDC& DC) { if (!isPrinted) { //Draw traces on display DC.SetPen(selectPen); for (unsigned m=0; m < Doc()->GetSelectedSections().size(); ++m) { //For display use point to point drawing PlotTrace( &DC, Doc()->get()[Doc()->GetCurChIndex()][Doc()->GetSelectedSections()[m]].get() ); } } //End draw traces on display else { //Draw traces for print out DC.SetPen(selectPrintPen); for (unsigned m=0; m < Doc()->GetSelectedSections().size() && Doc()->GetSelectedSections().size()>0; ++m) { PrintTrace(&DC,Doc()->get()[Doc()->GetCurChIndex()][Doc()->GetSelectedSections()[m]].get()); } //End draw for print out } //End if display or print out } void wxStfGraph::PlotAverage(wxDC& DC) { //Average is calculated but not plotted if (!isPrinted) { //Draw Average on display //For display use point to point drawing DC.SetPen(averagePen); PlotTrace(&DC,Doc()->GetAverage()[0][0].get()); } //End draw Average on display else { //Draw average for print out //For print out use polyline tool DC.SetPen(averagePrintPen); PrintTrace(&DC,Doc()->GetAverage()[0][0].get()); } //End draw average for print out } void wxStfGraph::DrawZoomRect(wxDC& DC) { DC.SetPen(ZoomRectPen); wxPoint ZoomPoints[4]; wxPoint Ul_Corner((int)llz_x, (int)llz_y); wxPoint Ur_Corner((int)ulz_x, (int)llz_y); wxPoint Lr_Corner((int)ulz_x, (int)ulz_y); wxPoint Ll_Corner((int)llz_x, (int)ulz_y); ZoomPoints[0]=Ul_Corner; ZoomPoints[1]=Ur_Corner; ZoomPoints[2]=Lr_Corner; ZoomPoints[3]=Ll_Corner; DC.DrawPolygon(4,ZoomPoints); } void wxStfGraph::PlotGimmicks(wxDC& DC) { // crosshair through measurement cursor: int crosshairSize=20; DrawCrosshair(DC, measPen, measPrintPen, crosshairSize, Doc()->GetMeasCursor(), Doc()->GetMeasValue()); // crosshair through threshold: DrawCrosshair(DC, peakPen, peakPrintPen, crosshairSize/2.0, Doc()->GetThrT(), Doc()->GetThreshold()); // creates vertical ruler through measurement peak if needed if ( Doc()->GetMeasRuler() ) DrawVLine(&DC, Doc()->GetMeasCursor(), measPen, measPrintPen); //creates red vertical and horizontal dashed lines through the peak DrawVLine(&DC,Doc()->GetMaxT(), peakPen, peakPrintPen); DrawHLine(&DC,Doc()->GetPeak(), peakPen, peakPrintPen); //and red dotted lines through peak calculation limits DrawVLine(&DC,Doc()->GetPeakBeg(), peakLimitPen, peakLimitPrintPen); DrawVLine(&DC,Doc()->GetPeakEnd(), peakLimitPen, peakLimitPrintPen); //creates a green horizontal dashed line through the base DrawHLine(&DC,Doc()->GetBase(), basePen, basePrintPen); //and green dotted lines through Doc()->GetBase() calculation limits DrawVLine(&DC,Doc()->GetBaseBeg(), baseLimitPen, baseLimitPrintPen); DrawVLine(&DC,Doc()->GetBaseEnd(), baseLimitPen, baseLimitPrintPen); //Create darkblue dotted lines through decay calculation limits DrawVLine(&DC,Doc()->GetFitBeg(), decayLimitPen, decayLimitPrintPen); DrawVLine(&DC,Doc()->GetFitEnd(), decayLimitPen, decayLimitPrintPen); // Create dotted line as a latency cursor DrawVLine(&DC,Doc()->GetLatencyBeg(), latencyPen, latencyPrintPen); DrawVLine(&DC,Doc()->GetLatencyEnd(), latencyPen, latencyPrintPen); // Create double-arrow between latency cursors: int latStart=xFormat(Doc()->GetLatencyBeg()); int latEnd=xFormat(Doc()->GetLatencyEnd()); if (latStart < 0) latStart = 0; if (latEnd > GetRect().width) latEnd = GetRect().width; DC.DrawLine(latStart,20,latEnd,20); // left arrowhead: DC.DrawLine(latStart+1,20,latStart+6,15); DC.DrawLine(latStart+1,20,latStart+6,25); // right arrowhead: DC.DrawLine(latEnd-1,20,latEnd-6,15); DC.DrawLine(latEnd-1,20,latEnd-6,25); #ifdef WITH_PSLOPE // Create dotted bright blue line as slope cursor DrawVLine(&DC, Doc()->GetPSlopeBeg(), PSlopePen, PSlopePrintPen); DrawVLine(&DC, Doc()->GetPSlopeEnd(), PSlopePen, PSlopePrintPen); #endif //Set circle size depending on output if (!isPrinted) boebbel=boebbelStd; else boebbel=boebbelPrint; //draws green circles around the Lo% and the Hi% rise times double reference = Doc()->GetBase(); if ( !Doc()->GetFromBase() && Doc()->GetThrT() >= 0 ) { reference = Doc()->GetThreshold(); } double Low = Doc()->GetRTFactor()/100.; double High = 1-Low; DrawCircle( &DC,Doc()->GetTLoReal(), High*reference + Low*Doc()->GetPeak(), rtPen, rtPrintPen); DrawCircle( &DC,Doc()->GetTHiReal(), Low*reference + High*Doc()->GetPeak(), rtPen, rtPrintPen); //draws circles around the half duration limits DrawCircle(&DC,Doc()->GetT50LeftReal(),Doc()->GetT50Y(), hdPen, hdPrintPen); DrawCircle(&DC,Doc()->GetT50RightReal(),Doc()->GetT50Y(), hdPen, hdPrintPen); //draws dark violet circles around the points of steepest rise/decay DrawCircle(&DC,Doc()->GetMaxRiseT(),Doc()->GetMaxRiseY(), rdPen, rdPrintPen); DrawCircle(&DC,Doc()->GetMaxDecayT(),Doc()->GetMaxDecayY(), rdPen, rdPrintPen); try { stf::SectionAttributes sec_attr = Doc()->GetCurrentSectionAttributes(); if (!sec_attr.eventList.empty()) { PlotEvents(DC); } else { // no events // Destroy checkboxes (if any) std::vector::iterator it2; for (it2 = cbList.begin(); it2 != cbList.end(); ++it2) { if (*it2 != NULL) (*it2)->Destroy(); } if (!cbList.empty()) cbList.clear(); } if (!sec_attr.pyMarkers.empty()) { DC.SetPen(eventPen); for (c_marker_it it = sec_attr.pyMarkers.begin(); it != sec_attr.pyMarkers.end(); ++it) { // Create circles indicating the peak of an event: DC.DrawRectangle( xFormat(it->x), yFormat(it->y), boebbel*2.0, boebbel*2.0 ); } } } catch (const std::out_of_range& e) { /* Do nothing for now */ } } void wxStfGraph::PlotEvents(wxDC& DC) { const int MAX_EVENTS_PLOT = 200; stf::SectionAttributes sec_attr; try { sec_attr = Doc()->GetCurrentSectionAttributes(); } catch (const std::out_of_range& e) { return; } DC.SetPen(eventPen); for (c_event_it it = sec_attr.eventList.begin(); it != sec_attr.eventList.end(); ++it) { // Create small arrows indicating the start of an event: eventArrow(&DC, (int)it->GetEventStartIndex()); // Create circles indicating the peak of an event: try { DrawCircle( &DC, it->GetEventPeakIndex(), Doc()->cursec().at(it->GetEventPeakIndex()), eventPen, eventPen ); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal ) ); return; } } // Only draw check boxes if there are less than 1000 events (takes too long // to draw them and it's impossible to check them anyway) wxRect WindowRect=GetRect(); if (isPrinted) WindowRect=wxRect(printRect); int right=WindowRect.width; int nevents_plot = 0; for (event_it it2 = sec_attr.eventList.begin(); it2 != sec_attr.eventList.end(); ++it2) { nevents_plot += (xFormat(it2->GetEventStartIndex()) < right && xFormat(it2->GetEventStartIndex()) > 0); } // resize list if necessary: if (cbList.size() != sec_attr.eventList.size()) { // destroy checkboxes that are not needed: for (std::size_t n_cbl = sec_attr.eventList.size(); n_cbl < cbList.size(); ++n_cbl) { if (cbList[n_cbl] != NULL) { cbList[n_cbl]->Destroy(); } } cbList.resize(sec_attr.eventList.size()); } if (nevents_plot < MAX_EVENTS_PLOT) { std::size_t n_cb = 0; for (event_it it2 = sec_attr.eventList.begin(); it2 != sec_attr.eventList.end(); ++it2) { if (xFormat(it2->GetEventStartIndex()) < right && xFormat(it2->GetEventStartIndex()) > 0) { try { if (cbList.at(n_cb) == NULL) { cbList.at(n_cb) = new wxStfCheckBox(this, -1, wxEmptyString, &*it2, wxPoint(xFormat(it2->GetEventStartIndex()), 0)); } cbList.at(n_cb)->ResetEvent( &*it2 ); cbList.at(n_cb)->Move(wxPoint(xFormat(it2->GetEventStartIndex()), 0)); cbList.at(n_cb)->Show(true); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal ) ); return; } } n_cb++; } } else { for (std::size_t n_cbl = 0; n_cbl < cbList.size(); ++n_cbl) { if (cbList[n_cbl] != NULL) { cbList[n_cbl]->Show(false); } } } // return focus to frame: SetFocus(); } void wxStfGraph::DrawCrosshair( wxDC& DC, const wxPen& pen, const wxPen& printPen, int crosshairSize, double xch, double ych) { if (isnan(xch) || isnan(ych)) { return; } wxPen chpen = pen; if (isPrinted) { chpen = printPen; crosshairSize=(int)(crosshairSize*printScale); } DC.SetPen(chpen); try { // circle: wxRect frame(wxPoint( xFormat(xch)-crosshairSize, yFormat(ych)-crosshairSize ), wxPoint( xFormat(xch)+crosshairSize, yFormat(ych)+crosshairSize )); DC.DrawEllipse(frame); // vertical part: DC.DrawLine( xFormat(xch), yFormat(ych)-crosshairSize, xFormat(xch), yFormat(ych)+crosshairSize ); if (wxGetApp().GetCursorsDialog()!=NULL && wxGetApp().GetCursorsDialog()->IsShown()) { //if (wxGetApp().GetCursorsDialog()->GetRuler()) if ( Doc()->GetMeasRuler() ) { DrawVLine(&DC,xch, pen, printPen); } } // horizontal part: DC.DrawLine( xFormat(xch)-crosshairSize, yFormat(ych), xFormat(xch)+crosshairSize, yFormat(ych) ); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal ) ); return; } } double wxStfGraph::get_plot_xmin() const { return -SPX()/XZ() * DocC()->GetXScale(); } double wxStfGraph::get_plot_xmax() const { wxRect WindowRect=GetRect(); int right=WindowRect.width; return (right-SPX())/XZ() * DocC()->GetXScale(); } double wxStfGraph::get_plot_ymin() const { wxRect WindowRect=GetRect(); int top=WindowRect.height; return (SPY()-top)/YZ(); } double wxStfGraph::get_plot_ymax() const { return SPY()/YZ(); } double wxStfGraph::get_plot_y2min() const { wxRect WindowRect=GetRect(); int top=WindowRect.height; return (SPY2()-top)/YZ2(); } double wxStfGraph::get_plot_y2max() const { return SPY2()/YZ2(); } void wxStfGraph::PlotTrace( wxDC* pDC, const Vector_double& trace, plottype pt, int bgno ) { // speed up drawing by omitting points that are outside the window: // find point before left window border: // xFormat=toFormat * zoom.xZoom + zoom.startPosX // for xFormat==0: // toFormat=-zoom.startPosX/zoom.xZoom std::size_t start=0; int x0i=int(-SPX()/XZ()); if (x0i>=0 && x0i<(int)trace.size()-1) start=x0i; // find point after right window border: // for xFormat==right: // toFormat=(right-zoom.startPosX)/zoom.xZoom std::size_t end=trace.size(); wxRect WindowRect=GetRect(); if (isPrinted) WindowRect=wxRect(printRect); int right=WindowRect.width; int xri = int((right-SPX())/XZ())+1; if (xri>=0 && xri<(int)trace.size()-1) end=xri; // apply filter at half the new sampling frequency: DoPlot(pDC, trace, start, end, 1, pt, bgno); } void wxStfGraph::DoPlot( wxDC* pDC, const Vector_double& trace, int start, int end, int step, plottype pt, int bgno) { #if (__cplusplus < 201103) boost::function yFormatFunc; #else std::function yFormatFunc; #endif switch (pt) { case active: yFormatFunc = std::bind1st( std::mem_fun(&wxStfGraph::yFormatD), this); break; case reference: yFormatFunc = std::bind1st( std::mem_fun(&wxStfGraph::yFormatD2), this); break; case background: Vector_double::const_iterator max_el = std::max_element(trace.begin(), trace.end()); Vector_double::const_iterator min_el = std::min_element(trace.begin(), trace.end()); double min = *min_el; if (min>1.0e12) min= 1.0e12; if (min<-1.0e12) min=-1.0e12; double max = *max_el; if (max>1.0e12) max= 1.0e12; if (max<-1.0e12) max=-1.0e12; wxRect WindowRect=GetRect(); WindowRect.height /= Doc()->size(); FittorectY(yzoombg, WindowRect, min, max, 1.0); yzoombg.startPosY += bgno*WindowRect.height; yFormatFunc = std::bind1st( std::mem_fun(&wxStfGraph::yFormatDB), this); break; } int x_last = xFormat(start); int y_last = yFormatFunc( trace[start] ); int x_next = 0; int y_next = 0; #ifdef BENCHMARK //def _STFDEBUG struct timespec time0, time1; current_utc_time(&time0); #else wxRect WindowRect(GetRect()); if (end-start < 2*WindowRect.width+2) { #endif for (int n=start; nDrawLine( x_last, y_last, x_next, y_next ); x_last = x_next; y_last = y_next; } #ifdef BENCHMARK //def _STFDEBUG current_utc_time(&time1); double accum = tdiff(time1, time0)*1e3; std::string fn_platform = "plt_bench_" + stf::wx2std(wxGetOsDescription()) + ".txt"; std::ofstream plt_bench; plt_bench.open(fn_platform.c_str(), std::ios::out | std::ios::app); plt_bench << end-start << "\t" << accum << "\t"; current_utc_time(&time0); x_last = xFormat(start); #else } else { #endif double y_max = trace[start]; double y_min = trace[start]; for (int n=start; n y_max) { y_max = trace[n+1]; } } else { // plot line between extrema of previous column: pDC->DrawLine( x_last, yFormatFunc(y_min), x_last, yFormatFunc(y_max) ); // plot line between last point of previous and first point of this column: pDC->DrawLine( x_last, yFormatFunc(trace[n]), x_next, yFormatFunc(trace[n+1]) ); y_min = trace[n+1]; y_max = trace[n+1]; x_last = x_next; } } #ifdef BENCHMARK //def _STFDEBUG current_utc_time(&time1); accum = tdiff(time1, time0)*1e3; plt_bench << accum << std::endl; plt_bench.close(); #else } #endif } void wxStfGraph::PrintScale(wxRect& WindowRect) { //enhance resolution for printing - see OnPrint() //Ensures the scaling of all pixel dependent drawings for (std::size_t n=0; n < Doc()->size(); ++n) { Doc()->GetYZoomW(n) = Doc()->GetYZoomW(n) * printScale; } Doc()->GetXZoomW() = Doc()->GetXZoomW() * printScale; WindowRect=printRect; //Calculate scaling variables boebbelPrint=(int)(boebbelStd * printScale); if ( boebbelPrint < 1 ) boebbelPrint=2; printSizePen1=(int)(1 * printScale); if ( printSizePen1 < 1 ) boebbelPrint=1; printSizePen2=(int)(2 * printScale); if ( printSizePen2 < 1 ) boebbelPrint=2; printSizePen4=(int)(4 * printScale); if ( printSizePen4 < 1 ) boebbelPrint=4; } void wxStfGraph::PrintTrace( wxDC* pDC, const Vector_double& trace, plottype ptype ) { // speed up drawing by omitting points that are outside the window: // find point before left window border: // xFormat=toFormat * zoom.xZoom + zoom.startPosX // for xFormat==0: // toFormat=-zoom.startPosX/zoom.xZoom std::size_t start=0; int x0i=int(-SPX()/XZ()); if (x0i>=0 && x0i<(int)trace.size()-1) start=x0i; // find point after right window border: // for xFormat==right: // toFormat=(right-zoom.startPosX)/zoom.xZoom std::size_t end=trace.size(); wxRect WindowRect=GetRect(); if (isPrinted) WindowRect=wxRect(printRect); int right=WindowRect.width; int xri=int((right-SPX())/XZ())+1; if (xri>=0 && xri<(int)trace.size()-1) end=xri; DoPrint(pDC, trace, start, end, ptype); } void wxStfGraph::DoPrint( wxDC* pDC, const Vector_double& trace, int start, int end, plottype ptype) { #if (__cplusplus < 201103) boost::function yFormatFunc; #else std::function yFormatFunc; #endif switch (ptype) { case active: yFormatFunc = std::bind1st( std::mem_fun(&wxStfGraph::yFormatD), this); break; default: yFormatFunc = std::bind1st( std::mem_fun(&wxStfGraph::yFormatD2), this); break; } std::vector points; int x_last = xFormat(start); int y_last = yFormatFunc( trace[start] ); int y_max = y_last; int y_min = y_last; int x_next = 0; int y_next = 0; points.push_back( wxPoint(x_last,y_last) ); for (int n=start; n y_max) { y_max = y_next; } } else { // else, always draw and reset extrema: if (y_min != y_next) { points.push_back( wxPoint(x_last, y_min) ); } if (y_max != y_next) { points.push_back( wxPoint(x_last, y_max) ); } points.push_back( wxPoint(x_next, y_next) ); y_min = y_next; y_max = y_next; x_last = x_next; } } pDC->DrawLines((int)points.size(),&points[0]); } void wxStfGraph::DrawCircle(wxDC* pDC, double x, double y, const wxPen& pen, const wxPen& printPen) { if (isPrinted) { pDC->SetPen(printPen); } else { pDC->SetPen(pen); } wxRect Frame( wxPoint(xFormat(x)-boebbel,yFormat(y)-boebbel), wxPoint(xFormat(x)+boebbel,yFormat(y)+boebbel) ); pDC->DrawEllipse(Frame); } void wxStfGraph::DrawVLine(wxDC* pDC, double x, const wxPen& pen, const wxPen& printPen) { wxRect WindowRect(GetRect()); if (isPrinted) { //Set WindowRect to print coordinates (page size) WindowRect=printRect; pDC->SetPen(printPen); } else { pDC->SetPen(pen); } pDC->DrawLine(xFormat(x),0,xFormat(x),WindowRect.height); } void wxStfGraph::DrawHLine(wxDC* pDC, double y, const wxPen& pen, const wxPen& printPen) { wxRect WindowRect(GetRect()); if (isPrinted) { //Set WindowRect to print coordinates (page size) WindowRect=printRect; pDC->SetPen(printPen); } else { pDC->SetPen(pen); } pDC->DrawLine(0, yFormat(y),WindowRect.width,yFormat(y)); } void wxStfGraph::eventArrow(wxDC* pDC, int eventIndex) { // we only need that if it's within the screen: wxRect WindowRect(GetRect()); if (xFormat(eventIndex)<0 || xFormat(eventIndex)>WindowRect.width) { return; } if (isPrinted) { //Set WindowRect to print coordinates (page size) WindowRect=printRect; } pDC->DrawLine(xFormat(eventIndex), 20, xFormat(eventIndex), 0); // arrow head: pDC->DrawLine(xFormat(eventIndex)-5, 15, xFormat(eventIndex), 20); pDC->DrawLine(xFormat(eventIndex)+5, 15, xFormat(eventIndex), 20); } void wxStfGraph::DrawFit(wxDC* pDC) { try { // go through selected traces: if ( isPrinted ) pDC->SetPen(fitSelectedPrintPen); else pDC->SetPen(fitSelectedPen); for ( std::size_t n_sel = 0; n_sel < Doc()->GetSelectedSections().size(); ++n_sel ) { std::size_t sel_index = Doc()->GetSelectedSections()[ n_sel ]; // Check whether this section contains a fit: try { stf::SectionAttributes sec_attr = Doc()->GetSectionAttributes(Doc()->GetCurChIndex(), sel_index); if ( sec_attr.isFitted && pFrame->ShowSelected() ) { PlotFit( pDC, stf::SectionPointer( &((*Doc())[Doc()->GetCurChIndex()][sel_index]), sec_attr ) ); } } catch (const std::out_of_range& e) { /* Do nothing */ } } // Active trace if ( isPrinted ) pDC->SetPen(fitPrintPen); else pDC->SetPen(fitPen); stf::SectionAttributes sec_attr = Doc()->GetCurrentSectionAttributes(); if (sec_attr.isFitted) { PlotFit( pDC, stf::SectionPointer( &((*Doc())[Doc()->GetCurChIndex()][Doc()->GetCurSecIndex()]), sec_attr) ); } } catch (const std::out_of_range& e) { } } void wxStfGraph::PlotFit( wxDC* pDC, const stf::SectionPointer& Sec ) { wxRect WindowRect = GetRect(); if (isPrinted) { //Set WindowRect to print coordinates (page size) WindowRect=printRect; } int firstPixel = xFormat( Sec.sec_attr.storeFitBeg ); if ( firstPixel < 0 ) firstPixel = 0; int lastPixel = xFormat( Sec.sec_attr.storeFitEnd ); if ( lastPixel > WindowRect.width + 1 ) lastPixel = WindowRect.width + 1; if (!isPrinted) { //Draw Fit on display //For display use point to point drawing double fit_time_1 = ( ((double)firstPixel - (double)SPX()) / XZ() - (double)Sec.sec_attr.storeFitBeg )* Doc()->GetXScale(); for ( int n_px = firstPixel; n_px < lastPixel-1; n_px++ ) { // Calculate pixel back to time (GetStoreFitBeg() is t=0) double fit_time_2 = ( ((double)n_px+1.0 - (double)SPX()) / XZ() - (double)Sec.sec_attr.storeFitBeg ) * Doc()->GetXScale(); // undo xFormat = (int)(toFormat * XZ() + SPX()); pDC->DrawLine( n_px, yFormat(Sec.sec_attr.fitFunc->func( fit_time_1, Sec.sec_attr.bestFitP)), n_px + 1, yFormat(Sec.sec_attr.fitFunc->func(fit_time_2, Sec.sec_attr.bestFitP)) ); fit_time_1 = fit_time_2; } } else { //Draw Fit for print out // For print out use polyline std::vector f_print( lastPixel - firstPixel ); for ( int n_px = firstPixel; n_px < lastPixel; n_px++ ) { // Calculate pixel back to time (GetStoreFitBeg() is t=0) double fit_time = ( ((double)n_px - (double)SPX()) / XZ() -(double)Sec.sec_attr.storeFitBeg ) * Doc()->GetXScale(); // undo xFormat = (int)(toFormat * XZ() + SPX()); f_print[n_px-firstPixel].x = n_px; f_print[n_px-firstPixel].y = yFormat( Sec.sec_attr.fitFunc->func( fit_time, Sec.sec_attr.bestFitP) ); } pDC->DrawLines( f_print.size(), &f_print[0] ); } //End if display or print out } void wxStfGraph::DrawIntegral(wxDC* pDC) { // Draws a polygon around the integral. Note that the polygon will be drawn // out of screen as well. stf::SectionAttributes sec_attr; try { sec_attr = Doc()->GetCurrentSectionAttributes(); } catch (const std::out_of_range& e) { return; } if (!isPrinted) { pDC->SetPen(scalePen); } else { pDC->SetPen(scalePrintPen); } bool even = std::div((int)sec_attr.storeIntEnd-(int)sec_attr.storeIntBeg, 2).rem==0; int firstPixel=xFormat(sec_attr.storeIntBeg); // last pixel: int lastPixel= even ? xFormat(sec_attr.storeIntEnd) : xFormat(sec_attr.storeIntEnd-1); std::size_t qt_size= lastPixel-firstPixel + // part that covers the trace 2; // straight line through base or 0 if (!even) qt_size++; //straight line for trapezoidal part std::vector quadTrace; quadTrace.reserve(qt_size); quadTrace.push_back(wxPoint(firstPixel,yFormat(Doc()->GetBase()))); // "Simpson part" (piecewise quadratic functions through three adjacent points): for (int n_pixel=firstPixel; n_pixel < lastPixel; ++n_pixel) { // (lower) index corresponding to pixel: int n_relIndex = (int)(((double)n_pixel-(double)SPX())/(double)XZ()-sec_attr.storeIntBeg); if (n_relIndex >= 0 && (unsigned int)(n_relIndex/2)*3+2 < sec_attr.quad_p.size()) { double n_absIndex = ((double)n_pixel-(double)SPX())/(double)XZ(); // quadratic parameters at this point: double a = sec_attr.quad_p[(int)(n_relIndex/2)*3]; double b = sec_attr.quad_p[(int)(n_relIndex/2)*3+1]; double c = sec_attr.quad_p[(int)(n_relIndex/2)*3+2]; double y = a*n_absIndex*n_absIndex + b*n_absIndex + c; quadTrace.push_back(wxPoint(n_pixel,yFormat(y))); } } // add trapezoidal integration part if uneven: if (!even) { // draw a straight line: quadTrace.push_back( wxPoint( xFormat(sec_attr.storeIntEnd), yFormat(Doc()->cursec()[sec_attr.storeIntEnd]) )); } quadTrace.push_back( wxPoint( xFormat(sec_attr.storeIntEnd), yFormat(Doc()->GetBase()) )); // Polygon from base: pDC->SetBrush(baseBrush); pDC->DrawPolygon((int)quadTrace.size(),&quadTrace[0]); // Polygon from 0: quadTrace[0]=wxPoint(firstPixel,yFormat(0L)); quadTrace[quadTrace.size()-1]= wxPoint( xFormat(sec_attr.storeIntEnd), yFormat(0L) ); pDC->SetBrush(zeroBrush); pDC->DrawPolygon((int)quadTrace.size(),&quadTrace[0]); pDC->SetBrush(*wxTRANSPARENT_BRUSH); } void wxStfGraph::Snapshotwmf() { wxStfPreprintDlg myDlg(this,true); if (myDlg.ShowModal()!=wxID_OK) return; set_downsampling(myDlg.GetDownSampling()); // Get size of Graph, in pixels: wxRect screenRect(GetRect()); // Get size of page, in pixels: // assuming the screen is ~ 96 dpi, but we want ~ 720: printRect = wxRect(wxPoint(0,0), wxSize(GetRect().GetSize()*4)); double scale=(double)printRect.width/(double)screenRect.width; #if _WINDOWS // FIXME: for non-Windows platforms wxMetafileDC wmfDC; if (!wmfDC.IsOk()) #endif { wxGetApp().ErrorMsg(wxT("Error while creating clipboard data")); return; } set_noGimmicks(true); set_isPrinted(true); printScale=scale; #if _WINDOWS // FIXME: for non-Windows platforms OnDraw(wmfDC); #endif set_isPrinted(false); no_gimmicks=false; #if _WINDOWS // FIXME: for non-Windows platforms wxMetafile* mf = wmfDC.Close(); if (mf && mf->IsOk()) { mf->SetClipboard(); delete mf; } else #endif { wxGetApp().ErrorMsg(wxT("Error while copying to clipboard")); } } void wxStfGraph::OnMouseEvent(wxMouseEvent& event) { // event.Skip(); if (!view) return; if (event.LeftDown()) LButtonDown(event); if (event.RightDown()) RButtonDown(event); if (event.LeftUp()) LButtonUp(event); } void wxStfGraph::LButtonDown(wxMouseEvent& event) { // event.Skip(); if (!view) return; view->Activate(true); #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) if (!HasFocus()) #else if (wxWindow::FindFocus()!=(wxWindow*)this) #endif SetFocus(); wxClientDC dc(this); PrepareDC(dc); lastLDown = event.GetLogicalPosition(dc); switch (ParentFrame()->GetMouseQual()) { //Depending on the radio buttons (Mouse field) //in the (trace navigator) control box case stf::measure_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetMeasCursor( stf::round( ((double)lastLDown.x - (double)SPX())/XZ() ) ); //second 'double' added // in this case, update results string without waiting for "Return": pFrame->UpdateResults(); break; case stf::peak_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetPeakBeg( stf::round( ((double)lastLDown.x - (double)SPX())/XZ() ) ); //second 'double' added //Set x-value as lower limit of the peak calculation dialog box break; case stf::base_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetBaseBeg( stf::round( ((double)lastLDown.x - (double)SPX())/XZ() ) ); //second 'double' added break; case stf::decay_cursor: //conversion of pixel on screen to time (inversion of xFormat()) if (wxGetApp().GetCursorsDialog() != NULL && wxGetApp().GetCursorsDialog()->GetStartFitAtPeak()) { wxGetApp().ErrorMsg( wxT("Fit will start at the peak. Change cursor settings (Edit->Cursor settings) to set manually.") ); break; } Doc()->SetFitBeg( stf::round( ((double)lastLDown.x - (double)SPX())/XZ() ) ); //second 'double' added break; case stf::latency_cursor: if (Doc()->GetLatencyStartMode() != stf::manualMode) { wxGetApp().ErrorMsg( wxT("The latency cursor can not be set in the current mode\nChoose manual mode to set the latency cursor manually") ); break; } Doc()->SetLatencyBeg(((double)lastLDown.x-(double)SPX())/XZ()); break; case stf::zoom_cursor: llz_x=(double)lastLDown.x; llz_y=(double)lastLDown.y; llz_y2=llz_y; break; #ifdef WITH_PSLOPE case stf::pslope_cursor: Doc()->SetPSlopeBegMode(stf::psBeg_manualMode); // set left cursor to manual // conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetPSlopeBeg( stf::round( ((double)lastLDown.x - (double)SPX())/XZ() ) ); // second 'double' added break; #endif default: break; } //End switch TraceNav->GetMouseQual() if (wxGetApp().GetCursorsDialog()!=NULL && wxGetApp().GetCursorsDialog()->IsShown()) { try { wxGetApp().GetCursorsDialog()->UpdateCursors(); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal) ); } } } void wxStfGraph::RButtonDown(wxMouseEvent& event) { // event.Skip(); if (!view) return; view->Activate(true); #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) if (!HasFocus()) #else if (wxWindow::FindFocus()!=(wxWindow*)this) #endif SetFocus(); wxClientDC dc(this); PrepareDC(dc); wxPoint point(event.GetLogicalPosition(dc)); switch (ParentFrame()->GetMouseQual()) { case stf::peak_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetPeakEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); break; case stf::base_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetBaseEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); break; case stf::decay_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetFitEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); break; case stf::latency_cursor: if (Doc()->GetLatencyEndMode() != stf::manualMode) { wxGetApp().ErrorMsg( wxT("The latency cursor can not be set in the current mode\n \ Choose manual mode to set the latency cursor manually") ); break; } Doc()->SetLatencyEnd(((double)point.x-(double)SPX())/XZ()); Refresh(); break; case stf::zoom_cursor: if (isZoomRect) { PopupMenu(m_zoomContext.get()); } else { wxGetApp().ErrorMsg(wxT("Draw a zoom window with the left mouse button first")); } break; case stf::event_cursor: try { if (!Doc()->GetCurrentSectionAttributes().eventList.empty()) { // store the position that has been clicked: eventPos = stf::round( ((double)point.x - (double)SPX())/XZ() ); PopupMenu(m_eventContext.get()); } else { wxGetApp().ErrorMsg(wxT("No events have been detected yet")); } } catch (const std::out_of_range& e) { } break; #ifdef WITH_PSLOPE case stf::pslope_cursor: Doc()->SetPSlopeEndMode(stf::psEnd_manualMode); // set right cursor to manual mode Doc()->SetPSlopeEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); break; #endif default: ; } //End switch TraceNav->GetMouseQual() if (wxGetApp().GetCursorsDialog()!=NULL && wxGetApp().GetCursorsDialog()->IsShown()) { try { wxGetApp().GetCursorsDialog()->UpdateCursors(); } catch (const std::runtime_error& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal) ); } } Refresh(); } void wxStfGraph::LButtonUp(wxMouseEvent& event) { // event.Skip(); wxClientDC dc(this); PrepareDC(dc); wxPoint point(event.GetLogicalPosition(dc)); if (point == lastLDown) { Refresh(); return; } switch (ParentFrame()->GetMouseQual()) { case stf::peak_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetPeakEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); break; case stf::base_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetBaseEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); break; case stf::decay_cursor: //conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetFitEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); break; #ifdef WITH_PSLOPE case stf::pslope_cursor: // conversion of pixel on screen to time (inversion of xFormat()) Doc()->SetPSlopeEnd( stf::round( ((double)point.x - (double)SPX())/XZ() ) ); #endif case stf::latency_cursor: if (Doc()->GetLatencyEndMode() != stf::manualMode) { wxGetApp().ErrorMsg( wxT("The latency cursor can not be set in the current mode\n \ Choose manual mode to set the latency cursor manually") ); break; } Doc()->SetLatencyEnd(((double)point.x-(double)SPX())/XZ()); break; case stf::zoom_cursor: ulz_x=(double)point.x; ulz_y=(double)point.y; ulz_y2=ulz_y; if (llz_x>ulz_x) std::swap(llz_x,ulz_x); if (llz_y>ulz_y) std::swap(llz_y,ulz_y); if (llz_y2>ulz_y2) std::swap(llz_y2,ulz_y2); isZoomRect=true; break; default: break; } Refresh(); } void wxStfGraph::OnKeyDown(wxKeyEvent& event) { // event.Skip(); if (!view) return; view->Activate(true); int kc = event.GetKeyCode(); #ifdef _STFDEBUG std::cout << "User pressed " << char(kc) << ", corresponding keycode is " << kc << std::endl; std::cout << "Mouse Cursor Mode " << ParentFrame()->GetMouseQual() << std::endl; #endif wxRect WindowRect(GetRect()); switch (kc) { case WXK_LEFT: //left cursor if (event.ControlDown()) { OnLeft(); return; } if (event.ShiftDown()) { SPXW() = SPX()-WindowRect.width; Refresh(); return; } OnPrevious(); return; case WXK_RIGHT: {//right cursor if (event.ControlDown()) { OnRight(); return; } if (event.ShiftDown()) { SPXW() = SPX()+WindowRect.width; Refresh(); return; } OnNext(); return; } case WXK_DOWN: //down cursor OnDown(); return; case WXK_UP: //up cursor OnUp(); return; case 49: //1 ParentFrame()->SetZoomQual(stf::zoomch1); return; case 50: //2 if (Doc()->size()>1) ParentFrame()->SetZoomQual(stf::zoomch2); return; case 51: //3 if (Doc()->size()>1) ParentFrame()->SetZoomQual(stf::zoomboth); return; case 69: // e case 101: ParentFrame()->SetMouseQual(stf::event_cursor); return; case 70: case 102: // f Fittowindow(true); return; case 77: // m case 109: ParentFrame()->SetMouseQual(stf::measure_cursor); return; case 80: // p case 112: ParentFrame()->SetMouseQual(stf::peak_cursor); return; case 65: // 'a' case 97: // Select all traces: if (event.ControlDown()) { wxCommandEvent com; Doc()->Selectall(com); return; } return; case 66: // b case 98: ParentFrame()->SetMouseQual(stf::base_cursor); return; #ifdef WITH_PSLOPE case 79: // key 'o' to activate PSlope cursors case 111: ParentFrame()->SetMouseQual(stf::pslope_cursor); return; #endif case 68: // d case 100: ParentFrame()->SetMouseQual(stf::decay_cursor); return; case 90: // z case 122: ParentFrame()->SetMouseQual(stf::zoom_cursor); return; case 76: // l case 108: ParentFrame()->SetMouseQual(stf::latency_cursor); return; case WXK_RETURN: //Enter or Return { wxGetApp().OnPeakcalcexecMsg(); pFrame->UpdateResults(); return; } case 83: // Invalidate();//s case 115: { Doc()->Select(); return; } case 88: // x case 120: { wxCommandEvent foo; Doc()->OnSwapChannels(foo); return; } case 82: // Invalidate();//r case 114: { Doc()->Remove(); return; } } switch (char(kc)) { case '0': case '=': case '+': if (event.ControlDown()) { OnXenllo(); return; } OnYenllo(); return; case '-': if (event.ControlDown()) { OnXshrinklo(); return; } OnYshrinklo(); return; } } void wxStfGraph::OnZoomHV(wxCommandEvent& event) { OnZoomH(event); OnZoomV(event); } void wxStfGraph::OnZoomH(wxCommandEvent& WXUNUSED(event)) { wxRect WindowRect=GetRect(); llz_x=(llz_x - SPX()) / XZ(); ulz_x=(ulz_x - SPX()) / XZ(); int points=(int)(ulz_x - llz_x); XZW()=(double)WindowRect.width / points; SPXW()=(int)(-llz_x * XZ()); isZoomRect=false; } void wxStfGraph::OnZoomV(wxCommandEvent& WXUNUSED(event)) { wxRect WindowRect=GetRect(); llz_y=(SPY() - llz_y) / YZ(); ulz_y=(SPY() - ulz_y) / YZ(); YZW()=WindowRect.height/fabs(ulz_y-llz_y); SPYW()=(int)(WindowRect.height + ulz_y * YZ()); if (Doc()->size() > 1) { llz_y2=(SPY2()-llz_y2)/YZ2(); ulz_y2=(SPY2()-ulz_y2)/YZ2(); YZ2W()=WindowRect.height/fabs(ulz_y2-llz_y2); SPY2W()=(int)(WindowRect.height + ulz_y2 * YZ2()); } isZoomRect=false; } #if defined __WXMAC__ && !(wxCHECK_VERSION(2, 9, 0)) void wxStfGraph::OnPaint(wxPaintEvent &WXUNUSED(event)) { wxPaintDC PDC(this); OnDraw(PDC); } #endif double prettyNumber( double fDistance, double pixelDistance, int limit ) { double fScaled = 1.0; for (;;) { //set stepsize int nZeros = (int)log10(fScaled); int prev10e = (int)(pow(10.0, nZeros)); int next10e = prev10e * 10; int step = prev10e < 1 ? 1 : prev10e; if ( fScaled / prev10e > 5 ) { fScaled = next10e; step = next10e; } //check whether f scale is ok if ((fScaled/fDistance) * pixelDistance > limit || fScaled>1e9) break; else { //suggest a new f scale: fScaled += step; } } return fScaled; } void wxStfGraph::CreateScale(wxDC* pDC) { // catch bizarre y-Zooms: double fstartPosY=(double)SPY(); if (fabs(fstartPosY)>(double)1.0e15) SPYW()=0; if (fabs(YZ())>1e15) YZW()=1.0; if (!isPrinted) { wxFont font((int)(8*printScale), wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL); pDC->SetFont(font); } //Copy main window coordinates to 'WindowRect' wxRect WindowRect(GetRect()); if (isPrinted) { //Set WindowRect to print coordinates (page size) WindowRect=printRect; } //1. Creation of x-(time-)scale: //distance between two neigboured time steps in pixels: XZW()=XZ()>0 ? XZ() : 1.0; double pixelDistance=XZ(); //distance between time steps in msec: //(it might be more elegant to read out the equalspaced step size // directly from the Doc()) double timeDistance=1.0/Doc()->GetSR(); //i.e., 1 timeDistance corresponds to 1 pixelDistance //get an integer time value which comes close to 150 pixels: int limit=(int)(100*printScale); double timeScaled = prettyNumber(timeDistance, pixelDistance, limit); int barLength=(int)((timeScaled/timeDistance) * pixelDistance); //2. creation of y-(voltage- or current-)scale //distance between two neigboured yValues in pixels: YZW()=YZ()>1e-9 ? YZ() : 1.0; double pixelDistanceY=YZ(); //real distance (difference) between two neighboured Values: double realDistanceY=1.0; //get an integer y-value which comes close to 150 pixels: double yScaled = prettyNumber(realDistanceY, pixelDistanceY, limit); int barLengthY=(int)((yScaled/realDistanceY) * pixelDistanceY); //3. creation of y-scale for the second channel //Fit scale of second channel to window //distance between two neigboured yValues in pixels: int barLengthY2=100; double yScaled2 =1.0; double pixelDistanceY2= 1.0; //real distance (difference) between two neighboured Values: double realDistanceY2 = 1.0; if ((Doc()->size()>1)) { pixelDistanceY2= YZ2(); //get an entire y-value which comes close to 150 pixels: yScaled2 = prettyNumber(realDistanceY2, pixelDistanceY2, limit); barLengthY2=(int)((yScaled2/realDistanceY2) * pixelDistanceY2); } //End creation y-scale of the 2nd Channel if (wxGetApp().get_isBars()) { // Use scale bars std::vector Scale(5); // Distance of scale bar from bottom and right border of window: int bottomDist=(int)(50*printScale); int rightDist=(int)(60*printScale); // leave space for a second scale bar: if ((Doc()->size()>1)) rightDist*=2; // Set end points for the scale bar Scale[0]=wxPoint(WindowRect.width-rightDist-barLength, WindowRect.height-bottomDist); Scale[1]=wxPoint(WindowRect.width-rightDist, WindowRect.height-bottomDist); Scale[2]=wxPoint(WindowRect.width-rightDist, WindowRect.height-bottomDist-barLengthY); if (Doc()->size()>1 && pFrame->ShowSecond()) { //Set end points for the second channel y-bar Scale[3]=wxPoint(WindowRect.width-rightDist/2, WindowRect.height-bottomDist); Scale[4]=wxPoint(WindowRect.width-rightDist/2, WindowRect.height-bottomDist-barLengthY2); } // Set scalebar labels wxString scaleXString; scaleXString << (int)timeScaled << wxT(" ms"); // Center of x-scalebar: int xCenter=WindowRect.width-(Scale[1].x-Scale[0].x)/2-rightDist; wxRect TextFrameX( wxPoint(xCenter-(int)(40*printScale),WindowRect.height-bottomDist+(int)(5.0*(double)printScale)), wxPoint(xCenter+(int)(40*printScale),WindowRect.height-bottomDist+(int)(25.0*(double)printScale)) ); if (!isLatex) { pDC->DrawLabel( scaleXString,TextFrameX,wxALIGN_CENTRE_HORIZONTAL | wxALIGN_TOP ); } else { #if 0 wxLatexDC* pLatexDC = (wxLatexDC*)pDC; pLatexDC->DrawLabelLatex( scaleXString, TextFrameX,wxALIGN_CENTRE_HORIZONTAL | wxALIGN_TOP ); #endif } wxString scaleYString; #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) scaleYString << (int)yScaled << wxT(" ") << Doc()->at(Doc()->GetCurChIndex()).GetYUnits() << wxT("\0"); #else scaleYString << (int)yScaled << wxT(" ") << wxString(Doc()->at(Doc()->GetCurChIndex()).GetYUnits().c_str(), wxConvUTF8) << wxT("\0"); #endif // Center of y-scalebar: int yCenter=WindowRect.height-bottomDist-(Scale[1].y-Scale[2].y)/2; wxRect TextFrameY( wxPoint(WindowRect.width-rightDist+(int)(5*printScale),yCenter-(int)(10*printScale)), wxPoint(WindowRect.width,yCenter+(int)(10*printScale)) ); if (!isLatex) { pDC->DrawLabel(scaleYString,TextFrameY,wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL); } else { #if 0 wxLatexDC* pLatexDC = (wxLatexDC*)pDC; pLatexDC->DrawLabelLatex(scaleYString,TextFrameY,wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL); #endif } if (Doc()->size()>1 && pFrame->ShowSecond()) { wxString scaleYString2; scaleYString2 << (int)yScaled2 << wxT(" ") #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) << Doc()->at(Doc()->GetSecChIndex()).GetYUnits(); #else << wxString(Doc()->at(Doc()->GetSecChIndex()).GetYUnits().c_str(), wxConvUTF8); #endif // Center of y2-scalebar: int y2Center=WindowRect.height-bottomDist-(Scale[3].y-Scale[4].y)/2; wxRect TextFrameY2( wxPoint(WindowRect.width-rightDist/2+(int)(5*printScale),y2Center-(int)(10*printScale)), wxPoint(WindowRect.width,y2Center+(int)(10*printScale)) ); pDC->SetTextForeground(*wxRED); if (!isLatex) { pDC->DrawLabel(scaleYString2,TextFrameY2,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); } else { #if 0 wxLatexDC* pLatexDC = (wxLatexDC*)pDC; pLatexDC->DrawLabelLatex(scaleYString2,TextFrameY2,wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); #endif } pDC->SetTextForeground(*wxBLACK); } //Set PenStyle if (!isPrinted) pDC->SetPen(scalePen); else pDC->SetPen(scalePrintPen); //Plot them pDC->DrawLine(Scale[0],Scale[1]); pDC->DrawLine(Scale[1],Scale[2]); if (Doc()->size()>1 && pFrame->ShowSecond()) { if (!isPrinted) pDC->SetPen(scalePen2); else pDC->SetPen(scalePrintPen2); pDC->DrawLine(Scale[3],Scale[4]); } } else { // Use grid // Added 11/02/2006, CSH // Distance of coordinates from bottom, left, top and right border of window: int bottomDist=(int)(50*printScale); int leftDist=(int)(50*printScale); int topDist=(int)(20*printScale); int rightDist=(int)(20*printScale); // upper left corner: pDC->DrawLine(leftDist,topDist,leftDist,WindowRect.height-bottomDist); // lower right corner: pDC->DrawLine(leftDist,WindowRect.height-bottomDist, WindowRect.width-rightDist,WindowRect.height-bottomDist); // second y-axis: if (Doc()->size()>1 && pFrame->ShowSecond()) { pDC->SetPen(scalePen2); // upper left corner: pDC->DrawLine(leftDist*2,topDist,leftDist*2,WindowRect.height-bottomDist); } //Set PenStyle if (!isPrinted) pDC->SetPen(scalePen); else pDC->SetPen(scalePrintPen); // Set ticks: int tickLength=(int)(10*printScale); // Find first y-axis tick: // Get y-value of bottomDist: double yBottom=(SPY()-(WindowRect.height-bottomDist))/YZ(); // Find next-higher integer multiple of barLengthY: int nextTickMult=(int)(yBottom/yScaled); // nextTickMult is truncated; hence, negative and positive values // have to be treated separately: if (yBottom>0) { nextTickMult++; } // pixel position of this tick: double yFirst=nextTickMult*yScaled; int yFirstTick=yFormat(yFirst); // How many times does the y-scale bar fit into the window? int yScaleInWindow=(yFirstTick-topDist)/barLengthY; // y-Axis ticks: for (int n_tick_y=0;n_tick_y<=yScaleInWindow;++n_tick_y) { pDC->DrawLine(leftDist-tickLength, yFirstTick-n_tick_y*barLengthY, leftDist, yFirstTick-n_tick_y*barLengthY); // Create a rectangle from the left window border to the tick: wxRect TextFrame( wxPoint(0,yFirstTick-n_tick_y*barLengthY-(int)(10*printScale)), wxPoint(leftDist-tickLength-1,yFirstTick-n_tick_y*barLengthY+(int)(10*printScale)) ); // Draw Text: int y=(int)(yScaled*n_tick_y+yFirst); wxString yLabel;yLabel << y; pDC->DrawLabel(yLabel,TextFrame,wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); } // Write y units: // Length of y-axis: int yLength=WindowRect.height-topDist-bottomDist; // position of vertical center: int vCenter=topDist+yLength/2; wxRect TextFrame( wxPoint(2,vCenter-(int)(10*printScale)), wxPoint(leftDist-tickLength-1,vCenter+(int)(10*printScale)) ); pDC->DrawLabel( #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) Doc()->at(Doc()->GetCurChIndex()).GetYUnits(), #else wxString(Doc()->at(Doc()->GetCurChIndex()).GetYUnits().c_str(), wxConvUTF8), #endif TextFrame, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL ); // y-Axis of second channel: if (Doc()->size()>1 && pFrame->ShowSecond()) { pDC->SetPen(scalePen2); // Find first y-axis tick: // Get y-value of bottomDist: double y2Bottom=(SPY2()-(WindowRect.height-bottomDist))/YZ2(); // Find next-higher integer multiple of barLengthY: int nextTickMult=(int)(y2Bottom/yScaled2); // nextTickMult is truncated; hence, negative and positive values // have to be treated separately: if (y2Bottom>0) { nextTickMult++; } // pixel position of this tick: double y2First=nextTickMult*yScaled2; int y2FirstTick=yFormat2(y2First); // How many times does the y-scale bar fit into the window? int y2ScaleInWindow=(y2FirstTick-topDist)/barLengthY2; // y-Axis ticks: for (int n_tick_y=0;n_tick_y<=y2ScaleInWindow;++n_tick_y) { pDC->DrawLine(leftDist*2-tickLength, y2FirstTick-n_tick_y*barLengthY2, leftDist*2, y2FirstTick-n_tick_y*barLengthY2); // Create a rectangle from the left window border to the tick: wxRect TextFrame2( wxPoint(0,y2FirstTick-n_tick_y*barLengthY2-(int)(10*printScale)), wxPoint(leftDist*2-tickLength-1,y2FirstTick-n_tick_y*barLengthY2+(int)(10*printScale)) ); // Draw Text: int y2=(int)(yScaled2*n_tick_y+y2First); wxString y2Label; y2Label << y2; pDC->SetTextForeground(*wxRED); pDC->DrawLabel(y2Label,TextFrame2,wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pDC->SetTextForeground(*wxBLACK); } // Write y units: // Length of y-axis: int y2Length=WindowRect.height-topDist-bottomDist; // position of vertical center: int v2Center=topDist+y2Length/2; wxRect TextFrame2( wxPoint(2+leftDist,v2Center-(int)(10*printScale)), wxPoint(leftDist*2-tickLength-1,v2Center+(int)(10*printScale)) ); pDC->SetTextForeground(*wxRED); pDC->DrawLabel( #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) Doc()->at(Doc()->GetSecChIndex()).GetYUnits(), #else wxString(Doc()->at(Doc()->GetSecChIndex()).GetYUnits().c_str(), wxConvUTF8), #endif TextFrame2, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL ); pDC->SetTextForeground(*wxBLACK); } // x-Axis ticks: // if x axis starts with the beginning of the trace, find first tick: int xFirstTick=leftDist; double xFirst=0.0; if (isSyncx) { // Find first x-axis tick: // Get x-value of leftDist: double xLeft=(leftDist-SPX())/XZ()*Doc()->GetXScale(); // Find next-higher integer multiple of barLengthX: int nextTickMult=(int)(xLeft/timeScaled); // nextTickMult is truncated; hence, negative and positive values // have to be treated separately: if (xLeft>0) { nextTickMult++; } // pixel position of this tick: xFirst=nextTickMult*timeScaled; double xFirstSamplingPoint=xFirst/Doc()->GetXScale(); // units of sampling points xFirstTick=xFormat(xFirstSamplingPoint); } // How many times does the x-scale bar fit into the window? int xScaleInWindow=(WindowRect.width-xFirstTick-rightDist)/barLength; pDC->SetPen(scalePen); for (int n_tick_x=0;n_tick_x<=xScaleInWindow;++n_tick_x) { pDC->DrawLine(xFirstTick+n_tick_x*barLength, WindowRect.height-bottomDist+tickLength, xFirstTick+n_tick_x*barLength, WindowRect.height-bottomDist); // Create a rectangle: wxRect TextFrame( wxPoint( xFirstTick+n_tick_x*barLength-(int)(40*printScale), WindowRect.height-bottomDist+tickLength ), wxPoint( xFirstTick+n_tick_x*barLength+(int)(40*printScale), WindowRect.height-bottomDist+tickLength+(int)(20*printScale) ) ); // Draw Text: int x=(int)(timeScaled*n_tick_x+xFirst); wxString xLabel; xLabel << x; pDC->DrawLabel(xLabel,TextFrame,wxALIGN_CENTER | wxALIGN_CENTER_VERTICAL); } // Draw x-units: // Length of x-axis: int xLength=WindowRect.width-leftDist-rightDist; // position of horizontal center: int hCenter=leftDist+xLength/2; wxRect xTextFrame( wxPoint( hCenter-(int)(40*printScale), WindowRect.height-bottomDist+tickLength+(int)(20*printScale) ), wxPoint( hCenter+(int)(40*printScale), WindowRect.height-bottomDist+tickLength+(int)(40*printScale) ) ); #if (wxCHECK_VERSION(2, 9, 0) || defined(MODULE_ONLY)) pDC->DrawLabel(Doc()->GetXUnits(),xTextFrame,wxALIGN_CENTER | wxALIGN_CENTER_VERTICAL); #else pDC->DrawLabel(wxString(Doc()->GetXUnits().c_str(), wxConvUTF8),xTextFrame,wxALIGN_CENTER | wxALIGN_CENTER_VERTICAL); #endif } } inline long wxStfGraph::xFormat(double toFormat) { return (int)(toFormat * XZ() + SPX()); } inline long wxStfGraph::xFormat(long toFormat) { return (long)(toFormat * XZ() + SPX()); } inline long wxStfGraph::xFormat(int toFormat) { return (long)(toFormat * XZ() + SPX()); } inline long wxStfGraph::xFormat(std::size_t toFormat) { return (long)(toFormat * XZ() + SPX()); } inline long wxStfGraph::yFormat(double toFormat) { return (long)(SPY() - toFormat * YZ()); } inline long wxStfGraph::yFormat(long toFormat) { return (long)(SPY() - toFormat * YZ()); } inline long wxStfGraph::yFormat(int toFormat) { return (long)(SPY() - toFormat * YZ()); } inline long wxStfGraph::yFormat2(double toFormat) { return (long)(SPY2() - toFormat * YZ2()); } inline long wxStfGraph::yFormat2(long toFormat){ return (long)(SPY2() - toFormat * YZ2()); } inline long wxStfGraph::yFormat2(int toFormat){ return (long)(SPY2() - toFormat * YZ2()); } inline long wxStfGraph::yFormatB(double toFormat) { return (long)(yzoombg.startPosY - toFormat * yzoombg.yZoom); } inline long wxStfGraph::yFormatB(long toFormat){ return (long)(yzoombg.startPosY - toFormat * yzoombg.yZoom); } inline long wxStfGraph::yFormatB(int toFormat){ return (long)(yzoombg.startPosY - toFormat * yzoombg.yZoom); } void wxStfGraph::FittorectY(YZoom& yzoom, const wxRect& rect, double min, double max, double screen_part) { yzoom.yZoom = (rect.height/fabs(max-min))*screen_part; yzoom.startPosY = (long)(((screen_part+1.0)/2.0)*rect.height + min * yzoom.yZoom); } void wxStfGraph::Fittowindow(bool refresh) { const double screen_part=0.5; //part of the window to be filled std::size_t points=Doc()->cursec().size(); if (points==0) { wxGetApp().ErrorMsg(wxT("Array of size zero in wxGraph::Fittowindow()")); return; } #if (__cplusplus < 201103) Vector_double::const_iterator max_el = std::max_element(Doc()->cursec().get().begin(), Doc()->cursec().get().end()); Vector_double::const_iterator min_el = std::min_element(Doc()->cursec().get().begin(), Doc()->cursec().get().end()); #else Vector_double::const_iterator max_el = std::max(Doc()->cursec().get().begin(), Doc()->cursec().get().end()); Vector_double::const_iterator min_el = std::min(Doc()->cursec().get().begin(), Doc()->cursec().get().end()); #endif double min = *min_el; if (min>1.0e12) min= 1.0e12; if (min<-1.0e12) min=-1.0e12; double max = *max_el; if (max>1.0e12) max= 1.0e12; if (max<-1.0e12) max=-1.0e12; wxRect WindowRect(GetRect()); switch (ParentFrame()->GetZoomQual()) { //Depending on the zoom radio buttons (Mouse field) //in the (trace navigator) control box case stf::zoomboth: if(!(Doc()->size()>1)) return; //Fit to window Ch2 FitToWindowSecCh(false); //Fit to window Ch1 XZW()=(double)WindowRect.width /points; SPXW()=0; FittorectY(Doc()->GetYZoomW(Doc()->GetCurChIndex()), WindowRect, min, max, screen_part); break; case stf::zoomch2: //ErrorMsg if no second channel available if(!(Doc()->size()>1)) return; //Fit to window Ch2 FitToWindowSecCh(false); break; default: //ErrorMsg if no second channel available // Invalidate(); //Fit to window Ch1 XZW()=(double)WindowRect.width /points; SPXW()=0; FittorectY(Doc()->GetYZoomW(Doc()->GetCurChIndex()), WindowRect, min, max, screen_part); break; } if (refresh) Refresh(); } void wxStfGraph::FitToWindowSecCh(bool refresh) { if (Doc()->size()>1) { //Get coordinates of the main window wxRect WindowRect(GetRect()); const double screen_part=0.5; //part of the window to be filled std::size_t secCh=Doc()->GetSecChIndex(); #undef min #undef max #if (__cplusplus < 201103) Vector_double::const_iterator max_el = std::max_element(Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().begin(), Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().end()); Vector_double::const_iterator min_el = std::min_element(Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().begin(), Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().end()); #else Vector_double::const_iterator max_el = std::max(Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().begin(), Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().end()); Vector_double::const_iterator min_el = std::min(Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().begin(), Doc()->get()[secCh][Doc()->GetCurSecIndex()].get().end()); #endif double min=*min_el; double max=*max_el; FittorectY(Doc()->GetYZoomW(Doc()->GetSecChIndex()), WindowRect, min, max, screen_part); if (refresh) Refresh(); } } //End FitToWindowSecCh() void wxStfGraph::OnPrevious() { if (Doc()->get()[Doc()->GetCurChIndex()].size()==1) return; std::size_t curSection=Doc()->GetCurSecIndex(); if (Doc()->GetCurSecIndex() > 0) curSection--; else curSection=Doc()->get()[Doc()->GetCurChIndex()].size()-1; Doc()->SetSection(curSection); wxGetApp().OnPeakcalcexecMsg(); pFrame->SetCurTrace(curSection); Refresh(); } void wxStfGraph::OnFirst() { if (Doc()->GetCurSecIndex()==0) return; Doc()->SetSection(0); wxGetApp().OnPeakcalcexecMsg(); pFrame->SetCurTrace(0); Refresh(); } void wxStfGraph::OnLast() { if (Doc()->GetCurSecIndex()==Doc()->get()[Doc()->GetCurChIndex()].size()-1) return; std::size_t curSection=Doc()->get()[Doc()->GetCurChIndex()].size()-1; Doc()->SetSection(curSection); wxGetApp().OnPeakcalcexecMsg(); pFrame->SetCurTrace(curSection); Refresh(); } void wxStfGraph::OnNext() { if (Doc()->get()[Doc()->GetCurChIndex()].size()==1) return; std::size_t curSection=Doc()->GetCurSecIndex(); if (curSection < Doc()->get()[Doc()->GetCurChIndex()].size()-1) curSection++; else curSection=0; Doc()->SetSection(curSection); wxGetApp().OnPeakcalcexecMsg(); pFrame->SetCurTrace(curSection); Refresh(); } void wxStfGraph::OnUp() { switch (ParentFrame()->GetZoomQual()) { //Depending on the zoom radio buttons (Mouse field) //in the (trace navigator) control box case stf::zoomboth: //ErrorMsg if no second channel available //yZooms of Ch1 are performed keeping the base constant SPYW()=SPY() - 20; if(!(Doc()->size()>1)) break; //Ymove of Ch2 is performed SPY2W()=SPY2() - 20; break; case stf::zoomch2: if(!(Doc()->size()>1)) break; //Ymove of Ch2 is performed SPY2W()=SPY2() - 20; break; default: //Ymove of Ch1 is performed SPYW()=SPY() - 20; break; } Refresh(); } void wxStfGraph::OnDown() { switch (ParentFrame()->GetZoomQual()) { //Depending on the zoom radio buttons (Mouse field) //in the (trace navigator) control box case stf::zoomboth: //yZooms of Ch1 are performed keeping the base constant SPYW()=SPY() + 20; if(!(Doc()->size()>1)) break; //Ymove of Ch2 is performed SPY2W()=SPY2() + 20; break; case stf::zoomch2: if(!(Doc()->size()>1)) break; //Ymove of Ch2 is performed SPY2W()=SPY2() + 20; break; default: //Ymove of Ch1 is performed SPYW()=SPY() + 20; break; } Refresh(); } void wxStfGraph::OnRight() { SPXW()=SPX() + 20; Refresh(); } void wxStfGraph::OnLeft() { SPXW()=SPX() - 20; Refresh(); } void wxStfGraph::OnXenlhi() { ChangeXScale(2.0); } void wxStfGraph::OnXenllo() { ChangeXScale(1.1); } void wxStfGraph::OnXshrinklo() { ChangeXScale(1.0/1.1); } void wxStfGraph::OnXshrinkhi() { ChangeXScale(0.5); } void wxStfGraph::ChangeXScale(double factor) { wxRect WindowRect(GetRect()); //point in the middle: double middle=(WindowRect.width/2.0 - SPX()) / XZ(); //new setting for xZoom XZW()=XZ() * factor; //calculation of new start position SPXW()=(int)(WindowRect.width/2.0 - middle * XZ()); Refresh(); } void wxStfGraph::OnYenlhi() { ChangeYScale(2.0); } void wxStfGraph::OnYenllo() { ChangeYScale(1.1); } void wxStfGraph::OnYshrinklo() { ChangeYScale(1/1.1); } void wxStfGraph::OnYshrinkhi() { ChangeYScale(0.5); } void wxStfGraph::ChangeYScale(double factor) { switch (ParentFrame()->GetZoomQual()) { // Depending on the zoom radio buttons (Mouse field) // in the (trace navigator) control box case stf::zoomboth: //yZooms of Ch1 are performed keeping the base constant SPYW()=(int)(SPY() + Doc()->GetBase() * (YZ() * factor - YZ())); YZW()=YZ() * factor; //ErrorMsg if no second channel available if (Doc()->size()<=1) break; //yZooms of Ch2 are performed keeping the base constant SPY2W()=(int)(SPY2() + Doc()->GetBase() * (YZ2() * factor - YZ2())); YZ2W()=YZ2() * factor; break; case stf::zoomch2: if (Doc()->size()<=1) break; //yZooms of Ch2 are performed keeping the base constant SPY2W()=(int)(SPY2() + Doc()->GetBase() * (YZ2() * factor - YZ2())); YZ2W()=YZ2() * factor; break; default: //yZooms of Ch1 are performed keeping the base constant SPYW()=(int)(SPY() + Doc()->GetBase() * (YZ() * factor - YZ())); YZW()=YZ() * factor; break; } Refresh(); } void wxStfGraph::Ch2base() { if ((Doc()->size()>1)) { double base2=0.0; try { double var2=0.0; base2=stfnum::base(Doc()->GetBaselineMethod(),var2,Doc()->get()[Doc()->GetSecChIndex()][Doc()->GetCurSecIndex()].get(), Doc()->GetBaseBeg(),Doc()->GetBaseEnd()); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg(wxString( e.what(), wxConvLocal ) ); return; } double base1=Doc()->GetBase(); int base1_onScreen=yFormat(base1); // Adjust startPosY2 so that base2 is the same as base1 on the screen; // i.e. yFormat2(base2) == yFormat(base1) // this is what yFormat2(toFormat) does: // return (int)(zoom.startPosY2 - toFormat * zoom.yZoom2); // Solved for startPosY2, this gets: SPY2W()=(int)(base1_onScreen+base2*YZ2()); Refresh(); } } void wxStfGraph::Ch2pos() { if ((Doc()->size()>1)) { SPY2W()=SPY(); Refresh(); } } void wxStfGraph::Ch2zoom() { if ((Doc()->size()>1)) { YZ2W()=YZ(); Refresh(); } } void wxStfGraph::Ch2basezoom() { if ((Doc()->size()>1)) { // Adjust y-scale without refreshing: YZ2W()=YZ(); // Adjust baseline: double base2=0.0; try { double var2=0.0; base2=stfnum::base(Doc()->GetBaselineMethod(),var2,Doc()->get()[Doc()->GetSecChIndex()][Doc()->GetCurSecIndex()].get(), Doc()->GetBaseBeg(),Doc()->GetBaseEnd()); } catch (const std::out_of_range& e) { wxGetApp().ExceptMsg( wxString( e.what(), wxConvLocal ) ); return; } double base1=Doc()->GetBase(); int base1_onScreen=yFormat(base1); // Adjust startPosY2 so that base2 is the same as base1 on the screen; // i.e. yFormat2(base2) == yFormat(base1) // this is what yFormat2(toFormat) does: // return (int)(zoom.startPosY2 - toFormat * zoom.yZoom2); // Solved for startPosY2, this gets: SPY2W()=(int)(base1_onScreen+base2*YZ2()); Refresh(); } } void wxStfGraph::set_isPrinted(bool value) { if (value==false) { printScale=1.0; no_gimmicks=false; } else { #if defined __WXGTK__ || defined __APPLE__ printScale=0.25; #endif // store zoom settings upon switching from normal to print view: if (isPrinted==false) { // zoomOld=zoom; } } isPrinted=value; } stimfit-0.14.11/src/stimfit/gui/app.h0000755000175200017520000004240012556527764014273 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file app.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares wxStfApp. */ #ifndef _APP_H #define _APP_H /*! \defgroup wxstf Stimfit classes and functions derived from wxWidgets * @{ */ //! Event ids enum { ID_TOOL_FIRST, // = wxID_HIGHEST+1, resulted in wrong events being fired ID_TOOL_NEXT, ID_TOOL_PREVIOUS, ID_TOOL_LAST, ID_TOOL_XENL, ID_TOOL_XSHRINK, ID_TOOL_YENL, ID_TOOL_YSHRINK, ID_TOOL_UP, ID_TOOL_DOWN, ID_TOOL_FIT, ID_TOOL_LEFT, ID_TOOL_RIGHT, ID_TOOL_SELECT, ID_TOOL_REMOVE, ID_TOOL_MEASURE, ID_TOOL_PEAK, ID_TOOL_BASE, ID_TOOL_DECAY, ID_TOOL_LATENCY, #ifdef WITH_PSLOPE ID_TOOL_PSLOPE, #endif ID_TOOL_ZOOM, ID_TOOL_EVENT, ID_TOOL_CH1, ID_TOOL_CH2, ID_TOOL_SNAPSHOT, ID_TOOL_SNAPSHOT_WMF, #ifdef WITH_PYTHON ID_IMPORTPYTHON, #endif ID_VIEW_RESULTS, ID_VIEW_MEASURE, ID_VIEW_BASELINE, ID_VIEW_BASESD, ID_VIEW_THRESHOLD, ID_VIEW_PEAKZERO, ID_VIEW_PEAKBASE, ID_VIEW_PEAKTHRESHOLD, ID_VIEW_RTLOHI, ID_VIEW_INNERRISETIME, ID_VIEW_OUTERRISETIME, ID_VIEW_T50, ID_VIEW_RD, ID_VIEW_SLOPERISE, ID_VIEW_SLOPEDECAY, ID_VIEW_LATENCY, #ifdef WITH_PSLOPE ID_VIEW_PSLOPE, #endif ID_VIEW_CURSORS, ID_VIEW_SHELL, ID_FILEINFO, ID_EXPORTIMAGE, ID_EXPORTPS, ID_EXPORTLATEX, ID_EXPORTSVG, ID_TRACES, ID_PLOTSELECTED, ID_SHOWSECOND, ID_CURSORS, ID_AVERAGE, ID_ALIGNEDAVERAGE, ID_FIT, ID_LFIT, ID_LOG, ID_VIEWTABLE, ID_BATCH, ID_INTEGRATE, ID_DIFFERENTIATE, ID_CH2BASE, ID_CH2POS, ID_CH2ZOOM, ID_CH2BASEZOOM, ID_SWAPCHANNELS, ID_SCALE, ID_ZOOMHV, ID_ZOOMH, ID_ZOOMV, ID_EVENTADD, ID_EVENTEXTRACT, ID_APPLYTOALL, ID_UPDATE, ID_CONVERT, #if 0 ID_LATENCYSTART_MAXSLOPE, ID_LATENCYSTART_HALFRISE, ID_LATENCYSTART_PEAK, ID_LATENCYSTART_MANUAL, ID_LATENCYEND_FOOT, ID_LATENCYEND_MAXSLOPE, ID_LATENCYEND_HALFRISE, ID_LATENCYEND_PEAK, ID_LATENCYEND_MANUAL, ID_LATENCYWINDOW, #endif ID_PRINT_PRINT, ID_MPL, ID_MPL_SPECTRUM, ID_PRINT_PAGE_SETUP, ID_PRINT_PREVIEW, ID_COPYINTABLE, ID_MULTIPLY, ID_SELECTSOME, ID_UNSELECTSOME, ID_MYSELECTALL, ID_UNSELECTALL, ID_NEWFROMSELECTED, ID_NEWFROMSELECTEDTHIS, ID_NEWFROMALL, ID_CONCATENATE_MULTICHANNEL, ID_SUBTRACTBASE, ID_FILTER, ID_POVERN, ID_PLOTCRITERION, ID_PLOTCORRELATION, ID_PLOTDECONVOLUTION, ID_EXTRACT, ID_THRESHOLD, ID_LOADPERSPECTIVE, ID_SAVEPERSPECTIVE, ID_RESTOREPERSPECTIVE, ID_STFCHECKBOX, ID_EVENT_ADDEVENT, ID_EVENT_EXTRACT, ID_EVENT_ERASE, ID_COMBOTRACES, ID_SPINCTRLTRACES, ID_ZERO_INDEX, ID_COMBOACTCHANNEL, ID_COMBOINACTCHANNEL, #ifdef WITH_PYTHON ID_USERDEF, // this should be the last ID event #endif }; #include #include #include #include #include #include #include "./../stf.h" #include "./../../libstfnum/stfnum.h" #ifdef WITH_PYTHON #ifdef _POSIX_C_SOURCE #define _POSIX_C_SOURCE_WAS_DEF #undef _POSIX_C_SOURCE #endif #ifdef _XOPEN_SOURCE #define _XOPEN_SOURCE_WAS_DEF #undef _XOPEN_SOURCE #endif #include #ifdef _POSIX_C_SOURCE_WAS_DEF #ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE #endif #endif #ifdef _XOPEN_SOURCE_WAS_DEF #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE #endif #endif #if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic ignored "-Wwrite-strings" #endif #if PY_MAJOR_VERSION >= 3 #include #else #include #endif // revert to previous behaviour #if defined(__WXMAC__) || defined(__WXGTK__) #pragma GCC diagnostic warning "-Wwrite-strings" #endif #endif // WITH_PYTHON #if (__cplusplus < 201103) #include #endif class wxDocManager; class wxStfDoc; class wxStfView; class wxStfCursorsDlg; class wxStfParentFrame; class wxStfChildFrame; class Section; //! The application, derived from wxApp /*! This class is used to set and get application-wide properties, * implement the windowing system message or event loop, * initiate application processing via OnInit, and * allow default processing of events not handled by other objects in the application. */ class StfDll wxStfApp: public wxApp { public: //! Constructor wxStfApp(); //! Initialise the application /*! Initialises the document manager and the file-independent menu items, * loads the user-defined extension library and the least-squares function library, * parses the command line and attempts to open a file if one was given * at program startup by either double-clicking it or as a command-line * argument. * \return true upon successful initialisation, false otherwise. */ virtual bool OnInit(); //! Exit the application /*! Does nothing but calling the base class's wxApp::OnExit(). * \return The return value of wxApp::OnExit(). */ virtual int OnExit(); //! Creates a new child frame /*! This is called from view.cpp whenever a child frame is created. If you * want to pop up a new frame showing a new document, use NewChild() instead; this * function will then be called by the newly created view. * \param doc A pointer to the document that the new child frame should contain. * \param view A pointer to the view corresponding to the document. * \return A pointer to the newly created child frame. */ wxStfChildFrame *CreateChildFrame(wxDocument *doc, wxView *view); //! Retrieves the currently active document. /*! \return A pointer to the currently active document. */ wxStfDoc* GetActiveDoc() const; //! Sets the currently active document. /*! \param pDoc A pointer to the currently active document. */ /*void SetActiveDoc(wxStfDoc* pDoc);*/ //! Retrieves the currently active view. /*! \return A pointer to the currently active view. */ wxStfView* GetActiveView() const; //! Displays a message box when an error has occured. /*! You can use this function from almost anywhere using * wxGetApp().ErrorMsg( wxT( "Error abc: xyz" ) ); * \param msg The message string to be shown. */ void ErrorMsg(const wxString& msg) const { wxMessageBox(msg,wxT("An error has occured"),wxOK | wxICON_EXCLAMATION,NULL); } //! Displays a message box when an exception has occured. /*! You can use this function from almost anywhere using * wxGetApp().ExceptMsg( wxT( "Exception description xyz" ) ); * \param msg The message string to be shown. */ void ExceptMsg(const wxString& msg) const { wxMessageBox(msg,wxT("An exception was caught"),wxOK | wxICON_HAND,NULL); } //! Displays a message box with information. /*! You can use this function from almost anywhere using * wxGetApp().InfoMsg( wxT( "Info xyz" ) ); * \param msg The message string to be shown. */ void InfoMsg(const wxString& msg) const { wxMessageBox(msg,wxT("Information"), wxOK | wxICON_INFORMATION, NULL); } //! Indicates whether text files should be imported directly without showing an import settings dialog. /*! \return true if text files should be imported directly, false otherwise. */ bool get_directTxtImport() const { return directTxtImport; } //! Determines whether text files should be imported directly without showing an import filter settings dialog. /*! \param directTxtImport_ Set to true if text files should be imported directly, false otherwise. */ void set_directTxtImport(bool directTxtImport_) { directTxtImport=directTxtImport_; } //! Retrieves the text import filter settings. /*! \return A struct with the current text import filter settings. */ const stfio::txtImportSettings& GetTxtImport() const { return txtImport; } //! Sets the text import filter settings. /*! \param txtImport_ A struct with the new text import filter settings. */ void set_txtImportSettings(const stfio::txtImportSettings& txtImport_) { txtImport=txtImport_; } //! Retrieves the functions that are available for least-squares minimisation. /*! \return A vector containing the available functions. */ const std::vector& GetFuncLib() const { return funcLib; } //! Retrieves a pointer to a function for least-squares minimisation. /*! \return A vector containing the available functions. */ stfnum::storedFunc* GetFuncLibPtr(std::size_t at) { return &funcLib.at(at); } //! Retrieves a pointer to a function for least-squares minimisation. /*! \return A vector containing the available functions. */ stfnum::storedFunc* GetLinFuncPtr( ) { return &storedLinFunc; } #ifdef WITH_PYTHON //! Retrieves the user-defined extension functions. /*! \return A vector containing the user-defined functions. */ const std::vector< stf::Extension >& GetExtensionLib() const { return extensionLib; } #endif //! Retrieves the cursor settings dialog. /*! \return A pointer to the cursor settings dialog. */ wxStfCursorsDlg* GetCursorsDialog() const { return CursorsDialog; } //! Retrieves all sections with fits /*! \return A vector containing pointers to all sections in which fits have been performed */ std::vector GetSectionsWithFits() const; //! Writes an integer value to the configuration. /*! \param main The main path within the configuration. * \param sub The sub-path within the configuration. * \param value The integer to write to the configuration. */ void wxWriteProfileInt(const wxString& main,const wxString& sub, int value) const; //! Retrieves an integer value from the configuration. /*! \param main The main path within the configuration. * \param sub The sub-path within the configuration. * \param default_ The default integer to return if the configuration entry can't be read. * \return The integer that is stored in /main/sub, or default_ if the entry couldn't * be read. */ int wxGetProfileInt(const wxString& main,const wxString& sub, int default_) const; //! Writes a string to the configuration. /*! \param main The main path within the configuration. * \param sub The sub-path within the configuration. * \param value The string to write to the configuration. */ void wxWriteProfileString( const wxString& main, const wxString& sub, const wxString& value ) const; //! Retrieves a string from the configuration. /*! \param main The main path within the configuration. * \param sub The sub-path within the configuration. * \param default_ The default string to return if the configuration entry can't be read. * \return The string that is stored in /main/sub, or default_ if the entry couldn't * be read. */ wxString wxGetProfileString( const wxString& main, const wxString& sub, const wxString& default_ ) const; //! Creates a new child window showing a new document. /*! \param NewData The new data to be shown in the new window. * \param Sender The document that was at the origin of this new window. * \param title A title for the new document. * \return A pointer to the newly created document. */ wxStfDoc* NewChild( const Recording& NewData, const wxStfDoc* Sender, const wxString& title = wxT("\0") ); //! Execute all pending calculations. /*! Whenever settings that have an effect on measurements, such as * cursor positions or trace selections, are modified, this function * needs to be called to update the results table. */ void OnPeakcalcexecMsg(wxStfDoc* actDoc = 0); //! Destroys the last cursor settings dialog when the last document is closed /*! Do not use this function directly. It only needs to be called from wxStfDoc::OnCloseDocument(). * \param pDoc Pointer to the document that is being closed. */ void CleanupDocument(wxStfDoc* pDoc); //! Closes all documents bool CloseAll() { return GetDocManager()->CloseDocuments(); } //! Opens a series of files. Optionally, files can be put into a single window. /*! \param fNameArray An array of file names to be opened. * \return true upon successful opening of all files, false otherwise. */ bool OpenFileSeries(const wxArrayString& fNameArray); //! Returns the number of currently opened documents. /*! \return The number of currently opened documents. */ int GetDocCount() { return (int)GetDocManager()->GetDocuments().GetCount(); } //! Determine whether scale bars or coordinates should be shown. /*! \param value Set to true for scale bars, false for coordinates. */ void set_isBars(bool value) { isBars=value; } //! Indicates whether scale bars or coordinates are shown. /*! \return true for scale bars, false for coordinates. */ bool get_isBars() const { return isBars; } //! Get a formatted version string. /*! \return A version string (stimfit x.y.z, release/debug build, date). */ wxString GetVersionString() const; //! Open a new window showing all selected traces from all open files /*! \param event The associated menu event */ void OnNewfromselected( wxCommandEvent& event ); //! Access the document manager /*! \return A pointer to the document manager. */ wxDocManager* GetDocManager() const { return wxDocManager::GetDocumentManager(); } virtual void OnInitCmdLine(wxCmdLineParser& parser); virtual bool OnCmdLineParsed(wxCmdLineParser& parser); #ifdef WITH_PYTHON //! Opens a file in a new window, to be called from Python. /*! \param fNameArray An array of file names to be opened. * \return true upon successful opening, false otherwise. */ bool OpenFilePy(const wxString& fNameArray); //! Opens a dialog to import a Python module /*! \param event The associated menu event */ void OnPythonImport( wxCommandEvent& event ); #endif protected: private: void OnCursorSettings( wxCommandEvent& event ); void OnNewfromall( wxCommandEvent& event ); void OnApplytoall( wxCommandEvent& event ); void OnProcessCustom( wxCommandEvent& event ); void OnKeyDown( wxKeyEvent& event ); #ifdef WITH_PYTHON void ImportPython(const wxString& modulelocation); void OnUserdef(wxCommandEvent& event); bool Init_wxPython(); bool Exit_wxPython(); std::vector LoadExtensions(); #endif // WITH_PYTHON wxMenuBar* CreateUnifiedMenuBar(wxStfDoc* doc=NULL); #ifdef _WINDOWS #pragma optimize( "", off ) #endif #ifdef _WINDOWS #pragma optimize( "", on ) #endif bool directTxtImport,isBars; stfio::txtImportSettings txtImport; // Registry: #if (__cplusplus < 201103) boost::shared_ptr config; #else std::shared_ptr config; #endif std::vector funcLib; #ifdef WITH_PYTHON std::vector< stf::Extension > extensionLib; #endif // Pointer to the cursors settings dialog box wxStfCursorsDlg* CursorsDialog; wxDocTemplate* m_cfsTemplate, *m_hdf5Template, *m_txtTemplate,*m_abfTemplate, *m_atfTemplate,*m_axgTemplate,*m_sonTemplate, *m_hekaTemplate, *m_biosigTemplate; stfnum::storedFunc storedLinFunc; // wxMenu* m_file_menu; wxString m_fileToLoad; /*std::list activeDoc;*/ #ifdef WITH_PYTHON PyThreadState* m_mainTState; #endif DECLARE_EVENT_TABLE() }; #ifdef _WINDOWS //! Returns a reference to the application. extern StfDll wxStfApp& wxGetApp(); #else DECLARE_APP(wxStfApp) #endif //! Retrieve the application's top-level frame /*! \return A pointer to the top-level frame. */ extern StfDll wxStfParentFrame *GetMainFrame(); //! true if in single-window mode extern bool singleWindowMode; /*@}*/ #endif stimfit-0.14.11/src/Makefile.am0000755000175200017520000000030312472345762013120 00000000000000# The order is important here because libstimfit.la will be used by stfswig. if BUILD_MODULE SUBDIRS = libstfio libstfnum pystfio else SUBDIRS = libstfio libstfnum stimfit stimfit/py endif stimfit-0.14.11/src/libstfnum/0000755000175200017520000000000012623045305013134 500000000000000stimfit-0.14.11/src/libstfnum/spline.h0000755000175200017520000000302312472345762014534 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file spline.h * \author John Burkardt, Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Cubic spline interpolation. * * * Based on algorithms by John Burkardt: * http://www.scs.fsu.edu/~burkardt/index.html */ #ifndef _SPLINE_H #define _SPLINE_H namespace stfnum { Vector_double d3_np_fs(Vector_double& a, const Vector_double& b); void dvec_bracket3 (const Vector_double& t, double tval, int& left ); Vector_double spline_cubic_set ( const Vector_double& t, const Vector_double& y, int ibcbeg, double ybcbeg, int ibcend, double ybcend ); double spline_cubic_val (const Vector_double& t, double tval, const Vector_double& y, const Vector_double& ypp, double& ypval, double& yppval ); } #endif stimfit-0.14.11/src/libstfnum/measure.cpp0000644000175200017520000004042712472345762015244 00000000000000// Routines for measuring basic event properties // last revision: 24-Jan-2011 // C. Schmidt-Hieber, christsc@gmx.de // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file measlib.cpp * \author Christoph Schmidt-Hieber, Peter Jonas * \date 2011-01-24 * \brief Functions for measuring kinetics of events within waveforms. * * * For an example how to use these functions, see Recording::Measure(). */ #include #ifdef _OPENMP #include #endif #include "./stfnum.h" #include "./measure.h" int compareDouble(const void *a, const void *b) { return ( ( *(double*)a > *(double*)b ) - ( *(double*)a < *(double*)b ) ); } double stfnum::base(enum stfnum::baseline_method base_method, double& var, const std::vector& data, std::size_t llb, std::size_t ulb) { if (data.size()==0) return 0; if (llb>ulb || ulb>=data.size()) { return NAN; } size_t n = ulb - llb + 1; double base; assert(n > 0); assert(n <= data.size()); if (base_method == stfnum::median_iqr) { // make copy of the data for sorting double *a = (double*)malloc(n * sizeof(double)); for (size_t i = 0; i < n; ++i) { a[i] = data[i + llb]; } qsort(a,n,sizeof(double),&compareDouble); // get the median if (n % 2) base = a[(n-1)/2]; else { n /=2; base = (a[n-1] + a[n]) / 2; } /* * compute inter-quartile range (IQR) and return in "var" * interpolate as average of upper and lower bound * and make sure that indices are within [0,n-1] interval */ double Q32 = a[std::min((long)(n-1), (long)ceil(3*n/4.0-1))] + a[std::max(0l, (long)floor(3*n/4.0-1))]; double Q12 = a[std::min((long)(n-1), (long)ceil( n/4.0-1))] + a[std::max(0l, (long)floor( n/4.0-1))]; var = (Q32 - Q12) / 2; free(a); return base; } // else if (method == mean_baseline) double sumY=0.0; //according to the pascal version, every value //within the window shall be summed up: #ifdef _OPENMP #pragma omp parallel for reduction(+:sumY) #endif for (int i=(int)llb; i<=(int)ulb;++i) { sumY+=data[i]; } base=sumY/n; // second pass to calculate the variance: double varS=0.0; double corr=0.0; #ifdef _OPENMP #pragma omp parallel for reduction(+:varS,corr) #endif for (int i=(int)llb; i<=(int)ulb;++i) { double diff=data[i]-base; varS+=diff*diff; // correct for floating point inaccuracies: corr+=diff; } corr=(corr*corr)/n; var = (varS-corr)/(n-1); return base; } double stfnum::peak(const std::vector& data, double base, std::size_t llp, std::size_t ulp, int pM, stfnum::direction dir, double& maxT) { if (llp>ulp || ulp>=data.size()) { maxT = NAN; return NAN; } double max=data[llp]; maxT=(double)llp; double peak=0.0; if (pM > 0) { for (std::size_t i=llp+1; i <=ulp; i++) { //Calculate peak as the average over pM points around the point i peak=0.0; div_t Div1=div((int)pM-1, 2); int counter = 0; int start = i-Div1.quot; if (start < 0) start = 0; for (counter=start; counter <= start+pM-1 && counter < (int)data.size(); counter++) peak+=data[counter]; peak /= (counter-start); //Set peak for BOTH if (dir == stfnum::both && fabs(peak-base) > fabs (max-base)) { max = peak; maxT = (double)i; } //Set peak for UP if (dir == stfnum::up && peak-base > max-base) { max = peak; maxT = (double)i; } //Set peak for DOWN if (dir == stfnum::down && peak-base < max-base) { max = peak; maxT = (double)i; } } //End loop: data points peak = max; //End peak and base calculation //------------------------------- } else { if (pM==-1) { // calculate the average within the peak window double sumY=0; #ifdef _OPENMP #pragma omp parallel for reduction(+:sumY) #endif for (int i=(int)llp; i<=(int)ulp;++i) { sumY+=data[i]; } int n=(int)(ulp-llp+1); peak=sumY/n; maxT=(double)((llp+ulp)/2.0); } else { maxT = NAN; peak = NAN; } } return peak; } double stfnum::threshold( const std::vector& data, std::size_t llp, std::size_t ulp, double slope, double& thrT, std::size_t windowLength ) { thrT = -1; if (data.size()==0) return 0.0; // lower limit peak (ulb) has to be zero at least // upper limit peak (ulb) has to be < data.size()-windowLength (data[i+windowLength] will be used) if (llp > ulp || ulp >= data.size()) { thrT = NAN; return NAN; } if (ulp + windowLength > data.size()) { thrT = NAN; return NAN; } double threshold = 0.0; // find Slope within peak window: for (std::size_t i=llp; i < ulp; ++i) { double diff = data[i + windowLength] - data[i]; if (diff > slope * windowLength) { threshold=(data[i+windowLength] + data[i]) / 2.0; thrT = i + windowLength/2.0; break; } } return threshold; } double stfnum::risetime(const std::vector& data, double base, double ampl, double left, double right, double frac, std::size_t& tLoId, std::size_t& tHiId, double& tLoReal) { if (frac <= 0 || frac >=0.5) { tLoReal = NAN; return NAN; } double lo = frac; double hi = 1.0-frac; //Lo%of peak if (right<0 || left<0 || right>=data.size()) { tLoReal = NAN; return NAN; } tLoId=(int)right>=1? (int)right:1; do { --tLoId; } while (fabs(data[tLoId]-base)>fabs(lo*ampl) && tLoId>left); //Hi%of peak tHiId=tLoId; do { ++tHiId; } while (fabs(data[tHiId]-base)& data, double base, double ampl, double left, double right, double frac, double& innerTLoReal, double& innerTHiReal, double& outerTLoReal, double& outerTHiReal ) { if (frac <= 0 || frac >=0.5) { innerTLoReal = NAN; innerTHiReal = NAN; outerTLoReal = NAN; outerTHiReal = NAN; return NAN; } #define NDEBUG #ifndef NDEBUG fprintf(stdout,"%s %i:RISETIME2\n",__FILE__,__LINE__); #endif double lo = frac; double hi = 1.0-frac; /* outer_tLoId first index from left which is above lo*ampl outer_tHiId last index from left which is below hi*ampl inner_tLoId last index from left which is below lo*ampl inner_tHiId first index from left which is above hi*ampl Note: in noise free case (outer_tHiId==inner_tHiId-1) and (outer_tLoId==inner_tLoId+1) are true. */ long outer_tLoId=-1, outer_tHiId=-1, inner_tLoId=-1, inner_tHiId=-1; long k; //Lo%of peak if (right<0 || left<0 || right>=data.size()) { innerTLoReal = NAN; innerTHiReal = NAN; outerTLoReal = NAN; outerTHiReal = NAN; return NAN; } #ifndef NDEBUG fprintf(stdout,"%s %i:RISETIME2\n",__FILE__,__LINE__); #endif for (k=(long)left; k<=(long)right; k++) { double v = fabs(data[k]-base); if (v < fabs(lo*ampl)) inner_tLoId = k; if (v < fabs(hi*ampl)) outer_tHiId = k; } #ifndef NDEBUG fprintf(stdout,"%s %i:RISETIME2 r:%f l:%f \n",__FILE__,__LINE__,right,left); #endif for (k=(long)right; k>=(long)left; k--) { double v = fabs(data[k]-base); if (v > fabs(lo*ampl)) outer_tLoId = k; if (v > fabs(hi*ampl)) inner_tHiId = k; } #ifndef NDEBUG fprintf(stdout,"%s %i:RISETIME2: %i %i %i %i\n",__FILE__,__LINE__,(int)outer_tLoId,(int)inner_tLoId,(int)inner_tHiId,(int)outer_tHiId); #endif //*** Inner Risetime ***/ if (inner_tLoId < 0) innerTLoReal = NAN; else { double yLong2 = data[inner_tLoId+1]; double yLong1 = data[inner_tLoId]; if (yLong2-yLong1 != 0) innerTLoReal = inner_tLoId + fabs((lo*ampl+base-yLong1)/(yLong2-yLong1)); else innerTLoReal=(double)inner_tLoId; } //Hi%of peak if (inner_tHiId < 1) innerTHiReal = NAN; else { double yLong2 = data[inner_tHiId]; double yLong1 = data[inner_tHiId-1]; if (yLong2 - yLong1 != 0) innerTHiReal = inner_tHiId - fabs(((yLong2-base)-hi*ampl)/(yLong2-yLong1)); else innerTHiReal=(double)inner_tHiId; } #ifndef NDEBUG fprintf(stdout,"%s %i:RISETIME2 %f %s\n",__FILE__,__LINE__,innerTHiReal-innerTLoReal,innerTHiReal& data, double base, double ampl, double left, double right, double center, std::size_t& t50LeftId, std::size_t& t50RightId, double& t50LeftReal) { if (center<0 || center>=data.size() || data.size()<=2 || left<-1) { t50LeftReal = NAN; return NAN; } t50LeftId=(int)center>=1? (int)center:1; if (t50LeftId-1 >= data.size()) { #ifndef NDEBUG std::cout << "t50LeftId-1 >= data.size()" << t50LeftId-1 << " " << data.size() << std::endl; #endif return NAN; } do { --t50LeftId; } while (fabs(data[t50LeftId]-base)>fabs(0.5 * ampl) && t50LeftId > left); //Right side half duration if ((std::size_t)center <= data.size()-2) { t50RightId = center; } else { t50RightId = data.size() >= 2? data.size()-2 : 0; } if (right >= data.size() || t50RightId+1 >= data.size()) { #ifndef NDEBUG std::cout << "right, data.size(), t50RightId+1 " << right << " " << data.size() << " " << t50RightId+1 << std::endl; #endif return NAN; } do { ++t50RightId; } while (fabs(data[t50RightId]-base)>fabs(0.5 * ampl) && t50RightId < right); //calculation of real values by linear interpolation: //Left side double yLong2=data[t50LeftId+1]; double yLong1=data[t50LeftId]; if (yLong2-yLong1 !=0) { t50LeftReal=(double)(t50LeftId+ fabs((0.5*ampl-(yLong1-base))/(yLong2-yLong1))); } else { t50LeftReal=(double)t50LeftId; } //Right side yLong2=data[t50RightId]; yLong1=data[t50RightId-1]; double t50RightReal=0.0; if (yLong2-yLong1 !=0) { t50RightReal=(double)(t50RightId- fabs((0.5*ampl-(yLong2-base))/fabs(yLong2-yLong1))); } else { t50RightReal=(double)t50RightId; } return t50RightReal-t50LeftReal; } double stfnum::maxRise(const std::vector& data, double left, double right, double& maxRiseT, double& maxRiseY, std::size_t windowLength) { size_t rightc = lround(right); size_t leftc = lround(left); if (leftc >= data.size()-windowLength) { leftc = data.size()-windowLength-1; } if (rightc >= data.size() || data.size() < windowLength) { maxRiseY = NAN; maxRiseT = NAN; return NAN; } double maxRise = -INFINITY; // -Infinity maxRiseT = NAN; // non-a-number size_t i,j; for (i = leftc, j = leftc + windowLength; j <= rightc; i++, j++) { double diff = fabs( data[i] - data[j] ); if (maxRise& data, double left, double right, double& maxDecayT, double& maxDecayY, std::size_t windowLength) { size_t rightc = lround(right); size_t leftc = lround(left); if (leftc >= data.size()-windowLength) { leftc = data.size()-windowLength-1; } if (rightc >= data.size() || data.size() < windowLength) { maxDecayT = NAN; maxDecayY = NAN; return NAN; } double maxDecay = -INFINITY; // -Infinity maxDecayT = NAN; // non-a-number size_t i,j; for (j = leftc, i = leftc + windowLength; i < rightc; i++, j++) { double diff = fabs( data[i] - data[j] ); if (maxDecay& data, std::size_t left, std::size_t right) { // data testing not zero //if (!data.size()) return 0; if (data.size()==0) return 0; // cursor testing out of bounds if (left>right || right>data.size()) { return NAN; } // use interpolated data double y2 = ( data[right]+data[right+1] )/(double)2.0; double y1 = ( data[left]+data[left+1] )/(double)2.0; double t2 = (double)(right-0.5); double t1 = (double)(left-0.5); double SlopeVal = (y2-y1)/(t2-t1); return SlopeVal; } #endif // WITH_PSLOPE stimfit-0.14.11/src/libstfnum/stfnum.h0000755000175200017520000004526612475053163014567 00000000000000// Header file for the stimfit namespace // General-purpose routines // last revision: 08-08-2006 // C. Schmidt-Hieber, christsc@gmx.de // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file stfnum.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Math functions. */ #ifndef _STFNUM_H #define _STFNUM_H #ifdef _WINDOWS #pragma warning( disable : 4251 ) // Disable warning messages #endif #include #include #include #include #ifdef _OPENMP #include #endif #include #ifdef _MSC_VER #define INFINITY (DBL_MAX+DBL_MAX) #ifndef NAN static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff}; #define NAN (*(const float *) __nan) #endif #endif #include "../libstfio/stfio.h" #include "./spline.h" namespace stfnum { /*! \addtogroup stfgen * @{ */ //! A function taking a double and a vector and returning a double. /*! Type definition for a function (or, to be precise, any 'callable entity') * that takes a double (the x-value) and a vector of parameters and returns * the function's result (the y-value). */ typedef boost::function Func; //! The jacobian of a stfnum::Func. typedef boost::function Jac; //! Scaling function for fit parameters typedef boost::function Scale; //! Dummy function, serves as a placeholder to initialize functions without a Jacobian. Vector_double nojac( double x, const Vector_double& p); //! Dummy function, serves as a placeholder to initialize parameters without a scaling function. double noscale(double param, double xscale, double xoff, double yscale, double yoff); //! Information about parameters used in storedFunc /*! Contains information about a function's parameters used * in storedFunc (see below). The client supplies a description * (desc) and determines whether the parameter is to be * fitted (toFit==true) or to be kept constant (toFit==false). */ struct parInfo { //! Default constructor parInfo() : desc(""),toFit(true), constrained(false), constr_lb(0), constr_ub(0), scale(noscale), unscale(noscale) {} //! Constructor /*! \param desc_ Parameter description string * \param toFit_ true if this parameter should be fitted, false if * it should be kept fixed. * \param constrained_ true if this is a constrained fit * \param constr_lb_ lower bound for constrained fit * \param constr_ub_ upper bound for constrained fit * \param scale_ scaling function * \param unscale_ unscaling function */ parInfo( const std::string& desc_, bool toFit_, bool constrained_ = false, double constr_lb_ = 0, double constr_ub_ = 0, Scale scale_ = noscale, Scale unscale_ = noscale) : desc(desc_),toFit(toFit_), constrained(false), constr_lb(constr_lb_), constr_ub(constr_ub_), scale(scale_), unscale(unscale_) {} std::string desc; /*!< Parameter description string */ bool toFit; /*!< true if this parameter should be fitted, false if it should be kept fixed. */ bool constrained; /*!< true if this parameter should be constrained */ double constr_lb; /*!< Lower boundary for box-constrained fits */ double constr_ub; /*!< Upper boundary for box-constrained fits */ Scale scale; /*!< Scaling function for this parameter */ Scale unscale; /*!< Unscaling function for this parameter */ }; //! A table used for printing information. /*! Members will throw std::out_of_range if out of range. */ class StfioDll Table { public: //! Constructor /*! \param nRows Initial number of rows. * \param nCols Initial number of columns. */ Table(std::size_t nRows,std::size_t nCols); //! Constructor /*! \param map A map used to initialise the table. */ Table(const std::map< std::string, double >& map); //! Range-checked access. Returns a copy. Throws std::out_of_range if out of range. /*! \param row 0-based row index. * \param col 0-based column index. * \return A copy of the double at row, col. */ double at(std::size_t row,std::size_t col) const; //! Range-checked access. Returns a reference. Throws std::out_of_range if out of range. /*! \param row 0-based row index. * \param col 0-based column index. * \return A reference to the double at row, col. */ double& at(std::size_t row,std::size_t col); //! Check whether a cell is empty. /*! \param row 0-based row index. * \param col 0-based column index. * \return true if empty, false otherwise. */ bool IsEmpty(std::size_t row,std::size_t col) const; //! Empties or un-empties a cell. /*! \param row 0-based row index. * \param col 0-based column index. * \param value true if the cell should be empty, false otherwise. */ void SetEmpty(std::size_t row,std::size_t col,bool value=true); //! Sets the label of a row. /*! \param row 0-based row index. * \param label Row label string. */ void SetRowLabel(std::size_t row,const std::string& label); //! Sets the label of a column. /*! \param col 0-based column index. * \param label Column label string. */ void SetColLabel(std::size_t col,const std::string& label); //! Retrieves the label of a row. /*! \param row 0-based row index. * \return Row label string. */ const std::string& GetRowLabel(std::size_t row) const; //! Retrieves the label of a column. /*! \param col 0-based column index. * \return Column label string. */ const std::string& GetColLabel(std::size_t col) const; //! Retrieves the number of rows. /*! \return The number of rows. */ std::size_t nRows() const { return rowLabels.size(); } //! Retrieves the number of columns. /*! \return The number of columns. */ std::size_t nCols() const { return colLabels.size(); } //! Appends rows to the table. /*! \param nRows The number of rows to be appended. */ void AppendRows(std::size_t nRows); private: // row major order: std::vector< std::vector > values; std::vector< std::deque< bool > > empty; std::vector< std::string > rowLabels; std::vector< std::string > colLabels; }; //! Print the output of a fit into a stfnum::Table. typedef boost::function,double)> Output; //! Default fit output function, constructing a stfnum::Table from the parameters, their description and chisqr. Table defaultOutput(const Vector_double& pars, const std::vector& parsInfo, double chisqr); //! Initialising function for the parameters in stfnum::Func to start a fit. typedef boost::function Init; //! Function used for least-squares fitting. /*! Objects of this class are used for fitting functions * to data. The client supplies a function (func), its * jacobian (jac), information about the function's parameters * (pInfo) and a function to initialize the parameters (init). */ struct StfioDll storedFunc { //! Constructor /*! \param name_ Plain function name. * \param pInfo_ A vector containing information about the function parameters. * \param func_ The function that will be fitted to the data. * \param jac_ Jacobian of func_. * \param hasJac_ true if a Jacobian is available. * \param init_ A function for initialising the parameters. * \param output_ Output of the fit. */ storedFunc( const std::string& name_, const std::vector& pInfo_, const Func& func_, const Init& init_, const Jac& jac_, bool hasJac_ = true, const Output& output_ = defaultOutput /*, bool hasId_ = true*/ ) : name(name_),pInfo(pInfo_),func(func_),init(init_),jac(jac_),hasJac(hasJac_),output(output_) /*, hasId(hasId_)*/ { /* if (hasId) { id = NextId(); std::string new_name; new_name << id << ": " << name; name = new_name; } else id = 0; */ } //! Destructor ~storedFunc() { } // static int n_funcs; /*!< Static function counter */ // int id; /*!< Function id; set automatically upon construction, so don't touch. */ std::string name; /*!< Function name. */ std::vector pInfo; /*!< A vector containing information about the function parameters. */ Func func; /*!< The function that will be fitted to the data. */ Init init; /*!< A function for initialising the parameters. */ Jac jac; /*!< Jacobian of func. */ bool hasJac; /*!< True if the function has an analytic Jacobian. */ Output output; /*!< Output of the fit. */ // bool hasId; /*!< Determines whether a function should have an id. */ }; //! Calculates the square of a number. /*! \param a Argument of the function. * \return \e a ^2 */ template T SQR (T a); //! Convolves a data set with a filter function. /*! \param toFilter The valarray to be filtered. * \param filter_start The index from which to start filtering. * \param filter_end The index at which to stop filtering. * \param a A valarray of parameters for the filter function. * \param SR The sampling rate. * \param func The filter function in the frequency domain. * \param inverse true if (1- \e func) should be used as the filter function, false otherwise * \return The convolved data set. */ StfioDll Vector_double filter( const Vector_double& toFilter, std::size_t filter_start, std::size_t filter_end, const Vector_double &a, int SR, stfnum::Func func, bool inverse = false ); //! Computes a histogram /*! \param data The signal * \param nbins Number of bins in the histogram. * \return A map with lower bin limits as keys, number of observations as values. */ std::map histogram(const Vector_double& data, int nbins=-1); //! Deconvolves a template from a signal /*! \param data The input signal * \param templ The template * \param SR The sampling rate in kHz. * \param hipass Highpass filter cutoff frequency in kHz * \param lopass Lowpass filter cutoff frequency in kHz * \return The result of the deconvolution */ StfioDll Vector_double deconvolve(const Vector_double& data, const Vector_double& templ, int SR, double hipass, double lopass, stfio::ProgressInfo& progDlg); //! Interpolates a dataset using cubic splines. /*! \param y The valarray to be interpolated. * \param oldF The original sampling frequency. * \param newF The new frequency of the interpolated array. * \return The interpolated data set. */ template std::vector cubicSpline( const std::vector& y, T oldF, T newF ); //! Differentiate data. /* \param input The valarray to be differentiated. * \param x_scale The sampling interval. * \return The result of the differentiation. */ template std::vector diff(const std::vector& input, T x_scale); //! Integration using Simpson's rule. /*! \param input The valarray to be integrated. * \param a Start of the integration interval. * \param b End of the integration interval. * \param x_scale Sampling interval. * \return The integral of \e input between \e a and \e b. */ StfioDll double integrate_simpson( const Vector_double& input, std::size_t a, std::size_t b, double x_scale ); //! Integration using the trapezium rule. /*! \param input The valarray to be integrated. * \param a Start of the integration interval. * \param b End of the integration interval. * \param x_scale Sampling interval. * \return The integral of \e input between \e a and \e b. */ StfioDll double integrate_trapezium( const Vector_double& input, std::size_t a, std::size_t b, double x_scale ); //! Solves a linear equation system using LAPACK. /*! Uses column-major order for matrices. For an example, see * Section::SetIsIntegrated() * \param m Number of rows of the matrix \e A. * \param n Number of columns of the matrix \e A. * \param nrhs Number of columns of the matrix \e B. * \param A On entry, the left-hand-side matrix. On exit, * the factors L and U from the factorization * A = P*L*U; the unit diagonal elements of L are not stored. * \param B On entry, the right-hand-side matrix. On exit, the * solution to the linear equation system. * \return At present, always returns 0. */ int linsolv( int m, int n, int nrhs, Vector_double& A, Vector_double& B ); //! Solve quadratic equations for 3 adjacent sampling points /*! \param data The data vector * \param begin Start of interval to be used * \param end End of interval to be used * \return Parameters of quadratic equation */ StfioDll Vector_double quad(const Vector_double& data, std::size_t begin, std::size_t end); //! Computes the event detection criterion according to Clements & Bekkers (1997). /*! \param data The valarray from which to extract events. * \param templ A template waveform that is used for event detection. * \return The detection criterion for every value of \e data. */ StfioDll Vector_double detectionCriterion( const Vector_double& data, const Vector_double& templ, stfio::ProgressInfo& progDlg ); // TODO: Add negative-going peaks. //! Searches for positive-going peaks. /*! \param data The valarray to be searched for peaks. * \param threshold Minimal amplitude of a peak. * \param minDistance Minimal distance between subsequent peaks. * \return A vector of indices where peaks have occurred in \e data. */ StfioDll std::vector peakIndices(const Vector_double& data, double threshold, int minDistance); //! Computes the linear correlation between two arrays. /*! \param va1 First array. * \param va2 Second array. * \return The linear correlation between the two arrays for each data point of \e va1. */ StfioDll Vector_double linCorr(const Vector_double& va1, const Vector_double& va2, stfio::ProgressInfo& progDlg); //! Computes a Gaussian that can be used as a filter kernel. /*! \f[ * f(x) = \mathrm{e}^{-0.3466 \left( \frac{x}{p_{0}} \right) ^2} * \f] * \param x Argument of the function. * \param p Function parameters, where \n * \e p[0] is the corner frequency (-3 dB according to Colquhoun) * \return The evaluated function. */ StfioDll double fgaussColqu(double x, const Vector_double& p); //! Computes a Boltzmann function. /*! \f[f(x)=\frac{1}{1+\mathrm{e}^{\frac{p_0-x}{p_1}}}\f] * \param x Argument of the function. * \param p Function parameters, where \n * \e p[0] is the midpoint and \n * \e p[1] is the slope of the function. \n * \return The evaluated function. */ double fboltz(double x, const Vector_double& p); //! Computes a Bessel polynomial. /*! \f[ * f(x, n) = \sum_{k=0}^n \frac{ \left( 2n - k \right) ! }{ \left( n - k \right) ! k! } \frac{x^k}{ 2^{n-k} } * \f] * \param x Argument of the function. * \param n Order of the polynomial. \n * \return The evaluated function. */ double fbessel(double x, int n); //! Computes a 4th-order Bessel polynomial that can be used as a filter kernel. /*! \f[ * f(x) = \frac{b(0,4)}{b(\frac{0.355589x}{p_0},4)} * \f] * where \f$ b(a,n) \f$ is the bessel polynomial stfnum::fbessel(). * \param x Argument of the function. * \param p Function parameters, where \n * \e p[0] is the corner frequency (-3 dB attenuation) * \return The evaluated function. */ StfioDll double fbessel4(double x, const Vector_double& p); //! Computes the faculty of an integer. /*! \param arg Argument of the function. * \return The faculty of \e arg. */ int fac(int arg); //! Computes \f$ 2^{arg} \f$. Uses the bitwise-shift operator (<<). /*! \param arg Argument of the function. * \return \f$ 2^{arg} \f$. */ int pow2(int arg); //! The direction of peak calculations enum direction { up, /*!< Find positive-going peaks. */ down, /*!< Find negative-going peaks. */ both, /*!< Find negative- or positive-going peaks, whichever is larger. */ undefined_direction /*!< Undefined direction. */ }; //! Methods for Baseline computation enum baseline_method { mean_sd = 0, /*!< Compute mean and s.d. for Baseline and Base SD. */ median_iqr = 1 /*!< Compute median and IQR for Baseline and Base SD. */ }; /*@}*/ } typedef std::vector< stfnum::storedFunc >::const_iterator c_stfunc_it; /*!< constant stfnum::storedFunc iterator */ inline int stfnum::pow2(int arg) {return 1< void SWAP(T s1, T s2) { T aux=s1; s1=s2; s2=aux; } template std::vector stfnum::cubicSpline(const std::vector& y, T oldF, T newF) { double factor_i=newF/oldF; int size=(int)y.size(); // size of interpolated data: int size_i=(int)(size*factor_i); Vector_double x(size); Vector_double y_d(size); for (int n_p=0; n_p < size; ++n_p) { x[n_p]=n_p; y_d[n_p]=y[n_p]; } Vector_double y_i(stfnum::spline_cubic_set(x,y_d,0,0,0,0)); std::vector y_if(size_i); Vector_double x_i(size_i); //Cubic spline interpolation: for (int n_i=0; n_i < size_i; ++n_i) { x_i[n_i]=(double)n_i * (double)size/(double)size_i; double yp, ypp; y_if[n_i]=(T)stfnum::spline_cubic_val(x,x_i[n_i],y_d,y_i,yp,ypp); } return y_if; } template std::vector stfnum::diff(const std::vector& input, T x_scale) { std::vector diffVA(input.size()-1); for (unsigned n=0;n inline T stfnum::SQR(T a) {return a*a;} #endif stimfit-0.14.11/src/libstfnum/fit.h0000755000175200017520000001054512472352307014024 00000000000000// Header file for the stimfit namespace // Routines for fitting functions to data // last revision: 08-08-2006 // C. Schmidt-Hieber, christsc@gmx.de // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file fit.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Functions for linear and non-linear regression. */ #ifndef _FITLIB_H #define _FITLIB_H #include "./stfnum.h" #include namespace stfnum { /*! \addtogroup stfgen * @{ */ //! Performs a linear fit. /*! \param x The x- values of the data that are to be fitted. * \param y The y- values of the data that are to be fitted. * \param m On exit, the slope of the regression line. * \param c On exit, the y-intercept of the regression line. * \return A valarray containing the waveform of the fitted function. */ template T linFit( const std::vector& x, const std::vector& y, T& m, T& c ); //! Uses the Levenberg-Marquardt algorithm to perform a non-linear least-squares fit. /*! \param data A valarray containing the data. * \param dt The sampling interval of \e data. * \param fitFunc An stfnum::storedFunc to be fitted to \e data. * \param opts Options controlling Lourakis' implementation of the algorithm. * \param use_scaling Whether to scale x and y-amplitudes to 1.0 * \param p \e func's parameters. Should be set to an initial guess * on entry. Will contain the best-fit values on exit. * \param info Information about why the fit stopped iterating * \param warning A warning code on return. * \return The sum of squred errors between \e data and the best-fit function. */ double StfioDll lmFit(const Vector_double& data, double dt, const stfnum::storedFunc& fitFunc, const Vector_double& opts, bool use_scaling, Vector_double& p, std::string& info, int& warning ); //! Linear function. /*! \f[f(x)=p_0 x + p_1\f] * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the slope and \n * \e p[1] is the y intersection. * \return The evaluated function. */ double flin(double x, const Vector_double& p); //! Dummy function to be passed to stfnum::storedFunc for linear functions. void flin_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! initializes a linear function /*! \return An stfnum::storedFunc that can be used to store a linear function after a fit */ StfioDll stfnum::storedFunc initLinFunc(); //! Compute and perform normalisation /*! \param data Data vector; will be scaled upon return * \param oldx original x interval * \return A vector with \n * [0] x scale * [1] x offset * [2] y scale * [3] y offset */ Vector_double get_scale(Vector_double& data, double oldx); //! Return default LM options /*! \return Default LM options */ Vector_double LM_default_opts(); } template T stfnum::linFit(const std::vector& x, const std::vector& y, T& m, T& c) { double sum_x=0.0; double sum_y=0.0; double sum_xx=0.0; double sum_xy=0.0; for (unsigned n=0;n&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/libstfnum DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/stfconf.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkglibdir)" LTLIBRARIES = $(pkglib_LTLIBRARIES) am__DEPENDENCIES_1 = libstfnum_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am_libstfnum_la_OBJECTS = fit.lo lm.lo Axb.lo misc.lo lmlec.lo lmbc.lo \ funclib.lo stfnum.lo measure.lo libstfnum_la_OBJECTS = $(am_libstfnum_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libstfnum_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(libstfnum_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libstfnum_la_SOURCES) DIST_SOURCES = $(libstfnum_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @BUILD_MODULE_TRUE@pkglibdir = ${PYTHON_TARGET_DIR}/stfio ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ GT_CPPFLAGS = @GT_CPPFLAGS@ GT_CXXFLAGS = @GT_CXXFLAGS@ GT_LDFLAGS = @GT_LDFLAGS@ GT_LIBS = @GT_LIBS@ HDF5_CFLAGS = @HDF5_CFLAGS@ HDF5_LIBS = @HDF5_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBBIOSIG_LDFLAGS = @LIBBIOSIG_LDFLAGS@ LIBHDF5_LDFLAGS = @LIBHDF5_LDFLAGS@ LIBLAPACK_LDFLAGS = @LIBLAPACK_LDFLAGS@ LIBNUMPY_INCLUDES = @LIBNUMPY_INCLUDES@ LIBOBJS = @LIBOBJS@ LIBPYTHON_INCLUDES = @LIBPYTHON_INCLUDES@ LIBPYTHON_LDFLAGS = @LIBPYTHON_LDFLAGS@ LIBS = @LIBS@ LIBSTF_LDFLAGS = @LIBSTF_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MACSETFILE = @MACSETFILE@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPT_CXXFLAGS = @OPT_CXXFLAGS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTLINK_COMMAND = @POSTLINK_COMMAND@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_DIST_PKG = @PYTHON_DIST_PKG@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ PYTHON_NUMPY_INCLUDE = @PYTHON_NUMPY_INCLUDE@ PYTHON_PRE_DIST_PKG = @PYTHON_PRE_DIST_PKG@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ PY_AC_VERSION = @PY_AC_VERSION@ RANLIB = @RANLIB@ REZ = @REZ@ SED = @SED@ SETFILE = @SETFILE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STFIO_PYTHON_LIBNAME = @STFIO_PYTHON_LIBNAME@ STF_PYTHON_LIBNAME = @STF_PYTHON_LIBNAME@ STRIP = @STRIP@ SWIG = @SWIG@ SWIG_LIB = @SWIG_LIB@ SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@ SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@ VERSION = @VERSION@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @BUILD_MODULE_TRUE@@ISDARWIN_FALSE@PYTHON_TARGET_DIR = ${PYTHON_PRE_DIST_PKG} @BUILD_MODULE_TRUE@@ISDARWIN_TRUE@PYTHON_TARGET_DIR = ${PYTHON_DIST_PKG} # PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} @BUILD_MODULE_TRUE@PYTHON_DEST_DIR = ${DESTDIR}${PYTHON_TARGET_DIR} pkglib_LTLIBRARIES = libstfnum.la libstfnum_la_SOURCES = ./fit.cpp \ ./levmar/lm.c ./levmar/Axb.c ./levmar/misc.c ./levmar/lmlec.c ./levmar/lmbc.c \ ./funclib.cpp ./stfnum.cpp ./measure.cpp libstfnum_la_LDFLAGS = $(LIBLAPACK_LDFLAGS) libstfnum_la_LIBADD = $(LIBSTF_LDFLAGS) -lfftw3 all: all-am .SUFFIXES: .SUFFIXES: .c .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/libstfnum/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/libstfnum/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ } uninstall-pkglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ done clean-pkglibLTLIBRARIES: -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) @list='$(pkglib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libstfnum.la: $(libstfnum_la_OBJECTS) $(libstfnum_la_DEPENDENCIES) $(EXTRA_libstfnum_la_DEPENDENCIES) $(AM_V_CXXLD)$(libstfnum_la_LINK) -rpath $(pkglibdir) $(libstfnum_la_OBJECTS) $(libstfnum_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Axb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fit.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/funclib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lmbc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lmlec.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/measure.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stfnum.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< lm.lo: ./levmar/lm.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lm.lo -MD -MP -MF $(DEPDIR)/lm.Tpo -c -o lm.lo `test -f './levmar/lm.c' || echo '$(srcdir)/'`./levmar/lm.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lm.Tpo $(DEPDIR)/lm.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./levmar/lm.c' object='lm.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lm.lo `test -f './levmar/lm.c' || echo '$(srcdir)/'`./levmar/lm.c Axb.lo: ./levmar/Axb.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT Axb.lo -MD -MP -MF $(DEPDIR)/Axb.Tpo -c -o Axb.lo `test -f './levmar/Axb.c' || echo '$(srcdir)/'`./levmar/Axb.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Axb.Tpo $(DEPDIR)/Axb.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./levmar/Axb.c' object='Axb.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o Axb.lo `test -f './levmar/Axb.c' || echo '$(srcdir)/'`./levmar/Axb.c misc.lo: ./levmar/misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc.lo -MD -MP -MF $(DEPDIR)/misc.Tpo -c -o misc.lo `test -f './levmar/misc.c' || echo '$(srcdir)/'`./levmar/misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/misc.Tpo $(DEPDIR)/misc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./levmar/misc.c' object='misc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc.lo `test -f './levmar/misc.c' || echo '$(srcdir)/'`./levmar/misc.c lmlec.lo: ./levmar/lmlec.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmlec.lo -MD -MP -MF $(DEPDIR)/lmlec.Tpo -c -o lmlec.lo `test -f './levmar/lmlec.c' || echo '$(srcdir)/'`./levmar/lmlec.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmlec.Tpo $(DEPDIR)/lmlec.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./levmar/lmlec.c' object='lmlec.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmlec.lo `test -f './levmar/lmlec.c' || echo '$(srcdir)/'`./levmar/lmlec.c lmbc.lo: ./levmar/lmbc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lmbc.lo -MD -MP -MF $(DEPDIR)/lmbc.Tpo -c -o lmbc.lo `test -f './levmar/lmbc.c' || echo '$(srcdir)/'`./levmar/lmbc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lmbc.Tpo $(DEPDIR)/lmbc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./levmar/lmbc.c' object='lmbc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lmbc.lo `test -f './levmar/lmbc.c' || echo '$(srcdir)/'`./levmar/lmbc.c .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< fit.lo: ./fit.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fit.lo -MD -MP -MF $(DEPDIR)/fit.Tpo -c -o fit.lo `test -f './fit.cpp' || echo '$(srcdir)/'`./fit.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fit.Tpo $(DEPDIR)/fit.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./fit.cpp' object='fit.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fit.lo `test -f './fit.cpp' || echo '$(srcdir)/'`./fit.cpp funclib.lo: ./funclib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT funclib.lo -MD -MP -MF $(DEPDIR)/funclib.Tpo -c -o funclib.lo `test -f './funclib.cpp' || echo '$(srcdir)/'`./funclib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/funclib.Tpo $(DEPDIR)/funclib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./funclib.cpp' object='funclib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o funclib.lo `test -f './funclib.cpp' || echo '$(srcdir)/'`./funclib.cpp stfnum.lo: ./stfnum.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stfnum.lo -MD -MP -MF $(DEPDIR)/stfnum.Tpo -c -o stfnum.lo `test -f './stfnum.cpp' || echo '$(srcdir)/'`./stfnum.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stfnum.Tpo $(DEPDIR)/stfnum.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./stfnum.cpp' object='stfnum.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stfnum.lo `test -f './stfnum.cpp' || echo '$(srcdir)/'`./stfnum.cpp measure.lo: ./measure.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT measure.lo -MD -MP -MF $(DEPDIR)/measure.Tpo -c -o measure.lo `test -f './measure.cpp' || echo '$(srcdir)/'`./measure.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/measure.Tpo $(DEPDIR)/measure.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./measure.cpp' object='measure.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o measure.lo `test -f './measure.cpp' || echo '$(srcdir)/'`./measure.cpp mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(pkglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done @BUILD_MODULE_TRUE@install: install-am @ISDARWIN_FALSE@install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-pkglibLTLIBRARIES install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-pkglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-pkglibLTLIBRARIES cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-pkglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-pkglibLTLIBRARIES # don't install anything because it has to go into the app bundle @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@install: # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: stimfit-0.14.11/src/libstfnum/Makefile.am0000644000175200017520000000124312472345762015124 00000000000000if BUILD_MODULE if ISDARWIN PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} else PYTHON_TARGET_DIR=${PYTHON_PRE_DIST_PKG} # PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} endif PYTHON_DEST_DIR=${DESTDIR}${PYTHON_TARGET_DIR} pkglibdir = ${PYTHON_TARGET_DIR}/stfio endif pkglib_LTLIBRARIES = libstfnum.la libstfnum_la_SOURCES = ./fit.cpp \ ./levmar/lm.c ./levmar/Axb.c ./levmar/misc.c ./levmar/lmlec.c ./levmar/lmbc.c \ ./funclib.cpp ./stfnum.cpp ./measure.cpp libstfnum_la_LDFLAGS = $(LIBLAPACK_LDFLAGS) libstfnum_la_LIBADD = $(LIBSTF_LDFLAGS) -lfftw3 if ISDARWIN # don't install anything because it has to go into the app bundle if !BUILD_MODULE install: endif endif stimfit-0.14.11/src/libstfnum/levmar/0000755000175200017520000000000012623045305014422 500000000000000stimfit-0.14.11/src/libstfnum/levmar/misc.c0000644000175200017520000000425312472345762015461 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Levenberg - Marquardt non-linear minimization algorithm // Copyright (C) 2004-05 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// /******************************************************************************** * Miscelaneous functions for Levenberg-Marquardt nonlinear minimization. The * same core code is used with appropriate #defines to derive single and double * precision versions, see also misc_core.c ********************************************************************************/ #include #include #include #include #include "levmar.h" #include "misc.h" #if !defined(LM_DBL_PREC) && !defined(LM_SNGL_PREC) #error At least one of LM_DBL_PREC, LM_SNGL_PREC should be defined! #endif #ifdef LM_SNGL_PREC /* single precision (float) definitions */ #define LM_REAL float #define LM_PREFIX s #define LM_REAL_EPSILON FLT_EPSILON #define __SUBCNST(x) x##F #define LM_CNST(x) __SUBCNST(x) // force substitution #include "misc_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef LM_REAL_EPSILON #undef __SUBCNST #undef LM_CNST #endif /* LM_SNGL_PREC */ #ifdef LM_DBL_PREC /* double precision definitions */ #define LM_REAL double #define LM_PREFIX d #define LM_REAL_EPSILON DBL_EPSILON #define LM_CNST(x) (x) #include "misc_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef LM_REAL_EPSILON #undef LM_CNST #endif /* LM_DBL_PREC */ stimfit-0.14.11/src/libstfnum/levmar/Axb.c0000644000175200017520000000435012472345762015236 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Solution of linear systems involved in the Levenberg - Marquardt // minimization algorithm // Copyright (C) 2004 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// /******************************************************************************** * LAPACK-based implementations for various linear system solvers. The same core * code is used with appropriate #defines to derive single and double precision * solver versions, see also Axb_core.c ********************************************************************************/ #include #include #include #include #include "levmar.h" #include "misc.h" #if !defined(LM_DBL_PREC) && !defined(LM_SNGL_PREC) #error At least one of LM_DBL_PREC, LM_SNGL_PREC should be defined! #endif #ifdef LM_DBL_PREC /* double precision definitions */ #define LM_REAL double #define LM_PREFIX d #define LM_CNST(x) (x) #ifndef HAVE_LAPACK #include #define LM_REAL_EPSILON DBL_EPSILON #endif #include "Axb_core.c" #undef LM_REAL #undef LM_PREFIX #undef LM_CNST #undef LM_REAL_EPSILON #endif /* LM_DBL_PREC */ #ifdef LM_SNGL_PREC /* single precision (float) definitions */ #define LM_REAL float #define LM_PREFIX s #define __SUBCNST(x) x##F #define LM_CNST(x) __SUBCNST(x) // force substitution #ifndef HAVE_LAPACK #define LM_REAL_EPSILON FLT_EPSILON #endif #include "Axb_core.c" #undef LM_REAL #undef LM_PREFIX #undef __SUBCNST #undef LM_CNST #undef LM_REAL_EPSILON #endif /* LM_SNGL_PREC */ stimfit-0.14.11/src/libstfnum/levmar/levmar.h0000644000175200017520000004472512472345762016031 00000000000000/* //////////////////////////////////////////////////////////////////////////////////// // // Prototypes and definitions for the Levenberg - Marquardt minimization algorithm // Copyright (C) 2004 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // //////////////////////////////////////////////////////////////////////////////////// */ #ifndef _LEVMAR_H_ #define _LEVMAR_H_ /************************************* Start of configuration options *************************************/ /* Note that when compiling with CMake, this configuration section is automatically generated * based on the user's input, see levmar.h.in */ /* specifies whether to use LAPACK or not. Using LAPACK is strongly recommended */ #ifndef HAVE_LAPACK #define HAVE_LAPACK #endif /* specifies whether the PLASMA parallel library for multicore CPUs is available */ /* #undef HAVE_PLASMA */ /* to avoid the overhead of repeated mallocs(), routines in Axb.c can be instructed to * retain working memory between calls. Such a choice, however, renders these routines * non-reentrant and is not safe in a shared memory multiprocessing environment. * Bellow, an attempt is made to issue a warning if this option is turned on and OpenMP * is being used (note that this will work only if omp.h is included before levmar.h) */ #define LINSOLVERS_RETAIN_MEMORY #if (defined(_OPENMP)) # ifdef LINSOLVERS_RETAIN_MEMORY # ifdef _MSC_VER # pragma message("LINSOLVERS_RETAIN_MEMORY is not safe in a multithreaded environment and should be turned off!") # else # warning LINSOLVERS_RETAIN_MEMORY is not safe in a multithreaded environment and should be turned off! # endif /* _MSC_VER */ # endif /* LINSOLVERS_RETAIN_MEMORY */ #endif /* _OPENMP */ /* specifies whether double precision routines will be compiled or not */ #define LM_DBL_PREC /* specifies whether single precision routines will be compiled or not */ #define LM_SNGL_PREC /****************** End of configuration options, no changes necessary beyond this point ******************/ #ifdef __cplusplus extern "C" { #endif /* work arrays size for ?levmar_der and ?levmar_dif functions. * should be multiplied by sizeof(double) or sizeof(float) to be converted to bytes */ #define LM_DER_WORKSZ(npar, nmeas) (2*(nmeas) + 4*(npar) + (nmeas)*(npar) + (npar)*(npar)) #define LM_DIF_WORKSZ(npar, nmeas) (4*(nmeas) + 4*(npar) + (nmeas)*(npar) + (npar)*(npar)) /* work arrays size for ?levmar_bc_der and ?levmar_bc_dif functions. * should be multiplied by sizeof(double) or sizeof(float) to be converted to bytes */ #define LM_BC_DER_WORKSZ(npar, nmeas) (2*(nmeas) + 4*(npar) + (nmeas)*(npar) + (npar)*(npar)) #define LM_BC_DIF_WORKSZ(npar, nmeas) LM_BC_DER_WORKSZ((npar), (nmeas)) /* LEVMAR_BC_DIF currently implemented using LEVMAR_BC_DER()! */ /* work arrays size for ?levmar_lec_der and ?levmar_lec_dif functions. * should be multiplied by sizeof(double) or sizeof(float) to be converted to bytes */ #define LM_LEC_DER_WORKSZ(npar, nmeas, nconstr) LM_DER_WORKSZ((npar)-(nconstr), (nmeas)) #define LM_LEC_DIF_WORKSZ(npar, nmeas, nconstr) LM_DIF_WORKSZ((npar)-(nconstr), (nmeas)) /* work arrays size for ?levmar_blec_der and ?levmar_blec_dif functions. * should be multiplied by sizeof(double) or sizeof(float) to be converted to bytes */ #define LM_BLEC_DER_WORKSZ(npar, nmeas, nconstr) LM_LEC_DER_WORKSZ((npar), (nmeas)+(npar), (nconstr)) #define LM_BLEC_DIF_WORKSZ(npar, nmeas, nconstr) LM_LEC_DIF_WORKSZ((npar), (nmeas)+(npar), (nconstr)) /* work arrays size for ?levmar_bleic_der and ?levmar_bleic_dif functions. * should be multiplied by sizeof(double) or sizeof(float) to be converted to bytes */ #define LM_BLEIC_DER_WORKSZ(npar, nmeas, nconstr1, nconstr2) LM_BLEC_DER_WORKSZ((npar)+(nconstr2), (nmeas)+(nconstr2), (nconstr1)+(nconstr2)) #define LM_BLEIC_DIF_WORKSZ(npar, nmeas, nconstr1, nconstr2) LM_BLEC_DIF_WORKSZ((npar)+(nconstr2), (nmeas)+(nconstr2), (nconstr1)+(nconstr2)) #define LM_OPTS_SZ 5 /* max(4, 5) */ #define LM_INFO_SZ 10 #define LM_ERROR -1 #define LM_INIT_MU 1E-03 #define LM_STOP_THRESH 1E-17 #define LM_DIFF_DELTA 1E-06 #define LM_VERSION "2.6 (November 2011)" #ifdef LM_DBL_PREC /* double precision LM, with & without Jacobian */ /* unconstrained minimization */ extern int dlevmar_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, int itmax, double *opts, double *info, double *work, double *covar, void *adata); extern int dlevmar_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, int itmax, double *opts, double *info, double *work, double *covar, void *adata); /* box-constrained minimization */ extern int dlevmar_bc_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *dscl, int itmax, double *opts, double *info, double *work, double *covar, void *adata); extern int dlevmar_bc_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *dscl, int itmax, double *opts, double *info, double *work, double *covar, void *adata); #ifdef HAVE_LAPACK /* linear equation constrained minimization */ extern int dlevmar_lec_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *A, double *b, int k, int itmax, double *opts, double *info, double *work, double *covar, void *adata); extern int dlevmar_lec_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *A, double *b, int k, int itmax, double *opts, double *info, double *work, double *covar, void *adata); /* box & linear equation constrained minimization */ extern int dlevmar_blec_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *A, double *b, int k, double *wghts, int itmax, double *opts, double *info, double *work, double *covar, void *adata); extern int dlevmar_blec_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *A, double *b, int k, double *wghts, int itmax, double *opts, double *info, double *work, double *covar, void *adata); /* box, linear equations & inequalities constrained minimization */ extern int dlevmar_bleic_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *A, double *b, int k1, double *C, double *d, int k2, int itmax, double *opts, double *info, double *work, double *covar, void *adata); extern int dlevmar_bleic_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *A, double *b, int k1, double *C, double *d, int k2, int itmax, double *opts, double *info, double *work, double *covar, void *adata); /* box & linear inequality constraints */ extern int dlevmar_blic_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *C, double *d, int k2, int itmax, double opts[4], double info[LM_INFO_SZ], double *work, double *covar, void *adata); extern int dlevmar_blic_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, double *C, double *d, int k2, int itmax, double opts[5], double info[LM_INFO_SZ], double *work, double *covar, void *adata); /* linear equation & inequality constraints */ extern int dlevmar_leic_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *A, double *b, int k1, double *C, double *d, int k2, int itmax, double opts[4], double info[LM_INFO_SZ], double *work, double *covar, void *adata); extern int dlevmar_leic_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *A, double *b, int k1, double *C, double *d, int k2, int itmax, double opts[5], double info[LM_INFO_SZ], double *work, double *covar, void *adata); /* linear inequality constraints */ extern int dlevmar_lic_der( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *C, double *d, int k2, int itmax, double opts[4], double info[LM_INFO_SZ], double *work, double *covar, void *adata); extern int dlevmar_lic_dif( void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *C, double *d, int k2, int itmax, double opts[5], double info[LM_INFO_SZ], double *work, double *covar, void *adata); #endif /* HAVE_LAPACK */ #endif /* LM_DBL_PREC */ #ifdef LM_SNGL_PREC /* single precision LM, with & without Jacobian */ /* unconstrained minimization */ extern int slevmar_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, int itmax, float *opts, float *info, float *work, float *covar, void *adata); extern int slevmar_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, int itmax, float *opts, float *info, float *work, float *covar, void *adata); /* box-constrained minimization */ extern int slevmar_bc_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *dscl, int itmax, float *opts, float *info, float *work, float *covar, void *adata); extern int slevmar_bc_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *dscl, int itmax, float *opts, float *info, float *work, float *covar, void *adata); #ifdef HAVE_LAPACK /* linear equation constrained minimization */ extern int slevmar_lec_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, float *A, float *b, int k, int itmax, float *opts, float *info, float *work, float *covar, void *adata); extern int slevmar_lec_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, float *A, float *b, int k, int itmax, float *opts, float *info, float *work, float *covar, void *adata); /* box & linear equation constrained minimization */ extern int slevmar_blec_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *A, float *b, int k, float *wghts, int itmax, float *opts, float *info, float *work, float *covar, void *adata); extern int slevmar_blec_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *A, float *b, int k, float *wghts, int itmax, float *opts, float *info, float *work, float *covar, void *adata); /* box, linear equations & inequalities constrained minimization */ extern int slevmar_bleic_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *A, float *b, int k1, float *C, float *d, int k2, int itmax, float *opts, float *info, float *work, float *covar, void *adata); extern int slevmar_bleic_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *A, float *b, int k1, float *C, float *d, int k2, int itmax, float *opts, float *info, float *work, float *covar, void *adata); /* box & linear inequality constraints */ extern int slevmar_blic_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *C, float *d, int k2, int itmax, float opts[4], float info[LM_INFO_SZ], float *work, float *covar, void *adata); extern int slevmar_blic_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, float *lb, float *ub, float *C, float *d, int k2, int itmax, float opts[5], float info[LM_INFO_SZ], float *work, float *covar, void *adata); /* linear equality & inequality constraints */ extern int slevmar_leic_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, float *A, float *b, int k1, float *C, float *d, int k2, int itmax, float opts[4], float info[LM_INFO_SZ], float *work, float *covar, void *adata); extern int slevmar_leic_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, float *A, float *b, int k1, float *C, float *d, int k2, int itmax, float opts[5], float info[LM_INFO_SZ], float *work, float *covar, void *adata); /* linear inequality constraints */ extern int slevmar_lic_der( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, float *x, int m, int n, float *C, float *d, int k2, int itmax, float opts[4], float info[LM_INFO_SZ], float *work, float *covar, void *adata); extern int slevmar_lic_dif( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, float *C, float *d, int k2, int itmax, float opts[5], float info[LM_INFO_SZ], float *work, float *covar, void *adata); #endif /* HAVE_LAPACK */ #endif /* LM_SNGL_PREC */ /* linear system solvers */ #ifdef HAVE_LAPACK #ifdef LM_DBL_PREC extern int dAx_eq_b_QR(double *A, double *B, double *x, int m); extern int dAx_eq_b_QRLS(double *A, double *B, double *x, int m, int n); extern int dAx_eq_b_Chol(double *A, double *B, double *x, int m); extern int dAx_eq_b_LU(double *A, double *B, double *x, int m); extern int dAx_eq_b_SVD(double *A, double *B, double *x, int m); extern int dAx_eq_b_BK(double *A, double *B, double *x, int m); #endif /* LM_DBL_PREC */ #ifdef LM_SNGL_PREC extern int sAx_eq_b_QR(float *A, float *B, float *x, int m); extern int sAx_eq_b_QRLS(float *A, float *B, float *x, int m, int n); extern int sAx_eq_b_Chol(float *A, float *B, float *x, int m); extern int sAx_eq_b_LU(float *A, float *B, float *x, int m); extern int sAx_eq_b_SVD(float *A, float *B, float *x, int m); extern int sAx_eq_b_BK(float *A, float *B, float *x, int m); #endif /* LM_SNGL_PREC */ #else /* no LAPACK */ #ifdef LM_DBL_PREC extern int dAx_eq_b_LU_noLapack(double *A, double *B, double *x, int n); #endif /* LM_DBL_PREC */ #ifdef LM_SNGL_PREC extern int sAx_eq_b_LU_noLapack(float *A, float *B, float *x, int n); #endif /* LM_SNGL_PREC */ #endif /* HAVE_LAPACK */ #ifdef HAVE_PLASMA #ifdef LM_DBL_PREC extern int dAx_eq_b_PLASMA_Chol(double *A, double *B, double *x, int m); #endif #ifdef LM_SNGL_PREC extern int sAx_eq_b_PLASMA_Chol(float *A, float *B, float *x, int m); #endif extern void levmar_PLASMA_setnbcores(int cores); #endif /* HAVE_PLASMA */ /* Jacobian verification, double & single precision */ #ifdef LM_DBL_PREC extern void dlevmar_chkjac( void (*func)(double *p, double *hx, int m, int n, void *adata), void (*jacf)(double *p, double *j, int m, int n, void *adata), double *p, int m, int n, void *adata, double *err); #endif /* LM_DBL_PREC */ #ifdef LM_SNGL_PREC extern void slevmar_chkjac( void (*func)(float *p, float *hx, int m, int n, void *adata), void (*jacf)(float *p, float *j, int m, int n, void *adata), float *p, int m, int n, void *adata, float *err); #endif /* LM_SNGL_PREC */ /* miscellaneous: standard deviation, coefficient of determination (R2), * Pearson's correlation coefficient for best-fit parameters */ #ifdef LM_DBL_PREC extern double dlevmar_stddev( double *covar, int m, int i); extern double dlevmar_corcoef(double *covar, int m, int i, int j); extern double dlevmar_R2(void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, void *adata); #endif /* LM_DBL_PREC */ #ifdef LM_SNGL_PREC extern float slevmar_stddev( float *covar, int m, int i); extern float slevmar_corcoef(float *covar, int m, int i, int j); extern float slevmar_R2(void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, void *adata); extern void slevmar_locscale( void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *x, int m, int n, void *adata, int howto, float locscl[2], float **residptr); extern int slevmar_outlid(float *r, int n, float thresh, float ls[2], char *outlmap); #endif /* LM_SNGL_PREC */ #ifdef __cplusplus } #endif #endif /* _LEVMAR_H_ */ stimfit-0.14.11/src/libstfnum/levmar/lm.c0000644000175200017520000000465212472345762015141 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Levenberg - Marquardt non-linear minimization algorithm // Copyright (C) 2004 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// /******************************************************************************** * Levenberg-Marquardt nonlinear minimization. The same core code is used with * appropriate #defines to derive single and double precision versions, see * also lm_core.c ********************************************************************************/ #include #include #include #include #include "levmar.h" #include "compiler.h" #include "misc.h" #define EPSILON 1E-12 #define ONE_THIRD 0.3333333334 /* 1.0/3.0 */ #if !defined(LM_DBL_PREC) && !defined(LM_SNGL_PREC) #error At least one of LM_DBL_PREC, LM_SNGL_PREC should be defined! #endif #ifdef LM_SNGL_PREC /* single precision (float) definitions */ #define LM_REAL float #define LM_PREFIX s #define LM_REAL_MAX FLT_MAX #define LM_REAL_MIN -FLT_MAX #define LM_REAL_EPSILON FLT_EPSILON #define __SUBCNST(x) x##F #define LM_CNST(x) __SUBCNST(x) // force substitution #include "lm_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef LM_REAL_MAX #undef LM_REAL_EPSILON #undef LM_REAL_MIN #undef __SUBCNST #undef LM_CNST #endif /* LM_SNGL_PREC */ #ifdef LM_DBL_PREC /* double precision definitions */ #define LM_REAL double #define LM_PREFIX d #define LM_REAL_MAX DBL_MAX #define LM_REAL_MIN -DBL_MAX #define LM_REAL_EPSILON DBL_EPSILON #define LM_CNST(x) (x) #include "lm_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef LM_REAL_MAX #undef LM_REAL_EPSILON #undef LM_REAL_MIN #undef LM_CNST #endif /* LM_DBL_PREC */ stimfit-0.14.11/src/libstfnum/levmar/misc.h0000644000175200017520000001110012472345762015453 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Levenberg - Marquardt non-linear minimization algorithm // Copyright (C) 2004 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// #ifndef _MISC_H_ #define _MISC_H_ /* common suffix for LAPACK subroutines. Define empty in case of no prefix. */ #define LM_LAPACK_SUFFIX _ //#define LM_LAPACK_SUFFIX // define empty /* common prefix for BLAS subroutines. Leave undefined in case of no prefix. * You might also need to modify LM_BLAS_PREFIX below */ /* f2c'd BLAS */ //#define LM_BLAS_PREFIX f2c_ /* C BLAS */ //#define LM_BLAS_PREFIX cblas_ /* common suffix for BLAS subroutines */ //#define LM_BLAS_SUFFIX // define empty if a f2c_ or cblas_ prefix was defined for LM_BLAS_PREFIX above #define LM_BLAS_SUFFIX _ // use this in case of no BLAS prefix #define LCAT_(a, b) #a b #define LCAT(a, b) LCAT_(a, b) // force substitution #define RCAT_(a, b) a #b #define RCAT(a, b) RCAT_(a, b) // force substitution #define LM_MK_LAPACK_NAME(s) LM_ADD_PREFIX(LM_CAT_(s, LM_LAPACK_SUFFIX)) #ifdef LM_BLAS_PREFIX #define LM_MK_BLAS_NAME(s) LM_CAT_(LM_BLAS_PREFIX, LM_ADD_PREFIX(LM_CAT_(s, LM_BLAS_SUFFIX))) #else #define LM_MK_BLAS_NAME(s) LM_ADD_PREFIX(LM_CAT_(s, LM_BLAS_SUFFIX)) #endif #define __BLOCKSZ__ 32 /* block size for cache-friendly matrix-matrix multiply. It should be * such that __BLOCKSZ__^2*sizeof(LM_REAL) is smaller than the CPU (L1) * data cache size. Notice that a value of 32 when LM_REAL=double assumes * an 8Kb L1 data cache (32*32*8=8K). This is a concervative choice since * newer Pentium 4s have a L1 data cache of size 16K, capable of holding * up to 45x45 double blocks. */ #define __BLOCKSZ__SQ (__BLOCKSZ__)*(__BLOCKSZ__) /* add a prefix in front of a token */ #define LM_CAT__(a, b) a ## b #define LM_CAT_(a, b) LM_CAT__(a, b) // force substitution #define LM_ADD_PREFIX(s) LM_CAT_(LM_PREFIX, s) #define FABS(x) (((x)>=0.0)? (x) : -(x)) #ifdef __cplusplus extern "C" { #endif /* blocking-based matrix multiply */ extern void slevmar_trans_mat_mat_mult(float *a, float *b, int n, int m); extern void dlevmar_trans_mat_mat_mult(double *a, double *b, int n, int m); /* forward finite differences */ extern void slevmar_fdif_forw_jac_approx(void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *hx, float *hxx, float delta, float *jac, int m, int n, void *adata); extern void dlevmar_fdif_forw_jac_approx(void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *hx, double *hxx, double delta, double *jac, int m, int n, void *adata); /* central finite differences */ extern void slevmar_fdif_cent_jac_approx(void (*func)(float *p, float *hx, int m, int n, void *adata), float *p, float *hxm, float *hxp, float delta, float *jac, int m, int n, void *adata); extern void dlevmar_fdif_cent_jac_approx(void (*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *hxm, double *hxp, double delta, double *jac, int m, int n, void *adata); /* e=x-y and ||e|| */ extern float slevmar_L2nrmxmy(float *e, float *x, float *y, int n); extern double dlevmar_L2nrmxmy(double *e, double *x, double *y, int n); /* covariance of LS fit */ extern int slevmar_covar(float *JtJ, float *C, float sumsq, int m, int n); extern int dlevmar_covar(double *JtJ, double *C, double sumsq, int m, int n); /* box constraints consistency check */ extern int slevmar_box_check(float *lb, float *ub, int m); extern int dlevmar_box_check(double *lb, double *ub, int m); /* Cholesky */ extern int slevmar_chol(float *C, float *W, int m); extern int dlevmar_chol(double *C, double *W, int m); #ifdef __cplusplus } #endif #endif /* _MISC_H_ */ stimfit-0.14.11/src/libstfnum/levmar/misc_core.c0000644000175200017520000006000512472345762016466 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Levenberg - Marquardt non-linear minimization algorithm // Copyright (C) 2004-05 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// #ifndef LM_REAL // not included by misc.c #error This file should not be compiled directly! #endif /* precision-specific definitions */ #define LEVMAR_CHKJAC LM_ADD_PREFIX(levmar_chkjac) #define LEVMAR_FDIF_FORW_JAC_APPROX LM_ADD_PREFIX(levmar_fdif_forw_jac_approx) #define LEVMAR_FDIF_CENT_JAC_APPROX LM_ADD_PREFIX(levmar_fdif_cent_jac_approx) #define LEVMAR_TRANS_MAT_MAT_MULT LM_ADD_PREFIX(levmar_trans_mat_mat_mult) #define LEVMAR_COVAR LM_ADD_PREFIX(levmar_covar) #define LEVMAR_STDDEV LM_ADD_PREFIX(levmar_stddev) #define LEVMAR_CORCOEF LM_ADD_PREFIX(levmar_corcoef) #define LEVMAR_R2 LM_ADD_PREFIX(levmar_R2) #define LEVMAR_BOX_CHECK LM_ADD_PREFIX(levmar_box_check) #define LEVMAR_L2NRMXMY LM_ADD_PREFIX(levmar_L2nrmxmy) #ifdef HAVE_LAPACK #define LEVMAR_PSEUDOINVERSE LM_ADD_PREFIX(levmar_pseudoinverse) static int LEVMAR_PSEUDOINVERSE(LM_REAL *A, LM_REAL *B, int m); #ifdef __cplusplus extern "C" { #endif /* BLAS matrix multiplication, LAPACK SVD & Cholesky routines */ #define GEMM LM_MK_BLAS_NAME(gemm) /* C := alpha*op( A )*op( B ) + beta*C */ extern void GEMM(char *transa, char *transb, int *m, int *n, int *k, LM_REAL *alpha, LM_REAL *a, int *lda, LM_REAL *b, int *ldb, LM_REAL *beta, LM_REAL *c, int *ldc); #define GESVD LM_MK_LAPACK_NAME(gesvd) #define GESDD LM_MK_LAPACK_NAME(gesdd) extern int GESVD(char *jobu, char *jobvt, int *m, int *n, LM_REAL *a, int *lda, LM_REAL *s, LM_REAL *u, int *ldu, LM_REAL *vt, int *ldvt, LM_REAL *work, int *lwork, int *info); /* lapack 3.0 new SVD routine, faster than xgesvd() */ extern int GESDD(char *jobz, int *m, int *n, LM_REAL *a, int *lda, LM_REAL *s, LM_REAL *u, int *ldu, LM_REAL *vt, int *ldvt, LM_REAL *work, int *lwork, int *iwork, int *info); /* Cholesky decomposition */ #define POTF2 LM_MK_LAPACK_NAME(potf2) extern int POTF2(char *uplo, int *n, LM_REAL *a, int *lda, int *info); #ifdef __cplusplus } #endif #define LEVMAR_CHOLESKY LM_ADD_PREFIX(levmar_chol) #else /* !HAVE_LAPACK */ #define LEVMAR_LUINVERSE LM_ADD_PREFIX(levmar_LUinverse_noLapack) static int LEVMAR_LUINVERSE(LM_REAL *A, LM_REAL *B, int m); #endif /* HAVE_LAPACK */ /* blocked multiplication of the transpose of the nxm matrix a with itself (i.e. a^T a) * using a block size of bsize. The product is returned in b. * Since a^T a is symmetric, its computation can be sped up by computing only its * upper triangular part and copying it to the lower part. * * More details on blocking can be found at * http://www-2.cs.cmu.edu/afs/cs/academic/class/15213-f02/www/R07/section_a/Recitation07-SectionA.pdf */ void LEVMAR_TRANS_MAT_MAT_MULT(LM_REAL *a, LM_REAL *b, int n, int m) { #ifdef HAVE_LAPACK /* use BLAS matrix multiply */ LM_REAL alpha=LM_CNST(1.0), beta=LM_CNST(0.0); /* Fool BLAS to compute a^T*a avoiding transposing a: a is equivalent to a^T in column major, * therefore BLAS computes a*a^T with a and a*a^T in column major, which is equivalent to * computing a^T*a in row major! */ GEMM("N", "T", &m, &m, &n, &alpha, a, &m, a, &m, &beta, b, &m); #else /* no LAPACK, use blocking-based multiply */ register int i, j, k, jj, kk; register LM_REAL sum, *bim, *akm; const int bsize=__BLOCKSZ__; #define __MIN__(x, y) (((x)<=(y))? (x) : (y)) #define __MAX__(x, y) (((x)>=(y))? (x) : (y)) /* compute upper triangular part using blocking */ for(jj=0; jj R^n: Given a p in R^m it yields hx in R^n * jacf points to a function implementing the Jacobian of func, whose correctness * is to be tested. Given a p in R^m, jacf computes into the nxm matrix j the * Jacobian of func at p. Note that row i of j corresponds to the gradient of * the i-th component of func, evaluated at p. * p is an input array of length m containing the point of evaluation. * m is the number of variables * n is the number of functions * adata points to possible additional data and is passed uninterpreted * to func, jacf. * err is an array of length n. On output, err contains measures * of correctness of the respective gradients. if there is * no severe loss of significance, then if err[i] is 1.0 the * i-th gradient is correct, while if err[i] is 0.0 the i-th * gradient is incorrect. For values of err between 0.0 and 1.0, * the categorization is less certain. In general, a value of * err[i] greater than 0.5 indicates that the i-th gradient is * probably correct, while a value of err[i] less than 0.5 * indicates that the i-th gradient is probably incorrect. * * * The function does not perform reliably if cancellation or * rounding errors cause a severe loss of significance in the * evaluation of a function. therefore, none of the components * of p should be unusually small (in particular, zero) or any * other value which may cause loss of significance. */ void LEVMAR_CHKJAC( void (*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), void (*jacf)(LM_REAL *p, LM_REAL *j, int m, int n, void *adata), LM_REAL *p, int m, int n, void *adata, LM_REAL *err) { LM_REAL factor=LM_CNST(100.0); LM_REAL one=LM_CNST(1.0); LM_REAL zero=LM_CNST(0.0); LM_REAL *fvec, *fjac, *pp, *fvecp, *buf; register int i, j; LM_REAL eps, epsf, temp, epsmch; LM_REAL epslog; int fvec_sz=n, fjac_sz=n*m, pp_sz=m, fvecp_sz=n; epsmch=LM_REAL_EPSILON; eps=(LM_REAL)sqrt(epsmch); buf=(LM_REAL *)malloc((fvec_sz + fjac_sz + pp_sz + fvecp_sz)*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, LCAT(LEVMAR_CHKJAC, "(): memory allocation request failed\n")); exit(1); } fvec=buf; fjac=fvec+fvec_sz; pp=fjac+fjac_sz; fvecp=pp+pp_sz; /* compute fvec=func(p) */ (*func)(p, fvec, m, n, adata); /* compute the Jacobian at p */ (*jacf)(p, fjac, m, n, adata); /* compute pp */ for(j=0; j=epsf*FABS(fvec[i])) temp=eps*FABS((fvecp[i]-fvec[i])/eps - err[i])/(FABS(fvec[i])+FABS(fvecp[i])); err[i]=one; if(temp>epsmch && temp=eps) err[i]=zero; } free(buf); return; } #ifdef HAVE_LAPACK /* * This function computes the pseudoinverse of a square matrix A * into B using SVD. A and B can coincide * * The function returns 0 in case of error (e.g. A is singular), * the rank of A if successful * * A, B are mxm * */ static int LEVMAR_PSEUDOINVERSE(LM_REAL *A, LM_REAL *B, int m) { LM_REAL *buf=NULL; int buf_sz=0; static LM_REAL eps=LM_CNST(-1.0); register int i, j; LM_REAL *a, *u, *s, *vt, *work; int a_sz, u_sz, s_sz, vt_sz, tot_sz; LM_REAL thresh, one_over_denom; int info, rank, worksz, *iwork, iworksz; /* calculate required memory size */ worksz=5*m; // min worksize for GESVD //worksz=m*(7*m+4); // min worksize for GESDD iworksz=8*m; a_sz=m*m; u_sz=m*m; s_sz=m; vt_sz=m*m; tot_sz=(a_sz + u_sz + s_sz + vt_sz + worksz)*sizeof(LM_REAL) + iworksz*sizeof(int); /* should be arranged in that order for proper doubles alignment */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", LEVMAR_PSEUDOINVERSE) "() failed!\n"); return 0; /* error */ } a=buf; u=a+a_sz; s=u+u_sz; vt=s+s_sz; work=vt+vt_sz; iwork=(int *)(work+worksz); /* store A (column major!) into a */ for(i=0; i0.0; eps*=LM_CNST(0.5)) ; eps*=LM_CNST(2.0); } /* compute the pseudoinverse in B */ for(i=0; ithresh; rank++){ one_over_denom=LM_CNST(1.0)/s[rank]; for(j=0; jmax) max=tmp; if(max==0.0){ fprintf(stderr, RCAT("Singular matrix A in ", LEVMAR_LUINVERSE) "()!\n"); free(buf); return 0; } work[i]=LM_CNST(1.0)/max; } for(j=0; j=max){ max=tmp; maxi=i; } } if(j!=maxi){ for(k=0; k=0; --i){ sum=x[i]; for(j=i+1; j0; ) tmp+=x[i]; xavg=tmp/(LM_REAL)n; if(x) for(i=n, SSerr=SStot=0.0; i-->0; ){ tmp=x[i]-hx[i]; SSerr+=tmp*tmp; tmp=x[i]-xavg; SStot+=tmp*tmp; } else /* x==0 */ for(i=n, SSerr=SStot=0.0; i-->0; ){ tmp=-hx[i]; SSerr+=tmp*tmp; tmp=-xavg; SStot+=tmp*tmp; } free(hx); return LM_CNST(1.0) - SSerr/SStot; } /* check box constraints for consistency */ int LEVMAR_BOX_CHECK(LM_REAL *lb, LM_REAL *ub, int m) { register int i; if(!lb || !ub) return 1; for(i=0; iub[i]) return 0; return 1; } #ifdef HAVE_LAPACK /* compute the Cholesky decomposition of C in W, s.t. C=W^t W and W is upper triangular */ int LEVMAR_CHOLESKY(LM_REAL *C, LM_REAL *W, int m) { register int i, j; int info; /* copy weights array C to W so that LAPACK won't destroy it; * C is assumed symmetric, hence no transposition is needed */ for(i=0, j=m*m; i>bpwr)<0; i-=blocksize){ e[i ]=x[i ]-y[i ]; sum0+=e[i ]*e[i ]; j1=i-1; e[j1]=x[j1]-y[j1]; sum1+=e[j1]*e[j1]; j2=i-2; e[j2]=x[j2]-y[j2]; sum2+=e[j2]*e[j2]; j3=i-3; e[j3]=x[j3]-y[j3]; sum3+=e[j3]*e[j3]; j4=i-4; e[j4]=x[j4]-y[j4]; sum0+=e[j4]*e[j4]; j5=i-5; e[j5]=x[j5]-y[j5]; sum1+=e[j5]*e[j5]; j6=i-6; e[j6]=x[j6]-y[j6]; sum2+=e[j6]*e[j6]; j7=i-7; e[j7]=x[j7]-y[j7]; sum3+=e[j7]*e[j7]; } /* * There may be some left to do. * This could be done as a simple for() loop, * but a switch is faster (and more interesting) */ i=blockn; if(i0; i-=blocksize){ e[i ]=-y[i ]; sum0+=e[i ]*e[i ]; j1=i-1; e[j1]=-y[j1]; sum1+=e[j1]*e[j1]; j2=i-2; e[j2]=-y[j2]; sum2+=e[j2]*e[j2]; j3=i-3; e[j3]=-y[j3]; sum3+=e[j3]*e[j3]; j4=i-4; e[j4]=-y[j4]; sum0+=e[j4]*e[j4]; j5=i-5; e[j5]=-y[j5]; sum1+=e[j5]*e[j5]; j6=i-6; e[j6]=-y[j6]; sum2+=e[j6]*e[j6]; j7=i-7; e[j7]=-y[j7]; sum3+=e[j7]*e[j7]; } /* * There may be some left to do. * This could be done as a simple for() loop, * but a switch is faster (and more interesting) */ i=blockn; if(i #include #include #include #include "levmar.h" #include "compiler.h" #include "misc.h" #define EPSILON 1E-12 #define ONE_THIRD 0.3333333334 /* 1.0/3.0 */ #define _LSITMAX_ 150 /* max #iterations for line search */ #define _POW_ 2.1 #if !defined(LM_DBL_PREC) && !defined(LM_SNGL_PREC) #error At least one of LM_DBL_PREC, LM_SNGL_PREC should be defined! #endif #ifdef LM_SNGL_PREC /* single precision (float) definitions */ #define LM_REAL float #define LM_PREFIX s #define LM_REAL_MAX FLT_MAX #define LM_REAL_MIN -FLT_MAX #define LM_REAL_EPSILON FLT_EPSILON #define __SUBCNST(x) x##F #define LM_CNST(x) __SUBCNST(x) // force substitution #include "lmbc_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef LM_REAL_MAX #undef LM_REAL_MIN #undef LM_REAL_EPSILON #undef __SUBCNST #undef LM_CNST #endif /* LM_SNGL_PREC */ #ifdef LM_DBL_PREC /* double precision definitions */ #define LM_REAL double #define LM_PREFIX d #define LM_REAL_MAX DBL_MAX #define LM_REAL_MIN -DBL_MAX #define LM_REAL_EPSILON DBL_EPSILON #define LM_CNST(x) (x) #include "lmbc_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef LM_REAL_MAX #undef LM_REAL_MIN #undef LM_REAL_EPSILON #undef LM_CNST #endif /* LM_DBL_PREC */ stimfit-0.14.11/src/libstfnum/levmar/lmlec.c0000644000175200017520000000450012472345762015615 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Levenberg - Marquardt non-linear minimization algorithm // Copyright (C) 2004-05 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// /******************************************************************************* * Wrappers for linearly constrained Levenberg-Marquardt minimization. The same * core code is used with appropriate #defines to derive single and double * precision versions, see also lmlec_core.c *******************************************************************************/ #include #include #include #include "levmar.h" #include "misc.h" #ifndef HAVE_LAPACK #ifdef _MSC_VER #pragma message("Linearly constrained optimization requires LAPACK and was not compiled!") #else #warning Linearly constrained optimization requires LAPACK and was not compiled! #endif // _MSC_VER #else // LAPACK present #if !defined(LM_DBL_PREC) && !defined(LM_SNGL_PREC) #error At least one of LM_DBL_PREC, LM_SNGL_PREC should be defined! #endif #ifdef LM_SNGL_PREC /* single precision (float) definitions */ #define LM_REAL float #define LM_PREFIX s #define __SUBCNST(x) x##F #define LM_CNST(x) __SUBCNST(x) // force substitution #include "lmlec_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef __SUBCNST #undef LM_CNST #endif /* LM_SNGL_PREC */ #ifdef LM_DBL_PREC /* double precision definitions */ #define LM_REAL double #define LM_PREFIX d #define LM_CNST(x) (x) #include "lmlec_core.c" // read in core code #undef LM_REAL #undef LM_PREFIX #undef LM_CNST #endif /* LM_DBL_PREC */ #endif /* HAVE_LAPACK */ stimfit-0.14.11/src/libstfnum/levmar/lm_core.c0000644000175200017520000007475312472345762016162 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Levenberg - Marquardt non-linear minimization algorithm // Copyright (C) 2004 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// #ifndef LM_REAL // not included by lm.c #error This file should not be compiled directly! #endif /* precision-specific definitions */ #define LEVMAR_DER LM_ADD_PREFIX(levmar_der) #define LEVMAR_DIF LM_ADD_PREFIX(levmar_dif) #define LEVMAR_FDIF_FORW_JAC_APPROX LM_ADD_PREFIX(levmar_fdif_forw_jac_approx) #define LEVMAR_FDIF_CENT_JAC_APPROX LM_ADD_PREFIX(levmar_fdif_cent_jac_approx) #define LEVMAR_TRANS_MAT_MAT_MULT LM_ADD_PREFIX(levmar_trans_mat_mat_mult) #define LEVMAR_L2NRMXMY LM_ADD_PREFIX(levmar_L2nrmxmy) #define LEVMAR_COVAR LM_ADD_PREFIX(levmar_covar) #ifdef HAVE_LAPACK #define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU) #define AX_EQ_B_CHOL LM_ADD_PREFIX(Ax_eq_b_Chol) #define AX_EQ_B_QR LM_ADD_PREFIX(Ax_eq_b_QR) #define AX_EQ_B_QRLS LM_ADD_PREFIX(Ax_eq_b_QRLS) #define AX_EQ_B_SVD LM_ADD_PREFIX(Ax_eq_b_SVD) #define AX_EQ_B_BK LM_ADD_PREFIX(Ax_eq_b_BK) #else #define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU_noLapack) #endif /* HAVE_LAPACK */ #ifdef HAVE_PLASMA #define AX_EQ_B_PLASMA_CHOL LM_ADD_PREFIX(Ax_eq_b_PLASMA_Chol) #endif /* * This function seeks the parameter vector p that best describes the measurements vector x. * More precisely, given a vector function func : R^m --> R^n with n>=m, * it finds p s.t. func(p) ~= x, i.e. the squared second order (i.e. L2) norm of * e=x-func(p) is minimized. * * This function requires an analytic Jacobian. In case the latter is unavailable, * use LEVMAR_DIF() bellow * * Returns the number of iterations (>=0) if successful, LM_ERROR if failed * * For more details, see K. Madsen, H.B. Nielsen and O. Tingleff's lecture notes on * non-linear least squares at http://www.imm.dtu.dk/pubdb/views/edoc_download.php/3215/pdf/imm3215.pdf */ int LEVMAR_DER( void (*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), /* functional relation describing measurements. A p \in R^m yields a \hat{x} \in R^n */ void (*jacf)(LM_REAL *p, LM_REAL *j, int m, int n, void *adata), /* function to evaluate the Jacobian \part x / \part p */ LM_REAL *p, /* I/O: initial parameter estimates. On output has the estimated solution */ LM_REAL *x, /* I: measurement vector. NULL implies a zero vector */ int m, /* I: parameter vector dimension (i.e. #unknowns) */ int n, /* I: measurement vector dimension */ int itmax, /* I: maximum number of iterations */ LM_REAL opts[4], /* I: minim. options [\mu, \epsilon1, \epsilon2, \epsilon3]. Respectively the scale factor for initial \mu, * stopping thresholds for ||J^T e||_inf, ||Dp||_2 and ||e||_2. Set to NULL for defaults to be used */ LM_REAL info[LM_INFO_SZ], /* O: information regarding the minimization. Set to NULL if don't care * info[0]= ||e||_2 at initial p. * info[1-4]=[ ||e||_2, ||J^T e||_inf, ||Dp||_2, mu/max[J^T J]_ii ], all computed at estimated p. * info[5]= # iterations, * info[6]=reason for terminating: 1 - stopped by small gradient J^T e * 2 - stopped by small Dp * 3 - stopped by itmax * 4 - singular matrix. Restart from current p with increased mu * 5 - no further error reduction is possible. Restart with increased mu * 6 - stopped by small ||e||_2 * 7 - stopped by invalid (i.e. NaN or Inf) "func" values. This is a user error * info[7]= # function evaluations * info[8]= # Jacobian evaluations * info[9]= # linear systems solved, i.e. # attempts for reducing error */ LM_REAL *work, /* working memory at least LM_DER_WORKSZ() reals large, allocated if NULL */ LM_REAL *covar, /* O: Covariance matrix corresponding to LS solution; mxm. Set to NULL if not needed. */ void *adata) /* pointer to possibly additional data, passed uninterpreted to func & jacf. * Set to NULL if not needed */ { register int i, j, k, l; int worksz, freework=0, issolved; /* temp work arrays */ LM_REAL *e, /* nx1 */ *hx, /* \hat{x}_i, nx1 */ *jacTe, /* J^T e_i mx1 */ *jac, /* nxm */ *jacTjac, /* mxm */ *Dp, /* mx1 */ *diag_jacTjac, /* diagonal of J^T J, mx1 */ *pDp; /* p + Dp, mx1 */ register LM_REAL mu, /* damping constant */ tmp; /* mainly used in matrix & vector multiplications */ LM_REAL p_eL2, jacTe_inf, pDp_eL2; /* ||e(p)||_2, ||J^T e||_inf, ||e(p+Dp)||_2 */ LM_REAL p_L2, Dp_L2=LM_REAL_MAX, dF, dL; LM_REAL tau, eps1, eps2, eps2_sq, eps3; LM_REAL init_p_eL2; int nu=2, nu2, stop=0, nfev, njev=0, nlss=0; const int nm=n*m; int (*linsolver)(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m)=NULL; mu=jacTe_inf=0.0; /* -Wall */ if(n0; ) jacTjac[i]=0.0; for(i=m; i-->0; ) jacTe[i]=0.0; for(l=n; l-->0; ){ jaclm=jac+l*m; for(i=m; i-->0; ){ jacTjacim=jacTjac+i*m; alpha=jaclm[i]; //jac[l*m+i]; for(j=i+1; j-->0; ) /* j<=i computes lower triangular part only */ jacTjacim[j]+=jaclm[j]*alpha; //jacTjac[i*m+j]+=jac[l*m+j]*alpha /* J^T e */ jacTe[i]+=alpha*e[l]; } } for(i=m; i-->0; ) /* copy to upper part */ for(j=i+1; jtmp) tmp=diag_jacTjac[i]; /* find max diagonal element */ mu=tau*tmp; } /* determine increment using adaptive damping */ while(1){ /* augment normal equations */ for(i=0; i=(p_L2+eps2)/(LM_CNST(EPSILON)*LM_CNST(EPSILON))){ /* almost singular */ //if(Dp_L2>=(p_L2+eps2)/LM_CNST(EPSILON)){ /* almost singular */ stop=4; break; } (*func)(pDp, hx, m, n, adata); ++nfev; /* evaluate function at p + Dp */ /* compute ||e(pDp)||_2 */ /* ### hx=x-hx, pDp_eL2=||hx|| */ #if 1 pDp_eL2=LEVMAR_L2NRMXMY(hx, x, hx, n); #else for(i=0, pDp_eL2=0.0; i0.0 && dF>0.0){ /* reduction in error, increment is accepted */ tmp=(LM_CNST(2.0)*dF/dL-LM_CNST(1.0)); tmp=LM_CNST(1.0)-tmp*tmp*tmp; mu=mu*( (tmp>=LM_CNST(ONE_THIRD))? tmp : LM_CNST(ONE_THIRD) ); nu=2; for(i=0 ; i=itmax) stop=3; for(i=0; i=10)? m: 10, updjac, updp=1, newjac; const int nm=n*m; int (*linsolver)(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m)=NULL; mu=jacTe_inf=p_L2=0.0; /* -Wall */ updjac=newjac=0; /* -Wall */ if(n16) || updjac==K){ /* compute difference approximation to J */ if(using_ffdif){ /* use forward differences */ LEVMAR_FDIF_FORW_JAC_APPROX(func, p, hx, wrk, delta, jac, m, n, adata); ++njap; nfev+=m; } else{ /* use central differences */ LEVMAR_FDIF_CENT_JAC_APPROX(func, p, wrk, wrk2, delta, jac, m, n, adata); ++njap; nfev+=2*m; } nu=2; updjac=0; updp=0; newjac=1; } if(newjac){ /* Jacobian has changed, recompute J^T J, J^t e, etc */ newjac=0; /* J^T J, J^T e */ if(nm<=__BLOCKSZ__SQ){ // this is a small problem /* J^T*J_ij = \sum_l J^T_il * J_lj = \sum_l J_li * J_lj. * Thus, the product J^T J can be computed using an outer loop for * l that adds J_li*J_lj to each element ij of the result. Note that * with this scheme, the accesses to J and JtJ are always along rows, * therefore induces less cache misses compared to the straightforward * algorithm for computing the product (i.e., l loop is innermost one). * A similar scheme applies to the computation of J^T e. * However, for large minimization problems (i.e., involving a large number * of unknowns and measurements) for which J/J^T J rows are too large to * fit in the L1 cache, even this scheme incures many cache misses. In * such cases, a cache-efficient blocking scheme is preferable. * * Thanks to John Nitao of Lawrence Livermore Lab for pointing out this * performance problem. * * Note that the non-blocking algorithm is faster on small * problems since in this case it avoids the overheads of blocking. */ register int l; register LM_REAL alpha, *jaclm, *jacTjacim; /* looping downwards saves a few computations */ for(i=m*m; i-->0; ) jacTjac[i]=0.0; for(i=m; i-->0; ) jacTe[i]=0.0; for(l=n; l-->0; ){ jaclm=jac+l*m; for(i=m; i-->0; ){ jacTjacim=jacTjac+i*m; alpha=jaclm[i]; //jac[l*m+i]; for(j=i+1; j-->0; ) /* j<=i computes lower triangular part only */ jacTjacim[j]+=jaclm[j]*alpha; //jacTjac[i*m+j]+=jac[l*m+j]*alpha /* J^T e */ jacTe[i]+=alpha*e[l]; } } for(i=m; i-->0; ) /* copy to upper part */ for(j=i+1; jtmp) tmp=diag_jacTjac[i]; /* find max diagonal element */ mu=tau*tmp; } /* determine increment using adaptive damping */ /* augment normal equations */ for(i=0; i=(p_L2+eps2)/(LM_CNST(EPSILON)*LM_CNST(EPSILON))){ /* almost singular */ //if(Dp_L2>=(p_L2+eps2)/LM_CNST(EPSILON)){ /* almost singular */ stop=4; break; } (*func)(pDp, wrk, m, n, adata); ++nfev; /* evaluate function at p + Dp */ /* compute ||e(pDp)||_2 */ /* ### wrk2=x-wrk, pDp_eL2=||wrk2|| */ #if 1 pDp_eL2=LEVMAR_L2NRMXMY(wrk2, x, wrk, n); #else for(i=0, pDp_eL2=0.0; i0){ /* update jac */ for(i=0; i0.0 && dF>0.0){ /* reduction in error, increment is accepted */ tmp=(LM_CNST(2.0)*dF/dL-LM_CNST(1.0)); tmp=LM_CNST(1.0)-tmp*tmp*tmp; mu=mu*( (tmp>=LM_CNST(ONE_THIRD))? tmp : LM_CNST(ONE_THIRD) ); nu=2; for(i=0 ; i=itmax) stop=3; for(i=0; i= (b))?\ ( ((c) >= (a))? (a) : ( ((c) <= (b))? (b) : (c) ) ) : \ ( ((c) >= (b))? (b) : ( ((c) <= (a))? (a) : (c) ) ) ) /* Projections to feasible set \Omega: P_{\Omega}(y) := arg min { ||x - y|| : x \in \Omega}, y \in R^m */ /* project vector p to a box shaped feasible set. p is a mx1 vector. * Either lb, ub can be NULL. If not NULL, they are mx1 vectors */ static void BOXPROJECT(LM_REAL *p, LM_REAL *lb, LM_REAL *ub, int m) { register int i; if(!lb){ /* no lower bounds */ if(!ub) /* no upper bounds */ return; else{ /* upper bounds only */ for(i=m; i-->0; ) if(p[i]>ub[i]) p[i]=ub[i]; } } else if(!ub){ /* lower bounds only */ for(i=m; i-->0; ) if(p[i]0; ) p[i]=__MEDIAN3(lb[i], p[i], ub[i]); } #undef __MEDIAN3 /* pointwise scaling of bounds with the mx1 vector scl. If div=1 scaling is by 1./scl. * Either lb, ub can be NULL. If not NULL, they are mx1 vectors */ static void BOXSCALE(LM_REAL *lb, LM_REAL *ub, LM_REAL *scl, int m, int div) { register int i; if(!lb){ /* no lower bounds */ if(!ub) /* no upper bounds */ return; else{ /* upper bounds only */ if(div){ for(i=m; i-->0; ) if(ub[i]!=LM_REAL_MAX) ub[i]=ub[i]/scl[i]; }else{ for(i=m; i-->0; ) if(ub[i]!=LM_REAL_MAX) ub[i]=ub[i]*scl[i]; } } } else if(!ub){ /* lower bounds only */ if(div){ for(i=m; i-->0; ) if(lb[i]!=LM_REAL_MIN) lb[i]=lb[i]/scl[i]; }else{ for(i=m; i-->0; ) if(lb[i]!=LM_REAL_MIN) lb[i]=lb[i]*scl[i]; } } else{ /* box bounds */ if(div){ for(i=m; i-->0; ){ if(ub[i]!=LM_REAL_MAX) ub[i]=ub[i]/scl[i]; if(lb[i]!=LM_REAL_MIN) lb[i]=lb[i]/scl[i]; } }else{ for(i=m; i-->0; ){ if(ub[i]!=LM_REAL_MAX) ub[i]=ub[i]*scl[i]; if(lb[i]!=LM_REAL_MIN) lb[i]=lb[i]*scl[i]; } } } } /* compute the norm of a vector in a manner that avoids overflows */ static LM_REAL VECNORM(LM_REAL *x, int n) { #ifdef HAVE_LAPACK #define NRM2 LM_MK_BLAS_NAME(nrm2) extern LM_REAL NRM2(int *n, LM_REAL *dx, int *incx); int one=1; return NRM2(&n, x, &one); #undef NRM2 #else // no LAPACK, use the simple method described by Blue in TOMS78 register int i; LM_REAL max, sum, tmp; for(i=n, max=0.0; i-->0; ) if(x[i]>max) max=x[i]; else if(x[i]<-max) max=-x[i]; for(i=n, sum=0.0; i-->0; ){ tmp=x[i]/max; sum+=tmp*tmp; } return max*(LM_REAL)sqrt(sum); #endif /* HAVE_LAPACK */ } struct FUNC_STATE{ int n, *nfev; LM_REAL *hx, *x; LM_REAL *lb, *ub; void *adata; }; static void LNSRCH(int m, LM_REAL *x, LM_REAL f, LM_REAL *g, LM_REAL *p, LM_REAL alpha, LM_REAL *xpls, LM_REAL *ffpls, void (*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), struct FUNC_STATE *state, int *mxtake, int *iretcd, LM_REAL stepmx, LM_REAL steptl, LM_REAL *sx) { /* Find a next newton iterate by backtracking line search. * Specifically, finds a \lambda such that for a fixed alpha<0.5 (usually 1e-4), * f(x + \lambda*p) <= f(x) + alpha * \lambda * g^T*p * * Translated (with a few changes) from Schnabel, Koontz & Weiss uncmin.f, v1.3 * Main changes include the addition of box projection and modification of the scaling * logic since uncmin.f operates in the original (unscaled) variable space. * PARAMETERS : * m --> dimension of problem (i.e. number of variables) * x(m) --> old iterate: x[k-1] * f --> function value at old iterate, f(x) * g(m) --> gradient at old iterate, g(x), or approximate * p(m) --> non-zero newton step * alpha --> fixed constant < 0.5 for line search (see above) * xpls(m) <-- new iterate x[k] * ffpls <-- function value at new iterate, f(xpls) * func --> name of subroutine to evaluate function * state <--> information other than x and m that func requires. * state is not modified in xlnsrch (but can be modified by func). * iretcd <-- return code * mxtake <-- boolean flag indicating step of maximum length used * stepmx --> maximum allowable step size * steptl --> relative step size at which successive iterates * considered close enough to terminate algorithm * sx(m) --> diagonal scaling matrix for x, can be NULL * internal variables * sln newton length * rln relative length of newton step */ register int i, j; int firstback = 1; LM_REAL disc; LM_REAL a3, b; LM_REAL t1, t2, t3, lambda, tlmbda, rmnlmb; LM_REAL scl, rln, sln, slp; LM_REAL tmp1, tmp2; LM_REAL fpls, pfpls = 0., plmbda = 0.; /* -Wall */ f*=LM_CNST(0.5); *mxtake = 0; *iretcd = 2; tmp1 = 0.; for (i = m; i-- > 0; ) tmp1 += p[i] * p[i]; sln = (LM_REAL)sqrt(tmp1); if (sln > stepmx) { /* newton step longer than maximum allowed */ scl = stepmx / sln; for (i = m; i-- > 0; ) /* p * scl */ p[i]*=scl; sln = stepmx; } for (i = m, slp = rln = 0.; i-- > 0; ){ slp+=g[i]*p[i]; /* g^T * p */ tmp1 = (FABS(x[i])>=LM_CNST(1.))? FABS(x[i]) : LM_CNST(1.); tmp2 = FABS(p[i])/tmp1; if(rln < tmp2) rln = tmp2; } rmnlmb = steptl / rln; lambda = LM_CNST(1.0); /* check if new iterate satisfactory. generate new lambda if necessary. */ for(j = _LSITMAX_; j-- > 0; ) { for (i = m; i-- > 0; ) xpls[i] = x[i] + lambda * p[i]; BOXPROJECT(xpls, state->lb, state->ub, m); /* project to feasible set */ /* evaluate function at new point */ if(!sx){ (*func)(xpls, state->hx, m, state->n, state->adata); ++(*(state->nfev)); } else{ for (i = m; i-- > 0; ) xpls[i] *= sx[i]; (*func)(xpls, state->hx, m, state->n, state->adata); ++(*(state->nfev)); for (i = m; i-- > 0; ) xpls[i] /= sx[i]; } /* ### state->hx=state->x-state->hx, tmp1=||state->hx|| */ #if 1 tmp1=LEVMAR_L2NRMXMY(state->hx, state->x, state->hx, state->n); #else for(i=0, tmp1=0.0; in; ++i){ state->hx[i]=tmp2=state->x[i]-state->hx[i]; tmp1+=tmp2*tmp2; } #endif fpls=LM_CNST(0.5)*tmp1; *ffpls=tmp1; if (fpls <= f + slp * alpha * lambda) { /* solution found */ *iretcd = 0; if (lambda == LM_CNST(1.) && sln > stepmx * LM_CNST(.99)) *mxtake = 1; return; } /* else : solution not (yet) found */ /* First find a point with a finite value */ if (lambda < rmnlmb) { /* no satisfactory xpls found sufficiently distinct from x */ *iretcd = 1; return; } else { /* calculate new lambda */ /* modifications to cover non-finite values */ if (!LM_FINITE(fpls)) { lambda *= LM_CNST(0.1); firstback = 1; } else { if (firstback) { /* first backtrack: quadratic fit */ tlmbda = -lambda * slp / ((fpls - f - slp) * LM_CNST(2.)); firstback = 0; } else { /* all subsequent backtracks: cubic fit */ t1 = fpls - f - lambda * slp; t2 = pfpls - f - plmbda * slp; t3 = LM_CNST(1.) / (lambda - plmbda); a3 = LM_CNST(3.) * t3 * (t1 / (lambda * lambda) - t2 / (plmbda * plmbda)); b = t3 * (t2 * lambda / (plmbda * plmbda) - t1 * plmbda / (lambda * lambda)); disc = b * b - a3 * slp; if (disc > b * b) /* only one positive critical point, must be minimum */ tlmbda = (-b + ((a3 < 0)? -(LM_REAL)sqrt(disc): (LM_REAL)sqrt(disc))) /a3; else /* both critical points positive, first is minimum */ tlmbda = (-b + ((a3 < 0)? (LM_REAL)sqrt(disc): -(LM_REAL)sqrt(disc))) /a3; if (tlmbda > lambda * LM_CNST(.5)) tlmbda = lambda * LM_CNST(.5); } plmbda = lambda; pfpls = fpls; if (tlmbda < lambda * LM_CNST(.1)) lambda *= LM_CNST(.1); else lambda = tlmbda; } } } /* this point is reached when the iterations limit is exceeded */ *iretcd = 1; /* failed */ return; } /* LNSRCH */ /* * This function seeks the parameter vector p that best describes the measurements * vector x under box constraints. * More precisely, given a vector function func : R^m --> R^n with n>=m, * it finds p s.t. func(p) ~= x, i.e. the squared second order (i.e. L2) norm of * e=x-func(p) is minimized under the constraints lb[i]<=p[i]<=ub[i]. * If no lower bound constraint applies for p[i], use -DBL_MAX/-FLT_MAX for lb[i]; * If no upper bound constraint applies for p[i], use DBL_MAX/FLT_MAX for ub[i]. * * This function requires an analytic Jacobian. In case the latter is unavailable, * use LEVMAR_BC_DIF() bellow * * Returns the number of iterations (>=0) if successful, LM_ERROR if failed * * For details, see C. Kanzow, N. Yamashita and M. Fukushima: "Levenberg-Marquardt * methods for constrained nonlinear equations with strong local convergence properties", * Journal of Computational and Applied Mathematics 172, 2004, pp. 375-397. * Also, see K. Madsen, H.B. Nielsen and O. Tingleff's lecture notes on * unconstrained Levenberg-Marquardt at http://www.imm.dtu.dk/pubdb/views/edoc_download.php/3215/pdf/imm3215.pdf * * The algorithm implemented by this function employs projected gradient steps. Since steepest descent * is very sensitive to poor scaling, diagonal scaling has been implemented through the dscl argument: * Instead of minimizing f(p) for p, f(D*q) is minimized for q=D^-1*p, D being a diagonal scaling * matrix whose diagonal equals dscl (see Nocedal-Wright p.27). dscl should contain "typical" magnitudes * for the parameters p. A NULL value for dscl implies no scaling. i.e. D=I. * To account for scaling, the code divides the starting point and box bounds pointwise by dscl. Moreover, * before calling func and jacf the scaling has to be undone (by multiplying), as should be done with * the final point. Note also that jac_q=jac_p*D, where jac_q, jac_p are the jacobians w.r.t. q & p, resp. */ int LEVMAR_BC_DER( void (*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), /* functional relation describing measurements. A p \in R^m yields a \hat{x} \in R^n */ void (*jacf)(LM_REAL *p, LM_REAL *j, int m, int n, void *adata), /* function to evaluate the Jacobian \part x / \part p */ LM_REAL *p, /* I/O: initial parameter estimates. On output has the estimated solution */ LM_REAL *x, /* I: measurement vector. NULL implies a zero vector */ int m, /* I: parameter vector dimension (i.e. #unknowns) */ int n, /* I: measurement vector dimension */ LM_REAL *lb, /* I: vector of lower bounds. If NULL, no lower bounds apply */ LM_REAL *ub, /* I: vector of upper bounds. If NULL, no upper bounds apply */ LM_REAL *dscl, /* I: diagonal scaling constants. NULL implies no scaling */ int itmax, /* I: maximum number of iterations */ LM_REAL opts[4], /* I: minim. options [\mu, \epsilon1, \epsilon2, \epsilon3]. Respectively the scale factor for initial \mu, * stopping thresholds for ||J^T e||_inf, ||Dp||_2 and ||e||_2. Set to NULL for defaults to be used. * Note that ||J^T e||_inf is computed on free (not equal to lb[i] or ub[i]) variables only. */ LM_REAL info[LM_INFO_SZ], /* O: information regarding the minimization. Set to NULL if don't care * info[0]= ||e||_2 at initial p. * info[1-4]=[ ||e||_2, ||J^T e||_inf, ||Dp||_2, mu/max[J^T J]_ii ], all computed at estimated p. * info[5]= # iterations, * info[6]=reason for terminating: 1 - stopped by small gradient J^T e * 2 - stopped by small Dp * 3 - stopped by itmax * 4 - singular matrix. Restart from current p with increased mu * 5 - no further error reduction is possible. Restart with increased mu * 6 - stopped by small ||e||_2 * 7 - stopped by invalid (i.e. NaN or Inf) "func" values. This is a user error * info[7]= # function evaluations * info[8]= # Jacobian evaluations * info[9]= # linear systems solved, i.e. # attempts for reducing error */ LM_REAL *work, /* working memory at least LM_BC_DER_WORKSZ() reals large, allocated if NULL */ LM_REAL *covar, /* O: Covariance matrix corresponding to LS solution; mxm. Set to NULL if not needed. */ void *adata) /* pointer to possibly additional data, passed uninterpreted to func & jacf. * Set to NULL if not needed */ { register int i, j, k, l; int worksz, freework=0, issolved; /* temp work arrays */ LM_REAL *e, /* nx1 */ *hx, /* \hat{x}_i, nx1 */ *jacTe, /* J^T e_i mx1 */ *jac, /* nxm */ *jacTjac, /* mxm */ *Dp, /* mx1 */ *diag_jacTjac, /* diagonal of J^T J, mx1 */ *pDp, /* p + Dp, mx1 */ *sp_pDp=NULL; /* dscl*p or dscl*pDp, mx1 */ register LM_REAL mu, /* damping constant */ tmp; /* mainly used in matrix & vector multiplications */ LM_REAL p_eL2, jacTe_inf, pDp_eL2; /* ||e(p)||_2, ||J^T e||_inf, ||e(p+Dp)||_2 */ LM_REAL p_L2, Dp_L2=LM_REAL_MAX, dF, dL; LM_REAL tau, eps1, eps2, eps2_sq, eps3; LM_REAL init_p_eL2; int nu=2, nu2, stop=0, nfev, njev=0, nlss=0; const int nm=n*m; /* variables for constrained LM */ struct FUNC_STATE fstate; LM_REAL alpha=LM_CNST(1e-4), beta=LM_CNST(0.9), gamma=LM_CNST(0.99995), rho=LM_CNST(1e-8); LM_REAL t, t0, jacTeDp; LM_REAL tmin=LM_CNST(1e-12), tming=LM_CNST(1e-18); /* minimum step length for LS and PG steps */ const LM_REAL tini=LM_CNST(1.0); /* initial step length for LS and PG steps */ int nLMsteps=0, nLSsteps=0, nPGsteps=0, gprevtaken=0; int numactive; int (*linsolver)(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m)=NULL; mu=jacTe_inf=t=0.0; tmin=tmin; /* -Wall */ if(n0; ) if(dscl[i]<=0.0){ fprintf(stderr, LCAT(LEVMAR_BC_DER, "(): scaling constants should be positive (scale %d: %g <= 0)\n"), i, dscl[i]); return LM_ERROR; } sp_pDp=(LM_REAL *)malloc(m*sizeof(LM_REAL)); if(!sp_pDp){ fprintf(stderr, LCAT(LEVMAR_BC_DER, "(): memory allocation request failed\n")); return LM_ERROR; } } if(opts){ tau=opts[0]; eps1=opts[1]; eps2=opts[2]; eps2_sq=opts[2]*opts[2]; eps3=opts[3]; } else{ // use default values tau=LM_CNST(LM_INIT_MU); eps1=LM_CNST(LM_STOP_THRESH); eps2=LM_CNST(LM_STOP_THRESH); eps2_sq=LM_CNST(LM_STOP_THRESH)*LM_CNST(LM_STOP_THRESH); eps3=LM_CNST(LM_STOP_THRESH); } if(!work){ worksz=LM_BC_DER_WORKSZ(m, n); //2*n+4*m + n*m + m*m; work=(LM_REAL *)malloc(worksz*sizeof(LM_REAL)); /* allocate a big chunk in one step */ if(!work){ fprintf(stderr, LCAT(LEVMAR_BC_DER, "(): memory allocation request failed\n")); return LM_ERROR; } freework=1; } /* set up work arrays */ e=work; hx=e + n; jacTe=hx + n; jac=jacTe + m; jacTjac=jac + nm; Dp=jacTjac + m*m; diag_jacTjac=Dp + m; pDp=diag_jacTjac + m; fstate.n=n; fstate.hx=hx; fstate.x=x; fstate.lb=lb; fstate.ub=ub; fstate.adata=adata; fstate.nfev=&nfev; /* see if starting point is within the feasible set */ for(i=0; i0; ) p[i]/=dscl[i]; BOXSCALE(lb, ub, dscl, m, 1); } for(k=0; k0; ) sp_pDp[i]=p[i]*dscl[i]; (*jacf)(sp_pDp, jac, m, n, adata); ++njev; /* compute jac*D */ for(i=n; i-->0; ){ register LM_REAL *jacim; jacim=jac+i*m; for(j=m; j-->0; ) jacim[j]*=dscl[j]; // jac[i*m+j]*=dscl[j]; } } /* J^T J, J^T e */ if(nm<__BLOCKSZ__SQ){ // this is a small problem /* J^T*J_ij = \sum_l J^T_il * J_lj = \sum_l J_li * J_lj. * Thus, the product J^T J can be computed using an outer loop for * l that adds J_li*J_lj to each element ij of the result. Note that * with this scheme, the accesses to J and JtJ are always along rows, * therefore induces less cache misses compared to the straightforward * algorithm for computing the product (i.e., l loop is innermost one). * A similar scheme applies to the computation of J^T e. * However, for large minimization problems (i.e., involving a large number * of unknowns and measurements) for which J/J^T J rows are too large to * fit in the L1 cache, even this scheme incures many cache misses. In * such cases, a cache-efficient blocking scheme is preferable. * * Thanks to John Nitao of Lawrence Livermore Lab for pointing out this * performance problem. * * Note that the non-blocking algorithm is faster on small * problems since in this case it avoids the overheads of blocking. */ register LM_REAL alpha, *jaclm, *jacTjacim; /* looping downwards saves a few computations */ for(i=m*m; i-->0; ) jacTjac[i]=0.0; for(i=m; i-->0; ) jacTe[i]=0.0; for(l=n; l-->0; ){ jaclm=jac+l*m; for(i=m; i-->0; ){ jacTjacim=jacTjac+i*m; alpha=jaclm[i]; //jac[l*m+i]; for(j=i+1; j-->0; ) /* j<=i computes lower triangular part only */ jacTjacim[j]+=jaclm[j]*alpha; //jacTjac[i*m+j]+=jac[l*m+j]*alpha /* J^T e */ jacTe[i]+=alpha*e[l]; } } for(i=m; i-->0; ) /* copy to upper part */ for(j=i+1; j0; * if p[i]==lb[i] g[i]<0; otherwise g[i]=0 */ for(i=j=numactive=0, p_L2=jacTe_inf=0.0; i0.0) ++j; } else if(lb && p[i]==lb[i]){ ++numactive; if(jacTe[i]<0.0) ++j; } else if(jacTe_inf < (tmp=FABS(jacTe[i]))) jacTe_inf=tmp; diag_jacTjac[i]=jacTjac[i*m+i]; /* save diagonal entries so that augmentation can be later canceled */ p_L2+=p[i]*p[i]; } //p_L2=sqrt(p_L2); #if 0 if(!(k%100)){ printf("Current estimate: "); for(i=0; itmp) tmp=diag_jacTjac[i]; /* find max diagonal element */ mu=tau*tmp; } else mu=LM_CNST(0.5)*tau*p_eL2; /* use Kanzow's starting mu */ } /* determine increment using a combination of adaptive damping, line search and projected gradient search */ while(1){ /* augment normal equations */ for(i=0; i=(p_L2+eps2)/(LM_CNST(EPSILON)*LM_CNST(EPSILON))){ /* almost singular */ stop=4; break; } if(!dscl){ (*func)(pDp, hx, m, n, adata); ++nfev; /* evaluate function at p + Dp */ } else{ for(i=m; i-->0; ) sp_pDp[i]=pDp[i]*dscl[i]; (*func)(sp_pDp, hx, m, n, adata); ++nfev; /* evaluate function at p + Dp */ } /* ### hx=x-hx, pDp_eL2=||hx|| */ #if 1 pDp_eL2=LEVMAR_L2NRMXMY(hx, x, hx, n); #else for(i=0, pDp_eL2=0.0; i0.0){ dF=p_eL2-pDp_eL2; tmp=(LM_CNST(2.0)*dF/dL-LM_CNST(1.0)); tmp=LM_CNST(1.0)-tmp*tmp*tmp; mu=mu*( (tmp>=LM_CNST(ONE_THIRD))? tmp : LM_CNST(ONE_THIRD) ); } else{ tmp=LM_CNST(0.1)*pDp_eL2; /* pDp_eL2 is the new p_eL2 */ mu=(mu>=tmp)? tmp : mu; } #else tmp=LM_CNST(0.1)*pDp_eL2; /* pDp_eL2 is the new p_eL2 */ mu=(mu>=tmp)? tmp : mu; #endif nu=2; for(i=0 ; i=LM_CNST(1.0))? tmp : LM_CNST(1.0) ); LNSRCH(m, p, p_eL2, jacTe, Dp, alpha, pDp, &pDp_eL2, func, &fstate, &mxtake, &iretcd, stepmx, steptl, dscl); /* NOTE: LNSRCH() updates hx */ if(iretcd!=0 || !LM_FINITE(pDp_eL2)) goto gradproj; /* rather inelegant but effective way to handle LNSRCH() failures... */ } #else /* use the simpler (but slower!) line search described by Kanzow et al */ for(t=tini; t>tmin; t*=beta){ for(i=0; i0; ) sp_pDp[i]=pDp[i]*dscl[i]; (*func)(sp_pDp, hx, m, n, adata); ++nfev; /* evaluate function at p + t*Dp */ } /* compute ||e(pDp)||_2 */ /* ### hx=x-hx, pDp_eL2=||hx|| */ #if 1 pDp_eL2=LEVMAR_L2NRMXMY(hx, x, hx, n); #else for(i=0, pDp_eL2=0.0; itming; t*=beta){ for(i=0; i0; ) sp_pDp[i]=pDp[i]*dscl[i]; (*func)(sp_pDp, hx, m, n, adata); ++nfev; /* evaluate function at p - t*g */ } /* compute ||e(pDp)||_2 */ /* ### hx=x-hx, pDp_eL2=||hx|| */ #if 1 pDp_eL2=LEVMAR_L2NRMXMY(hx, x, hx, n); #else for(i=0, pDp_eL2=0.0; i=itmax) stop=3; for(i=0; i0; ) for(j=m; j-->0; ) covar[i*m+j]*=(dscl[i]*dscl[j]); } } if(freework) free(work); #ifdef LINSOLVERS_RETAIN_MEMORY if(linsolver) (*linsolver)(NULL, NULL, NULL, 0); #endif #if 0 printf("%d LM steps, %d line search, %d projected gradient\n", nLMsteps, nLSsteps, nPGsteps); #endif if(dscl){ /* scale final point and constraints */ for(i=0; ifunc))(p, hx, m, n, dta->adata); } static void LMBC_DIF_JACF(LM_REAL *p, LM_REAL *jac, int m, int n, void *data) { struct LMBC_DIF_DATA *dta=(struct LMBC_DIF_DATA *)data; if(dta->ffdif){ /* evaluate user-supplied function at p */ (*(dta->func))(p, dta->hx, m, n, dta->adata); LEVMAR_FDIF_FORW_JAC_APPROX(dta->func, p, dta->hx, dta->hxx, dta->delta, jac, m, n, dta->adata); } else LEVMAR_FDIF_CENT_JAC_APPROX(dta->func, p, dta->hx, dta->hxx, dta->delta, jac, m, n, dta->adata); } /* No Jacobian version of the LEVMAR_BC_DER() function above: the Jacobian is approximated with * the aid of finite differences (forward or central, see the comment for the opts argument) * Ideally, this function should be implemented with a secant approach. Currently, it just calls * LEVMAR_BC_DER() */ int LEVMAR_BC_DIF( void (*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), /* functional relation describing measurements. A p \in R^m yields a \hat{x} \in R^n */ LM_REAL *p, /* I/O: initial parameter estimates. On output has the estimated solution */ LM_REAL *x, /* I: measurement vector. NULL implies a zero vector */ int m, /* I: parameter vector dimension (i.e. #unknowns) */ int n, /* I: measurement vector dimension */ LM_REAL *lb, /* I: vector of lower bounds. If NULL, no lower bounds apply */ LM_REAL *ub, /* I: vector of upper bounds. If NULL, no upper bounds apply */ LM_REAL *dscl, /* I: diagonal scaling constants. NULL implies no scaling */ int itmax, /* I: maximum number of iterations */ LM_REAL opts[5], /* I: opts[0-4] = minim. options [\mu, \epsilon1, \epsilon2, \epsilon3, \delta]. Respectively the * scale factor for initial \mu, stopping thresholds for ||J^T e||_inf, ||Dp||_2 and ||e||_2 and * the step used in difference approximation to the Jacobian. Set to NULL for defaults to be used. * If \delta<0, the Jacobian is approximated with central differences which are more accurate * (but slower!) compared to the forward differences employed by default. */ LM_REAL info[LM_INFO_SZ], /* O: information regarding the minimization. Set to NULL if don't care * info[0]= ||e||_2 at initial p. * info[1-4]=[ ||e||_2, ||J^T e||_inf, ||Dp||_2, mu/max[J^T J]_ii ], all computed at estimated p. * info[5]= # iterations, * info[6]=reason for terminating: 1 - stopped by small gradient J^T e * 2 - stopped by small Dp * 3 - stopped by itmax * 4 - singular matrix. Restart from current p with increased mu * 5 - no further error reduction is possible. Restart with increased mu * 6 - stopped by small ||e||_2 * 7 - stopped by invalid (i.e. NaN or Inf) "func" values. This is a user error * info[7]= # function evaluations * info[8]= # Jacobian evaluations * info[9]= # linear systems solved, i.e. # attempts for reducing error */ LM_REAL *work, /* working memory at least LM_BC_DIF_WORKSZ() reals large, allocated if NULL */ LM_REAL *covar, /* O: Covariance matrix corresponding to LS solution; mxm. Set to NULL if not needed. */ void *adata) /* pointer to possibly additional data, passed uninterpreted to func. * Set to NULL if not needed */ { struct LMBC_DIF_DATA data; int ret; //fprintf(stderr, RCAT("\nWarning: current implementation of ", LEVMAR_BC_DIF) "() does not use a secant approach!\n\n"); data.ffdif=!opts || opts[4]>=0.0; data.func=func; data.hx=(LM_REAL *)malloc(2*n*sizeof(LM_REAL)); /* allocate a big chunk in one step */ if(!data.hx){ fprintf(stderr, LCAT(LEVMAR_BC_DIF, "(): memory allocation request failed\n")); return LM_ERROR; } data.hxx=data.hx+n; data.adata=adata; data.delta=(opts)? FABS(opts[4]) : (LM_REAL)LM_DIFF_DELTA; ret=LEVMAR_BC_DER(LMBC_DIF_FUNC, LMBC_DIF_JACF, p, x, m, n, lb, ub, dscl, itmax, opts, info, work, covar, (void *)&data); if(info){ /* correct the number of function calls */ if(data.ffdif) info[7]+=info[8]*(m+1); /* each Jacobian evaluation costs m+1 function calls */ else info[7]+=info[8]*(2*m); /* each Jacobian evaluation costs 2*m function calls */ } free(data.hx); return ret; } /* undefine everything. THIS MUST REMAIN AT THE END OF THE FILE */ #undef FUNC_STATE #undef LNSRCH #undef BOXPROJECT #undef BOXSCALE #undef LEVMAR_BOX_CHECK #undef VECNORM #undef LEVMAR_BC_DER #undef LMBC_DIF_DATA #undef LMBC_DIF_FUNC #undef LMBC_DIF_JACF #undef LEVMAR_BC_DIF #undef LEVMAR_FDIF_FORW_JAC_APPROX #undef LEVMAR_FDIF_CENT_JAC_APPROX #undef LEVMAR_COVAR #undef LEVMAR_TRANS_MAT_MAT_MULT #undef LEVMAR_L2NRMXMY #undef AX_EQ_B_LU #undef AX_EQ_B_CHOL #undef AX_EQ_B_PLASMA_CHOL #undef AX_EQ_B_QR #undef AX_EQ_B_QRLS #undef AX_EQ_B_SVD #undef AX_EQ_B_BK stimfit-0.14.11/src/libstfnum/levmar/Axb_core.c0000644000175200017520000010704112472345762016247 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Solution of linear systems involved in the Levenberg - Marquardt // minimization algorithm // Copyright (C) 2004 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// /* Solvers for the linear systems Ax=b. Solvers should NOT modify their A & B arguments! */ #ifndef LM_REAL // not included by Axb.c #error This file should not be compiled directly! #endif #ifdef LINSOLVERS_RETAIN_MEMORY #define __STATIC__ static #else #define __STATIC__ // empty #endif /* LINSOLVERS_RETAIN_MEMORY */ #ifdef HAVE_LAPACK /* prototypes of LAPACK routines */ #define GEQRF LM_MK_LAPACK_NAME(geqrf) #define ORGQR LM_MK_LAPACK_NAME(orgqr) #define TRTRS LM_MK_LAPACK_NAME(trtrs) #define POTF2 LM_MK_LAPACK_NAME(potf2) #define POTRF LM_MK_LAPACK_NAME(potrf) #define POTRS LM_MK_LAPACK_NAME(potrs) #define GETRF LM_MK_LAPACK_NAME(getrf) #define GETRS LM_MK_LAPACK_NAME(getrs) #define GESVD LM_MK_LAPACK_NAME(gesvd) #define GESDD LM_MK_LAPACK_NAME(gesdd) #define SYTRF LM_MK_LAPACK_NAME(sytrf) #define SYTRS LM_MK_LAPACK_NAME(sytrs) #define PLASMA_POSV LM_CAT_(PLASMA_, LM_ADD_PREFIX(posv)) #ifdef __cplusplus extern "C" { #endif /* QR decomposition */ extern int GEQRF(int *m, int *n, LM_REAL *a, int *lda, LM_REAL *tau, LM_REAL *work, int *lwork, int *info); extern int ORGQR(int *m, int *n, int *k, LM_REAL *a, int *lda, LM_REAL *tau, LM_REAL *work, int *lwork, int *info); /* solution of triangular systems */ extern int TRTRS(char *uplo, char *trans, char *diag, int *n, int *nrhs, LM_REAL *a, int *lda, LM_REAL *b, int *ldb, int *info); /* Cholesky decomposition and systems solution */ extern int POTF2(char *uplo, int *n, LM_REAL *a, int *lda, int *info); extern int POTRF(char *uplo, int *n, LM_REAL *a, int *lda, int *info); /* block version of dpotf2 */ extern int POTRS(char *uplo, int *n, int *nrhs, LM_REAL *a, int *lda, LM_REAL *b, int *ldb, int *info); /* LU decomposition and systems solution */ extern int GETRF(int *m, int *n, LM_REAL *a, int *lda, int *ipiv, int *info); extern int GETRS(char *trans, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv, LM_REAL *b, int *ldb, int *info); /* Singular Value Decomposition (SVD) */ extern int GESVD(char *jobu, char *jobvt, int *m, int *n, LM_REAL *a, int *lda, LM_REAL *s, LM_REAL *u, int *ldu, LM_REAL *vt, int *ldvt, LM_REAL *work, int *lwork, int *info); /* lapack 3.0 new SVD routine, faster than xgesvd(). * In case that your version of LAPACK does not include them, use the above two older routines */ extern int GESDD(char *jobz, int *m, int *n, LM_REAL *a, int *lda, LM_REAL *s, LM_REAL *u, int *ldu, LM_REAL *vt, int *ldvt, LM_REAL *work, int *lwork, int *iwork, int *info); /* LDLt/UDUt factorization and systems solution */ extern int SYTRF(char *uplo, int *n, LM_REAL *a, int *lda, int *ipiv, LM_REAL *work, int *lwork, int *info); extern int SYTRS(char *uplo, int *n, int *nrhs, LM_REAL *a, int *lda, int *ipiv, LM_REAL *b, int *ldb, int *info); #ifdef __cplusplus } #endif /* precision-specific definitions */ #define AX_EQ_B_QR LM_ADD_PREFIX(Ax_eq_b_QR) #define AX_EQ_B_QRLS LM_ADD_PREFIX(Ax_eq_b_QRLS) #define AX_EQ_B_CHOL LM_ADD_PREFIX(Ax_eq_b_Chol) #define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU) #define AX_EQ_B_SVD LM_ADD_PREFIX(Ax_eq_b_SVD) #define AX_EQ_B_BK LM_ADD_PREFIX(Ax_eq_b_BK) #define AX_EQ_B_PLASMA_CHOL LM_ADD_PREFIX(Ax_eq_b_PLASMA_Chol) /* * This function returns the solution of Ax = b * * The function is based on QR decomposition with explicit computation of Q: * If A=Q R with Q orthogonal and R upper triangular, the linear system becomes * Q R x = b or R x = Q^T b. * The last equation can be solved directly. * * A is mxm, b is mx1 * * The function returns 0 in case of error, 1 if successful * * This function is often called repetitively to solve problems of identical * dimensions. To avoid repetitive malloc's and free's, allocated memory is * retained between calls and free'd-malloc'ed when not of the appropriate size. * A call with NULL as the first argument forces this memory to be released. */ int AX_EQ_B_QR(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m) { __STATIC__ LM_REAL *buf=NULL; __STATIC__ int buf_sz=0; static int nb=0; /* no __STATIC__ decl. here! */ LM_REAL *a, *tau, *r, *work; int a_sz, tau_sz, r_sz, tot_sz; register int i, j; int info, worksz, nrhs=1; register LM_REAL sum; if(!A) #ifdef LINSOLVERS_RETAIN_MEMORY { if(buf) free(buf); buf=NULL; buf_sz=0; return 1; } #else return 1; /* NOP */ #endif /* LINSOLVERS_RETAIN_MEMORY */ /* calculate required memory size */ a_sz=m*m; tau_sz=m; r_sz=m*m; /* only the upper triangular part really needed */ if(!nb){ LM_REAL tmp; worksz=-1; // workspace query; optimal size is returned in tmp GEQRF((int *)&m, (int *)&m, NULL, (int *)&m, NULL, (LM_REAL *)&tmp, (int *)&worksz, (int *)&info); nb=((int)tmp)/m; // optimal worksize is m*nb } worksz=nb*m; tot_sz=a_sz + tau_sz + r_sz + worksz; #ifdef LINSOLVERS_RETAIN_MEMORY if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_QR) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_QR) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; tau=a+a_sz; r=tau+tau_sz; work=r+r_sz; /* store A (column major!) into a */ for(i=0; ibuf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_QRLS) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_QRLS) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; tau=a+a_sz; r=tau+tau_sz; work=r+r_sz; /* store A (column major!) into a */ for(i=0; ibuf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_CHOL) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_CHOL) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; /* store A into a and B into x. A is assumed symmetric, * hence no transposition is needed */ memcpy(a, A, a_sz*sizeof(LM_REAL)); memcpy(x, B, m*sizeof(LM_REAL)); /* Cholesky decomposition of A */ //POTF2("L", (int *)&m, a, (int *)&m, (int *)&info); POTRF("L", (int *)&m, a, (int *)&m, (int *)&info); /* error treatment */ if(info!=0){ if(info<0){ fprintf(stderr, RCAT(RCAT(RCAT("LAPACK error: illegal value for argument %d of ", POTF2) "/", POTRF) " in ", AX_EQ_B_CHOL) "()\n", -info); exit(1); } else{ fprintf(stderr, RCAT(RCAT(RCAT("LAPACK error: the leading minor of order %d is not positive definite,\nthe factorization could not be completed for ", POTF2) "/", POTRF) " in ", AX_EQ_B_CHOL) "()\n", info); #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 0; } } /* solve using the computed Cholesky in one lapack call */ POTRS("L", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info); if(info<0){ fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", POTRS) " in ", AX_EQ_B_CHOL) "()\n", -info); exit(1); } #if 0 /* alternative: solve the linear system L y = b ... */ TRTRS("L", "N", "N", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info); /* error treatment */ if(info!=0){ if(info<0){ fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", TRTRS) " in ", AX_EQ_B_CHOL) "()\n", -info); exit(1); } else{ fprintf(stderr, RCAT("LAPACK error: the %d-th diagonal element of A is zero (singular matrix) in ", AX_EQ_B_CHOL) "()\n", info); #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 0; } } /* ... solve the linear system L^T x = y */ TRTRS("L", "T", "N", (int *)&m, (int *)&nrhs, a, (int *)&m, x, (int *)&m, &info); /* error treatment */ if(info!=0){ if(info<0){ fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", TRTRS) "in ", AX_EQ_B_CHOL) "()\n", -info); exit(1); } else{ fprintf(stderr, RCAT("LAPACK error: the %d-th diagonal element of A is zero (singular matrix) in ", AX_EQ_B_CHOL) "()\n", info); #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 0; } } #endif /* 0 */ #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 1; } #ifdef HAVE_PLASMA /* Linear algebra using PLASMA parallel library for multicore CPUs. * http://icl.cs.utk.edu/plasma/ * * WARNING: BLAS multithreading should be disabled, e.g. setenv MKL_NUM_THREADS 1 */ #ifndef _LM_PLASMA_MISC_ /* avoid multiple inclusion of helper code */ #define _LM_PLASMA_MISC_ #include #include #include #include #include /* programmatically determine the number of cores on the current machine */ #ifdef _WIN32 #include #elif __linux #include #endif static int getnbcores() { #ifdef _WIN32 SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); return sysinfo.dwNumberOfProcessors; #elif __linux return sysconf(_SC_NPROCESSORS_ONLN); #else // unknown system return 2<<1; // will be halved by right shift below #endif } static int PLASMA_ncores=-(getnbcores()>>1); // >0 if PLASMA initialized, <0 otherwise /* user-specified number of cores */ void levmar_PLASMA_setnbcores(int cores) { PLASMA_ncores=(cores>0)? -cores : ((cores)? cores : -2); } #endif /* _LM_PLASMA_MISC_ */ /* * This function returns the solution of Ax=b * * The function assumes that A is symmetric & positive definite and employs the * Cholesky decomposition implemented by PLASMA for homogeneous multicore processors. * * A is mxm, b is mx1 * * The function returns 0 in case of error, 1 if successfull * * This function is often called repetitively to solve problems of identical * dimensions. To avoid repetitive malloc's and free's, allocated memory is * retained between calls and free'd-malloc'ed when not of the appropriate size. * A call with NULL as the first argument forces this memory to be released. */ int AX_EQ_B_PLASMA_CHOL(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m) { __STATIC__ LM_REAL *buf=NULL; __STATIC__ int buf_sz=0; LM_REAL *a; int a_sz, tot_sz; int info, nrhs=1; if(A==NULL){ #ifdef LINSOLVERS_RETAIN_MEMORY if(buf) free(buf); buf=NULL; buf_sz=0; #endif /* LINSOLVERS_RETAIN_MEMORY */ PLASMA_Finalize(); PLASMA_ncores=-PLASMA_ncores; return 1; } /* calculate required memory size */ a_sz=m*m; tot_sz=a_sz; #ifdef LINSOLVERS_RETAIN_MEMORY if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_PLASMA_CHOL) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz*sizeof(LM_REAL)); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_PLASMA_CHOL) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; /* store A into a and B into x; A is assumed to be symmetric, * hence no transposition is needed */ memcpy(a, A, a_sz*sizeof(LM_REAL)); memcpy(x, B, m*sizeof(LM_REAL)); /* initialize PLASMA */ if(PLASMA_ncores<0){ PLASMA_ncores=-PLASMA_ncores; PLASMA_Init(PLASMA_ncores); fprintf(stderr, RCAT("\n", AX_EQ_B_PLASMA_CHOL) "(): PLASMA is running on %d cores.\n\n", PLASMA_ncores); } /* Solve the linear system */ info=PLASMA_POSV(PlasmaLower, m, 1, a, m, x, m); /* error treatment */ if(info!=0){ if(info<0){ fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", PLASMA_POSV) " in ", AX_EQ_B_PLASMA_CHOL) "()\n", -info); exit(1); } else{ fprintf(stderr, RCAT(RCAT("LAPACK error: the leading minor of order %d is not positive definite,\n" "the factorization could not be completed for ", PLASMA_POSV) " in ", AX_EQ_B_CHOL) "()\n", info); #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 0; } } #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 1; } #endif /* HAVE_PLASMA */ /* * This function returns the solution of Ax = b * * The function employs LU decomposition: * If A=L U with L lower and U upper triangular, then the original system * amounts to solving * L y = b, U x = y * * A is mxm, b is mx1 * * The function returns 0 in case of error, 1 if successful * * This function is often called repetitively to solve problems of identical * dimensions. To avoid repetitive malloc's and free's, allocated memory is * retained between calls and free'd-malloc'ed when not of the appropriate size. * A call with NULL as the first argument forces this memory to be released. */ int AX_EQ_B_LU(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m) { __STATIC__ LM_REAL *buf=NULL; __STATIC__ int buf_sz=0; int a_sz, ipiv_sz, tot_sz; register int i, j; int info, *ipiv, nrhs=1; LM_REAL *a; if(!A) #ifdef LINSOLVERS_RETAIN_MEMORY { if(buf) free(buf); buf=NULL; buf_sz=0; return 1; } #else return 1; /* NOP */ #endif /* LINSOLVERS_RETAIN_MEMORY */ /* calculate required memory size */ ipiv_sz=m; a_sz=m*m; tot_sz=a_sz*sizeof(LM_REAL) + ipiv_sz*sizeof(int); /* should be arranged in that order for proper doubles alignment */ #ifdef LINSOLVERS_RETAIN_MEMORY if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; ipiv=(int *)(a+a_sz); /* store A (column major!) into a and B into x */ for(i=0; ibuf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_SVD) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_SVD) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; u=a+a_sz; s=u+u_sz; vt=s+s_sz; work=vt+vt_sz; iwork=(int *)(work+worksz); /* store A (column major!) into a */ for(i=0; i0.0; eps*=LM_CNST(0.5)) ; eps*=LM_CNST(2.0); } /* compute the pseudoinverse in a */ for(i=0; ithresh; rank++){ one_over_denom=LM_CNST(1.0)/s[rank]; for(j=0; jbuf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_BK) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(LM_REAL *)malloc(buf_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_BK) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; work=a+a_sz; ipiv=(int *)(work+work_sz); /* store A into a and B into x; A is assumed to be symmetric, hence * the column and row major order representations are the same */ memcpy(a, A, a_sz*sizeof(LM_REAL)); memcpy(x, B, m*sizeof(LM_REAL)); /* LDLt factorization for A */ SYTRF("L", (int *)&m, a, (int *)&m, ipiv, work, (int *)&work_sz, (int *)&info); if(info!=0){ if(info<0){ fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", SYTRF) " in ", AX_EQ_B_BK) "()\n", -info); exit(1); } else{ fprintf(stderr, RCAT(RCAT("LAPACK error: singular block diagonal matrix D for", SYTRF) " in ", AX_EQ_B_BK)"() [D(%d, %d) is zero]\n", info, info); #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 0; } } /* solve the system with the computed factorization */ SYTRS("L", (int *)&m, (int *)&nrhs, a, (int *)&m, ipiv, x, (int *)&m, (int *)&info); if(info<0){ fprintf(stderr, RCAT(RCAT("LAPACK error: illegal value for argument %d of ", SYTRS) " in ", AX_EQ_B_BK) "()\n", -info); exit(1); } #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 1; } /* undefine all. IT MUST REMAIN IN THIS POSITION IN FILE */ #undef AX_EQ_B_QR #undef AX_EQ_B_QRLS #undef AX_EQ_B_CHOL #undef AX_EQ_B_LU #undef AX_EQ_B_SVD #undef AX_EQ_B_BK #undef AX_EQ_B_PLASMA_CHOL #undef GEQRF #undef ORGQR #undef TRTRS #undef POTF2 #undef POTRF #undef POTRS #undef GETRF #undef GETRS #undef GESVD #undef GESDD #undef SYTRF #undef SYTRS #undef PLASMA_POSV #else // no LAPACK /* precision-specific definitions */ #define AX_EQ_B_LU LM_ADD_PREFIX(Ax_eq_b_LU_noLapack) /* * This function returns the solution of Ax = b * * The function employs LU decomposition followed by forward/back substitution (see * also the LAPACK-based LU solver above) * * A is mxm, b is mx1 * * The function returns 0 in case of error, 1 if successful * * This function is often called repetitively to solve problems of identical * dimensions. To avoid repetitive malloc's and free's, allocated memory is * retained between calls and free'd-malloc'ed when not of the appropriate size. * A call with NULL as the first argument forces this memory to be released. */ int AX_EQ_B_LU(LM_REAL *A, LM_REAL *B, LM_REAL *x, int m) { __STATIC__ void *buf=NULL; __STATIC__ int buf_sz=0; register int i, j, k; int *idx, maxi=-1, idx_sz, a_sz, work_sz, tot_sz; LM_REAL *a, *work, max, sum, tmp; if(!A) #ifdef LINSOLVERS_RETAIN_MEMORY { if(buf) free(buf); buf=NULL; buf_sz=0; return 1; } #else return 1; /* NOP */ #endif /* LINSOLVERS_RETAIN_MEMORY */ /* calculate required memory size */ idx_sz=m; a_sz=m*m; work_sz=m; tot_sz=(a_sz+work_sz)*sizeof(LM_REAL) + idx_sz*sizeof(int); /* should be arranged in that order for proper doubles alignment */ #ifdef LINSOLVERS_RETAIN_MEMORY if(tot_sz>buf_sz){ /* insufficient memory, allocate a "big" memory chunk at once */ if(buf) free(buf); /* free previously allocated memory */ buf_sz=tot_sz; buf=(void *)malloc(tot_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n"); exit(1); } } #else buf_sz=tot_sz; buf=(void *)malloc(tot_sz); if(!buf){ fprintf(stderr, RCAT("memory allocation in ", AX_EQ_B_LU) "() failed!\n"); exit(1); } #endif /* LINSOLVERS_RETAIN_MEMORY */ a=buf; work=a+a_sz; idx=(int *)(work+work_sz); /* avoid destroying A, B by copying them to a, x resp. */ memcpy(a, A, a_sz*sizeof(LM_REAL)); memcpy(x, B, m*sizeof(LM_REAL)); /* compute the LU decomposition of a row permutation of matrix a; the permutation itself is saved in idx[] */ for(i=0; imax) max=tmp; if(max==0.0){ fprintf(stderr, RCAT("Singular matrix A in ", AX_EQ_B_LU) "()!\n"); #ifndef LINSOLVERS_RETAIN_MEMORY free(buf); #endif return 0; } work[i]=LM_CNST(1.0)/max; } for(j=0; j=max){ max=tmp; maxi=i; } } if(j!=maxi){ for(k=0; k=0; --i){ sum=x[i]; for(j=i+1; jn){ fprintf(stderr, RCAT("matrix of constraints cannot have more rows than columns in", LMLEC_ELIM) "()!\n"); return LM_ERROR; } tm=n; tn=m; // transpose dimensions mintmn=m; /* calculate required memory size */ worksz=-1; // workspace query. Optimal work size is returned in aux //ORGQR((int *)&tm, (int *)&tm, (int *)&mintmn, NULL, (int *)&tm, NULL, (LM_REAL *)&aux, &worksz, &info); GEQP3((int *)&tm, (int *)&tn, NULL, (int *)&tm, NULL, NULL, (LM_REAL *)&aux, (int *)&worksz, &info); worksz=(int)aux; a_sz=tm*tm; // tm*tn is enough for xgeqp3() jpvt_sz=tn; tau_sz=mintmn; r_sz=mintmn*mintmn; // actually smaller if a is not of full row rank Y_sz=(Y)? 0 : tm*tn; tot_sz=(a_sz + tau_sz + r_sz + worksz + Y_sz)*sizeof(LM_REAL) + jpvt_sz*sizeof(int); /* should be arranged in that order for proper doubles alignment */ buf=(LM_REAL *)malloc(tot_sz); /* allocate a "big" memory chunk at once */ if(!buf){ fprintf(stderr, RCAT("Memory allocation request failed in ", LMLEC_ELIM) "()\n"); return LM_ERROR; } a=buf; tau=a+a_sz; r=tau+tau_sz; work=r+r_sz; if(!Y){ Y=work+worksz; jpvt=(int *)(Y+Y_sz); } else jpvt=(int *)(work+worksz); /* copy input array so that LAPACK won't destroy it. Note that copying is * done in row-major order, which equals A^T in column-major */ for(i=0; i0){ fprintf(stderr, RCAT(RCAT("unknown LAPACK error (%d) for ", GEQP3) " in ", LMLEC_ELIM) "()\n", info); } free(buf); return LM_ERROR; } /* the upper triangular part of a now contains the upper triangle of the unpermuted R */ if(eps<0.0){ LM_REAL aux; /* compute machine epsilon. DBL_EPSILON should do also */ for(eps=LM_CNST(1.0); aux=eps+LM_CNST(1.0), aux-LM_CNST(1.0)>0.0; eps*=LM_CNST(0.5)) ; eps*=LM_CNST(2.0); } tmp=tm*LM_CNST(10.0)*eps*FABS(a[0]); // threshold. tm is max(tm, tn) tmp=(tmp>LM_CNST(1E-12))? tmp : LM_CNST(1E-12); // ensure that threshold is not too small /* compute A^T's numerical rank by counting the non-zeros in R's diagonal */ for(i=rank=0; itmp || a[i*(tm+1)]<-tmp) ++rank; /* loop across R's diagonal elements */ else break; /* diagonal is arranged in absolute decreasing order */ if(rank0){ fprintf(stderr, RCAT(RCAT("A(%d, %d) is exactly zero for ", TRTRI) " (singular matrix) in ", LMLEC_ELIM) "()\n", info, info); } free(buf); return LM_ERROR; } /* finally, permute R^-T using Y as intermediate storage */ for(j=0; j0){ fprintf(stderr, RCAT(RCAT("unknown LAPACK error (%d) for ", ORGQR) " in ", LMLEC_ELIM) "()\n", info); } free(buf); return LM_ERROR; } /* compute Y=Q_1*R^-T*P^T. Y is tm x rank */ for(i=0; incnstr; c=data->c; Z=data->Z; p=data->p; /* p=c + Z*pp */ for(i=0; ifunc))(p, hx, m, n, data->adata); } /* constrained Jacobian: given pp, compute the Jacobian at c + Z*pp * Using the chain rule, the Jacobian with respect to pp equals the * product of the Jacobian with respect to p (at c + Z*pp) times Z */ static void LMLEC_JACF(LM_REAL *pp, LM_REAL *jacjac, int mm, int n, void *adata) { struct LMLEC_DATA *data=(struct LMLEC_DATA *)adata; int m; register int i, j, l; register LM_REAL sum, *aux1, *aux2; LM_REAL *c, *Z, *p, *jac; m=mm+data->ncnstr; c=data->c; Z=data->Z; p=data->p; jac=data->jac; /* p=c + Z*pp */ for(i=0; ijacf))(p, jac, m, n, data->adata); /* compute jac*Z in jacjac */ if(n*m<=__BLOCKSZ__SQ){ // this is a small problem /* This is the straightforward way to compute jac*Z. However, due to * its noncontinuous memory access pattern, it incures many cache misses when * applied to large minimization problems (i.e. problems involving a large * number of free variables and measurements), in which jac is too large to * fit in the L1 cache. For such problems, a cache-efficient blocking scheme * is preferable. On the other hand, the straightforward algorithm is faster * on small problems since in this case it avoids the overheads of blocking. */ for(i=0; iLM_CNST(1E-03)) fprintf(stderr, RCAT("Warning: component %d of starting point not feasible in ", LEVMAR_LEC_DER) "()! [%.10g reset to %.10g]\n", i, p0[i], tmp); } if(!info) info=locinfo; /* make sure that LEVMAR_DER() is called with non-null info */ /* note that covariance computation is not requested from LEVMAR_DER() */ ret=LEVMAR_DER(LMLEC_FUNC, LMLEC_JACF, pp, x, mm, n, itmax, opts, info, work, NULL, (void *)&data); /* p=c + Z*pp */ for(i=0; iLM_CNST(1E-03)) fprintf(stderr, RCAT("Warning: component %d of starting point not feasible in ", LEVMAR_LEC_DIF) "()! [%.10g reset to %.10g]\n", i, p0[i], tmp); } if(!info) info=locinfo; /* make sure that LEVMAR_DIF() is called with non-null info */ /* note that covariance computation is not requested from LEVMAR_DIF() */ ret=LEVMAR_DIF(LMLEC_FUNC, pp, x, mm, n, itmax, opts, info, work, NULL, (void *)&data); /* p=c + Z*pp */ for(i=0; i Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. stimfit-0.14.11/src/libstfnum/levmar/compiler.h0000644000175200017520000000352412472345762016345 00000000000000///////////////////////////////////////////////////////////////////////////////// // // Levenberg - Marquardt non-linear minimization algorithm // Copyright (C) 2004 Manolis Lourakis (lourakis at ics forth gr) // Institute of Computer Science, Foundation for Research & Technology - Hellas // Heraklion, Crete, Greece. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // ///////////////////////////////////////////////////////////////////////////////// #ifndef _COMPILER_H_ #define _COMPILER_H_ /* note: intel's icc defines both __ICC & __INTEL_COMPILER. * Also, some compilers other than gcc define __GNUC__, * therefore gcc should be checked last */ #ifdef _MSC_VER #define inline __inline // MSVC #elif !defined(__ICC) && !defined(__INTEL_COMPILER) && !defined(__GNUC__) #define inline // other than MSVC, ICC, GCC: define empty #endif #ifdef _MSC_VER #define LM_FINITE _finite // MSVC #elif defined(__ICC) || defined(__INTEL_COMPILER) || defined(__GNUC__) #define LM_FINITE finite // ICC, GCC #else #define LM_FINITE finite // other than MSVC, ICC, GCC, let's hope this will work #endif #ifdef _MSC_VER #define LM_ISINF(x) (!_finite(x) && !_isnan(x)) // MSVC #elif defined(__ICC) || defined(__INTEL_COMPILER) || defined(__GNUC__) #define LM_ISINF(x) isinf(x) // ICC, GCC #else #define LM_ISINF(x) isinf(x) // other than MSVC, ICC, GCC, let's hope this will work #endif #endif /* _COMPILER_H_ */ stimfit-0.14.11/src/libstfnum/funclib.h0000755000175200017520000005444512472352307014673 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file funclib.h * \author Christoph Schmidt-Hieber * \date 2008-01-20 * \brief User-defined functions for the Levenberg-Marquardt non-linear regression. */ #ifndef _FUNCLIB_H #define _FUNCLIB_H // common definitions needed here: #include "./stfnum.h" namespace stfnum { /*! \addtogroup stfgen * @{ */ //! Sum of \e n exponential functions. /*! \f[f(x)=p_{2n} + \sum_{i=0}^{n - 1}p_{2i}\mathrm{e}^{\left( \frac{x}{p_{2i + 1}}\right)}\f] * \param x Function argument. * \param p A valarray of parameters of size 2n+1, where \n * \e n is the number of exponential terms, \n * \e p[2i] is the amplitude term, \n * \e p[2i+1] is the time constant, \n * \e p[2n], the last element, contains the offset and \n * \e i denotes the i -th exponential term (running from 0 to n-1). * \return The evaluated function. */ double fexp(double x, const Vector_double& p); //! Computes the Jacobian of stfnum::fexp(). /*! \f{eqnarray*} * j_{2i}(x) &=& \frac{\partial f(x)}{\partial p_{2i}} = \mathrm{e}^{\left(\frac{-x}{p_{2i+1}}\right)} \\ * j_{2i+1}(x) &=& \frac{\partial f(x)}{\partial p_{2i+1}} = \frac{p_{2i}}{p_{2i+1}^2} x \mathrm{e}^{\left( \frac{-x}{p_{2i+1}}\right)} \\ * j_n(x) &=& \frac{\partial f(x)}{\partial p_{n}} = 1 * \f} * \param x Function argument. * \param p A valarray of parameters of size 2n+1, where \n * \e n is the number of exponential terms, \n * \e p[2i] is the amplitude term, \n * \e p[2i+1] is the time constant, \n * \e p[2n], the last element, contains the offset and \n * \e i denotes the i -th exponential term (running from 0 to n-1). * \return A valarray \e j of size 2n+1 with the evaluated Jacobian, where \n * \e j[2i] contains the derivative with respect to \e p[2i], \n * \e j[2i+1] contains the derivative with respect to \e p[2i+1] and \n * \e j[2n], the last element, contains the derivative with respect to \e p[2n]. */ Vector_double fexp_jac(double x, const Vector_double& p); //! Initialises parameters for fitting stfnum::fexp() to \e data. /*! This needs to be made more robust. * \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 2n+1, where \e n is the * number of exponential functions. On exit, will contain initial parameter * estimates. */ void fexp_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! Yet another initialiser for fitting stfnum::fexp() to \e data. /*! In this case, one of the amplitude terms will have another sign than the others, making * it more suitable for fitting PSCs or PSPs. However, this often fails to work in practice. * \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 2n+1, where \e n is the * number of exponential functions. On exit, will contain initial parameter * estimates. */ void fexp_init2(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! Monoexponential function with delay. /*! \f{eqnarray*} * f(x)= * \begin{cases} * p_0, & \mbox{if }x < p_3 \\ * \left( p_0 - p_2 \right) \mathrm{e}^{\left (\frac{p_3 - x}{p_1}\right )} + p_2, & \mbox{if }x \geq p_3 * \end{cases} * \f} * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the baseline, \n * \e p[1] is the time constant, \n * \e p[2] is the amplitude and \n * \e p[3] is the delay. * \return The evaluated function. */ double fexpde(double x, const Vector_double& p); #if 0 //! Computes the Jacobian of stfnum::fexpde(). /*! \f{eqnarray*} * j_0(x)&=& \frac{df(x)}{dp_0} = * \begin{cases} * 1, & \mbox{if }x < p_3 \\ * \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} \\ * j_1(x)&=& \frac{df(x)}{dp_1} = * \begin{cases} * 0, & \mbox{if }x < p_3 \\ * \left( p_0-p_2 \right) \left( p_3-x \right) \frac{-1}{p_1^2} \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} \\ * j_2(x)&=& \frac{df(x)}{dp_2} = * \begin{cases} * 0, & \mbox{if }x < p_3 \\ * 1 - \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} \\ * j_3(x)&=& \frac{df(x)}{dp_3} = * \begin{cases} * 0, & \mbox{if }x < p_3 \\ * \left( p_0-p_2 \right) \frac{1}{p_1} \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} * \f} * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the baseline, \n * \e p[1] is the time constant, \n * \e p[2] is the amplitude and \n * \e p[3] is the delay. * \return A valarray \e j with the evaluated Jacobian, where \n * \e j[0] contains the derivative with respect to \e p[0], \n * \e j[1] contains the derivative with respect to \e p[1], \n * \e j[2] contains the derivative with respect to \e p[2] and \n * \e j[3] contains the derivative with respect to \e p[3]. */ Vector_double fexpde_jac(double x, const Vector_double& p); #endif //! Initialises parameters for fitting stfnum::fexpde() to \e data. /*! \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 4. * On exit, will contain initial parameter estimates. */ void fexpde_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! Biexponential function with delay. /*! \f{eqnarray*} * f(x)= * \begin{cases} * p_0 & \mbox{if }x < p_1 \\ * p_3 \left( \mathrm{e}^{\frac{p_1 - x}{p_2}} - \mathrm{e}^{\frac{p_1 - x}{p_4}} \right) + p_0 & \mbox{if }x \geq p_1 * \end{cases} * \f} * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the baseline, \n * \e p[1] is the delay, \n * \e p[2] is the later (slower) time constant, \n * \e p[3] is the amplitude and \n * \e p[4] is the earlier (faster) time constant, \n * \return The evaluated function. */ double fexpbde(double x, const Vector_double& p); //! Triexponential function with delay. /*! \f{eqnarray*} * f(x)= * \begin{cases} * p_0 & \mbox{if }x < p_1 \\ * p_3 \left( p_6\mathrm{e}^{\frac{p_1 - x}{p_2}} + (1-p_6)\mathrm{e}^{\frac{p_1 - x}{p_5}} - \mathrm{e}^{\frac{p_1 - x}{p_4}} \right) + p_0 & \mbox{if }x \geq p_1 * \end{cases} * \f} * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the baseline, \n * \e p[1] is the delay, \n * \e p[2] is the first later (slower) time constant, \n * \e p[3] is the amplitude and \n * \e p[4] is the earlier (faster) time constant, \n * \e p[5] is the second later (slower) time constant, \n * \e p[6] is the relative weight of p[2], \n * \return The evaluated function. */ double fexptde(double x, const Vector_double& p); #if 0 //! Computes the Jacobian of stfnum::fexpde(). /*! \f{eqnarray*} * j_0(x)&=& \frac{df(x)}{dp_0} = * \begin{cases} * 1, & \mbox{if }x < p_3 \\ * \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} \\ * j_1(x)&=& \frac{df(x)}{dp_1} = * \begin{cases} * 0, & \mbox{if }x < p_3 \\ * \left( p_0-p_2 \right) \left( p_3-x \right) \frac{-1}{p_1^2} \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} \\ * j_2(x)&=& \frac{df(x)}{dp_2} = * \begin{cases} * 0, & \mbox{if }x < p_3 \\ * 1 - \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} \\ * j_3(x)&=& \frac{df(x)}{dp_3} = * \begin{cases} * 0, & \mbox{if }x < p_3 \\ * \left( p_0-p_2 \right) \frac{1}{p_1} \mathrm{e}^{\frac{p_3 - x}{p_1}}, & \mbox{if }x \geq p_3 * \end{cases} * \f} * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the baseline, \n * \e p[1] is the time constant, \n * \e p[2] is the amplitude and \n * \e p[3] is the delay. * \return A valarray \e j with the evaluated Jacobian, where \n * \e j[0] contains the derivative with respect to \e p[0], \n * \e j[1] contains the derivative with respect to \e p[1], \n * \e j[2] contains the derivative with respect to \e p[2] and \n * \e j[3] contains the derivative with respect to \e p[3]. */ Vector_double fexpbde_jac(double x, const Vector_double& p); #endif //! Initialises parameters for fitting stfnum::fexpde() to \e data. /*! \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 4. * On exit, will contain initial parameter estimates. */ void fexpbde_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! Initialises parameters for fitting stfnum::fexpde() to \e data. /*! \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 4. * On exit, will contain initial parameter estimates. */ void fexptde_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! Alpha function. /*! \f[f(x)=p_0 \frac{x}{p_1} \mathrm{e}^{\left(1 - \frac{x}{p_1} \right)} + p_2\f] * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the amplitude, \n * \e p[1] is the rate and \n * \e p[2] is the offset. * \return The evaluated function. */ double falpha(double x, const Vector_double& p); //! Computes the Jacobian of stfnum::falpha(). /*! \f{eqnarray*} * j_0(x) &=& \frac{\partial f(x)}{\partial p_0} = \frac{x \mathrm{e}^{\left(1 - \frac{x}{p_1} \right)}}{p_1} \\ * j_1(x) &=& \frac{\partial f(x)}{\partial p_1} = \frac{x \mathrm{e}^{\left(1 - \frac{x}{p_1} \right)}}{p_1} \left(\frac{p_0 x}{p_1^2} - \frac{p_0}{p_1} \right) \\ * j_2(x) &=& \frac{\partial f(x)}{\partial p_2} = 1 * \f} * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the amplitude, \n * \e p[1] is the rate and \n * \e p[2] is the offset. * \return A valarray \e j with the evaluated Jacobian, where \n * \e j[0] contains the derivative with respect to \e p[0], \n * \e j[1] contains the derivative with respect to \e p[1] and \n * \e j[2] contains the derivative with respect to \e p[2]. */ Vector_double falpha_jac(double x, const Vector_double& p); //! Hodgkin-Huxley sodium conductance function. /*! \f[f(x)=p_0\left(1-\mathrm{e}^{\frac{-x}{p_1}}\right)^3\mathrm{e}^{\frac{-x}{p_2}} + p_3\f] * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the amplitude \f$g'_{Na}\f$, \n * \e p[1] is \f$\tau_m\f$, \n * \e p[2] is \f$\tau_h\f$ and \n * \e p[3] is the offset. \n * \return The evaluated function. */ double fHH(double x, const Vector_double& p); //! Computes the sum of an arbitrary number of Gaussians. /*! \f[ * f(x) = \sum_{i=0}^{n-1}p_{3i}\mathrm{e}^{- \left( \frac{x-p_{3i+1}}{p_{3i+2}} \right) ^2} * \f] * \param x Argument of the function. * \param p A valarray of function parameters of size 3\e n, where \n * \e p[3i] is the amplitude of the Gaussian \n * \e p[3i+1] is the position of the center of the peak, \n * \e p[3i+2] is the width of the Gaussian, \n * \e n is the number of Gaussian functions and \n * \e i is the 0-based index of the i-th Gaussian. * \return The evaluated function. */ StfioDll double fgauss(double x, const Vector_double& p); //! Computes the Jacobian of a sum of Gaussians. Vector_double fgauss_jac(double x, const Vector_double& p); //! power of 1 sodium conductance function. /*! \f[f(x)=p_0\left(1-\mathrm{e}^{\frac{-x}{p_1}}\right)\mathrm{e}^{\frac{-x}{p_2}} + p_3\f] * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the amplitude \f$g'_{Na}\f$, \n * \e p[1] is \f$\tau_m\f$, \n * \e p[2] is \f$\tau_h\f$ and \n * \e p[3] is the offset. \n * \return The evaluated function. */ double fgnabiexp(double x, const Vector_double& p); //! Computes the Jacobian of stfnum::fgnabiexp(). /*! \f{eqnarray*} * j_0(x) &=& \frac{\partial f(x)}{\partial p_0} = \left(1 -\mathrm{e}^{\frac{-x}{p_1}}\right) \mathrm{e}^{\frac{-x}{p_2}} \\ * j_1(x) &=& \frac{\partial f(x)}{\partial p_1} = p_0 \frac{ -x \mathrm{e}^{\left(-\frac{x}{p_1} - \frac{x}{p_2} \right)}}{p_1^2} \\ * j_2(x) &=& \frac{\partial f(x)}{\partial p_2} = p_0 \frac{ x \left(1 -\mathrm{e}^{\frac{-x}{p_1}}\right) \mathrm{e}^{\frac{-x}{p_2}}} {p_2^2}\\ * j_3(x) &=& \frac{\partial f(x)}{\partial p_3} = 1 * \f} * \param x Function argument. * \param p A valarray of parameters, where \n * \e p[0] is the amplitude \f$g'_{Na}\f$, \n * \e p[1] is \f$\tau_m\f$, \n * \e p[2] is \f$\tau_h\f$ and \n * \e p[3] is the offset. \n * \return A valarray \e j with the evaluated Jacobian, where \n * \e j[0] contains the derivative with respect to \e p[0], \n * \e j[1] contains the derivative with respect to \e p[1], \n * \e j[2] contains the derivative with respect to \e p[2] and \n * \e j[3] contains the derivative with respect to \e p[3]. */ Vector_double fgnabiexp_jac(double x, const Vector_double& p); //! Initialises parameters for fitting stfnum::falpha() to \e data. /*! \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 3. On exit, will contain initial parameter * estimates. */ void falpha_init(const Vector_double& data, double base, double peak, double RTLoHI, double HalfWidth, double dt, Vector_double& pInit ); //! Initialises parameters for fitting stfnum::fgauss() to \e data. /*! \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 3. On exit, will contain initial parameter * estimates. */ void fgauss_init(const Vector_double& data, double base, double peak, double RTLoHI, double HalfWidth, double dt, Vector_double& pInit ); //! Initialises parameters for fitting stfnum::falpha() to \e data. /*! \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 4. On exit, will contain initial parameter * estimates. */ void fHH_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! Initialises parameters for fitting stfnum::falpha() to \e data. /*! \param data The waveform of the data for the fit. * \param base Baseline of \e data. * \param peak Peak value of \e data. * \param dt The sampling interval. * \param pInit On entry, pass a valarray of size 4. On exit, will contain initial parameter * estimates. */ void fgnabiexp_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); //! Scales a parameter that linearly depends on x /*! \param The parameter to scale * \param xscale x scaling factor * \param xoff x offset * \param yscale y scaling factor * \param yoff y offset * \return Scaled parameter */ double xscale(double param, double xscale, double xoff, double yscale, double yoff); //! Unscales a parameter that linearly depends on x /*! \param The parameter to scale * \param xscale x scaling factor * \param xoff x offset * \param yscale y scaling factor * \param yoff y offset * \return Unscaled parameter */ double xunscale(double param, double xscale, double xoff, double yscale, double yoff); //! Scales a parameter that linearly depends on y /*! \param The parameter to scale * \param xscale x scaling factor * \param xoff x offset * \param yscale y scaling factor * \param yoff y offset */ double yscale(double param, double xscale, double xoff, double yscale, double yoff); //! Scales a parameter that linearly depends on y and adds an offset /*! \param The parameter to scale * \param xscale x scaling factor * \param xoff x offset * \param yscale y scaling factor * \param yoff y offset */ double yscaleoffset(double param, double xscale, double xoff, double yscale, double yoff); //! Unscales a parameter that linearly depends on y /*! \param The parameter to scale * \param xscale x scaling factor * \param xoff x offset * \param yscale y scaling factor * \param yoff y offset * \return Unscaled parameter */ double yunscale(double param, double xscale, double xoff, double yscale, double yoff); //! Unscales a parameter that linearly depends on y and removes the offset /*! \param The parameter to scale * \param xscale x scaling factor * \param xoff x offset * \param yscale y scaling factor * \param yoff y offset * \return Unscaled parameter */ double yunscaleoffset(double param, double xscale, double xoff, double yscale, double yoff); //! Creates stfnum::parInfo structs for n-exponential functions. /*! \param n_exp Number of exponential terms. * \return A vector of parameter information structs. */ std::vector getParInfoExp(int n_exp); //! Calculates a weighted time constant. /*! \param p Parameters of an exponential function (see stfnum::fexp()). * \param parsInfo Information about the parameters \e p. * \param chisqr The sum of squared errors, as returned from a least-squares fit. * \return A formatted table of results. */ stfnum::Table outputWTau(const Vector_double& p, const std::vector& parsInfo, double chisqr); //! Finds the index of \e data where \e value is encountered for the first time. /*! \param data The waveform to be searched. * \param value The value to be found. * \return The index of \e data right after \e value has been crossed. */ std::size_t whereis(const Vector_double& data, double value); //! Returns the library of functions for non-linear regression. /*! \return A vector of non-linear regression functions. */ StfioDll std::vector GetFuncLib(); /*@}*/ } #endif stimfit-0.14.11/src/libstfnum/measure.h0000755000175200017520000002201012472352307014671 00000000000000// Header file for the stimfit namespace // Routines for measuring basic event properties // last revision: 24-Jan-2011 // C. Schmidt-Hieber, christsc@gmx.de // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file measure.h * \author Christoph Schmidt-Hieber, Peter Jonas * \date 2011-01-24 * \brief Functions for measuring kinetics of events within waveforms. * * * For an example how to use these functions, see Recording::Measure(). */ #ifndef _MEASLIB_H #define _MEASLIB_H #include #include "../libstfio/stfio.h" namespace stfnum { /*! \addtogroup stfgen * @{ */ //! Calculate the average of all sampling points between and including \e llb and \e ulb. /*! \param method: 0: mean and s.d.; 1: median * \param var Will contain the variance on exit (only when method=0). * \param data The data waveform to be analysed. * \param llb Averaging will be started at this index. * \param ulb Index of the last data point included in the average (legacy of the PASCAL version). * \param llp Lower limit of the peak window (see stfnum::peak()). * \param ulp Upper limit of the peak window (see stfnum::peak()). * \return The baseline value - either the mean or the median depending on method. */ StfioDll double base(enum stfnum::baseline_method method, double& var, const std::vector& data, std::size_t llb, std::size_t ulb); //! Find the peak value of \e data between \e llp and \e ulp. /*! Note that peaks will be detected by measuring from \e base, but the return value * is given from 0. Data points at both \e llp and \e ulp will be included in the search * (legacy of Stimfit for PASCAL). * \param data The data waveform to be analysed. * \param base The baseline value. * \param llp Lower limit of the peak window. * \param ulp Upper limit of the peak window. * \param pM If \e pM > 1, a sliding (boxcar) average of width \e pM will be used * to measure the peak. * \param dir Can be \n * stfnum::up for positive-going peaks, \n * stfnum::down for negative-going peaks or \n * stfnum::both for negative- or positive-going peaks, whichever is larger. * \param maxT On exit, the index of the peak value. May be interpolated if \e pM > 1. * \return The peak value, measured from 0. */ StfioDll double peak( const std::vector& data, double base, std::size_t llp, std::size_t ulp, int pM, stfnum::direction, double& maxT); //! Find the value within \e data between \e llp and \e ulp at which \e slope is exceeded. /*! \param data The data waveform to be analysed. * \param llp Lower limit of the peak window. * \param ulp Upper limit of the peak window. * \param thrT On exit, The interpolated time point of the threshold crossing * in units of sampling points, or a negative value if the threshold wasn't found. * \param windowLength is the distance (in number of samples) used to compute the difference, the default value is 1. * \return The interpolated threshold value. */ StfioDll double threshold( const std::vector& data, std::size_t llp, std::size_t ulp, double slope, double& thrT, std::size_t windowLength ); //! Find 20 to 80% rise time of an event in \e data. /*! Although t80real is not explicitly returned, it can be calculated * from t20Real+risetime. * \param data The data waveform to be analysed. * \param base The baseline value. * \param ampl The amplitude of the event (typically, peak-base). * \param left Delimits the search to the left. * \param right Delimits the search to the right. * \param t20Id On exit, the index wich is closest to the 20%-point. * \param t80Id On exit, the index wich is closest to the 80%-point. * \param t20Real the linearly interpolated 20%-timepoint in * units of sampling points. * \return The rise time. */ StfioDll double risetime(const std::vector& data, double base, double ampl, double left, double right, double frac, std::size_t& tLoId, std::size_t& tHiId, double& tLoReal); //! Find 20 to 80% rise time of an event in \e data. /*! Although t80real is not explicitly returned, it can be calculated * from t20Real+risetime. * \param data The data waveform to be analysed. * \param base The baseline value. * \param ampl The amplitude of the event (typically, peak-base). * \param left Delimits the search to the left. * \param right Delimits the search to the right. * \param innerTLoReal interpolated starting point of the inner risetime * \param innerTHiReal interpolated end point of the inner risetime * \param outerTLoReal interpolated starting point of the outer risetime * \param outerTHiReal interpolated end point of the outer risetime the inner rise time is (innerTHiReal-innerTLoReal), the outer rise time is (outerTHiReal-outerTLoReal), in case of noise free data, inner and outer rise time are the same. * \return The inner rise time. */ StfioDll double risetime2(const std::vector& data, double base, double ampl, double left, double right, double frac, double& innerTLoReal, double& innerTHiReal, double& outerTLoReal, double& outerTHiReal ); //! Find the full width at half-maximal amplitude of an event within \e data. /*! Although t50RightReal is not explicitly returned, it can be calculated * from t50LeftReal+t_half. * \param data The data waveform to be analysed. * \param base The baseline value. * \param ampl The amplitude of the event (typically, peak-base). * \param left Delimits the search to the left. * \param right Delimits the search to the right. * \param center The estimated center of an event from which to start * searching to the left and to the right (typically, the index * of the peak). * \param t50LeftId On exit, the index wich is closest to the left 50%-point. * \param t50RightId On exit, the index wich is closest to the right 50%-point. * \param t50LeftReal the linearly interpolated left 50%-timepoint in * units of sampling points. * \return The full width at half-maximal amplitude. */ StfioDll double t_half( const std::vector& data, double base, double ampl, double left, double right, double center, std::size_t& t50LeftId, std::size_t& t50RightId, double& t50LeftReal ); //! Find the maximal slope during the rising phase of an event within \e data. /*! \param data The data waveform to be analysed. * \param left Delimits the search to the left. * \param right Delimits the search to the right. * \param maxRiseT The interpolated time point of the maximal slope of rise * in units of sampling points. * \param maxRiseY The interpolated value of \e data at \e maxRiseT. * \param windowLength is the distance (in number of samples) used to compute the slope, the default value is 1. * \return The maximal slope during the rising phase. */ StfioDll double maxRise( const std::vector& data, double left, double right, double& maxRiseT, double& maxRiseY, std::size_t windowLength); //! Find the maximal slope during the decaying phase of an event within \e data. /*! \param data The data waveform to be analysed. * \param left Delimits the search to the left. * \param right Delimits the search to the right. * \param maxDecayT The interpolated time point of the maximal slope of decay * in units of sampling points. * \param maxDecayY The interpolated value of \e data at \e maxDecayT. * \param windowLength is the distance (in number of samples) used to compute the slope, the default value is 1. * \return The maximal slope during the decaying phase. */ StfioDll double maxDecay( const std::vector& data, double left, double right, double& maxDecayT, double& maxDecayY, std::size_t windowLength); #ifdef WITH_PSLOPE //! Find the slope an event within \e data. /*! \param data The data waveform to be analysed. * \param left delimits the search to the left. * \param right delimits the search to the right. * \return The slope during the limits defined in left and right. */ double pslope( const std::vector& data, std::size_t left, std::size_t right); #endif /*@}*/ } #endif stimfit-0.14.11/src/libstfnum/stfnum.cpp0000755000175200017520000007360112510216210015074 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // core.cpp // Some definitions of functions declared in the stfnum:: namespace // last revision: 07-23-2006 // C. Schmidt-Hieber #include #include #include #include "stfnum.h" #include "fit.h" #include "funclib.h" int isnan(double x) { return x != x; } int isinf(double x) { return !isnan(x) && isnan(x - x); } stfnum::Table::Table(std::size_t nRows,std::size_t nCols) : values(nRows,std::vector(nCols,1.0)), empty(nRows,std::deque(nCols,false)), rowLabels(nRows, "\0"), colLabels(nCols, "\0") {} stfnum::Table::Table(const std::map< std::string, double >& map) : values(map.size(),std::vector(1,1.0)), empty(map.size(),std::deque(1,false)), rowLabels(map.size(), "\0"), colLabels(1, "Results") { std::map< std::string, double >::const_iterator cit; sst_it it1 = rowLabels.begin(); std::vector< std::vector >::iterator it2 = values.begin(); for (cit = map.begin(); cit != map.end() && it1 != rowLabels.end() && it2 != values.end(); cit++) { (*it1) = cit->first; it2->at(0) = cit->second; it1++; it2++; } } double stfnum::Table::at(std::size_t row,std::size_t col) const { try { return values.at(row).at(col); } catch (...) { throw; } } double& stfnum::Table::at(std::size_t row,std::size_t col) { try { return values.at(row).at(col); } catch (...) { throw; } } bool stfnum::Table::IsEmpty(std::size_t row,std::size_t col) const { try { return empty.at(row).at(col); } catch (...) { throw; } } void stfnum::Table::SetEmpty(std::size_t row,std::size_t col,bool value) { try { empty.at(row).at(col)=value; } catch (...) { throw; } } void stfnum::Table::SetRowLabel(std::size_t row,const std::string& label) { try { rowLabels.at(row)=label; } catch (...) { throw; } } void stfnum::Table::SetColLabel(std::size_t col,const std::string& label) { try { colLabels.at(col)=label; } catch (...) { throw; } } const std::string& stfnum::Table::GetRowLabel(std::size_t row) const { try { return rowLabels.at(row); } catch (...) { throw; } } const std::string& stfnum::Table::GetColLabel(std::size_t col) const { try { return colLabels.at(col); } catch (...) { throw; } } void stfnum::Table::AppendRows(std::size_t nRows_) { std::size_t oldRows=nRows(); rowLabels.resize(oldRows+nRows_); values.resize(oldRows+nRows_); empty.resize(oldRows+nRows_); for (std::size_t nRow = 0; nRow < oldRows + nRows_; ++nRow) { values[nRow].resize(nCols()); empty[nRow].resize(nCols()); } } double stfnum::fboltz(double x, const Vector_double& pars) { double arg=(pars[0]-x)/pars[1]; double ex=exp(arg); return 1/(1+ex); } double stfnum::fbessel(double x, int n) { double sum=0.0; for (int k=0;k<=n;++k) { int fac1=stfnum::fac(2*n-k); int fac2=stfnum::fac(n-k); int fac3=stfnum::fac(k); sum+=fac1/(fac2*fac3)*pow(x,k)/pow2(n-k); } return sum; } double stfnum::fbessel4(double x, const Vector_double& pars) { // normalize so that attenuation is -3dB at cutoff: return fbessel(0,4)/fbessel(x*0.355589/pars[0],4); } double stfnum::fgaussColqu(double x, const Vector_double& pars) { return exp(-0.3466*(x/pars[0])*(x/pars[0])); } int stfnum::fac(int arg) { if (arg<=1) { return 1; } else { return arg*fac(arg-1); } } Vector_double stfnum::filter( const Vector_double& data, std::size_t filter_start, std::size_t filter_end, const Vector_double &a, int SR, stfnum::Func func, bool inverse ) { if (data.size()<=0 || filter_start>=data.size() || filter_end > data.size()) { std::out_of_range e("subscript out of range in stfnum::filter()"); throw e; } std::size_t filter_size=filter_end-filter_start+1; Vector_double data_return(filter_size); double SI=1.0/SR; //the sampling interval double *in; //fftw_complex is a double[2]; hence, out is an array of //double[2] with out[n][0] being the real and out[n][1] being //the imaginary part. fftw_complex *out; fftw_plan p1, p2; //memory allocation as suggested by fftw: in =(double *)fftw_malloc(sizeof(double) * filter_size); out=(fftw_complex *)fftw_malloc(sizeof(fftw_complex) * ((int)(filter_size/2)+1)); // calculate the offset (a straight line between the first and last points): double offset_0=data[filter_start]; double offset_1=data[filter_end]-offset_0; double offset_step=offset_1 / (filter_size-1); //fill the input array with data removing the offset: for (std::size_t n_point=0;n_pointprogCounter) { progDlg.Update( (int)((double)n_data/(double)(data.size()-templ.size())*100.0), "Calculating detection criterion", &skipped ); if (skipped) { detection_criterion.resize(0); return detection_criterion; } progCounter++; } if (n_data!=0) { sum_templ_data=0.0; // The product has to be computed in full length: for (int n_templ=0; n_templ<(int)templ.size();++n_templ) { sum_templ_data+=templ[n_templ]*data[n_data+n_templ]; } // The new value that will be added is: double y_new=data[n_data+templ.size()-1]; double y2_new=data[n_data+templ.size()-1]*data[n_data+templ.size()-1]; sum_data+=y_new-y_old; sum_data_sqr+=y2_new-y2_old; } // The first value that was added (and will have to be subtracted during // the next loop): y_old=data[n_data+0]; y2_old=data[n_data+0]*data[n_data+0]; double scale=(sum_templ_data-sum_templ*sum_data/templ.size())/ (sum_templ_sqr-sum_templ*sum_templ/templ.size()); double offset=(sum_data-scale*sum_templ)/templ.size(); double sse=sum_data_sqr+scale*scale*sum_templ_sqr+templ.size()*offset*offset - 2.0*(scale*sum_templ_data + offset*sum_data-scale*offset*sum_templ); double standard_error=sqrt(sse/(templ.size()-1)); detection_criterion[n_data]=(scale/standard_error); } return detection_criterion; } std::vector stfnum::peakIndices(const Vector_double& data, double threshold, int minDistance) { // to avoid unnecessary copying, we first reserve quite // a bit of space for the vector: std::vector peakInd; peakInd.reserve(data.size()); for (unsigned n_data=0; n_datathreshold) { // ... and if so, find the data point where the threshold // is crossed again in the opposite direction, ... for (;;) { if (n_data>data.size()-2) { ulp=(int)data.size()-1; break; } n_data++; if (data[n_data]minDistance) { // ... making this the upper limit of the peak window: ulp=n_data; break; } } // Now, find the peak within the window: double max=-1e8; int peakIndex=llp; for (int n_p=llp; n_p<=ulp; ++n_p) { if (data[n_p]>max) { max=data[n_p]; peakIndex=n_p; } } peakInd.push_back(peakIndex); } } // Trim peakInd's reserved memory: std::vector(peakInd.begin(),peakInd.end()).swap(peakInd); return peakInd; } Vector_double stfnum::linCorr(const Vector_double& data, const Vector_double& templ, stfio::ProgressInfo& progDlg) { bool skipped = false; // the template has to be smaller than the data waveform: if (data.size()progCounter) { progDlg.Update( (int)((double)n_data/(double)(data.size()-templ.size())*100.0), "Calculating correlation coefficient", &skipped ); if (skipped) { Corr.resize(0); return Corr; } progCounter++; } if (n_data!=0) { sum_templ_data=0.0; // The product has to be computed in full length: for (int n_templ=0; n_templ<(int)templ.size();++n_templ) { sum_templ_data+=templ[n_templ]*data[n_data+n_templ]; } // The new value that will be added is: double y_new=data[n_data+templ.size()-1]; double y2_new=data[n_data+templ.size()-1]*data[n_data+templ.size()-1]; sum_data+=y_new-y_old; sum_data_sqr+=y2_new-y2_old; } // The first value that was added (and will have to be subtracted during // the next loop): y_old=data[n_data+0]; y2_old=data[n_data+0]*data[n_data+0]; double scale=(sum_templ_data-sum_templ*sum_data/templ.size())/ (sum_templ_sqr-sum_templ*sum_templ/templ.size()); double offset=(sum_data-scale*sum_templ)/templ.size(); // Now that the optimal template has been found, // compute the correlation between data and optimal template. // The correlation coefficient is computed in a way that avoids // numerical instability; therefore, the sum of squares // computed above can't be re-used. // Get the means: double mean_data=sum_data/templ.size(); double sum_optTempl=sum_templ*scale+offset*templ.size(); double mean_optTempl=sum_optTempl/templ.size(); // Get SDs: double sd_data=0.0; double sd_templ=0.0; for (int i=0;i<(int)templ.size();++i) { sd_data+=SQR(data[i+n_data]-mean_data); sd_templ+=SQR(templ[i]*scale+offset-mean_optTempl); } sd_data=sqrt(sd_data/templ.size()); sd_templ=sqrt(sd_templ/templ.size()); // Get correlation: double r=0.0; for (int i=0;i<(int)templ.size();++i) { r+=(data[i+n_data]-mean_data)*(templ[i]*scale+offset-mean_optTempl); } r/=((templ.size()-1)*sd_data*sd_templ); Corr[n_data]=r; } return Corr; } double stfnum::integrate_simpson( const Vector_double& input, std::size_t i1, std::size_t i2, double x_scale ) { // Use composite Simpson's rule to approximate the definite integral of f from a to b // check for out-of-range: if (i2>=input.size() || i1>=i2) { throw std::out_of_range( "integration interval out of range in stfnum::integrate_simpson" ); } bool even = std::div((int)i2-(int)i1,2).rem==0; // use Simpson's rule for the even part: if (!even) i2--; std::size_t n=i2-i1; double a=i1*x_scale; double b=i2*x_scale; double sum_2=0.0, sum_4=0.0; for (std::size_t j = 1; j <= n/2; ++j) { if (j=input.size() || i1>=i2) { throw std::out_of_range( "integration interval out of range in stfnum::integrate_trapezium" ); } double a = i1 * x_scale; double b = i2 * x_scale; double sum=input[i1]+input[i2]; for (std::size_t n=i1+1; n= 0. * * N (input) INTEGER * The number of columns of the matrix A. N >= 0. * * A (input/output) DOUBLE PRECISION array, dimension (LDA,N) * On entry, the M-by-N matrix to be factored. * On exit, the factors L and U from the factorization * A = P*L*U; the unit diagonal elements of L are not stored. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,M). * * IPIV (output) INTEGER array, dimension (min(M,N)) * The pivot indices; for 1 <= i <= min(M,N), row i of the * matrix was interchanged with row IPIV(i). * * INFO (output) INTEGER * = 0: successful exit * < 0: if INFO = -i, the i-th argument had an illegal value * > 0: if INFO = i, U(i,i) is exactly zero. The factorization * has been completed, but the factor U is exactly * singular, and division by zero will occur if it is used * to solve a system of equations. */ int lda_f = m; std::size_t ipiv_size = (m < n) ? m : n; std::vector ipiv(ipiv_size); int info=0; dgetrf_(&m, &n, &A[0], &lda_f, &ipiv[0], &info); if (info<0) { std::ostringstream error_msg; error_msg << "Argument " << -info << " had an illegal value in LAPACK's dgetrf_"; throw std::runtime_error( std::string(error_msg.str())); } if (info>0) { throw std::runtime_error("Singular matrix in LAPACK's dgetrf_; would result in division by zero"); } /* Arguments to dgetrs_ * ==================== * * TRANS (input) CHARACTER*1 * Specifies the form of the system of equations: * = 'N': A * X = B (No transpose) * = 'T': A'* X = B (Transpose) * = 'C': A'* X = B (Conjugate transpose = Transpose) * * N (input) INTEGER * The order of the matrix A. N >= 0. * * NRHS (input) INTEGER * The number of right hand sides, i.e., the number of columns * of the matrix B. NRHS >= 0. * * A (input) DOUBLE PRECISION array, dimension (LDA,N) * The factors L and U from the factorization A = P*L*U * as computed by DGETRF. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). * * IPIV (input) INTEGER array, dimension (N) * The pivot indices from DGETRF; for 1<=i<=N, row i of the * matrix was interchanged with row IPIV(i). * * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) * On entry, the right hand side matrix B. * On exit, the solution matrix X. * * LDB (input) INTEGER * The leading dimension of the array B. LDB >= max(1,N). * * INFO (output) INTEGER * = 0: successful exit * < 0: if INFO = -i, the i-th argument had an illegal value */ char trans='N'; dgetrs_(&trans, &m, &nrhs, &A[0], &m, &ipiv[0], &B[0], &m, &info); if (info<0) { std::ostringstream error_msg; error_msg << "Argument " << -info << " had an illegal value in LAPACK's dgetrs_"; throw std::runtime_error(error_msg.str()); } #endif return 0; } Vector_double stfnum::quad(const Vector_double& data, std::size_t begin, std::size_t end) { // Solve quadratic equations relating 3 sample points a time int n_intervals=std::div((int)end-(int)begin,2).quot; Vector_double quad_p(n_intervals*3); int n_q=0; if (begin-end>1) { for (int n=begin; n<(int)end-1; n+=2) { Vector_double A(9); Vector_double B(3); // solve linear equation system: // use column-major order (Fortran) A[0]=(double)n*(double)n; A[1]=((double)n+1.0)*((double)n+1.0); A[2]=((double)n+2.0)*((double)n+2.0); A[3]=(double)n; A[4]=(double)n+1.0; A[5]=(double)n+2.0; A[6]=1.0; A[7]=1.0; A[8]=1.0; B[0]=data[n]; B[1]=data[n+1]; B[2]=data[n+2]; try { stfnum::linsolv(3,3,1,A,B); } catch (...) { throw; } quad_p[n_q++]=B[0]; quad_p[n_q++]=B[1]; quad_p[n_q++]=B[2]; } } return quad_p; } Vector_double stfnum::nojac(double x, const Vector_double& p) { return Vector_double(0); } double stfnum::noscale(double param, double xscale, double oldx, double yscale, double yoff) { return param; } stfnum::Table stfnum::defaultOutput( const Vector_double& pars, const std::vector& parsInfo, double chisqr ) { if (pars.size()!=parsInfo.size()) { throw std::out_of_range("index out of range in stfnum::defaultOutput"); } stfnum::Table output(pars.size()+1,1); try { output.SetColLabel(0,"Best-fit value"); for (std::size_t n_p=0;n_p stfnum::histogram(const Vector_double& data, int nbins) { if (nbins==-1) { nbins = int(data.size()/100.0); } double fmax = *std::max_element(data.begin(), data.end()); double fmin = *std::min_element(data.begin(), data.end()); fmax += (fmax-fmin)*1e-9; double bin = (fmax-fmin)/nbins; std::map histo; for (int nbin=0; fmin + nbin*bin < fmax; ++nbin) { histo[fmin + nbin*bin] = 0; } for (std::size_t npoint=0; npoint < data.size(); ++npoint) { int nbin = int((data[npoint]-fmin) / bin); histo[fmin + nbin*bin]++; } return histo; } Vector_double stfnum::deconvolve(const Vector_double& dataIn, const Vector_double& templ, int SR, double hipass, double lopass, stfio::ProgressInfo& progDlg) { // Normalize data double fmax = *std::max_element(dataIn.begin(), dataIn.end()); double fmin = *std::min_element(dataIn.begin(), dataIn.end()); Vector_double data = stfio::vec_scal_minus(dataIn, fmin); data = stfio::vec_scal_div(data, fmax-fmin); bool skipped = false; progDlg.Update( 0, "Starting deconvolution...", &skipped ); if (data.size()<=0 || templ.size() <=0 || templ.size() > data.size()) { std::out_of_range e("subscript out of range in stfnum::filter()"); throw e; } /* pad templ */ double* in_templ_padded =(double *)fftw_malloc(sizeof(double) * data.size()); std::copy(templ.begin(), templ.end(), in_templ_padded); if (templ.size() < data.size()) { for (int kp=templ.size(); kp 0) { f_c[0] = hipass; rslt_hi = 1.0-fgaussColqu(f, f_c); } /* lowpass filter */ double rslt_lo = 1.0; if (lopass > 0) { f_c[0] = lopass; rslt_lo= fgaussColqu(f, f_c); } /* do the division in place */ double a = out_data[n_point][0]; double b = out_data[n_point][1]; double c = out_templ_padded[n_point][0]; double d = out_templ_padded[n_point][1]; double mag2 = c*c + d*d; out_data[n_point][0] = rslt_hi * rslt_lo * (a*c + b*d)/mag2; out_data[n_point][1] = rslt_hi * rslt_lo * (b*c - a*d)/mag2; } //do the reverse fft: p_inv = fftw_plan_dft_c2r_1d((int)data.size(),out_data, in_data, FFTW_ESTIMATE); fftw_execute(p_inv); //fill the return array, adding the offset, and scaling by data.size() //(because fftw computes an unnormalized transform): for (std::size_t n_point=0; n_point < data.size(); ++n_point) { data_return[n_point]= in_data[n_point]/data.size(); } fftw_destroy_plan(p_data); fftw_destroy_plan(p_templ); fftw_destroy_plan(p_inv); fftw_free(in_data); fftw_free(out_data); fftw_free(in_templ_padded); fftw_free(out_templ_padded); progDlg.Update( 50, "Computing data histogram...", &skipped ); if (skipped) { data_return.resize(0); return data_return; } int nbins = 500; //int(data_return.size()/500.0); std::map histo = histogram(data_return, nbins); double max_value = -1; double max_time = 0; double maxhalf_time = 0; Vector_double histo_fit(0); for (std::map::const_iterator it=histo.begin(); it != histo.end(); ++it) { if (it->second > max_value) { max_value = it->second; max_time = it->first; } histo_fit.push_back(it->second); #ifdef _STFDEBUG std::cout << it->first << "\t" << it->second << std::endl; #endif } for (std::map::const_iterator it=histo.begin(); it != histo.end(); ++it) { if (it->second > 0.5*max_value) { maxhalf_time = it->first; break; } } maxhalf_time = fabs(max_time-maxhalf_time); progDlg.Update( 75, "Fitting Gaussian...", &skipped ); if (skipped) { data_return.resize(0); return data_return; } /* Fit Gaussian to histogram */ double interval = (++histo.begin())->first-histo.begin()->first; if (maxhalf_time==0) { maxhalf_time = interval; } /* Initial parameter guesses */ Vector_double pars(3); pars[0] = max_value; pars[1] = (max_time - histo.begin()->first); pars[2] = maxhalf_time *sqrt(2.0)/2.35482; #ifdef _STFDEBUG std::cout << "nbins: " << nbins << std::endl; std::cout << "initial values:" << std::endl; for (std::size_t np=0; np funcLib = stfnum::GetFuncLib(); std::string info; int warning; #ifdef _STFDEBUG double chisqr = #endif lmFit(histo_fit, interval, funcLib[funcLib.size()-2], opts, true, pars, info, warning ); #ifdef _STFDEBUG std::cout << chisqr << "\t" << interval << std::endl; std::cout << "final values:" << std::endl; for (std::size_t np=0; np #include #include #include "./fit.h" #include "./measure.h" #include "./funclib.h" std::vector< stfnum::storedFunc > stfnum::GetFuncLib() { std::vector< stfnum::storedFunc > funcList; // Monoexponential function, free fit: std::vector parInfoMExp=getParInfoExp(1); funcList.push_back(stfnum::storedFunc("Monoexponential",parInfoMExp,fexp,fexp_init,fexp_jac,true)); // Monoexponential function, offset fixed to baseline: parInfoMExp[2].toFit=false; funcList.push_back(stfnum::storedFunc("Monoexponential, offset fixed to baseline", parInfoMExp,fexp,fexp_init,fexp_jac,true)); // Monoexponential function, starting with a delay, start fixed to baseline: std::vector parInfoMExpDe(4); parInfoMExpDe[0].toFit=false; parInfoMExpDe[0].desc="Baseline"; parInfoMExpDe[0].scale=stfnum::yscaleoffset; parInfoMExpDe[0].unscale=stfnum::yunscaleoffset; parInfoMExpDe[1].toFit=true; parInfoMExpDe[1].desc="Delay"; parInfoMExpDe[0].scale=stfnum::xscale; parInfoMExpDe[0].unscale=stfnum::xunscale; parInfoMExpDe[2].toFit=true; parInfoMExpDe[2].desc="tau"; parInfoMExpDe[0].scale=stfnum::xscale; parInfoMExpDe[0].unscale=stfnum::xunscale; parInfoMExpDe[3].toFit=true; parInfoMExpDe[3].desc="Peak"; parInfoMExpDe[0].scale=stfnum::yscale; parInfoMExpDe[0].unscale=stfnum::yunscale; funcList.push_back(stfnum::storedFunc("Monoexponential with delay, start fixed to baseline", parInfoMExpDe,fexpde,fexpde_init,stfnum::nojac,false)); // Biexponential function, free fit: std::vector parInfoBExp=getParInfoExp(2); funcList.push_back(stfnum::storedFunc( "Biexponential",parInfoBExp,fexp,fexp_init,fexp_jac,true,outputWTau)); // Biexponential function, offset fixed to baseline: parInfoBExp[4].toFit=false; funcList.push_back(stfnum::storedFunc("Biexponential, offset fixed to baseline", parInfoBExp,fexp,fexp_init,fexp_jac,true,outputWTau)); // Biexponential function, starting with a delay, start fixed to baseline: std::vector parInfoBExpDe(5); parInfoBExpDe[0].toFit=false; parInfoBExpDe[0].desc="Baseline"; parInfoBExpDe[0].scale=stfnum::yscaleoffset; parInfoBExpDe[0].unscale=stfnum::yunscaleoffset; parInfoBExpDe[1].toFit=true; parInfoBExpDe[1].desc="Delay"; parInfoBExpDe[1].scale=stfnum::xscale; parInfoBExpDe[1].unscale=stfnum::xunscale; // parInfoBExpDe[1].constrained = true; parInfoBExpDe[1].constr_lb = 0.0; parInfoBExpDe[1].constr_ub = DBL_MAX; parInfoBExpDe[2].toFit=true; parInfoBExpDe[2].desc="tau1"; parInfoBExpDe[2].scale=stfnum::xscale; parInfoBExpDe[2].unscale=stfnum::xunscale; // parInfoBExpDe[2].constrained = true; parInfoBExpDe[2].constr_lb = 1.0e-16; parInfoBExpDe[2].constr_ub = DBL_MAX; parInfoBExpDe[3].toFit=true; parInfoBExpDe[3].desc="Factor"; parInfoBExpDe[3].scale=stfnum::yscale; parInfoBExpDe[3].unscale=stfnum::yunscale; parInfoBExpDe[4].toFit=true; parInfoBExpDe[4].desc="tau2"; parInfoBExpDe[4].scale=stfnum::xscale; parInfoBExpDe[4].unscale=stfnum::xunscale; // parInfoBExpDe[4].constrained = true; parInfoBExpDe[4].constr_lb = 1.0e-16; parInfoBExpDe[4].constr_ub = DBL_MAX; funcList.push_back(stfnum::storedFunc( "Biexponential with delay, start fixed to baseline, delay constrained to > 0", parInfoBExpDe,fexpbde,fexpbde_init,stfnum::nojac,false)); // Triexponential function, free fit: std::vector parInfoTExp=getParInfoExp(3); funcList.push_back(stfnum::storedFunc( "Triexponential",parInfoTExp,fexp,fexp_init,fexp_jac,true,outputWTau)); // Triexponential function, free fit, different initialization: funcList.push_back(stfnum::storedFunc( "Triexponential, initialize for PSCs/PSPs",parInfoTExp,fexp,fexp_init2,fexp_jac,true,outputWTau)); // Triexponential function, offset fixed to baseline: parInfoTExp[6].toFit=false; funcList.push_back(stfnum::storedFunc( "Triexponential, offset fixed to baseline",parInfoTExp,fexp,fexp_init,fexp_jac,true,outputWTau)); // Alpha function: std::vector parInfoAlpha(3); parInfoAlpha[0].toFit=true; parInfoAlpha[0].desc="Amplitude"; parInfoAlpha[1].toFit=true; parInfoAlpha[1].desc="Rate"; parInfoAlpha[2].toFit=true; parInfoAlpha[2].desc="Offset"; funcList.push_back(stfnum::storedFunc( "Alpha function", parInfoAlpha,falpha,falpha_init,falpha_jac,true)); // HH gNa function: std::vector parInfoHH(4); parInfoHH[0].toFit=true; parInfoHH[0].desc="gprime_na"; parInfoHH[1].toFit=true; parInfoHH[1].desc="tau_m"; parInfoHH[2].toFit=true; parInfoHH[2].desc="tau_h"; parInfoHH[3].toFit=false; parInfoHH[3].desc="offset"; funcList.push_back(stfnum::storedFunc( "Hodgkin-Huxley g_Na function, offset fixed to baseline", parInfoHH, fHH, fHH_init, stfnum::nojac, false)); // power of 1 gNa function: funcList.push_back(stfnum::storedFunc( "power of 1 g_Na function, offset fixed to baseline", parInfoHH, fgnabiexp, fgnabiexp_init, fgnabiexp_jac, true)); // Gaussian std::vector parInfoGauss(3); parInfoGauss[0].toFit=true; parInfoGauss[0].desc="amp"; parInfoGauss[0].scale = stfnum::yscale; parInfoGauss[0].unscale = stfnum::yunscale; parInfoGauss[1].toFit=true; parInfoGauss[1].desc="mean"; parInfoGauss[1].scale = stfnum::xscale; parInfoGauss[1].unscale = stfnum::xunscale; parInfoGauss[2].toFit=true; parInfoGauss[2].constrained=true; parInfoGauss[2].constr_lb=0; parInfoGauss[2].constr_ub=DBL_MAX; parInfoGauss[2].desc="width"; parInfoGauss[2].scale = stfnum::xscale; parInfoGauss[2].unscale = stfnum::xunscale; funcList.push_back(stfnum::storedFunc( "Gaussian", parInfoGauss, fgauss, fgauss_init, fgauss_jac, true)); // Triexponential function, starting with a delay, start fixed to baseline: std::vector parInfoTExpDe(7); parInfoTExpDe[0].toFit=false; parInfoTExpDe[0].desc="Baseline"; parInfoTExpDe[0].scale=stfnum::yscaleoffset; parInfoTExpDe[0].unscale=stfnum::yunscaleoffset; parInfoTExpDe[1].toFit=true; parInfoTExpDe[1].desc="Delay"; parInfoTExpDe[1].scale=stfnum::xscale; parInfoTExpDe[1].unscale=stfnum::xunscale; // parInfoTExpDe[1].constrained = true; parInfoTExpDe[1].constr_lb = 0.0; parInfoTExpDe[1].constr_ub = DBL_MAX; parInfoTExpDe[2].toFit=true; parInfoTExpDe[2].desc="tau1a"; parInfoTExpDe[2].scale=stfnum::xscale; parInfoTExpDe[2].unscale=stfnum::xunscale; // parInfoTExpDe[2].constrained = true; parInfoTExpDe[2].constr_lb = 1.0e-16; parInfoTExpDe[2].constr_ub = DBL_MAX; parInfoTExpDe[3].toFit=true; parInfoTExpDe[3].desc="Factor"; parInfoTExpDe[3].scale=stfnum::yscale; parInfoTExpDe[3].unscale=stfnum::yunscale; parInfoTExpDe[4].toFit=true; parInfoTExpDe[4].desc="tau2"; parInfoTExpDe[4].scale=stfnum::xscale; parInfoTExpDe[4].unscale=stfnum::xunscale; parInfoTExpDe[5].toFit=true; parInfoTExpDe[5].desc="tau1b"; parInfoTExpDe[5].scale=stfnum::xscale; parInfoTExpDe[5].unscale=stfnum::xunscale; parInfoTExpDe[6].toFit=true; parInfoTExpDe[6].desc="ptau1b"; parInfoTExpDe[6].scale=stfnum::noscale; parInfoTExpDe[6].unscale=stfnum::noscale; funcList.push_back(stfnum::storedFunc( "Triexponential with delay, start fixed to baseline, delay constrained to > 0", parInfoTExpDe,fexptde,fexptde_init,stfnum::nojac,false)); return funcList; } double stfnum::fexp(double x, const Vector_double& p) { double sum=0.0; for (std::size_t n_p=0;n_p(pars.size()); for (int i=0; i < npars-1; i += 3) { arg=(x-pars[i+1])/pars[i+2]; ex=exp(-arg*arg); /* fac=pars[i]*ex*2.0*arg; */ y += pars[i] * ex; } return y; } Vector_double stfnum::fgauss_jac(double x, const Vector_double& pars) { double ex=0.0, arg=0.0; int npars=static_cast(pars.size()); Vector_double jac(npars); for (int i=0; i < npars-1; i += 3) { arg=(x-pars[i+1])/pars[i+2]; ex=exp(-arg*arg); jac[i] = ex; jac[i+1] = 2.0*ex*pars[i]*(x-pars[i+1]) / (pars[i+2]*pars[i+2]); jac[i+2] = 2.0*ex*pars[i]*(x-pars[i+1])*(x-pars[i+1]) / (pars[i+2]*pars[i+2]*pars[i+2]); } return jac; } void stfnum::fgauss_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ) { // Find the peak position in data: double maxT = stfnum::whereis( data, peak ) * dt; int npars=static_cast(pInit.size()); for (int i=0; i < npars-1; i += 3) { pInit[i] = peak; pInit[i+1] = maxT; pInit[i+2] = HalfWidth/ 1.65; //approximate t50 to one standard deviation } } void stfnum::fHH_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ) { // Find the peak position in data: double maxT = stfnum::whereis( data, peak ); if ( maxT == 0 ) maxT = data.size() * 0.05; // p[0]: gprime_na // p[1]: tau_m // p[2]: tau_h // p[3]: offset pInit[1] = RTLoHi; pInit[2] = HalfWidth; pInit[3] = base; //offset fixed to baseline double norm = (27.0*pow(pInit[2],3)*exp(-(pInit[1]*log((3.0*pInit[2]+pInit[1])/pInit[1]))/pInit[2])) / (27.0*pow(pInit[2],3)+27.0*pInit[1]*pInit[2]*pInit[2]+9.0*pInit[1]*pInit[1]*pInit[2]+pow(pInit[1],3)); pInit[0] = (peak-base)/norm; //pInit[1] = 0.5 * maxT * dt; //pInit[2] = 3 * maxT * dt; } Vector_double stfnum::fgnabiexp_jac(double x, const Vector_double& p) { Vector_double jac(4); jac[0] = ( 1-exp(-x/p[1]) ) * exp(-x/p[2]); jac[1] = -p[0] * x * exp(-x/p[1] - x/p[2]) /(p[1]*p[1]); jac[2] = p[0] * x * ( 1-exp(-x/p[1]) ) * exp(-x/p[2]) / (p[2]*p[2]); jac[3] = 1.0; return jac; } void stfnum::fgnabiexp_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ) { // Find the peak position in data: double maxT = stfnum::whereis( data, peak ); if ( maxT == 0 ) maxT = data.size() * 0.05; // p[0]: gprime_na // p[1]: tau_m // p[2]: tau_h // p[3]: offset // pInit[1]=0.5 * maxT * dt; // pInit[2]=3 * maxT * dt; pInit[1] = RTLoHi; pInit[2] = HalfWidth; pInit[3] = base; // offset fixed to baseline double tpeak = pInit[1]*log(pInit[2]/pInit[1]+1); double norm = (1-exp(-tpeak/pInit[1]))*exp(-tpeak/pInit[2]); pInit[0] = (peak-base)/norm; } std::vector stfnum::getParInfoExp(int n_exp) { std::vector retParInfo(n_exp*2+1); for (int n_e=0; n_e& parsInfo, double chisqr ) { stfnum::Table output(pars.size()+1,1); // call default version: try { output=defaultOutput(pars,parsInfo,chisqr); } catch (...) { throw; } // add weighted tau: // sum up amplitude terms: double sumAmp=0.0; for (std::size_t n_p=0;n_pvalue) { fromtop=true; } for (std::size_t n=0;n= value) { return n; } } } return 0; } stimfit-0.14.11/src/libstfnum/fit.cpp0000755000175200017520000004021012472345762014356 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "./fit.h" #include "./levmar/levmar.h" #include #include namespace stfnum { // C-style functions for Lourakis' routines: void c_func_lour(double *p, double* hx, int m, int n, void *adata); void c_jac_lour(double *p, double *j, int m, int n, void *adata); // Helper functions for lmFit to store the function at global scope: void saveFunc(stfnum::Func func); void saveJac(stfnum::Jac jac); // A struct that will be passed as a pointer to // Lourakis' C-functions. It is used to: // (1) specify which parameters are to be fitted, and // (2) pass the constant parameters // (3) the sampling interval struct fitInfo { fitInfo(const std::deque& fit_p_arg, const Vector_double& const_p_arg, double dt_arg) : fit_p(fit_p_arg), const_p(const_p_arg), dt(dt_arg) {} // Specifies for each parameter whether the client // wants to fit it (true) or to keep it constant (false) std::deque fit_p; // A valarray containing the parameters that // will be kept constant: Vector_double const_p; // sampling interval double dt; }; } // Functions stored at global scope to be called by c_func_lour // and c_jac_lour stfnum::Func func_lour; stfnum::Jac jac_lour; void stfnum::saveFunc(stfnum::Func func) { func_lour=func; } void stfnum::saveJac(stfnum::Jac jac) { jac_lour=jac; } void stfnum::c_func_lour(double *p, double* hx, int m, int n, void *adata) { // m: the number of parameters that are to be fitted // adata: pointer to a struct that (1) specifies which parameters are to be fitted // and (2) contains the constant parameters fitInfo *fInfo=static_cast(adata); // total number of parameters, including constants: int tot_p=(int)fInfo->fit_p.size(); // all parameters, including constants: Vector_double p_f(tot_p); for (int n_tp=0, n_p=0, n_f=0;n_tpfit_p[n_tp]) { // ... take it from *p, ... p_f[n_tp] = p[n_p++]; } else { // ... otherwise, take it from the fInfo struct: p_f[n_tp] = fInfo->const_p[n_f++]; } } for (int n_x=0;n_xdt, p_f); } } void stfnum::c_jac_lour(double *p, double *jac, int m, int n, void *adata) { // m: the number of parameters that are to be fitted // adata: pointer to a struct that (1) specifies which parameters are to be fitted // and (2) contains the constant parameters fitInfo *fInfo=static_cast(adata); // total number of parameters, including constants: int tot_p=(int)fInfo->fit_p.size(); // all parameters, including constants: Vector_double p_f(tot_p); for (int n_tp=0,n_p=0,n_f=0;n_tpfit_p[n_tp]) { // ... take it from *p, ... p_f[n_tp] = p[n_p++]; } else { // ... otherwise, take it from the fInfo struct: p_f[n_tp] = fInfo->const_p[n_f++]; } } for (int n_x=0,n_j=0;n_xdt,p_f)); // ... but we only need the derivatives of the non-constants... for (int n_tp=0;n_tpfit_p[n_tp]) { jac[n_j++]=jac_f[n_tp]; } } } } Vector_double stfnum::get_scale(Vector_double& data, double oldx) { Vector_double xyscale(4); if (data.size() == 0) { xyscale[0] = 1.0/oldx; xyscale[1] = 0.0; xyscale[2] = 1.0; xyscale[3] = 0.0; return xyscale; } double ymin,ymax,amp,off; ymin = *data.begin(); ymax = ymin; for (Vector_double::iterator it = data.begin(); it != data.end(); ++it) { double v = *it; if (v < ymin) ymin = v; else if (ymax < v) ymax = v; } amp = ymax - ymin; off = ymin / amp; data = stfio::vec_scal_mul(data, 1.0 / amp); data = stfio::vec_scal_minus(data, off); xyscale[0] = 1.0/(data.size()*oldx); xyscale[1] = 0; xyscale[2] = 1.0/amp; xyscale[3] = off; return xyscale; } double stfnum::lmFit( const Vector_double& data, double dt, const stfnum::storedFunc& fitFunc, const Vector_double& opts, bool use_scaling, Vector_double& p, std::string& info, int& warning ) { // Basic range checking: if (fitFunc.pInfo.size()!=p.size()) { std::string msg("Error in stfnum::lmFit()\n" "function parameters (p_fit) and parameters entered (p) have different sizes"); throw std::runtime_error(msg); } if ( opts.size() != 6 ) { std::string msg("Error in stfnum::lmFit()\n" "wrong number of options"); throw std::runtime_error(msg); } bool constrained = false; std::vector< double > constrains_lm_lb( fitFunc.pInfo.size() ); std::vector< double > constrains_lm_ub( fitFunc.pInfo.size() ); bool can_scale = use_scaling; for ( unsigned n_p=0; n_p < fitFunc.pInfo.size(); ++n_p ) { if ( fitFunc.pInfo[n_p].constrained ) { constrained = true; constrains_lm_lb[n_p] = fitFunc.pInfo[n_p].constr_lb; constrains_lm_ub[n_p] = fitFunc.pInfo[n_p].constr_ub; } else { constrains_lm_lb[n_p] = -DBL_MAX; constrains_lm_ub[n_p] = DBL_MAX; } if ( can_scale ) { if (fitFunc.pInfo[n_p].scale == stfnum::noscale) { can_scale = false; } } } // Store the functions at global scope: saveFunc(fitFunc.func); saveJac(fitFunc.jac); double info_id[LM_INFO_SZ]; Vector_double data_ptr(data); Vector_double xyscale(4); if (can_scale) { xyscale = get_scale(data_ptr, dt); } // The parameters need to be separated into two parts: // Those that are to be fitted and those that the client wants // to keep constant. Since there is no native support to // do so in Lourakis' routines, the workaround is a little // tricky, making (ab)use of the *void pointer: // number of parameters that need to be fitted: int n_fitted=0; for ( unsigned n_p=0; n_p < fitFunc.pInfo.size(); ++n_p ) { n_fitted += fitFunc.pInfo[n_p].toFit; } // parameters that need to be fitted: Vector_double p_toFit(n_fitted); std::deque p_fit_bool( fitFunc.pInfo.size() ); // parameters that are held constant: Vector_double p_const( fitFunc.pInfo.size()-n_fitted ); for ( unsigned n_p=0, n_c=0, n_f=0; n_p < fitFunc.pInfo.size(); ++n_p ) { if (fitFunc.pInfo[n_p].toFit) { p_toFit[n_f++] = p[n_p]; if (can_scale) { p_toFit[n_f-1] = fitFunc.pInfo[n_p].scale(p_toFit[n_f-1], xyscale[0], xyscale[1], xyscale[2], xyscale[3]); } } else { p_const[n_c++] = p[n_p]; if (can_scale) { p_const[n_c-1] = fitFunc.pInfo[n_p].scale(p_const[n_c-1], xyscale[0], xyscale[1], xyscale[2], xyscale[3]); } } p_fit_bool[n_p] = fitFunc.pInfo[n_p].toFit; } // size * dt_new = 1 -> dt_new = 1.0/size double dt_finfo = dt; if (can_scale) dt_finfo = 1.0/data_ptr.size(); fitInfo fInfo( p_fit_bool, p_const, dt_finfo ); // make l-value of opts: Vector_double opts_l(5); for (std::size_t n=0; n < 4; ++n) opts_l[n] = opts[n]; opts_l[4] = -1e-6; int it = 0; if (p_toFit.size()!=0 && data_ptr.size()!=0) { double old_info_id[LM_INFO_SZ]; // initialize with initial parameter guess: Vector_double old_p_toFit(p_toFit); #ifdef _DEBUG std::ostringstream optsMsg; optsMsg << "\nopts: "; for (std::size_t n_p=0; n_p < opts.size(); ++n_p) optsMsg << opts[n_p] << "\t"; optsMsg << "\n" << "data_ptr[" << data_ptr.size()-1 << "]=" << data_ptr[data_ptr.size()-1] << "\n"; optsMsg << "constrains_lm_lb: "; for (std::size_t n_p=0; n_p < constrains_lm_lb.size(); ++n_p) optsMsg << constrains_lm_lb[n_p] << "\t"; optsMsg << "\n" << "constrains_lm_ub: "; for (std::size_t n_p=0; n_p < constrains_lm_ub.size(); ++n_p) optsMsg << constrains_lm_ub[n_p] << "\t"; optsMsg << "\n\n"; std::cout << optsMsg; #endif while ( 1 ) { #ifdef _DEBUG std::ostringstream paramMsg; paramMsg << "Pass: " << it << "\t"; paramMsg << "p_toFit: "; for (std::size_t n_p=0; n_p < p_toFit.size(); ++n_p) paramMsg << p_toFit[n_p] << "\t"; paramMsg << "\n"; std::cout << paramMsg.str().c_str(); #endif if ( !fitFunc.hasJac ) { if ( !constrained ) { dlevmar_dif( c_func_lour, &p_toFit[0], &data_ptr[0], n_fitted, (int)data.size(), (int)opts[4], &opts_l[0], info_id, NULL, NULL, &fInfo ); } else { dlevmar_bc_dif( c_func_lour, &p_toFit[0], &data_ptr[0], n_fitted, (int)data.size(), &constrains_lm_lb[0], &constrains_lm_ub[0], NULL, (int)opts[4], &opts_l[0], info_id, NULL, NULL, &fInfo ); } } else { if ( !constrained ) { dlevmar_der( c_func_lour, c_jac_lour, &p_toFit[0], &data_ptr[0], n_fitted, (int)data.size(), (int)opts[4], &opts_l[0], info_id, NULL, NULL, &fInfo ); } else { dlevmar_bc_der( c_func_lour, c_jac_lour, &p_toFit[0], &data_ptr[0], n_fitted, (int)data.size(), &constrains_lm_lb[0], &constrains_lm_ub[0], NULL, (int)opts[4], &opts_l[0], info_id, NULL, NULL, &fInfo ); } } it++; if ( info_id[1] != info_id[1] ) { // restore previous parameters if new chisqr is NaN: p_toFit = old_p_toFit; } else { double dchisqr = (info_id[0] - info_id[1]) / info_id[1]; // (old chisqr - new chisqr) / new_chisqr if ( dchisqr < 0 ) { // restore previous results and exit if new chisqr is larger: for ( int n_i = 0; n_i < LM_INFO_SZ; ++n_i ) info_id[n_i] = old_info_id[n_i]; p_toFit = old_p_toFit; break; } if ( dchisqr < 1e-5 ) { // Keep current results and exit if change in chisqr is below threshold break; } // otherwise, store results and continue iterating: for ( int n_i = 0; n_i < LM_INFO_SZ; ++n_i ) old_info_id[n_i] = info_id[n_i]; old_p_toFit = p_toFit; } if ( it >= opts[5] ) // Exit if maximal number of iterations is reached break; // decrease initial step size for next iteration: opts_l[0] *= 1e-4; } } else { std::runtime_error e("Array of size zero in lmFit"); throw e; } // copy back the fitted parameters to p: for ( unsigned n_p=0, n_f=0, n_c=0; n_p linParInfo(2); linParInfo[0] = stfnum::parInfo("Slope", true); linParInfo[1] = stfnum::parInfo("Y intersect", true); return stfnum::storedFunc("Linear function", linParInfo, stfnum::flin, stfnum::flin_init, stfnum::nojac, false, stfnum::defaultOutput); } /* options for the implementation of the LM algorithm */ Vector_double stfnum::LM_default_opts() { Vector_double opts(6); //opts[0]=5*1E-3; // initial \mu, default: 1E-03; opts[0]=1E-3; // initial \mu, default: 1E-03; opts[1]=1E-17; // stopping thr for ||J^T e||_inf, default: 1E-17; opts[2]=1E-17; // stopping trh for ||Dp||_2, default: 1E-17; opts[3]=1E-32; // stopping thr for ||e||_2, default: 1E-17; opts[4]=64; // maximal number of iterations/pass, default: 64; opts[5]=16; // maximal number of passes; return opts; } stimfit-0.14.11/src/libstfio/0000755000175200017520000000000012623045304012743 500000000000000stimfit-0.14.11/src/libstfio/channel.cpp0000755000175200017520000000420712475053163015014 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "./stfio.h" #include "./channel.h" Channel::Channel(void) : name("\0"), yunits( "\0" ), SectionArray(0) {} Channel::Channel(const Section& c_Section) : name("\0"), yunits( "\0" ), SectionArray(1, c_Section) {} Channel::Channel(const std::deque
& SectionList) : name("\0"), yunits( "\0" ), SectionArray(SectionList) {} Channel::Channel(std::size_t c_n_sections, std::size_t section_size) : name("\0"), yunits( "\0" ), SectionArray(c_n_sections, Section(section_size)) {} Channel::~Channel(void) {} void Channel::InsertSection(const Section& c_Section, std::size_t pos) { try { if (SectionArray.at(pos).size() != c_Section.size()) { SectionArray.at(pos).resize(c_Section.size()); } SectionArray.at(pos) = c_Section; } catch (...) { throw; } } const Section& Channel::at(std::size_t at_) const { try { return SectionArray.at(at_); } catch (...) { // Forward all exceptions, can't deal with them here: throw; } } Section& Channel::at(std::size_t at_) { try { return SectionArray.at(at_); } catch (...) { // Forward all exceptions, can't deal with them here: throw; } } void Channel::resize(std::size_t newSize) { SectionArray.resize(newSize); } void Channel::reserve(std::size_t resSize) { /* SectionArray.reserve(resSize); */ } stimfit-0.14.11/src/libstfio/recording.h0000755000175200017520000003552712556527764015053 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file recording.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares the Recording class. */ #ifndef _RECORDING_H #define _RECORDING_H /*! \defgroup stfgen Generic stimfit classes and functions * @{ */ #include // declaration of memcpy #include "./channel.h" // #include "./section.h" // #include "./stfio.h" class Section; //! Represents the data within a file. /*! Contains an array of channels that can be accessed either via at() (range-checked, * will throw an exception if out of range) or the []-operator (range unchecked). Moreover * all the metadata such as time, date, samling rate and comments are stored here. */ class StfioDll Recording { public: //ctor/dtor------------------------------------------------------- //! Default constuctor explicit Recording(); //! Constructor /*! \param c_Channel The Channel from which to construct a new Recording. */ explicit Recording(const Channel& c_Channel); //! Constructor /*! \param ChannelList A vector of channels from which to construct a new Recording. */ explicit Recording(const std::deque& ChannelList); //! Constructor /*! Setting the number of channels and sections at construction time will avoid unnecessary * memory re-allocations. * \param c_n_channels The number of channels. * \param c_n_sections The number of sections. * \param c_n_points The number of sampling points per section. */ explicit Recording( std::size_t c_n_channels, std::size_t c_n_sections = 0, std::size_t c_n_points = 0 ); //! Destructor virtual ~Recording(); //member access functions: read----------------------------------- //! Retrieves the number of sections in a channel. /*! \param n_channel The index of the channel (range-checked). * \return The number of sections in n_channel. */ std::size_t GetChannelSize(std::size_t n_channel) const; //! Retrieves the channels (read-only). /*! \return A vector containing the channels. */ const std::deque& get() const { return ChannelArray; } //! Retrieves the channels (read and write). /*! \return A vector containing the channels. */ std::deque& get() { return ChannelArray; } //! Retrieves the file description. /*! \return The file description. */ const std::string& GetFileDescription() const { return file_description; } //! Retrieves the common section description. /*! \return The common section description. */ const std::string& GetGlobalSectionDescription() const { return global_section_description; } //! Retrieves the scaling as a string. /*! \return A string containing the description. */ const std::string& GetScaling() const { return scaling; } //! Retrieves the time of recording as a string. /*! \return A string containing the time of recording. */ const std::string& GetTime(); //! Retrieves the date of recording as a string. /*! \return A string containing the date of recording. */ const std::string& GetDate(); //! Retrieves the date of recording as a string. /*! \return A string containing the date of recording. */ struct tm GetDateTime() const { return datetime; }; //! Retrieves a comment string. /*! \return A string containing a comment. */ const std::string& GetComment() const { return comment; } //! Retrieves the x units. /*! \return The x units. Currently hard-coded to be "ms". */ const std::string& GetXUnits() const { return xunits; } //! Retrieves the size of the channel array. /*! \return The size of the channel array. */ std::size_t size() const { return ChannelArray.size(); } //! Retrieves the x scaling (sampling interval). /*! \return The x scaling. */ double GetXScale() const { return dt; } //! Retrieves the sampling rate ( 1 / x-scale ) /*! \return The sampling rate. */ double GetSR() const { return 1.0/dt; } //! Retrieves the index of the current channel. /*! \return The index of the current channel. */ std::size_t GetCurChIndex() const { return cc; } //! Retrieves the index of the second channel. /*! \return The index of the second channel. */ std::size_t GetSecChIndex() const { return sc; } //! Retrieves the index of the current section. /*! \return The index of the current section. */ std::size_t GetCurSecIndex() const { return cs; } //! Retrieves the indices of the selected sections (read-only). /*! \return A vector containing the indices of the selected sections. */ const std::vector& GetSelectedSections() const { return selectedSections; } //! Retrieves the indices of the selected sections (read and write). /*! \return A vector containing the indices of the selected sections. */ std::vector& GetSelectedSectionsW() { return selectedSections; } //! Retrieves the stored baseline values of the selected sections (read-only). /*! \return A vector containing the stored baseline values of the selected sections. */ const Vector_double& GetSelectBase() const { return selectBase; } //! Retrieves the stored baseline values of the selected sections (read and write). /*! \return A vector containing the stored baseline values of the selected sections. */ Vector_double& GetSelectBaseW() { return selectBase; } //! Retrieves the currently accessed section in the active channel (read-only) /*! \return The currently accessed section in the active channel. */ const Section& cursec() const { return (*this)[cc][cs]; } //! Retrieves the currently accessed section in the active channel (read and write) /*! \return The currently accessed section in the active channel. */ Section& cursec() { return (*this)[cc][cs]; } //! Retrieves the currently accessed section in the second (reference) channel (read-only) /*! \return The currently accessed section in the second (reference) channel. */ const Section& secsec() const { return (*this)[sc][cs]; } //! Retrieves the active channel (read-only) /*! \return The active channel. */ const Channel& curch() const { return (*this)[cc]; } //! Retrieves active channel (read and write) /*! \return The active channel. */ Channel& curch() { return (*this)[cc]; } //! Retrieves the second (reference) channel (read-only) /*! \return The second (reference) channel. */ const Channel& secch() const { return (*this)[sc]; } //! Range-checked access to a channel (read-only). /*! Will throw std::out_of_range if out of range. * \param n_c The index of the channel. * \return The channel at index n_c. */ const Channel& at(std::size_t n_c) const; //! Range-checked access to a channel (read and write). /*! Will throw std::out_of_range if out of range. * \param n_c The index of the channel. * \return The channel at index n_c. */ Channel& at(std::size_t n_c); //member access functions: write--------------------------------- //! Sets the file description. /*! \param value The file description. */ void SetFileDescription(const std::string& value) { file_description=value; } //! Sets the common section description. /*! \param value The common section description. */ void SetGlobalSectionDescription(const std::string& value) { global_section_description=value; } //! Sets the scaling as a string. /*! \param value A string containing the description. */ void SetScaling(const std::string& value) { scaling=value; } //! Sets the time of recording as a string. /*! \param value A string containing the time of recording. * \return 0 in case of success, non-zero in case of failure */ int SetTime(const std::string& value); int SetTime(int hour, int minute, int sec); //! Sets the date of recording as a string. /*! \param value A string containing the date of recording. * \return 0 in case of success, non-zero in case of failure */ int SetDate(const std::string& value); int SetDate(int year, int month, int mday); //! Sets the date and time of recording as struct tm /*! \param value has type struct tm */ void SetDateTime(const struct tm &value) { memcpy(&datetime, &value, sizeof(struct tm)); } void SetDateTime(int year, int month, int mday, int hour, int minute, int sec) ; //! Sets a comment string. /*! \param value A string containing a comment. */ void SetComment(const std::string& value) { comment=value; } //! Sets the y units for a channel. /*! \param n_channel The channel index for which to set the units. * \param value A string containing the y units. */ void SetGlobalYUnits(std::size_t n_channel, const std::string& value); //! Sets the x units. /*! \param value A string containing the x units. */ void SetXUnits(const std::string& value) { xunits=value; } //! Sets the x scaling. /*! Note that setting the global x-scale will set it for all sections * \param value The x scaling. */ void SetXScale(double value); //! Sets the index of the current channel. /*! \param value The index of the current channel. */ void SetCurChIndex(std::size_t value); //! Sets the index of the second channel. /*! \param value The index of the second channel. */ void SetSecChIndex(std::size_t value); //! Sets the index of the current section. /*! \param value The index of the current section. */ void SetCurSecIndex(std::size_t value); //misc----------------------------------------------------------- //! Resize the Recording to a new number of channels. /*! Resizes both the channel and the global y units arrays. * \param c_n_channels The new number of channels. */ virtual void resize(std::size_t c_n_channels); //! Insert a Channel at a given position. /*! Will throw std::out_of_range if range check fails. * \param c_Channel The Channel to be inserted. * \param pos The position at which to insert the channel (0-based). */ virtual void InsertChannel(Channel& c_Channel, std::size_t pos); //! Copy descriptive attributes from another Recording to this Recording. /*! This will copy the file and global section decription, the scaling, time, date, * comment and global y units strings and the x-scale. * \param c_Recording The Recording from which to copy the attributes. */ void CopyAttributes(const Recording& c_Recording); //! Calculates an average of several traces. /*! \param AverageReturn The average will be returned in this variable by passing * a reference. AverageReturn has to have the correct size upon entering * this function already, it won't be resized. * \param SigReturn The standard deviation will be returned in this variable by * passing a reference if isSig == true. SigReturn has to have the correct * size upon entering this function already, it won't be resized. * \param channel The index of the channel to be used. * \param section_index A vector containing the indices of the sections to be * used for the average. * \param isSig Set to true if the standard deviation should be calculated as well. * \param shift A vector indicating by how many data points each section should be * shifted before averaging. */ void MakeAverage( Section& AverageReturn, Section& SigReturn, std::size_t channel, const std::vector& section_index, bool isSig, const std::vector& shift) const; //! Add a Recording at the end of this Recording. /*! \param toAdd The Recording to be added. */ void AddRec(const Recording& toAdd); //! Selects a section /*! \param sectionToSelect The index of the section to be selected. * \param base_start Start index for baseline * \param base_end End index for baseline */ void SelectTrace(std::size_t sectionToSelect, std::size_t base_start, std::size_t base_end); //! Unselects a section if it was selected before /*! \param sectionToUnselect The index of the section to be unselected. * \return true if the section was previously selected, false otherwise. */ bool UnselectTrace(std::size_t sectionToUnselect); //operators------------------------------------------------------ //! Unchecked channel access (read and write) /*! Use at() for range-checked access. * \param at The channel index. */ Channel& operator[](std::size_t at) { return ChannelArray[at]; } //! Unchecked channel access (read-only) /*! Use at() for range-checked access. * \param at The channel index. */ const Channel& operator[](std::size_t at) const { return ChannelArray[at]; } private: std::deque ChannelArray; std::string global_section_description, scaling; // only neeed for GetData() and GetTime(): should be replaced by alternative interface. #ifndef _MSC_VER __attribute__ ((deprecated)) #endif std::string time0, date; /* public: */ double dt; std::string file_description, comment, xunits; struct tm datetime; // currently accessed channel: std::size_t cc; // second channel: std::size_t sc; // currently accessed section: std::size_t cs; // Indices of the selected sections std::vector selectedSections; // Base line value for each selected trace Vector_double selectBase; void init(); }; /*@}*/ #endif stimfit-0.14.11/src/libstfio/stfio.cpp0000644000175200017520000003353512622700407014525 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file stfio.cpp * \author Christoph Schmidt-Hieber * \date 2011-09-25 * \brief General functions for libstfio * * * Implements some general functions for libstfio */ // Copyright 2012 Alois Schloegl, IST Austria #include #include "stfio.h" // TODO #include "./ascii/asciilib.h" #include "./hdf5/hdf5lib.h" #include "./abf/abflib.h" #include "./atf/atflib.h" #include "./axg/axglib.h" #include "./igor/igorlib.h" #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) #include "./biosig/biosiglib.h" #endif #include "./cfs/cfslib.h" #ifndef TEST_MINIMAL #include "./heka/hekalib.h" #else #if (!defined(WITH_BIOSIG) && !defined(WITH_BIOSIG2)) #error -DTEST_MINIMAL requires -DWITH_BIOSIG or -DWITH_BIOSIG2 #endif #endif #if 0 #include "./son/sonlib.h" #endif #ifdef _MSC_VER StfioDll long int lround(double x) { int i = (long int) x; if (x >= 0.0) { return ((x-i) >= 0.5) ? (i + 1) : (i); } else { return (-x+i >= 0.5) ? (i - 1) : (i); } } #endif stfio::StdoutProgressInfo::StdoutProgressInfo(const std::string& title, const std::string& message, int maximum, bool verbose) : ProgressInfo(title, message, maximum, verbose), verbosity(verbose) { if (verbosity) { std::cout << title << std::endl; std::cout << message << std::endl; } } bool stfio::StdoutProgressInfo::Update(int value, const std::string& newmsg, bool* skip) { if (verbosity) { std::cout << "\r"; std::cout.width(3); std::cout << value << "% " << newmsg << std::flush; } return true; } #ifndef TEST_MINIMAL stfio::filetype stfio::findType(const std::string& ext) { if (ext=="*.dat;*.cfs") return stfio::cfs; else if (ext=="*.cfs") return stfio::cfs; else if (ext=="*.abf") return stfio::abf; else if (ext=="*.axgd") return stfio::axg; else if (ext=="*.axgx") return stfio::axg; else if (ext=="*.axgd;*.axgx") return stfio::axg; else if (ext=="*.h5") return stfio::hdf5; else if (ext=="*.atf") return stfio::atf; else if (ext=="*.dat") return stfio::heka; else if (ext=="*.smr") return stfio::son; #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) else if (ext=="*.dat;*.cfs;*.gdf;*.ibw") return stfio::biosig; else if (ext=="*.*") return stfio::biosig; #endif else return stfio::none; } #endif // TEST_MINIMAL std::string stfio::findExtension(stfio::filetype ftype) { switch (ftype) { case stfio::cfs: return ".dat"; case stfio::abf: return ".abf"; case stfio::axg: return ".axg*"; case stfio::igor: return ".ibw"; case stfio::hdf5: return ".h5"; case stfio::atf: return ".atf"; case stfio::heka: return ".dat"; case stfio::son: return ".smr"; #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) case stfio::biosig: return ".gdf"; #endif default: return ".*"; } } bool stfio::importFile( const std::string& fName, stfio::filetype type, Recording& ReturnData, const stfio::txtImportSettings& txtImport, ProgressInfo& progDlg ) { try { #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) // make use of automated file type identification #ifndef WITHOUT_ABF if (!check_biosig_version(1,6,3)) { try { // workaround for older versions of libbiosig stfio::importABFFile(fName, ReturnData, progDlg); return true; } catch (...) { #ifndef NDEBUG fprintf(stdout,"%s (line %i): importABF attempted\n",__FILE__,__LINE__); #endif }; } #endif // WITHOUT_ABF // if this point is reached, import ABF was not applied or not successful try { stfio::filetype type1 = stfio::importBiosigFile(fName, ReturnData, progDlg); switch (type1) { case stfio::biosig: return true; // succeeded case stfio::none: break; // do nothing, use input argument for deciding on type default: type = type1; // filetype is recognized and should be used below } } catch (...) { // this should never occur, importBiosigFile should always return without exception std::cout << "importBiosigFile failed with an exception - this is a bug"; } #endif switch (type) { case stfio::hdf5: { stfio::importHDF5File(fName, ReturnData, progDlg); break; } #ifndef WITHOUT_ABF case stfio::abf: { stfio::importABFFile(fName, ReturnData, progDlg); break; } case stfio::atf: { stfio::importATFFile(fName, ReturnData, progDlg); break; } #endif #ifndef WITHOUT_AXG case stfio::axg: { stfio::importAXGFile(fName, ReturnData, progDlg); break; } #endif #ifndef TEST_MINIMAL case stfio::cfs: { { int res = stfio::importCFSFile(fName, ReturnData, progDlg); /* // disable old Heka import - its broken and will not be fixed, use biosig instead if (res==-7) { stfio::importHEKAFile(fName, ReturnData, progDlg); } */ break; } } /* // disable old Heka import - its broken and will not be fixed, use biosig instead case stfio::heka: { { try { stfio::importHEKAFile(fName, ReturnData, progDlg); } catch (const std::runtime_error& e) { stfio::importCFSFile(fName, ReturnData, progDlg); } break; } } */ #endif // TEST_MINIMAL default: throw std::runtime_error("Unknown or unsupported file type"); } #if 0 case stfio::son: { stfio::SON::importSONFile(fName,ReturnData); break; } case stfio::ascii: { stfio::importASCIIFile( fName, txtImport.hLines, txtImport.ncolumns, txtImport.firstIsTime, txtImport.toSection, ReturnData ); if (!txtImport.firstIsTime) { ReturnData.SetXScale(1.0/txtImport.sr); } if (ReturnData.size()>0) ReturnData[0].SetYUnits(txtImport.yUnits); if (ReturnData.size()>1) ReturnData[1].SetYUnits(txtImport.yUnitsCh2); ReturnData.SetXUnits(txtImport.xUnits); break; } #endif } catch (...) { throw; } return true; } bool stfio::exportFile(const std::string& fName, stfio::filetype type, const Recording& Data, ProgressInfo& progDlg) { try { switch (type) { #ifndef WITHOUT_ABF case stfio::atf: { stfio::exportATFFile(fName, Data); break; } #endif #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) case stfio::biosig: { stfio::exportBiosigFile(fName, Data, progDlg); break; } #endif case stfio::cfs: { stfio::exportCFSFile(fName, Data, progDlg); break; } case stfio::hdf5: { stfio::exportHDF5File(fName, Data, progDlg); break; } case stfio::igor: { stfio::exportIGORFile(fName, Data, progDlg); break; } default: throw std::runtime_error("Trying to write an unsupported dataformat."); } } catch (...) { throw; } return true; } Vector_double stfio::vec_scal_plus(const Vector_double& vec, double scalar) { Vector_double ret_vec(vec.size(), scalar); std::transform(vec.begin(), vec.end(), ret_vec.begin(), ret_vec.begin(), std::plus()); return ret_vec; } Vector_double stfio::vec_scal_minus(const Vector_double& vec, double scalar) { Vector_double ret_vec(vec.size(), scalar); std::transform(vec.begin(), vec.end(), ret_vec.begin(), ret_vec.begin(), std::minus()); return ret_vec; } Vector_double stfio::vec_scal_mul(const Vector_double& vec, double scalar) { Vector_double ret_vec(vec.size(), scalar); std::transform(vec.begin(), vec.end(), ret_vec.begin(), ret_vec.begin(), std::multiplies()); return ret_vec; } Vector_double stfio::vec_scal_div(const Vector_double& vec, double scalar) { Vector_double ret_vec(vec.size(), scalar); std::transform(vec.begin(), vec.end(), ret_vec.begin(), ret_vec.begin(), std::divides()); return ret_vec; } Vector_double stfio::vec_vec_plus(const Vector_double& vec1, const Vector_double& vec2) { Vector_double ret_vec(vec1.size()); std::transform(vec1.begin(), vec1.end(), vec2.begin(), ret_vec.begin(), std::plus()); return ret_vec; } Vector_double stfio::vec_vec_minus(const Vector_double& vec1, const Vector_double& vec2) { Vector_double ret_vec(vec1.size()); std::transform(vec1.begin(), vec1.end(), vec2.begin(), ret_vec.begin(), std::minus()); return ret_vec; } Vector_double stfio::vec_vec_mul(const Vector_double& vec1, const Vector_double& vec2) { Vector_double ret_vec(vec1.size()); std::transform(vec1.begin(), vec1.end(), vec2.begin(), ret_vec.begin(), std::multiplies()); return ret_vec; } Vector_double stfio::vec_vec_div(const Vector_double& vec1, const Vector_double& vec2) { Vector_double ret_vec(vec1.size()); std::transform(vec1.begin(), vec1.end(), vec2.begin(), ret_vec.begin(), std::divides()); return ret_vec; } Recording stfio::concatenate(const Recording& src, const std::vector& sections, ProgressInfo& progDlg) { size_t nc, NC = src.size(); Recording Concatenated(NC, 1); for (nc = 0; nc < NC; nc++) { int new_size=0; for (c_st_it cit = sections.begin(); cit != sections.end(); cit++) { new_size += (int)src[nc][*cit].size(); } Section TempSection(new_size); std::size_t n_new=0; std::size_t n_s=0; for (c_st_it cit = sections.begin(); cit != sections.end(); cit++) { std::ostringstream progStr; progStr << "Adding section #" << (int)n_s+1 << " of " << (int)sections.size(); progDlg.Update( (int)((double)n_s/(double)sections.size()*100.0), progStr.str() ); if (cit == sections.begin()) { TempSection.SetXScale(src[nc][*cit].GetXScale()); } else if (TempSection.GetXScale() != src[nc][*cit].GetXScale()) { Concatenated.resize(0); throw std::runtime_error("can not concatanate because sampling frequency differs"); } std::size_t secSize=src[nc][*cit].size(); if (n_new+secSize>TempSection.size()) { Concatenated.resize(0); throw std::runtime_error("memory allocation error"); } std::copy(src[nc][*cit].get().begin(), src[nc][*cit].get().end(), &TempSection[n_new]); n_new += secSize; n_s++; } TempSection.SetSectionDescription(src[nc][0].GetSectionDescription() + ", concatenated"); Channel TempChannel(TempSection); TempChannel.SetChannelName(src[nc].GetChannelName()); TempChannel.SetYUnits(src[nc].GetYUnits()); Concatenated.InsertChannel(TempChannel, nc); } // Recording Concatenated(TempChannel); Concatenated.CopyAttributes(src); return Concatenated; } Recording stfio::multiply(const Recording& src, const std::vector& sections, std::size_t channel, double factor) { Channel TempChannel(sections.size(), src[channel][sections[0]].size()); std::size_t n = 0; for (c_st_it cit = sections.begin(); cit != sections.end(); cit++) { // Multiply the valarray in Data: Section TempSection(stfio::vec_scal_mul(src[channel][*cit].get(),factor)); TempSection.SetXScale(src[channel][*cit].GetXScale()); TempSection.SetSectionDescription( src[channel][*cit].GetSectionDescription()+ ", multiplied" ); try { TempChannel.InsertSection(TempSection, n); } catch (const std::out_of_range e) { throw e; } n++; } if (TempChannel.size()>0) { Recording Multiplied(TempChannel); Multiplied.CopyAttributes(src); Multiplied[0].SetYUnits( src.at( channel ).GetYUnits() ); return Multiplied; } else { throw std::runtime_error("Channel empty in stfio::multiply"); } } stimfit-0.14.11/src/libstfio/cfs/0000755000175200017520000000000012623045304013516 500000000000000stimfit-0.14.11/src/libstfio/cfs/cfs.h0000755000175200017520000002400112277666257014407 00000000000000/***************************************************************************** ** ** cfs.h ** 78 cols --->* ** Header file for MSC version of CFS functions. ** Definitions of the structures and routines for the CFS filing * ** system. This is the include file for standard use, all access * ** is by means of functions - no access to the internal CFS data. The file * ** machine.h provides some common definitions across separate platforms, * ** note that the MS variants are designed to accomodate medium model - far * ** pointers are explicitly used where necessary. ** ** CFSAPI Don't declare this to give a pascal type on the Mac, there is a MPW ** compiler bug that corrupts floats passed to pascal functions!!!!!! ** */ #ifndef __CFS__ #define __CFS__ #include "machine.h" #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) #include #define qDebug 0 /* only used to debug Mac stuff */ #define CFSAPI(type) type WINAPI #undef LLIO #undef USEHANDLES #ifdef _MSC_VER #pragma warning( disable : 4251 ) // Disable warning messages #pragma warning( disable : 4996 ) // Disable warning messages #endif #else #define qDebug 0 /* only used to debug Mac stuff */ #if !defined(__APPLE__) && !defined(__MINGW32) #include #endif #include /* MSC I/O function definitions */ #include #include #define CFSAPI(type) type #endif #define FILEVAR 0 /* Constants to indicate whether variable is */ #define DSVAR 1 /* file or data section variable. */ #define INT1 0 /* DATA VARIABLE STORAGE TYPES */ #define WRD1 1 #define INT2 2 #define WRD2 3 #define INT4 4 #define RL4 5 #define RL8 6 #define LSTR 7 #define SUBSIDIARY 2 /* Chan Data Storage types */ #define MATRIX 1 #define EQUALSPACED 0 /* Chan Data Storage types */ #define noFlags 0 /* Declare a default flag */ /* Definitions of bits for DS flags */ #define FLAG7 1 #define FLAG6 2 #define FLAG5 4 #define FLAG4 8 #define FLAG3 16 #define FLAG2 32 #define FLAG1 64 #define FLAG0 128 #define FLAG15 256 #define FLAG14 512 #define FLAG13 1024 #define FLAG12 2048 #define FLAG11 4096 #define FLAG10 8192 #define FLAG9 16384 #define FLAG8 32768 /* define numbers of characters in various string types */ #define DESCCHARS 20 #define FNAMECHARS 12 #define COMMENTCHARS 72 #define UNITCHARS 8 /*character arrays used in data structure */ typedef char TDataType; typedef char TCFSKind; typedef char TDesc[DESCCHARS+2]; /* Names in descriptions, 20 chars */ typedef char TFileName[FNAMECHARS+2]; /* File names, 12 chars */ typedef char TComment[COMMENTCHARS+2]; /* Comment, 72 chars max */ typedef char TUnits[UNITCHARS+2]; /* For units, 8 chars */ /* other types for users benefit */ typedef WORD TSFlags; /* for data and data section variables */ typedef struct { TDesc varDesc; /* users description of variable */ TDataType vType; /* one of 8 types allowed */ char zeroByte; /* for MS Pascal compatibility */ TUnits varUnits; /* users name for units */ short vSize; /* for type lstr gives no. of chars +1 for length byte */ } TVarDesc; #if !defined(_IS_WINDOWS_) || defined(__MINGW32__) typedef char * TpStr; typedef const char * TpCStr; typedef short * TpShort; typedef float * TpFloat; typedef CFSLONG * TpLong; typedef void * TpVoid; typedef TSFlags * TpFlags; typedef TDataType * TpDType; typedef TCFSKind * TpDKind; typedef TVarDesc * TpVDesc; typedef const TVarDesc * TpCVDesc; typedef THandle * TpHandle; typedef signed char * TpSStr; typedef WORD * TpUShort; #else typedef char FAR * TpStr; typedef const char FAR * TpCStr; typedef short FAR * TpShort; typedef float FAR * TpFloat; typedef CFSLONG FAR * TpLong; typedef void FAR * TpVoid; typedef TSFlags FAR * TpFlags; typedef TDataType FAR * TpDType; typedef TCFSKind FAR * TpDKind; typedef TVarDesc FAR * TpVDesc; typedef const TVarDesc FAR * TpCVDesc; typedef THandle FAR * TpHandle; typedef signed char FAR * TpSStr; typedef WORD FAR * TpUShort; #endif #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) typedef HANDLE fDef; /* WIN32 file handle */ #else #ifdef LLIO typedef short fDef; /* file handle */ #else typedef FILE* fDef; /* stream identifier */ #endif #endif #ifdef __cplusplus extern "C" { #endif /* ** Now definitions of the functions defined in the code */ CFSAPI(short) CreateCFSFile(TpCStr fname, TpCStr comment, WORD blocksize, short channels, TpCVDesc fileArray, TpCVDesc DSArray, short fileVars, short DSVars); CFSAPI(void) SetFileChan(short handle, short channel, TpCStr channelName, TpCStr yUnits, TpCStr xUnits, TDataType dataType, TCFSKind dataKind, short spacing, short other); CFSAPI(void) SetDSChan(short handle, short channel, WORD dataSection, CFSLONG startOffset, CFSLONG points, float yScale, float yOffset, float xScale, float xOffset); CFSAPI(short) WriteData(short handle, WORD dataSection, CFSLONG startOffset, WORD bytes, TpVoid dataADS); CFSAPI(short) ClearDS(short handle); CFSAPI(void) SetWriteData(short handle, CFSLONG startOffset, CFSLONG bytes); CFSAPI(CFSLONG) CFSFileSize(short handle); CFSAPI(short) InsertDS(short handle, WORD dataSection, TSFlags flagSet); CFSAPI(short) AppendDS(short handle, CFSLONG lSize, TSFlags flagSet); CFSAPI(void) RemoveDS(short handle, WORD dataSection); CFSAPI(void) SetComment(short handle, TpCStr comment); CFSAPI(void) SetVarVal(short handle, short varNo, short varKind, WORD dataSection, TpVoid varADS); CFSAPI(short) CloseCFSFile(short handle); CFSAPI(short) OpenCFSFile(TpCStr fname, short enableWrite, short memoryTable); CFSAPI(void) GetGenInfo(short handle, TpStr time, TpStr date, TpStr comment); CFSAPI(void) GetFileInfo(short handle, TpShort channels, TpShort fileVars, TpShort DSVars, TpUShort dataSections); CFSAPI(void) GetVarDesc(short handle, short varNo, short varKind, TpShort varSize, TpDType varType, TpStr units, TpStr description); CFSAPI(void) GetVarVal(short handle, short varNo, short varKind, WORD dataSection, TpVoid varADS); CFSAPI(void) GetFileChan(short handle, short channel, TpStr channelName, TpStr yUnits, TpStr xUnits, TpDType dataType, TpDKind dataKind, TpShort spacing, TpShort other); CFSAPI(void) GetDSChan(short handle, short channel, WORD dataSection, TpLong startOffset, TpLong points, TpFloat yScale, TpFloat yOffset, TpFloat xScale, TpFloat xOffset); CFSAPI(WORD) GetChanData(short handle, short channel, WORD dataSection, CFSLONG firstElement, WORD numberElements, TpVoid dataADS, CFSLONG areaSize); CFSAPI(CFSLONG) GetDSSize(short handle, WORD dataSection); CFSAPI(short) ReadData(short handle, WORD dataSection, CFSLONG startOffest, WORD bytes, TpVoid dataADS); CFSAPI(WORD) DSFlagValue(int nflag); CFSAPI(void) DSFlags(short handle, WORD dataSection, short setIt, TpFlags pflagSet); CFSAPI(short) FileError(TpShort handleNo, TpShort procNo, TpShort errNo); CFSAPI(short) CommitCFSFile(short handle); #ifdef __cplusplus } #endif #endif /* __CFS__ */ stimfit-0.14.11/src/libstfio/cfs/cfs.c0000755000175200017520000060665212277666257014424 00000000000000/***************************************************************************** ** ** MSC version of CFS functions ** ** Copyright (c) Cambridge Electronic Design Limited 1988 .. 1999 ** ** Started by J.Grayer 13th Oct 1990 ** ** V 2.11 Maximum file size upped to c. 1 GByte TDB 12-Jun-91 ** ** V 2.12 Changes made so data pointers changed to _far so that the ** user may use any model and still put large data items outside ** the default data segment. ** ** V 2.13 JG 17th Jan 1992 ** Re-jigged various things so all non_ANSI functions now appear in ** msio.h/c. ** Bug corrected in which table pointer did not get reset to NULL ** when a file was opened with the pointer table not in memory. ** Change made to SetComment so it can be used with a file opened in ** edit mode. ** Re-did the flag usage. ** When file opened in edit mode and nothing changed file not updated. ** Bug in recoverTable fixed. ** ** V 2.14 JG 8th Jun 1992 ** Small change to WriteData so it doesnt truncate the file if number ** of bytes to write is given as zero. ** (12th June v.minor change: added return statemnt to TransferTable ** function.) ** ** V 2.15 JG 24th Jun 1992 ** Change to GetChanData so you can read from the current data section ** provided you have called SetDSChan. ** ** V 2.16 TDB 24th Jul 1992 ** Changes to GetChanData (above) corrected. GetDSChan and GetHeader ** adjusted to work online. Began work on tidying code ** ** V 2.17 JCN 24-Aug-92 ** Added routine ClearDS to abandon current DS by setting dataSz back ** to 0 and resetting fileSz to dataSt. On closing the file no ** InsertDs will then be called and file will not include the empty ** data set. ** Commented out the calls to InternalError in GetMemTable. ** ** V 2.18 TDB 16-Sep-92 ** Removed InternalError calls from GetMemTable, fixed bug in ** GetMemTable, brought up to v 2.18. ** ** V 2.20 KJ 6-Jun-93, Version for DOS, WINDOWS and MACINTOSH. ** ** MAE - for macintosh definitions of OpenCFSFile & CreateCFSFile ** would be good idea to use FSSpec instead of 3 separate params ** for name, vRefNum & dirID. ** Also note that changing the type TSFlags from bit fields to ** a WORD has swapped the 2 flag bytes over on the macintosh, ** but not on the PC (Horace Townsends convertor programme no ** longer works.) ** May want to use FindFolder to get the temporary folder, and ** create the temporary files in that. ** ** V 2.20 KJ 14-Jul-93, ** Tidied up errors handling calls in OpenCFSFile, CloseCFSFile ** and TransferTable routines. ** ** V 2.30 KJ 01-Sep-93, ** CommitCFSFile function added. ** This is used to write the head and data sections info ** to to the disk file and to commit all the data currently ** in buffers for the given handle. ** Assert function implemented whereever possible. ** Error mechanism altered, so that all errors are logged ** so they can be retreived by FileError. ** ** V 2.31 TDB 02/Nov/93 ** Removed requirement for oldnames in link (now ANSII names ** throughout. Fixed GP faults caused by empty file. Tested ** with Visual Basic in DLL form, created Visual Basic Interface ** file. Altered Windows file I/O to use C LLIO (non-stream) ** mechanisms, as Windows _lopen set does not include set ** file length function! CFS16.MAK now uses large model. ** ** V 2.32 TDB 25/Feb/94 ** Redid CommitCFSFile so that all errors trapped, code for ** first error is code returned, and all errors logged using ** InternalError. ** ** V 2.33 TDB 07/Dec/95 ** Fixed trivial problems causing warnings in 32-bit build, now ** commit code uses correct close function (probably irrelevant) ** and MSVC make file etc for 32-bit build generated. Ensured ** that errors in Open/Create calls are passed to InternalError. ** ** V 2.40 TDB 02/May/96 ** Added CFSFileSize function. TDataKind changed to TCFSKind to ** prevent name clash with SON library. Extended file open checks ** to detect file too short to be a CFS file - get BADVER error ** instead of read error. ** ** V 2.41 TDB 16/May/96 ** Changed pointer parameters to const forms wherever appropriate. ** ** V 2.50 TDB 08/Nov/96 ** Changed GetVarVal, SetVarVal and DSFlags so that all of these ** can be used freely on new files, with 0 specifing the new DS ** and other section parameters specifying the DS as expected. ** ** V 2.51 TDB 12/May/97 ** Changed SetDSChan and WriteData as above, both can be used on ** all data sections of a new file, with DS set to 0 or n. ** ** V 2.52 TDB 27/May/98 ** Altered StoreTable so that it will increase the size of the ** memory table if necessary - for AppendDS. Also tidied up the ** AppendDS code. ** ** v 2.60 TDB 24/Feb/99 ** Switched to using non handle-based memory allocation (basically ** malloc) for WIN32 builds, file table is extended as required ** to allow unlimited numbers of open files. Now uses WIN32 file ** I/O functions as required, plus AppendDS has been fixed - it ** was not calling FileUpdate to get the pointer table off the end ** of the file - leading to corrupted files. ** ** v 2.61 TDB 28/Apr/99 ** Adjusted handling of DS table so that 32-bit build can handle ** up to 64000 data sections. Changed LoadData & FileData. ** ** v 2.62 SMP 16/Mar/00 ** ClearDS now returns a value when it succeeds! ** Fixed AppendDS so it now no longer produces a duff DSHeader ** if called multiple times ** ** v 2.63 SMP 04/Apr/00 ** Temp file name can now be up to 300 chars long. ** ** v 2.64 SMP 01/Jun/00 ** Buffer sizes >= 64k now work without crashing or inefficency in ** the 32 bit build. ** ** v 2.65 SMP 16/Aug/00 ** AppendDS no longer looses changes to the previously appended DS ** In particular the scaling factors are maintained. ** ** v 2.66 SMP 13/Mar/01 ** ASSERT definition changed to use _DEBUG and not DEBUG ** Meaningless ASSERT removed from AppendDS ** ** v 2.67 SMP 27/Feb/02 ** CreateCFSFile was trying to flag errors by setting a handle to ** -1. This wouldn't work under Windows so errors went unreported. ** ** v 2.68 SMP 17/Jan/03 ** Added SUBSIDIARY channel kind *****************************************************************************/ #include /* C library I/O functions */ #include /* C library type checking functions */ #include /* C library data conversion + misc functions */ #include /* C library time and date functions */ #include /* C library string function definitions */ /************************************************************************* ** ** These are the machine specific definitions and includes. Some of them ** are not really machine specific, but I've put them here anyway. first ** of all are the system defines, next machine global, finally specific ** ** Remove the NDEBUG definition to cause the asserts to be used ** The LLIO (low level i/o) should be undefined to use streams library and ** defined for low level. This is to make it a bit easier to implement the ** code on different machines which may not have the low level stuff. ** LLIO is defined in cfs.h and used in cfs.h and here ** ** ** macintosh and MSC are set by the compiler, and define machine type ** _IS_MSDOS_ set in machine.h for an msdos native mode build ** _IS_WINDOWS_ set in machine.h for windows 16 or 32 bit mode ** qDebug (mac)set by MPW to enable debug fprintf ** ** NDEBUG gets rid of the asserts. ** USEHANDLES To use memory handles in place of pointers. This form is ** supported by code generated for the Mac and Windows forms. ** Actually, it is ignored. ** ** LLIO (dos) if defined, low level I/O is used, otherwise streams. ** CFSCONVERT (mac) define if we should convert format (little-big endian) ** [convert (mac) specifies direction of conversion - for CfsConvert] ** ** #undef NDEBUG No asserts if this is defined ** */ #if defined(qDebug) || defined(_STFDEBUG) #undef NDEBUG #include #define ASSERT(x) assert(x) #else #define NDEBUG 1 #define ASSERT(x) #endif #include "cfs.h" /* Exported type, constant and function definitions */ #ifdef CFSCONVERT #include "CfsConv.h" #endif /* define some constants needed in the program */ #define INITCEDFILES 16 /* Initial file array length */ #define MAXCEDFILES 2048 /* Max no. files for WINDOWS */ #define NDATATYPE 8 /* number of data types defined in CFS */ #define NDATAKIND 3 /* number of data kinds defined in CFS */ #define MAXCHANS 100 /* max number of channels of data in CFS file */ #define MAXFILVARS 100 /* max File varaibles in CFS file */ #define MAXDSVARS 100 /* max data Sections in CFS file */ #define MAXSTR 256 /* max CFS string length including NULL */ #define CEDMARKER "CEDFILE\"" /* Version 1 marker */ #define PARTMARK "CEDFILE" /* Marker for testing old files */ #define MAXLSEEK 2000000000 /* Roughly 2 GByte, the maximum file size */ #define MAXFORWRD 65535 /* maximum value for unsigned short */ #define MAXNODS 64000 /* alloc restrictions are looser for WIN32 */ #define MAXMEMALLOC 65519 /* get problems if try to allocate more */ #define WHOLEFILECHARS 1024/* to hold whole of temp file name including path */ #define MARKERCHARS 8 /* characters in file marker */ #define PARTMARKCHARS 7 /* characters to test for old version file */ #define MAXFNCHARS 1024 /* characters to test for file name */ /* define error codes */ #define NOHANDLE -1 #define BADHANDLE -2 #define NOTWRIT -3 #define NOTWORE -4 #define NOTWORR -5 #define NOTOPEN -6 #define BADVER -7 #define NOMEMR -8 #define BADCREAT -11 #define BADOPEN -12 #define READERR -13 #define WRITERR -14 #define RDDS -15 #define WRDS -16 #define DISKPOS -17 #define BADINS -18 #define BADFL -19 #define BADDESC -20 #define BADPAR -21 #define BADCHAN -22 #define XSDS -23 #define BADDS -24 #define BADKIND -25 #define BADVARN -26 /* to convert marker char to old version number */ #define BADDSZ -27 #define BADOLDVER -39 /* define file access mode */ #define rMode 0 /* READ only */ #define wMode 2 /* WRITE only */ #define rwMode 0 /* READ|WRITE used to open new file */ /* define types which give data structure of CFS file */ typedef char TBigName[WHOLEFILECHARS+2]; /* for temp file name */ typedef char TMarker[MARKERCHARS]; /* for CED file marker */ #pragma pack(1) /* 1. for file header (fixed) channel information */ typedef struct { TDesc chanName; /* users name for channel, 20 chars */ TUnits unitsY; /* name of Yunits 8 chars */ TUnits unitsX; /* name of xunits 8 chars */ TDataType dType; /* storage type 1 of 8 allowed */ TCFSKind dKind; /* equalspaced, matrix or subsidiary */ short dSpacing; /* bytes between elements */ short otherChan; /* used for matrix data */ } TFilChInfo; typedef TFilChInfo TFilChArr[MAXCHANS]; /* 2. for data section (may vary with DS) channel information */ typedef struct { CFSLONG dataOffset; CFSLONG dataPoints; float scaleY; float offsetY; float scaleX; float offsetX; } TDSChInfo; typedef TDSChInfo TDSChArr[MAXCHANS]; /* 3. for data section headers */ typedef struct { CFSLONG lastDS; /* offset in file of header of previous DS */ CFSLONG dataSt; /* data start position */ CFSLONG dataSz; /* data size in bytes */ TSFlags flags; /* flags for this section */ short dSpace[8]; /* spare space */ TDSChArr DSChArr; /* array of DS channel info */ } TDataHead; /* 4. for the file header */ typedef struct { TMarker marker; TFileName name; CFSLONG fileSz; char timeStr[8]; char dateStr[8]; short dataChans; /* number of channels of data */ short filVars; /* number of file variables */ short datVars; /* number of data section variables */ short fileHeadSz; short dataHeadSz; CFSLONG endPnt; /* offset in file of header of last DS */ WORD dataSecs; /* number of data sections */ WORD diskBlkSize; /* usually 1 or 512 */ TComment commentStr; CFSLONG tablePos; /* offset in file for start of table of DS header offsets */ short fSpace[20]; /* spare */ TFilChArr FilChArr; /* array of fixed channel info */ } TFileHead; #pragma pack() #if !defined(_IS_WINDOWS_) || defined(__MINGW32__) typedef TFileHead * TpFHead; /* pointer to start of file header */ typedef TDataHead * TpDHead; /* pointer to start of data header */ typedef TDSChInfo * TpDsInfo; typedef TFilChInfo * TpChInfo; #else typedef TFileHead FAR * TpFHead; /* pointer to start of file header */ typedef TDataHead FAR * TpDHead; /* pointer to start of data header */ typedef TDSChInfo FAR * TpDsInfo; typedef TFilChInfo FAR * TpChInfo; #endif typedef enum /* define types to describe file in program */ { reading, writing, editing, nothing } TAllowed; typedef struct { fDef p ; /* file handle */ fDef d ; /* file handle */ } TDOSHdl; typedef struct { TpVDesc nameP; /* pointers to start of variable descriptions */ TpSStr dataP; /* pointers to corresponding data storage */ } TPointers; typedef struct /* for storing and sending back current error information */ { short eFound; short eHandleNo; short eProcNo; short eErrNo; } TError; typedef struct /* For program to keep track of storage locations */ { TAllowed allowed; /* current state of this set of TFileInfo */ // THandle fHeadH; /* handle to area for file head */ // THandle dHeadH; /* handle to area for data section */ // THandle eHeadH; /* handle to area for insert data section */ // THandle tableH; /* handle to area for offsets of ds headers */ TpFHead fileHeadP; /* to storage allocated for general header */ TpDHead dataHeadP; /* to storage allocated for data section header */ TpDHead extHeadP; /* to storage allocated for Insert data section */ TPointers FVPoint; /* to descriptions and values of file variables */ TPointers DSPoint; /* to descrip and values of data section variables */ TpLong tableP; /* array of offsets in the file of the DS headers */ TDOSHdl DOSHdl; TBigName tempFName; WORD thisSection; short DSAltered; } TFileInfo; /*********************** CFS FILE STRUCTURE ***************************** ** ** The file header consist of a struct of type TFileHead less the final ** array which is replaced by fixed info array for each channel + file and ** DS vraiable descriptions + byte array containing values of the file data ** variables. ** The file also contains the channel data and the data sections. How these ** are arranged in the file is not defined. Each data section (DS) consists ** of a struct of type TDataHead less the final array which is replaced by ** DS info array for each cahnnel + byte array containing values of the DS ** data variables for that DS. ** The position and size of the actual channel data is in the DS header. ** At the end of the file is a table of pointers to the start of each DS. ** *****************************************************************************/ /**************************************************************************** ** ** Global Variables Declaration and Initialisation ** NB declare near so they go in the default data segment. ** ** 1. Declare pointer to FileInfo and initialise to null, set global ** array length info to zero. ** *****************************************************************************/ int g_maxCfsFiles = 0; /* The length of the array of file info */ TFileInfo* g_fileInfo = NULL; /**************************************************************************** ** ** 2. Declare an error structure and initialise all fields to zero. ** *****************************************************************************/ #if !defined(_IS_WINDOWS_) || defined(__MINGW32__) TError errorInfo = {0,0,0,0}; #else TError _near errorInfo = {0,0,0,0}; #endif char gWorkStr[MAXFNCHARS]; /* Global var on DS to avoid DLL SS != DS problems */ /* Local function definitions */ static void CleanUpCfs(void); static short FindUnusedHandle(void); static short SetSizes(TpCVDesc theArray,TpShort offsetArray,short numVars); static void TransferIn(TpCStr olds,TpStr pNew,BYTE max); static void TransferOut(TpCStr olds,TpStr pNew,BYTE max); static void SetVarDescs(short numOfVars,TPointers varPoint, TpCVDesc useArray,TpShort Offsets,short vSpace); static CFSLONG BlockRound(short handle,CFSLONG raw); static void InternalError(short handle,short proc,short err); static short GetHeader(short handle,WORD getSection); static short FileData(short handle, TpVoid startP, CFSLONG st, CFSLONG sz); static short LoadData(short handle, TpVoid startP, CFSLONG st, CFSLONG sz); static CFSLONG GetTable(short handle, WORD position); static void StoreTable(short handle,WORD position,CFSLONG DSPointer); static short RecoverTable(short handle,TpLong relSize,TpLong tPos, TpUShort dSecs,TpLong fSize); static short TransferTable(WORD sects, fDef rdHdl, fDef wrHdl); static short GetMemTable(short handle); static TpStr AllocateSpace(TpUShort sizeP, WORD steps); static void ExtractBytes(TpStr destP,WORD dataOffset, TpStr srcP,WORD points,WORD spacing,WORD ptSz); static short FileUpdate(short handle,TpFHead fileHP); /* Function definitions for IO functions . */ static short TempName(short handle,TpCStr name,TpStr str2, unsigned str2len); static short CCreat(TpCStr name, short mode, fDef* pFile); static short CUnlink(TpCStr path); static short COpen(TpCStr name, short mode, fDef* pFile); static short CCloseAndUnlink(fDef handle, TpCStr path); static CFSLONG CGetFileLen(fDef handle); static short CClose(fDef handle); static CFSLONG CLSeek(fDef handle, CFSLONG offset, short mode); static WORD CReadHandle(fDef handle,TpStr buffer, WORD bytes); static WORD CWriteHandle(fDef handle,TpStr buffer, WORD bytes); static void CMovel(TpVoid dest,const TpVoid src, int count); static short CSetFileLen(fDef handle, CFSLONG size); static TpVoid CMemAllcn(int size); static void CFreeAllcn(TpVoid p); static void CStrTime(char *timeStr); static void CStrDate(char *dateStr); /************************************************************************** ** ** Function definitions for IO functions . ** Set of C functions which call the MS ones in io.h ** THESE FUNCTIONS ARE FOR BINARY FILES. ** Changes made and memory allocation functions added to force FAR pointers ** ***************************************************************************/ /************************* CCreat ******************************** ** ** CCreat. This is very like the Pascal equiv in MSDOSLIB CREAT but only ** modes allowed are 0 Read/Write, 1 Read only ** ** Either creates a new file or opens and truncates an existing one. ** The mode is applied to newly opened files only. It sets the allowed ** file access after the file has been closed. ** ** On the Mac we have to explicitly create a new file before opening it ** If the file exists, we must truncate it. Then set the file type and ** creator. ** ** Return is handle value or -ve error code. ** ***************************************************************************/ short CCreat(TpCStr name, short mode, fDef* pFile) { short sErr = 0; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) DWORD dwMode; #else short pmode; char fname[MAXFNCHARS]; /* To get near variable holding string */ #endif fDef file; /* The various types of file handle */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) if (mode) /* Sort out the file access value */ dwMode = GENERIC_READ; else dwMode = GENERIC_READ | GENERIC_WRITE; file = CreateFileA(name, dwMode, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (file == INVALID_HANDLE_VALUE) sErr = BADCREAT; #else if (mode) pmode = S_IREAD; else pmode = S_IREAD|S_IWRITE; char* omode; if (mode) /* Sort out the file access value */ omode = "r"; else omode = "w+"; if (strlen(name) < MAXFNCHARS) F_strcpy(fname, name); /* Get filename in near var */ file = fopen(fname,omode); if (file == 0) sErr = -1; #endif if (sErr == 0) *pFile = file; return sErr; } /* end of CCreat */ /******************* 2. CUnlink for deleteing files. *********************** ** ** Delete file specified by path. Return 0 if ok, -ve error code ** ****************************************************************************/ short CUnlink(TpCStr path) { #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) int a; a = _unlink(path); /* C function in io.h */ if (a < 0) return (short)(0 - _doserrno); else return 0; #else return remove(path); /* C function in io.h */ #endif } /************* 3. CClose for closing files given DOS handle **************** ** ** Close the file associated with handle. ** Return 0 if ok or -ve error code. ** ****************************************************************************/ short CClose(fDef handle) { int res = 0; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) if (!CloseHandle(handle)) res = BADHANDLE; #else res = fclose(handle); #endif return (short)res; } /* end of CClose */ /************* CCloseAndUnlink closes then deletes the file **************** ** ** Closes the file associated with handle, and then deletes it ** Return 0 if ok or -ve error code. ** ****************************************************************************/ short CCloseAndUnlink(fDef handle, TpCStr path) { short err = 0; err = CClose(handle); #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) err = CUnlink(path); #else err += CUnlink(path); #endif return err; } /************* 4. CLSeek for moving file pointer *************************** ** ** Move the file pointer (ie. next position for read/write) by offset bytes ** in file with DOShandle handle from a start position depending on mode. ** Returns new file position or -ve error code ** *****************************************************************************/ CFSLONG CLSeek(fDef handle, /* DOS handle of file */ CFSLONG offset, /* amount to move in bytes */ short mode) /* 0 Move from file start 1 Move from current file position 2 Move from file end */ { #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) /* Windows seek */ CFSLONG res = 0; DWORD dwMode; switch (mode) { case 0 : dwMode = FILE_BEGIN; /* start of file */ break; case 1 : dwMode = FILE_CURRENT; /* current posn of file pointer */ break; case 2 : dwMode = FILE_END; /* end of file */ break; } res = SetFilePointer(handle, offset, NULL, dwMode); if (res == 0xFFFFFFFF) return DISKPOS; else return res; #else CFSLONG res; short origin = 0; switch (mode) { case 0 : origin = SEEK_SET; /* start of file */ break; case 1 : origin = SEEK_CUR; /* current position of file pointer */ break; case 2 : origin = SEEK_END; /* end of file */ break; } res = fseek (handle, offset, origin); /* stdio read */ if (res==0) { return ftell(handle); } else { return -1; } #endif } /* end of CLSeek */ /******************** 5. Transfer from file to buffer ********************** ** ** Transfer from current file position of file, specified by its DOS file ** handle, to the buffer the specified number of bytes.(counted from file) ** Return the number of bytes transferred to the buffer or zero if error. ** NB C Function _dos_read can have been successful and NOT give numread=bytes ** It can have read numread bytes then found EOF or the file can be text ** in which case CRLF is counted as 2 bytes in the file but only ** 1 byte (LF) in numread. ** *****************************************************************************/ WORD CReadHandle(fDef handle, TpStr buffer, WORD bytes) { #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) DWORD dwRead; if (ReadFile(handle, buffer, bytes, &dwRead, NULL)) return bytes; else return 0; #else if (fread(buffer,1,bytes,handle) != bytes) return 0; else return bytes; #endif }; /******************** 6. Transfer from buffer to file ********************** ** ** Transfer to current file position of file, specified by its DOS file ** handle, from the buffer the specified number of bytes. ** Return the number of bytes transferred from the buffer or zero if error. ** NB C Function _dos_write can have been successful and NOT give numwrt=bytes ** It can have written numwrt bytes then run out of disk space. ** If the file is of type text LF in the buffer is replaced by 2 bytes ** CRLF but numwrt is unchanged since it refers to the buffer bytes. ** *****************************************************************************/ WORD CWriteHandle(fDef handle, TpStr buffer, WORD bytes) { #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) DWORD dwWrit; if (WriteFile(handle, buffer, bytes, &dwWrit, NULL)) return bytes; else return 0; #else if (fwrite(buffer, 1, bytes, handle) != bytes) return 0; else return bytes; #endif } /* end of CWriteHandle */ /******************** 7. Memory transfer *********************************** ** ** Transfer count bytes from src to dest addresses. ** memcpy is used so any overlap of regions is not checked. ** *****************************************************************************/ void CMovel(TpVoid dest, const TpVoid src, int count) { TpVoid ret; /* for return pointer of memcpy */ ret = F_memcpy(dest,src,(size_t)count); /* C function from string.h */ return; }; /* end of CMovel */ /****** 8. Change file size. NB operates on file handle NOT file name *****/ short CSetFileLen(fDef handle, CFSLONG size) /* ** For a file specified by its DOS handle, extend or truncate file to length, ** in bytes, specified by size. File must be open for writing. ** Return 0 if successful, -DOS error code if not. */ { #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) if (SetFilePointer(handle, size, NULL, FILE_BEGIN) != 0xFFFFFFFF) if (SetEndOfFile(handle)) return 0; else return BADHANDLE; else return DISKPOS; #else return -1; #endif } /* end of CSetFileLen */ /****** 8a. Retrieve file size. NB operates on file handle NOT file name *****/ CFSLONG CGetFileLen(fDef pFile) /* ** For a file specified by its DOS handle, find the file size in bytes. ** Returns file size if successful, -DOS error code if not. */ { CFSLONG lSize; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) lSize = GetFileSize(pFile, NULL); if (lSize != -1) return lSize; else return BADHANDLE; #else fpos_t cur; if (fgetpos(pFile,&cur)!=0) return -1; if (fseek (pFile, 0, SEEK_END)!=0) return -1; lSize=ftell (pFile); if (fsetpos(pFile,&cur)!=0) return -1; return lSize; #endif } /* end of CGetFileLen */ /************** 9.Open an exisiting file of specified name ***************** ** ** Open file specified by its path. ** For mode = 0 Read only (default) ** = 1 Write only ** = 2 Read/Write. ** Return DOS file handle if ok DOS error code (-ve) if not. ** ** for the mac, we need vRefNum, which we hope to get from stdFile SFGetFile ** also we want to make sure we have a pascal string ** *****************************************************************************/ short COpen(TpCStr name, short mode, fDef* pFile) { short sRes = 0; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) fDef file; DWORD dwMode; switch (mode) /* use C library constants to set mode */ { case 1 : dwMode = GENERIC_WRITE; break; case 2 : dwMode = GENERIC_READ | GENERIC_WRITE; break; default: dwMode = GENERIC_READ; break; } file = CreateFileA(name, dwMode, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (file == INVALID_HANDLE_VALUE) sRes = BADOPEN; if (sRes == 0) *pFile = file; #else char fname[MAXFNCHARS]; /* To get near variable holding string */ char* omode; switch (mode) /* use C library constants to set mode */ { case 1 : omode = "w"; break; case 2 : omode = "r+"; break; default: omode = "r"; break; } if (strlen(name) < MAXFNCHARS) F_strcpy(fname, name); /* Get filename in near var */ *pFile = fopen(fname,omode); if (*pFile == 0) sRes = -1; #endif return sRes; } /************** 10. Allocate memory on the far heap ************************ ** ** Allocate size bytes of memory outside the default data segment and ** return a far pointer to it. ** *****************************************************************************/ TpVoid CMemAllcn(int size) { TpVoid p; p = F_malloc(size); /* Use a simple, non-handle based, allocation */ // if ((*dummy = (THandle) M_AllocMem(size)) != NULL) // p = M_MoveLockMem(*dummy); // else // p = NULL; return p; } /*************** 11.Free memory allocated by above function **************** ** ** Free memory allocated on far heap by _fmalloc. ** No return. ** *****************************************************************************/ void CFreeAllcn(TpVoid p) { F_free(p); /* Simple memory free mechanism */ // if (M_UnlockMem(*dummy)) // M_FreeMem(*dummy); } /*************** 12. Get the time as string in required format ************* ** ** Gets time formatted as hh:mm:ss. ** timeStr must be at least 9 bytes ** *****************************************************************************/ void CStrTime(char *timeStr) { #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) _strtime(timeStr); /* timsStr must be at least 9 bytes */ #else time_t now; struct tm *today; now = time(NULL); today = localtime(&now); strftime(timeStr, 9, "%H:%M:%S", today); #endif } /* end of CStrTime */ /************ 13. Get the date as string in the required format *********** ** ** gets the date formatted as dd/mm/yy. ** dateStr must be at least 9 bytes ** *****************************************************************************/ void CStrDate(char *dateStr) { #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) char sdata[9]; _strdate(dateStr); /* dateStr must be at least 9 bytes */ F_strncpy(sdata,dateStr,8); /* store time without NULL */ sdata[0] = dateStr[3]; sdata[1] = dateStr[4]; sdata[3] = dateStr[0]; sdata[4] = dateStr[1]; F_strncpy(dateStr,sdata,8); /* store time without NULL */ #else time_t now; struct tm *today; now = time(NULL); today = localtime(&now); strftime(dateStr, 9, "%d/%m/%y", today); #endif } /* end of CStrDate */ /*********************** CreateCFSFile ******************************** ** ** Function to create CFS file open it for writing and allocate storage ** space for header and data section structures ready to fill and write to ** the file when ready. ** ** On the Mac we have to explicitly create a new file before opening it ** If the file exists, we must truncate it. Then set the file type and ** creator. ** Returns file handle or -ve error code. ** *****************************************************************************/ CFSAPI(short) CreateCFSFile(TpCStr fname, /* name of file */ TpCStr comment, /* general comment */ WORD blockSize, /* 1 or 512 */ short channels, /* number of data channels */ TpCVDesc fileArray,/* file variable descriptions */ TpCVDesc DSArray, /* DS variable descriptions */ short fileVars, /* no. of file varables */ short DSVars) /* no. of DS variables */ { short proc = 18; /* function number for error record */ short retval; /* return value */ short sErr; /* for checking return codes */ short handle; /* CFS file handle */ WORD bytSz; /* used to calcualte space needed when allocating */ short search; /* loop varable */ short pathend = 0; /* end of path part of fname */ short filVarSpace; /* space needed for file and DS variable data */ short DSVarSpace; TpShort filOffsets; /* temp store offsets */ TpShort DSOffsets; /* temp store offsets */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif /* pointer for current files info in global array */ TpFHead pFileH; /* used to shorten pointers */ TpDHead pDataH; TpChInfo pFilChInfo; TpDsInfo pDSChInfo; /* 1. Get program file handle */ handle = FindUnusedHandle(); /* 0,1,2 or error */ if (handle < 0) { retval = NOHANDLE; /* error code for no spare handles */ InternalError(handle,proc,retval); return retval; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* 2. Open file for writing */ sErr = CCreat(fname, rwMode, &pfileInfo->DOSHdl.d);/* Open data file */ if (sErr != 0) { pfileInfo->DOSHdl.d = (fDef)-1; retval = sErr; /* error code for unopenable file */ InternalError(handle,proc,retval); return retval; } TempName(handle, fname, pfileInfo->tempFName, WHOLEFILECHARS+2); /* get temp file name */ sErr = CCreat(pfileInfo->tempFName, rwMode, &pfileInfo->DOSHdl.p); if (sErr != 0) { pfileInfo->DOSHdl.p = (fDef)-1; retval = sErr; goto Close_1; /* close CFS file before return */ } /* open temp file */ /* 3. Get space for file,DS and spare headers */ /* ** error code for problem with file or Ds variable sizing. ** allocate some space for the offset arrays used by SetSizes, there is ** allways 2 bytes of space allocated to avoid problem when either of ** these two equals 0 */ DSOffsets = (TpShort)CMemAllcn((2*DSVars+2)); filOffsets = (TpShort)CMemAllcn((2*fileVars+2)); if ((DSOffsets == NULL) || (filOffsets == NULL)) { retval = NOMEMR; goto Close0; } /* ** setsizes computes the total space needed to store the variables described ** and sets up an offset array which says whereabouts each variables would ** start if you stored all the variables in a byte list */ DSVarSpace = SetSizes(DSArray, DSOffsets, DSVars); filVarSpace = SetSizes(fileArray, filOffsets, fileVars); if ((filVarSpace < 0) || (DSVarSpace < 0)) { retval = BADDESC; goto Close0; } /* File header size consists of */ bytSz = (WORD)(sizeof(TFileHead) - sizeof(TFilChArr) + /* File header without array */ channels*sizeof(TFilChInfo) + /* Info for each channel */ ((fileVars+DSVars+2) * sizeof(TVarDesc)) + /* desc for each var */ filVarSpace); /* space computed for actual file variables */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) if (bytSz > (WORD)MAXMEMALLOC) { retval = NOMEMR; /* error code for not enough space */ goto Close0; /* dont attempt to allocate over max */ } #endif pfileInfo->fileHeadP = (TpFHead)CMemAllcn(bytSz); /* allocate space for file header */ pFileH = pfileInfo->fileHeadP; if (pFileH == NULL) { retval = NOMEMR; /* error code for not enough space */ goto Close0; /* clear up files before return */ } pFileH->fileHeadSz = (short)bytSz;/* save space in bytes for file head */ pFileH->diskBlkSize = blockSize; /* store blocksize specified */ /* ** Now do the Data Section header size */ bytSz = (WORD)(sizeof(TDataHead) - sizeof(TDSChArr) + /* Data header without array */ (channels * sizeof(TDSChInfo))+ /* Info for each channel */ DSVarSpace); /* DS varable data space */ /* round to nearest block */ bytSz = (WORD)(((bytSz+(WORD)(blockSize-1)) / blockSize)*blockSize); #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) if (bytSz>(WORD)MAXMEMALLOC) { retval = NOMEMR; goto Close1; } #endif pfileInfo->dataHeadP= (TpDHead)CMemAllcn(bytSz); /* allocate space for DS header */ pDataH = pfileInfo->dataHeadP; if (pDataH == NULL) { retval = NOMEMR; goto Close1; /* release file and allocated file header */ } pFileH->dataHeadSz = (short)bytSz; /* store DS header size in bytes */ pfileInfo->extHeadP = (TpDHead)CMemAllcn(bytSz); /* space for insert block (another DS header) */ if (pfileInfo->extHeadP == NULL) { retval = NOMEMR; goto Close2; /* release file,fileheader,data header */ } /* 4. Store variables in header checking range */ retval = BADPAR; /* error code for out of range */ if ( (channels < 0) || (fileVars < 0) || (DSVars < 0) || (channels >= MAXCHANS) || (fileVars >= MAXFILVARS) || (DSVars >= MAXDSVARS) ) { retval = NOMEMR; goto Close3; /* Release file file header data header insert block */ } pFileH->filVars = fileVars; /* store specified number of file vars */ pFileH->datVars = DSVars; /* store number of data section vars */ pFileH->dataChans= channels; /* store specified number of data channels */ /* 5. Set pointers to within spaces allocated to start of various items */ /* The fixed channel information following the general occupies fileChArr[channels] and the space straight after this is for the descrition of the file variables. */ pfileInfo->FVPoint.nameP = (TpVDesc)(pFileH->FilChArr+channels); /* The fixed file variable descriptions occupy nameP[filvars+1] and the data section variables start after them. */ pfileInfo->DSPoint.nameP = pfileInfo->FVPoint.nameP+fileVars+1; /* The data section variable descriptions occupy nameP[DSVars+1] then come the actual file variables */ pfileInfo->FVPoint.dataP = (TpSStr)(pfileInfo->DSPoint.nameP + DSVars+1); /* The actual data section variables are part of the data header (not fileheader) and come straight after the data section channel info */ pfileInfo->DSPoint.dataP = (TpSStr)(pDataH->DSChArr + channels); /* 6. Store default values in data structure structs */ /* Fixed channel information in File Header */ for (search = 0;search < channels;search++) { pFilChInfo = pFileH->FilChArr+search; /* pointer to relevant chan info */ /* Put null strings in Chan name and units */ TransferIn("", pFilChInfo->chanName, 0); TransferIn("", pFilChInfo->unitsY, 0); TransferIn("", pFilChInfo->unitsX, 0); pFilChInfo->dType = INT2; /* default type is integer */ pFilChInfo->dKind = EQUALSPACED; pFilChInfo->dSpacing = 2; /* integers stored in sequence */ pFilChInfo->otherChan= 0; } /*************************************************************************** ** Fixed file variables in the File header ** Copy the variable descriptions to the space allocated (which is in the ** form of variable description structs) storing the offsets in the data ** array for each variable value in the vsize field ****************************************************************************/ SetVarDescs(fileVars,pfileInfo->FVPoint,fileArray,filOffsets,filVarSpace); /* Data section variables descriptions */ SetVarDescs(DSVars,pfileInfo->DSPoint,DSArray,DSOffsets,DSVarSpace); /* Now fill in as much as poss of header block */ pDataH->lastDS = 0; /* no data section there yet */ /* lastDS of zero means the fileheader is the 'previous' DS */ pDataH->dataSt = BlockRound(handle,(CFSLONG)pFileH->fileHeadSz);/*round up */ pFileH->fileSz = pDataH->dataSt; /* reset so they are consistent */ pDataH->dataSz = 0; /* fill in later */ pDataH->flags = noFlags; /* start with no flags */ for (search = 0;search < 8;search++) pDataH->dSpace[search] = 0; /* zero spare space */ /* Initialise channel information */ for (search = 0; search < channels; search++) { pDSChInfo = pDataH->DSChArr + search; pDSChInfo->dataOffset = 0; /* no data there yet */ pDSChInfo->dataPoints = 0; pDSChInfo->scaleY = (float)1.0; pDSChInfo->offsetY = (float)0.0; pDSChInfo->scaleX = (float)1.0; pDSChInfo->offsetX = (float)0.0; } TransferIn(comment,pFileH->commentStr,COMMENTCHARS); /* users comment in LSTRING form */ F_strncpy(pFileH->marker,CEDMARKER,MARKERCHARS); /* marker with no NULL */ CStrTime(gWorkStr); /* time + NULL */ F_strncpy(pFileH->timeStr,gWorkStr,8); /* store time without NULL */ CStrDate(gWorkStr); /* date + NULL */ F_strncpy(pFileH->dateStr,gWorkStr,8); /* store date without NULL */ pFileH->dataSecs = 0; /* No DS yet */ pfileInfo->tableP = NULL; /* table giving file offsets for each DS header is not in memory */ pFileH->tablePos= 0; /* position in file where DS offsets table starts */ pFileH->endPnt = 0;/* this will hold the offset of the final DS header */ pfileInfo->allowed = writing; /* file now opened */ pfileInfo->thisSection= 0xFFFF; /* not used in writing mode */ for (search = 0;search < 20; search++) pFileH->fSpace[search] = 0; /* zero spare space */ pfileInfo->DSAltered = 0; /* initialise to 0 so that GetHeader does not write the DS header to file.(InsertDS is only valid way to do this for a new file. */ errorInfo.eFound = 0; /* no filing errors yet */ #if defined(_IS_MSDOS_) || defined(_IS_WINDOWS_) /* In file header store the file name without a path or leading spaces in LSTRING format */ search = 0; /* find 1st non space TpStr */ while (isspace(fname[search])) search++; pathend = (short)(search-1); /* If there is no path in fname it ends before the start */ /* look for last occurrence of '\\' or ':' */ while (search<(short)F_strlen(fname)) { if ((fname[search] == '\\') || (fname[search] == ':')) pathend = search; search = (short)(search + 1); } TransferIn(&fname[pathend+1],pFileH->name,FNAMECHARS); #endif /* return space allocated for temp arrays of affsets */ CFreeAllcn(filOffsets); CFreeAllcn(DSOffsets); return handle; /* all ok so return the file handle */ /* ** Here for the general error handling. Tidy up and return error code, ** also calling Internal Error so that any errors are remembered. */ Close3: CFreeAllcn(pfileInfo->extHeadP); /* free mem for data insert */ pfileInfo->extHeadP = NULL; Close2: CFreeAllcn(pfileInfo->dataHeadP); /* and for data header */ Close1: CFreeAllcn(pfileInfo->fileHeadP); /* and for file header */ Close0: CCloseAndUnlink(pfileInfo->DOSHdl.p, pfileInfo->tempFName); /* delete temp file */ CFreeAllcn(filOffsets); /* release space for offset arrays */ CFreeAllcn(DSOffsets); Close_1: if (strlen(fname) < MAXFNCHARS) F_strcpy(gWorkStr,fname); /* Get file name into global var */ CCloseAndUnlink(pfileInfo->DOSHdl.d, gWorkStr); /* delete empty CFS file */ InternalError(handle,proc,retval); return retval; /* retval is error code */ } /* end of CreatCFSFile */ /************************ SetFileChan ******************************** ** ** Set the channel information that stays same throughout file and goes ** in the file header. ** *****************************************************************************/ CFSAPI(void) SetFileChan(short handle, /* program file handle */ short channel, /* channel numb in CFS storage */ TpCStr channelName, /* users identifier for channel */ TpCStr yUnits, /* users name for units */ TpCStr xUnits,/* only for equal spaces often s */ TDataType dataType, /* one of 8 types */ TCFSKind dataKind, /* one of 2 kinds */ short spacing, /* bytes between equal spaced elements */ short other) /* next channel for matrix data */ { short proc = 1; /* function number for error record */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif /* to point to set of file info with given handle */ TpChInfo pFilChInfo; /* to point to this channels info structure */ short ecode; /* for return of FileUpdate */ ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(channel >= 0); ASSERT(channel < g_fileInfo[handle].fileHeadP->dataChans); ASSERT(dataType >= 0); ASSERT(dataType < NDATATYPE); ASSERT(dataKind >= 0); ASSERT(spacing >= 0); ASSERT((g_fileInfo[handle].allowed == writing) || (g_fileInfo[handle].allowed == editing)); /* 1. Check valid handle given and that its file is open for write/edit */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if ((pfileInfo->allowed == writing) || (pfileInfo->allowed == editing)) { /* 2. Check channel number in range */ if ((channel < 0) || (channel >= pfileInfo->fileHeadP->dataChans)) { InternalError(handle,proc,BADCHAN); return; } /* Additional checks on parameters dataType and dataKind */ if ((dataType < 0) || (dataType >= NDATATYPE)) { InternalError(handle,proc,BADPAR); return; } if ((dataKind < 0) || (dataKind >= NDATAKIND)) { InternalError(handle,proc,BADKIND); return; } if ((spacing < 0) || ((dataKind == MATRIX) && (other < 0))) { InternalError(handle,proc,BADPAR); return; } /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->allowed == editing) && (pfileInfo->fileHeadP->tablePos != 0)) { ecode = FileUpdate(handle,pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle,proc,ecode); return; } } /* channels info parameters look reasonable so fill them in */ pFilChInfo = pfileInfo->fileHeadP->FilChArr + channel; /* pick out chan */ TransferIn(channelName,pFilChInfo->chanName,DESCCHARS); TransferIn(yUnits,pFilChInfo->unitsY,UNITCHARS); TransferIn(xUnits,pFilChInfo->unitsX,UNITCHARS); pFilChInfo->dType = dataType; pFilChInfo->dKind = dataKind; pFilChInfo->dSpacing = spacing; pFilChInfo->otherChan = other; } else InternalError(handle,proc,NOTWORE); /* failed allowed test */ return; } /* end of SetFileChan */ /************************** SetDSChan ******************************** ** ** Sort out the data section channel info ie the bit that can change ** with data section. ** *****************************************************************************/ CFSAPI(void) SetDSChan(short handle, /* program file handle */ short channel, /* CFS channel number */ WORD dataSection, /* reference when editing */ CFSLONG startOffset, /* byte offset to 1st element */ CFSLONG points, /* number of channel elements */ float yScale, /* data scale */ float yOffset, float xScale, float xOffset) { short proc = 2; /* number for this function */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpDsInfo pDSChInfo; short ecode; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT((g_fileInfo[handle].allowed == writing) || (g_fileInfo[handle].allowed == editing)); ASSERT(channel >= 0); ASSERT(channel < g_fileInfo[handle].fileHeadP->dataChans); /* 1. Is Handle ok */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return; } /* 1a. Is file open for writing/editing */ pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if ((pfileInfo->allowed == writing) || (pfileInfo->allowed == editing)) { /* 2. Check channel number */ if ((channel < 0) || (channel >= pfileInfo->fileHeadP->dataChans)) { InternalError(handle,proc,BADCHAN); return; } /* 3. Check data section number if editing and read in its header from the CFS file */ if (pfileInfo->allowed == editing) { if ((dataSection<1)||(dataSection>pfileInfo->fileHeadP->dataSecs)) { InternalError(handle,proc,BADDS); return; } ecode = GetHeader(handle,dataSection); if (ecode != 0) { InternalError(handle,proc,ecode); return; } } else { if (/*(dataSection<0)||*/(dataSection>pfileInfo->fileHeadP->dataSecs)) { InternalError(handle,proc,BADDS); return; } if (dataSection > 0) { CMovel(pfileInfo->extHeadP, pfileInfo->dataHeadP, /* Save current DS header */ pfileInfo->fileHeadP->dataHeadSz); ecode = GetHeader(handle, dataSection); /* Read in wanted */ if (ecode != 0) { InternalError(handle,proc,ecode); goto Restore; } } } /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->allowed == editing) && (pfileInfo->fileHeadP->tablePos != 0)) { ecode = FileUpdate(handle,pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle,proc,ecode); return; } } /* Store information from function parameters in program */ pDSChInfo = pfileInfo->dataHeadP->DSChArr + channel; pDSChInfo->dataOffset = startOffset; pDSChInfo->dataPoints = points; pDSChInfo->scaleY = yScale; pDSChInfo->offsetY = yOffset; pDSChInfo->scaleX = xScale; pDSChInfo->offsetX = xOffset; if (pfileInfo->allowed == editing) pfileInfo->DSAltered = 1; /* (TRUE) */ else { if (dataSection > 0) /* If we are at previous data section */ { CFSLONG tableValue; /* Write the data back to disk */ tableValue = GetTable(handle, dataSection); if (FileData(handle, pfileInfo->dataHeadP, tableValue, (WORD)pfileInfo->fileHeadP->dataHeadSz) == 0) { InternalError(handle, proc, WRITERR); goto Restore; } } } Restore: if ((pfileInfo->allowed == writing) && (dataSection > 0)) { /* Then copy the old data back into position */ CMovel(pfileInfo->dataHeadP,pfileInfo->extHeadP, pfileInfo->fileHeadP->dataHeadSz); } } else InternalError(handle,proc,NOTWORE); /* failed writing/editing */ return; } /* end of setDSChans */ /************************** Write Data ******************************** ** ** Write actual data into current data block. ** *****************************************************************************/ CFSAPI(short) WriteData(short handle, /* program file handle */ WORD dataSection, /* data section for data */ CFSLONG startOffset, /* offset in DS for write */ WORD bytes, /* number of bytes to write */ TpVoid dataADS) /* ptr to start of data to write */ { short proc = 19; /* number for this function */ short ecode = 0; CFSLONG endOffset; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpDHead dataHP; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); ASSERT(g_fileInfo[handle].allowed != reading); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return BADHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* action depends on whether file was opened by CREAT (writing) or OPEN (editing) */ if ((pfileInfo->allowed == writing) && (dataSection == 0)) { /* adjust pointers for data size */ dataHP = pfileInfo->dataHeadP; endOffset = dataHP->dataSt + startOffset + bytes; if (pfileInfo->fileHeadP->fileSz < endOffset) { pfileInfo->fileHeadP->fileSz = endOffset; dataHP->dataSz = endOffset - dataHP->dataSt; } ecode = FileData(handle,dataADS,dataHP->dataSt + startOffset,bytes); if (ecode == 0) { InternalError(handle,proc,WRITERR); ecode = WRITERR; } else ecode = 0; /* Set to no error result otherwise */ } else { if ((pfileInfo->allowed != editing) && /* must be OK to write */ (pfileInfo->allowed != writing)) { InternalError(handle, proc, NOTWORE); return NOTWORE; } if ((dataSection < 1) || (dataSection > pfileInfo->fileHeadP->dataSecs)) { InternalError(handle,proc,BADDS); /* check data section number */ return BADDS; } /* If writing, preserve the current data section header */ if (pfileInfo->allowed == writing) { CMovel(pfileInfo->extHeadP, pfileInfo->dataHeadP, pfileInfo->fileHeadP->dataHeadSz); } ecode = GetHeader(handle, dataSection); if (ecode != 0) /* can be READERR or WRITERR */ { InternalError(handle,proc,ecode); /* check data section number */ goto Restore; } if ((startOffset + bytes) > pfileInfo->dataHeadP->dataSz) { InternalError(handle,proc,BADDSZ); /* check data section number */ ecode = BADDSZ; goto Restore; } /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->fileHeadP->tablePos != 0) && (pfileInfo->allowed == editing)) { ecode = FileUpdate(handle, pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle,proc,ecode); goto Restore; } } ecode = FileData(handle, dataADS, pfileInfo->dataHeadP->dataSt + startOffset,bytes); if (ecode == 0) { InternalError(handle,proc,WRITERR); ecode = WRITERR; goto Restore; } else ecode = 0; /* No errors, so clear function return */ Restore: /* Copy the old data back into position if required */ if (pfileInfo->allowed == writing) { CMovel(pfileInfo->dataHeadP, pfileInfo->extHeadP, pfileInfo->fileHeadP->dataHeadSz); } } return ecode; } /* end of WriteData */ /************************** Set Write Data ****************************** ** ** For file opened with CREAT only. Set it up ready for fast sequential write. ** Attempt to by pass piecewise disk allocation and speed up write to disc. ** NB BUFFERS = prameter in CONFIG.SYS needs to be at least 20. ** Any error is put into global error struct. ** *****************************************************************************/ CFSAPI(void) SetWriteData(short handle, /* program file handle */ CFSLONG startOffset, /* byte offset within DS for writing */ CFSLONG bytes) /* number of bytes to write */ { short proc = 3; /* function number */ char oneByte; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpDHead dataHP; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed == writing); /* 1. Check handle */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed != writing) /* check created file */ { InternalError(handle,proc,NOTWRIT); return; } dataHP = pfileInfo->dataHeadP; if ((bytes >= 0) && (startOffset >= 0)) /* If parameters are ok */ /* 2. move to end of data and write 1 byte to allocate file space */ { if (FileData(handle,dataHP,dataHP->dataSt+startOffset + bytes,1) == 0) { /* attempt write to wouldbe end of file */ InternalError(handle,proc,WRITERR); return; } } else { /* either bytes or startOffset duff */ InternalError(handle,proc,BADPAR); return; } /* 3. move to start of data area and read 1 byte to position of head */ if (LoadData(handle, &oneByte, dataHP->dataSt+startOffset-1, 1) == 0) { InternalError(handle,proc,READERR); return; } return; } /* end of SetWritedata */ /**************************** CFSFileSize ********************************* ** ** Return the file size, in bytes. The name is to avoid C library clashes. ** *****************************************************************************/ CFSAPI(CFSLONG) CFSFileSize(short handle) { short proc = 24; /* function number */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle, proc, BADHANDLE); /* check handle */ return BADHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed == nothing) /* and also check for file not open */ { InternalError(handle, proc, NOTOPEN); return NOTOPEN; } fileHP = pfileInfo->fileHeadP; /* Get pointer to file header */ return fileHP->fileSz; /* return the file size from the header */ } /**************************** Insert DS ****************************** ** ** Close the current data block and insert it at datasection th data ** block in the file. For dataSection 0 put it at the end. ** Return zero or error code. ** *****************************************************************************/ CFSAPI(short) InsertDS(short handle, /* program file handle */ WORD dataSection, /* section number */ TSFlags flagSet) /* flags for this DS */ { short proc = 17; /* function number */ WORD index,relevantSize; CFSLONG gtPlace,gtPlace1; CFSLONG tableValue; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; TpDHead dataHP; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed == writing); ASSERT(dataSection < MAXNODS); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); /* check handle */ return BADHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* 1. check file open for writing and dataSection valid */ if (pfileInfo->allowed != writing) { InternalError(handle,proc,NOTWRIT); return NOTWRIT; } fileHP = pfileInfo->fileHeadP; if (fileHP->dataSecs >= MAXNODS) { InternalError(handle,proc,XSDS); return XSDS; } if (dataSection == 0) dataSection = (WORD)(fileHP->dataSecs + 1); if ((dataSection < 1) || (dataSection > (fileHP->dataSecs + 1))) { InternalError(handle,proc,BADDS); return BADDS; } /* 2. change the pointer table to accommodate new data section */ for (index = fileHP->dataSecs;index >= dataSection;index--) { /* move entries past current DS up one */ tableValue = GetTable(handle,index); StoreTable(handle,(WORD)(index+1),tableValue); } dataHP = pfileInfo->dataHeadP; /* 3. change pointers for current section */ /* for first DS lastDS=0 ie previous thing is the header */ if (dataSection == 1) dataHP->lastDS = 0; else dataHP->lastDS = GetTable(handle,(WORD)(dataSection-1)); /* previous section */ dataHP->dataSz = fileHP->fileSz - dataHP->dataSt; /* set size of data which should be on end of file */ gtPlace = dataHP->dataSt + BlockRound(handle, dataHP->dataSz); /* offset corresponding to this DS */ StoreTable(handle, dataSection, gtPlace); /* store offset for this DS header */ /* 4. write the data header to the file */ dataHP->flags = flagSet; /* set flags for this DS */ if (FileData(handle,dataHP,gtPlace,(WORD)fileHP->dataHeadSz) == 0) { InternalError(handle,proc,WRITERR); return WRITERR; } /* 5. alter lastDS pointer in subsequent header */ relevantSize = sizeof(TDataHead) - sizeof(TDSChArr); if (dataSection < (fileHP->dataSecs + 1)) { /* not the last one */ gtPlace1 = GetTable(handle,(WORD)(dataSection + 1)); /* offset for next DS */ if (LoadData(handle,pfileInfo->extHeadP,gtPlace1,relevantSize) == 0) { InternalError(handle,proc,READERR); return READERR; /* read header to change */ } pfileInfo->extHeadP->lastDS = gtPlace; /* make the change */ if (FileData(handle,pfileInfo->extHeadP,gtPlace1,relevantSize) == 0) { InternalError(handle,proc,WRITERR); return WRITERR; } } else fileHP->endPnt = gtPlace; /* action for end DS */ /* 6. update fileHeader and dataheader variable */ fileHP->dataSecs = (WORD)(fileHP->dataSecs + 1); fileHP->fileSz = gtPlace + fileHP->dataHeadSz; dataHP->dataSt = fileHP->fileSz; dataHP->dataSz = 0; return 0; /* all ok */ } /* end of InsertDS */ /**************************** AppendDS ****************************** ** ** Add an empty data section onto the end of the file, so that we can ** write to it. Intended for use with offline files. ** ** Return zero or error code. ** *****************************************************************************/ CFSAPI(short) AppendDS(short handle, /* program file handle */ CFSLONG lSize, /* size of the new section */ TSFlags flagSet) /* flags for this DS */ { short proc = 25; /* function number */ WORD headSize, thisDS; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; TpDHead dataHP; CFSLONG lPrev, lThis; CFSLONG tableValue; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT((g_fileInfo[handle].allowed == editing) || (g_fileInfo[handle].allowed == writing)); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); /* check handle */ return BADHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed == writing) /* If writing just use InsertDS */ return InsertDS(handle, 0, flagSet); /* as this does it */ /* 1. check file open for writing and work out this DS number */ if (pfileInfo->allowed != editing) { InternalError(handle, proc, NOTWORE); return NOTWORE; } if (pfileInfo->DSAltered == 1) /* do we need to write this DS out first? */ { tableValue = GetTable(handle,pfileInfo->thisSection); pfileInfo->DSAltered = 0; if (FileData(handle,pfileInfo->dataHeadP,tableValue,(WORD) pfileInfo->fileHeadP->dataHeadSz) == 0) { InternalError(handle,proc,WRITERR); return WRITERR; } } pfileInfo->thisSection = 0xFFFF; /* If this is the first edit made to a file get it ready for the change */ /* This code strips the lookup table from the file size, which will help out! */ if (pfileInfo->fileHeadP->tablePos != 0) { short ecode; ecode = FileUpdate(handle, pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle, proc, ecode); return ecode; } } fileHP = pfileInfo->fileHeadP; /* Pointer to the file info */ dataHP = pfileInfo->dataHeadP; /* and the data header buffer */ if (fileHP->dataSecs >= MAXNODS) { InternalError(handle,proc,XSDS); return XSDS; } headSize = fileHP->dataHeadSz; /* Size of DS header in total */ thisDS = fileHP->dataSecs + 1; /* The number for the new data section */ lThis = fileHP->fileSz + BlockRound(handle, lSize); /* New DS head pos */ /* 2. Read in the previous DS header so we can meddle */ lPrev = GetTable(handle, (WORD)(thisDS - 1));/* offset for prev DS */ if (LoadData(handle, dataHP, lPrev, headSize) == 0) { InternalError(handle,proc,READERR); return READERR; /* read header to change */ } /* 3. Start creating the new data section. The new section goes at the end */ dataHP->dataSt = lPrev + headSize; /* Start posn for the data */ dataHP->dataSz = lSize; /* Size of the data */ dataHP->lastDS = lPrev; dataHP->flags = flagSet; /* set flags for this DS */ pfileInfo->thisSection = thisDS; /* now talking about a different DS */ StoreTable(handle, thisDS, lThis); /* Get the DS start into table */ /* 4. write the data header to the file */ if (FileData(handle, dataHP, lThis, headSize) == 0) { InternalError(handle,proc,WRITERR); return WRITERR; } /* 5. update fileHeader and dataheader variable */ fileHP->dataSecs = thisDS; fileHP->endPnt = lThis; /* pointer to the last DS header */ fileHP->fileSz = lThis + headSize; /* Updated file size */ return 0; /* all ok */ } /* end of AppendDS */ /**************************** Get DS Size ******************************** ** ** Returns size (in bytes) of specified data section for old file or current ** data section for new file. (file specified by its program file handle ). ** The size returned is the disk space for the channel data and doesn't ** include the DS header. ** Return is the size or -ve error code. ** *****************************************************************************/ CFSAPI(CFSLONG) GetDSSize(short handle, /* program file handle */ WORD dataSection) { short proc = 22; short ecode; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif /* check handle */ ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return BADHANDLE; } /* check file status */ pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed != nothing) { /* get header if old file */ if (pfileInfo->allowed != writing) { if ((dataSection < 1) || (dataSection > pfileInfo->fileHeadP->dataSecs)) { InternalError(handle,proc,BADDS); return BADDS; } ecode = GetHeader(handle,dataSection); if (ecode < 0) { InternalError(handle,proc,ecode); return ecode; } } return pfileInfo->dataHeadP->dataSz; /* return stored size */ } else { InternalError(handle,proc, NOTWORR); return NOTWORR; } } /* end of GetDSSize */ /************************** Clear DS ******************************** ** ** Clear out data already written in current DS. See WriteData. ** *****************************************************************************/ CFSAPI(short) ClearDS(short handle) { short proc = 20; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpDHead dataHP = NULL; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed == writing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return BADHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* action depends on if file was opened by CREAT(writing) or OPEN (editing) */ if (pfileInfo->allowed == writing) /* adjust pointers for data size 0 */ { pfileInfo->fileHeadP->fileSz = dataHP->dataSt; pfileInfo->dataHeadP->dataSz = 0; } else { InternalError(handle,proc,NOTWRIT); return NOTWRIT; /* cannot do it unless CREAT (writing) */ } return 0; } /***************************** Remove DS ********************************* ** ** Remove a data section from the CFS file. Doesn't actually shorten the ** file but rearranges pointers so blocks dont appear any more. ** *****************************************************************************/ CFSAPI(void) RemoveDS(short handle, /* program file handle */ WORD dataSection) /* DS to remove */ { short proc = 4; /* number for this function */ CFSLONG storeLastDS; WORD relSize,index,ecode; CFSLONG tableValue; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(dataSection > 0); ASSERT(dataSection <= g_fileInfo[handle].fileHeadP->dataSecs); ASSERT((g_fileInfo[handle].allowed == writing) || (g_fileInfo[handle].allowed == editing)); /* 1. Check handle and data section parameters are valid */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ relSize = sizeof(TDataHead) - sizeof(TDSChArr); /* size of data header without channel infoe array */ if ((pfileInfo->allowed != writing) && (pfileInfo->allowed != editing)) { InternalError(handle,proc,NOTWORE); return; } if ((dataSection < 1) || (dataSection > pfileInfo->fileHeadP->dataSecs)) { InternalError(handle,proc,BADDS); return; } /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->allowed == editing) && (pfileInfo->fileHeadP->tablePos != 0)) { ecode = FileUpdate(handle,pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle,proc,ecode); return; } } tableValue = GetTable(handle,dataSection); if (LoadData(handle,pfileInfo->extHeadP,tableValue,relSize) == 0) { InternalError(handle,proc,READERR); return; } storeLastDS = pfileInfo->extHeadP->lastDS; /* save the pointer to previous DS */ /* 3. If current DS needs Filing do so */ if (pfileInfo->DSAltered == 1) { tableValue = GetTable(handle,pfileInfo->thisSection); pfileInfo->DSAltered = 0; if (FileData(handle,pfileInfo->dataHeadP,tableValue,(WORD) pfileInfo->fileHeadP->dataHeadSz) == 0) { InternalError(handle,proc,WRITERR); return; } } pfileInfo->thisSection = 0xFFFF; /* 4. Remove section from pointer table */ for (index = dataSection;index < pfileInfo->fileHeadP->dataSecs;index++) { tableValue = GetTable(handle,(WORD)(index + 1)); /* shift all offsets one place */ StoreTable(handle,index,tableValue); /* back in array */ } /* 5. set lastDS for DS which now has removed ones index (or endPnt) if last */ if (dataSection < pfileInfo->fileHeadP->dataSecs) /* DS is not last one */ { tableValue = GetTable(handle,dataSection); /* offset for new DS with this number */ if (LoadData(handle,pfileInfo->extHeadP,tableValue,relSize) == 0) { InternalError(handle,proc,READERR); return; } pfileInfo->extHeadP->lastDS = storeLastDS; /* set new previous section */ if (FileData(handle,pfileInfo->extHeadP,tableValue,relSize) == 0) { InternalError(handle,proc,WRITERR); return; } /* write it back to file again */ } else pfileInfo->fileHeadP->endPnt = storeLastDS; /* if DS is last one */ /* 6. There is now 1 DS less in file */ pfileInfo->fileHeadP->dataSecs--; return; } /* end of Remove DS */ /***************************** Set Comment ******************************* ** ** Can use this function if file opened with CreateCFSFile or OpenCFSFile in ** edit mode. Overwrite the comment stored in the file header. ** *****************************************************************************/ CFSAPI(void) SetComment(short handle, /* program file handle */ TpCStr comment) /* comment to store */ { short proc = 15; /* function number */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; short ecode; /* for return from FileUpdate */ ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT((g_fileInfo[handle].allowed == writing) || (g_fileInfo[handle].allowed == editing)); /* check handle and file status */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ fileHP = pfileInfo->fileHeadP; if ((pfileInfo->allowed != writing) && (pfileInfo->allowed != editing)) { InternalError(handle,proc,NOTWRIT); return; } /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->allowed == editing) && (pfileInfo->fileHeadP->tablePos != 0)) { ecode = FileUpdate(handle,pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle,proc,ecode); return; } } /* if all ok transfer comment to its place in the file header */ TransferIn(comment,fileHP->commentStr,COMMENTCHARS); } /* end of setComment */ /*************************** Set Var Val ******************************* ** ** Transfer the variable value to the byte list ready for transfer to file. ** ** If file opened by CreateCFSFile (allowed=writing) and the DS variable ** value applies to the current data section it will keep the value set ** for subsequent data sections unless changed. ** ** File opened by OpenCFSFile (allowed=editing) the new DS variable value ** applies to the data section specified only. ** *****************************************************************************/ CFSAPI(void) SetVarVal(short handle, /* program file handle */ short varNo, /* variable number (file or DS) */ short varKind, /* FILEVAR or DSVAR */ WORD dataSection, /* 0 or DS number */ TpVoid varADS) /* location of data to write to file */ { short proc = 5; /* function number */ short maxVarNo, ecode; int size = 0; int varOff; int stType; /* 1 for string transfers 0 for others */ TpSStr dest = NULL; BYTE maxLen = 0; BYTE charCount; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif CFSLONG* pLong = (CFSLONG*)varADS; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); ASSERT(g_fileInfo[handle].allowed != reading); /* NB ALL variable descriptions should be entered before the FIRST value is transferred */ /* Check handle parameter */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* Check file status */ if ((pfileInfo->allowed != writing) && (pfileInfo->allowed != editing)) { InternalError(handle, proc, NOTWORE); return; } stType = 0; /* Assume not a string */ /* Check variable kind and number */ switch (varKind) { case FILEVAR: { maxVarNo = pfileInfo->fileHeadP->filVars; if ((varNo >= 0) && (varNo < maxVarNo)) { /* retrieve place at which to store variable */ varOff = pfileInfo->FVPoint.nameP[varNo].vSize; dest = pfileInfo->FVPoint.dataP + varOff; /* get variable size from its offset and the next one */ size = (short)(pfileInfo->FVPoint. nameP[varNo+1].vSize-varOff); /* watch out for lstr type */ if (pfileInfo->FVPoint.nameP[varNo].vType == LSTR) { /* size allocated is for max number of chars + 2bytes */ maxLen = (BYTE)(size-2); /* maximum characters in transfer */ stType = 1; /* flag string transfer */ } else maxLen = 255; } break; } case DSVAR: { maxVarNo = pfileInfo->fileHeadP->datVars; /* same comments as above */ if ((varNo >= 0) && (varNo < maxVarNo)) { varOff = pfileInfo->DSPoint.nameP[varNo].vSize; dest = pfileInfo->DSPoint.dataP + varOff; size = (short)(pfileInfo->DSPoint.nameP[varNo+1]. vSize-varOff); if (pfileInfo->DSPoint.nameP[varNo].vType == LSTR) { maxLen = (BYTE)(size - 2); stType = 1; } else maxLen = 255; } break; } default: { InternalError(handle,proc,BADKIND); return; } } if ((varNo < 0) || (varNo >= maxVarNo)) { /* can now check variable number is in range */ InternalError(handle,proc,BADVARN); return; } /* Now split depending upon the variable type */ if (varKind == FILEVAR) { /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->allowed == editing) && (pfileInfo->fileHeadP->tablePos != 0)) { ecode = FileUpdate(handle,pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle,proc,ecode); return; } } if (stType == 0) /* not a string to transfer */ CMovel(dest, varADS, (short)size); else { /* varADS is address of C string to transfer dest is address of LSTRING for storage */ charCount = (BYTE)F_strlen((TpStr)varADS); /* how many cahracters in string */ if (charCount > maxLen) charCount = maxLen; TransferIn((TpStr)varADS,(TpStr)dest,charCount); } } else { /* check datasection is in files range */ if ((pfileInfo->allowed == writing) && (dataSection == 0)) dataSection = (WORD)(pfileInfo->fileHeadP->dataSecs + 1); if ((dataSection < 1) || /* Now check for a legal DS */ ((dataSection > pfileInfo->fileHeadP->dataSecs) && (pfileInfo->allowed != writing)) || ((dataSection > pfileInfo->fileHeadP->dataSecs + 1) && (pfileInfo->allowed == writing))) { InternalError(handle,proc,BADDS); return; } /* If writing and looking back in file, preserve the data header */ if ((pfileInfo->allowed == writing) && (dataSection <= pfileInfo->fileHeadP->dataSecs)) { CMovel(pfileInfo->extHeadP, pfileInfo->dataHeadP, pfileInfo->fileHeadP->dataHeadSz); } /* If editing or reading need to load data header of DS specified */ if (dataSection <= pfileInfo->fileHeadP->dataSecs) { ecode = GetHeader(handle,dataSection); /* load data header */ if (ecode < 0) /* error code can be read/write error */ { InternalError(handle,proc,ecode); goto Restore; } } /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->allowed == editing) && (pfileInfo->fileHeadP->tablePos != 0)) { ecode = FileUpdate(handle, pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle,proc,ecode); goto Restore; } } if (stType == 0) /* not a string to transfer */ CMovel(dest, varADS, (short)size); else { /* varADS is address of C string to transfer dest is address of LSTRING for storage */ charCount = (BYTE)F_strlen((TpStr)varADS); /* how many cahracters in string */ if (charCount > maxLen) charCount = maxLen; TransferIn((TpStr)varADS,(TpStr)dest,charCount); } /* If editing update DS header flag so it gets written to file later */ if (pfileInfo->allowed == editing) pfileInfo->DSAltered = 1; Restore: /* Restore header for DS being written if required */ if ((pfileInfo->allowed == writing) && (dataSection <= pfileInfo->fileHeadP->dataSecs)) { CFSLONG tableValue; // First write the data back to disk tableValue = GetTable(handle, dataSection); if (FileData(handle, pfileInfo->dataHeadP, tableValue, (WORD)pfileInfo->fileHeadP->dataHeadSz) == 0) InternalError(handle, proc, WRITERR); /* Then copy the old data back into position */ CMovel(pfileInfo->dataHeadP,pfileInfo->extHeadP, pfileInfo->fileHeadP->dataHeadSz); } } return; } /* end of SetVarVal */ /************************** Close CFS File ******************************* ** ** Close the CFS file specified by its program handle. ** It can have been opened by CreateCFSFile or OpenCFSFile. ** Return 0 if ok or error code if not. ** *****************************************************************************/ CFSAPI(short) CloseCFSFile(short handle) { short proc = 21; short flag = 0, exchange = 0, retval = 0; CFSLONG tabSize, tableValue; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; TpDHead dataHP; int index; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); /* 1. Check handle */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return BADHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed == nothing) { InternalError(handle,proc,BADHANDLE); return BADHANDLE; } fileHP = pfileInfo->fileHeadP; dataHP = pfileInfo->dataHeadP; retval = 0; /* return value for ok. Will overwrite if error */ /* 2. File the last DS if necessary */ if ((pfileInfo->allowed == writing) && (fileHP->fileSz > dataHP->dataSt)) { if (InsertDS(handle,(WORD)(fileHP->dataSecs+1),dataHP->flags) != 0) retval = BADINS; } if (pfileInfo->allowed != reading) { /* 3. Transfer the pointer table first make sure that any altered DS header is filed. */ /* Check that the file actually needs updating */ if ((pfileInfo->allowed == editing) && (fileHP->tablePos != 0)) { /* no change has been made. DO NOT write to file. Tidy up. */ CFreeAllcn(pfileInfo->extHeadP); /* if file opened for table pointers close and delete it */ if (pfileInfo->tableP == NULL) { /* delete CFS file */ retval = CCloseAndUnlink(pfileInfo->DOSHdl.p, pfileInfo->tempFName); if (retval < 0) retval = WRDS; } } else { if (pfileInfo->DSAltered == 1) { tableValue = GetTable(handle,pfileInfo->thisSection); if (FileData(handle,dataHP,tableValue,fileHP->dataHeadSz) == 0) retval = WRITERR; } /* it is to go on end of CFS file */ if (CLSeek(pfileInfo->DOSHdl.d, fileHP->fileSz, 0) < 0) retval = DISKPOS; tabSize = fileHP->dataSecs * 4; /* size of table */ if (pfileInfo->tableP == NULL) /* table not in memory */ { /* copy from start of temp file */ if (CLSeek(pfileInfo->DOSHdl.p,(CFSLONG)0,0) < 0) retval = DISKPOS; exchange = TransferTable(fileHP->dataSecs, pfileInfo->DOSHdl.p, pfileInfo->DOSHdl.d); if (exchange < 0) retval = exchange; /* want to return error if not ok */ flag = CCloseAndUnlink(pfileInfo->DOSHdl.p, pfileInfo->tempFName);/* delete pointer file */ if ((flag < 0) && (exchange >= 0)) retval = WRDS; /* delete pointer table file */ } else /* table is in memory so write it to file */ if (CWriteHandle(pfileInfo->DOSHdl.d,(TpStr)pfileInfo->tableP, (WORD)tabSize) < (WORD)tabSize) retval = WRDS; /* 4. Store file header */ if (exchange < 0) fileHP->tablePos = 0; /* if transfer failed, enabling to rebuild table on the next run */ else fileHP->tablePos = fileHP->fileSz; /* table position at end of rest of file */ fileHP->fileSz = fileHP->fileSz + tabSize; /* add table to file size */ if (FileData(handle, fileHP, (CFSLONG)0, fileHP->fileHeadSz) == 0) retval = WRITERR; CFreeAllcn(pfileInfo->extHeadP); /* release space for insert header applies to writing and editing files */ /* set the file length */ if (CSetFileLen(pfileInfo->DOSHdl.d, pfileInfo->fileHeadP->fileSz) != 0) retval = BADFL; } } CClose(pfileInfo->DOSHdl.d); /* Close the CFS file */ CFreeAllcn(pfileInfo->fileHeadP); /* free space allocated for header */ CFreeAllcn(pfileInfo->dataHeadP); /* free space allocated for data */ /* flag handle as not used */ pfileInfo->allowed = nothing; /* no need to initialise other file prams */ /* as they will be initialised on opening/creating next CFS file */ /* if the table is in memory free its allocated space */ if (pfileInfo->tableP != NULL) CFreeAllcn(pfileInfo->tableP); for (index = 0; index < g_maxCfsFiles; index++) /* Finally, check tables */ if (g_fileInfo[index].allowed != nothing) /* Any files still open? */ break; /* If so, we exit the loop early */ if (index >= g_maxCfsFiles) /* If no files open, will clean up memory */ CleanUpCfs(); return retval; /* return 0 or errorcode */ } /* end of CloseCFSFile */ /************************** Open CFS File ******************************* ** ** Open en exisiting CFS file for reading or editing. ** Return the program handle if ok (even if cant fulfil table in memory ** request) or -ve error code. ** If only problem is inability to allocate memory for the table, this error ** is returned via the error record and things are set to proceed with the ** table on disc. ** *****************************************************************************/ CFSAPI(short) OpenCFSFile(TpCStr fname, /* C string containing file name */ short enableWrite, /* 1 for editing 0 for readonly */ short memoryTable) /* 1 for table in memory 0 for on disk */ { short proc; /* function number */ short loop,retval; WORD relevantSize; CFSLONG tblSz; short exchange, handle; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; TpDHead dataHP,extHP; proc = 13; /* initialise here to get rid of compiler warning */ extHP = NULL; /* do with goto */ /* 1. get a program file handle */ handle = FindUnusedHandle(); if (handle < 0) { InternalError(handle,proc,NOHANDLE); return NOHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* 2. open the file with required status */ /* use loop as temp variable */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) loop = 0; if (COpen(fname,(short)((enableWrite == 0) ? rMode : wMode), &pfileInfo->DOSHdl.d) != 0) loop = -1; #else loop = 0; if (COpen(fname,(short)((enableWrite == 0) ? 0 : 2), &pfileInfo->DOSHdl.d) != 0) loop = -1; #endif if (loop < 0) { InternalError(handle,proc,BADOPEN); return BADOPEN; } /* file is now open and DOS handle stored */ /* 2a. Check the file size against minimum */ /* Calculate space needed for minimal file file header */ relevantSize = sizeof(TFileHead) - sizeof(TFilChArr); if (CGetFileLen(pfileInfo->DOSHdl.d) < (CFSLONG)relevantSize) { retval = BADVER; goto Close0; /* need to close file before exit */ } /* file is now open and DOS handle stored */ /* 3. get memory needed initially for file header and data header */ /* Calculate space needed for just a minimalist file header */ relevantSize = sizeof(TFileHead) - sizeof(TFilChArr); pfileInfo->fileHeadP = (TpFHead)CMemAllcn(relevantSize); fileHP = pfileInfo->fileHeadP; if (fileHP == NULL) /* allocation failed */ { retval = NOMEMR; goto Close0; /* need to close file before exit */ } /* read the file header into the space allocated */ if (LoadData(handle,fileHP,(CFSLONG)0,relevantSize) == 0) { retval = READERR; /* load failed */ goto Close1; /* free space allated and close file */ } /* check the file marker . first whole of current version marker .*/ if (F_strncmp(fileHP->marker,CEDMARKER,MARKERCHARS) != 0) { retval = BADVER; /* now 2nd check to sort out old version file from foreigner */ if (F_strncmp(fileHP->marker,PARTMARK,PARTMARKCHARS) == 0) { /* fish out which old version from ASCII of last TpStr */ retval = fileHP->marker[PARTMARKCHARS]; retval = (short)(-(retval+BADOLDVER)); /* convert to error code .Yuck! */ } goto Close1; /* tidy up and return error code */ } relevantSize = fileHP->fileHeadSz; /* size of full header including chan stuff */ CFreeAllcn(pfileInfo->fileHeadP); /* release smaller space */ fileHP = (TpFHead)CMemAllcn(relevantSize); /* get enough for all */ if (fileHP == NULL) { retval = NOMEMR; goto Close0; /* close file only before exit */ } pfileInfo->fileHeadP = fileHP; /* store pointer to space allocated */ /* 4. read whole of file header including fixed channel info */ if (LoadData(handle,fileHP,(CFSLONG)0,relevantSize) == 0) { retval = READERR; goto Close1; } /* allocate space for data header */ pfileInfo->dataHeadP = (TpDHead)CMemAllcn(fileHP->dataHeadSz); dataHP = pfileInfo->dataHeadP; if (dataHP == NULL) { retval = NOMEMR; /* failure at DS header allocation */ goto Close1; } if (enableWrite != 0) { /* if user wants to edit file get extra DS header for insert */ pfileInfo->extHeadP = (TpDHead)CMemAllcn(fileHP->dataHeadSz); extHP = pfileInfo->extHeadP; if (extHP == NULL) { retval = NOMEMR; goto Close2; /* free DS header, file header and close file */ } } else pfileInfo->extHeadP = NULL; /* set explicitly to NULL if not allocated */ /* 5. set pointers within allocated space */ /* file variable descriptions come after fixed channel data */ pfileInfo->FVPoint.nameP = (TpVDesc)(fileHP->FilChArr+fileHP->dataChans); /* DS variable descriptions come after the file variables */ pfileInfo->DSPoint.nameP = pfileInfo->FVPoint.nameP + fileHP->filVars + 1; /* file variable values follow the DS variable descriptions */ pfileInfo->FVPoint.dataP = (TpSStr)(pfileInfo->DSPoint.nameP + fileHP->datVars + 1); /* DS variable values follow the DS channel information */ pfileInfo->DSPoint.dataP = (TpSStr)(dataHP->DSChArr+fileHP->dataChans); /* 6. get pointer table in memory or in separate file */ tblSz = 4 * fileHP->dataSecs; /* first locate table in CFS file */ if (fileHP->tablePos == 0) /* is pointer table lost */ { if (enableWrite == 0) { /* need to change file access to read/write */ if (CClose(pfileInfo->DOSHdl.d) != 0) { retval = WRITERR; /* nearset error poss. */ goto Close2; } #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) loop = 0; if (COpen(fname, wMode, &pfileInfo->DOSHdl.d) != 0) loop = -1; #else loop = 0; if (COpen(fname, 2, &pfileInfo->DOSHdl.d) != 0) loop = -1; #endif if (loop < 0) { retval = BADOPEN; goto Close2; } } loop = RecoverTable(handle,&tblSz,&fileHP->tablePos,&fileHP->dataSecs, &fileHP->fileSz); /* if loop is zero the table will be recovered ie.added to the CFS file and the file header variable updated */ if (loop < 0) { retval = loop; /* return error code of recovertable */ goto Close2; /* deallocate file and DS header(s) and close file */ } else /* success in recovering table. write updated header to file */ { if (FileData(handle,fileHP,(CFSLONG)0,fileHP->fileHeadSz) == 0) { retval = WRITERR; goto Close2; } } if (enableWrite == 0) /* need to change file access back to read */ { if (CClose(pfileInfo->DOSHdl.d) != 0) { retval = WRITERR; /* nearset error poss. */ goto Close2; } #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) loop = 0; if (COpen(fname, rMode, &pfileInfo->DOSHdl.d) != 0) loop = -1; #else loop = 0; if (COpen(fname, 0, &pfileInfo->DOSHdl.d) != 0) loop = -1; #endif if (loop < 0) { retval = BADOPEN; goto Close2; } } } /* position CFS file pointer at start of table */ if (CLSeek(pfileInfo->DOSHdl.d,fileHP->tablePos,0) < 0) { retval = DISKPOS; /* couldnt find table data */ goto Close2; } /* if requested and if possible get pointer table in memory */ if (memoryTable != 0) /* request for table to be in memory */ memoryTable = GetMemTable(handle); /* try to get space */ if (memoryTable != 0) /* space in memory allcated for table */ { if (!LoadData(handle, pfileInfo->tableP, fileHP->tablePos, tblSz)) { retval = READERR; /* couldnt read table */ goto Close2; } } else /* table to be accessed from file */ { pfileInfo->tableP = NULL; /* flag pointer table not in memory */ if (enableWrite != 0) { /* editing required so make temp file for table */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) /* make and save name for temp file */ TempName(handle,fname,pfileInfo->tempFName, WHOLEFILECHARS+2); if (CCreat(pfileInfo->tempFName, rwMode, &pfileInfo->DOSHdl.p) != 0) pfileInfo->DOSHdl.p = (fDef)-1; #endif if (&(pfileInfo->DOSHdl.p) < 0) /* create failed */ { retval = BADCREAT; goto Close2; } if (CLSeek(pfileInfo->DOSHdl.p,(CFSLONG)0,0) != 0) { retval = BADCREAT; goto Close3; /* add close and delete of temp file to tiy up */ } exchange = TransferTable(fileHP->dataSecs,pfileInfo->DOSHdl.d, pfileInfo->DOSHdl.p); /* transfer table from CFS to temp file */ if (exchange < 0) { retval = exchange; /* retrun error code of TransferTable */ goto Close3; } } else pfileInfo->DOSHdl.p = pfileInfo->DOSHdl.d; /* for reading only access the table from the CFS file itself */ } /* all is well now set files status */ if (enableWrite != 0) pfileInfo->allowed = editing; else pfileInfo->allowed = reading; pfileInfo->thisSection = 0xFFFF; pfileInfo->DSAltered = 0; return handle; /* return the program file handle */ /* 7. Tidy up in case of failure */ Close3:if (pfileInfo->tableP == NULL) /* is there likely to be a temp table file */ { if (&(pfileInfo->DOSHdl.p) != &(pfileInfo->DOSHdl.d)) /* make sure it isnt the CFS file */ { loop = CCloseAndUnlink(pfileInfo->DOSHdl.p, pfileInfo->tempFName); /* delete file */ } } Close2:if (pfileInfo->tableP != NULL) { CFreeAllcn(pfileInfo->tableP); pfileInfo->tableP = NULL; } if (pfileInfo->extHeadP != NULL) { CFreeAllcn(pfileInfo->extHeadP); pfileInfo->extHeadP = NULL; } CFreeAllcn(pfileInfo->dataHeadP); Close1:CFreeAllcn(pfileInfo->fileHeadP); Close0:loop = CClose(pfileInfo->DOSHdl.d); InternalError(handle,proc,retval); /* InternalError gets the details */ return retval; /* return error code */ } /* end of OpenCFSFile */ /************************** Get Gen Info ******************************* ** ** For CFS file specified by it program file handle, return in the time,date ** and comment arrays the time and date of creation of the CFS file and ** its general comment. ** time and date should point to C strings at least 8 chars long. (This will ** give time/date chars with no NULL.) ** comment should point to a C string at least COMMENTCHARS+1 (73) chars long. ** Error return is via error reord. ** *****************************************************************************/ CFSAPI(void) GetGenInfo(short handle, /* progran file handle */ TpStr time, /* to read back time */ TpStr date, /* to read back date */ TpStr comment) /* to read back general comment */ { short Proc = 6; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) /* function number */ TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); /* check handle specified */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,Proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed == nothing) InternalError(handle,Proc,NOTOPEN); else { fileHP = pfileInfo->fileHeadP; /* for the time and date copy the 8 chars only no NULL */ F_strncpy(time,fileHP->timeStr,8); time[8] = '\0'; F_strncpy(date,fileHP->dateStr,8); date[8] = '\0'; TransferOut(fileHP->commentStr,comment,COMMENTCHARS); } return; } /* end of GetGenInfo */ /*************************** Get File Info ******************************* ** ** For user to get some values from the file header of the file specified ** by its program file handle. ** The values are returned via pointers which on entry should point to ** variables of the correct type. ** Error return is via error record. ** *****************************************************************************/ CFSAPI(void) GetFileInfo(short handle, /* program file handle */ TpShort channels, /* to return number of channels */ TpShort fileVars, /* to return number of file variables */ TpShort DSVars, /* to return number of DS variables */ TpUShort dataSections) /* to retrun no. of DS's */ { short Proc = 7; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) /* function number */ TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,Proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; if (pfileInfo->allowed != nothing) /* if file is open */ { fileHP = pfileInfo->fileHeadP; /* set the thing that each parameter points to to the value in the file */ *channels = fileHP->dataChans; *fileVars = fileHP->filVars; *DSVars = fileHP->datVars; *dataSections= fileHP->dataSecs; } else InternalError(handle,Proc,NOTOPEN); /* file flagged as not open */ return; } /* end of GeTFileInfo */ /************************** Get Var Desc ******************************* ** ** To get from the file, specified by its program handle, information about ** a particular variable description, specified by its varKind (FILEVAR or ** DSVAR) and its number (alloted when first stored ). ** The size and type are returned by variable pointers. ** The units and description are returned by string pointers. ** The pointer for units should point to a string of at least UNITCHARS+1 (9) ** chars and that for the description to a string of at least DESCCHARS+1 (21) ** chars. ** Any error is returned via the error record. ** *****************************************************************************/ CFSAPI(void) GetVarDesc(short handle, /* program file handle */ short varNo, /* file or DS variable number */ short varKind, /* FILEVAR or DSVAR */ TpShort varSize,/* to return variable size in bytes */ TpDType varType, /* to return variable type */ TpStr units, /* to return units as C string */ TpStr description) /* to return variable description as C string */ { short Proc = 8; /* function number */ short size; short maxVarNo; short nextOffset; TVarDesc interDesc; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; /* check program handle */ ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,Proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed != nothing) { fileHP = pfileInfo->fileHeadP; switch (varKind) { case FILEVAR:maxVarNo = (short)(fileHP->filVars-1); break; case DSVAR :maxVarNo = (short)(fileHP->datVars-1); break; default :InternalError(handle,Proc,BADKIND); return; } if ((varNo < 0) || (varNo > maxVarNo)) { InternalError(handle,Proc,BADVARN); return; } if (varKind == FILEVAR) { interDesc = pfileInfo->FVPoint.nameP[varNo]; /* inside program vsize filed stores variable offset in byte list (not the size) */ nextOffset = pfileInfo->FVPoint.nameP[varNo+1].vSize; } else { interDesc = pfileInfo->DSPoint.nameP[varNo]; nextOffset = pfileInfo->DSPoint.nameP[varNo+1].vSize; } *varType = interDesc.vType; /* to return variable type */ /* now sort out the size from the stored offsets */ size = (short)(nextOffset - interDesc.vSize); /* if the variable is an lstring deduct 1 so that what is returned is the length of the C string needed to store it, ie. number of characters + 1 for the NULL */ if (interDesc.vType == LSTR) size = (short)(size-1); *varSize = size; /* return size in bytes */ /* Transfer the units and description from their stored LSTRING format to the C string provided */ TransferOut(interDesc.varUnits,units,UNITCHARS); TransferOut(interDesc.varDesc,description,DESCCHARS); } else InternalError(handle,Proc,NOTOPEN); return; } /* end of GetVarDesc */ /*************************** Get Var Val ******************************** ** ** To get from the file, specified by its program file handle, the actual ** value of a variable specified by its varKind (FILEVAR or DSVAR) and ** number (allocated when stored). ** For DSVAR in the case of files opened by CreatsCFSFile the value for the ** current DS is returned regardless of the parameter dataSection, ** in the case of files opened by OpenCFSFile the value for the ** dataSection specified is returned. ** The value is returned by copying it to the address, varADS, provided. ** The user must ensure that varADS is pointing to a large enough piece ** of free memory to which to copy the variable. ** String variables are returned as NULL terminated C strings (although stored as LSTRING). ** Any error is returned via the error record. ** *****************************************************************************/ CFSAPI(void) GetVarVal(short handle, /* program file handle */ short varNo, /* number of variable required */ short varKind, /* FILEVAR orDSVAR */ WORD dataSection, /* may need to specify DS */ TpVoid varADS) /* for return of variable */ { short Proc = 9; /* function number */ short maxVarNo,size,ecode; TpStr sourceP; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpVDesc pInterDesc,pnext; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); if ((handle < 0) || (handle >= g_maxCfsFiles)) /* check handle */ { InternalError(handle,Proc,BADHANDLE); return; } if ((varKind != FILEVAR) && (varKind != DSVAR)) /* check kind too */ { InternalError(handle,Proc,BADKIND); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* 1. Check file is open */ if (pfileInfo->allowed != nothing) { // // We split into file/DS sections here as the DS var code is getting a bit // complex if (varKind == FILEVAR) { maxVarNo = (short)(pfileInfo->fileHeadP->filVars-1); if ((varNo < 0) || (varNo > maxVarNo)) { InternalError(handle,Proc,BADVARN); return; } pInterDesc = pfileInfo->FVPoint.nameP + varNo;/* vars descript */ size = pInterDesc->vSize; /* actually OFFSET for now */ /* set pointer to next var description */ pnext = pfileInfo->FVPoint.nameP + varNo + 1; /* point to variable in its data (char) array, using its offset, size */ sourceP = (TpStr)pfileInfo->FVPoint.dataP + size; size = (short)(pnext->vSize - size); /* set size from offsets */ /* 4. move the variable to the location specified */ if (pInterDesc->vType == LSTR) { size = (short)(size-2); TransferOut(sourceP,(TpStr)varADS,(BYTE)size); } else CMovel(varADS,sourceP,size); } else // Here we do mostly the same for DS vars. Sorry for the { // duplication of code, but it keeps things much easier to do. maxVarNo = (short)(pfileInfo->fileHeadP->datVars-1); if ((varNo < 0) || (varNo > maxVarNo)) { InternalError(handle,Proc,BADVARN); return; } // If DS 0 on a new file, set to be next DS. if ((pfileInfo->allowed == writing) && (dataSection == 0)) dataSection = (WORD)(pfileInfo->fileHeadP->dataSecs + 1); // Now to check the data section number if ((dataSection < 1) || ((dataSection > pfileInfo->fileHeadP->dataSecs) && (pfileInfo->allowed != writing)) || ((dataSection > pfileInfo->fileHeadP->dataSecs + 1) && (pfileInfo->allowed == writing))) { InternalError(handle, Proc, BADDS); return; } /* 2. Look to see if a different data header is needed. If it is and we are */ /* writing, we will need to save the current header. */ if (dataSection <= pfileInfo->fileHeadP->dataSecs) { if (pfileInfo->allowed == writing) // Save the current header ? CMovel(pfileInfo->extHeadP, pfileInfo->dataHeadP, pfileInfo->fileHeadP->dataHeadSz); ecode = GetHeader(handle, dataSection); /* read new header */ if (ecode != 0) /* could have failed on read or write */ { InternalError(handle,Proc,ecode); goto Restore; } } /* now sort out where the variable is in its array and how many bytes */ pInterDesc = pfileInfo->DSPoint.nameP + varNo; size = pInterDesc->vSize; /* This is offset for now */ pnext = pfileInfo->DSPoint.nameP + varNo + 1; sourceP = (TpStr)pfileInfo->DSPoint.dataP + size; size = (short)(pnext->vSize - size); /* set size from offsets */ /* if variable is lstr things are different */ if (pInterDesc->vType == LSTR) { size = (short)(size-2); TransferOut(sourceP,(TpStr)varADS,(BYTE)size); } else CMovel(varADS,sourceP,size); Restore: /* Restore header for DS being written if required */ if ((pfileInfo->allowed == writing) && (dataSection <= pfileInfo->fileHeadP->dataSecs)) { CMovel(pfileInfo->dataHeadP,pfileInfo->extHeadP, pfileInfo->fileHeadP->dataHeadSz); } } } else InternalError(handle,Proc,NOTOPEN); return; } /* end of GetVarVal */ /************************** Get File Chan ******************************* ** ** To get from file, specified by its program file handle, the fixed ** information on a channel, specified by its number. (ie the order in which ** it appears in the CFS file.) ** The character arrays channelName,yUnits and xUnits must be of sufficient ** size, (DESCCHARS+1 (21), and UNITCHARS+1 (9) characters), for the return ** of the C string. ** The other information is returned via pointers which should on entry ** point to variables of the correct type. ** Any error is returned via the error record. ** *****************************************************************************/ CFSAPI(void) GetFileChan(short handle, /* program file handle */ short channel,/* chan for which info is required */ TpStr channelName, /* to return channel name */ TpStr yUnits, /* to return channel y units */ TpStr xUnits, /* EqualSpaced ot subsidiary to return x units */ TpDType dataTypeP, /* to return 1 of 8 types for channel */ TpDKind dataKindP,/* return equalspaced, matrix or subsidiary */ TpShort spacing, /* to return bytes between successive values for channel */ TpShort other) /* for matrix data rets next chan */ { short Proc = 10; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) /* function number */ TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpChInfo pChInfo; /* check handle */ ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); ASSERT(channel >= 0); ASSERT(channel < g_fileInfo[handle].fileHeadP->dataChans); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,Proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed != nothing) { /* check channel parameter */ if ((channel < 0) || (channel >= pfileInfo->fileHeadP->dataChans)) { InternalError(handle,Proc,BADCHAN); return; } pChInfo = pfileInfo->fileHeadP->FilChArr + channel; /* transfer character arrays for return */ TransferOut(pChInfo->chanName,channelName,DESCCHARS); TransferOut(pChInfo->unitsY,yUnits,UNITCHARS); TransferOut(pChInfo->unitsX,xUnits,UNITCHARS); /* set values to which return pointers point to values from file */ *dataTypeP = pChInfo->dType; *dataKindP = pChInfo->dKind; *spacing = pChInfo->dSpacing; *other = pChInfo->otherChan; } else InternalError(handle,Proc,NOTOPEN); return; } /* end of GetFileChan */ /**************************** Get DS Chan ******************************** ** ** To get from file, specified by its program file handle, the values of the ** data section channel information. User specifies which channel. Data ** section can include the one being written if file opened with ** CreateCFSFile. The values are returned via pointers. ** Any error is returned via the error record. ** *****************************************************************************/ CFSAPI(void) GetDSChan(short handle, /* program file handle */ short channel, /* channel for which info required */ WORD dataSection, /* dataSection required */ TpLong startOffset, /* to return channel start */ TpLong points, /* to return data points for channel */ TpFloat yScale, /* to return yscale for channel */ TpFloat yOffset, /* to return y offset for channel */ TpFloat xScale, /* to return x scale for channel */ TpFloat xOffset) /* to return x offset for channel */ { short Proc = 11; /* function number */ short ecode; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpDsInfo pChInfo; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); ASSERT(channel >= 0); ASSERT(channel < g_fileInfo[handle].fileHeadP->dataChans); /* 1. Check handle */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,Proc,BADHANDLE); return; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* check file status */ if (pfileInfo->allowed != nothing) { /* 2. Check channel specified against range in file */ if ((channel < 0) || (channel >= pfileInfo->fileHeadP->dataChans)) { InternalError(handle,Proc,BADCHAN); return; } /* 3. Check the data section number. We can access the current section if writing */ if ((pfileInfo->allowed == writing) && (dataSection == 0)) dataSection = (WORD)(pfileInfo->fileHeadP->dataSecs + 1); if ((dataSection < 1) || ((dataSection > pfileInfo->fileHeadP->dataSecs) && (pfileInfo->allowed != writing)) || ((dataSection > pfileInfo->fileHeadP->dataSecs + 1) && (pfileInfo->allowed == writing))) { InternalError(handle,Proc,BADDS); return; } /* 4. If writing and looking back in file, preserve the data header */ if ((pfileInfo->allowed == writing) && (dataSection <= pfileInfo->fileHeadP->dataSecs)) { CMovel(pfileInfo->extHeadP,pfileInfo->dataHeadP, pfileInfo->fileHeadP->dataHeadSz); } /* 5. If editing or reading need to load data header of DS specified */ if (dataSection <= pfileInfo->fileHeadP->dataSecs) { ecode = GetHeader(handle,dataSection); /* load data header */ if (ecode < 0) /* error code can be read/write error */ { InternalError(handle,Proc,ecode); goto Restore; } } /* extract information required from DS header */ pChInfo = pfileInfo->dataHeadP->DSChArr + channel; *startOffset = pChInfo->dataOffset; *points = pChInfo->dataPoints; *yScale = pChInfo->scaleY; *yOffset = pChInfo->offsetY; *xScale = pChInfo->scaleX; *xOffset = pChInfo->offsetX; Restore: /* Restore header for DS being written if required */ if ((pfileInfo->allowed == writing) && (dataSection <= pfileInfo->fileHeadP->dataSecs)) { CMovel(pfileInfo->dataHeadP,pfileInfo->extHeadP, pfileInfo->fileHeadP->dataHeadSz); } } else InternalError(handle,Proc,NOTOPEN); return; } /* end of GetDSChan */ /************************** Get Chan Data ******************************* ** ** Return data for a single channel from the CFS file. ** ** User specifies file by its program file handle, ** channel for which data required, ** dataSection for which data required, ** data point in the DS and channel from which to start ** transfer. (first point is 0) ** number of data points to transfer. 0 means transfer from ** point specified to end of DS, (or end of buffer). ** ** The data are returned by transfer to a buffer starting at dataADS. This ** should point to an area large enough for the transfer. ** areaSize should be set to the size of this destination buffer (in bytes). ** The transfer will not exceed this area even if the points requested would ** take it beyond it. ** Return is 0 if parameters passed specify 0 points or if there is any error, ** (this may have occurred part way through transferring). ** If the whole operation was successful return is the number of data points ** actually transferred, (this may not be the number requested in numPoints). ** Any error is returned via the error record. ** *****************************************************************************/ CFSAPI(WORD) GetChanData(short handle, /* program file handle */ short channel, /* channel required */ WORD dataSection, /* DS required */ CFSLONG firstElement, /* data point in channel at which to start */ WORD numberElements, /* points wanted */ TpVoid dataADS, /* address to transfer to */ CFSLONG areaSize) /* bytes allocated for transfer */ { short SizeOfData[NDATATYPE]; /* sizes in bytes of data types */ short ecode; short Proc = 14; /* function number */ WORD elementSize,dataOffset,numSecs; WORD retval; WORD bufferSize,spacing,pointsPerBuffer,buffersNeeded, bufferLoop,residueElements; CFSLONG filePos,totalPoints,numElements,longSpace; TpStr dBufferP; // THandle dummy; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); ASSERT(channel >= 0); ASSERT(channel < g_fileInfo[handle].fileHeadP->dataChans); SizeOfData[INT1] = 1; /* set sizes in bytes of each data type */ SizeOfData[WRD1] = 1; SizeOfData[INT2] = 2; SizeOfData[WRD2] = 2; SizeOfData[INT4] = 4; SizeOfData[RL4] = 4; SizeOfData[RL8] = 8; SizeOfData[LSTR] = 1; retval = 0; /* initialise return value. no points transferred */ dBufferP = NULL; /* ** 1. Check file handle and status */ if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,Proc,BADHANDLE); return retval; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed != nothing) /* Are we allowed to do this ? */ { /* ** 2. check channel number */ if ((channel < 0) || (channel >= pfileInfo->fileHeadP->dataChans)) { InternalError(handle,Proc,BADCHAN); return retval; } /* ** 3. for file just created copy the header for current section to spare place */ if ((pfileInfo->allowed == writing) && (dataSection<=pfileInfo->fileHeadP->dataSecs)) { CMovel(pfileInfo->extHeadP, pfileInfo->dataHeadP, pfileInfo->fileHeadP->dataHeadSz); } /* ** 4. check data section and read in its header */ numSecs = pfileInfo->fileHeadP->dataSecs; /* shorthand for number of DS */ if ((pfileInfo->allowed == writing) && (dataSection == 0)) dataSection = (WORD)(numSecs+1); /* Convert 0 to currently writing */ if ((dataSection < 1) || ((pfileInfo->allowed != writing) && (dataSection>numSecs)) || ((pfileInfo->allowed == writing) && (dataSection>(numSecs+1)))) { InternalError(handle,Proc,BADDS); return retval; } if (dataSection <= numSecs) /* if not the current DS */ { ecode = GetHeader(handle,dataSection); /* get right DS */ if (ecode < 0) /* header not read */ { InternalError(handle,Proc,ecode); return retval; } } /* ** 5. Check space and number of points */ elementSize = SizeOfData[(int)pfileInfo->fileHeadP->FilChArr[channel].dType]; totalPoints = pfileInfo->dataHeadP->DSChArr[channel].dataPoints; if (numberElements == 0) numElements = totalPoints; else numElements = numberElements; /* ** check there are enough points in data section to satisfy request */ if ((numElements + firstElement) >totalPoints) numElements = totalPoints - firstElement; /* check that request does not exceed buffer */ if ((numElements * elementSize) > areaSize) numElements = areaSize/elementSize; /* limit to unsigned short range */ if (numElements > MAXFORWRD) numElements = MAXFORWRD; /* ** 6. extract channels */ if (numElements == 0) goto Restore; spacing = pfileInfo->fileHeadP->FilChArr[channel].dSpacing; /* get as much as poss */ if ((numElements*spacing) > MAXMEMALLOC) bufferSize = (WORD)(MAXMEMALLOC - (MAXMEMALLOC % spacing)); else bufferSize = (WORD)numElements * spacing; /* allocated space must have integral set of channels */ dBufferP = AllocateSpace(&bufferSize, spacing); if (bufferSize == 0) { InternalError(handle,Proc,NOMEMR); goto Restore; } pointsPerBuffer = (WORD)(bufferSize/spacing); buffersNeeded = (WORD)(((numElements-1)/pointsPerBuffer)+1); /* includes last part buffer */ longSpace = spacing; /* keep it like the Pascal version */ filePos = pfileInfo->dataHeadP->dataSt + pfileInfo->dataHeadP->DSChArr[channel]. dataOffset + (longSpace*firstElement); dataOffset = 0; /* deal with complete buffers other than the last one */ if (buffersNeeded > 1) { for (bufferLoop = 0;bufferLoop <= (buffersNeeded-2);bufferLoop++) { if (LoadData(handle,dBufferP,filePos,bufferSize) == 0) { InternalError(handle,Proc,READERR); goto Restore; /* tidy up before exit */ } ExtractBytes((TpStr)dataADS,dataOffset, dBufferP, pointsPerBuffer,spacing,elementSize); dataOffset = (WORD)(dataOffset + pointsPerBuffer*elementSize); filePos = filePos + bufferSize; } } /* ** now whole buffers are done deal with remainder (last Buffer ) */ residueElements = (WORD)(((numElements - 1) % pointsPerBuffer) +1); if (LoadData(handle,dBufferP,filePos,(WORD)((( residueElements-1)*spacing)+elementSize)) == 0) { InternalError(handle,Proc,READERR); goto Restore; } ExtractBytes((TpStr)dataADS,dataOffset, dBufferP, residueElements,spacing,elementSize); retval = (WORD)numElements; /* to return number of points successfully transferred */ /* ** 7. tidy up. if writing copy header back */ Restore: if ((pfileInfo->allowed == writing) && (dataSection <= numSecs)) { CMovel(pfileInfo->dataHeadP, pfileInfo->extHeadP, pfileInfo->fileHeadP->dataHeadSz); } if (dBufferP != NULL) /* free memory allocated for transfer */ CFreeAllcn(dBufferP); } else InternalError(handle,Proc,NOTOPEN); return retval; } /* end of GetChanData */ /***************************** Read Data ********************************* ** ** To read data from a data section. ** CFS File is specified by its program file handle. ** DS is specified by its number. (even if opened by CreateCFSFile). 1 is ** first DS. ** startOffset is byte offset within the DS at which to start. ** bytes specifies how much to read. (error if this is off end of DS ) ** dataADS points to the start of the region into which to read the data. ** The user must allocate at least bytes bytes for this. ** Return is 0 if ok -ve error code if not. ** *****************************************************************************/ CFSAPI(short) ReadData(short handle, /* program file handle */ WORD dataSection, /* data section required */ CFSLONG startOffset, /* offset into DS from which to start reading */ WORD bytes, /* number of bytes to read */ TpVoid dataADS) /* start address to which to read */ { short proc = 23; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpDHead phead; WORD numSecs; short ecode,retval; /* check handle */ ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return BADHANDLE; } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed == nothing) /* check status */ { InternalError(handle,proc,NOTOPEN); return NOTOPEN; } /* 1. for file opened by CreateCFSFile copy current DS header to spare */ numSecs = pfileInfo->fileHeadP->dataSecs; if ((pfileInfo->allowed == writing) && (dataSection <= numSecs)) { CMovel((TpVoid)pfileInfo->extHeadP, (TpVoid)pfileInfo->dataHeadP,pfileInfo->fileHeadP->dataHeadSz); } /* 2. read in header of required DS */ if ((dataSection < 1) || ((pfileInfo->allowed != writing) && (dataSection > numSecs)) || ((pfileInfo->allowed == writing) && (dataSection > (numSecs + 1)))) { InternalError(handle,proc,BADDS); return BADDS; } if (dataSection <= numSecs) /* read in if not current header */ { ecode = GetHeader(handle,dataSection); if (ecode < 0) { InternalError(handle,proc,ecode); return ecode; } } /* right header is now there */ phead = pfileInfo->dataHeadP; /* shorten its pointer */ /* check the read spec against what is in the DS */ retval = BADDSZ; /* in case check fails */ if ((startOffset < 0) || ((startOffset + bytes) > phead->dataSz)) goto Restore; /* clear up before exit */ /* 3. extract data */ retval = READERR; /* in case it fails */ if (LoadData(handle,dataADS,phead->dataSt+startOffset,bytes) == 0) goto Restore; retval = 0; /* transfer requested successfully completed */ /* 4. if CreateCFSFile used make sure current DS header back in place */ Restore: if ((pfileInfo->allowed == writing) && (dataSection <= numSecs)) CMovel((TpVoid)pfileInfo->dataHeadP, (TpVoid)pfileInfo->extHeadP,pfileInfo->fileHeadP->dataHeadSz); return retval; /* 0 or error code */ } /* end of ReadData */ /************************** DS Flag Value ******************************* ** ** Returns initial value of a DS flag, for index supplied from 1 to 16. ** *****************************************************************************/ CFSAPI(WORD) DSFlagValue(int nflag) { const WORD flagVal[16] = {FLAG0,FLAG1,FLAG2,FLAG3,FLAG4,FLAG5,FLAG6, FLAG7,FLAG8,FLAG9,FLAG10,FLAG11,FLAG12, FLAG13,FLAG14,FLAG15}; /* holds DS flags intial values */ if ((nflag <= 15) && (nflag >=0)) return flagVal[nflag]; else return (WORD) 0; } /**************************** DS Flags *********************************** ** ** Either gets or sets (specified by setIt) the flags for a specified data ** section within a CFS file, specified by its program file handle, which ** has been opened with OpenCFSFile. ** ** The flags may only be set if writing was enabled when the file was opened. ** On entry pflagSet should point to a variable in the users program of the ** type TSFlags. If the flags are being set this varaible should have the ** required settingd. ** ** Any error is returned via the error record. ** *****************************************************************************/ CFSAPI(void) DSFlags(short handle, /* program file handle */ WORD dataSection, /* DS for which flags set/get */ short setIt, /* 1 means set 0 means get flags */ TpFlags pflagSet) /* pointer to users flagset variable */ { short proc = 12; /* function number */ short ecode; TFileInfo *pfileInfo; ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed != nothing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return; } /* Check file status. ie OpenCFSFile used */ pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed != nothing) { /* if setting check status is OK */ if ((setIt == 1) && (pfileInfo->allowed == reading)) { InternalError(handle,proc,NOTWORE); return; } /* check datasection is in files range */ if ((pfileInfo->allowed == writing) && (dataSection == 0)) dataSection = (WORD)(pfileInfo->fileHeadP->dataSecs + 1); if ((dataSection < 1) || /* Now check for a legal DS */ ((dataSection > pfileInfo->fileHeadP->dataSecs) && (pfileInfo->allowed != writing)) || ((dataSection > pfileInfo->fileHeadP->dataSecs + 1) && (pfileInfo->allowed == writing))) { InternalError(handle,proc,BADDS); return; } /* If writing and looking back in file, preserve the data header */ if ((pfileInfo->allowed == writing) && (dataSection <= pfileInfo->fileHeadP->dataSecs)) { CMovel(pfileInfo->extHeadP, pfileInfo->dataHeadP, pfileInfo->fileHeadP->dataHeadSz); } /* If editing or reading need to load data header of DS specified */ if (dataSection <= pfileInfo->fileHeadP->dataSecs) { ecode = GetHeader(handle,dataSection); /* load data header */ if (ecode < 0) /* error code can be read/write error */ { InternalError(handle,proc,ecode); goto Restore; } } /* Get or set flags for data section */ if (setIt == 1) { /* If this is the first edit made to a file get it ready for the change */ if ((pfileInfo->allowed == editing) && (pfileInfo->fileHeadP->tablePos != 0)) { ecode = FileUpdate(handle, pfileInfo->fileHeadP); if (ecode != 0) { InternalError(handle, proc, ecode); goto Restore; } } pfileInfo->dataHeadP->flags = *pflagSet; if (pfileInfo->allowed == editing) /* What to do now ? */ pfileInfo->DSAltered = 1; /* flag header has been altered */ } else *pflagSet = pfileInfo->dataHeadP->flags;/* return value in file */ Restore: /* Restore header for DS being written if required */ if ((pfileInfo->allowed == writing) && (dataSection <= pfileInfo->fileHeadP->dataSecs)) { if (setIt == 1) // Did we modify the data ? { // If so, we need to write it back CFSLONG tableValue; tableValue = GetTable(handle, dataSection); if (FileData(handle, pfileInfo->dataHeadP, tableValue, (WORD)pfileInfo->fileHeadP->dataHeadSz) == 0) InternalError(handle, proc, WRITERR); } /* Then copy the old data back into position */ CMovel(pfileInfo->dataHeadP,pfileInfo->extHeadP, pfileInfo->fileHeadP->dataHeadSz); } } else InternalError(handle,proc,NOTWORR); return; } /* end of DSFlags */ /***************************** File Error ******************************* ** ** Error function to collect information on error which is not instantly ** fatal. ** Return of error details is via pointers which on entry should point to ** variables of the right type. ** The values returned via these pointers refer to the first error encountered ** since the function was last called. (If no error was encountered since ** the last time the function was callled the values returned to will refer ** to the previous error ). ** Return value is 1 if an error was encountered since the last time the ** function was called, 0 if not. ** Side effect. ** eFound field of global errorInfo is reinitialised to 0. ** *****************************************************************************/ CFSAPI(short) FileError(TpShort handleNo, /* to return handle number */ TpShort procNo, /* to return procedure number */ TpShort errNo) /* to return error code */ { short retval; /* return current state of error found flag */ retval = errorInfo.eFound; *handleNo = errorInfo.eHandleNo; *procNo = errorInfo.eProcNo; *errNo = errorInfo.eErrNo; errorInfo.eFound = 0; /* reset for next error */ return retval; } /* end of FileError */ /************************** CommitCFSFile ********************************* ** ** CommitCFSFile:- Commits a file to disk, ie ensures that file secure ** on disk. The precise actions will vary with the OS, needless to say, ** but the DOS mechanism is to update the file header on disk, followed ** by duplicating the file handle and closing it, which updates the ** directory information. ** ** fh The handle for the file ** ** returns zero or -ve error code ** *****************************************************************************/ CFSAPI(short) CommitCFSFile(short handle) { short proc = 16; /* function number */ short err = 0; short retCode = 0; short restore = 0; int hand = 0; CFSLONG gtPlace = 0; CFSLONG endPtr = 0; CFSLONG oldDataSz = 0; CFSLONG oldFileSz = 0; CFSLONG oldLastDS = 0; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif ASSERT(handle >= 0); ASSERT(handle < g_maxCfsFiles); ASSERT(g_fileInfo[handle].allowed == writing); if ((handle < 0) || (handle >= g_maxCfsFiles)) { InternalError(handle,proc,BADHANDLE); return BADHANDLE; /* handle out of range */ } pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->allowed != writing) { InternalError(handle,proc,NOTWRIT); return NOTWRIT; /* not for writing */ } if (pfileInfo->fileHeadP->fileSz > pfileInfo->dataHeadP->dataSt) { /* Is there a growing DS ? */ oldDataSz = pfileInfo->dataHeadP->dataSz; oldLastDS = pfileInfo->dataHeadP->lastDS; /* points to header */ oldFileSz = pfileInfo->fileHeadP->fileSz; endPtr = pfileInfo->fileHeadP->endPnt; if (pfileInfo->fileHeadP->dataSecs == 0) pfileInfo->dataHeadP->lastDS = 0; else { pfileInfo->dataHeadP->lastDS = GetTable(handle, pfileInfo->fileHeadP->dataSecs); pfileInfo->dataHeadP->dataSz = pfileInfo->fileHeadP->fileSz - pfileInfo->dataHeadP->dataSt; gtPlace = pfileInfo->dataHeadP->dataSt + BlockRound(handle, pfileInfo->dataHeadP->dataSz); /* pointer to this DS */ if (!FileData(handle,pfileInfo->dataHeadP,gtPlace, (WORD)pfileInfo->fileHeadP->dataHeadSz)) retCode = WRDS; /* error writing DS header */ pfileInfo->fileHeadP->endPnt = gtPlace; pfileInfo->fileHeadP->fileSz = gtPlace + pfileInfo->fileHeadP->dataHeadSz; pfileInfo->fileHeadP->dataSecs++; /* inc data sections */ restore = 1; } } pfileInfo->fileHeadP->tablePos = 0; /* flag no table on disk... */ if (!FileData(handle,pfileInfo->fileHeadP,(CFSLONG)0, (WORD)pfileInfo->fileHeadP->fileHeadSz)) if (retCode == 0) retCode = WRITERR; /* error writing file header */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) /* shut the file for Windows */ if (!FlushFileBuffers(pfileInfo->DOSHdl.d)) retCode = BADHANDLE; #endif if (restore) { pfileInfo->fileHeadP->endPnt = endPtr; pfileInfo->fileHeadP->fileSz = oldFileSz; pfileInfo->dataHeadP->dataSz = oldDataSz; /* size of data */ pfileInfo->dataHeadP->lastDS = oldLastDS; pfileInfo->fileHeadP->dataSecs--; /* dec data sections */ } if (retCode != 0) InternalError(handle,proc,retCode); return retCode; } /****************************************************************************/ /***************** *************************/ /***************** Local function definitions *************************/ /***************** *************************/ /****************************************************************************/ /************************** Find Unused Handle ***************************** ** ** Looks through global array of file information to find first member ** which is not in use. Its index is the local file handle. -1 means none ** available. ** *****************************************************************************/ short FindUnusedHandle(void) { short search; if (g_maxCfsFiles <= 0) /* Do the initial allocation? */ { ASSERT(g_fileInfo == NULL); g_fileInfo = (TFileInfo*)CMemAllcn(INITCEDFILES * sizeof(TFileInfo)); if (g_fileInfo == NULL) return NOMEMR; /* Memory allocation error */ g_maxCfsFiles = INITCEDFILES; /* Number of files we have space for */ for (search = 0; search < g_maxCfsFiles; search++) g_fileInfo[search].allowed = nothing; /* Initialise file info */ } search = g_maxCfsFiles - 1; /* Start index for the search */ while ((search >= 0) && (g_fileInfo[search].allowed != nothing)) search--; if ((search < 0) && (g_maxCfsFiles < MAXCEDFILES)) /* If table is full */ { /* but could be enlarged */ TFileInfo* pNew; int num; num = g_maxCfsFiles * 2; /* Normally, just double the size */ if (num > MAXCEDFILES) num = MAXCEDFILES; /* but limit at the limit */ pNew = (TFileInfo*)CMemAllcn(num * sizeof(TFileInfo));/* Get memory */ if (pNew != NULL) /* and if it suceeded */ { for (search = 0; search < num; search++) /* Initialise memory */ pNew[search].allowed = nothing; /* and copy the data */ memcpy(pNew, g_fileInfo, sizeof(TFileInfo) * g_maxCfsFiles); CFreeAllcn(g_fileInfo); /* Discard old memory area */ g_fileInfo = pNew; /* and save new pointer and count */ g_maxCfsFiles = num; search = num - 1; /* and finally, return the last index */ } } return search; } /* end of FindUnusedHandle */ /***************************** Clean Up Cfs ***************************** ** ** Tries to clean up the CFS library memory prior to the library exiting ** from memory or shutting down. Called as part of Windows DLL cleanup. ** *****************************************************************************/ void CleanUpCfs(void) { int i; for (i = 0; i < g_maxCfsFiles; i++) if (g_fileInfo[i].allowed != nothing)/* Attempt a reliable clean up */ CloseCFSFile((short)i); if (g_fileInfo != NULL) CFreeAllcn(g_fileInfo); /* and final memory release and tidy up */ g_fileInfo = NULL; g_maxCfsFiles = 0; } /************************** Temp Name ************************************* ** ** Make a temporary file name encoding the file handle ** ****************************************************************************/ short TempName(short handle, TpCStr name, TpStr str2, unsigned str2len) { #if defined(_IS_WINDOWS_) short pathstart; short pathend = 0; short search = 0; char fname[WHOLEFILECHARS]; /* To get near variable holding string */ if (strlen(name) < WHOLEFILECHARS) F_strcpy(fname, name); /* Get filename in near var */ pathstart = 0; while (isspace(fname[pathstart])) pathstart++; /* first proper TpStr */ pathend = (short)(pathstart - 1); search = pathstart; /* start at proper start of file name */ while (search <= (short)F_strlen(fname)) { /* scan fname for end of path */ if ((fname[search] == '\\') || (fname[search] == ':')) pathend = search; search++; } /* use path if any to start temporary file name */ if (pathend >= pathstart) { F_strncpy(str2,fname+pathstart,pathend+1-pathstart); /* copy path */ str2[pathend+1-pathstart] = '\0'; /* add null */ } else { if (str2len > 0) F_strcpy(str2,""); /* or initialise to null string */ } F_strcat(str2,"CFS(TMP)."); /* ad standard part of temp file name */ _itoa(handle,gWorkStr,10); /* encode handle into string */ F_strcat(str2,gWorkStr); /* add handle to make complete name */ return 0; #else if (str2len > 12) F_strcpy(str2,"CFSTMPXXXXXX"); return (short)mkstemp(str2); #endif } /************************** Set Sizes ************************************* ** ** Look at array of variable descriptions and using the types add up how ** much space will be needed for all the actual variables in the array ** Return computed space (bytes) or -1 for error. ** *****************************************************************************/ short SetSizes(TpCVDesc theArray, TpShort offsetArray, short numVars) { short SizeOfData[NDATATYPE]; short search,size,runningTotal,errFlag; TpShort pOffsets; TpVDesc pVarDesc; /* set sizes for data types */ SizeOfData[INT1] = 1; SizeOfData[WRD1] = 1; SizeOfData[INT2] = 2; SizeOfData[WRD2] = 2; SizeOfData[INT4] = 4; SizeOfData[RL4] = 4; SizeOfData[RL8] = 8; SizeOfData[LSTR] = 0; errFlag = 0; /* No error */ runningTotal = 0; /* initialise */ for (search = 0;search < numVars;search++) { pOffsets = offsetArray + search; pVarDesc = (TpVDesc)theArray + search; /* Ok to remove const here */ /* check type is in range */ if ((pVarDesc->vType < 0) || (pVarDesc->vType >= NDATATYPE)) return -1; size = SizeOfData[(int)pVarDesc->vType]; if (pVarDesc->vType == LSTR) size = (short)(pVarDesc->vSize + 1); /* allow for NULL */ if ((size < 0) || (size >= MAXSTR)) errFlag = 1; *pOffsets = runningTotal; /* save start offset for each variable */ runningTotal = (short)(runningTotal+size); } if (errFlag) return -1; else return runningTotal; } /* end of setSizes */ /******************** Character handling functions ************************ ** ** TransferIn takes C string format (users storage) ** transfers to CFS storage format (program storage far heap) ** TransferOUT takes CFS storage format (program storage far heap) ** transfers to C string format (users storage). ** NB The length parameter is VITAL for checking strings do not overflow ** their char arrays. ** In both cases the length refers to the number of characters transferred ** neither the length byte nor the NULL are counted in this. ** ****************************************************************************/ /************************** Transfer In *********************************** ** ** Transfer as much as possible, but not more than max characters, of the ** NULL terminated C string old, to the character array new which imitates ** an LSTRING (NULL terminated) ** NB Since the allocated length of new cannot be checked the function relies ** on the parameter max to prevent overflow of new which should be ** declared as char[2+max]. ** new should finish up with new[0] containing the chracter count (0 to 255) ** then new[1] to new[new[0]] containig the characters and new[new[0]+1] ** containing the NULL ** *****************************************************************************/ void TransferIn(TpCStr olds, TpStr pNew, BYTE max) { BYTE lengths; short loop; lengths = (BYTE)F_strlen(olds); /* how many characters to transfer */ if (lengths > max) lengths = max; /* check against specified max */ pNew[0] = lengths; /* assigning an unsigned char to char preserves bit pattern */ /* now copy characters on at a time */ for (loop = 0;loop < (short)lengths;loop++) pNew[loop+1] = olds[loop]; pNew[lengths+1] = '\0'; /* put NULL on end */ } /* end of TransferIn */ /************************* Transfer Out *********************************** ** ** Transfer as much as possible but not more than max characters of the ** Pascal like LSTRING + NULL to an ordinary NULL terminated C string. ** NB new must have been declared at least char[max+1]. ** *****************************************************************************/ void TransferOut(TpCStr olds, TpStr pNew, BYTE max) { BYTE lengths; short loop; lengths = olds[0];/* get the number of chars in the Pascal type LSTRING */ if (lengths > max) lengths = max; /* dont transfer more than max chars */ for (loop = 0;loop < (short)lengths;loop++) pNew[loop] = olds[loop+1]; /* transfer 1 char at a time */ pNew[lengths] = '\0'; /* terminate with NULL */ } /* end of transferOut */ /************************* Set Var Descs ********************************** ** ** NB the useArray will contain its string data as C strings. When strings ** get put into the data structure array in this function they are ** converted to the LSTRING+NULL format required. ** This function sets the data structure variable descriptions and the ** pointers to the corresponding allocated storage positions. ** *****************************************************************************/ void SetVarDescs(short numOfVars, /* number of variable descriptions */ TPointers varPoint, /* pointers to starts of descriptions to be done and data storage places */ TpCVDesc useArray, /* array of values to go in */ TpShort offsets, /* array of computed (setSizes) offsets for data storage */ short vSpace) /* size of data variable area */ { short setloop; TpVDesc p; /* for storage in program use varaible description structs */ for (setloop = 0;setloop < numOfVars;setloop++) { p = varPoint.nameP + setloop; /* point to variable description to set */ p->vSize = offsets[setloop]; /* vsize to hold offset in data array for variable */ p->vType = useArray[setloop].vType; /* copy type from description provided */ p->zeroByte = 0; /* zero extra byte added for MS Pascal compatibility */ TransferIn(useArray[setloop].varUnits,p->varUnits,UNITCHARS); /* units string */ TransferIn(useArray[setloop].varDesc,p->varDesc,DESCCHARS); /* name string */ } /* after the ordinary variable descriptions comes the system one which stores the size of the data space neede for all the variables */ varPoint.nameP[numOfVars].vSize = vSpace; /* now initialise all the variable space to zero */ for (setloop = 0;setloop < vSpace;setloop++) varPoint.dataP[setloop] = 0; } /* end of SetVarDescs */ /************************* Block Round ********************************** ** ** Round up raw (which represents a storage space) to a whole number of blocks ** The block size is to be found in the file info for the program file handle ** specified and is usually 1 or 512. ** *****************************************************************************/ CFSLONG BlockRound(short handle,CFSLONG raw) { CFSLONG retval; short dbs; dbs = g_fileInfo[handle].fileHeadP->diskBlkSize; /* fish out the block size */ if (dbs == 1) retval = raw; else retval = ((raw + dbs - 1) / dbs) * dbs; return retval; } /* end of BlockRound */ /************************* Internal Error ********************************* ** ** Set the global errorInfo values for user to look at, UNLESS it has already ** been used. ** *****************************************************************************/ void InternalError(short handle,short proc,short err) { if (errorInfo.eFound == 0) /* no previous error */ { errorInfo.eFound = 1; errorInfo.eHandleNo = handle; errorInfo.eProcNo = proc; errorInfo.eErrNo = err; } } /* end of Internalerror */ /**************************** File Data *********************************** ** ** Write data to the CFS file corresponding to the program handle. ** Return 1 if ok 0 if not. ** *****************************************************************************/ short FileData(short handle, /* file handle */ TpVoid startP, /* start address from which to transfer */ CFSLONG st, /* file position to which to start writing */ CFSLONG sz) /* number of bytes to transfer */ { WORD res; TpStr pDat = (TpStr)startP; if ((st < 0) || (st >= MAXLSEEK)) return 0; if (CLSeek(g_fileInfo[handle].DOSHdl.d, st, 0) < 0) /* set file pointer */ return 0; if (sz == 0) /* dont try to write 0 bytes it will truncate file */ return 1; while (sz > 0) /* Loop to read the data */ { WORD wr; if (sz > 64000) /* How much to read this time round */ wr = 64000; else wr = (WORD)sz; res = CWriteHandle(g_fileInfo[handle].DOSHdl.d, pDat, wr); /* do write */ if (res == wr) /* keep going if all OK */ { sz -= wr; /* bytes left to do */ pDat += wr; /* pointer to write data */ } else return 0; /* Return failed if not written OK */ } return 1; } /* end of FileData */ /**************************** Load Data *********************************** ** ** Read data from the CFS file corresponding to the program handle. ** Return 1 if ok 0 if not. ** *****************************************************************************/ short LoadData(short handle, /* file handle */ TpVoid startP, /* address in memory to transfer to */ CFSLONG st, /* file position from which to start reading */ CFSLONG sz) /* number of bytes to transfer */ { WORD res; TpStr pDat = (TpStr)startP; if ((st < 0) || (st >= MAXLSEEK)) return 0; if (CLSeek(g_fileInfo[handle].DOSHdl.d,st,0) < 0 ) /* set file pointer */ return 0; while (sz > 0) /* Loop to read the data */ { WORD wr; if (sz > 64000) /* How much to read this time round */ wr = 64000; else wr = (WORD)sz; res = CReadHandle(g_fileInfo[handle].DOSHdl.d, pDat, wr);/* do read */ if (res == wr) /* keep going if all OK */ { sz -= wr; /* bytes left to do */ pDat += wr; /* pointer to read data */ } else return 0; /* Return failed if not read OK */ } return 1; } /* end of LoadData */ /*************************** Get Table *********************************** ** ** Return offset in CFS file for the section,position . ** if the table has been read in then the pointer tableP in g_fileInfo will ** point to it and the entry at (position-1) will correspond to ** the offset for the data section,postiton. ** If the table is not there the offset needs to be read from the ** temporary file. ** *****************************************************************************/ CFSLONG GetTable(short handle, WORD position) { CFSLONG DSPointer; /* return for offset value */ CFSLONG filePosn; /* position in temporary file for offset value */ #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* if table has been read in retrieve offset from it */ if (pfileInfo->tableP != NULL) DSPointer = pfileInfo->tableP[position-1]; else { /* get it from the temporary file */ filePosn = (position-1)*4; /* offset for each DS is CFSLONG ie 4 bytes */ if (pfileInfo->allowed == reading) filePosn=filePosn + pfileInfo->fileHeadP->fileSz - 4*pfileInfo->fileHeadP->dataSecs; CLSeek(pfileInfo->DOSHdl.p, filePosn, 0); /* move to place for read */ CReadHandle(pfileInfo->DOSHdl.p, (TpStr)&DSPointer, 4); /* 4 bytes */ } return DSPointer; } /* end of GetTable */ /*************************** Get Header *********************************** ** ** Reads header of DS requested from CFS file. If current header ** has been altered it is written to the CFS file before being replaced ** by the new one. ** Return value is 0 if all ok and errorcode READERR if failed on reading ** new section or WRITERR if failed when writing current header ** *****************************************************************************/ short GetHeader(short handle, WORD getSection) { CFSLONG tableValue; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif pfileInfo = &g_fileInfo[handle]; /* point to this files information */ if (pfileInfo->thisSection != getSection) /* only get it if different */ { if ((pfileInfo->DSAltered != 0) && /* write changed header to file */ (pfileInfo->allowed != writing)) /* But not if writing */ /* ** can only have DSAltered=1 if GetHeader has already been called and set ** thisSection */ { tableValue = GetTable(handle, pfileInfo->thisSection); if (FileData(handle, pfileInfo->dataHeadP, tableValue, (WORD)pfileInfo->fileHeadP->dataHeadSz) != 0) pfileInfo->DSAltered = 0;/* If saved can clear altered flag */ else return WRITERR; /* error if couldnt save current header */ } tableValue = GetTable(handle, getSection); if (LoadData(handle,pfileInfo->dataHeadP, tableValue, (WORD)pfileInfo->fileHeadP->dataHeadSz) == 0) return READERR; if (pfileInfo->allowed != writing) /* Keep track of actions */ pfileInfo->thisSection = getSection; else pfileInfo->thisSection = 0xFFFF; } return 0; } /* end of getHeader */ /*************************** Store Table *********************************** ** ** Put a CFSLONG offset value into the pointer table or file correspopnding to ** the entry for data section position. ** *****************************************************************************/ void StoreTable(short handle, WORD position, CFSLONG DSPointer) { CFSLONG filePosn; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif pfileInfo = &g_fileInfo[handle]; /* point to this files information */ /* ** look to see if pointer table has been read into memory */ if (pfileInfo->tableP != NULL) { if (position > pfileInfo->fileHeadP->dataSecs) { TpLong pNew; TpVoid pOld = pfileInfo->tableP; /* Previous data pointer */ pNew = (TpLong)CMemAllcn(position*4); if (pNew != NULL) { CMovel(pNew, pfileInfo->tableP, position*4); pfileInfo->tableP = pNew; CFreeAllcn(pOld); } else { /* if (pfileInfo->tableP == NULL) return NOMEMR; BUGBUG what the hell do I do here */ } } pfileInfo->tableP[position-1] = DSPointer; } else { /* table is in temporary file */ filePosn = (CFSLONG)(position-1)*4; /* each entry occupies 4 bytes */ CLSeek(pfileInfo->DOSHdl.p,filePosn,0); CWriteHandle(pfileInfo->DOSHdl.p,(TpStr)&DSPointer,4); } } /* end of storeTable */ /*************************** Recover Table ******************************** ** ** Re-build table holding file offsets of data section headers in the event ** of table size and number of data sections not tallying. ** Uses the information in the file header and individual data section ** headers. ** *****************************************************************************/ short RecoverTable(short handle, /* program file handle */ TpLong relSize, /* location of table size variable */ TpLong tPos, /* location of table position variable this is for return only */ TpUShort dSecs, /* location of number of DS's variable */ TpLong fSize) /* location of file size variable */ { WORD foundSecs,expSecs; CFSLONG secPos,tablePos,maxSecPos,fileSz,tableSz,maxSecs; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif TpFHead fileHP; short retval; THandle pHandle = 0; pfileInfo = &g_fileInfo[handle]; /* point to this files information */ fileHP = pfileInfo->fileHeadP; /* extract values from function parameter pointers */ tableSz = *relSize; /* expected size of table */ fileSz = *fSize; /* expected file size */ expSecs = *dSecs; /* expected number of data sections */ secPos = fileHP->endPnt; /* start place of highest numbered DS */ foundSecs = 0; /* initialise */ maxSecPos = secPos; /* initialise for finding last section in file */ #if 0 if (tableSz > MAXMEMALLOC) return NOMEMR; /* largest memory allocation */ #endif pfileInfo->tableP = (TpLong)CMemAllcn(tableSz); /* allocate space for table */ if (pfileInfo->tableP == NULL) return NOMEMR; maxSecs = tableSz/4; /* memory has been allocated for this number of longs */ if (maxSecs > MAXNODS) maxSecs = MAXNODS; /* dont exceed max */ retval = READERR; while (secPos > 0) /* work back through the data sections */ { foundSecs = (WORD)(foundSecs + 1); /* count how many sections found */ if (foundSecs > (WORD)maxSecs) /* fail if too many */ { retval = XSDS; goto Restore; } pfileInfo->tableP[expSecs-foundSecs] = secPos; /* store the one found starting at end of table */ /* read the DS header into the file info */ if (LoadData(handle,pfileInfo->dataHeadP,secPos, (WORD)fileHP->dataHeadSz) == 0) goto Restore; secPos = pfileInfo->dataHeadP->lastDS; /* extract from header just read in the file position of the previous data section */ if (secPos > maxSecPos) maxSecPos = secPos; /* keep a trace of largest offset found. */ } /* secPos = 0 means that 'previous DS' is in fact the fileheader */ tableSz = 4*foundSecs; /* new value for table size */ tablePos = maxSecPos + fileHP->dataHeadSz; /* end of data header area */ fileSz = tablePos + tableSz; /* new file size */ /* move file pointer to table start position */ if (CLSeek(pfileInfo->DOSHdl.d,tablePos,0) < 0) goto Restore; retval = WRITERR; /* write table to file */ if (CWriteHandle(pfileInfo->DOSHdl.d,(TpStr)&pfileInfo->tableP[expSecs- foundSecs],(WORD)tableSz)< (WORD)tableSz) goto Restore; expSecs = foundSecs; retval = 0; /* all ok */ /* prepare for new value returns via pointer function arguments */ *relSize = tableSz; *tPos = tablePos; *dSecs = expSecs; *fSize = fileSz; Restore:CFreeAllcn(pfileInfo->tableP); pfileInfo->tableP = NULL; return retval; /* error code or 0 */ } /* end of recovertable */ /*************************** Transfer Table ******************************** ** ** Transfer table from current position of file rdHdl to current position ** of file wrHdl in 512 (or 4) byte blocks. ** Return zero or error code ** *****************************************************************************/ short TransferTable(WORD sects, fDef rdHdl, fDef wrHdl) { short retval; TpShort transArr; /* array 512 bytes long */ WORD index,ntran,transSize, lastSize; // THandle pHandle = NULL; CFSLONG lTranBuf; /* last ditch transfer buffer */ retval = 0; /* return value if all ok */ if (sects == 0) return retval; /* Cover our backs */ transSize = 512; /* what we want to transfer */ transArr = (TpShort)CMemAllcn(transSize); if (transArr == NULL) /* have another go with little 4 byte blocks */ { transSize = 4; transArr = (TpShort)&lTranBuf; /* Pointer to stack variable */ } ntran = (WORD)(sects/(transSize/4)); /* number of whole blocks to transfer */ for (index = 1; index <= ntran; index++) { if (CReadHandle(rdHdl,(TpStr)transArr,transSize) < transSize) { retval = READERR; /* retrun error code */ goto Close1; } if (CWriteHandle(wrHdl,(TpStr)transArr,transSize) < transSize) { retval = WRITERR; goto Close1; } } if (ntran * (transSize/4) < sects) /* part of block still to transfer */ { lastSize = (WORD)((sects * 4) - (ntran * transSize)); if (CReadHandle(rdHdl,(TpStr)transArr, lastSize) < lastSize) { retval = READERR; goto Close1; } if (CWriteHandle(wrHdl,(TpStr)transArr, lastSize) < lastSize) retval = WRITERR; } Close1:if (transSize > 4) /* Don't free if using local variable */ CFreeAllcn(transArr); return retval; } /* end of TransferTable */ /*************************** GetMem Table ********************************* ** ** Try to alloacte space for pointer table. ** handle is program file handle, proc is function number from which called. ** Return 1 if alloaction ok 0 if not. ** *****************************************************************************/ short GetMemTable(short handle) { CFSLONG tableSz; #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) TFileInfo _near *pfileInfo; #else TFileInfo *pfileInfo; #endif pfileInfo = &g_fileInfo[handle]; /* point to this files information */ tableSz = 4*(CFSLONG)pfileInfo->fileHeadP->dataSecs; /* 4 bytes per data section */ #if 0 if (tableSz > MAXMEMALLOC) return 0; /* failed */ #endif pfileInfo->tableP = (TpLong)CMemAllcn(tableSz); if (pfileInfo->tableP == NULL) return 0; /* failed */ return 1; /* success */ } /* end of GetMemTable */ /*************************** Allocate Space ******************************** ** ** Function for alloacting space which must be an integral number of steps. ** On entry sizeP points to the variable holding the size of the space ** (in bytes) requested. ** steps is the size in bytes of which the allocated space must be ** an integral multiple. ** On exit the variable pointed to by sizeP is the size of the space ** actually allocated. ** The return value is a pointer to the allocated space, NULL if allocation ** failed. ** *****************************************************************************/ TpStr AllocateSpace(TpUShort sizeP, WORD steps) { WORD buffSize; TpStr buffP; buffSize = *sizeP; /* required buffer size */ buffP = NULL; buffSize = (WORD)((buffSize/steps)*steps); /* truncate to integral number of steps */ while ((buffP == NULL) && (buffSize > 0)) { buffP = (TpStr)CMemAllcn(buffSize); /* do allocation */ if (buffP == NULL) /* want to have another go if failed */ { /* ** try half the size or if this isnt integral number of steps subtract steps */ if (((buffSize/2) % steps) == 0) buffSize = (WORD)(buffSize/2); else buffSize = (WORD)(buffSize - steps); } } /* prepare to return the final size allocated */ *sizeP = buffSize; return buffP; } /* end of AllocateSpace */ /*************************** Extract Bytes ******************************** ** ** Function to extract single channel array from array of interleaved data. ** On entry destP points to the start of array to which to write the ** single channel data. ** dataOffset is the offset in that array at which to start writing. ** srcP points to the start of the interleaved data. ** points is the number of data points to transfer. ** spacing is the number of bytes between data points of ** the channel required in the source array. ** ptSz is the number of bytes per point. ** *****************************************************************************/ void ExtractBytes(TpStr destP,WORD dataOffset,TpStr srcP, WORD points,WORD spacing,WORD ptSz) { WORD index; destP = destP + dataOffset; for (index = 0;index < points;index++) { CMovel(destP,srcP,ptSz); /* Transfer 1 point */ srcP = srcP + spacing; /* move to next point in source */ destP = destP + ptSz; /* move to place for next point */ } } /* end of ExtractBytes */ /*************************** File Update ******************************** ** ** Called when access to file is editing, the file has not yet been changed ** (tablePos != 0) but a real change is about to be made. ** It effectively removes the pointer table from the file and updates the ** file header accordingly. Returns 0 or error code. ** *****************************************************************************/ short FileUpdate(short handle, /* program file handle */ TpFHead fileHP) /* address in memory of file header */ { /* ** 1. Flag that table pointers removed from file */ fileHP->tablePos = 0; /* ** 2. Effect removal of memory table by not including it in file length */ fileHP->fileSz = fileHP->fileSz - 4 * fileHP->dataSecs; /* 4 bytes per DS */ /* ** 3. Write this information to the file as new file header. */ if (FileData(handle, fileHP, 0L, fileHP->fileHeadSz) == 0) return WRITERR; else return 0; } /* end of FileUpdate */ /******************************** E N D **********************************/ stimfit-0.14.11/src/libstfio/cfs/cfslib.h0000755000175200017520000000331612277666257015104 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file cfslib.h * \author Christoph Schmidt-Hieber * \date 2008-01-23 * \brief Import from and export to the CED filing system. */ #ifndef _CFSLIB_H #define _CFSLIB_H #include "../stfio.h" class Recording; namespace stfio { //! Open a CFS file and store its contents to a Recording object. /*! \param fName Full path to the file to be read. * \param ReturnData On entry, an empty Recording object. On exit, * the data stored in \e fName. * \param progress Set to true if a progress dialog should be updated. * \return 0 upon success, a negative error code upon failure. */ int importCFSFile(const std::string& fName, Recording& ReturnData, ProgressInfo& progDlg); //! Export a Recording to a CFS file. /*! \param fName Full path to the file to be written. * \param WData The data to be exported. * \return The CFS file handle. */ StfioDll bool exportCFSFile(const std::string& fName, const Recording& WData, ProgressInfo& progDlg); } #endif stimfit-0.14.11/src/libstfio/cfs/cfslib.cpp0000755000175200017520000005676212277666257015454 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include #include #include "./cfslib.h" #include "./cfs.h" #include "../recording.h" namespace stfio { int CFSError(std::string& errorMsg); std::string CFSReadVar(short fHandle,short varNo,short varKind); // Resource management of CFS files // Management of read-only files: class CFS_IFile { public: explicit CFS_IFile(const std::string& filename); ~CFS_IFile(); short myHandle; }; // Management of write-only files: class CFS_OFile { public: explicit CFS_OFile( const std::string& filename, const std::string& comment, std::size_t nChannels=1 ); ~CFS_OFile(); short myHandle; }; const int CFSMAXBYTES=64000; // adopted from FPCfs.ips by U Froebe } stfio::CFS_IFile::CFS_IFile(const std::string& filename) { myHandle = OpenCFSFile(filename.c_str(),0,1); } stfio::CFS_IFile::~CFS_IFile() { if (myHandle>0) { CloseCFSFile(myHandle); } } // Management of write-only files: stfio::CFS_OFile::CFS_OFile(const std::string& filename,const std::string& comment,std::size_t nChannels) { TVarDesc *c_DSArray, *c_fileArray; c_DSArray=NULL; c_fileArray=NULL; myHandle=CreateCFSFile(filename.c_str(), comment.c_str(), 512, (short)nChannels, c_fileArray, c_DSArray, 0/*number of file vars*/, 0/*number of section vars*/); } stfio::CFS_OFile::~CFS_OFile() { CloseCFSFile(myHandle); } int stfio::CFSError(std::string& errorMsg) { short pHandle; short pFunc; short pErr; if (!FileError(&pHandle,&pFunc,&pErr)) return 0; errorMsg = "Error in stfio::"; switch (pFunc) { case (1): errorMsg += "SetFileChan()"; break; case (2): errorMsg += "SetDSChan()"; break; case (3): errorMsg += "SetWriteData()"; break; case (4): errorMsg += "RemoveDS()"; break; case (5): errorMsg += "SetVarVal()"; break; case (6): errorMsg += "GetGenInfo()"; break; case (7): errorMsg += "GetFileInfo()"; break; case (8): errorMsg += "GetVarDesc()"; break; case (9): errorMsg += "GetVarVal()"; break; case (10): errorMsg += "GetFileChan()"; break; case (11): errorMsg += "GetDSChan()"; break; case (12): errorMsg += "DSFlags()"; break; case (13): errorMsg += "OpenCFSFile()"; break; case (14): errorMsg += "GetChanData()"; break; case (15): errorMsg += "SetComment()"; break; case (16): errorMsg += "CommitCFSFile()"; break; case (17): errorMsg += "InsertDS()"; break; case (18): errorMsg += "CreateCFSFile()"; break; case (19): errorMsg += "WriteData()"; break; case (20): errorMsg += "ClearDS()"; break; case (21): errorMsg += "CloseCFSFile()"; break; case (22): errorMsg += "GetDSSize()"; break; case (23): errorMsg += "ReadData()"; break; case (24): errorMsg += "CFSFileSize()"; break; case (25): errorMsg += "AppendDS()"; break; default : errorMsg += ", unknown function"; break; } errorMsg += ":\n"; switch (pErr) { case (-1): errorMsg += "No spare file handles."; break; case (-2): errorMsg += "File handle out of range 0-2."; break; case (-3): errorMsg += " File not open for writing."; break; case (-4): errorMsg += "File not open for editing/writing."; break; case (-5): errorMsg += "File not open for editing/reading."; break; case (-6): errorMsg += "File not open."; break; case (-7): errorMsg += "The specified file is not a CFS file."; break; case (-8): errorMsg += "Unable to allocate the memory needed for the filing system data."; break; case (-11): errorMsg += "Creation of file on disk failed (writing only)."; break; case (-12): errorMsg += "Opening of file on disk failed (reading only)."; break; case (-13): errorMsg += "Error reading from data file."; break; case (-14): errorMsg += "Error writing to data file."; break; case (-15): errorMsg += "Error reading from data section pointer file."; break; case (-16): errorMsg += "Error writing to data section pointer file."; break; case (-17): errorMsg += "Error seeking disk position."; break; case (-18): errorMsg += "Error inserting final data section of the file."; break; case (-19): errorMsg += "Error setting the file length."; break; case (-20): errorMsg += "Invalid variable description."; break; case (-21): errorMsg += "Parameter out of range 0-99."; break; case (-22): errorMsg += "Channel number out of range"; break; case (-24): errorMsg += "Invalid data section number (not in the range 1 to total number of sections)."; break; case (-25): errorMsg += "Invalid variable kind (not 0 for file variable or 1 for DS variable)."; break; case (-26): errorMsg += "Invalid variable number."; break; case (-27): errorMsg += "Data size specified is out of the correct range."; break; case (-30): case (-31): case (-32): case (-33): case (-34): case (-35): case (-36): case (-37): case (-38): case (-39): errorMsg += "Wrong CFS version number in file"; break; default : errorMsg += "An unknown error occurred"; break; } return pErr; } std::string stfio::CFSReadVar(short fHandle,short varNo,short varKind) { std::string errorMsg; std::ostringstream outputstream; TUnits units; std::vector description(DESCCHARS); short varSize=0; TDataType varType; //Get description of a particular file variable //- see manual of CFS file system GetVarDesc(fHandle,varNo,varKind,&varSize,&varType,units,&description[0]); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); //I haven't found a way to directly pass a std::string to GetVarDesc; //passing &s_description[0] won't work correctly. // Added 11/27/06, CSH: Should be possible with vector std::string s_description(description.begin(), description.end()); if (s_description.substr(0,5) != "Spare") { switch (varType) { //Begin switch 'varType' case INT1: case INT2: case INT4: { short shortBuffer=0; //Read the value of the file variable //- see manual of CFS file system GetVarVal(fHandle,varNo,varKind, 1,&shortBuffer); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); outputstream << s_description << " " << shortBuffer << " " << units; break; } case WRD1: case WRD2: { unsigned short ushortBuffer=0; GetVarVal(fHandle,varNo,varKind, 1,&ushortBuffer); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); outputstream << s_description << " " << ushortBuffer << " " << units; break; } case RL4: case RL8: { float floatBuffer=0; GetVarVal(fHandle,varNo,varKind, 1,&floatBuffer); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); outputstream << s_description << " " << floatBuffer << " " << units; break; } case LSTR: { std::vector vc(varSize+2); GetVarVal(fHandle,varNo,varKind, 1, &vc[0]); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); std::string s; s.resize(vc.size()); int ns = 0; for (std::vector::iterator it=vc.begin(); it != vc.end(); ++it) { if ((int)*it == 13) s[ns] = '\n'; else if ((int)*it < 0) s[ns] = '?'; else s[ns] = *it; ns++; } if (s_description.substr(0,11) == "ScriptBlock") { outputstream << s; } else { outputstream << s_description << " " << s; } break; } default: break; } //End switch 'varType' if (s_description.substr(0,11) != "ScriptBlock" ) { outputstream << "\n"; } } return outputstream.str(); } bool stfio::exportCFSFile(const std::string& fName, const Recording& WData, stfio::ProgressInfo& progDlg) { std::string errorMsg; if (fName.length()>1024) { throw std::runtime_error( "Sorry for the inconvenience, but the CFS\n" "library is a bit picky with filenames.\n" "Please restrict yourself to less than\n" "1024 characters.\n" ); } CFS_OFile CFSFile(fName, WData.GetComment(), WData.size()); if (CFSFile.myHandle<0) { std::string errorMsg; CFSError(errorMsg); throw std::runtime_error(errorMsg); } for (std::size_t n_c=0;n_c points(dataSections); TDataType dataType; TCFSKind dataKind; short spacing, other; float xScale=1.0; std::size_t empty_channels=0; for (short n_channel=0; n_channel < channelsAvail; ++n_channel) { //Get constant information for a particular data channel - //see manual of CFS file system. std::vector vchannel_name(22),vyUnits(10),vxUnits(10); CFSLONG startOffset; GetFileChan(CFSFile.myHandle, n_channel, &vchannel_name[0], &vyUnits[0], &vxUnits[0], &dataType, &dataKind, &spacing, &other); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); std::string channel_name(&vchannel_name[0]), xUnits(&vxUnits[0]), yUnits(&vyUnits[0]); //Memory allocation for the current channel float yScale, yOffset, xOffset; //Begin loop: read scaling and offsets //Write the formatted string from 'n_channel' and 'channel_name' to 'buffer' std::ostringstream outputstream; outputstream << "Channel " << n_channel << " (" << channel_name.c_str() << ")\n"; scaling += outputstream.str(); //Get the channel information for a data section or a file //- see manual of CFS file system GetDSChan(CFSFile.myHandle, n_channel /*first channel*/, 1 /*first section*/, &startOffset, &points[0], &yScale, &yOffset,&xScale,&xOffset); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); //Write the formatted string from 'yScale' to 'buffer' outputstream.clear(); outputstream << "Yscale=" << yScale << "\n"; scaling += outputstream.str(); //Write the formatted string from 'xScale' to 'buffer' outputstream.clear(); outputstream << "Xscale=" << xScale << "\n"; scaling += outputstream.str(); //Write the formatted string from 'yOffset' to 'buffer' outputstream.clear(); outputstream << "YOffset=" << yOffset << "\n"; scaling += outputstream.str(); //Write the formatted string from 'xOffset' to 'buffer' outputstream.clear(); outputstream << "XOffset=" << xOffset << "\n"; scaling += outputstream.str(); Channel TempChannel(dataSections); TempChannel.SetChannelName(channel_name); TempChannel.SetYUnits(yUnits); std::size_t empty_sections=0; for (int n_section=0; n_section < dataSections; ++n_section) { int progbar = // Channel contribution: (int)(((double)n_channel/(double)channelsAvail)*100.0+ // Section contribution: (double)n_section/(double)dataSections*(100.0/channelsAvail)); std::ostringstream progStr; progStr << "Reading channel #" << n_channel + 1 << " of " << channelsAvail << ", Section #" << n_section+1 << " of " << dataSections; progDlg.Update(progbar, progStr.str()); //Begin loop: n_sections //Get the channel information for a data section or a file //- see manual of CFS file system CFSLONG startOffset; float yScale, yOffset, xOffset; GetDSChan(CFSFile.myHandle,(short)n_channel,(WORD)n_section+1,&startOffset, &points[n_section],&yScale,&yOffset,&xScale,&xOffset); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); std::ostringstream label; label << fName << ", Section # " << n_section+1; Section TempSection( (int)(points[n_section]), label.str() ); //----------------------------------------------------- //The following part was modified to read data sections //larger than 64 KB as e.g. produced by Igor. //Adopted from FPCfs.ipf by U Froebe //Sections with a size larger than 64 KB have been made //possible by dividing CFS-sections into 'blocks' //----------------------------------------------------- int nBlocks, //number of blocks nBlockBytes; //number of bytes per block //Calculation of the number of blocks depending on the data format: //RL4 - 4 byte floating point numbers (2 byte int numbers otherwise) if (dataType == RL4) nBlocks=(int)(((points[n_section]*4-1)/CFSMAXBYTES) + 1); else nBlocks=(int)(((points[n_section]*2-1)/CFSMAXBYTES) + 1); for (int b=0; b < nBlocks; ++b) { //Begin loop: storage of blocks if (dataType == RL4) { //4 byte data //Read data of the current channel and data section //- see manual of CFS file system //Temporary arrays to store blocks: if (b == nBlocks - 1) nBlockBytes=points[n_section]*4 - b*CFSMAXBYTES; else nBlockBytes=CFSMAXBYTES; Vector_float fTempSection_small(nBlockBytes); GetChanData(CFSFile.myHandle, (short)n_channel, (WORD)n_section+1, b*CFSMAXBYTES/4, (WORD)nBlockBytes/4, &fTempSection_small[0], 4*(points[n_section]+1)); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); for (int n=0; n TempSection_small(nBlockBytes); GetChanData(CFSFile.myHandle, (short)n_channel, (WORD)n_section+1, b*CFSMAXBYTES/2, (WORD)nBlockBytes/2, &TempSection_small[0], 2*(points[n_section]+1)); if (CFSError(errorMsg)) throw std::runtime_error(errorMsg); for (int n=0; n #if ( __WORDSIZE == 64 ) || defined (__APPLE__) #define CFSLONG int #else #define CFSLONG long #endif #include /* Needed for various types */ #include /* ditto */ #include /* for LDBL_DIG */ #if defined(WIN32) || defined (_MSC_VER) /* if its windows define our windows symbol */ #define _IS_WINDOWS_ /* WIN32 is defined for 32-bit at moment */ #undef _IS_MSDOS_ /* and we arent doing msdos after all */ #endif #ifdef _INC_WINDOWS /* the alternative windows symbolic defn */ #ifndef _IS_WINDOWS_ /* as above but _INC_WINDOWS is for 16 bit */ #define _IS_WINDOWS_ #endif #undef _IS_MSDOS_ /* and we arent doing msdos after all */ #endif #ifndef TRUE #define TRUE 1 #define FALSE 0 #endif #if defined(_IS_WINDOWS_) && !defined(__MINGW32__) /* Now set up for windows use */ #include #define F_memcpy memcpy /* Define model-independent routines */ #define F_memmove memmove #define F_strlen strlen #define F_strcat strcat #define F_strcpy strcpy #define F_strcmp strcmp #define F_strncat strncat #define F_strncpy strncpy #define F_strncmp strncmp #define F_strchr strchr #define _fstrrchr strrchr #define _near /* stop compiler errors for 32 bit compile*/ #define DllExport __declspec(dllexport) #define DllImport __declspec(dllimport) typedef CFSLONG Coord; /* this is LONG in the MacApp definitions */ typedef double fdouble; #define FDBL_DIG DBL_DIG #define FDBL_MAX DBL_MAX typedef HGLOBAL THandle; #define F_malloc malloc #define F_free free #define M_AllocMem(x) GlobalAlloc(GMEM_MOVEABLE,x) #define M_AllocClear(x) GlobalAlloc(GMEM_MOVEABLE|GMEM_ZEROINIT,x) #define M_FreeMem(x) GlobalFree(x) #define M_LockMem(x) GlobalLock(x) #define M_MoveLockMem(x) GlobalLock(x) #define M_UnlockMem(x) (GlobalUnlock(x)==0) #define M_NewMemSize(x,y) (x = GlobalReAlloc(x,y,GMEM_MOVEABLE)) #define M_GetMemSize(x) GlobalSize(x) #else #define F_memcpy memcpy #define F_memmove memmove #define F_strlen strlen #define F_strcat strcat #define F_strcpy strcpy #define F_strcmp strcmp #define F_strncat strncat #define F_strncpy strncpy #define F_strncmp strncmp #define F_strchr strchr #define FAR #define PASCAL #define _far #define _near #define DllExport #define DllImport #define FDBL_DIG LDBL_DIG #define FDBL_MAX LDBL_MAX typedef char * LPSTR; typedef const char * LPCSTR; typedef unsigned short WORD; // typedef unsigned CFSLONG DWORD; typedef unsigned char BYTE; typedef long double fdouble; typedef CFSLONG Coord; /* Borrowed from MacApp */ typedef WORD THandle; #define F_malloc malloc #define F_free free #define M_AllocMem(x) NewHandle(x) #define M_AllocClear(x) NewHandleClear(x) #define M_FreeMem(x) DisposHandle(x) #define M_LockMem(x) (HLock(x),*x) #define M_MoveLockMem(x) (HLockHi(x),*x) #define M_UnlockMem(x) (HUnlock(x),TRUE) #define M_NewMemSize(x,y) (SetHandleSize(x,y),MemError() == 0) #define M_GetMemSize(x) GetHandleSize(x) #endif /*UNIX*/ #endif /* not defined __MACHINE__ */ stimfit-0.14.11/src/libstfio/stfio.h0000644000175200017520000002077112622700407014170 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file stfio.h * \author Christoph Schmidt-Hieber * \date 2011-09-25 * \brief header file for libstfio * * * Header file for libstfio */ #ifndef _STFIO_H_ #define _STFIO_H_ #include #include #include #include #include #include #include #ifdef _MSC_VER #pragma warning( disable : 4251 ) // Disable warning messages #pragma warning( disable : 4996 ) // Disable warning messages #endif //! Defines dll export or import functions for Windows #if defined(_WINDOWS) && !defined(__MINGW32__) #ifdef STFIODLL #define StfioDll __declspec( dllexport ) #else #define StfioDll __declspec( dllimport ) #endif #else #define StfioDll #endif typedef std::vector Vector_double; typedef std::vector Vector_float; #ifdef _MSC_VER #ifndef NAN static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff}; #define NAN (*(const float *) __nan) #endif #ifndef INFINITY #define INFINITY (DBL_MAX+DBL_MAX) #endif StfioDll long int lround(double x); #define snprintf _snprintf #endif #include "./recording.h" #include "./channel.h" #include "./section.h" /* class Recording; */ /* class Channel; */ /* class Section; */ //! The stfio namespace. /*! All essential core functions and classes are in this namespace. * Its purpose is to reduce name mangling problems. */ namespace stfio { /*! \addtogroup stfio * @{ */ StfioDll Vector_double vec_scal_plus(const Vector_double& vec, double scalar); StfioDll Vector_double vec_scal_minus(const Vector_double& vec, double scalar); StfioDll Vector_double vec_scal_mul(const Vector_double& vec, double scalar); StfioDll Vector_double vec_scal_div(const Vector_double& vec, double scalar); StfioDll Vector_double vec_vec_plus(const Vector_double& vec1, const Vector_double& vec2); StfioDll Vector_double vec_vec_minus(const Vector_double& vec1, const Vector_double& vec2); StfioDll Vector_double vec_vec_mul(const Vector_double& vec1, const Vector_double& vec2); StfioDll Vector_double vec_vec_div(const Vector_double& vec1, const Vector_double& vec2); //! ProgressInfo class /*! Abstract class to be used as an interface for the file io read/write functions * Can be a GUI Dialog or stdout messages */ class StfioDll ProgressInfo { public: //! Constructor /*! \param title Dialog title * \param message Message displayed * \param maximum Maximum value for the progress meter * \param verbose Whether or not to emit a lot of noise */ ProgressInfo(const std::string& title, const std::string& message, int maximum, bool verbose) {}; //! Updates the progress info /*! \param value New value of the progress meter * \param newmsg New message for the info text * \param skip This is set to true if the user has chosen to skip the operation * \return True unless the operation was cancelled. */ virtual bool Update(int value, const std::string& newmsg="", bool* skip=NULL) = 0; }; //! StdoutProgressInfo class /*! Example of a ProgressInfo that prints to stdout */ class StfioDll StdoutProgressInfo : public stfio::ProgressInfo { public: StdoutProgressInfo(const std::string& title, const std::string& message, int maximum, bool verbose); bool Update(int value, const std::string& newmsg="", bool* skip=NULL); private: bool verbosity; }; //! Text file import filter settings struct txtImportSettings { txtImportSettings() : hLines(1),toSection(true),firstIsTime(true),ncolumns(2), sr(20),yUnits("mV"),yUnitsCh2("pA"),xUnits("ms") {} int hLines; /*!< Number of header lines. */ bool toSection; /*!< Import columns into separate sections rather than separate channels. */ bool firstIsTime; /*!< First column contains time. */ int ncolumns; /*!< Number of columns. */ double sr; /*!< Sampling rate. */ std::string yUnits; /*!< y units string. */ std::string yUnitsCh2; /*!< y units string of second channel. */ std::string xUnits; /*!< x units string. */ }; //! File types enum filetype { atf, /*!< Axon text file. */ abf, /*!< Axon binary file. */ axg, /*!< Axograph binary file. */ ascii, /*!< Generic text file. */ cfs, /*!< CED filing system. */ igor, /*!< Igor binary wave. */ son, /*!< CED Son files. */ hdf5, /*!< hdf5 files. */ heka, /*!< heka files. */ biosig, /*!< biosig files. */ none /*!< Undefined file type. */ }; #ifndef TEST_MINIMAL //! Attempts to determine the filetype from the filter extension. /*! \param ext The filter extension to be tested (in the form wxT("*.ext")). * \return The corresponding file type. */ StfioDll stfio::filetype findType(const std::string& ext); #endif // TEST_MINIMAL //! Returns file extension for a file type /*! \param ftype File type * \return File extension for given file type (in the form ".ext") */ StfioDll std::string findExtension(stfio::filetype ftype); //! Generic file import. /*! \param fName The full path name of the file. * \param type The file type. * \param ReturnData Will contain the file data on return. * \param txtImport The text import filter settings. * \param ProgressInfo Progress indicator * \return true if the file has successfully been read, false otherwise. */ StfioDll bool importFile( const std::string& fName, stfio::filetype type, Recording& ReturnData, const stfio::txtImportSettings& txtImport, stfio::ProgressInfo& progDlg ); //! Generic file export. /*! \param fName The full path name of the file. * \param type The file type. * \param Data Data to be written * \param ProgressInfo Progress indicator * \return true if the file has successfully been written, false otherwise. */ StfioDll bool exportFile(const std::string& fName, stfio::filetype type, const Recording& Data, ProgressInfo& progDlg); //! Produce new recording with concatenated sections /*! \param src Source recording * \param sections Indices of selected sections * \param ProgressInfo Progress indicator * \return New recording with concatenated selected sections */ StfioDll Recording concatenate(const Recording& src, const std::vector& sections, ProgressInfo& progDlg); //! Produce new recording with multiplied sections /*! \param src Source recording * \param sections Indices of selected sections * \param channel Channel index * \param factor Multiplication factor * \return New recording with multiplied selected sections */ StfioDll Recording multiply(const Recording& src, const std::vector& sections, std::size_t channel, double factor); /*@}*/ } // end of namespace typedef std::vector< std::string >::iterator sst_it; /*!< std::string iterator */ typedef std::vector< std::string >::const_iterator c_sst_it; /*!< constant std::string iterator */ typedef std::vector< std::size_t >::const_iterator c_st_it; /*!< constant size_t iterator */ typedef std::vector< int >::iterator int_it; /*!< int iterator */ typedef std::vector< int >::const_iterator c_int_it; /*!< constant int iterator */ typedef std::deque< Channel >::iterator ch_it; /*!< Channel iterator */ typedef std::deque< Channel >::const_iterator c_ch_it; /*!< constant Channel iterator */ typedef std::deque< Section >::iterator sec_it; /*!< Section iterator */ typedef std::deque< Section >::const_iterator c_sec_it; /*!< constant Section iterator */ #endif stimfit-0.14.11/src/libstfio/Makefile.in0000644000175200017520000020347212622700721014740 00000000000000# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @WITH_BIOSIG2_TRUE@am__append_1 = ./biosig/biosiglib.cpp @WITH_BIOSIG2_FALSE@@WITH_BIOSIG_TRUE@am__append_2 = ./biosig/biosiglib.cpp subdir = src/libstfio DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/stfconf.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkglibdir)" LTLIBRARIES = $(pkglib_LTLIBRARIES) am__DEPENDENCIES_1 = libstfio_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am__libstfio_la_SOURCES_DIST = ./channel.cpp ./section.cpp \ ./recording.cpp ./stfio.cpp ./cfs/cfslib.cpp ./cfs/cfs.c \ ./hdf5/hdf5lib.cpp ./abf/abflib.cpp \ ./abf/axon/AxAbfFio32/abffiles.cpp \ ./abf/axon/AxAbfFio32/csynch.cpp \ ./abf/axon/AxAbfFio32/filedesc.cpp \ ./abf/axon/Common/FileReadCache.cpp \ ./abf/axon/Common/FileIO.cpp \ ./abf/axon/AxAbfFio32/abfheadr.cpp \ ./abf/axon/AxAbfFio32/abfhwave.cpp \ ./abf/axon/AxAbfFio32/Oldheadr.cpp \ ./abf/axon/AxAbfFio32/abfutil.cpp \ ./abf/axon/AxAbfFio32/msbincvt.cpp ./abf/axon/Common/unix.cpp \ ./abf/axon/AxAbfFio32/abferror.cpp \ ./abf/axon/AxAtfFio32/axatffio32.cpp \ ./abf/axon/AxAtfFio32/fileio2.cpp \ ./abf/axon2/ProtocolReaderABF2.cpp \ ./abf/axon2/SimpleStringCache.cpp ./abf/axon2/abf2headr.cpp \ ./atf/atflib.cpp ./axg/axglib.cpp ./axg/AxoGraph_ReadWrite.cpp \ ./axg/fileUtils.cpp ./axg/stringUtils.cpp ./axg/byteswap.cpp \ ./heka/hekalib.cpp ./igor/igorlib.cpp \ ./igor/CrossPlatformFileIO.c ./igor/WriteWave.c \ ./biosig/biosiglib.cpp @WITH_BIOSIG2_TRUE@am__objects_1 = biosiglib.lo @WITH_BIOSIG2_FALSE@@WITH_BIOSIG_TRUE@am__objects_2 = biosiglib.lo am_libstfio_la_OBJECTS = channel.lo section.lo recording.lo stfio.lo \ cfslib.lo cfs.lo hdf5lib.lo abflib.lo abffiles.lo csynch.lo \ filedesc.lo FileReadCache.lo FileIO.lo abfheadr.lo abfhwave.lo \ Oldheadr.lo abfutil.lo msbincvt.lo unix.lo abferror.lo \ axatffio32.lo fileio2.lo ProtocolReaderABF2.lo \ SimpleStringCache.lo abf2headr.lo atflib.lo axglib.lo \ AxoGraph_ReadWrite.lo fileUtils.lo stringUtils.lo byteswap.lo \ hekalib.lo igorlib.lo CrossPlatformFileIO.lo WriteWave.lo \ $(am__objects_1) $(am__objects_2) libstfio_la_OBJECTS = $(am_libstfio_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libstfio_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(libstfio_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libstfio_la_SOURCES) DIST_SOURCES = $(am__libstfio_la_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @BUILD_MODULE_TRUE@pkglibdir = ${PYTHON_TARGET_DIR}/stfio ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ GT_CPPFLAGS = @GT_CPPFLAGS@ GT_CXXFLAGS = @GT_CXXFLAGS@ GT_LDFLAGS = @GT_LDFLAGS@ GT_LIBS = @GT_LIBS@ HDF5_CFLAGS = @HDF5_CFLAGS@ HDF5_LIBS = @HDF5_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBBIOSIG_LDFLAGS = @LIBBIOSIG_LDFLAGS@ LIBHDF5_LDFLAGS = @LIBHDF5_LDFLAGS@ LIBLAPACK_LDFLAGS = @LIBLAPACK_LDFLAGS@ LIBNUMPY_INCLUDES = @LIBNUMPY_INCLUDES@ LIBOBJS = @LIBOBJS@ LIBPYTHON_INCLUDES = @LIBPYTHON_INCLUDES@ LIBPYTHON_LDFLAGS = @LIBPYTHON_LDFLAGS@ LIBS = @LIBS@ LIBSTF_LDFLAGS = @LIBSTF_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MACSETFILE = @MACSETFILE@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPT_CXXFLAGS = @OPT_CXXFLAGS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTLINK_COMMAND = @POSTLINK_COMMAND@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_DIST_PKG = @PYTHON_DIST_PKG@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LDFLAGS = @PYTHON_LDFLAGS@ PYTHON_NUMPY_INCLUDE = @PYTHON_NUMPY_INCLUDE@ PYTHON_PRE_DIST_PKG = @PYTHON_PRE_DIST_PKG@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ PY_AC_VERSION = @PY_AC_VERSION@ RANLIB = @RANLIB@ REZ = @REZ@ SED = @SED@ SETFILE = @SETFILE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STFIO_PYTHON_LIBNAME = @STFIO_PYTHON_LIBNAME@ STF_PYTHON_LIBNAME = @STF_PYTHON_LIBNAME@ STRIP = @STRIP@ SWIG = @SWIG@ SWIG_LIB = @SWIG_LIB@ SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@ SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@ VERSION = @VERSION@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @BUILD_MODULE_TRUE@@ISDARWIN_FALSE@PYTHON_TARGET_DIR = ${PYTHON_PRE_DIST_PKG} @BUILD_MODULE_TRUE@@ISDARWIN_TRUE@PYTHON_TARGET_DIR = ${PYTHON_DIST_PKG} # PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} @BUILD_MODULE_TRUE@PYTHON_DEST_DIR = ${DESTDIR}${PYTHON_TARGET_DIR} pkglib_LTLIBRARIES = libstfio.la libstfio_la_SOURCES = ./channel.cpp ./section.cpp ./recording.cpp \ ./stfio.cpp ./cfs/cfslib.cpp ./cfs/cfs.c ./hdf5/hdf5lib.cpp \ ./abf/abflib.cpp ./abf/axon/AxAbfFio32/abffiles.cpp \ ./abf/axon/AxAbfFio32/csynch.cpp \ ./abf/axon/AxAbfFio32/filedesc.cpp \ ./abf/axon/Common/FileReadCache.cpp \ ./abf/axon/Common/FileIO.cpp \ ./abf/axon/AxAbfFio32/abfheadr.cpp \ ./abf/axon/AxAbfFio32/abfhwave.cpp \ ./abf/axon/AxAbfFio32/Oldheadr.cpp \ ./abf/axon/AxAbfFio32/abfutil.cpp \ ./abf/axon/AxAbfFio32/msbincvt.cpp ./abf/axon/Common/unix.cpp \ ./abf/axon/AxAbfFio32/abferror.cpp \ ./abf/axon/AxAtfFio32/axatffio32.cpp \ ./abf/axon/AxAtfFio32/fileio2.cpp \ ./abf/axon2/ProtocolReaderABF2.cpp \ ./abf/axon2/SimpleStringCache.cpp ./abf/axon2/abf2headr.cpp \ ./atf/atflib.cpp ./axg/axglib.cpp ./axg/AxoGraph_ReadWrite.cpp \ ./axg/fileUtils.cpp ./axg/stringUtils.cpp ./axg/byteswap.cpp \ ./heka/hekalib.cpp ./igor/igorlib.cpp \ ./igor/CrossPlatformFileIO.c ./igor/WriteWave.c \ $(am__append_1) $(am__append_2) libstfio_la_LDFLAGS = libstfio_la_LIBADD = $(LIBSTF_LDFLAGS) $(LIBHDF5_LDFLAGS) $(LIBBIOSIG_LDFLAGS) all: all-am .SUFFIXES: .SUFFIXES: .c .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/libstfio/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/libstfio/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ } uninstall-pkglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ done clean-pkglibLTLIBRARIES: -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) @list='$(pkglib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libstfio.la: $(libstfio_la_OBJECTS) $(libstfio_la_DEPENDENCIES) $(EXTRA_libstfio_la_DEPENDENCIES) $(AM_V_CXXLD)$(libstfio_la_LINK) -rpath $(pkglibdir) $(libstfio_la_OBJECTS) $(libstfio_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AxoGraph_ReadWrite.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossPlatformFileIO.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileIO.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileReadCache.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Oldheadr.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProtocolReaderABF2.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SimpleStringCache.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteWave.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abf2headr.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abferror.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abffiles.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abfheadr.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abfhwave.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abflib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abfutil.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atflib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axatffio32.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axglib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/biosiglib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/byteswap.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfslib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/channel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/csynch.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileUtils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filedesc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileio2.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdf5lib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hekalib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/igorlib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msbincvt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recording.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/section.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stfio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stringUtils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< cfs.lo: ./cfs/cfs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cfs.lo -MD -MP -MF $(DEPDIR)/cfs.Tpo -c -o cfs.lo `test -f './cfs/cfs.c' || echo '$(srcdir)/'`./cfs/cfs.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cfs.Tpo $(DEPDIR)/cfs.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./cfs/cfs.c' object='cfs.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfs.lo `test -f './cfs/cfs.c' || echo '$(srcdir)/'`./cfs/cfs.c CrossPlatformFileIO.lo: ./igor/CrossPlatformFileIO.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CrossPlatformFileIO.lo -MD -MP -MF $(DEPDIR)/CrossPlatformFileIO.Tpo -c -o CrossPlatformFileIO.lo `test -f './igor/CrossPlatformFileIO.c' || echo '$(srcdir)/'`./igor/CrossPlatformFileIO.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CrossPlatformFileIO.Tpo $(DEPDIR)/CrossPlatformFileIO.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./igor/CrossPlatformFileIO.c' object='CrossPlatformFileIO.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CrossPlatformFileIO.lo `test -f './igor/CrossPlatformFileIO.c' || echo '$(srcdir)/'`./igor/CrossPlatformFileIO.c WriteWave.lo: ./igor/WriteWave.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT WriteWave.lo -MD -MP -MF $(DEPDIR)/WriteWave.Tpo -c -o WriteWave.lo `test -f './igor/WriteWave.c' || echo '$(srcdir)/'`./igor/WriteWave.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/WriteWave.Tpo $(DEPDIR)/WriteWave.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='./igor/WriteWave.c' object='WriteWave.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o WriteWave.lo `test -f './igor/WriteWave.c' || echo '$(srcdir)/'`./igor/WriteWave.c .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< channel.lo: ./channel.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT channel.lo -MD -MP -MF $(DEPDIR)/channel.Tpo -c -o channel.lo `test -f './channel.cpp' || echo '$(srcdir)/'`./channel.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/channel.Tpo $(DEPDIR)/channel.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./channel.cpp' object='channel.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o channel.lo `test -f './channel.cpp' || echo '$(srcdir)/'`./channel.cpp section.lo: ./section.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT section.lo -MD -MP -MF $(DEPDIR)/section.Tpo -c -o section.lo `test -f './section.cpp' || echo '$(srcdir)/'`./section.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/section.Tpo $(DEPDIR)/section.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./section.cpp' object='section.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o section.lo `test -f './section.cpp' || echo '$(srcdir)/'`./section.cpp recording.lo: ./recording.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT recording.lo -MD -MP -MF $(DEPDIR)/recording.Tpo -c -o recording.lo `test -f './recording.cpp' || echo '$(srcdir)/'`./recording.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/recording.Tpo $(DEPDIR)/recording.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./recording.cpp' object='recording.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o recording.lo `test -f './recording.cpp' || echo '$(srcdir)/'`./recording.cpp stfio.lo: ./stfio.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stfio.lo -MD -MP -MF $(DEPDIR)/stfio.Tpo -c -o stfio.lo `test -f './stfio.cpp' || echo '$(srcdir)/'`./stfio.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stfio.Tpo $(DEPDIR)/stfio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./stfio.cpp' object='stfio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stfio.lo `test -f './stfio.cpp' || echo '$(srcdir)/'`./stfio.cpp cfslib.lo: ./cfs/cfslib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cfslib.lo -MD -MP -MF $(DEPDIR)/cfslib.Tpo -c -o cfslib.lo `test -f './cfs/cfslib.cpp' || echo '$(srcdir)/'`./cfs/cfslib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cfslib.Tpo $(DEPDIR)/cfslib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./cfs/cfslib.cpp' object='cfslib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cfslib.lo `test -f './cfs/cfslib.cpp' || echo '$(srcdir)/'`./cfs/cfslib.cpp hdf5lib.lo: ./hdf5/hdf5lib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hdf5lib.lo -MD -MP -MF $(DEPDIR)/hdf5lib.Tpo -c -o hdf5lib.lo `test -f './hdf5/hdf5lib.cpp' || echo '$(srcdir)/'`./hdf5/hdf5lib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hdf5lib.Tpo $(DEPDIR)/hdf5lib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./hdf5/hdf5lib.cpp' object='hdf5lib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hdf5lib.lo `test -f './hdf5/hdf5lib.cpp' || echo '$(srcdir)/'`./hdf5/hdf5lib.cpp abflib.lo: ./abf/abflib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT abflib.lo -MD -MP -MF $(DEPDIR)/abflib.Tpo -c -o abflib.lo `test -f './abf/abflib.cpp' || echo '$(srcdir)/'`./abf/abflib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/abflib.Tpo $(DEPDIR)/abflib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/abflib.cpp' object='abflib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o abflib.lo `test -f './abf/abflib.cpp' || echo '$(srcdir)/'`./abf/abflib.cpp abffiles.lo: ./abf/axon/AxAbfFio32/abffiles.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT abffiles.lo -MD -MP -MF $(DEPDIR)/abffiles.Tpo -c -o abffiles.lo `test -f './abf/axon/AxAbfFio32/abffiles.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abffiles.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/abffiles.Tpo $(DEPDIR)/abffiles.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/abffiles.cpp' object='abffiles.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o abffiles.lo `test -f './abf/axon/AxAbfFio32/abffiles.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abffiles.cpp csynch.lo: ./abf/axon/AxAbfFio32/csynch.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT csynch.lo -MD -MP -MF $(DEPDIR)/csynch.Tpo -c -o csynch.lo `test -f './abf/axon/AxAbfFio32/csynch.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/csynch.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/csynch.Tpo $(DEPDIR)/csynch.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/csynch.cpp' object='csynch.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o csynch.lo `test -f './abf/axon/AxAbfFio32/csynch.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/csynch.cpp filedesc.lo: ./abf/axon/AxAbfFio32/filedesc.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT filedesc.lo -MD -MP -MF $(DEPDIR)/filedesc.Tpo -c -o filedesc.lo `test -f './abf/axon/AxAbfFio32/filedesc.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/filedesc.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/filedesc.Tpo $(DEPDIR)/filedesc.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/filedesc.cpp' object='filedesc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o filedesc.lo `test -f './abf/axon/AxAbfFio32/filedesc.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/filedesc.cpp FileReadCache.lo: ./abf/axon/Common/FileReadCache.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileReadCache.lo -MD -MP -MF $(DEPDIR)/FileReadCache.Tpo -c -o FileReadCache.lo `test -f './abf/axon/Common/FileReadCache.cpp' || echo '$(srcdir)/'`./abf/axon/Common/FileReadCache.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/FileReadCache.Tpo $(DEPDIR)/FileReadCache.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/Common/FileReadCache.cpp' object='FileReadCache.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileReadCache.lo `test -f './abf/axon/Common/FileReadCache.cpp' || echo '$(srcdir)/'`./abf/axon/Common/FileReadCache.cpp FileIO.lo: ./abf/axon/Common/FileIO.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileIO.lo -MD -MP -MF $(DEPDIR)/FileIO.Tpo -c -o FileIO.lo `test -f './abf/axon/Common/FileIO.cpp' || echo '$(srcdir)/'`./abf/axon/Common/FileIO.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/FileIO.Tpo $(DEPDIR)/FileIO.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/Common/FileIO.cpp' object='FileIO.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileIO.lo `test -f './abf/axon/Common/FileIO.cpp' || echo '$(srcdir)/'`./abf/axon/Common/FileIO.cpp abfheadr.lo: ./abf/axon/AxAbfFio32/abfheadr.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT abfheadr.lo -MD -MP -MF $(DEPDIR)/abfheadr.Tpo -c -o abfheadr.lo `test -f './abf/axon/AxAbfFio32/abfheadr.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abfheadr.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/abfheadr.Tpo $(DEPDIR)/abfheadr.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/abfheadr.cpp' object='abfheadr.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o abfheadr.lo `test -f './abf/axon/AxAbfFio32/abfheadr.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abfheadr.cpp abfhwave.lo: ./abf/axon/AxAbfFio32/abfhwave.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT abfhwave.lo -MD -MP -MF $(DEPDIR)/abfhwave.Tpo -c -o abfhwave.lo `test -f './abf/axon/AxAbfFio32/abfhwave.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abfhwave.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/abfhwave.Tpo $(DEPDIR)/abfhwave.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/abfhwave.cpp' object='abfhwave.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o abfhwave.lo `test -f './abf/axon/AxAbfFio32/abfhwave.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abfhwave.cpp Oldheadr.lo: ./abf/axon/AxAbfFio32/Oldheadr.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Oldheadr.lo -MD -MP -MF $(DEPDIR)/Oldheadr.Tpo -c -o Oldheadr.lo `test -f './abf/axon/AxAbfFio32/Oldheadr.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/Oldheadr.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Oldheadr.Tpo $(DEPDIR)/Oldheadr.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/Oldheadr.cpp' object='Oldheadr.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Oldheadr.lo `test -f './abf/axon/AxAbfFio32/Oldheadr.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/Oldheadr.cpp abfutil.lo: ./abf/axon/AxAbfFio32/abfutil.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT abfutil.lo -MD -MP -MF $(DEPDIR)/abfutil.Tpo -c -o abfutil.lo `test -f './abf/axon/AxAbfFio32/abfutil.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abfutil.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/abfutil.Tpo $(DEPDIR)/abfutil.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/abfutil.cpp' object='abfutil.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o abfutil.lo `test -f './abf/axon/AxAbfFio32/abfutil.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abfutil.cpp msbincvt.lo: ./abf/axon/AxAbfFio32/msbincvt.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT msbincvt.lo -MD -MP -MF $(DEPDIR)/msbincvt.Tpo -c -o msbincvt.lo `test -f './abf/axon/AxAbfFio32/msbincvt.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/msbincvt.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/msbincvt.Tpo $(DEPDIR)/msbincvt.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/msbincvt.cpp' object='msbincvt.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o msbincvt.lo `test -f './abf/axon/AxAbfFio32/msbincvt.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/msbincvt.cpp unix.lo: ./abf/axon/Common/unix.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT unix.lo -MD -MP -MF $(DEPDIR)/unix.Tpo -c -o unix.lo `test -f './abf/axon/Common/unix.cpp' || echo '$(srcdir)/'`./abf/axon/Common/unix.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/unix.Tpo $(DEPDIR)/unix.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/Common/unix.cpp' object='unix.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o unix.lo `test -f './abf/axon/Common/unix.cpp' || echo '$(srcdir)/'`./abf/axon/Common/unix.cpp abferror.lo: ./abf/axon/AxAbfFio32/abferror.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT abferror.lo -MD -MP -MF $(DEPDIR)/abferror.Tpo -c -o abferror.lo `test -f './abf/axon/AxAbfFio32/abferror.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abferror.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/abferror.Tpo $(DEPDIR)/abferror.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAbfFio32/abferror.cpp' object='abferror.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o abferror.lo `test -f './abf/axon/AxAbfFio32/abferror.cpp' || echo '$(srcdir)/'`./abf/axon/AxAbfFio32/abferror.cpp axatffio32.lo: ./abf/axon/AxAtfFio32/axatffio32.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT axatffio32.lo -MD -MP -MF $(DEPDIR)/axatffio32.Tpo -c -o axatffio32.lo `test -f './abf/axon/AxAtfFio32/axatffio32.cpp' || echo '$(srcdir)/'`./abf/axon/AxAtfFio32/axatffio32.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/axatffio32.Tpo $(DEPDIR)/axatffio32.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAtfFio32/axatffio32.cpp' object='axatffio32.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o axatffio32.lo `test -f './abf/axon/AxAtfFio32/axatffio32.cpp' || echo '$(srcdir)/'`./abf/axon/AxAtfFio32/axatffio32.cpp fileio2.lo: ./abf/axon/AxAtfFio32/fileio2.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fileio2.lo -MD -MP -MF $(DEPDIR)/fileio2.Tpo -c -o fileio2.lo `test -f './abf/axon/AxAtfFio32/fileio2.cpp' || echo '$(srcdir)/'`./abf/axon/AxAtfFio32/fileio2.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fileio2.Tpo $(DEPDIR)/fileio2.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon/AxAtfFio32/fileio2.cpp' object='fileio2.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fileio2.lo `test -f './abf/axon/AxAtfFio32/fileio2.cpp' || echo '$(srcdir)/'`./abf/axon/AxAtfFio32/fileio2.cpp ProtocolReaderABF2.lo: ./abf/axon2/ProtocolReaderABF2.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ProtocolReaderABF2.lo -MD -MP -MF $(DEPDIR)/ProtocolReaderABF2.Tpo -c -o ProtocolReaderABF2.lo `test -f './abf/axon2/ProtocolReaderABF2.cpp' || echo '$(srcdir)/'`./abf/axon2/ProtocolReaderABF2.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ProtocolReaderABF2.Tpo $(DEPDIR)/ProtocolReaderABF2.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon2/ProtocolReaderABF2.cpp' object='ProtocolReaderABF2.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ProtocolReaderABF2.lo `test -f './abf/axon2/ProtocolReaderABF2.cpp' || echo '$(srcdir)/'`./abf/axon2/ProtocolReaderABF2.cpp SimpleStringCache.lo: ./abf/axon2/SimpleStringCache.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SimpleStringCache.lo -MD -MP -MF $(DEPDIR)/SimpleStringCache.Tpo -c -o SimpleStringCache.lo `test -f './abf/axon2/SimpleStringCache.cpp' || echo '$(srcdir)/'`./abf/axon2/SimpleStringCache.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/SimpleStringCache.Tpo $(DEPDIR)/SimpleStringCache.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon2/SimpleStringCache.cpp' object='SimpleStringCache.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SimpleStringCache.lo `test -f './abf/axon2/SimpleStringCache.cpp' || echo '$(srcdir)/'`./abf/axon2/SimpleStringCache.cpp abf2headr.lo: ./abf/axon2/abf2headr.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT abf2headr.lo -MD -MP -MF $(DEPDIR)/abf2headr.Tpo -c -o abf2headr.lo `test -f './abf/axon2/abf2headr.cpp' || echo '$(srcdir)/'`./abf/axon2/abf2headr.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/abf2headr.Tpo $(DEPDIR)/abf2headr.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./abf/axon2/abf2headr.cpp' object='abf2headr.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o abf2headr.lo `test -f './abf/axon2/abf2headr.cpp' || echo '$(srcdir)/'`./abf/axon2/abf2headr.cpp atflib.lo: ./atf/atflib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT atflib.lo -MD -MP -MF $(DEPDIR)/atflib.Tpo -c -o atflib.lo `test -f './atf/atflib.cpp' || echo '$(srcdir)/'`./atf/atflib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/atflib.Tpo $(DEPDIR)/atflib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./atf/atflib.cpp' object='atflib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o atflib.lo `test -f './atf/atflib.cpp' || echo '$(srcdir)/'`./atf/atflib.cpp axglib.lo: ./axg/axglib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT axglib.lo -MD -MP -MF $(DEPDIR)/axglib.Tpo -c -o axglib.lo `test -f './axg/axglib.cpp' || echo '$(srcdir)/'`./axg/axglib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/axglib.Tpo $(DEPDIR)/axglib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./axg/axglib.cpp' object='axglib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o axglib.lo `test -f './axg/axglib.cpp' || echo '$(srcdir)/'`./axg/axglib.cpp AxoGraph_ReadWrite.lo: ./axg/AxoGraph_ReadWrite.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AxoGraph_ReadWrite.lo -MD -MP -MF $(DEPDIR)/AxoGraph_ReadWrite.Tpo -c -o AxoGraph_ReadWrite.lo `test -f './axg/AxoGraph_ReadWrite.cpp' || echo '$(srcdir)/'`./axg/AxoGraph_ReadWrite.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/AxoGraph_ReadWrite.Tpo $(DEPDIR)/AxoGraph_ReadWrite.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./axg/AxoGraph_ReadWrite.cpp' object='AxoGraph_ReadWrite.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AxoGraph_ReadWrite.lo `test -f './axg/AxoGraph_ReadWrite.cpp' || echo '$(srcdir)/'`./axg/AxoGraph_ReadWrite.cpp fileUtils.lo: ./axg/fileUtils.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fileUtils.lo -MD -MP -MF $(DEPDIR)/fileUtils.Tpo -c -o fileUtils.lo `test -f './axg/fileUtils.cpp' || echo '$(srcdir)/'`./axg/fileUtils.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fileUtils.Tpo $(DEPDIR)/fileUtils.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./axg/fileUtils.cpp' object='fileUtils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fileUtils.lo `test -f './axg/fileUtils.cpp' || echo '$(srcdir)/'`./axg/fileUtils.cpp stringUtils.lo: ./axg/stringUtils.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stringUtils.lo -MD -MP -MF $(DEPDIR)/stringUtils.Tpo -c -o stringUtils.lo `test -f './axg/stringUtils.cpp' || echo '$(srcdir)/'`./axg/stringUtils.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stringUtils.Tpo $(DEPDIR)/stringUtils.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./axg/stringUtils.cpp' object='stringUtils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stringUtils.lo `test -f './axg/stringUtils.cpp' || echo '$(srcdir)/'`./axg/stringUtils.cpp byteswap.lo: ./axg/byteswap.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT byteswap.lo -MD -MP -MF $(DEPDIR)/byteswap.Tpo -c -o byteswap.lo `test -f './axg/byteswap.cpp' || echo '$(srcdir)/'`./axg/byteswap.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/byteswap.Tpo $(DEPDIR)/byteswap.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./axg/byteswap.cpp' object='byteswap.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o byteswap.lo `test -f './axg/byteswap.cpp' || echo '$(srcdir)/'`./axg/byteswap.cpp hekalib.lo: ./heka/hekalib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hekalib.lo -MD -MP -MF $(DEPDIR)/hekalib.Tpo -c -o hekalib.lo `test -f './heka/hekalib.cpp' || echo '$(srcdir)/'`./heka/hekalib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hekalib.Tpo $(DEPDIR)/hekalib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./heka/hekalib.cpp' object='hekalib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hekalib.lo `test -f './heka/hekalib.cpp' || echo '$(srcdir)/'`./heka/hekalib.cpp igorlib.lo: ./igor/igorlib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT igorlib.lo -MD -MP -MF $(DEPDIR)/igorlib.Tpo -c -o igorlib.lo `test -f './igor/igorlib.cpp' || echo '$(srcdir)/'`./igor/igorlib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/igorlib.Tpo $(DEPDIR)/igorlib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./igor/igorlib.cpp' object='igorlib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o igorlib.lo `test -f './igor/igorlib.cpp' || echo '$(srcdir)/'`./igor/igorlib.cpp biosiglib.lo: ./biosig/biosiglib.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT biosiglib.lo -MD -MP -MF $(DEPDIR)/biosiglib.Tpo -c -o biosiglib.lo `test -f './biosig/biosiglib.cpp' || echo '$(srcdir)/'`./biosig/biosiglib.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/biosiglib.Tpo $(DEPDIR)/biosiglib.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./biosig/biosiglib.cpp' object='biosiglib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o biosiglib.lo `test -f './biosig/biosiglib.cpp' || echo '$(srcdir)/'`./biosig/biosiglib.cpp mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(pkglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done @BUILD_MODULE_TRUE@install: install-am @ISDARWIN_FALSE@install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-pkglibLTLIBRARIES install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-pkglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-pkglibLTLIBRARIES cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-pkglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-pkglibLTLIBRARIES # don't install anything because it has to go into the app bundle @BUILD_MODULE_FALSE@@ISDARWIN_TRUE@install: #. /ascii/asciilib.cpp # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: stimfit-0.14.11/src/libstfio/atf/0000755000175200017520000000000012623045304013515 500000000000000stimfit-0.14.11/src/libstfio/atf/atflib.h0000755000175200017520000000317212277666257015102 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file atflib.h * \author Christoph Schmidt-Hieber * \date 2008-01-23 * \brief Import and export Axon text files. */ #ifndef _ATFLIB_H #define _ATFLIB_H #include "./../stfio.h" #include "./../abf/axon/AxAtfFio32/axatffio32.h" class Recording; namespace stfio { //! Open an ATF file and store its contents to a Recording object. /*! \param fName Full path to the file to be read. * \param ReturnData On entry, an empty Recording object. On exit, * the data stored in \e fName. * \param progress True if the progress dialog should be updated. */ void importATFFile(const std::string& fName, Recording& ReturnData, ProgressInfo& progDlg); //! Export a Recording to an ATF file. /*! \param fName Full path to the file to be written. * \param WData The data to be exported. */ StfioDll bool exportATFFile(const std::string& fName, const Recording& WData); } #endif stimfit-0.14.11/src/libstfio/atf/atflib.cpp0000755000175200017520000002160012277666257015431 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include #include #include "./atflib.h" #include "../recording.h" namespace stfio { std::string ATFError(const std::string& fName, int nError); } std::string stfio::ATFError(const std::string& fName, int nError) { int nMaxLen=320; std::vector errorMsg(nMaxLen); ATF_BuildErrorText(nError, fName.c_str(),&errorMsg[0], nMaxLen ); return std::string( &errorMsg[0] ); } bool stfio::exportATFFile(const std::string& fName, const Recording& WData) { int nColumns=1+(int)WData[0].size() /*time + number of sections*/, nFileNum; int nError; if (!ATF_OpenFile(fName.c_str(),ATF_WRITEONLY,&nColumns,&nFileNum,&nError)) { std::string errorMsg("Exception while calling ATF_OpenFile():\n"); errorMsg += ATFError(fName,nError); throw std::runtime_error(errorMsg); } // Write sections to columns: // First column is time: for (int n_c=0;n_c max_size) { max_size=WData[0][n_s].size(); } } for (int n_l=0;n_l < (int)max_size; ++n_l) { for (int n_c=0;n_c titleVec(nMaxText); if (!ATF_GetColumnTitle(nFileNum,0,&titleVec[0],nMaxText,&nError)) { std::string errorMsg("Exception while calling ATF_GetColumnTitle():\n"); errorMsg+=ATFError(fName,nError); throw std::runtime_error(errorMsg); } std::string titleString(titleVec.begin(),titleVec.end()); int timeInFirstColumn=0; if (titleString.find("time")!=std::string::npos || titleString.find("Time")!=std::string::npos || titleString.find("TIME")!=std::string::npos) { // Read sampling information from first two time values: double time[2]; for (int n_l=0;n_l<2;++n_l) { if (!ATF_ReadDataColumn(nFileNum,0,&time[n_l],&nError)) { std::string errorMsg("Exception while calling ATF_ReadDataColumn():\n"); errorMsg+=ATFError(fName,nError); throw std::runtime_error(errorMsg); } } if (!ATF_RewindFile(nFileNum,&nError)) { std::string errorMsg("Exception while calling ATF_RewindFile():\n"); errorMsg+=ATFError(fName,nError); throw std::runtime_error(errorMsg); } ReturnData.SetXScale(time[1]-time[0]); timeInFirstColumn=1; } ReturnData.resize(1); Channel TempChannel(nColumns-timeInFirstColumn); for (int n_c=timeInFirstColumn;n_c unitsVec(nMaxText); if (!ATF_GetColumnUnits(nFileNum,n_c,&unitsVec[0],nMaxText,&nError)) { std::string errorMsg("Exception while calling ATF_GetColumnUnits():\n"); errorMsg+=ATFError(fName,nError); ReturnData.resize(0); throw std::runtime_error(errorMsg); } ReturnData[0].SetYUnits(std::string(&unitsVec[0])); } try { TempChannel.InsertSection(TempSection,n_c-timeInFirstColumn); } catch (...) { throw; } // Rewind file before reading next column: if (!ATF_RewindFile(nFileNum,&nError)) { std::string errorMsg("Exception while calling ATF_RewindFile():\n"); errorMsg+=ATFError(fName,nError); ReturnData.resize(0); throw std::runtime_error(errorMsg); } } try { ReturnData.InsertChannel(TempChannel,0); } catch (...) { ReturnData.resize(0); throw; } if (!ATF_CloseFile(nFileNum)) { std::string errorMsg("Exception while calling ATF_CloseFile():\n"); errorMsg += "Error while closing ATF file"; throw std::runtime_error(errorMsg); } } stimfit-0.14.11/src/libstfio/section.h0000755000175200017520000001215212277666257014531 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file section.h * \author Christoph Schmidt-Hieber * \date 2008-01-16 * \brief Declares the Section class. */ /*------------------------------------------------------------------------ * References: * [1] Stroustrup, B.: The C++ Programming Language. 3rd ed. 1997 * [2] Meyers, S.: Effective C++. 3rd ed. 2005 --------------------------------------------------------------------------*/ // only compile once, even if included more often: #ifndef _SECTION_H #define _SECTION_H /*! \addtogroup stfgen * @{ */ //! Represents a continuously sampled sweep of data points class StfioDll Section { public: // Construction/Destruction----------------------------------------------- //! Default constructor. explicit Section(); //! Constructor /*! \param valA A vector of values that will make up the section. * \param label An optional section label string. */ explicit Section( const Vector_double& valA, const std::string& label="\0" ); //! Yet another constructor /*! \param size Number of data points. * \param label An optional section label string. */ explicit Section( std::size_t size, const std::string& label="\0" ); //! Destructor ~Section(); // Operators-------------------------------------------------------------- //! Unchecked access. Returns a non-const reference. /*! \param at Data point index. * \return Copy of the data point with index at. */ double& operator[](std::size_t at) { return data[at]; } //! Unchecked access. Returns a copy. /*! \param at Data point index. * \return Reference to the data point with index at. */ double operator[](std::size_t at) const { return data[at]; } // Public member functions------------------------------------------------ //! Range-checked access. Returns a copy. /*! Throws std::out_of_range if out of range. * \param at_ Data point index. * \return Copy of the data point at index at_ */ double at(std::size_t at_) const; //! Range-checked access. Returns a non-const reference. /*! Throws std::out_of_range if out of range. * \param at_ Data point index. * \return Reference to the data point at index at_ */ double& at(std::size_t at_); //! Low-level access to the valarray (read-only). /*! An explicit function is used instead of implicit type conversion * to access the valarray. * \return The valarray containing the data points. */ const Vector_double& get() const { return data; } //! Low-level access to the valarray (read and write). /*! An explicit function is used instead of implicit type conversion * to access the valarray. * \return The valarray containing the data points. */ Vector_double& get_w() { return data; } //! Resize the Section to a new number of data points; deletes all previously stored data when gcc is used. /*! Note that in the gcc implementation of std::vector, resizing will * delete all the original data. This is different from std::vector::resize(). * \param new_size The new number of data points. */ void resize(std::size_t new_size) { data.resize(new_size); } //! Retrieve the number of data points. /*! \return The number of data points. */ size_t size() const { return data.size(); } //! Sets the x scaling. /*! \param value The x scaling. */ void SetXScale(double value); //! Retrieves the x scaling. /*! \return The x scaling. */ double GetXScale() const { return x_scale; } //! Retrieves a section description. /*! \return A string describing this section. */ const std::string& GetSectionDescription() const { return section_description; } //! Sets a section description. /*! \param value A string describing this section. */ void SetSectionDescription(const std::string& value) { section_description=value; } private: //Private members------------------------------------------------------- // A description that is specific to this section: std::string section_description; // The sampling interval: double x_scale; // The data: Vector_double data; }; /*@}*/ #endif stimfit-0.14.11/src/libstfio/Makefile.am0000644000175200017520000000326412277666257014751 00000000000000if BUILD_MODULE if ISDARWIN PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} else PYTHON_TARGET_DIR=${PYTHON_PRE_DIST_PKG} # PYTHON_TARGET_DIR=${PYTHON_DIST_PKG} endif PYTHON_DEST_DIR=${DESTDIR}${PYTHON_TARGET_DIR} pkglibdir = ${PYTHON_TARGET_DIR}/stfio endif pkglib_LTLIBRARIES = libstfio.la libstfio_la_SOURCES = ./channel.cpp ./section.cpp ./recording.cpp ./stfio.cpp \ ./cfs/cfslib.cpp ./cfs/cfs.c \ ./hdf5/hdf5lib.cpp \ ./abf/abflib.cpp \ ./abf/axon/AxAbfFio32/abffiles.cpp \ ./abf/axon/AxAbfFio32/csynch.cpp \ ./abf/axon/AxAbfFio32/filedesc.cpp \ ./abf/axon/Common/FileReadCache.cpp \ ./abf/axon/Common/FileIO.cpp \ ./abf/axon/AxAbfFio32/abfheadr.cpp \ ./abf/axon/AxAbfFio32/abfhwave.cpp \ ./abf/axon/AxAbfFio32/Oldheadr.cpp \ ./abf/axon/AxAbfFio32/abfutil.cpp \ ./abf/axon/AxAbfFio32/msbincvt.cpp \ ./abf/axon/Common/unix.cpp \ ./abf/axon/AxAbfFio32/abferror.cpp \ ./abf/axon/AxAtfFio32/axatffio32.cpp \ ./abf/axon/AxAtfFio32/fileio2.cpp \ ./abf/axon2/ProtocolReaderABF2.cpp \ ./abf/axon2/SimpleStringCache.cpp \ ./abf/axon2/abf2headr.cpp \ ./atf/atflib.cpp \ ./axg/axglib.cpp \ ./axg/AxoGraph_ReadWrite.cpp \ ./axg/fileUtils.cpp \ ./axg/stringUtils.cpp \ ./axg/byteswap.cpp \ ./heka/hekalib.cpp \ ./igor/igorlib.cpp \ ./igor/CrossPlatformFileIO.c \ ./igor/WriteWave.c if WITH_BIOSIG2 libstfio_la_SOURCES += ./biosig/biosiglib.cpp else if WITH_BIOSIG libstfio_la_SOURCES += ./biosig/biosiglib.cpp endif endif libstfio_la_LDFLAGS = libstfio_la_LIBADD = $(LIBSTF_LDFLAGS) $(LIBHDF5_LDFLAGS) $(LIBBIOSIG_LDFLAGS) if ISDARWIN # don't install anything because it has to go into the app bundle if !BUILD_MODULE install: endif endif #. /ascii/asciilib.cpp stimfit-0.14.11/src/libstfio/biosig/0000755000175200017520000000000012623045305014220 500000000000000stimfit-0.14.11/src/libstfio/biosig/biosiglib.h0000644000175200017520000000536512475053170016271 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file biosiglib.h * \author Christoph Schmidt-Hieber * \date 2011-02-18 * \brief Use biosig to read files */ #ifndef _BIOSIGLIB_H #define _BIOSIGLIB_H #include "../stfio.h" namespace stfio { #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) //! return version of libbiosig e.g. 10403 correspond to version 1.4.3 StfioDll bool check_biosig_version(int a, int b, int c); #endif //! Open an BIOSIG file and store its contents to a Recording object. /*! \param fName The full path to the file to be opened. * \param ReturnData On entry, an empty Recording object. On exit, * the data stored in \e fName. * \param progress True if the progress dialog should be updated. * * Return value: in case of success stfio::biosig is returned, * if the file format is recognized, the corresponding filetype is returned, * if the filetype is not recognized or not supported. stfio::none is returned. */ stfio::filetype importBiosigFile(const std::string& fName, Recording& ReturnData, ProgressInfo& progDlg); //! Export a Recording to a GDF file using biosig. /*! \param fName Full path to the file to be written. * \param WData The data to be exported. */ StfioDll bool exportBiosigFile(const std::string& fName, const Recording& WData, ProgressInfo& progDlg); } #endif stimfit-0.14.11/src/libstfio/biosig/biosiglib.cpp0000644000175200017520000010357612622700407016623 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // Copyright 2012,2013 Alois Schloegl, IST Austria #include #include "../stfio.h" #if defined(WITH_BIOSIG2) #include #if (BIOSIG_VERSION < 10506) #error libbiosig2 v1.5.6 or later is required #endif #if (BIOSIG_VERSION > 10506) #define DONOTUSE_DYNAMIC_ALLOCATION_FOR_CHANSPR #endif #else #include #if defined(_MSC_VER) //#if (BIOSIG_VERSION < 10507) #error libbiosig is not ABI compatible //#endif #endif #endif /* these are internal biosig functions, defined in biosig-dev.h which is not always available */ extern "C" size_t ifwrite(void* buf, size_t size, size_t nmemb, HDRTYPE* hdr); extern "C" uint32_t lcm(uint32_t A, uint32_t B); #if !defined(__MINGW32__) && !defined(_MSC_VER) #if defined (__APPLE__) #include #else #include #endif #endif #include "./biosiglib.h" /* Redefine BIOSIG_VERSION for versions < 1 */ #if (BIOSIG_VERSION_MAJOR < 1) #undef BIOSIG_VERSION #ifndef BIOSIG_PATCHLEVEL #define BIOSIG_PATCHLEVEL BIOSIG_VERSION_STEPPING #endif #define BIOSIG_VERSION (BIOSIG_VERSION_MAJOR * 10000 + BIOSIG_VERSION_MINOR * 100 + BIOSIG_PATCHLEVEL) #endif stfio::filetype stfio_file_type(HDRTYPE* hdr) { #ifdef __LIBBIOSIG2_H__ switch (biosig_get_filetype(hdr)) { #else switch (hdr->TYPE) { #endif #if (BIOSIG_VERSION > 10500) case ABF2: return stfio::abf; #endif case ABF: return stfio::abf; case ATF: return stfio::atf; case CFS: return stfio::cfs; case HEKA: return stfio::heka; case HDF: return stfio::hdf5; #if (BIOSIG_VERSION > 10403) case AXG: return stfio::axg; case IBW: return stfio::igor; case SMR: return stfio::son; #endif default: return stfio::none; } } #if (defined(WITH_BIOSIG) || defined(WITH_BIOSIG2)) bool stfio::check_biosig_version(int a, int b, int c) { return (BIOSIG_VERSION >= 10000*a + 100*b + c); } #endif stfio::filetype stfio::importBiosigFile(const std::string &fName, Recording &ReturnData, ProgressInfo& progDlg) { std::string errorMsg("Exception while calling std::importBSFile():\n"); std::string yunits; stfio::filetype type; // ===================================================================================================================== // // importBiosig opens file with libbiosig // - performs an automated identification of the file format // - and decides whether the data is imported through importBiosig (currently CFS, HEKA, ABF1, GDF, and others) // - or handed back to other import*File functions (currently ABF2, AXG, HDF5) // // There are two implementations, level-1 and level-2 interface of libbiosig. // level 1 is used when -DWITH_BIOSIG, -lbiosig // level 2 is used when -DWITH_BIOSIG2, -lbiosig2 // // level 1 is better tested, but it does not provide ABI compatibility between MinGW and VisualStudio // level 2 interface has been developed to provide ABI compatibility, but it is less tested // and the API might still undergo major changes. // ===================================================================================================================== #ifdef __LIBBIOSIG2_H__ HDRTYPE* hdr = sopen( fName.c_str(), "r", NULL ); if (hdr==NULL) { ReturnData.resize(0); return stfio::none; } type = stfio_file_type(hdr); if (biosig_check_error(hdr)) { ReturnData.resize(0); destructHDR(hdr); return type; } enum FileFormat biosig_filetype=biosig_get_filetype(hdr); if (biosig_filetype==ATF || biosig_filetype==ABF2 || biosig_filetype==HDF ) { // ATF, ABF2 and HDF5 support should be handled by importATF, and importABF, and importHDF5 not importBiosig ReturnData.resize(0); destructHDR(hdr); return type; } // earlier versions of biosig support only the file type identification, but did not properly read the files if ( (BIOSIG_VERSION < 10603) && (biosig_filetype==AXG) ) { ReturnData.resize(0); destructHDR(hdr); return type; } // ensure the event table is in chronological order sort_eventtable(hdr); // allocate local memory for intermediate results; const int strSize=100; char str[strSize]; /* count sections and generate list of indices indicating start and end of sweeps */ double fs = biosig_get_eventtable_samplerate(hdr); size_t numberOfEvents = biosig_get_number_of_events(hdr); size_t nsections = biosig_get_number_of_segments(hdr); size_t *SegIndexList = (size_t*)malloc((nsections+1)*sizeof(size_t)); SegIndexList[0] = 0; SegIndexList[nsections] = biosig_get_number_of_samples(hdr); std::string annotationTableDesc = std::string(); for (size_t k=0, n=0; k < numberOfEvents; k++) { uint32_t pos; uint16_t typ; #if BIOSIG_VERSION < 10605 char *desc; #else const char *desc; #endif /* uint32_t dur; uint16_t chn; gdftype timestamp; */ biosig_get_nth_event(hdr, k, &typ, &pos, NULL, NULL, NULL, &desc); if (typ == 0x7ffe) { SegIndexList[++n] = pos; } else if (typ < 256) { sprintf(str,"%f s:\t%s\n", pos/fs, desc); annotationTableDesc += std::string( str ); } } int numberOfChannels = biosig_get_number_of_channels(hdr); /************************************************************************* rescale data to mV and pA *************************************************************************/ for (int ch=0; ch < numberOfChannels; ++ch) { CHANNEL_TYPE *hc = biosig_get_channel(hdr, ch); switch (biosig_channel_get_physdimcode(hc) & 0xffe0) { case 4256: // Volt //biosig_channel_scale_to_unit(hc, "mV"); biosig_channel_change_scale_to_physdimcode(hc, 4274); break; case 4160: // Ampere //biosig_channel_scale_to_unit(hc, "pA"); biosig_channel_change_scale_to_physdimcode(hc, 4181); break; } } /************************************************************************* read bulk data *************************************************************************/ biosig_data_type *data = biosig_get_data(hdr, 0); size_t SPR = biosig_get_number_of_samples(hdr); #ifdef _STFDEBUG std::cout << "Number of events: " << numberOfEvents << std::endl; /*int res = */ hdr2ascii(hdr, stdout, 4); #endif for (int NS=0; NS < numberOfChannels; ) { CHANNEL_TYPE *hc = biosig_get_channel(hdr, NS); Channel TempChannel(nsections); TempChannel.SetChannelName(biosig_channel_get_label(hc)); TempChannel.SetYUnits(biosig_channel_get_physdim(hc)); for (size_t ns=1; ns<=nsections; ns++) { size_t SPS = SegIndexList[ns]-SegIndexList[ns-1]; // length of segment, samples per segment int progbar = int(100.0*(1.0*ns/nsections + NS)/numberOfChannels); std::ostringstream progStr; progStr << "Reading channel #" << NS + 1 << " of " << numberOfChannels << ", Section #" << ns << " of " << nsections; progDlg.Update(progbar, progStr.str()); /* unused // char sweepname[20]; sprintf(sweepname,"sweep %i",(int)ns); */ Section TempSection( SPS, // TODO: hdr->nsamplingpoints[nc][ns] "" // TODO: hdr->sectionname[nc][ns] ); std::copy(&(data[NS*SPR + SegIndexList[ns-1]]), &(data[NS*SPR + SegIndexList[ns]]), TempSection.get_w().begin() ); try { TempChannel.InsertSection(TempSection, ns-1); } catch (...) { ReturnData.resize(0); destructHDR(hdr); return type; } } try { if ((int)ReturnData.size() < numberOfChannels) { ReturnData.resize(numberOfChannels); } ReturnData.InsertChannel(TempChannel, NS++); } catch (...) { ReturnData.resize(0); destructHDR(hdr); return type; } } free(SegIndexList); ReturnData.SetComment ( biosig_get_recording_id(hdr) ); sprintf(str,"v%i.%i.%i (compiled on %s %s)",BIOSIG_VERSION_MAJOR,BIOSIG_VERSION_MINOR,BIOSIG_PATCHLEVEL,__DATE__,__TIME__); std::string Desc = std::string("importBiosig with libbiosig ")+std::string(str) + " "; const char* tmpstr; if ((tmpstr=biosig_get_technician(hdr))) Desc += std::string ("\nTechnician:\t") + std::string (tmpstr) + " "; Desc += std::string( "\nCreated with: "); if ((tmpstr=biosig_get_manufacturer_name(hdr))) Desc += std::string( tmpstr ) + " "; if ((tmpstr=biosig_get_manufacturer_model(hdr))) Desc += std::string( tmpstr ) + " "; if ((tmpstr=biosig_get_manufacturer_version(hdr))) Desc += std::string( tmpstr ) + " "; if ((tmpstr=biosig_get_manufacturer_serial_number(hdr))) Desc += std::string( tmpstr ) + " "; Desc += std::string ("\nUser specified Annotations:\n")+annotationTableDesc; ReturnData.SetFileDescription(Desc); #if (BIOSIG_VERSION > 10509) tmpstr = biosig_get_application_specific_information(hdr); if (tmpstr != NULL) /* MSVC2008 can not properly handle std::string( (char*)NULL ) */ ReturnData.SetGlobalSectionDescription(tmpstr); #endif ReturnData.SetXScale(1000.0/biosig_get_samplerate(hdr)); ReturnData.SetXUnits("ms"); ReturnData.SetScaling("biosig scaling factor"); /************************************************************************* Date and time conversion *************************************************************************/ struct tm T; biosig_get_startdatetime(hdr, &T); ReturnData.SetDateTime(T); destructHDR(hdr); #else // #ifndef __LIBBIOSIG2_H__ HDRTYPE* hdr = sopen( fName.c_str(), "r", NULL ); if (hdr==NULL) { ReturnData.resize(0); return stfio::none; } type = stfio_file_type(hdr); #if !defined(BIOSIG_VERSION) || (BIOSIG_VERSION < 10501) if (hdr->TYPE==ABF) { /* biosig v1.5.0 and earlier does not always return with a proper error message for ABF files. This causes problems with the ABF fallback mechanism */ #else if ( hdr->TYPE==ABF2 ) { // ABF2 support should be handled by importABF not importBiosig ReturnData.resize(0); destructHDR(hdr); return type; } if (hdr->TYPE==ABF && hdr->AS.B4C_ERRNUM) { /* this triggers the fall back mechanims w/o reporting an error message */ #endif ReturnData.resize(0); destructHDR(hdr); // free allocated memory return type; } #if defined(BIOSIG_VERSION) && (BIOSIG_VERSION > 10400) if (hdr->AS.B4C_ERRNUM) { #else if (B4C_ERRNUM) { #endif ReturnData.resize(0); destructHDR(hdr); // free allocated memory return type; } if ( hdr->TYPE==ATF || hdr->TYPE==HDF) { // ATF, HDF5 support should be handled by importATF and importHDF5 not importBiosig ReturnData.resize(0); destructHDR(hdr); return type; } // earlier versions of biosig support only the file type identification, but did not read AXG files #if defined(BIOSIG_VERSION) && (BIOSIG_VERSION > 10403) if ( (BIOSIG_VERSION < 10600) && (hdr->TYPE==AXG) ) { // biosig's AXG import crashes on Windows at this time ReturnData.resize(0); destructHDR(hdr); return type; } #endif // ensure the event table is in chronological order sort_eventtable(hdr); // allocate local memory for intermediate results; const int strSize=100; char str[strSize]; /* count sections and generate list of indices indicating start and end of sweeps */ size_t numberOfEvents = hdr->EVENT.N; size_t LenIndexList = 256; if (LenIndexList > numberOfEvents) LenIndexList = numberOfEvents + 2; size_t *SegIndexList = (size_t*)malloc(LenIndexList*sizeof(size_t)); uint32_t nsections = 0; SegIndexList[nsections] = 0; size_t MaxSectionLength = 0; for (size_t k=0; k <= numberOfEvents; k++) { if (LenIndexList <= nsections+2) { // allocate more memory as needed LenIndexList *=2; SegIndexList = (size_t*)realloc(SegIndexList, LenIndexList*sizeof(size_t)); } /* count number of sections and stores it in nsections; EVENT.TYP==0x7ffe indicate number of breaks between sweeps SegIndexList includes index to first sample and index to last sample, thus, the effective length of SegIndexList is the number of 0x7ffe plus two. */ if (0) ; else if (k >= hdr->EVENT.N) SegIndexList[++nsections] = hdr->NRec*hdr->SPR; else if (hdr->EVENT.TYP[k]==0x7ffe) SegIndexList[++nsections] = hdr->EVENT.POS[k]; else continue; size_t SPS = SegIndexList[nsections]-SegIndexList[nsections-1]; // length of segment, samples per segment if (MaxSectionLength < SPS) MaxSectionLength = SPS; } int numberOfChannels = 0; for (int k=0; k < hdr->NS; k++) if (hdr->CHANNEL[k].OnOff==1) numberOfChannels++; /************************************************************************* rescale data to mV and pA *************************************************************************/ for (int ch=0; ch < hdr->NS; ++ch) { CHANNEL_TYPE *hc = hdr->CHANNEL+ch; if (hc->OnOff != 1) continue; double scale = PhysDimScale(hc->PhysDimCode); switch (hc->PhysDimCode & 0xffe0) { case 4256: // Volt hc->PhysDimCode = 4274; // = PhysDimCode("mV"); scale *=1e3; // V->mV hc->PhysMax *= scale; hc->PhysMin *= scale; hc->Cal *= scale; hc->Off *= scale; break; case 4160: // Ampere hc->PhysDimCode = 4181; // = PhysDimCode("pA"); scale *=1e12; // A->pA hc->PhysMax *= scale; hc->PhysMin *= scale; hc->Cal *= scale; hc->Off *= scale; break; } } /************************************************************************* read bulk data *************************************************************************/ hdr->FLAG.ROW_BASED_CHANNELS = 0; /* size_t blks = */ sread(NULL, 0, hdr->NRec, hdr); biosig_data_type *data = hdr->data.block; size_t SPR = hdr->NRec*hdr->SPR; #ifdef _STFDEBUG std::cout << "Number of events: " << numberOfEvents << std::endl; /*int res = */ hdr2ascii(hdr, stdout, 4); #endif int NS = 0; // number of non-empty channels for (size_t nc=0; nc < hdr->NS; ++nc) { if (hdr->CHANNEL[nc].OnOff == 0) continue; Channel TempChannel(nsections); TempChannel.SetChannelName(hdr->CHANNEL[nc].Label); #if defined(BIOSIG_VERSION) && (BIOSIG_VERSION > 10301) TempChannel.SetYUnits(PhysDim3(hdr->CHANNEL[nc].PhysDimCode)); #else PhysDim(hdr->CHANNEL[nc].PhysDimCode,str); TempChannel.SetYUnits(str); #endif for (size_t ns=1; ns<=nsections; ns++) { size_t SPS = SegIndexList[ns]-SegIndexList[ns-1]; // length of segment, samples per segment int progbar = 100.0*(1.0*ns/nsections + NS)/numberOfChannels; std::ostringstream progStr; progStr << "Reading channel #" << NS + 1 << " of " << numberOfChannels << ", Section #" << ns << " of " << nsections; progDlg.Update(progbar, progStr.str()); /* unused // char sweepname[20]; sprintf(sweepname,"sweep %i",(int)ns); */ Section TempSection( SPS, // TODO: hdr->nsamplingpoints[nc][ns] "" // TODO: hdr->sectionname[nc][ns] ); std::copy(&(data[NS*SPR + SegIndexList[ns-1]]), &(data[NS*SPR + SegIndexList[ns]]), TempSection.get_w().begin() ); try { TempChannel.InsertSection(TempSection, ns-1); } catch (...) { ReturnData.resize(0); destructHDR(hdr); return type; } } try { if ((int)ReturnData.size() < numberOfChannels) { ReturnData.resize(numberOfChannels); } ReturnData.InsertChannel(TempChannel, NS++); } catch (...) { ReturnData.resize(0); destructHDR(hdr); return type; } } free(SegIndexList); ReturnData.SetComment ( hdr->ID.Recording ); sprintf(str,"v%i.%i.%i (compiled on %s %s)",BIOSIG_VERSION_MAJOR,BIOSIG_VERSION_MINOR,BIOSIG_PATCHLEVEL,__DATE__,__TIME__); std::string Desc = std::string("importBiosig with libbiosig ")+std::string(str); if (hdr->ID.Technician) Desc += std::string ("\nTechnician:\t") + std::string (hdr->ID.Technician); Desc += std::string( "\nCreated with: "); if (hdr->ID.Manufacturer.Name) Desc += std::string( hdr->ID.Manufacturer.Name ); if (hdr->ID.Manufacturer.Model) Desc += std::string( hdr->ID.Manufacturer.Model ); if (hdr->ID.Manufacturer.Version) Desc += std::string( hdr->ID.Manufacturer.Version ); if (hdr->ID.Manufacturer.SerialNumber) Desc += std::string( hdr->ID.Manufacturer.SerialNumber ); Desc += std::string ("\nUser specified Annotations:\n"); for (size_t k=0; k < numberOfEvents; k++) { if (hdr->EVENT.TYP[k] < 256) { sprintf(str,"%f s:\t",hdr->EVENT.POS[k]/hdr->EVENT.SampleRate); Desc += std::string( str ); Desc += std::string( hdr->EVENT.CodeDesc[hdr->EVENT.TYP[k]] ) + "\n"; } } ReturnData.SetFileDescription(Desc); // hdr->AS.bci2000 is an alias to hdr->AS.fpulse, which available only in libbiosig v1.6.0 or later if (hdr->AS.bci2000) ReturnData.SetGlobalSectionDescription(std::string(hdr->AS.bci2000)); ReturnData.SetXScale(1000.0/hdr->SampleRate); ReturnData.SetXUnits("ms"); ReturnData.SetScaling("biosig scaling factor"); /************************************************************************* Date and time conversion *************************************************************************/ struct tm T; #if (BIOSIG_VERSION_MAJOR > 0) gdf_time2tm_time_r(hdr->T0, &T); #else struct tm* Tp; Tp = gdf_time2tm_time(hdr->T0); T = *Tp; #endif ReturnData.SetDateTime(T); destructHDR(hdr); #endif return stfio::biosig; } // ===================================================================================================================== // // Save file with libbiosig into GDF format // // There basically two implementations, one with libbiosig before v1.6.0 and // and one for libbiosig v1.6.0 and later // // ===================================================================================================================== bool stfio::exportBiosigFile(const std::string& fName, const Recording& Data, stfio::ProgressInfo& progDlg) { /* converts the internal data structure to libbiosig's internal structure and saves the file as gdf file. The data in converted into the raw data format, and not into the common data matrix. */ #ifdef __LIBBIOSIG2_H__ size_t numberOfChannels = Data.size(); HDRTYPE* hdr = constructHDR(numberOfChannels, 0); /* Initialize all header parameters */ biosig_set_filetype(hdr, GDF); biosig_set_startdatetime(hdr, Data.GetDateTime()); const char *xunits = Data.GetXUnits().c_str(); uint16_t pdc = PhysDimCode(xunits); if ((pdc & 0xffe0) != PhysDimCode("s")) { fprintf(stderr,"Stimfit exportBiosigFile: xunits [%s] has not proper units, assume [ms]\n",Data.GetXUnits().c_str()); pdc = PhysDimCode("ms"); } double fs = 1.0/(PhysDimScale(pdc) * Data.GetXScale()); biosig_set_samplerate(hdr, fs); #if (BIOSIG_VERSION < 10700) biosig_set_flags(hdr, 0, 0, 0); #else biosig_reset_flag(hdr, BIOSIG_FLAG_COMPRESSION | BIOSIG_FLAG_UCAL | BIOSIG_FLAG_OVERFLOWDETECTION | BIOSIG_FLAG_ROW_BASED_CHANNELS ); #endif size_t k, m, numberOfEvents=0; size_t NRec=0; // corresponds to hdr->NRec size_t SPR=1; // corresponds to hdr->SPR size_t chSPR=0; // corresponds to hc->SPR /* Initialize all channel parameters */ #ifndef DONOTUSE_DYNAMIC_ALLOCATION_FOR_CHANSPR size_t *chanSPR = (size_t*)malloc(numberOfChannels*sizeof(size_t)); #endif for (k = 0; k < numberOfChannels; ++k) { CHANNEL_TYPE *hc = biosig_get_channel(hdr, k); biosig_channel_set_datatype_to_double(hc); biosig_channel_set_scaling(hc, 1e9, -1e9, 1e9, -1e9); biosig_channel_set_label(hc, Data[k].GetChannelName().c_str()); biosig_channel_set_physdim(hc, Data[k].GetYUnits().c_str()); biosig_channel_set_filter(hc, NAN, NAN, NAN); biosig_channel_set_timing_offset(hc, 0.0); biosig_channel_set_impedance(hc, NAN); chSPR = SPR; // each segment gets one marker, roughly numberOfEvents += Data[k].size(); size_t m,len = 0; for (len=0, m = 0; m < Data[k].size(); ++m) { unsigned div = lround(Data[k][m].GetXScale()/Data.GetXScale()); chSPR = lcm(chSPR,div); // sampling interval of m-th segment in k-th channel len += div*Data[k][m].size(); } SPR = lcm(SPR, chSPR); /* hc->SPR (i.e. chSPR) is 'abused' to store final hdr->SPR/hc->SPR, this is corrected in the loop below its a hack to avoid the need for another malloc(). */ #ifdef DONOTUSE_DYNAMIC_ALLOCATION_FOR_CHANSPR biosig_channel_set_samples_per_record(hc, chSPR); #else chanSPR[k]=chSPR; #endif if (k==0) { NRec = len; } else if ((size_t)NRec != len) { destructHDR(hdr); throw std::runtime_error("File can't be exported:\n" "No data or traces have different sizes" ); return false; } } biosig_set_number_of_samples(hdr, NRec, SPR); size_t bpb = 0; for (k = 0; k < numberOfChannels; ++k) { CHANNEL_TYPE *hc = biosig_get_channel(hdr, k); // the 'abuse' of hc->SPR described above is corrected #ifdef DONOTUSE_DYNAMIC_ALLOCATION_FOR_CHANSPR size_t spr = biosig_channel_get_samples_per_record(hc); spr = SPR / spr; biosig_channel_set_samples_per_record(hc, spr); #else size_t spr = SPR/chanSPR[k]; chanSPR[k] = spr; #endif bpb += spr * 8; /* its always double */ } /*** build Event table for storing segment information pre-allocate memory for even table ***/ numberOfEvents *= 2; // about two events per segment biosig_set_number_of_events(hdr, numberOfEvents); /* check whether all segments have same size */ { char flag = (numberOfChannels > 0); size_t m, POS, pos; for (k=0; k < numberOfChannels; ++k) { pos = Data[k].size(); if (k==0) POS = pos; else flag &= (POS == pos); } for (m=0; flag && (m < Data[(size_t)0].size()); ++m) { for (k=0; k < biosig_get_number_of_channels(hdr); ++k) { pos = Data[k][m].size() * lround(Data[k][m].GetXScale()/Data.GetXScale()); if (k==0) POS = pos; else flag &= (POS == pos); } } if (!flag) { destructHDR(hdr); throw std::runtime_error( "File can't be exported:\n" "Traces have different sizes or no channels found" ); return false; } } size_t N=0; k=0; size_t pos = 0; for (m=0; m < (Data[k].size()); ++m) { if (pos > 0) { uint16_t typ=0x7ffe; uint32_t pos32=pos; uint16_t chn=0; uint32_t dur=0; // set break marker biosig_set_nth_event(hdr, N++, &typ, &pos32, &chn, &dur, NULL, NULL); /* // set annotation const char *Desc = Data[k][m].GetSectionDescription().c_str(); if (Desc != NULL && strlen(Desc)>0) biosig_set_nth_event(hdr, N++, NULL, &pos32, &chn, &dur, NULL, Desc); // TODO */ } pos += Data[k][m].size() * lround(Data[k][m].GetXScale()/Data.GetXScale()); } biosig_set_number_of_events(hdr, N); biosig_set_eventtable_samplerate(hdr, fs); sort_eventtable(hdr); /* convert data into GDF rawdata from */ uint8_t *rawdata = (uint8_t*)malloc(bpb * NRec); size_t bi=0; for (k=0; k < numberOfChannels; ++k) { CHANNEL_TYPE *hc = biosig_get_channel(hdr, k); #ifdef DONOTUSE_DYNAMIC_ALLOCATION_FOR_CHANSPR size_t chSPR = biosig_channel_get_samples_per_record(hc); #else size_t chSPR = chanSPR[k]; #endif size_t m,n,len=0; for (m=0; m < Data[k].size(); ++m) { size_t div = lround(Data[k][m].GetXScale()/Data.GetXScale()); size_t div2 = SPR/div; // TODO: avoid using hdr->SPR // fprintf(stdout,"k,m,div,div2: %i,%i,%i,%i\n",(int)k,(int)m,(int)div,(int)div2); // for (n=0; n < Data[k][m].size(); ++n) { uint64_t val; double d = Data[k][m][n]; #if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(__APPLE__) val = htole64(*(uint64_t*)&d); #else val = *(uint64_t*)&d; #endif size_t p, spr = (len + n*div) / SPR; for (p=0; p < div2; p++) *(uint64_t*)(rawdata + bi + bpb * spr + p*8) = val; } len += div*Data[k][m].size(); } bi += chSPR*8; } #ifndef DONOTUSE_DYNAMIC_ALLOCATION_FOR_CHANSPR if (chanSPR) free(chanSPR); #endif /****************************** write to file *******************************/ std::string errorMsg("Exception while calling std::exportBiosigFile():\n"); hdr = sopen( fName.c_str(), "w", hdr ); if (serror2(hdr)) { errorMsg += biosig_get_errormsg(hdr); destructHDR(hdr); throw std::runtime_error(errorMsg.c_str()); return false; } ifwrite(rawdata, bpb, NRec, hdr); sclose(hdr); destructHDR(hdr); free(rawdata); #else // #ifndef __LIBBIOSIG2_H__ HDRTYPE* hdr = constructHDR(Data.size(), 0); assert(hdr->NS == Data.size()); /* Initialize all header parameters */ hdr->TYPE = GDF; #if (BIOSIG_VERSION >= 10508) /* transition in biosig to rename HDR->VERSION to HDR->Version to avoid name space conflict with macro VERSION */ hdr->Version = 3.0; // select latest supported version of GDF format #else hdr->VERSION = 3.0; // select latest supported version of GDF format #endif struct tm t = Data.GetDateTime(); hdr->T0 = tm_time2gdf_time(&t); const char *xunits = Data.GetXUnits().c_str(); #if (BIOSIG_VERSION_MAJOR > 0) uint16_t pdc = PhysDimCode(xunits); #else uint16_t pdc = PhysDimCode((char*)xunits); #endif if ((pdc & 0xffe0) == PhysDimCode("s")) { fprintf(stderr,"Stimfit exportBiosigFile: xunits [%s] has not proper units, assume [ms]\n",Data.GetXUnits().c_str()); pdc = PhysDimCode("ms"); } hdr->SampleRate = 1.0/(PhysDimScale(pdc) * Data.GetXScale()); hdr->SPR = 1; hdr->FLAG.UCAL = 0; hdr->FLAG.OVERFLOWDETECTION = 0; hdr->FILE.COMPRESSION = 0; /* Initialize all channel parameters */ size_t k, m; for (k = 0; k < hdr->NS; ++k) { CHANNEL_TYPE *hc = hdr->CHANNEL+k; hc->PhysMin = -1e9; hc->PhysMax = 1e9; hc->DigMin = -1e9; hc->DigMax = 1e9; hc->Cal = 1.0; hc->Off = 0.0; /* Channel descriptions. */ strncpy(hc->Label, Data[k].GetChannelName().c_str(), MAX_LENGTH_LABEL); #if (BIOSIG_VERSION_MAJOR > 0) hc->PhysDimCode = PhysDimCode(Data[k].GetYUnits().c_str()); #else hc->PhysDimCode = PhysDimCode((char*)Data[k].GetYUnits().c_str()); #endif hc->OnOff = 1; hc->LeadIdCode = 0; hc->TOffset = 0.0; hc->Notch = NAN; hc->LowPass = NAN; hc->HighPass = NAN; hc->Impedance= NAN; hc->SPR = hdr->SPR; hc->GDFTYP = 17; // double // each segment gets one marker, roughly hdr->EVENT.N += Data[k].size(); size_t m,len = 0; for (len=0, m = 0; m < Data[k].size(); ++m) { unsigned div = lround(Data[k][m].GetXScale()/Data.GetXScale()); hc->SPR = lcm(hc->SPR,div); // sampling interval of m-th segment in k-th channel len += div*Data[k][m].size(); } hdr->SPR = lcm(hdr->SPR, hc->SPR); if (k==0) { hdr->NRec = len; } else if ((size_t)hdr->NRec != len) { destructHDR(hdr); throw std::runtime_error("File can't be exported:\n" "No data or traces have different sizes" ); return false; } } hdr->AS.bpb = 0; for (k = 0; k < hdr->NS; ++k) { CHANNEL_TYPE *hc = hdr->CHANNEL+k; hc->SPR = hdr->SPR / hc->SPR; hc->bi = hdr->AS.bpb; hdr->AS.bpb += hc->SPR * 8; /* its always double */ } /*** build Event table for storing segment information ***/ size_t N = hdr->EVENT.N * 2; // about two events per segment hdr->EVENT.POS = (uint32_t*)realloc(hdr->EVENT.POS, N * sizeof(*hdr->EVENT.POS)); hdr->EVENT.DUR = (uint32_t*)realloc(hdr->EVENT.DUR, N * sizeof(*hdr->EVENT.DUR)); hdr->EVENT.TYP = (uint16_t*)realloc(hdr->EVENT.TYP, N * sizeof(*hdr->EVENT.TYP)); hdr->EVENT.CHN = (uint16_t*)realloc(hdr->EVENT.CHN, N * sizeof(*hdr->EVENT.CHN)); #if (BIOSIG_VERSION >= 10500) hdr->EVENT.TimeStamp = (gdf_time*)realloc(hdr->EVENT.TimeStamp, N * sizeof(gdf_time)); #endif /* check whether all segments have same size */ { char flag = (hdr->NS>0); size_t m, POS, pos; for (k=0; k < hdr->NS; ++k) { pos = Data[k].size(); if (k==0) POS = pos; else flag &= (POS == pos); } for (m=0; flag && (m < Data[(size_t)0].size()); ++m) { for (k=0; k < hdr->NS; ++k) { pos = Data[k][m].size() * lround(Data[k][m].GetXScale()/Data.GetXScale()); if (k==0) POS = pos; else flag &= (POS == pos); } } if (!flag) { destructHDR(hdr); throw std::runtime_error( "File can't be exported:\n" "Traces have different sizes or no channels found" ); return false; } } N=0; k=0; size_t pos = 0; for (m=0; m < (Data[k].size()); ++m) { if (pos > 0) { // start of new segment after break hdr->EVENT.POS[N] = pos; hdr->EVENT.TYP[N] = 0x7ffe; hdr->EVENT.CHN[N] = 0; hdr->EVENT.DUR[N] = 0; N++; } #if 0 // event description hdr->EVENT.POS[N] = pos; FreeTextEvent(hdr, N, "myevent"); //FreeTextEvent(hdr, N, Data[k][m].GetSectionDescription().c_str()); // TODO hdr->EVENT.CHN[N] = k; hdr->EVENT.DUR[N] = 0; N++; #endif pos += Data[k][m].size() * lround(Data[k][m].GetXScale()/Data.GetXScale()); } hdr->EVENT.N = N; hdr->EVENT.SampleRate = hdr->SampleRate; sort_eventtable(hdr); /* convert data into GDF rawdata from */ hdr->AS.rawdata = (uint8_t*)realloc(hdr->AS.rawdata, hdr->AS.bpb*hdr->NRec); for (k=0; k < hdr->NS; ++k) { CHANNEL_TYPE *hc = hdr->CHANNEL+k; size_t m,n,len=0; for (m=0; m < Data[k].size(); ++m) { size_t div = lround(Data[k][m].GetXScale()/Data.GetXScale()); size_t div2 = hdr->SPR/div; // fprintf(stdout,"k,m,div,div2: %i,%i,%i,%i\n",(int)k,(int)m,(int)div,(int)div2); // for (n=0; n < Data[k][m].size(); ++n) { uint64_t val; double d = Data[k][m][n]; #if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(__APPLE__) val = htole64(*(uint64_t*)&d); #else val = *(uint64_t*)&d; #endif size_t p, spr = (len + n*div) / hdr->SPR; for (p=0; p < div2; p++) *(uint64_t*)(hdr->AS.rawdata + hc->bi + hdr->AS.bpb * spr + p*8) = val; } len += div*Data[k][m].size(); } } /****************************** write to file *******************************/ std::string errorMsg("Exception while calling std::exportBiosigFile():\n"); hdr = sopen( fName.c_str(), "w", hdr ); #if (BIOSIG_VERSION > 10400) if (serror2(hdr)) { errorMsg += hdr->AS.B4C_ERRMSG; #else if (serror()) { errorMsg += B4C_ERRMSG; #endif destructHDR(hdr); throw std::runtime_error(errorMsg.c_str()); return false; } ifwrite(hdr->AS.rawdata, hdr->AS.bpb, hdr->NRec, hdr); sclose(hdr); destructHDR(hdr); #endif return true; } stimfit-0.14.11/src/libstfio/igor/0000755000175200017520000000000012623045305013704 500000000000000stimfit-0.14.11/src/libstfio/igor/igorlib.cpp0000755000175200017520000001570012277666257016011 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // Export Igor binary waves from stimfit // last revision: 2007-05-07 // CSH, University of Freiburg // Most of this was shamelessly copied from Wavemetrics' sample code. // Blame them for bugs. /* The code in this file writes a sample Igor Pro packed experiment file. See Igor Pro Tech Note PTN#003 for details. */ #include #include #include #include // For offsetof macro. #include #if !defined(_WINDOWS) || defined(__MINGW32__) #include "../abf/axon/Common/unix.h" #endif #include "./igorlib.h" #include "../recording.h" // Headers taken from Wavemetrics' demo files: #ifdef __cplusplus extern "C" { #endif #include "../igor/IgorBin.h" #include "../igor/CrossPlatformFileIO.h" int WriteVersion5NumericWave(CP_FILE_REF fr, WaveHeader5* whp, const void* data, const char* waveNote, long noteSize); #ifdef __cplusplus } #endif namespace stfio { std::string IGORError(const std::string& msg, int nError); // Check compatibility before exporting: bool CheckComp(const Recording& ReturnData); } std::string stfio::IGORError(const std::string& msg, int error) { std::ostringstream ret; ret << "Error # " << error << " while writing Igor packed experiment:\n" << msg; return ret.str(); } bool stfio::CheckComp(const Recording& Data) { std::size_t oldSize=0; if (!Data.get().empty() && !Data[0].get().empty()) { oldSize=Data[0][0].size(); } else { return false; } for (std::size_t n_c=0;n_c channel_name(Data.size()); bool ident=false; for (std::size_t n_c=0;n_c) Channel TempChannel(Data[n_c]); for (std::size_t n_s=0;n_s cpData.size() || Data[n_c][n_s].size() > TempChannel[n_s].size()) { throw std::out_of_range("Out of range exception in WriteVersion5NumericWave"); } std::copy( TempChannel[n_s].get_w().begin(), TempChannel[n_s].get_w().begin()+Data[n_c][n_s].size(), &cpData[n_s*wh.nDim[0]] ); } err=WriteVersion5NumericWave( fr, &wh, &cpData[0], waveNote.c_str(), (long)waveNote.length() ); if (err) { throw std::runtime_error( std::string(IGORError("Error in WriteVersion5NumericWave()\n", err).c_str()) ); } CPCloseFile(fr); } return true; } stimfit-0.14.11/src/libstfio/igor/IgorBin.h0000755000175200017520000002220712277666257015360 00000000000000// IgorBin.h -- structures and #defines for dealing with Igor binary data. #ifdef __cplusplus extern "C" { #endif // All structures written to disk are 2-byte-aligned. #if GENERATINGPOWERPC #pragma options align=mac68k #endif #define C_ASSERT(e) extern void __C_ASSERT__(int [(e)?1:-1]) #if 1 // def WIN32 #pragma pack(2) #endif #if ( __WORDSIZE == 64 ) || defined (__APPLE__) #define IGORLONG int #else #define IGORLONG long #endif typedef void** Handle; // From IgorMath.h #define NT_CMPLX 1 // Complex numbers. #define NT_FP32 2 // 32 bit fp numbers. #define NT_FP64 4 // 64 bit fp numbers. #define NT_I8 8 // 8 bit signed integer. Requires Igor Pro 2.0 or later. #define NT_I16 0x10 // 16 bit integer numbers. Requires Igor Pro 2.0 or later. #define NT_I32 0x20 // 32 bit integer numbers. Requires Igor Pro 2.0 or later. #define NT_UNSIGNED 0x40 // Makes above signed integers unsigned. Requires Igor Pro 3.0 or later. // From wave.h #define MAXDIMS 4 // From binary.h typedef struct BinHeader1 { short version; // Version number for backwards compatibility. IGORLONG wfmSize; // The size of the WaveHeader2 data structure plus the wave data plus 16 bytes of padding. short checksum; // Checksum over this header and the wave header. } BinHeader1; typedef struct BinHeader2 { short version; // Version number for backwards compatibility. IGORLONG wfmSize; // The size of the WaveHeader2 data structure plus the wave data plus 16 bytes of padding. IGORLONG noteSize; // The size of the note text. IGORLONG pictSize; // Reserved. Write zero. Ignore on read. short checksum; // Checksum over this header and the wave header. } BinHeader2; typedef struct BinHeader3 { short version; // Version number for backwards compatibility. IGORLONG wfmSize; // The size of the WaveHeader2 data structure plus the wave data plus 16 bytes of padding. IGORLONG noteSize; // The size of the note text. IGORLONG formulaSize; // The size of the dependency formula, if any. IGORLONG pictSize; // Reserved. Write zero. Ignore on read. short checksum; // Checksum over this header and the wave header. } BinHeader3; typedef struct BinHeader5 { short version; // Version number for backwards compatibility. short checksum; // Checksum over this header and the wave header. IGORLONG wfmSize; // The size of the WaveHeader5 data structure plus the wave data. IGORLONG formulaSize; // The size of the dependency formula, if any. IGORLONG noteSize; // The size of the note text. IGORLONG dataEUnitsSize; // The size of optional extended data units. IGORLONG dimEUnitsSize[MAXDIMS]; // The size of optional extended dimension units. IGORLONG dimLabelsSize[MAXDIMS]; // The size of optional dimension labels. IGORLONG sIndicesSize; // The size of string indicies if this is a text wave. IGORLONG optionsSize1; // Reserved. Write zero. Ignore on read. IGORLONG optionsSize2; // Reserved. Write zero. Ignore on read. } BinHeader5; // From wave.h #define MAX_WAVE_NAME2 18 // Maximum length of wave name in version 1 and 2 files. Does not include the trailing null. #define MAX_WAVE_NAME5 31 // Maximum length of wave name in version 5 files. Does not include the trailing null. #define MAX_UNIT_CHARS 3 // Header to an array of waveform data. struct WaveHeader2 { short type; // See types (e.g. NT_FP64) above. Zero for text waves. struct WaveHeader2 **next; // Used in memory only. Write zero. Ignore on read. char bname[MAX_WAVE_NAME2+2]; // Name of wave plus trailing null. short whVersion; // Write 0. Ignore on read. short srcFldr; // Used in memory only. Write zero. Ignore on read. Handle fileName; // Used in memory only. Write zero. Ignore on read. char dataUnits[MAX_UNIT_CHARS+1]; // Natural data units go here - null if none. char xUnits[MAX_UNIT_CHARS+1]; // Natural x-axis units go here - null if none. IGORLONG npnts; // Number of data points in wave. short aModified; // Used in memory only. Write zero. Ignore on read. double hsA,hsB; // X value for point p = hsA*p + hsB short wModified; // Used in memory only. Write zero. Ignore on read. short swModified; // Used in memory only. Write zero. Ignore on read. short fsValid; // True if full scale values have meaning. double topFullScale,botFullScale; // The min full scale value for wave. char useBits; // Used in memory only. Write zero. Ignore on read. char kindBits; // Reserved. Write zero. Ignore on read. void **formula; // Used in memory only. Write zero. Ignore on read. IGORLONG depID; // Used in memory only. Write zero. Ignore on read. unsigned IGORLONG creationDate; // DateTime of creation. Not used in version 1 files. char wUnused[2]; // Reserved. Write zero. Ignore on read. unsigned IGORLONG modDate; // DateTime of last modification. Handle waveNoteH; // Used in memory only. Write zero. Ignore on read. float wData[4]; // The start of the array of waveform data. }; typedef struct WaveHeader2 WaveHeader2; typedef WaveHeader2 *WavePtr2; typedef WavePtr2 *waveHandle2; struct WaveHeader5 { #if defined(_WINDOWS) && !defined(__MINGW32__) struct WaveHeader5 **next; // link to next wave in linked list. #else int next; #endif unsigned IGORLONG creationDate; // DateTime of creation. unsigned IGORLONG modDate; // DateTime of last modification. IGORLONG npnts; // Total number of points (multiply dimensions up to first zero). short type; // See types (e.g. NT_FP64) above. Zero for text waves. short dLock; // Reserved. Write zero. Ignore on read. char whpad1[6]; // Reserved. Write zero. Ignore on read. short whVersion; // Write 1. Ignore on read. char bname[MAX_WAVE_NAME5+1]; // Name of wave plus trailing null. IGORLONG whpad2; // Reserved. Write zero. Ignore on read. #if defined(_WINDOWS) && !defined(__MINGW32__) struct DataFolder **dFolder; // Used in memory only. Write zero. Ignore on read. #else int dFolder; // Used in memory only. Write zero. Ignore on read. #endif // Dimensioning info. [0] == rows, [1] == cols etc IGORLONG nDim[MAXDIMS]; // Number of of items in a dimension -- 0 means no data. double sfA[MAXDIMS]; // Index value for element e of dimension d = sfA[d]*e + sfB[d]. double sfB[MAXDIMS]; // SI units char dataUnits[MAX_UNIT_CHARS+1]; // Natural data units go here - null if none. char dimUnits[MAXDIMS][MAX_UNIT_CHARS+1]; // Natural dimension units go here - null if none. short fsValid; // TRUE if full scale values have meaning. short whpad3; // Reserved. Write zero. Ignore on read. double topFullScale,botFullScale; // The max and max full scale value for wave. #if defined(_WINDOWS) && !defined(__MINGW32__) Handle dataEUnits; // Used in memory only. Write zero. Ignore on read. Handle dimEUnits[MAXDIMS]; // Used in memory only. Write zero. Ignore on read. Handle dimLabels[MAXDIMS]; // Used in memory only. Write zero. Ignore on read. Handle waveNoteH; // Used in memory only. Write zero. Ignore on read. #else int dataEUnits; // Used in memory only. Write zero. Ignore on read. int dimEUnits[MAXDIMS]; // Used in memory only. Write zero. Ignore on read. int dimLabels[MAXDIMS]; // Used in memory only. Write zero. Ignore on read. int waveNoteH; // Used in memory only. Write zero. Ignore on read. #endif IGORLONG whUnused[16]; // Reserved. Write zero. Ignore on read. // The following stuff is considered private to Igor. short aModified; // Used in memory only. Write zero. Ignore on read. short wModified; // Used in memory only. Write zero. Ignore on read. short swModified; // Used in memory only. Write zero. Ignore on read. char useBits; // Used in memory only. Write zero. Ignore on read. char kindBits; // Reserved. Write zero. Ignore on read. #if defined(_WINDOWS) && !defined(__MINGW32__) void **formula; // Used in memory only. Write zero. Ignore on read. #else int formula; #endif IGORLONG depID; // Used in memory only. Write zero. Ignore on read. short whpad4; // Reserved. Write zero. Ignore on read. short srcFldr; // Used in memory only. Write zero. Ignore on read. #if defined(_WINDOWS) && !defined(__MINGW32__) Handle fileName; // Used in memory only. Write zero. Ignore on read. IGORLONG **sIndices; // Used in memory only. Write zero. Ignore on read. #else int fileName; // Used in memory only. Write zero. Ignore on read. int sIndices; // Used in memory only. Write zero. Ignore on read. #endif float wData[1]; // The start of the array of data. Must be 64 bit aligned. }; typedef struct WaveHeader5 WaveHeader5; typedef WaveHeader5 *WavePtr5; typedef WavePtr5 *WaveHandle5; #if GENERATINGPOWERPC #pragma options align=reset #endif #if 1 //def WIN32 #pragma pack() #endif // All structures written to disk are 2-byte-aligned. #ifdef __cplusplus } #endif stimfit-0.14.11/src/libstfio/igor/CrossPlatformFileIO.h0000755000175200017520000000222012277666257017646 00000000000000#define CP_FILE_OPEN_ERROR 10000 #define CP_FILE_CLOSE_ERROR 10001 #define CP_FILE_EOF_ERROR 10002 #define CP_FILE_READ_ERROR 10003 #define CP_FILE_WRITE_ERROR 10004 #define CP_FILE_POS_ERROR 10005 #define CP_FILE_REF FILE* #if ( __WORDSIZE == 64 ) || defined (__APPLE__) #define IGORLONG int #else #define IGORLONG long #endif int CPCreateFile(const char* fullFilePath, int overwrite); int CPDeleteFile(const char* fullFilePath); int CPOpenFile(const char* fullFilePath, int readOrWrite, CP_FILE_REF* fileRefPtr); int CPCloseFile(CP_FILE_REF fileRef); int CPReadFile(CP_FILE_REF fileRef, unsigned long count, void* buffer, unsigned long* numBytesReadPtr); int CPReadFile2(CP_FILE_REF fileRef, unsigned long count, void* buffer, unsigned long* numBytesReadPtr); int CPWriteFile(CP_FILE_REF fileRef, unsigned long count, const void* buffer, unsigned long* numBytesWrittenPtr); int CPGetFilePosition(CP_FILE_REF fileRef, unsigned long* filePosPtr); int CPSetFilePosition(CP_FILE_REF fileRef, long filePos, int mode); int CPAtEndOfFile(CP_FILE_REF fileRef); int CPNumberOfBytesInFile(CP_FILE_REF fileRef, unsigned long* numBytesPtr); stimfit-0.14.11/src/libstfio/igor/WriteWave.c0000755000175200017520000001552312277666257015742 00000000000000// This file contains an example of writing a wave file. #include #include #include #include #include #include "IgorBin.h" #include "CrossPlatformFileIO.h" /* Checksum(data,oldcksum,numbytes) Returns shortwise simpleminded checksum over the data. ASSUMES data starts on an even boundary. */ static int Checksum(short *data, int oldcksum, int numbytes) { numbytes >>= 1; // 2 bytes to a short -- ignore trailing odd byte. while(numbytes-- > 0) oldcksum += *data++; return oldcksum&0xffff; } /* NumBytesPerPoint(int type) Given a numeric wave type, returns the number of data bytes per point. */ static int NumBytesPerPoint(int type) { int numBytesPerPoint; // Consider the number type, not including the complex bit or the unsigned bit. switch(type & ~(NT_CMPLX | NT_UNSIGNED)) { case NT_I8: numBytesPerPoint = 1; // char break; case NT_I16: numBytesPerPoint = 2; // short break; case NT_I32: numBytesPerPoint = 4; // IGORLONG break; case NT_FP32: numBytesPerPoint = 4; // float break; case NT_FP64: numBytesPerPoint = 8; // double break; default: return 0; break; } if (type & NT_CMPLX) numBytesPerPoint *= 2; // Complex wave - twice as many points. return numBytesPerPoint; } /* WriteVersion2NumericWave(fr, whp, data, waveNote, noteSize) Writes an Igor version 2 binary wave with the properties specified in whp, the data specified by data, and the wave note specified by waveNote and noteSize. Returns 0 or an error code. */ static int WriteVersion2NumericWave(CP_FILE_REF fr, WaveHeader2* whp, const void* data, const char* waveNote, long noteSize) { unsigned long numBytesToWrite; unsigned long numBytesWritten; unsigned long waveDataSize; int numBytesPerPoint; short cksum; BinHeader2 bh; char padding[16]; int err; numBytesPerPoint = NumBytesPerPoint(whp->type); if (numBytesPerPoint <= 0) { printf("Invalid wave type (0x%x).\n", whp->type); return -1; } waveDataSize = whp->npnts * numBytesPerPoint; // Prepare the BinHeader structure. memset(&bh,0,sizeof(struct BinHeader2)); bh.version = 2; bh.wfmSize = offsetof(WaveHeader2, wData) + waveDataSize + 16; // Includes 16 bytes padding. bh.noteSize = noteSize; /* The checksum is over the BinHeader2 structure and the WaveHeader2 structure. The wData field of the WaveHeader2 structure is assumed to contain the same data as the first 16 bytes of the actual wave data. This is necessary to get the correct checksum. */ cksum = Checksum((short *)&bh, 0, sizeof(struct BinHeader2)); cksum = Checksum((short *)whp, cksum, sizeof(struct WaveHeader2)); bh.checksum = -cksum; do { // Write the BinHeader. numBytesToWrite = sizeof(struct BinHeader2); err = CPWriteFile(fr, numBytesToWrite, &bh, &numBytesWritten); if (err) break; // Write the WaveHeader, up to but not including the wData field. numBytesToWrite = offsetof(WaveHeader2, wData); err = CPWriteFile(fr, numBytesToWrite, whp, &numBytesWritten); if (err) break; // Write the wave data. numBytesToWrite = waveDataSize; err = CPWriteFile(fr, numBytesToWrite, data, &numBytesWritten); if (err) break; // Write the 16 byte padding. memset(padding, 0, 16); // Write padding at the end of the wave data. numBytesToWrite = 16; err = CPWriteFile(fr, numBytesToWrite, padding, &numBytesWritten); if (err) break; // Now write optional data, in the correct order. // Write the wave note. numBytesToWrite = noteSize; if (numBytesToWrite > 0) { err = CPWriteFile(fr, numBytesToWrite, waveNote, &numBytesWritten); if (err) break; } } while(0); return err; } /* WriteVersion5NumericWave(fr, whp, data, waveNote, noteSize) Writes an Igor version 5 binary wave with the properties specified in whp, the data specified by data, and the wave note specified by waveNote and noteSize. Returns 0 or an error code. */ int WriteVersion5NumericWave(CP_FILE_REF fr, WaveHeader5* whp, const void* data, const char* waveNote, long noteSize) { unsigned long numBytesToWrite; unsigned long numBytesWritten; unsigned IGORLONG waveDataSize; int numBytesPerPoint; short cksum; BinHeader5 bh; int err; #ifdef _STFDEBUG printf("sizeof(short): %lu\n", sizeof(short)); printf("sizeof(int): %lu\n", sizeof(int)); printf("sizeof(long): %lu\n", sizeof(long)); printf("sizeof(IGORLONG): %lu\n", sizeof(IGORLONG)); printf("sizeof(unsigned long): %lu\n", sizeof(unsigned long)); printf("sizeof(unsigned IGORLONG): %lu\n", sizeof(unsigned IGORLONG)); printf("sizeof(float): %lu\n", sizeof(float)); printf("sizeof(double): %lu\n", sizeof(double)); printf("sizeof(void): %lu\n", sizeof(void)); printf("sizeof(void*): %lu\n", sizeof(void*)); printf("sizeof(void**): %lu\n", sizeof(void**)); #endif numBytesPerPoint = NumBytesPerPoint(whp->type); if (numBytesPerPoint <= 0) { printf("Invalid wave type (0x%x).\n", whp->type); return -1; } waveDataSize = whp->npnts * numBytesPerPoint; // Prepare the BinHeader structure. memset(&bh,0,sizeof(struct BinHeader5)); bh.version = 5; bh.wfmSize = offsetof(WaveHeader5, wData) + waveDataSize; bh.noteSize = noteSize; #ifdef _STFDEBUG printf("waveDataSize: %d\n", waveDataSize); printf("wfmSize: %d\n", bh.wfmSize); printf("noteSize: %d\n", bh.noteSize); #endif /* The checksum is over the BinHeader5 structure and the WaveHeader5 structure, excluding the wData field. */ cksum = Checksum((short *)&bh, 0, sizeof(BinHeader5)); #ifdef _STFDEBUG printf("%d\n", cksum); #endif cksum = Checksum((short *)whp, cksum, offsetof(WaveHeader5, wData)); bh.checksum = -cksum; #ifdef _STFDEBUG printf("%d\n", cksum); printf("%d\n", bh.checksum); #endif do { // Write the BinHeader. numBytesToWrite = sizeof(struct BinHeader5); err = CPWriteFile(fr, numBytesToWrite, &bh, &numBytesWritten); if (err) break; // Write the WaveHeader, up to but not including the wData field. numBytesToWrite = offsetof(WaveHeader5, wData); err = CPWriteFile(fr, numBytesToWrite, whp, &numBytesWritten); if (err) break; // Write the wave data. numBytesToWrite = waveDataSize; err = CPWriteFile(fr, numBytesToWrite, data, &numBytesWritten); if (err) break; // Now write optional data, in the correct order. // Write the wave note. numBytesToWrite = noteSize; if (numBytesToWrite > 0) { err = CPWriteFile(fr, numBytesToWrite, waveNote, &numBytesWritten); if (err) break; } } while(0); return err; } stimfit-0.14.11/src/libstfio/igor/CrossPlatformFileIO.c0000755000175200017520000002605612277666257017656 00000000000000// This file contains utilities for cross-platform file I/O. #include #include #include #include #include #if defined(WIN32) && !defined(__MINGW32__) #include #else #include "../abf/axon/Common/unix.h" #endif // The Windows headers create the WIN32 symbol if we are compiling for Windows. // Here, we create an analogous MACINTOSH symbol if we are compiling for Macintosh. #if (defined(GENERATINGPOWERPC) || defined(GENERATING68K)) #define MACINTOSH 1 #endif #include "CrossPlatformFileIO.h" /* CPCreateFile(fullFilePath, overwrite, macCreator, macFileType) Creates a file with the location and name specified by fullFilePath. fullFilePath must be a native path. If overwrite is true and a file by that name already exists, it first deletes the conflicting file. If overwrite is false and a file by that name exists, it returns an error. macFileType is ignored on Windows. On Macintosh, it is used to set the new file's type. For example, use 'TEXT' for a text file. macCreator is ignored on Windows. On Macintosh, it is used to set the new file's creator code. For example, use 'IGR0' (last character is zero) for an file. Returns 0 if OK or an error code. */ int CPCreateFile(const char* fullFilePath, int overwrite) { int err; err = 0; #if defined(_WINDOWS) && !defined(__MINGW32__) if (overwrite) // Delete file if it exists and if overwrite is specified. CPDeleteFile(fullFilePath); // Ignore error. #endif #ifdef MACINTOSH if (err = create(fullFilePath, 0, macCreator, macFileType)) return err; return 0; #endif { HANDLE fileH; long accessMode, shareMode; #if defined(_WINDOWS) && !defined(__MINGW32__) accessMode = GENERIC_READ | GENERIC_WRITE; shareMode = 0; fileH = CreateFileA(fullFilePath, accessMode, shareMode, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); #else fileH = fopen(fullFilePath, "w+b"); #endif if (fileH == INVALID_HANDLE_VALUE) #if defined(_WINDOWS) && !defined(__MINGW32__) err = GetLastError(); #else err = 1; #endif else #if defined(_WINDOWS) && !defined(__MINGW32__) CloseHandle(fileH); #else fclose(fileH); #endif return err; } } /* CPDeleteFile(fullFilePath) Deletes the file specified by fullFilePath. fullFilePath must be a native path. Returns 0 if OK or an error code. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ #if defined(_WINDOWS) && !defined(__MINGW32__) int CPDeleteFile(const char* fullFilePath) { #ifdef MACINTOSH int err; if (err = fsdelete(fullFilePath, 0)) return err; return 0; #endif { int err; err = 0; if (DeleteFileA(fullFilePath) == 0) err = GetLastError(); return err; } } #endif /* CPOpenFile(fullFilePath, readOrWrite, fileRefPtr) If readOrWrite is zero, opens an existing file for reading and returns a file reference via fileRefPtr. If readOrWrite is non-zero, opens an existing file for writing or creates a new file if none exists and returns a file reference via fileRefPtr. fullFilePath must be a native path. Returns 0 if OK or an error code. */ int CPOpenFile(const char* fullFilePath, int readOrWrite, CP_FILE_REF* fileRefPtr) { *fileRefPtr = fopen(fullFilePath, readOrWrite ? "wb" : "rb"); if (*fileRefPtr == NULL) return CP_FILE_OPEN_ERROR; return 0; } /* CPCloseFile(fileRef) Closes the referenced file. Returns 0 if OK or an error code. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPCloseFile(CP_FILE_REF fileRef) { if (fclose(fileRef)) return CP_FILE_CLOSE_ERROR; return 0; } /* CPReadFile(fileRef, count, buffer, numBytesReadPtr) Reads count bytes from the referenced file into the buffer. If numBytesReadPtr is not NULL, stores the number of bytes read in *numBytesReadPtr. Returns 0 if OK or an error code. If bytes remain to be read in the file and you ask to read more bytes than remain, the remaining bytes are returned and the function result is zero. If no bytes remain to be read in the file and you ask to read bytes, no bytes are returned and the function result is CP_FILE_EOF_ERROR. CPReadFile is appropriate when you are reading data of variable size, in which case you do not want to consider it an error if the end of file is reached before reading all of the bytes that you requested. If you are reading a record of fixed size, use use CPReadFile2 instead of CPReadFile. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPReadFile(CP_FILE_REF fileRef, unsigned long count, void* buffer, unsigned long* numBytesReadPtr) { unsigned long numBytesRead; if (count == 0) { if (numBytesReadPtr != NULL) *numBytesReadPtr = 0; return 0; } clearerr(fileRef); numBytesRead = (DWORD)fread(buffer, 1, count, fileRef); if (numBytesReadPtr != NULL) *numBytesReadPtr = numBytesRead; if (ferror(fileRef)) return CP_FILE_READ_ERROR; if (numBytesRead==0 && CPAtEndOfFile(fileRef)) return CP_FILE_EOF_ERROR; // We were at the end of file when asked to read some bytes. return 0; } /* CPReadFile2(fileRef, count, buffer, numBytesReadPtr) Reads count bytes from the referenced file into the buffer. If numBytesReadPtr is not NULL, stores the number of bytes read in *numBytesReadPtr. Returns 0 if OK or an error code. If bytes remain to be read in the file and you ask to read more bytes than remain, the remaining bytes are returned and the function result is CP_FILE_EOF_ERROR. CPReadFile2 is appropriate when you are reading a record of fixed size, in which case you want to consider it an error if the end of file is reached before reading all of the bytes in the record. If you are reading a record of variable size then you should use CPReadFile instead of CPReadFile2. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPReadFile2(CP_FILE_REF fileRef, unsigned long count, void* buffer, unsigned long* numBytesReadPtr) { unsigned long numBytesRead; if (count == 0) { if (numBytesReadPtr != NULL) *numBytesReadPtr = 0; return 0; } clearerr(fileRef); numBytesRead = (DWORD)fread(buffer, 1, count, fileRef); if (numBytesReadPtr != NULL) *numBytesReadPtr = numBytesRead; if (ferror(fileRef)) return CP_FILE_READ_ERROR; if (numBytesRead < count) { // We did not read all of the bytes requested. if (CPAtEndOfFile(fileRef)) return CP_FILE_EOF_ERROR; // We hit the end of file. return CP_FILE_READ_ERROR; // Some other occurred but ferror did not reflect it. } return 0; } /* CPWriteFile(fileRef, count, buffer, numBytesWrittenPtr) Writes count bytes from the buffer to the referenced file. If numBytesWrittenPtr is not NULL, stores the number of bytes written in *numBytesWrittenPtr. Returns 0 if OK or an error code. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPWriteFile(CP_FILE_REF fileRef, unsigned long count, const void* buffer, unsigned long* numBytesWrittenPtr) { unsigned long numBytesWritten; if (count == 0) { if (numBytesWrittenPtr != NULL) *numBytesWrittenPtr = 0; return 0; } numBytesWritten = (DWORD)fwrite(buffer, 1, count, fileRef); if (numBytesWrittenPtr != NULL) *numBytesWrittenPtr = numBytesWritten; if (numBytesWritten != count) return CP_FILE_WRITE_ERROR; return 0; } /* CPGetFilePosition(fileRef, filePosPtr) Returns via filePosPtr the current file position of the referenced file. Returns 0 if OK or an error code. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPGetFilePosition(CP_FILE_REF fileRef, unsigned long* filePosPtr) { long pos; pos = ftell(fileRef); if (pos == -1L) return CP_FILE_POS_ERROR; *filePosPtr = pos; return 0; } /* CPSetFilePosition(fileRef, filePos, mode) Sets the current file position in the referenced file. If mode is -1, then filePos is relative to the start of the file. If mode is 0, then filePos is relative to the current file position. If mode is 1, then filePos is relative to the end of the file. Returns 0 if OK or an error code. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPSetFilePosition(CP_FILE_REF fileRef, long filePos, int mode) { int seekMode; switch(mode) { case -1: seekMode = SEEK_SET; break; case 0: seekMode = SEEK_CUR; break; case 1: seekMode = SEEK_END; break; default: return CP_FILE_POS_ERROR; } if (fseek(fileRef, filePos, seekMode) != 0) return CP_FILE_POS_ERROR; return 0; } /* CPAtEndOfFile(fileRef) Returns 1 if the current file position is at the end of file, 0 if not. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPAtEndOfFile(CP_FILE_REF fileRef) { if (feof(fileRef)) // Hit end of file? return 1; return 0; } /* CPNumberOfBytesInFile(fileRef, numBytesPtr) Returns via numBytesPtr the total number of bytes in the referenced file. Returns 0 if OK or an error code. Added for Igor Pro 3.13 but works with any version. However, some error codes returned require Igor Pro 3.13 or later, so you will get bogus error messages if you return these error codes to earlier versions of Igor. */ int CPNumberOfBytesInFile(CP_FILE_REF fileRef, unsigned long* numBytesPtr) { long originalPos; originalPos = ftell(fileRef); if (fseek(fileRef, 0, SEEK_END) != 0) return CP_FILE_POS_ERROR; *numBytesPtr = ftell(fileRef); if (*numBytesPtr == -1L) return CP_FILE_POS_ERROR; if (fseek(fileRef, originalPos, SEEK_SET) != 0) return CP_FILE_POS_ERROR; return 0; } stimfit-0.14.11/src/libstfio/igor/igorlib.h0000755000175200017520000000240612277666257015455 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file igorlib.h * \author Christoph Schmidt-Hieber * \date 2008-01-23 * \brief Export Igor binary waves. */ #ifndef _IGORLIB_H #define _IGORLIB_H #include "./../stfio.h" class Recording; namespace stfio { //! Export a Recording to an Igor binary wave. /*! \param fName Full path to the file to be written. * \param WData The data to be exported. * \return At present, always returns 0. */ StfioDll bool exportIGORFile(const std::string& fName, const Recording& WData, ProgressInfo& progDlg); } #endif stimfit-0.14.11/src/libstfio/section.cpp0000755000175200017520000000366212277666257015072 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "./stfio.h" #include "./section.h" // Definitions------------------------------------------------------------ // Default constructor definition // For reasons why to use member initializer lists instead of assignments // within the constructor, see [1]248 and [2]28 Section::Section(void) : section_description(), x_scale(1.0), data(0) {} Section::Section( const Vector_double& valA, const std::string& label ) : section_description(label), x_scale(1.0), data(valA) {} Section::Section(std::size_t size, const std::string& label) : section_description(label), x_scale(1.0), data(size) {} Section::~Section(void) { } double Section::at(std::size_t at_) const { if (at_>=data.size()) { std::out_of_range e("subscript out of range in class Section"); throw (e); } return data[at_]; } double& Section::at(std::size_t at_) { if (at_>=data.size()) { std::out_of_range e("subscript out of range in class Section"); throw (e); } return data[at_]; } void Section::SetXScale( double value ) { if ( x_scale >= 0 ) x_scale=value; else throw std::runtime_error( "Attempt to set x-scale <= 0" ); } stimfit-0.14.11/src/libstfio/recording.cpp0000755000175200017520000002717012475053163015364 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "./stfio.h" #include "./recording.h" #include #include #include Recording::Recording(void) : ChannelArray(0) { init(); } Recording::Recording(const Channel& c_Channel) : ChannelArray(1,c_Channel) { init(); } Recording::Recording(const std::deque& ChannelList) : ChannelArray(ChannelList) { init(); } Recording::Recording(std::size_t c_n_channels, std::size_t c_n_sections, std::size_t c_n_points) : ChannelArray(c_n_channels, Channel(c_n_sections, c_n_points)) { init(); } void Recording::init() { file_description = "\0"; global_section_description = "\0"; scaling = "\0"; comment = "\0"; xunits = "ms" ; dt = 1.0; // get current time time_t timer; timer = time(0); memcpy(&datetime, localtime(&timer), sizeof(datetime)); cc = 0; sc = 1; cs = 0; selectedSections = std::vector(0); selectBase = Vector_double(0); } Recording::~Recording() { } const Channel& Recording::at(std::size_t n_c) const { try { return ChannelArray.at(n_c); } catch (...) { throw; } } Channel& Recording::at(std::size_t n_c) { try { return ChannelArray.at(n_c); } catch (...) { throw; } } const std::string& Recording::GetDate() { // TODO: there should be a more elegant way than using variable 'date' date.resize(128); struct tm t = GetDateTime(); snprintf((char*)date.c_str(), 128, "%04i-%02i-%02i", t.tm_year+1900, t.tm_mon+1, t.tm_mday); return date; }; const std::string& Recording::GetTime() { // TODO: there should be a more elegant way than using variable 'time0' time0.resize(128); struct tm t = GetDateTime(); snprintf((char*)time0.c_str(), 128, "%02i:%02i:%02i", t.tm_hour,t.tm_min,t.tm_sec); return time0; }; int Recording::SetDate(const std::string& value) { struct tm t = GetDateTime(); #if HAVE_STRPTIME_H strptime(value.c_str(), "%F", &t); #else if ( sscanf(value.c_str(),"%i-%i-%i", &t.tm_year, &t.tm_mon, &t.tm_mday) || sscanf(value.c_str(),"%i.%i.%i", &t.tm_mday, &t.tm_mon, &t.tm_year) || sscanf(value.c_str(),"%i/%i/%i", &t.tm_mon, &t.tm_mday, &t.tm_year) ) { t.tm_mon--; if (t.tm_year < 50) t.tm_year += 100; else if (t.tm_year < 139); else if (t.tm_year > 1900) t.tm_year -= 1900; } else { // TODO: error handling fprintf(stderr,"SetDate(%s) failed\n",value.c_str()); return(-1); } #endif SetDateTime(t); return(0); } int Recording::SetTime(const std::string& value) { struct tm t = GetDateTime(); #if HAVE_STRPTIME_H strptime(value.c_str(), "%T", &t); #else if ( sscanf(value.c_str(),"%i-%i-%i", &t.tm_hour, &t.tm_min, &t.tm_sec) || sscanf(value.c_str(),"%i.%i.%i", &t.tm_hour, &t.tm_min, &t.tm_sec) || sscanf(value.c_str(),"%i:%i:%i", &t.tm_hour, &t.tm_min, &t.tm_sec) ) { ; // everthing is fine } else { // TODO: error handling fprintf(stderr,"SetTime(%s) failed\n",value.c_str()); return(-1); } #endif SetDateTime(t); return(0); } int Recording::SetTime(int hour, int minute, int sec) { datetime.tm_hour=hour; datetime.tm_min=minute; datetime.tm_sec=sec; return(0); } int Recording::SetDate(int year, int month, int mday) { datetime.tm_year=year; datetime.tm_mon=month; datetime.tm_mday=mday; return(0); } void Recording::SetDateTime(int year, int month, int mday,int hour, int minute, int sec) { datetime.tm_year=year; datetime.tm_mon=month; datetime.tm_mday=mday; datetime.tm_hour=hour; datetime.tm_min=minute; datetime.tm_sec=sec; } void Recording::InsertChannel(Channel& c_Channel, std::size_t pos) { try { if ( ChannelArray.at(pos).size() <= c_Channel.size() ) { ChannelArray.at(pos).resize( c_Channel.size() ); } // Resize sections if necessary: std::size_t n_sec = 0; for ( sec_it sit = c_Channel.get().begin(); sit != c_Channel.get().end(); ++sit ) { if ( ChannelArray.at(pos).at(n_sec).size() <= sit->size() ) { ChannelArray.at(pos).at(n_sec).get_w().resize( sit->size() ); } n_sec++; } } catch (...) { throw; } ChannelArray.at(pos) = c_Channel; } void Recording::CopyAttributes(const Recording& c_Recording) { file_description=c_Recording.file_description; global_section_description=c_Recording.global_section_description; scaling=c_Recording.scaling; datetime=c_Recording.datetime; comment=c_Recording.comment; for ( std::size_t n_ch = 0; n_ch < c_Recording.size(); ++n_ch ) { if ( size() > n_ch ) { ChannelArray[n_ch].SetYUnits( c_Recording[n_ch].GetYUnits() ); } } dt=c_Recording.dt; } void Recording::resize(std::size_t c_n_channels) { ChannelArray.resize(c_n_channels); } size_t Recording::GetChannelSize(std::size_t n_channel) const { try { return ChannelArray.at(n_channel).size(); } catch (...) { throw; } } void Recording::SetCurChIndex(size_t value) { if (value>=get().size()) { throw std::out_of_range("channel out of range in Recording::SetCurChIndex()"); } cc=value; } void Recording::SetSecChIndex(size_t value) { if (value>=get().size() || value==cc) { throw std::out_of_range("channel out of range in Recording::SetSecChIndex()"); } sc=value; } void Recording::SetCurSecIndex( size_t value ) { if (value >= get()[cc].size()) { throw std::out_of_range("channel out of range in Recording::SetCurSecIndex()"); } cs=value; } void Recording::SelectTrace(std::size_t sectionToSelect, std::size_t base_start, std::size_t base_end) { // Check range so that sectionToSelect can be used // without checking again: if (sectionToSelect>=curch().size()) { std::out_of_range e("subscript out of range in Recording::SelectTrace\n"); throw e; } selectedSections.push_back(sectionToSelect); double sumY=0; if (curch()[sectionToSelect].size()==0) { selectBase.push_back(0); } else { int start = base_start; int end = base_end; if (start > (int)curch()[sectionToSelect].size()-1) start = curch()[sectionToSelect].size()-1; if (start < 0) start = 0; if (end > (int)curch()[sectionToSelect].size()-1) end = curch()[sectionToSelect].size()-1; if (end < 0) end = 0; #ifdef _OPENMP #pragma omp parallel for reduction(+:sumY) #endif for (int i=start; i<=end; i++) { sumY += curch()[sectionToSelect][i]; } int n=(int)(end-start+1); selectBase.push_back(sumY/n); } } bool Recording::UnselectTrace(std::size_t sectionToUnselect) { //verify whether the trace has really been selected and find the //number of the trace within the selectedTraces array: bool traceSelected=false; std::size_t traceToRemove=0; for (std::size_t n=0; n < selectedSections.size() && !traceSelected; ++n) { if (selectedSections[n] == sectionToUnselect) traceSelected=true; if (traceSelected) traceToRemove=n; } //Shift the selectedTraces array by one position, beginning //with the trace to remove: if (traceSelected) { //shift traces by one position: for (std::size_t k=traceToRemove; k < GetSelectedSections().size()-1; ++k) { selectedSections[k]=selectedSections[k+1]; selectBase[k]=selectBase[k+1]; } // resize vectors: selectedSections.resize(selectedSections.size()-1); selectBase.resize(selectBase.size()-1); return true; } else { //msgbox return false; } } void Recording::SetXScale(double value) { dt=value; for (ch_it it1 = ChannelArray.begin(); it1 != ChannelArray.end(); it1++) { for (sec_it it2 = it1->get().begin(); it2 != it1->get().end(); it2++) { it2->SetXScale(value); } } } void Recording::MakeAverage(Section& AverageReturn, Section& SigReturn, std::size_t channel, const std::vector& section_index, bool isSig, const std::vector& shift) const { if (channel >= ChannelArray.size()) { throw std::out_of_range("Channel number out of range in Recording::MakeAverage"); } unsigned int n_sections = section_index.size(); if (shift.size() != n_sections) { throw std::out_of_range("Shift out of range in Recording::MakeAverage"); } for (unsigned int l = 0; l < n_sections; ++l) { if (section_index[l] >= ChannelArray[channel].size()) { throw std::out_of_range("Section number out of range in Recording::MakeAverage"); } if (AverageReturn.size() + shift[l] > ChannelArray[channel][section_index[l]].size()) { throw std::out_of_range("Sampling point out of range in Recording::MakeAverage"); } } for (unsigned int k=0; k < AverageReturn.size(); ++k) { AverageReturn[k]=0.0; //Calculate average for (unsigned int l = 0; l < n_sections; ++l) { AverageReturn[k] += ChannelArray[channel][section_index[l]][k+shift[l]]; } AverageReturn[k] /= n_sections; // set sample interval of averaged traces AverageReturn.SetXScale(ChannelArray[channel][section_index[0]].GetXScale()); if (isSig) { SigReturn[k]=0.0; //Calculate variance for (unsigned int l=0; l < n_sections; ++l) { SigReturn[k] += pow(ChannelArray[channel][section_index[l]][k+shift[l]] - AverageReturn[k], 2); } SigReturn[k] /= (n_sections - 1); SigReturn[k]=sqrt(SigReturn[k]); } } } void Recording::AddRec(const Recording &toAdd) { // check number of channels: if (toAdd.size()!=size()) { throw std::runtime_error("Number of channels doesn't match"); } // check dt: if (toAdd.GetXScale()!=dt) { throw std::runtime_error("Sampling interval doesn't match"); } // add sections: std::deque< Channel >::iterator it; std::size_t n_c = 0; for (it = ChannelArray.begin();it != ChannelArray.end(); it++) { std::size_t old_size = it->size(); it->resize(toAdd[n_c].size()+old_size); for (std::size_t n_s=old_size;n_sInsertSection(toAdd[n_c].at(n_s-old_size),n_s); } catch (...) { throw; } } n_c++; } } stimfit-0.14.11/src/libstfio/heka/0000755000175200017520000000000012623045304013653 500000000000000stimfit-0.14.11/src/libstfio/heka/hekalib.cpp0000644000175200017520000010031112277666257015717 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file hekalib.cpp * \author Christoph Schmidt-Hieber * \date 2010-09-19 * \brief Import HEKA files. */ // Parts of this code were inspired by sigTOOL: // http://sigtool.sourceforge.net/ // Original comment for the Matlab file: //-------------------------------------------------------------------------- // Author: Malcolm Lidierth 12/09 // Copyright (c) The Author & King's College London 2009- //-------------------------------------------------------------------------- #include #include #include #include #include #include #include #include //required for std::swap #include "./hekalib.h" #include "../recording.h" #define C_ASSERT(e) extern void __C_ASSERT__(int [(e)?1:-1]) #define ByteSwap16(x) ByteSwap((unsigned char *) &x,sizeof(x)) #define ByteSwap32(x) ByteSwap((unsigned char *) &x,sizeof(x)) enum Level { root = 0, group, series, sweep, trace }; Level int2Level(int n) { switch (n) { case root: return root; case group: return group; case series: return series; case sweep: return sweep; case trace: return trace; default: return root; } } struct TreeEntry { TreeEntry(Level l, int c, int i) : level(l), counter(c), idx(i) {} Level level; int counter; int idx; }; // // pack structure on byte boundaries // #ifndef RC_INVOKED #pragma pack(push, 1) #endif struct BundleItem { int oStart; /* INT32 */ int oLength; /* INT32 */ char oExtension[8]; /* ARRAY[0..7] OF CHAR */ }; C_ASSERT(sizeof(BundleItem) == 16); struct BundleHeader { char oSignature[8]; /* 8 ARRAY[0..7] OF CHAR */ char oVersion[32]; /* 40 ARRAY[0..31] OF CHAR */ double oTime; /* 48 LONGREAL */ int oItems; /* 52 INT32 */ char oIsLittleEndian[12]; /* 64 BOOLEAN */ BundleItem oBundleItems[12]; /* 256 ARRAY[0..11] OF BundleItem */ }; C_ASSERT(sizeof(BundleHeader) == 256); struct TraceRecord { int TrMark; /* INT32 */ char TrLabel[32]; /* String32Type */ int TrTraceCount; /* INT32 */ int TrData; /* INT32 */ int TrDataPoints; /* INT32 */ int TrInternalSolution; /* INT32 */ int TrAverageCount; /* INT32 */ int TrLeakCount; /* INT32 */ int TrLeakTraces; /* INT32 */ short TrDataKind; /* SET16 */ short TrFiller1; /* SET16 */ char TrRecordingMode; /* BYTE */ char TrAmplIndex; /* CHAR */ char TrDataFormat; /* BYTE */ char TrDataAbscissa; /* BYTE */ double TrDataScaler; /* LONGREAL */ double TrTimeOffset; /* LONGREAL */ double TrZeroData; /* LONGREAL */ char TrYUnit[8]; /* String8Type */ double TrXInterval; /* LONGREAL */ double TrXStart; /* LONGREAL */ char TrXUnit[8]; /* String8Type */ double TrYRange; /* LONGREAL */ double TrYOffset; /* LONGREAL */ double TrBandwidth; /* LONGREAL */ double TrPipetteResistance; /* LONGREAL */ double TrCellPotential; /* LONGREAL */ double TrSealResistance; /* LONGREAL */ double TrCSlow; /* LONGREAL */ double TrGSeries; /* LONGREAL */ double TrRsValue; /* LONGREAL */ double TrGLeak; /* LONGREAL */ double TrMConductance; /* LONGREAL */ int TrLinkDAChannel; /* INT32 */ char TrValidYrange; /* BOOLEAN */ char TrAdcMode; /* CHAR */ short TrAdcChannel; /* INT16 */ double TrYmin; /* LONGREAL */ double TrYmax; /* LONGREAL */ int TrSourceChannel; /* INT32 */ int TrExternalSolution; /* INT32 */ double TrCM; /* LONGREAL */ double TrGM; /* LONGREAL */ double TrPhase; /* LONGREAL */ int TrDataCRC; /* CARD32 */ int TrCRC; /* CARD32 */ double TrGS; /* LONGREAL */ int TrSelfChannel; /* INT32 */ int TrFiller2; /* SET16 */ }; C_ASSERT(sizeof(TraceRecord) == 296); struct SweepRecord { int SwMark; /* INT32 */ char SwLabel[32]; /* String32Type */ int SwAuxDataFileOffset; /* INT32 */ int SwStimCount; /* INT32 */ int SwSweepCount; /* INT32 */ double SwTime; /* LONGREAL */ double SwTimer; /* LONGREAL */ double SwSwUserParams[4]; /* ARRAY[0..3] OF LONGREAL */ double SwTemperature; /* LONGREAL */ int SwOldIntSol; /* INT32 */ int SwOldExtSol; /* INT32 */ short SwDigitalIn; /* SET16 */ short SwSweepKind; /* SET16 */ int SwFiller1; /* INT32 */ double SwMarkers[4]; /* ARRAY[0..3] OF LONGREAL */ int SwFiller2; /* INT32 */ int SwCRC; /* CARD32 */ }; C_ASSERT(sizeof(SweepRecord) == 160); struct UserParamDescrType { char Name[32]; char Unit[8]; }; C_ASSERT(sizeof(UserParamDescrType) == 40); struct AmplifierState { char E9StateVersion[8]; /* 8 = SizeStateVersion */ double E9RealCurrentGain; /* LONGREAL */ double E9RealF2Bandwidth; /* LONGREAL */ double E9F2Frequency; /* LONGREAL */ double E9RsValue; /* LONGREAL */ double E9RsFraction; /* LONGREAL */ double E9GLeak; /* LONGREAL */ double E9CFastAmp1; /* LONGREAL */ double E9CFastAmp2; /* LONGREAL */ double E9CFastTau; /* LONGREAL */ double E9CSlow ; /* LONGREAL */ double E9GSeries ; /* LONGREAL */ double E9StimDacScale ; /* LONGREAL */ double E9CCStimScale ; /* LONGREAL */ double E9VHold ; /* LONGREAL */ double E9LastVHold ; /* LONGREAL */ double E9VpOffset ; /* LONGREAL */ double E9VLiquidJunction ; /* LONGREAL */ double E9CCIHold ; /* LONGREAL */ double E9CSlowStimVolts ; /* LONGREAL */ double E9CCTrackVHold ; /* LONGREAL */ double E9TimeoutLength ; /* LONGREAL */ double E9SearchDelay ; /* LONGREAL */ double E9MConductance ; /* LONGREAL */ double E9MCapacitance ; /* LONGREAL */ char E9SerialNumber[8] ; /* 8 = SizeSerialNumber */ short E9E9Boards ; /* INT16 */ short E9CSlowCycles ; /* INT16 */ short E9IMonAdc ; /* INT16 */ short E9VMonAdc ; /* INT16 */ short E9MuxAdc ; /* INT16 */ short E9TstDac ; /* INT16 */ short E9StimDac ; /* INT16 */ short E9StimDacOffset ; /* INT16 */ short E9MaxDigitalBit ; /* INT16 */ short E9SpareInt1 ; /* INT16 */ short E9SpareInt2 ; /* INT16 */ short E9SpareInt3 ; /* INT16 */ char E9AmplKind ; /* BYTE */ char E9IsEpc9N ; /* BYTE */ char E9ADBoard ; /* BYTE */ char E9BoardVersion ; /* BYTE */ char E9ActiveE9Board ; /* BYTE */ char E9Mode ; /* BYTE */ char E9Range ; /* BYTE */ char E9F2Response ; /* BYTE */ char E9RsOn ; /* BYTE */ char E9CSlowRange ; /* BYTE */ char E9CCRange ; /* BYTE */ char E9CCGain ; /* BYTE */ char E9CSlowToTstDac ; /* BYTE */ char E9StimPath ; /* BYTE */ char E9CCTrackTau ; /* BYTE */ char E9WasClipping ; /* BYTE */ char E9RepetitiveCSlow ; /* BYTE */ char E9LastCSlowRange ; /* BYTE */ char E9Locked ; /* BYTE */ char E9CanCCFast ; /* BYTE */ char E9CanLowCCRange ; /* BYTE */ char E9CanHighCCRange ; /* BYTE */ char E9CanCCTracking ; /* BYTE */ char E9HasVmonPath ; /* BYTE */ char E9HasNewCCMode ; /* BYTE */ char E9Selector ; /* CHAR */ char E9HoldInverted ; /* BYTE */ char E9AutoCFast ; /* BYTE */ char E9AutoCSlow ; /* BYTE */ char E9HasVmonX100 ; /* BYTE */ char E9TestDacOn ; /* BYTE */ char E9QMuxAdcOn ; /* BYTE */ double E9RealImon1Bandwidth ; /* LONGREAL */ double E9StimScale ; /* LONGREAL */ char E9Gain ; /* BYTE */ char E9Filter1 ; /* BYTE */ char E9StimFilterOn ; /* BYTE */ char E9RsSlow ; /* BYTE */ char E9Old1 ; /* BYTE */ char E9CCCFastOn ; /* BYTE */ char E9CCFastSpeed ; /* BYTE */ char E9F2Source ; /* BYTE */ char E9TestRange ; /* BYTE */ char E9TestDacPath ; /* BYTE */ char E9MuxChannel ; /* BYTE */ char E9MuxGain64 ; /* BYTE */ char E9VmonX100 ; /* BYTE */ char E9IsQuadro ; /* BYTE */ char E9SpareBool4 ; /* BYTE */ char E9SpareBool5 ; /* BYTE */ double E9StimFilterHz ; /* LONGREAL */ double E9RsTau ; /* LONGREAL */ short E9FilterOffsetDac ; /* INT16 */ short E9ReferenceDac ; /* INT16 */ short E9SpareInt6 ; /* INT16 */ short E9SpareInt7 ; /* INT16 */ char E9Spares1[24] ; char E9CalibDate[16]; /* 16 = SizeCalibDate */ double E9SelHold; /* LONGREAL */ char E9Spares2[32]; /* remaining */ }; C_ASSERT(sizeof(AmplifierState) == 400); struct LockInParams { /* see definition in AmplTreeFile_v9.txt */ double loExtCalPhase ; /* LONGREAL */ double loExtCalAtten ; /* LONGREAL */ double loPLPhase ; /* LONGREAL */ double loPLPhaseY1 ; /* LONGREAL */ double loPLPhaseY2 ; /* LONGREAL */ double loUsedPhaseShift ; /* LONGREAL */ double loUsedAttenuation ; /* LONGREAL */ char loSpares2[8] ; char loExtCalValid ; /* BOOLEAN */ char loPLPhaseValid ; /* BOOLEAN */ char loLockInMode ; /* BYTE */ char loCalMode ; /* BYTE */ char loSpares[28] ; /* remaining */ }; C_ASSERT(sizeof(LockInParams) == 96); struct SeriesRecord { int SeMark; /* INT32 */ char SeLabel[32]; /* String32Type */ char SeComment[80]; /* String80Type */ int SeSeriesCount; /* INT32 */ int SeNumberSweeps; /* INT32 */ int SeAmplStateOffset; /* INT32 */ int SeAmplStateSeries; /* INT32 */ char SeSeriesType; /* BYTE */ char SeFiller1; /* BYTE */ char SeFiller2; /* BYTE */ char SeFiller3; /* BYTE */ double SeTime; /* LONGREAL */ double SePageWidth; /* LONGREAL */ UserParamDescrType SeSwUserParamDescr[4]; /* ARRAY[0..3] OF UserParamDescrType = 4*40 */ char SeFiller4[32]; /* 32 BYTE */ double SeSeUserParams[4]; /* ARRAY[0..3] OF LONGREAL */ LockInParams SeLockInParams; /* SeLockInSize = 96, see "Pulsed.de" */ AmplifierState SeAmplifierState; /* AmplifierStateSize = 400 */ char SeUsername[80]; /* String80Type */ UserParamDescrType SeSeUserParamDescr[4]; /* ARRAY[0..3] OF UserParamDescrType = 4*40 */ int SeFiller5; /* INT32 */ int SeCRC; /* CARD32 */ }; C_ASSERT(sizeof(SeriesRecord) == 1120); struct GroupRecord { int GrMark; /* INT32 */ char GrLabel[32]; /* String32Size */ char GrText[80]; /* String80Size */ int GrExperimentNumber; /* INT32 */ int GrGroupCount ; /* INT32 */ int GrCRC ; /* CARD32 */ }; C_ASSERT(sizeof(GroupRecord) == 128); struct RootRecord { /* NOTE: The "Version" field must be at offset zero in the file while the "Mark" field must be at offset zero in RAM! */ int RoVersion ; /* INT32 */ int RoMark ; /* INT32 */ char RoVersionName[32]; /* String32Type */ char RoAuxFileName[80] ; /* String80Type */ char RoRootText[400] ; /* String400Type */ double RoStartTime ; /* LONGREAL */ int RoMaxSamples ; /* INT32 */ int RoCRC ; /* CARD32 */ short RoFeatures ; /* SET16 */ short RoFiller1 ; /* INT16 */ int RoFiller2 ; /* INT32 */ }; C_ASSERT(sizeof(RootRecord) == 544); #ifndef RC_INVOKED #pragma pack(pop) // return to default packing #endif struct Tree { std::vector RootList; std::vector GroupList; std::vector SeriesList; std::vector SweepList; std::vector TraceList; std::vector entries; bool needsByteSwap; }; void printHeader(const BundleHeader& header) { std::cout << header.oSignature << std::endl; std::string strsig(header.oSignature); if (strsig == "DATA") { throw std::runtime_error("DATA file format not supported at present"); } else if (strsig=="DAT1" || strsig=="DAT2") { // Newer format std::cout << header.oVersion << std::endl; std::cout << header.oTime << std::endl; std::cout << header.oItems << std::endl; std::cout << int(header.oIsLittleEndian[0]) << std::endl; if (strsig=="DAT1") { } else { // "DAT2" for (int k=0; k<12; ++k) { std::cout << header.oBundleItems[k].oStart << std::endl << header.oBundleItems[k].oLength << std::endl << header.oBundleItems[k].oExtension << std::endl; } } } } void ByteSwap(unsigned char * b, int n) { register int i = 0; register int j = n-1; while (i> 8) | (*uShort << 8)); } void ByteSwap32(void* ptr32) { unsigned int *uInt = (unsigned int *)ptr32; *uInt = (((*uInt & 0x000000FF)<<24) + ((*uInt & 0x0000FF00)<<8) + ((*uInt & 0x00FF0000)>>8) + ((*uInt & 0xFF000000)>>24)); } #endif void ShortByteSwap(short& s) { ByteSwap((unsigned char *) &s,sizeof(s)); } void FloatByteSwap(float& s) { ByteSwap((unsigned char *) &s,sizeof(s)); } void IntByteSwap(int& s) { ByteSwap((unsigned char *) &s,sizeof(s)); } void DoubleByteSwap(double& s) { ByteSwap((unsigned char *) &s,sizeof(s)); } void SwapItem(BundleItem& item) { ByteSwap32(item.oStart); ByteSwap32(item.oLength); } void SwapHeader(BundleHeader& header) { std::string strsig(header.oSignature); if (strsig == "DATA") { throw std::runtime_error("DATA file format not supported at present"); } else if (strsig=="DAT1" || strsig=="DAT2") { // Newer format ByteSwap32(header.oTime); ByteSwap32(header.oItems); if (strsig=="DAT1") { } else { // "DAT2" for (int k=0; k<12; ++k) { SwapItem(header.oBundleItems[k]); } } } } void SwapRoot(RootRecord& root) { ByteSwap32(root.RoVersion); ByteSwap32(root.RoMark); ByteSwap32(root.RoStartTime); ByteSwap32(root.RoMaxSamples); ByteSwap32(root.RoCRC); ByteSwap16(root.RoFeatures); ByteSwap16(root.RoFiller1); ByteSwap32(root.RoFiller2); } void SwapGroup(GroupRecord& group) { ByteSwap32(group.GrMark); /* INT32 */ ByteSwap32(group.GrExperimentNumber); /* INT32 */ ByteSwap32(group.GrGroupCount ); /* INT32 */ ByteSwap32(group.GrCRC ); /* CARD32 */ } void SwapSeries(SeriesRecord& series) { ByteSwap32(series.SeMark); /* INT32 */ ByteSwap32(series.SeSeriesCount); /* INT32 */ ByteSwap32(series.SeNumberSweeps); /* INT32 */ ByteSwap32(series.SeAmplStateOffset); /* INT32 */ ByteSwap32(series.SeAmplStateSeries); /* INT32 */ ByteSwap32(series.SeTime); /* LONGREAL */ ByteSwap32(series.SePageWidth); /* LONGREAL */ // TODO UserParamDescrType SeSwUserParamDescr[4]); /* ARRAY[0..3] OF UserParamDescrType = 4*40 */ // TODO SeSeUserParams[4]); /* ARRAY[0..3] OF LONGREAL */ // TODO LockInParams SeLockInParams); /* SeLockInSize = 96, see "Pulsed.de" */ // TODO AmplifierState SeAmplifierState); /* AmplifierStateSize = 400 */ // TODO UserParamDescrType SeSeUserParamDescr[4]); /* ARRAY[0..3] OF UserParamDescrType = 4*40 */ ByteSwap32(series.SeFiller5); /* INT32 */ ByteSwap32(series.SeCRC); /* CARD32 */ } void SwapSweep(SweepRecord& sweep) { ByteSwap32(sweep.SwMark); /* INT32 */ ByteSwap32(sweep.SwAuxDataFileOffset); /* INT32 */ ByteSwap32(sweep.SwStimCount); /* INT32 */ ByteSwap32(sweep.SwSweepCount); /* INT32 */ ByteSwap32(sweep.SwTime); /* LONGREAL */ ByteSwap32(sweep.SwTimer); /* LONGREAL */ // TODO SwSwUserParams[4]); /* ARRAY[0..3] OF LONGREAL */ ByteSwap32(sweep.SwTemperature); /* LONGREAL */ ByteSwap32(sweep.SwOldIntSol); /* INT32 */ ByteSwap32(sweep.SwOldExtSol); /* INT32 */ ByteSwap16(sweep.SwDigitalIn); /* SET16 */ ByteSwap16(sweep.SwSweepKind); /* SET16 */ ByteSwap32(sweep.SwFiller1); /* INT32 */ // TODO ByteSwap32(sweep.SwMarkers[4]); /* ARRAY[0..3] OF LONGREAL */ ByteSwap32(sweep.SwFiller2); /* INT32 */ ByteSwap32(sweep.SwCRC); /* CARD32 */ } void SwapTrace(TraceRecord& trace) { ByteSwap32(trace.TrMark); /* INT32 */ ByteSwap32(trace.TrTraceCount); /* INT32 */ ByteSwap32(trace.TrData); /* INT32 */ ByteSwap32(trace.TrDataPoints); /* INT32 */ ByteSwap32(trace.TrInternalSolution); /* INT32 */ ByteSwap32(trace.TrAverageCount); /* INT32 */ ByteSwap32(trace.TrLeakCount); /* INT32 */ ByteSwap32(trace.TrLeakTraces); /* INT32 */ ByteSwap16(trace.TrDataKind); /* SET16 */ ByteSwap16(trace.TrFiller1); /* SET16 */ ByteSwap32(trace.TrDataScaler); /* LONGREAL */ ByteSwap32(trace.TrTimeOffset); /* LONGREAL */ ByteSwap32(trace.TrZeroData); /* LONGREAL */ ByteSwap32(trace.TrXInterval); /* LONGREAL */ ByteSwap32(trace.TrXStart); /* LONGREAL */ ByteSwap32(trace.TrYRange); /* LONGREAL */ ByteSwap32(trace.TrYOffset); /* LONGREAL */ ByteSwap32(trace.TrBandwidth); /* LONGREAL */ ByteSwap32(trace.TrPipetteResistance); /* LONGREAL */ ByteSwap32(trace.TrCellPotential); /* LONGREAL */ ByteSwap32(trace.TrSealResistance); /* LONGREAL */ ByteSwap32(trace.TrCSlow); /* LONGREAL */ ByteSwap32(trace.TrGSeries); /* LONGREAL */ ByteSwap32(trace.TrRsValue); /* LONGREAL */ ByteSwap32(trace.TrGLeak); /* LONGREAL */ ByteSwap32(trace.TrMConductance); /* LONGREAL */ ByteSwap32(trace.TrLinkDAChannel); /* INT32 */ ByteSwap16(trace.TrAdcChannel); /* INT16 */ ByteSwap32(trace.TrYmin); /* LONGREAL */ ByteSwap32(trace.TrYmax); /* LONGREAL */ ByteSwap32(trace.TrSourceChannel); /* INT32 */ ByteSwap32(trace.TrExternalSolution); /* INT32 */ ByteSwap32(trace.TrCM); /* LONGREAL */ ByteSwap32(trace.TrGM); /* LONGREAL */ ByteSwap32(trace.TrPhase); /* LONGREAL */ ByteSwap32(trace.TrDataCRC); /* CARD32 */ ByteSwap32(trace.TrCRC); /* CARD32 */ ByteSwap32(trace.TrGS); /* LONGREAL */ ByteSwap32(trace.TrSelfChannel); /* INT32 */ ByteSwap32(trace.TrFiller2); /* SET16 */ } BundleHeader getBundleHeader(FILE* fh) { BundleHeader header; int res = 0; /* res = */ fseek(fh, 0, SEEK_SET); res = fread(&header, sizeof(BundleHeader), 1, fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); return header; } RootRecord getRoot(FILE* fh, bool needsByteSwap) { int res = 0; RootRecord rec; res = fread(&rec, sizeof(RootRecord), 1, fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); if (needsByteSwap) { SwapRoot(rec); } return rec; } GroupRecord getGroup(FILE* fh, bool needsByteSwap) { int res = 0; GroupRecord rec; res = fread(&rec, sizeof(GroupRecord), 1, fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); if (needsByteSwap) { SwapGroup(rec); } return rec; } SeriesRecord getSeries(FILE* fh, bool needsByteSwap) { int res = 0; SeriesRecord rec; res = fread(&rec, sizeof(SeriesRecord), 1, fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); if (needsByteSwap) { SwapSeries(rec); } return rec; } SweepRecord getSweep(FILE* fh, bool needsByteSwap) { int res = 0; SweepRecord rec; res = fread(&rec, sizeof(SweepRecord), 1, fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); if (needsByteSwap) { SwapSweep(rec); } return rec; } TraceRecord getTrace(FILE* fh, bool needsByteSwap) { int res = 0; TraceRecord rec; res = fread(&rec, sizeof(TraceRecord), 1, fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); if (needsByteSwap) { SwapTrace(rec); } return rec; } int findExt(const BundleHeader& header, const std::string& ext) { int extNo = -1; for (int k=0; k<12; ++k) { if (header.oBundleItems[k].oExtension == ext) { extNo = k; } } return extNo; } void getOneRecord(FILE* fh, Level level, Tree& TreeInOut, int& CounterInOut) { // Gets one record int idx = -1; switch (level) { case root: idx = TreeInOut.RootList.size(); TreeInOut.RootList.push_back(getRoot(fh, TreeInOut.needsByteSwap)); break; case group: idx = TreeInOut.GroupList.size(); TreeInOut.GroupList.push_back(getGroup(fh, TreeInOut.needsByteSwap)); break; case series: idx = TreeInOut.SeriesList.size(); TreeInOut.SeriesList.push_back(getSeries(fh, TreeInOut.needsByteSwap)); break; case sweep: idx = TreeInOut.SweepList.size(); TreeInOut.SweepList.push_back(getSweep(fh, TreeInOut.needsByteSwap)); break; case trace: idx = TreeInOut.TraceList.size(); TreeInOut.TraceList.push_back(getTrace(fh, TreeInOut.needsByteSwap)); break; default: throw std::runtime_error("Couldn't read record"); } TreeInOut.entries.push_back(TreeEntry(level, CounterInOut, idx)); CounterInOut++; } int getOneLevel(FILE* fh, const std::vector& Sizes, Level level, Tree& TreeInOut, int& PositionInOut, int& CounterInOut) { // Gets one record of the tree and the number of children getOneRecord(fh, level, TreeInOut, CounterInOut); PositionInOut += Sizes[level]; fseek(fh, PositionInOut, SEEK_SET); int nchild = 0; int res = 0; res = fread(&nchild, sizeof(int), 1, fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); if (TreeInOut.needsByteSwap) { ByteSwap32(nchild); } PositionInOut = ftell(fh); return nchild; } void getTreeReentrant(FILE* fh, const std::vector& Sizes, Level level, Tree& TreeInOut, int& PositionInOut, int& CounterInOut) { // Recursive routine called from LoadTree int nchild = getOneLevel(fh, Sizes, level, TreeInOut, PositionInOut, CounterInOut); for (int k=0; k& Sizes, int& PositionInOut, bool needsByteSwap) { Tree tree; tree.needsByteSwap = needsByteSwap; // Main entry point for loading tree int Counter = 0; getTreeReentrant(fh, Sizes, int2Level(0), tree, PositionInOut, Counter); return tree; } std::string time2date(double t) { long time = (long)t - 0; // 1580970496; if (time<0) { time += 0; //4294967296; } time += 0; // 9561652096; time_t timer(time); std::string datestr(ctime(&timer)); return datestr; } void ReadData(FILE* fh, const Tree& tree, Recording& RecordingInOut, stfio::ProgressInfo& progDlg) { int nsweeps = tree.SweepList.size(); int ntraces = tree.TraceList.size(); int nchannels = ntraces/nsweeps; RecordingInOut.resize(nchannels); int res = 0; for (int nc=0; nc tmpSection(npoints); res = fread(&tmpSection[0], sizeof(short), npoints, fh); if (res != npoints) throw std::runtime_error("getBundleHeader: Error in fread()"); if (tree.needsByteSwap) std::for_each(tmpSection.begin(), tmpSection.end(), ShortByteSwap); std::copy(tmpSection.begin(), tmpSection.end(), RecordingInOut[nc][ns].get_w().begin()); break; } case 1: { /*int32*/ std::vector tmpSection(npoints); res = fread(&tmpSection[0], sizeof(int), npoints, fh); if (res != npoints) throw std::runtime_error("getBundleHeader: Error in fread()"); if (tree.needsByteSwap) std::for_each(tmpSection.begin(), tmpSection.end(), IntByteSwap); std::copy(tmpSection.begin(), tmpSection.end(), RecordingInOut[nc][ns].get_w().begin()); break; } case 2: { /*double16*/ std::vector tmpSection(npoints); res = fread(&tmpSection[0], sizeof(float), npoints, fh); if (res != npoints) throw std::runtime_error("getBundleHeader: Error in fread()"); if (tree.needsByteSwap) std::for_each(tmpSection.begin(), tmpSection.end(), FloatByteSwap); std::copy(tmpSection.begin(), tmpSection.end(), RecordingInOut[nc][ns].get_w().begin()); break; } case 3: { /*double32*/ std::vector tmpSection(npoints); res = fread(&tmpSection[0], sizeof(double), npoints, fh); if (res != npoints) throw std::runtime_error("getBundleHeader: Error in fread()"); if (tree.needsByteSwap) std::for_each(tmpSection.begin(), tmpSection.end(), DoubleByteSwap); std::copy(tmpSection.begin(), tmpSection.end(), RecordingInOut[nc][ns].get_w().begin()); break; } default: throw std::runtime_error("Unknown data format while reading heka file"); } double factor = 1.0; if (std::string(tree.TraceList[nc].TrYUnit) == "V") { RecordingInOut[nc].SetYUnits("mV"); factor = 1.0e3; } else if (std::string(tree.TraceList[nc].TrYUnit) == "A") { RecordingInOut[nc].SetYUnits("pA"); factor = 1.0e12; } else { RecordingInOut[nc].SetYUnits(tree.TraceList[nc].TrYUnit); } factor *= tree.TraceList[nc].TrDataScaler; RecordingInOut[nc][ns].get_w() = stfio::vec_scal_mul(RecordingInOut[nc][ns].get(), factor); RecordingInOut[nc][ns].get_w() = stfio::vec_scal_plus(RecordingInOut[nc][ns].get(), tree.TraceList[nc].TrZeroData); } RecordingInOut[nc].SetChannelName(tree.TraceList[nc].TrLabel); } double tsc = 1.0; std::string xunits(tree.TraceList[0].TrXUnit); if (xunits == "s") { tsc=1.0e3; } else if (xunits == "ms") { tsc=1.0; } else if (xunits == "µs") { tsc=1.0e-3; } else { throw std::runtime_error("Unsupported time units"); } RecordingInOut.SetXScale(tree.TraceList[0].TrXInterval*tsc); } void stfio::importHEKAFile(const std::string &fName, Recording &ReturnData, ProgressInfo& progDlg) { std::string warnStr("Warning: HEKA support is experimental.\n" \ "Please check sampling rate and report errors to\nchristsc_at_gmx.de." ); progDlg.Update(0, warnStr); std::string errorMsg("Exception while calling importHEKAFile():\n"); std::string yunits; int res = 0; // Open file FILE* dat_fh = fopen(fName.c_str(), "rb"); if (dat_fh==NULL) { return; } BundleHeader header = getBundleHeader(dat_fh); bool needsByteSwap = (int(header.oIsLittleEndian[0]) == 0); if (needsByteSwap) { SwapHeader(header); } int start = 0; bool isBundled = false; if (std::string(header.oSignature)=="DAT2") { // find the pulse data isBundled = true; int extNo = findExt(header, ".pul"); if (extNo < 0) { throw std::runtime_error("Couldn't find .pul file in bundle"); } start = header.oBundleItems[extNo].oStart; } else { throw std::runtime_error("Can only deal with bundled data at present"); } // Base of tree fseek(dat_fh, start, SEEK_SET); char cMagic[4]; res = fread(&cMagic[0], sizeof(char), 4, dat_fh); if (res != 4) throw std::runtime_error("getBundleHeader: Error in fread()"); std::string magic(cMagic); int levels = 0; res = fread(&levels, sizeof(int), 1, dat_fh); if (res != 1) throw std::runtime_error("getBundleHeader: Error in fread()"); if (needsByteSwap) { ByteSwap32(levels); } std::vector sizes(levels); if (levels!=0) res = fread(&sizes[0], sizeof(int), levels, dat_fh); if (needsByteSwap) std::for_each(sizes.begin(), sizes.end(), IntByteSwap); // Get the tree from the pulse file int pos = ftell(dat_fh); Tree tree = getTree(dat_fh, sizes, pos, needsByteSwap); std::string date = ""; //time2date(tree.RootList[0].RoStartTime); if (isBundled) { // find the data int extNo = findExt(header, ".dat"); if (extNo < 0) { throw std::runtime_error("Couldn't find .dat file in bundle"); } start = header.oBundleItems[extNo].oStart; } else { throw std::runtime_error("Can only deal with bundled data at present"); } // Now set pointer to the start of the data fseek(dat_fh, start, SEEK_SET); // NOW IMPORT ReadData(dat_fh, tree, ReturnData, progDlg); // Close file fclose(dat_fh); } stimfit-0.14.11/src/libstfio/heka/hekalib.h0000755000175200017520000000334112277666257015374 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file hekalib.h * \author Christoph Schmidt-Hieber * \date 2010-09-19 * \brief Import HEKA files. */ // Parts of this code were inspired by sigTOOL: // http://sigtool.sourceforge.net/ // Original comment for the Matlab file: //-------------------------------------------------------------------------- // Author: Malcolm Lidierth 12/09 // Copyright (c) The Author & King's College London 2009- //-------------------------------------------------------------------------- #ifndef _HEKALIB_H #define _HEKALIB_H #include "./../stfio.h" class Recording; namespace stfio { //! Open an HEKA file and store its contents to a Recording object. /*! \param fName The full path to the file to be opened. * \param ReturnData On entry, an empty Recording object. On exit, * the data stored in \e fName. * \param progress True if the progress dialog should be updated. */ void importHEKAFile(const std::string& fName, Recording& ReturnData, ProgressInfo& progDlg); } #endif stimfit-0.14.11/src/libstfio/hdf5/0000755000175200017520000000000012623045304013571 500000000000000stimfit-0.14.11/src/libstfio/hdf5/hdf5lib.h0000755000175200017520000000312312277666257015226 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /*! \file hdf5lib.h * \author Christoph Schmidt-Hieber * \date 2008-10-03 * \brief Import from and export to hdf5. */ #ifndef _HDF5LIB_H #define _HDF5LIB_H #include "../stfio.h" class Recording; namespace stfio { //! Open a HDF5 file and store its contents to a Recording object. /*! \param fName Full path to the file to be read. * \param ReturnData On entry, an empty Recording object. On exit, * the data stored in \e fName. * \param progress True if the progress dialog should be updated. */ void importHDF5File(const std::string& fName, Recording& ReturnData, ProgressInfo& progDlg); //! Export a Recording to a HDF5 file. /*! \param fName Full path to the file to be written. * \param WData The data to be exported. * \return The HDF5 file handle. */ StfioDll bool exportHDF5File(const std::string& fName, const Recording& WData, ProgressInfo& progDlg); } #endif stimfit-0.14.11/src/libstfio/hdf5/hdf5lib.cpp0000755000175200017520000005230512277666257015567 00000000000000// This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "hdf5.h" #if H5_VERS_MINOR > 6 #include "hdf5_hl.h" #else #include "H5TA.h" #endif #include #include #include #include "./hdf5lib.h" #include "../recording.h" const static unsigned int DATELEN = 128; const static unsigned int TIMELEN = 128; const static unsigned int UNITLEN = 16; typedef struct rt { int channels; char date[DATELEN]; char time[TIMELEN]; } rt; typedef struct ct { int n_sections; } ct; typedef struct st { double dt; char xunits[UNITLEN]; char yunits[UNITLEN]; } st; bool stfio::exportHDF5File(const std::string& fName, const Recording& WData, ProgressInfo& progDlg) { hid_t file_id = H5Fcreate(fName.c_str(), H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); const int NRECORDS = 1; const int NFIELDS = 3; /* Calculate the size and the offsets of our struct members in memory */ size_t rt_offset[NFIELDS] = { HOFFSET( rt, channels ), HOFFSET( rt, date ), HOFFSET( rt, time )}; /* Define an array of root tables */ rt p_data; p_data.channels = WData.size(); struct tm t = WData.GetDateTime(); std::size_t date_length = snprintf(p_data.date, DATELEN, "%04i-%02i-%02i", t.tm_year+1900, t.tm_mon+1, t.tm_mday); std::size_t time_length = snprintf(p_data.time, TIMELEN, "%02i:%02i:%02i", t.tm_hour, t.tm_min, t.tm_sec); // ensure that an undefine string is set to "\0", and that the terminating \0 is counted in string length p_data.date[date_length++] = 0; p_data.time[time_length++] = 0; /* Define field information */ const char *field_names[NFIELDS] = { "channels", "date", "time" }; hid_t field_type[NFIELDS]; /* Initialize the field field_type */ hid_t string_type1 = H5Tcopy( H5T_C_S1 ); hid_t string_type2 = H5Tcopy( H5T_C_S1 ); H5Tset_size( string_type1, date_length); H5Tset_size( string_type2, time_length); field_type[0] = H5T_NATIVE_INT; field_type[1] = string_type1; field_type[2] = string_type2; std::ostringstream desc; desc << "Description of " << fName; herr_t status = H5TBmake_table( desc.str().c_str(), file_id, "description", (hsize_t)NFIELDS, (hsize_t)NRECORDS, sizeof(rt), field_names, rt_offset, field_type, 10, NULL, 0, &p_data ); if (status < 0) { std::string errorMsg("Exception while writing description in stfio::exportHDF5File"); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg); } hid_t comment_group = H5Gcreate2( file_id,"/comment", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* File comment. */ std::string description(WData.GetFileDescription()); if (description.length() <= 0) { description = "No description"; } status = H5LTmake_dataset_string(file_id, "/comment/description", description.c_str()); if (status < 0) { std::string errorMsg("Exception while writing description in stfio::exportHDF5File"); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg); } std::string comment(WData.GetComment()); if (comment.length() <= 0) { comment = "No comment"; } status = H5LTmake_dataset_string(file_id, "/comment/comment", comment.c_str()); if (status < 0) { std::string errorMsg("Exception while writing comment in stfio::exportHDF5File"); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg); } H5Gclose(comment_group); std::vector channel_name(WData.size()); hid_t channels_group = H5Gcreate2( file_id,"/channels", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for ( std::size_t n_c=0; n_c < WData.size(); ++n_c) { /* Channel descriptions. */ std::ostringstream ossname; ossname << WData[n_c].GetChannelName(); if ( ossname.str() == "" ) { ossname << "ch" << (n_c); } channel_name[n_c] = ossname.str(); hsize_t dimsc[1] = { 1 }; hid_t string_typec = H5Tcopy( H5T_C_S1 ); std::size_t cn_length = channel_name[n_c].length(); if (cn_length <= 0) cn_length = 1; H5Tset_size( string_typec, cn_length ); std::vector datac(channel_name[n_c].length()); std::copy(channel_name[n_c].begin(),channel_name[n_c].end(), datac.begin()); std::ostringstream desc_path; desc_path << "/channels/ch" << (n_c); status = H5LTmake_dataset(file_id, desc_path.str().c_str(), 1, dimsc, string_typec, &datac[0]); if (status < 0) { std::string errorMsg("Exception while writing channel name in stfio::exportHDF5File"); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg); } std::ostringstream channel_path; channel_path << "/" << channel_name[n_c]; hid_t channel_group = H5Gcreate2( file_id, channel_path.str().c_str(), H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (channel_group < 0) { std::ostringstream errorMsg; errorMsg << "Exception while creating channel group for " << channel_path.str().c_str(); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg.str()); } /* Calculate the size and the offsets of our struct members in memory */ size_t ct_size = sizeof( ct ); size_t ct_offset[1] = { HOFFSET( rt, channels ) }; /* Define an array of channel tables */ ct c_data = { (int)WData[n_c].size() }; /* Define field information */ const char *cfield_names[1] = { "n_sections" }; hid_t cfield_type[1] = {H5T_NATIVE_INT}; std::ostringstream c_desc; c_desc << "Description of channel " << n_c; status = H5TBmake_table( c_desc.str().c_str(), channel_group, "description", (hsize_t)1, (hsize_t)1, ct_size, cfield_names, ct_offset, cfield_type, 10, NULL, 0, &c_data ); if (status < 0) { std::string errorMsg("Exception while writing channel description in stfio::exportHDF5File"); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg); } int max_log10 = 0; if (WData[n_c].size() > 1) { max_log10 = int(log10((double)WData[n_c].size()-1.0)); } for (std::size_t n_s=0; n_s < WData[n_c].size(); ++n_s) { int progbar = // Channel contribution: (int)(((double)n_c/(double)WData.size())*100.0+ // Section contribution: (double)(n_s)/(double)WData[n_c].size()*(100.0/WData.size())); std::ostringstream progStr; progStr << "Writing channel #" << n_c + 1 << " of " << WData.size() << ", Section #" << n_s << " of " << WData[n_c].size(); progDlg.Update(progbar, progStr.str()); // construct a number with leading zeros: int n10 = 0; if (n_s > 0) { n10 = int(log10((double)n_s)); } std::ostringstream strZero; strZero << ""; for (int n_z=n10; n_z < max_log10; ++n_z) { strZero << "0"; } // construct a section name: std::ostringstream section_name; section_name << WData[n_c][n_s].GetSectionDescription(); if ( section_name.str() == "" ) { section_name << "sec" << n_s; } // create a child group in the channel: std::ostringstream section_path; section_path << channel_path.str() << "/" << "section_" << strZero.str() << n_s; hid_t section_group = H5Gcreate2( file_id, section_path.str().c_str(), H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); // add data and description, store as 32 bit little endian independent of machine: hsize_t dims[1] = { WData[n_c][n_s].size() }; std::ostringstream data_path; data_path << section_path.str() << "/data"; Vector_float data_cp(WData[n_c][n_s].get().size()); /* 32 bit */ for (std::size_t n_cp = 0; n_cp < WData[n_c][n_s].get().size(); ++n_cp) { data_cp[n_cp] = float(WData[n_c][n_s][n_cp]); } status = H5LTmake_dataset(file_id, data_path.str().c_str(), 1, dims, H5T_IEEE_F32LE, &data_cp[0]); if (status < 0) { std::string errorMsg("Exception while writing data in stfio::exportHDF5File"); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg); } const int NSRECORDS = 1; const int NSFIELDS = 3; /* Calculate the size and the offsets of our struct members in memory */ size_t st_size = sizeof( st ); size_t st_offset[NSFIELDS] = { HOFFSET( st, dt ), HOFFSET( st, xunits ), HOFFSET( st, yunits )}; /* Define an array of root tables */ st s_data; s_data.dt = WData.GetXScale(); if (WData.GetXUnits().length() < UNITLEN) strcpy( s_data.xunits, WData.GetXUnits().c_str() ); if (WData[n_c].GetYUnits().length() < UNITLEN) strcpy( s_data.yunits, WData[n_c].GetYUnits().c_str() ); /* Define field information */ const char *sfield_names[NSFIELDS] = { "dt", "xunits", "yunits" }; hid_t sfield_type[NSFIELDS]; /* Initialize the field field_type */ hid_t string_type4 = H5Tcopy( H5T_C_S1 ); hid_t string_type5 = H5Tcopy( H5T_C_S1 ); H5Tset_size( string_type4, 2); std::size_t yu_length = WData[n_c].GetYUnits().length(); if (yu_length <= 0) yu_length = 1; H5Tset_size( string_type5, yu_length ); sfield_type[0] = H5T_NATIVE_DOUBLE; sfield_type[1] = string_type4; sfield_type[2] = string_type5; std::ostringstream sdesc; sdesc << "Description of " << section_name.str(); status = H5TBmake_table( sdesc.str().c_str(), section_group, "description", (hsize_t)NSFIELDS, (hsize_t)NSRECORDS, st_size, sfield_names, st_offset, sfield_type, 10, NULL, 0, &s_data ); if (status < 0) { std::string errorMsg("Exception while writing section description in stfio::exportHDF5File"); H5Fclose(file_id); H5close(); throw std::runtime_error(errorMsg); } H5Gclose(section_group); } H5Gclose(channel_group); } H5Gclose(channels_group); /* Terminate access to the file. */ status = H5Fclose(file_id); if (status < 0) { std::string errorMsg("Exception while closing file in stfio::exportHDF5File"); throw std::runtime_error(errorMsg); } /* Release all hdf5 resources */ status = H5close(); if (status < 0) { std::string errorMsg("Exception while closing file in stfio::exportHDF5File"); throw std::runtime_error(errorMsg); } return (status >= 0); } void stfio::importHDF5File(const std::string& fName, Recording& ReturnData, ProgressInfo& progDlg) { /* Create a new file using default properties. */ hid_t file_id = H5Fopen(fName.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT); /* H5TBread_table const int NRECORDS = 1;*/ const int NFIELDS = 3; /* Calculate the size and the offsets of our struct members in memory */ size_t rt_offset[NFIELDS] = { HOFFSET( rt, channels ), HOFFSET( rt, date ), HOFFSET( rt, time )}; rt rt_buf[1]; size_t rt_sizes[NFIELDS] = { sizeof( rt_buf[0].channels), sizeof( rt_buf[0].date), sizeof( rt_buf[0].time)}; herr_t status=H5TBread_table( file_id, "description", sizeof(rt), rt_offset, rt_sizes, rt_buf ); if (status < 0) { std::string errorMsg("Exception while reading description in stfio::importHDF5File"); throw std::runtime_error(errorMsg); } int numberChannels =rt_buf[0].channels; if ( ReturnData.SetDate(rt_buf[0].date) || ReturnData.SetTime(rt_buf[0].time) ) { std::cout << "Warning HDF5: could not decode date/time " << rt_buf[0].date << " " << rt_buf[0].time << std::endl; } /* Create the data space for the dataset. */ hsize_t dims; H5T_class_t class_id; size_t type_size; std::string description, comment; hid_t group_id = H5Gopen2(file_id, "/comment", H5P_DEFAULT); status = H5Lexists(group_id, "/comment/description", 0); if (status==1) { status = H5LTget_dataset_info( file_id, "/comment/description", &dims, &class_id, &type_size ); if (status >= 0) { description.resize( type_size ); status = H5LTread_dataset_string (file_id, "/comment/description", &description[0]); if (status < 0) { std::string errorMsg("Exception while reading description in stfio::importHDF5File"); throw std::runtime_error(errorMsg); } } } ReturnData.SetFileDescription(description); status = H5Lexists(group_id, "/comment/comment", 0); if (status==1) { status = H5LTget_dataset_info( file_id, "/comment/comment", &dims, &class_id, &type_size ); if (status >= 0) { comment.resize( type_size ); status = H5LTread_dataset_string (file_id, "/comment/comment", &comment[0]); if (status < 0) { std::string errorMsg("Exception while reading comment in stfio::importHDF5File"); throw std::runtime_error(errorMsg); } } } ReturnData.SetComment(comment); double dt = 1.0; std::string yunits = ""; for (int n_c=0;n_c szchannel_name(ctype_size); // szchannel_name.reset( new char[ctype_size] ); status = H5LTread_dataset(file_id, desc_path.str().c_str(), string_typec, &szchannel_name[0] ); if (status < 0) { std::string errorMsg("Exception while reading channel name in stfio::importHDF5File"); throw std::runtime_error(errorMsg); } std::ostringstream channel_name; for (std::size_t c=0; c 1) { max_log10 = int(log10((double)ct_buf[0].n_sections-1.0)); } for (int n_s=0; n_s < ct_buf[0].n_sections; ++n_s) { int progbar = // Channel contribution: (int)(((double)n_c/(double)numberChannels)*100.0+ // Section contribution: (double)(n_s)/(double)ct_buf[0].n_sections*(100.0/numberChannels)); std::ostringstream progStr; progStr << "Reading channel #" << n_c + 1 << " of " << numberChannels << ", Section #" << n_s+1 << " of " << ct_buf[0].n_sections; progDlg.Update(progbar, progStr.str()); // construct a number with leading zeros: int n10 = 0; if (n_s > 0) { n10 = int(log10((double)n_s)); } std::ostringstream strZero; strZero << ""; for (int n_z=n10; n_z < max_log10; ++n_z) { strZero << "0"; } // construct a section name: std::ostringstream section_name; section_name << "sec" << n_s; // create a child group in the channel: std::ostringstream section_path; section_path << channel_path.str() << "/" << "section_" << strZero.str() << n_s; hid_t section_group = H5Gopen2(file_id, section_path.str().c_str(), H5P_DEFAULT ); std::ostringstream data_path; data_path << section_path.str() << "/data"; hsize_t sdims; H5T_class_t sclass_id; size_t stype_size; status = H5LTget_dataset_info( file_id, data_path.str().c_str(), &sdims, &sclass_id, &stype_size ); if (status < 0) { std::string errorMsg("Exception while reading data information in stfio::importHDF5File"); throw std::runtime_error(errorMsg); } Vector_float TempSection(sdims); status = H5LTread_dataset(file_id, data_path.str().c_str(), H5T_IEEE_F32LE, &TempSection[0]); if (status < 0) { std::string errorMsg("Exception while reading data in stfio::importHDF5File"); throw std::runtime_error(errorMsg); } Section TempSectionT(TempSection.size(), section_name.str()); for (std::size_t cp = 0; cp < TempSectionT.size(); ++cp) { TempSectionT[cp] = double(TempSection[cp]); } // std::copy(TempSection.begin(),TempSection.end(),&TempSectionT[0]); try { TempChannel.InsertSection(TempSectionT,n_s); } catch (...) { throw; } /* H5TBread_table const int NSRECORDS = 1; */ const int NSFIELDS = 3; /* Calculate the size and the offsets of our struct members in memory */ size_t st_offset[NSFIELDS] = { HOFFSET( st, dt ), HOFFSET( st, xunits ), HOFFSET( st, yunits )}; st st_buf[1]; size_t st_sizes[NSFIELDS] = { sizeof( st_buf[0].dt), sizeof( st_buf[0].xunits), sizeof( st_buf[0].yunits)}; status=H5TBread_table( section_group, "description", sizeof(st), st_offset, st_sizes, st_buf ); if (status < 0) { std::string errorMsg("Exception while reading data description in stfio::importHDF5File"); throw std::runtime_error(errorMsg); } dt = st_buf[0].dt; yunits = st_buf[0].yunits; H5Gclose( section_group ); } try { if ((int)ReturnData.size()